Merge m-c to b2ginbound a=merge CLOSED TREE
authorWes Kocher <wkocher@mozilla.com>
Fri, 20 Mar 2015 18:02:20 -0700
changeset 263705 f26aac0f1881e602e1bd4bf2f77e785d2d2731a4
parent 263704 5b0c6994bfc1cd142c277418287174234ee17ccf (current diff)
parent 263510 b8e628af0b5c7c55d1dcc177024f4ffb8e576e88 (diff)
child 263706 f84855f7862797225698cf1c92e9c243bf071d70
push id4718
push userraliiev@mozilla.com
push dateMon, 11 May 2015 18:39:53 +0000
treeherdermozilla-beta@c20c4ef55f08 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmerge
milestone39.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 m-c to b2ginbound a=merge CLOSED TREE
browser/themes/shared/readinglist.inc.css
toolkit/components/places/tests/unit/test_421180.js
--- a/browser/app/profile/firefox.js
+++ b/browser/app/profile/firefox.js
@@ -1693,16 +1693,17 @@ pref("loop.retry_delay.limit", 300000);
 pref("loop.ping.interval", 1800000);
 pref("loop.ping.timeout", 10000);
 pref("loop.feedback.baseUrl", "https://input.mozilla.org/api/v1/feedback");
 pref("loop.feedback.product", "Loop");
 pref("loop.debug.loglevel", "Error");
 pref("loop.debug.dispatcher", false);
 pref("loop.debug.websocket", false);
 pref("loop.debug.sdk", false);
+pref("loop.debug.twoWayMediaTelemetry", false);
 #ifdef DEBUG
 pref("loop.CSP", "default-src 'self' about: file: chrome: http://localhost:*; img-src 'self' data: https://www.gravatar.com/ about: file: chrome:; font-src 'none'; connect-src wss://*.tokbox.com https://*.opentok.com https://*.tokbox.com wss://*.mozilla.com https://*.mozilla.org wss://*.mozaws.net http://localhost:* ws://localhost:*; media-src blob:");
 #else
 pref("loop.CSP", "default-src 'self' about: file: chrome:; img-src 'self' data: https://www.gravatar.com/ about: file: chrome:; font-src 'none'; connect-src wss://*.tokbox.com https://*.opentok.com https://*.tokbox.com wss://*.mozilla.com https://*.mozilla.org wss://*.mozaws.net; media-src blob:");
 #endif
 pref("loop.oauth.google.redirect_uri", "urn:ietf:wg:oauth:2.0:oob:auto");
 pref("loop.oauth.google.scope", "https://www.google.com/m8/feeds");
 pref("loop.fxa_oauth.tokendata", "");
@@ -1873,10 +1874,12 @@ pref("dom.ipc.reportProcessHangs", false
 pref("dom.ipc.reportProcessHangs", true);
 #endif
 
 #ifndef NIGHTLY_BUILD
 // Disable reader mode by default.
 pref("reader.parse-on-load.enabled", false);
 #endif
 
-// Disable ReadingList by default.
+// Disable ReadingList browser UI by default.
 pref("browser.readinglist.enabled", false);
+// Enable the readinglist engine by default.
+pref("readinglist.scheduler.enabled", true);
--- a/browser/base/content/browser-context.inc
+++ b/browser/base/content/browser-context.inc
@@ -307,17 +307,17 @@
                 label="&keywordfield.label;"
                 accesskey="&keywordfield.accesskey;"
                 oncommand="AddKeywordForSearchField();"/>
       <menuitem id="context-searchselect"
                 oncommand="BrowserSearch.loadSearchFromContext(this.searchTerms);"/>
       <menuitem id="context-shareselect"
                 label="&shareSelect.label;"
                 accesskey="&shareSelect.accesskey;"
-                oncommand="gContextMenu.shareSelect(getBrowserSelection());"/>
+                oncommand="gContextMenu.shareSelect();"/>
       <menuseparator id="frame-sep"/>
       <menu id="frame" label="&thisFrameMenu.label;" accesskey="&thisFrameMenu.accesskey;">
         <menupopup>
           <menuitem id="context-showonlythisframe"
                     label="&showOnlyThisFrameCmd.label;"
                     accesskey="&showOnlyThisFrameCmd.accesskey;"
                     oncommand="gContextMenu.showOnlyThisFrame();"/>
           <menuitem id="context-openframeintab"
--- a/browser/base/content/browser-readinglist.js
+++ b/browser/base/content/browser-readinglist.js
@@ -227,22 +227,32 @@ let ReadingListUI = {
    *
    * @param {string} state - New state. Either "valid" or "invalid".
    */
   onPageProxyStateChanged: Task.async(function* (state) {
     if (!this.toolbarButton) {
       // nothing to do if we have no button.
       return;
     }
-    if (!this.enabled || state == "invalid") {
+
+    let uri;
+    if (this.enabled && state == "valid") {
+      uri = gBrowser.currentURI;
+      if (uri.schemeIs("about"))
+        uri = ReaderParent.parseReaderUrl(uri.spec);
+      else if (!uri.schemeIs("http") && !uri.schemeIs("https"))
+        uri = null;
+    }
+
+    if (!uri) {
       this.toolbarButton.setAttribute("hidden", true);
       return;
     }
 
-    let isInList = yield ReadingList.containsURL(gBrowser.currentURI);
+    let isInList = yield ReadingList.containsURL(uri);
     this.setToolbarButtonState(isInList);
   }),
 
   /**
    * Set the state of the ReadingList toolbar button in the urlbar.
    * If the current tab's page is in the ReadingList (active), sets the button
    * to allow removing the page. Otherwise, sets the button to allow adding the
    * page (not active).
@@ -263,32 +273,41 @@ let ReadingListUI = {
   /**
    * Toggle a page (from a browser) in the ReadingList, adding if it's not already added, or
    * removing otherwise.
    *
    * @param {<xul:browser>} browser - Browser with page to toggle.
    * @returns {Promise} Promise resolved when operation has completed.
    */
   togglePageByBrowser: Task.async(function* (browser) {
-    let item = yield ReadingList.getItemForURL(browser.currentURI);
+    let uri = browser.currentURI;
+    if (uri.spec.startsWith("about:reader?"))
+      uri = ReaderParent.parseReaderUrl(uri.spec);
+    if (!uri)
+      return;
+
+    let item = yield ReadingList.getItemForURL(uri);
     if (item) {
       yield item.delete();
     } else {
-      yield ReadingList.addItemFromBrowser(browser);
+      yield ReadingList.addItemFromBrowser(browser, uri);
     }
   }),
 
   /**
    * Checks if a given item matches the current tab in this window.
    *
    * @param {ReadingListItem} item - Item to check
    * @returns True if match, false otherwise.
    */
   isItemForCurrentBrowser(item) {
     let currentURL = gBrowser.currentURI.spec;
+    if (currentURL.startsWith("about:reader?"))
+      currentURL = ReaderParent.parseReaderUrl(currentURL);
+
     if (item.url == currentURL || item.resolvedURL == currentURL) {
       return true;
     }
     return false;
   },
 
   /**
    * ReadingList event handler for when an item is added.
--- a/browser/base/content/browser-social.js
+++ b/browser/base/content/browser-social.js
@@ -653,17 +653,17 @@ SocialShare = {
     }
     // if this is a share of a selected item, get any microdata
     if (!pageData.microdata && target) {
       messageManager.addMessageListener("PageMetadata:MicrodataResult", _dataFn = (msg) => {
         messageManager.removeMessageListener("PageMetadata:MicrodataResult", _dataFn);
         pageData.microdata = msg.data;
         this.sharePage(providerOrigin, pageData, target);
       });
-      gBrowser.selectedBrowser.messageManager.sendAsyncMessage("PageMetadata:GetMicrodata", null, target);
+      gBrowser.selectedBrowser.messageManager.sendAsyncMessage("PageMetadata:GetMicrodata", null, { target });
       return;
     }
     this.currentShare = pageData;
 
     let provider;
     if (providerOrigin)
       provider = Social._getProviderFromOrigin(providerOrigin);
     else
--- a/browser/base/content/content.js
+++ b/browser/base/content/content.js
@@ -481,16 +481,17 @@ AboutHomeListener.init(this);
 
 let AboutReaderListener = {
 
   _articlePromise: null,
 
   init: function() {
     addEventListener("AboutReaderContentLoaded", this, false, true);
     addEventListener("DOMContentLoaded", this, false);
+    addEventListener("pageshow", this, false);
     addEventListener("pagehide", this, false);
     addMessageListener("Reader:ParseDocument", this);
   },
 
   receiveMessage: function(message) {
     switch (message.name) {
       case "Reader:ParseDocument":
         this._articlePromise = ReaderMode.parseDocument(content.document).catch(Cu.reportError);
@@ -520,16 +521,23 @@ let AboutReaderListener = {
           new AboutReader(global, content, this._articlePromise);
         }
         break;
 
       case "pagehide":
         sendAsyncMessage("Reader:UpdateReaderButton", { isArticle: false });
         break;
 
+      case "pageshow":
+        // If a page is loaded from the bfcache, we won't get a "DOMContentLoaded"
+        // event, so we need to rely on "pageshow" in this case.
+        if (!aEvent.persisted) {
+          break;
+        }
+        // Fall through.
       case "DOMContentLoaded":
         if (!ReaderMode.isEnabledForParseOnLoad || this.isAboutReader) {
           return;
         }
 
         let isArticle = ReaderMode.isProbablyReaderable(content.document);
         sendAsyncMessage("Reader:UpdateReaderButton", { isArticle: isArticle });
     }
@@ -1011,17 +1019,17 @@ let PageMetadataMessenger = {
     switch(message.name) {
       case "PageMetadata:GetPageData": {
         let result = PageMetadata.getData(content.document);
         sendAsyncMessage("PageMetadata:PageDataResult", result);
         break;
       }
 
       case "PageMetadata:GetMicrodata": {
-        let target = message.objects;
+        let target = message.objects.target;
         let result = PageMetadata.getMicrodata(content.document, target);
         sendAsyncMessage("PageMetadata:MicrodataResult", result);
         break;
       }
     }
   }
 }
 PageMetadataMessenger.init();
--- a/browser/base/content/nsContextMenu.js
+++ b/browser/base/content/nsContextMenu.js
@@ -146,16 +146,17 @@ nsContextMenu.prototype = {
             uri = uriFixup.createFixupURI(linkText, uriFixup.FIXUP_FLAG_NONE);
           } catch (ex) {}
         }
       }
 
       if (uri && uri.host) {
         this.linkURI = uri;
         this.linkURL = this.linkURI.spec;
+        this.linkText = linkText;
         this.onPlainTextLink = true;
       }
     }
 
     var shouldShow = this.onSaveableLink || isMailtoInternal || this.onPlainTextLink;
     var isWindowPrivate = PrivateBrowsingUtils.isWindowPrivate(window);
     this.showItem("context-openlink", shouldShow && !isWindowPrivate);
     this.showItem("context-openlinkprivate", shouldShow);
@@ -571,16 +572,17 @@ nsContextMenu.prototype = {
     this.onKeywordField    = false;
     this.mediaURL          = "";
     this.onLink            = false;
     this.onMailtoLink      = false;
     this.onSaveableLink    = false;
     this.link              = null;
     this.linkURL           = "";
     this.linkURI           = null;
+    this.linkText          = "";
     this.linkProtocol      = "";
     this.linkHasNoReferrer = false;
     this.onMathML          = false;
     this.inFrame           = false;
     this.inSrcdocFrame     = false;
     this.inSyntheticDoc    = false;
     this.hasBGImage        = false;
     this.bgImageURL        = "";
@@ -732,16 +734,17 @@ nsContextMenu.prototype = {
 
           // Target is a link or a descendant of a link.
           this.onLink = true;
 
           // Remember corresponding element.
           this.link = elem;
           this.linkURL = this.getLinkURL();
           this.linkURI = this.getLinkURI();
+          this.linkText = this.getLinkText();
           this.linkProtocol = this.getLinkProtocol();
           this.onMailtoLink = (this.linkProtocol == "mailto");
           this.onSaveableLink = this.isLinkSaveable( this.link );
           this.linkHasNoReferrer = BrowserUtils.linkHasNoReferrer(elem);
         }
 
         // Background image?  Don't bother if we've already found a
         // background image further down the hierarchy.  Otherwise,
@@ -1297,25 +1300,18 @@ nsContextMenu.prototype = {
 
     // kick off the channel with our proxy object as the listener
     channel.asyncOpen(new saveAsListener(), null);
   },
 
   // Save URL of clicked-on link.
   saveLink: function() {
     var doc =  this.target.ownerDocument;
-    var linkText;
-    // If selected text is found to match valid URL pattern.
-    if (this.onPlainTextLink)
-      linkText = this.focusedWindow.getSelection().toString().trim();
-    else
-      linkText = this.linkText();
     urlSecurityCheck(this.linkURL, this.principal);
-
-    this.saveHelper(this.linkURL, linkText, null, true, doc);
+    this.saveHelper(this.linkURL, this.linkText, null, true, doc);
   },
 
   // Backwards-compatibility wrapper
   saveImage : function() {
     if (this.onCanvas || this.onImage)
         this.saveMedia();
   },
 
@@ -1498,17 +1494,17 @@ nsContextMenu.prototype = {
   getLinkProtocol: function() {
     if (this.linkURI)
       return this.linkURI.scheme; // can be |undefined|
 
     return null;
   },
 
   // Get text of link.
-  linkText: function() {
+  getLinkText: function() {
     var text = gatherTextUnder(this.link);
     if (!text || !text.match(/\S/)) {
       text = this.link.getAttribute("title");
       if (!text || !text.match(/\S/)) {
         text = this.link.getAttribute("alt");
         if (!text || !text.match(/\S/))
           text = this.linkURL;
       }
@@ -1593,24 +1589,18 @@ nsContextMenu.prototype = {
     openUILinkIn(uri, where);
   },
 
   bookmarkThisPage: function CM_bookmarkThisPage() {
     window.top.PlacesCommandHook.bookmarkPage(this.browser, PlacesUtils.bookmarksMenuFolderId, true);
   },
 
   bookmarkLink: function CM_bookmarkLink() {
-    var linkText;
-    // If selected text is found to match valid URL pattern.
-    if (this.onPlainTextLink)
-      linkText = this.focusedWindow.getSelection().toString().trim();
-    else
-      linkText = this.linkText();
-    window.top.PlacesCommandHook.bookmarkLink(PlacesUtils.bookmarksMenuFolderId, this.linkURL,
-                                              linkText);
+    window.top.PlacesCommandHook.bookmarkLink(PlacesUtils.bookmarksMenuFolderId,
+                                              this.linkURL, this.linkText);
   },
 
   addBookmarkForFrame: function CM_addBookmarkForFrame() {
     var doc = this.target.ownerDocument;
     var uri = doc.documentURIObject;
 
     var itemId = PlacesUtils.getMostRecentBookmarkForURI(uri);
     if (itemId == -1) {
@@ -1645,18 +1635,18 @@ nsContextMenu.prototype = {
   shareImage: function CM_shareImage() {
     SocialShare.sharePage(null, { url: this.imageURL, previews: [ this.mediaURL ] }, this.target);
   },
 
   shareVideo: function CM_shareVideo() {
     SocialShare.sharePage(null, { url: this.mediaURL, source: this.mediaURL }, this.target);
   },
 
-  shareSelect: function CM_shareSelect(selection) {
-    SocialShare.sharePage(null, { url: this.browser.currentURI.spec, text: selection }, this.target);
+  shareSelect: function CM_shareSelect() {
+    SocialShare.sharePage(null, { url: this.browser.currentURI.spec, text: this.textSelected }, this.target);
   },
 
   savePageAs: function CM_savePageAs() {
     saveDocument(this.browser.contentDocumentAsCPOW);
   },
 
   printFrame: function CM_printFrame() {
     PrintUtils.print(this.target.ownerDocument.defaultView);
@@ -1694,17 +1684,17 @@ nsContextMenu.prototype = {
     if (this.onImage)
       return this.mediaURL;
     return "";
   },
 
   // Formats the 'Search <engine> for "<selection or link text>"' context menu.
   formatSearchContextItem: function() {
     var menuItem = document.getElementById("context-searchselect");
-    var selectedText = this.isTextSelected ? this.textSelected : this.linkText();
+    let selectedText = this.isTextSelected ? this.textSelected : this.linkText;
 
     // Store searchTerms in context menu item so we know what to search onclick
     menuItem.searchTerms = selectedText;
 
     // If the JS character after our truncation point is a trail surrogate,
     // include it in the truncated string to avoid splitting a surrogate pair.
     if (selectedText.length > 15) {
       let truncLength = 15;
--- a/browser/base/content/popup-notifications.inc
+++ b/browser/base/content/popup-notifications.inc
@@ -55,13 +55,21 @@
 
     <popupnotification id="pointerLock-notification" hidden="true">
       <popupnotificationcontent orient="vertical" align="start">
         <separator class="thin"/>
         <label id="pointerLock-cancel">&pointerLock.notification.message;</label>
       </popupnotificationcontent>
     </popupnotification>
 
+    <popupnotification id="password-notification" hidden="true">
+      <popupnotificationcontent orient="vertical">
+        <textbox id="password-notification-username" disabled="true"/>
+        <textbox id="password-notification-password" type="password"
+                 disabled="true"/>
+      </popupnotificationcontent>
+    </popupnotification>
+
 #ifdef E10S_TESTING_ONLY
     <popupnotification id="enable-e10s-notification" hidden="true">
       <popupnotificationcontent orient="vertical"/>
     </popupnotification>
 #endif
--- a/browser/base/content/socialmarks.xml
+++ b/browser/base/content/socialmarks.xml
@@ -158,17 +158,17 @@
         }
         // if this is a share of a selected item, get any microdata
         if (!pageData.microdata && target) {
           messageManager.addMessageListener("PageMetadata:MicrodataResult", _dataFn = (msg) => {
             messageManager.removeMessageListener("PageMetadata:MicrodataResult", _dataFn);
             pageData.microdata = msg.data;
             this.loadPanel(pageData, target);
           });
-          gBrowser.selectedBrowser.messageManager.sendAsyncMessage("PageMetadata:GetMicrodata", null, target);
+          gBrowser.selectedBrowser.messageManager.sendAsyncMessage("PageMetadata:GetMicrodata", null, { target });
           return;
         }
         this.pageData = pageData;
 
         let endpoint = OpenGraphBuilder.generateEndpointURL(URLTemplate, this.pageData);
 
         // setup listeners
         let DOMContentLoaded = (event) => {
--- a/browser/base/content/sync/customize.js
+++ b/browser/base/content/sync/customize.js
@@ -1,11 +1,34 @@
 /* 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";
 
+Components.utils.import("resource://gre/modules/Services.jsm");
+
+addEventListener("load", function () {
+  // unhide the reading-list engine if readinglist is enabled (note this
+  // dialog is only used with FxA sync, so no special action is needed
+  // for legacy sync.)
+  if (Services.prefs.getBoolPref("browser.readinglist.enabled")) {
+    document.getElementById("readinglist-engine").removeAttribute("hidden");
+  }
+});
+
 addEventListener("dialogaccept", function () {
   let pane = document.getElementById("sync-customize-pane");
+  // First determine what the preference for the "global" sync enabled pref
+  // should be based on the engines selected.
+  let prefElts = pane.querySelectorAll("preferences > preference");
+  let syncEnabled = false;
+  for (let elt of prefElts) {
+    if (elt.name.startsWith("services.sync.") && elt.value) {
+      syncEnabled = true;
+      break;
+    }
+  }
+  Services.prefs.setBoolPref("services.sync.enabled", syncEnabled);
+  // and write the individual prefs.
   pane.writePreferences(true);
   window.arguments[0].accepted = true;
 });
--- a/browser/base/content/sync/customize.xul
+++ b/browser/base/content/sync/customize.xul
@@ -22,16 +22,18 @@
   <prefpane id="sync-customize-pane">
     <preferences>
       <preference id="engine.bookmarks" name="services.sync.engine.bookmarks" type="bool"/>
       <preference id="engine.history"   name="services.sync.engine.history"   type="bool"/>
       <preference id="engine.tabs"      name="services.sync.engine.tabs"      type="bool"/>
       <preference id="engine.passwords" name="services.sync.engine.passwords" type="bool"/>
       <preference id="engine.addons"    name="services.sync.engine.addons"    type="bool"/>
       <preference id="engine.prefs"     name="services.sync.engine.prefs"     type="bool"/>
+      <!-- non Sync-Engine engines -->
+      <preference id="engine.readinglist" name="readinglist.scheduler.enabled" type="bool"/>
     </preferences>
 
     <label id="sync-customize-title" value="&syncCustomize.title;"/>
     <description id="sync-customize-subtitle"
 #ifdef XP_UNIX
                  value="&syncCustomizeUnix.description;"
 #else
                  value="&syncCustomize.description;"
@@ -46,16 +48,21 @@
                 accesskey="&engine.bookmarks.accesskey;"
                 preference="engine.bookmarks"/>
       <checkbox label="&engine.passwords.label;"
                 accesskey="&engine.passwords.accesskey;"
                 preference="engine.passwords"/>
       <checkbox label="&engine.history.label;"
                 accesskey="&engine.history.accesskey;"
                 preference="engine.history"/>
+      <checkbox id="readinglist-engine"
+                label="&engine.readinglist.label;"
+                accesskey="&engine.readinglist.accesskey;"
+                preference="engine.readinglist"
+                hidden="true"/>
       <checkbox label="&engine.addons.label;"
                 accesskey="&engine.addons.accesskey;"
                 preference="engine.addons"/>
       <checkbox label="&engine.prefs.label;"
                 accesskey="&engine.prefs.accesskey;"
                 preference="engine.prefs"/>
   </vbox>
 
--- a/browser/base/content/test/general/browser_getshortcutoruri.js
+++ b/browser/base/content/test/general/browser_getshortcutoruri.js
@@ -86,62 +86,59 @@ var testData = [
 
   // Test using a non-bmKeywordData object, to test the behavior of
   // getShortcutOrURIAndPostData for non-keywords (setupKeywords only adds keywords for
   // bmKeywordData objects)
   [{keyword: "http://gavinsharp.com"},
    new keywordResult(null, null, true)]
 ];
 
-function test() {
-  waitForExplicitFinish();
+add_task(function* test_getshortcutoruri() {
+  yield setupKeywords();
 
-  setupKeywords();
-
-  Task.spawn(function() {
-    for each (var item in testData) {
-      let [data, result] = item;
+  for (let item of testData) {
+    let [data, result] = item;
 
-      let query = data.keyword;
-      if (data.searchWord)
-        query += " " + data.searchWord;
-      let returnedData = yield new Promise(
-        resolve => getShortcutOrURIAndPostData(query, resolve));
-      // null result.url means we should expect the same query we sent in
-      let expected = result.url || query;
-      is(returnedData.url, expected, "got correct URL for " + data.keyword);
-      is(getPostDataString(returnedData.postData), result.postData, "got correct postData for " + data.keyword);
-      is(returnedData.mayInheritPrincipal, !result.isUnsafe, "got correct mayInheritPrincipal for " + data.keyword);
-    }
-    cleanupKeywords();
-  }).then(finish);
-}
+    let query = data.keyword;
+    if (data.searchWord)
+      query += " " + data.searchWord;
+    let returnedData = yield new Promise(
+      resolve => getShortcutOrURIAndPostData(query, resolve));
+    // null result.url means we should expect the same query we sent in
+    let expected = result.url || query;
+    is(returnedData.url, expected, "got correct URL for " + data.keyword);
+    is(getPostDataString(returnedData.postData), result.postData, "got correct postData for " + data.keyword);
+    is(returnedData.mayInheritPrincipal, !result.isUnsafe, "got correct mayInheritPrincipal for " + data.keyword);
+  }
 
-var gBMFolder = null;
-var gAddedEngines = [];
-function setupKeywords() {
-  gBMFolder = Application.bookmarks.menu.addFolder("keyword-test");
-  for each (var item in testData) {
-    var data = item[0];
+  yield cleanupKeywords();
+});
+
+let folder = null;
+let gAddedEngines = [];
+
+function* setupKeywords() {
+  folder = yield PlacesUtils.bookmarks.insert({ parentGuid: PlacesUtils.bookmarks.unfiledGuid,
+                                                type: PlacesUtils.bookmarks.TYPE_FOLDER,
+                                                title: "keyword-test" });
+  for (let item of testData) {
+    let data = item[0];
     if (data instanceof bmKeywordData) {
-      var bm = gBMFolder.addBookmark(data.keyword, data.uri);
-      bm.keyword = data.keyword;
-      if (data.postData)
-        bm.annotations.set("bookmarkProperties/POSTData", data.postData, Ci.nsIAnnotationService.EXPIRE_SESSION);
+      yield PlacesUtils.bookmarks.insert({ url: data.uri, parentGuid: folder.guid });
+      yield PlacesUtils.keywords.insert({ keyword: data.keyword, url: data.uri.spec, postData: data.postData });
     }
 
     if (data instanceof searchKeywordData) {
       Services.search.addEngineWithDetails(data.keyword, "", data.keyword, "", data.method, data.uri.spec);
-      var addedEngine = Services.search.getEngineByName(data.keyword);
+      let addedEngine = Services.search.getEngineByName(data.keyword);
       if (data.postData) {
-        var [paramName, paramValue] = data.postData.split("=");
+        let [paramName, paramValue] = data.postData.split("=");
         addedEngine.addParam(paramName, paramValue, null);
       }
-
       gAddedEngines.push(addedEngine);
     }
   }
 }
 
-function cleanupKeywords() {
-  gBMFolder.remove();
+function* cleanupKeywords() {
+  PlacesUtils.bookmarks.remove(folder);
   gAddedEngines.map(Services.search.removeEngine);
 }
--- a/browser/base/content/test/general/browser_keywordBookmarklets.js
+++ b/browser/base/content/test/general/browser_keywordBookmarklets.js
@@ -1,38 +1,34 @@
-/* Any copyright is dedicated to the Public Domain.
-   http://creativecommons.org/publicdomain/zero/1.0/ */
-
-function test() {
-  waitForExplicitFinish();
+"use strict"
 
-  let bmFolder = Application.bookmarks.menu.addFolder("keyword-test");
+add_task(function* test_keyword_bookmarklet() {
+  let bm = yield PlacesUtils.bookmarks.insert({ parentGuid: PlacesUtils.bookmarks.unfiledGuid,
+                                                title: "bookmarklet",
+                                                url: "javascript:1;" });
   let tab = gBrowser.selectedTab = gBrowser.addTab();
+  registerCleanupFunction (function* () {
+    gBrowser.removeTab(tab);
+    yield PlacesUtils.bookmarks.remove(bm);
+  });
+  yield promisePageShow();
+  let originalPrincipal = gBrowser.contentPrincipal;
 
-  registerCleanupFunction (function () {
-    bmFolder.remove();
-    gBrowser.removeTab(tab);
-  });
+  yield PlacesUtils.keywords.insert({ keyword: "bm", url: "javascript:1;" })
 
-  let bm = bmFolder.addBookmark("bookmarklet", makeURI("javascript:1;"));
-  bm.keyword = "bm";
+  // Enter bookmarklet keyword in the URL bar
+  gURLBar.value = "bm";
+  gURLBar.focus();
+  EventUtils.synthesizeKey("VK_RETURN", {});
 
-  addPageShowListener(function () {
-    let originalPrincipal = gBrowser.contentPrincipal;
+  yield promisePageShow();
 
-    // Enter bookmarklet keyword in the URL bar
-    gURLBar.value = "bm";
-    gURLBar.focus();
-    EventUtils.synthesizeKey("VK_RETURN", {});
+  ok(gBrowser.contentPrincipal.equals(originalPrincipal), "javascript bookmarklet should inherit principal");
+});
 
-    addPageShowListener(function () {
-      ok(gBrowser.contentPrincipal.equals(originalPrincipal), "javascript bookmarklet should inherit principal");
-      finish();
+function* promisePageShow() {
+  return new Promise(resolve => {
+    gBrowser.selectedBrowser.addEventListener("pageshow", function listen() {
+      gBrowser.selectedBrowser.removeEventListener("pageshow", listen);
+      resolve();
     });
   });
 }
-
-function addPageShowListener(func) {
-  gBrowser.selectedBrowser.addEventListener("pageshow", function loadListener() {
-    gBrowser.selectedBrowser.removeEventListener("pageshow", loadListener, false);
-    func();
-  });
-}
--- a/browser/base/content/test/general/browser_tab_detach_restore.js
+++ b/browser/base/content/test/general/browser_tab_detach_restore.js
@@ -16,16 +16,16 @@ add_task(function*() {
   yield new Promise(resolve => whenDelayedStartupFinished(win, resolve));
 
   is(win.gBrowser.selectedBrowser.permanentKey, key, "Should have properly copied the permanentKey");
   yield promiseWindowClosed(win);
 
   is(SessionStore.getClosedWindowCount(), 1, "Should have restore data for the closed window");
 
   win = SessionStore.undoCloseWindow(0);
-  yield BrowserTestUtils.waitForEvent(win, "load", 10000);
-  yield BrowserTestUtils.waitForEvent(win.gBrowser.tabs[0], "SSTabRestored", 10000);
+  yield BrowserTestUtils.waitForEvent(win, "load");
+  yield BrowserTestUtils.waitForEvent(win.gBrowser.tabs[0], "SSTabRestored");
 
   is(win.gBrowser.tabs.length, 1, "Should have restored one tab");
   is(win.gBrowser.selectedBrowser.currentURI.spec, uri, "Should have restored the right page");
 
   yield promiseWindowClosed(win);
 });
--- a/browser/base/content/test/general/readerModeArticle.html
+++ b/browser/base/content/test/general/readerModeArticle.html
@@ -6,11 +6,14 @@
 </head>
 <body>
 <header>Site header</header>
 <div>
 <h1>Article title</h1>
 <h2 class="author">by Jane Doe</h2>
 <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit amet ipsum mauris. Maecenas congue ligula ac quam viverra nec consectetur ante hendrerit. Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean ut gravida lorem. Ut turpis felis, pulvinar a semper sed, adipiscing id dolor. Pellentesque auctor nisi id magna consequat sagittis. Curabitur dapibus enim sit amet elit pharetra tincidunt feugiat nisl imperdiet. Ut convallis libero in urna ultrices accumsan. Donec sed odio eros. Donec viverra mi quis quam pulvinar at malesuada arcu rhoncus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. In rutrum accumsan ultricies. Mauris vitae nisi at sem facilisis semper ac in est.</p>
 <p>Vivamus fermentum semper porta. Nunc diam velit, adipiscing ut tristique vitae, sagittis vel odio. Maecenas convallis ullamcorper ultricies. Curabitur ornare, ligula semper consectetur sagittis, nisi diam iaculis velit, id fringilla sem nunc vel mi. Nam dictum, odio nec pretium volutpat, arcu ante placerat erat, non tristique elit urna et turpis. Quisque mi metus, ornare sit amet fermentum et, tincidunt et orci. Fusce eget orci a orci congue vestibulum. Ut dolor diam, elementum et vestibulum eu, porttitor vel elit. Curabitur venenatis pulvinar tellus gravida ornare. Sed et erat faucibus nunc euismod ultricies ut id justo. Nullam cursus suscipit nisi, et ultrices justo sodales nec. Fusce venenatis facilisis lectus ac semper. Aliquam at massa ipsum. Quisque bibendum purus convallis nulla ultrices ultricies. Nullam aliquam, mi eu aliquam tincidunt, purus velit laoreet tortor, viverra pretium nisi quam vitae mi. Fusce vel volutpat elit. Nam sagittis nisi dui.</p>
+<p>Vivamus fermentum semper porta. Nunc diam velit, adipiscing ut tristique vitae, sagittis vel odio. Maecenas convallis ullamcorper ultricies. Curabitur ornare, ligula semper consectetur sagittis, nisi diam iaculis velit, id fringilla sem nunc vel mi. Nam dictum, odio nec pretium volutpat, arcu ante placerat erat, non tristique elit urna et turpis. Quisque mi metus, ornare sit amet fermentum et, tincidunt et orci. Fusce eget orci a orci congue vestibulum. Ut dolor diam, elementum et vestibulum eu, porttitor vel elit. Curabitur venenatis pulvinar tellus gravida ornare. Sed et erat faucibus nunc euismod ultricies ut id justo. Nullam cursus suscipit nisi, et ultrices justo sodales nec. Fusce venenatis facilisis lectus ac semper. Aliquam at massa ipsum. Quisque bibendum purus convallis nulla ultrices ultricies. Nullam aliquam, mi eu aliquam tincidunt, purus velit laoreet tortor, viverra pretium nisi quam vitae mi. Fusce vel volutpat elit. Nam sagittis nisi dui.</p>
+<p>Vivamus fermentum semper porta. Nunc diam velit, adipiscing ut tristique vitae, sagittis vel odio. Maecenas convallis ullamcorper ultricies. Curabitur ornare, ligula semper consectetur sagittis, nisi diam iaculis velit, id fringilla sem nunc vel mi. Nam dictum, odio nec pretium volutpat, arcu ante placerat erat, non tristique elit urna et turpis. Quisque mi metus, ornare sit amet fermentum et, tincidunt et orci. Fusce eget orci a orci congue vestibulum. Ut dolor diam, elementum et vestibulum eu, porttitor vel elit. Curabitur venenatis pulvinar tellus gravida ornare. Sed et erat faucibus nunc euismod ultricies ut id justo. Nullam cursus suscipit nisi, et ultrices justo sodales nec. Fusce venenatis facilisis lectus ac semper. Aliquam at massa ipsum. Quisque bibendum purus convallis nulla ultrices ultricies. Nullam aliquam, mi eu aliquam tincidunt, purus velit laoreet tortor, viverra pretium nisi quam vitae mi. Fusce vel volutpat elit. Nam sagittis nisi dui.</p>
+<p>Vivamus fermentum semper porta. Nunc diam velit, adipiscing ut tristique vitae, sagittis vel odio. Maecenas convallis ullamcorper ultricies. Curabitur ornare, ligula semper consectetur sagittis, nisi diam iaculis velit, id fringilla sem nunc vel mi. Nam dictum, odio nec pretium volutpat, arcu ante placerat erat, non tristique elit urna et turpis. Quisque mi metus, ornare sit amet fermentum et, tincidunt et orci. Fusce eget orci a orci congue vestibulum. Ut dolor diam, elementum et vestibulum eu, porttitor vel elit. Curabitur venenatis pulvinar tellus gravida ornare. Sed et erat faucibus nunc euismod ultricies ut id justo. Nullam cursus suscipit nisi, et ultrices justo sodales nec. Fusce venenatis facilisis lectus ac semper. Aliquam at massa ipsum. Quisque bibendum purus convallis nulla ultrices ultricies. Nullam aliquam, mi eu aliquam tincidunt, purus velit laoreet tortor, viverra pretium nisi quam vitae mi. Fusce vel volutpat elit. Nam sagittis nisi dui.</p>
 </div>
 </body>
 </html>
--- a/browser/base/content/test/referrer/head.js
+++ b/browser/base/content/test/referrer/head.js
@@ -94,36 +94,55 @@ function getReferrerTestDescription(aTes
  * @param aOptions The options for synthesizeMouseAtCenter.
  */
 function clickTheLink(aWindow, aLinkId, aOptions) {
   ContentTask.spawn(aWindow.gBrowser.selectedBrowser,
                     {id: aLinkId, options: aOptions},
                     function(data) {
     let element = content.document.getElementById(data.id);
     let options = data.options;
-    element.focus();
 
     // EventUtils.synthesizeMouseAtCenter(element, options, content);
     // Alas, EventUtils doesn't work in the content task environment.
-    var domWindowUtils =
-        content.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
-        .getInterface(Components.interfaces.nsIDOMWindowUtils);
-    var rect = element.getBoundingClientRect();
-    var left = rect.left + rect.width / 2;
-    var top = rect.top + rect.height / 2;
-    var button = options.button || 0;
-    function sendMouseEvent(type) {
-      domWindowUtils.sendMouseEvent(type, left, top, button,
-                                    1, 0, false, 0, 0, true);
+    function doClick() {
+      var domWindowUtils =
+          content.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
+          .getInterface(Components.interfaces.nsIDOMWindowUtils);
+      var rect = element.getBoundingClientRect();
+      var left = rect.left + rect.width / 2;
+      var top = rect.top + rect.height / 2;
+      var button = options.button || 0;
+      function sendMouseEvent(type) {
+        domWindowUtils.sendMouseEvent(type, left, top, button,
+                                      1, 0, false, 0, 0, true);
+      }
+      if ("type" in options) {
+        sendMouseEvent(options.type);  // e.g., "contextmenu"
+      } else {
+        sendMouseEvent("mousedown");
+        sendMouseEvent("mouseup");
+      }
     }
-    if ("type" in options) {
-      sendMouseEvent(options.type);  // e.g., "contextmenu"
+
+    // waitForFocus(doClick, content);
+    let focusManager = Components.classes["@mozilla.org/focus-manager;1"].
+                       getService(Components.interfaces.nsIFocusManager);
+    let desiredWindow = {};
+    focusManager.getFocusedElementForWindow(content, true, desiredWindow);
+    desiredWindow = desiredWindow.value;
+    if (desiredWindow == focusManager.focusedWindow) {
+      // The window is already focused - click away.
+      doClick();
     } else {
-      sendMouseEvent("mousedown");
-      sendMouseEvent("mouseup");
+      // Focus the window first, then click.
+      desiredWindow.addEventListener("focus", function onFocus() {
+        desiredWindow.removeEventListener("focus", onFocus, true);
+        setTimeout(doClick, 0);
+      }, true);
+      desiredWindow.focus();
     }
   });
 }
 
 /**
  * Extracts the referrer result from the target window.
  * @param aWindow The window where the referrer target has loaded.
  * @return {Promise}
--- a/browser/branding/aurora/content/jar.mn
+++ b/browser/branding/aurora/content/jar.mn
@@ -11,16 +11,17 @@ browser.jar:
   content/branding/about-wordmark.svg            (about-wordmark.svg)
   content/branding/icon48.png                    (icon48.png)
   content/branding/icon64.png                    (icon64.png)
   content/branding/icon16.png                    (../default16.png)
   content/branding/icon32.png                    (../default32.png)
   content/branding/icon128.png                   (../mozicon128.png)
   content/branding/identity-icons-brand.png      (identity-icons-brand.png)
   content/branding/identity-icons-brand@2x.png   (identity-icons-brand@2x.png)
+  content/branding/silhouette-40.svg             (silhouette-40.svg)
   content/branding/aboutDialog.css               (aboutDialog.css)
 #ifdef MOZ_METRO
   content/branding/metro-about.css               (metro-about.css)
   content/branding/metro-about-footer.png        (metro-about-footer.png)
   content/branding/metro-about-wordmark.png      (metro-about-wordmark.png)
   content/branding/metro_firstrun_logo.png       (metro_firstrun_logo.png)
   content/branding/metro_firstrun_logo@1.4x.png  (metro_firstrun_logo@1.4x.png)
   content/branding/metro_firstrun_logo@1.8x.png  (metro_firstrun_logo@1.8x.png)
new file mode 100644
--- /dev/null
+++ b/browser/branding/aurora/content/silhouette-40.svg
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg"
+  x="0px" y="0px" viewBox="-45 31 40 40"
+  enable-background="new -45 31 40 40">
+  <path fill="#CCCCCC" d="M-14.1,54.7c0.7-1.4,1.7-4.4,0.8-6.9c0,0,0,0,0,0.1l0,0c0,0-0.2,0.5-0.4,1.3c0-0.1,0-0.2,0-0.3
+    c0.1-0.9,0-1.9-0.1-2.9c-0.3-1.5-1.4-2.8-2-3.2c0,0,0.1,0,0.1,0.1c-0.1-0.1-0.1-0.1-0.1-0.1s0,0.1,0.1,0.4c-0.7-1.1-1.6-1.5-1.6-1.5
+    s0,0.2,0.1,0.5c-2-1.9-4.7-3-7.6-3c-3,0-5.7,1.2-7.8,3.1c0.1,0.1,0.2,0.3,0.4,0.5c0,0,0.8-0.1,1.7-0.1c1.7-1.2,3.6-1.8,5.7-1.8
+    c2.6,0,5.1,1.1,7,3c-0.2-0.1-0.1,0,0,0.1c-0.6-0.4-1.2-0.8-1.7-0.8c1,0.8,2.6,2.7,2.4,6.2c-0.3-0.6-0.6-1-0.9-1.3
+    c0.4,3.5,0,4.2-0.2,5.1c0-0.4-0.2-0.7-0.3-0.9c0,0,0,1.1-0.7,2.6c-0.5,1.2-1.1,1.5-1.3,1.5c-0.2,0-0.1-0.2-0.1-0.4
+    c0,0-0.4,0.2-0.7,0.6c-0.3,0.4-0.6,0.8-0.8,0.6c0.1-0.1,0.2-0.3,0.3-0.4c-0.1,0.1-0.5,0.4-1.2,0.5c-0.3,0-1.6,0.3-3.3-0.6
+    c0.3,0,0.6-0.1,0.9,0.1c-0.3-0.3-1-0.3-1.5-0.4c-0.5-0.4-1.1-1-1.4-1.4c1.3,0.3,2.8,0.1,3.6-0.5s1.3-1,1.8-0.9
+    c0.4,0.1,0.7-0.4,0.4-0.8c-0.3-0.4-1.2-1-2.3-0.7c-0.8,0.2-1.8,1.1-3.3,0.2c-1.3-0.8-1.3-1.4-1.3-1.8c0-0.3,0.2-0.7,0.5-0.8
+    c0.2,0.1,0.3,0.1,0.3,0.1s-0.1-0.1-0.1-0.2l0,0c0.1,0,0.4,0.2,0.6,0.2c0.2,0.1,0.3,0.2,0.3,0.2s0,0,0-0.1c0,0-0.1-0.2-0.3-0.3l0,0
+    c0.1,0,0.2,0.1,0.4,0.2c0-0.2,0.1-0.4,0.1-0.7c0-0.2,0-0.3-0.1-0.4c-0.1-0.1,0-0.1,0.1,0c0-0.1,0-0.1-0.1-0.2l0,0c0,0,0,0,0-0.1
+    c0.2-0.3,1.8-1.2,1.9-1.3c0.2-0.1,0.3-0.3,0.4-0.5c0.2-0.1,0.3-0.5,0.3-0.8c0-0.1-0.2-0.3-0.4-0.3c-0.1,0-0.4-0.1-0.6,0l0,0
+    c-0.3,0-0.7,0-1.2,0s-0.8-0.3-1-0.6c0-0.1-0.1-0.1-0.1-0.2c0-0.1-0.1-0.2-0.1-0.2c0.2-0.8,0.7-1.5,1.4-2.1c0,0-0.2,0-0.1,0
+    c0,0,0.3-0.2,0.4-0.2c0.1,0-0.3-0.1-0.6-0.1c-0.5,0.2-0.6,0.2-0.8,0.3c0.1-0.1,0.3-0.2,0.2-0.2c-0.3,0.1-0.7,0.4-1.1,0.6v-0.1
+    c-0.2,0.1-0.6,0.4-0.7,0.7c0-0.1,0-0.1,0-0.1c-0.1,0-0.2,0.2-0.3,0.3l0,0c-1.1-0.3-2-0.2-2.8,0c-0.2-0.1-0.6-0.5-0.9-1
+    c0,0,0,0.1-0.1,0.1c-0.1-0.4-0.3-0.9-0.3-1.3v-0.1c0,0-0.1,0.1-0.3,0.3c-0.1,0.2-0.2,0.3-0.2,0.5c0,0.1-0.1,0.2-0.1,0.2v-0.2
+    c0,0.1-0.1,0.2-0.2,0.3c0,0.2,0,0.3-0.1,0.4l0,0c0,0,0-0.2,0-0.1c-0.1,0.2-0.2,0.5-0.2,0.8c-0.1,0.3-0.1,0.5-0.1,0.8s0,0.7,0,1.2
+    c0,0.1,0,0.1,0,0.2c-0.3,0.4-0.5,0.7-0.6,0.9c-0.4,0.7-0.7,1.8-1,3.5c0,0,0.2-0.6,0.6-1.3l0,0c-0.3,0.9-0.5,2.3-0.4,4.4
+    c0-0.1,0.1-0.6,0.2-1.3c0.1,1.4,0.5,3.1,1.5,5c0.8,1.4,1.7,2.4,2.7,3.2c0.2,0.2,0.4,0.3,0.6,0.5c1.3,1,3.3,2.1,5,2.4
+    c-0.6-0.2-1-0.5-1-0.5s2,0.7,3.5,0.6c-0.5-0.1-0.6-0.3-0.6-0.3s4.2,0.2,6.4-1.5c0.5-0.4,0.8-0.8,0.9-1.2c0.6-0.4,1.3-0.8,2-1.6
+    c1.2-1.2,1.3-2.1,1.4-3v0.1C-14,55.2-14,54.9-14.1,54.7z"/>
+  </svg>
--- a/browser/branding/nightly/content/jar.mn
+++ b/browser/branding/nightly/content/jar.mn
@@ -11,16 +11,17 @@ browser.jar:
   content/branding/about-wordmark.svg            (about-wordmark.svg)
   content/branding/icon48.png                    (icon48.png)
   content/branding/icon64.png                    (icon64.png)
   content/branding/icon16.png                    (../default16.png)
   content/branding/icon32.png                    (../default32.png)
   content/branding/icon128.png                   (../mozicon128.png)
   content/branding/identity-icons-brand.png      (identity-icons-brand.png)
   content/branding/identity-icons-brand@2x.png   (identity-icons-brand@2x.png)
+  content/branding/silhouette-40.svg             (silhouette-40.svg)
   content/branding/aboutDialog.css               (aboutDialog.css)
 #ifdef MOZ_METRO
   content/branding/metro-about.css               (metro-about.css)
   content/branding/metro-about-footer.png        (metro-about-footer.png)
   content/branding/metro-about-wordmark.png      (metro-about-wordmark.png)
   content/branding/metro_firstrun_logo.png       (metro_firstrun_logo.png)
   content/branding/metro_firstrun_logo@1.4x.png  (metro_firstrun_logo@1.4x.png)
   content/branding/metro_firstrun_logo@1.8x.png  (metro_firstrun_logo@1.8x.png)
new file mode 100644
--- /dev/null
+++ b/browser/branding/nightly/content/silhouette-40.svg
@@ -0,0 +1,1359 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1"
+ xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="-45 31 40 40"
+ enable-background="new -45 31 40 40">
+ <path fill="#CCCCCC" d="M-25,62.991c-6.622,0-11.991-5.369-11.991-11.991S-31.622,39.009-25,39.009S-13.009,44.378-13.009,51
+  S-18.378,62.991-25,62.991z M-34.439,48.549c-0.002,0.007-0.004,0.013-0.006,0.02c0.002-0.004,0.006-0.006,0.007-0.01
+  C-34.437,48.555-34.438,48.552-34.439,48.549z M-34.259,47.956c-0.001-0.006-0.003-0.005-0.002-0.012l0,0
+  c-0.001,0.004-0.003,0.008-0.004,0.012l0.008,0.006C-34.258,47.96-34.258,47.958-34.259,47.956z M-34.245,48.067
+  c-0.02,0.006-0.04,0.012-0.06,0.019c-0.026,0.084-0.054,0.168-0.078,0.254c0.004-0.002,0.007-0.004,0.01-0.008
+  c0.007-0.006,0.013-0.014,0.019-0.021c0.008-0.007,0.009-0.014,0.011-0.023c0.003-0.009,0.003-0.01,0.008-0.017
+  c0.01-0.012,0.006-0.037,0.005-0.051c0-0.011-0.007-0.015,0-0.024c0.005-0.007,0.012-0.014,0.017-0.019
+  c0.011-0.01,0.026-0.015,0.039-0.022c0.007-0.003,0.013-0.008,0.017-0.014c0.003-0.005,0.004-0.011,0.007-0.017
+  c0.007-0.014,0.008-0.027,0.008-0.044C-34.242,48.074-34.243,48.071-34.245,48.067z M-16.736,45.824
+  c0.001,0.012,0.002,0.024,0.007,0.036c0.006,0.017,0.012,0.034,0.011,0.054c0,0.017,0.007,0.032,0.011,0.049
+  c0.004,0.024,0.013,0.043,0.024,0.064c0.004,0.009,0.009,0.017,0.013,0.026c0.008,0.012,0.014,0.025,0.021,0.038
+  c0.009,0.017,0.014,0.034,0.022,0.051c0.004,0.008,0.006,0.016,0.008,0.024c0.002,0.005,0.003,0.013,0.007,0.017
+  c-0.02-0.021-0.027-0.053-0.042-0.077c-0.013-0.021-0.029-0.04-0.041-0.061c-0.009-0.016-0.021-0.028-0.023-0.045
+  c-0.002-0.015-0.003-0.029-0.007-0.042c-0.003-0.007-0.004-0.012-0.009-0.019c-0.004-0.007-0.011-0.011-0.015-0.018
+  c-0.01-0.015-0.018-0.034-0.025-0.051c-0.01-0.022-0.015-0.05-0.037-0.064c0.004,0.004,0.008,0.014,0.009,0.02
+  c0.002,0.007,0.005,0.015,0.005,0.022c0,0.013-0.007,0.013-0.014,0.004c-0.005-0.006-0.007-0.015-0.01-0.023
+  c-0.001-0.003-0.005-0.009-0.005-0.012c-0.001-0.004,0-0.007-0.001-0.01c-0.001-0.006-0.006-0.013-0.009-0.019
+  c-0.004-0.01-0.007-0.018-0.014-0.027c-0.006-0.008-0.012-0.014-0.016-0.025c-0.005-0.014-0.007-0.028-0.017-0.04
+  s-0.018-0.001-0.028,0.005c-0.006,0.004-0.014,0.005-0.022,0.008c-0.008,0.002-0.015,0.005-0.023,0.007
+  c-0.006,0.002-0.012,0.003-0.018,0.005c-0.003,0.001-0.004,0.002-0.008,0.003c-0.004,0-0.008-0.001-0.012,0
+  c-0.01,0.001-0.018,0.005-0.029,0.003c-0.003-0.001-0.005-0.003-0.008-0.003c-0.004-0.001-0.008-0.001-0.012,0
+  c-0.02,0.001-0.016,0.025-0.012,0.039c0.004,0.017,0.013,0.032,0.021,0.047c0.001,0.004,0.004,0.008,0.006,0.012
+  c0.001,0.004-0.001,0.007,0,0.011c0.002,0.009,0.006,0.017,0.004,0.027c-0.001,0.009-0.003,0.012-0.01,0.016
+  c-0.008,0.004-0.01,0.004-0.006,0.014c0.003,0.006,0.008,0.013,0.009,0.019c0.001,0.007,0.001,0.015,0.003,0.022
+  c0.004,0.017,0.012,0.034,0.02,0.049c0.005,0.008,0.014,0.031-0.004,0.019c-0.012-0.007-0.019-0.022-0.026-0.033
+  c-0.004-0.007-0.009-0.011-0.016-0.015c-0.006-0.003-0.013-0.005-0.019-0.009c-0.011-0.007-0.011-0.014-0.011-0.026
+  c0-0.007,0-0.015-0.008-0.019c-0.006-0.003-0.015-0.003-0.023-0.006c-0.005-0.002-0.011-0.004-0.015-0.007
+  c0.009,0.008,0.012,0.018,0.015,0.028c0.007,0.02,0.016,0.038,0.027,0.056c0.009,0.016,0.02,0.022,0.034,0.032
+  c0.011,0.008,0.022,0.024,0.029,0.035c0.008,0.01,0.015,0.019,0.024,0.028c0.009,0.009,0.019,0.015,0.025,0.027
+  c0.008,0.014,0.01,0.027,0.013,0.042c0.004,0.013,0.003,0.027,0.003,0.041c0,0.009,0.001,0.018-0.001,0.026
+  c0,0.003-0.002,0.005-0.002,0.008c-0.001,0.004,0,0.008,0,0.012c0,0.013,0,0.027,0,0.041c0,0.027,0.021,0.046,0.029,0.069
+  c0.008,0.023,0.006,0.053,0.005,0.079c-0.001,0.004-0.002,0.006-0.003,0.011c-0.002,0.005,0,0.009-0.001,0.014
+  c-0.001,0.005-0.003,0.008-0.004,0.012c0,0.003,0,0.006,0,0.008c0,0.004-0.003,0.004-0.004,0.007c-0.001,0.003,0,0.008,0,0.011
+  c-0.001,0.004-0.003,0.002-0.003,0.008c0.002,0.003,0.003,0.005,0.003,0.008c0.005,0.013,0.015,0.032,0.027,0.041
+  c0.005,0.003,0.012,0.004,0.019,0.004s0.013,0.005,0.018,0.012c0,0.002,0.001,0.004,0.001,0.006
+  c0.003,0.002,0.005,0.005,0.006,0.008c0.002,0.004,0.003,0.011,0.004,0.015c0.004,0.017,0.01,0.029,0.019,0.042
+  c0.011,0.015,0.021,0.018,0.039,0.019c0.016,0.001,0.029,0.009,0.042,0.02c0.006,0.005,0.011,0.013,0.018,0.018
+  c0.005,0.003,0.013,0.004,0.018,0.007c0.009,0.004,0.018,0.006,0.028,0.009c0.008,0.003,0.017,0.005,0.026,0.007
+  c0.007,0.001,0.015-0.001,0.023,0.001c0.007,0.002,0.014,0.006,0.022,0.006c0.005,0.001,0.018-0.002,0.022,0.001
+  c0.006,0.004,0.02,0.036,0.03,0.029c0.003-0.002,0.001-0.019,0.001-0.022c0-0.009,0.004-0.018,0.004-0.027
+  c0-0.005-0.001-0.01,0.001-0.015c0.001-0.004,0.003-0.006,0.003-0.011c-0.001-0.007-0.005-0.017-0.008-0.023
+  c-0.012-0.023,0.022-0.001,0.018-0.021c0-0.003-0.006-0.009-0.008-0.012c-0.002-0.005-0.003-0.001-0.002-0.009
+  c0.002-0.009,0.003-0.016,0.003-0.026c0-0.009,0-0.017-0.003-0.026c-0.003-0.007-0.009-0.013-0.011-0.02
+  c-0.004-0.011,0.006-0.019,0-0.029c-0.003-0.007-0.008-0.01-0.011-0.015c-0.004-0.006-0.004-0.016-0.005-0.023
+  c0-0.008-0.005-0.014-0.004-0.021c0.003,0.003,0.005,0.007,0.008,0.01c0.002,0.001,0.004,0.003,0.007,0.004
+  c0,0.002,0.001,0.004,0.001,0.006c0.003,0.005,0.011,0.019,0.019,0.016c0.011-0.002-0.009-0.032-0.013-0.037
+  c-0.008-0.01-0.017-0.018-0.023-0.03c-0.006-0.014-0.009-0.028-0.013-0.042c0.007,0.002,0.015,0.019,0.019,0.026
+  c0.005,0.007,0.012,0.012,0.017,0.02c0.009,0.013,0.017,0.029,0.023,0.044c0.002,0.006,0.001,0.013,0.005,0.019
+  c0.004,0.005,0.009,0.011,0.014,0.015c0.006,0.006,0.015,0.012,0.019,0.02c0.003,0.006,0.004,0.015,0.004,0.022
+  c0,0.005,0,0.01,0,0.015c0.001,0.004,0.002,0.005,0.003,0.008c0.005,0.018,0.017,0.031,0.025,0.049
+  c0.004,0.009,0.006,0.02,0.009,0.03c0.003,0.008,0.006,0.014,0.01,0.021c0.007,0.016,0.017,0.032,0.026,0.047
+  c0.005,0.008,0.007,0.017,0.01,0.026c0.003,0.008,0.008,0.017,0.008,0.025c-0.006-0.007-0.016-0.008-0.022-0.014
+  c-0.004-0.004-0.007-0.017-0.011-0.018c-0.007,0.022,0.013,0.046,0.022,0.064c0.006,0.013,0.012,0.028,0.017,0.041
+  c0.004,0.008,0.007,0.016,0.01,0.023c0.003,0.008,0.01,0.013,0.014,0.019c0.01,0.013,0.019,0.033,0.019,0.049
+  c0,0.015,0,0.03,0,0.045c0,0.015,0,0.033-0.008,0.045c-0.005,0.006-0.01,0.015-0.018,0.016c-0.006,0.001-0.017,0.001-0.023,0
+  s-0.009-0.004-0.015-0.004c-0.005,0-0.007,0.003-0.012,0.003c-0.006,0.001-0.01-0.003-0.018-0.003c-0.015,0-0.031,0-0.043,0.01
+  c-0.006,0.006-0.009,0.014-0.018,0.013c-0.004,0-0.004-0.003-0.007-0.004c-0.003-0.001-0.007,0-0.011-0.001
+  c-0.006-0.001-0.012-0.005-0.02-0.002c-0.008,0.003-0.01,0.016-0.016,0.021c-0.006,0.006-0.02,0.011-0.028,0.008
+  c-0.003-0.001-0.005-0.005-0.008-0.006c-0.004-0.002-0.008-0.001-0.012-0.001s-0.01-0.001-0.015,0
+  c-0.007,0.001-0.01,0.005-0.016,0.008c-0.009,0.004-0.016,0.003-0.026,0.003c-0.017,0-0.037,0.003-0.053-0.006
+  c-0.013-0.008-0.018-0.02-0.025-0.032c-0.007-0.015-0.009-0.032-0.023-0.042c-0.015-0.01-0.028-0.006-0.032,0.012
+  c-0.005-0.001-0.017-0.015-0.021-0.019c-0.005-0.009-0.007-0.02-0.008-0.03c0-0.007-0.003-0.012-0.004-0.02
+  c-0.001-0.009,0.003-0.013,0.004-0.021c0.002-0.012-0.006-0.022-0.004-0.035c0.001-0.008,0.004-0.013,0.004-0.022
+  c0-0.008-0.001-0.012-0.005-0.018c-0.006-0.012-0.012-0.023-0.017-0.035c-0.005-0.015-0.011-0.026-0.024-0.037
+  c-0.008-0.008-0.016-0.017-0.026-0.023c-0.007-0.005-0.014-0.008-0.02-0.015c-0.007-0.008-0.005-0.01-0.003-0.019
+  c0.002-0.011-0.008-0.014-0.012-0.022c-0.003-0.007,0-0.008,0.001-0.016c0.003-0.018-0.018-0.021-0.03-0.027
+  c-0.01-0.004-0.024-0.005-0.033-0.012c-0.006-0.004-0.01-0.011-0.016-0.014c0.001,0-0.009-0.003-0.009-0.003
+  c-0.003-0.001-0.006-0.001-0.01-0.002c-0.008-0.002-0.015-0.007-0.023-0.009c-0.008-0.003-0.014-0.004-0.022-0.005
+  c-0.006-0.001-0.01-0.005-0.015-0.007c-0.005-0.001-0.01-0.002-0.015-0.003c-0.008-0.003-0.015-0.007-0.023-0.009
+  c-0.008-0.002-0.015-0.005-0.023-0.007c-0.005-0.001-0.01,0-0.015,0c-0.005-0.001-0.008-0.002-0.012-0.003
+  c-0.021-0.005-0.042-0.003-0.063-0.005h-0.001c-0.006,0.002-0.01,0.003-0.016,0.004c-0.005,0-0.013-0.002-0.018,0
+  c-0.006,0.001-0.007,0.004-0.015,0.004c-0.005,0-0.01-0.001-0.015,0c-0.01,0-0.021,0.006-0.03,0.011
+  c-0.008,0.004-0.016,0.007-0.023,0.013c-0.004,0.004-0.01,0.011-0.011,0.017c-0.001,0.005,0,0.01-0.001,0.015
+  c-0.002,0.009-0.005,0.018-0.007,0.027c-0.001,0.005-0.002,0.018-0.008,0.022c-0.008,0.005-0.011-0.008-0.019,0
+  c-0.005,0.006-0.007,0.016-0.007,0.023c0.001,0.01,0.006,0.016,0.003,0.026c-0.002,0.008-0.001,0.015-0.004,0.023
+  c-0.002,0.008-0.004,0.014-0.002,0.023c0.002,0.007,0.002,0.016,0.006,0.023c0.005,0.009,0.015,0.018,0.022,0.027
+  c0.006,0.008,0.011,0.016,0.016,0.025c0.004,0.008,0.007,0.012,0.002,0.02c-0.004,0.007-0.013,0.008-0.02,0.01
+  c-0.009,0.002-0.014-0.001-0.022,0.005c-0.005,0.005-0.008,0.01-0.016,0.011c-0.007,0.001-0.013-0.001-0.019-0.004
+  c-0.004-0.003-0.012-0.01-0.016-0.011c-0.006-0.001-0.008,0.003-0.014,0.004c-0.004,0-0.008-0.001-0.011-0.001
+  c-0.01,0.001-0.017,0.008-0.023,0.016c-0.006,0.006-0.009,0.01-0.007,0.018c0.002,0.008,0.006,0.014,0.01,0.02
+  c0,0.001,0,0.001,0.001,0.002c0.01,0.006,0.019,0.013,0.028,0.02c0.026,0.02,0.046,0.051,0.068,0.076
+  c0.01,0.012,0.019,0.026,0.029,0.039c0.014,0.017,0.033,0.025,0.049,0.039c0.009,0.008,0.018,0.018,0.027,0.025
+  c0.011,0.008,0.028,0.01,0.039,0.018c0.012,0.009,0.02,0.013,0.036,0.018c0.013,0.004,0.025,0.011,0.036,0.019
+  c0.008,0.006,0.023,0.021,0.026,0.031c0.002,0.007,0.002,0.012,0.005,0.019c0.005,0.009,0.014,0.017,0.024,0.023
+  c0.015,0.009,0.027,0.016,0.036,0.033c0.006,0.014,0.01,0.029,0.012,0.045c0.012,0.002,0.02,0.009,0.032,0.006
+  c0.008-0.003,0.014-0.01,0.02-0.015c0.019-0.015,0.036-0.024,0.061-0.017c0.008,0.002,0.024,0.009,0.031,0.014
+  c0.009,0.007,0.011,0.02,0.017,0.03c0.004,0.009,0.007,0.019,0.013,0.028c0.009,0.013,0.021,0.024,0.033,0.035
+  c0.017,0.016,0.038,0.036,0.045,0.06c0.006,0.024-0.011,0.048-0.004,0.073c0.004,0.012,0.012,0.024,0.016,0.035
+  c0.005,0.01,0.007,0.019,0.012,0.029c0.005,0.011,0.005,0.021,0.007,0.033c0.002,0.009,0.011,0.019,0.011,0.03
+  c0.026,0,0.022-0.06,0.022-0.076c0-0.015,0-0.025-0.004-0.039s-0.009-0.019-0.017-0.03c-0.011-0.014-0.017-0.037-0.023-0.052
+  c-0.005-0.011-0.008-0.023-0.012-0.034c-0.005-0.012-0.011-0.022-0.017-0.034c-0.008-0.015-0.028-0.048-0.015-0.064
+  c0.016-0.019,0.042,0.004,0.053,0.017c0.012,0.015,0.024,0.024,0.034,0.041c0.007,0.014,0.014,0.026,0.02,0.04
+  c0.011,0.027,0.016,0.053,0.016,0.081c0,0.012,0.001,0.024,0,0.035c-0.001,0.015-0.006,0.021,0,0.036
+  c0.011,0.03,0.026,0.059,0.036,0.09c0.007,0.022,0.012,0.041,0.016,0.064c0.002,0.013,0.008,0.02,0.004,0.035
+  c-0.003,0.013-0.008,0.027-0.01,0.04c-0.001,0.006,0.001,0.012,0,0.017c-0.001,0.007-0.005,0.011-0.006,0.018
+  c-0.001,0.006,0.001,0.012,0.001,0.018c-0.001,0.008-0.005,0.014-0.007,0.022c-0.005,0.025-0.012,0.05-0.018,0.075
+  c-0.012,0.051-0.038,0.1-0.056,0.15c-0.006,0.014-0.006,0.024-0.006,0.039c0,0.013-0.004,0.031-0.001,0.042
+  c0.003,0.01,0.011,0.018,0.013,0.029c0.002,0.015,0.004,0.026,0.011,0.04c0.002,0.004,0.003,0.007,0.005,0.011
+  c0.002,0.002,0.004,0.006,0.006,0.009c0.101,0.09,0.202,0.179,0.302,0.269c0.157-0.083,0.314-0.165,0.471-0.247
+  c0.084,0.037,0.169,0.074,0.253,0.111c-0.052,0.135-0.104,0.271-0.156,0.406c0.008,0.013,0.01,0.03,0.014,0.044
+  c0.005,0.019,0.007,0.039,0.012,0.058c0.001,0.007,0.007,0.016,0.008,0.023c0.003,0.009,0.002,0.018,0.002,0.027
+  c0,0.01,0,0.019,0,0.028c0,0.008-0.005,0.017-0.006,0.024v-0.008l-0.004-0.001c-0.003-0.008,0.001-0.017-0.001-0.026
+  c-0.002-0.01-0.006-0.016-0.006-0.027c0.001-0.017,0.004-0.039,0.001-0.055c-0.004-0.013-0.012-0.026-0.016-0.039
+  c-0.002-0.009-0.005-0.018-0.008-0.026c-0.001-0.004-0.001-0.005-0.001-0.007c-0.008,0.021-0.017,0.042-0.025,0.063
+  c0.003,0.005,0.004,0.01,0.01,0.016c0.013,0.014,0.017,0.03,0.022,0.048c0.003,0.012,0.003,0.031,0,0.043
+  c-0.002,0.009-0.005,0.013-0.004,0.022c0,0.006,0.001,0.016,0,0.022c-0.003,0.01-0.019,0.028-0.029,0.031
+  c-0.012,0.004-0.026-0.005-0.033-0.015c-0.007-0.01-0.011-0.023-0.016-0.034c-0.004,0.01-0.008,0.021-0.012,0.031
+  c0.004,0.007,0.01,0.012,0.012,0.019c0.004,0.011,0.001,0.027,0.001,0.038s0.002,0.023,0.001,0.033
+  c-0.004,0.022-0.017,0.044-0.024,0.065c-0.007,0.024-0.013,0.045-0.022,0.068c-0.008,0.023-0.011,0.046-0.022,0.068
+  c-0.008,0.02-0.013,0.046-0.02,0.066c-0.006,0.018-0.012,0.039-0.02,0.055c-0.006,0.014-0.013,0.017-0.012,0.032
+  c0,0.011,0,0.022,0,0.032c0,0.022-0.005,0.041-0.011,0.061c-0.006,0.018-0.015,0.036-0.022,0.054
+  c-0.004,0.008-0.004,0.018-0.007,0.027c-0.001,0.006-0.004,0.009-0.004,0.016c0,0.005,0.002,0.012,0,0.017
+  c-0.003,0.012-0.01,0.024-0.011,0.038c-0.001,0.013-0.005,0.025-0.005,0.038c-0.001,0.011,0,0.022,0,0.032
+  c0,0.013,0.005,0.021,0.005,0.033c0.001,0.014-0.003,0.026-0.005,0.038c-0.001,0.004-0.004,0.01-0.004,0.012
+  c-0.001,0.006,0,0.011-0.001,0.016c-0.001,0.005-0.005,0.004-0.005,0.01c0,0.004,0.004,0.012,0.005,0.017
+  c0,0.013-0.004,0.02-0.006,0.032c-0.003,0.014,0,0.031,0,0.045s-0.007,0.024-0.01,0.037c-0.002,0.011-0.004,0.022-0.007,0.033
+  c-0.001,0.005,0.001,0.011,0.001,0.016c-0.001,0.005-0.004,0.008-0.005,0.012c-0.001,0.006-0.003,0.015-0.001,0.021
+  c0.001,0.005,0.005,0.005,0.006,0.01c0.002,0.01,0,0.023,0,0.033c0,0.014-0.004,0.025-0.006,0.039c-0.002,0.01,0,0.021,0,0.032
+  c0,0.009,0.002,0.013,0.004,0.022c0.001,0.004,0,0.013,0.002,0.016c0.006,0.008,0.023,0.001,0.031-0.001
+  c0.009-0.003,0.016-0.011,0.027-0.009c0.007,0.001,0.014,0.009,0.019,0.014c0.017,0.017,0.026,0.025,0.026,0.05
+  c0,0.011,0,0.022,0,0.033c0,0.016,0,0.017,0.016,0.016c0.014,0,0.021-0.001,0.028,0.011c0.004,0.009,0.005,0.019,0.016,0.022
+  c0.008,0.003,0.021,0.001,0.026-0.007c0.006-0.009-0.004-0.021,0.005-0.029c0.008,0.019,0,0.048-0.004,0.067
+  c-0.002,0.008-0.002,0.015-0.006,0.024c0,0-0.003,0.011-0.004,0.012c-0.002,0.01-0.001,0.021-0.006,0.031
+  c-0.005,0.01-0.011,0.019-0.015,0.028c-0.006,0.012-0.015,0.018-0.024,0.028c-0.005,0.006-0.014,0.017-0.016,0.025
+  c-0.003,0.01,0.004,0.02,0.005,0.029c0.003,0.014,0.005,0.019,0.002,0.034c-0.002,0.012-0.001,0.023-0.001,0.035
+  c0,0.015-0.006,0.025-0.011,0.039c-0.008,0.022-0.017,0.042-0.022,0.065c-0.002,0.009,0,0.016-0.004,0.026
+  c-0.002,0.006-0.005,0.012-0.008,0.018c-0.005,0.009-0.011,0.017-0.015,0.027c-0.008,0.018-0.009,0.038-0.02,0.056
+  c-0.003,0.004-0.009,0.009-0.013,0.013c-0.003,0.004-0.004,0.007-0.006,0.011c-0.009,0.012-0.017,0.027-0.026,0.04
+  c-0.008,0.01-0.021,0.02-0.032,0.028c-0.01,0.008-0.019,0.018-0.028,0.026c-0.009,0.007-0.017,0.018-0.027,0.023
+  c-0.012,0.006-0.018-0.001-0.024-0.012c-0.009-0.016-0.01-0.02-0.026-0.007c-0.006,0.005-0.013,0.01-0.017,0.017
+  c-0.005,0.007-0.005,0.015-0.008,0.023c-0.003,0.004-0.006,0.005-0.007,0.01c-0.003,0.01,0.001,0.023,0,0.033
+  c-0.001,0.011-0.005,0.021-0.006,0.032c0,0.015-0.004,0.027-0.005,0.041c-0.003,0.029-0.015,0.056-0.016,0.085
+  c-0.001,0.011-0.006,0.02-0.006,0.032c0,0.01,0.003,0.024,0.001,0.033c-0.003,0.01-0.008,0.014-0.017,0.018
+  c-0.002,0.001-0.015,0.004-0.016,0.005c-0.003,0.007,0.003,0.006,0.004,0.011c0.001,0.005,0,0.01,0.001,0.015
+  c0.002,0.011,0.009,0.021,0.006,0.033c-0.002,0.005-0.005,0.005-0.006,0.01s0,0.012,0,0.017c0,0.014,0,0.02-0.007,0.032
+  c-0.006,0.012-0.013,0.02-0.015,0.033c-0.001,0.012-0.004,0.027-0.01,0.037c-0.008,0.013-0.019,0.022-0.028,0.033
+  c-0.007,0.008-0.014,0.019-0.02,0.028c-0.007,0.011-0.016,0.017-0.023,0.027c-0.007,0.01-0.013,0.017-0.017,0.028
+  c-0.004,0.011-0.007,0.022-0.012,0.032c-0.012,0.024-0.023,0.054-0.03,0.081c-0.006,0.024-0.014,0.048-0.028,0.069
+  c-0.004,0.005-0.008,0.011-0.012,0.016c0,0.009,0,0.017,0.002,0.025c0.005,0.018,0.009,0.046,0.004,0.065
+  c-0.001,0.007-0.004,0.009-0.006,0.016c0,0.005,0.001,0.011,0.001,0.017c0,0.01,0.001,0.024-0.007,0.033
+  c-0.017,0.017-0.037-0.004-0.049-0.015c-0.017-0.016-0.034-0.033-0.048-0.051c-0.004-0.006-0.01-0.011-0.015-0.017
+  c-0.007-0.008-0.013-0.022-0.021-0.028c-0.015-0.011-0.04-0.001-0.046,0.018c-0.001,0.004,0,0.011-0.001,0.016
+  c-0.001,0.008-0.005,0.013-0.004,0.022c0.001,0.012,0.006,0.02,0.006,0.033c-0.001,0.013,0.002,0.024,0.005,0.037
+  c0.002,0.007,0.008,0.016,0.01,0.024c0.004,0.024,0.011,0.045,0.023,0.069c0.021,0.044,0.03,0.086,0.047,0.131
+  c0.004,0.01,0.011,0.021,0.013,0.032c0.001,0.011,0,0.023,0,0.033c0,0.022-0.006,0.045-0.015,0.065
+  c-0.017,0.039-0.036,0.073-0.073,0.097c-0.01,0.007-0.023,0.013-0.031,0.023c-0.008,0.011-0.012,0.024-0.023,0.033
+  c-0.018,0.015-0.028,0.027-0.038,0.049c-0.004,0.009-0.011,0.019-0.018,0.027c-0.004,0.005-0.01,0.008-0.014,0.012
+  c-0.002,0.003-0.002,0.008-0.005,0.011c-0.005,0.007-0.012,0.013-0.017,0.02c-0.007,0.01-0.011,0.023-0.018,0.032
+  c-0.007,0.009-0.019,0.016-0.021,0.028c-0.001,0.006,0.001,0.011-0.001,0.017c-0.002,0.006-0.004,0.009-0.004,0.016
+  c-0.001,0.011,0.001,0.018-0.011,0.022c-0.009,0.003-0.02,0.006-0.029,0.001c-0.007-0.005-0.011-0.015-0.014-0.023
+  c-0.001-0.002-0.002-0.004-0.003-0.005c-0.013-0.002-0.022-0.011-0.03-0.021c-0.011-0.013-0.027-0.035-0.031-0.051
+  c-0.002-0.005,0-0.01-0.003-0.014c-0.001-0.003-0.006-0.005-0.008-0.008c-0.005-0.006-0.005-0.014-0.007-0.021
+  c-0.007-0.019-0.005-0.04-0.01-0.059c-0.003-0.016-0.01-0.029-0.012-0.044c-0.003-0.021,0.005-0.039,0.006-0.06
+  c0-0.009-0.004-0.022-0.009-0.033c-0.02-0.01-0.041-0.018-0.062-0.021c-0.024-0.003-0.037-0.011-0.053,0.012
+  c-0.006,0.008-0.007,0.018-0.014,0.026c-0.006,0.006-0.014,0.011-0.02,0.017c-0.009,0.008-0.013,0.018-0.021,0.028
+  c-0.005,0.007-0.012,0.014-0.016,0.021c-0.006,0.012-0.006,0.024-0.007,0.037c0,0.011-0.003,0.021-0.005,0.032
+  c-0.002,0.019-0.01,0.034-0.011,0.053c-0.001,0.018-0.001,0.039-0.005,0.057c-0.006,0.026-0.028,0.05-0.041,0.073
+  c-0.008,0.014-0.014,0.033-0.03,0.041c-0.003,0.001-0.009,0.002-0.012,0.004c-0.001,0-0.002,0.001-0.003,0.001
+  c-0.175,0.457-0.35,0.913-0.525,1.37c0,0.001,0.001,0,0.001,0.002c0.002,0.013-0.004,0.021-0.006,0.032
+  c-0.002,0.011,0.003,0.023,0.001,0.033c-0.003,0.012-0.015,0.025-0.022,0.034c-0.007,0.007-0.013,0.013-0.02,0.02
+  c-0.047,0.122-0.094,0.245-0.141,0.367c0.116,0.027,0.232,0.055,0.348,0.082c0.005-0.004,0.01-0.008,0.015-0.012
+  c0.01-0.006,0.022-0.01,0.032-0.016c0.007-0.005,0.012-0.011,0.017-0.017c0.004-0.003,0.006-0.005,0.008-0.006
+  c0.001-0.002,0.002-0.004,0.003-0.006c0.006-0.009,0.012-0.014,0.02-0.022c0.012-0.013,0.027-0.024,0.04-0.036
+  c0.012-0.011,0.022-0.022,0.033-0.033c0.012-0.012,0.026-0.021,0.038-0.033c0.01-0.01,0.025-0.02,0.037-0.028
+  c0.007-0.005,0.013-0.009,0.017-0.016c0.001-0.001,0.001-0.001,0.002-0.002c0.008-0.012,0.017-0.023,0.025-0.035
+  c0.002-0.004,0.004-0.008,0.006-0.012c0.001-0.004,0.006-0.005,0.008-0.008c0.048-0.065,0.095-0.131,0.142-0.196
+  c0.009-0.017,0.022-0.036,0.027-0.053c0.004-0.012,0.004-0.021,0.012-0.032c0.009-0.011,0.021-0.022,0.032-0.033
+  c0.014-0.014,0.027-0.028,0.037-0.045c0.004-0.006,0.01-0.012,0.014-0.018c0.007-0.011,0.013-0.023,0.021-0.033
+  c0.004-0.007,0.016-0.03,0.027-0.029c0.003,0,0.001,0.004,0.002,0.005c0.131-0.182,0.262-0.363,0.393-0.544
+  c0.001-0.004-0.001-0.009,0.001-0.012c0.005-0.011,0.014-0.017,0.023-0.027c0.002-0.003,0.006-0.009,0.009-0.011
+  c0.001-0.001,0.003-0.001,0.004-0.002c0.019-0.026,0.038-0.053,0.057-0.079c0.002-0.005,0.006-0.009,0.006-0.015
+  c0.001-0.005-0.001-0.011,0-0.017c0.001-0.006,0.005-0.01,0.006-0.016c0.001-0.005-0.001-0.011-0.001-0.017
+  c0.001-0.003,0.005-0.01,0.005-0.011c0-0.008-0.001-0.008-0.003-0.016c-0.005-0.017,0.001-0.031,0.009-0.046
+  c0.007-0.013,0.022-0.048,0.043-0.034c0.007,0.005,0.005,0.015,0.013,0.019c0.008,0.005,0.021,0.001,0.027-0.002
+  c0.007-0.004,0.012-0.01,0.018-0.015c0.026-0.036,0.053-0.073,0.079-0.109c-0.007-0.001-0.015-0.002-0.022-0.003
+  c-0.01-0.002-0.022,0-0.032,0c-0.02,0-0.056,0.005-0.05-0.027l0.007-0.003c-0.001,0-0.002-0.001-0.002-0.001
+  c-0.006-0.003-0.014-0.006-0.016-0.012c-0.002-0.007,0.004-0.016,0.006-0.022c0.004-0.01,0.004-0.018,0.007-0.028
+  c0.009-0.032,0.037-0.059,0.042-0.092c0.001-0.007-0.001-0.014,0.001-0.022c0.002-0.007,0.004-0.014,0.006-0.022
+  c0.003-0.015,0.01-0.035,0.019-0.049c0.009-0.014,0.021-0.027,0.034-0.038c0.012-0.009,0.027-0.02,0.028-0.037
+  c0.007-0.002,0.013,0.001,0.02-0.002c0.004-0.001,0.013-0.007,0.018-0.01c0.008-0.004,0.017-0.021,0.025-0.021
+  c0.002,0.01,0.005,0.018,0.007,0.028c0.002,0.016,0.007,0.033,0.01,0.049c0.001,0.011,0.003,0.026,0.001,0.037
+  c-0.001,0.006-0.005,0.01-0.006,0.016c-0.001,0.007,0.001,0.015,0,0.022c-0.002,0.021-0.009,0.046-0.018,0.065
+  c-0.009,0.022-0.014,0.048-0.02,0.071c-0.003,0.014-0.009,0.025-0.014,0.038c0.102-0.037,0.204-0.075,0.305-0.112
+  c0.052,0.073,0.104,0.145,0.156,0.218c-0.134,0.131-0.269,0.263-0.404,0.394c0.001,0.002,0,0.004,0,0.006
+  c0.004,0.023,0.023,0.036,0.023,0.06c-0.001,0.013,0.003,0.031,0,0.044c-0.003,0.009-0.01,0.018-0.013,0.028
+  c-0.003,0.014-0.01,0.028-0.013,0.042c-0.003,0.012-0.002,0.026-0.002,0.038c0,0.026,0,0.05-0.005,0.075
+  c-0.003,0.014-0.006,0.025-0.006,0.04c0.001,0.014-0.002,0.024-0.005,0.038c-0.003,0.012-0.005,0.025-0.009,0.037
+  c-0.004,0.011-0.01,0.022-0.012,0.033c-0.001,0.005,0,0.011-0.002,0.016c-0.003,0.007-0.012,0.015-0.017,0.022
+  c-0.006,0.011-0.012,0.022-0.019,0.033c-0.007,0.012-0.008,0.027-0.016,0.039c-0.006,0.009-0.011,0.017-0.016,0.027
+  c-0.006,0.011-0.01,0.021-0.014,0.032c-0.004,0.013-0.011,0.018-0.019,0.027c-0.009,0.012-0.018,0.023-0.028,0.033
+  c-0.012,0.012-0.024,0.019-0.033,0.033c-0.011,0.017-0.019,0.033-0.026,0.05c-0.002,0.005-0.006,0.01-0.007,0.015
+  c-0.001,0.005,0.002,0.01-0.001,0.015c-0.003,0.008-0.014,0.014-0.02,0.019c-0.016,0.012-0.039,0.021-0.051,0.037
+  c-0.007,0.009-0.014,0.017-0.02,0.027c-0.005,0.008-0.009,0.016-0.017,0.022c-0.007,0.005-0.018,0.007-0.027,0.009
+  c-0.006,0.002-0.01,0.001-0.016,0.002c-0.006,0-0.008,0.003-0.012,0.004c-0.023,0.005-0.046-0.007-0.06,0.016
+  c-0.01,0.015-0.021,0.031-0.03,0.046c-0.017,0.029-0.048,0.047-0.071,0.071c-0.017,0.019-0.027,0.039-0.05,0.052
+  c-0.005,0.003-0.008,0.002-0.013,0.005c-0.002,0.002-0.005,0.006-0.008,0.008c-0.006,0.007-0.012,0.012-0.016,0.021
+  c-0.014,0.027-0.025,0.057-0.035,0.086c-0.005,0.013-0.022,0.029-0.032,0.039c-0.01,0.011-0.021,0.019-0.028,0.033
+  c-0.005,0.009-0.008,0.019-0.014,0.028c-0.012,0.021-0.023,0.042-0.035,0.063c-0.011,0.018-0.016,0.042-0.026,0.061
+  c-0.009,0.019-0.022,0.037-0.033,0.054c-0.02,0.033-0.029,0.072-0.047,0.105c-0.011,0.02-0.021,0.036-0.035,0.053
+  c-0.017,0.02-0.014,0.044-0.028,0.064c-0.012,0.018-0.026,0.033-0.035,0.052c-0.009,0.018-0.014,0.035-0.025,0.052
+  c-0.011,0.019-0.03,0.032-0.041,0.051c-0.01,0.017-0.02,0.035-0.028,0.053c-0.009,0.021-0.024,0.036-0.037,0.055
+  c-0.005,0.008-0.011,0.013-0.016,0.021c-0.007,0.012-0.016,0.017-0.025,0.026c-0.009,0.01-0.015,0.021-0.027,0.028
+  c-0.007,0.004-0.013,0.005-0.019,0.013c-0.006,0.008-0.008,0.018-0.013,0.025c-0.005,0.006-0.012,0.011-0.016,0.017
+  c-0.009,0.01-0.016,0.022-0.026,0.029c-0.009,0.006-0.018,0.01-0.026,0.016c-0.02,0.016-0.025,0.002-0.041-0.011
+  c-0.01-0.007-0.022-0.013-0.033-0.019c-0.012-0.005-0.025-0.009-0.037-0.014c-0.01-0.005-0.015-0.011-0.027-0.011
+  c-0.013-0.001-0.024,0.002-0.036,0.005c-0.008,0.002-0.019,0.005-0.03,0.006c-0.017,0.01-0.028,0.021-0.043,0.033
+  c-0.005,0.003-0.01,0.007-0.016,0.009c-0.013,0.004-0.026,0.007-0.039,0.012c-0.008,0.004-0.018,0.006-0.027,0.011
+  c-0.008,0.004-0.015,0.01-0.022,0.015c-0.019,0.011-0.041,0.017-0.058,0.03c-0.015,0.011-0.028,0.021-0.044,0.03
+  c-0.016,0.008-0.033,0.014-0.05,0.022c-0.013,0.007-0.022,0.018-0.034,0.027c-0.005,0.004-0.006,0.001-0.011,0.006
+  c-0.003,0.003-0.006,0.009-0.009,0.013c-0.009,0.01-0.013,0.022-0.022,0.034c-0.017,0.024-0.036,0.05-0.058,0.068
+  c-0.018,0.014-0.028,0.031-0.038,0.05c-0.012,0.024-0.033,0.039-0.056,0.052c-0.019,0.01-0.042,0.025-0.053,0.045
+  c-0.007,0.01-0.018,0.023-0.022,0.034c-0.004,0.009-0.004,0.021-0.008,0.031c-0.008,0.022-0.027,0.034-0.044,0.047
+  c-0.021,0.018-0.039,0.04-0.057,0.062c-0.014,0.017-0.036,0.028-0.055,0.037c-0.004-0.008,0.01-0.019,0.014-0.026
+  c0.006-0.011,0.017-0.026,0.012-0.038c-0.009,0.002-0.019,0.011-0.027,0.016c-0.01,0.006-0.016,0.007-0.027,0.011
+  c-0.014,0.003-0.027,0.017-0.036,0.028c-0.015,0.016-0.027,0.027-0.045,0.038c-0.016,0.01-0.029,0.023-0.045,0.03
+  c-0.014,0.007-0.023,0.018-0.037,0.025c-0.018,0.008-0.032,0.021-0.049,0.03c-0.021,0.01-0.039,0.026-0.06,0.035
+  c-0.016,0.007-0.032,0.013-0.048,0.022c-0.017,0.01-0.032,0.02-0.05,0.03c-0.007,0.004-0.011,0.004-0.018,0.011
+  c-0.004,0.004-0.008,0.01-0.013,0.013c-0.01,0.008-0.022,0.016-0.033,0.022c-0.007,0.004-0.015,0.008-0.023,0.011
+  c-0.006,0.003-0.011,0.002-0.017,0.004c-0.003,0-0.005,0.002-0.006,0.004c-0.023,0.001-0.002-0.026,0.005-0.037
+  c0.005-0.007,0.011-0.012,0.013-0.021c0.001-0.009-0.004-0.019,0.001-0.027c0.002-0.005,0.01-0.008,0.013-0.013
+  c0.005-0.005,0.01-0.013,0.013-0.02c0.009-0.018,0.016-0.036,0.033-0.05c0.01-0.008,0.024-0.01,0.034-0.019
+  c0.007-0.008,0.011-0.019,0.02-0.025c0.007-0.006,0.016-0.008,0.023-0.013c0.008-0.007,0.012-0.021,0.014-0.029
+  c0.002-0.008-0.001-0.015,0.002-0.022c0.002-0.006,0.01-0.012,0.014-0.017c0.008-0.009,0.015-0.018,0.022-0.027
+  c0.016-0.019,0.03-0.037,0.04-0.059c0.01-0.02,0.021-0.037,0.033-0.055c0.007-0.009,0.014-0.018,0.021-0.027
+  c0.005-0.008,0.017-0.02,0.02-0.028c0.005-0.012,0.002-0.03,0.002-0.043c-0.001-0.019-0.005-0.024-0.022-0.028
+  c-0.013-0.004-0.017-0.008-0.026-0.017c-0.005-0.004-0.009-0.003-0.013-0.004c-0.344,0.335-0.687,0.671-1.031,1.006
+  c-0.061-0.042-0.122-0.085-0.183-0.128c-0.002,0.003-0.005,0.006-0.006,0.009c-0.013,0.031-0.044,0.08-0.08,0.087
+  c-0.008,0.002-0.009,0.001-0.017,0.006c-0.005,0.003-0.01,0.008-0.016,0.01c-0.009,0.002-0.025,0.003-0.033-0.003
+  c-0.003-0.003-0.005-0.006-0.005-0.01c-0.002,0.003-0.003,0.005-0.004,0.007c-0.007,0.014-0.02,0.029-0.023,0.045
+  c-0.004,0.02,0.003,0.034-0.007,0.053c-0.007,0.012-0.012,0.026-0.019,0.039c-0.004,0.008-0.005,0.013-0.007,0.022
+  c-0.002,0.01-0.004,0.012-0.011,0.02c-0.009,0.012-0.018,0.023-0.032,0.031c-0.015,0.008-0.036,0.005-0.049-0.002l0.003-0.007
+  c-0.002,0.001-0.005,0.002-0.008,0.001c-0.009-0.004-0.006-0.017-0.005-0.024c0.002-0.01,0.006-0.025,0.011-0.034
+  c0.006-0.011,0.016-0.017,0.022-0.027c0.002-0.004,0.007-0.01,0.008-0.014c0.003-0.008,0-0.017,0.003-0.026
+  c0.002-0.011,0.005-0.01,0-0.021c-0.004-0.01-0.01-0.018-0.014-0.027c-0.007-0.017,0.005-0.023,0.007-0.039
+  c0.001-0.01-0.001-0.012,0.005-0.022c0.005-0.007,0.009-0.012,0.013-0.02c0.005-0.014,0.007-0.026,0.025-0.029
+  c0.002,0,0.006,0,0.01,0c0-0.018,0.007-0.037,0.017-0.049c0.013-0.015,0.03-0.028,0.034-0.048c0.001-0.011-0.001-0.023-0.001-0.033
+  c0-0.005,0.002-0.009,0.003-0.014c-0.001-0.002-0.002-0.004-0.004-0.006c-0.344-0.241-0.689-0.482-1.033-0.722
+  c0.006-0.039,0.013-0.079,0.02-0.118c-0.014,0-0.028,0-0.041,0c-0.009,0-0.022,0.003-0.027-0.006
+  c-0.005-0.01,0.009-0.026,0.014-0.033c0.006-0.009,0.008-0.017,0.013-0.027c0.004-0.007,0.01-0.013,0.014-0.021
+  c0.006-0.01,0.01-0.02,0.014-0.031c0.002-0.005,0.004-0.006,0.004-0.012c0.001-0.008,0-0.014,0.001-0.021
+  c0.002-0.008,0.009-0.018,0.014-0.025c0.008-0.009,0.009-0.014,0.012-0.025c0.005-0.018,0.014-0.041,0.023-0.059
+  c0.001-0.001,0.003-0.002,0.004-0.003c0.012-0.068,0.023-0.137,0.035-0.205c-0.176-0.03-0.352-0.06-0.528-0.09
+  c0.067-0.179,0.135-0.359,0.203-0.538c-0.089-0.116-0.178-0.231-0.267-0.346c0.037-0.043,0.074-0.086,0.111-0.128
+  c-0.005-0.007-0.01-0.013-0.017-0.018c-0.204,0.031-0.408,0.062-0.612,0.094c-0.004-0.042,0.013,0.467-0.012-0.127
+  c-0.024-0.594,0.79-0.564,1.185-0.846c-0.005-0.014-0.01-0.028-0.014-0.042c-0.008-0.025-0.013-0.053-0.025-0.077
+  c-0.011-0.024-0.02-0.049-0.036-0.07c-0.014-0.017-0.036-0.032-0.039-0.054c-0.003-0.02,0.009-0.039,0.015-0.056
+  c0.008-0.018,0.028-0.026,0.045-0.035c0.009-0.005,0.019-0.007,0.027-0.014c0.009-0.008,0.01-0.015,0.015-0.026
+  c0.007-0.013,0.018-0.02,0.011-0.037c-0.001-0.003-0.006-0.008-0.008-0.012c-0.003-0.005-0.004-0.011-0.007-0.016
+  c-0.011-0.019-0.012-0.04-0.032-0.055c-0.02-0.014-0.04-0.028-0.06-0.042c-0.02-0.012-0.033-0.031-0.055-0.039
+  c-0.022-0.008-0.042-0.035-0.043-0.06c-0.001-0.011,0-0.022,0-0.033c0-0.014,0.003-0.024,0.005-0.038
+  c0.002-0.01-0.002-0.022,0.001-0.032c0.003-0.009,0.013-0.017,0.019-0.023c0.014-0.013,0.024-0.027,0.034-0.04
+  c-0.145-0.072-0.29-0.143-0.435-0.215c-0.005,0.005-0.011,0.01-0.012,0.016c-0.006-0.001-0.015-0.021-0.02-0.028
+  c-0.002-0.003-0.005-0.005-0.008-0.007c-0.101-0.05-0.203-0.101-0.304-0.151c-0.032-0.038-0.064-0.077-0.097-0.116
+  c-0.011-0.005-0.018-0.016-0.032-0.019c-0.013-0.003-0.019,0-0.029-0.01c-0.011-0.012-0.013-0.024-0.031-0.028
+  c-0.008-0.002-0.009,0.001-0.016-0.005c-0.006-0.004-0.013-0.012-0.018-0.017c-0.009-0.007-0.016-0.01-0.026-0.016
+  c-0.009-0.005-0.011-0.011-0.018-0.02c-0.003-0.005-0.006-0.008-0.01-0.011c-0.006-0.004-0.016-0.004-0.021-0.008
+  c-0.009-0.007-0.011-0.021-0.02-0.028c-0.007-0.004-0.014-0.005-0.019-0.013c-0.004-0.005-0.005-0.014-0.01-0.018
+  c-0.006-0.006-0.01-0.003-0.016-0.006c-0.014-0.006-0.011-0.023-0.02-0.033c-0.01-0.01-0.018-0.006-0.029-0.011
+  c-0.011-0.003-0.025-0.022-0.032-0.031c-0.015-0.022-0.04-0.033-0.055-0.055c-0.01-0.012-0.017-0.021-0.029-0.032
+  c-0.015-0.014-0.02-0.03-0.031-0.047c-0.007-0.01-0.017-0.018-0.021-0.03c-0.004-0.014,0.004-0.024,0.005-0.038
+  c0.001-0.025,0.01-0.045-0.002-0.069c-0.005-0.011,0.002-0.018,0.005-0.026c-0.059-0.071-0.118-0.142-0.177-0.214
+  c0.011-0.004,0.023-0.008,0.034-0.012l0.051-0.034c-0.007-0.015-0.015-0.032-0.006-0.049c0.007-0.011,0.017-0.026,0.025-0.037
+  c0.009-0.01,0.024-0.015,0.033-0.025c0.025-0.026,0.023-0.063,0.024-0.098c-0.252-0.022-0.504-0.045-0.755-0.067
+  c0.009-0.109,0.019-0.218,0.029-0.327c-0.002-0.001-0.004-0.003-0.006-0.005c-0.009-0.01-0.017-0.015-0.023-0.027
+  c-0.007-0.017-0.001-0.038,0.018-0.045c0.006-0.003,0.012,0.001,0.018,0.002c0.004-0.051,0.009-0.102,0.013-0.154
+  c-0.005-0.003-0.01-0.006-0.015-0.011c-0.009-0.01-0.015-0.019-0.027-0.027c-0.011-0.006-0.017-0.01-0.023-0.021
+  c-0.006-0.01-0.006-0.017-0.006-0.028c0-0.007-0.001-0.015,0-0.021c0.002-0.008,0.01-0.014,0.011-0.022
+  c0.001-0.009-0.009-0.02-0.016-0.026c-0.003-0.002-0.013-0.01-0.016-0.011c-0.005-0.002-0.012,0.001-0.016-0.002
+  c-0.021-0.015,0.031-0.046-0.012-0.054c-0.007-0.001-0.01,0.003-0.015-0.004c-0.002-0.003-0.004-0.018-0.005-0.021
+  c-0.003-0.015-0.001-0.031-0.001-0.046c0-0.016,0.002-0.034,0-0.049c-0.001-0.009-0.005-0.016-0.006-0.025
+  c-0.001-0.01,0-0.02,0-0.03c0-0.031,0.013-0.066,0.004-0.097c-0.006-0.025-0.003-0.05,0.003-0.076
+  c0.006-0.022,0.01-0.042,0.015-0.065c0.007-0.028,0.009-0.058,0.027-0.081c0.011-0.014,0.02-0.037,0.038-0.039
+  c0.017-0.001,0.018,0,0.026-0.016c0.008-0.015,0.007-0.027,0.007-0.044c0-0.022-0.001-0.044,0.004-0.065
+  c0.003-0.011,0.003-0.022,0.006-0.032c0.003-0.012,0.001-0.026,0.001-0.038c0-0.022-0.005-0.043-0.006-0.065
+  c0-0.013,0-0.026,0-0.039V49.35c0-0.013-0.001-0.028,0.002-0.041c0.001-0.005,0.003-0.007,0.004-0.013c0.001-0.005,0-0.011,0-0.017
+  c0-0.01-0.001-0.021,0-0.032c0-0.012,0.006-0.024,0.009-0.034c0.004-0.01,0.007-0.022,0.014-0.03
+  c0.007-0.009,0.015-0.007,0.026-0.007c0.009,0,0.024-0.001,0.031-0.007c0.012-0.009,0.006-0.019,0.003-0.031
+  c-0.003-0.011,0-0.022-0.001-0.033c-0.001-0.012-0.003-0.013,0.01-0.02c0.022-0.011,0.042-0.019,0.066-0.024
+  c0.012-0.002,0.022,0.002,0.032,0.005c0.011,0.003,0.022,0.001,0.033,0.001c0.011,0,0.022-0.001,0.033,0
+  c0.012,0.002,0.019,0.006,0.032,0.006c0.011,0,0.022,0,0.033,0c0.01-0.001,0.018,0.002,0.027,0.004
+  c0.007-0.002,0.014-0.004,0.022-0.005c0.012,0,0.026-0.001,0.038,0c0.011,0.002,0.016,0.006,0.027,0.006c0.011,0,0.022,0,0.033,0
+  c0.01,0,0.023,0.002,0.032,0c0.007-0.001,0.011-0.005,0.017-0.006c0.007-0.001,0.015,0.001,0.022,0.001
+  c0.019,0,0.046-0.005,0.065-0.001c0.005,0.001,0.006,0.005,0.01,0.006c0.007,0.002,0.018,0.002,0.026,0.004
+  c0.015,0.004,0.022,0.012,0.035,0.022c0.016,0.013,0.027,0.036,0.043,0.046c0.008,0.006,0.018,0.009,0.027,0.014
+  c0.014,0.007,0.024,0.01,0.038,0.013c0.008,0.002,0.008,0.006,0.016,0.003c0.002,0,0.01-0.008,0.012-0.009
+  c0.007-0.006,0.014-0.011,0.02-0.018c0.006-0.006,0.011-0.011,0.018-0.015c0.01-0.007,0.02-0.005,0.032-0.007
+  c0.009-0.001,0.019-0.007,0.028-0.008c0.007-0.001,0.014,0,0.02-0.001c0.012-0.002,0.022-0.009,0.034-0.006
+  c0.025,0.005,0.044,0.035,0.065,0.048c0.011,0.006,0.022,0.013,0.033,0.018c0.01,0.004,0.02,0.005,0.029,0.009
+  c0.009,0.004,0.016,0.008,0.024,0.014c0.015,0.01,0.032,0.011,0.049,0.016c0.023,0.006,0.055,0.022,0.071,0.038
+  c0.004,0.004,0.012,0.015,0.013,0.02c0,0.006-0.005,0.012-0.006,0.017c-0.002,0.007-0.005,0.014-0.006,0.021
+  c-0.004,0.019,0.02,0.048,0.033,0.059c0.013,0.012,0.028,0.026,0.043,0.034c0.002,0.001,0.01,0.003,0.013,0.004
+  c0.004,0.002,0.007,0.004,0.01,0.005c0.012,0.006,0.018,0.009,0.016,0.024c-0.003,0.013-0.009,0.014-0.017,0.021
+  c-0.007,0.007-0.012,0.017-0.016,0.028c-0.014,0.038-0.022,0.074-0.022,0.115c0,0.014,0.003,0.034,0,0.048
+  c-0.001,0.004-0.002,0.008-0.003,0.012c0.022,0.011,0.043,0.022,0.065,0.033c0.094-0.079,0.189-0.158,0.283-0.238
+  c-0.269-0.352-0.538-0.704-0.807-1.056c-0.004,0.003-0.008,0.006-0.014,0.006c-0.005,0.001-0.007,0.002-0.012,0.003
+  c-0.004,0.001-0.01,0.001-0.014,0c-0.022-0.005-0.047-0.009-0.067-0.019c-0.027-0.013-0.052-0.029-0.075-0.047
+  c-0.025-0.02-0.045-0.05-0.05-0.081c-0.003-0.019,0.003-0.037-0.006-0.054c-0.007-0.012-0.014-0.022-0.019-0.035
+  c-0.006-0.017,0.002-0.037,0.01-0.052c0.004-0.008,0.009-0.016,0.009-0.026c-0.001-0.004-0.002-0.007-0.002-0.011
+  c-0.062-0.08-0.124-0.161-0.186-0.242c0.389-1.261,1.079-1.084,1.742-0.555c0.001,0,0.002,0.001,0.003,0.001
+  c0.005,0,0.012-0.002,0.017-0.001c0.005,0.002,0.006,0.006,0.011,0.007c0.01,0.002,0.024,0,0.035,0s0.024-0.002,0.034-0.001
+  c0.013,0.002,0.021,0.006,0.035,0.006s0.027,0.001,0.041,0.006c0.009,0.003,0.019,0.01,0.028,0.012
+  c0.015,0.003,0.021-0.007,0.023,0.011c0.002,0.013,0.001,0.028-0.004,0.041c-0.008,0.019-0.013,0.035-0.013,0.057
+  c0,0.012-0.004,0.018-0.006,0.029c0,0.001,0,0.002,0,0.004c0.057,0.051,0.114,0.106,0.17,0.161c0.032,0.011,0.064,0.026,0.1,0.018
+  c0.005-0.001,0.005-0.005,0.012-0.005c0.007,0.001,0.013,0.005,0.018,0.008c0.012,0.006,0.015,0.01,0.029,0.01
+  c0.011,0,0.023,0,0.034,0c0.006,0,0.012-0.001,0.018,0c0.008,0.001,0.01,0.004,0.017,0.006c0.012,0.004,0.022,0.007,0.035,0.013
+  c0.01,0.005,0.019,0.01,0.028,0.016c0.02,0.011,0.043,0.018,0.064,0.028c0.035,0.018,0.058,0.054,0.086,0.08
+  c0.003,0.002,0.008,0.007,0.01,0.008c0.003,0.002,0.01,0.004,0.012,0.006c0.007,0.006,0.013,0.021,0.018,0.029
+  c0.005,0.01,0.008,0.019,0.007,0.031c-0.002,0.02-0.011,0.047-0.019,0.065c-0.004,0.008-0.013,0.015-0.018,0.022
+  c-0.004,0.007-0.007,0.016-0.011,0.023c-0.005,0.008-0.012,0.015-0.018,0.023c-0.005,0.008-0.009,0.018-0.014,0.026
+  c-0.002,0.004-0.005,0.007-0.007,0.01c0.042,0.045,0.084,0.091,0.124,0.136c0.006-0.006,0.013-0.013,0.02-0.016
+  c0.008-0.004,0.026-0.013,0.035-0.011c0.007,0.002,0.013,0.012,0.019,0.017c0.013,0.013,0.025,0.025,0.034,0.041
+  c0.008,0.013,0.01,0.027,0.018,0.04c0.004,0.007,0.007,0.015,0.011,0.024c0.012,0.026,0.032,0.046,0.049,0.069
+  c0.014,0.018,0.011,0.04,0.016,0.061c0.295,0.327,0.516,0.558,0.595,0.478c0.083-0.331,0.166-0.663,0.248-0.995
+  c0.021-0.028,0.042-0.057,0.063-0.085c-0.002-0.004-0.004-0.008-0.004-0.012c-0.001-0.012-0.002-0.029,0.001-0.041
+  c0.002-0.007,0.007-0.014,0.009-0.022c0.004-0.012,0.006-0.013,0.013-0.024c0.013-0.017,0.023-0.034,0.039-0.05
+  c0.015-0.016,0.035-0.03,0.057-0.04c0.002-0.005,0-0.01,0.002-0.02c0.001-0.006,0.005-0.01,0.006-0.017
+  c0.001-0.005-0.002-0.012,0-0.017c0.006-0.02,0.037-0.028,0.052-0.039c0.01-0.007,0.018-0.016,0.029-0.023
+  c0.01-0.007,0.02-0.012,0.031-0.018c0.038-0.053,0.077-0.106,0.116-0.159c0.014-0.002,0.029-0.003,0.044-0.004
+  c0.003-0.008,0.004-0.017,0.009-0.024c0.005-0.008,0.014-0.013,0.02-0.02c0.018-0.019,0.024-0.044,0.041-0.064
+  c0.005-0.006,0.013-0.011,0.017-0.018c0.006-0.01,0.008-0.024,0.011-0.035c0.003-0.009,0.009-0.019,0.011-0.028
+  c0.003-0.013-0.003-0.028,0.001-0.041c0.006-0.022,0.032-0.043,0.055-0.039c0.005,0.001,0.018,0.009,0.024,0.012
+  c0.012,0.005,0.024,0.01,0.035,0.017c0.038,0.023,0.05,0.063,0.071,0.101c0.009,0.018,0.023,0.034,0.031,0.053
+  c0.009,0.019,0.015,0.035,0.031,0.051c0,0,0,0.001,0.001,0.001c0.067-0.006,0.133-0.012,0.2-0.018c0-0.006,0.001-0.011,0.001-0.016
+  c-0.001-0.007-0.005-0.011-0.007-0.018c-0.001-0.005,0-0.013-0.001-0.018c-0.003-0.016-0.01-0.03-0.016-0.045
+  c-0.009-0.026-0.027-0.049-0.036-0.075c-0.009-0.026-0.021-0.058-0.016-0.087c0.004-0.018,0.009-0.014,0.023-0.017
+  c0.015-0.002,0.026-0.006,0.041-0.006c0.011,0,0.024,0.002,0.034,0.001c0.006-0.001,0.012-0.005,0.017-0.006
+  c0.014-0.005,0.022-0.004,0.036-0.002c0.014,0.002,0.029,0.002,0.044,0.002c0.016-0.001,0.028,0.003,0.043,0.006
+  c0.012,0.001,0.027-0.001,0.039-0.001c0.015,0,0.026,0.006,0.041,0.006c0.023,0,0.046-0.001,0.069,0.005
+  c0.012,0.003,0.024,0.006,0.036,0.007c0.018,0.001,0.034,0.009,0.052,0.012c0.022,0.002,0.048,0,0.067-0.007
+  c0.01-0.003,0.015-0.003,0.022-0.012c0.003-0.005,0.005-0.009,0.005-0.013c-0.02-0.016-0.041-0.03-0.057-0.05
+  c-0.016-0.022-0.029-0.044-0.04-0.069c-0.003-0.008-0.003-0.015-0.006-0.023c-0.001-0.005-0.004-0.009-0.006-0.015
+  c-0.002-0.01-0.004-0.02-0.004-0.031c0-0.019,0.003-0.043-0.003-0.06c-0.007-0.019-0.018-0.027-0.036-0.016
+  c-0.007,0.005-0.009,0.005-0.018,0.005c-0.008,0-0.015-0.001-0.023-0.004c-0.01-0.004-0.013-0.017-0.018-0.026
+  c-0.005-0.009-0.01-0.019-0.016-0.027c-0.011-0.014-0.031-0.005-0.044-0.015c-0.013-0.011-0.018-0.03-0.026-0.045
+  c-0.004-0.007-0.009-0.016-0.013-0.023c-0.003-0.004-0.008-0.007-0.011-0.011c-0.004-0.005-0.005-0.01-0.008-0.015
+  c-0.002-0.003-0.004-0.005-0.006-0.007c-0.009-0.003-0.018-0.008-0.028-0.013c-0.029-0.016-0.059-0.038-0.082-0.062
+  c-0.013-0.014-0.029-0.025-0.042-0.039c-0.008-0.008-0.016-0.018-0.023-0.027c-0.012-0.016-0.02-0.035-0.03-0.052
+  c-0.005-0.008-0.014-0.015-0.019-0.024c-0.004-0.007-0.007-0.012-0.011-0.019c-0.008-0.011-0.016-0.024-0.02-0.037
+  c-0.004-0.012-0.011-0.025-0.011-0.038c0-0.007,0-0.012,0.008-0.015c0.009-0.003,0.025,0.011,0.031,0.018
+  c0.006,0.007,0.008,0.017,0.014,0.024s0.013,0.012,0.018,0.02c0.005,0.007,0.008,0.012,0.016,0.017
+  c0.006,0.003,0.013,0.004,0.018,0.009c0.007,0.006,0.015,0.016,0.02,0.023c0.005,0.007,0.009,0.015,0.016,0.007
+  c0.005-0.005,0.006-0.015,0.011-0.019c0.004-0.004,0.013-0.009,0.019-0.008c0.006,0,0.01,0.008,0.015,0.011
+  c0.004,0.001,0.019,0.002,0.022,0.001c0.011-0.005-0.01-0.025-0.014-0.032c-0.008-0.015-0.014-0.032-0.021-0.048
+  c-0.005-0.014-0.005-0.029-0.01-0.041c-0.006-0.017-0.008-0.034-0.016-0.049c-0.004-0.008-0.007-0.016-0.012-0.023
+  c-0.004-0.008-0.011-0.013-0.017-0.019c-0.009-0.009-0.018-0.018-0.027-0.027c-0.009-0.008-0.02-0.014-0.03-0.022
+  c-0.014-0.011-0.025-0.024-0.038-0.035c-0.004-0.004-0.008-0.006-0.011-0.011c-0.002-0.001-0.004-0.005-0.005-0.007
+  c-0.004-0.007-0.007-0.011-0.013-0.016c-0.003-0.003-0.012-0.009-0.008-0.014c0.002-0.003,0.016,0.004,0.021,0.003
+  c-0.005-0.004-0.012-0.007-0.017-0.011c-0.008-0.006-0.014-0.013-0.021-0.02c-0.006-0.006-0.014-0.012-0.021-0.019
+  c-0.003-0.003-0.004-0.006-0.008-0.009c-0.003-0.002-0.005-0.003-0.008-0.004c-0.004-0.003-0.008-0.009-0.011-0.013
+  c-0.005-0.006-0.008-0.012-0.012-0.019c-0.008-0.013-0.017-0.027-0.03-0.036c-0.013-0.01-0.026-0.02-0.035-0.035
+  c-0.006-0.012-0.009-0.026-0.014-0.038c-0.007-0.014-0.027-0.015-0.038-0.025c-0.008-0.008-0.013-0.02-0.022-0.028
+  c-0.017-0.015-0.038-0.031-0.06-0.037c-0.009-0.003-0.013-0.003-0.019-0.012c-0.003-0.005-0.004-0.015-0.012-0.018
+  c-0.012-0.005-0.023,0.017-0.034,0c-0.003-0.006-0.004-0.014-0.007-0.02c-0.003-0.004-0.008-0.01-0.012-0.014
+  c-0.011-0.009-0.025-0.017-0.037-0.023c-0.021-0.011-0.047-0.007-0.067-0.016c-0.014-0.006-0.033-0.01-0.047-0.015
+  c-0.014-0.004-0.02-0.01-0.031-0.021c-0.01-0.011-0.025-0.019-0.034-0.031c-0.01-0.015-0.017-0.028-0.033-0.038
+  c-0.015-0.01-0.031-0.02-0.046-0.03c-0.004-0.002-0.005,0-0.008-0.004c-0.003-0.003-0.003-0.008-0.006-0.012
+  c-0.004-0.007-0.011-0.012-0.019-0.015c-0.011-0.003-0.02-0.009-0.027-0.018c-0.004-0.008-0.01-0.012-0.015-0.019
+  c-0.01-0.015-0.016-0.031-0.026-0.046c-0.009-0.012-0.018-0.022-0.028-0.033c-0.005-0.005-0.011-0.009-0.018-0.011
+  c-0.008-0.004-0.016-0.008-0.024-0.012c-0.01-0.005-0.021-0.008-0.032-0.016c-0.008-0.006-0.015-0.012-0.023-0.018
+  c-0.015-0.01-0.029-0.021-0.041-0.034c-0.009-0.01-0.015-0.017-0.027-0.023c-0.007-0.003-0.015-0.003-0.023-0.005
+  c-0.011-0.002-0.021-0.006-0.031-0.01c-0.01,0.004-0.02,0.008-0.031,0.009c-0.01,0.002-0.015,0.001-0.024,0.008
+  c-0.01,0.008-0.019,0.022-0.022,0.035c-0.004,0.019,0.006,0.031,0.012,0.048c0.013,0.034,0.016,0.069-0.027,0.074
+  c0,0.01-0.009,0.017-0.011,0.025c-0.002,0.01,0.001,0.022,0,0.032c-0.001,0.022-0.028,0.033-0.047,0.037
+  c-0.007,0.002-0.016,0.001-0.023,0c-0.007,0-0.011-0.003-0.016-0.004c-0.004-0.001-0.01,0-0.014-0.001
+  c-0.005-0.001-0.006-0.005-0.01-0.006c-0.005-0.001-0.01,0.001-0.015-0.001c-0.002,0-0.008-0.004-0.011-0.005
+  c-0.009-0.004-0.017-0.01-0.026-0.016c-0.009-0.005-0.018-0.011-0.028-0.016c-0.005-0.002-0.009-0.005-0.014-0.009
+  c-0.003-0.002-0.008-0.004-0.011-0.006c-0.016-0.012-0.025-0.032-0.036-0.048c-0.018-0.024-0.04-0.013-0.065-0.009
+  c-0.005,0.001-0.01-0.001-0.016,0c-0.005,0.001-0.009,0.004-0.015,0.006c-0.008,0.001-0.017-0.002-0.025-0.001
+  c-0.01,0.001-0.018,0.005-0.027,0.006c-0.018,0.001-0.036-0.003-0.053,0.001c-0.017,0.003-0.033,0.007-0.05,0.009
+  c-0.006,0.001-0.012,0-0.018,0.001c-0.004,0.001-0.006,0.004-0.012,0.005c-0.005,0-0.011-0.002-0.016-0.001
+  c-0.005,0.001-0.005,0.005-0.01,0.006c-0.007,0.001-0.014-0.002-0.021-0.001c-0.006,0.002-0.01,0.005-0.016,0.006
+  c-0.011,0.002-0.02,0.003-0.032,0.006c-0.012,0.004-0.018,0.004-0.031,0.003c-0.019-0.001-0.032,0.006-0.048,0.016
+  c-0.022,0.014-0.04,0.037-0.068,0.038c-0.011,0-0.016-0.004-0.026-0.005c-0.012-0.002-0.021,0-0.032,0.004
+  c-0.014,0.004-0.028,0.007-0.042,0.01c-0.012,0.003-0.025,0.006-0.037,0.007c-0.028,0.002-0.055,0.009-0.082,0.016
+  c-0.022,0.005-0.044,0.01-0.065,0.014c-0.015,0.003-0.029,0.009-0.043,0.012c-0.024,0.005-0.054,0-0.078,0
+  c-0.021,0-0.04,0-0.054-0.015c-0.01-0.009-0.02-0.026-0.024-0.039c-0.002-0.006-0.002-0.01-0.005-0.016
+  c-0.002-0.003-0.006-0.006-0.008-0.009c-0.007-0.009-0.011-0.021-0.016-0.032c-0.011-0.022-0.012-0.039,0.007-0.058
+  c0.009-0.009,0.017-0.014,0.022-0.026c0.004-0.008,0.006-0.017,0.01-0.025c0.009-0.017,0.018-0.033,0.03-0.05
+  c0.019-0.03-0.027-0.017-0.041-0.014c-0.021,0.004-0.037-0.007-0.046-0.023c-0.009-0.015-0.019-0.029-0.032-0.042
+  c-0.007-0.007-0.014-0.01-0.021-0.016c-0.007-0.005-0.011-0.013-0.018-0.018c-0.019-0.013-0.038-0.025-0.057-0.038
+  c-0.01-0.007-0.016-0.016-0.025-0.023c-0.008-0.006-0.016-0.012-0.024-0.018c-0.013-0.01-0.024-0.021-0.036-0.033
+  c-0.017-0.015-0.036-0.023-0.056-0.033c-0.018-0.009-0.035-0.024-0.054-0.03c-0.024-0.008-0.047-0.018-0.068-0.033
+  c-0.005-0.003-0.01-0.006-0.015-0.01c-0.009,0.006-0.018,0.012-0.026,0.017c-0.013,0.007-0.019,0.007-0.033,0.01
+  c-0.012,0.002-0.019,0.005-0.031,0.005c-0.018,0-0.036,0.002-0.053,0.001c-0.021-0.002-0.038-0.008-0.059-0.005
+  c-0.024,0.004-0.049,0.009-0.073,0.01c-0.023,0-0.046,0-0.068,0c-0.013,0-0.025-0.002-0.038-0.001
+  c-0.014,0.001-0.026,0.006-0.04,0.006c-0.029,0-0.057-0.015-0.086-0.016c-0.01,0-0.021,0-0.031,0c-0.017,0-0.03,0.004-0.046,0.005
+  c-0.02,0.002-0.04,0.009-0.06,0.011c-0.011,0.002-0.024,0-0.036,0h-0.069c-0.01,0-0.021,0-0.031,0c-0.011,0-0.016-0.004-0.027-0.006
+  c-0.012-0.001-0.014,0.001-0.021-0.01c-0.006-0.011-0.003-0.02-0.014-0.028c-0.012-0.009-0.029-0.013-0.043-0.018
+  c-0.019-0.007-0.039-0.012-0.058-0.018c-0.007-0.003-0.015-0.007-0.021-0.008c-0.009-0.003-0.018,0-0.027-0.001
+  c-0.009-0.002-0.017-0.005-0.026-0.006c-0.012-0.001-0.025-0.003-0.036-0.006c-0.014-0.004-0.029-0.009-0.043-0.01
+  c-0.007,0-0.015,0.002-0.021,0.001c-0.014-0.003-0.027-0.011-0.042-0.011c-0.007-0.001-0.014,0.001-0.022,0
+  c-0.008-0.001-0.012-0.004-0.02-0.006c-0.017-0.002-0.032-0.002-0.048-0.009c-0.018-0.007-0.033-0.016-0.053-0.017
+  c-0.021-0.002-0.046,0.005-0.067,0c-0.007-0.001-0.014-0.004-0.021-0.006c-0.005-0.002-0.011-0.003-0.017-0.005
+  c-0.006-0.002-0.01-0.007-0.015-0.01c-0.007-0.003-0.014-0.007-0.021-0.01c-0.026-0.013-0.051-0.024-0.075-0.041
+  c-0.011-0.008-0.021-0.019-0.031-0.029c-0.006-0.006-0.028-0.023-0.016-0.03l0.011-0.011c-0.01-0.002-0.023-0.029-0.017-0.036
+  c0.004-0.004,0.022-0.006,0.027-0.006c0.009-0.001,0.018,0,0.027,0c0.016,0,0.036,0.003,0.052,0
+  c0.008-0.001,0.016-0.008,0.022-0.009c0.009-0.003,0.017-0.001,0.025-0.001c0.022-0.001,0.038-0.017,0.059-0.016
+  c0.022,0,0.032-0.006,0.046-0.023c0.006-0.007,0.011-0.016,0.015-0.025c0.004-0.007,0.011-0.014,0.013-0.021
+  c0.002-0.008-0.002-0.018-0.001-0.026c0.002-0.01,0.006-0.016,0.005-0.026c0-0.004,0-0.008,0.001-0.011
+  c-0.001-0.005-0.004-0.008-0.005-0.012c-0.002-0.01,0-0.016-0.006-0.026c-0.006-0.012-0.014-0.023-0.02-0.036
+  c-0.003-0.008-0.006-0.014-0.01-0.021c-0.009-0.013-0.016-0.027-0.024-0.041c-0.006-0.011-0.017-0.025-0.02-0.038
+  c-0.008-0.032,0.022-0.019,0.041-0.015c0.009,0.001,0.018,0.004,0.028,0.005c0.003,0,0.007,0,0.01,0
+  c0.006,0,0.008,0.003,0.012,0.004c0.032,0.008,0.064,0.018,0.093,0.032c0.006-0.022-0.001-0.041-0.019-0.054
+  c-0.009-0.006-0.019-0.01-0.028-0.015c-0.011-0.007-0.019-0.017-0.026-0.027c-0.014-0.021-0.021-0.047-0.021-0.072
+  c0-0.012-0.004-0.02-0.006-0.031c-0.002-0.014,0.006-0.025,0.006-0.038c-0.001-0.015-0.009-0.033-0.006-0.047
+  c0.002-0.009,0.01-0.016,0.011-0.026c0.001-0.005,0-0.011,0-0.016c0-0.007,0.003-0.009,0.004-0.016c0.001-0.003,0-0.013,0.002-0.015
+  c0.004-0.003,0.015,0,0.02,0c0.015-0.002,0.011-0.008,0.011-0.022V43.87c0-0.023-0.001-0.043,0.026-0.042
+  c0.012,0,0.02,0.001,0.032,0.004c0.011,0.003,0.025,0.001,0.037,0.001s0.024-0.001,0.037,0c0.015,0.001,0.028,0.007,0.043,0.011
+  c0.023,0.006,0.05,0.011,0.071,0.022c0.007,0.004,0.02,0.005,0.023,0.014c0.004,0.013-0.004,0.027-0.006,0.038
+  c-0.002,0.012,0.002,0.024-0.001,0.036c-0.003,0.01-0.004,0.019-0.008,0.028c-0.009,0.019-0.021,0.038-0.002,0.057
+  c0.01,0.009,0.025,0.01,0.036,0.016c0.011,0.006,0.022,0.009,0.033,0.014c0.008,0.003,0.015,0.006,0.021,0.011
+  c0.004,0.003,0.007,0.005,0.011,0.01s0.007,0.011,0.011,0.016c0.011,0.012,0.044,0.036,0.059,0.017
+  c0.01-0.013-0.027-0.049-0.038-0.058c-0.008-0.006-0.014-0.015-0.022-0.02c-0.006-0.005-0.009-0.006-0.015-0.012
+  c-0.006-0.008-0.011-0.015-0.011-0.026c0-0.012,0.006-0.017,0.012-0.026c0.002-0.004,0.007-0.012,0.008-0.016
+  c0.001-0.005,0.004-0.013,0.005-0.017c0.005-0.027-0.005-0.037-0.02-0.057c-0.008-0.01-0.013-0.021-0.021-0.031
+  c-0.005-0.008-0.01-0.012-0.015-0.021c-0.004-0.007-0.006-0.015-0.011-0.022c-0.008-0.01-0.014-0.023-0.022-0.033
+  c-0.01-0.011-0.024-0.021-0.037-0.03c-0.024-0.015-0.04-0.036-0.059-0.056c-0.012-0.015-0.021-0.031-0.034-0.045
+  c-0.007-0.008-0.015-0.019-0.012-0.031c0.003-0.014,0.024-0.024,0.037-0.026c0.008-0.001,0.015,0.001,0.023,0
+  c0.007-0.001,0.013-0.004,0.02-0.005c0.013-0.003,0.028,0.002,0.041,0.004c0.01,0.002,0.022,0,0.032,0.002
+  c0.013,0.004,0.023,0.003,0.037,0.004c0.024,0.002,0.033,0.015,0.049,0.031c0.015,0.014,0.032,0.025,0.051,0.033
+  c0.022,0.008,0.041,0.001,0.063,0.005c0.009,0.001,0.02,0.008,0.028,0.009c0.011,0.003,0.023,0.001,0.036,0.001
+  c0.01,0.001,0.018,0.005,0.026,0.012c0.009,0.009,0.008,0.013,0.011,0.024c0.003,0.007,0.01,0.016,0.014,0.023
+  c0.006,0.01,0.006,0.02,0.013,0.031c0.009,0.015,0.021,0.028,0.03,0.042c0.006,0.009,0.011,0.021,0.017,0.03
+  c0.009,0.013,0.022,0.022,0.032,0.033c0.014,0.016,0.03,0.03,0.046,0.042c0.019,0.013,0.041,0.018,0.058,0.032
+  c0.012,0.009,0.025,0.016,0.037,0.025c0.019,0.014,0.024,0.039,0.042,0.055c0.008,0.007,0.018,0.013,0.025,0.021
+  c0.006,0.008,0.014,0.018,0.023,0.024c0.014,0.009,0.027,0.003,0.042,0.006c0.009,0.002,0.02,0.009,0.03,0.012
+  c0.019,0.008,0.034,0.026,0.054,0.035c0.022,0.01,0.049,0.017,0.073,0.017c0.012-0.001,0.02,0.004,0.032,0.005
+  c0.017,0.001,0.032-0.005,0.049-0.006c0.01,0,0.025-0.001,0.035,0c0.012,0.002,0.019,0.006,0.032,0.006
+  c0.012,0,0.02,0.003,0.031,0.005c0.005,0.002,0.011-0.001,0.016,0c0.009,0.001,0.009,0.002,0.016,0.007
+  c0.007,0.004,0.014,0.01,0.021,0.014c0.008,0.005,0.017,0.007,0.026,0.011c0.011,0.004,0.021,0.003,0.032,0.006
+  c0.013,0.004,0.024,0.012,0.032,0.021c0.003-0.001,0.007-0.003,0.01-0.005c0.024-0.012,0.043-0.023,0.054-0.049
+  c0.009-0.019,0.003-0.044-0.007-0.063c-0.009-0.018-0.038-0.035-0.036-0.058c0.003-0.021,0.03-0.027,0.031-0.047
+  c0.001-0.009,0.002-0.023,0-0.032s-0.011-0.023-0.015-0.031c-0.005-0.008-0.011-0.012-0.015-0.02
+  c-0.004-0.006-0.005-0.014-0.008-0.02c-0.005-0.01-0.009-0.019-0.013-0.029c-0.004-0.008-0.009-0.019-0.011-0.027
+  c-0.001-0.005,0-0.01-0.002-0.015c-0.003-0.006-0.011-0.01-0.016-0.014c-0.017-0.014-0.03-0.026-0.042-0.044
+  c-0.006-0.009-0.013-0.017-0.019-0.026c-0.007-0.011-0.016-0.015-0.028-0.021c-0.019-0.011-0.035-0.021-0.056-0.028
+  c-0.003-0.001-0.009-0.003-0.012-0.004c-0.001,0-0.011-0.004-0.012-0.004c-0.011-0.002-0.023-0.001-0.035-0.001
+  c-0.01,0-0.023,0.003-0.032,0c-0.011-0.002-0.013-0.016-0.016-0.026c-0.005-0.021-0.002-0.048-0.022-0.062
+  c-0.018-0.014-0.038-0.02-0.057-0.032c-0.017-0.01-0.03-0.028-0.047-0.039c-0.032-0.022-0.095-0.042-0.095-0.088
+  c0-0.008,0.003-0.014,0.004-0.022c0.002-0.006,0-0.013,0.001-0.019c0.002-0.011,0.007-0.022,0.01-0.033
+  c0.002-0.008,0.002-0.013,0.006-0.021s0.01-0.018,0.015-0.025c0.009-0.016,0.02-0.029,0.032-0.041
+  c-0.009-0.008-0.018-0.015-0.027-0.023c-0.015-0.014-0.039-0.026-0.058-0.034c-0.014-0.006-0.026-0.014-0.041-0.021
+  c-0.017-0.007-0.046-0.021-0.052-0.04c-0.003-0.008-0.005-0.019-0.006-0.027c0-0.012,0.003-0.021-0.004-0.031
+  c-0.006-0.008-0.016-0.014-0.021-0.023c-0.002-0.004-0.002-0.01-0.005-0.015c-0.002-0.004-0.005-0.005-0.007-0.009
+  c-0.004-0.015-0.002-0.044,0-0.059c0.003-0.016,0.011-0.03,0.011-0.047c0-0.021-0.001-0.036-0.009-0.054
+  c-0.009-0.018-0.015-0.038-0.023-0.056c-0.011-0.024-0.029-0.045-0.047-0.064c-0.03-0.032-0.062-0.064-0.088-0.1
+  c-0.012-0.016-0.026-0.032-0.037-0.048c-0.011-0.017-0.019-0.038-0.033-0.052c-0.006-0.006-0.014-0.007-0.02-0.011
+  c-0.006-0.005-0.013-0.014-0.018-0.02c-0.007-0.01-0.024-0.035-0.019-0.047c0.007,0.003,0.018,0.008,0.026,0.005
+  c0.011-0.005,0.003-0.014,0-0.021c-0.002-0.004-0.003-0.009-0.004-0.012c-0.002-0.005-0.005-0.011-0.008-0.015
+  c-0.006-0.01-0.013-0.023-0.021-0.031c-0.013-0.014-0.025-0.027-0.034-0.043c-0.003-0.004-0.013-0.015-0.013-0.021
+  c0.001-0.009,0.015-0.012,0.022-0.016c0.011-0.006,0.03-0.02,0.025-0.035c-0.002-0.006-0.011-0.016-0.016-0.021
+  c-0.008-0.008-0.023-0.008-0.029-0.018c-0.004-0.007-0.004-0.018-0.007-0.025c-0.004-0.012-0.005-0.02-0.005-0.032
+  c0-0.01-0.002-0.019,0.004-0.028s0.014-0.011,0.022-0.015c0.014-0.007,0.036-0.02,0.02-0.035c-0.012-0.012-0.031-0.015-0.046-0.022
+  c-0.019-0.009-0.042-0.015-0.063-0.021c-0.014-0.004-0.029-0.004-0.042-0.007c-0.013-0.002-0.027-0.01-0.038-0.013
+  c-0.019-0.005-0.04,0.001-0.058-0.005c-0.009-0.003-0.018-0.007-0.026-0.011c-0.013-0.005-0.023-0.005-0.036-0.007
+  c-0.012-0.003-0.025-0.008-0.037-0.011c-0.01-0.003-0.021-0.007-0.032-0.01c-0.01-0.002-0.02-0.005-0.031-0.005
+  c-0.013,0.001-0.024-0.004-0.037-0.005c-0.007,0-0.025-0.003-0.031-0.006c-0.011-0.008-0.006-0.014,0.005-0.015
+  c0.01-0.001,0.02,0.002,0.03-0.001c0.007-0.002,0.013-0.01,0.022-0.011c-0.001-0.005-0.019-0.015-0.025-0.018
+  c-0.011-0.007-0.02-0.007-0.032-0.007c-0.011,0-0.022,0-0.032,0c-0.005,0-0.011,0.001-0.016,0c-0.008,0-0.013-0.004-0.021-0.005
+  c-0.011-0.002-0.021-0.003-0.032-0.005c-0.005-0.002-0.009-0.004-0.015-0.006c-0.009-0.002-0.02,0-0.03-0.003
+  c-0.014-0.005-0.024-0.006-0.039-0.007c-0.013-0.001-0.023-0.006-0.037-0.005c-0.011,0-0.02-0.004-0.031-0.006
+  c-0.012-0.001-0.025-0.003-0.036-0.006c-0.009-0.003-0.017-0.008-0.027-0.009c-0.007-0.001-0.01-0.003-0.016-0.005
+  c-0.008-0.001-0.014,0-0.021-0.001c-0.011-0.001-0.016-0.005-0.027-0.005s-0.021,0.001-0.03-0.007c-0.01-0.008-0.006-0.013,0-0.023
+  c0.006-0.01,0.009-0.016,0.009-0.028c0-0.022,0.001-0.042-0.004-0.063c-0.001-0.006,0-0.01-0.001-0.016s-0.004-0.01-0.005-0.016
+  c-0.002-0.009,0.002-0.02,0.011-0.025c0.005-0.003,0.01,0,0.015-0.001c0.006-0.001,0.01-0.005,0.016-0.006
+  c0.011-0.002,0.02,0,0.031-0.005c0.011-0.004,0.023-0.006,0.033-0.011c0.012-0.006,0.032-0.01,0.041-0.019
+  c0.02-0.018-0.012-0.029-0.022-0.042c-0.019-0.022-0.022-0.037-0.016-0.065c0.002-0.01,0.009-0.02,0.006-0.031
+  c-0.003-0.007-0.007-0.014-0.011-0.021c-0.716-0.167-1.463-0.256-2.23-0.256c-1.483,0-2.888,0.331-4.147,0.923
+  c-0.001,0.002-0.003,0.003-0.004,0.004c-0.011,0.007-0.019,0.017-0.021,0.029c-0.001,0.003-0.001,0.007-0.001,0.011
+  c0.689-0.188,1.378-0.376,2.067-0.564c0.028,0.121,0.055,0.242,0.083,0.363c-0.41,0.599-0.395,1.249-1.229,1.798
+  c-0.743,0.488-0.665,0.181-0.862,0.139c0,0,0,0,0,0.001c0.002,0.009,0.006,0.021,0.003,0.031c-0.002,0.006-0.008,0.015-0.012,0.021
+  c-0.004,0.007-0.01,0.015-0.014,0.022c-0.003,0.006-0.006,0.009-0.01,0.014c-0.001,0.001-0.047,0.052-0.11,0.123
+  c-0.002,0.008-0.005,0.017-0.007,0.025c0.052-0.057,0.09-0.098,0.089-0.095c-0.008,0.019-0.015,0.038-0.025,0.057
+  c-0.011,0.021-0.027,0.038-0.044,0.055c-0.011,0.01-0.022,0.021-0.032,0.031c-0.161,0.768,0.008,1.628-0.821,2.21
+  c-0.58,0.408-0.637,0.248-0.658,0.049c-0.037,0.163-0.024,0.083-0.004-0.031c-0.01-0.112-0.018-0.228-0.106-0.255
+  c-0.007-0.017-0.014-0.034-0.021-0.051c-0.001,0-0.002,0-0.003,0c-0.004,0-0.007,0.003-0.011,0.004
+  c-0.006,0.001-0.012-0.001-0.018,0c-0.009,0.003-0.017,0.003-0.025,0.006c-0.008,0.002-0.014,0.005-0.022,0.009
+  c-0.017,0.008-0.028-0.011-0.028-0.026c0-0.007,0-0.015,0-0.022c0-0.009,0.002-0.011,0.007-0.018
+  c0.003-0.005,0.005-0.011,0.004-0.018c-0.001-0.003-0.004-0.003-0.004-0.006c-0.001-0.005,0.002-0.009-0.003-0.012
+  c0.004-0.006,0.006-0.014,0.009-0.021c0.004-0.007,0.005-0.019,0.011-0.025c-0.016,0.001-0.03,0.01-0.043,0.018
+  c-0.008,0.005-0.015,0.009-0.024,0.012c-0.01,0.002-0.018,0.007-0.028,0.01c-0.023,0.009-0.044,0.022-0.066,0.032
+  c-0.016,0.006-0.03,0.011-0.046,0.018c-0.018,0.01-0.036,0.019-0.053,0.029c-0.016,0.008-0.028,0.024-0.047,0.024
+  c-0.012,0-0.02-0.003-0.031-0.008c-0.01-0.004-0.019-0.006-0.028-0.013c0,0,0.001,0,0.002,0h0.007
+  c-0.006-0.001-0.014-0.007-0.018-0.011c-0.006-0.006-0.002-0.014,0.001-0.021c0.01-0.023,0.03-0.038,0.045-0.057
+  c0.005-0.006,0.009-0.013,0.014-0.019c0.005-0.008,0.012-0.011,0.018-0.018c0.004-0.004,0.008-0.008,0.012-0.013
+  c0.006-0.006,0.014-0.007,0.02-0.012c0.014-0.011,0.025-0.022,0.036-0.035c0.008-0.01,0.017-0.017,0.025-0.026
+  c0.005-0.007,0.013-0.011,0.018-0.017c0.003-0.005,0.007-0.01,0.009-0.014c0.002-0.005,0.001-0.008,0.003-0.012
+  c0-0.003,0.003-0.003,0.003-0.006c0.001-0.004-0.002-0.007,0.001-0.011c0,0,0.006-0.002,0.007-0.003
+  c0.005-0.003,0.012-0.008,0.016-0.012c0.008-0.009,0.014-0.021,0.019-0.032c0.003-0.006,0.004-0.013,0.006-0.018
+  c0.004-0.008,0.01-0.014,0.013-0.021c0.006-0.015,0.013-0.03,0.026-0.041c-0.101-0.249-0.203-0.497-0.304-0.746
+  c0,0-0.001,0-0.001-0.001c-0.014-0.013-0.029-0.014-0.046-0.004c-0.017,0.012-0.022-0.004-0.038-0.007
+  c-0.008-0.001-0.014,0-0.021,0.004c-0.002,0.002-0.004,0.004-0.006,0.005c-0.002,0.001-0.007,0.003-0.009,0.004
+  c-0.006,0.006-0.007,0.015-0.015,0.02c-0.009,0.006-0.01,0.002-0.017-0.002c-0.016-0.008-0.031,0.007-0.042,0.017
+  c-0.009,0.008-0.018,0.016-0.03,0.016c-0.01,0.001-0.012,0-0.019,0.005c-0.004,0.003-0.012,0.011-0.017,0.012
+  c-0.003,0-0.019-0.005-0.021-0.008c-0.008,0.003-0.016,0.007-0.024,0.01c-0.003,0.001-0.008,0.005-0.011,0.005
+  c-0.006,0.001-0.007-0.003-0.012-0.003c-0.005,0-0.014,0.008-0.019,0.01c-0.005,0.003-0.011,0.006-0.017,0.008
+  s-0.021,0.003-0.024,0.008c-0.001-0.01,0.005-0.015,0.009-0.023c0.005-0.009,0.007-0.019,0.012-0.028
+  c0.005-0.009,0.008-0.019,0.012-0.028c0.002-0.006,0.005-0.013,0.007-0.019c0.002-0.005,0.005-0.009,0.008-0.013
+  c0.001-0.004,0-0.008,0.001-0.012c0.003-0.011,0.011-0.02,0.014-0.031c0.003-0.01,0.007-0.019,0.009-0.028
+  c0.001-0.005,0.003-0.012,0.004-0.017c0.001-0.003,0.004-0.004,0.004-0.007c0.001-0.008-0.005-0.009-0.003-0.018
+  c0.001-0.006,0.008-0.012,0.007-0.018c-0.008-0.003-0.011,0.009-0.019,0.007c-0.003-0.008,0.006-0.022,0.008-0.03
+  c0.002-0.008,0.007-0.016,0.01-0.024c-0.011-0.005-0.014,0.007-0.023,0.007c-0.005,0.001-0.013-0.007-0.012-0.012
+  c0-0.003,0.004-0.006,0.005-0.008c0.005-0.008,0.014-0.015,0.018-0.024c0.004-0.009,0.006-0.019,0.01-0.028
+  c0.003-0.006,0.008-0.01,0.01-0.016c0.002-0.004,0.002-0.008,0.004-0.012c0.004-0.007,0.011-0.015,0.017-0.021
+  c0.012-0.011,0.026-0.024,0.04-0.034c0.01-0.008,0.017-0.012,0.021-0.025c0.003-0.009,0.004-0.019,0.007-0.028
+  c0.005-0.017,0.019-0.032,0.028-0.047c0-0.001,0.001-0.002,0.001-0.002c-0.01-0.024-0.019-0.048-0.029-0.071
+  c-0.012,0.003-0.024,0.007-0.036,0.009c-0.033,0.003-0.06,0.027-0.089,0.043c-0.021,0.011-0.04,0.022-0.058,0.038
+  c-0.009,0.007-0.016,0.016-0.025,0.022c-0.009,0.006-0.016,0.013-0.024,0.02c-0.007,0.005-0.012,0.013-0.019,0.021
+  c-0.009,0.01-0.018,0.019-0.029,0.027c-0.005,0.004-0.01,0.01-0.015,0.013c-0.008,0.005-0.018,0.01-0.025,0.016
+  c-0.004,0.004-0.002,0.006-0.004,0.011c-0.002,0.006-0.01,0.012-0.014,0.016c-0.012,0.014-0.026,0.022-0.041,0.032
+  c-0.006,0.004-0.017,0.009-0.021,0.015c-0.002,0.002-0.002,0.006-0.004,0.008c-0.003,0.003-0.007,0.004-0.01,0.006
+  c-0.011,0.008-0.015,0.022-0.025,0.031c-0.006,0.005-0.012,0.009-0.016,0.016c0.001-0.002-0.003,0.01-0.003,0.009
+  c-0.001,0.003,0,0.007-0.001,0.011c-0.002,0.012-0.013,0.03-0.023,0.037c-0.006,0.005-0.01,0.005-0.014,0.014
+  c-0.004,0.009-0.002,0.019-0.01,0.028c-0.008,0.01-0.016,0.019-0.025,0.029c-0.004,0.006-0.008,0.013-0.015,0.015
+  c-0.002-0.004,0-0.008,0.002-0.011c-0.007,0.003-0.007,0.012-0.015,0.017c-0.006,0.003-0.015,0.006-0.02,0.011
+  c-0.004,0.005-0.007,0.017,0,0.02c0.009,0.003,0.012-0.009,0.02-0.001c0.002,0.003-0.001,0.007,0.003,0.01
+  c0.005,0.003,0.003,0.001,0.009-0.001c0.006-0.001,0.011-0.008,0.016-0.009c0.008-0.001,0.011,0.008,0.016,0.011
+  c0.004,0.004,0.009,0.006,0.013,0.008c0.005,0.003,0.004,0.002,0.007,0.005c0.001,0.001,0.004,0.005,0.005,0.007
+  c0.003,0.004,0.007,0.007,0.01,0.01c0.005,0.006,0.006,0.009,0.013,0.014c0.003,0.002,0.01,0.007,0.012,0.009
+  c0.006,0.007,0.003,0.008,0,0.016c-0.001,0.003-0.001,0.006-0.003,0.009c-0.001,0.001-0.003,0.003-0.004,0.004
+  c-0.002,0.002-0.002,0.006-0.004,0.008c-0.001,0.001-0.003,0.003-0.004,0.004c-0.002,0.003-0.006,0.007-0.005,0.011
+  c0,0.002,0.001,0.004,0.003,0.005c0.003,0.014,0.009,0.025,0.009,0.039c0,0.015,0,0.028-0.015,0.037
+  c-0.006,0.004-0.013,0.002-0.02,0.004c-0.004,0.001-0.008,0.006-0.013,0.007c-0.008,0.002-0.012-0.001-0.02,0.004
+  c-0.007,0.004-0.011,0.004-0.02,0.004c-0.008,0-0.013,0-0.02-0.004c-0.007-0.004-0.008-0.005-0.016,0
+  c-0.012,0.007-0.022,0.015-0.035,0.021c-0.013,0.005-0.024,0.009-0.037,0.015c-0.004,0.002-0.008,0.004-0.012,0.007
+  c-0.008,0.004-0.01,0.007-0.015,0.013c-0.006,0.006-0.015,0.009-0.021,0.015c-0.006,0.007-0.009,0.016-0.015,0.022
+  c-0.012,0.01-0.029,0.006-0.039,0.016c-0.011,0.01-0.018,0.023-0.03,0.033c-0.005,0.005-0.01,0.006-0.015,0.009
+  c-0.005,0.004-0.008,0.007-0.013,0.012c-0.009,0.01-0.015,0.009-0.027,0.013c-0.006,0.002-0.01,0.008-0.015,0.012
+  c-0.012,0.012-0.02,0.025-0.03,0.038c-0.01,0.013-0.019,0.024-0.028,0.037c-0.004,0.007-0.006,0.011-0.007,0.019
+  c-0.001,0.003-0.003,0.005-0.004,0.009c0,0.004,0.001,0.008,0,0.012c-0.001,0.006-0.004,0.01-0.004,0.016
+  c0,0.004,0.001,0.007-0.001,0.011c-0.003,0.006-0.009,0.007-0.015,0.01c-0.016,0.007-0.024,0.01-0.032,0.027
+  c-0.003,0.008-0.007,0.016-0.012,0.024c-0.005,0.007-0.01,0.009-0.017,0.015c-0.006,0.005-0.007,0.011-0.011,0.017
+  c-0.004,0.004-0.01,0.008-0.014,0.013c-0.008,0.008-0.011,0.019-0.014,0.03c0.157,0.008,0.315,0.015,0.472,0.023
+  c0.297,0.375,0.594,0.75,0.891,1.125c-0.013,0.092-0.025,0.183-0.038,0.275c-0.505,0.161-1.213-0.164-1.514,0.484
+  c-0.301,0.649-0.023,0.006-0.022,0.016c0,0.005,0.006,0.009,0.007,0.013c0.002,0.005,0.001,0.01,0.001,0.015
+  c0,0.013-0.003,0.029,0.005,0.039c0.007,0.008,0.013,0.016,0.019,0.025c0.007,0.01,0.613,0.002,0.019,0.032
+  c-0.594,0.03,0.013,0.021,0.002,0.036c-0.005,0.007-0.012,0.012-0.016,0.02c-0.004,0.006-0.004,0.013-0.006,0.02
+  c-0.004,0.016-0.008,0.03-0.007,0.048c0.001,0.015,0.019,0.04-0.004,0.047c-0.008,0.002-0.016-0.001-0.024,0.003
+  c-0.007,0.004-0.012,0.008-0.02,0.01c-0.008,0.001-0.007-0.001-0.012,0.003c-0.001,0.001-0.003,0.006-0.005,0.008
+  c-0.003,0.004-0.008,0.007-0.012,0.012c-0.008,0.008-0.016,0.019-0.026,0.024c-0.01,0.006-0.019,0.002-0.029,0.004
+  c-0.007,0.002-0.01,0.005-0.02,0.004c-0.017-0.001-0.025-0.013-0.031-0.027c-0.008-0.018-0.012-0.033-0.025-0.047
+  c-0.004-0.004-0.009-0.009-0.01-0.014c-0.002-0.008-0.001-0.013-0.005-0.019c-0.008-0.013-0.02-0.019-0.032-0.027
+  c-0.013-0.009-0.025-0.019-0.04-0.024c-0.01-0.004-0.019-0.007-0.028-0.012s-0.015-0.004-0.024-0.006
+  c-0.015-0.004-0.036-0.006-0.052-0.003c-0.025,0.003-0.051,0.012-0.075,0.019c-0.012,0.003-0.037,0-0.037-0.015
+  c-0.01-0.001-0.016-0.004-0.028-0.004c-0.01,0-0.017-0.004-0.027-0.004c-0.011,0-0.018-0.004-0.028-0.004c-0.002,0-0.004,0-0.006,0
+  c-0.039,0.012-0.077,0.025-0.116,0.037c-0.003,0.006-0.005,0.014-0.009,0.02c-0.004,0.007-0.011,0.016-0.018,0.022
+  c-0.009,0.007-0.021,0.006-0.031,0.009c-0.008,0.003-0.006,0.005-0.008,0.012c-0.004,0.01-0.013,0.02-0.019,0.028
+  c-0.007,0.009-0.012,0.018-0.018,0.028c-0.002,0.003-0.004,0.007-0.006,0.011l0,0c0.004,0.006,0.007,0.014,0.006,0.02
+  c0,0.007-0.003,0.016-0.006,0.021c-0.004,0.008-0.01,0.012-0.016,0.019c-0.005,0.007-0.006,0.011-0.013,0.016
+  c-0.004,0.003-0.008,0.008-0.012,0.011c-0.005,0.003-0.012,0.004-0.015,0.01c-0.003,0.007,0.002,0.016-0.001,0.023
+  c-0.002,0.005-0.009,0.007-0.011,0.012c-0.002,0.005,0.001,0.011,0,0.016c-0.002,0.007-0.005,0.014-0.008,0.02
+  c-0.004,0.007-0.005,0.011-0.004,0.02c0,0.017,0.003,0.036-0.005,0.052c-0.006,0.014-0.01,0.029-0.015,0.044
+  c-0.006,0.015-0.013,0.028-0.017,0.043c-0.001,0.003-0.003,0.004-0.003,0.008c-0.001,0.004,0,0.009,0,0.013
+  c-0.001,0.003-0.003,0.006-0.004,0.008c0,0.004,0,0.008,0,0.011c-0.002,0.009-0.004,0.015-0.004,0.024v0.028
+  c0,0.02-0.003,0.036-0.009,0.055c-0.006,0.017-0.008,0.035-0.011,0.053c-0.002,0.008-0.006,0.015-0.004,0.024
+  c0.001,0.009,0.005,0.013,0.003,0.023c-0.001,0.002-0.003,0.006-0.003,0.009c-0.001,0.003,0,0.014-0.005,0.015
+  c-0.004,0.002-0.007-0.003-0.009-0.006c-0.002-0.006,0.001-0.006,0.002-0.013l-0.008,0.008c0.001-0.006-0.002-0.005-0.003-0.009
+  c-0.001-0.004-0.001-0.007-0.001-0.011c-0.001-0.007-0.004-0.015-0.007-0.021c-0.005-0.01-0.009-0.012-0.009-0.023
+  s-0.003-0.012-0.009-0.02c-0.005-0.007-0.008-0.011-0.006-0.019c0-0.003,0.008-0.02,0.002-0.024c-0.008-0.005-0.01,0.01-0.018,0.007
+  c-0.008-0.004-0.005-0.017-0.005-0.024c0-0.008,0-0.016,0-0.024c0-0.009,0.004-0.014,0.004-0.024c0-0.009,0.001-0.011,0.005-0.019
+  c0.004-0.007,0.003-0.015,0.003-0.025c0-0.008-0.005-0.012-0.004-0.019c0-0.009,0.007-0.016,0.008-0.024
+  c0.001-0.009-0.002-0.02,0-0.029c0.001-0.003,0.004-0.004,0.004-0.007c0.001-0.005-0.002-0.007-0.003-0.011
+  c0.003-0.002,0.005-0.011,0.006-0.014c0.001-0.006,0.002-0.013,0-0.019c-0.013,0.006-0.031,0.009-0.04,0.023
+  c-0.006,0.007-0.009,0.015-0.011,0.025c-0.002,0.011-0.01,0.02-0.012,0.032c-0.002,0.009-0.001,0.017-0.005,0.027
+  c-0.004,0.009-0.013,0.013-0.019,0.02c-0.005,0.006-0.003,0.01-0.005,0.017c-0.001,0.004-0.005,0.007-0.008,0.01
+  c-0.006,0.007-0.011,0.012-0.014,0.02c0.009,0.005-0.003,0.022-0.009,0.026c-0.005,0.004-0.009,0.005-0.012,0.011
+  c-0.002,0.005-0.002,0.011-0.005,0.016c-0.007,0.012-0.014,0.024-0.019,0.037c-0.005,0.014-0.007,0.029-0.013,0.043
+  c-0.003,0.008,0.002,0.008,0.002,0.016c0,0.011-0.011,0.008-0.016,0.013c-0.008,0.007-0.007,0.017-0.016,0.023
+  c-0.01,0.005-0.026,0.003-0.032-0.008c-0.003-0.005,0-0.015-0.001-0.02c0-0.009-0.002-0.015-0.005-0.023
+  c-0.002-0.006-0.002-0.011-0.003-0.017c-0.002-0.007-0.007-0.013-0.008-0.02c-0.001-0.008,0-0.012-0.004-0.02
+  c-0.003-0.004-0.01-0.012-0.011-0.017c-0.001-0.012,0.008-0.022,0.008-0.035c-0.001-0.014-0.008-0.024-0.011-0.037
+  c-0.003-0.01-0.002-0.025,0.006-0.032c0.008-0.006,0.026-0.005,0.028-0.018c0.001-0.007-0.006-0.015-0.009-0.02
+  c-0.003-0.008-0.001-0.013-0.002-0.021c-0.001-0.007-0.007-0.007,0.001-0.015c0.004-0.005,0.007-0.004,0.014-0.005
+  c0.002-0.008,0.001-0.012-0.005-0.018c-0.001-0.001-0.006-0.005-0.006-0.006c0-0.004,0.004-0.003,0.005-0.006
+  c0.001-0.005,0.002-0.006,0.003-0.012c0-0.004-0.002-0.01-0.001-0.013c0.002-0.007,0.009-0.013,0.013-0.019
+  c-0.005,0.004-0.011,0.013-0.014,0.019c-0.006,0.01-0.011,0.019-0.014,0.031c-0.001,0.01,0.005,0.03-0.008,0.033
+  c-0.009,0.002-0.019-0.002-0.028,0c0.007,0.007-0.007,0.017-0.012,0.024c-0.005,0.008-0.009,0.017-0.015,0.025
+  c-0.008,0.011-0.023,0.021-0.03,0.033c-0.004,0.007-0.006,0.026-0.018,0.026c0,0.014-0.035,0.019-0.044,0.027
+  c-0.008,0.007-0.011,0.016-0.021,0.02c-0.005,0.003-0.019,0.006-0.016,0.014c-0.009,0.007-0.013,0.022-0.019,0.032
+  c-0.01,0.018-0.017,0.041-0.03,0.057c-0.002,0.004-0.005,0.005-0.007,0.009c-0.002,0.003-0.003,0.007-0.005,0.011
+  c-0.008,0.013-0.02,0.016-0.034,0.021c-0.012,0.005-0.026,0.002-0.038,0.007c-0.009,0.004-0.012,0.01-0.018,0.017
+  c-0.004,0.004-0.005,0.005-0.013,0.004c-0.005-0.001-0.008-0.001-0.008-0.007c-0.198,0.776-0.304,1.59-0.304,2.428
+  c0,5.385,4.365,9.75,9.75,9.75s9.75-4.365,9.75-9.75C-15.25,49.098-15.794,47.324-16.736,45.824z M-17.781,55.174
+  c0.006,0.002,0.007,0.007,0.004,0.011c-0.003,0.005-0.005,0.009-0.007,0.014c-0.008,0.015-0.022,0.028-0.018,0.048
+  c0.002,0.015,0.013-0.002,0.018-0.007c0.008-0.008,0.014-0.017,0.023-0.024c0.008-0.006,0.018-0.008,0.027-0.015
+  c0.007-0.005,0.014-0.01,0.02-0.016c0.007-0.005,0.012-0.011,0.019-0.016c0.007-0.005,0.014-0.01,0.021-0.016
+  c0.005-0.005,0.009-0.01,0.013-0.016c0.004-0.004,0.008-0.006,0.012-0.011c0.007-0.009,0.014-0.018,0.026-0.02
+  c0.008-0.002,0.016-0.002,0.023-0.003c0.016-0.003,0.031-0.01,0.044-0.02c0.004-0.003,0.008-0.008,0.013-0.011
+  c0.006-0.003,0.011-0.005,0.016-0.009c0.006-0.004,0.013-0.009,0.02-0.011c0.004-0.001,0.01-0.002,0.014-0.004
+  c0.005-0.002,0.008-0.008,0.011-0.013c0.009-0.014,0.027-0.02,0.041-0.029c0.009-0.006,0.017-0.015,0.023-0.024
+  c0.006-0.008,0.011-0.017,0.019-0.023c0.017-0.015,0.034-0.03,0.054-0.042c0.007-0.004,0.015-0.011,0.02-0.019
+  c0.004-0.008,0.006-0.017,0.009-0.025c0.007-0.016,0.017-0.033,0.029-0.045c0.016-0.016,0.036-0.027,0.054-0.04
+  c0.005-0.005,0.011-0.008,0.017-0.012c0.005-0.004,0.008-0.009,0.012-0.013c0.01-0.01,0.013-0.024,0.02-0.036
+  c0.006-0.01,0.012-0.02,0.02-0.029c0.005-0.005,0.01-0.012,0.014-0.018c-0.017,0.004-0.027,0.013-0.036,0.026
+  c-0.002,0.002-0.005,0.005-0.007,0.007c-0.003,0.003-0.004,0.007-0.007,0.011c-0.006,0.008-0.015,0.013-0.022,0.02
+  c-0.009,0.009-0.016,0.019-0.024,0.028s-0.016,0.019-0.024,0.029c-0.004,0.004-0.007,0.009-0.012,0.013
+  c-0.004,0.004-0.009,0.007-0.013,0.011c-0.007,0.009-0.017,0.018-0.027,0.023c-0.003,0.002-0.011,0.005-0.015,0.003
+  c-0.003-0.003,0-0.006,0.001-0.009c0.004-0.01,0.008-0.018,0.015-0.025c0.007-0.006,0.013-0.015,0.019-0.022
+  c0.005-0.007,0.012-0.012,0.018-0.018c0.013-0.016,0.031-0.028,0.045-0.044c0.007-0.007,0.013-0.016,0.02-0.024
+  c0.006-0.008,0.013-0.016,0.019-0.024c0.005-0.006,0.009-0.013,0.014-0.02l-0.003,0.007c0.005-0.002,0.012-0.013,0.009-0.018
+  c-0.003,0.001-0.005,0.002-0.009,0.002c-0.004,0-0.005,0.001-0.009,0.004c-0.015,0.011-0.028,0.028-0.045,0.039
+  c-0.009,0.006-0.019,0.012-0.027,0.019c-0.007,0.005-0.012,0.012-0.019,0.018c-0.013,0.01-0.024,0.021-0.036,0.033
+  c-0.005,0.005-0.01,0.01-0.016,0.014c-0.005,0.003-0.008,0.002-0.014,0.002c-0.008,0.001-0.018,0.012-0.023,0.018
+  c-0.01,0.013-0.024,0.023-0.036,0.034c-0.002,0.003-0.007,0.006-0.008,0.01c-0.001,0.004-0.001,0.002,0.002,0.004
+  c0.003,0.004,0.005,0.003,0.004,0.01c0,0.003-0.003,0.013-0.007,0.013c-0.003,0.001-0.004-0.003-0.006-0.005
+  c-0.002-0.001-0.005-0.001-0.007-0.002c-0.002-0.002-0.002-0.004-0.005-0.004s-0.006,0.005-0.007,0.007
+  c-0.004,0.004-0.01,0.006-0.016,0.009c-0.004,0.003-0.013,0.004-0.013,0.011c0,0.005,0.006,0.006,0.005,0.011
+  c-0.001,0.005-0.006,0.005-0.009,0.007c-0.006,0.004-0.011,0.01-0.016,0.014c-0.016,0.015-0.028,0.032-0.043,0.047
+  c-0.006,0.007-0.013,0.012-0.019,0.019c-0.004,0.005-0.008,0.011-0.014,0.015c-0.008,0.007-0.016,0.014-0.027,0.017
+  c-0.007,0.003-0.014,0.005-0.021,0.008c-0.007,0.004-0.011,0.008-0.017,0.013c-0.007,0.007-0.016,0.012-0.023,0.017
+  c-0.016,0.013-0.032,0.027-0.049,0.038c-0.005,0.004-0.008,0.004-0.013,0.007c-0.011,0.005-0.02,0.014-0.03,0.021
+  c-0.015,0.011-0.032,0.02-0.045,0.033c-0.004,0.004-0.013,0.015-0.011,0.021c0.001,0.004,0.006,0.006,0.009,0.005
+  c0.004-0.001,0.009-0.007,0.012-0.01c0.001-0.001,0.006-0.006,0.008-0.003C-17.778,55.171-17.779,55.173-17.781,55.174z
+  M-17.109,54.626c0,0.004-0.001,0.011,0.003,0.014c0.002,0.001,0.01,0,0.013-0.001c0.009-0.002,0.019-0.008,0.025-0.015
+  c0.004-0.005,0.005-0.013,0.009-0.019c0.005-0.007,0.009-0.015,0.013-0.022c0.007-0.011,0.013-0.022,0.02-0.033
+  c0.01-0.015,0.022-0.029,0.03-0.044c0.018-0.032,0.031-0.067,0.051-0.097c0.019-0.029,0.04-0.056,0.059-0.085
+  c0.009-0.015,0.022-0.029,0.03-0.045c0.004-0.01,0.02-0.035,0.011-0.046c-0.01-0.013-0.031,0.024-0.034,0.029
+  c-0.014,0.017-0.026,0.034-0.039,0.051c-0.005,0.005-0.007,0.012-0.012,0.018c-0.002,0.004-0.003,0.007-0.005,0.011
+  c-0.001,0.003-0.004,0.005-0.005,0.008c-0.002,0.003-0.003,0.005-0.005,0.008c-0.003,0.003-0.005,0.006-0.007,0.009
+  c-0.005,0.007-0.01,0.014-0.014,0.021c-0.006,0.01-0.013,0.019-0.018,0.029c-0.005,0.008-0.011,0.015-0.016,0.023
+  c-0.006,0.01-0.015,0.019-0.021,0.029c-0.004,0.01-0.009,0.018-0.011,0.028c-0.008,0.028-0.03,0.05-0.046,0.073
+  c-0.007,0.011-0.017,0.02-0.024,0.031h-0.001c0.001-0.001,0.001-0.003,0.001-0.004l-0.005,0.011
+  c-0.001,0.001-0.001,0.002-0.002,0.002c0,0.001,0,0.002,0,0.003l0.002-0.005c0.001-0.002,0.003-0.004,0.004-0.007
+  C-17.104,54.61-17.108,54.618-17.109,54.626z M-17.08,54.48c0.01-0.013,0.024-0.024,0.032-0.038c0.01-0.017,0.017-0.035,0.025-0.052
+  c0.005-0.01,0.009-0.019,0.012-0.029c0.003-0.009,0.005-0.018,0.009-0.026c0.007-0.014,0.014-0.031,0.026-0.043
+  c0.004-0.004,0.007-0.006,0.01-0.01c0.003-0.005,0.005-0.011,0.009-0.016c0.004-0.006,0.01-0.012,0.014-0.017
+  c0.006-0.008,0.013-0.015,0.018-0.022c0.007-0.009,0.014-0.018,0.021-0.026c0.004-0.007,0.012-0.02,0.011-0.028
+  c-0.002,0.002-0.003,0.003-0.006,0.005c-0.006,0.004-0.016,0.004-0.022,0.009c-0.003,0.003-0.005,0.006-0.008,0.008
+  c-0.007,0.004-0.013,0.011-0.019,0.016c-0.007,0.007-0.012,0.015-0.019,0.021c-0.003,0.003-0.007,0.007-0.01,0.01
+  c-0.008,0.009-0.014,0.019-0.021,0.028c-0.009,0.012-0.02,0.022-0.029,0.034c-0.008,0.008-0.015,0.015-0.023,0.023
+  c-0.007,0.007-0.013,0.016-0.021,0.022c-0.008,0.006-0.015,0.014-0.022,0.021c-0.006,0.007-0.011,0.013-0.018,0.019
+  c-0.006,0.006-0.013,0.012-0.019,0.019c-0.004,0.005-0.009,0.008-0.013,0.014c-0.005,0.006-0.01,0.012-0.016,0.017
+  c-0.007,0.006-0.014,0.011-0.021,0.017c-0.005,0.004-0.008,0.009-0.014,0.012c-0.008,0.004-0.022,0.008-0.026,0.017
+  c-0.003,0.009-0.005,0.017-0.01,0.025c-0.006,0.011-0.011,0.021-0.019,0.031c-0.008,0.01-0.018,0.02-0.026,0.03
+  c-0.009,0.011-0.018,0.022-0.026,0.034c-0.003,0.005-0.005,0.01-0.008,0.014c-0.002,0.003-0.005,0.005-0.006,0.007
+  c-0.002,0.003-0.002,0.007-0.005,0.01c-0.002,0.001-0.005,0.002-0.007,0.004c-0.001,0.001-0.002,0.004-0.004,0.005
+  c-0.005,0.004-0.009,0.008-0.013,0.013c-0.003,0.004-0.007,0.007-0.011,0.011c-0.002,0.004-0.004,0.008-0.008,0.011
+  c-0.005,0.004-0.012,0.004-0.017,0.007c-0.013,0.01-0.02,0.026-0.034,0.035c-0.011,0.008-0.013,0.02-0.023,0.03
+  c-0.006,0.006-0.012,0.01-0.018,0.016c-0.003,0.003-0.012,0.01-0.013,0.015c-0.001,0.005,0.003,0.007,0.003,0.011h-0.001h0.001
+  c0.001,0.001,0.003,0,0.004-0.002c0.002-0.001,0.005-0.003,0.007-0.005c0.005-0.004,0.008-0.005,0.013-0.006
+  c0.003-0.001,0.007-0.003,0.009-0.005c0.005-0.004,0.009-0.007,0.014-0.009c0.022-0.012,0.04-0.031,0.057-0.048
+  c0.014-0.014,0.03-0.026,0.045-0.038c0.021-0.015,0.041-0.033,0.064-0.046c0.023-0.014,0.042-0.035,0.063-0.051
+  c0.02-0.017,0.04-0.034,0.059-0.052C-17.113,54.515-17.094,54.499-17.08,54.48z M-20.326,56.962c0.008,0.008,0.02,0.009,0.031,0.011
+  c0.004,0.001,0.008,0.001,0.011,0.002c0.001-0.007,0.004-0.009,0.006-0.016c0.006-0.022-0.02-0.036-0.037-0.032
+  c-0.004,0.001-0.013,0.003-0.018,0.007c0.001,0.005-0.001,0.012,0.001,0.018c0,0,0.001,0,0.001,0.001h0.031
+  C-20.309,56.958-20.317,56.961-20.326,56.962z M-16.279,52.758c-0.003,0.011-0.009,0.027-0.014,0.037
+  c-0.01,0.02-0.024,0.034-0.038,0.05c-0.01,0.011-0.027,0.034-0.042,0.028c0.006-0.009,0.007-0.018,0.007-0.029
+  c0.001-0.019,0.003-0.036,0.006-0.056c0.002-0.009-0.001-0.018,0-0.027c0-0.009,0.002-0.013,0.004-0.02
+  c0.002-0.008,0-0.015,0.001-0.022c0.001-0.009,0.004-0.014,0.006-0.022c0.005-0.022,0.006-0.045,0.017-0.065
+  c0.004-0.008,0.012-0.024,0.021-0.027c0.015-0.006,0.025,0.015,0.027,0.027c0.006,0.026,0.002,0.055,0.01,0.081
+  c0.003,0.011-0.003,0.017-0.005,0.028C-16.28,52.746-16.278,52.752-16.279,52.758z M-16.376,52.871
+  c0.001,0.001,0.002,0.002,0.003,0.002c-0.001,0.001-0.002,0.002-0.003,0.004V52.871z M-16.881,54.798
+  c-0.002,0.003-0.004,0.007-0.006,0.011c-0.003,0.005-0.008,0.007-0.01,0.011c-0.014,0.019-0.025,0.036-0.041,0.052
+  c-0.009,0.009-0.024,0.02-0.026,0.034v-0.021c0.012-0.01,0.016-0.025,0.021-0.038c0.003-0.007,0.007-0.01,0.01-0.016
+  c0.007-0.012,0.007-0.022,0.017-0.032c0.012-0.013,0.017-0.026,0.025-0.043c0.006-0.014,0.018-0.025,0.024-0.039
+  c0.003-0.007,0-0.01,0.006-0.015c0.011,0.016,0.008,0.045-0.001,0.062C-16.868,54.775-16.875,54.786-16.881,54.798z M-16.936,54.754
+  c-0.019,0.042-0.028,0.087-0.055,0.125c-0.011,0.015-0.021,0.027-0.029,0.044c-0.004,0.009-0.008,0.017-0.011,0.026
+  c-0.003,0.009-0.005,0.019-0.008,0.028c-0.007,0.022-0.015,0.04-0.029,0.059c-0.006,0.009-0.024,0.044-0.037,0.044
+  c0-0.001,0-0.001,0-0.002l-0.012,0.008c0.003-0.021,0.022-0.043,0.032-0.061c0.007-0.013,0.012-0.03,0.017-0.044
+  c0.009-0.02,0.02-0.037,0.029-0.057c0.013-0.027,0.033-0.048,0.042-0.077c0.004-0.011,0.005-0.022,0.01-0.033
+  c0.004-0.011,0.012-0.021,0.016-0.033c0.004-0.01,0.005-0.021,0.008-0.031c0.004-0.012,0.011-0.022,0.015-0.034
+  c0.006-0.017,0.008-0.036,0.015-0.055c0.007-0.017,0.015-0.031,0.025-0.047c0.006-0.011,0.027-0.04,0.031-0.012
+  c0.004,0.026-0.017,0.048-0.026,0.071C-16.914,54.7-16.923,54.727-16.936,54.754z M-17.041,54.825
+  c-0.007,0.028-0.023,0.052-0.033,0.079c-0.007,0.017-0.012,0.036-0.021,0.053c-0.009,0.019-0.023,0.036-0.032,0.056
+  c-0.01,0.018-0.017,0.038-0.028,0.055c-0.009,0.016-0.018,0.03-0.025,0.047c-0.013,0.028-0.033,0.053-0.046,0.08
+  c-0.007,0.018-0.015,0.036-0.022,0.055c-0.008,0.019-0.028,0.035-0.036,0.055c-0.004,0.01-0.006,0.017-0.013,0.025
+  c-0.005,0.004-0.019,0.022-0.021,0.007V55.32c0.001-0.053,0.038-0.097,0.064-0.141c0.006-0.01,0.009-0.019,0.013-0.028
+  c0.005-0.008,0.011-0.013,0.017-0.021c0.006-0.009,0.011-0.018,0.015-0.028c0.005-0.014,0.006-0.027,0.013-0.04
+  c0.005-0.01,0.015-0.017,0.02-0.026c0.004-0.008,0.004-0.013,0.006-0.021c0.004-0.01,0.011-0.023,0.016-0.032
+  c0.007-0.012,0.016-0.021,0.023-0.033c0.008-0.015,0.015-0.03,0.026-0.043c0.015-0.021,0.022-0.041,0.028-0.066
+  c0.002-0.009,0.007-0.018,0.011-0.027c0.004-0.011,0.003-0.026,0.013-0.034c0.009-0.007,0.023-0.007,0.023,0.007
+  c0,0.001-0.004,0.014-0.005,0.016C-17.037,54.81-17.039,54.818-17.041,54.825z M-17.292,55.364c0.006-0.01,0.009-0.02,0.016-0.029
+  c0.007-0.009,0.015-0.016,0.022-0.026c0.01-0.015,0.027-0.024,0.038-0.039c0.007-0.009,0.012-0.022,0.019-0.032
+  c0.005-0.006,0.011-0.01,0.015-0.016c0.005-0.005,0.012-0.012,0.015-0.017c0.01-0.014,0.015-0.03,0.023-0.044
+  c0.012-0.022,0.032-0.037,0.044-0.059c0.014-0.026,0.025-0.05,0.041-0.075c0.008-0.012,0.018-0.021,0.026-0.033
+  c0.007-0.013,0.013-0.036,0.024-0.045c0.012-0.009,0.013-0.001,0.012,0.012c0,0.016-0.007,0.029-0.015,0.043
+  c-0.014,0.027-0.03,0.055-0.043,0.082c-0.007,0.013-0.011,0.026-0.018,0.038c-0.004,0.007-0.008,0.016-0.012,0.023
+  c-0.005,0.006-0.01,0.007-0.014,0.015c-0.013,0.025-0.025,0.045-0.045,0.066c-0.012,0.013-0.019,0.027-0.028,0.042
+  c-0.009,0.015-0.022,0.026-0.032,0.039c-0.015,0.02-0.027,0.041-0.043,0.06c-0.014,0.016-0.026,0.031-0.038,0.049
+  c-0.011,0.016-0.024,0.029-0.032,0.045c-0.008,0.018-0.017,0.036-0.029,0.052c-0.01,0.012-0.021,0.022-0.03,0.035
+  c-0.014,0.017-0.03,0.034-0.041,0.053c-0.008,0.012-0.013,0.025-0.019,0.038c-0.006,0.012-0.014,0.02-0.02,0.032
+  c-0.003,0.007-0.007,0.014-0.01,0.021c-0.004,0.007-0.006,0.017-0.01,0.025v-0.001l-0.011-0.011
+  c0.002-0.001,0.003-0.001,0.005-0.002c0-0.007,0.005-0.018,0.007-0.024c0.005-0.015,0.021-0.028,0.028-0.042
+  c0.011-0.022,0.019-0.044,0.033-0.063c0.004-0.007,0.009-0.015,0.014-0.021c0.006-0.006,0.013-0.01,0.018-0.017
+  c0.013-0.018,0.018-0.042,0.03-0.06c0.013-0.02,0.028-0.036,0.035-0.059C-17.31,55.4-17.303,55.382-17.292,55.364z M-17.472,55.592
+  c-0.009,0.016-0.017,0.031-0.024,0.048c-0.006,0.014-0.015,0.021-0.022,0.034c-0.009,0.016-0.013,0.034-0.019,0.052
+  c-0.006,0.018-0.018,0.034-0.027,0.051c-0.006,0.012-0.015,0.022-0.022,0.033c-0.005,0.007-0.008,0.015-0.014,0.022
+  c-0.004,0.006-0.009,0.01-0.013,0.016c-0.019,0.025-0.037,0.041-0.064,0.055c-0.014,0.006-0.028,0.01-0.043,0.014
+  c-0.024,0.006-0.039,0.02-0.059,0.031c-0.013,0.006-0.026,0.012-0.039,0.018c-0.013,0.006-0.026,0.011-0.039,0.014
+  c-0.009,0.003-0.018,0.008-0.027,0.01c-0.007,0.001-0.015-0.002-0.022-0.001s-0.015,0.005-0.022,0.007
+  C-17.942,56.001-17.955,56-17.971,56l-0.011-0.016c-0.006,0.008-0.024,0.007-0.032,0.006c-0.008-0.002-0.013-0.005-0.021-0.006
+  s-0.014,0.001-0.022-0.001c-0.01-0.002-0.024-0.006-0.03-0.015c-0.004-0.006-0.009-0.026-0.008-0.033
+  c0.001-0.016,0.021-0.039,0.033-0.049c0.008-0.007,0.021-0.009,0.031-0.015c0.011-0.006,0.02-0.013,0.029-0.022
+  c0.006-0.006,0.012-0.011,0.02-0.016c0.004-0.002,0.012-0.008,0.017-0.007c0.005,0,0.005,0.005,0.01,0.006
+  c0.011,0.003,0.024-0.004,0.033-0.01c0.009-0.006,0.016-0.009,0.026-0.013c0.016-0.007,0.036-0.021,0.056-0.016
+  c0.01,0.003,0.015,0.006,0.027,0.006c0.014,0,0.024,0.006,0.038,0.005c0.012,0,0.02,0.004,0.031,0.007
+  c0.007,0.002,0.003,0.004,0.012,0.003c0.006,0,0.01-0.004,0.017-0.004c0.011-0.001,0.019,0.001,0.028-0.004
+  c0.01-0.005,0.018-0.011,0.028-0.017c0.016-0.009,0.032-0.022,0.047-0.035c0.016-0.013,0.026-0.034,0.042-0.049
+  c0.016-0.014,0.025-0.028,0.039-0.044c0.012-0.014,0.019-0.03,0.029-0.047c0.011-0.017,0.013-0.04,0.025-0.056
+  c0.006-0.009,0.036-0.043,0.044-0.042c0.006,0.013-0.008,0.028-0.014,0.038C-17.455,55.567-17.465,55.579-17.472,55.592z
+  M-18.013,56.088c0.011-0.001,0.025,0.002,0.037,0c0.015-0.003,0.03-0.015,0.043-0.022c0.007-0.004,0.011-0.009,0.018-0.002
+  c0.01,0.01,0.001,0.019-0.007,0.026c-0.014,0.012-0.029,0.023-0.043,0.031c-0.008,0.005-0.042,0.033-0.044,0.015l0.002-0.005
+  c-0.016,0.001-0.034-0.006-0.051-0.005c-0.013,0-0.047-0.01-0.044-0.028c0.004-0.018,0.04-0.025,0.054-0.02
+  C-18.034,56.082-18.029,56.088-18.013,56.088z M-18.048,56.206c0.02-0.008,0.045-0.013,0.066-0.01
+  c0.013,0.002,0.012,0.002,0.007,0.012c-0.005,0.01-0.01,0.018-0.018,0.025c-0.015,0.013-0.033,0.012-0.049,0.022
+  c-0.006,0.003-0.009,0.01-0.015,0.014c-0.007,0.004-0.013,0.003-0.022,0.005c-0.001,0.002-0.003,0.004-0.006,0.004
+  c-0.006,0.002-0.011,0-0.017,0.001c-0.003,0.001-0.01,0.002-0.015,0.003l0.004-0.004c-0.015,0.002-0.05-0.02-0.049-0.038
+  c0-0.011,0.014-0.02,0.023-0.024c0.008-0.002,0.016-0.003,0.025-0.004c0.01,0,0.007,0.004,0.014,0.005
+  C-18.08,56.221-18.066,56.213-18.048,56.206z M-18.259,56.168c-0.008,0.003-0.015,0.01-0.022,0.012
+  c-0.009,0.003-0.026,0.002-0.033,0.011l0.006-0.011c-0.005-0.023,0.023-0.051,0.038-0.066c0.006-0.005,0.015-0.011,0.021-0.016
+  c0.011-0.007,0.013-0.016,0.022-0.025c0.007-0.006,0.014-0.007,0.021-0.013c0.006-0.004,0.011-0.012,0.016-0.018
+  c0.006-0.006,0.024-0.03,0.034-0.026c0.023,0.009-0.045,0.111-0.059,0.126C-18.228,56.156-18.242,56.16-18.259,56.168z
+  M-18.196,55.957c-0.007,0.017-0.013,0.039-0.024,0.055c-0.011,0.015-0.027,0.018-0.041,0.03c-0.009,0.009-0.018,0.016-0.027,0.025
+  c-0.011,0.011-0.017,0.025-0.031,0.015l0.005-0.011c-0.001,0-0.003,0-0.005-0.001c0.001-0.01,0.009-0.018,0.015-0.026
+  c0.012-0.018,0.024-0.036,0.038-0.053c0.004-0.004,0.008-0.009,0.013-0.013c0.003-0.004,0.003-0.01,0.006-0.015
+  c0.005-0.007,0.014-0.01,0.019-0.017c0.014-0.018,0.014-0.036,0.035-0.049c0.005-0.003,0.024-0.02,0.031-0.016
+  c0.008,0.007-0.007,0.022-0.009,0.027C-18.178,55.925-18.188,55.94-18.196,55.957z M-18.255,56.79c0.002,0.007,0.003,0.018,0,0.025
+  c-0.003,0.008-0.013,0.011-0.009,0.022c0.02-0.006,0.027-0.032,0.039-0.046c0.005-0.008,0.014-0.012,0.02-0.019
+  c0.012-0.013,0.016-0.033,0.026-0.048c0.011-0.019,0.029-0.036,0.049-0.045c0.008-0.003,0.02-0.005,0.027-0.011
+  c0.004-0.002,0.007-0.01,0.012-0.01c0.008,0.001,0.007,0.012,0.006,0.018c-0.003,0.01-0.008,0.021-0.011,0.032
+  c-0.004,0.009-0.01,0.022-0.011,0.033c-0.004,0.024-0.011,0.044-0.028,0.063c-0.01,0.011-0.021,0.023-0.028,0.036
+  c-0.008,0.014-0.012,0.025-0.027,0.035c-0.012,0.008-0.049,0.035-0.063,0.028c0.001-0.012,0.027-0.021,0.036-0.028
+  c0.005-0.004,0.01-0.01,0.013-0.015c0.004-0.004,0.014-0.015,0.015-0.02c-0.012-0.006-0.026,0.005-0.036,0.011
+  c-0.013,0.007-0.025,0.014-0.036,0.024c-0.01,0.01-0.022,0.019-0.032,0.029c-0.005,0.004-0.01,0.007-0.014,0.012
+  c-0.006,0.007-0.006,0.018-0.012,0.025c-0.009,0.011-0.02,0.018-0.022,0.034c-0.001,0.006,0.002,0.014-0.001,0.02
+  c-0.003,0.005-0.011,0.009-0.015,0.012c-0.014,0.01-0.025,0.018-0.035,0.032c-0.007,0.01-0.014,0.022-0.025,0.03
+  c-0.018,0.012-0.046,0.026-0.053,0.048c-0.003,0.007-0.002,0.011-0.006,0.017c-0.003,0.005-0.009,0.01-0.012,0.015
+  c-0.008,0.011-0.014,0.024-0.021,0.034c-0.017,0.021-0.044,0.036-0.066,0.051c-0.009,0.006-0.016,0.015-0.023,0.022
+  c-0.005,0.004-0.011,0.007-0.016,0.011c0.007-0.009,0.008-0.021,0.012-0.031c0.004-0.011,0.006-0.022,0.011-0.033
+  c0.007-0.016,0.013-0.034,0.022-0.049c0.005-0.009,0.003-0.012,0.005-0.022c0.001-0.006,0.006-0.012,0.009-0.018
+  c0.005-0.009,0.01-0.017,0.017-0.026c0.009-0.015,0.023-0.024,0.034-0.037c0.007-0.01,0.015-0.021,0.023-0.032
+  c0.008-0.011,0.02-0.015,0.031-0.023c0.013-0.009,0.022-0.021,0.031-0.034c0.003-0.004,0.005-0.005,0.007-0.009
+  c0.003-0.006,0.003-0.016,0.007-0.021c0.006-0.007,0.015-0.009,0.022-0.016c0.008-0.009,0.01-0.017,0.016-0.027
+  c0.007-0.012,0.02-0.018,0.027-0.029c0.01-0.012,0.017-0.018,0.03-0.028C-18.291,56.817-18.276,56.799-18.255,56.79z
+  M-18.624,57.274c0.001,0,0.002-0.001,0.003-0.002c-0.001,0.002-0.003,0.004-0.003,0.007V57.274z M-18.13,56.418
+  c-0.021,0.014-0.052,0.017-0.071,0.035l-0.009,0.01c-0.009-0.012-0.014-0.014-0.005-0.027c0.012-0.016,0.028-0.03,0.043-0.044
+  c0.021-0.021,0.044-0.035,0.07-0.049c0.011-0.007,0.019-0.016,0.03-0.022c0.012-0.006,0.025-0.008,0.036-0.016
+  c0.01-0.008,0.022-0.019,0.031-0.028c0.006-0.007,0.033-0.055,0.04-0.037c0.004,0.01-0.011,0.029-0.016,0.038
+  c-0.008,0.017-0.015,0.03-0.028,0.044c-0.018,0.017-0.037,0.034-0.056,0.048c-0.01,0.008-0.019,0.018-0.03,0.024
+  C-18.107,56.401-18.118,56.41-18.13,56.418z M-17.835,56.051c0.012-0.008,0.022-0.019,0.032-0.027
+  c0.013-0.01,0.026-0.019,0.039-0.028c0.009-0.006,0.017-0.012,0.025-0.019c0.013-0.009,0.026-0.019,0.036-0.031
+  c0.011-0.012,0.021-0.031,0.037-0.037c0.022-0.01,0.017,0.015,0.009,0.026c-0.01,0.016-0.02,0.034-0.033,0.048
+  c-0.011,0.013-0.022,0.022-0.035,0.032c-0.013,0.011-0.022,0.022-0.034,0.034c-0.012,0.013-0.027,0.02-0.039,0.032
+  c-0.009,0.008-0.017,0.017-0.026,0.024c-0.01,0.009-0.021,0.015-0.029,0.026c-0.008,0.012-0.016,0.027-0.031,0.033l-0.005-0.006
+  c-0.012,0.003-0.032-0.006-0.034-0.018c-0.005-0.027,0.026-0.05,0.044-0.063C-17.864,56.066-17.85,56.06-17.835,56.051z
+  M-17.847,56.169c0.005-0.008,0.011-0.015,0.018-0.021c0.013-0.011,0.024-0.022,0.036-0.033c0.011-0.01,0.025-0.019,0.035-0.031
+  c0,0.017-0.013,0.035-0.023,0.048c-0.012,0.017-0.017,0.035-0.032,0.049c-0.006,0.005-0.01,0.011-0.015,0.017
+  c-0.007,0.008-0.01,0.006-0.018,0.009c-0.019,0.008-0.021,0.013-0.022,0.033l-0.011-0.011l-0.001,0.003
+  c-0.008-0.006,0.006-0.031,0.012-0.038C-17.861,56.185-17.853,56.179-17.847,56.169z M-17.809,56.229
+  c0.012-0.01,0.023-0.022,0.034-0.033c0.009-0.008,0.011-0.017,0.018-0.026c0.008-0.012,0.022-0.021,0.031-0.034
+  c0.003-0.004,0.01-0.017,0.016-0.016c0.012,0,0.004,0.02,0.002,0.026c-0.004,0.011-0.008,0.026-0.015,0.036
+  c-0.007,0.01-0.017,0.016-0.025,0.025c-0.013,0.017-0.026,0.032-0.042,0.045c-0.02,0.017-0.038,0.036-0.061,0.048l0.005-0.017
+  C-17.873,56.28-17.814,56.233-17.809,56.229z M-17.71,56.066l-0.005,0.011c-0.021-0.023-0.007-0.047,0.011-0.064
+  c0.015-0.016,0.032-0.03,0.048-0.045c0.018-0.016,0.036-0.032,0.052-0.049c0.011-0.011,0.02-0.022,0.03-0.033
+  c0.019-0.02,0.03-0.045,0.048-0.065c0.03-0.036,0.067-0.076,0.087-0.12c0.004-0.009,0.009-0.018,0.013-0.027
+  c0.008-0.016,0.017-0.033,0.026-0.048c0.004-0.006,0.038-0.051,0.048-0.044c0.014,0.009-0.017,0.057-0.022,0.064
+  c-0.009,0.016-0.022,0.029-0.031,0.044c-0.008,0.012-0.018,0.021-0.026,0.033s-0.015,0.023-0.024,0.035
+  c-0.012,0.015-0.024,0.029-0.033,0.047c-0.013,0.026-0.033,0.046-0.049,0.07c-0.029,0.044-0.072,0.079-0.098,0.124
+  c-0.007,0.014-0.019,0.031-0.031,0.04c-0.014,0.009-0.027,0.027-0.043,0.032L-17.71,56.066z M-19.005,57.415l-0.022,0.006
+  c0.005-0.004,0.007-0.013,0.01-0.018c0.003-0.007,0.007-0.014,0.012-0.02c0.007-0.009,0.026-0.027,0.038-0.028
+  c0.017-0.001,0.021,0.016,0.013,0.028c-0.005,0.006-0.014,0.012-0.02,0.017C-18.982,57.408-18.993,57.418-19.005,57.415z
+  M-19.109,57.361h-0.01l-0.005-0.001c0.006-0.014,0.039-0.065,0.06-0.053c0.002,0.002,0.009,0.015,0.009,0.017
+  c0.001,0.01-0.004,0.012-0.01,0.021C-19.076,57.36-19.093,57.381-19.109,57.361z M-19.194,57.357
+  c-0.007,0.003-0.029,0.011-0.023-0.007h-0.017c0.015-0.005,0.022-0.022,0.032-0.034c0.004-0.005,0.01-0.013,0.016-0.016
+  c0.007-0.004,0.015-0.003,0.022-0.008c0.001,0.009,0.012,0.012,0.013,0.02c0,0.007-0.017,0.024-0.021,0.029
+  C-19.179,57.348-19.185,57.353-19.194,57.357z M-19.499,57.514c-0.001,0.002-0.001,0.003-0.001,0.005l-0.006-0.006
+  c-0.001,0.001-0.002,0.001-0.003,0.001c0.019-0.023,0.036-0.05,0.063-0.065c0.014-0.007,0.025-0.011,0.039-0.022
+  c0.01-0.008,0.016-0.022,0.031-0.016c-0.002,0.025-0.035,0.052-0.053,0.065C-19.45,57.491-19.474,57.511-19.499,57.514z
+  M-19.589,57.621c-0.005,0.009-0.012,0.015-0.019,0.023c-0.011,0.012-0.013,0.008-0.027,0.012c-0.008,0.002-0.014,0.009-0.023,0.01
+  c-0.005,0-0.013-0.001-0.019-0.001c0.003-0.001,0.005-0.003,0.008-0.005l-0.016,0.006c-0.007-0.001-0.011-0.008-0.016-0.013
+  c0.002-0.008,0.009-0.011,0.016-0.016c0.011-0.008,0.021-0.018,0.032-0.027c0.008-0.005,0.011-0.013,0.018-0.019
+  s0.017-0.012,0.026-0.016c0.017-0.01,0.027-0.022,0.038-0.036c0.004-0.006,0.013-0.017,0.02-0.022
+  c0.011-0.007,0.016-0.005,0.018,0.007c0.003,0.022-0.012,0.035-0.026,0.051C-19.571,57.589-19.579,57.605-19.589,57.621z
+  M-19.772,57.757c-0.03,0.027-0.066,0.047-0.098,0.071c-0.016,0.011-0.027,0.023-0.038,0.039c-0.011,0.015-0.024,0.018-0.039,0.026
+  c-0.014,0.007-0.024,0.027-0.039,0.033c-0.006,0.002-0.013,0.001-0.019,0.002c-0.002,0.001-0.004,0.001-0.006,0.002
+  c-0.004-0.005,0.008-0.02,0.011-0.025c0.013-0.018,0.034-0.026,0.047-0.043c0.01-0.014,0.022-0.026,0.034-0.038
+  c0.01-0.012,0.017-0.023,0.025-0.035c0.009-0.012,0.027-0.022,0.039-0.031c0.018-0.013,0.03-0.031,0.049-0.045
+  c0.013-0.01,0.024-0.016,0.039-0.021c0.011-0.004,0.011-0.001,0.022,0.001c0.009,0.002,0.014-0.002,0.021-0.005
+  c0.004,0.008-0.012,0.03-0.017,0.037C-19.75,57.736-19.761,57.747-19.772,57.757z M-20.016,57.932c0.002,0,0.004-0.001,0.005-0.002
+  c0.001,0.001,0.002,0.002,0.005,0.002H-20.016z M-20.023,57.932h0.007c-0.004,0.003-0.008,0.005-0.01,0.007
+  C-20.024,57.937-20.023,57.935-20.023,57.932z M-19.994,57.988c-0.005,0.009-0.017,0.017-0.023,0.025
+  c-0.008,0.009-0.016,0.018-0.022,0.028c-0.007,0.011-0.016,0.017-0.027,0.024c-0.01,0.005-0.017,0.014-0.027,0.02
+  c-0.019,0.011-0.04,0.015-0.056,0.031c-0.006,0.006-0.015,0.018-0.022,0.022c-0.004,0.003-0.011,0.003-0.015,0
+  c-0.002,0-0.003-0.001-0.003-0.002c0.001-0.003,0.003-0.005,0.004-0.007c0.009-0.014,0.019-0.026,0.032-0.036
+  c0.011-0.009,0.023-0.02,0.032-0.031c0.012-0.015,0.015-0.027,0.032-0.037c0.011-0.007,0.017-0.011,0.023-0.022
+  c0.008-0.014,0.013-0.007,0.027-0.012c0.01-0.003,0.017-0.013,0.027-0.015C-19.999,57.972-19.986,57.974-19.994,57.988z
+  M-20.192,58.127c0,0.003,0.001,0.006,0.003,0.009c-0.004,0.007-0.008,0.014-0.013,0.019L-20.192,58.127z M-20.079,57.926
+  c-0.013,0.008-0.028,0.019-0.038,0.032c-0.006,0.009-0.006,0.02-0.01,0.029c-0.003,0.006-0.01,0.011-0.014,0.016
+  c-0.004,0.005-0.006,0.012-0.011,0.017c-0.008,0.009-0.019,0.018-0.028,0.025c-0.007,0.005-0.027,0.013-0.027,0.022
+  c0.003,0.002,0.005,0.002,0.008,0.001c-0.006,0.006-0.01,0.015-0.015,0.022c-0.011,0.014-0.026,0.026-0.038,0.037
+  c-0.018,0.015-0.049,0.026-0.071,0.035c-0.023,0.01-0.045,0.02-0.063,0.038c-0.011,0.012-0.022,0.026-0.035,0.036
+  c-0.016,0.012-0.033,0.022-0.048,0.034c-0.005,0.004-0.011,0.01-0.017,0.015c-0.007,0.005-0.022,0.01-0.026,0.019
+  c-0.008,0.022,0.037-0.003,0.043-0.007s0.02-0.012,0.022,0c0.004,0.014-0.016,0.017-0.023,0.02c-0.009,0.004-0.017,0.01-0.026,0.014
+  c-0.01,0.004-0.02,0.009-0.029,0.014c-0.008,0.004-0.017,0.008-0.026,0.01c-0.005,0.002-0.01,0.003-0.016,0.006
+  c-0.006,0.002-0.017,0.005-0.022,0.008c-0.005,0.003-0.005,0.007-0.01,0.01c-0.004,0.002-0.011,0.004-0.016,0.007
+  c-0.007,0.003-0.015,0.006-0.022,0.009c-0.021,0.009-0.042,0.023-0.054,0.043c-0.008,0.015-0.009,0.033-0.028,0.033
+  c-0.006,0-0.012-0.001-0.017,0c-0.006,0.001-0.007,0.003-0.012,0.004c-0.009,0.003-0.017,0.004-0.026,0.007
+  c-0.004,0.002-0.007,0.002-0.012,0.004c-0.005,0.002-0.01,0.006-0.015,0.007c-0.012,0.003-0.021-0.002-0.033,0.004
+  c-0.01,0.004-0.02,0.009-0.028,0.016c-0.019,0.015-0.047,0.017-0.064,0.034c-0.009,0.01-0.016,0.021-0.027,0.028
+  c-0.009,0.005-0.019,0.006-0.027,0.012c-0.012,0.006-0.021,0.013-0.033,0.019c-0.013,0.006-0.019,0.01-0.033,0.013
+  c-0.011,0.003-0.022,0.006-0.033,0.01c-0.009,0.004-0.017,0.004-0.027,0.005c-0.009,0.002-0.018,0.007-0.027,0.011
+  c-0.01,0.005-0.021,0.007-0.031,0.012c-0.032,0.016-0.07,0.025-0.098,0.05c-0.01,0.008-0.022,0.016-0.034,0.021
+  c-0.006,0.003-0.011,0.002-0.017,0.004c-0.004,0.002-0.005,0.005-0.01,0.006s-0.012-0.001-0.017,0c-0.006,0-0.008,0.003-0.012,0.004
+  c-0.012,0.003-0.015,0.004-0.024,0.013c-0.008,0.009-0.013,0.009-0.023,0.014c-0.02,0.008-0.039,0.019-0.058,0.029
+  c-0.024,0.012-0.049,0.024-0.073,0.032c-0.018,0.006-0.032,0.014-0.048,0.024c-0.02,0.012-0.049,0.018-0.072,0.024
+  c-0.011,0.003-0.022-0.001-0.032,0.001c-0.012,0.002-0.022,0.012-0.033,0.016c-0.012,0.003-0.067,0.017-0.048-0.015
+  c0.004-0.007,0.016-0.01,0.022-0.016c0.008-0.006,0.013-0.015,0.019-0.023c0.012-0.015,0.022-0.03,0.033-0.045
+  c0.008-0.01,0.009-0.025,0.018-0.036c0.003,0,0.006-0.001,0.009-0.001c0.002-0.004,0.004-0.007,0.007-0.009
+  c0.004-0.004,0.01-0.011,0.016-0.011c0.006-0.001,0.013,0.006,0.022,0.004c0.009-0.001,0.014-0.006,0.02-0.012
+  c0.011-0.011,0.017-0.026,0.029-0.037c0.014-0.014,0.032-0.019,0.049-0.028c0.016-0.009,0.026-0.025,0.042-0.033
+  c0.013-0.007,0.028-0.012,0.039-0.021c0.014-0.012,0.016-0.025,0.025-0.039c-0.011-0.008-0.015-0.008-0.029-0.011
+  c-0.011-0.002-0.025-0.012-0.039-0.01c-0.006,0.002-0.011,0.005-0.017,0.006c-0.006,0.002-0.015,0-0.021,0
+  c-0.014,0-0.03-0.002-0.043,0.001c-0.011,0.003-0.023,0.013-0.034,0.02c-0.013,0.009-0.028,0.011-0.043,0.016
+  c-0.027,0.008-0.046,0.02-0.07,0.035c-0.009,0.006-0.019,0.013-0.029,0.019c-0.013,0.008-0.024,0.013-0.037,0.019
+  c-0.013,0.007-0.026,0.012-0.038,0.02c-0.013,0.008-0.029,0.008-0.044,0.013c-0.012,0.004-0.022,0.014-0.034,0.019
+  c-0.012,0.007-0.027,0.01-0.041,0.013c-0.004,0.002-0.006,0.004-0.012,0.005c-0.007,0.001-0.015,0-0.022,0
+  c-0.014,0-0.022,0.008-0.037,0.004c-0.002-0.011,0.008-0.014,0.016-0.019c0.008-0.005,0.013-0.013,0.021-0.018
+  c0.015-0.008,0.029-0.019,0.044-0.027c0.007-0.004,0.014-0.006,0.022-0.009c0.012-0.006,0.016-0.017,0.025-0.025
+  c0.014-0.013,0.026-0.017,0.034-0.035c-0.011-0.015-0.046,0.004-0.059,0.01c-0.022,0.011-0.044,0.019-0.065,0.03
+  c-0.024,0.013-0.048,0.017-0.071,0.03c-0.011,0.007-0.016,0.008-0.027,0.011c-0.007,0.002-0.01,0.004-0.017,0.004
+  c-0.007,0.001-0.014,0-0.022,0.002c-0.021,0.005-0.042,0.014-0.06,0.024c-0.007,0.005-0.018,0.007-0.027,0.011
+  c-0.019,0.008-0.036,0.022-0.054,0.033c-0.008,0.005-0.018,0.009-0.027,0.013c-0.01,0.005-0.019,0.01-0.027,0.015
+  c-0.008,0.004-0.015,0.008-0.022,0.013c-0.011,0.006-0.019,0.012-0.029,0.019c-0.004,0.003-0.01,0.003-0.015,0.006
+  c-0.005,0.003-0.011,0.009-0.016,0.012c-0.013,0.009-0.021,0.022-0.033,0.032c-0.007,0.006-0.015,0.017-0.023,0.021
+  c-0.004,0.002-0.009,0-0.014,0.002c-0.004,0.001-0.012,0.008-0.016,0.011c-0.013,0.009-0.025,0.022-0.039,0.03
+  c-0.009,0.004-0.018,0.008-0.026,0.013c-0.004,0.003-0.008,0.007-0.012,0.01c-0.009,0.006-0.008,0.007-0.013,0.015
+  c-0.012,0.018-0.013,0.04-0.019,0.061c-0.003,0.011,0,0.019-0.005,0.028c-0.005,0.011-0.014,0.02-0.022,0.028
+  c-0.012,0.011-0.023,0.024-0.035,0.035c-0.016,0.014-0.035,0.024-0.049,0.038c-0.006,0.006-0.007,0.011-0.011,0.017
+  c-0.005,0.006-0.013,0.009-0.019,0.013c-0.019,0.013-0.034,0.03-0.053,0.042c-0.017,0.011-0.029,0.023-0.042,0.037
+  c-0.013,0.013-0.028,0.019-0.043,0.029c-0.017,0.01-0.035,0.02-0.054,0.027c-0.01,0.004-0.017,0.003-0.027,0.005
+  c-0.012,0.002-0.021,0.016-0.033,0.021c-0.006,0.003-0.015,0.004-0.02,0.008c-0.008,0.006-0.016,0.013-0.024,0.019
+  c-0.015,0.011-0.032,0.024-0.049,0.033c-0.016,0.009-0.036,0.019-0.053,0.03c-0.014,0.009-0.028,0.02-0.044,0.027
+  c-0.015,0.006-0.029,0.005-0.044,0.013c-0.01,0.006-0.019,0.012-0.027,0.018c-0.017,0.012-0.036,0.023-0.055,0.033
+  c-0.027,0.015-0.052,0.037-0.081,0.05c-0.016,0.007-0.032,0.011-0.048,0.016c-0.014,0.005-0.027,0.017-0.043,0.016
+  c0.002-0.002,0.004-0.003,0.004-0.006l-0.011-0.006c-0.001,0.012-0.013,0.005-0.011-0.005c0.001-0.007,0.01-0.013,0.015-0.017
+  c0.013-0.014,0.03-0.021,0.045-0.033c0.008-0.007,0.018-0.014,0.026-0.021c0.007-0.006,0.014-0.008,0.023-0.012
+  c0.025-0.011,0.037-0.038,0.06-0.053c0.01-0.007,0.014-0.005,0.02-0.016c0.005-0.009,0.014-0.02,0.017-0.029
+  c0.006-0.018-0.006-0.036-0.021-0.046c-0.016-0.013-0.038-0.013-0.033-0.04c0.002-0.011,0.009-0.021,0.011-0.032
+  c0.003-0.011,0.009-0.032,0.005-0.042c-0.021,0.007-0.03,0.041-0.037,0.059c-0.013,0.034-0.034,0.067-0.066,0.086
+  c-0.019,0.012-0.038,0.023-0.06,0.032c-0.012,0.004-0.012,0.005-0.017,0.017c-0.004,0.01-0.001,0.03-0.009,0.033
+  c-0.008,0.003-0.025,0-0.033,0h-0.033c-0.01,0-0.023,0.002-0.033,0s-0.022-0.009-0.032-0.012c-0.015-0.005-0.029-0.013-0.044-0.016
+  c-0.01-0.001-0.022,0.001-0.033,0.001c-0.01,0-0.022-0.002-0.032,0.001c-0.007,0.001-0.009,0.005-0.017,0.004
+  c-0.008,0-0.009-0.004-0.016-0.006c-0.01-0.002-0.022,0.002-0.033,0.001c-0.017-0.003-0.007-0.008-0.01-0.022
+  c-0.001-0.003-0.004-0.01-0.006-0.011c-0.006-0.007-0.002-0.002-0.011-0.005c-0.011-0.005-0.02-0.007-0.033-0.002
+  c-0.009,0.004-0.018,0.007-0.027,0.012c-0.009,0.005-0.017,0.013-0.026,0.018c-0.005,0.003-0.012,0.003-0.016,0.005
+  c-0.003,0.002-0.005,0.006-0.008,0.009c-0.011,0.008-0.023,0.012-0.037,0.012c-0.016,0-0.049,0.006-0.064-0.001
+  c-0.021-0.011-0.008-0.04-0.012-0.059c-0.001-0.006-0.004-0.01-0.006-0.016c-0.001-0.005,0.001-0.011,0.001-0.017
+  c-0.001-0.01-0.006-0.015-0.006-0.027c0-0.021-0.011-0.041-0.016-0.059c-0.008-0.025-0.017-0.048-0.038-0.066
+  c-0.014-0.011-0.031-0.034-0.049-0.038c-0.005-0.002-0.011,0.001-0.016-0.001c-0.006-0.002-0.012-0.006-0.017-0.009
+  c-0.009-0.004-0.019-0.007-0.028-0.01c-0.011-0.004-0.02-0.007-0.032-0.007c-0.013,0-0.026,0.002-0.038-0.004
+  c-0.036-0.017-0.003-0.039,0.012-0.056c0.017-0.018,0.031-0.037,0.048-0.053c0.019-0.019,0.043-0.023,0.066-0.034
+  c0.019-0.01,0.032-0.027,0.05-0.037c0.019-0.011,0.036-0.025,0.051-0.041c0.008-0.008,0.016-0.017,0.022-0.026
+  c0.003-0.003,0.01-0.012,0.012-0.016c0.002-0.007,0-0.014,0.002-0.022c0.002-0.009,0.008-0.018,0.01-0.027
+  c0.002-0.012-0.002-0.016,0.006-0.027c0.014-0.019,0.043-0.032,0.064-0.042c0.022-0.011,0.041-0.028,0.051-0.051
+  c0.002-0.006,0.002-0.01,0.003-0.016c0.002-0.005,0.005-0.006,0.006-0.011c0.003-0.013-0.002-0.02,0.006-0.032
+  c0.011-0.014,0.024-0.019,0.038-0.029c0.01-0.008,0.019-0.016,0.028-0.025c0.008-0.006,0.013-0.012,0.022-0.017
+  c0.015-0.009,0.03-0.009,0.046-0.015c0.021-0.008,0.041-0.016,0.061-0.023c0.02-0.008,0.038-0.016,0.054-0.029
+  c0.01-0.007,0.02-0.013,0.029-0.02c0.01-0.008,0.02-0.016,0.031-0.021c0.017-0.007,0.055-0.009,0.055-0.034
+  c0-0.024-0.032-0.026-0.049-0.023c-0.023,0.005-0.048-0.003-0.071,0.003c-0.011,0.002-0.02,0.006-0.033,0.004
+  c-0.011-0.001-0.02-0.008-0.032-0.006c-0.006,0.001-0.011,0.005-0.016,0.007c-0.007,0.003-0.011,0.003-0.017,0.004
+  c-0.005,0.001-0.006,0.007-0.011,0.005c-0.003-0.001-0.008-0.009-0.01-0.012c0.003-0.005,0.008-0.015,0.009-0.021
+  c0.002-0.011-0.001-0.015-0.005-0.025c-0.005-0.01-0.002-0.017-0.004-0.028c-0.003-0.014-0.012-0.024-0.016-0.037
+  c-0.005-0.022,0.003-0.04,0.006-0.06c0.001-0.007,0.005-0.003,0.003-0.012c-0.001-0.007-0.006-0.007-0.01-0.012
+  c-0.009-0.011-0.014-0.022-0.018-0.036c0-0.002-0.003-0.009-0.004-0.012c-0.001-0.006-0.001-0.007-0.003-0.012
+  c-0.006-0.011-0.012-0.014-0.003-0.026c0.008-0.01,0.018-0.012,0.027-0.018c0.013-0.008,0.024-0.021,0.036-0.031
+  c0.015-0.015,0.034-0.027,0.048-0.043c0.02-0.024,0.042-0.05,0.068-0.066c0.018-0.011,0.034-0.02,0.051-0.031
+  c0.019-0.014,0.025-0.041,0.044-0.055c0.009-0.006,0.024-0.004,0.032-0.01c0.006-0.005,0.01-0.013,0.015-0.019
+  c0.018-0.022,0.038-0.043,0.057-0.063c0.007-0.008,0.014-0.016,0.02-0.024c0.009-0.012,0.021-0.021,0.029-0.032
+  c0.012-0.016,0.02-0.036,0.025-0.056c0.002-0.013,0.002-0.023,0.006-0.037c0.004-0.009,0.004-0.012,0.012-0.02
+  c0.006-0.005,0.011-0.011,0.016-0.017c0.016-0.017,0.037-0.028,0.052-0.044c0.01-0.01,0.02-0.018,0.03-0.028
+  c0.023-0.024,0.05-0.041,0.074-0.062c0.01-0.008,0.019-0.015,0.029-0.023c0.004-0.003,0.006-0.008,0.01-0.011
+  c0.007-0.005,0.015-0.007,0.022-0.012c0.024-0.018,0.048-0.035,0.071-0.053c0.019-0.015,0.037-0.027,0.06-0.036
+  c0.011-0.004,0.02-0.002,0.031-0.005c0.014-0.004,0.014-0.015,0.023,0.002c0.01,0.018,0.024,0.036,0.045,0.042
+  c0.01,0.003,0.02,0.002,0.031,0.006c0.014,0.006,0.024,0.006,0.038,0.006s0.025-0.005,0.039-0.006c0.005,0,0.011,0.001,0.016,0.001
+  c0.008-0.002,0.011-0.01,0.021-0.005c-0.003,0.009-0.015,0.01-0.022,0.016c-0.008,0.009-0.014,0.021-0.022,0.031
+  c-0.01,0.011-0.016,0.022-0.028,0.032c-0.013,0.011-0.027,0.013-0.026,0.034c0.001,0.01,0.004,0.021,0.013,0.026
+  c0.004,0.003,0.024,0.007,0.029,0.007c-0.007,0.004-0.012,0.012-0.008,0.021c0.006,0.01,0.023,0.006,0.033,0.006
+  c0.02,0,0.036-0.007,0.053-0.015c0.008-0.004,0.01-0.002,0.018-0.008c0.009-0.007,0.015-0.01,0.025-0.013
+  c0.018-0.006,0.036-0.014,0.054-0.017c0.016-0.003,0.034-0.001,0.05-0.001c0.014,0,0.031-0.004,0.044-0.001
+  c0.01,0.003,0.021,0.005,0.029,0.006c0.009-0.007,0.013-0.004,0.021,0.001c0.012,0.008,0.006,0.015,0.015,0.022
+  c0.016,0.014,0.034,0.001,0.045-0.011c0.008-0.008,0.016-0.017,0.026-0.023c0.016-0.01,0.036-0.003,0.054-0.009
+  c0.02-0.007,0.026-0.027,0.049-0.029c0.011-0.001,0.017,0.004,0.027,0.006c0.028,0.006,0.059-0.005,0.087-0.01
+  c0.024-0.004,0.049-0.008,0.072-0.019c0.018-0.009,0.034-0.016,0.054-0.022c0.022-0.007,0.025-0.001,0.041,0.012
+  c-0.007,0.011-0.02,0.004-0.03,0.006c-0.015,0.002-0.03,0.01-0.043,0.018c-0.011,0.007-0.021,0.009-0.034,0.013
+  c-0.014,0.005-0.027,0.012-0.041,0.018c0.011,0,0.024,0.002,0.035,0c0.018-0.003,0.038-0.01,0.056-0.015
+  c0.01-0.003,0.02-0.005,0.031-0.008c0.004-0.001,0.006-0.004,0.012-0.004c0.008-0.002,0.014-0.002,0.022-0.005
+  c0.012-0.003,0.025,0.001,0.038-0.002c0.013-0.003,0.024-0.004,0.038-0.004c0.011,0,0.022,0.001,0.033-0.001
+  c0.013-0.003,0.025-0.005,0.038-0.005c0.007,0,0.022,0.004,0.025-0.005c-0.003-0.011-0.016-0.013-0.025-0.011
+  c-0.006,0.001-0.011,0.006-0.017,0.006c-0.004,0-0.007-0.005-0.01-0.006c-0.008-0.003-0.021-0.002-0.016-0.015
+  c0.002-0.006,0.018-0.013,0.023-0.016c0.007-0.003,0.023-0.013,0.031-0.013c0.005,0,0.005,0.005,0.01,0.006s0.012,0,0.017,0
+  c0.015,0,0.033-0.002,0.047-0.007c0.007-0.002,0.012-0.006,0.017-0.008c0.009-0.004,0.019,0,0.028-0.002
+  c-0.001-0.007-0.012-0.014-0.017-0.019c0.023,0.018,0.06-0.013,0.072-0.029c0.009-0.014,0.017-0.019,0.032-0.026
+  c0.014-0.007,0.026-0.009,0.04-0.017c0.003-0.002,0.011-0.006,0.014-0.007c0.004,0.001,0.008,0.001,0.012,0.001
+  c0.003,0,0.005-0.002,0.006-0.005c0.007-0.001,0.014,0.001,0.021,0c0.012-0.003,0.008-0.008,0.011-0.017
+  c0.005-0.027,0.031-0.045,0.047-0.065c0.019-0.024,0.044-0.046,0.074-0.054c0.006-0.001,0.013-0.001,0.02-0.001
+  c0.008,0,0.012-0.003,0.018-0.004c0.006-0.002,0.013-0.001,0.019-0.002c0.006-0.002,0.011-0.009,0.017-0.01
+  c0.007-0.002,0.014,0.001,0.021-0.001c0.004-0.002,0.014-0.009,0.017-0.011c0.006-0.006,0.012-0.027,0.022-0.027
+  c0.006,0,0.008,0.007,0.012,0.01c0.004,0.003,0.011,0.005,0.016,0.007c0.011,0.006,0.024,0.01,0.037,0.012
+  c0,0.008,0.006,0.013,0.006,0.02c0.002,0.011,0.001,0.018,0.006,0.028c0,0.003,0.001,0.005,0.004,0.007
+  c0.001,0.004-0.001,0.01,0.002,0.014c0.003,0.004,0.017,0.011,0.022,0.016c0.006,0.005,0.014,0.006,0.019,0.013
+  c0.001,0.003,0.002,0.006,0.003,0.009c0.002,0.003,0.006,0.004,0.008,0.007c0.005,0.006,0.004,0.015,0.007,0.021
+  c0.005,0.013,0.011,0.011,0.025,0.011c-0.001,0.013,0.039,0.002,0.046,0c0.009-0.004,0.018-0.004,0.027-0.011
+  c0.012-0.008,0.019-0.022,0.033-0.029c0.02-0.01,0.044-0.002,0.065,0.002s0.03-0.022,0.053-0.015
+  c0.007,0.002,0.015,0.007,0.018,0.014c0.002,0.007-0.001,0.016,0.001,0.023c0.002,0.006,0.004,0.009,0.004,0.016
+  c0,0.023-0.016,0.038-0.005,0.06c0.005,0.012,0.005,0.014-0.002,0.027c-0.006,0.011-0.009,0.014-0.009,0.027
+  s0.003,0.021,0.005,0.033c0.002,0.006,0.002,0.023-0.003,0.028c0.013,0.001,0.026-0.023,0.029-0.034
+  c0.005-0.016,0.013-0.037,0.012-0.054c0-0.017,0.007-0.03,0.018-0.042c0.004-0.005,0.01-0.009,0.014-0.014
+  c0-0.003,0.001-0.005,0.002-0.008c0.002-0.002,0.012-0.004,0.015-0.005c0.007-0.003,0.01-0.006,0.015-0.009
+  c0.008-0.004,0.014-0.003,0.023-0.003c0.012-0.001,0.02-0.001,0.028,0.01c0.003,0.005,0.01,0.016,0.011,0.022
+  c0.002,0.009-0.005,0.018-0.006,0.027c-0.001,0.009,0,0.018,0,0.028c0,0.021-0.005,0.047-0.015,0.066
+  c-0.008,0.015-0.015,0.026-0.019,0.042c-0.002,0.011-0.006,0.016-0.003,0.027c0.003,0.01,0.003,0.018,0.004,0.028
+  c0.001,0.007,0.004,0.009,0.006,0.016c0.002,0.008,0,0.019,0,0.027c0.001,0.022,0.011,0.034,0.027,0.048
+  c0.013,0.011,0.026,0.022,0.038,0.033c0.007,0.005,0.011,0.01,0.016,0.017c0.006,0.008,0.008,0.014,0.012,0.022
+  c0.008,0.012,0.025,0.021,0.031,0.034c0.005,0.01-0.003,0.012-0.005,0.02c-0.002,0.008-0.001,0.013-0.004,0.021
+  c0.006,0.004,0.017,0.021,0.016,0.029c-0.001,0.006-0.007,0.006-0.012,0.01c-0.004,0.004-0.007,0.011-0.01,0.017
+  c-0.012,0.019-0.024,0.043-0.045,0.053c-0.005,0.002-0.011,0.001-0.016,0.005c-0.005,0.004-0.002,0.006-0.006,0.011
+  c-0.007,0.01-0.01,0.015-0.01,0.028c0.001,0.012,0.007,0.018,0.011,0.027c0.006,0.012,0.005,0.024,0.01,0.035
+  c0.008,0.017,0.024,0.032,0.019,0.053c-0.002,0.01-0.013,0.02-0.006,0.031c0.007,0.01,0.022,0.008,0.032,0.006
+  c0.012-0.003,0.022-0.01,0.032-0.017c0.011-0.008,0.021-0.01,0.033-0.015c0.025-0.009,0.051-0.011,0.076-0.017
+  c0.025-0.006,0.047-0.015,0.071-0.022c0.026-0.008,0.044-0.026,0.064-0.044c0.006-0.005,0.019-0.011,0.022-0.016
+  c0.004-0.005,0.002-0.025,0-0.03c-0.003-0.01-0.014-0.017-0.016-0.029c-0.001-0.013,0.012-0.018,0.022-0.023
+  c0.013-0.006,0.018-0.002,0.029,0c0.009,0.002,0.022,0.003,0.032,0.002c0.009-0.001,0.014-0.006,0.023-0.01
+  c0.011-0.006,0.018-0.012,0.02,0.004c0.002,0.015-0.002,0.021-0.01,0.033c-0.006,0.009-0.006,0.018-0.013,0.026
+  c-0.016,0.018-0.025,0.025-0.015,0.05c0.003,0.009,0.003,0.03,0.01,0.033c0.014,0.006,0.035-0.004,0.045-0.012
+  c0.017-0.015,0.024-0.052,0.048-0.059c0.005-0.002,0.011,0.001,0.017,0c0.008-0.001,0.011-0.006,0.017-0.01
+  c0.005-0.002,0.011-0.004,0.015-0.006c0.005-0.003,0.008-0.007,0.012-0.01c0.006-0.004,0.014-0.003,0.02-0.008
+  c0.004-0.003,0.007-0.007,0.01-0.011c0.008-0.008,0.019-0.013,0.027-0.02c-0.006,0.01-0.004,0.021-0.01,0.032
+  C-20.058,57.907-20.066,57.918-20.079,57.926z M-20.496,56.942c-0.016,0.005-0.024,0.014-0.022,0.033l-0.011-0.017
+  c-0.018,0.024-0.04-0.035-0.048-0.043c-0.006-0.005-0.01-0.004-0.012-0.011c-0.002-0.007,0.001-0.013,0.004-0.018
+  c0.008-0.011,0.022-0.015,0.034-0.019c0.03-0.009,0.049-0.033,0.077-0.045c0.011-0.005,0.025-0.008,0.037-0.011
+  c0.006,0.001,0.01,0.001,0.015-0.001c0.007-0.003,0.014-0.006,0.021-0.009c0.01-0.002,0.019-0.004,0.029-0.008
+  c0.012-0.004,0.023-0.004,0.034,0.007c0.014,0.014,0.011,0.028,0.005,0.044c-0.01,0.026-0.034,0.038-0.056,0.053
+  c-0.008,0.005-0.016,0.013-0.025,0.018c-0.013,0.006-0.03,0.01-0.044,0.015C-20.471,56.934-20.484,56.938-20.496,56.942z
+  M-20.562,57.008c0.01,0.008,0.021,0.015,0.033,0.021c0.015,0.007,0.025,0.007,0.034,0.022c0.015,0.022,0.011,0.039,0,0.061
+  c-0.003,0.006-0.004,0.013-0.008,0.019c-0.005,0.009-0.014,0.015-0.02,0.023c-0.008,0.014-0.006,0.029-0.018,0.042
+  c-0.016,0.018-0.038,0.034-0.064,0.028c-0.019-0.005-0.028-0.016-0.042-0.028c-0.007-0.005-0.016-0.01-0.022-0.016
+  c-0.002-0.002-0.004-0.004-0.005-0.006c-0.005-0.002-0.009-0.001-0.013-0.003c-0.008-0.004-0.035-0.013-0.038-0.024v0.013
+  c-0.005-0.017-0.059-0.055-0.053-0.07c0.002-0.002,0.004-0.003,0.006-0.005c0.002-0.004,0.003-0.008,0.005-0.011
+  c0.005-0.008,0.008-0.014,0.011-0.023c0.003-0.009,0.006-0.017,0.004-0.027c-0.002-0.012-0.008-0.019-0.004-0.032
+  c0.007-0.023,0.026-0.02,0.045-0.024c0.011-0.002,0.018-0.005,0.03-0.004c0.012,0,0.021-0.007,0.033-0.006
+  c0.015,0.001,0.025,0.015,0.037,0.023c0.009,0.006,0.018,0.007,0.027,0.011C-20.577,56.996-20.569,57.003-20.562,57.008z
+  M-20.741,57.17c0.003,0.011,0.002,0.033-0.001,0.043c-0.021,0.002-0.04,0.018-0.063,0.011l-0.001-0.005l-0.006-0.005
+  c0.001,0.004,0.001,0.007-0.001,0.01c-0.007-0.001-0.018-0.015-0.026-0.019c-0.008-0.005-0.013-0.007-0.022-0.007
+  c-0.003,0-0.007,0-0.011,0c-0.005,0-0.008,0.003-0.012,0.004c-0.007,0.001-0.013,0.001-0.02,0.001c-0.012,0-0.012-0.001-0.021-0.007
+  c-0.011-0.007-0.022-0.014-0.033-0.021c0-0.023,0.06-0.031,0.075-0.032c0.005,0,0.012-0.001,0.017,0
+  c0.007,0.002,0.008,0.007,0.016,0.006c0.004,0,0.007-0.004,0.011-0.006c0.005-0.002,0.011-0.003,0.016-0.005
+  c0.013-0.006,0.024-0.012,0.037-0.01c0.01,0.002,0.019,0.009,0.028,0.015C-20.748,57.15-20.743,57.159-20.741,57.17z
+  M-24.165,56.011c-0.325-0.11-1.03,0.279-0.976-0.33c0.055-0.609,0.057-0.298,0.086-0.447c0.107-0.033,0.215-0.065,0.322-0.098
+  c-0.002-0.002-0.005-0.003-0.007-0.007c-0.002-0.006,0-0.011-0.001-0.018c-0.001-0.007-0.003-0.013-0.003-0.021
+  c0-0.011,0.004-0.022,0.005-0.033c0.001-0.006-0.001-0.009-0.003-0.013c-0.001-0.006,0.001-0.013,0.002-0.018
+  c0.002-0.005,0.003-0.011,0.004-0.016c0-0.005-0.001-0.01,0-0.015c0-0.006,0.005-0.01,0.007-0.015
+  c0.002-0.007,0.002-0.012,0.003-0.019c0.001-0.009,0.008-0.014,0.012-0.023c0.003-0.004,0.004-0.012,0.008-0.015
+  c0.003-0.003,0.005-0.002,0.008-0.003c0.004-0.002,0.007-0.007,0.01-0.01c0.003-0.003,0.004-0.008,0.007-0.011
+  c0.004-0.003,0.008-0.004,0.012-0.006c0.01-0.006,0.015-0.019,0.025-0.023c0.013-0.006,0.025-0.015,0.036-0.024
+  c0.006-0.005,0.011-0.009,0.018-0.013c0.005-0.002,0.006-0.002,0.01-0.002c0.006-0.001,0.01-0.005,0.015-0.008
+  c0.003-0.001,0.007-0.003,0.01-0.005c0.003-0.001,0.006-0.004,0.009-0.005s0.005,0,0.008,0c0.004-0.001,0.007-0.002,0.01-0.003
+  c0.005-0.001,0.007,0,0.012-0.002c0.002-0.002,0.005-0.005,0.008-0.006c0.002-0.002,0.003-0.004,0.005-0.005
+  c0.005-0.003,0.006-0.002,0.011-0.002c0.005-0.001,0.013-0.005,0.018-0.008c0.007-0.004,0.014-0.009,0.02-0.013
+  c0.005-0.003,0.01-0.006,0.016-0.008c0.005-0.002,0.012-0.002,0.018-0.005c0.005-0.004,0.012-0.007,0.018-0.011
+  c0.005-0.003,0.008-0.006,0.015-0.007c0.012-0.001,0.028-0.002,0.039,0.003c0.006,0.004,0.009,0.006,0.012,0.013
+  c0.002,0.004,0.004,0.006,0.006,0.01c0.002,0.003,0.001,0.005,0.002,0.008c0.001,0.002,0.002,0.002,0.003,0.005
+  c0.001,0.005-0.001,0.012-0.001,0.018c0.001,0.005-0.002,0.008-0.002,0.013c0,0.006,0.005,0.008,0.01,0.009
+  c0.007,0.002,0.011,0.005,0.014,0.011c0.001,0.003,0.001,0.005,0.002,0.008c0,0.003,0.004,0.007,0.004,0.01
+  c0.001,0.004-0.002,0.008-0.002,0.013c0,0.005,0,0.008,0.003,0.013c0.005,0.01,0.013,0.018,0.022,0.026
+  c0.003,0.002,0.002,0.004,0.006,0.005c0.004,0,0.006-0.001,0.008-0.003c0.007-0.006,0.011-0.018,0.012-0.026
+  c0.001-0.006-0.004-0.014-0.007-0.019c-0.004-0.008-0.009-0.016-0.014-0.024c-0.005-0.008-0.013-0.016-0.014-0.026
+  c-0.001-0.01,0.008-0.019,0.01-0.028c0.001-0.007-0.001-0.012,0.008-0.013c0.005-0.001,0.01,0.001,0.015-0.001
+  c0.005-0.001,0.009-0.004,0.013-0.006c0.004-0.003,0.007-0.007,0.011-0.011c0.003,0.003,0.008,0.004,0.012,0.005
+  c0.005,0.002,0.01,0.005,0.016,0.006c0.008,0.002,0.015,0,0.023-0.003c0.007-0.002,0.01-0.005,0.018-0.005
+  c0.017,0,0.033,0,0.049-0.008c0.013-0.007,0.026-0.008,0.04-0.008c0.007,0,0.012-0.003,0.018-0.005
+  c0.006-0.001,0.01-0.001,0.016-0.003c0.005-0.002,0.009-0.005,0.015-0.005c0.007,0,0.014,0,0.021,0c0.005,0,0.012,0.002,0.018,0
+  c0.004-0.001,0.009-0.004,0.013-0.004c0.008-0.002,0.024,0,0.03,0.007c0.001,0.002,0,0.005,0,0.008c0,0.002,0.002,0.003,0.002,0.005
+  c0.001,0.005,0.001,0.01,0.001,0.015s0.001,0.01-0.001,0.015c0,0.003-0.002,0.006-0.002,0.008c-0.002,0.004-0.001,0.007-0.002,0.011
+  c-0.001,0.004-0.006,0.006-0.006,0.012c0,0.006,0.004,0.011,0.008,0.014c0.01,0.007,0.021,0.008,0.031,0.012
+  c0.009,0.003,0.021,0.004,0.031,0.003c0.021-0.002,0.017-0.023,0.03-0.032c0.008-0.006,0.019-0.007,0.027-0.012
+  c0.004-0.003,0.009-0.007,0.012-0.011c0.004-0.006,0.005-0.01,0.012-0.009c0.001,0.001,0.002,0.002,0.004,0.002
+  c0.003,0,0.003-0.001,0.005-0.002c0.005-0.002,0.009-0.005,0.013-0.008c0.004-0.004,0.005-0.009,0.01-0.013
+  c0.005-0.004,0.007-0.002,0.013-0.003c0.011-0.002,0.019-0.01,0.031-0.01c0.003,0,0.01,0.001,0.007-0.005
+  c-0.001-0.001-0.006-0.004-0.007-0.005c-0.003-0.003-0.005-0.005-0.008-0.006c0.001-0.006,0.008-0.004,0.012-0.004
+  c0.008-0.002,0.014-0.003,0.021-0.003c0.012,0,0.027,0.002,0.039,0c0.011-0.002,0.02-0.014,0.025-0.023
+  c0.003-0.005,0.004-0.009,0.009-0.013s0.011-0.005,0.017-0.005c0.01,0,0.018,0.004,0.028,0.005c0.005,0,0.009,0.002,0.014,0.004
+  c0.006,0.004,0.01,0.003,0.017,0.003c0.005,0.001,0.003,0,0.005,0.003c0.001,0.001,0.003,0.006,0.004,0.008
+  c0.003,0.006,0.006,0.012,0.007,0.018c0.002,0.008,0.001,0.016,0.002,0.024c0.001,0.007,0.003,0.012,0.003,0.02
+  c0,0.004-0.001,0.01,0,0.014c0,0.001,0.001,0.001,0.001,0.002c0.099-0.03-0.143,0.256,0.297-0.09s0.336,0.817-0.066,1.025
+  C-23.693,55.914-23.874,55.909-24.165,56.011z M-24.181,56.017c0.005-0.002,0.011-0.004,0.016-0.006
+  c0.017,0.006,0.034,0.012,0.051,0.018L-24.181,56.017z M-24.607,55.943l0.426,0.074c-0.05,0.017-0.099,0.035-0.148,0.052
+  C-24.422,56.027-24.515,55.985-24.607,55.943z M-33.449,52.473c0.015,0.018,0.025,0.032,0.022,0.057
+  c-0.003,0.021-0.001,0.046-0.026,0.05c-0.001-0.002-0.003-0.003-0.006-0.003h-0.005c-0.002-0.02-0.023-0.04-0.026-0.063
+  c-0.002-0.014,0.012-0.061,0.033-0.037C-33.455,52.475-33.452,52.475-33.449,52.473z M-27.922,53.12L-27.922,53.12L-27.922,53.12
+  L-27.922,53.12z M-25.706,56.522c-0.279,0.349-0.558,0.698-0.837,1.047c-0.001,0.012,0.003,0.025-0.001,0.036
+  c-0.004,0.013-0.015,0.02-0.02,0.032c-0.01,0.022-0.003,0.045-0.005,0.068c-0.003,0.021-0.017,0.037-0.022,0.058
+  c-0.007,0.022-0.001,0.045-0.004,0.068c-0.002,0.011-0.009,0.02-0.011,0.031c-0.002,0.012,0.001,0.025,0,0.037
+  c-0.002,0.019-0.012,0.037-0.015,0.058c-0.002,0.022,0.005,0.042,0.01,0.063c0.006,0.027,0.006,0.093,0.041,0.1
+  c0.004,0.025,0.002,0.056-0.031,0.057c-0.012,0.001-0.021-0.008-0.035-0.004c-0.014,0.003-0.024,0.019-0.038,0.02
+  c-0.024,0.002-0.036-0.029-0.058-0.027c-0.003,0-0.002,0.003-0.003,0.003c-0.019,0.067-0.038,0.134-0.057,0.201
+  c0.006,0.01,0.013,0.019,0.014,0.026c0.004,0.015-0.002,0.032-0.017,0.044c-0.005,0.005-0.012-0.001-0.017,0.002
+  c-0.092,0.323-0.183,0.646-0.274,0.969c0.091,0.148,0.182,0.296,0.274,0.444c-0.291-0.117-0.581-0.234-0.872-0.352
+  c0.122,0.03,0.231,0.045,0.318,0.038l-1.097-0.379c0,0.006-0.007,0.011-0.004,0.022c0,0.001,0.001,0.003,0.002,0.004
+  c0.26,0.105,0.521,0.21,0.781,0.315c-0.216-0.052-0.483-0.162-0.78-0.312c0.002,0.006,0.004,0.014,0.007,0.019
+  c0.008,0.01,0.009,0.005,0.02,0.011c0.018,0.01,0.024,0.026,0.038,0.04c0.028,0.03,0.071,0.05,0.105,0.068
+  c0.035,0.019,0.074,0.04,0.111,0.053c0.02,0.006,0.043,0.012,0.062,0.016c0.016,0.004,0.037,0.006,0.052,0.012
+  c0.021,0.009,0.039,0.025,0.059,0.034c0.018,0.009,0.029,0.022,0.046,0.032c0.018,0.01,0.04,0.019,0.059,0.026
+  c0.026,0.011,0.024,0.011,0.039,0.037c0.014,0.024,0.041,0.018,0.065,0.027c0.024,0.01,0.041,0.034,0.058,0.053
+  c0.022,0.026,0.06,0.041,0.094,0.052c0.018,0.006,0.036,0.008,0.053,0.015c0.019,0.007,0.037,0.02,0.052,0.033
+  c0.016,0.015,0.027,0.03,0.047,0.041c0.019,0.011,0.033,0.017,0.048,0.032c0.011,0.01,0.026,0.027,0.039,0.033
+  c0.016,0.006,0.037,0.009,0.054,0.014c0.022,0.006,0.045,0.001,0.067,0.006c0.008,0.002,0.019,0.007,0.028,0.009
+  c0.011,0.003,0.02,0.004,0.031,0.006c0.022,0.003,0.041,0.007,0.063,0.01c0.014,0.002,0.04,0.013,0.036,0.031
+  c-0.022-0.001-0.039,0.007-0.062,0.002c-0.019-0.004-0.036-0.005-0.057-0.008c-0.016-0.001-0.037-0.005-0.053-0.009
+  c-0.021-0.004-0.043-0.002-0.063-0.006c-0.019-0.005-0.034-0.016-0.053-0.02c-0.025-0.006-0.051-0.002-0.076-0.012
+  c-0.017-0.007-0.033-0.021-0.049-0.025c-0.018-0.004-0.04,0.002-0.058,0c-0.042-0.003-0.08-0.034-0.121-0.047
+  c-0.019-0.006-0.035-0.012-0.053-0.012c-0.02,0.001-0.037,0.004-0.053-0.008c-0.006-0.004-0.01-0.011-0.015-0.016
+  c-0.019-0.019-0.029-0.02-0.055-0.023c-0.019-0.002-0.045,0-0.064-0.005c-0.016-0.005-0.034-0.015-0.05-0.021
+  c-0.011-0.003-0.024-0.013-0.034-0.015c-0.008-0.002-0.019,0.004-0.026-0.001c-0.026-0.015-0.012-0.051-0.048-0.057
+  c-0.031-0.004-0.031-0.006-0.051-0.031c-0.025-0.03-0.056-0.057-0.091-0.074c-0.024-0.012-0.049-0.022-0.073-0.035
+  c-0.009-0.004-0.016-0.013-0.026-0.016c-0.011-0.002-0.022,0.002-0.032-0.002c-0.013-0.004-0.022-0.012-0.035-0.016
+  c-0.008-0.001-0.017-0.004-0.024-0.007c-0.01-0.005-0.014-0.01-0.025-0.012c-0.011-0.003-0.019-0.003-0.031-0.007
+  c-0.046-0.017-0.088-0.037-0.136-0.047c-0.032-0.006-0.06-0.024-0.09-0.034c-0.019-0.007-0.03-0.006-0.047-0.018
+  c-0.019-0.014-0.036-0.026-0.052-0.041c-0.017-0.017-0.039-0.023-0.058-0.037s-0.029-0.038-0.046-0.056
+  c-0.019-0.021-0.044-0.041-0.069-0.054c-0.029-0.016-0.058-0.041-0.089-0.051c-0.031-0.01-0.052-0.018-0.079-0.033
+  c-0.031-0.017-0.065-0.026-0.096-0.043c-0.013-0.008-0.027-0.013-0.04-0.021c-0.013-0.008-0.018-0.016-0.028-0.025
+  c-0.019-0.018-0.041-0.033-0.06-0.052c-0.019-0.019-0.043-0.015-0.065-0.031c-0.013-0.009-0.016-0.029-0.027-0.037
+  c-0.005-0.004-0.023-0.004-0.03-0.006c-0.02-0.006-0.035-0.01-0.041-0.031c-0.006-0.021-0.007-0.043-0.011-0.063
+  c-0.004-0.019,0-0.032,0.005-0.053c0.006-0.029,0.005-0.038-0.01-0.062c-0.012-0.021-0.01-0.029-0.038-0.032
+  c-0.028-0.003-0.03,0.016-0.053,0.025c-0.018,0.008-0.051,0.003-0.057-0.014c-0.004-0.012,0.005-0.023-0.003-0.033
+  c-0.006-0.008-0.019-0.011-0.027-0.016c-0.013-0.009-0.021-0.035-0.037-0.036c-0.002-0.013-0.002-0.021-0.005-0.03
+  c-0.021-0.006-0.049-0.03-0.066-0.043c-0.044-0.033-0.081-0.077-0.119-0.115c-0.017-0.017-0.032-0.033-0.048-0.052
+  c-0.012-0.015-0.028-0.02-0.042-0.032c-0.034-0.028-0.047-0.063-0.068-0.1c-0.012-0.021-0.04-0.029-0.05-0.051
+  c-0.001-0.002,0-0.004-0.001-0.007c-0.446-0.335-0.894-0.711-1.316-1.103c0.004,0.013,0.005,0.026,0.012,0.039
+  c0.005,0.008,0.01,0.012,0.014,0.021c0.007,0.017,0.009,0.036,0.016,0.053c0.018,0.046,0.042,0.088,0.053,0.136
+  c0.007,0.026,0.015,0.047,0.029,0.069c0.009,0.012,0.033,0.059,0.028,0.067l-0.011-0.005c-0.024-0.008-0.045-0.037-0.067-0.052
+  c-0.018-0.011-0.025-0.06-0.037-0.085c-0.013-0.027-0.034-0.048-0.05-0.074c-0.014-0.021-0.023-0.052-0.055-0.052
+  c0.003-0.024-0.014-0.031-0.027-0.047c-0.012-0.016-0.023-0.031-0.036-0.046c-0.027-0.029-0.05-0.068-0.065-0.104
+  c-0.004-0.01,0-0.02-0.003-0.032c-0.003-0.01-0.011-0.017-0.016-0.027c-0.007-0.014-0.009-0.032-0.017-0.047
+  c-0.006-0.011-0.021-0.019-0.026-0.031c-0.004-0.013-0.001-0.019-0.008-0.032c-0.002-0.003-0.004-0.006-0.006-0.008
+  c-1.279-1.251-2.211-2.634-1.778-3.512c0.001-0.001,0.002-0.001,0.004-0.002c-0.003-0.011-0.007-0.023-0.011-0.037
+  c-0.017-0.067,0.002-0.076,0.068-0.074c0.017,0.021,0.042,0.044,0.046,0.072c0.086-0.033,0.173-0.067,0.259-0.1
+  c-0.061-0.188-0.123-0.376-0.184-0.564c-0.002-0.002-0.005-0.002-0.009-0.006c0.002,0.002-0.034-0.046-0.033-0.041
+  c-0.001-0.001-0.002-0.002-0.003-0.002c0.006-0.01,0.011-0.023,0.018-0.035c-0.015-0.046-0.03-0.092-0.045-0.138
+  c-0.008-0.005-0.018-0.008-0.042-0.015c-0.043-0.01-0.053-0.017-0.072-0.058c-0.048-0.106-0.079-0.23-0.112-0.343
+  c0.001,0.002,0.002,0.003,0.005,0.002c0.008-0.042-0.03-0.102-0.042-0.14c-0.015-0.053-0.027-0.105-0.042-0.158
+  c-0.019-0.062-0.091-0.233-0.022-0.289c-0.041-0.125-0.082-0.25-0.123-0.375c0.346-0.283,0.692-0.566,1.038-0.85
+  c-0.001-0.001-0.002-0.002-0.003-0.003c-0.003-0.005-0.003-0.008-0.004-0.013c-0.001-0.003-0.003-0.004-0.003-0.008
+  c0-0.003,0-0.006,0-0.008c0-0.003-0.002-0.006-0.003-0.008c-0.001-0.006,0.003-0.011,0.003-0.016c0-0.007-0.001-0.008-0.003-0.013
+  c-0.003-0.009-0.009-0.015-0.013-0.023c-0.004-0.008-0.004-0.019-0.008-0.029c-0.003-0.006-0.006-0.011-0.011-0.016
+  c-0.005-0.006-0.007-0.014-0.011-0.019c0.003-0.004,0.01-0.003,0.011-0.008c0-0.007-0.017-0.004-0.021-0.004
+  c-0.018,0-0.034,0.005-0.052,0.004c-0.014-0.001-0.026-0.008-0.039-0.011c-0.016-0.004-0.03,0.009-0.045,0.011
+  c-0.006,0.001-0.013-0.002-0.02,0.001c-0.008,0.003-0.009,0.008-0.019,0.007c-0.014-0.001-0.023-0.008-0.036,0
+  c-0.006,0.003-0.011,0.008-0.017,0.012c-0.01,0.006-0.021,0.008-0.031,0.013c-0.017,0.007-0.035,0.009-0.052,0.014
+  c-0.034,0.008-0.062,0.022-0.093,0.037c-0.014,0.007-0.032,0.009-0.048,0.014c-0.016,0.006-0.031,0.016-0.047,0.023
+  c-0.012,0.005-0.026,0.012-0.039,0.015c-0.004,0-0.008,0-0.012-0.001c-0.005,0.001-0.007,0.002-0.012,0.003
+  c-0.007,0.002-0.014,0.005-0.02,0.006c-0.013,0.002-0.029-0.005-0.04,0.002c-0.006,0.004-0.008,0.01-0.016,0.013
+  c-0.007,0.001-0.017,0.002-0.023,0c0-0.007-0.005-0.008-0.008-0.012c-0.004-0.004-0.004-0.006-0.005-0.011
+  c-0.002-0.009-0.005-0.017-0.004-0.026c-0.001-0.007-0.002-0.015,0-0.022c0.002-0.016,0.015-0.028,0.023-0.041
+  c0.007-0.012,0.006-0.026,0.014-0.038c0.005-0.009,0.006-0.017,0.01-0.026c0.003-0.005,0.01-0.01,0.012-0.015
+  c0.002-0.004,0-0.008,0.002-0.011c0.006-0.012,0.019-0.021,0.027-0.033c0.004-0.007,0.005-0.016,0.008-0.024
+  c0.002-0.006,0.004-0.013,0.004-0.02v-0.02c0-0.003,0.001-0.009,0-0.012c-0.001-0.003-0.004-0.004-0.005-0.008
+  c-0.003-0.014,0.007-0.032-0.004-0.044c-0.006-0.005-0.012-0.005-0.018-0.008c-0.008-0.004-0.014-0.01-0.021-0.015
+  c-0.014-0.007-0.023-0.005-0.036,0.003c-0.006,0.003-0.01,0.007-0.012-0.003c-0.002-0.007,0-0.017,0-0.024
+  c0-0.009-0.005-0.013-0.004-0.021c0-0.005,0.006-0.01,0.009-0.014c0.006-0.01,0.012-0.02,0.023-0.026
+  c0.011-0.007,0.019-0.015,0.025-0.027c0.003-0.007,0.006-0.014,0.01-0.02c0.001-0.003,0.003-0.006,0.005-0.01
+  c0.001-0.002,0.001-0.005,0.002-0.008c0.001-0.006,0.004-0.01,0.006-0.016c0.001-0.003,0.002-0.004,0.003-0.007
+  c0.001-0.006,0-0.013,0.008-0.014l0,0c0.005-0.008,0.011-0.015,0.016-0.023c0.001-0.002,0.002-0.004,0.004-0.006
+  c0.003-0.006,0.006-0.009,0.01-0.013c0.005-0.006,0.009-0.012,0.013-0.018c0.004-0.007,0.005-0.016,0.009-0.023
+  c0.004-0.008,0.012-0.014,0.015-0.024c0.006-0.02-0.003-0.035-0.023-0.023c-0.016,0.009-0.031,0.021-0.048,0.03
+  c-0.025,0.012-0.013-0.02-0.004-0.03c0.013-0.015,0.03-0.023,0.042-0.039c0.012-0.014,0.015-0.035,0.029-0.047
+  c0.012-0.01,0.033-0.022,0.047-0.024c0.021-0.004,0.035-0.013,0.053-0.023c0.01-0.006,0.027-0.012,0.038-0.015
+  c0.006-0.001,0.01,0,0.015-0.001c0.005,0,0.007-0.003,0.01-0.003c0.011-0.002,0.014-0.002,0.023-0.007
+  c0.01-0.006,0.019-0.012,0.029-0.017c0.018-0.012,0.04-0.021,0.052-0.04c0.005-0.006,0.007-0.016,0.014-0.02
+  c0.007-0.005,0.016-0.006,0.023-0.009c0.018-0.009,0.024-0.022,0.035-0.037c0.003-0.005,0.01-0.016,0.015-0.019
+  c0.013-0.005,0.015,0.009,0.013,0.018c-0.003,0.009-0.013,0.02-0.018,0.029c-0.006,0.01-0.01,0.019-0.015,0.029
+  c-0.006,0.015-0.011,0.028-0.02,0.043c-0.006,0.009-0.01,0.019-0.017,0.029c-0.005,0.007-0.01,0.011-0.014,0.019
+  c-0.003,0.006-0.011,0.017-0.011,0.024c-0.001,0.01,0.007,0.012,0.004,0.022c-0.002,0.008-0.01,0.017-0.018,0.02
+  c-0.005,0.001-0.009,0-0.015,0.001c-0.004,0-0.007,0.003-0.01,0.003c-0.008,0.002-0.017-0.001-0.022,0.007
+  c-0.003,0.005,0.001,0.018,0.005,0.022c0.003,0.003,0.008,0.003,0.012,0.007c0.003,0.003,0.005,0.004,0.006,0.008
+  c0.001,0.004-0.001,0.01,0,0.015c0.001,0.006,0.001,0.005,0.003,0.01c0.004,0.008,0.009,0.014,0.013,0.022
+  c0.002,0.005,0.003,0.004,0.003,0.011c0,0.006-0.003,0.006-0.004,0.01c-0.001,0.006-0.001,0.012,0,0.018
+  c0.005,0.002,0.01,0.003,0.016,0.003c0.009,0.001,0.019-0.002,0.028,0c0.008,0.002,0.01,0.006,0.02,0.003
+  c0.008-0.002,0.015-0.002,0.024-0.003c0.003,0,0.009-0.003,0.012-0.003c0.004,0,0.003,0.003,0.007,0.003
+  c0.008,0.002,0.014,0.001,0.021,0.007c0.01,0.009,0.001,0.033-0.001,0.045c-0.005,0.018-0.001,0.035,0.007,0.052
+  c0.013,0.026,0.064-0.008,0.072-0.025c0.002-0.004,0.001-0.005,0.005-0.008c0.003-0.003,0.008-0.001,0.011-0.004
+  c0.007-0.005,0.011-0.015,0.009-0.023c-0.001-0.009-0.022-0.045-0.001-0.045c0.001-0.005,0.004-0.009,0.006-0.014
+  c0.003-0.005,0.003-0.01,0.004-0.016c0.001-0.005,0.007-0.023,0.014-0.024c0.004,0.007,0.014-0.001,0.017-0.004
+  c0.005-0.005,0.007-0.019,0.016-0.017c0.009,0.002,0.011,0.017,0.013,0.023c0.001,0.006,0.004,0.006,0.002,0.013
+  c-0.001,0.006-0.002,0.011-0.004,0.016c-0.003,0.012-0.003,0.023-0.003,0.036c0,0.011,0.001,0.02-0.003,0.029
+  c-0.008,0.017-0.007,0.035,0.003,0.051c0.009,0.014,0.024,0.027,0.037,0.039c0.008,0.007,0.016,0.005,0.026,0.005
+  c0.016,0,0.034,0,0.048-0.009c0.015-0.01,0.028-0.021,0.044-0.028c0.019-0.008,0.049-0.011,0.066-0.03
+  c0.008,0.003,0.009,0.003,0.018,0c0.009-0.003,0.016-0.005,0.023-0.01c0.006-0.003,0.011-0.01,0.017-0.011
+  c0.004-0.001,0.009,0.001,0.012,0c0.005-0.001,0.007-0.003,0.012-0.004c0.008-0.001,0.016,0.001,0.023-0.001
+  c0.009-0.002,0.019-0.006,0.029-0.007c0.007,0,0.015-0.001,0.02,0.004c0.008,0.007,0.001,0.014,0.004,0.024
+  c0.004,0.015,0.022,0.018,0.013,0.036c-0.011,0.021-0.032,0.027-0.049,0.044c-0.014,0.013-0.026,0.028-0.039,0.041
+  c-0.011,0.011-0.025,0.017-0.036,0.028c-0.008,0.007-0.02,0.016-0.025,0.026c-0.003,0.008-0.003,0.013-0.009,0.019
+  c-0.006,0.007-0.013,0.009-0.019,0.017c-0.007,0.012-0.017,0.02-0.027,0.029c-0.008,0.007-0.014,0.013-0.021,0.02
+  c-0.004,0.005-0.009,0.007-0.013,0.011c-0.002,0.004-0.004,0.009-0.006,0.012c-0.009,0.012-0.02,0.02-0.031,0.029
+  c-0.005,0.004-0.011,0.009-0.014,0.014c-0.005,0.006-0.007,0.014-0.011,0.021c-0.005,0.007-0.002,0.012-0.004,0.02
+  c-0.002,0.007-0.009,0.013-0.011,0.02c-0.005,0.015-0.001,0.036-0.001,0.052c0,0.008-0.003,0.012-0.004,0.02
+  c-0.002,0.006,0.001,0.013,0,0.02c-0.001,0.006-0.003,0.009-0.004,0.015c-0.001,0.007,0,0.014,0,0.021
+  c-0.001,0.012-0.006,0.027-0.009,0.039c-0.001,0.005-0.001,0.009-0.002,0.013c0.08-0.066,0.159-0.131,0.239-0.196
+  c0.048,0.003,0.096,0.005,0.144,0.008c0.001-0.004,0-0.007,0.002-0.01c0.002-0.004,0.005-0.01,0.009-0.013
+  c0.004-0.004,0.01-0.003,0.014-0.009c0.008-0.011,0.004-0.027,0.005-0.04c0-0.018,0.014-0.018,0.028-0.025
+  c0.011-0.006,0.02-0.012,0.031-0.02c0.012-0.008,0.024-0.003,0.036-0.012c0.006-0.004,0.011-0.009,0.017-0.014
+  c0.005-0.004,0.008-0.004,0.015-0.006c0.009-0.002,0.009-0.003,0.016,0.001c0.006,0.004,0.008,0.004,0.007,0.011
+  c0,0.003-0.005,0.008-0.006,0.01c-0.002,0.006-0.005,0.013-0.005,0.019c0,0.012,0.003,0.027-0.003,0.037
+  c-0.006,0.011-0.021,0.016-0.029,0.026c-0.007,0.008-0.01,0.018-0.019,0.026c-0.002,0.002-0.006,0.005-0.008,0.008
+  c-0.002,0.003-0.002,0.011-0.005,0.014c-0.001,0.001-0.003,0.001-0.005,0.002c0.022,0.001,0.043,0.002,0.064,0.003
+  c0.002-0.006,0.006-0.013,0.008-0.018c0.008-0.024,0.023-0.032,0.045-0.045c0.022-0.012,0.043-0.01,0.067-0.021
+  c0.013-0.006,0.024-0.014,0.037-0.019c0.016-0.007,0.039-0.005,0.054-0.011c0.048-0.02,0.066-0.083,0.096-0.12
+  c0.018-0.021,0.03-0.027,0.055-0.019c0.012,0.004,0.021,0.013,0.032,0.016c0.021,0.007,0.044,0.005,0.064,0.011
+  c0.026,0.009,0.043,0.024,0.059,0.046c0.009,0.012,0.013,0.026,0.021,0.038c0.006,0.009,0.02,0.018,0.025,0.026
+  c0.01,0.017,0.007,0.045,0.005,0.066c-0.005,0.043,0.01,0.019,0.035,0.044c0.015,0.014,0.004,0.026-0.002,0.038
+  c0.293,0.016,0.586,0.031,0.879,0.047c0-0.008-0.001-0.017,0.001-0.024c0.004-0.014,0.016-0.024,0.019-0.037
+  c-0.001,0.006,0.001,0.011,0.001,0.016c0.02-0.01,0.041-0.019,0.062-0.026c0.02-0.008,0.043-0.037,0.059-0.037
+  c0.012,0,0.047,0.023,0.06,0.03c0.035,0.017,0.058,0.028,0.098,0.028l0,0c0.32-0.095,0.639-0.19,0.958-0.285
+  c0.003-0.004,0.006-0.008,0.01-0.012c0.019-0.019,0.042-0.016,0.061-0.031c0.016-0.013,0.016-0.038,0.023-0.056
+  c0.016-0.04,0.063-0.047,0.1-0.04c0.003,0.006,0.007,0.008,0.013,0.009c0.006-0.001,0.011-0.004,0.013-0.009
+  c0.01-0.003,0.014-0.004,0.022-0.01c0.009-0.007,0.027-0.023,0.029-0.034c0.005-0.022-0.051-0.075-0.003-0.083
+  c0.018,0.021,0.04,0.04,0.055,0.062c0.016,0.021,0.032,0.044,0.05,0.065c0.005,0.006,0.01,0.015,0.017,0.024
+  c0.129-0.039,0.258-0.077,0.387-0.116c0.024,0.045,0.047,0.09,0.07,0.135c-0.204,0.679-0.937,1.674-0.611,2.037
+  c0.325,0.363,0.981,0.295,1.472,0.442c0.069,0.151,0.138,0.302,0.207,0.454c-0.111,0.243-0.223,0.487-0.334,0.73
+  c0.051,0.247,0.101,0.495,0.152,0.742c0.02,0.015,0.036,0.036,0.042,0.045c0.021,0.033,0.016,0.069,0.028,0.103
+  c0.007,0.016,0.016,0.033,0.02,0.049c0.003,0.016-0.008,0.032-0.008,0.046c-0.001,0.012,0.019,0.024,0.027,0.035
+  c0.012,0.015,0.016,0.03,0.019,0.045c0.009,0.037,0.011,0.074,0,0.111c-0.006,0.022,0.009,0.04,0.008,0.062
+  c0,0.02-0.001,0.04,0,0.059c0.001,0.01,0.007,0.019,0.006,0.028c-0.001,0.009-0.011,0.018-0.018,0.027
+  c0.045,0.223,0.091,0.445,0.136,0.668c0.483,0.384,0.967,0.768,1.45,1.152c-0.011,0.005-0.021,0.011-0.032,0.016
+  c0.032,0.006,0.083,0.008,0.097,0.036c-0.026,0.011-0.052,0.025-0.078,0.032c-0.021,0.005-0.039,0.021-0.059,0.025
+  c-0.022,0.006-0.046,0.005-0.067,0.013c-0.002,0.001-0.004,0.002-0.006,0.003c0.041,0.054,0.082,0.109,0.124,0.164
+  c0.047-0.014,0.094-0.027,0.141-0.04c-0.014-0.016-0.025-0.039-0.028-0.05c-0.002-0.012-0.006-0.038,0-0.049
+  c0.007-0.012,0.024-0.012,0.033-0.024c0.02-0.028-0.005-0.064,0.023-0.084c0.028-0.02,0.058,0.011,0.085,0.021
+  c0.031,0.012,0.067,0.008,0.065,0.05c-0.003,0.038-0.052,0.063-0.079,0.084c-0.008,0.006-0.024,0.015-0.027,0.025
+  c-0.001,0.002,0.001,0.004,0.001,0.006C-25.854,56.564-25.78,56.543-25.706,56.522z M-29.093,49.403
+  c-0.006,0.016-0.011,0.036-0.032,0.033c-0.008-0.002-0.017-0.013-0.026-0.025l0.016,0.024c-0.018,0.002-0.027-0.025-0.031-0.046
+  l0.005,0.008c-0.001-0.003-0.003-0.006-0.005-0.008c-0.001-0.007-0.001-0.013-0.001-0.018c0-0.021,0.011-0.037,0.018-0.055
+  c0.006-0.015,0.008-0.046,0.024-0.051c0.019-0.006,0.034,0.02,0.043,0.032c0.016,0.026,0.002,0.027-0.001,0.053
+  C-29.085,49.369-29.086,49.386-29.093,49.403z M-29.177,49.371c0.003,0.004,0.007,0.01,0.011,0.018l0,0L-29.177,49.371z
+  M-30.756,48.278c-0.003,0.006-0.009,0.011-0.011,0.018c0,0.002-0.001,0.005-0.001,0.007c-0.002,0.002-0.004,0.005-0.006,0.007
+  c-0.002,0.006-0.002,0.012-0.005,0.018c-0.004,0.01-0.003,0.021-0.006,0.031c-0.006,0.016-0.011,0.032-0.019,0.047
+  c-0.008,0.019-0.025,0.034-0.038,0.051c-0.009,0.011-0.017,0.022-0.026,0.033c-0.006,0.008-0.012,0.016-0.017,0.024
+  c-0.01,0.017-0.014,0.037-0.026,0.053c-0.007,0.01-0.017,0.019-0.024,0.029c-0.009,0.012-0.016,0.023-0.025,0.034
+  c-0.006,0.006-0.01,0.014-0.017,0.02c-0.006,0.006-0.014,0.011-0.019,0.018c-0.007,0.011-0.016,0.019-0.029,0.022
+  c-0.01,0.001-0.022-0.003-0.032,0c-0.004,0.001-0.007,0.006-0.01,0.008c-0.006,0.003-0.009,0.002-0.016,0.002l-0.01-0.007
+  c-0.003-0.003-0.007-0.004-0.011-0.006c-0.008-0.007-0.012-0.018-0.018-0.026c-0.006-0.007-0.007-0.014-0.012-0.021
+  c-0.004-0.006-0.009-0.009-0.013-0.016c-0.004-0.006-0.009-0.012-0.015-0.018c-0.006-0.005-0.012-0.008-0.017-0.013
+  c-0.006-0.005-0.008-0.015-0.01-0.022c-0.002-0.007-0.005-0.013-0.005-0.021c0.001-0.008-0.003-0.014-0.003-0.022
+  c-0.001-0.008,0.001-0.017,0-0.025c-0.003-0.032-0.026-0.059-0.033-0.089c-0.004-0.014-0.005-0.027,0.008-0.037
+  c0.005-0.004,0.012-0.006,0.018-0.009c0.008-0.005,0.017-0.01,0.025-0.015c0.006-0.003,0.012-0.008,0.018-0.012
+  c0.007-0.006,0.011-0.014,0.018-0.02c0.005-0.004,0.01-0.006,0.014-0.011c0.004-0.004,0.005-0.009,0.009-0.013
+  c0.008-0.011,0.022-0.021,0.033-0.029c0.01-0.008,0.018-0.016,0.029-0.022c0.013-0.008,0.023-0.02,0.036-0.029
+  c0.008-0.006,0.014-0.012,0.022-0.018c0.007-0.004,0.013-0.007,0.02-0.011c0.012-0.008,0.026-0.011,0.038-0.017
+  c0.005-0.002,0.01-0.003,0.014-0.007c0.008-0.005,0.017-0.009,0.024-0.015c0.005-0.004,0.01-0.008,0.014-0.01
+  c0.007-0.005,0.014-0.01,0.022-0.014c0.006-0.003,0.011-0.005,0.018-0.004c0.009,0.003,0.016,0.006,0.024,0.009
+  c0.011,0.005,0.02,0.009,0.03,0.015c0.004,0.002,0.007,0.005,0.011,0.007c0.008,0.004,0.008,0.004,0.01,0.012
+  c0.005,0.013,0.002,0.026,0.01,0.039c0.006,0.01,0.026,0.011,0.03,0.021c0.003,0.01-0.003,0.024-0.008,0.032
+  S-30.752,48.27-30.756,48.278z M-30.84,48.052c0,0-0.007,0.007-0.007,0.008c-0.004,0.004-0.006,0.005-0.01,0.008
+  c-0.008,0.005-0.014,0.014-0.022,0.019c-0.01,0.008-0.023,0.016-0.035,0.019c-0.012,0.003-0.023,0.006-0.033,0.014
+  c-0.011,0.007-0.021,0.016-0.032,0.023c-0.003,0.002-0.015,0.009-0.019,0.009c-0.006,0.001-0.014-0.005-0.02-0.01l0.002-0.003
+  c-0.004-0.005-0.005-0.009-0.007-0.015c-0.002-0.007,0-0.014-0.002-0.022c-0.001-0.005-0.006-0.007-0.004-0.014
+  c0.001-0.006,0.006-0.01,0.01-0.014c0.006-0.006,0.01-0.018,0.014-0.026c0.008-0.016,0.019-0.02,0.033-0.029
+  c0.008-0.004,0.011-0.002,0.018,0.001c0.009,0.002,0.011-0.002,0.017-0.008c0.009-0.008,0.019-0.015,0.029-0.024
+  c0.012-0.01,0.022-0.022,0.037-0.029c0.004-0.002,0.009-0.005,0.014-0.007c0.004-0.002,0.012-0.004,0.017-0.002
+  c0.027,0.01,0,0.046,0.001,0.063C-30.839,48.024-30.836,48.042-30.84,48.052z M-31.022,48.138c0.001,0.001,0.003,0.003,0.004,0.004
+  l0,0L-31.022,48.138z M-31.215,48.707c0.002,0.008,0.007,0.015,0.011,0.022c0.005,0.007,0.008,0.014,0.01,0.021
+  c0.003,0.007,0.006,0.014,0.003,0.022c-0.004,0.011-0.009,0.008-0.017,0.01c-0.013,0.003-0.024,0.015-0.035,0.021
+  c-0.006,0.003-0.013,0.005-0.019,0.008c-0.004,0.003-0.008,0.005-0.013,0.007c-0.005,0.002-0.01,0.006-0.015,0.007
+  c-0.005,0.001-0.009,0-0.014,0c-0.009,0.002-0.018,0.004-0.027,0.007c-0.023,0.006-0.046,0.007-0.07,0.013
+  c-0.015,0.004-0.03,0.005-0.046,0.008c-0.013,0.003-0.024,0.007-0.036,0.011c-0.038,0.011-0.072,0.036-0.104,0.057
+  c-0.018,0.012-0.034,0.018-0.054,0.013c-0.01-0.003-0.02,0.001-0.029,0.006c-0.014,0.007-0.025,0.015-0.04,0.021
+  c-0.012,0.004-0.029,0.007-0.042,0.008c-0.006,0-0.012-0.001-0.018-0.001c-0.01,0.001-0.02,0.004-0.029,0.004
+  c-0.009,0.001-0.016-0.001-0.024,0.001c-0.008,0.001-0.014,0.003-0.022,0.003c-0.017,0-0.033,0.002-0.05,0.003
+  c-0.007,0-0.012,0.003-0.018,0.004c-0.009,0.001-0.019,0-0.028,0c-0.01,0-0.017,0.001-0.026,0.003c-0.01,0.001-0.019-0.001-0.028,0
+  c-0.007,0.001-0.014,0.004-0.021,0.004c-0.011,0.001-0.022,0-0.033,0c-0.02,0-0.04,0-0.061,0c-0.023,0-0.053-0.005-0.071-0.021
+  c-0.009-0.009-0.017-0.016-0.025-0.025c-0.004-0.003-0.007-0.007-0.011-0.011c-0.005-0.002-0.012-0.003-0.017-0.005
+  c-0.006-0.002-0.013-0.006-0.018-0.01c-0.01-0.008-0.01-0.018-0.015-0.028c-0.003-0.007-0.007-0.015-0.011-0.022
+  c-0.006-0.01-0.002-0.019,0.001-0.031c0.001-0.004,0.002-0.008,0.004-0.012c-0.004-0.014-0.005-0.028-0.008-0.042
+  c-0.002-0.015,0.011-0.033,0.017-0.047c0.002-0.007,0.006-0.014,0.004-0.022c-0.004-0.009-0.01-0.017-0.011-0.027
+  c-0.001-0.013-0.006-0.024,0.001-0.037c0.002-0.005,0.004-0.009,0.008-0.013c0.005-0.006,0.012-0.01,0.017-0.016
+  c0.005-0.006,0.008-0.009,0.018-0.007c0.003,0.001,0.003,0.003,0.006,0.004c0.004,0.001,0.007,0,0.011,0.001
+  c0.008,0.002,0.013,0.004,0.022,0.002c0.003-0.001,0.007-0.003,0.011-0.004c0.005-0.002,0.008-0.001,0.014-0.002
+  c0.004-0.001,0.006-0.004,0.011-0.004c0.003,0.001,0.007,0.003,0.01,0.003c0.004,0.001,0.008,0,0.011,0
+  c0.004,0.001,0.006,0.003,0.008,0.003c0.007,0.002,0.014,0.001,0.021,0.001c0.009,0,0.016,0.006,0.025,0.007
+  c0.003,0.001,0.007-0.001,0.011,0c0.003,0.001,0.003,0.003,0.006,0.004c0.007,0.001,0.016,0,0.022,0c0.017,0,0.03,0.001,0.042-0.012
+  c0.009-0.009,0.012-0.023,0.022-0.032c0.003-0.004,0.008-0.007,0.011-0.011c0.006-0.006,0.011-0.007,0.018-0.011
+  c0.015-0.007,0.022-0.023,0.03-0.037c0.007-0.013,0.017-0.024,0.024-0.038c0.005-0.012,0.009-0.026,0.014-0.038
+  c0.002-0.006,0.009-0.013,0.01-0.019c0.001-0.003,0-0.007,0.001-0.01c0-0.003,0.003-0.004,0.004-0.007
+  c0-0.005-0.002-0.007-0.003-0.011c-0.002-0.006-0.002-0.012-0.004-0.018c-0.006-0.023-0.004-0.043,0.003-0.064
+  c0.005-0.016,0.011-0.03,0.011-0.047c-0.001-0.016,0-0.035,0.021-0.035c0.017,0,0.021,0.014,0.033,0.024
+  c0.012,0.009,0.027,0.002,0.038-0.003c0.014-0.006,0.027-0.017,0.037-0.028c0.006-0.007,0.014-0.015,0.017-0.023
+  c0.007-0.013,0.012-0.028,0.018-0.042c0.009-0.018,0.018-0.037,0.029-0.054c0.005-0.009,0.011-0.015,0.013-0.024
+  c0.002-0.01-0.002-0.015-0.007-0.022c-0.007-0.012-0.009-0.029-0.006-0.043c0.001-0.008,0.003-0.013,0.003-0.022
+  c0-0.007,0-0.014,0-0.021c0.001-0.02,0.007-0.042,0.014-0.061c0.007-0.019,0.005-0.04,0.009-0.06
+  c0.003-0.019,0.013-0.039,0.013-0.058c0-0.013,0.003-0.03-0.001-0.043c-0.001-0.006-0.005-0.012-0.006-0.018
+  c-0.002-0.007-0.002-0.014-0.003-0.021c-0.001-0.004-0.004-0.004-0.004-0.007c-0.001-0.003,0-0.008,0-0.011
+  c0-0.007-0.001-0.015,0.001-0.021c0.004-0.016,0.005-0.03,0.014-0.043c0.008-0.012,0.019-0.019,0.025-0.032
+  c0.004-0.008,0.02-0.028,0.031-0.026c0.005,0.001,0.011,0.008,0.014,0.012c0.006,0.008,0.004,0.012,0.001,0.02
+  c-0.004,0.017,0.001,0.031,0.01,0.044c0.008,0.014,0.011,0.027,0.016,0.042c0.005,0.017,0.015,0.016,0.028,0.021
+  c0.018,0.007,0.022,0.024,0.028,0.04c0.002,0.006,0.006,0.013,0.007,0.018c0.001,0.003-0.001,0.008,0,0.011
+  c0.001,0.003,0.003,0.008,0.004,0.01c0.004,0.013,0.003,0.026,0.003,0.04c0,0.006,0.002,0.015,0,0.022
+  c-0.001,0.004-0.008,0.016-0.003,0.02c0.01,0.009,0.018-0.03,0.033-0.014c0.009,0.01,0.012,0.031,0.009,0.043
+  c-0.001,0.005-0.003,0.007-0.003,0.011c0,0.004,0.001,0.008,0,0.011c-0.001,0.005-0.005,0.013-0.007,0.018
+  c-0.003,0.006-0.007,0.009-0.011,0.014c-0.003,0.006-0.006,0.012-0.007,0.018c-0.001,0.008,0.001,0.015-0.002,0.022
+  c-0.006,0.014-0.015,0.012-0.026,0.018c-0.008,0.005-0.01,0.012-0.011,0.021c-0.001,0.005-0.001,0.01,0.001,0.014
+  c0.001,0.006,0.001,0.013,0.003,0.018c0.005,0.016,0.017,0.029,0.023,0.043c0.004,0.007,0.008,0.014,0.016,0.017
+  c0.009,0.004,0.016-0.001,0.021-0.006c0.01-0.011,0.017-0.029,0.022-0.043c0.007-0.016,0-0.034,0.017-0.044
+  c0.014-0.007,0.018,0.01,0.025,0.019c0.004,0.005,0.012,0.009,0.018,0.011c0.009,0.001,0.018-0.006,0.025-0.003
+  c0.004,0.001,0.007,0.008,0.01,0.011c0.005,0.003,0.01,0.004,0.015,0.007c0.007,0.005,0.014,0.012,0.019,0.019
+  c0.009,0.012,0.01,0.02,0.01,0.034v0.06c0,0.019,0.003,0.04-0.004,0.058c-0.002,0.007-0.003,0.013-0.003,0.021
+  s-0.003,0.014-0.004,0.021c0,0.004,0.001,0.008,0.001,0.011c-0.001,0.004-0.004,0.007-0.005,0.011c0,0.005,0.001,0.01,0,0.015
+  c-0.001,0.008-0.004,0.017-0.007,0.025c-0.006,0.013-0.012,0.027-0.014,0.042c0,0.008-0.003,0.014-0.004,0.022
+  c-0.003,0.017-0.003,0.03,0,0.048c0.002,0.01,0,0.02,0.001,0.03c0,0.008,0.003,0.016,0.004,0.024c0.002,0.01,0.003,0.02,0.005,0.03
+  c0.003,0.01,0.008,0.019,0.011,0.029c0.005,0.014,0.006,0.029,0.013,0.042c0.002,0.004,0.005,0.011,0.007,0.014
+  c0.004,0.006,0.007,0.007,0.012,0.011c0.009,0.008,0.019,0.022,0.024,0.033C-31.218,48.693-31.217,48.7-31.215,48.707z
+  M-31.576,47.405c-0.012,0.017-0.033,0.042-0.054,0.043c-0.01,0-0.018,0.003-0.029,0.003c-0.009,0.001-0.025-0.005-0.025-0.017
+  l0.011,0.001c-0.008-0.003-0.017-0.012-0.022-0.017c-0.018-0.015-0.019-0.026-0.015-0.048c0.003-0.013,0.006-0.027,0.015-0.037
+  c0.008-0.007,0.016-0.011,0.022-0.021c0.005-0.007,0.005-0.023,0.014-0.025c0.01-0.003,0.02-0.001,0.028-0.008
+  c0.007-0.005,0.009-0.012,0.019-0.01c0.01,0.002,0.018,0.01,0.028,0.011c0.012,0,0.014-0.001,0.019,0.011
+  c0.004,0.009,0.008,0.022,0.007,0.032c-0.002,0.016-0.006,0.031-0.008,0.046C-31.567,47.381-31.57,47.395-31.576,47.405z
+  M-32.403,49.724C-32.403,49.723-32.403,49.723-32.403,49.724L-32.403,49.724L-32.403,49.724z M-32.319,48.806
+  c-0.002,0.006,0,0.006-0.004,0.012c-0.002,0.003-0.005,0.006-0.007,0.009c-0.004,0.006-0.006,0.013-0.008,0.019
+  c-0.003,0.007-0.003,0.013-0.006,0.02c0,0.001-0.007,0.011-0.008,0.011c-0.005,0.003-0.01-0.002-0.015-0.003l-0.008-0.004
+  c-0.004-0.014-0.016-0.027-0.021-0.04c-0.003-0.008-0.005-0.014-0.011-0.021c-0.002-0.002-0.005-0.007-0.007-0.008
+  c-0.003-0.002-0.007-0.001-0.009-0.003c-0.006-0.003-0.01-0.011-0.015-0.017c-0.006-0.008-0.004-0.009-0.002-0.019
+  c0.003-0.011-0.005-0.009-0.01-0.016c-0.004-0.007,0.001-0.017,0.003-0.024c0.005-0.013,0.006-0.029,0.012-0.044
+  c0.005-0.012,0.012-0.025,0.019-0.036c0.006-0.009,0.002-0.015,0.005-0.024c0.002-0.006,0.009-0.008,0.011-0.015
+  c0.002-0.007,0.005-0.018,0.004-0.024c-0.001-0.009-0.008-0.021,0.005-0.024c0.007-0.003,0.014,0,0.019,0.005
+  c0.006,0.006,0.004,0.01,0.006,0.019c0.003,0.015,0.012,0.028,0.016,0.043c0.001,0.004,0.002,0.004,0.003,0.009
+  c0,0.007,0.002,0.01,0.003,0.016c0.002,0.008,0.003,0.015,0.006,0.024c0.002,0.008,0.006,0.012,0.011,0.019
+  c0.005,0.008,0.007,0.017,0.011,0.025c0.006,0.014,0.009,0.028,0.009,0.043c0,0.01,0.001,0.019-0.003,0.028
+  C-32.313,48.793-32.317,48.8-32.319,48.806z M-32.951,49.238c-0.004,0.004-0.007,0.009-0.011,0.013
+  c-0.005,0.007-0.015,0.019-0.017,0.027s0.001,0.009-0.005,0.015c-0.003,0.004-0.006,0.007-0.01,0.01
+  c-0.011,0.011-0.017,0.014-0.017,0.031c0,0.014-0.003,0.026-0.01,0.037c-0.004,0.005-0.011,0.011-0.018,0.011
+  c-0.008,0.001-0.011-0.006-0.015-0.012c0.008-0.018-0.01-0.041-0.02-0.056c-0.011-0.018-0.03-0.034-0.033-0.056
+  c-0.001-0.014,0.009-0.022,0.015-0.033c0.008-0.012,0.016-0.023,0.025-0.035c0.007-0.01,0.014-0.02,0.024-0.028
+  c0.004-0.002,0.009-0.004,0.012-0.008c0.002-0.005,0.001-0.014,0.005-0.019c0.002,0,0.004-0.001,0.006-0.001
+  c0.003-0.002,0.004-0.005,0.006-0.007c0.007-0.005,0.01-0.005,0.019-0.005c0.012,0.001,0.031-0.004,0.039,0.005
+  c0.009,0.01,0.013,0.018,0.013,0.031c0,0.007,0,0.014,0,0.02c0,0.01,0.005,0.015,0.009,0.023c0.003,0.007,0.003,0.01-0.001,0.018
+  C-32.939,49.226-32.945,49.232-32.951,49.238z M-33.22,48.753c-0.008,0.025-0.021,0.047-0.041,0.062
+  c-0.017,0.014-0.035,0.032-0.048,0.05c-0.013,0.02-0.032,0.039-0.042,0.061c-0.004,0.007-0.007,0.013-0.01,0.02
+  c-0.002,0.004-0.005,0.008-0.007,0.012c-0.003,0.003-0.003,0.007-0.005,0.011c-0.008,0.013-0.022,0.025-0.031,0.037
+  c-0.005,0.006-0.009,0.013-0.013,0.02c-0.003,0.004-0.008,0.007-0.011,0.011c-0.006,0.008-0.006,0.014-0.013,0.022
+  c-0.008,0.009-0.018,0.015-0.027,0.023c-0.007,0.007-0.012,0.014-0.019,0.021c-0.005,0.004-0.013,0.01-0.02,0.005
+  c-0.007-0.004-0.004-0.011-0.006-0.018c-0.001,0-0.002,0-0.003-0.001l-0.004-0.004c0-0.009,0.003-0.015,0.004-0.023
+  c0.001-0.005,0-0.011,0-0.015c0-0.007,0.002-0.011,0.003-0.016c0.004-0.02,0.008-0.039,0.014-0.057
+  c0.005-0.016,0.005-0.032,0.011-0.048c0.003-0.008,0.004-0.017,0.009-0.023c0.007-0.008,0.012-0.01,0.016-0.02
+  c0.001-0.004,0.002-0.004,0.003-0.009c0-0.004-0.001-0.007,0.001-0.011c0.002-0.004,0.008-0.008,0.012-0.012
+  c0.007-0.008,0.011-0.019,0.015-0.029c0.003-0.009,0.008-0.012,0.013-0.02c0.005-0.007,0.007-0.016,0.01-0.025
+  c0.004-0.012,0.008-0.013,0.016-0.023c0.009-0.012,0.012-0.027,0.021-0.04c0.009-0.012,0.017-0.022,0.025-0.035
+  c0.005-0.009,0.008-0.016,0.015-0.024c0.005-0.008,0.007-0.017,0.012-0.024c0.006-0.008,0.013-0.013,0.021-0.019
+  c0.001-0.002,0.003-0.005,0.005-0.006c0.003-0.002,0.006-0.002,0.008-0.004c0.01-0.007,0.013-0.029,0.029-0.023
+  c0.013,0.004,0.016,0.023,0.019,0.033c0.003,0.007,0.005,0.013,0.01,0.018c0.003,0.004,0.007,0.006,0.01,0.01
+  c0.005,0.004,0.003,0.005,0.005,0.011c0.005,0.014,0.017,0.031,0.019,0.047c0.002,0.012-0.004,0.014-0.011,0.022
+  C-33.213,48.73-33.216,48.742-33.22,48.753z M-33.383,48.53c-0.013,0.006-0.025,0.013-0.038,0.017
+  c-0.014,0.005-0.02,0.014-0.029,0.024c-0.008,0.008-0.016,0.012-0.026,0.016c-0.007,0.003-0.01,0.004-0.017-0.001
+  c-0.005-0.002-0.011-0.006-0.012-0.011l-0.008-0.009c-0.008-0.007-0.014-0.015-0.02-0.024c-0.003-0.004-0.01-0.011-0.011-0.016
+  c-0.004-0.011-0.001-0.028,0.002-0.039c0.003-0.009,0.001-0.021,0.009-0.027c0.004-0.004,0.01-0.005,0.015-0.01
+  c0.003-0.004,0.005-0.008,0.008-0.012c0.002-0.004,0.007-0.007,0.01-0.01c0.005-0.006,0.008-0.012,0.015-0.016
+  c0.006-0.005,0.008-0.004,0.016-0.005c0.007-0.001,0.012-0.004,0.02-0.004s0.012,0.003,0.02,0.004
+  c0.012,0.002,0.025-0.003,0.036,0.003c0.006,0.003,0.014,0.008,0.019,0.013s0.006,0.013,0.012,0.017
+  c0.007,0.004,0.014,0,0.019,0.004c0.004,0.002,0.006,0.008,0.008,0.012c0.007,0.013,0.012,0.016,0.005,0.031
+  c-0.006,0.013-0.011,0.017-0.023,0.024C-33.364,48.516-33.372,48.525-33.383,48.53z M-33.559,49.088
+  c-0.003,0.01-0.003,0.011-0.01,0.017c-0.006,0.006-0.017,0.007-0.021,0.015c-0.003,0.005,0,0.013-0.001,0.021
+  c-0.001,0.013,0.004,0.016-0.01,0.02l-0.005-0.007c-0.014,0.002-0.02-0.026-0.017-0.036c0.004-0.01,0.006-0.017,0.007-0.027
+  c0-0.009-0.002-0.017,0-0.025c0.002-0.015,0.003-0.029,0.011-0.042c0.003-0.006,0.008-0.011,0.013-0.016
+  c0.009-0.01,0.013-0.012,0.025-0.005c0.007,0.003,0.011,0.005,0.014,0.012c0.004,0.008,0.006,0.018,0.005,0.028
+  c-0.001,0.007,0.001,0.014,0,0.021C-33.55,49.072-33.557,49.079-33.559,49.088z M-33.537,48.952
+  c-0.006,0.009-0.019,0.019-0.031,0.016l0.004-0.008c-0.003,0-0.009,0.002-0.012,0.001c-0.006-0.002-0.005-0.007-0.009-0.012
+  c-0.006-0.008-0.011-0.012-0.011-0.024c-0.001-0.009,0.003-0.016,0.004-0.025c0.003-0.02,0-0.043,0-0.063
+  c0-0.012,0.002-0.018,0.005-0.029c0.003-0.012,0.002-0.021,0.011-0.03c0.006-0.006,0.013-0.01,0.015-0.018
+  c0.001-0.005,0-0.01,0.001-0.015c0.001-0.006,0.004-0.01,0.005-0.015c0.008-0.001,0.023-0.005,0.03-0.01
+  c0.01-0.007,0.011-0.016,0.014-0.026c0.002-0.008,0.01-0.013,0.016-0.02c0.008-0.009,0.007-0.022,0.014-0.033
+  c0.012-0.021,0.045-0.029,0.058-0.005c0.006,0.012,0.001,0.021-0.002,0.033c-0.001,0.005,0.001,0.012,0.001,0.017
+  c-0.001,0.012-0.007,0.022-0.009,0.034c0,0.007,0,0.014-0.004,0.021c-0.004,0.006-0.01,0.011-0.014,0.017
+  c-0.007,0.009-0.016,0.017-0.02,0.028c-0.01,0.025-0.031,0.045-0.04,0.071c-0.005,0.011-0.007,0.023-0.01,0.035
+  c-0.001,0.004-0.003,0.006-0.003,0.013s-0.003,0.009-0.004,0.015c-0.002,0.005,0.001,0.011,0,0.017S-33.534,48.947-33.537,48.952z
+  M-33.541,48.343c-0.002,0.008-0.003,0.013-0.003,0.021c0,0.01,0,0.011-0.005,0.019c-0.007,0.012-0.019,0.023-0.023,0.036
+  c-0.002,0.007-0.003,0.013-0.007,0.02c-0.003,0.006-0.009,0.014-0.009,0.02s0.003,0.01,0.004,0.016
+  c0.001,0.007-0.002,0.012-0.003,0.017c-0.002,0.012-0.002,0.025-0.009,0.035c-0.002,0.004-0.005,0.008-0.009,0.011
+  c-0.003,0.002-0.014,0.007-0.018,0.008c0-0.006-0.006-0.009-0.005-0.015l-0.008-0.004c0-0.008,0.001-0.016,0.001-0.023
+  c-0.001-0.013-0.008-0.025-0.009-0.037c0-0.005,0.002-0.011,0.001-0.016c-0.001-0.004-0.004-0.008-0.005-0.012
+  c-0.001-0.006,0-0.006-0.003-0.012c-0.003-0.004-0.008-0.009-0.012-0.013c-0.008-0.01-0.015-0.022-0.025-0.03
+  c-0.007-0.004-0.017-0.005-0.023-0.009c-0.005-0.005-0.012-0.016-0.013-0.024c0-0.008,0.005-0.015,0.005-0.024
+  c-0.001-0.008,0.002-0.016,0.003-0.024c0.004-0.016,0.011-0.034,0.017-0.051c0.003-0.005,0.005-0.015,0.008-0.02
+  c0.004-0.005,0.009-0.009,0.012-0.016c0.003-0.009,0.007-0.019,0.008-0.028c0-0.009-0.002-0.019,0-0.028
+  c0.007,0,0.01-0.003,0.015-0.004c0.006-0.002,0.014,0.001,0.02,0c0.013-0.002,0.021-0.011,0.031-0.017c0.009-0.006,0.011,0,0.02,0
+  c0.008,0,0.013-0.003,0.021-0.003c0.014,0,0.027,0.001,0.04,0.007c0.01,0.005,0.02,0.014,0.029,0.02
+  c0.007,0.005,0.012,0.016,0.016,0.024c0.005,0.011,0.009,0.018,0.006,0.032c-0.004,0.022-0.019,0.029-0.031,0.045
+  C-33.523,48.289-33.533,48.314-33.541,48.343z M-32.86,55.655c0.007,0.016,0.017,0.03,0.024,0.047
+  c0.017,0.042,0.038,0.08,0.055,0.121c0.017,0.04,0.045,0.07,0.072,0.105c0.02,0.024,0.06,0.071,0.052,0.104
+  c-0.017-0.006-0.026-0.023-0.041-0.031l-0.006,0.005c-0.033-0.027-0.062-0.063-0.067-0.105c-0.005-0.03-0.024-0.065-0.039-0.094
+  c-0.009-0.018-0.031-0.033-0.035-0.052c-0.002-0.008,0.001-0.017-0.001-0.025c-0.004-0.012-0.016-0.028-0.021-0.04
+  c-0.008-0.018-0.015-0.031-0.02-0.051c-0.003-0.012-0.021-0.054,0.006-0.037C-32.866,55.611-32.865,55.641-32.86,55.655z
+  M-31.614,57.091c0.006,0.006,0.009,0.014,0.014,0.021c0.002,0.003,0.004,0.007,0.007,0.011c0.001,0.001,0.003,0.002,0.004,0.004
+  c0.002,0.003,0.005,0.004,0.007,0.006c0.002,0.002,0.004,0.005,0.006,0.008c0.003,0.004,0.005,0.008,0.008,0.013
+  c0.003,0.005,0.006,0.011,0.009,0.017c0.001,0.004,0.004,0.007,0.008,0.01c0.003,0.002,0.004,0.005,0.006,0.009
+  c0.002,0.003,0.003,0.008,0.006,0.011c0.004,0.004,0.007,0.009,0.008,0.014c0.002,0.005,0.003,0.009,0.005,0.014
+  c0.001,0.002,0.002,0.004,0.004,0.006c0.002,0.002,0.005,0.003,0.007,0.006c0.002,0.003,0.005,0.005,0.007,0.008
+  c0.001,0.002,0.002,0.004,0.004,0.006c0.001,0.003,0.004,0.006,0.007,0.009c0.001,0.001,0.003,0.002,0.004,0.004
+  c0.001,0.001,0.002,0.002,0.002,0.003c0.003,0.005,0.007,0.01,0.009,0.015c0.003,0.009,0.007,0.017,0.011,0.025
+  c0.001,0.003,0.002,0.007,0.004,0.01c0.001,0.002,0.005,0.007,0.004,0.009c-0.001,0-0.004-0.004-0.004-0.005
+  c-0.002-0.002-0.003-0.003-0.005-0.005c-0.004-0.003-0.008-0.007-0.013-0.01c-0.003-0.002-0.007-0.005-0.009-0.008
+  c-0.001-0.002-0.003-0.003-0.004-0.005c-0.001-0.002-0.003-0.004-0.004-0.007c-0.001-0.002-0.002-0.004-0.004-0.006
+  c-0.001-0.001-0.003-0.002-0.004-0.003c-0.003-0.004-0.003-0.009-0.005-0.013c-0.002-0.003-0.004-0.005-0.007-0.007
+  c-0.003-0.004-0.005-0.008-0.007-0.012c-0.002-0.003-0.003-0.007-0.005-0.01c-0.002-0.005-0.004-0.01-0.007-0.014
+  c-0.005-0.007-0.011-0.014-0.016-0.021c-0.002-0.004-0.006-0.007-0.008-0.011c-0.003-0.004-0.006-0.008-0.008-0.012
+  c-0.005-0.007-0.009-0.015-0.014-0.022c-0.003-0.004-0.007-0.008-0.01-0.012c-0.003-0.003-0.005-0.008-0.006-0.012
+  c-0.002-0.004-0.003-0.008-0.006-0.012c-0.001-0.001-0.002-0.002-0.002-0.004c-0.001,0-0.001-0.001-0.001-0.001s0,0,0-0.001
+  c-0.001-0.001-0.001-0.002-0.002-0.004c0-0.002-0.001-0.002-0.001-0.003s0-0.002,0-0.003s-0.001-0.001-0.001-0.002
+  c0-0.001,0-0.002-0.001-0.003c-0.001-0.004-0.003-0.007-0.004-0.01c-0.001-0.002-0.001-0.004,0.001-0.004
+  C-31.618,57.088-31.615,57.09-31.614,57.091z M-31.125,57.71c0.016,0.015,0.034,0.023,0.052,0.036
+  c0.023,0.015,0.041,0.038,0.063,0.054c0.033,0.024,0.065,0.05,0.1,0.072c0.018,0.011,0.033,0.026,0.051,0.039
+  c0.014,0.01,0.034,0.018,0.042,0.034c-0.014,0.003-0.039-0.014-0.053-0.019c-0.014-0.004-0.044-0.007-0.051-0.022l0,0
+  c-0.026-0.02-0.048-0.046-0.072-0.069c-0.023-0.022-0.049-0.034-0.069-0.058c-0.027-0.032-0.054-0.036-0.09-0.055
+  c-0.018-0.009-0.059-0.045-0.062-0.068c0.023-0.02,0.031,0.013,0.043,0.024C-31.158,57.69-31.14,57.698-31.125,57.71z
+  M-22.303,59.124c0.005-0.006,0.012-0.01,0.017-0.016c0.004-0.007,0.003-0.01,0.006-0.016c0.004-0.01,0.012-0.017,0.017-0.027
+  c0.001-0.002,0.002-0.01,0.003-0.012c0.003-0.005,0.008-0.009,0.013-0.015c0.009-0.01,0.011-0.012,0.026-0.012
+  c0.01,0.001,0.018-0.002,0.027-0.005c0.01-0.004,0.022-0.01,0.032-0.011c0.005-0.001,0.012,0,0.017,0
+  c0.009,0,0.013-0.002,0.022-0.004c0.012-0.003,0.021-0.004,0.033-0.011c0.007-0.004,0.013-0.008,0.021-0.012
+  c0.01-0.005,0.018-0.01,0.026-0.018c0.003-0.003,0.005-0.006,0.008-0.008c0.005-0.004,0.009-0.005,0.014-0.008
+  c0.014-0.011,0.017-0.026,0.027-0.039c0.011-0.016,0.034-0.026,0.049-0.037c0.006-0.005,0.01-0.012,0.017-0.017
+  c0.01-0.006,0.022-0.011,0.033-0.015c0.019-0.007,0.035-0.021,0.055-0.026c0.019-0.004,0.046-0.006,0.064-0.019
+  c0.015-0.01,0.029-0.025,0.046-0.035c0.005-0.003,0.019-0.011,0.025-0.006c0.008,0.008-0.004,0.018-0.009,0.022
+  c-0.012,0.012-0.026,0.02-0.038,0.033c-0.013,0.014-0.027,0.028-0.041,0.041c-0.005,0.004-0.012,0.01-0.016,0.016
+  c-0.006,0.009-0.005,0.02-0.009,0.029c-0.012,0.023-0.036,0.037-0.055,0.053c-0.007,0.006-0.012,0.011-0.018,0.017
+  c-0.011,0.012-0.017,0.025-0.027,0.039c-0.014,0.021-0.051,0.038-0.075,0.042c-0.012,0.002-0.025,0-0.037,0.002
+  c-0.009,0.002-0.019,0.008-0.029,0.011c-0.011,0.003-0.028,0.009-0.036,0.016c-0.005,0.005-0.007,0.011-0.012,0.016
+  c-0.005,0.004-0.011,0.007-0.016,0.01c-0.009,0.006-0.018,0.015-0.027,0.021c-0.017,0.01-0.037,0.015-0.054,0.023
+  c-0.013,0.006-0.021,0.004-0.034,0.005c-0.011,0.002-0.021,0.007-0.032,0.01c-0.011,0.003-0.027,0.003-0.038,0.001
+  c-0.01-0.001-0.016-0.005-0.025-0.005l0.003-0.006C-22.321,59.142-22.312,59.134-22.303,59.124z M-22.336,59.162
+  c-0.004,0.001-0.005-0.001-0.005-0.004c0.003-0.001,0.006-0.001,0.008-0.001L-22.336,59.162z M-21.881,59.028
+  c-0.01-0.011,0.016-0.024,0.024-0.029c0.007-0.004,0.016-0.006,0.023-0.009c0.005-0.002,0.008-0.003,0.011-0.006
+  c0.005-0.002,0.007-0.009,0.011-0.011c0.006-0.004,0.015-0.002,0.022-0.005c0.007-0.004,0.014-0.009,0.02-0.013
+  c0.009-0.005,0.047-0.031,0.044-0.005c0,0.005-0.007,0.018-0.01,0.022c-0.003,0.006-0.008,0.011-0.012,0.016
+  c-0.008,0.011-0.02,0.027-0.034,0.032c-0.008,0.002-0.016,0-0.024,0.002c-0.009,0.002-0.014,0.008-0.023,0.01
+  c-0.011,0.002-0.023,0-0.033,0c-0.013-0.001-0.021,0.004-0.033,0.005l0.011-0.005C-21.883,59.03-21.882,59.029-21.881,59.028z
+  M-23.012,48.049c0.012-0.009,0.023-0.017,0.03-0.03c0.003-0.007,0.004-0.011,0.011-0.014c0.006-0.002,0.012-0.003,0.018-0.003
+  c0.025-0.001,0.044,0.01,0.051,0.036c0.005,0.018,0.007,0.037,0.01,0.056c0.002,0.017,0.009,0.033,0.012,0.05
+  c0.002,0.014,0.004,0.027,0.001,0.041c-0.003,0.013-0.006,0.019-0.018,0.024c-0.024,0.011-0.052,0.005-0.076,0
+  c-0.008-0.002-0.016-0.005-0.022-0.01c-0.007-0.005-0.012-0.013-0.021-0.014h0.013c-0.003,0-0.005-0.003-0.008-0.005
+  c-0.006-0.006-0.01-0.008-0.014-0.015c-0.005-0.008-0.012-0.014-0.015-0.023c-0.003-0.006-0.005-0.014-0.006-0.021
+  c-0.001-0.014-0.002-0.033,0.006-0.046C-23.032,48.063-23.023,48.056-23.012,48.049z M-22.19,43.243
+  c0.013,0.002,0.025,0.012,0.037,0.018c0.011,0.005,0.021,0,0.032,0.003c0.005,0.001,0.005,0.005,0.01,0.006
+  c0.007,0.002,0.014-0.002,0.021-0.001c0.01,0.002,0.018,0.007,0.026,0.012c0.007,0.004,0.012,0.01,0.019,0.014
+  c0.008,0.005,0.017,0.005,0.024,0.013c0.007,0.007,0.016,0.02,0.005,0.025c-0.002,0.001-0.013,0.003-0.016,0.004
+  c-0.008,0.002-0.014,0.004-0.021,0.008c-0.01,0.005-0.016,0.01-0.026,0.014c-0.005,0.002-0.005,0.005-0.011,0.005
+  c-0.005,0-0.014-0.005-0.021-0.005c-0.023,0-0.044-0.011-0.066-0.01c-0.002-0.002-0.004-0.005-0.006-0.007
+  c-0.01-0.01-0.019-0.021-0.027-0.032c-0.006-0.007-0.011-0.016-0.017-0.024c-0.011-0.018,0.002-0.022,0.015-0.033
+  C-22.204,43.246-22.201,43.241-22.19,43.243z M-22.195,43.354c0.006-0.003,0.012-0.004,0.018-0.005
+  c0.002,0.002,0.005,0.004,0.007,0.005H-22.195z M-21.865,43.386c0.003-0.011,0-0.022,0.001-0.032
+  c0.001-0.003,0.005-0.01,0.005-0.012c0.001-0.008-0.003-0.011-0.005-0.02c-0.002-0.015-0.002-0.047,0.016-0.053
+  c0.009-0.002,0.024,0.001,0.033,0.001c0.017,0,0.031,0,0.047-0.006c0.02-0.007,0.035-0.012,0.057-0.006
+  c0.024,0.006,0.042-0.011,0.063,0.003c0.015,0.009,0.031,0.023,0.039,0.039c0.009,0.019,0.009,0.042,0.009,0.065
+  c0,0.019-0.004,0.044,0.004,0.063c0.009,0.02,0.024,0.035,0.038,0.052c0.015,0.018,0.027,0.036,0.038,0.057
+  c0.004,0.008,0.008,0.013,0.009,0.022c0.003,0.017,0.001,0.021-0.015,0.021c-0.02,0-0.037-0.013-0.053-0.025
+  c-0.023-0.016-0.058-0.029-0.086-0.036c-0.024-0.007-0.046-0.017-0.071-0.022c-0.015-0.003-0.025,0.004-0.038,0.003
+  c-0.01,0-0.021-0.008-0.031-0.009c-0.011-0.001-0.021-0.002-0.031-0.006c-0.003-0.001-0.009-0.007-0.012-0.009
+  c-0.004-0.002-0.011-0.005-0.014-0.007c-0.007-0.007-0.005-0.017-0.011-0.023l0.004,0.003
+  C-21.886,43.435-21.868,43.401-21.865,43.386z"/>
+</svg>
--- a/browser/branding/official/content/jar.mn
+++ b/browser/branding/official/content/jar.mn
@@ -10,16 +10,17 @@ browser.jar:
   content/branding/about-wordmark.svg            (about-wordmark.svg)
   content/branding/icon48.png                    (icon48.png)
   content/branding/icon64.png                    (icon64.png)
   content/branding/icon16.png                    (../default16.png)
   content/branding/icon32.png                    (../default32.png)
   content/branding/icon128.png                   (../mozicon128.png)
   content/branding/identity-icons-brand.png      (identity-icons-brand.png)
   content/branding/identity-icons-brand@2x.png   (identity-icons-brand@2x.png)
+  content/branding/silhouette-40.svg             (silhouette-40.svg)
   content/branding/aboutDialog.css               (aboutDialog.css)
 #ifdef MOZ_METRO
   content/branding/metro-about.css               (metro-about.css)
   content/branding/metro-about-footer.png        (metro-about-footer.png)
   content/branding/metro-about-wordmark.png      (metro-about-wordmark.png)
   content/branding/metro_firstrun_logo.png       (metro_firstrun_logo.png)
   content/branding/metro_firstrun_logo@1.4x.png  (metro_firstrun_logo@1.4x.png)
   content/branding/metro_firstrun_logo@1.8x.png  (metro_firstrun_logo@1.8x.png)
new file mode 100644
--- /dev/null
+++ b/browser/branding/official/content/silhouette-40.svg
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1"
+ xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="-45 31 40 40"
+ enable-background="new -45 31 40 40">
+ <path fill="#CCCCCC" d="M-14.1,54.7c0.7-1.4,1.7-4.4,0.8-6.9c0,0,0,0,0,0.1l0,0c0,0-0.2,0.5-0.4,1.3c0-0.1,0-0.2,0-0.3
+  c0.1-0.9,0-1.9-0.1-2.9c-0.3-1.5-1.4-2.8-2-3.2c0,0,0.1,0,0.1,0.1c-0.1-0.1-0.1-0.1-0.1-0.1s0,0.1,0.1,0.4c-0.7-1.1-1.6-1.5-1.6-1.5
+  s0,0.2,0.1,0.5c-2-1.9-4.7-3-7.6-3c-3,0-5.7,1.2-7.8,3.1c0.1,0.1,0.2,0.3,0.4,0.5c0,0,0.8-0.1,1.7-0.1c1.7-1.2,3.6-1.8,5.7-1.8
+  c2.6,0,5.1,1.1,7,3c-0.2-0.1-0.1,0,0,0.1c-0.6-0.4-1.2-0.8-1.7-0.8c1,0.8,2.6,2.7,2.4,6.2c-0.3-0.6-0.6-1-0.9-1.3
+  c0.4,3.5,0,4.2-0.2,5.1c0-0.4-0.2-0.7-0.3-0.9c0,0,0,1.1-0.7,2.6c-0.5,1.2-1.1,1.5-1.3,1.5c-0.2,0-0.1-0.2-0.1-0.4
+  c0,0-0.4,0.2-0.7,0.6c-0.3,0.4-0.6,0.8-0.8,0.6c0.1-0.1,0.2-0.3,0.3-0.4c-0.1,0.1-0.5,0.4-1.2,0.5c-0.3,0-1.6,0.3-3.3-0.6
+  c0.3,0,0.6-0.1,0.9,0.1c-0.3-0.3-1-0.3-1.5-0.4c-0.5-0.4-1.1-1-1.4-1.4c1.3,0.3,2.8,0.1,3.6-0.5s1.3-1,1.8-0.9
+  c0.4,0.1,0.7-0.4,0.4-0.8c-0.3-0.4-1.2-1-2.3-0.7c-0.8,0.2-1.8,1.1-3.3,0.2c-1.3-0.8-1.3-1.4-1.3-1.8c0-0.3,0.2-0.7,0.5-0.8
+  c0.2,0.1,0.3,0.1,0.3,0.1s-0.1-0.1-0.1-0.2l0,0c0.1,0,0.4,0.2,0.6,0.2c0.2,0.1,0.3,0.2,0.3,0.2s0,0,0-0.1c0,0-0.1-0.2-0.3-0.3l0,0
+  c0.1,0,0.2,0.1,0.4,0.2c0-0.2,0.1-0.4,0.1-0.7c0-0.2,0-0.3-0.1-0.4c-0.1-0.1,0-0.1,0.1,0c0-0.1,0-0.1-0.1-0.2l0,0c0,0,0,0,0-0.1
+  c0.2-0.3,1.8-1.2,1.9-1.3c0.2-0.1,0.3-0.3,0.4-0.5c0.2-0.1,0.3-0.5,0.3-0.8c0-0.1-0.2-0.3-0.4-0.3c-0.1,0-0.4-0.1-0.6,0l0,0
+  c-0.3,0-0.7,0-1.2,0s-0.8-0.3-1-0.6c0-0.1-0.1-0.1-0.1-0.2c0-0.1-0.1-0.2-0.1-0.2c0.2-0.8,0.7-1.5,1.4-2.1c0,0-0.2,0-0.1,0
+  c0,0,0.3-0.2,0.4-0.2c0.1,0-0.3-0.1-0.6-0.1c-0.5,0.2-0.6,0.2-0.8,0.3c0.1-0.1,0.3-0.2,0.2-0.2c-0.3,0.1-0.7,0.4-1.1,0.6v-0.1
+  c-0.2,0.1-0.6,0.4-0.7,0.7c0-0.1,0-0.1,0-0.1c-0.1,0-0.2,0.2-0.3,0.3l0,0c-1.1-0.3-2-0.2-2.8,0c-0.2-0.1-0.6-0.5-0.9-1
+  c0,0,0,0.1-0.1,0.1c-0.1-0.4-0.3-0.9-0.3-1.3v-0.1c0,0-0.1,0.1-0.3,0.3c-0.1,0.2-0.2,0.3-0.2,0.5c0,0.1-0.1,0.2-0.1,0.2v-0.2
+  c0,0.1-0.1,0.2-0.2,0.3c0,0.2,0,0.3-0.1,0.4l0,0c0,0,0-0.2,0-0.1c-0.1,0.2-0.2,0.5-0.2,0.8c-0.1,0.3-0.1,0.5-0.1,0.8s0,0.7,0,1.2
+  c0,0.1,0,0.1,0,0.2c-0.3,0.4-0.5,0.7-0.6,0.9c-0.4,0.7-0.7,1.8-1,3.5c0,0,0.2-0.6,0.6-1.3l0,0c-0.3,0.9-0.5,2.3-0.4,4.4
+  c0-0.1,0.1-0.6,0.2-1.3c0.1,1.4,0.5,3.1,1.5,5c0.8,1.4,1.7,2.4,2.7,3.2c0.2,0.2,0.4,0.3,0.6,0.5c1.3,1,3.3,2.1,5,2.4
+  c-0.6-0.2-1-0.5-1-0.5s2,0.7,3.5,0.6c-0.5-0.1-0.6-0.3-0.6-0.3s4.2,0.2,6.4-1.5c0.5-0.4,0.8-0.8,0.9-1.2c0.6-0.4,1.3-0.8,2-1.6
+  c1.2-1.2,1.3-2.1,1.4-3v0.1C-14,55.2-14,54.9-14.1,54.7z"/>
+</svg>
--- a/browser/branding/unofficial/content/jar.mn
+++ b/browser/branding/unofficial/content/jar.mn
@@ -11,16 +11,17 @@ browser.jar:
   content/branding/about-wordmark.svg            (about-wordmark.svg)
   content/branding/icon48.png                    (icon48.png)
   content/branding/icon64.png                    (icon64.png)
   content/branding/icon16.png                    (../default16.png)
   content/branding/icon32.png                    (../default32.png)
   content/branding/icon128.png                   (../mozicon128.png)
   content/branding/identity-icons-brand.png      (identity-icons-brand.png)
   content/branding/identity-icons-brand@2x.png   (identity-icons-brand@2x.png)
+  content/branding/silhouette-40.svg             (silhouette-40.svg)
   content/branding/aboutDialog.css               (aboutDialog.css)
 #ifdef MOZ_METRO
   content/branding/metro-about.css               (metro-about.css)
   content/branding/metro-about-footer.png        (metro-about-footer.png)
   content/branding/metro-about-wordmark.png      (metro-about-wordmark.png)
   content/branding/metro_firstrun_logo.png       (metro_firstrun_logo.png)
   content/branding/metro_firstrun_logo@1.4x.png  (metro_firstrun_logo@1.4x.png)
   content/branding/metro_firstrun_logo@1.8x.png  (metro_firstrun_logo@1.8x.png)
new file mode 100644
--- /dev/null
+++ b/browser/branding/unofficial/content/silhouette-40.svg
@@ -0,0 +1,1359 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1"
+ xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="-45 31 40 40"
+ enable-background="new -45 31 40 40">
+ <path fill="#CCCCCC" d="M-25,62.991c-6.622,0-11.991-5.369-11.991-11.991S-31.622,39.009-25,39.009S-13.009,44.378-13.009,51
+  S-18.378,62.991-25,62.991z M-34.439,48.549c-0.002,0.007-0.004,0.013-0.006,0.02c0.002-0.004,0.006-0.006,0.007-0.01
+  C-34.437,48.555-34.438,48.552-34.439,48.549z M-34.259,47.956c-0.001-0.006-0.003-0.005-0.002-0.012l0,0
+  c-0.001,0.004-0.003,0.008-0.004,0.012l0.008,0.006C-34.258,47.96-34.258,47.958-34.259,47.956z M-34.245,48.067
+  c-0.02,0.006-0.04,0.012-0.06,0.019c-0.026,0.084-0.054,0.168-0.078,0.254c0.004-0.002,0.007-0.004,0.01-0.008
+  c0.007-0.006,0.013-0.014,0.019-0.021c0.008-0.007,0.009-0.014,0.011-0.023c0.003-0.009,0.003-0.01,0.008-0.017
+  c0.01-0.012,0.006-0.037,0.005-0.051c0-0.011-0.007-0.015,0-0.024c0.005-0.007,0.012-0.014,0.017-0.019
+  c0.011-0.01,0.026-0.015,0.039-0.022c0.007-0.003,0.013-0.008,0.017-0.014c0.003-0.005,0.004-0.011,0.007-0.017
+  c0.007-0.014,0.008-0.027,0.008-0.044C-34.242,48.074-34.243,48.071-34.245,48.067z M-16.736,45.824
+  c0.001,0.012,0.002,0.024,0.007,0.036c0.006,0.017,0.012,0.034,0.011,0.054c0,0.017,0.007,0.032,0.011,0.049
+  c0.004,0.024,0.013,0.043,0.024,0.064c0.004,0.009,0.009,0.017,0.013,0.026c0.008,0.012,0.014,0.025,0.021,0.038
+  c0.009,0.017,0.014,0.034,0.022,0.051c0.004,0.008,0.006,0.016,0.008,0.024c0.002,0.005,0.003,0.013,0.007,0.017
+  c-0.02-0.021-0.027-0.053-0.042-0.077c-0.013-0.021-0.029-0.04-0.041-0.061c-0.009-0.016-0.021-0.028-0.023-0.045
+  c-0.002-0.015-0.003-0.029-0.007-0.042c-0.003-0.007-0.004-0.012-0.009-0.019c-0.004-0.007-0.011-0.011-0.015-0.018
+  c-0.01-0.015-0.018-0.034-0.025-0.051c-0.01-0.022-0.015-0.05-0.037-0.064c0.004,0.004,0.008,0.014,0.009,0.02
+  c0.002,0.007,0.005,0.015,0.005,0.022c0,0.013-0.007,0.013-0.014,0.004c-0.005-0.006-0.007-0.015-0.01-0.023
+  c-0.001-0.003-0.005-0.009-0.005-0.012c-0.001-0.004,0-0.007-0.001-0.01c-0.001-0.006-0.006-0.013-0.009-0.019
+  c-0.004-0.01-0.007-0.018-0.014-0.027c-0.006-0.008-0.012-0.014-0.016-0.025c-0.005-0.014-0.007-0.028-0.017-0.04
+  s-0.018-0.001-0.028,0.005c-0.006,0.004-0.014,0.005-0.022,0.008c-0.008,0.002-0.015,0.005-0.023,0.007
+  c-0.006,0.002-0.012,0.003-0.018,0.005c-0.003,0.001-0.004,0.002-0.008,0.003c-0.004,0-0.008-0.001-0.012,0
+  c-0.01,0.001-0.018,0.005-0.029,0.003c-0.003-0.001-0.005-0.003-0.008-0.003c-0.004-0.001-0.008-0.001-0.012,0
+  c-0.02,0.001-0.016,0.025-0.012,0.039c0.004,0.017,0.013,0.032,0.021,0.047c0.001,0.004,0.004,0.008,0.006,0.012
+  c0.001,0.004-0.001,0.007,0,0.011c0.002,0.009,0.006,0.017,0.004,0.027c-0.001,0.009-0.003,0.012-0.01,0.016
+  c-0.008,0.004-0.01,0.004-0.006,0.014c0.003,0.006,0.008,0.013,0.009,0.019c0.001,0.007,0.001,0.015,0.003,0.022
+  c0.004,0.017,0.012,0.034,0.02,0.049c0.005,0.008,0.014,0.031-0.004,0.019c-0.012-0.007-0.019-0.022-0.026-0.033
+  c-0.004-0.007-0.009-0.011-0.016-0.015c-0.006-0.003-0.013-0.005-0.019-0.009c-0.011-0.007-0.011-0.014-0.011-0.026
+  c0-0.007,0-0.015-0.008-0.019c-0.006-0.003-0.015-0.003-0.023-0.006c-0.005-0.002-0.011-0.004-0.015-0.007
+  c0.009,0.008,0.012,0.018,0.015,0.028c0.007,0.02,0.016,0.038,0.027,0.056c0.009,0.016,0.02,0.022,0.034,0.032
+  c0.011,0.008,0.022,0.024,0.029,0.035c0.008,0.01,0.015,0.019,0.024,0.028c0.009,0.009,0.019,0.015,0.025,0.027
+  c0.008,0.014,0.01,0.027,0.013,0.042c0.004,0.013,0.003,0.027,0.003,0.041c0,0.009,0.001,0.018-0.001,0.026
+  c0,0.003-0.002,0.005-0.002,0.008c-0.001,0.004,0,0.008,0,0.012c0,0.013,0,0.027,0,0.041c0,0.027,0.021,0.046,0.029,0.069
+  c0.008,0.023,0.006,0.053,0.005,0.079c-0.001,0.004-0.002,0.006-0.003,0.011c-0.002,0.005,0,0.009-0.001,0.014
+  c-0.001,0.005-0.003,0.008-0.004,0.012c0,0.003,0,0.006,0,0.008c0,0.004-0.003,0.004-0.004,0.007c-0.001,0.003,0,0.008,0,0.011
+  c-0.001,0.004-0.003,0.002-0.003,0.008c0.002,0.003,0.003,0.005,0.003,0.008c0.005,0.013,0.015,0.032,0.027,0.041
+  c0.005,0.003,0.012,0.004,0.019,0.004s0.013,0.005,0.018,0.012c0,0.002,0.001,0.004,0.001,0.006
+  c0.003,0.002,0.005,0.005,0.006,0.008c0.002,0.004,0.003,0.011,0.004,0.015c0.004,0.017,0.01,0.029,0.019,0.042
+  c0.011,0.015,0.021,0.018,0.039,0.019c0.016,0.001,0.029,0.009,0.042,0.02c0.006,0.005,0.011,0.013,0.018,0.018
+  c0.005,0.003,0.013,0.004,0.018,0.007c0.009,0.004,0.018,0.006,0.028,0.009c0.008,0.003,0.017,0.005,0.026,0.007
+  c0.007,0.001,0.015-0.001,0.023,0.001c0.007,0.002,0.014,0.006,0.022,0.006c0.005,0.001,0.018-0.002,0.022,0.001
+  c0.006,0.004,0.02,0.036,0.03,0.029c0.003-0.002,0.001-0.019,0.001-0.022c0-0.009,0.004-0.018,0.004-0.027
+  c0-0.005-0.001-0.01,0.001-0.015c0.001-0.004,0.003-0.006,0.003-0.011c-0.001-0.007-0.005-0.017-0.008-0.023
+  c-0.012-0.023,0.022-0.001,0.018-0.021c0-0.003-0.006-0.009-0.008-0.012c-0.002-0.005-0.003-0.001-0.002-0.009
+  c0.002-0.009,0.003-0.016,0.003-0.026c0-0.009,0-0.017-0.003-0.026c-0.003-0.007-0.009-0.013-0.011-0.02
+  c-0.004-0.011,0.006-0.019,0-0.029c-0.003-0.007-0.008-0.01-0.011-0.015c-0.004-0.006-0.004-0.016-0.005-0.023
+  c0-0.008-0.005-0.014-0.004-0.021c0.003,0.003,0.005,0.007,0.008,0.01c0.002,0.001,0.004,0.003,0.007,0.004
+  c0,0.002,0.001,0.004,0.001,0.006c0.003,0.005,0.011,0.019,0.019,0.016c0.011-0.002-0.009-0.032-0.013-0.037
+  c-0.008-0.01-0.017-0.018-0.023-0.03c-0.006-0.014-0.009-0.028-0.013-0.042c0.007,0.002,0.015,0.019,0.019,0.026
+  c0.005,0.007,0.012,0.012,0.017,0.02c0.009,0.013,0.017,0.029,0.023,0.044c0.002,0.006,0.001,0.013,0.005,0.019
+  c0.004,0.005,0.009,0.011,0.014,0.015c0.006,0.006,0.015,0.012,0.019,0.02c0.003,0.006,0.004,0.015,0.004,0.022
+  c0,0.005,0,0.01,0,0.015c0.001,0.004,0.002,0.005,0.003,0.008c0.005,0.018,0.017,0.031,0.025,0.049
+  c0.004,0.009,0.006,0.02,0.009,0.03c0.003,0.008,0.006,0.014,0.01,0.021c0.007,0.016,0.017,0.032,0.026,0.047
+  c0.005,0.008,0.007,0.017,0.01,0.026c0.003,0.008,0.008,0.017,0.008,0.025c-0.006-0.007-0.016-0.008-0.022-0.014
+  c-0.004-0.004-0.007-0.017-0.011-0.018c-0.007,0.022,0.013,0.046,0.022,0.064c0.006,0.013,0.012,0.028,0.017,0.041
+  c0.004,0.008,0.007,0.016,0.01,0.023c0.003,0.008,0.01,0.013,0.014,0.019c0.01,0.013,0.019,0.033,0.019,0.049
+  c0,0.015,0,0.03,0,0.045c0,0.015,0,0.033-0.008,0.045c-0.005,0.006-0.01,0.015-0.018,0.016c-0.006,0.001-0.017,0.001-0.023,0
+  s-0.009-0.004-0.015-0.004c-0.005,0-0.007,0.003-0.012,0.003c-0.006,0.001-0.01-0.003-0.018-0.003c-0.015,0-0.031,0-0.043,0.01
+  c-0.006,0.006-0.009,0.014-0.018,0.013c-0.004,0-0.004-0.003-0.007-0.004c-0.003-0.001-0.007,0-0.011-0.001
+  c-0.006-0.001-0.012-0.005-0.02-0.002c-0.008,0.003-0.01,0.016-0.016,0.021c-0.006,0.006-0.02,0.011-0.028,0.008
+  c-0.003-0.001-0.005-0.005-0.008-0.006c-0.004-0.002-0.008-0.001-0.012-0.001s-0.01-0.001-0.015,0
+  c-0.007,0.001-0.01,0.005-0.016,0.008c-0.009,0.004-0.016,0.003-0.026,0.003c-0.017,0-0.037,0.003-0.053-0.006
+  c-0.013-0.008-0.018-0.02-0.025-0.032c-0.007-0.015-0.009-0.032-0.023-0.042c-0.015-0.01-0.028-0.006-0.032,0.012
+  c-0.005-0.001-0.017-0.015-0.021-0.019c-0.005-0.009-0.007-0.02-0.008-0.03c0-0.007-0.003-0.012-0.004-0.02
+  c-0.001-0.009,0.003-0.013,0.004-0.021c0.002-0.012-0.006-0.022-0.004-0.035c0.001-0.008,0.004-0.013,0.004-0.022
+  c0-0.008-0.001-0.012-0.005-0.018c-0.006-0.012-0.012-0.023-0.017-0.035c-0.005-0.015-0.011-0.026-0.024-0.037
+  c-0.008-0.008-0.016-0.017-0.026-0.023c-0.007-0.005-0.014-0.008-0.02-0.015c-0.007-0.008-0.005-0.01-0.003-0.019
+  c0.002-0.011-0.008-0.014-0.012-0.022c-0.003-0.007,0-0.008,0.001-0.016c0.003-0.018-0.018-0.021-0.03-0.027
+  c-0.01-0.004-0.024-0.005-0.033-0.012c-0.006-0.004-0.01-0.011-0.016-0.014c0.001,0-0.009-0.003-0.009-0.003
+  c-0.003-0.001-0.006-0.001-0.01-0.002c-0.008-0.002-0.015-0.007-0.023-0.009c-0.008-0.003-0.014-0.004-0.022-0.005
+  c-0.006-0.001-0.01-0.005-0.015-0.007c-0.005-0.001-0.01-0.002-0.015-0.003c-0.008-0.003-0.015-0.007-0.023-0.009
+  c-0.008-0.002-0.015-0.005-0.023-0.007c-0.005-0.001-0.01,0-0.015,0c-0.005-0.001-0.008-0.002-0.012-0.003
+  c-0.021-0.005-0.042-0.003-0.063-0.005h-0.001c-0.006,0.002-0.01,0.003-0.016,0.004c-0.005,0-0.013-0.002-0.018,0
+  c-0.006,0.001-0.007,0.004-0.015,0.004c-0.005,0-0.01-0.001-0.015,0c-0.01,0-0.021,0.006-0.03,0.011
+  c-0.008,0.004-0.016,0.007-0.023,0.013c-0.004,0.004-0.01,0.011-0.011,0.017c-0.001,0.005,0,0.01-0.001,0.015
+  c-0.002,0.009-0.005,0.018-0.007,0.027c-0.001,0.005-0.002,0.018-0.008,0.022c-0.008,0.005-0.011-0.008-0.019,0
+  c-0.005,0.006-0.007,0.016-0.007,0.023c0.001,0.01,0.006,0.016,0.003,0.026c-0.002,0.008-0.001,0.015-0.004,0.023
+  c-0.002,0.008-0.004,0.014-0.002,0.023c0.002,0.007,0.002,0.016,0.006,0.023c0.005,0.009,0.015,0.018,0.022,0.027
+  c0.006,0.008,0.011,0.016,0.016,0.025c0.004,0.008,0.007,0.012,0.002,0.02c-0.004,0.007-0.013,0.008-0.02,0.01
+  c-0.009,0.002-0.014-0.001-0.022,0.005c-0.005,0.005-0.008,0.01-0.016,0.011c-0.007,0.001-0.013-0.001-0.019-0.004
+  c-0.004-0.003-0.012-0.01-0.016-0.011c-0.006-0.001-0.008,0.003-0.014,0.004c-0.004,0-0.008-0.001-0.011-0.001
+  c-0.01,0.001-0.017,0.008-0.023,0.016c-0.006,0.006-0.009,0.01-0.007,0.018c0.002,0.008,0.006,0.014,0.01,0.02
+  c0,0.001,0,0.001,0.001,0.002c0.01,0.006,0.019,0.013,0.028,0.02c0.026,0.02,0.046,0.051,0.068,0.076
+  c0.01,0.012,0.019,0.026,0.029,0.039c0.014,0.017,0.033,0.025,0.049,0.039c0.009,0.008,0.018,0.018,0.027,0.025
+  c0.011,0.008,0.028,0.01,0.039,0.018c0.012,0.009,0.02,0.013,0.036,0.018c0.013,0.004,0.025,0.011,0.036,0.019
+  c0.008,0.006,0.023,0.021,0.026,0.031c0.002,0.007,0.002,0.012,0.005,0.019c0.005,0.009,0.014,0.017,0.024,0.023
+  c0.015,0.009,0.027,0.016,0.036,0.033c0.006,0.014,0.01,0.029,0.012,0.045c0.012,0.002,0.02,0.009,0.032,0.006
+  c0.008-0.003,0.014-0.01,0.02-0.015c0.019-0.015,0.036-0.024,0.061-0.017c0.008,0.002,0.024,0.009,0.031,0.014
+  c0.009,0.007,0.011,0.02,0.017,0.03c0.004,0.009,0.007,0.019,0.013,0.028c0.009,0.013,0.021,0.024,0.033,0.035
+  c0.017,0.016,0.038,0.036,0.045,0.06c0.006,0.024-0.011,0.048-0.004,0.073c0.004,0.012,0.012,0.024,0.016,0.035
+  c0.005,0.01,0.007,0.019,0.012,0.029c0.005,0.011,0.005,0.021,0.007,0.033c0.002,0.009,0.011,0.019,0.011,0.03
+  c0.026,0,0.022-0.06,0.022-0.076c0-0.015,0-0.025-0.004-0.039s-0.009-0.019-0.017-0.03c-0.011-0.014-0.017-0.037-0.023-0.052
+  c-0.005-0.011-0.008-0.023-0.012-0.034c-0.005-0.012-0.011-0.022-0.017-0.034c-0.008-0.015-0.028-0.048-0.015-0.064
+  c0.016-0.019,0.042,0.004,0.053,0.017c0.012,0.015,0.024,0.024,0.034,0.041c0.007,0.014,0.014,0.026,0.02,0.04
+  c0.011,0.027,0.016,0.053,0.016,0.081c0,0.012,0.001,0.024,0,0.035c-0.001,0.015-0.006,0.021,0,0.036
+  c0.011,0.03,0.026,0.059,0.036,0.09c0.007,0.022,0.012,0.041,0.016,0.064c0.002,0.013,0.008,0.02,0.004,0.035
+  c-0.003,0.013-0.008,0.027-0.01,0.04c-0.001,0.006,0.001,0.012,0,0.017c-0.001,0.007-0.005,0.011-0.006,0.018
+  c-0.001,0.006,0.001,0.012,0.001,0.018c-0.001,0.008-0.005,0.014-0.007,0.022c-0.005,0.025-0.012,0.05-0.018,0.075
+  c-0.012,0.051-0.038,0.1-0.056,0.15c-0.006,0.014-0.006,0.024-0.006,0.039c0,0.013-0.004,0.031-0.001,0.042
+  c0.003,0.01,0.011,0.018,0.013,0.029c0.002,0.015,0.004,0.026,0.011,0.04c0.002,0.004,0.003,0.007,0.005,0.011
+  c0.002,0.002,0.004,0.006,0.006,0.009c0.101,0.09,0.202,0.179,0.302,0.269c0.157-0.083,0.314-0.165,0.471-0.247
+  c0.084,0.037,0.169,0.074,0.253,0.111c-0.052,0.135-0.104,0.271-0.156,0.406c0.008,0.013,0.01,0.03,0.014,0.044
+  c0.005,0.019,0.007,0.039,0.012,0.058c0.001,0.007,0.007,0.016,0.008,0.023c0.003,0.009,0.002,0.018,0.002,0.027
+  c0,0.01,0,0.019,0,0.028c0,0.008-0.005,0.017-0.006,0.024v-0.008l-0.004-0.001c-0.003-0.008,0.001-0.017-0.001-0.026
+  c-0.002-0.01-0.006-0.016-0.006-0.027c0.001-0.017,0.004-0.039,0.001-0.055c-0.004-0.013-0.012-0.026-0.016-0.039
+  c-0.002-0.009-0.005-0.018-0.008-0.026c-0.001-0.004-0.001-0.005-0.001-0.007c-0.008,0.021-0.017,0.042-0.025,0.063
+  c0.003,0.005,0.004,0.01,0.01,0.016c0.013,0.014,0.017,0.03,0.022,0.048c0.003,0.012,0.003,0.031,0,0.043
+  c-0.002,0.009-0.005,0.013-0.004,0.022c0,0.006,0.001,0.016,0,0.022c-0.003,0.01-0.019,0.028-0.029,0.031
+  c-0.012,0.004-0.026-0.005-0.033-0.015c-0.007-0.01-0.011-0.023-0.016-0.034c-0.004,0.01-0.008,0.021-0.012,0.031
+  c0.004,0.007,0.01,0.012,0.012,0.019c0.004,0.011,0.001,0.027,0.001,0.038s0.002,0.023,0.001,0.033
+  c-0.004,0.022-0.017,0.044-0.024,0.065c-0.007,0.024-0.013,0.045-0.022,0.068c-0.008,0.023-0.011,0.046-0.022,0.068
+  c-0.008,0.02-0.013,0.046-0.02,0.066c-0.006,0.018-0.012,0.039-0.02,0.055c-0.006,0.014-0.013,0.017-0.012,0.032
+  c0,0.011,0,0.022,0,0.032c0,0.022-0.005,0.041-0.011,0.061c-0.006,0.018-0.015,0.036-0.022,0.054
+  c-0.004,0.008-0.004,0.018-0.007,0.027c-0.001,0.006-0.004,0.009-0.004,0.016c0,0.005,0.002,0.012,0,0.017
+  c-0.003,0.012-0.01,0.024-0.011,0.038c-0.001,0.013-0.005,0.025-0.005,0.038c-0.001,0.011,0,0.022,0,0.032
+  c0,0.013,0.005,0.021,0.005,0.033c0.001,0.014-0.003,0.026-0.005,0.038c-0.001,0.004-0.004,0.01-0.004,0.012
+  c-0.001,0.006,0,0.011-0.001,0.016c-0.001,0.005-0.005,0.004-0.005,0.01c0,0.004,0.004,0.012,0.005,0.017
+  c0,0.013-0.004,0.02-0.006,0.032c-0.003,0.014,0,0.031,0,0.045s-0.007,0.024-0.01,0.037c-0.002,0.011-0.004,0.022-0.007,0.033
+  c-0.001,0.005,0.001,0.011,0.001,0.016c-0.001,0.005-0.004,0.008-0.005,0.012c-0.001,0.006-0.003,0.015-0.001,0.021
+  c0.001,0.005,0.005,0.005,0.006,0.01c0.002,0.01,0,0.023,0,0.033c0,0.014-0.004,0.025-0.006,0.039c-0.002,0.01,0,0.021,0,0.032
+  c0,0.009,0.002,0.013,0.004,0.022c0.001,0.004,0,0.013,0.002,0.016c0.006,0.008,0.023,0.001,0.031-0.001
+  c0.009-0.003,0.016-0.011,0.027-0.009c0.007,0.001,0.014,0.009,0.019,0.014c0.017,0.017,0.026,0.025,0.026,0.05
+  c0,0.011,0,0.022,0,0.033c0,0.016,0,0.017,0.016,0.016c0.014,0,0.021-0.001,0.028,0.011c0.004,0.009,0.005,0.019,0.016,0.022
+  c0.008,0.003,0.021,0.001,0.026-0.007c0.006-0.009-0.004-0.021,0.005-0.029c0.008,0.019,0,0.048-0.004,0.067
+  c-0.002,0.008-0.002,0.015-0.006,0.024c0,0-0.003,0.011-0.004,0.012c-0.002,0.01-0.001,0.021-0.006,0.031
+  c-0.005,0.01-0.011,0.019-0.015,0.028c-0.006,0.012-0.015,0.018-0.024,0.028c-0.005,0.006-0.014,0.017-0.016,0.025
+  c-0.003,0.01,0.004,0.02,0.005,0.029c0.003,0.014,0.005,0.019,0.002,0.034c-0.002,0.012-0.001,0.023-0.001,0.035
+  c0,0.015-0.006,0.025-0.011,0.039c-0.008,0.022-0.017,0.042-0.022,0.065c-0.002,0.009,0,0.016-0.004,0.026
+  c-0.002,0.006-0.005,0.012-0.008,0.018c-0.005,0.009-0.011,0.017-0.015,0.027c-0.008,0.018-0.009,0.038-0.02,0.056
+  c-0.003,0.004-0.009,0.009-0.013,0.013c-0.003,0.004-0.004,0.007-0.006,0.011c-0.009,0.012-0.017,0.027-0.026,0.04
+  c-0.008,0.01-0.021,0.02-0.032,0.028c-0.01,0.008-0.019,0.018-0.028,0.026c-0.009,0.007-0.017,0.018-0.027,0.023
+  c-0.012,0.006-0.018-0.001-0.024-0.012c-0.009-0.016-0.01-0.02-0.026-0.007c-0.006,0.005-0.013,0.01-0.017,0.017
+  c-0.005,0.007-0.005,0.015-0.008,0.023c-0.003,0.004-0.006,0.005-0.007,0.01c-0.003,0.01,0.001,0.023,0,0.033
+  c-0.001,0.011-0.005,0.021-0.006,0.032c0,0.015-0.004,0.027-0.005,0.041c-0.003,0.029-0.015,0.056-0.016,0.085
+  c-0.001,0.011-0.006,0.02-0.006,0.032c0,0.01,0.003,0.024,0.001,0.033c-0.003,0.01-0.008,0.014-0.017,0.018
+  c-0.002,0.001-0.015,0.004-0.016,0.005c-0.003,0.007,0.003,0.006,0.004,0.011c0.001,0.005,0,0.01,0.001,0.015
+  c0.002,0.011,0.009,0.021,0.006,0.033c-0.002,0.005-0.005,0.005-0.006,0.01s0,0.012,0,0.017c0,0.014,0,0.02-0.007,0.032
+  c-0.006,0.012-0.013,0.02-0.015,0.033c-0.001,0.012-0.004,0.027-0.01,0.037c-0.008,0.013-0.019,0.022-0.028,0.033
+  c-0.007,0.008-0.014,0.019-0.02,0.028c-0.007,0.011-0.016,0.017-0.023,0.027c-0.007,0.01-0.013,0.017-0.017,0.028
+  c-0.004,0.011-0.007,0.022-0.012,0.032c-0.012,0.024-0.023,0.054-0.03,0.081c-0.006,0.024-0.014,0.048-0.028,0.069
+  c-0.004,0.005-0.008,0.011-0.012,0.016c0,0.009,0,0.017,0.002,0.025c0.005,0.018,0.009,0.046,0.004,0.065
+  c-0.001,0.007-0.004,0.009-0.006,0.016c0,0.005,0.001,0.011,0.001,0.017c0,0.01,0.001,0.024-0.007,0.033
+  c-0.017,0.017-0.037-0.004-0.049-0.015c-0.017-0.016-0.034-0.033-0.048-0.051c-0.004-0.006-0.01-0.011-0.015-0.017
+  c-0.007-0.008-0.013-0.022-0.021-0.028c-0.015-0.011-0.04-0.001-0.046,0.018c-0.001,0.004,0,0.011-0.001,0.016
+  c-0.001,0.008-0.005,0.013-0.004,0.022c0.001,0.012,0.006,0.02,0.006,0.033c-0.001,0.013,0.002,0.024,0.005,0.037
+  c0.002,0.007,0.008,0.016,0.01,0.024c0.004,0.024,0.011,0.045,0.023,0.069c0.021,0.044,0.03,0.086,0.047,0.131
+  c0.004,0.01,0.011,0.021,0.013,0.032c0.001,0.011,0,0.023,0,0.033c0,0.022-0.006,0.045-0.015,0.065
+  c-0.017,0.039-0.036,0.073-0.073,0.097c-0.01,0.007-0.023,0.013-0.031,0.023c-0.008,0.011-0.012,0.024-0.023,0.033
+  c-0.018,0.015-0.028,0.027-0.038,0.049c-0.004,0.009-0.011,0.019-0.018,0.027c-0.004,0.005-0.01,0.008-0.014,0.012
+  c-0.002,0.003-0.002,0.008-0.005,0.011c-0.005,0.007-0.012,0.013-0.017,0.02c-0.007,0.01-0.011,0.023-0.018,0.032
+  c-0.007,0.009-0.019,0.016-0.021,0.028c-0.001,0.006,0.001,0.011-0.001,0.017c-0.002,0.006-0.004,0.009-0.004,0.016
+  c-0.001,0.011,0.001,0.018-0.011,0.022c-0.009,0.003-0.02,0.006-0.029,0.001c-0.007-0.005-0.011-0.015-0.014-0.023
+  c-0.001-0.002-0.002-0.004-0.003-0.005c-0.013-0.002-0.022-0.011-0.03-0.021c-0.011-0.013-0.027-0.035-0.031-0.051
+  c-0.002-0.005,0-0.01-0.003-0.014c-0.001-0.003-0.006-0.005-0.008-0.008c-0.005-0.006-0.005-0.014-0.007-0.021
+  c-0.007-0.019-0.005-0.04-0.01-0.059c-0.003-0.016-0.01-0.029-0.012-0.044c-0.003-0.021,0.005-0.039,0.006-0.06
+  c0-0.009-0.004-0.022-0.009-0.033c-0.02-0.01-0.041-0.018-0.062-0.021c-0.024-0.003-0.037-0.011-0.053,0.012
+  c-0.006,0.008-0.007,0.018-0.014,0.026c-0.006,0.006-0.014,0.011-0.02,0.017c-0.009,0.008-0.013,0.018-0.021,0.028
+  c-0.005,0.007-0.012,0.014-0.016,0.021c-0.006,0.012-0.006,0.024-0.007,0.037c0,0.011-0.003,0.021-0.005,0.032
+  c-0.002,0.019-0.01,0.034-0.011,0.053c-0.001,0.018-0.001,0.039-0.005,0.057c-0.006,0.026-0.028,0.05-0.041,0.073
+  c-0.008,0.014-0.014,0.033-0.03,0.041c-0.003,0.001-0.009,0.002-0.012,0.004c-0.001,0-0.002,0.001-0.003,0.001
+  c-0.175,0.457-0.35,0.913-0.525,1.37c0,0.001,0.001,0,0.001,0.002c0.002,0.013-0.004,0.021-0.006,0.032
+  c-0.002,0.011,0.003,0.023,0.001,0.033c-0.003,0.012-0.015,0.025-0.022,0.034c-0.007,0.007-0.013,0.013-0.02,0.02
+  c-0.047,0.122-0.094,0.245-0.141,0.367c0.116,0.027,0.232,0.055,0.348,0.082c0.005-0.004,0.01-0.008,0.015-0.012
+  c0.01-0.006,0.022-0.01,0.032-0.016c0.007-0.005,0.012-0.011,0.017-0.017c0.004-0.003,0.006-0.005,0.008-0.006
+  c0.001-0.002,0.002-0.004,0.003-0.006c0.006-0.009,0.012-0.014,0.02-0.022c0.012-0.013,0.027-0.024,0.04-0.036
+  c0.012-0.011,0.022-0.022,0.033-0.033c0.012-0.012,0.026-0.021,0.038-0.033c0.01-0.01,0.025-0.02,0.037-0.028
+  c0.007-0.005,0.013-0.009,0.017-0.016c0.001-0.001,0.001-0.001,0.002-0.002c0.008-0.012,0.017-0.023,0.025-0.035
+  c0.002-0.004,0.004-0.008,0.006-0.012c0.001-0.004,0.006-0.005,0.008-0.008c0.048-0.065,0.095-0.131,0.142-0.196
+  c0.009-0.017,0.022-0.036,0.027-0.053c0.004-0.012,0.004-0.021,0.012-0.032c0.009-0.011,0.021-0.022,0.032-0.033
+  c0.014-0.014,0.027-0.028,0.037-0.045c0.004-0.006,0.01-0.012,0.014-0.018c0.007-0.011,0.013-0.023,0.021-0.033
+  c0.004-0.007,0.016-0.03,0.027-0.029c0.003,0,0.001,0.004,0.002,0.005c0.131-0.182,0.262-0.363,0.393-0.544
+  c0.001-0.004-0.001-0.009,0.001-0.012c0.005-0.011,0.014-0.017,0.023-0.027c0.002-0.003,0.006-0.009,0.009-0.011
+  c0.001-0.001,0.003-0.001,0.004-0.002c0.019-0.026,0.038-0.053,0.057-0.079c0.002-0.005,0.006-0.009,0.006-0.015
+  c0.001-0.005-0.001-0.011,0-0.017c0.001-0.006,0.005-0.01,0.006-0.016c0.001-0.005-0.001-0.011-0.001-0.017
+  c0.001-0.003,0.005-0.01,0.005-0.011c0-0.008-0.001-0.008-0.003-0.016c-0.005-0.017,0.001-0.031,0.009-0.046
+  c0.007-0.013,0.022-0.048,0.043-0.034c0.007,0.005,0.005,0.015,0.013,0.019c0.008,0.005,0.021,0.001,0.027-0.002
+  c0.007-0.004,0.012-0.01,0.018-0.015c0.026-0.036,0.053-0.073,0.079-0.109c-0.007-0.001-0.015-0.002-0.022-0.003
+  c-0.01-0.002-0.022,0-0.032,0c-0.02,0-0.056,0.005-0.05-0.027l0.007-0.003c-0.001,0-0.002-0.001-0.002-0.001
+  c-0.006-0.003-0.014-0.006-0.016-0.012c-0.002-0.007,0.004-0.016,0.006-0.022c0.004-0.01,0.004-0.018,0.007-0.028
+  c0.009-0.032,0.037-0.059,0.042-0.092c0.001-0.007-0.001-0.014,0.001-0.022c0.002-0.007,0.004-0.014,0.006-0.022
+  c0.003-0.015,0.01-0.035,0.019-0.049c0.009-0.014,0.021-0.027,0.034-0.038c0.012-0.009,0.027-0.02,0.028-0.037
+  c0.007-0.002,0.013,0.001,0.02-0.002c0.004-0.001,0.013-0.007,0.018-0.01c0.008-0.004,0.017-0.021,0.025-0.021
+  c0.002,0.01,0.005,0.018,0.007,0.028c0.002,0.016,0.007,0.033,0.01,0.049c0.001,0.011,0.003,0.026,0.001,0.037
+  c-0.001,0.006-0.005,0.01-0.006,0.016c-0.001,0.007,0.001,0.015,0,0.022c-0.002,0.021-0.009,0.046-0.018,0.065
+  c-0.009,0.022-0.014,0.048-0.02,0.071c-0.003,0.014-0.009,0.025-0.014,0.038c0.102-0.037,0.204-0.075,0.305-0.112
+  c0.052,0.073,0.104,0.145,0.156,0.218c-0.134,0.131-0.269,0.263-0.404,0.394c0.001,0.002,0,0.004,0,0.006
+  c0.004,0.023,0.023,0.036,0.023,0.06c-0.001,0.013,0.003,0.031,0,0.044c-0.003,0.009-0.01,0.018-0.013,0.028
+  c-0.003,0.014-0.01,0.028-0.013,0.042c-0.003,0.012-0.002,0.026-0.002,0.038c0,0.026,0,0.05-0.005,0.075
+  c-0.003,0.014-0.006,0.025-0.006,0.04c0.001,0.014-0.002,0.024-0.005,0.038c-0.003,0.012-0.005,0.025-0.009,0.037
+  c-0.004,0.011-0.01,0.022-0.012,0.033c-0.001,0.005,0,0.011-0.002,0.016c-0.003,0.007-0.012,0.015-0.017,0.022
+  c-0.006,0.011-0.012,0.022-0.019,0.033c-0.007,0.012-0.008,0.027-0.016,0.039c-0.006,0.009-0.011,0.017-0.016,0.027
+  c-0.006,0.011-0.01,0.021-0.014,0.032c-0.004,0.013-0.011,0.018-0.019,0.027c-0.009,0.012-0.018,0.023-0.028,0.033
+  c-0.012,0.012-0.024,0.019-0.033,0.033c-0.011,0.017-0.019,0.033-0.026,0.05c-0.002,0.005-0.006,0.01-0.007,0.015
+  c-0.001,0.005,0.002,0.01-0.001,0.015c-0.003,0.008-0.014,0.014-0.02,0.019c-0.016,0.012-0.039,0.021-0.051,0.037
+  c-0.007,0.009-0.014,0.017-0.02,0.027c-0.005,0.008-0.009,0.016-0.017,0.022c-0.007,0.005-0.018,0.007-0.027,0.009
+  c-0.006,0.002-0.01,0.001-0.016,0.002c-0.006,0-0.008,0.003-0.012,0.004c-0.023,0.005-0.046-0.007-0.06,0.016
+  c-0.01,0.015-0.021,0.031-0.03,0.046c-0.017,0.029-0.048,0.047-0.071,0.071c-0.017,0.019-0.027,0.039-0.05,0.052
+  c-0.005,0.003-0.008,0.002-0.013,0.005c-0.002,0.002-0.005,0.006-0.008,0.008c-0.006,0.007-0.012,0.012-0.016,0.021
+  c-0.014,0.027-0.025,0.057-0.035,0.086c-0.005,0.013-0.022,0.029-0.032,0.039c-0.01,0.011-0.021,0.019-0.028,0.033
+  c-0.005,0.009-0.008,0.019-0.014,0.028c-0.012,0.021-0.023,0.042-0.035,0.063c-0.011,0.018-0.016,0.042-0.026,0.061
+  c-0.009,0.019-0.022,0.037-0.033,0.054c-0.02,0.033-0.029,0.072-0.047,0.105c-0.011,0.02-0.021,0.036-0.035,0.053
+  c-0.017,0.02-0.014,0.044-0.028,0.064c-0.012,0.018-0.026,0.033-0.035,0.052c-0.009,0.018-0.014,0.035-0.025,0.052
+  c-0.011,0.019-0.03,0.032-0.041,0.051c-0.01,0.017-0.02,0.035-0.028,0.053c-0.009,0.021-0.024,0.036-0.037,0.055
+  c-0.005,0.008-0.011,0.013-0.016,0.021c-0.007,0.012-0.016,0.017-0.025,0.026c-0.009,0.01-0.015,0.021-0.027,0.028
+  c-0.007,0.004-0.013,0.005-0.019,0.013c-0.006,0.008-0.008,0.018-0.013,0.025c-0.005,0.006-0.012,0.011-0.016,0.017
+  c-0.009,0.01-0.016,0.022-0.026,0.029c-0.009,0.006-0.018,0.01-0.026,0.016c-0.02,0.016-0.025,0.002-0.041-0.011
+  c-0.01-0.007-0.022-0.013-0.033-0.019c-0.012-0.005-0.025-0.009-0.037-0.014c-0.01-0.005-0.015-0.011-0.027-0.011
+  c-0.013-0.001-0.024,0.002-0.036,0.005c-0.008,0.002-0.019,0.005-0.03,0.006c-0.017,0.01-0.028,0.021-0.043,0.033
+  c-0.005,0.003-0.01,0.007-0.016,0.009c-0.013,0.004-0.026,0.007-0.039,0.012c-0.008,0.004-0.018,0.006-0.027,0.011
+  c-0.008,0.004-0.015,0.01-0.022,0.015c-0.019,0.011-0.041,0.017-0.058,0.03c-0.015,0.011-0.028,0.021-0.044,0.03
+  c-0.016,0.008-0.033,0.014-0.05,0.022c-0.013,0.007-0.022,0.018-0.034,0.027c-0.005,0.004-0.006,0.001-0.011,0.006
+  c-0.003,0.003-0.006,0.009-0.009,0.013c-0.009,0.01-0.013,0.022-0.022,0.034c-0.017,0.024-0.036,0.05-0.058,0.068
+  c-0.018,0.014-0.028,0.031-0.038,0.05c-0.012,0.024-0.033,0.039-0.056,0.052c-0.019,0.01-0.042,0.025-0.053,0.045
+  c-0.007,0.01-0.018,0.023-0.022,0.034c-0.004,0.009-0.004,0.021-0.008,0.031c-0.008,0.022-0.027,0.034-0.044,0.047
+  c-0.021,0.018-0.039,0.04-0.057,0.062c-0.014,0.017-0.036,0.028-0.055,0.037c-0.004-0.008,0.01-0.019,0.014-0.026
+  c0.006-0.011,0.017-0.026,0.012-0.038c-0.009,0.002-0.019,0.011-0.027,0.016c-0.01,0.006-0.016,0.007-0.027,0.011
+  c-0.014,0.003-0.027,0.017-0.036,0.028c-0.015,0.016-0.027,0.027-0.045,0.038c-0.016,0.01-0.029,0.023-0.045,0.03
+  c-0.014,0.007-0.023,0.018-0.037,0.025c-0.018,0.008-0.032,0.021-0.049,0.03c-0.021,0.01-0.039,0.026-0.06,0.035
+  c-0.016,0.007-0.032,0.013-0.048,0.022c-0.017,0.01-0.032,0.02-0.05,0.03c-0.007,0.004-0.011,0.004-0.018,0.011
+  c-0.004,0.004-0.008,0.01-0.013,0.013c-0.01,0.008-0.022,0.016-0.033,0.022c-0.007,0.004-0.015,0.008-0.023,0.011
+  c-0.006,0.003-0.011,0.002-0.017,0.004c-0.003,0-0.005,0.002-0.006,0.004c-0.023,0.001-0.002-0.026,0.005-0.037
+  c0.005-0.007,0.011-0.012,0.013-0.021c0.001-0.009-0.004-0.019,0.001-0.027c0.002-0.005,0.01-0.008,0.013-0.013
+  c0.005-0.005,0.01-0.013,0.013-0.02c0.009-0.018,0.016-0.036,0.033-0.05c0.01-0.008,0.024-0.01,0.034-0.019
+  c0.007-0.008,0.011-0.019,0.02-0.025c0.007-0.006,0.016-0.008,0.023-0.013c0.008-0.007,0.012-0.021,0.014-0.029
+  c0.002-0.008-0.001-0.015,0.002-0.022c0.002-0.006,0.01-0.012,0.014-0.017c0.008-0.009,0.015-0.018,0.022-0.027
+  c0.016-0.019,0.03-0.037,0.04-0.059c0.01-0.02,0.021-0.037,0.033-0.055c0.007-0.009,0.014-0.018,0.021-0.027
+  c0.005-0.008,0.017-0.02,0.02-0.028c0.005-0.012,0.002-0.03,0.002-0.043c-0.001-0.019-0.005-0.024-0.022-0.028
+  c-0.013-0.004-0.017-0.008-0.026-0.017c-0.005-0.004-0.009-0.003-0.013-0.004c-0.344,0.335-0.687,0.671-1.031,1.006
+  c-0.061-0.042-0.122-0.085-0.183-0.128c-0.002,0.003-0.005,0.006-0.006,0.009c-0.013,0.031-0.044,0.08-0.08,0.087
+  c-0.008,0.002-0.009,0.001-0.017,0.006c-0.005,0.003-0.01,0.008-0.016,0.01c-0.009,0.002-0.025,0.003-0.033-0.003
+  c-0.003-0.003-0.005-0.006-0.005-0.01c-0.002,0.003-0.003,0.005-0.004,0.007c-0.007,0.014-0.02,0.029-0.023,0.045
+  c-0.004,0.02,0.003,0.034-0.007,0.053c-0.007,0.012-0.012,0.026-0.019,0.039c-0.004,0.008-0.005,0.013-0.007,0.022
+  c-0.002,0.01-0.004,0.012-0.011,0.02c-0.009,0.012-0.018,0.023-0.032,0.031c-0.015,0.008-0.036,0.005-0.049-0.002l0.003-0.007
+  c-0.002,0.001-0.005,0.002-0.008,0.001c-0.009-0.004-0.006-0.017-0.005-0.024c0.002-0.01,0.006-0.025,0.011-0.034
+  c0.006-0.011,0.016-0.017,0.022-0.027c0.002-0.004,0.007-0.01,0.008-0.014c0.003-0.008,0-0.017,0.003-0.026
+  c0.002-0.011,0.005-0.01,0-0.021c-0.004-0.01-0.01-0.018-0.014-0.027c-0.007-0.017,0.005-0.023,0.007-0.039
+  c0.001-0.01-0.001-0.012,0.005-0.022c0.005-0.007,0.009-0.012,0.013-0.02c0.005-0.014,0.007-0.026,0.025-0.029
+  c0.002,0,0.006,0,0.01,0c0-0.018,0.007-0.037,0.017-0.049c0.013-0.015,0.03-0.028,0.034-0.048c0.001-0.011-0.001-0.023-0.001-0.033
+  c0-0.005,0.002-0.009,0.003-0.014c-0.001-0.002-0.002-0.004-0.004-0.006c-0.344-0.241-0.689-0.482-1.033-0.722
+  c0.006-0.039,0.013-0.079,0.02-0.118c-0.014,0-0.028,0-0.041,0c-0.009,0-0.022,0.003-0.027-0.006
+  c-0.005-0.01,0.009-0.026,0.014-0.033c0.006-0.009,0.008-0.017,0.013-0.027c0.004-0.007,0.01-0.013,0.014-0.021
+  c0.006-0.01,0.01-0.02,0.014-0.031c0.002-0.005,0.004-0.006,0.004-0.012c0.001-0.008,0-0.014,0.001-0.021
+  c0.002-0.008,0.009-0.018,0.014-0.025c0.008-0.009,0.009-0.014,0.012-0.025c0.005-0.018,0.014-0.041,0.023-0.059
+  c0.001-0.001,0.003-0.002,0.004-0.003c0.012-0.068,0.023-0.137,0.035-0.205c-0.176-0.03-0.352-0.06-0.528-0.09
+  c0.067-0.179,0.135-0.359,0.203-0.538c-0.089-0.116-0.178-0.231-0.267-0.346c0.037-0.043,0.074-0.086,0.111-0.128
+  c-0.005-0.007-0.01-0.013-0.017-0.018c-0.204,0.031-0.408,0.062-0.612,0.094c-0.004-0.042,0.013,0.467-0.012-0.127
+  c-0.024-0.594,0.79-0.564,1.185-0.846c-0.005-0.014-0.01-0.028-0.014-0.042c-0.008-0.025-0.013-0.053-0.025-0.077
+  c-0.011-0.024-0.02-0.049-0.036-0.07c-0.014-0.017-0.036-0.032-0.039-0.054c-0.003-0.02,0.009-0.039,0.015-0.056
+  c0.008-0.018,0.028-0.026,0.045-0.035c0.009-0.005,0.019-0.007,0.027-0.014c0.009-0.008,0.01-0.015,0.015-0.026
+  c0.007-0.013,0.018-0.02,0.011-0.037c-0.001-0.003-0.006-0.008-0.008-0.012c-0.003-0.005-0.004-0.011-0.007-0.016
+  c-0.011-0.019-0.012-0.04-0.032-0.055c-0.02-0.014-0.04-0.028-0.06-0.042c-0.02-0.012-0.033-0.031-0.055-0.039
+  c-0.022-0.008-0.042-0.035-0.043-0.06c-0.001-0.011,0-0.022,0-0.033c0-0.014,0.003-0.024,0.005-0.038
+  c0.002-0.01-0.002-0.022,0.001-0.032c0.003-0.009,0.013-0.017,0.019-0.023c0.014-0.013,0.024-0.027,0.034-0.04
+  c-0.145-0.072-0.29-0.143-0.435-0.215c-0.005,0.005-0.011,0.01-0.012,0.016c-0.006-0.001-0.015-0.021-0.02-0.028
+  c-0.002-0.003-0.005-0.005-0.008-0.007c-0.101-0.05-0.203-0.101-0.304-0.151c-0.032-0.038-0.064-0.077-0.097-0.116
+  c-0.011-0.005-0.018-0.016-0.032-0.019c-0.013-0.003-0.019,0-0.029-0.01c-0.011-0.012-0.013-0.024-0.031-0.028
+  c-0.008-0.002-0.009,0.001-0.016-0.005c-0.006-0.004-0.013-0.012-0.018-0.017c-0.009-0.007-0.016-0.01-0.026-0.016
+  c-0.009-0.005-0.011-0.011-0.018-0.02c-0.003-0.005-0.006-0.008-0.01-0.011c-0.006-0.004-0.016-0.004-0.021-0.008
+  c-0.009-0.007-0.011-0.021-0.02-0.028c-0.007-0.004-0.014-0.005-0.019-0.013c-0.004-0.005-0.005-0.014-0.01-0.018
+  c-0.006-0.006-0.01-0.003-0.016-0.006c-0.014-0.006-0.011-0.023-0.02-0.033c-0.01-0.01-0.018-0.006-0.029-0.011
+  c-0.011-0.003-0.025-0.022-0.032-0.031c-0.015-0.022-0.04-0.033-0.055-0.055c-0.01-0.012-0.017-0.021-0.029-0.032
+  c-0.015-0.014-0.02-0.03-0.031-0.047c-0.007-0.01-0.017-0.018-0.021-0.03c-0.004-0.014,0.004-0.024,0.005-0.038
+  c0.001-0.025,0.01-0.045-0.002-0.069c-0.005-0.011,0.002-0.018,0.005-0.026c-0.059-0.071-0.118-0.142-0.177-0.214
+  c0.011-0.004,0.023-0.008,0.034-0.012l0.051-0.034c-0.007-0.015-0.015-0.032-0.006-0.049c0.007-0.011,0.017-0.026,0.025-0.037
+  c0.009-0.01,0.024-0.015,0.033-0.025c0.025-0.026,0.023-0.063,0.024-0.098c-0.252-0.022-0.504-0.045-0.755-0.067
+  c0.009-0.109,0.019-0.218,0.029-0.327c-0.002-0.001-0.004-0.003-0.006-0.005c-0.009-0.01-0.017-0.015-0.023-0.027
+  c-0.007-0.017-0.001-0.038,0.018-0.045c0.006-0.003,0.012,0.001,0.018,0.002c0.004-0.051,0.009-0.102,0.013-0.154
+  c-0.005-0.003-0.01-0.006-0.015-0.011c-0.009-0.01-0.015-0.019-0.027-0.027c-0.011-0.006-0.017-0.01-0.023-0.021
+  c-0.006-0.01-0.006-0.017-0.006-0.028c0-0.007-0.001-0.015,0-0.021c0.002-0.008,0.01-0.014,0.011-0.022
+  c0.001-0.009-0.009-0.02-0.016-0.026c-0.003-0.002-0.013-0.01-0.016-0.011c-0.005-0.002-0.012,0.001-0.016-0.002
+  c-0.021-0.015,0.031-0.046-0.012-0.054c-0.007-0.001-0.01,0.003-0.015-0.004c-0.002-0.003-0.004-0.018-0.005-0.021
+  c-0.003-0.015-0.001-0.031-0.001-0.046c0-0.016,0.002-0.034,0-0.049c-0.001-0.009-0.005-0.016-0.006-0.025
+  c-0.001-0.01,0-0.02,0-0.03c0-0.031,0.013-0.066,0.004-0.097c-0.006-0.025-0.003-0.05,0.003-0.076
+  c0.006-0.022,0.01-0.042,0.015-0.065c0.007-0.028,0.009-0.058,0.027-0.081c0.011-0.014,0.02-0.037,0.038-0.039
+  c0.017-0.001,0.018,0,0.026-0.016c0.008-0.015,0.007-0.027,0.007-0.044c0-0.022-0.001-0.044,0.004-0.065
+  c0.003-0.011,0.003-0.022,0.006-0.032c0.003-0.012,0.001-0.026,0.001-0.038c0-0.022-0.005-0.043-0.006-0.065
+  c0-0.013,0-0.026,0-0.039V49.35c0-0.013-0.001-0.028,0.002-0.041c0.001-0.005,0.003-0.007,0.004-0.013c0.001-0.005,0-0.011,0-0.017
+  c0-0.01-0.001-0.021,0-0.032c0-0.012,0.006-0.024,0.009-0.034c0.004-0.01,0.007-0.022,0.014-0.03
+  c0.007-0.009,0.015-0.007,0.026-0.007c0.009,0,0.024-0.001,0.031-0.007c0.012-0.009,0.006-0.019,0.003-0.031
+  c-0.003-0.011,0-0.022-0.001-0.033c-0.001-0.012-0.003-0.013,0.01-0.02c0.022-0.011,0.042-0.019,0.066-0.024
+  c0.012-0.002,0.022,0.002,0.032,0.005c0.011,0.003,0.022,0.001,0.033,0.001c0.011,0,0.022-0.001,0.033,0
+  c0.012,0.002,0.019,0.006,0.032,0.006c0.011,0,0.022,0,0.033,0c0.01-0.001,0.018,0.002,0.027,0.004
+  c0.007-0.002,0.014-0.004,0.022-0.005c0.012,0,0.026-0.001,0.038,0c0.011,0.002,0.016,0.006,0.027,0.006c0.011,0,0.022,0,0.033,0
+  c0.01,0,0.023,0.002,0.032,0c0.007-0.001,0.011-0.005,0.017-0.006c0.007-0.001,0.015,0.001,0.022,0.001
+  c0.019,0,0.046-0.005,0.065-0.001c0.005,0.001,0.006,0.005,0.01,0.006c0.007,0.002,0.018,0.002,0.026,0.004
+  c0.015,0.004,0.022,0.012,0.035,0.022c0.016,0.013,0.027,0.036,0.043,0.046c0.008,0.006,0.018,0.009,0.027,0.014
+  c0.014,0.007,0.024,0.01,0.038,0.013c0.008,0.002,0.008,0.006,0.016,0.003c0.002,0,0.01-0.008,0.012-0.009
+  c0.007-0.006,0.014-0.011,0.02-0.018c0.006-0.006,0.011-0.011,0.018-0.015c0.01-0.007,0.02-0.005,0.032-0.007
+  c0.009-0.001,0.019-0.007,0.028-0.008c0.007-0.001,0.014,0,0.02-0.001c0.012-0.002,0.022-0.009,0.034-0.006
+  c0.025,0.005,0.044,0.035,0.065,0.048c0.011,0.006,0.022,0.013,0.033,0.018c0.01,0.004,0.02,0.005,0.029,0.009
+  c0.009,0.004,0.016,0.008,0.024,0.014c0.015,0.01,0.032,0.011,0.049,0.016c0.023,0.006,0.055,0.022,0.071,0.038
+  c0.004,0.004,0.012,0.015,0.013,0.02c0,0.006-0.005,0.012-0.006,0.017c-0.002,0.007-0.005,0.014-0.006,0.021
+  c-0.004,0.019,0.02,0.048,0.033,0.059c0.013,0.012,0.028,0.026,0.043,0.034c0.002,0.001,0.01,0.003,0.013,0.004
+  c0.004,0.002,0.007,0.004,0.01,0.005c0.012,0.006,0.018,0.009,0.016,0.024c-0.003,0.013-0.009,0.014-0.017,0.021
+  c-0.007,0.007-0.012,0.017-0.016,0.028c-0.014,0.038-0.022,0.074-0.022,0.115c0,0.014,0.003,0.034,0,0.048
+  c-0.001,0.004-0.002,0.008-0.003,0.012c0.022,0.011,0.043,0.022,0.065,0.033c0.094-0.079,0.189-0.158,0.283-0.238
+  c-0.269-0.352-0.538-0.704-0.807-1.056c-0.004,0.003-0.008,0.006-0.014,0.006c-0.005,0.001-0.007,0.002-0.012,0.003
+  c-0.004,0.001-0.01,0.001-0.014,0c-0.022-0.005-0.047-0.009-0.067-0.019c-0.027-0.013-0.052-0.029-0.075-0.047
+  c-0.025-0.02-0.045-0.05-0.05-0.081c-0.003-0.019,0.003-0.037-0.006-0.054c-0.007-0.012-0.014-0.022-0.019-0.035
+  c-0.006-0.017,0.002-0.037,0.01-0.052c0.004-0.008,0.009-0.016,0.009-0.026c-0.001-0.004-0.002-0.007-0.002-0.011
+  c-0.062-0.08-0.124-0.161-0.186-0.242c0.389-1.261,1.079-1.084,1.742-0.555c0.001,0,0.002,0.001,0.003,0.001
+  c0.005,0,0.012-0.002,0.017-0.001c0.005,0.002,0.006,0.006,0.011,0.007c0.01,0.002,0.024,0,0.035,0s0.024-0.002,0.034-0.001
+  c0.013,0.002,0.021,0.006,0.035,0.006s0.027,0.001,0.041,0.006c0.009,0.003,0.019,0.01,0.028,0.012
+  c0.015,0.003,0.021-0.007,0.023,0.011c0.002,0.013,0.001,0.028-0.004,0.041c-0.008,0.019-0.013,0.035-0.013,0.057
+  c0,0.012-0.004,0.018-0.006,0.029c0,0.001,0,0.002,0,0.004c0.057,0.051,0.114,0.106,0.17,0.161c0.032,0.011,0.064,0.026,0.1,0.018
+  c0.005-0.001,0.005-0.005,0.012-0.005c0.007,0.001,0.013,0.005,0.018,0.008c0.012,0.006,0.015,0.01,0.029,0.01
+  c0.011,0,0.023,0,0.034,0c0.006,0,0.012-0.001,0.018,0c0.008,0.001,0.01,0.004,0.017,0.006c0.012,0.004,0.022,0.007,0.035,0.013
+  c0.01,0.005,0.019,0.01,0.028,0.016c0.02,0.011,0.043,0.018,0.064,0.028c0.035,0.018,0.058,0.054,0.086,0.08
+  c0.003,0.002,0.008,0.007,0.01,0.008c0.003,0.002,0.01,0.004,0.012,0.006c0.007,0.006,0.013,0.021,0.018,0.029
+  c0.005,0.01,0.008,0.019,0.007,0.031c-0.002,0.02-0.011,0.047-0.019,0.065c-0.004,0.008-0.013,0.015-0.018,0.022
+  c-0.004,0.007-0.007,0.016-0.011,0.023c-0.005,0.008-0.012,0.015-0.018,0.023c-0.005,0.008-0.009,0.018-0.014,0.026
+  c-0.002,0.004-0.005,0.007-0.007,0.01c0.042,0.045,0.084,0.091,0.124,0.136c0.006-0.006,0.013-0.013,0.02-0.016
+  c0.008-0.004,0.026-0.013,0.035-0.011c0.007,0.002,0.013,0.012,0.019,0.017c0.013,0.013,0.025,0.025,0.034,0.041
+  c0.008,0.013,0.01,0.027,0.018,0.04c0.004,0.007,0.007,0.015,0.011,0.024c0.012,0.026,0.032,0.046,0.049,0.069
+  c0.014,0.018,0.011,0.04,0.016,0.061c0.295,0.327,0.516,0.558,0.595,0.478c0.083-0.331,0.166-0.663,0.248-0.995
+  c0.021-0.028,0.042-0.057,0.063-0.085c-0.002-0.004-0.004-0.008-0.004-0.012c-0.001-0.012-0.002-0.029,0.001-0.041
+  c0.002-0.007,0.007-0.014,0.009-0.022c0.004-0.012,0.006-0.013,0.013-0.024c0.013-0.017,0.023-0.034,0.039-0.05
+  c0.015-0.016,0.035-0.03,0.057-0.04c0.002-0.005,0-0.01,0.002-0.02c0.001-0.006,0.005-0.01,0.006-0.017
+  c0.001-0.005-0.002-0.012,0-0.017c0.006-0.02,0.037-0.028,0.052-0.039c0.01-0.007,0.018-0.016,0.029-0.023
+  c0.01-0.007,0.02-0.012,0.031-0.018c0.038-0.053,0.077-0.106,0.116-0.159c0.014-0.002,0.029-0.003,0.044-0.004
+  c0.003-0.008,0.004-0.017,0.009-0.024c0.005-0.008,0.014-0.013,0.02-0.02c0.018-0.019,0.024-0.044,0.041-0.064
+  c0.005-0.006,0.013-0.011,0.017-0.018c0.006-0.01,0.008-0.024,0.011-0.035c0.003-0.009,0.009-0.019,0.011-0.028
+  c0.003-0.013-0.003-0.028,0.001-0.041c0.006-0.022,0.032-0.043,0.055-0.039c0.005,0.001,0.018,0.009,0.024,0.012
+  c0.012,0.005,0.024,0.01,0.035,0.017c0.038,0.023,0.05,0.063,0.071,0.101c0.009,0.018,0.023,0.034,0.031,0.053
+  c0.009,0.019,0.015,0.035,0.031,0.051c0,0,0,0.001,0.001,0.001c0.067-0.006,0.133-0.012,0.2-0.018c0-0.006,0.001-0.011,0.001-0.016
+  c-0.001-0.007-0.005-0.011-0.007-0.018c-0.001-0.005,0-0.013-0.001-0.018c-0.003-0.016-0.01-0.03-0.016-0.045
+  c-0.009-0.026-0.027-0.049-0.036-0.075c-0.009-0.026-0.021-0.058-0.016-0.087c0.004-0.018,0.009-0.014,0.023-0.017
+  c0.015-0.002,0.026-0.006,0.041-0.006c0.011,0,0.024,0.002,0.034,0.001c0.006-0.001,0.012-0.005,0.017-0.006
+  c0.014-0.005,0.022-0.004,0.036-0.002c0.014,0.002,0.029,0.002,0.044,0.002c0.016-0.001,0.028,0.003,0.043,0.006
+  c0.012,0.001,0.027-0.001,0.039-0.001c0.015,0,0.026,0.006,0.041,0.006c0.023,0,0.046-0.001,0.069,0.005
+  c0.012,0.003,0.024,0.006,0.036,0.007c0.018,0.001,0.034,0.009,0.052,0.012c0.022,0.002,0.048,0,0.067-0.007
+  c0.01-0.003,0.015-0.003,0.022-0.012c0.003-0.005,0.005-0.009,0.005-0.013c-0.02-0.016-0.041-0.03-0.057-0.05
+  c-0.016-0.022-0.029-0.044-0.04-0.069c-0.003-0.008-0.003-0.015-0.006-0.023c-0.001-0.005-0.004-0.009-0.006-0.015
+  c-0.002-0.01-0.004-0.02-0.004-0.031c0-0.019,0.003-0.043-0.003-0.06c-0.007-0.019-0.018-0.027-0.036-0.016
+  c-0.007,0.005-0.009,0.005-0.018,0.005c-0.008,0-0.015-0.001-0.023-0.004c-0.01-0.004-0.013-0.017-0.018-0.026
+  c-0.005-0.009-0.01-0.019-0.016-0.027c-0.011-0.014-0.031-0.005-0.044-0.015c-0.013-0.011-0.018-0.03-0.026-0.045
+  c-0.004-0.007-0.009-0.016-0.013-0.023c-0.003-0.004-0.008-0.007-0.011-0.011c-0.004-0.005-0.005-0.01-0.008-0.015
+  c-0.002-0.003-0.004-0.005-0.006-0.007c-0.009-0.003-0.018-0.008-0.028-0.013c-0.029-0.016-0.059-0.038-0.082-0.062
+  c-0.013-0.014-0.029-0.025-0.042-0.039c-0.008-0.008-0.016-0.018-0.023-0.027c-0.012-0.016-0.02-0.035-0.03-0.052
+  c-0.005-0.008-0.014-0.015-0.019-0.024c-0.004-0.007-0.007-0.012-0.011-0.019c-0.008-0.011-0.016-0.024-0.02-0.037
+  c-0.004-0.012-0.011-0.025-0.011-0.038c0-0.007,0-0.012,0.008-0.015c0.009-0.003,0.025,0.011,0.031,0.018
+  c0.006,0.007,0.008,0.017,0.014,0.024s0.013,0.012,0.018,0.02c0.005,0.007,0.008,0.012,0.016,0.017
+  c0.006,0.003,0.013,0.004,0.018,0.009c0.007,0.006,0.015,0.016,0.02,0.023c0.005,0.007,0.009,0.015,0.016,0.007
+  c0.005-0.005,0.006-0.015,0.011-0.019c0.004-0.004,0.013-0.009,0.019-0.008c0.006,0,0.01,0.008,0.015,0.011
+  c0.004,0.001,0.019,0.002,0.022,0.001c0.011-0.005-0.01-0.025-0.014-0.032c-0.008-0.015-0.014-0.032-0.021-0.048
+  c-0.005-0.014-0.005-0.029-0.01-0.041c-0.006-0.017-0.008-0.034-0.016-0.049c-0.004-0.008-0.007-0.016-0.012-0.023
+  c-0.004-0.008-0.011-0.013-0.017-0.019c-0.009-0.009-0.018-0.018-0.027-0.027c-0.009-0.008-0.02-0.014-0.03-0.022
+  c-0.014-0.011-0.025-0.024-0.038-0.035c-0.004-0.004-0.008-0.006-0.011-0.011c-0.002-0.001-0.004-0.005-0.005-0.007
+  c-0.004-0.007-0.007-0.011-0.013-0.016c-0.003-0.003-0.012-0.009-0.008-0.014c0.002-0.003,0.016,0.004,0.021,0.003
+  c-0.005-0.004-0.012-0.007-0.017-0.011c-0.008-0.006-0.014-0.013-0.021-0.02c-0.006-0.006-0.014-0.012-0.021-0.019
+  c-0.003-0.003-0.004-0.006-0.008-0.009c-0.003-0.002-0.005-0.003-0.008-0.004c-0.004-0.003-0.008-0.009-0.011-0.013
+  c-0.005-0.006-0.008-0.012-0.012-0.019c-0.008-0.013-0.017-0.027-0.03-0.036c-0.013-0.01-0.026-0.02-0.035-0.035
+  c-0.006-0.012-0.009-0.026-0.014-0.038c-0.007-0.014-0.027-0.015-0.038-0.025c-0.008-0.008-0.013-0.02-0.022-0.028
+  c-0.017-0.015-0.038-0.031-0.06-0.037c-0.009-0.003-0.013-0.003-0.019-0.012c-0.003-0.005-0.004-0.015-0.012-0.018
+  c-0.012-0.005-0.023,0.017-0.034,0c-0.003-0.006-0.004-0.014-0.007-0.02c-0.003-0.004-0.008-0.01-0.012-0.014
+  c-0.011-0.009-0.025-0.017-0.037-0.023c-0.021-0.011-0.047-0.007-0.067-0.016c-0.014-0.006-0.033-0.01-0.047-0.015
+  c-0.014-0.004-0.02-0.01-0.031-0.021c-0.01-0.011-0.025-0.019-0.034-0.031c-0.01-0.015-0.017-0.028-0.033-0.038
+  c-0.015-0.01-0.031-0.02-0.046-0.03c-0.004-0.002-0.005,0-0.008-0.004c-0.003-0.003-0.003-0.008-0.006-0.012
+  c-0.004-0.007-0.011-0.012-0.019-0.015c-0.011-0.003-0.02-0.009-0.027-0.018c-0.004-0.008-0.01-0.012-0.015-0.019
+  c-0.01-0.015-0.016-0.031-0.026-0.046c-0.009-0.012-0.018-0.022-0.028-0.033c-0.005-0.005-0.011-0.009-0.018-0.011
+  c-0.008-0.004-0.016-0.008-0.024-0.012c-0.01-0.005-0.021-0.008-0.032-0.016c-0.008-0.006-0.015-0.012-0.023-0.018
+  c-0.015-0.01-0.029-0.021-0.041-0.034c-0.009-0.01-0.015-0.017-0.027-0.023c-0.007-0.003-0.015-0.003-0.023-0.005
+  c-0.011-0.002-0.021-0.006-0.031-0.01c-0.01,0.004-0.02,0.008-0.031,0.009c-0.01,0.002-0.015,0.001-0.024,0.008
+  c-0.01,0.008-0.019,0.022-0.022,0.035c-0.004,0.019,0.006,0.031,0.012,0.048c0.013,0.034,0.016,0.069-0.027,0.074
+  c0,0.01-0.009,0.017-0.011,0.025c-0.002,0.01,0.001,0.022,0,0.032c-0.001,0.022-0.028,0.033-0.047,0.037
+  c-0.007,0.002-0.016,0.001-0.023,0c-0.007,0-0.011-0.003-0.016-0.004c-0.004-0.001-0.01,0-0.014-0.001
+  c-0.005-0.001-0.006-0.005-0.01-0.006c-0.005-0.001-0.01,0.001-0.015-0.001c-0.002,0-0.008-0.004-0.011-0.005
+  c-0.009-0.004-0.017-0.01-0.026-0.016c-0.009-0.005-0.018-0.011-0.028-0.016c-0.005-0.002-0.009-0.005-0.014-0.009
+  c-0.003-0.002-0.008-0.004-0.011-0.006c-0.016-0.012-0.025-0.032-0.036-0.048c-0.018-0.024-0.04-0.013-0.065-0.009
+  c-0.005,0.001-0.01-0.001-0.016,0c-0.005,0.001-0.009,0.004-0.015,0.006c-0.008,0.001-0.017-0.002-0.025-0.001
+  c-0.01,0.001-0.018,0.005-0.027,0.006c-0.018,0.001-0.036-0.003-0.053,0.001c-0.017,0.003-0.033,0.007-0.05,0.009
+  c-0.006,0.001-0.012,0-0.018,0.001c-0.004,0.001-0.006,0.004-0.012,0.005c-0.005,0-0.011-0.002-0.016-0.001
+  c-0.005,0.001-0.005,0.005-0.01,0.006c-0.007,0.001-0.014-0.002-0.021-0.001c-0.006,0.002-0.01,0.005-0.016,0.006
+  c-0.011,0.002-0.02,0.003-0.032,0.006c-0.012,0.004-0.018,0.004-0.031,0.003c-0.019-0.001-0.032,0.006-0.048,0.016
+  c-0.022,0.014-0.04,0.037-0.068,0.038c-0.011,0-0.016-0.004-0.026-0.005c-0.012-0.002-0.021,0-0.032,0.004
+  c-0.014,0.004-0.028,0.007-0.042,0.01c-0.012,0.003-0.025,0.006-0.037,0.007c-0.028,0.002-0.055,0.009-0.082,0.016
+  c-0.022,0.005-0.044,0.01-0.065,0.014c-0.015,0.003-0.029,0.009-0.043,0.012c-0.024,0.005-0.054,0-0.078,0
+  c-0.021,0-0.04,0-0.054-0.015c-0.01-0.009-0.02-0.026-0.024-0.039c-0.002-0.006-0.002-0.01-0.005-0.016
+  c-0.002-0.003-0.006-0.006-0.008-0.009c-0.007-0.009-0.011-0.021-0.016-0.032c-0.011-0.022-0.012-0.039,0.007-0.058
+  c0.009-0.009,0.017-0.014,0.022-0.026c0.004-0.008,0.006-0.017,0.01-0.025c0.009-0.017,0.018-0.033,0.03-0.05
+  c0.019-0.03-0.027-0.017-0.041-0.014c-0.021,0.004-0.037-0.007-0.046-0.023c-0.009-0.015-0.019-0.029-0.032-0.042
+  c-0.007-0.007-0.014-0.01-0.021-0.016c-0.007-0.005-0.011-0.013-0.018-0.018c-0.019-0.013-0.038-0.025-0.057-0.038
+  c-0.01-0.007-0.016-0.016-0.025-0.023c-0.008-0.006-0.016-0.012-0.024-0.018c-0.013-0.01-0.024-0.021-0.036-0.033
+  c-0.017-0.015-0.036-0.023-0.056-0.033c-0.018-0.009-0.035-0.024-0.054-0.03c-0.024-0.008-0.047-0.018-0.068-0.033
+  c-0.005-0.003-0.01-0.006-0.015-0.01c-0.009,0.006-0.018,0.012-0.026,0.017c-0.013,0.007-0.019,0.007-0.033,0.01
+  c-0.012,0.002-0.019,0.005-0.031,0.005c-0.018,0-0.036,0.002-0.053,0.001c-0.021-0.002-0.038-0.008-0.059-0.005
+  c-0.024,0.004-0.049,0.009-0.073,0.01c-0.023,0-0.046,0-0.068,0c-0.013,0-0.025-0.002-0.038-0.001
+  c-0.014,0.001-0.026,0.006-0.04,0.006c-0.029,0-0.057-0.015-0.086-0.016c-0.01,0-0.021,0-0.031,0c-0.017,0-0.03,0.004-0.046,0.005
+  c-0.02,0.002-0.04,0.009-0.06,0.011c-0.011,0.002-0.024,0-0.036,0h-0.069c-0.01,0-0.021,0-0.031,0c-0.011,0-0.016-0.004-0.027-0.006
+  c-0.012-0.001-0.014,0.001-0.021-0.01c-0.006-0.011-0.003-0.02-0.014-0.028c-0.012-0.009-0.029-0.013-0.043-0.018
+  c-0.019-0.007-0.039-0.012-0.058-0.018c-0.007-0.003-0.015-0.007-0.021-0.008c-0.009-0.003-0.018,0-0.027-0.001
+  c-0.009-0.002-0.017-0.005-0.026-0.006c-0.012-0.001-0.025-0.003-0.036-0.006c-0.014-0.004-0.029-0.009-0.043-0.01
+  c-0.007,0-0.015,0.002-0.021,0.001c-0.014-0.003-0.027-0.011-0.042-0.011c-0.007-0.001-0.014,0.001-0.022,0
+  c-0.008-0.001-0.012-0.004-0.02-0.006c-0.017-0.002-0.032-0.002-0.048-0.009c-0.018-0.007-0.033-0.016-0.053-0.017
+  c-0.021-0.002-0.046,0.005-0.067,0c-0.007-0.001-0.014-0.004-0.021-0.006c-0.005-0.002-0.011-0.003-0.017-0.005
+  c-0.006-0.002-0.01-0.007-0.015-0.01c-0.007-0.003-0.014-0.007-0.021-0.01c-0.026-0.013-0.051-0.024-0.075-0.041
+  c-0.011-0.008-0.021-0.019-0.031-0.029c-0.006-0.006-0.028-0.023-0.016-0.03l0.011-0.011c-0.01-0.002-0.023-0.029-0.017-0.036
+  c0.004-0.004,0.022-0.006,0.027-0.006c0.009-0.001,0.018,0,0.027,0c0.016,0,0.036,0.003,0.052,0
+  c0.008-0.001,0.016-0.008,0.022-0.009c0.009-0.003,0.017-0.001,0.025-0.001c0.022-0.001,0.038-0.017,0.059-0.016
+  c0.022,0,0.032-0.006,0.046-0.023c0.006-0.007,0.011-0.016,0.015-0.025c0.004-0.007,0.011-0.014,0.013-0.021
+  c0.002-0.008-0.002-0.018-0.001-0.026c0.002-0.01,0.006-0.016,0.005-0.026c0-0.004,0-0.008,0.001-0.011
+  c-0.001-0.005-0.004-0.008-0.005-0.012c-0.002-0.01,0-0.016-0.006-0.026c-0.006-0.012-0.014-0.023-0.02-0.036
+  c-0.003-0.008-0.006-0.014-0.01-0.021c-0.009-0.013-0.016-0.027-0.024-0.041c-0.006-0.011-0.017-0.025-0.02-0.038
+  c-0.008-0.032,0.022-0.019,0.041-0.015c0.009,0.001,0.018,0.004,0.028,0.005c0.003,0,0.007,0,0.01,0
+  c0.006,0,0.008,0.003,0.012,0.004c0.032,0.008,0.064,0.018,0.093,0.032c0.006-0.022-0.001-0.041-0.019-0.054
+  c-0.009-0.006-0.019-0.01-0.028-0.015c-0.011-0.007-0.019-0.017-0.026-0.027c-0.014-0.021-0.021-0.047-0.021-0.072
+  c0-0.012-0.004-0.02-0.006-0.031c-0.002-0.014,0.006-0.025,0.006-0.038c-0.001-0.015-0.009-0.033-0.006-0.047
+  c0.002-0.009,0.01-0.016,0.011-0.026c0.001-0.005,0-0.011,0-0.016c0-0.007,0.003-0.009,0.004-0.016c0.001-0.003,0-0.013,0.002-0.015
+  c0.004-0.003,0.015,0,0.02,0c0.015-0.002,0.011-0.008,0.011-0.022V43.87c0-0.023-0.001-0.043,0.026-0.042
+  c0.012,0,0.02,0.001,0.032,0.004c0.011,0.003,0.025,0.001,0.037,0.001s0.024-0.001,0.037,0c0.015,0.001,0.028,0.007,0.043,0.011
+  c0.023,0.006,0.05,0.011,0.071,0.022c0.007,0.004,0.02,0.005,0.023,0.014c0.004,0.013-0.004,0.027-0.006,0.038
+  c-0.002,0.012,0.002,0.024-0.001,0.036c-0.003,0.01-0.004,0.019-0.008,0.028c-0.009,0.019-0.021,0.038-0.002,0.057
+  c0.01,0.009,0.025,0.01,0.036,0.016c0.011,0.006,0.022,0.009,0.033,0.014c0.008,0.003,0.015,0.006,0.021,0.011
+  c0.004,0.003,0.007,0.005,0.011,0.01s0.007,0.011,0.011,0.016c0.011,0.012,0.044,0.036,0.059,0.017
+  c0.01-0.013-0.027-0.049-0.038-0.058c-0.008-0.006-0.014-0.015-0.022-0.02c-0.006-0.005-0.009-0.006-0.015-0.012
+  c-0.006-0.008-0.011-0.015-0.011-0.026c0-0.012,0.006-0.017,0.012-0.026c0.002-0.004,0.007-0.012,0.008-0.016
+  c0.001-0.005,0.004-0.013,0.005-0.017c0.005-0.027-0.005-0.037-0.02-0.057c-0.008-0.01-0.013-0.021-0.021-0.031
+  c-0.005-0.008-0.01-0.012-0.015-0.021c-0.004-0.007-0.006-0.015-0.011-0.022c-0.008-0.01-0.014-0.023-0.022-0.033
+  c-0.01-0.011-0.024-0.021-0.037-0.03c-0.024-0.015-0.04-0.036-0.059-0.056c-0.012-0.015-0.021-0.031-0.034-0.045
+  c-0.007-0.008-0.015-0.019-0.012-0.031c0.003-0.014,0.024-0.024,0.037-0.026c0.008-0.001,0.015,0.001,0.023,0
+  c0.007-0.001,0.013-0.004,0.02-0.005c0.013-0.003,0.028,0.002,0.041,0.004c0.01,0.002,0.022,0,0.032,0.002
+  c0.013,0.004,0.023,0.003,0.037,0.004c0.024,0.002,0.033,0.015,0.049,0.031c0.015,0.014,0.032,0.025,0.051,0.033
+  c0.022,0.008,0.041,0.001,0.063,0.005c0.009,0.001,0.02,0.008,0.028,0.009c0.011,0.003,0.023,0.001,0.036,0.001
+  c0.01,0.001,0.018,0.005,0.026,0.012c0.009,0.009,0.008,0.013,0.011,0.024c0.003,0.007,0.01,0.016,0.014,0.023
+  c0.006,0.01,0.006,0.02,0.013,0.031c0.009,0.015,0.021,0.028,0.03,0.042c0.006,0.009,0.011,0.021,0.017,0.03
+  c0.009,0.013,0.022,0.022,0.032,0.033c0.014,0.016,0.03,0.03,0.046,0.042c0.019,0.013,0.041,0.018,0.058,0.032
+  c0.012,0.009,0.025,0.016,0.037,0.025c0.019,0.014,0.024,0.039,0.042,0.055c0.008,0.007,0.018,0.013,0.025,0.021
+  c0.006,0.008,0.014,0.018,0.023,0.024c0.014,0.009,0.027,0.003,0.042,0.006c0.009,0.002,0.02,0.009,0.03,0.012
+  c0.019,0.008,0.034,0.026,0.054,0.035c0.022,0.01,0.049,0.017,0.073,0.017c0.012-0.001,0.02,0.004,0.032,0.005
+  c0.017,0.001,0.032-0.005,0.049-0.006c0.01,0,0.025-0.001,0.035,0c0.012,0.002,0.019,0.006,0.032,0.006
+  c0.012,0,0.02,0.003,0.031,0.005c0.005,0.002,0.011-0.001,0.016,0c0.009,0.001,0.009,0.002,0.016,0.007
+  c0.007,0.004,0.014,0.01,0.021,0.014c0.008,0.005,0.017,0.007,0.026,0.011c0.011,0.004,0.021,0.003,0.032,0.006
+  c0.013,0.004,0.024,0.012,0.032,0.021c0.003-0.001,0.007-0.003,0.01-0.005c0.024-0.012,0.043-0.023,0.054-0.049
+  c0.009-0.019,0.003-0.044-0.007-0.063c-0.009-0.018-0.038-0.035-0.036-0.058c0.003-0.021,0.03-0.027,0.031-0.047
+  c0.001-0.009,0.002-0.023,0-0.032s-0.011-0.023-0.015-0.031c-0.005-0.008-0.011-0.012-0.015-0.02
+  c-0.004-0.006-0.005-0.014-0.008-0.02c-0.005-0.01-0.009-0.019-0.013-0.029c-0.004-0.008-0.009-0.019-0.011-0.027
+  c-0.001-0.005,0-0.01-0.002-0.015c-0.003-0.006-0.011-0.01-0.016-0.014c-0.017-0.014-0.03-0.026-0.042-0.044
+  c-0.006-0.009-0.013-0.017-0.019-0.026c-0.007-0.011-0.016-0.015-0.028-0.021c-0.019-0.011-0.035-0.021-0.056-0.028
+  c-0.003-0.001-0.009-0.003-0.012-0.004c-0.001,0-0.011-0.004-0.012-0.004c-0.011-0.002-0.023-0.001-0.035-0.001
+  c-0.01,0-0.023,0.003-0.032,0c-0.011-0.002-0.013-0.016-0.016-0.026c-0.005-0.021-0.002-0.048-0.022-0.062
+  c-0.018-0.014-0.038-0.02-0.057-0.032c-0.017-0.01-0.03-0.028-0.047-0.039c-0.032-0.022-0.095-0.042-0.095-0.088
+  c0-0.008,0.003-0.014,0.004-0.022c0.002-0.006,0-0.013,0.001-0.019c0.002-0.011,0.007-0.022,0.01-0.033
+  c0.002-0.008,0.002-0.013,0.006-0.021s0.01-0.018,0.015-0.025c0.009-0.016,0.02-0.029,0.032-0.041
+  c-0.009-0.008-0.018-0.015-0.027-0.023c-0.015-0.014-0.039-0.026-0.058-0.034c-0.014-0.006-0.026-0.014-0.041-0.021
+  c-0.017-0.007-0.046-0.021-0.052-0.04c-0.003-0.008-0.005-0.019-0.006-0.027c0-0.012,0.003-0.021-0.004-0.031
+  c-0.006-0.008-0.016-0.014-0.021-0.023c-0.002-0.004-0.002-0.01-0.005-0.015c-0.002-0.004-0.005-0.005-0.007-0.009
+  c-0.004-0.015-0.002-0.044,0-0.059c0.003-0.016,0.011-0.03,0.011-0.047c0-0.021-0.001-0.036-0.009-0.054
+  c-0.009-0.018-0.015-0.038-0.023-0.056c-0.011-0.024-0.029-0.045-0.047-0.064c-0.03-0.032-0.062-0.064-0.088-0.1
+  c-0.012-0.016-0.026-0.032-0.037-0.048c-0.011-0.017-0.019-0.038-0.033-0.052c-0.006-0.006-0.014-0.007-0.02-0.011
+  c-0.006-0.005-0.013-0.014-0.018-0.02c-0.007-0.01-0.024-0.035-0.019-0.047c0.007,0.003,0.018,0.008,0.026,0.005
+  c0.011-0.005,0.003-0.014,0-0.021c-0.002-0.004-0.003-0.009-0.004-0.012c-0.002-0.005-0.005-0.011-0.008-0.015
+  c-0.006-0.01-0.013-0.023-0.021-0.031c-0.013-0.014-0.025-0.027-0.034-0.043c-0.003-0.004-0.013-0.015-0.013-0.021
+  c0.001-0.009,0.015-0.012,0.022-0.016c0.011-0.006,0.03-0.02,0.025-0.035c-0.002-0.006-0.011-0.016-0.016-0.021
+  c-0.008-0.008-0.023-0.008-0.029-0.018c-0.004-0.007-0.004-0.018-0.007-0.025c-0.004-0.012-0.005-0.02-0.005-0.032
+  c0-0.01-0.002-0.019,0.004-0.028s0.014-0.011,0.022-0.015c0.014-0.007,0.036-0.02,0.02-0.035c-0.012-0.012-0.031-0.015-0.046-0.022
+  c-0.019-0.009-0.042-0.015-0.063-0.021c-0.014-0.004-0.029-0.004-0.042-0.007c-0.013-0.002-0.027-0.01-0.038-0.013
+  c-0.019-0.005-0.04,0.001-0.058-0.005c-0.009-0.003-0.018-0.007-0.026-0.011c-0.013-0.005-0.023-0.005-0.036-0.007
+  c-0.012-0.003-0.025-0.008-0.037-0.011c-0.01-0.003-0.021-0.007-0.032-0.01c-0.01-0.002-0.02-0.005-0.031-0.005
+  c-0.013,0.001-0.024-0.004-0.037-0.005c-0.007,0-0.025-0.003-0.031-0.006c-0.011-0.008-0.006-0.014,0.005-0.015
+  c0.01-0.001,0.02,0.002,0.03-0.001c0.007-0.002,0.013-0.01,0.022-0.011c-0.001-0.005-0.019-0.015-0.025-0.018
+  c-0.011-0.007-0.02-0.007-0.032-0.007c-0.011,0-0.022,0-0.032,0c-0.005,0-0.011,0.001-0.016,0c-0.008,0-0.013-0.004-0.021-0.005
+  c-0.011-0.002-0.021-0.003-0.032-0.005c-0.005-0.002-0.009-0.004-0.015-0.006c-0.009-0.002-0.02,0-0.03-0.003
+  c-0.014-0.005-0.024-0.006-0.039-0.007c-0.013-0.001-0.023-0.006-0.037-0.005c-0.011,0-0.02-0.004-0.031-0.006
+  c-0.012-0.001-0.025-0.003-0.036-0.006c-0.009-0.003-0.017-0.008-0.027-0.009c-0.007-0.001-0.01-0.003-0.016-0.005
+  c-0.008-0.001-0.014,0-0.021-0.001c-0.011-0.001-0.016-0.005-0.027-0.005s-0.021,0.001-0.03-0.007c-0.01-0.008-0.006-0.013,0-0.023
+  c0.006-0.01,0.009-0.016,0.009-0.028c0-0.022,0.001-0.042-0.004-0.063c-0.001-0.006,0-0.01-0.001-0.016s-0.004-0.01-0.005-0.016
+  c-0.002-0.009,0.002-0.02,0.011-0.025c0.005-0.003,0.01,0,0.015-0.001c0.006-0.001,0.01-0.005,0.016-0.006
+  c0.011-0.002,0.02,0,0.031-0.005c0.011-0.004,0.023-0.006,0.033-0.011c0.012-0.006,0.032-0.01,0.041-0.019
+  c0.02-0.018-0.012-0.029-0.022-0.042c-0.019-0.022-0.022-0.037-0.016-0.065c0.002-0.01,0.009-0.02,0.006-0.031
+  c-0.003-0.007-0.007-0.014-0.011-0.021c-0.716-0.167-1.463-0.256-2.23-0.256c-1.483,0-2.888,0.331-4.147,0.923
+  c-0.001,0.002-0.003,0.003-0.004,0.004c-0.011,0.007-0.019,0.017-0.021,0.029c-0.001,0.003-0.001,0.007-0.001,0.011
+  c0.689-0.188,1.378-0.376,2.067-0.564c0.028,0.121,0.055,0.242,0.083,0.363c-0.41,0.599-0.395,1.249-1.229,1.798
+  c-0.743,0.488-0.665,0.181-0.862,0.139c0,0,0,0,0,0.001c0.002,0.009,0.006,0.021,0.003,0.031c-0.002,0.006-0.008,0.015-0.012,0.021
+  c-0.004,0.007-0.01,0.015-0.014,0.022c-0.003,0.006-0.006,0.009-0.01,0.014c-0.001,0.001-0.047,0.052-0.11,0.123
+  c-0.002,0.008-0.005,0.017-0.007,0.025c0.052-0.057,0.09-0.098,0.089-0.095c-0.008,0.019-0.015,0.038-0.025,0.057
+  c-0.011,0.021-0.027,0.038-0.044,0.055c-0.011,0.01-0.022,0.021-0.032,0.031c-0.161,0.768,0.008,1.628-0.821,2.21
+  c-0.58,0.408-0.637,0.248-0.658,0.049c-0.037,0.163-0.024,0.083-0.004-0.031c-0.01-0.112-0.018-0.228-0.106-0.255
+  c-0.007-0.017-0.014-0.034-0.021-0.051c-0.001,0-0.002,0-0.003,0c-0.004,0-0.007,0.003-0.011,0.004
+  c-0.006,0.001-0.012-0.001-0.018,0c-0.009,0.003-0.017,0.003-0.025,0.006c-0.008,0.002-0.014,0.005-0.022,0.009
+  c-0.017,0.008-0.028-0.011-0.028-0.026c0-0.007,0-0.015,0-0.022c0-0.009,0.002-0.011,0.007-0.018
+  c0.003-0.005,0.005-0.011,0.004-0.018c-0.001-0.003-0.004-0.003-0.004-0.006c-0.001-0.005,0.002-0.009-0.003-0.012
+  c0.004-0.006,0.006-0.014,0.009-0.021c0.004-0.007,0.005-0.019,0.011-0.025c-0.016,0.001-0.03,0.01-0.043,0.018
+  c-0.008,0.005-0.015,0.009-0.024,0.012c-0.01,0.002-0.018,0.007-0.028,0.01c-0.023,0.009-0.044,0.022-0.066,0.032
+  c-0.016,0.006-0.03,0.011-0.046,0.018c-0.018,0.01-0.036,0.019-0.053,0.029c-0.016,0.008-0.028,0.024-0.047,0.024
+  c-0.012,0-0.02-0.003-0.031-0.008c-0.01-0.004-0.019-0.006-0.028-0.013c0,0,0.001,0,0.002,0h0.007
+  c-0.006-0.001-0.014-0.007-0.018-0.011c-0.006-0.006-0.002-0.014,0.001-0.021c0.01-0.023,0.03-0.038,0.045-0.057
+  c0.005-0.006,0.009-0.013,0.014-0.019c0.005-0.008,0.012-0.011,0.018-0.018c0.004-0.004,0.008-0.008,0.012-0.013
+  c0.006-0.006,0.014-0.007,0.02-0.012c0.014-0.011,0.025-0.022,0.036-0.035c0.008-0.01,0.017-0.017,0.025-0.026
+  c0.005-0.007,0.013-0.011,0.018-0.017c0.003-0.005,0.007-0.01,0.009-0.014c0.002-0.005,0.001-0.008,0.003-0.012
+  c0-0.003,0.003-0.003,0.003-0.006c0.001-0.004-0.002-0.007,0.001-0.011c0,0,0.006-0.002,0.007-0.003
+  c0.005-0.003,0.012-0.008,0.016-0.012c0.008-0.009,0.014-0.021,0.019-0.032c0.003-0.006,0.004-0.013,0.006-0.018
+  c0.004-0.008,0.01-0.014,0.013-0.021c0.006-0.015,0.013-0.03,0.026-0.041c-0.101-0.249-0.203-0.497-0.304-0.746
+  c0,0-0.001,0-0.001-0.001c-0.014-0.013-0.029-0.014-0.046-0.004c-0.017,0.012-0.022-0.004-0.038-0.007
+  c-0.008-0.001-0.014,0-0.021,0.004c-0.002,0.002-0.004,0.004-0.006,0.005c-0.002,0.001-0.007,0.003-0.009,0.004
+  c-0.006,0.006-0.007,0.015-0.015,0.02c-0.009,0.006-0.01,0.002-0.017-0.002c-0.016-0.008-0.031,0.007-0.042,0.017
+  c-0.009,0.008-0.018,0.016-0.03,0.016c-0.01,0.001-0.012,0-0.019,0.005c-0.004,0.003-0.012,0.011-0.017,0.012
+  c-0.003,0-0.019-0.005-0.021-0.008c-0.008,0.003-0.016,0.007-0.024,0.01c-0.003,0.001-0.008,0.005-0.011,0.005
+  c-0.006,0.001-0.007-0.003-0.012-0.003c-0.005,0-0.014,0.008-0.019,0.01c-0.005,0.003-0.011,0.006-0.017,0.008
+  s-0.021,0.003-0.024,0.008c-0.001-0.01,0.005-0.015,0.009-0.023c0.005-0.009,0.007-0.019,0.012-0.028
+  c0.005-0.009,0.008-0.019,0.012-0.028c0.002-0.006,0.005-0.013,0.007-0.019c0.002-0.005,0.005-0.009,0.008-0.013
+  c0.001-0.004,0-0.008,0.001-0.012c0.003-0.011,0.011-0.02,0.014-0.031c0.003-0.01,0.007-0.019,0.009-0.028
+  c0.001-0.005,0.003-0.012,0.004-0.017c0.001-0.003,0.004-0.004,0.004-0.007c0.001-0.008-0.005-0.009-0.003-0.018
+  c0.001-0.006,0.008-0.012,0.007-0.018c-0.008-0.003-0.011,0.009-0.019,0.007c-0.003-0.008,0.006-0.022,0.008-0.03
+  c0.002-0.008,0.007-0.016,0.01-0.024c-0.011-0.005-0.014,0.007-0.023,0.007c-0.005,0.001-0.013-0.007-0.012-0.012
+  c0-0.003,0.004-0.006,0.005-0.008c0.005-0.008,0.014-0.015,0.018-0.024c0.004-0.009,0.006-0.019,0.01-0.028
+  c0.003-0.006,0.008-0.01,0.01-0.016c0.002-0.004,0.002-0.008,0.004-0.012c0.004-0.007,0.011-0.015,0.017-0.021
+  c0.012-0.011,0.026-0.024,0.04-0.034c0.01-0.008,0.017-0.012,0.021-0.025c0.003-0.009,0.004-0.019,0.007-0.028
+  c0.005-0.017,0.019-0.032,0.028-0.047c0-0.001,0.001-0.002,0.001-0.002c-0.01-0.024-0.019-0.048-0.029-0.071
+  c-0.012,0.003-0.024,0.007-0.036,0.009c-0.033,0.003-0.06,0.027-0.089,0.043c-0.021,0.011-0.04,0.022-0.058,0.038
+  c-0.009,0.007-0.016,0.016-0.025,0.022c-0.009,0.006-0.016,0.013-0.024,0.02c-0.007,0.005-0.012,0.013-0.019,0.021
+  c-0.009,0.01-0.018,0.019-0.029,0.027c-0.005,0.004-0.01,0.01-0.015,0.013c-0.008,0.005-0.018,0.01-0.025,0.016
+  c-0.004,0.004-0.002,0.006-0.004,0.011c-0.002,0.006-0.01,0.012-0.014,0.016c-0.012,0.014-0.026,0.022-0.041,0.032
+  c-0.006,0.004-0.017,0.009-0.021,0.015c-0.002,0.002-0.002,0.006-0.004,0.008c-0.003,0.003-0.007,0.004-0.01,0.006
+  c-0.011,0.008-0.015,0.022-0.025,0.031c-0.006,0.005-0.012,0.009-0.016,0.016c0.001-0.002-0.003,0.01-0.003,0.009
+  c-0.001,0.003,0,0.007-0.001,0.011c-0.002,0.012-0.013,0.03-0.023,0.037c-0.006,0.005-0.01,0.005-0.014,0.014
+  c-0.004,0.009-0.002,0.019-0.01,0.028c-0.008,0.01-0.016,0.019-0.025,0.029c-0.004,0.006-0.008,0.013-0.015,0.015
+  c-0.002-0.004,0-0.008,0.002-0.011c-0.007,0.003-0.007,0.012-0.015,0.017c-0.006,0.003-0.015,0.006-0.02,0.011
+  c-0.004,0.005-0.007,0.017,0,0.02c0.009,0.003,0.012-0.009,0.02-0.001c0.002,0.003-0.001,0.007,0.003,0.01
+  c0.005,0.003,0.003,0.001,0.009-0.001c0.006-0.001,0.011-0.008,0.016-0.009c0.008-0.001,0.011,0.008,0.016,0.011
+  c0.004,0.004,0.009,0.006,0.013,0.008c0.005,0.003,0.004,0.002,0.007,0.005c0.001,0.001,0.004,0.005,0.005,0.007
+  c0.003,0.004,0.007,0.007,0.01,0.01c0.005,0.006,0.006,0.009,0.013,0.014c0.003,0.002,0.01,0.007,0.012,0.009
+  c0.006,0.007,0.003,0.008,0,0.016c-0.001,0.003-0.001,0.006-0.003,0.009c-0.001,0.001-0.003,0.003-0.004,0.004
+  c-0.002,0.002-0.002,0.006-0.004,0.008c-0.001,0.001-0.003,0.003-0.004,0.004c-0.002,0.003-0.006,0.007-0.005,0.011
+  c0,0.002,0.001,0.004,0.003,0.005c0.003,0.014,0.009,0.025,0.009,0.039c0,0.015,0,0.028-0.015,0.037
+  c-0.006,0.004-0.013,0.002-0.02,0.004c-0.004,0.001-0.008,0.006-0.013,0.007c-0.008,0.002-0.012-0.001-0.02,0.004
+  c-0.007,0.004-0.011,0.004-0.02,0.004c-0.008,0-0.013,0-0.02-0.004c-0.007-0.004-0.008-0.005-0.016,0
+  c-0.012,0.007-0.022,0.015-0.035,0.021c-0.013,0.005-0.024,0.009-0.037,0.015c-0.004,0.002-0.008,0.004-0.012,0.007
+  c-0.008,0.004-0.01,0.007-0.015,0.013c-0.006,0.006-0.015,0.009-0.021,0.015c-0.006,0.007-0.009,0.016-0.015,0.022
+  c-0.012,0.01-0.029,0.006-0.039,0.016c-0.011,0.01-0.018,0.023-0.03,0.033c-0.005,0.005-0.01,0.006-0.015,0.009
+  c-0.005,0.004-0.008,0.007-0.013,0.012c-0.009,0.01-0.015,0.009-0.027,0.013c-0.006,0.002-0.01,0.008-0.015,0.012
+  c-0.012,0.012-0.02,0.025-0.03,0.038c-0.01,0.013-0.019,0.024-0.028,0.037c-0.004,0.007-0.006,0.011-0.007,0.019
+  c-0.001,0.003-0.003,0.005-0.004,0.009c0,0.004,0.001,0.008,0,0.012c-0.001,0.006-0.004,0.01-0.004,0.016
+  c0,0.004,0.001,0.007-0.001,0.011c-0.003,0.006-0.009,0.007-0.015,0.01c-0.016,0.007-0.024,0.01-0.032,0.027
+  c-0.003,0.008-0.007,0.016-0.012,0.024c-0.005,0.007-0.01,0.009-0.017,0.015c-0.006,0.005-0.007,0.011-0.011,0.017
+  c-0.004,0.004-0.01,0.008-0.014,0.013c-0.008,0.008-0.011,0.019-0.014,0.03c0.157,0.008,0.315,0.015,0.472,0.023
+  c0.297,0.375,0.594,0.75,0.891,1.125c-0.013,0.092-0.025,0.183-0.038,0.275c-0.505,0.161-1.213-0.164-1.514,0.484
+  c-0.301,0.649-0.023,0.006-0.022,0.016c0,0.005,0.006,0.009,0.007,0.013c0.002,0.005,0.001,0.01,0.001,0.015
+  c0,0.013-0.003,0.029,0.005,0.039c0.007,0.008,0.013,0.016,0.019,0.025c0.007,0.01,0.613,0.002,0.019,0.032
+  c-0.594,0.03,0.013,0.021,0.002,0.036c-0.005,0.007-0.012,0.012-0.016,0.02c-0.004,0.006-0.004,0.013-0.006,0.02
+  c-0.004,0.016-0.008,0.03-0.007,0.048c0.001,0.015,0.019,0.04-0.004,0.047c-0.008,0.002-0.016-0.001-0.024,0.003
+  c-0.007,0.004-0.012,0.008-0.02,0.01c-0.008,0.001-0.007-0.001-0.012,0.003c-0.001,0.001-0.003,0.006-0.005,0.008
+  c-0.003,0.004-0.008,0.007-0.012,0.012c-0.008,0.008-0.016,0.019-0.026,0.024c-0.01,0.006-0.019,0.002-0.029,0.004
+  c-0.007,0.002-0.01,0.005-0.02,0.004c-0.017-0.001-0.025-0.013-0.031-0.027c-0.008-0.018-0.012-0.033-0.025-0.047
+  c-0.004-0.004-0.009-0.009-0.01-0.014c-0.002-0.008-0.001-0.013-0.005-0.019c-0.008-0.013-0.02-0.019-0.032-0.027
+  c-0.013-0.009-0.025-0.019-0.04-0.024c-0.01-0.004-0.019-0.007-0.028-0.012s-0.015-0.004-0.024-0.006
+  c-0.015-0.004-0.036-0.006-0.052-0.003c-0.025,0.003-0.051,0.012-0.075,0.019c-0.012,0.003-0.037,0-0.037-0.015
+  c-0.01-0.001-0.016-0.004-0.028-0.004c-0.01,0-0.017-0.004-0.027-0.004c-0.011,0-0.018-0.004-0.028-0.004c-0.002,0-0.004,0-0.006,0
+  c-0.039,0.012-0.077,0.025-0.116,0.037c-0.003,0.006-0.005,0.014-0.009,0.02c-0.004,0.007-0.011,0.016-0.018,0.022
+  c-0.009,0.007-0.021,0.006-0.031,0.009c-0.008,0.003-0.006,0.005-0.008,0.012c-0.004,0.01-0.013,0.02-0.019,0.028
+  c-0.007,0.009-0.012,0.018-0.018,0.028c-0.002,0.003-0.004,0.007-0.006,0.011l0,0c0.004,0.006,0.007,0.014,0.006,0.02
+  c0,0.007-0.003,0.016-0.006,0.021c-0.004,0.008-0.01,0.012-0.016,0.019c-0.005,0.007-0.006,0.011-0.013,0.016
+  c-0.004,0.003-0.008,0.008-0.012,0.011c-0.005,0.003-0.012,0.004-0.015,0.01c-0.003,0.007,0.002,0.016-0.001,0.023
+  c-0.002,0.005-0.009,0.007-0.011,0.012c-0.002,0.005,0.001,0.011,0,0.016c-0.002,0.007-0.005,0.014-0.008,0.02
+  c-0.004,0.007-0.005,0.011-0.004,0.02c0,0.017,0.003,0.036-0.005,0.052c-0.006,0.014-0.01,0.029-0.015,0.044
+  c-0.006,0.015-0.013,0.028-0.017,0.043c-0.001,0.003-0.003,0.004-0.003,0.008c-0.001,0.004,0,0.009,0,0.013
+  c-0.001,0.003-0.003,0.006-0.004,0.008c0,0.004,0,0.008,0,0.011c-0.002,0.009-0.004,0.015-0.004,0.024v0.028
+  c0,0.02-0.003,0.036-0.009,0.055c-0.006,0.017-0.008,0.035-0.011,0.053c-0.002,0.008-0.006,0.015-0.004,0.024
+  c0.001,0.009,0.005,0.013,0.003,0.023c-0.001,0.002-0.003,0.006-0.003,0.009c-0.001,0.003,0,0.014-0.005,0.015
+  c-0.004,0.002-0.007-0.003-0.009-0.006c-0.002-0.006,0.001-0.006,0.002-0.013l-0.008,0.008c0.001-0.006-0.002-0.005-0.003-0.009
+  c-0.001-0.004-0.001-0.007-0.001-0.011c-0.001-0.007-0.004-0.015-0.007-0.021c-0.005-0.01-0.009-0.012-0.009-0.023
+  s-0.003-0.012-0.009-0.02c-0.005-0.007-0.008-0.011-0.006-0.019c0-0.003,0.008-0.02,0.002-0.024c-0.008-0.005-0.01,0.01-0.018,0.007
+  c-0.008-0.004-0.005-0.017-0.005-0.024c0-0.008,0-0.016,0-0.024c0-0.009,0.004-0.014,0.004-0.024c0-0.009,0.001-0.011,0.005-0.019
+  c0.004-0.007,0.003-0.015,0.003-0.025c0-0.008-0.005-0.012-0.004-0.019c0-0.009,0.007-0.016,0.008-0.024
+  c0.001-0.009-0.002-0.02,0-0.029c0.001-0.003,0.004-0.004,0.004-0.007c0.001-0.005-0.002-0.007-0.003-0.011
+  c0.003-0.002,0.005-0.011,0.006-0.014c0.001-0.006,0.002-0.013,0-0.019c-0.013,0.006-0.031,0.009-0.04,0.023
+  c-0.006,0.007-0.009,0.015-0.011,0.025c-0.002,0.011-0.01,0.02-0.012,0.032c-0.002,0.009-0.001,0.017-0.005,0.027
+  c-0.004,0.009-0.013,0.013-0.019,0.02c-0.005,0.006-0.003,0.01-0.005,0.017c-0.001,0.004-0.005,0.007-0.008,0.01
+  c-0.006,0.007-0.011,0.012-0.014,0.02c0.009,0.005-0.003,0.022-0.009,0.026c-0.005,0.004-0.009,0.005-0.012,0.011
+  c-0.002,0.005-0.002,0.011-0.005,0.016c-0.007,0.012-0.014,0.024-0.019,0.037c-0.005,0.014-0.007,0.029-0.013,0.043
+  c-0.003,0.008,0.002,0.008,0.002,0.016c0,0.011-0.011,0.008-0.016,0.013c-0.008,0.007-0.007,0.017-0.016,0.023
+  c-0.01,0.005-0.026,0.003-0.032-0.008c-0.003-0.005,0-0.015-0.001-0.02c0-0.009-0.002-0.015-0.005-0.023
+  c-0.002-0.006-0.002-0.011-0.003-0.017c-0.002-0.007-0.007-0.013-0.008-0.02c-0.001-0.008,0-0.012-0.004-0.02
+  c-0.003-0.004-0.01-0.012-0.011-0.017c-0.001-0.012,0.008-0.022,0.008-0.035c-0.001-0.014-0.008-0.024-0.011-0.037
+  c-0.003-0.01-0.002-0.025,0.006-0.032c0.008-0.006,0.026-0.005,0.028-0.018c0.001-0.007-0.006-0.015-0.009-0.02
+  c-0.003-0.008-0.001-0.013-0.002-0.021c-0.001-0.007-0.007-0.007,0.001-0.015c0.004-0.005,0.007-0.004,0.014-0.005
+  c0.002-0.008,0.001-0.012-0.005-0.018c-0.001-0.001-0.006-0.005-0.006-0.006c0-0.004,0.004-0.003,0.005-0.006
+  c0.001-0.005,0.002-0.006,0.003-0.012c0-0.004-0.002-0.01-0.001-0.013c0.002-0.007,0.009-0.013,0.013-0.019
+  c-0.005,0.004-0.011,0.013-0.014,0.019c-0.006,0.01-0.011,0.019-0.014,0.031c-0.001,0.01,0.005,0.03-0.008,0.033
+  c-0.009,0.002-0.019-0.002-0.028,0c0.007,0.007-0.007,0.017-0.012,0.024c-0.005,0.008-0.009,0.017-0.015,0.025
+  c-0.008,0.011-0.023,0.021-0.03,0.033c-0.004,0.007-0.006,0.026-0.018,0.026c0,0.014-0.035,0.019-0.044,0.027
+  c-0.008,0.007-0.011,0.016-0.021,0.02c-0.005,0.003-0.019,0.006-0.016,0.014c-0.009,0.007-0.013,0.022-0.019,0.032
+  c-0.01,0.018-0.017,0.041-0.03,0.057c-0.002,0.004-0.005,0.005-0.007,0.009c-0.002,0.003-0.003,0.007-0.005,0.011
+  c-0.008,0.013-0.02,0.016-0.034,0.021c-0.012,0.005-0.026,0.002-0.038,0.007c-0.009,0.004-0.012,0.01-0.018,0.017
+  c-0.004,0.004-0.005,0.005-0.013,0.004c-0.005-0.001-0.008-0.001-0.008-0.007c-0.198,0.776-0.304,1.59-0.304,2.428
+  c0,5.385,4.365,9.75,9.75,9.75s9.75-4.365,9.75-9.75C-15.25,49.098-15.794,47.324-16.736,45.824z M-17.781,55.174
+  c0.006,0.002,0.007,0.007,0.004,0.011c-0.003,0.005-0.005,0.009-0.007,0.014c-0.008,0.015-0.022,0.028-0.018,0.048
+  c0.002,0.015,0.013-0.002,0.018-0.007c0.008-0.008,0.014-0.017,0.023-0.024c0.008-0.006,0.018-0.008,0.027-0.015
+  c0.007-0.005,0.014-0.01,0.02-0.016c0.007-0.005,0.012-0.011,0.019-0.016c0.007-0.005,0.014-0.01,0.021-0.016
+  c0.005-0.005,0.009-0.01,0.013-0.016c0.004-0.004,0.008-0.006,0.012-0.011c0.007-0.009,0.014-0.018,0.026-0.02
+  c0.008-0.002,0.016-0.002,0.023-0.003c0.016-0.003,0.031-0.01,0.044-0.02c0.004-0.003,0.008-0.008,0.013-0.011
+  c0.006-0.003,0.011-0.005,0.016-0.009c0.006-0.004,0.013-0.009,0.02-0.011c0.004-0.001,0.01-0.002,0.014-0.004
+  c0.005-0.002,0.008-0.008,0.011-0.013c0.009-0.014,0.027-0.02,0.041-0.029c0.009-0.006,0.017-0.015,0.023-0.024
+  c0.006-0.008,0.011-0.017,0.019-0.023c0.017-0.015,0.034-0.03,0.054-0.042c0.007-0.004,0.015-0.011,0.02-0.019
+  c0.004-0.008,0.006-0.017,0.009-0.025c0.007-0.016,0.017-0.033,0.029-0.045c0.016-0.016,0.036-0.027,0.054-0.04
+  c0.005-0.005,0.011-0.008,0.017-0.012c0.005-0.004,0.008-0.009,0.012-0.013c0.01-0.01,0.013-0.024,0.02-0.036
+  c0.006-0.01,0.012-0.02,0.02-0.029c0.005-0.005,0.01-0.012,0.014-0.018c-0.017,0.004-0.027,0.013-0.036,0.026
+  c-0.002,0.002-0.005,0.005-0.007,0.007c-0.003,0.003-0.004,0.007-0.007,0.011c-0.006,0.008-0.015,0.013-0.022,0.02
+  c-0.009,0.009-0.016,0.019-0.024,0.028s-0.016,0.019-0.024,0.029c-0.004,0.004-0.007,0.009-0.012,0.013
+  c-0.004,0.004-0.009,0.007-0.013,0.011c-0.007,0.009-0.017,0.018-0.027,0.023c-0.003,0.002-0.011,0.005-0.015,0.003
+  c-0.003-0.003,0-0.006,0.001-0.009c0.004-0.01,0.008-0.018,0.015-0.025c0.007-0.006,0.013-0.015,0.019-0.022
+  c0.005-0.007,0.012-0.012,0.018-0.018c0.013-0.016,0.031-0.028,0.045-0.044c0.007-0.007,0.013-0.016,0.02-0.024
+  c0.006-0.008,0.013-0.016,0.019-0.024c0.005-0.006,0.009-0.013,0.014-0.02l-0.003,0.007c0.005-0.002,0.012-0.013,0.009-0.018
+  c-0.003,0.001-0.005,0.002-0.009,0.002c-0.004,0-0.005,0.001-0.009,0.004c-0.015,0.011-0.028,0.028-0.045,0.039
+  c-0.009,0.006-0.019,0.012-0.027,0.019c-0.007,0.005-0.012,0.012-0.019,0.018c-0.013,0.01-0.024,0.021-0.036,0.033
+  c-0.005,0.005-0.01,0.01-0.016,0.014c-0.005,0.003-0.008,0.002-0.014,0.002c-0.008,0.001-0.018,0.012-0.023,0.018
+  c-0.01,0.013-0.024,0.023-0.036,0.034c-0.002,0.003-0.007,0.006-0.008,0.01c-0.001,0.004-0.001,0.002,0.002,0.004
+  c0.003,0.004,0.005,0.003,0.004,0.01c0,0.003-0.003,0.013-0.007,0.013c-0.003,0.001-0.004-0.003-0.006-0.005
+  c-0.002-0.001-0.005-0.001-0.007-0.002c-0.002-0.002-0.002-0.004-0.005-0.004s-0.006,0.005-0.007,0.007
+  c-0.004,0.004-0.01,0.006-0.016,0.009c-0.004,0.003-0.013,0.004-0.013,0.011c0,0.005,0.006,0.006,0.005,0.011
+  c-0.001,0.005-0.006,0.005-0.009,0.007c-0.006,0.004-0.011,0.01-0.016,0.014c-0.016,0.015-0.028,0.032-0.043,0.047
+  c-0.006,0.007-0.013,0.012-0.019,0.019c-0.004,0.005-0.008,0.011-0.014,0.015c-0.008,0.007-0.016,0.014-0.027,0.017
+  c-0.007,0.003-0.014,0.005-0.021,0.008c-0.007,0.004-0.011,0.008-0.017,0.013c-0.007,0.007-0.016,0.012-0.023,0.017
+  c-0.016,0.013-0.032,0.027-0.049,0.038c-0.005,0.004-0.008,0.004-0.013,0.007c-0.011,0.005-0.02,0.014-0.03,0.021
+  c-0.015,0.011-0.032,0.02-0.045,0.033c-0.004,0.004-0.013,0.015-0.011,0.021c0.001,0.004,0.006,0.006,0.009,0.005
+  c0.004-0.001,0.009-0.007,0.012-0.01c0.001-0.001,0.006-0.006,0.008-0.003C-17.778,55.171-17.779,55.173-17.781,55.174z
+  M-17.109,54.626c0,0.004-0.001,0.011,0.003,0.014c0.002,0.001,0.01,0,0.013-0.001c0.009-0.002,0.019-0.008,0.025-0.015
+  c0.004-0.005,0.005-0.013,0.009-0.019c0.005-0.007,0.009-0.015,0.013-0.022c0.007-0.011,0.013-0.022,0.02-0.033
+  c0.01-0.015,0.022-0.029,0.03-0.044c0.018-0.032,0.031-0.067,0.051-0.097c0.019-0.029,0.04-0.056,0.059-0.085
+  c0.009-0.015,0.022-0.029,0.03-0.045c0.004-0.01,0.02-0.035,0.011-0.046c-0.01-0.013-0.031,0.024-0.034,0.029
+  c-0.014,0.017-0.026,0.034-0.039,0.051c-0.005,0.005-0.007,0.012-0.012,0.018c-0.002,0.004-0.003,0.007-0.005,0.011
+  c-0.001,0.003-0.004,0.005-0.005,0.008c-0.002,0.003-0.003,0.005-0.005,0.008c-0.003,0.003-0.005,0.006-0.007,0.009
+  c-0.005,0.007-0.01,0.014-0.014,0.021c-0.006,0.01-0.013,0.019-0.018,0.029c-0.005,0.008-0.011,0.015-0.016,0.023
+  c-0.006,0.01-0.015,0.019-0.021,0.029c-0.004,0.01-0.009,0.018-0.011,0.028c-0.008,0.028-0.03,0.05-0.046,0.073
+  c-0.007,0.011-0.017,0.02-0.024,0.031h-0.001c0.001-0.001,0.001-0.003,0.001-0.004l-0.005,0.011
+  c-0.001,0.001-0.001,0.002-0.002,0.002c0,0.001,0,0.002,0,0.003l0.002-0.005c0.001-0.002,0.003-0.004,0.004-0.007
+  C-17.104,54.61-17.108,54.618-17.109,54.626z M-17.08,54.48c0.01-0.013,0.024-0.024,0.032-0.038c0.01-0.017,0.017-0.035,0.025-0.052
+  c0.005-0.01,0.009-0.019,0.012-0.029c0.003-0.009,0.005-0.018,0.009-0.026c0.007-0.014,0.014-0.031,0.026-0.043
+  c0.004-0.004,0.007-0.006,0.01-0.01c0.003-0.005,0.005-0.011,0.009-0.016c0.004-0.006,0.01-0.012,0.014-0.017
+  c0.006-0.008,0.013-0.015,0.018-0.022c0.007-0.009,0.014-0.018,0.021-0.026c0.004-0.007,0.012-0.02,0.011-0.028
+  c-0.002,0.002-0.003,0.003-0.006,0.005c-0.006,0.004-0.016,0.004-0.022,0.009c-0.003,0.003-0.005,0.006-0.008,0.008
+  c-0.007,0.004-0.013,0.011-0.019,0.016c-0.007,0.007-0.012,0.015-0.019,0.021c-0.003,0.003-0.007,0.007-0.01,0.01
+  c-0.008,0.009-0.014,0.019-0.021,0.028c-0.009,0.012-0.02,0.022-0.029,0.034c-0.008,0.008-0.015,0.015-0.023,0.023
+  c-0.007,0.007-0.013,0.016-0.021,0.022c-0.008,0.006-0.015,0.014-0.022,0.021c-0.006,0.007-0.011,0.013-0.018,0.019
+  c-0.006,0.006-0.013,0.012-0.019,0.019c-0.004,0.005-0.009,0.008-0.013,0.014c-0.005,0.006-0.01,0.012-0.016,0.017
+  c-0.007,0.006-0.014,0.011-0.021,0.017c-0.005,0.004-0.008,0.009-0.014,0.012c-0.008,0.004-0.022,0.008-0.026,0.017
+  c-0.003,0.009-0.005,0.017-0.01,0.025c-0.006,0.011-0.011,0.021-0.019,0.031c-0.008,0.01-0.018,0.02-0.026,0.03
+  c-0.009,0.011-0.018,0.022-0.026,0.034c-0.003,0.005-0.005,0.01-0.008,0.014c-0.002,0.003-0.005,0.005-0.006,0.007
+  c-0.002,0.003-0.002,0.007-0.005,0.01c-0.002,0.001-0.005,0.002-0.007,0.004c-0.001,0.001-0.002,0.004-0.004,0.005
+  c-0.005,0.004-0.009,0.008-0.013,0.013c-0.003,0.004-0.007,0.007-0.011,0.011c-0.002,0.004-0.004,0.008-0.008,0.011
+  c-0.005,0.004-0.012,0.004-0.017,0.007c-0.013,0.01-0.02,0.026-0.034,0.035c-0.011,0.008-0.013,0.02-0.023,0.03
+  c-0.006,0.006-0.012,0.01-0.018,0.016c-0.003,0.003-0.012,0.01-0.013,0.015c-0.001,0.005,0.003,0.007,0.003,0.011h-0.001h0.001
+  c0.001,0.001,0.003,0,0.004-0.002c0.002-0.001,0.005-0.003,0.007-0.005c0.005-0.004,0.008-0.005,0.013-0.006
+  c0.003-0.001,0.007-0.003,0.009-0.005c0.005-0.004,0.009-0.007,0.014-0.009c0.022-0.012,0.04-0.031,0.057-0.048
+  c0.014-0.014,0.03-0.026,0.045-0.038c0.021-0.015,0.041-0.033,0.064-0.046c0.023-0.014,0.042-0.035,0.063-0.051
+  c0.02-0.017,0.04-0.034,0.059-0.052C-17.113,54.515-17.094,54.499-17.08,54.48z M-20.326,56.962c0.008,0.008,0.02,0.009,0.031,0.011
+  c0.004,0.001,0.008,0.001,0.011,0.002c0.001-0.007,0.004-0.009,0.006-0.016c0.006-0.022-0.02-0.036-0.037-0.032
+  c-0.004,0.001-0.013,0.003-0.018,0.007c0.001,0.005-0.001,0.012,0.001,0.018c0,0,0.001,0,0.001,0.001h0.031
+  C-20.309,56.958-20.317,56.961-20.326,56.962z M-16.279,52.758c-0.003,0.011-0.009,0.027-0.014,0.037
+  c-0.01,0.02-0.024,0.034-0.038,0.05c-0.01,0.011-0.027,0.034-0.042,0.028c0.006-0.009,0.007-0.018,0.007-0.029
+  c0.001-0.019,0.003-0.036,0.006-0.056c0.002-0.009-0.001-0.018,0-0.027c0-0.009,0.002-0.013,0.004-0.02
+  c0.002-0.008,0-0.015,0.001-0.022c0.001-0.009,0.004-0.014,0.006-0.022c0.005-0.022,0.006-0.045,0.017-0.065
+  c0.004-0.008,0.012-0.024,0.021-0.027c0.015-0.006,0.025,0.015,0.027,0.027c0.006,0.026,0.002,0.055,0.01,0.081
+  c0.003,0.011-0.003,0.017-0.005,0.028C-16.28,52.746-16.278,52.752-16.279,52.758z M-16.376,52.871
+  c0.001,0.001,0.002,0.002,0.003,0.002c-0.001,0.001-0.002,0.002-0.003,0.004V52.871z M-16.881,54.798
+  c-0.002,0.003-0.004,0.007-0.006,0.011c-0.003,0.005-0.008,0.007-0.01,0.011c-0.014,0.019-0.025,0.036-0.041,0.052
+  c-0.009,0.009-0.024,0.02-0.026,0.034v-0.021c0.012-0.01,0.016-0.025,0.021-0.038c0.003-0.007,0.007-0.01,0.01-0.016
+  c0.007-0.012,0.007-0.022,0.017-0.032c0.012-0.013,0.017-0.026,0.025-0.043c0.006-0.014,0.018-0.025,0.024-0.039
+  c0.003-0.007,0-0.01,0.006-0.015c0.011,0.016,0.008,0.045-0.001,0.062C-16.868,54.775-16.875,54.786-16.881,54.798z M-16.936,54.754
+  c-0.019,0.042-0.028,0.087-0.055,0.125c-0.011,0.015-0.021,0.027-0.029,0.044c-0.004,0.009-0.008,0.017-0.011,0.026
+  c-0.003,0.009-0.005,0.019-0.008,0.028c-0.007,0.022-0.015,0.04-0.029,0.059c-0.006,0.009-0.024,0.044-0.037,0.044
+  c0-0.001,0-0.001,0-0.002l-0.012,0.008c0.003-0.021,0.022-0.043,0.032-0.061c0.007-0.013,0.012-0.03,0.017-0.044
+  c0.009-0.02,0.02-0.037,0.029-0.057c0.013-0.027,0.033-0.048,0.042-0.077c0.004-0.011,0.005-0.022,0.01-0.033
+  c0.004-0.011,0.012-0.021,0.016-0.033c0.004-0.01,0.005-0.021,0.008-0.031c0.004-0.012,0.011-0.022,0.015-0.034
+  c0.006-0.017,0.008-0.036,0.015-0.055c0.007-0.017,0.015-0.031,0.025-0.047c0.006-0.011,0.027-0.04,0.031-0.012
+  c0.004,0.026-0.017,0.048-0.026,0.071C-16.914,54.7-16.923,54.727-16.936,54.754z M-17.041,54.825
+  c-0.007,0.028-0.023,0.052-0.033,0.079c-0.007,0.017-0.012,0.036-0.021,0.053c-0.009,0.019-0.023,0.036-0.032,0.056
+  c-0.01,0.018-0.017,0.038-0.028,0.055c-0.009,0.016-0.018,0.03-0.025,0.047c-0.013,0.028-0.033,0.053-0.046,0.08
+  c-0.007,0.018-0.015,0.036-0.022,0.055c-0.008,0.019-0.028,0.035-0.036,0.055c-0.004,0.01-0.006,0.017-0.013,0.025
+  c-0.005,0.004-0.019,0.022-0.021,0.007V55.32c0.001-0.053,0.038-0.097,0.064-0.141c0.006-0.01,0.009-0.019,0.013-0.028
+  c0.005-0.008,0.011-0.013,0.017-0.021c0.006-0.009,0.011-0.018,0.015-0.028c0.005-0.014,0.006-0.027,0.013-0.04
+  c0.005-0.01,0.015-0.017,0.02-0.026c0.004-0.008,0.004-0.013,0.006-0.021c0.004-0.01,0.011-0.023,0.016-0.032
+  c0.007-0.012,0.016-0.021,0.023-0.033c0.008-0.015,0.015-0.03,0.026-0.043c0.015-0.021,0.022-0.041,0.028-0.066
+  c0.002-0.009,0.007-0.018,0.011-0.027c0.004-0.011,0.003-0.026,0.013-0.034c0.009-0.007,0.023-0.007,0.023,0.007
+  c0,0.001-0.004,0.014-0.005,0.016C-17.037,54.81-17.039,54.818-17.041,54.825z M-17.292,55.364c0.006-0.01,0.009-0.02,0.016-0.029
+  c0.007-0.009,0.015-0.016,0.022-0.026c0.01-0.015,0.027-0.024,0.038-0.039c0.007-0.009,0.012-0.022,0.019-0.032
+  c0.005-0.006,0.011-0.01,0.015-0.016c0.005-0.005,0.012-0.012,0.015-0.017c0.01-0.014,0.015-0.03,0.023-0.044
+  c0.012-0.022,0.032-0.037,0.044-0.059c0.014-0.026,0.025-0.05,0.041-0.075c0.008-0.012,0.018-0.021,0.026-0.033
+  c0.007-0.013,0.013-0.036,0.024-0.045c0.012-0.009,0.013-0.001,0.012,0.012c0,0.016-0.007,0.029-0.015,0.043
+  c-0.014,0.027-0.03,0.055-0.043,0.082c-0.007,0.013-0.011,0.026-0.018,0.038c-0.004,0.007-0.008,0.016-0.012,0.023
+  c-0.005,0.006-0.01,0.007-0.014,0.015c-0.013,0.025-0.025,0.045-0.045,0.066c-0.012,0.013-0.019,0.027-0.028,0.042
+  c-0.009,0.015-0.022,0.026-0.032,0.039c-0.015,0.02-0.027,0.041-0.043,0.06c-0.014,0.016-0.026,0.031-0.038,0.049
+  c-0.011,0.016-0.024,0.029-0.032,0.045c-0.008,0.018-0.017,0.036-0.029,0.052c-0.01,0.012-0.021,0.022-0.03,0.035
+  c-0.014,0.017-0.03,0.034-0.041,0.053c-0.008,0.012-0.013,0.025-0.019,0.038c-0.006,0.012-0.014,0.02-0.02,0.032
+  c-0.003,0.007-0.007,0.014-0.01,0.021c-0.004,0.007-0.006,0.017-0.01,0.025v-0.001l-0.011-0.011
+  c0.002-0.001,0.003-0.001,0.005-0.002c0-0.007,0.005-0.018,0.007-0.024c0.005-0.015,0.021-0.028,0.028-0.042
+  c0.011-0.022,0.019-0.044,0.033-0.063c0.004-0.007,0.009-0.015,0.014-0.021c0.006-0.006,0.013-0.01,0.018-0.017
+  c0.013-0.018,0.018-0.042,0.03-0.06c0.013-0.02,0.028-0.036,0.035-0.059C-17.31,55.4-17.303,55.382-17.292,55.364z M-17.472,55.592
+  c-0.009,0.016-0.017,0.031-0.024,0.048c-0.006,0.014-0.015,0.021-0.022,0.034c-0.009,0.016-0.013,0.034-0.019,0.052
+  c-0.006,0.018-0.018,0.034-0.027,0.051c-0.006,0.012-0.015,0.022-0.022,0.033c-0.005,0.007-0.008,0.015-0.014,0.022
+  c-0.004,0.006-0.009,0.01-0.013,0.016c-0.019,0.025-0.037,0.041-0.064,0.055c-0.014,0.006-0.028,0.01-0.043,0.014
+  c-0.024,0.006-0.039,0.02-0.059,0.031c-0.013,0.006-0.026,0.012-0.039,0.018c-0.013,0.006-0.026,0.011-0.039,0.014
+  c-0.009,0.003-0.018,0.008-0.027,0.01c-0.007,0.001-0.015-0.002-0.022-0.001s-0.015,0.005-0.022,0.007
+  C-17.942,56.001-17.955,56-17.971,56l-0.011-0.016c-0.006,0.008-0.024,0.007-0.032,0.006c-0.008-0.002-0.013-0.005-0.021-0.006
+  s-0.014,0.001-0.022-0.001c-0.01-0.002-0.024-0.006-0.03-0.015c-0.004-0.006-0.009-0.026-0.008-0.033
+  c0.001-0.016,0.021-0.039,0.033-0.049c0.008-0.007,0.021-0.009,0.031-0.015c0.011-0.006,0.02-0.013,0.029-0.022
+  c0.006-0.006,0.012-0.011,0.02-0.016c0.004-0.002,0.012-0.008,0.017-0.007c0.005,0,0.005,0.005,0.01,0.006
+  c0.011,0.003,0.024-0.004,0.033-0.01c0.009-0.006,0.016-0.009,0.026-0.013c0.016-0.007,0.036-0.021,0.056-0.016
+  c0.01,0.003,0.015,0.006,0.027,0.006c0.014,0,0.024,0.006,0.038,0.005c0.012,0,0.02,0.004,0.031,0.007
+  c0.007,0.002,0.003,0.004,0.012,0.003c0.006,0,0.01-0.004,0.017-0.004c0.011-0.001,0.019,0.001,0.028-0.004
+  c0.01-0.005,0.018-0.011,0.028-0.017c0.016-0.009,0.032-0.022,0.047-0.035c0.016-0.013,0.026-0.034,0.042-0.049
+  c0.016-0.014,0.025-0.028,0.039-0.044c0.012-0.014,0.019-0.03,0.029-0.047c0.011-0.017,0.013-0.04,0.025-0.056
+  c0.006-0.009,0.036-0.043,0.044-0.042c0.006,0.013-0.008,0.028-0.014,0.038C-17.455,55.567-17.465,55.579-17.472,55.592z
+  M-18.013,56.088c0.011-0.001,0.025,0.002,0.037,0c0.015-0.003,0.03-0.015,0.043-0.022c0.007-0.004,0.011-0.009,0.018-0.002
+  c0.01,0.01,0.001,0.019-0.007,0.026c-0.014,0.012-0.029,0.023-0.043,0.031c-0.008,0.005-0.042,0.033-0.044,0.015l0.002-0.005
+  c-0.016,0.001-0.034-0.006-0.051-0.005c-0.013,0-0.047-0.01-0.044-0.028c0.004-0.018,0.04-0.025,0.054-0.02
+  C-18.034,56.082-18.029,56.088-18.013,56.088z M-18.048,56.206c0.02-0.008,0.045-0.013,0.066-0.01
+  c0.013,0.002,0.012,0.002,0.007,0.012c-0.005,0.01-0.01,0.018-0.018,0.025c-0.015,0.013-0.033,0.012-0.049,0.022
+  c-0.006,0.003-0.009,0.01-0.015,0.014c-0.007,0.004-0.013,0.003-0.022,0.005c-0.001,0.002-0.003,0.004-0.006,0.004
+  c-0.006,0.002-0.011,0-0.017,0.001c-0.003,0.001-0.01,0.002-0.015,0.003l0.004-0.004c-0.015,0.002-0.05-0.02-0.049-0.038
+  c0-0.011,0.014-0.02,0.023-0.024c0.008-0.002,0.016-0.003,0.025-0.004c0.01,0,0.007,0.004,0.014,0.005
+  C-18.08,56.221-18.066,56.213-18.048,56.206z M-18.259,56.168c-0.008,0.003-0.015,0.01-0.022,0.012
+  c-0.009,0.003-0.026,0.002-0.033,0.011l0.006-0.011c-0.005-0.023,0.023-0.051,0.038-0.066c0.006-0.005,0.015-0.011,0.021-0.016
+  c0.011-0.007,0.013-0.016,0.022-0.025c0.007-0.006,0.014-0.007,0.021-0.013c0.006-0.004,0.011-0.012,0.016-0.018
+  c0.006-0.006,0.024-0.03,0.034-0.026c0.023,0.009-0.045,0.111-0.059,0.126C-18.228,56.156-18.242,56.16-18.259,56.168z
+  M-18.196,55.957c-0.007,0.017-0.013,0.039-0.024,0.055c-0.011,0.015-0.027,0.018-0.041,0.03c-0.009,0.009-0.018,0.016-0.027,0.025
+  c-0.011,0.011-0.017,0.025-0.031,0.015l0.005-0.011c-0.001,0-0.003,0-0.005-0.001c0.001-0.01,0.009-0.018,0.015-0.026
+  c0.012-0.018,0.024-0.036,0.038-0.053c0.004-0.004,0.008-0.009,0.013-0.013c0.003-0.004,0.003-0.01,0.006-0.015
+  c0.005-0.007,0.014-0.01,0.019-0.017c0.014-0.018,0.014-0.036,0.035-0.049c0.005-0.003,0.024-0.02,0.031-0.016
+  c0.008,0.007-0.007,0.022-0.009,0.027C-18.178,55.925-18.188,55.94-18.196,55.957z M-18.255,56.79c0.002,0.007,0.003,0.018,0,0.025
+  c-0.003,0.008-0.013,0.011-0.009,0.022c0.02-0.006,0.027-0.032,0.039-0.046c0.005-0.008,0.014-0.012,0.02-0.019
+  c0.012-0.013,0.016-0.033,0.026-0.048c0.011-0.019,0.029-0.036,0.049-0.045c0.008-0.003,0.02-0.005,0.027-0.011
+  c0.004-0.002,0.007-0.01,0.012-0.01c0.008,0.001,0.007,0.012,0.006,0.018c-0.003,0.01-0.008,0.021-0.011,0.032
+  c-0.004,0.009-0.01,0.022-0.011,0.033c-0.004,0.024-0.011,0.044-0.028,0.063c-0.01,0.011-0.021,0.023-0.028,0.036
+  c-0.008,0.014-0.012,0.025-0.027,0.035c-0.012,0.008-0.049,0.035-0.063,0.028c0.001-0.012,0.027-0.021,0.036-0.028
+  c0.005-0.004,0.01-0.01,0.013-0.015c0.004-0.004,0.014-0.015,0.015-0.02c-0.012-0.006-0.026,0.005-0.036,0.011
+  c-0.013,0.007-0.025,0.014-0.036,0.024c-0.01,0.01-0.022,0.019-0.032,0.029c-0.005,0.004-0.01,0.007-0.014,0.012
+  c-0.006,0.007-0.006,0.018-0.012,0.025c-0.009,0.011-0.02,0.018-0.022,0.034c-0.001,0.006,0.002,0.014-0.001,0.02
+  c-0.003,0.005-0.011,0.009-0.015,0.012c-0.014,0.01-0.025,0.018-0.035,0.032c-0.007,0.01-0.014,0.022-0.025,0.03
+  c-0.018,0.012-0.046,0.026-0.053,0.048c-0.003,0.007-0.002,0.011-0.006,0.017c-0.003,0.005-0.009,0.01-0.012,0.015
+  c-0.008,0.011-0.014,0.024-0.021,0.034c-0.017,0.021-0.044,0.036-0.066,0.051c-0.009,0.006-0.016,0.015-0.023,0.022
+  c-0.005,0.004-0.011,0.007-0.016,0.011c0.007-0.009,0.008-0.021,0.012-0.031c0.004-0.011,0.006-0.022,0.011-0.033
+  c0.007-0.016,0.013-0.034,0.022-0.049c0.005-0.009,0.003-0.012,0.005-0.022c0.001-0.006,0.006-0.012,0.009-0.018
+  c0.005-0.009,0.01-0.017,0.017-0.026c0.009-0.015,0.023-0.024,0.034-0.037c0.007-0.01,0.015-0.021,0.023-0.032
+  c0.008-0.011,0.02-0.015,0.031-0.023c0.013-0.009,0.022-0.021,0.031-0.034c0.003-0.004,0.005-0.005,0.007-0.009
+  c0.003-0.006,0.003-0.016,0.007-0.021c0.006-0.007,0.015-0.009,0.022-0.016c0.008-0.009,0.01-0.017,0.016-0.027
+  c0.007-0.012,0.02-0.018,0.027-0.029c0.01-0.012,0.017-0.018,0.03-0.028C-18.291,56.817-18.276,56.799-18.255,56.79z
+  M-18.624,57.274c0.001,0,0.002-0.001,0.003-0.002c-0.001,0.002-0.003,0.004-0.003,0.007V57.274z M-18.13,56.418
+  c-0.021,0.014-0.052,0.017-0.071,0.035l-0.009,0.01c-0.009-0.012-0.014-0.014-0.005-0.027c0.012-0.016,0.028-0.03,0.043-0.044
+  c0.021-0.021,0.044-0.035,0.07-0.049c0.011-0.007,0.019-0.016,0.03-0.022c0.012-0.006,0.025-0.008,0.036-0.016
+  c0.01-0.008,0.022-0.019,0.031-0.028c0.006-0.007,0.033-0.055,0.04-0.037c0.004,0.01-0.011,0.029-0.016,0.038
+  c-0.008,0.017-0.015,0.03-0.028,0.044c-0.018,0.017-0.037,0.034-0.056,0.048c-0.01,0.008-0.019,0.018-0.03,0.024
+  C-18.107,56.401-18.118,56.41-18.13,56.418z M-17.835,56.051c0.012-0.008,0.022-0.019,0.032-0.027
+  c0.013-0.01,0.026-0.019,0.039-0.028c0.009-0.006,0.017-0.012,0.025-0.019c0.013-0.009,0.026-0.019,0.036-0.031
+  c0.011-0.012,0.021-0.031,0.037-0.037c0.022-0.01,0.017,0.015,0.009,0.026c-0.01,0.016-0.02,0.034-0.033,0.048
+  c-0.011,0.013-0.022,0.022-0.035,0.032c-0.013,0.011-0.022,0.022-0.034,0.034c-0.012,0.013-0.027,0.02-0.039,0.032
+  c-0.009,0.008-0.017,0.017-0.026,0.024c-0.01,0.009-0.021,0.015-0.029,0.026c-0.008,0.012-0.016,0.027-0.031,0.033l-0.005-0.006
+  c-0.012,0.003-0.032-0.006-0.034-0.018c-0.005-0.027,0.026-0.05,0.044-0.063C-17.864,56.066-17.85,56.06-17.835,56.051z
+  M-17.847,56.169c0.005-0.008,0.011-0.015,0.018-0.021c0.013-0.011,0.024-0.022,0.036-0.033c0.011-0.01,0.025-0.019,0.035-0.031
+  c0,0.017-0.013,0.035-0.023,0.048c-0.012,0.017-0.017,0.035-0.032,0.049c-0.006,0.005-0.01,0.011-0.015,0.017
+  c-0.007,0.008-0.01,0.006-0.018,0.009c-0.019,0.008-0.021,0.013-0.022,0.033l-0.011-0.011l-0.001,0.003
+  c-0.008-0.006,0.006-0.031,0.012-0.038C-17.861,56.185-17.853,56.179-17.847,56.169z M-17.809,56.229
+  c0.012-0.01,0.023-0.022,0.034-0.033c0.009-0.008,0.011-0.017,0.018-0.026c0.008-0.012,0.022-0.021,0.031-0.034
+  c0.003-0.004,0.01-0.017,0.016-0.016c0.012,0,0.004,0.02,0.002,0.026c-0.004,0.011-0.008,0.026-0.015,0.036
+  c-0.007,0.01-0.017,0.016-0.025,0.025c-0.013,0.017-0.026,0.032-0.042,0.045c-0.02,0.017-0.038,0.036-0.061,0.048l0.005-0.017
+  C-17.873,56.28-17.814,56.233-17.809,56.229z M-17.71,56.066l-0.005,0.011c-0.021-0.023-0.007-0.047,0.011-0.064
+  c0.015-0.016,0.032-0.03,0.048-0.045c0.018-0.016,0.036-0.032,0.052-0.049c0.011-0.011,0.02-0.022,0.03-0.033
+  c0.019-0.02,0.03-0.045,0.048-0.065c0.03-0.036,0.067-0.076,0.087-0.12c0.004-0.009,0.009-0.018,0.013-0.027
+  c0.008-0.016,0.017-0.033,0.026-0.048c0.004-0.006,0.038-0.051,0.048-0.044c0.014,0.009-0.017,0.057-0.022,0.064
+  c-0.009,0.016-0.022,0.029-0.031,0.044c-0.008,0.012-0.018,0.021-0.026,0.033s-0.015,0.023-0.024,0.035
+  c-0.012,0.015-0.024,0.029-0.033,0.047c-0.013,0.026-0.033,0.046-0.049,0.07c-0.029,0.044-0.072,0.079-0.098,0.124
+  c-0.007,0.014-0.019,0.031-0.031,0.04c-0.014,0.009-0.027,0.027-0.043,0.032L-17.71,56.066z M-19.005,57.415l-0.022,0.006
+  c0.005-0.004,0.007-0.013,0.01-0.018c0.003-0.007,0.007-0.014,0.012-0.02c0.007-0.009,0.026-0.027,0.038-0.028
+  c0.017-0.001,0.021,0.016,0.013,0.028c-0.005,0.006-0.014,0.012-0.02,0.017C-18.982,57.408-18.993,57.418-19.005,57.415z
+  M-19.109,57.361h-0.01l-0.005-0.001c0.006-0.014,0.039-0.065,0.06-0.053c0.002,0.002,0.009,0.015,0.009,0.017
+  c0.001,0.01-0.004,0.012-0.01,0.021C-19.076,57.36-19.093,57.381-19.109,57.361z M-19.194,57.357
+  c-0.007,0.003-0.029,0.011-0.023-0.007h-0.017c0.015-0.005,0.022-0.022,0.032-0.034c0.004-0.005,0.01-0.013,0.016-0.016
+  c0.007-0.004,0.015-0.003,0.022-0.008c0.001,0.009,0.012,0.012,0.013,0.02c0,0.007-0.017,0.024-0.021,0.029
+  C-19.179,57.348-19.185,57.353-19.194,57.357z M-19.499,57.514c-0.001,0.002-0.001,0.003-0.001,0.005l-0.006-0.006
+  c-0.001,0.001-0.002,0.001-0.003,0.001c0.019-0.023,0.036-0.05,0.063-0.065c0.014-0.007,0.025-0.011,0.039-0.022
+  c0.01-0.008,0.016-0.022,0.031-0.016c-0.002,0.025-0.035,0.052-0.053,0.065C-19.45,57.491-19.474,57.511-19.499,57.514z
+  M-19.589,57.621c-0.005,0.009-0.012,0.015-0.019,0.023c-0.011,0.012-0.013,0.008-0.027,0.012c-0.008,0.002-0.014,0.009-0.023,0.01
+  c-0.005,0-0.013-0.001-0.019-0.001c0.003-0.001,0.005-0.003,0.008-0.005l-0.016,0.006c-0.007-0.001-0.011-0.008-0.016-0.013
+  c0.002-0.008,0.009-0.011,0.016-0.016c0.011-0.008,0.021-0.018,0.032-0.027c0.008-0.005,0.011-0.013,0.018-0.019
+  s0.017-0.012,0.026-0.016c0.017-0.01,0.027-0.022,0.038-0.036c0.004-0.006,0.013-0.017,0.02-0.022
+  c0.011-0.007,0.016-0.005,0.018,0.007c0.003,0.022-0.012,0.035-0.026,0.051C-19.571,57.589-19.579,57.605-19.589,57.621z
+  M-19.772,57.757c-0.03,0.027-0.066,0.047-0.098,0.071c-0.016,0.011-0.027,0.023-0.038,0.039c-0.011,0.015-0.024,0.018-0.039,0.026
+  c-0.014,0.007-0.024,0.027-0.039,0.033c-0.006,0.002-0.013,0.001-0.019,0.002c-0.002,0.001-0.004,0.001-0.006,0.002
+  c-0.004-0.005,0.008-0.02,0.011-0.025c0.013-0.018,0.034-0.026,0.047-0.043c0.01-0.014,0.022-0.026,0.034-0.038
+  c0.01-0.012,0.017-0.023,0.025-0.035c0.009-0.012,0.027-0.022,0.039-0.031c0.018-0.013,0.03-0.031,0.049-0.045
+  c0.013-0.01,0.024-0.016,0.039-0.021c0.011-0.004,0.011-0.001,0.022,0.001c0.009,0.002,0.014-0.002,0.021-0.005
+  c0.004,0.008-0.012,0.03-0.017,0.037C-19.75,57.736-19.761,57.747-19.772,57.757z M-20.016,57.932c0.002,0,0.004-0.001,0.005-0.002
+  c0.001,0.001,0.002,0.002,0.005,0.002H-20.016z M-20.023,57.932h0.007c-0.004,0.003-0.008,0.005-0.01,0.007
+  C-20.024,57.937-20.023,57.935-20.023,57.932z M-19.994,57.988c-0.005,0.009-0.017,0.017-0.023,0.025
+  c-0.008,0.009-0.016,0.018-0.022,0.028c-0.007,0.011-0.016,0.017-0.027,0.024c-0.01,0.005-0.017,0.014-0.027,0.02
+  c-0.019,0.011-0.04,0.015-0.056,0.031c-0.006,0.006-0.015,0.018-0.022,0.022c-0.004,0.003-0.011,0.003-0.015,0
+  c-0.002,0-0.003-0.001-0.003-0.002c0.001-0.003,0.003-0.005,0.004-0.007c0.009-0.014,0.019-0.026,0.032-0.036
+  c0.011-0.009,0.023-0.02,0.032-0.031c0.012-0.015,0.015-0.027,0.032-0.037c0.011-0.007,0.017-0.011,0.023-0.022
+  c0.008-0.014,0.013-0.007,0.027-0.012c0.01-0.003,0.017-0.013,0.027-0.015C-19.999,57.972-19.986,57.974-19.994,57.988z
+  M-20.192,58.127c0,0.003,0.001,0.006,0.003,0.009c-0.004,0.007-0.008,0.014-0.013,0.019L-20.192,58.127z M-20.079,57.926
+  c-0.013,0.008-0.028,0.019-0.038,0.032c-0.006,0.009-0.006,0.02-0.01,0.029c-0.003,0.006-0.01,0.011-0.014,0.016
+  c-0.004,0.005-0.006,0.012-0.011,0.017c-0.008,0.009-0.019,0.018-0.028,0.025c-0.007,0.005-0.027,0.013-0.027,0.022
+  c0.003,0.002,0.005,0.002,0.008,0.001c-0.006,0.006-0.01,0.015-0.015,0.022c-0.011,0.014-0.026,0.026-0.038,0.037
+  c-0.018,0.015-0.049,0.026-0.071,0.035c-0.023,0.01-0.045,0.02-0.063,0.038c-0.011,0.012-0.022,0.026-0.035,0.036
+  c-0.016,0.012-0.033,0.022-0.048,0.034c-0.005,0.004-0.011,0.01-0.017,0.015c-0.007,0.005-0.022,0.01-0.026,0.019
+  c-0.008,0.022,0.037-0.003,0.043-0.007s0.02-0.012,0.022,0c0.004,0.014-0.016,0.017-0.023,0.02c-0.009,0.004-0.017,0.01-0.026,0.014
+  c-0.01,0.004-0.02,0.009-0.029,0.014c-0.008,0.004-0.017,0.008-0.026,0.01c-0.005,0.002-0.01,0.003-0.016,0.006
+  c-0.006,0.002-0.017,0.005-0.022,0.008c-0.005,0.003-0.005,0.007-0.01,0.01c-0.004,0.002-0.011,0.004-0.016,0.007
+  c-0.007,0.003-0.015,0.006-0.022,0.009c-0.021,0.009-0.042,0.023-0.054,0.043c-0.008,0.015-0.009,0.033-0.028,0.033
+  c-0.006,0-0.012-0.001-0.017,0c-0.006,0.001-0.007,0.003-0.012,0.004c-0.009,0.003-0.017,0.004-0.026,0.007
+  c-0.004,0.002-0.007,0.002-0.012,0.004c-0.005,0.002-0.01,0.006-0.015,0.007c-0.012,0.003-0.021-0.002-0.033,0.004
+  c-0.01,0.004-0.02,0.009-0.028,0.016c-0.019,0.015-0.047,0.017-0.064,0.034c-0.009,0.01-0.016,0.021-0.027,0.028
+  c-0.009,0.005-0.019,0.006-0.027,0.012c-0.012,0.006-0.021,0.013-0.033,0.019c-0.013,0.006-0.019,0.01-0.033,0.013
+  c-0.011,0.003-0.022,0.006-0.033,0.01c-0.009,0.004-0.017,0.004-0.027,0.005c-0.009,0.002-0.018,0.007-0.027,0.011
+  c-0.01,0.005-0.021,0.007-0.031,0.012c-0.032,0.016-0.07,0.025-0.098,0.05c-0.01,0.008-0.022,0.016-0.034,0.021
+  c-0.006,0.003-0.011,0.002-0.017,0.004c-0.004,0.002-0.005,0.005-0.01,0.006s-0.012-0.001-0.017,0c-0.006,0-0.008,0.003-0.012,0.004
+  c-0.012,0.003-0.015,0.004-0.024,0.013c-0.008,0.009-0.013,0.009-0.023,0.014c-0.02,0.008-0.039,0.019-0.058,0.029
+  c-0.024,0.012-0.049,0.024-0.073,0.032c-0.018,0.006-0.032,0.014-0.048,0.024c-0.02,0.012-0.049,0.018-0.072,0.024
+  c-0.011,0.003-0.022-0.001-0.032,0.001c-0.012,0.002-0.022,0.012-0.033,0.016c-0.012,0.003-0.067,0.017-0.048-0.015
+  c0.004-0.007,0.016-0.01,0.022-0.016c0.008-0.006,0.013-0.015,0.019-0.023c0.012-0.015,0.022-0.03,0.033-0.045
+  c0.008-0.01,0.009-0.025,0.018-0.036c0.003,0,0.006-0.001,0.009-0.001c0.002-0.004,0.004-0.007,0.007-0.009
+  c0.004-0.004,0.01-0.011,0.016-0.011c0.006-0.001,0.013,0.006,0.022,0.004c0.009-0.001,0.014-0.006,0.02-0.012
+  c0.011-0.011,0.017-0.026,0.029-0.037c0.014-0.014,0.032-0.019,0.049-0.028c0.016-0.009,0.026-0.025,0.042-0.033
+  c0.013-0.007,0.028-0.012,0.039-0.021c0.014-0.012,0.016-0.025,0.025-0.039c-0.011-0.008-0.015-0.008-0.029-0.011
+  c-0.011-0.002-0.025-0.012-0.039-0.01c-0.006,0.002-0.011,0.005-0.017,0.006c-0.006,0.002-0.015,0-0.021,0
+  c-0.014,0-0.03-0.002-0.043,0.001c-0.011,0.003-0.023,0.013-0.034,0.02c-0.013,0.009-0.028,0.011-0.043,0.016
+  c-0.027,0.008-0.046,0.02-0.07,0.035c-0.009,0.006-0.019,0.013-0.029,0.019c-0.013,0.008-0.024,0.013-0.037,0.019
+  c-0.013,0.007-0.026,0.012-0.038,0.02c-0.013,0.008-0.029,0.008-0.044,0.013c-0.012,0.004-0.022,0.014-0.034,0.019
+  c-0.012,0.007-0.027,0.01-0.041,0.013c-0.004,0.002-0.006,0.004-0.012,0.005c-0.007,0.001-0.015,0-0.022,0
+  c-0.014,0-0.022,0.008-0.037,0.004c-0.002-0.011,0.008-0.014,0.016-0.019c0.008-0.005,0.013-0.013,0.021-0.018
+  c0.015-0.008,0.029-0.019,0.044-0.027c0.007-0.004,0.014-0.006,0.022-0.009c0.012-0.006,0.016-0.017,0.025-0.025
+  c0.014-0.013,0.026-0.017,0.034-0.035c-0.011-0.015-0.046,0.004-0.059,0.01c-0.022,0.011-0.044,0.019-0.065,0.03
+  c-0.024,0.013-0.048,0.017-0.071,0.03c-0.011,0.007-0.016,0.008-0.027,0.011c-0.007,0.002-0.01,0.004-0.017,0.004
+  c-0.007,0.001-0.014,0-0.022,0.002c-0.021,0.005-0.042,0.014-0.06,0.024c-0.007,0.005-0.018,0.007-0.027,0.011
+  c-0.019,0.008-0.036,0.022-0.054,0.033c-0.008,0.005-0.018,0.009-0.027,0.013c-0.01,0.005-0.019,0.01-0.027,0.015
+  c-0.008,0.004-0.015,0.008-0.022,0.013c-0.011,0.006-0.019,0.012-0.029,0.019c-0.004,0.003-0.01,0.003-0.015,0.006
+  c-0.005,0.003-0.011,0.009-0.016,0.012c-0.013,0.009-0.021,0.022-0.033,0.032c-0.007,0.006-0.015,0.017-0.023,0.021
+  c-0.004,0.002-0.009,0-0.014,0.002c-0.004,0.001-0.012,0.008-0.016,0.011c-0.013,0.009-0.025,0.022-0.039,0.03
+  c-0.009,0.004-0.018,0.008-0.026,0.013c-0.004,0.003-0.008,0.007-0.012,0.01c-0.009,0.006-0.008,0.007-0.013,0.015
+  c-0.012,0.018-0.013,0.04-0.019,0.061c-0.003,0.011,0,0.019-0.005,0.028c-0.005,0.011-0.014,0.02-0.022,0.028
+  c-0.012,0.011-0.023,0.024-0.035,0.035c-0.016,0.014-0.035,0.024-0.049,0.038c-0.006,0.006-0.007,0.011-0.011,0.017
+  c-0.005,0.006-0.013,0.009-0.019,0.013c-0.019,0.013-0.034,0.03-0.053,0.042c-0.017,0.011-0.029,0.023-0.042,0.037
+  c-0.013,0.013-0.028,0.019-0.043,0.029c-0.017,0.01-0.035,0.02-0.054,0.027c-0.01,0.004-0.017,0.003-0.027,0.005
+  c-0.012,0.002-0.021,0.016-0.033,0.021c-0.006,0.003-0.015,0.004-0.02,0.008c-0.008,0.006-0.016,0.013-0.024,0.019
+  c-0.015,0.011-0.032,0.024-0.049,0.033c-0.016,0.009-0.036,0.019-0.053,0.03c-0.014,0.009-0.028,0.02-0.044,0.027
+  c-0.015,0.006-0.029,0.005-0.044,0.013c-0.01,0.006-0.019,0.012-0.027,0.018c-0.017,0.012-0.036,0.023-0.055,0.033
+  c-0.027,0.015-0.052,0.037-0.081,0.05c-0.016,0.007-0.032,0.011-0.048,0.016c-0.014,0.005-0.027,0.017-0.043,0.016
+  c0.002-0.002,0.004-0.003,0.004-0.006l-0.011-0.006c-0.001,0.012-0.013,0.005-0.011-0.005c0.001-0.007,0.01-0.013,0.015-0.017
+  c0.013-0.014,0.03-0.021,0.045-0.033c0.008-0.007,0.018-0.014,0.026-0.021c0.007-0.006,0.014-0.008,0.023-0.012
+  c0.025-0.011,0.037-0.038,0.06-0.053c0.01-0.007,0.014-0.005,0.02-0.016c0.005-0.009,0.014-0.02,0.017-0.029
+  c0.006-0.018-0.006-0.036-0.021-0.046c-0.016-0.013-0.038-0.013-0.033-0.04c0.002-0.011,0.009-0.021,0.011-0.032
+  c0.003-0.011,0.009-0.032,0.005-0.042c-0.021,0.007-0.03,0.041-0.037,0.059c-0.013,0.034-0.034,0.067-0.066,0.086
+  c-0.019,0.012-0.038,0.023-0.06,0.032c-0.012,0.004-0.012,0.005-0.017,0.017c-0.004,0.01-0.001,0.03-0.009,0.033
+  c-0.008,0.003-0.025,0-0.033,0h-0.033c-0.01,0-0.023,0.002-0.033,0s-0.022-0.009-0.032-0.012c-0.015-0.005-0.029-0.013-0.044-0.016
+  c-0.01-0.001-0.022,0.001-0.033,0.001c-0.01,0-0.022-0.002-0.032,0.001c-0.007,0.001-0.009,0.005-0.017,0.004
+  c-0.008,0-0.009-0.004-0.016-0.006c-0.01-0.002-0.022,0.002-0.033,0.001c-0.017-0.003-0.007-0.008-0.01-0.022
+  c-0.001-0.003-0.004-0.01-0.006-0.011c-0.006-0.007-0.002-0.002-0.011-0.005c-0.011-0.005-0.02-0.007-0.033-0.002
+  c-0.009,0.004-0.018,0.007-0.027,0.012c-0.009,0.005-0.017,0.013-0.026,0.018c-0.005,0.003-0.012,0.003-0.016,0.005
+  c-0.003,0.002-0.005,0.006-0.008,0.009c-0.011,0.008-0.023,0.012-0.037,0.012c-0.016,0-0.049,0.006-0.064-0.001
+  c-0.021-0.011-0.008-0.04-0.012-0.059c-0.001-0.006-0.004-0.01-0.006-0.016c-0.001-0.005,0.001-0.011,0.001-0.017
+  c-0.001-0.01-0.006-0.015-0.006-0.027c0-0.021-0.011-0.041-0.016-0.059c-0.008-0.025-0.017-0.048-0.038-0.066
+  c-0.014-0.011-0.031-0.034-0.049-0.038c-0.005-0.002-0.011,0.001-0.016-0.001c-0.006-0.002-0.012-0.006-0.017-0.009
+  c-0.009-0.004-0.019-0.007-0.028-0.01c-0.011-0.004-0.02-0.007-0.032-0.007c-0.013,0-0.026,0.002-0.038-0.004
+  c-0.036-0.017-0.003-0.039,0.012-0.056c0.017-0.018,0.031-0.037,0.048-0.053c0.019-0.019,0.043-0.023,0.066-0.034
+  c0.019-0.01,0.032-0.027,0.05-0.037c0.019-0.011,0.036-0.025,0.051-0.041c0.008-0.008,0.016-0.017,0.022-0.026
+  c0.003-0.003,0.01-0.012,0.012-0.016c0.002-0.007,0-0.014,0.002-0.022c0.002-0.009,0.008-0.018,0.01-0.027
+  c0.002-0.012-0.002-0.016,0.006-0.027c0.014-0.019,0.043-0.032,0.064-0.042c0.022-0.011,0.041-0.028,0.051-0.051
+  c0.002-0.006,0.002-0.01,0.003-0.016c0.002-0.005,0.005-0.006,0.006-0.011c0.003-0.013-0.002-0.02,0.006-0.032
+  c0.011-0.014,0.024-0.019,0.038-0.029c0.01-0.008,0.019-0.016,0.028-0.025c0.008-0.006,0.013-0.012,0.022-0.017
+  c0.015-0.009,0.03-0.009,0.046-0.015c0.021-0.008,0.041-0.016,0.061-0.023c0.02-0.008,0.038-0.016,0.054-0.029
+  c0.01-0.007,0.02-0.013,0.029-0.02c0.01-0.008,0.02-0.016,0.031-0.021c0.017-0.007,0.055-0.009,0.055-0.034
+  c0-0.024-0.032-0.026-0.049-0.023c-0.023,0.005-0.048-0.003-0.071,0.003c-0.011,0.002-0.02,0.006-0.033,0.004
+  c-0.011-0.001-0.02-0.008-0.032-0.006c-0.006,0.001-0.011,0.005-0.016,0.007c-0.007,0.003-0.011,0.003-0.017,0.004
+  c-0.005,0.001-0.006,0.007-0.011,0.005c-0.003-0.001-0.008-0.009-0.01-0.012c0.003-0.005,0.008-0.015,0.009-0.021
+  c0.002-0.011-0.001-0.015-0.005-0.025c-0.005-0.01-0.002-0.017-0.004-0.028c-0.003-0.014-0.012-0.024-0.016-0.037
+  c-0.005-0.022,0.003-0.04,0.006-0.06c0.001-0.007,0.005-0.003,0.003-0.012c-0.001-0.007-0.006-0.007-0.01-0.012
+  c-0.009-0.011-0.014-0.022-0.018-0.036c0-0.002-0.003-0.009-0.004-0.012c-0.001-0.006-0.001-0.007-0.003-0.012
+  c-0.006-0.011-0.012-0.014-0.003-0.026c0.008-0.01,0.018-0.012,0.027-0.018c0.013-0.008,0.024-0.021,0.036-0.031
+  c0.015-0.015,0.034-0.027,0.048-0.043c0.02-0.024,0.042-0.05,0.068-0.066c0.018-0.011,0.034-0.02,0.051-0.031
+  c0.019-0.014,0.025-0.041,0.044-0.055c0.009-0.006,0.024-0.004,0.032-0.01c0.006-0.005,0.01-0.013,0.015-0.019
+  c0.018-0.022,0.038-0.043,0.057-0.063c0.007-0.008,0.014-0.016,0.02-0.024c0.009-0.012,0.021-0.021,0.029-0.032
+  c0.012-0.016,0.02-0.036,0.025-0.056c0.002-0.013,0.002-0.023,0.006-0.037c0.004-0.009,0.004-0.012,0.012-0.02
+  c0.006-0.005,0.011-0.011,0.016-0.017c0.016-0.017,0.037-0.028,0.052-0.044c0.01-0.01,0.02-0.018,0.03-0.028
+  c0.023-0.024,0.05-0.041,0.074-0.062c0.01-0.008,0.019-0.015,0.029-0.023c0.004-0.003,0.006-0.008,0.01-0.011
+  c0.007-0.005,0.015-0.007,0.022-0.012c0.024-0.018,0.048-0.035,0.071-0.053c0.019-0.015,0.037-0.027,0.06-0.036
+  c0.011-0.004,0.02-0.002,0.031-0.005c0.014-0.004,0.014-0.015,0.023,0.002c0.01,0.018,0.024,0.036,0.045,0.042
+  c0.01,0.003,0.02,0.002,0.031,0.006c0.014,0.006,0.024,0.006,0.038,0.006s0.025-0.005,0.039-0.006c0.005,0,0.011,0.001,0.016,0.001
+  c0.008-0.002,0.011-0.01,0.021-0.005c-0.003,0.009-0.015,0.01-0.022,0.016c-0.008,0.009-0.014,0.021-0.022,0.031
+  c-0.01,0.011-0.016,0.022-0.028,0.032c-0.013,0.011-0.027,0.013-0.026,0.034c0.001,0.01,0.004,0.021,0.013,0.026
+  c0.004,0.003,0.024,0.007,0.029,0.007c-0.007,0.004-0.012,0.012-0.008,0.021c0.006,0.01,0.023,0.006,0.033,0.006
+  c0.02,0,0.036-0.007,0.053-0.015c0.008-0.004,0.01-0.002,0.018-0.008c0.009-0.007,0.015-0.01,0.025-0.013
+  c0.018-0.006,0.036-0.014,0.054-0.017c0.016-0.003,0.034-0.001,0.05-0.001c0.014,0,0.031-0.004,0.044-0.001
+  c0.01,0.003,0.021,0.005,0.029,0.006c0.009-0.007,0.013-0.004,0.021,0.001c0.012,0.008,0.006,0.015,0.015,0.022
+  c0.016,0.014,0.034,0.001,0.045-0.011c0.008-0.008,0.016-0.017,0.026-0.023c0.016-0.01,0.036-0.003,0.054-0.009
+  c0.02-0.007,0.026-0.027,0.049-0.029c0.011-0.001,0.017,0.004,0.027,0.006c0.028,0.006,0.059-0.005,0.087-0.01
+  c0.024-0.004,0.049-0.008,0.072-0.019c0.018-0.009,0.034-0.016,0.054-0.022c0.022-0.007,0.025-0.001,0.041,0.012
+  c-0.007,0.011-0.02,0.004-0.03,0.006c-0.015,0.002-0.03,0.01-0.043,0.018c-0.011,0.007-0.021,0.009-0.034,0.013
+  c-0.014,0.005-0.027,0.012-0.041,0.018c0.011,0,0.024,0.002,0.035,0c0.018-0.003,0.038-0.01,0.056-0.015
+  c0.01-0.003,0.02-0.005,0.031-0.008c0.004-0.001,0.006-0.004,0.012-0.004c0.008-0.002,0.014-0.002,0.022-0.005
+  c0.012-0.003,0.025,0.001,0.038-0.002c0.013-0.003,0.024-0.004,0.038-0.004c0.011,0,0.022,0.001,0.033-0.001
+  c0.013-0.003,0.025-0.005,0.038-0.005c0.007,0,0.022,0.004,0.025-0.005c-0.003-0.011-0.016-0.013-0.025-0.011
+  c-0.006,0.001-0.011,0.006-0.017,0.006c-0.004,0-0.007-0.005-0.01-0.006c-0.008-0.003-0.021-0.002-0.016-0.015
+  c0.002-0.006,0.018-0.013,0.023-0.016c0.007-0.003,0.023-0.013,0.031-0.013c0.005,0,0.005,0.005,0.01,0.006s0.012,0,0.017,0
+  c0.015,0,0.033-0.002,0.047-0.007c0.007-0.002,0.012-0.006,0.017-0.008c0.009-0.004,0.019,0,0.028-0.002
+  c-0.001-0.007-0.012-0.014-0.017-0.019c0.023,0.018,0.06-0.013,0.072-0.029c0.009-0.014,0.017-0.019,0.032-0.026
+  c0.014-0.007,0.026-0.009,0.04-0.017c0.003-0.002,0.011-0.006,0.014-0.007c0.004,0.001,0.008,0.001,0.012,0.001
+  c0.003,0,0.005-0.002,0.006-0.005c0.007-0.001,0.014,0.001,0.021,0c0.012-0.003,0.008-0.008,0.011-0.017
+  c0.005-0.027,0.031-0.045,0.047-0.065c0.019-0.024,0.044-0.046,0.074-0.054c0.006-0.001,0.013-0.001,0.02-0.001
+  c0.008,0,0.012-0.003,0.018-0.004c0.006-0.002,0.013-0.001,0.019-0.002c0.006-0.002,0.011-0.009,0.017-0.01
+  c0.007-0.002,0.014,0.001,0.021-0.001c0.004-0.002,0.014-0.009,0.017-0.011c0.006-0.006,0.012-0.027,0.022-0.027
+  c0.006,0,0.008,0.007,0.012,0.01c0.004,0.003,0.011,0.005,0.016,0.007c0.011,0.006,0.024,0.01,0.037,0.012
+  c0,0.008,0.006,0.013,0.006,0.02c0.002,0.011,0.001,0.018,0.006,0.028c0,0.003,0.001,0.005,0.004,0.007
+  c0.001,0.004-0.001,0.01,0.002,0.014c0.003,0.004,0.017,0.011,0.022,0.016c0.006,0.005,0.014,0.006,0.019,0.013
+  c0.001,0.003,0.002,0.006,0.003,0.009c0.002,0.003,0.006,0.004,0.008,0.007c0.005,0.006,0.004,0.015,0.007,0.021
+  c0.005,0.013,0.011,0.011,0.025,0.011c-0.001,0.013,0.039,0.002,0.046,0c0.009-0.004,0.018-0.004,0.027-0.011
+  c0.012-0.008,0.019-0.022,0.033-0.029c0.02-0.01,0.044-0.002,0.065,0.002s0.03-0.022,0.053-0.015
+  c0.007,0.002,0.015,0.007,0.018,0.014c0.002,0.007-0.001,0.016,0.001,0.023c0.002,0.006,0.004,0.009,0.004,0.016
+  c0,0.023-0.016,0.038-0.005,0.06c0.005,0.012,0.005,0.014-0.002,0.027c-0.006,0.011-0.009,0.014-0.009,0.027
+  s0.003,0.021,0.005,0.033c0.002,0.006,0.002,0.023-0.003,0.028c0.013,0.001,0.026-0.023,0.029-0.034
+  c0.005-0.016,0.013-0.037,0.012-0.054c0-0.017,0.007-0.03,0.018-0.042c0.004-0.005,0.01-0.009,0.014-0.014
+  c0-0.003,0.001-0.005,0.002-0.008c0.002-0.002,0.012-0.004,0.015-0.005c0.007-0.003,0.01-0.006,0.015-0.009
+  c0.008-0.004,0.014-0.003,0.023-0.003c0.012-0.001,0.02-0.001,0.028,0.01c0.003,0.005,0.01,0.016,0.011,0.022
+  c0.002,0.009-0.005,0.018-0.006,0.027c-0.001,0.009,0,0.018,0,0.028c0,0.021-0.005,0.047-0.015,0.066
+  c-0.008,0.015-0.015,0.026-0.019,0.042c-0.002,0.011-0.006,0.016-0.003,0.027c0.003,0.01,0.003,0.018,0.004,0.028
+  c0.001,0.007,0.004,0.009,0.006,0.016c0.002,0.008,0,0.019,0,0.027c0.001,0.022,0.011,0.034,0.027,0.048
+  c0.013,0.011,0.026,0.022,0.038,0.033c0.007,0.005,0.011,0.01,0.016,0.017c0.006,0.008,0.008,0.014,0.012,0.022
+  c0.008,0.012,0.025,0.021,0.031,0.034c0.005,0.01-0.003,0.012-0.005,0.02c-0.002,0.008-0.001,0.013-0.004,0.021
+  c0.006,0.004,0.017,0.021,0.016,0.029c-0.001,0.006-0.007,0.006-0.012,0.01c-0.004,0.004-0.007,0.011-0.01,0.017
+  c-0.012,0.019-0.024,0.043-0.045,0.053c-0.005,0.002-0.011,0.001-0.016,0.005c-0.005,0.004-0.002,0.006-0.006,0.011
+  c-0.007,0.01-0.01,0.015-0.01,0.028c0.001,0.012,0.007,0.018,0.011,0.027c0.006,0.012,0.005,0.024,0.01,0.035
+  c0.008,0.017,0.024,0.032,0.019,0.053c-0.002,0.01-0.013,0.02-0.006,0.031c0.007,0.01,0.022,0.008,0.032,0.006
+  c0.012-0.003,0.022-0.01,0.032-0.017c0.011-0.008,0.021-0.01,0.033-0.015c0.025-0.009,0.051-0.011,0.076-0.017
+  c0.025-0.006,0.047-0.015,0.071-0.022c0.026-0.008,0.044-0.026,0.064-0.044c0.006-0.005,0.019-0.011,0.022-0.016
+  c0.004-0.005,0.002-0.025,0-0.03c-0.003-0.01-0.014-0.017-0.016-0.029c-0.001-0.013,0.012-0.018,0.022-0.023
+  c0.013-0.006,0.018-0.002,0.029,0c0.009,0.002,0.022,0.003,0.032,0.002c0.009-0.001,0.014-0.006,0.023-0.01
+  c0.011-0.006,0.018-0.012,0.02,0.004c0.002,0.015-0.002,0.021-0.01,0.033c-0.006,0.009-0.006,0.018-0.013,0.026
+  c-0.016,0.018-0.025,0.025-0.015,0.05c0.003,0.009,0.003,0.03,0.01,0.033c0.014,0.006,0.035-0.004,0.045-0.012
+  c0.017-0.015,0.024-0.052,0.048-0.059c0.005-0.002,0.011,0.001,0.017,0c0.008-0.001,0.011-0.006,0.017-0.01
+  c0.005-0.002,0.011-0.004,0.015-0.006c0.005-0.003,0.008-0.007,0.012-0.01c0.006-0.004,0.014-0.003,0.02-0.008
+  c0.004-0.003,0.007-0.007,0.01-0.011c0.008-0.008,0.019-0.013,0.027-0.02c-0.006,0.01-0.004,0.021-0.01,0.032
+  C-20.058,57.907-20.066,57.918-20.079,57.926z M-20.496,56.942c-0.016,0.005-0.024,0.014-0.022,0.033l-0.011-0.017
+  c-0.018,0.024-0.04-0.035-0.048-0.043c-0.006-0.005-0.01-0.004-0.012-0.011c-0.002-0.007,0.001-0.013,0.004-0.018
+  c0.008-0.011,0.022-0.015,0.034-0.019c0.03-0.009,0.049-0.033,0.077-0.045c0.011-0.005,0.025-0.008,0.037-0.011
+  c0.006,0.001,0.01,0.001,0.015-0.001c0.007-0.003,0.014-0.006,0.021-0.009c0.01-0.002,0.019-0.004,0.029-0.008
+  c0.012-0.004,0.023-0.004,0.034,0.007c0.014,0.014,0.011,0.028,0.005,0.044c-0.01,0.026-0.034,0.038-0.056,0.053
+  c-0.008,0.005-0.016,0.013-0.025,0.018c-0.013,0.006-0.03,0.01-0.044,0.015C-20.471,56.934-20.484,56.938-20.496,56.942z
+  M-20.562,57.008c0.01,0.008,0.021,0.015,0.033,0.021c0.015,0.007,0.025,0.007,0.034,0.022c0.015,0.022,0.011,0.039,0,0.061
+  c-0.003,0.006-0.004,0.013-0.008,0.019c-0.005,0.009-0.014,0.015-0.02,0.023c-0.008,0.014-0.006,0.029-0.018,0.042
+  c-0.016,0.018-0.038,0.034-0.064,0.028c-0.019-0.005-0.028-0.016-0.042-0.028c-0.007-0.005-0.016-0.01-0.022-0.016
+  c-0.002-0.002-0.004-0.004-0.005-0.006c-0.005-0.002-0.009-0.001-0.013-0.003c-0.008-0.004-0.035-0.013-0.038-0.024v0.013
+  c-0.005-0.017-0.059-0.055-0.053-0.07c0.002-0.002,0.004-0.003,0.006-0.005c0.002-0.004,0.003-0.008,0.005-0.011
+  c0.005-0.008,0.008-0.014,0.011-0.023c0.003-0.009,0.006-0.017,0.004-0.027c-0.002-0.012-0.008-0.019-0.004-0.032
+  c0.007-0.023,0.026-0.02,0.045-0.024c0.011-0.002,0.018-0.005,0.03-0.004c0.012,0,0.021-0.007,0.033-0.006
+  c0.015,0.001,0.025,0.015,0.037,0.023c0.009,0.006,0.018,0.007,0.027,0.011C-20.577,56.996-20.569,57.003-20.562,57.008z
+  M-20.741,57.17c0.003,0.011,0.002,0.033-0.001,0.043c-0.021,0.002-0.04,0.018-0.063,0.011l-0.001-0.005l-0.006-0.005
+  c0.001,0.004,0.001,0.007-0.001,0.01c-0.007-0.001-0.018-0.015-0.026-0.019c-0.008-0.005-0.013-0.007-0.022-0.007
+  c-0.003,0-0.007,0-0.011,0c-0.005,0-0.008,0.003-0.012,0.004c-0.007,0.001-0.013,0.001-0.02,0.001c-0.012,0-0.012-0.001-0.021-0.007
+  c-0.011-0.007-0.022-0.014-0.033-0.021c0-0.023,0.06-0.031,0.075-0.032c0.005,0,0.012-0.001,0.017,0
+  c0.007,0.002,0.008,0.007,0.016,0.006c0.004,0,0.007-0.004,0.011-0.006c0.005-0.002,0.011-0.003,0.016-0.005
+  c0.013-0.006,0.024-0.012,0.037-0.01c0.01,0.002,0.019,0.009,0.028,0.015C-20.748,57.15-20.743,57.159-20.741,57.17z
+  M-24.165,56.011c-0.325-0.11-1.03,0.279-0.976-0.33c0.055-0.609,0.057-0.298,0.086-0.447c0.107-0.033,0.215-0.065,0.322-0.098
+  c-0.002-0.002-0.005-0.003-0.007-0.007c-0.002-0.006,0-0.011-0.001-0.018c-0.001-0.007-0.003-0.013-0.003-0.021
+  c0-0.011,0.004-0.022,0.005-0.033c0.001-0.006-0.001-0.009-0.003-0.013c-0.001-0.006,0.001-0.013,0.002-0.018
+  c0.002-0.005,0.003-0.011,0.004-0.016c0-0.005-0.001-0.01,0-0.015c0-0.006,0.005-0.01,0.007-0.015
+  c0.002-0.007,0.002-0.012,0.003-0.019c0.001-0.009,0.008-0.014,0.012-0.023c0.003-0.004,0.004-0.012,0.008-0.015
+  c0.003-0.003,0.005-0.002,0.008-0.003c0.004-0.002,0.007-0.007,0.01-0.01c0.003-0.003,0.004-0.008,0.007-0.011
+  c0.004-0.003,0.008-0.004,0.012-0.006c0.01-0.006,0.015-0.019,0.025-0.023c0.013-0.006,0.025-0.015,0.036-0.024
+  c0.006-0.005,0.011-0.009,0.018-0.013c0.005-0.002,0.006-0.002,0.01-0.002c0.006-0.001,0.01-0.005,0.015-0.008
+  c0.003-0.001,0.007-0.003,0.01-0.005c0.003-0.001,0.006-0.004,0.009-0.005s0.005,0,0.008,0c0.004-0.001,0.007-0.002,0.01-0.003
+  c0.005-0.001,0.007,0,0.012-0.002c0.002-0.002,0.005-0.005,0.008-0.006c0.002-0.002,0.003-0.004,0.005-0.005
+  c0.005-0.003,0.006-0.002,0.011-0.002c0.005-0.001,0.013-0.005,0.018-0.008c0.007-0.004,0.014-0.009,0.02-0.013
+  c0.005-0.003,0.01-0.006,0.016-0.008c0.005-0.002,0.012-0.002,0.018-0.005c0.005-0.004,0.012-0.007,0.018-0.011
+  c0.005-0.003,0.008-0.006,0.015-0.007c0.012-0.001,0.028-0.002,0.039,0.003c0.006,0.004,0.009,0.006,0.012,0.013
+  c0.002,0.004,0.004,0.006,0.006,0.01c0.002,0.003,0.001,0.005,0.002,0.008c0.001,0.002,0.002,0.002,0.003,0.005
+  c0.001,0.005-0.001,0.012-0.001,0.018c0.001,0.005-0.002,0.008-0.002,0.013c0,0.006,0.005,0.008,0.01,0.009
+  c0.007,0.002,0.011,0.005,0.014,0.011c0.001,0.003,0.001,0.005,0.002,0.008c0,0.003,0.004,0.007,0.004,0.01
+  c0.001,0.004-0.002,0.008-0.002,0.013c0,0.005,0,0.008,0.003,0.013c0.005,0.01,0.013,0.018,0.022,0.026
+  c0.003,0.002,0.002,0.004,0.006,0.005c0.004,0,0.006-0.001,0.008-0.003c0.007-0.006,0.011-0.018,0.012-0.026
+  c0.001-0.006-0.004-0.014-0.007-0.019c-0.004-0.008-0.009-0.016-0.014-0.024c-0.005-0.008-0.013-0.016-0.014-0.026
+  c-0.001-0.01,0.008-0.019,0.01-0.028c0.001-0.007-0.001-0.012,0.008-0.013c0.005-0.001,0.01,0.001,0.015-0.001
+  c0.005-0.001,0.009-0.004,0.013-0.006c0.004-0.003,0.007-0.007,0.011-0.011c0.003,0.003,0.008,0.004,0.012,0.005
+  c0.005,0.002,0.01,0.005,0.016,0.006c0.008,0.002,0.015,0,0.023-0.003c0.007-0.002,0.01-0.005,0.018-0.005
+  c0.017,0,0.033,0,0.049-0.008c0.013-0.007,0.026-0.008,0.04-0.008c0.007,0,0.012-0.003,0.018-0.005
+  c0.006-0.001,0.01-0.001,0.016-0.003c0.005-0.002,0.009-0.005,0.015-0.005c0.007,0,0.014,0,0.021,0c0.005,0,0.012,0.002,0.018,0
+  c0.004-0.001,0.009-0.004,0.013-0.004c0.008-0.002,0.024,0,0.03,0.007c0.001,0.002,0,0.005,0,0.008c0,0.002,0.002,0.003,0.002,0.005
+  c0.001,0.005,0.001,0.01,0.001,0.015s0.001,0.01-0.001,0.015c0,0.003-0.002,0.006-0.002,0.008c-0.002,0.004-0.001,0.007-0.002,0.011
+  c-0.001,0.004-0.006,0.006-0.006,0.012c0,0.006,0.004,0.011,0.008,0.014c0.01,0.007,0.021,0.008,0.031,0.012
+  c0.009,0.003,0.021,0.004,0.031,0.003c0.021-0.002,0.017-0.023,0.03-0.032c0.008-0.006,0.019-0.007,0.027-0.012
+  c0.004-0.003,0.009-0.007,0.012-0.011c0.004-0.006,0.005-0.01,0.012-0.009c0.001,0.001,0.002,0.002,0.004,0.002
+  c0.003,0,0.003-0.001,0.005-0.002c0.005-0.002,0.009-0.005,0.013-0.008c0.004-0.004,0.005-0.009,0.01-0.013
+  c0.005-0.004,0.007-0.002,0.013-0.003c0.011-0.002,0.019-0.01,0.031-0.01c0.003,0,0.01,0.001,0.007-0.005
+  c-0.001-0.001-0.006-0.004-0.007-0.005c-0.003-0.003-0.005-0.005-0.008-0.006c0.001-0.006,0.008-0.004,0.012-0.004
+  c0.008-0.002,0.014-0.003,0.021-0.003c0.012,0,0.027,0.002,0.039,0c0.011-0.002,0.02-0.014,0.025-0.023
+  c0.003-0.005,0.004-0.009,0.009-0.013s0.011-0.005,0.017-0.005c0.01,0,0.018,0.004,0.028,0.005c0.005,0,0.009,0.002,0.014,0.004
+  c0.006,0.004,0.01,0.003,0.017,0.003c0.005,0.001,0.003,0,0.005,0.003c0.001,0.001,0.003,0.006,0.004,0.008
+  c0.003,0.006,0.006,0.012,0.007,0.018c0.002,0.008,0.001,0.016,0.002,0.024c0.001,0.007,0.003,0.012,0.003,0.02
+  c0,0.004-0.001,0.01,0,0.014c0,0.001,0.001,0.001,0.001,0.002c0.099-0.03-0.143,0.256,0.297-0.09s0.336,0.817-0.066,1.025
+  C-23.693,55.914-23.874,55.909-24.165,56.011z M-24.181,56.017c0.005-0.002,0.011-0.004,0.016-0.006
+  c0.017,0.006,0.034,0.012,0.051,0.018L-24.181,56.017z M-24.607,55.943l0.426,0.074c-0.05,0.017-0.099,0.035-0.148,0.052
+  C-24.422,56.027-24.515,55.985-24.607,55.943z M-33.449,52.473c0.015,0.018,0.025,0.032,0.022,0.057
+  c-0.003,0.021-0.001,0.046-0.026,0.05c-0.001-0.002-0.003-0.003-0.006-0.003h-0.005c-0.002-0.02-0.023-0.04-0.026-0.063
+  c-0.002-0.014,0.012-0.061,0.033-0.037C-33.455,52.475-33.452,52.475-33.449,52.473z M-27.922,53.12L-27.922,53.12L-27.922,53.12
+  L-27.922,53.12z M-25.706,56.522c-0.279,0.349-0.558,0.698-0.837,1.047c-0.001,0.012,0.003,0.025-0.001,0.036
+  c-0.004,0.013-0.015,0.02-0.02,0.032c-0.01,0.022-0.003,0.045-0.005,0.068c-0.003,0.021-0.017,0.037-0.022,0.058
+  c-0.007,0.022-0.001,0.045-0.004,0.068c-0.002,0.011-0.009,0.02-0.011,0.031c-0.002,0.012,0.001,0.025,0,0.037
+  c-0.002,0.019-0.012,0.037-0.015,0.058c-0.002,0.022,0.005,0.042,0.01,0.063c0.006,0.027,0.006,0.093,0.041,0.1
+  c0.004,0.025,0.002,0.056-0.031,0.057c-0.012,0.001-0.021-0.008-0.035-0.004c-0.014,0.003-0.024,0.019-0.038,0.02
+  c-0.024,0.002-0.036-0.029-0.058-0.027c-0.003,0-0.002,0.003-0.003,0.003c-0.019,0.067-0.038,0.134-0.057,0.201
+  c0.006,0.01,0.013,0.019,0.014,0.026c0.004,0.015-0.002,0.032-0.017,0.044c-0.005,0.005-0.012-0.001-0.017,0.002
+  c-0.092,0.323-0.183,0.646-0.274,0.969c0.091,0.148,0.182,0.296,0.274,0.444c-0.291-0.117-0.581-0.234-0.872-0.352
+  c0.122,0.03,0.231,0.045,0.318,0.038l-1.097-0.379c0,0.006-0.007,0.011-0.004,0.022c0,0.001,0.001,0.003,0.002,0.004
+  c0.26,0.105,0.521,0.21,0.781,0.315c-0.216-0.052-0.483-0.162-0.78-0.312c0.002,0.006,0.004,0.014,0.007,0.019
+  c0.008,0.01,0.009,0.005,0.02,0.011c0.018,0.01,0.024,0.026,0.038,0.04c0.028,0.03,0.071,0.05,0.105,0.068
+  c0.035,0.019,0.074,0.04,0.111,0.053c0.02,0.006,0.043,0.012,0.062,0.016c0.016,0.004,0.037,0.006,0.052,0.012
+  c0.021,0.009,0.039,0.025,0.059,0.034c0.018,0.009,0.029,0.022,0.046,0.032c0.018,0.01,0.04,0.019,0.059,0.026
+  c0.026,0.011,0.024,0.011,0.039,0.037c0.014,0.024,0.041,0.018,0.065,0.027c0.024,0.01,0.041,0.034,0.058,0.053
+  c0.022,0.026,0.06,0.041,0.094,0.052c0.018,0.006,0.036,0.008,0.053,0.015c0.019,0.007,0.037,0.02,0.052,0.033
+  c0.016,0.015,0.027,0.03,0.047,0.041c0.019,0.011,0.033,0.017,0.048,0.032c0.011,0.01,0.026,0.027,0.039,0.033
+  c0.016,0.006,0.037,0.009,0.054,0.014c0.022,0.006,0.045,0.001,0.067,0.006c0.008,0.002,0.019,0.007,0.028,0.009
+  c0.011,0.003,0.02,0.004,0.031,0.006c0.022,0.003,0.041,0.007,0.063,0.01c0.014,0.002,0.04,0.013,0.036,0.031
+  c-0.022-0.001-0.039,0.007-0.062,0.002c-0.019-0.004-0.036-0.005-0.057-0.008c-0.016-0.001-0.037-0.005-0.053-0.009
+  c-0.021-0.004-0.043-0.002-0.063-0.006c-0.019-0.005-0.034-0.016-0.053-0.02c-0.025-0.006-0.051-0.002-0.076-0.012
+  c-0.017-0.007-0.033-0.021-0.049-0.025c-0.018-0.004-0.04,0.002-0.058,0c-0.042-0.003-0.08-0.034-0.121-0.047
+  c-0.019-0.006-0.035-0.012-0.053-0.012c-0.02,0.001-0.037,0.004-0.053-0.008c-0.006-0.004-0.01-0.011-0.015-0.016
+  c-0.019-0.019-0.029-0.02-0.055-0.023c-0.019-0.002-0.045,0-0.064-0.005c-0.016-0.005-0.034-0.015-0.05-0.021
+  c-0.011-0.003-0.024-0.013-0.034-0.015c-0.008-0.002-0.019,0.004-0.026-0.001c-0.026-0.015-0.012-0.051-0.048-0.057
+  c-0.031-0.004-0.031-0.006-0.051-0.031c-0.025-0.03-0.056-0.057-0.091-0.074c-0.024-0.012-0.049-0.022-0.073-0.035
+  c-0.009-0.004-0.016-0.013-0.026-0.016c-0.011-0.002-0.022,0.002-0.032-0.002c-0.013-0.004-0.022-0.012-0.035-0.016
+  c-0.008-0.001-0.017-0.004-0.024-0.007c-0.01-0.005-0.014-0.01-0.025-0.012c-0.011-0.003-0.019-0.003-0.031-0.007
+  c-0.046-0.017-0.088-0.037-0.136-0.047c-0.032-0.006-0.06-0.024-0.09-0.034c-0.019-0.007-0.03-0.006-0.047-0.018
+  c-0.019-0.014-0.036-0.026-0.052-0.041c-0.017-0.017-0.039-0.023-0.058-0.037s-0.029-0.038-0.046-0.056
+  c-0.019-0.021-0.044-0.041-0.069-0.054c-0.029-0.016-0.058-0.041-0.089-0.051c-0.031-0.01-0.052-0.018-0.079-0.033
+  c-0.031-0.017-0.065-0.026-0.096-0.043c-0.013-0.008-0.027-0.013-0.04-0.021c-0.013-0.008-0.018-0.016-0.028-0.025
+  c-0.019-0.018-0.041-0.033-0.06-0.052c-0.019-0.019-0.043-0.015-0.065-0.031c-0.013-0.009-0.016-0.029-0.027-0.037
+  c-0.005-0.004-0.023-0.004-0.03-0.006c-0.02-0.006-0.035-0.01-0.041-0.031c-0.006-0.021-0.007-0.043-0.011-0.063
+  c-0.004-0.019,0-0.032,0.005-0.053c0.006-0.029,0.005-0.038-0.01-0.062c-0.012-0.021-0.01-0.029-0.038-0.032
+  c-0.028-0.003-0.03,0.016-0.053,0.025c-0.018,0.008-0.051,0.003-0.057-0.014c-0.004-0.012,0.005-0.023-0.003-0.033
+  c-0.006-0.008-0.019-0.011-0.027-0.016c-0.013-0.009-0.021-0.035-0.037-0.036c-0.002-0.013-0.002-0.021-0.005-0.03
+  c-0.021-0.006-0.049-0.03-0.066-0.043c-0.044-0.033-0.081-0.077-0.119-0.115c-0.017-0.017-0.032-0.033-0.048-0.052
+  c-0.012-0.015-0.028-0.02-0.042-0.032c-0.034-0.028-0.047-0.063-0.068-0.1c-0.012-0.021-0.04-0.029-0.05-0.051
+  c-0.001-0.002,0-0.004-0.001-0.007c-0.446-0.335-0.894-0.711-1.316-1.103c0.004,0.013,0.005,0.026,0.012,0.039
+  c0.005,0.008,0.01,0.012,0.014,0.021c0.007,0.017,0.009,0.036,0.016,0.053c0.018,0.046,0.042,0.088,0.053,0.136
+  c0.007,0.026,0.015,0.047,0.029,0.069c0.009,0.012,0.033,0.059,0.028,0.067l-0.011-0.005c-0.024-0.008-0.045-0.037-0.067-0.052
+  c-0.018-0.011-0.025-0.06-0.037-0.085c-0.013-0.027-0.034-0.048-0.05-0.074c-0.014-0.021-0.023-0.052-0.055-0.052
+  c0.003-0.024-0.014-0.031-0.027-0.047c-0.012-0.016-0.023-0.031-0.036-0.046c-0.027-0.029-0.05-0.068-0.065-0.104
+  c-0.004-0.01,0-0.02-0.003-0.032c-0.003-0.01-0.011-0.017-0.016-0.027c-0.007-0.014-0.009-0.032-0.017-0.047
+  c-0.006-0.011-0.021-0.019-0.026-0.031c-0.004-0.013-0.001-0.019-0.008-0.032c-0.002-0.003-0.004-0.006-0.006-0.008
+  c-1.279-1.251-2.211-2.634-1.778-3.512c0.001-0.001,0.002-0.001,0.004-0.002c-0.003-0.011-0.007-0.023-0.011-0.037
+  c-0.017-0.067,0.002-0.076,0.068-0.074c0.017,0.021,0.042,0.044,0.046,0.072c0.086-0.033,0.173-0.067,0.259-0.1
+  c-0.061-0.188-0.123-0.376-0.184-0.564c-0.002-0.002-0.005-0.002-0.009-0.006c0.002,0.002-0.034-0.046-0.033-0.041
+  c-0.001-0.001-0.002-0.002-0.003-0.002c0.006-0.01,0.011-0.023,0.018-0.035c-0.015-0.046-0.03-0.092-0.045-0.138
+  c-0.008-0.005-0.018-0.008-0.042-0.015c-0.043-0.01-0.053-0.017-0.072-0.058c-0.048-0.106-0.079-0.23-0.112-0.343
+  c0.001,0.002,0.002,0.003,0.005,0.002c0.008-0.042-0.03-0.102-0.042-0.14c-0.015-0.053-0.027-0.105-0.042-0.158
+  c-0.019-0.062-0.091-0.233-0.022-0.289c-0.041-0.125-0.082-0.25-0.123-0.375c0.346-0.283,0.692-0.566,1.038-0.85
+  c-0.001-0.001-0.002-0.002-0.003-0.003c-0.003-0.005-0.003-0.008-0.004-0.013c-0.001-0.003-0.003-0.004-0.003-0.008
+  c0-0.003,0-0.006,0-0.008c0-0.003-0.002-0.006-0.003-0.008c-0.001-0.006,0.003-0.011,0.003-0.016c0-0.007-0.001-0.008-0.003-0.013
+  c-0.003-0.009-0.009-0.015-0.013-0.023c-0.004-0.008-0.004-0.019-0.008-0.029c-0.003-0.006-0.006-0.011-0.011-0.016
+  c-0.005-0.006-0.007-0.014-0.011-0.019c0.003-0.004,0.01-0.003,0.011-0.008c0-0.007-0.017-0.004-0.021-0.004
+  c-0.018,0-0.034,0.005-0.052,0.004c-0.014-0.001-0.026-0.008-0.039-0.011c-0.016-0.004-0.03,0.009-0.045,0.011
+  c-0.006,0.001-0.013-0.002-0.02,0.001c-0.008,0.003-0.009,0.008-0.019,0.007c-0.014-0.001-0.023-0.008-0.036,0
+  c-0.006,0.003-0.011,0.008-0.017,0.012c-0.01,0.006-0.021,0.008-0.031,0.013c-0.017,0.007-0.035,0.009-0.052,0.014
+  c-0.034,0.008-0.062,0.022-0.093,0.037c-0.014,0.007-0.032,0.009-0.048,0.014c-0.016,0.006-0.031,0.016-0.047,0.023
+  c-0.012,0.005-0.026,0.012-0.039,0.015c-0.004,0-0.008,0-0.012-0.001c-0.005,0.001-0.007,0.002-0.012,0.003
+  c-0.007,0.002-0.014,0.005-0.02,0.006c-0.013,0.002-0.029-0.005-0.04,0.002c-0.006,0.004-0.008,0.01-0.016,0.013
+  c-0.007,0.001-0.017,0.002-0.023,0c0-0.007-0.005-0.008-0.008-0.012c-0.004-0.004-0.004-0.006-0.005-0.011
+  c-0.002-0.009-0.005-0.017-0.004-0.026c-0.001-0.007-0.002-0.015,0-0.022c0.002-0.016,0.015-0.028,0.023-0.041
+  c0.007-0.012,0.006-0.026,0.014-0.038c0.005-0.009,0.006-0.017,0.01-0.026c0.003-0.005,0.01-0.01,0.012-0.015
+  c0.002-0.004,0-0.008,0.002-0.011c0.006-0.012,0.019-0.021,0.027-0.033c0.004-0.007,0.005-0.016,0.008-0.024
+  c0.002-0.006,0.004-0.013,0.004-0.02v-0.02c0-0.003,0.001-0.009,0-0.012c-0.001-0.003-0.004-0.004-0.005-0.008
+  c-0.003-0.014,0.007-0.032-0.004-0.044c-0.006-0.005-0.012-0.005-0.018-0.008c-0.008-0.004-0.014-0.01-0.021-0.015
+  c-0.014-0.007-0.023-0.005-0.036,0.003c-0.006,0.003-0.01,0.007-0.012-0.003c-0.002-0.007,0-0.017,0-0.024
+  c0-0.009-0.005-0.013-0.004-0.021c0-0.005,0.006-0.01,0.009-0.014c0.006-0.01,0.012-0.02,0.023-0.026
+  c0.011-0.007,0.019-0.015,0.025-0.027c0.003-0.007,0.006-0.014,0.01-0.02c0.001-0.003,0.003-0.006,0.005-0.01
+  c0.001-0.002,0.001-0.005,0.002-0.008c0.001-0.006,0.004-0.01,0.006-0.016c0.001-0.003,0.002-0.004,0.003-0.007
+  c0.001-0.006,0-0.013,0.008-0.014l0,0c0.005-0.008,0.011-0.015,0.016-0.023c0.001-0.002,0.002-0.004,0.004-0.006
+  c0.003-0.006,0.006-0.009,0.01-0.013c0.005-0.006,0.009-0.012,0.013-0.018c0.004-0.007,0.005-0.016,0.009-0.023
+  c0.004-0.008,0.012-0.014,0.015-0.024c0.006-0.02-0.003-0.035-0.023-0.023c-0.016,0.009-0.031,0.021-0.048,0.03
+  c-0.025,0.012-0.013-0.02-0.004-0.03c0.013-0.015,0.03-0.023,0.042-0.039c0.012-0.014,0.015-0.035,0.029-0.047
+  c0.012-0.01,0.033-0.022,0.047-0.024c0.021-0.004,0.035-0.013,0.053-0.023c0.01-0.006,0.027-0.012,0.038-0.015
+  c0.006-0.001,0.01,0,0.015-0.001c0.005,0,0.007-0.003,0.01-0.003c0.011-0.002,0.014-0.002,0.023-0.007
+  c0.01-0.006,0.019-0.012,0.029-0.017c0.018-0.012,0.04-0.021,0.052-0.04c0.005-0.006,0.007-0.016,0.014-0.02
+  c0.007-0.005,0.016-0.006,0.023-0.009c0.018-0.009,0.024-0.022,0.035-0.037c0.003-0.005,0.01-0.016,0.015-0.019
+  c0.013-0.005,0.015,0.009,0.013,0.018c-0.003,0.009-0.013,0.02-0.018,0.029c-0.006,0.01-0.01,0.019-0.015,0.029
+  c-0.006,0.015-0.011,0.028-0.02,0.043c-0.006,0.009-0.01,0.019-0.017,0.029c-0.005,0.007-0.01,0.011-0.014,0.019
+  c-0.003,0.006-0.011,0.017-0.011,0.024c-0.001,0.01,0.007,0.012,0.004,0.022c-0.002,0.008-0.01,0.017-0.018,0.02
+  c-0.005,0.001-0.009,0-0.015,0.001c-0.004,0-0.007,0.003-0.01,0.003c-0.008,0.002-0.017-0.001-0.022,0.007
+  c-0.003,0.005,0.001,0.018,0.005,0.022c0.003,0.003,0.008,0.003,0.012,0.007c0.003,0.003,0.005,0.004,0.006,0.008
+  c0.001,0.004-0.001,0.01,0,0.015c0.001,0.006,0.001,0.005,0.003,0.01c0.004,0.008,0.009,0.014,0.013,0.022
+  c0.002,0.005,0.003,0.004,0.003,0.011c0,0.006-0.003,0.006-0.004,0.01c-0.001,0.006-0.001,0.012,0,0.018
+  c0.005,0.002,0.01,0.003,0.016,0.003c0.009,0.001,0.019-0.002,0.028,0c0.008,0.002,0.01,0.006,0.02,0.003
+  c0.008-0.002,0.015-0.002,0.024-0.003c0.003,0,0.009-0.003,0.012-0.003c0.004,0,0.003,0.003,0.007,0.003
+  c0.008,0.002,0.014,0.001,0.021,0.007c0.01,0.009,0.001,0.033-0.001,0.045c-0.005,0.018-0.001,0.035,0.007,0.052
+  c0.013,0.026,0.064-0.008,0.072-0.025c0.002-0.004,0.001-0.005,0.005-0.008c0.003-0.003,0.008-0.001,0.011-0.004
+  c0.007-0.005,0.011-0.015,0.009-0.023c-0.001-0.009-0.022-0.045-0.001-0.045c0.001-0.005,0.004-0.009,0.006-0.014
+  c0.003-0.005,0.003-0.01,0.004-0.016c0.001-0.005,0.007-0.023,0.014-0.024c0.004,0.007,0.014-0.001,0.017-0.004
+  c0.005-0.005,0.007-0.019,0.016-0.017c0.009,0.002,0.011,0.017,0.013,0.023c0.001,0.006,0.004,0.006,0.002,0.013
+  c-0.001,0.006-0.002,0.011-0.004,0.016c-0.003,0.012-0.003,0.023-0.003,0.036c0,0.011,0.001,0.02-0.003,0.029
+  c-0.008,0.017-0.007,0.035,0.003,0.051c0.009,0.014,0.024,0.027,0.037,0.039c0.008,0.007,0.016,0.005,0.026,0.005
+  c0.016,0,0.034,0,0.048-0.009c0.015-0.01,0.028-0.021,0.044-0.028c0.019-0.008,0.049-0.011,0.066-0.03
+  c0.008,0.003,0.009,0.003,0.018,0c0.009-0.003,0.016-0.005,0.023-0.01c0.006-0.003,0.011-0.01,0.017-0.011
+  c0.004-0.001,0.009,0.001,0.012,0c0.005-0.001,0.007-0.003,0.012-0.004c0.008-0.001,0.016,0.001,0.023-0.001
+  c0.009-0.002,0.019-0.006,0.029-0.007c0.007,0,0.015-0.001,0.02,0.004c0.008,0.007,0.001,0.014,0.004,0.024
+  c0.004,0.015,0.022,0.018,0.013,0.036c-0.011,0.021-0.032,0.027-0.049,0.044c-0.014,0.013-0.026,0.028-0.039,0.041
+  c-0.011,0.011-0.025,0.017-0.036,0.028c-0.008,0.007-0.02,0.016-0.025,0.026c-0.003,0.008-0.003,0.013-0.009,0.019
+  c-0.006,0.007-0.013,0.009-0.019,0.017c-0.007,0.012-0.017,0.02-0.027,0.029c-0.008,0.007-0.014,0.013-0.021,0.02
+  c-0.004,0.005-0.009,0.007-0.013,0.011c-0.002,0.004-0.004,0.009-0.006,0.012c-0.009,0.012-0.02,0.02-0.031,0.029
+  c-0.005,0.004-0.011,0.009-0.014,0.014c-0.005,0.006-0.007,0.014-0.011,0.021c-0.005,0.007-0.002,0.012-0.004,0.02
+  c-0.002,0.007-0.009,0.013-0.011,0.02c-0.005,0.015-0.001,0.036-0.001,0.052c0,0.008-0.003,0.012-0.004,0.02
+  c-0.002,0.006,0.001,0.013,0,0.02c-0.001,0.006-0.003,0.009-0.004,0.015c-0.001,0.007,0,0.014,0,0.021
+  c-0.001,0.012-0.006,0.027-0.009,0.039c-0.001,0.005-0.001,0.009-0.002,0.013c0.08-0.066,0.159-0.131,0.239-0.196
+  c0.048,0.003,0.096,0.005,0.144,0.008c0.001-0.004,0-0.007,0.002-0.01c0.002-0.004,0.005-0.01,0.009-0.013
+  c0.004-0.004,0.01-0.003,0.014-0.009c0.008-0.011,0.004-0.027,0.005-0.04c0-0.018,0.014-0.018,0.028-0.025
+  c0.011-0.006,0.02-0.012,0.031-0.02c0.012-0.008,0.024-0.003,0.036-0.012c0.006-0.004,0.011-0.009,0.017-0.014
+  c0.005-0.004,0.008-0.004,0.015-0.006c0.009-0.002,0.009-0.003,0.016,0.001c0.006,0.004,0.008,0.004,0.007,0.011
+  c0,0.003-0.005,0.008-0.006,0.01c-0.002,0.006-0.005,0.013-0.005,0.019c0,0.012,0.003,0.027-0.003,0.037
+  c-0.006,0.011-0.021,0.016-0.029,0.026c-0.007,0.008-0.01,0.018-0.019,0.026c-0.002,0.002-0.006,0.005-0.008,0.008
+  c-0.002,0.003-0.002,0.011-0.005,0.014c-0.001,0.001-0.003,0.001-0.005,0.002c0.022,0.001,0.043,0.002,0.064,0.003
+  c0.002-0.006,0.006-0.013,0.008-0.018c0.008-0.024,0.023-0.032,0.045-0.045c0.022-0.012,0.043-0.01,0.067-0.021
+  c0.013-0.006,0.024-0.014,0.037-0.019c0.016-0.007,0.039-0.005,0.054-0.011c0.048-0.02,0.066-0.083,0.096-0.12
+  c0.018-0.021,0.03-0.027,0.055-0.019c0.012,0.004,0.021,0.013,0.032,0.016c0.021,0.007,0.044,0.005,0.064,0.011
+  c0.026,0.009,0.043,0.024,0.059,0.046c0.009,0.012,0.013,0.026,0.021,0.038c0.006,0.009,0.02,0.018,0.025,0.026
+  c0.01,0.017,0.007,0.045,0.005,0.066c-0.005,0.043,0.01,0.019,0.035,0.044c0.015,0.014,0.004,0.026-0.002,0.038
+  c0.293,0.016,0.586,0.031,0.879,0.047c0-0.008-0.001-0.017,0.001-0.024c0.004-0.014,0.016-0.024,0.019-0.037
+  c-0.001,0.006,0.001,0.011,0.001,0.016c0.02-0.01,0.041-0.019,0.062-0.026c0.02-0.008,0.043-0.037,0.059-0.037
+  c0.012,0,0.047,0.023,0.06,0.03c0.035,0.017,0.058,0.028,0.098,0.028l0,0c0.32-0.095,0.639-0.19,0.958-0.285
+  c0.003-0.004,0.006-0.008,0.01-0.012c0.019-0.019,0.042-0.016,0.061-0.031c0.016-0.013,0.016-0.038,0.023-0.056
+  c0.016-0.04,0.063-0.047,0.1-0.04c0.003,0.006,0.007,0.008,0.013,0.009c0.006-0.001,0.011-0.004,0.013-0.009
+  c0.01-0.003,0.014-0.004,0.022-0.01c0.009-0.007,0.027-0.023,0.029-0.034c0.005-0.022-0.051-0.075-0.003-0.083
+  c0.018,0.021,0.04,0.04,0.055,0.062c0.016,0.021,0.032,0.044,0.05,0.065c0.005,0.006,0.01,0.015,0.017,0.024
+  c0.129-0.039,0.258-0.077,0.387-0.116c0.024,0.045,0.047,0.09,0.07,0.135c-0.204,0.679-0.937,1.674-0.611,2.037
+  c0.325,0.363,0.981,0.295,1.472,0.442c0.069,0.151,0.138,0.302,0.207,0.454c-0.111,0.243-0.223,0.487-0.334,0.73
+  c0.051,0.247,0.101,0.495,0.152,0.742c0.02,0.015,0.036,0.036,0.042,0.045c0.021,0.033,0.016,0.069,0.028,0.103
+  c0.007,0.016,0.016,0.033,0.02,0.049c0.003,0.016-0.008,0.032-0.008,0.046c-0.001,0.012,0.019,0.024,0.027,0.035
+  c0.012,0.015,0.016,0.03,0.019,0.045c0.009,0.037,0.011,0.074,0,0.111c-0.006,0.022,0.009,0.04,0.008,0.062
+  c0,0.02-0.001,0.04,0,0.059c0.001,0.01,0.007,0.019,0.006,0.028c-0.001,0.009-0.011,0.018-0.018,0.027
+  c0.045,0.223,0.091,0.445,0.136,0.668c0.483,0.384,0.967,0.768,1.45,1.152c-0.011,0.005-0.021,0.011-0.032,0.016
+  c0.032,0.006,0.083,0.008,0.097,0.036c-0.026,0.011-0.052,0.025-0.078,0.032c-0.021,0.005-0.039,0.021-0.059,0.025
+  c-0.022,0.006-0.046,0.005-0.067,0.013c-0.002,0.001-0.004,0.002-0.006,0.003c0.041,0.054,0.082,0.109,0.124,0.164
+  c0.047-0.014,0.094-0.027,0.141-0.04c-0.014-0.016-0.025-0.039-0.028-0.05c-0.002-0.012-0.006-0.038,0-0.049
+  c0.007-0.012,0.024-0.012,0.033-0.024c0.02-0.028-0.005-0.064,0.023-0.084c0.028-0.02,0.058,0.011,0.085,0.021
+  c0.031,0.012,0.067,0.008,0.065,0.05c-0.003,0.038-0.052,0.063-0.079,0.084c-0.008,0.006-0.024,0.015-0.027,0.025
+  c-0.001,0.002,0.001,0.004,0.001,0.006C-25.854,56.564-25.78,56.543-25.706,56.522z M-29.093,49.403
+  c-0.006,0.016-0.011,0.036-0.032,0.033c-0.008-0.002-0.017-0.013-0.026-0.025l0.016,0.024c-0.018,0.002-0.027-0.025-0.031-0.046
+  l0.005,0.008c-0.001-0.003-0.003-0.006-0.005-0.008c-0.001-0.007-0.001-0.013-0.001-0.018c0-0.021,0.011-0.037,0.018-0.055
+  c0.006-0.015,0.008-0.046,0.024-0.051c0.019-0.006,0.034,0.02,0.043,0.032c0.016,0.026,0.002,0.027-0.001,0.053
+  C-29.085,49.369-29.086,49.386-29.093,49.403z M-29.177,49.371c0.003,0.004,0.007,0.01,0.011,0.018l0,0L-29.177,49.371z
+  M-30.756,48.278c-0.003,0.006-0.009,0.011-0.011,0.018c0,0.002-0.001,0.005-0.001,0.007c-0.002,0.002-0.004,0.005-0.006,0.007
+  c-0.002,0.006-0.002,0.012-0.005,0.018c-0.004,0.01-0.003,0.021-0.006,0.031c-0.006,0.016-0.011,0.032-0.019,0.047
+  c-0.008,0.019-0.025,0.034-0.038,0.051c-0.009,0.011-0.017,0.022-0.026,0.033c-0.006,0.008-0.012,0.016-0.017,0.024
+  c-0.01,0.017-0.014,0.037-0.026,0.053c-0.007,0.01-0.017,0.019-0.024,0.029c-0.009,0.012-0.016,0.023-0.025,0.034
+  c-0.006,0.006-0.01,0.014-0.017,0.02c-0.006,0.006-0.014,0.011-0.019,0.018c-0.007,0.011-0.016,0.019-0.029,0.022
+  c-0.01,0.001-0.022-0.003-0.032,0c-0.004,0.001-0.007,0.006-0.01,0.008c-0.006,0.003-0.009,0.002-0.016,0.002l-0.01-0.007
+  c-0.003-0.003-0.007-0.004-0.011-0.006c-0.008-0.007-0.012-0.018-0.018-0.026c-0.006-0.007-0.007-0.014-0.012-0.021
+  c-0.004-0.006-0.009-0.009-0.013-0.016c-0.004-0.006-0.009-0.012-0.015-0.018c-0.006-0.005-0.012-0.008-0.017-0.013
+  c-0.006-0.005-0.008-0.015-0.01-0.022c-0.002-0.007-0.005-0.013-0.005-0.021c0.001-0.008-0.003-0.014-0.003-0.022
+  c-0.001-0.008,0.001-0.017,0-0.025c-0.003-0.032-0.026-0.059-0.033-0.089c-0.004-0.014-0.005-0.027,0.008-0.037
+  c0.005-0.004,0.012-0.006,0.018-0.009c0.008-0.005,0.017-0.01,0.025-0.015c0.006-0.003,0.012-0.008,0.018-0.012
+  c0.007-0.006,0.011-0.014,0.018-0.02c0.005-0.004,0.01-0.006,0.014-0.011c0.004-0.004,0.005-0.009,0.009-0.013
+  c0.008-0.011,0.022-0.021,0.033-0.029c0.01-0.008,0.018-0.016,0.029-0.022c0.013-0.008,0.023-0.02,0.036-0.029
+  c0.008-0.006,0.014-0.012,0.022-0.018c0.007-0.004,0.013-0.007,0.02-0.011c0.012-0.008,0.026-0.011,0.038-0.017
+  c0.005-0.002,0.01-0.003,0.014-0.007c0.008-0.005,0.017-0.009,0.024-0.015c0.005-0.004,0.01-0.008,0.014-0.01
+  c0.007-0.005,0.014-0.01,0.022-0.014c0.006-0.003,0.011-0.005,0.018-0.004c0.009,0.003,0.016,0.006,0.024,0.009
+  c0.011,0.005,0.02,0.009,0.03,0.015c0.004,0.002,0.007,0.005,0.011,0.007c0.008,0.004,0.008,0.004,0.01,0.012
+  c0.005,0.013,0.002,0.026,0.01,0.039c0.006,0.01,0.026,0.011,0.03,0.021c0.003,0.01-0.003,0.024-0.008,0.032
+  S-30.752,48.27-30.756,48.278z M-30.84,48.052c0,0-0.007,0.007-0.007,0.008c-0.004,0.004-0.006,0.005-0.01,0.008
+  c-0.008,0.005-0.014,0.014-0.022,0.019c-0.01,0.008-0.023,0.016-0.035,0.019c-0.012,0.003-0.023,0.006-0.033,0.014
+  c-0.011,0.007-0.021,0.016-0.032,0.023c-0.003,0.002-0.015,0.009-0.019,0.009c-0.006,0.001-0.014-0.005-0.02-0.01l0.002-0.003
+  c-0.004-0.005-0.005-0.009-0.007-0.015c-0.002-0.007,0-0.014-0.002-0.022c-0.001-0.005-0.006-0.007-0.004-0.014
+  c0.001-0.006,0.006-0.01,0.01-0.014c0.006-0.006,0.01-0.018,0.014-0.026c0.008-0.016,0.019-0.02,0.033-0.029
+  c0.008-0.004,0.011-0.002,0.018,0.001c0.009,0.002,0.011-0.002,0.017-0.008c0.009-0.008,0.019-0.015,0.029-0.024
+  c0.012-0.01,0.022-0.022,0.037-0.029c0.004-0.002,0.009-0.005,0.014-0.007c0.004-0.002,0.012-0.004,0.017-0.002
+  c0.027,0.01,0,0.046,0.001,0.063C-30.839,48.024-30.836,48.042-30.84,48.052z M-31.022,48.138c0.001,0.001,0.003,0.003,0.004,0.004
+  l0,0L-31.022,48.138z M-31.215,48.707c0.002,0.008,0.007,0.015,0.011,0.022c0.005,0.007,0.008,0.014,0.01,0.021
+  c0.003,0.007,0.006,0.014,0.003,0.022c-0.004,0.011-0.009,0.008-0.017,0.01c-0.013,0.003-0.024,0.015-0.035,0.021
+  c-0.006,0.003-0.013,0.005-0.019,0.008c-0.004,0.003-0.008,0.005-0.013,0.007c-0.005,0.002-0.01,0.006-0.015,0.007
+  c-0.005,0.001-0.009,0-0.014,0c-0.009,0.002-0.018,0.004-0.027,0.007c-0.023,0.006-0.046,0.007-0.07,0.013
+  c-0.015,0.004-0.03,0.005-0.046,0.008c-0.013,0.003-0.024,0.007-0.036,0.011c-0.038,0.011-0.072,0.036-0.104,0.057
+  c-0.018,0.012-0.034,0.018-0.054,0.013c-0.01-0.003-0.02,0.001-0.029,0.006c-0.014,0.007-0.025,0.015-0.04,0.021
+  c-0.012,0.004-0.029,0.007-0.042,0.008c-0.006,0-0.012-0.001-0.018-0.001c-0.01,0.001-0.02,0.004-0.029,0.004
+  c-0.009,0.001-0.016-0.001-0.024,0.001c-0.008,0.001-0.014,0.003-0.022,0.003c-0.017,0-0.033,0.002-0.05,0.003
+  c-0.007,0-0.012,0.003-0.018,0.004c-0.009,0.001-0.019,0-0.028,0c-0.01,0-0.017,0.001-0.026,0.003c-0.01,0.001-0.019-0.001-0.028,0
+  c-0.007,0.001-0.014,0.004-0.021,0.004c-0.011,0.001-0.022,0-0.033,0c-0.02,0-0.04,0-0.061,0c-0.023,0-0.053-0.005-0.071-0.021
+  c-0.009-0.009-0.017-0.016-0.025-0.025c-0.004-0.003-0.007-0.007-0.011-0.011c-0.005-0.002-0.012-0.003-0.017-0.005
+  c-0.006-0.002-0.013-0.006-0.018-0.01c-0.01-0.008-0.01-0.018-0.015-0.028c-0.003-0.007-0.007-0.015-0.011-0.022
+  c-0.006-0.01-0.002-0.019,0.001-0.031c0.001-0.004,0.002-0.008,0.004-0.012c-0.004-0.014-0.005-0.028-0.008-0.042
+  c-0.002-0.015,0.011-0.033,0.017-0.047c0.002-0.007,0.006-0.014,0.004-0.022c-0.004-0.009-0.01-0.017-0.011-0.027
+  c-0.001-0.013-0.006-0.024,0.001-0.037c0.002-0.005,0.004-0.009,0.008-0.013c0.005-0.006,0.012-0.01,0.017-0.016
+  c0.005-0.006,0.008-0.009,0.018-0.007c0.003,0.001,0.003,0.003,0.006,0.004c0.004,0.001,0.007,0,0.011,0.001
+  c0.008,0.002,0.013,0.004,0.022,0.002c0.003-0.001,0.007-0.003,0.011-0.004c0.005-0.002,0.008-0.001,0.014-0.002
+  c0.004-0.001,0.006-0.004,0.011-0.004c0.003,0.001,0.007,0.003,0.01,0.003c0.004,0.001,0.008,0,0.011,0
+  c0.004,0.001,0.006,0.003,0.008,0.003c0.007,0.002,0.014,0.001,0.021,0.001c0.009,0,0.016,0.006,0.025,0.007
+  c0.003,0.001,0.007-0.001,0.011,0c0.003,0.001,0.003,0.003,0.006,0.004c0.007,0.001,0.016,0,0.022,0c0.017,0,0.03,0.001,0.042-0.012
+  c0.009-0.009,0.012-0.023,0.022-0.032c0.003-0.004,0.008-0.007,0.011-0.011c0.006-0.006,0.011-0.007,0.018-0.011
+  c0.015-0.007,0.022-0.023,0.03-0.037c0.007-0.013,0.017-0.024,0.024-0.038c0.005-0.012,0.009-0.026,0.014-0.038
+  c0.002-0.006,0.009-0.013,0.01-0.019c0.001-0.003,0-0.007,0.001-0.01c0-0.003,0.003-0.004,0.004-0.007
+  c0-0.005-0.002-0.007-0.003-0.011c-0.002-0.006-0.002-0.012-0.004-0.018c-0.006-0.023-0.004-0.043,0.003-0.064
+  c0.005-0.016,0.011-0.03,0.011-0.047c-0.001-0.016,0-0.035,0.021-0.035c0.017,0,0.021,0.014,0.033,0.024
+  c0.012,0.009,0.027,0.002,0.038-0.003c0.014-0.006,0.027-0.017,0.037-0.028c0.006-0.007,0.014-0.015,0.017-0.023
+  c0.007-0.013,0.012-0.028,0.018-0.042c0.009-0.018,0.018-0.037,0.029-0.054c0.005-0.009,0.011-0.015,0.013-0.024
+  c0.002-0.01-0.002-0.015-0.007-0.022c-0.007-0.012-0.009-0.029-0.006-0.043c0.001-0.008,0.003-0.013,0.003-0.022
+  c0-0.007,0-0.014,0-0.021c0.001-0.02,0.007-0.042,0.014-0.061c0.007-0.019,0.005-0.04,0.009-0.06
+  c0.003-0.019,0.013-0.039,0.013-0.058c0-0.013,0.003-0.03-0.001-0.043c-0.001-0.006-0.005-0.012-0.006-0.018
+  c-0.002-0.007-0.002-0.014-0.003-0.021c-0.001-0.004-0.004-0.004-0.004-0.007c-0.001-0.003,0-0.008,0-0.011
+  c0-0.007-0.001-0.015,0.001-0.021c0.004-0.016,0.005-0.03,0.014-0.043c0.008-0.012,0.019-0.019,0.025-0.032
+  c0.004-0.008,0.02-0.028,0.031-0.026c0.005,0.001,0.011,0.008,0.014,0.012c0.006,0.008,0.004,0.012,0.001,0.02
+  c-0.004,0.017,0.001,0.031,0.01,0.044c0.008,0.014,0.011,0.027,0.016,0.042c0.005,0.017,0.015,0.016,0.028,0.021
+  c0.018,0.007,0.022,0.024,0.028,0.04c0.002,0.006,0.006,0.013,0.007,0.018c0.001,0.003-0.001,0.008,0,0.011
+  c0.001,0.003,0.003,0.008,0.004,0.01c0.004,0.013,0.003,0.026,0.003,0.04c0,0.006,0.002,0.015,0,0.022
+  c-0.001,0.004-0.008,0.016-0.003,0.02c0.01,0.009,0.018-0.03,0.033-0.014c0.009,0.01,0.012,0.031,0.009,0.043
+  c-0.001,0.005-0.003,0.007-0.003,0.011c0,0.004,0.001,0.008,0,0.011c-0.001,0.005-0.005,0.013-0.007,0.018
+  c-0.003,0.006-0.007,0.009-0.011,0.014c-0.003,0.006-0.006,0.012-0.007,0.018c-0.001,0.008,0.001,0.015-0.002,0.022
+  c-0.006,0.014-0.015,0.012-0.026,0.018c-0.008,0.005-0.01,0.012-0.011,0.021c-0.001,0.005-0.001,0.01,0.001,0.014
+  c0.001,0.006,0.001,0.013,0.003,0.018c0.005,0.016,0.017,0.029,0.023,0.043c0.004,0.007,0.008,0.014,0.016,0.017
+  c0.009,0.004,0.016-0.001,0.021-0.006c0.01-0.011,0.017-0.029,0.022-0.043c0.007-0.016,0-0.034,0.017-0.044
+  c0.014-0.007,0.018,0.01,0.025,0.019c0.004,0.005,0.012,0.009,0.018,0.011c0.009,0.001,0.018-0.006,0.025-0.003
+  c0.004,0.001,0.007,0.008,0.01,0.011c0.005,0.003,0.01,0.004,0.015,0.007c0.007,0.005,0.014,0.012,0.019,0.019
+  c0.009,0.012,0.01,0.02,0.01,0.034v0.06c0,0.019,0.003,0.04-0.004,0.058c-0.002,0.007-0.003,0.013-0.003,0.021
+  s-0.003,0.014-0.004,0.021c0,0.004,0.001,0.008,0.001,0.011c-0.001,0.004-0.004,0.007-0.005,0.011c0,0.005,0.001,0.01,0,0.015
+  c-0.001,0.008-0.004,0.017-0.007,0.025c-0.006,0.013-0.012,0.027-0.014,0.042c0,0.008-0.003,0.014-0.004,0.022
+  c-0.003,0.017-0.003,0.03,0,0.048c0.002,0.01,0,0.02,0.001,0.03c0,0.008,0.003,0.016,0.004,0.024c0.002,0.01,0.003,0.02,0.005,0.03
+  c0.003,0.01,0.008,0.019,0.011,0.029c0.005,0.014,0.006,0.029,0.013,0.042c0.002,0.004,0.005,0.011,0.007,0.014
+  c0.004,0.006,0.007,0.007,0.012,0.011c0.009,0.008,0.019,0.022,0.024,0.033C-31.218,48.693-31.217,48.7-31.215,48.707z
+  M-31.576,47.405c-0.012,0.017-0.033,0.042-0.054,0.043c-0.01,0-0.018,0.003-0.029,0.003c-0.009,0.001-0.025-0.005-0.025-0.017
+  l0.011,0.001c-0.008-0.003-0.017-0.012-0.022-0.017c-0.018-0.015-0.019-0.026-0.015-0.048c0.003-0.013,0.006-0.027,0.015-0.037
+  c0.008-0.007,0.016-0.011,0.022-0.021c0.005-0.007,0.005-0.023,0.014-0.025c0.01-0.003,0.02-0.001,0.028-0.008
+  c0.007-0.005,0.009-0.012,0.019-0.01c0.01,0.002,0.018,0.01,0.028,0.011c0.012,0,0.014-0.001,0.019,0.011
+  c0.004,0.009,0.008,0.022,0.007,0.032c-0.002,0.016-0.006,0.031-0.008,0.046C-31.567,47.381-31.57,47.395-31.576,47.405z
+  M-32.403,49.724C-32.403,49.723-32.403,49.723-32.403,49.724L-32.403,49.724L-32.403,49.724z M-32.319,48.806
+  c-0.002,0.006,0,0.006-0.004,0.012c-0.002,0.003-0.005,0.006-0.007,0.009c-0.004,0.006-0.006,0.013-0.008,0.019
+  c-0.003,0.007-0.003,0.013-0.006,0.02c0,0.001-0.007,0.011-0.008,0.011c-0.005,0.003-0.01-0.002-0.015-0.003l-0.008-0.004
+  c-0.004-0.014-0.016-0.027-0.021-0.04c-0.003-0.008-0.005-0.014-0.011-0.021c-0.002-0.002-0.005-0.007-0.007-0.008
+  c-0.003-0.002-0.007-0.001-0.009-0.003c-0.006-0.003-0.01-0.011-0.015-0.017c-0.006-0.008-0.004-0.009-0.002-0.019
+  c0.003-0.011-0.005-0.009-0.01-0.016c-0.004-0.007,0.001-0.017,0.003-0.024c0.005-0.013,0.006-0.029,0.012-0.044
+  c0.005-0.012,0.012-0.025,0.019-0.036c0.006-0.009,0.002-0.015,0.005-0.024c0.002-0.006,0.009-0.008,0.011-0.015
+  c0.002-0.007,0.005-0.018,0.004-0.024c-0.001-0.009-0.008-0.021,0.005-0.024c0.007-0.003,0.014,0,0.019,0.005
+  c0.006,0.006,0.004,0.01,0.006,0.019c0.003,0.015,0.012,0.028,0.016,0.043c0.001,0.004,0.002,0.004,0.003,0.009
+  c0,0.007,0.002,0.01,0.003,0.016c0.002,0.008,0.003,0.015,0.006,0.024c0.002,0.008,0.006,0.012,0.011,0.019
+  c0.005,0.008,0.007,0.017,0.011,0.025c0.006,0.014,0.009,0.028,0.009,0.043c0,0.01,0.001,0.019-0.003,0.028
+  C-32.313,48.793-32.317,48.8-32.319,48.806z M-32.951,49.238c-0.004,0.004-0.007,0.009-0.011,0.013
+  c-0.005,0.007-0.015,0.019-0.017,0.027s0.001,0.009-0.005,0.015c-0.003,0.004-0.006,0.007-0.01,0.01
+  c-0.011,0.011-0.017,0.014-0.017,0.031c0,0.014-0.003,0.026-0.01,0.037c-0.004,0.005-0.011,0.011-0.018,0.011
+  c-0.008,0.001-0.011-0.006-0.015-0.012c0.008-0.018-0.01-0.041-0.02-0.056c-0.011-0.018-0.03-0.034-0.033-0.056
+  c-0.001-0.014,0.009-0.022,0.015-0.033c0.008-0.012,0.016-0.023,0.025-0.035c0.007-0.01,0.014-0.02,0.024-0.028
+  c0.004-0.002,0.009-0.004,0.012-0.008c0.002-0.005,0.001-0.014,0.005-0.019c0.002,0,0.004-0.001,0.006-0.001
+  c0.003-0.002,0.004-0.005,0.006-0.007c0.007-0.005,0.01-0.005,0.019-0.005c0.012,0.001,0.031-0.004,0.039,0.005
+  c0.009,0.01,0.013,0.018,0.013,0.031c0,0.007,0,0.014,0,0.02c0,0.01,0.005,0.015,0.009,0.023c0.003,0.007,0.003,0.01-0.001,0.018
+  C-32.939,49.226-32.945,49.232-32.951,49.238z M-33.22,48.753c-0.008,0.025-0.021,0.047-0.041,0.062
+  c-0.017,0.014-0.035,0.032-0.048,0.05c-0.013,0.02-0.032,0.039-0.042,0.061c-0.004,0.007-0.007,0.013-0.01,0.02
+  c-0.002,0.004-0.005,0.008-0.007,0.012c-0.003,0.003-0.003,0.007-0.005,0.011c-0.008,0.013-0.022,0.025-0.031,0.037
+  c-0.005,0.006-0.009,0.013-0.013,0.02c-0.003,0.004-0.008,0.007-0.011,0.011c-0.006,0.008-0.006,0.014-0.013,0.022
+  c-0.008,0.009-0.018,0.015-0.027,0.023c-0.007,0.007-0.012,0.014-0.019,0.021c-0.005,0.004-0.013,0.01-0.02,0.005
+  c-0.007-0.004-0.004-0.011-0.006-0.018c-0.001,0-0.002,0-0.003-0.001l-0.004-0.004c0-0.009,0.003-0.015,0.004-0.023
+  c0.001-0.005,0-0.011,0-0.015c0-0.007,0.002-0.011,0.003-0.016c0.004-0.02,0.008-0.039,0.014-0.057
+  c0.005-0.016,0.005-0.032,0.011-0.048c0.003-0.008,0.004-0.017,0.009-0.023c0.007-0.008,0.012-0.01,0.016-0.02
+  c0.001-0.004,0.002-0.004,0.003-0.009c0-0.004-0.001-0.007,0.001-0.011c0.002-0.004,0.008-0.008,0.012-0.012
+  c0.007-0.008,0.011-0.019,0.015-0.029c0.003-0.009,0.008-0.012,0.013-0.02c0.005-0.007,0.007-0.016,0.01-0.025
+  c0.004-0.012,0.008-0.013,0.016-0.023c0.009-0.012,0.012-0.027,0.021-0.04c0.009-0.012,0.017-0.022,0.025-0.035
+  c0.005-0.009,0.008-0.016,0.015-0.024c0.005-0.008,0.007-0.017,0.012-0.024c0.006-0.008,0.013-0.013,0.021-0.019
+  c0.001-0.002,0.003-0.005,0.005-0.006c0.003-0.002,0.006-0.002,0.008-0.004c0.01-0.007,0.013-0.029,0.029-0.023
+  c0.013,0.004,0.016,0.023,0.019,0.033c0.003,0.007,0.005,0.013,0.01,0.018c0.003,0.004,0.007,0.006,0.01,0.01
+  c0.005,0.004,0.003,0.005,0.005,0.011c0.005,0.014,0.017,0.031,0.019,0.047c0.002,0.012-0.004,0.014-0.011,0.022
+  C-33.213,48.73-33.216,48.742-33.22,48.753z M-33.383,48.53c-0.013,0.006-0.025,0.013-0.038,0.017
+  c-0.014,0.005-0.02,0.014-0.029,0.024c-0.008,0.008-0.016,0.012-0.026,0.016c-0.007,0.003-0.01,0.004-0.017-0.001
+  c-0.005-0.002-0.011-0.006-0.012-0.011l-0.008-0.009c-0.008-0.007-0.014-0.015-0.02-0.024c-0.003-0.004-0.01-0.011-0.011-0.016
+  c-0.004-0.011-0.001-0.028,0.002-0.039c0.003-0.009,0.001-0.021,0.009-0.027c0.004-0.004,0.01-0.005,0.015-0.01
+  c0.003-0.004,0.005-0.008,0.008-0.012c0.002-0.004,0.007-0.007,0.01-0.01c0.005-0.006,0.008-0.012,0.015-0.016
+  c0.006-0.005,0.008-0.004,0.016-0.005c0.007-0.001,0.012-0.004,0.02-0.004s0.012,0.003,0.02,0.004
+  c0.012,0.002,0.025-0.003,0.036,0.003c0.006,0.003,0.014,0.008,0.019,0.013s0.006,0.013,0.012,0.017
+  c0.007,0.004,0.014,0,0.019,0.004c0.004,0.002,0.006,0.008,0.008,0.012c0.007,0.013,0.012,0.016,0.005,0.031
+  c-0.006,0.013-0.011,0.017-0.023,0.024C-33.364,48.516-33.372,48.525-33.383,48.53z M-33.559,49.088
+  c-0.003,0.01-0.003,0.011-0.01,0.017c-0.006,0.006-0.017,0.007-0.021,0.015c-0.003,0.005,0,0.013-0.001,0.021
+  c-0.001,0.013,0.004,0.016-0.01,0.02l-0.005-0.007c-0.014,0.002-0.02-0.026-0.017-0.036c0.004-0.01,0.006-0.017,0.007-0.027
+  c0-0.009-0.002-0.017,0-0.025c0.002-0.015,0.003-0.029,0.011-0.042c0.003-0.006,0.008-0.011,0.013-0.016
+  c0.009-0.01,0.013-0.012,0.025-0.005c0.007,0.003,0.011,0.005,0.014,0.012c0.004,0.008,0.006,0.018,0.005,0.028
+  c-0.001,0.007,0.001,0.014,0,0.021C-33.55,49.072-33.557,49.079-33.559,49.088z M-33.537,48.952
+  c-0.006,0.009-0.019,0.019-0.031,0.016l0.004-0.008c-0.003,0-0.009,0.002-0.012,0.001c-0.006-0.002-0.005-0.007-0.009-0.012
+  c-0.006-0.008-0.011-0.012-0.011-0.024c-0.001-0.009,0.003-0.016,0.004-0.025c0.003-0.02,0-0.043,0-0.063
+  c0-0.012,0.002-0.018,0.005-0.029c0.003-0.012,0.002-0.021,0.011-0.03c0.006-0.006,0.013-0.01,0.015-0.018
+  c0.001-0.005,0-0.01,0.001-0.015c0.001-0.006,0.004-0.01,0.005-0.015c0.008-0.001,0.023-0.005,0.03-0.01
+  c0.01-0.007,0.011-0.016,0.014-0.026c0.002-0.008,0.01-0.013,0.016-0.02c0.008-0.009,0.007-0.022,0.014-0.033
+  c0.012-0.021,0.045-0.029,0.058-0.005c0.006,0.012,0.001,0.021-0.002,0.033c-0.001,0.005,0.001,0.012,0.001,0.017
+  c-0.001,0.012-0.007,0.022-0.009,0.034c0,0.007,0,0.014-0.004,0.021c-0.004,0.006-0.01,0.011-0.014,0.017
+  c-0.007,0.009-0.016,0.017-0.02,0.028c-0.01,0.025-0.031,0.045-0.04,0.071c-0.005,0.011-0.007,0.023-0.01,0.035
+  c-0.001,0.004-0.003,0.006-0.003,0.013s-0.003,0.009-0.004,0.015c-0.002,0.005,0.001,0.011,0,0.017S-33.534,48.947-33.537,48.952z
+  M-33.541,48.343c-0.002,0.008-0.003,0.013-0.003,0.021c0,0.01,0,0.011-0.005,0.019c-0.007,0.012-0.019,0.023-0.023,0.036
+  c-0.002,0.007-0.003,0.013-0.007,0.02c-0.003,0.006-0.009,0.014-0.009,0.02s0.003,0.01,0.004,0.016
+  c0.001,0.007-0.002,0.012-0.003,0.017c-0.002,0.012-0.002,0.025-0.009,0.035c-0.002,0.004-0.005,0.008-0.009,0.011
+  c-0.003,0.002-0.014,0.007-0.018,0.008c0-0.006-0.006-0.009-0.005-0.015l-0.008-0.004c0-0.008,0.001-0.016,0.001-0.023
+  c-0.001-0.013-0.008-0.025-0.009-0.037c0-0.005,0.002-0.011,0.001-0.016c-0.001-0.004-0.004-0.008-0.005-0.012
+  c-0.001-0.006,0-0.006-0.003-0.012c-0.003-0.004-0.008-0.009-0.012-0.013c-0.008-0.01-0.015-0.022-0.025-0.03
+  c-0.007-0.004-0.017-0.005-0.023-0.009c-0.005-0.005-0.012-0.016-0.013-0.024c0-0.008,0.005-0.015,0.005-0.024
+  c-0.001-0.008,0.002-0.016,0.003-0.024c0.004-0.016,0.011-0.034,0.017-0.051c0.003-0.005,0.005-0.015,0.008-0.02
+  c0.004-0.005,0.009-0.009,0.012-0.016c0.003-0.009,0.007-0.019,0.008-0.028c0-0.009-0.002-0.019,0-0.028
+  c0.007,0,0.01-0.003,0.015-0.004c0.006-0.002,0.014,0.001,0.02,0c0.013-0.002,0.021-0.011,0.031-0.017c0.009-0.006,0.011,0,0.02,0
+  c0.008,0,0.013-0.003,0.021-0.003c0.014,0,0.027,0.001,0.04,0.007c0.01,0.005,0.02,0.014,0.029,0.02
+  c0.007,0.005,0.012,0.016,0.016,0.024c0.005,0.011,0.009,0.018,0.006,0.032c-0.004,0.022-0.019,0.029-0.031,0.045
+  C-33.523,48.289-33.533,48.314-33.541,48.343z M-32.86,55.655c0.007,0.016,0.017,0.03,0.024,0.047
+  c0.017,0.042,0.038,0.08,0.055,0.121c0.017,0.04,0.045,0.07,0.072,0.105c0.02,0.024,0.06,0.071,0.052,0.104
+  c-0.017-0.006-0.026-0.023-0.041-0.031l-0.006,0.005c-0.033-0.027-0.062-0.063-0.067-0.105c-0.005-0.03-0.024-0.065-0.039-0.094
+  c-0.009-0.018-0.031-0.033-0.035-0.052c-0.002-0.008,0.001-0.017-0.001-0.025c-0.004-0.012-0.016-0.028-0.021-0.04
+  c-0.008-0.018-0.015-0.031-0.02-0.051c-0.003-0.012-0.021-0.054,0.006-0.037C-32.866,55.611-32.865,55.641-32.86,55.655z
+  M-31.614,57.091c0.006,0.006,0.009,0.014,0.014,0.021c0.002,0.003,0.004,0.007,0.007,0.011c0.001,0.001,0.003,0.002,0.004,0.004
+  c0.002,0.003,0.005,0.004,0.007,0.006c0.002,0.002,0.004,0.005,0.006,0.008c0.003,0.004,0.005,0.008,0.008,0.013
+  c0.003,0.005,0.006,0.011,0.009,0.017c0.001,0.004,0.004,0.007,0.008,0.01c0.003,0.002,0.004,0.005,0.006,0.009
+  c0.002,0.003,0.003,0.008,0.006,0.011c0.004,0.004,0.007,0.009,0.008,0.014c0.002,0.005,0.003,0.009,0.005,0.014
+  c0.001,0.002,0.002,0.004,0.004,0.006c0.002,0.002,0.005,0.003,0.007,0.006c0.002,0.003,0.005,0.005,0.007,0.008
+  c0.001,0.002,0.002,0.004,0.004,0.006c0.001,0.003,0.004,0.006,0.007,0.009c0.001,0.001,0.003,0.002,0.004,0.004
+  c0.001,0.001,0.002,0.002,0.002,0.003c0.003,0.005,0.007,0.01,0.009,0.015c0.003,0.009,0.007,0.017,0.011,0.025
+  c0.001,0.003,0.002,0.007,0.004,0.01c0.001,0.002,0.005,0.007,0.004,0.009c-0.001,0-0.004-0.004-0.004-0.005
+  c-0.002-0.002-0.003-0.003-0.005-0.005c-0.004-0.003-0.008-0.007-0.013-0.01c-0.003-0.002-0.007-0.005-0.009-0.008
+  c-0.001-0.002-0.003-0.003-0.004-0.005c-0.001-0.002-0.003-0.004-0.004-0.007c-0.001-0.002-0.002-0.004-0.004-0.006
+  c-0.001-0.001-0.003-0.002-0.004-0.003c-0.003-0.004-0.003-0.009-0.005-0.013c-0.002-0.003-0.004-0.005-0.007-0.007
+  c-0.003-0.004-0.005-0.008-0.007-0.012c-0.002-0.003-0.003-0.007-0.005-0.01c-0.002-0.005-0.004-0.01-0.007-0.014
+  c-0.005-0.007-0.011-0.014-0.016-0.021c-0.002-0.004-0.006-0.007-0.008-0.011c-0.003-0.004-0.006-0.008-0.008-0.012
+  c-0.005-0.007-0.009-0.015-0.014-0.022c-0.003-0.004-0.007-0.008-0.01-0.012c-0.003-0.003-0.005-0.008-0.006-0.012
+  c-0.002-0.004-0.003-0.008-0.006-0.012c-0.001-0.001-0.002-0.002-0.002-0.004c-0.001,0-0.001-0.001-0.001-0.001s0,0,0-0.001
+  c-0.001-0.001-0.001-0.002-0.002-0.004c0-0.002-0.001-0.002-0.001-0.003s0-0.002,0-0.003s-0.001-0.001-0.001-0.002
+  c0-0.001,0-0.002-0.001-0.003c-0.001-0.004-0.003-0.007-0.004-0.01c-0.001-0.002-0.001-0.004,0.001-0.004
+  C-31.618,57.088-31.615,57.09-31.614,57.091z M-31.125,57.71c0.016,0.015,0.034,0.023,0.052,0.036
+  c0.023,0.015,0.041,0.038,0.063,0.054c0.033,0.024,0.065,0.05,0.1,0.072c0.018,0.011,0.033,0.026,0.051,0.039
+  c0.014,0.01,0.034,0.018,0.042,0.034c-0.014,0.003-0.039-0.014-0.053-0.019c-0.014-0.004-0.044-0.007-0.051-0.022l0,0
+  c-0.026-0.02-0.048-0.046-0.072-0.069c-0.023-0.022-0.049-0.034-0.069-0.058c-0.027-0.032-0.054-0.036-0.09-0.055
+  c-0.018-0.009-0.059-0.045-0.062-0.068c0.023-0.02,0.031,0.013,0.043,0.024C-31.158,57.69-31.14,57.698-31.125,57.71z
+  M-22.303,59.124c0.005-0.006,0.012-0.01,0.017-0.016c0.004-0.007,0.003-0.01,0.006-0.016c0.004-0.01,0.012-0.017,0.017-0.027
+  c0.001-0.002,0.002-0.01,0.003-0.012c0.003-0.005,0.008-0.009,0.013-0.015c0.009-0.01,0.011-0.012,0.026-0.012
+  c0.01,0.001,0.018-0.002,0.027-0.005c0.01-0.004,0.022-0.01,0.032-0.011c0.005-0.001,0.012,0,0.017,0
+  c0.009,0,0.013-0.002,0.022-0.004c0.012-0.003,0.021-0.004,0.033-0.011c0.007-0.004,0.013-0.008,0.021-0.012
+  c0.01-0.005,0.018-0.01,0.026-0.018c0.003-0.003,0.005-0.006,0.008-0.008c0.005-0.004,0.009-0.005,0.014-0.008
+  c0.014-0.011,0.017-0.026,0.027-0.039c0.011-0.016,0.034-0.026,0.049-0.037c0.006-0.005,0.01-0.012,0.017-0.017
+  c0.01-0.006,0.022-0.011,0.033-0.015c0.019-0.007,0.035-0.021,0.055-0.026c0.019-0.004,0.046-0.006,0.064-0.019
+  c0.015-0.01,0.029-0.025,0.046-0.035c0.005-0.003,0.019-0.011,0.025-0.006c0.008,0.008-0.004,0.018-0.009,0.022
+  c-0.012,0.012-0.026,0.02-0.038,0.033c-0.013,0.014-0.027,0.028-0.041,0.041c-0.005,0.004-0.012,0.01-0.016,0.016
+  c-0.006,0.009-0.005,0.02-0.009,0.029c-0.012,0.023-0.036,0.037-0.055,0.053c-0.007,0.006-0.012,0.011-0.018,0.017
+  c-0.011,0.012-0.017,0.025-0.027,0.039c-0.014,0.021-0.051,0.038-0.075,0.042c-0.012,0.002-0.025,0-0.037,0.002
+  c-0.009,0.002-0.019,0.008-0.029,0.011c-0.011,0.003-0.028,0.009-0.036,0.016c-0.005,0.005-0.007,0.011-0.012,0.016
+  c-0.005,0.004-0.011,0.007-0.016,0.01c-0.009,0.006-0.018,0.015-0.027,0.021c-0.017,0.01-0.037,0.015-0.054,0.023
+  c-0.013,0.006-0.021,0.004-0.034,0.005c-0.011,0.002-0.021,0.007-0.032,0.01c-0.011,0.003-0.027,0.003-0.038,0.001
+  c-0.01-0.001-0.016-0.005-0.025-0.005l0.003-0.006C-22.321,59.142-22.312,59.134-22.303,59.124z M-22.336,59.162
+  c-0.004,0.001-0.005-0.001-0.005-0.004c0.003-0.001,0.006-0.001,0.008-0.001L-22.336,59.162z M-21.881,59.028
+  c-0.01-0.011,0.016-0.024,0.024-0.029c0.007-0.004,0.016-0.006,0.023-0.009c0.005-0.002,0.008-0.003,0.011-0.006
+  c0.005-0.002,0.007-0.009,0.011-0.011c0.006-0.004,0.015-0.002,0.022-0.005c0.007-0.004,0.014-0.009,0.02-0.013
+  c0.009-0.005,0.047-0.031,0.044-0.005c0,0.005-0.007,0.018-0.01,0.022c-0.003,0.006-0.008,0.011-0.012,0.016
+  c-0.008,0.011-0.02,0.027-0.034,0.032c-0.008,0.002-0.016,0-0.024,0.002c-0.009,0.002-0.014,0.008-0.023,0.01
+  c-0.011,0.002-0.023,0-0.033,0c-0.013-0.001-0.021,0.004-0.033,0.005l0.011-0.005C-21.883,59.03-21.882,59.029-21.881,59.028z
+  M-23.012,48.049c0.012-0.009,0.023-0.017,0.03-0.03c0.003-0.007,0.004-0.011,0.011-0.014c0.006-0.002,0.012-0.003,0.018-0.003
+  c0.025-0.001,0.044,0.01,0.051,0.036c0.005,0.018,0.007,0.037,0.01,0.056c0.002,0.017,0.009,0.033,0.012,0.05
+  c0.002,0.014,0.004,0.027,0.001,0.041c-0.003,0.013-0.006,0.019-0.018,0.024c-0.024,0.011-0.052,0.005-0.076,0
+  c-0.008-0.002-0.016-0.005-0.022-0.01c-0.007-0.005-0.012-0.013-0.021-0.014h0.013c-0.003,0-0.005-0.003-0.008-0.005
+  c-0.006-0.006-0.01-0.008-0.014-0.015c-0.005-0.008-0.012-0.014-0.015-0.023c-0.003-0.006-0.005-0.014-0.006-0.021
+  c-0.001-0.014-0.002-0.033,0.006-0.046C-23.032,48.063-23.023,48.056-23.012,48.049z M-22.19,43.243
+  c0.013,0.002,0.025,0.012,0.037,0.018c0.011,0.005,0.021,0,0.032,0.003c0.005,0.001,0.005,0.005,0.01,0.006
+  c0.007,0.002,0.014-0.002,0.021-0.001c0.01,0.002,0.018,0.007,0.026,0.012c0.007,0.004,0.012,0.01,0.019,0.014
+  c0.008,0.005,0.017,0.005,0.024,0.013c0.007,0.007,0.016,0.02,0.005,0.025c-0.002,0.001-0.013,0.003-0.016,0.004
+  c-0.008,0.002-0.014,0.004-0.021,0.008c-0.01,0.005-0.016,0.01-0.026,0.014c-0.005,0.002-0.005,0.005-0.011,0.005
+  c-0.005,0-0.014-0.005-0.021-0.005c-0.023,0-0.044-0.011-0.066-0.01c-0.002-0.002-0.004-0.005-0.006-0.007
+  c-0.01-0.01-0.019-0.021-0.027-0.032c-0.006-0.007-0.011-0.016-0.017-0.024c-0.011-0.018,0.002-0.022,0.015-0.033
+  C-22.204,43.246-22.201,43.241-22.19,43.243z M-22.195,43.354c0.006-0.003,0.012-0.004,0.018-0.005
+  c0.002,0.002,0.005,0.004,0.007,0.005H-22.195z M-21.865,43.386c0.003-0.011,0-0.022,0.001-0.032
+  c0.001-0.003,0.005-0.01,0.005-0.012c0.001-0.008-0.003-0.011-0.005-0.02c-0.002-0.015-0.002-0.047,0.016-0.053
+  c0.009-0.002,0.024,0.001,0.033,0.001c0.017,0,0.031,0,0.047-0.006c0.02-0.007,0.035-0.012,0.057-0.006
+  c0.024,0.006,0.042-0.011,0.063,0.003c0.015,0.009,0.031,0.023,0.039,0.039c0.009,0.019,0.009,0.042,0.009,0.065
+  c0,0.019-0.004,0.044,0.004,0.063c0.009,0.02,0.024,0.035,0.038,0.052c0.015,0.018,0.027,0.036,0.038,0.057
+  c0.004,0.008,0.008,0.013,0.009,0.022c0.003,0.017,0.001,0.021-0.015,0.021c-0.02,0-0.037-0.013-0.053-0.025
+  c-0.023-0.016-0.058-0.029-0.086-0.036c-0.024-0.007-0.046-0.017-0.071-0.022c-0.015-0.003-0.025,0.004-0.038,0.003
+  c-0.01,0-0.021-0.008-0.031-0.009c-0.011-0.001-0.021-0.002-0.031-0.006c-0.003-0.001-0.009-0.007-0.012-0.009
+  c-0.004-0.002-0.011-0.005-0.014-0.007c-0.007-0.007-0.005-0.017-0.011-0.023l0.004,0.003
+  C-21.886,43.435-21.868,43.401-21.865,43.386z"/>
+</svg>
new file mode 100644
--- /dev/null
+++ b/browser/components/loop/content/shared/js/crypto.js
@@ -0,0 +1,238 @@
+/* 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/. */
+
+/* global loop:true */
+
+var loop = loop || {};
+
+loop.crypto = (function() {
+  "use strict";
+
+  var ALGORITHM = "AES-GCM";
+  var KEY_LENGTH = 128;
+  // We use JSON web key formats for the generated keys.
+  // https://tools.ietf.org/html/draft-ietf-jose-json-web-key-41
+  var KEY_FORMAT = "jwk";
+  // This is the JSON web key type from the generateKey algorithm.
+  var KEY_TYPE = "oct";
+  var ENCRYPT_TAG_LENGTH = 128;
+  var INITIALIZATION_VECTOR_LENGTH = 12;
+
+  var sharedUtils = loop.shared.utils;
+
+  /**
+   * Root object, by default set to window.
+   * @type {DOMWindow|Object}
+   */
+  var rootObject = window;
+
+  /**
+   * Sets a new root object.  This is useful for testing crypto not supported as
+   * it allows us to fake crypto not being present.
+   * In beforeEach(), loop.crypto.setRootObject is used to
+   * substitute a fake window, and in afterEach(), the real window object is
+   * replaced.
+   *
+   * @param {Object}
+   */
+  function setRootObject(obj) {
+    console.log("loop.crpyto.mixins: rootObject set to " + obj);
+    rootObject = obj;
+  }
+
+  /**
+   * Determines if Web Crypto is supported by this browser.
+   *
+   * @return {Boolean} True if Web Crypto is supported
+   */
+  function isSupported() {
+    return "crypto" in rootObject;
+  }
+
+  /**
+   * Generates a random key using the Web Crypto libraries.
+   *
+   * @return {Promise} A promise which is rejected on failure, or resolved
+   *                   with a string that is in the JSON web key format.
+   */
+  function generateKey() {
+    if (!isSupported()) {
+      throw new Error("Web Crypto is not supported");
+    }
+
+    return new Promise(function(resolve, reject) {
+      // First get a crypto key.
+      rootObject.crypto.subtle.generateKey({name: ALGORITHM, length: KEY_LENGTH },
+        // `true` means that the key can be extracted from the CryptoKey object.
+        true,
+        // Usages for the key.
+        ["encrypt", "decrypt"]
+      ).then(function(cryptoKey) {
+        // Now extract the key in the JSON web key format.
+        return rootObject.crypto.subtle.exportKey(KEY_FORMAT, cryptoKey);
+      }).then(function(exportedKey) {
+        // Lastly resolve the promise with the new key.
+        resolve(exportedKey.k);
+      }).catch(function(error) {
+        reject(error);
+      });
+    });
+  }
+
+  /**
+   * Encrypts an object using the specified key.
+   *
+   * @param {String} key      The key to use for encryption. This should have
+   *                          been generated by generateKey.
+   * @param {String} data     The string to be encrypted.
+   *
+   * @return {Promise} A promise which is rejected on failure, or resolved
+   *                   with a string that is the encrypted context.
+   */
+  function encryptBytes(key, data) {
+    if (!isSupported()) {
+      throw new Error("Web Crypto is not supported");
+    }
+
+    var iv = new Uint8Array(INITIALIZATION_VECTOR_LENGTH);
+
+    return new Promise(function(resolve, reject) {
+      // First import the key to a format we can use.
+      rootObject.crypto.subtle.importKey(KEY_FORMAT,
+        {k: key, kty: KEY_TYPE},
+        ALGORITHM,
+        // If the key is extractable.
+        true,
+        // What we're using it for.
+        ["encrypt"]
+      ).then(function(cryptoKey) {
+        // Now we've got the cryptoKey, we can do the actual encryption.
+
+        // First get the data into the format we need.
+        var dataBuffer = sharedUtils.strToUint8Array(data);
+
+        // It is critically important to change the IV any time the
+        // encrypted information is updated.
+        rootObject.crypto.getRandomValues(iv);
+
+        return rootObject.crypto.subtle.encrypt({
+            name: ALGORITHM,
+            iv: iv,
+            tagLength: ENCRYPT_TAG_LENGTH
+          }, cryptoKey,
+          dataBuffer);
+      }).then(function(cipherText) {
+        // Join the initialization vector and context for returning.
+        var joinedData = _mergeIVandCipherText(iv, new DataView(cipherText));
+
+        // Now convert to a string and base-64 encode.
+        var encryptedData = loop.shared.utils.btoa(joinedData);
+
+        resolve(encryptedData);
+      }).catch(function(error) {
+        reject(error);
+      });
+    });
+  }
+
+  /**
+   * Decrypts an object using the specified key.
+   *
+   * @param {String} key           The key to use for encryption. This should have
+   *                               been generated by generateKey.
+   * @param {String} encryptedData The encrypted context.
+   * @return {Promise} A promise which is rejected on failure, or resolved
+   *                   with a string that is the decrypted context.
+   */
+  function decryptBytes(key, encryptedData) {
+    if (!isSupported()) {
+      throw new Error("Web Crypto is not supported");
+    }
+
+    return new Promise(function(resolve, reject) {
+      // First import the key to a format we can use.
+      rootObject.crypto.subtle.importKey(KEY_FORMAT,
+        {k: key, kty: KEY_TYPE},
+        ALGORITHM,
+        // If the key is extractable.
+        true,
+        // What we're using it for.
+        ["decrypt"]
+      ).then(function(cryptoKey) {
+        // Now we've got the key, start the decryption.
+        var splitData = _splitIVandCipherText(encryptedData);
+
+        return rootObject.crypto.subtle.decrypt({
+          name: ALGORITHM,
+          iv: splitData.iv,
+          tagLength: ENCRYPT_TAG_LENGTH
+        }, cryptoKey, splitData.cipherText);
+      }).then(function(plainText) {
+        // Now we just turn it back into a string and then an object.
+        resolve(sharedUtils.Uint8ArrayToStr(new Uint8Array(plainText)));
+      }).catch(function(error) {
+        reject(error);
+      });
+    });
+  }
+
+  /**
+   * Appends the cipher text to the end of the initialization vector and
+   * returns the result.
+   *
+   * @param {Uint8Array} ivArray The array of initialization vector values.
+   * @param {DataView} cipherTextDataView The cipherText in data view format.
+   * @return {Uint8Array} An array of the IV and cipherText.
+   */
+  function _mergeIVandCipherText(ivArray, cipherTextDataView) {
+    // First we translate the data view to an array so we can get
+    // the length.
+    var cipherText = new Uint8Array(cipherTextDataView.buffer);
+    var cipherTextLength = cipherText.length;
+
+    var joinedContext = new Uint8Array(INITIALIZATION_VECTOR_LENGTH + cipherTextLength);
+
+    var i;
+    for (i = 0; i < INITIALIZATION_VECTOR_LENGTH; i++) {
+      joinedContext[i] = ivArray[i];
+    }
+
+    for (i = 0; i < cipherTextLength; i++) {
+      joinedContext[i + INITIALIZATION_VECTOR_LENGTH] = cipherText[i];
+    }
+
+    return joinedContext;
+  }
+
+  /**
+   * Takes the IV from the start of the passed in array and separates
+   * out the cipher text.
+   *
+   * @param {String} encryptedData Encrypted data in base64 format.
+   * @return {Object} An object consisting of two items: iv and cipherText,
+   *                  both are Uint8Arrays.
+   */
+  function _splitIVandCipherText(encryptedData) {
+    // Convert into byte arrays.
+    var encryptedDataArray = loop.shared.utils.atob(encryptedData);
+
+    // Now split out the initialization vector and the cipherText.
+    var iv = encryptedDataArray.slice(0, INITIALIZATION_VECTOR_LENGTH);
+    var cipherText = encryptedDataArray.slice(INITIALIZATION_VECTOR_LENGTH,
+                                              encryptedDataArray.length);
+
+    return {
+      iv: iv,
+      cipherText: cipherText
+    };
+  }
+
+  return {
+    decryptBytes: decryptBytes,
+    encryptBytes: encryptBytes,
+    generateKey: generateKey,
+    isSupported: isSupported,
+    setRootObject: setRootObject
+  };
+})();
--- a/browser/components/loop/content/shared/js/otSdkDriver.js
+++ b/browser/components/loop/content/shared/js/otSdkDriver.js
@@ -22,48 +22,57 @@ loop.OTSdkDriver = (function() {
       }
       if (!options.sdk) {
         throw new Error("Missing option sdk");
       }
 
       this.dispatcher = options.dispatcher;
       this.sdk = options.sdk;
 
-      // Note that this will only be defined and usable in a desktop-local
-      // context, not in the standalone web client.
-      this.mozLoop = options.mozLoop;
+      this._isDesktop = !!options.isDesktop;
+
+      if (this._isDesktop) {
+        if (!options.mozLoop) {
+          throw new Error("Missing option mozLoop");
+        }
+        this.mozLoop = options.mozLoop;
+      }
 
       this.connections = {};
-      this.connectionStartTime = this.CONNECTION_START_TIME_UNINITIALIZED;
+      this._setTwoWayMediaStartTime(this.CONNECTION_START_TIME_UNINITIALIZED);
 
       this.dispatcher.register(this, [
         "setupStreamElements",
         "setMute"
       ]);
 
+      // Set loop.debug.twoWayMediaTelemetry to true in the browser
+      // by changing the hidden pref loop.debug.twoWayMediaTelemetry using
+      // about:config, or use
+      //
+      // localStorage.setItem("debug.twoWayMediaTelemetry", true);
+      this._debugTwoWayMediaTelemetry =
+        loop.shared.utils.getBoolPreference("debug.twoWayMediaTelemetry");
+
     /**
      * XXX This is a workaround for desktop machines that do not have a
      * camera installed. As we don't yet have device enumeration, when
      * we do, this can be removed (bug 1138851), and the sdk should handle it.
      */
-    if ("isDesktop" in options && options.isDesktop &&
-        !window.MediaStreamTrack.getSources) {
+    if (this._isDesktop && !window.MediaStreamTrack.getSources) {
       // If there's no getSources function, the sdk defines its own and caches
       // the result. So here we define the "normal" one which doesn't get cached, so
       // we can change it later.
       window.MediaStreamTrack.getSources = function(callback) {
         callback([{kind: "audio"}, {kind: "video"}]);
       };
     }
   };
 
   OTSdkDriver.prototype = {
-    CONNECTION_START_TIME_UNINITIALIZED: -1,
-    CONNECTION_START_TIME_ALREADY_NOTED: -2,
-
     /**
      * Clones the publisher config into a new object, as the sdk modifies the
      * properties object.
      */
     _getCopyPublisherConfig: function() {
       return _.extend({}, this.publisherConfig);
     },
 
@@ -231,25 +240,25 @@ loop.OTSdkDriver = (function() {
         delete this.session;
       }
       if (this.publisher) {
         this.publisher.off("accessAllowed accessDenied accessDialogOpened streamCreated");
         this.publisher.destroy();
         delete this.publisher;
       }
 
-      this._noteConnectionLengthIfNeeded(this.connectionStartTime, performance.now());
+      this._noteConnectionLengthIfNeeded(this._getTwoWayMediaStartTime(), performance.now());
 
       // Also, tidy these variables ready for next time.
       delete this._sessionConnected;
       delete this._publisherReady;
       delete this._publishedLocalStream;
       delete this._subscribedRemoteStream;
       this.connections = {};
-      this.connectionStartTime = this.CONNECTION_START_TIME_UNINITIALIZED;
+      this._setTwoWayMediaStartTime(this.CONNECTION_START_TIME_UNINITIALIZED);
     },
 
     /**
      * Oust all users from an ongoing session. This is typically done when a room
      * owner deletes the room.
      *
      * @param {Function} callback Function to be invoked once all connections are
      *                            ousted
@@ -303,17 +312,17 @@ loop.OTSdkDriver = (function() {
      * @param {ConnectionEvent} event The event details
      * https://tokbox.com/opentok/libraries/client/js/reference/ConnectionEvent.html
      */
     _onConnectionDestroyed: function(event) {
       var connection = event.connection;
       if (connection && (connection.id in this.connections)) {
         delete this.connections[connection.id];
       }
-      this._noteConnectionLengthIfNeeded(this.connectionStartTime, performance.now());
+      this._noteConnectionLengthIfNeeded(this._getTwoWayMediaStartTime(), performance.now());
       this.dispatcher.dispatch(new sharedActions.RemotePeerDisconnected({
         peerHungup: event.reason === "clientDisconnected"
       }));
     },
 
     /**
      * Handles the session event for the connection for this client being
      * destroyed.
@@ -330,17 +339,17 @@ loop.OTSdkDriver = (function() {
         case "forceDisconnected":
           reason = FAILURE_DETAILS.EXPIRED_OR_INVALID;
           break;
         default:
           // Other cases don't need to be handled.
           return;
       }
 
-      this._noteConnectionLengthIfNeeded(this.connectionStartTime,
+      this._noteConnectionLengthIfNeeded(this._getTwoWayMediaStartTime(),
         performance.now());
       this.dispatcher.dispatch(new sharedActions.ConnectionFailure({
         reason: reason
       }));
     },
 
     /**
      * Handles the connection event for a newly connecting peer.
@@ -403,17 +412,17 @@ loop.OTSdkDriver = (function() {
 
       var remoteElement = this.getRemoteElement();
 
       this.session.subscribe(event.stream,
         remoteElement, this._getCopyPublisherConfig());
 
       this._subscribedRemoteStream = true;
       if (this._checkAllStreamsConnected()) {
-        this.connectionStartTime = performance.now();
+        this._setTwoWayMediaStartTime(performance.now());
         this.dispatcher.dispatch(new sharedActions.MediaConnected());
       }
     },
 
     /**
      * Handles the event when the local stream is created.
      *
      * @param {StreamEvent} event The event details:
@@ -424,16 +433,66 @@ loop.OTSdkDriver = (function() {
         this.dispatcher.dispatch(new sharedActions.VideoDimensionsChanged({
           isLocal: true,
           videoType: event.stream.videoType,
           dimensions: event.stream[STREAM_PROPERTIES.VIDEO_DIMENSIONS]
         }));
       }
     },
 
+    /**
+     * Implementation detail, may be set to one of the CONNECTION_START_TIME
+     * constants, or a positive integer in milliseconds.
+     *
+     * @private
+     */
+    __twoWayMediaStartTime: undefined,
+
+    /**
+     * Used as a guard to make sure we don't inadvertently use an
+     * uninitialized value.
+     */
+    CONNECTION_START_TIME_UNINITIALIZED: -1,
+
+    /**
+     * Use as a guard to ensure that we don't note any bidirectional sessions
+     * twice.
+     */
+    CONNECTION_START_TIME_ALREADY_NOTED: -2,
+
+    /**
+     * Set and get the start time of the two-way media connection.  These
+     * are done as wrapper functions so that we can log sets to make manual
+     * verification of various telemetry scenarios possible.  The get API is
+     * analogous in order to follow the principle of least surprise for
+     * people consuming this code.
+     *
+     * If this._isDesktop is not true, returns immediately without making
+     * any changes, since this data is not used, and it makes reading
+     * the logs confusing for manual verification of both ends of the call in
+     * the same browser, which is a case we care about.
+     *
+     * @param start  start time in milliseconds, as returned by
+     *               performance.now()
+     * @private
+     */
+    _setTwoWayMediaStartTime: function(start) {
+      if (!this._isDesktop) {
+        return;
+      }
+
+      this.__twoWayMediaStartTime = start;
+      if (this._debugTwoWayMediaTelemetry) {
+        console.log("Loop Telemetry: noted two-way connection start, " +
+                    "start time in ms:", start);
+      }
+    },
+    _getTwoWayMediaStartTime: function() {
+      return this.__twoWayMediaStartTime;
+    },
 
     /**
      * Handles the event when the remote stream is destroyed.
      *
      * @param {StreamEvent} event The event details:
      * https://tokbox.com/opentok/libraries/client/js/reference/StreamEvent.html
      */
     _onRemoteStreamDestroyed: function(event) {
@@ -523,17 +582,17 @@ loop.OTSdkDriver = (function() {
     _maybePublishLocalStream: function() {
       if (this._sessionConnected && this._publisherReady) {
         // We are clear to publish the stream to the session.
         this.session.publish(this.publisher);
 
         // Now record the fact, and check if we've got all media yet.
         this._publishedLocalStream = true;
         if (this._checkAllStreamsConnected()) {
-          this.connectionStartTime = performance.now();
+          this._setTwoWayMediaStartTime(performance.now);
           this.dispatcher.dispatch(new sharedActions.MediaConnected());
         }
       }
     },
 
     /**
      * Used to check if both local and remote streams are available
      * and send an action if they are.
@@ -557,29 +616,37 @@ loop.OTSdkDriver = (function() {
      * Called when a screenshare is denied. Notifies the other stores.
      */
     _onScreenShareDenied: function() {
       this.dispatcher.dispatch(new sharedActions.ScreenSharingState({
         state: SCREEN_SHARE_STATES.INACTIVE
       }));
     },
 
+    /*
+     * XXX all of the bi-directional media connection telemetry stuff in this
+     * file, (much, but not all, of it is below) should be hoisted into its
+     * own object for maintainability and clarity, also in part because this
+     * stuff only wants to run one side of the connection, not both (tracked
+     * by bug 1145237).
+     */
+
     /**
      * A hook exposed only for the use of the functional tests so that
      * they can check that the bi-directional media count is being updated
      * correctly.
      *
      * @type number
      * @private
      */
     _connectionLengthNotedCalls: 0,
 
     /**
      * Wrapper for adding a keyed value that also updates
-     * connectionLengthNoted calls and sets this.connectionStartTime to
+     * connectionLengthNoted calls and sets the twoWayMediaStartTime to
      * this.CONNECTION_START_TIME_ALREADY_NOTED.
      *
      * @param {number} callLengthSeconds  the call length in seconds
      * @private
      */
     _noteConnectionLength: function(callLengthSeconds) {
 
       var bucket = this.mozLoop.TWO_WAY_MEDIA_CONN_LENGTH.SHORTER_THAN_10S;
@@ -589,46 +656,58 @@ loop.OTSdkDriver = (function() {
       } else if (callLengthSeconds > 30 && callLengthSeconds <= 300) {
         bucket = this.mozLoop.TWO_WAY_MEDIA_CONN_LENGTH.BETWEEN_30S_AND_5M;
       } else if (callLengthSeconds > 300) {
         bucket = this.mozLoop.TWO_WAY_MEDIA_CONN_LENGTH.MORE_THAN_5M;
       }
 
       this.mozLoop.telemetryAddKeyedValue("LOOP_TWO_WAY_MEDIA_CONN_LENGTH",
         bucket);
-      this.connectionStartTime = this.CONNECTION_START_TIME_ALREADY_NOTED;
+      this._setTwoWayMediaStartTime(this.CONNECTION_START_TIME_ALREADY_NOTED);
 
       this._connectionLengthNotedCalls++;
+      if (this._debugTwoWayMediaTelemetry) {
+        console.log('Loop Telemetry: noted two-way media connection ' +
+          'in bucket: ', bucket);
+      }
     },
 
     /**
      * Note connection length if it's valid (the startTime has been initialized
      * and is not later than endTime) and not yet already noted.  If
-     * this.mozLoop is not defined, we're assumed to be running in the
+     * this._isDesktop is not true, we're assumed to be running in the
      * standalone client and return immediately.
      *
      * @param {number} startTime  in milliseconds
      * @param {number} endTime  in milliseconds
      * @private
      */
     _noteConnectionLengthIfNeeded: function(startTime, endTime) {
-      if (!this.mozLoop) {
+      if (!this._isDesktop) {
         return;
       }
 
       if (startTime == this.CONNECTION_START_TIME_ALREADY_NOTED ||
           startTime == this.CONNECTION_START_TIME_UNINITIALIZED ||
           startTime > endTime) {
-        console.log("_noteConnectionLengthIfNeeded called with " +
-                    " invalid params, either the calls were never" +
-                    " connected or there is a bug; startTime:", startTime,
-                    "endTime:", endTime);
+        if (this._debugTwoWayMediaTelemetry) {
+          console.log("_noteConnectionLengthIfNeeded called with " +
+            " invalid params, either the calls were never" +
+            " connected or there is a bug; startTime:", startTime,
+            "endTime:", endTime);
+        }
         return;
       }
 
       var callLengthSeconds = (endTime - startTime) / 1000;
       this._noteConnectionLength(callLengthSeconds);
-    }
+    },
+
+    /**
+     * If set to true, make it easy to test/verify 2-way media connection
+     * telemetry code operation by viewing the logs.
+     */
+    _debugTwoWayMediaTelemetry: false
   };
 
   return OTSdkDriver;
 
 })();
--- a/browser/components/loop/content/shared/js/utils.js
+++ b/browser/components/loop/content/shared/js/utils.js
@@ -163,26 +163,252 @@ loop.shared.utils = (function(mozL10n) {
         clientShortname2: mozL10n.get("clientShortname2"),
         clientSuperShortname: mozL10n.get("clientSuperShortname"),
         learnMoreUrl: navigator.mozLoop.getLoopPref("learnMoreUrl")
       }).replace(/\r\n/g, "\n").replace(/\n/g, "\r\n"),
       recipient
     );
   }
 
+  /**
+   * Binary-compatible Base64 decoding.
+   *
+   * Taken from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Base64_encoding_and_decoding
+   *
+   * @param {String} base64str The string to decode.
+   * @return {Uint8Array} The decoded result in array format.
+   */
+  function atob(base64str) {
+    var strippedEncoding = base64str.replace(/[^A-Za-z0-9\+\/]/g, "");
+    var inLength = strippedEncoding.length;
+    var outLength = inLength * 3 + 1 >> 2;
+    var result = new Uint8Array(outLength);
+
+    var mod3;
+    var mod4;
+    var uint24 = 0;
+    var outIndex = 0;
+
+    for (var inIndex = 0; inIndex < inLength; inIndex++) {
+      mod4 = inIndex & 3;
+      uint24 |= _b64ToUint6(strippedEncoding.charCodeAt(inIndex)) << 6 * (3 - mod4);
+
+      if (mod4 === 3 || inLength - inIndex === 1) {
+        for (mod3 = 0; mod3 < 3 && outIndex < outLength; mod3++, outIndex++) {
+          result[outIndex] = uint24 >>> (16 >>> mod3 & 24) & 255;
+        }
+        uint24 = 0;
+      }
+    }
+
+    return result;
+  }
+
+  /**
+   * Binary-compatible Base64 encoding.
+   *
+   * Taken from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Base64_encoding_and_decoding
+   *
+   * @param {Uint8Array} bytes The data to encode.
+   * @return {String} The base64 encoded string.
+   */
+  function btoa(bytes) {
+    var mod3 = 2;
+    var result = "";
+    var length = bytes.length;
+    var uint24 = 0;
+
+    for (var index = 0; index < length; index++) {
+      mod3 = index % 3;
+      if (index > 0 && (index * 4 / 3) % 76 === 0) {
+        result += "\r\n";
+      }
+      uint24 |= bytes[index] << (16 >>> mod3 & 24);
+      if (mod3 === 2 || length - index === 1) {
+        result += String.fromCharCode(_uint6ToB64(uint24 >>> 18 & 63),
+          _uint6ToB64(uint24 >>> 12 & 63),
+          _uint6ToB64(uint24 >>> 6 & 63),
+          _uint6ToB64(uint24 & 63));
+        uint24 = 0;
+      }
+    }
+
+    return result.substr(0, result.length - 2 + mod3) +
+      (mod3 === 2 ? "" : mod3 === 1 ? "=" : "==");
+  }
+
+  /**
+   * Utility function to decode a base64 character into an integer.
+   *
+   * Taken from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Base64_encoding_and_decoding
+   *
+   * @param {Number} chr The character code to decode.
+   * @return {Number} The decoded value.
+   */
+  function _b64ToUint6 (chr) {
+    return chr > 64 && chr < 91  ? chr - 65 :
+           chr > 96 && chr < 123 ? chr - 71 :
+           chr > 47 && chr < 58  ? chr + 4  :
+           chr === 43            ? 62       :
+           chr === 47            ? 63       : 0;
+  }
+
+  /**
+   * Utility function to encode an integer into a base64 character code.
+   *
+   * Taken from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Base64_encoding_and_decoding
+   *
+   * @param {Number} uint6 The number to encode.
+   * @return {Number} The encoded value.
+   */
+  function _uint6ToB64 (uint6) {
+    return uint6 < 26   ? uint6 + 65 :
+           uint6 < 52   ? uint6 + 71 :
+           uint6 < 62   ? uint6 - 4  :
+           uint6 === 62 ? 43         :
+           uint6 === 63 ? 47         : 65;
+  }
+
+  /**
+   * Utility function to convert a string into a uint8 array.
+   *
+   * Taken from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Base64_encoding_and_decoding
+   *
+   * @param {String} inString The string to convert.
+   * @return {Uint8Array} The converted string in array format.
+   */
+  function strToUint8Array(inString) {
+    var inLength = inString.length;
+    var arrayLength = 0;
+    var chr;
+
+    // Mapping.
+    for (var mapIndex = 0; mapIndex < inLength; mapIndex++) {
+      chr = inString.charCodeAt(mapIndex);
+      arrayLength += chr < 0x80      ? 1 :
+                     chr < 0x800     ? 2 :
+                     chr < 0x10000   ? 3 :
+                     chr < 0x200000  ? 4 :
+                     chr < 0x4000000 ? 5 : 6;
+    }
+
+    var result = new Uint8Array(arrayLength);
+    var index = 0;
+
+    // Transcription.
+    for (var chrIndex = 0; index < arrayLength; chrIndex++) {
+      chr = inString.charCodeAt(chrIndex);
+      if (chr < 128) {
+        // One byte.
+        result[index++] = chr;
+      } else if (chr < 0x800) {
+        // Two bytes.
+        result[index++] = 192 + (chr >>> 6);
+        result[index++] = 128 + (chr & 63);
+      } else if (chr < 0x10000) {
+        // Three bytes.
+        result[index++] = 224 + (chr >>> 12);
+        result[index++] = 128 + (chr >>> 6 & 63);
+        result[index++] = 128 + (chr & 63);
+      } else if (chr < 0x200000) {
+        // Four bytes.
+        result[index++] = 240 + (chr >>> 18);
+        result[index++] = 128 + (chr >>> 12 & 63);
+        result[index++] = 128 + (chr >>> 6 & 63);
+        result[index++] = 128 + (chr & 63);
+      } else if (chr < 0x4000000) {
+        // Five bytes.
+        result[index++] = 248 + (chr >>> 24);
+        result[index++] = 128 + (chr >>> 18 & 63);
+        result[index++] = 128 + (chr >>> 12 & 63);
+        result[index++] = 128 + (chr >>> 6 & 63);
+        result[index++] = 128 + (chr & 63);
+      } else { // if (chr <= 0x7fffffff)
+        // Six bytes.
+        result[index++] = 252 + (chr >>> 30);
+        result[index++] = 128 + (chr >>> 24 & 63);
+        result[index++] = 128 + (chr >>> 18 & 63);
+        result[index++] = 128 + (chr >>> 12 & 63);
+        result[index++] = 128 + (chr >>> 6 & 63);
+        result[index++] = 128 + (chr & 63);
+      }
+    }
+
+    return result;
+  }
+
+  /**
+   * Utility function to change a uint8 based integer array to a string.
+   *
+   * Taken from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Base64_encoding_and_decoding
+   *
+   * @param {Uint8Array} arrayBytes Array to convert.
+   * @param {String} The array as a string.
+   */
+  function Uint8ArrayToStr(arrayBytes) {
+    var result = "";
+    var length = arrayBytes.length;
+    var part;
+
+    for (var index = 0; index < length; index++) {
+      part = arrayBytes[index];
+      result += String.fromCharCode(
+        part > 251 && part < 254 && index + 5 < length ?
+          // Six bytes.
+          // (part - 252 << 30) may be not so safe in ECMAScript! So...:
+          (part - 252) * 1073741824 +
+          (arrayBytes[++index] - 128 << 24) +
+          (arrayBytes[++index] - 128 << 18) +
+          (arrayBytes[++index] - 128 << 12) +
+          (arrayBytes[++index] - 128 << 6) +
+           arrayBytes[++index] - 128 :
+        part > 247 && part < 252 && index + 4 < length ?
+          // Five bytes.
+          (part - 248 << 24) +
+          (arrayBytes[++index] - 128 << 18) +
+          (arrayBytes[++index] - 128 << 12) +
+          (arrayBytes[++index] - 128 << 6) +
+           arrayBytes[++index] - 128 :
+        part > 239 && part < 248 && index + 3 < length ?
+          // Four bytes.
+          (part - 240 << 18) +
+          (arrayBytes[++index] - 128 << 12) +
+          (arrayBytes[++index] - 128 << 6) +
+           arrayBytes[++index] - 128 :
+        part > 223 && part < 240 && index + 2 < length ?
+          // Three bytes.
+          (part - 224 << 12) +
+          (arrayBytes[++index] - 128 << 6) +
+           arrayBytes[++index] - 128 :
+        part > 191 && part < 224 && index + 1 < length ?
+          // Two bytes.
+          (part - 192 << 6) +
+           arrayBytes[++index] - 128 :
+          // One byte.
+          part
+      );
+    }
+
+    return result;
+  }
+
   return {
     CALL_TYPES: CALL_TYPES,
     FAILURE_DETAILS: FAILURE_DETAILS,
     REST_ERRNOS: REST_ERRNOS,
     WEBSOCKET_REASONS: WEBSOCKET_REASONS,
     STREAM_PROPERTIES: STREAM_PROPERTIES,
     SCREEN_SHARE_STATES: SCREEN_SHARE_STATES,
     composeCallUrlEmail: composeCallUrlEmail,
     formatDate: formatDate,
     getBoolPreference: getBoolPreference,
     isChrome: isChrome,
     isFirefox: isFirefox,
     isFirefoxOS: isFirefoxOS,
     isOpera: isOpera,
     getUnsupportedPlatform: getUnsupportedPlatform,
-    locationData: locationData
+    locationData: locationData,
+    atob: atob,
+    btoa: btoa,
+    strToUint8Array: strToUint8Array,
+    Uint8ArrayToStr: Uint8ArrayToStr
   };
 })(document.mozL10n || navigator.mozL10n);
--- a/browser/components/loop/test/functional/test_1_browser_call.py
+++ b/browser/components/loop/test/functional/test_1_browser_call.py
@@ -188,17 +188,17 @@ class Test1BrowserCall(MarionetteTestCas
             let chatGlobal = chatBrowser.contentWindow.wrappedJSObject;
 
             return chatGlobal.''' + expr
 
         return self.marionette.execute_script(script, [chatbox])
 
     def local_get_media_start_time(self):
         return self.local_get_chatbox_window_expr(
-            "loop.conversation._sdkDriver.connectionStartTime")
+            "loop.conversation._sdkDriver._getTwoWayMediaStartTime()")
 
     # XXX could be memoized
     def local_get_media_start_time_uninitialized(self):
         return self.local_get_chatbox_window_expr(
             "loop.conversation._sdkDriver.CONNECTION_START_TIME_UNINITIALIZED"
         )
 
     def local_check_media_start_time_uninitialized(self):
@@ -216,17 +216,17 @@ class Test1BrowserCall(MarionetteTestCas
             "media is bidirectionally connected")
 
     def local_check_connection_length_noted(self):
         noted_calls = self.local_get_chatbox_window_expr(
             "loop.conversation._sdkDriver._connectionLengthNotedCalls")
 
         self.assertGreater(noted_calls, 0,
                            "OTSdkDriver._connectionLengthNotedCalls should be "
-                           "> 0")
+                           "> 0, noted_calls = " + str(noted_calls))
 
     def test_1_browser_call(self):
         self.switch_to_panel()
 
         self.local_start_a_conversation()
 
         # Check the self video in the conversation window
         self.local_check_room_self_video()
@@ -247,18 +247,18 @@ class Test1BrowserCall(MarionetteTestCas
         # the start time
         self.local_check_media_start_time_initialized()
 
         # XXX To enable this, we either need to navigate the permissions prompt
         # or have a route where we don't need the permissions prompt.
         # self.local_enable_screenshare()
         # self.standalone_check_remote_screenshare()
 
-        # We hangup on the remote side, because this also leaves the
-        # local chatbox with the local publishing media still connected,
+        # We hangup on the remote (standalone) side, because this also leaves
+        # the local chatbox with the local publishing media still connected,
         # which means that the local_check_connection_length below
         # verifies that the connection is noted at the time the remote media
         # drops, rather than waiting until the window closes.
         self.remote_leave_room_and_verify_feedback()
 
         self.local_check_connection_length_noted()
 
     def tearDown(self):
new file mode 100644
--- /dev/null
+++ b/browser/components/loop/test/shared/crypto_test.js
@@ -0,0 +1,113 @@
+/* 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/. */
+
+/* global loop, sinon */
+
+var expect = chai.expect;
+
+describe("loop.crypto", function() {
+  "use strict";
+
+  var sandbox, oldCrypto;
+
+  beforeEach(function() {
+    sandbox = sinon.sandbox.create();
+  });
+
+  afterEach(function() {
+    sandbox.restore();
+    loop.crypto.setRootObject(window);
+  });
+
+  describe("#isSupported", function() {
+    it("should return true by default", function() {
+      expect(loop.crypto.isSupported()).eql(true);
+    });
+
+    it("should return false if crypto isn't supported", function() {
+      loop.crypto.setRootObject({});
+
+      expect(loop.crypto.isSupported()).eql(false);
+    });
+  });
+
+  describe("#generateKey", function() {
+    it("should throw if web crypto is not available", function() {
+      loop.crypto.setRootObject({});
+
+      expect(function() {
+        loop.crypto.generateKey();
+      }).to.Throw(/not supported/);
+    });
+
+    it("should generate a key", function() {
+      // The key is a random string, so we can't really test much else.
+      return expect(loop.crypto.generateKey()).to.eventually.be.a("string");
+    });
+  });
+
+  describe("#encryptBytes", function() {
+    it("should throw if web crypto is not available", function() {
+      loop.crypto.setRootObject({});
+
+      expect(function() {
+        loop.crypto.encryptBytes();
+      }).to.Throw(/not supported/);
+    });
+
+    it("should encrypt an object with a specific key", function() {
+      return expect(loop.crypto.encryptBytes("Wt2-bZKeHO2wnaq00ZM6Nw",
+        JSON.stringify({test: true}))).to.eventually.be.a("string");
+    });
+  });
+
+  describe("#decryptBytes", function() {
+    it("should throw if web crypto is not available", function() {
+      loop.crypto.setRootObject({});
+
+      expect(function() {
+        loop.crypto.decryptBytes();
+      }).to.Throw(/not supported/);
+    });
+
+    it("should decypt an object via a specific key", function() {
+      var key = "Wt2-bZKeHO2wnaq00ZM6Nw";
+      var encryptedContext = "XvN9FDEm/GtE/5Bx5ezpn7JVDeZrtwOJy2CBjTGgJ4L33HhHOqEW+5k=";
+
+      return expect(loop.crypto.decryptBytes(key, encryptedContext)).to.eventually.eql(JSON.stringify({test: true}));
+    });
+
+    it("should fail if the key didn't work", function() {
+      var bad = "Bad-bZKeHO2wnaq00ZM6Nw";
+      var encryptedContext = "TGZaAE3mqsBFK0GfheZXXDCaRKXJmIKJ8WzF0KBEl4Aldzf3iYlAsLQdA8XSXXvtJR2UYz+f";
+
+      return expect(loop.crypto.decryptBytes(bad, encryptedContext)).to.be.rejected;
+    });
+  });
+
+  describe("Full cycle", function() {
+    it("should be able to encrypt and decypt in a full cycle", function(done) {
+      var context = JSON.stringify({
+        contextObject: true,
+        UTF8String: "对话"
+      });
+
+      return loop.crypto.generateKey().then(function (key) {
+        loop.crypto.encryptBytes(key, context).then(function(encryptedContext) {
+          loop.crypto.decryptBytes(key, encryptedContext).then(function(decryptedContext) {
+            expect(decryptedContext).eql(context);
+            done();
+          }).catch(function(error) {
+            done(error);
+          });
+        }).catch(function(error) {
+          done(error);
+        });
+      }).catch(function(error) {
+        done(error);
+      });
+    });
+  });
+
+});
--- a/browser/components/loop/test/shared/index.html
+++ b/browser/components/loop/test/shared/index.html
@@ -26,27 +26,29 @@
   <script src="../../content/shared/libs/jquery-2.1.0.js"></script>
   <script src="../../content/shared/libs/lodash-2.4.1.js"></script>
   <script src="../../content/shared/libs/backbone-1.1.2.js"></script>
   <script src="../../standalone/content/libs/l10n-gaia-02ca67948fe8.js"></script>
 
   <!-- test dependencies -->
   <script src="vendor/mocha-2.2.1.js"></script>
   <script src="vendor/chai-2.1.0.js"></script>
+  <script src="vendor/chai-as-promised-4.3.0.js"></script>
   <script src="vendor/sinon-1.13.0.js"></script>
   <script>
     /*global chai, mocha */
     chai.config.includeStack = true;
     mocha.setup('bdd');
   </script>
 
   <!-- App scripts -->
   <script src="../../content/shared/js/utils.js"></script>
   <script src="../../content/shared/js/models.js"></script>
   <script src="../../content/shared/js/mixins.js"></script>
+  <script src="../../content/shared/js/crypto.js"></script>
   <script src="../../content/shared/js/websocket.js"></script>
   <script src="../../content/shared/js/feedbackApiClient.js"></script>
   <script src="../../content/shared/js/validate.js"></script>
   <script src="../../content/shared/js/actions.js"></script>
   <script src="../../content/shared/js/dispatcher.js"></script>
   <script src="../../content/shared/js/otSdkDriver.js"></script>
   <script src="../../content/shared/js/store.js"></script>
   <script src="../../content/shared/js/roomStates.js"></script>
@@ -57,16 +59,17 @@
   <script src="../../content/shared/js/feedbackStore.js"></script>
   <script src="../../content/shared/js/views.js"></script>
   <script src="../../content/shared/js/feedbackViews.js"></script>
 
   <!-- Test scripts -->
   <script src="models_test.js"></script>
   <script src="mixins_test.js"></script>
   <script src="utils_test.js"></script>
+  <script src="crypto_test.js"></script>
   <script src="views_test.js"></script>
   <script src="websocket_test.js"></script>
   <script src="feedbackApiClient_test.js"></script>
   <script src="feedbackViews_test.js"></script>
   <script src="validate_test.js"></script>
   <script src="dispatcher_test.js"></script>
   <script src="activeRoomStore_test.js"></script>
   <script src="fxOSActiveRoomStore_test.js"></script>
--- a/browser/components/loop/test/shared/otSdkDriver_test.js
+++ b/browser/components/loop/test/shared/otSdkDriver_test.js
@@ -72,17 +72,18 @@ describe("loop.OTSdkDriver", function ()
         BETWEEN_30S_AND_5M: "BETWEEN_30S_AND_5M",
         MORE_THAN_5M: "MORE_THAN_5M"
       }
     };
 
     driver = new loop.OTSdkDriver({
       dispatcher: dispatcher,
       sdk: sdk,
-      mozLoop: mozLoop
+      mozLoop: mozLoop,
+      isDesktop: true
     });
   });
 
   afterEach(function() {
     sandbox.restore();
   });
 
   describe("Constructor", function() {
@@ -93,20 +94,22 @@ describe("loop.OTSdkDriver", function ()
     });
 
     it("should throw an error if the sdk is missing", function() {
       expect(function() {
         new loop.OTSdkDriver({dispatcher: dispatcher});
       }).to.Throw(/sdk/);
     });
 
-    it("should initialize the connectionStartTime to 'uninitialized'", function() {
-      var driver = new loop.OTSdkDriver({sdk: sdk, dispatcher: dispatcher, mozLoop: mozLoop});
+    it("should set the two-way media start time to 'uninitialized'", function() {
+      var driver = new loop.OTSdkDriver(
+        {sdk: sdk, dispatcher: dispatcher, mozLoop: mozLoop, isDesktop: true});
 
-      expect(driver.connectionStartTime).to.eql(driver.CONNECTION_START_TIME_UNINITIALIZED);
+      expect(driver._getTwoWayMediaStartTime()).to.
+        eql(driver.CONNECTION_START_TIME_UNINITIALIZED);
     });
   });
 
   describe("#setupStreamElements", function() {
     it("should call initPublisher", function() {
       dispatcher.dispatch(new sharedActions.SetupStreamElements({
         getLocalElementFunc: function() {return fakeLocalElement;},
         getRemoteElementFunc: function() {return fakeRemoteElement;},
@@ -326,52 +329,53 @@ describe("loop.OTSdkDriver", function ()
 
       sinon.assert.calledOnce(publisher.destroy);
     });
 
     it("should call _noteConnectionLengthIfNeeded with connection duration", function() {
       driver.session = session;
       var startTime = 1;
       var endTime = 3;
-      driver.connectionStartTime = startTime;
+      driver._setTwoWayMediaStartTime(startTime);
       sandbox.stub(performance, "now").returns(endTime);
       sandbox.stub(driver, "_noteConnectionLengthIfNeeded");
 
       driver.disconnectSession();
 
       sinon.assert.calledWith(driver._noteConnectionLengthIfNeeded, startTime,
                               endTime);
     });
 
-    it("should reset the connectionStartTime", function() {
+    it("should reset the two-way media connection start time", function() {
       driver.session = session;
       var startTime = 1;
-      driver.connectionStartTime = startTime;
+      driver._setTwoWayMediaStartTime(startTime);
       sandbox.stub(performance, "now");
       sandbox.stub(driver, "_noteConnectionLengthIfNeeded");
 
       driver.disconnectSession();
 
-      expect(driver.connectionStartTime).to.eql(driver.CONNECTION_START_TIME_UNINITIALIZED);
+      expect(driver._getTwoWayMediaStartTime()).to.
+        eql(driver.CONNECTION_START_TIME_UNINITIALIZED);
     });
   });
 
   describe("#_noteConnectionLengthIfNeeded", function() {
     var startTimeMS;
     beforeEach(function() {
       startTimeMS = 1;
-      driver.connectionStartTime = startTimeMS;
+      driver._setTwoWayMediaStartTime(startTimeMS);
     });
 
-
-    it("should set connectionStartTime to CONNECTION_START_TIME_ALREADY_NOTED", function() {
+    it("should set two-way media start time to CONNECTION_START_TIME_ALREADY_NOTED", function() {
       var endTimeMS = 3;
       driver._noteConnectionLengthIfNeeded(startTimeMS, endTimeMS);
 
-      expect(driver.connectionStartTime).to.eql(driver.CONNECTION_START_TIME_ALREADY_NOTED);
+      expect(driver._getTwoWayMediaStartTime()).to.
+        eql(driver.CONNECTION_START_TIME_ALREADY_NOTED);
     });
 
     it("should call mozLoop.noteConnectionLength with SHORTER_THAN_10S for calls less than 10s", function() {
       var endTimeMS = 9000;
 
       driver._noteConnectionLengthIfNeeded(startTimeMS, endTimeMS);
 
       sinon.assert.calledOnce(mozLoop.telemetryAddKeyedValue);
@@ -409,16 +413,27 @@ describe("loop.OTSdkDriver", function ()
 
       driver._noteConnectionLengthIfNeeded(startTimeMS, endTimeMS);
 
       sinon.assert.calledOnce(mozLoop.telemetryAddKeyedValue);
       sinon.assert.calledWith(mozLoop.telemetryAddKeyedValue,
         "LOOP_TWO_WAY_MEDIA_CONN_LENGTH",
         mozLoop.TWO_WAY_MEDIA_CONN_LENGTH.MORE_THAN_5M);
     });
+
+    it("should not call mozLoop.noteConnectionLength if driver._isDesktop " +
+       "is false",
+      function() {
+        var endTimeMS = 10 * 60 * 1000;
+        driver._isDesktop = false;
+
+        driver._noteConnectionLengthIfNeeded(startTimeMS, endTimeMS);
+
+        sinon.assert.notCalled(mozLoop.telemetryAddKeyedValue);
+      });
   });
 
   describe("#forceDisconnectAll", function() {
     it("should not disconnect anything when not connected", function() {
       driver.session = session;
       driver.forceDisconnectAll(function() {});
 
       sinon.assert.notCalled(session.forceDisconnect);
@@ -494,17 +509,17 @@ describe("loop.OTSdkDriver", function ()
             sinon.match.hasOwn("peerHungup", false));
       });
 
 
       it("should call _noteConnectionLengthIfNeeded with connection duration", function() {
         driver.session = session;
         var startTime = 1;
         var endTime = 3;
-        driver.connectionStartTime = startTime;
+        driver._setTwoWayMediaStartTime(startTime);
         sandbox.stub(performance, "now").returns(endTime);
         sandbox.stub(driver, "_noteConnectionLengthIfNeeded");
 
         session.trigger("connectionDestroyed", {
           reason: "clientDisconnected"
         });
 
         sinon.assert.calledWith(driver._noteConnectionLengthIfNeeded, startTime,
@@ -538,17 +553,17 @@ describe("loop.OTSdkDriver", function ()
           sinon.assert.calledWithMatch(dispatcher.dispatch,
             sinon.match.hasOwn("reason", FAILURE_DETAILS.EXPIRED_OR_INVALID));
         });
 
       it("should call _noteConnectionLengthIfNeeded with connection duration", function() {
         driver.session = session;
         var startTime = 1;
         var endTime = 3;
-        driver.connectionStartTime = startTime;
+        driver._setTwoWayMediaStartTime(startTime);
         sandbox.stub(performance, "now").returns(endTime);
         sandbox.stub(driver, "_noteConnectionLengthIfNeeded");
 
         session.trigger("sessionDisconnected", {
           reason: "networkDisconnected"
         });
 
         sinon.assert.calledWith(driver._noteConnectionLengthIfNeeded, startTime,
@@ -624,24 +639,37 @@ describe("loop.OTSdkDriver", function ()
         session.trigger("streamCreated", {stream: fakeStream});
 
         // Called twice due to the VideoDimensionsChanged above.
         sinon.assert.calledTwice(dispatcher.dispatch);
         sinon.assert.calledWithMatch(dispatcher.dispatch,
           sinon.match.hasOwn("name", "mediaConnected"));
       });
 
-      it("should store the start time when both streams are up", function() {
+      it("should store the start time when both streams are up and" +
+      " driver._isDesktop is true", function() {
         driver._publishedLocalStream = true;
         var startTime = 1;
         sandbox.stub(performance, "now").returns(startTime);
 
         session.trigger("streamCreated", {stream: fakeStream});
 
-        expect(driver.connectionStartTime).to.eql(startTime);
+        expect(driver._getTwoWayMediaStartTime()).to.eql(startTime);
+      });
+
+      it("should not store the start time when both streams are up and" +
+         " driver._isDesktop is false", function() {
+        driver._isDesktop = false ;
+        driver._publishedLocalStream = true;
+        var startTime = 73;
+        sandbox.stub(performance, "now").returns(startTime);
+
+        session.trigger("streamCreated", {stream: fakeStream});
+
+        expect(driver._getTwoWayMediaStartTime()).to.not.eql(startTime);
       });
 
 
       it("should not dispatch a mediaConnected action for screen sharing streams",
         function() {
           driver._publishedLocalStream = true;
           fakeStream.videoType = "screen";
 
--- a/browser/components/loop/test/shared/utils_test.js
+++ b/browser/components/loop/test/shared/utils_test.js
@@ -166,9 +166,56 @@ describe("loop.shared.utils", function()
     it("should compose a call url email", function() {
       sharedUtils.composeCallUrlEmail("http://invalid", "fake@invalid.tld");
 
       sinon.assert.calledOnce(composeEmail);
       sinon.assert.calledWith(composeEmail,
                               "subject", "body", "fake@invalid.tld");
     });
   });
+
+  describe("#btoa", function() {
+    it("should encode a basic base64 string", function() {
+      var result = sharedUtils.btoa(sharedUtils.strToUint8Array("crypto is great"));
+
+      expect(result).eql("Y3J5cHRvIGlzIGdyZWF0");
+    });
+
+    it("should pad encoded base64 strings", function() {
+      var result = sharedUtils.btoa(sharedUtils.strToUint8Array("crypto is grea"));
+
+      expect(result).eql("Y3J5cHRvIGlzIGdyZWE=");
+
+      result = sharedUtils.btoa(sharedUtils.strToUint8Array("crypto is gre"));
+
+      expect(result).eql("Y3J5cHRvIGlzIGdyZQ==");
+    });
+
+    it("should encode a non-unicode base64 string", function() {
+      var result = sharedUtils.btoa(sharedUtils.strToUint8Array("\uFDFD"));
+      expect(result).eql("77e9");
+    });
+  });
+
+  describe("#atob", function() {
+    it("should decode a basic base64 string", function() {
+      var result = sharedUtils.Uint8ArrayToStr(sharedUtils.atob("Y3J5cHRvIGlzIGdyZWF0"));
+
+      expect(result).eql("crypto is great");
+    });
+
+    it("should decode a padded base64 string", function() {
+      var result = sharedUtils.Uint8ArrayToStr(sharedUtils.atob("Y3J5cHRvIGlzIGdyZWE="));
+
+      expect(result).eql("crypto is grea");
+
+      result = sharedUtils.Uint8ArrayToStr(sharedUtils.atob("Y3J5cHRvIGlzIGdyZQ=="));
+
+      expect(result).eql("crypto is gre");
+    });
+
+    it("should decode a base64 string that has unicode characters", function() {
+      var result = sharedUtils.Uint8ArrayToStr(sharedUtils.atob("77e9"));
+
+      expect(result).eql("\uFDFD");
+    });
+  });
 });
new file mode 100644
--- /dev/null
+++ b/browser/components/loop/test/shared/vendor/chai-as-promised-4.3.0.js
@@ -0,0 +1,377 @@
+(function () {
+    "use strict";
+
+    // Module systems magic dance.
+
+    /* istanbul ignore else */
+    if (typeof require === "function" && typeof exports === "object" && typeof module === "object") {
+        // NodeJS
+        module.exports = chaiAsPromised;
+    } else if (typeof define === "function" && define.amd) {
+        // AMD
+        define(function () {
+            return chaiAsPromised;
+        });
+    } else {
+        /*global self: false */
+
+        // Other environment (usually <script> tag): plug in to global chai instance directly.
+        chai.use(chaiAsPromised);
+
+        // Expose as a property of the global object so that consumers can configure the `transferPromiseness` property.
+        self.chaiAsPromised = chaiAsPromised;
+    }
+
+    chaiAsPromised.transferPromiseness = function (assertion, promise) {
+        assertion.then = promise.then.bind(promise);
+    };
+
+    chaiAsPromised.transformAsserterArgs = function (values) {
+        return values;
+    };
+
+    function chaiAsPromised(chai, utils) {
+        var Assertion = chai.Assertion;
+        var assert = chai.assert;
+
+        function isJQueryPromise(thenable) {
+            return typeof thenable.always === "function" &&
+                   typeof thenable.done === "function" &&
+                   typeof thenable.fail === "function" &&
+                   typeof thenable.pipe === "function" &&
+                   typeof thenable.progress === "function" &&
+                   typeof thenable.state === "function";
+        }
+
+        function assertIsAboutPromise(assertion) {
+            if (typeof assertion._obj.then !== "function") {
+                throw new TypeError(utils.inspect(assertion._obj) + " is not a thenable.");
+            }
+            if (isJQueryPromise(assertion._obj)) {
+                throw new TypeError("Chai as Promised is incompatible with jQuery's thenables, sorry! Please use a " +
+                                    "Promises/A+ compatible library (see http://promisesaplus.com/).");
+            }
+        }
+
+        function method(name, asserter) {
+            utils.addMethod(Assertion.prototype, name, function () {
+                assertIsAboutPromise(this);
+                return asserter.apply(this, arguments);
+            });
+        }
+
+        function property(name, asserter) {
+            utils.addProperty(Assertion.prototype, name, function () {
+                assertIsAboutPromise(this);
+                return asserter.apply(this, arguments);
+            });
+        }
+
+        function doNotify(promise, done) {
+            promise.then(function () { done(); }, done);
+        }
+
+        // These are for clarity and to bypass Chai refusing to allow `undefined` as actual when used with `assert`.
+        function assertIfNegated(assertion, message, extra) {
+            assertion.assert(true, null, message, extra.expected, extra.actual);
+        }
+
+        function assertIfNotNegated(assertion, message, extra) {
+            assertion.assert(false, message, null, extra.expected, extra.actual);
+        }
+
+        function getBasePromise(assertion) {
+            // We need to chain subsequent asserters on top of ones in the chain already (consider
+            // `eventually.have.property("foo").that.equals("bar")`), only running them after the existing ones pass.
+            // So the first base-promise is `assertion._obj`, but after that we use the assertions themselves, i.e.
+            // previously derived promises, to chain off of.
+            return typeof assertion.then === "function" ? assertion : assertion._obj;
+        }
+
+        // Grab these first, before we modify `Assertion.prototype`.
+
+        var propertyNames = Object.getOwnPropertyNames(Assertion.prototype);
+
+        var propertyDescs = {};
+        propertyNames.forEach(function (name) {
+            propertyDescs[name] = Object.getOwnPropertyDescriptor(Assertion.prototype, name);
+        });
+
+        property("fulfilled", function () {
+            var that = this;
+            var derivedPromise = getBasePromise(that).then(
+                function (value) {
+                    that._obj = value;
+                    assertIfNegated(that,
+                                    "expected promise not to be fulfilled but it was fulfilled with #{act}",
+                                    { actual: value });
+                    return value;
+                },
+                function (reason) {
+                    assertIfNotNegated(that,
+                                       "expected promise to be fulfilled but it was rejected with #{act}",
+                                       { actual: reason });
+                }
+            );
+
+            chaiAsPromised.transferPromiseness(that, derivedPromise);
+        });
+
+        property("rejected", function () {
+            var that = this;
+            var derivedPromise = getBasePromise(that).then(
+                function (value) {
+                    that._obj = value;
+                    assertIfNotNegated(that,
+                                       "expected promise to be rejected but it was fulfilled with #{act}",
+                                       { actual: value });
+                    return value;
+                },
+                function (reason) {
+                    assertIfNegated(that,
+                                    "expected promise not to be rejected but it was rejected with #{act}",
+                                    { actual: reason });
+
+                    // Return the reason, transforming this into a fulfillment, to allow further assertions, e.g.
+                    // `promise.should.be.rejected.and.eventually.equal("reason")`.
+                    return reason;
+                }
+            );
+
+            chaiAsPromised.transferPromiseness(that, derivedPromise);
+        });
+
+        method("rejectedWith", function (Constructor, message) {
+            var desiredReason = null;
+            var constructorName = null;
+
+            if (Constructor instanceof RegExp || typeof Constructor === "string") {
+                message = Constructor;
+                Constructor = null;
+            } else if (Constructor && Constructor instanceof Error) {
+                desiredReason = Constructor;
+                Constructor = null;
+                message = null;
+            } else if (typeof Constructor === "function") {
+                constructorName = (new Constructor()).name;
+            } else {
+                Constructor = null;
+            }
+
+            var that = this;
+            var derivedPromise = getBasePromise(that).then(
+                function (value) {
+                    var assertionMessage = null;
+                    var expected = null;
+
+                    if (Constructor) {
+                        assertionMessage = "expected promise to be rejected with #{exp} but it was fulfilled with " +
+                                           "#{act}";
+                        expected = constructorName;
+                    } else if (message) {
+                        var verb = message instanceof RegExp ? "matching" : "including";
+                        assertionMessage = "expected promise to be rejected with an error " + verb + " #{exp} but it " +
+                                           "was fulfilled with #{act}";
+                        expected = message;
+                    } else if (desiredReason) {
+                        assertionMessage = "expected promise to be rejected with #{exp} but it was fulfilled with " +
+                                           "#{act}";
+                        expected = desiredReason;
+                    }
+
+                    that._obj = value;
+
+                    assertIfNotNegated(that, assertionMessage, { expected: expected, actual: value });
+                },
+                function (reason) {
+                    if (Constructor) {
+                        that.assert(reason instanceof Constructor,
+                                    "expected promise to be rejected with #{exp} but it was rejected with #{act}",
+                                    "expected promise not to be rejected with #{exp} but it was rejected with #{act}",
+                                    constructorName,
+                                    reason);
+                    }
+
+                    var reasonMessage = utils.type(reason) === "object" && "message" in reason ?
+                                            reason.message :
+                                            "" + reason;
+                    if (message && reasonMessage !== null && reasonMessage !== undefined) {
+                        if (message instanceof RegExp) {
+                            that.assert(message.test(reasonMessage),
+                                        "expected promise to be rejected with an error matching #{exp} but got #{act}",
+                                        "expected promise not to be rejected with an error matching #{exp}",
+                                        message,
+                                        reasonMessage);
+                        }
+                        if (typeof message === "string") {
+                            that.assert(reasonMessage.indexOf(message) !== -1,
+                                        "expected promise to be rejected with an error including #{exp} but got #{act}",
+                                        "expected promise not to be rejected with an error including #{exp}",
+                                        message,
+                                        reasonMessage);
+                        }
+                    }
+
+                    if (desiredReason) {
+                        that.assert(reason === desiredReason,
+                                    "expected promise to be rejected with #{exp} but it was rejected with #{act}",
+                                    "expected promise not to be rejected with #{exp}",
+                                    desiredReason,
+                                    reason);
+                    }
+                }
+            );
+
+            chaiAsPromised.transferPromiseness(that, derivedPromise);
+        });
+
+        property("eventually", function () {
+            utils.flag(this, "eventually", true);
+        });
+
+        method("notify", function (done) {
+            doNotify(getBasePromise(this), done);
+        });
+
+        method("become", function (value) {
+            return this.eventually.deep.equal(value);
+        });
+
+        ////////
+        // `eventually`
+
+        // We need to be careful not to trigger any getters, thus `Object.getOwnPropertyDescriptor` usage.
+        var methodNames = propertyNames.filter(function (name) {
+            return name !== "assert" && typeof propertyDescs[name].value === "function";
+        });
+
+        methodNames.forEach(function (methodName) {
+            Assertion.overwriteMethod(methodName, function (originalMethod) {
+                return function () {
+                    doAsserterAsyncAndAddThen(originalMethod, this, arguments);
+                };
+            });
+        });
+
+        var getterNames = propertyNames.filter(function (name) {
+            return name !== "_obj" && typeof propertyDescs[name].get === "function";
+        });
+
+        getterNames.forEach(function (getterName) {
+            var propertyDesc = propertyDescs[getterName];
+
+            // Chainable methods are things like `an`, which can work both for `.should.be.an.instanceOf` and as
+            // `should.be.an("object")`. We need to handle those specially.
+            var isChainableMethod = false;
+            try {
+                isChainableMethod = typeof propertyDesc.get.call({}) === "function";
+            } catch (e) { }
+
+            if (isChainableMethod) {
+                Assertion.addChainableMethod(
+                    getterName,
+                    function () {
+                        var assertion = this;
+                        function originalMethod() {
+                            return propertyDesc.get.call(assertion).apply(assertion, arguments);
+                        }
+                        doAsserterAsyncAndAddThen(originalMethod, this, arguments);
+                    },
+                    function () {
+                        var originalGetter = propertyDesc.get;
+                        doAsserterAsyncAndAddThen(originalGetter, this);
+                    }
+                );
+            } else {
+                Assertion.overwriteProperty(getterName, function (originalGetter) {
+                    return function () {
+                        doAsserterAsyncAndAddThen(originalGetter, this);
+                    };
+                });
+            }
+        });
+
+        function doAsserterAsyncAndAddThen(asserter, assertion, args) {
+            // Since we're intercepting all methods/properties, we need to just pass through if they don't want
+            // `eventually`, or if we've already fulfilled the promise (see below).
+            if (!utils.flag(assertion, "eventually")) {
+                return asserter.apply(assertion, args);
+            }
+
+            var derivedPromise = getBasePromise(assertion).then(function (value) {
+                // Set up the environment for the asserter to actually run: `_obj` should be the fulfillment value, and
+                // now that we have the value, we're no longer in "eventually" mode, so we won't run any of this code,
+                // just the base Chai code that we get to via the short-circuit above.
+                assertion._obj = value;
+                utils.flag(assertion, "eventually", false);
+
+                return args ? chaiAsPromised.transformAsserterArgs(args) : args;
+            }).then(function (args) {
+                asserter.apply(assertion, args);
+
+                // Because asserters, for example `property`, can change the value of `_obj` (i.e. change the "object"
+                // flag), we need to communicate this value change to subsequent chained asserters. Since we build a
+                // promise chain paralleling the asserter chain, we can use it to communicate such changes.
+                return assertion._obj;
+            });
+
+            chaiAsPromised.transferPromiseness(assertion, derivedPromise);
+        }
+
+        ///////
+        // Now use the `Assertion` framework to build an `assert` interface.
+        var originalAssertMethods = Object.getOwnPropertyNames(assert).filter(function (propName) {
+            return typeof assert[propName] === "function";
+        });
+
+        assert.isFulfilled = function (promise, message) {
+            return (new Assertion(promise, message)).to.be.fulfilled;
+        };
+
+        assert.isRejected = function (promise, toTestAgainst, message) {
+            if (typeof toTestAgainst === "string") {
+                message = toTestAgainst;
+                toTestAgainst = undefined;
+            }
+
+            var assertion = (new Assertion(promise, message));
+            return toTestAgainst !== undefined ? assertion.to.be.rejectedWith(toTestAgainst) : assertion.to.be.rejected;
+        };
+
+        assert.becomes = function (promise, value, message) {
+            return assert.eventually.deepEqual(promise, value, message);
+        };
+
+        assert.doesNotBecome = function (promise, value, message) {
+            return assert.eventually.notDeepEqual(promise, value, message);
+        };
+
+        assert.eventually = {};
+        originalAssertMethods.forEach(function (assertMethodName) {
+            assert.eventually[assertMethodName] = function (promise) {
+                var otherArgs = Array.prototype.slice.call(arguments, 1);
+
+                var customRejectionHandler;
+                var message = arguments[assert[assertMethodName].length - 1];
+                if (typeof message === "string") {
+                    customRejectionHandler = function (reason) {
+                        throw new chai.AssertionError(message + "\n\nOriginal reason: " + utils.inspect(reason));
+                    };
+                }
+
+                var returnedPromise = promise.then(
+                    function (fulfillmentValue) {
+                        return assert[assertMethodName].apply(assert, [fulfillmentValue].concat(otherArgs));
+                    },
+                    customRejectionHandler
+                );
+
+                returnedPromise.notify = function (done) {
+                    doNotify(returnedPromise, done);
+                };
+
+                return returnedPromise;
+            };
+        });
+    }
+}());
--- a/browser/components/nsBrowserGlue.js
+++ b/browser/components/nsBrowserGlue.js
@@ -1424,17 +1424,17 @@ BrowserGlue.prototype = {
     if (autoExportHTML) {
       // Sqlite.jsm and Places shutdown happen at profile-before-change, thus,
       // to be on the safe side, this should run earlier.
       AsyncShutdown.profileChangeTeardown.addBlocker(
         "Places: export bookmarks.html",
         () => BookmarkHTMLUtils.exportToFile(BookmarkHTMLUtils.defaultPath));
     }
 
-    Task.spawn(function() {
+    Task.spawn(function* () {
       // Check if Safe Mode or the user has required to restore bookmarks from
       // default profile's bookmarks.html
       let restoreDefaultBookmarks = false;
       try {
         restoreDefaultBookmarks =
           Services.prefs.getBoolPref("browser.bookmarks.restore_default_bookmarks");
         if (restoreDefaultBookmarks) {
           // Ensure that we already have a bookmarks backup for today.
@@ -1500,33 +1500,31 @@ BrowserGlue.prototype = {
         }
         else if (yield OS.File.exists(BookmarkHTMLUtils.defaultPath)) {
           bookmarksUrl = OS.Path.toFileURI(BookmarkHTMLUtils.defaultPath);
         }
 
         if (bookmarksUrl) {
           // Import from bookmarks.html file.
           try {
-            BookmarkHTMLUtils.importFromURL(bookmarksUrl, true).then(null,
-              function onFailure() {
-                Cu.reportError("Bookmarks.html file could be corrupt.");
-              }
-            ).then(
-              function onComplete() {
-                // Now apply distribution customized bookmarks.
-                // This should always run after Places initialization.
-                this._distributionCustomizer.applyBookmarks();
-                // Ensure that smart bookmarks are created once the operation is
-                // complete.
-                this.ensurePlacesDefaultQueriesInitialized();
-              }.bind(this)
-            );
-          } catch (err) {
-            Cu.reportError("Bookmarks.html file could be corrupt. " + err);
+            yield BookmarkHTMLUtils.importFromURL(bookmarksUrl, true);
+          } catch (e) {
+            Cu.reportError("Bookmarks.html file could be corrupt. " + e);
           }
+          try {
+            // Now apply distribution customized bookmarks.
+            // This should always run after Places initialization.
+            this._distributionCustomizer.applyBookmarks();
+            // Ensure that smart bookmarks are created once the operation is
+            // complete.
+            this.ensurePlacesDefaultQueriesInitialized();
+          } catch (e) {
+            Cu.reportError(e);
+          }
+
         }
         else {
           Cu.reportError("Unable to find bookmarks.html file.");
         }
 
         // Reset preferences, so we won't try to import again at next run
         if (importBookmarksHTML)
           Services.prefs.setBoolPref("browser.places.importBookmarksHTML", false);
--- a/browser/components/places/tests/unit/head_bookmarks.js
+++ b/browser/components/places/tests/unit/head_bookmarks.js
@@ -73,32 +73,16 @@ const SMART_BOOKMARKS_ANNO = "Places/Sma
 
 function checkItemHasAnnotation(guid, name) {
   return PlacesUtils.promiseItemId(guid).then(id => {
     let hasAnnotation = PlacesUtils.annotations.itemHasAnnotation(id, name);
     Assert.ok(hasAnnotation, `Expected annotation ${name}`);
   });
 }
 
-function waitForImportAndSmartBookmarks() {
-  return Promise.all([
-    promiseTopicObserved("bookmarks-restore-success"),
-    PlacesTestUtils.promiseAsyncUpdates()
-  ]);
-}
-
-function promiseEndUpdateBatch() {
-  return new Promise(resolve => {
-    PlacesUtils.bookmarks.addObserver({
-      __proto__: NavBookmarkObserver.prototype,
-      onEndUpdateBatch: resolve
-    }, false);
-  });
-}
-
 let createCorruptDB = Task.async(function* () {
   let dbPath = OS.Path.join(OS.Constants.Path.profileDir, "places.sqlite");
   yield OS.File.remove(dbPath);
 
   // Create a corrupt database.
   let dir = yield OS.File.getCurrentDirectory();
   let src = OS.Path.join(dir, "corruptDB.sqlite");
   yield OS.File.copy(src, dbPath);
--- a/browser/components/places/tests/unit/test_browserGlue_corrupt.js
+++ b/browser/components/places/tests/unit/test_browserGlue_corrupt.js
@@ -36,17 +36,17 @@ add_task(function* test_main() {
 
   // Check the database was corrupt.
   // nsBrowserGlue uses databaseStatus to manage initialization.
   Assert.equal(PlacesUtils.history.databaseStatus,
                PlacesUtils.history.DATABASE_STATUS_CORRUPT);
 
   // The test will continue once restore has finished and smart bookmarks
   // have been created.
-  yield promiseEndUpdateBatch();
+  yield promiseTopicObserved("places-browser-init-complete");
 
   let bm = yield PlacesUtils.bookmarks.fetch({
     parentGuid: PlacesUtils.bookmarks.toolbarGuid,
     index: 0
   });
   yield checkItemHasAnnotation(bm.guid, SMART_BOOKMARKS_ANNO);
 
   // Check that JSON backup has been restored.
--- a/browser/components/places/tests/unit/test_browserGlue_corrupt_nobackup.js
+++ b/browser/components/places/tests/unit/test_browserGlue_corrupt_nobackup.js
@@ -30,17 +30,17 @@ add_task(function* () {
 
   // Check the database was corrupt.
   // nsBrowserGlue uses databaseStatus to manage initialization.
   Assert.equal(PlacesUtils.history.databaseStatus,
                PlacesUtils.history.DATABASE_STATUS_CORRUPT);
 
   // The test will continue once import has finished and smart bookmarks
   // have been created.
-  yield promiseEndUpdateBatch();
+  yield promiseTopicObserved("places-browser-init-complete");
 
   let bm = yield PlacesUtils.bookmarks.fetch({
     parentGuid: PlacesUtils.bookmarks.toolbarGuid,
     index: 0
   });
   yield checkItemHasAnnotation(bm.guid, SMART_BOOKMARKS_ANNO);
 
   // Check that bookmarks html has been restored.
--- a/browser/components/places/tests/unit/test_browserGlue_corrupt_nobackup_default.js
+++ b/browser/components/places/tests/unit/test_browserGlue_corrupt_nobackup_default.js
@@ -28,17 +28,17 @@ add_task(function* () {
 
   // Check the database was corrupt.
   // nsBrowserGlue uses databaseStatus to manage initialization.
   Assert.equal(PlacesUtils.history.databaseStatus,
                PlacesUtils.history.DATABASE_STATUS_CORRUPT);
 
   // The test will continue once import has finished and smart bookmarks
   // have been created.
-  yield promiseEndUpdateBatch();
+  yield promiseTopicObserved("places-browser-init-complete");
 
   let bm = yield PlacesUtils.bookmarks.fetch({
     parentGuid: PlacesUtils.bookmarks.toolbarGuid,
     index: 0
   });
   yield checkItemHasAnnotation(bm.guid, SMART_BOOKMARKS_ANNO);
 
   // Check that default bookmarks have been restored.
--- a/browser/components/places/tests/unit/test_browserGlue_migrate.js
+++ b/browser/components/places/tests/unit/test_browserGlue_migrate.js
@@ -35,17 +35,17 @@ add_task(function* test_migrate_bookmark
   yield PlacesUtils.bookmarks.insert({
     parentGuid: PlacesUtils.bookmarks.menuGuid,
     index: PlacesUtils.bookmarks.DEFAULT_INDEX,
     type: PlacesUtils.bookmarks.TYPE_BOOKMARK,
     url: "http://mozilla.org/",
     title: "migrated"
   });
 
-  let promise = promiseEndUpdateBatch();
+  let promise = promiseTopicObserved("places-browser-init-complete");
   bg.observe(null, "initial-migration-did-import-default-bookmarks", null);
   yield promise;
 
   let bm = yield PlacesUtils.bookmarks.fetch({
     parentGuid: PlacesUtils.bookmarks.toolbarGuid,
     index: 0
   });
   yield checkItemHasAnnotation(bm.guid, SMART_BOOKMARKS_ANNO);
--- a/browser/components/places/tests/unit/test_browserGlue_prefs.js
+++ b/browser/components/places/tests/unit/test_browserGlue_prefs.js
@@ -33,21 +33,19 @@ do_register_cleanup(function () {
   remove_bookmarks_html();
   remove_all_JSON_backups();
 
   return PlacesUtils.bookmarks.eraseEverything();
 });
 
 function simulatePlacesInit() {
   do_print("Simulate Places init");
-  let promise = waitForImportAndSmartBookmarks();
-
   // Force nsBrowserGlue::_initPlaces().
   bg.observe(null, TOPIC_BROWSERGLUE_TEST, TOPICDATA_FORCE_PLACES_INIT);
-  return promise;
+  return promiseTopicObserved("places-browser-init-complete");
 }
 
 add_task(function* test_checkPreferences() {
   // Initialize Places through the History Service and check that a new
   // database has been created.
   Assert.equal(PlacesUtils.history.databaseStatus,
                PlacesUtils.history.DATABASE_STATUS_CREATE);
 
--- a/browser/components/places/tests/unit/test_browserGlue_restore.js
+++ b/browser/components/places/tests/unit/test_browserGlue_restore.js
@@ -39,17 +39,17 @@ add_task(function* test_main() {
            getService(Ci.nsINavHistoryService);
 
   // Check a new database has been created.
   // nsBrowserGlue uses databaseStatus to manage initialization.
   Assert.equal(hs.databaseStatus, hs.DATABASE_STATUS_CREATE);
 
   // The test will continue once restore has finished and smart bookmarks
   // have been created.
-  yield promiseEndUpdateBatch();
+  yield promiseTopicObserved("places-browser-init-complete");
 
   let bm = yield PlacesUtils.bookmarks.fetch({
     parentGuid: PlacesUtils.bookmarks.toolbarGuid,
     index: 0
   });
   yield checkItemHasAnnotation(bm.guid, SMART_BOOKMARKS_ANNO);
 
   // Check that JSON backup has been restored.
--- a/browser/components/places/tests/unit/test_browserGlue_smartBookmarks.js
+++ b/browser/components/places/tests/unit/test_browserGlue_smartBookmarks.js
@@ -65,18 +65,16 @@ add_task(function* setup() {
 
   // Wait for Places init notification.
   yield promiseTopicObserved("places-browser-init-complete");
 
   // Ensure preferences status.
   Assert.ok(!Services.prefs.getBoolPref(PREF_AUTO_EXPORT_HTML));
   Assert.ok(!Services.prefs.getBoolPref(PREF_RESTORE_DEFAULT_BOOKMARKS));
   Assert.throws(() => Services.prefs.getBoolPref(PREF_IMPORT_BOOKMARKS_HTML));
-
-  yield waitForImportAndSmartBookmarks();
 });
 
 add_task(function* test_version_0() {
   do_print("All smart bookmarks are created if smart bookmarks version is 0.");
 
   // Sanity check: we should have default bookmark.
   Assert.ok(yield PlacesUtils.bookmarks.fetch({
     parentGuid: PlacesUtils.bookmarks.toolbarGuid,
--- a/browser/components/preferences/in-content/sync.js
+++ b/browser/components/preferences/in-content/sync.js
@@ -232,16 +232,21 @@ let gSyncPane = {
     Services.obs.notifyObservers(null, "fxa-migration:state-request", null);
 
     let service = Components.classes["@mozilla.org/weave/service;1"]
                   .getService(Components.interfaces.nsISupports)
                   .wrappedJSObject;
     // service.fxAccountsEnabled is false iff sync is already configured for
     // the legacy provider.
     if (service.fxAccountsEnabled) {
+      // unhide the reading-list engine if readinglist is enabled (note we do
+      // it here as it must remain disabled for legacy sync users)
+      if (Services.prefs.getBoolPref("browser.readinglist.enabled")) {
+        document.getElementById("readinglist-engine").removeAttribute("hidden");
+      }
       // determine the fxa status...
       this.page = PAGE_PLEASE_WAIT;
       fxAccounts.getSignedInUser().then(data => {
         if (!data) {
           this.page = FXA_PAGE_LOGGED_OUT;
           return;
         }
         this.page = FXA_PAGE_LOGGED_IN;
@@ -367,16 +372,29 @@ let gSyncPane = {
         }
         document.getElementById("sync-migration").hidden = true;
         return;
     }
     document.getElementById("sync-migration").hidden = false;
     document.getElementById("sync-migration-deck").selectedIndex = selIndex;
   },
 
+  // Called whenever one of the sync engine preferences is changed.
+  onPreferenceChanged: function() {
+    let prefElts = document.querySelectorAll("#syncEnginePrefs > preference");
+    let syncEnabled = false;
+    for (let elt of prefElts) {
+      if (elt.name.startsWith("services.sync.") && elt.value) {
+        syncEnabled = true;
+        break;
+      }
+    }
+    Services.prefs.setBoolPref("services.sync.enabled", syncEnabled);
+  },
+
   startOver: function (showDialog) {
     if (showDialog) {
       let flags = Services.prompt.BUTTON_POS_0 * Services.prompt.BUTTON_TITLE_IS_STRING +
                   Services.prompt.BUTTON_POS_1 * Services.prompt.BUTTON_TITLE_CANCEL + 
                   Services.prompt.BUTTON_POS_1_DEFAULT;
       let buttonChoice =
         Services.prompt.confirmEx(window,
                                   this._stringBundle.GetStringFromName("syncUnlink.title"),
--- a/browser/components/preferences/in-content/sync.xul
+++ b/browser/components/preferences/in-content/sync.xul
@@ -1,15 +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/.
 
 <!-- Sync panel -->
 
-<preferences hidden="true" data-category="paneSync">
+<preferences id="syncEnginePrefs" hidden="true" data-category="paneSync"
+             onchange="gSyncPane.onPreferenceChanged();">
   <preference id="engine.addons"
               name="services.sync.engine.addons"
               type="bool"/>
   <preference id="engine.bookmarks"
               name="services.sync.engine.bookmarks"
               type="bool"/>
   <preference id="engine.history"
               name="services.sync.engine.history"
@@ -18,16 +19,20 @@
               name="services.sync.engine.tabs"
               type="bool"/>
   <preference id="engine.prefs"
               name="services.sync.engine.prefs"
               type="bool"/>
   <preference id="engine.passwords"
               name="services.sync.engine.passwords"
               type="bool"/>
+  <!-- non Sync-Engine engines -->
+  <preference id="engine.readinglist"
+              name="readinglist.scheduler.enabled"
+              type="bool"/>
 </preferences>
 
 <script type="application/javascript"
         src="chrome://browser/content/preferences/in-content/sync.js"/>
 <script type="application/javascript"
         src="chrome://browser/content/sync/utils.js"/>
 
 <hbox id="header-sync"
@@ -285,16 +290,21 @@
                     accesskey="&engine.bookmarks.accesskey;"
                     preference="engine.bookmarks"/>
           <checkbox label="&engine.passwords.label;"
                     accesskey="&engine.passwords.accesskey;"
                     preference="engine.passwords"/>
           <checkbox label="&engine.history.label;"
                     accesskey="&engine.history.accesskey;"
                     preference="engine.history"/>
+          <checkbox id="readinglist-engine"
+                    label="&engine.readinglist.label;"
+                    accesskey="&engine.readinglist.accesskey;"
+                    preference="engine.readinglist"
+                    hidden="true"/>
           <checkbox label="&engine.addons.label;"
                     accesskey="&engine.addons.accesskey;"
                     preference="engine.addons"/>
           <checkbox label="&engine.prefs.label;"
                     accesskey="&engine.prefs.accesskey;"
                     preference="engine.prefs"/>
         </vbox>
         <spacer/>
--- a/browser/components/preferences/sync.js
+++ b/browser/components/preferences/sync.js
@@ -49,16 +49,36 @@ let gSyncPane = {
   needsUpdate: function () {
     this.page = PAGE_NEEDS_UPDATE;
     let label = document.getElementById("loginError");
     label.value = Weave.Utils.getErrorString(Weave.Status.login);
     label.className = "error";
   },
 
   init: function () {
+    // We use a preference observer to notice changes to the Sync engines
+    // enabled state - other techniques are problematic due to the window
+    // being instant-apply on Mac etc but modal on Windows.
+    let prefObserver = () => {
+      // If all our Sync engines are disabled we flip the "master" Sync-enabled pref.
+      let prefElts = document.querySelectorAll("#syncEnginePrefs > preference");
+      let syncEnabled = false;
+      for (let elt of prefElts) {
+        if (elt.name.startsWith("services.sync.") && elt.value) {
+          syncEnabled = true;
+          break;
+        }
+      }
+      Services.prefs.setBoolPref("services.sync.enabled", syncEnabled);
+    }
+    Services.prefs.addObserver("services.sync.engine.", prefObserver, false);
+    window.addEventListener("unload", () => {
+      Services.prefs.removeObserver("services.sync.engine.", prefObserver);
+    }, false);
+
     // If the Service hasn't finished initializing, wait for it.
     let xps = Components.classes["@mozilla.org/weave/service;1"]
                                 .getService(Components.interfaces.nsISupports)
                                 .wrappedJSObject;
 
     if (xps.ready) {
       this._init();
       return;
@@ -131,16 +151,21 @@ let gSyncPane = {
     Services.obs.notifyObservers(null, "fxa-migration:state-request", null);
 
     let service = Components.classes["@mozilla.org/weave/service;1"]
                   .getService(Components.interfaces.nsISupports)
                   .wrappedJSObject;
     // service.fxAccountsEnabled is false iff sync is already configured for
     // the legacy provider.
     if (service.fxAccountsEnabled) {
+      // unhide the reading-list engine if readinglist is enabled (note we do
+      // it here as it must remain disabled for legacy sync users)
+      if (Services.prefs.getBoolPref("browser.readinglist.enabled")) {
+        document.getElementById("readinglist-engine").removeAttribute("hidden");
+      }
       // determine the fxa status...
       this.page = PAGE_PLEASE_WAIT;
       fxAccounts.getSignedInUser().then(data => {
         if (!data) {
           this.page = FXA_PAGE_LOGGED_OUT;
           return;
         }
         this.page = FXA_PAGE_LOGGED_IN;
--- a/browser/components/preferences/sync.xul
+++ b/browser/components/preferences/sync.xul
@@ -16,23 +16,25 @@
 <overlay id="SyncPaneOverlay"
          xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
          xmlns:html="http://www.w3.org/1999/xhtml">
 
   <prefpane id="paneSync"
             helpTopic="prefs-weave"
             onpaneload="gSyncPane.init()">
 
-    <preferences>
+    <preferences id="syncEnginePrefs">
       <preference id="engine.addons"    name="services.sync.engine.addons"    type="bool"/>
       <preference id="engine.bookmarks" name="services.sync.engine.bookmarks" type="bool"/>
       <preference id="engine.history"   name="services.sync.engine.history"   type="bool"/>
       <preference id="engine.tabs"      name="services.sync.engine.tabs"      type="bool"/>
       <preference id="engine.prefs"     name="services.sync.engine.prefs"     type="bool"/>
       <preference id="engine.passwords" name="services.sync.engine.passwords" type="bool"/>
+      <!-- non Sync-Engine engines -->
+      <preference id="engine.readinglist" name="readinglist.scheduler.enabled" type="bool"/>
     </preferences>
 
 
     <script type="application/javascript"
             src="chrome://browser/content/preferences/sync.js"/>
     <script type="application/javascript"
             src="chrome://browser/content/sync/utils.js"/>
 
@@ -280,31 +282,43 @@
           </groupbox>
 
           <groupbox id="syncOptions">
             <caption label="&syncBrand.shortName.label;"/>
             <hbox id="fxaSyncEngines">
               <vbox>
                 <checkbox label="&engine.tabs.label;"
                           accesskey="&engine.tabs.accesskey;"
+                          onsynctopreference="gSyncPane.onPreferenceChanged();"
                           preference="engine.tabs"/>
                 <checkbox label="&engine.bookmarks.label;"
                           accesskey="&engine.bookmarks.accesskey;"
+                          onsynctopreference="gSyncPane.onPreferenceChanged();"
                           preference="engine.bookmarks"/>
                 <checkbox label="&engine.passwords.label;"
                           accesskey="&engine.passwords.accesskey;"
+                          onsynctopreference="gSyncPane.onPreferenceChanged();"
                           preference="engine.passwords"/>
                 <checkbox label="&engine.history.label;"
                           accesskey="&engine.history.accesskey;"
+                          onsynctopreference="gSyncPane.onPreferenceChanged(this);"
                           preference="engine.history"/>
+                <!-- onpreferencechanged not needed for the readinglist engine -->
+                <checkbox id="readinglist-engine"
+                          label="&engine.readinglist.label;"
+                          accesskey="&engine.readinglist.accesskey;"
+                          preference="engine.readinglist"
+                          hidden="true"/>
                 <checkbox label="&engine.addons.label;"
                           accesskey="&engine.addons.accesskey;"
+                          onsynctopreference="gSyncPane.onPreferenceChanged();"
                           preference="engine.addons"/>
                 <checkbox label="&engine.prefs.label;"
                           accesskey="&engine.prefs.accesskey;"
+                          onsynctopreference="gSyncPane.onPreferenceChanged();"
                           preference="engine.prefs"/>
               </vbox>
               <spacer/>
             </hbox>
           </groupbox>
           <hbox align="center">
             <label value="&syncDeviceName.label;"
                    accesskey="&syncDeviceName.accesskey;"
--- a/browser/components/readinglist/ReadingList.jsm
+++ b/browser/components/readinglist/ReadingList.jsm
@@ -37,16 +37,17 @@ let log = Log.repository.getLogger("read
 const ITEM_BASIC_PROPERTY_NAMES = `
   guid
   lastModified
   url
   title
   resolvedURL
   resolvedTitle
   excerpt
+  preview
   status
   favorite
   isArticle
   wordCount
   unread
   addedBy
   addedOn
   storedOn
@@ -284,34 +285,32 @@ ReadingListImpl.prototype = {
     let url = normalizeURI(uri).spec;
     let [item] = yield this.iterator({url: url}, {resolvedURL: url}).items(1);
     return item;
   }),
 
    /**
    * Add to the ReadingList the page that is loaded in a given browser.
    *
-   * @param {<xul:browser>} browser - Browser element for the document.
+   * @param {<xul:browser>} browser - Browser element for the document,
+   * used to get metadata about the article.
+   * @param {nsIURI/string} url - url to add to the reading list.
    * @return {Promise} Promise that is fullfilled with the added item.
    */
-  addItemFromBrowser: Task.async(function* (browser) {
+  addItemFromBrowser: Task.async(function* (browser, url) {
     let metadata = yield getMetadataFromBrowser(browser);
     let itemData = {
-      url: browser.currentURI,
+      url: url,
       title: metadata.title,
       resolvedURL: metadata.url,
       excerpt: metadata.description,
     };
 
-    if (metadata.description) {
-      itemData.exerpt = metadata.description;
-    }
-
     if (metadata.previews.length > 0) {
-      itemData.image = metadata.previews[0];
+      itemData.preview = metadata.previews[0];
     }
 
     let item = yield ReadingList.addItem(itemData);
     return item;
   }),
 
   /**
    * Adds a listener that will be notified when the list changes.  Listeners
@@ -709,16 +708,24 @@ ReadingListItem.prototype = {
   get readPosition() {
     return this._properties.readPosition;
   },
   set readPosition(val) {
     this._properties.readPosition = val;
   },
 
   /**
+   * The URL to a preview image.
+   * @type string
+   */
+   get preview() {
+     return this._properties.preview;
+   },
+
+  /**
    * Sets the given properties of the item, optionally calling list.updateItem().
    *
    * @param props A simple object containing the properties to set.
    * @param update If true, updateItem() is called for this item.
    * @return Promise<null> If update is true, resolved when the update
    *         completes; otherwise resolved immediately.
    */
   setProperties: Task.async(function* (props, update=true) {
@@ -911,14 +918,14 @@ function getMetadataFromBrowser(browser)
     mm.addMessageListener("PageMetadata:PageDataResult", handleResult);
     mm.sendAsyncMessage("PageMetadata:GetPageData");
   });
 }
 
 Object.defineProperty(this, "ReadingList", {
   get() {
     if (!this._singleton) {
-      let store = new SQLiteStore("reading-list-temp.sqlite");
+      let store = new SQLiteStore("reading-list-temp2.sqlite");
       this._singleton = new ReadingListImpl(store);
     }
     return this._singleton;
   },
 });
--- a/browser/components/readinglist/SQLiteStore.jsm
+++ b/browser/components/readinglist/SQLiteStore.jsm
@@ -199,17 +199,18 @@ this.SQLiteStore.prototype = {
         isArticle BOOLEAN,
         wordCount INTEGER,
         unread BOOLEAN,
         addedBy TEXT,
         addedOn INTEGER,
         storedOn INTEGER,
         markedReadBy TEXT,
         markedReadOn INTEGER,
-        readPosition INTEGER
+        readPosition INTEGER,
+        preview TEXT
       );
     `);
     yield conn.execute(`
       CREATE INDEX items_addedOn ON items (addedOn);
     `);
     yield conn.execute(`
       CREATE INDEX items_unread ON items (unread);
     `);
--- a/browser/components/readinglist/Scheduler.jsm
+++ b/browser/components/readinglist/Scheduler.jsm
@@ -167,16 +167,20 @@ InternalScheduler.prototype = {
   // Is the current error state such that we shouldn't schedule a new sync.
   _isBlockedOnError() {
     // this needs more thought...
     return this.state == this.STATE_ERROR_AUTHENTICATION;
   },
 
   // canSync indicates if we can currently sync.
   _canSync(ignoreBlockingErrors = false) {
+    if (!prefs.get("enabled")) {
+      this.log.info("canSync=false - syncing is disabled");
+      return false;
+    }
     if (Services.io.offline) {
       this.log.info("canSync=false - we are offline");
       return false;
     }
     if (!ignoreBlockingErrors && this._isBlockedOnError()) {
       this.log.info("canSync=false - we are in a blocked error state", this.state);
       return false;
     }
--- a/browser/components/readinglist/sidebar.js
+++ b/browser/components/readinglist/sidebar.js
@@ -134,16 +134,22 @@ let RLSidebar = {
    * @param {Element} itemNode - Element to update.
    */
   updateItem(item, itemNode) {
     itemNode.setAttribute("id", "item-" + item.id);
     itemNode.setAttribute("title", `${item.title}\n${item.url}`);
 
     itemNode.querySelector(".item-title").textContent = item.title;
     itemNode.querySelector(".item-domain").textContent = item.domain;
+    let thumb = itemNode.querySelector(".item-thumb-container");
+    if (item.preview) {
+      thumb.style.backgroundImage = "url(" + item.preview + ")";
+    } else {
+      thumb.style.removeProperty("background-image");
+    }
   },
 
   /**
    * Ensure that the list is populated with the correct items.
    */
   ensureListItems: Task.async(function* () {
     yield ReadingList.forEachItem(item => {
       // TODO: Should be batch inserting via DocumentFragment
@@ -160,17 +166,17 @@ let RLSidebar = {
    * Get the number of items currently displayed in the list.
    * @type {number}
    */
   get numItems() {
     return this.list.childElementCount;
   },
 
   /**
-   * The currently active element in the list.
+   * The list item displayed in the current tab.
    * @type {Element}
    */
   get activeItem() {
     return document.querySelector("#list > .item.active");
   },
 
   set activeItem(node) {
     if (node && node.parentNode != this.list) {
@@ -199,17 +205,17 @@ let RLSidebar = {
       node.classList.add("active");
     }
 
     let event = new CustomEvent("ActiveItemChanged", {bubbles: true});
     this.list.dispatchEvent(event);
   },
 
   /**
-   * The currently selected item in the list.
+   * The list item selected with the keyboard.
    * @type {Element}
    */
   get selectedItem() {
     return document.querySelector("#list > .item.selected");
   },
 
   set selectedItem(node) {
     if (node && node.parentNode != this.list) {
@@ -361,25 +367,24 @@ let RLSidebar = {
       return;
     }
 
     this.activeItem = itemNode;
     this.openActiveItem(event);
   },
 
   /**
-   * Handle a mousemove event over the list box.
+   * Handle a mousemove event over the list box:
+   * If the hovered item isn't the selected one, clear the selection.
    * @param {Event} event - Triggering event.
    */
   onListMouseMove(event) {
     let itemNode = this.findParentItemNode(event.target);
-    if (!itemNode)
-      return;
-
-    this.selectedItem = itemNode;
+    if (itemNode != this.selectedItem)
+      this.selectedItem = null;
   },
 
   /**
    * Handle a keydown event on the list box.
    * @param {Event} event - Triggering event.
    */
   onListKeyDown(event) {
     if (event.keyCode == KeyEvent.DOM_VK_DOWN) {
--- a/browser/themes/linux/browser.css
+++ b/browser/themes/linux/browser.css
@@ -1623,17 +1623,21 @@ richlistitem[type~="action"][actiontype=
   -moz-image-region: rect(28px, 28px, 42px, 14px);
 }
 
 /* Popup blocker button */
 #page-report-button {
   list-style-image: url("chrome://browser/skin/Info.png");
 }
 
-%include ../shared/readinglist.inc.css
+%include ../shared/readinglist/readinglist.inc.css
+
+#readinglist-addremove-button {
+  padding: 0 2px;
+}
 
 /* Reader mode button */
 
 #reader-mode-button {
   -moz-appearance: none;
   padding: 0;
   list-style-image: url("chrome://browser/skin/reader-mode-16.png");
   -moz-image-region: rect(0, 16px, 16px, 0);
--- a/browser/themes/osx/browser.css
+++ b/browser/themes/osx/browser.css
@@ -2522,17 +2522,23 @@ richlistitem[type~="action"][actiontype=
   }
 
   #page-report-button:hover:active,
   #page-report-button[open="true"] {
     -moz-image-region: rect(0, 64px, 32px, 32px);
   }
 }
 
-%include ../shared/readinglist.inc.css
+%include ../shared/readinglist/readinglist.inc.css
+
+#readinglist-addremove-button {
+  padding: 3px;
+  -moz-padding-start: 2px;
+  -moz-padding-end: 1px;
+}
 
 /* Reader mode button */
 
 #reader-mode-button {
   -moz-appearance: none;
   padding: 0;
   list-style-image: url("chrome://browser/skin/reader-mode-16.png");
   -moz-image-region: rect(0, 16px, 16px, 0);
--- a/browser/themes/shared/customizableui/panelUIOverlay.inc.css
+++ b/browser/themes/shared/customizableui/panelUIOverlay.inc.css
@@ -500,17 +500,17 @@ toolbarpaletteitem[place="palette"] > to
 #PanelUI-customize,
 #PanelUI-quit {
   margin: 0;
   padding: 11px 0;
   box-sizing: border-box;
   min-height: 40px;
   -moz-appearance: none;
   box-shadow: none;
-  border: none;  
+  border: none;
   border-radius: 0;
   transition: background-color;
   -moz-box-orient: horizontal;
 }
 
 #PanelUI-update-status,
 #PanelUI-fxa-status {
   border-top: 1px solid hsla(210,4%,10%,.14);
@@ -791,17 +791,17 @@ panelview .toolbarbutton-1,
 .widget-overflow-list .toolbarbutton-1 {
   margin-top: 6px;
 }
 
 panelview .toolbarbutton-1@buttonStateHover@,
 toolbarbutton.subviewbutton@buttonStateHover@,
 menu.subviewbutton@menuStateHover@,
 menuitem.subviewbutton@menuStateHover@,
-.share-provider-button@buttonStateHover@,
+.share-provider-button@buttonStateHover@:not([checked="true"]),
 .widget-overflow-list .toolbarbutton-1@buttonStateHover@,
 .toolbaritem-combined-buttons@inAnyPanel@ > toolbarbutton@buttonStateHover@ {
   background-color: hsla(210,4%,10%,.08);
   border-color: hsla(210,4%,10%,.11);
 }
 
 .toolbaritem-combined-buttons@inAnyPanel@@buttonStateHover@ {
   border-color: hsla(210,4%,10%,.11);
--- a/browser/themes/shared/readinglist/icons.svg
+++ b/browser/themes/shared/readinglist/icons.svg
@@ -8,50 +8,49 @@
      xml:space="preserve">
 
   <defs>
     <style type="text/css">
       use:not(:target) {
         display: none;
       }
 
-      #addpage {
+      #addpage, #alreadyadded {
         fill: #808080;
       }
-      #addpage-hover {
+      #addpage-hover, #alreadyadded-hover {
         fill: #555555;
       }
-      #addpage-active {
-        fill: #0095DD;
-      }
-
-      #alreadyadded {
+      #addpage-active, #alreadyadded-active {
         fill: #0095DD;
       }
-      #alreadyadded-hover {
-        fill: #555555;
-      }
-      #alreadyadded-active {
-        fill: #808080;
-      }
     </style>
 
     <mask id="plus-mask">
       <rect width="100%" height="100%" fill="white"/>
       <rect x="4" y="7.5" width="8" height="1"/>
       <rect x="7.5" y="4" width="1" height="8"/>
     </mask>
 
+    <mask id="minus-mask">
+      <rect width="100%" height="100%" fill="white"/>
+      <rect x="4" y="7.5" width="8" height="1"/>
+    </mask>
+
     <g id="addpage-shape">
       <circle cx="8" cy="8" r="7" mask="url(#plus-mask)"/>
     </g>
 
+    <g id="removepage-shape">
+      <circle cx="8" cy="8" r="7" mask="url(#minus-mask)"/>
+    </g>
+
   </defs>
 
   <use id="addpage"                 xlink:href="#addpage-shape"/>
   <use id="addpage-hover"           xlink:href="#addpage-shape"/>
   <use id="addpage-active"          xlink:href="#addpage-shape"/>
 
-  <use id="alreadyadded"            xlink:href="#addpage-shape"/>
-  <use id="alreadyadded-hover"      xlink:href="#addpage-shape"/>
-  <use id="alreadyadded-active"     xlink:href="#addpage-shape"/>
+  <use id="alreadyadded"            xlink:href="#removepage-shape"/>
+  <use id="alreadyadded-hover"      xlink:href="#removepage-shape"/>
+  <use id="alreadyadded-active"     xlink:href="#removepage-shape"/>
 
 </svg>
rename from browser/themes/shared/readinglist.inc.css
rename to browser/themes/shared/readinglist/readinglist.inc.css
--- a/browser/themes/shared/readinglist.inc.css
+++ b/browser/themes/shared/readinglist/readinglist.inc.css
@@ -1,38 +1,40 @@
 /* Reading List button */
 
+#urlbar:not([focused]):not(:hover) #readinglist-addremove-button {
+  display: none;
+}
+
 #readinglist-addremove-button {
   -moz-appearance: none;
   border: none;
   list-style-image: url("chrome://browser/skin/readinglist/icons.svg#addpage");
-  padding: 3px;
 }
 
 #readinglist-addremove-button:hover {
   border: none;
 }
 
 #readinglist-addremove-button > .toolbarbutton-icon {
-  width: 16px;
-  height: 16px
+  width: 14px;
+  height: 14px
 }
 
-#readinglist-addremove-button:not([already-added="true"]):hover {
+#readinglist-addremove-button:hover {
   list-style-image: url("chrome://browser/skin/readinglist/icons.svg#addpage-hover");
 }
 
-#readinglist-addremove-button:not([already-added="true"]):active {
+#readinglist-addremove-button:active {
   list-style-image: url("chrome://browser/skin/readinglist/icons.svg#addpage-active");
 }
 
 #readinglist-addremove-button[already-added="true"] {
   list-style-image: url("chrome://browser/skin/readinglist/icons.svg#alreadyadded");
 }
 
 #readinglist-addremove-button[already-added="true"]:hover {
   list-style-image: url("chrome://browser/skin/readinglist/icons.svg#alreadyadded-hover");
 }
 
 #readinglist-addremove-button[already-added="true"]:active {
   list-style-image: url("chrome://browser/skin/readinglist/icons.svg#alreadyadded-active");
 }
-
--- a/browser/themes/shared/readinglist/sidebar.inc.css
+++ b/browser/themes/shared/readinglist/sidebar.inc.css
@@ -42,20 +42,24 @@ body {
   background: #FDFDFD;
 }
 
 .item-thumb-container {
   min-width: 64px;
   max-width: 64px;
   min-height: 40px;
   max-height: 40px;
-  background: #EBEBEB;
   border: 1px solid white;
   box-shadow: 0px 1px 2px rgba(0,0,0,.35);
   margin: 5px;
+  background-color: #fff;
+  background-size: contain;
+  background-repeat: no-repeat;
+  background-position: center;
+  background-image: url("chrome://branding/content/silhouette-40.svg");
 }
 
 .item-summary-container {
   display: flex;
   flex-flow: column;
   -moz-padding-start: 4px;
   overflow: hidden;
   flex-grow: 1;
@@ -79,20 +83,21 @@ body {
   max-height: 1.4em;
   color: #0095DD;
 }
 
 .item:hover .item-domain {
   color: #008ACB;
 }
 
-.item:not(:hover) .remove-button {
+.item:not(:hover):not(.selected) .remove-button {
   display: none;
 }
 
 .remove-button {
+  padding: 0;
   width: 16px;
   height: 16px;
   background-size: contain;
   background-color: transparent;
   border-width: 0;
 }
 
--- a/browser/themes/windows/browser.css
+++ b/browser/themes/windows/browser.css
@@ -1571,17 +1571,21 @@ richlistitem[type~="action"][actiontype=
   -moz-image-region: rect(0, 32px, 16px, 16px);
 }
 
 #page-report-button:hover:active,
 #page-report-button[open="true"] {
   -moz-image-region: rect(0, 48px, 16px, 32px);
 }
 
-%include ../shared/readinglist.inc.css
+%include ../shared/readinglist/readinglist.inc.css
+
+#readinglist-addremove-button {
+  padding: 0 2px;
+}
 
 /* Reader mode button */
 
 #reader-mode-button {
   -moz-appearance: none;
   padding: 0;
   list-style-image: url("chrome://browser/skin/reader-mode-16.png");
   -moz-image-region: rect(0, 16px, 16px, 0);
--- a/dom/locales/en-US/chrome/plugins.properties
+++ b/dom/locales/en-US/chrome/plugins.properties
@@ -20,12 +20,12 @@ mimetype_label=MIME Type
 description_label=Description
 suffixes_label=Suffixes
 learn_more_label=Learn More
 
 # GMP Plugins
 gmp_license_info=License information
 
 openH264_name=OpenH264 Video Codec provided by Cisco Systems, Inc.
-openH264_description=Play back web video and use video chats.
+openH264_description2=This plugin is automatically installed by Mozilla to comply with the WebRTC specification and to enable WebRTC calls with devices that require the H.264 video codec. Visit http://www.openh264.org/ to view the codec source code and learn more about the implementation.
 
 eme-adobe_name=Primetime Content Decryption Module provided by Adobe Systems, Incorporated
 eme-adobe_description=Play back protected web video.
--- a/mobile/android/base/locales/en-US/android_strings.dtd
+++ b/mobile/android/base/locales/en-US/android_strings.dtd
@@ -181,16 +181,30 @@
 
 <!ENTITY pref_tracking_protection_title "Tracking protection">
 <!ENTITY pref_tracking_protection_summary "&brandShortName; will prevent sites from tracking you">
 <!ENTITY pref_donottrack_title "Do not track">
 <!ENTITY pref_donottrack_summary "&brandShortName; will tell sites that you do not want to be tracked">
 
 <!ENTITY tab_queue_toast_message "Open later">
 <!ENTITY tab_queue_toast_action "Open now">
+<!-- Localization note (tab_queue_notification_text_plural) : The
+     formatD is replaced with the number of tabs queued.  The
+     number of tabs queued is always more than one.  We can't use
+     Android plural forms, sadly. See Bug #753859. -->
+<!ENTITY tab_queue_notification_text_plural "&formatD; tabs queued">
+<!-- Localization note (tab_queue_notification_title_plural) : This is the
+     title of a notification; we expect more than one tab queued. -->
+<!ENTITY tab_queue_notification_title_plural "Tabs Queued">
+<!-- Localization note (tab_queue_notification_title_singular) : This is the
+     title of a notification; we expect only one tab queued. -->
+<!ENTITY tab_queue_notification_title_singular "Tab Queued">
+<!-- Localization note (tab_queue_notification_text_singular) : This is the
+     text of a notification; we expect only one tab queued. -->
+<!ENTITY tab_queue_notification_text_singular "1 tab queued">
 
 <!ENTITY pref_char_encoding "Character encoding">
 <!ENTITY pref_char_encoding_on "Show menu">
 <!ENTITY pref_char_encoding_off "Don\'t show menu">
 <!ENTITY pref_clear_private_data2 "Clear now">
 <!ENTITY pref_clear_private_data_category "Clear private data">
 <!ENTITY pref_clear_on_exit_title2 "Clear on exit">
 <!ENTITY pref_clear_on_exit_summary2 "&brandShortName; will automatically clear your data whenever you select \u0022Quit\u0022 from the main menu">
--- a/mobile/android/base/resources/values/ids.xml
+++ b/mobile/android/base/resources/values/ids.xml
@@ -1,12 +1,13 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- 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/. -->
 
 <resources>
 
+    <item type="id" name="tabQueueNotification"/>
     <item type="id" name="guestNotification"/>
     <item type="id" name="original_height"/>
     <item type="id" name="menu_items"/>
 
 </resources>
--- a/mobile/android/base/strings.xml.in
+++ b/mobile/android/base/strings.xml.in
@@ -236,16 +236,20 @@
   <string name="pref_update_autodownload_disabled">&pref_update_autodownload_never;</string>
   <string name="pref_update_autodownload_enabled">&pref_update_autodownload_always;</string>
 
   <string name="pref_tab_queue_title">&pref_tab_queue_title;</string>
   <string name="pref_tab_queue_summary">&pref_tab_queue_summary;</string>
 
   <string name="tab_queue_toast_message">&tab_queue_toast_message;</string>
   <string name="tab_queue_toast_action">&tab_queue_toast_action;</string>
+  <string name="tab_queue_notification_text_singular">&tab_queue_notification_text_singular;</string>
+  <string name="tab_queue_notification_text_plural">&tab_queue_notification_text_plural;</string>
+  <string name="tab_queue_notification_title_singular">&tab_queue_notification_title_singular;</string>
+  <string name="tab_queue_notification_title_plural">&tab_queue_notification_title_plural;</string>
 
   <string name="pref_about_firefox">&pref_about_firefox;</string>
   <string name="pref_vendor_faqs">&pref_vendor_faqs;</string>
   <string name="pref_vendor_feedback">&pref_vendor_feedback;</string>
 
   <string name="pref_dialog_set_default">&pref_dialog_set_default;</string>
   <string name="pref_default">&pref_dialog_default;</string>
   <string name="pref_dialog_remove">&pref_dialog_remove;</string>
--- a/mobile/android/base/tabqueue/TabQueueHelper.java
+++ b/mobile/android/base/tabqueue/TabQueueHelper.java
@@ -1,40 +1,80 @@
 /* -*- Mode: Java; c-basic-offset: 4; tab-width: 4; indent-tabs-mode: nil; -*-
  * 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/. */
 
 package org.mozilla.gecko.tabqueue;
 
+import android.app.NotificationManager;
+import android.app.PendingIntent;
+import android.content.Context;
+import android.content.Intent;
+import android.content.res.Resources;
+import android.support.v4.app.NotificationCompat;
+import org.json.JSONArray;
+import org.mozilla.gecko.BrowserApp;
 import org.mozilla.gecko.GeckoProfile;
+import org.mozilla.gecko.R;
 import org.mozilla.gecko.util.ThreadUtils;
 
-import android.text.TextUtils;
-import android.util.Log;
-import org.json.JSONArray;
-import org.json.JSONException;
-
-import java.io.IOException;
-
 public class TabQueueHelper {
     private static final String LOGTAG = "Gecko" + TabQueueHelper.class.getSimpleName();
 
     public static final String FILE_NAME = "tab_queue_url_list.json";
+    public static final String LOAD_URLS_ACTION = "TAB_QUEUE_LOAD_URLS_ACTION";
+    public static final int TAB_QUEUE_NOTIFICATION_ID = R.id.tabQueueNotification;
 
     /**
      * Reads file and converts any content to JSON, adds passed in URL to the data and writes back to the file,
      * creating the file if it doesn't already exist.  This should not be run on the UI thread.
      *
      * @param profile
      * @param url      URL to add
      * @param filename filename to add URL to
+     * @return the number of tabs currently queued
      */
-    public static void queueURL(final GeckoProfile profile, final String url, final String filename) {
+    public static int queueURL(final GeckoProfile profile, final String url, final String filename) {
         ThreadUtils.assertNotOnUiThread();
 
         JSONArray jsonArray = profile.readJSONArrayFromFile(filename);
 
         jsonArray.put(url);
 
         profile.writeFile(filename, jsonArray.toString());
+
+        return jsonArray.length();
+    }
+
+    /**
+     * Displays a notification showing the total number of tabs queue.  If there is already a notification displayed, it
+     * will be replaced.
+     *
+     * @param context
+     * @param tabsQueued
+     */
+    static public void showNotification(Context context, int tabsQueued) {
+        Intent resultIntent = new Intent(context, BrowserApp.class);
+        resultIntent.setAction(TabQueueHelper.LOAD_URLS_ACTION);
+
+        PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, resultIntent, PendingIntent.FLAG_CANCEL_CURRENT);
+
+        String title, text;
+        final Resources resources = context.getResources();
+        if(tabsQueued == 1) {
+            title = resources.getString(R.string.tab_queue_notification_title_singular);
+            text = resources.getString(R.string.tab_queue_notification_text_singular);
+        } else {
+            title = resources.getString(R.string.tab_queue_notification_title_plural);
+            text = resources.getString(R.string.tab_queue_notification_text_plural, tabsQueued);
+        }
+
+        NotificationCompat.Builder builder = new NotificationCompat.Builder(context)
+                                                                   .setSmallIcon(R.drawable.ic_status_logo)
+                                                                   .setContentTitle(title)
+                                                                   .setContentText(text)
+                                                                   .setContentIntent(pendingIntent);
+
+        NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
+        notificationManager.notify(TabQueueHelper.TAB_QUEUE_NOTIFICATION_ID, builder.build());
     }
 }
\ No newline at end of file
--- a/mobile/android/base/tabqueue/TabQueueService.java
+++ b/mobile/android/base/tabqueue/TabQueueService.java
@@ -1,16 +1,17 @@
 /* -*- Mode: Java; c-basic-offset: 4; tab-width: 4; indent-tabs-mode: nil; -*-
  * 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/. */
 
 package org.mozilla.gecko.tabqueue;
 
 import android.app.Service;
+import android.content.Context;
 import android.content.Intent;
 import android.content.res.Resources;
 import android.graphics.PixelFormat;
 import android.os.Handler;
 import android.os.HandlerThread;
 import android.os.IBinder;
 import android.util.Log;
 import android.view.Gravity;
@@ -155,18 +156,20 @@ public class TabQueueService extends Ser
         }
         final ContextUtils.SafeIntent safeIntent = new ContextUtils.SafeIntent(intent);
         final String intentData = safeIntent.getDataString();
 
         // As we're doing disk IO, let's run this stuff in a separate thread.
         executorService.submit(new Runnable() {
             @Override
             public void run() {
-                final GeckoProfile profile = GeckoProfile.get(getApplicationContext());
-                TabQueueHelper.queueURL(profile, intentData, filename);
+                Context applicationContext = getApplicationContext();
+                final GeckoProfile profile = GeckoProfile.get(applicationContext);
+                int tabsQueued = TabQueueHelper.queueURL(profile, intentData, filename);
+                TabQueueHelper.showNotification(applicationContext, tabsQueued);
             }
         });
     }
 
     @Override
     public void onDestroy() {
         super.onDestroy();
         tabQueueHandler = null;
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
@@ -4580,19 +4580,16 @@ pref("media.gmp-manager.cert.requireBuil
 // the |media.gmp-manager.url.override| preference should ONLY be used for testing.
 // IMPORTANT! app.update.certs.* prefs should also be updated if these
 // are updated.
 pref("media.gmp-manager.cert.checkAttributes", true);
 pref("media.gmp-manager.certs.1.issuerName", "CN=DigiCert Secure Server CA,O=DigiCert Inc,C=US");
 pref("media.gmp-manager.certs.1.commonName", "aus4.mozilla.org");
 pref("media.gmp-manager.certs.2.issuerName", "CN=Thawte SSL CA,O=\"Thawte, Inc.\",C=US");
 pref("media.gmp-manager.certs.2.commonName", "aus4.mozilla.org");
-
-// Adobe EME is currently pref'd off by default and hidden in the addon manager.
-pref("media.gmp-eme-adobe.hidden", true);
 #endif
 
 // Whether or not to perform reader mode article parsing on page load.
 // If this pref is disabled, we will never show a reader mode icon in the toolbar.
 pref("reader.parse-on-load.enabled", true);
 
 // Force-enables reader mode parsing, even on low-memory platforms, where it
 // is disabled by default.
--- a/services/sync/modules/browserid_identity.js
+++ b/services/sync/modules/browserid_identity.js
@@ -277,17 +277,17 @@ this.BrowserIDManager.prototype = {
     switch (topic) {
     case fxAccountsCommon.ONLOGIN_NOTIFICATION:
       // This should only happen if we've been initialized without a current
       // user - otherwise we'd have seen the LOGOUT notification and been
       // thrown away.
       // The exception is when we've initialized with a user that needs to
       // reauth with the server - in that case we will also get here, but
       // should have the same identity.
-      // initializeWithCurrentIdentity will throw and log if these contraints
+      // initializeWithCurrentIdentity will throw and log if these constraints
       // aren't met, so just go ahead and do the init.
       this.initializeWithCurrentIdentity(true);
       break;
 
     case fxAccountsCommon.ONLOGOUT_NOTIFICATION:
       Weave.Service.startOver();
       // startOver will cause this instance to be thrown away, so there's
       // nothing else to do.
--- a/services/sync/modules/service.js
+++ b/services/sync/modules/service.js
@@ -300,16 +300,31 @@ Sync11Service.prototype = {
 
         this._log.info("Downloaded new keys, client reset. Proceeding.");
       }
       return true;
     }
     return false;
   },
 
+  // The global "enabled" state comes from prefs, and will be set to false
+  // whenever the UI that exposes what to sync finds all Sync engines disabled.
+  get enabled() {
+    return Svc.Prefs.get("enabled");
+  },
+  set enabled(val) {
+    // There's no real reason to impose this other than to catch someone doing
+    // something we don't expect with bad consequences - all setting of this
+    // pref are in the UI code and external to this module.
+    if (val) {
+      throw new Error("Only disabling via this setter is supported");
+    }
+    Svc.Prefs.set("enabled", val);
+  },
+
   /**
    * Prepare to initialize the rest of Weave after waiting a little bit
    */
   onStartup: function onStartup() {
     this._migratePrefs();
 
     // Status is instantiated before us and is the first to grab an instance of
     // the IdentityManager. We use that instance because IdentityManager really
@@ -329,18 +344,16 @@ Sync11Service.prototype = {
     this._log.level =
       Log.Level[Svc.Prefs.get("log.logger.service.main")];
 
     this._log.info("Loading Weave " + WEAVE_VERSION);
 
     this._clusterManager = this.identity.createClusterManager(this);
     this.recordManager = new RecordManager(this);
 
-    this.enabled = true;
-
     this._registerEngines();
 
     let ua = Cc["@mozilla.org/network/protocol;1?name=http"].
       getService(Ci.nsIHttpProtocolHandler).userAgent;
     this._log.info(ua);
 
     if (!this._checkCrypto()) {
       this.enabled = false;
@@ -1240,16 +1253,20 @@ Sync11Service.prototype = {
 
     if (ignore && ignore.indexOf(reason) != -1)
       return "";
 
     return reason;
   },
 
   sync: function sync() {
+    if (!this.enabled) {
+      this._log.debug("Not syncing as Sync is disabled.");
+      return;
+    }
     let dateStr = new Date().toLocaleFormat(LOG_DATE_FORMAT);
     this._log.debug("User-Agent: " + SyncStorageRequest.prototype.userAgent);
     this._log.info("Starting sync at " + dateStr);
     this._catch(function () {
       // Make sure we're logged in.
       if (this._shouldLogin()) {
         this._log.debug("In sync: should login.");
         if (!this.login()) {
--- a/services/sync/services-sync.js
+++ b/services/sync/services-sync.js
@@ -19,16 +19,21 @@ pref("services.sync.scheduler.activeInte
 pref("services.sync.scheduler.immediateInterval",    90);    // 1.5 minutes
 pref("services.sync.scheduler.idleTime",             300);   // 5 minutes
 
 pref("services.sync.scheduler.fxa.singleDeviceInterval",     3600); // 1 hour
 pref("services.sync.scheduler.sync11.singleDeviceInterval", 86400); // 1 day
 
 pref("services.sync.errorhandler.networkFailureReportTimeout", 1209600); // 2 weeks
 
+// A "master" pref for Sync being enabled. Will be set to false if the sync
+// customization UI finds all our builtin engines disabled (and addons are
+// free to force this to true if they have their own engine)
+pref("services.sync.enabled", true);
+// Our engines.
 pref("services.sync.engine.addons", true);
 pref("services.sync.engine.bookmarks", true);
 pref("services.sync.engine.history", true);
 pref("services.sync.engine.passwords", true);
 pref("services.sync.engine.prefs", true);
 pref("services.sync.engine.tabs", true);
 pref("services.sync.engine.tabs.filteredUrls", "^(about:.*|chrome://weave/.*|wyciwyg:.*|file:.*)$");
 
--- a/services/sync/tests/unit/test_service_login.js
+++ b/services/sync/tests/unit/test_service_login.js
@@ -178,17 +178,17 @@ add_test(function test_login_on_sync() {
     // and checkSyncStatus reflects that by waiting for login.
     //
     // This process doesn't apply if your MP is still locked, so we make
     // checkSyncStatus accept a locked MP in place of being logged in.
     //
     // This test exercises these two branches.
 
     _("We're ready to sync if locked.");
-    Service.enabled = true;
+    Svc.Prefs.set("enabled", true);
     Services.io.offline = false;
     Service.scheduler.checkSyncStatus();
     do_check_true(scheduleCalled);
 
     _("... and also if we're not locked.");
     scheduleCalled = false;
     mpLocked = false;
     Service.scheduler.checkSyncStatus();
--- a/testing/mochitest/BrowserTestUtils/BrowserTestUtils.jsm
+++ b/testing/mochitest/BrowserTestUtils/BrowserTestUtils.jsm
@@ -14,42 +14,73 @@
 this.EXPORTED_SYMBOLS = [
   "BrowserTestUtils",
 ];
 
 const {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components;
 
 Cu.import("resource://gre/modules/XPCOMUtils.jsm");
 Cu.import("resource://gre/modules/Services.jsm");
+Cu.import("resource://gre/modules/Task.jsm");
 Cu.import("resource://gre/modules/Timer.jsm");
 Cu.import("resource://testing-common/TestUtils.jsm");
 
 Cc["@mozilla.org/globalmessagemanager;1"]
   .getService(Ci.nsIMessageListenerManager)
   .loadFrameScript(
     "chrome://mochikit/content/tests/BrowserTestUtils/content-utils.js", true);
 
-
-/**
- * Default wait period in millseconds, when waiting for the expected
- * event to occur.
- * @type {number}
- */
-const DEFAULT_WAIT = 2000;
-
-
 this.BrowserTestUtils = {
   /**
+   * Loads a page in a new tab, executes a Task and closes the tab.
+   *
+   * @param options
+   *        An object with the following properties:
+   *        {
+   *          gBrowser:
+   *            Reference to the "tabbrowser" element where the new tab should
+   *            be opened.
+   *          url:
+   *            String with the URL of the page to load.
+   *        }
+   * @param taskFn
+   *        Generator function representing a Task that will be executed while
+   *        the tab is loaded. The first argument passed to the function is a
+   *        reference to the browser object for the new tab.
+   *
+   * @return {Promise}
+   * @resolves When the tab has been closed.
+   * @rejects Any exception from taskFn is propagated.
+   */
+  withNewTab: Task.async(function* (options, taskFn) {
+    let tab = options.gBrowser.addTab(options.url);
+    yield BrowserTestUtils.browserLoaded(tab.linkedBrowser);
+    options.gBrowser.selectedTab = tab;
+
+    yield taskFn(tab.linkedBrowser);
+
+    options.gBrowser.removeTab(tab);
+  }),
+
+  /**
+   * Waits for an ongoing page load in a browser window to complete.
+   *
+   * This can be used in conjunction with any synchronous method for starting a
+   * load, like the "addTab" method on "tabbrowser", and must be called before
+   * yielding control to the event loop. This is guaranteed to work because the
+   * way we're listening for the load is in the content-utils.js frame script,
+   * and then sending an async message up, so we can't miss the message.
+   *
    * @param {xul:browser} browser
    *        A xul:browser.
    * @param {Boolean} includeSubFrames
    *        A boolean indicating if loads from subframes should be included.
+   *
    * @return {Promise}
-   *         A Promise which resolves when a load event is triggered
-   *         for browser.
+   * @resolves When a load event is triggered for the browser.
    */
   browserLoaded(browser, includeSubFrames=false) {
     return new Promise(resolve => {
       browser.messageManager.addMessageListener("browser-test-utils:loadEvent",
                                                  function onLoad(msg) {
         if (!msg.data.subframe || includeSubFrames) {
           browser.messageManager.removeMessageListener(
             "browser-test-utils:loadEvent", onLoad);
@@ -123,56 +154,56 @@ this.BrowserTestUtils = {
           resolve();
         }
       }
       Services.ww.registerNotification(observer);
       win.close();
     });
   },
 
-
   /**
-   * Waits a specified number of miliseconds for a specified event to be
-   * fired on a specified element.
+   * Waits for an event to be fired on a specified element.
    *
    * Usage:
-   *    let receivedEvent = BrowserTestUtil.waitForEvent(element, "eventName");
+   *    let promiseEvent = BrowserTestUtil.waitForEvent(element, "eventName");
    *    // Do some processing here that will cause the event to be fired
    *    // ...
    *    // Now yield until the Promise is fulfilled
-   *    yield receivedEvent;
-   *    if (receivedEvent && !(receivedEvent instanceof Error)) {
-   *      receivedEvent.msg == "eventName";
-   *      // ...
-   *    }
+   *    let receivedEvent = yield promiseEvent;
    *
-   * @param {Element} subject - The element that should receive the event.
-   * @param {string} eventName - The event to wait for.
-   * @param {number} timeoutMs - The number of miliseconds to wait before giving up.
-   * @param {Element} target - Expected target of the event.
-   * @returns {Promise} A Promise that resolves to the received event, or
-   *                    rejects with an Error.
+   * @param {Element} subject
+   *        The element that should receive the event.
+   * @param {string} eventName
+   *        Name of the event to listen to.
+   * @param {function} checkFn [optional]
+   *        Called with the Event object as argument, should return true if the
+   *        event is the expected one, or false if it should be ignored and
+   *        listening should continue. If not specified, the first event with
+   *        the specified name resolves the returned promise.
+   *
+   * @note Because this function is intended for testing, any error in checkFn
+   *       will cause the returned promise to be rejected instead of waiting for
+   *       the next event, since this is probably a bug in the test.
+   *
+   * @returns {Promise}
+   * @resolves The Event object.
    */
-  waitForEvent(subject, eventName, timeoutMs, target) {
+  waitForEvent(subject, eventName, checkFn) {
     return new Promise((resolve, reject) => {
-      function listener(event) {
-        if (target && target !== event.target) {
-          return;
+      subject.addEventListener(eventName, function listener(event) {
+        try {
+          if (checkFn && !checkFn(event)) {
+            return;
+          }
+          subject.removeEventListener(eventName, listener);
+          resolve(event);
+        } catch (ex) {
+          try {
+            subject.removeEventListener(eventName, listener);
+          } catch (ex2) {
+            // Maybe the provided object does not support removeEventListener.
+          }
+          reject(ex);
         }
-
-        subject.removeEventListener(eventName, listener);
-        clearTimeout(timerID);
-        resolve(event);
-      }
-
-      timeoutMs = timeoutMs || DEFAULT_WAIT;
-      let stack = new Error().stack;
-
-      let timerID = setTimeout(() => {
-        subject.removeEventListener(eventName, listener);
-        reject(new Error(`${eventName} event timeout at ${stack}`));
-      }, timeoutMs);
-
-
-      subject.addEventListener(eventName, listener);
+      });
     });
   },
 };
--- a/testing/modules/TestUtils.jsm
+++ b/testing/modules/TestUtils.jsm
@@ -44,23 +44,21 @@ this.TestUtils = {
    *
    * @return {Promise}
    * @resolves The array [subject, data] from the observed notification.
    */
   topicObserved(topic, checkFn) {
     return new Promise((resolve, reject) => {
       Services.obs.addObserver(function observer(subject, topic, data) {
         try {
-          try {
-            if (checkFn && !checkFn(subject, data)) {
-              return;
-            }
-          } finally {
-            Services.obs.removeObserver(observer, topic);
+          if (checkFn && !checkFn(subject, data)) {
+            return;
           }
+          Services.obs.removeObserver(observer, topic);
           resolve([subject, data]);
         } catch (ex) {
+          Services.obs.removeObserver(observer, topic);
           reject(ex);
         }
       }, topic, false);
     });
   },
 };
--- a/toolkit/components/passwordmgr/moz.build
+++ b/toolkit/components/passwordmgr/moz.build
@@ -4,16 +4,20 @@
 # 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/.
 
 MOCHITEST_MANIFESTS += ['test/mochitest.ini']
 MOCHITEST_CHROME_MANIFESTS += ['test/chrome.ini']
 BROWSER_CHROME_MANIFESTS += ['test/browser/browser.ini']
 XPCSHELL_TESTS_MANIFESTS += ['test/unit/xpcshell.ini']
 
+TESTING_JS_MODULES += [
+    'test/LoginTestUtils.jsm',
+]
+
 XPIDL_SOURCES += [
     'nsILoginInfo.idl',
     'nsILoginManager.idl',
     'nsILoginManagerCrypto.idl',
     'nsILoginManagerPrompter.idl',
     'nsILoginManagerStorage.idl',
     'nsILoginMetaInfo.idl',
 ]
--- a/toolkit/components/passwordmgr/nsLoginManagerPrompter.js
+++ b/toolkit/components/passwordmgr/nsLoginManagerPrompter.js
@@ -801,29 +801,23 @@ LoginManagerPrompter.prototype = {
     var neverButtonText =
           this._getLocalizedString("notifyBarNeverRememberButtonText");
     var neverButtonAccessKey =
           this._getLocalizedString("notifyBarNeverRememberButtonAccessKey");
     var rememberButtonText =
           this._getLocalizedString("notifyBarRememberPasswordButtonText");
     var rememberButtonAccessKey =
           this._getLocalizedString("notifyBarRememberPasswordButtonAccessKey");
+    var usernamePlaceholder =
+          this._getLocalizedString("noUsernamePlaceholder");
 
     var displayHost = this._getShortDisplayHost(aLogin.hostname);
-    var notificationText;
-    if (aLogin.username) {
-      var displayUser = this._sanitizeUsername(aLogin.username);
-      notificationText  = this._getLocalizedString(
-                                  "rememberPasswordMsg",
-                                  [displayUser, displayHost]);
-    } else {
-      notificationText  = this._getLocalizedString(
+    var notificationText = this._getLocalizedString(
                                   "rememberPasswordMsgNoUsername",
                                   [displayHost]);
-    }
 
     // The callbacks in |buttons| have a closure to access the variables
     // in scope here; set one to |this._pwmgr| so we can get back to pwmgr
     // without a getService() call.
     var pwmgr = this._pwmgr;
     let promptHistogram = Services.telemetry.getHistogramById("PWMGR_PROMPT_REMEMBER_ACTION");
 
     // Notification is a PopupNotification
@@ -849,22 +843,38 @@ LoginManagerPrompter.prototype = {
             pwmgr.setLoginSavingEnabled(aLogin.hostname, false);
             browser.focus();
           }
         }
       ];
 
       var { browser } = this._getNotifyWindow();
 
+      let eventCallback = function (topic) {
+        if (topic != "showing") {
+          return false;
+        }
+
+        let chromeDoc = this.browser.ownerDocument;
+
+        chromeDoc.getElementById("password-notification-username")
+                 .setAttribute("placeholder", usernamePlaceholder);
+        chromeDoc.getElementById("password-notification-username")
+                 .setAttribute("value", aLogin.username);
+        chromeDoc.getElementById("password-notification-password")
+                 .setAttribute("value", aLogin.password);
+      };
+
       aNotifyObj.show(browser, "password", notificationText,
                       "password-notification-icon", mainAction,
                       secondaryActions,
                       { timeout: Date.now() + 10000,
                         persistWhileVisible: true,
-                        passwordNotificationType: "password-save" });
+                        passwordNotificationType: "password-save",
+                        eventCallback });
     } else {
       var notNowButtonText =
             this._getLocalizedString("notifyBarNotNowButtonText");
       var notNowButtonAccessKey =
             this._getLocalizedString("notifyBarNotNowButtonAccessKey");
       var buttons = [
         // "Remember" button
         {
@@ -1011,31 +1021,28 @@ LoginManagerPrompter.prototype = {
    * _showChangeLoginNotification
    *
    * Shows the Change Password notification bar or popup notification.
    *
    * @param aNotifyObj
    *        A notification box or a popup notification.
    */
   _showChangeLoginNotification : function (aNotifyObj, aOldLogin, aNewPassword) {
-    var notificationText;
-    if (aOldLogin.username) {
-      var displayUser = this._sanitizeUsername(aOldLogin.username);
-      notificationText  = this._getLocalizedString(
-                                    "updatePasswordMsg",
-                                    [displayUser]);
-    } else {
-      notificationText  = this._getLocalizedString(
-                                    "updatePasswordMsgNoUser");
-    }
-
     var changeButtonText =
           this._getLocalizedString("notifyBarUpdateButtonText");
     var changeButtonAccessKey =
           this._getLocalizedString("notifyBarUpdateButtonAccessKey");
+    var usernamePlaceholder =
+          this._getLocalizedString("noUsernamePlaceholder");
+
+    // We reuse the existing message, even if it expects a username, until we
+    // switch to the final terminology in bug 1144856.
+    var displayHost = this._getShortDisplayHost(aOldLogin.hostname);
+    var notificationText = this._getLocalizedString("updatePasswordMsg",
+                                                    [displayHost]);
 
     // The callbacks in |buttons| have a closure to access the variables
     // in scope here; set one to |this._pwmgr| so we can get back to pwmgr
     // without a getService() call.
     var self = this;
 
     let promptHistogram = Services.telemetry.getHistogramById("PWMGR_PROMPT_UPDATE_ACTION");
     // Notification is a PopupNotification
@@ -1048,22 +1055,38 @@ LoginManagerPrompter.prototype = {
         callback:  function(aNotifyObj, aButton) {
           self._updateLogin(aOldLogin, aNewPassword);
           promptHistogram.add(PROMPT_UPDATE);
         }
       };
 
       var { browser } = this._getNotifyWindow();
 
+      let eventCallback = function (topic) {
+        if (topic != "showing") {
+          return false;
+        }
+
+        let chromeDoc = this.browser.ownerDocument;
+
+        chromeDoc.getElementById("password-notification-username")
+                 .setAttribute("placeholder", usernamePlaceholder);
+        chromeDoc.getElementById("password-notification-username")
+                 .setAttribute("value", aOldLogin.username);
+        chromeDoc.getElementById("password-notification-password")
+                 .setAttribute("value", aNewPassword);
+      };
+
       Services.telemetry.getHistogramById("PWMGR_PROMPT_UPDATE_ACTION").add(PROMPT_DISPLAYED);
       aNotifyObj.show(browser, "password", notificationText,
                       "password-notification-icon", mainAction,
                       null, { timeout: Date.now() + 10000,
                               persistWhileVisible: true,
-                              passwordNotificationType: "password-change" });
+                              passwordNotificationType: "password-change",
+                              eventCallback });
     } else {
       var dontChangeButtonText =
             this._getLocalizedString("notifyBarDontChangeButtonText");
       var dontChangeButtonAccessKey =
             this._getLocalizedString("notifyBarDontChangeButtonAccessKey");
       var buttons = [
         // "Yes" button
         {
copy from toolkit/components/passwordmgr/test/unit/head.js
copy to toolkit/components/passwordmgr/test/LoginTestUtils.jsm
--- a/toolkit/components/passwordmgr/test/unit/head.js
+++ b/toolkit/components/passwordmgr/test/LoginTestUtils.jsm
@@ -1,309 +1,153 @@
-/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
-/* vim: set ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
-/**
- * Provides infrastructure for automated login components tests.
+/*
+ * Shared functions generally available for testing login components.
  */
 
 "use strict";
 
-////////////////////////////////////////////////////////////////////////////////
-//// Globals
+this.EXPORTED_SYMBOLS = [
+  "LoginTestUtils",
+];
 
 const { classes: Cc, interfaces: Ci, utils: Cu, results: Cr } = Components;
 
-Cu.import("resource://gre/modules/XPCOMUtils.jsm");
+Cu.import("resource://gre/modules/Promise.jsm");
 Cu.import("resource://gre/modules/Services.jsm");
-Cu.import("resource://gre/modules/LoginRecipes.jsm");
+Cu.import("resource://gre/modules/Task.jsm");
+Cu.import("resource://gre/modules/XPCOMUtils.jsm");
 
-XPCOMUtils.defineLazyModuleGetter(this, "DownloadPaths",
-                                  "resource://gre/modules/DownloadPaths.jsm");
-XPCOMUtils.defineLazyModuleGetter(this, "FileUtils",
-                                  "resource://gre/modules/FileUtils.jsm");
-XPCOMUtils.defineLazyModuleGetter(this, "OS",
-                                  "resource://gre/modules/osfile.jsm");
-XPCOMUtils.defineLazyModuleGetter(this, "Promise",
-                                  "resource://gre/modules/Promise.jsm");
+Cu.import("resource://testing-common/TestUtils.jsm");
 
 const LoginInfo =
       Components.Constructor("@mozilla.org/login-manager/loginInfo;1",
                              "nsILoginInfo", "init");
 
-/**
- * All the tests are implemented with add_task, this starts them automatically.
- */
-function run_test()
-{
-  do_get_profile();
-  run_next_test();
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//// Global helpers
-
-// Some of these functions are already implemented in other parts of the source
-// tree, see bug 946708 about sharing more code.
-
-// While the previous test file should have deleted all the temporary files it
-// used, on Windows these might still be pending deletion on the physical file
-// system.  Thus, start from a new base number every time, to make a collision
-// with a file that is still pending deletion highly unlikely.
-let gFileCounter = Math.floor(Math.random() * 1000000);
-
-/**
- * Returns a reference to a temporary file, that is guaranteed not to exist, and
- * to have never been created before.
- *
- * @param aLeafName
- *        Suggested leaf name for the file to be created.
- *
- * @return nsIFile pointing to a non-existent file in a temporary directory.
- *
- * @note It is not enough to delete the file if it exists, or to delete the file
- *       after calling nsIFile.createUnique, because on Windows the delete
- *       operation in the file system may still be pending, preventing a new
- *       file with the same name to be created.
- */
-function getTempFile(aLeafName)
-{
-  // Prepend a serial number to the extension in the suggested leaf name.
-  let [base, ext] = DownloadPaths.splitBaseNameAndExtension(aLeafName);
-  let leafName = base + "-" + gFileCounter + ext;
-  gFileCounter++;
-
-  // Get a file reference under the temporary directory for this test file.
-  let file = FileUtils.getFile("TmpD", [leafName]);
-  do_check_false(file.exists());
-
-  do_register_cleanup(function () {
-    if (file.exists()) {
-      file.remove(false);
-    }
-  });
+// For now, we need consumers to provide a reference to Assert.jsm.
+let Assert = null;
 
-  return file;
-}
-
-/**
- * Allows waiting for an observer notification once.
- *
- * @param aTopic
- *        Notification topic to observe.
- *
- * @return {Promise}
- * @resolves The array [aSubject, aData] from the observed notification.
- * @rejects Never.
- */
-function promiseTopicObserved(aTopic)
-{
-  let deferred = Promise.defer();
-
-  Services.obs.addObserver(
-    function PTO_observe(aSubject, aTopic, aData) {
-      Services.obs.removeObserver(PTO_observe, aTopic);
-      deferred.resolve([aSubject, aData]);
-    }, aTopic, false);
-
-  return deferred.promise;
-}
+this.LoginTestUtils = {
+  set Assert(assert) {
+    Assert = assert;
+  },
 
-/**
- * Returns a new XPCOM property bag with the provided properties.
- *
- * @param aProperties
- *        Each property of this object is copied to the property bag.  This
- *        parameter can be omitted to return an empty property bag.
- *
- * @return A new property bag, that is an instance of nsIWritablePropertyBag,
- *         nsIWritablePropertyBag2, nsIPropertyBag, and nsIPropertyBag2.
- */
-function newPropertyBag(aProperties)
-{
-  let propertyBag = Cc["@mozilla.org/hash-property-bag;1"]
-                      .createInstance(Ci.nsIWritablePropertyBag);
-  if (aProperties) {
-    for (let [name, value] of Iterator(aProperties)) {
-      propertyBag.setProperty(name, value);
-    }
-  }
-  return propertyBag.QueryInterface(Ci.nsIPropertyBag)
-                    .QueryInterface(Ci.nsIPropertyBag2)
-                    .QueryInterface(Ci.nsIWritablePropertyBag2);
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//// Local helpers
-
-const LoginTest = {
   /**
    * Forces the storage module to save all data, and the Login Manager service
    * to replace the storage module with a newly initialized instance.
    */
-  reloadData: function ()
-  {
+  reloadData() {
     Services.obs.notifyObservers(null, "passwordmgr-storage-replace", null);
-    yield promiseTopicObserved("passwordmgr-storage-replace-complete");
+    yield TestUtils.topicObserved("passwordmgr-storage-replace-complete");
   },
 
   /**
    * Erases all the data stored by the Login Manager service.
    */
-  clearData: function ()
-  {
+  clearData() {
     Services.logins.removeAllLogins();
     for (let hostname of Services.logins.getAllDisabledHosts()) {
       Services.logins.setLoginSavingEnabled(hostname, true);
     }
   },
 
   /**
    * Checks that the currently stored list of nsILoginInfo matches the provided
    * array.  The comparison uses the "equals" method of nsILoginInfo, that does
    * not include nsILoginMetaInfo properties in the test.
    */
-  checkLogins: function (aExpectedLogins)
-  {
-    this.assertLoginListsEqual(Services.logins.getAllLogins(), aExpectedLogins);
+  checkLogins(expectedLogins) {
+    this.assertLoginListsEqual(Services.logins.getAllLogins(), expectedLogins);
   },
 
   /**
    * Checks that the two provided arrays of nsILoginInfo have the same length,
-   * and every login in aExpectedLogins is also found in aActualLogins.  The
-   * comparison uses the "equals" method of nsILoginInfo, that does not include
+   * and every login in "expected" is also found in "actual".  The comparison
+   * uses the "equals" method of nsILoginInfo, that does not include
    * nsILoginMetaInfo properties in the test.
    */
-  assertLoginListsEqual: function (aActual, aExpected)
-  {
-    do_check_eq(aExpected.length, aActual.length);
-    do_check_true(aExpected.every(e => aActual.some(a => a.equals(e))));
+  assertLoginListsEqual(actual, expected) {
+    Assert.equal(expected.length, actual.length);
+    Assert.ok(expected.every(e => actual.some(a => a.equals(e))));
   },
 
   /**
    * Checks that the two provided arrays of strings contain the same values,
    * maybe in a different order, case-sensitively.
    */
-  assertDisabledHostsEqual: function (aActual, aExpected)
-  {
-    Assert.deepEqual(aActual.sort(), aExpected.sort());
+  assertDisabledHostsEqual(actual, expected) {
+    Assert.deepEqual(actual.sort(), expected.sort());
   },
 
   /**
    * Checks whether the given time, expressed as the number of milliseconds
    * since January 1, 1970, 00:00:00 UTC, falls within 30 seconds of now.
    */
-  assertTimeIsAboutNow: function (aTimeMs)
-  {
-    do_check_true(Math.abs(aTimeMs - Date.now()) < 30000);
-  }
-};
-
-const RecipeHelpers = {
-  initNewParent() {
-    return (new LoginRecipesParent({ defaults: false })).initializationPromise;
+  assertTimeIsAboutNow(timeMs) {
+    Assert.ok(Math.abs(timeMs - Date.now()) < 30000);
   },
-
-  /**
-   * Create a document for the given URL containing the given HTML containing a
-   * form and return the <form>.
-   */
-  createTestForm(aDocumentURL, aHTML = "<form>") {
-    let parser = Cc["@mozilla.org/xmlextras/domparser;1"].
-                 createInstance(Ci.nsIDOMParser);
-    parser.init();
-    let parsedDoc = parser.parseFromString(aHTML, "text/html");
-
-    // Mock the document.location object so we can unit test without a frame. We use a proxy
-    // instead of just assigning to the property since it's not configurable or writable.
-    let document = new Proxy(parsedDoc, {
-      get(target, property, receiver) {
-        // document.location is normally null when a document is outside of a "browsing context".
-        // See https://html.spec.whatwg.org/#the-location-interface
-        if (property == "location") {
-          return new URL(aDocumentURL);
-        }
-        return target[property];
-      },
-    });
-
-    let form = parsedDoc.forms[0];
-
-    // Assign form.ownerDocument to the proxy so document.location works.
-    Object.defineProperty(form, "ownerDocument", {
-      value: document,
-    });
-
-    return form;
-  }
 };
 
-////////////////////////////////////////////////////////////////////////////////
-//// Predefined test data
-
 /**
  * This object contains functions that return new instances of nsILoginInfo for
  * every call.  The returned instances can be compared using their "equals" or
  * "matches" methods, or modified for the needs of the specific test being run.
  *
  * Any modification to the test data requires updating the tests accordingly, in
  * particular the search tests.
  */
-const TestData = {
+this.LoginTestUtils.testData = {
   /**
    * Returns a new nsILoginInfo for use with form submits.
    *
-   * @param aModifications
+   * @param modifications
    *        Each property of this object replaces the property of the same name
    *        in the returned nsILoginInfo or nsILoginMetaInfo.
    */
-  formLogin: function (aModifications)
-  {
+  formLogin(modifications) {
     let loginInfo = new LoginInfo("http://www3.example.com",
                                   "http://www.example.com", null,
                                   "the username", "the password",
                                   "form_field_username", "form_field_password");
     loginInfo.QueryInterface(Ci.nsILoginMetaInfo);
-    if (aModifications) {
-      for (let [name, value] of Iterator(aModifications)) {
+    if (modifications) {
+      for (let [name, value] of Iterator(modifications)) {
         loginInfo[name] = value;
       }
     }
     return loginInfo;
   },
 
   /**
    * Returns a new nsILoginInfo for use with HTTP authentication.
    *
-   * @param aModifications
+   * @param modifications
    *        Each property of this object replaces the property of the same name
    *        in the returned nsILoginInfo or nsILoginMetaInfo.
    */
-  authLogin: function (aModifications)
-  {
+  authLogin(modifications) {
     let loginInfo = new LoginInfo("http://www.example.org", null,
                                   "The HTTP Realm", "the username",
                                   "the password", "", "");
     loginInfo.QueryInterface(Ci.nsILoginMetaInfo);
-    if (aModifications) {
-      for (let [name, value] of Iterator(aModifications)) {
+    if (modifications) {
+      for (let [name, value] of Iterator(modifications)) {
         loginInfo[name] = value;
       }
     }
     return loginInfo;
   },
 
   /**
    * Returns an array of typical nsILoginInfo that could be stored in the
    * database.
    */
-  loginList: function ()
-  {
+  loginList() {
     return [
       // --- Examples of form logins (subdomains of example.com) ---
 
       // Simple form login with named fields for username and password.
       new LoginInfo("http://www.example.com", "http://www.example.com", null,
                     "the username", "the password for www.example.com",
                     "form_field_username", "form_field_password"),
 
@@ -388,29 +232,8 @@ const TestData = {
 
       new LoginInfo("chrome://example_extension", null, "Example Login One",
                     "the username", "the password one", "", ""),
       new LoginInfo("chrome://example_extension", null, "Example Login Two",
                     "the username", "the password two", "", ""),
     ];
   },
 };
-
-////////////////////////////////////////////////////////////////////////////////
-//// Initialization functions common to all tests
-
-add_task(function test_common_initialize()
-{
-  // Before initializing the service for the first time, we should copy the key
-  // file required to decrypt the logins contained in the SQLite databases used
-  // by migration tests.  This file is not required for the other tests.
-  yield OS.File.copy(do_get_file("data/key3.db").path,
-                     OS.Path.join(OS.Constants.Path.profileDir, "key3.db"));
-
-  // Ensure that the service and the storage module are initialized.
-  yield Services.logins.initializationPromise;
-
-  // Ensure that every test file starts with an empty database.
-  LoginTest.clearData();
-
-  // Clean up after every test.
-  do_register_cleanup(() => LoginTest.clearData());
-});
--- a/toolkit/components/passwordmgr/test/browser/browser_notifications.js
+++ b/toolkit/components/passwordmgr/test/browser/browser_notifications.js
@@ -1,33 +1,83 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
-add_task(function* test_save() {
-  let tab = gBrowser.addTab("https://example.com/browser/toolkit/components/" +
-                            "passwordmgr/test/browser/form_basic.html");
-  let browser = tab.linkedBrowser;
-  yield BrowserTestUtils.browserLoaded(browser);
-  gBrowser.selectedTab = tab;
+Cu.import("resource://testing-common/LoginTestUtils.jsm", this);
+
+/**
+ * Test that the doorhanger notification for password saving is populated with
+ * the correct values in various password capture cases.
+ */
+add_task(function* test_save_change() {
+  let testCases = [{
+    username: "username",
+    password: "password",
+  }, {
+    username: "",
+    password: "password",
+  }, {
+    username: "username",
+    oldPassword: "password",
+    password: "newPassword",
+  }, {
+    username: "",
+    oldPassword: "password",
+    password: "newPassword",
+  }];
+
+  for (let { username, oldPassword, password } of testCases) {
+    // Add a login for the origin of the form if testing a change notification.
+    if (oldPassword) {
+      Services.logins.addLogin(LoginTestUtils.testData.formLogin({
+        hostname: "https://example.com",
+        formSubmitURL: "https://example.com",
+        username,
+        password: oldPassword,
+      }));
+    }
 
-  let promiseShown = BrowserTestUtils.waitForEvent(PopupNotifications.panel,
-                                                   "Shown");
-  yield ContentTask.spawn(browser, null, function* () {
-    content.document.getElementById("form-basic-username").value = "username";
-    content.document.getElementById("form-basic-password").value = "password";
-    content.document.getElementById("form-basic").submit();
-  });
-  yield promiseShown;
-  let notificationElement = PopupNotifications.panel.childNodes[0];
+    yield BrowserTestUtils.withNewTab({
+      gBrowser,
+      url: "https://example.com/browser/toolkit/components/" +
+           "passwordmgr/test/browser/form_basic.html",
+    }, function* (browser) {
+      // Submit the form in the content page with the credentials from the test
+      // case. This will cause the doorhanger notification to be displayed.
+      let promiseShown = BrowserTestUtils.waitForEvent(PopupNotifications.panel,
+                                                       "Shown");
+      yield ContentTask.spawn(browser, { username, password },
+        function* ({ username, password }) {
+          let doc = content.document;
+          doc.getElementById("form-basic-username").value = username;
+          doc.getElementById("form-basic-password").value = password;
+          doc.getElementById("form-basic").submit();
+        });
+      yield promiseShown;
 
-  let promiseLogin = TestUtils.topicObserved("passwordmgr-storage-changed",
-                                             (_, data) => data == "addLogin");
-  notificationElement.button.doCommand();
-  let [login] = yield promiseLogin;
-  login.QueryInterface(Ci.nsILoginInfo);
+      // Check the actual content of the popup notification.
+      Assert.equal(document.getElementById("password-notification-username")
+                           .getAttribute("value"), username);
+      Assert.equal(document.getElementById("password-notification-password")
+                           .getAttribute("value"), password);
 
-  Assert.equal(login.username, "username");
-  Assert.equal(login.password, "password");
+      // Simulate the action on the notification to request the login to be
+      // saved, and wait for the data to be updated or saved based on the type
+      // of operation we expect.
+      let expectedNotification = oldPassword ? "modifyLogin" : "addLogin";
+      let promiseLogin = TestUtils.topicObserved("passwordmgr-storage-changed",
+                         (_, data) => data == expectedNotification);
+      let notificationElement = PopupNotifications.panel.childNodes[0];
+      notificationElement.button.doCommand();
+      let [result] = yield promiseLogin;
 
-  // Cleanup.
-  Services.logins.removeAllLogins();
-  gBrowser.removeTab(tab);
+      // Check that the values in the database match the expected values.
+      let login = oldPassword ? result.QueryInterface(Ci.nsIArray)
+                                      .queryElementAt(1, Ci.nsILoginInfo)
+                              : result.QueryInterface(Ci.nsILoginInfo);
+      Assert.equal(login.username, username);
+      Assert.equal(login.password, password);
+    });
+
+    // Clean up the database before the next test case is executed.
+    Services.logins.removeAllLogins();
+  }
 });
--- a/toolkit/components/passwordmgr/test/notification_common.js
+++ b/toolkit/components/passwordmgr/test/notification_common.js
@@ -59,17 +59,17 @@ function clickPopupButton(aPopup, aButto
     ok(notifications.length > 0, "at least one notification displayed");
     ok(true, notifications.length + " notifications");
     var notification = notifications[0];
 
     if (aButtonIndex == 0) {
         ok(true, "Triggering main action");
         notification.button.doCommand();
     } else if (aButtonIndex <= aPopup.secondaryActions.length) {
-        var index = aButtonIndex - 1;
+        var index = aButtonIndex;
         ok(true, "Triggering secondary action " + index);
         notification.childNodes[index].doCommand();
     }
 }
 
 const kRememberButton = 0;
 const kNeverButton = 1;
 
--- a/toolkit/components/passwordmgr/test/test_notifications.html
+++ b/toolkit/components/passwordmgr/test/test_notifications.html
@@ -342,30 +342,30 @@ function checkTest() {
       case 21:
         // Check text on a user+pass notification popup
         is(gotUser, "notifyu1", "Checking submitted username");
         is(gotPass, "notifyp1", "Checking submitted password");
         popup = getPopup(popupNotifications, "password-save");
         ok(popup, "got notification popup");
         // Check the text, which comes from the localized saveLoginText string.
         notificationText = popup.message;
-        expectedText = /^Would you like to remember the password for \"notifyu1\" on example.org\?$/;
+        expectedText = /^Would you like to remember the password on example.org\?$/;
         ok(expectedText.test(notificationText), "Checking text: " + notificationText);
         popup.remove();
         break;
 
       case 22:
         // Check text on a user+pass notification popup, username is really long
         is(gotUser, "nowisthetimeforallgoodmentocometotheaidoftheircountry", "Checking submitted username");
         is(gotPass, "notifyp1", "Checking submitted password");
         popup = getPopup(popupNotifications, "password-save");
         ok(popup, "got notification popup");
         // Check the text, which comes from the localized saveLoginText string.
         notificationText = popup.message;
-        expectedText = /^Would you like to remember the password for \"nowisthetimeforallgoodmentocom[^e]\" on example.org\?$/;
+        expectedText = /^Would you like to remember the password on example.org\?$/;
         ok(expectedText.test(notificationText), "Checking text: " + notificationText);
         popup.remove();
         break;
 
       case 23:
         // Check text on a pass-only notification popup
         is(gotUser, "null",     "Checking submitted username");
         is(gotPass, "notifyp1", "Checking submitted password");
--- a/toolkit/components/passwordmgr/test/unit/head.js
+++ b/toolkit/components/passwordmgr/test/unit/head.js
@@ -26,16 +26,23 @@ XPCOMUtils.defineLazyModuleGetter(this, 
                                   "resource://gre/modules/osfile.jsm");
 XPCOMUtils.defineLazyModuleGetter(this, "Promise",
                                   "resource://gre/modules/Promise.jsm");
 
 const LoginInfo =
       Components.Constructor("@mozilla.org/login-manager/loginInfo;1",
                              "nsILoginInfo", "init");
 
+// Import LoginTestUtils.jsm as LoginTest.
+XPCOMUtils.defineLazyModuleGetter(this, "LoginTest",
+                                  "resource://testing-common/LoginTestUtils.jsm",
+                                  "LoginTestUtils");
+LoginTest.Assert = Assert;
+const TestData = LoginTest.testData;
+
 /**
  * All the tests are implemented with add_task, this starts them automatically.
  */
 function run_test()
 {
   do_get_profile();
   run_next_test();
 }
@@ -82,39 +89,16 @@ function getTempFile(aLeafName)
       file.remove(false);
     }
   });
 
   return file;
 }
 
 /**
- * Allows waiting for an observer notification once.
- *
- * @param aTopic
- *        Notification topic to observe.
- *
- * @return {Promise}
- * @resolves The array [aSubject, aData] from the observed notification.
- * @rejects Never.
- */
-function promiseTopicObserved(aTopic)
-{
-  let deferred = Promise.defer();
-
-  Services.obs.addObserver(
-    function PTO_observe(aSubject, aTopic, aData) {
-      Services.obs.removeObserver(PTO_observe, aTopic);
-      deferred.resolve([aSubject, aData]);
-    }, aTopic, false);
-
-  return deferred.promise;
-}
-
-/**
  * Returns a new XPCOM property bag with the provided properties.
  *
  * @param aProperties
  *        Each property of this object is copied to the property bag.  This
  *        parameter can be omitted to return an empty property bag.
  *
  * @return A new property bag, that is an instance of nsIWritablePropertyBag,
  *         nsIWritablePropertyBag2, nsIPropertyBag, and nsIPropertyBag2.
@@ -129,80 +113,16 @@ function newPropertyBag(aProperties)
     }
   }
   return propertyBag.QueryInterface(Ci.nsIPropertyBag)
                     .QueryInterface(Ci.nsIPropertyBag2)
                     .QueryInterface(Ci.nsIWritablePropertyBag2);
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-//// Local helpers
-
-const LoginTest = {
-  /**
-   * Forces the storage module to save all data, and the Login Manager service
-   * to replace the storage module with a newly initialized instance.
-   */
-  reloadData: function ()
-  {
-    Services.obs.notifyObservers(null, "passwordmgr-storage-replace", null);
-    yield promiseTopicObserved("passwordmgr-storage-replace-complete");
-  },
-
-  /**
-   * Erases all the data stored by the Login Manager service.
-   */
-  clearData: function ()
-  {
-    Services.logins.removeAllLogins();
-    for (let hostname of Services.logins.getAllDisabledHosts()) {
-      Services.logins.setLoginSavingEnabled(hostname, true);
-    }
-  },
-
-  /**
-   * Checks that the currently stored list of nsILoginInfo matches the provided
-   * array.  The comparison uses the "equals" method of nsILoginInfo, that does
-   * not include nsILoginMetaInfo properties in the test.
-   */
-  checkLogins: function (aExpectedLogins)
-  {
-    this.assertLoginListsEqual(Services.logins.getAllLogins(), aExpectedLogins);
-  },
-
-  /**
-   * Checks that the two provided arrays of nsILoginInfo have the same length,
-   * and every login in aExpectedLogins is also found in aActualLogins.  The
-   * comparison uses the "equals" method of nsILoginInfo, that does not include
-   * nsILoginMetaInfo properties in the test.
-   */
-  assertLoginListsEqual: function (aActual, aExpected)
-  {
-    do_check_eq(aExpected.length, aActual.length);
-    do_check_true(aExpected.every(e => aActual.some(a => a.equals(e))));
-  },
-
-  /**
-   * Checks that the two provided arrays of strings contain the same values,
-   * maybe in a different order, case-sensitively.
-   */
-  assertDisabledHostsEqual: function (aActual, aExpected)
-  {
-    Assert.deepEqual(aActual.sort(), aExpected.sort());
-  },
-
-  /**
-   * Checks whether the given time, expressed as the number of milliseconds
-   * since January 1, 1970, 00:00:00 UTC, falls within 30 seconds of now.
-   */
-  assertTimeIsAboutNow: function (aTimeMs)
-  {
-    do_check_true(Math.abs(aTimeMs - Date.now()) < 30000);
-  }
-};
 
 const RecipeHelpers = {
   initNewParent() {
     return (new LoginRecipesParent({ defaults: false })).initializationPromise;
   },
 
   /**
    * Create a document for the given URL containing the given HTML containing a
@@ -233,173 +153,16 @@ const RecipeHelpers = {
     Object.defineProperty(form, "ownerDocument", {
       value: document,
     });
 
     return form;
   }
 };
 
-////////////////////////////////////////////////////////////////////////////////
-//// Predefined test data
-
-/**
- * This object contains functions that return new instances of nsILoginInfo for
- * every call.  The returned instances can be compared using their "equals" or
- * "matches" methods, or modified for the needs of the specific test being run.
- *
- * Any modification to the test data requires updating the tests accordingly, in
- * particular the search tests.
- */
-const TestData = {
-  /**
-   * Returns a new nsILoginInfo for use with form submits.
-   *
-   * @param aModifications
-   *        Each property of this object replaces the property of the same name
-   *        in the returned nsILoginInfo or nsILoginMetaInfo.
-   */
-  formLogin: function (aModifications)
-  {
-    let loginInfo = new LoginInfo("http://www3.example.com",
-                                  "http://www.example.com", null,
-                                  "the username", "the password",
-                                  "form_field_username", "form_field_password");
-    loginInfo.QueryInterface(Ci.nsILoginMetaInfo);
-    if (aModifications) {
-      for (let [name, value] of Iterator(aModifications)) {
-        loginInfo[name] = value;
-      }
-    }
-    return loginInfo;
-  },
-
-  /**
-   * Returns a new nsILoginInfo for use with HTTP authentication.
-   *
-   * @param aModifications
-   *        Each property of this object replaces the property of the same name
-   *        in the returned nsILoginInfo or nsILoginMetaInfo.
-   */
-  authLogin: function (aModifications)
-  {
-    let loginInfo = new LoginInfo("http://www.example.org", null,
-                                  "The HTTP Realm", "the username",
-                                  "the password", "", "");
-    loginInfo.QueryInterface(Ci.nsILoginMetaInfo);
-    if (aModifications) {
-      for (let [name, value] of Iterator(aModifications)) {
-        loginInfo[name] = value;
-      }
-    }
-    return loginInfo;
-  },
-
-  /**
-   * Returns an array of typical nsILoginInfo that could be stored in the
-   * database.
-   */
-  loginList: function ()
-  {
-    return [
-      // --- Examples of form logins (subdomains of example.com) ---
-
-      // Simple form login with named fields for username and password.
-      new LoginInfo("http://www.example.com", "http://www.example.com", null,
-                    "the username", "the password for www.example.com",
-                    "form_field_username", "form_field_password"),
-
-      // Different schemes are treated as completely different sites.
-      new LoginInfo("https://www.example.com", "https://www.example.com", null,
-                    "the username", "the password for https",
-                    "form_field_username", "form_field_password"),
-
-      // Subdomains are treated as completely different sites.
-      new LoginInfo("https://example.com", "https://example.com", null,
-                    "the username", "the password for example.com",
-                    "form_field_username", "form_field_password"),
-
-      // Forms found on the same host, but with different hostnames in the
-      // "action" attribute, are handled independently.
-      new LoginInfo("http://www3.example.com", "http://www.example.com", null,
-                    "the username", "the password",
-                    "form_field_username", "form_field_password"),
-      new LoginInfo("http://www3.example.com", "https://www.example.com", null,
-                    "the username", "the password",
-                    "form_field_username", "form_field_password"),
-      new LoginInfo("http://www3.example.com", "http://example.com", null,
-                    "the username", "the password",
-                    "form_field_username", "form_field_password"),
-
-      // It is not possible to store multiple passwords for the same username,