Merge mozilla-central to autoland. a=merge CLOSED TREE
authorGurzau Raul <rgurzau@mozilla.com>
Fri, 16 Mar 2018 19:57:14 +0200
changeset 408621 0cdb80b2c3f16f902bf88ce81f09952bce374a4f
parent 408620 d1250e3ead1aa2c1b33d8ed98b37c057c427fc00 (current diff)
parent 408573 238bbfbb56d1e68c6e66c5de365f23872bc860ac (diff)
child 408622 a31b00db0ca72375f2d64a4729031b0529f986fc
push id100996
push userbtara@mozilla.com
push dateSat, 17 Mar 2018 10:37:43 +0000
treeherdermozilla-inbound@97160a734959 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmerge
milestone61.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Merge mozilla-central to autoland. a=merge CLOSED TREE
browser/extensions/activity-stream/lib/AboutPreferences.jsm
browser/extensions/activity-stream/prerendered/locales/crh/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/crh/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/crh/activity-stream.html
browser/extensions/activity-stream/test/unit/lib/AboutPreferences.test.js
--- a/browser/components/newtab/aboutNewTabService.js
+++ b/browser/components/newtab/aboutNewTabService.js
@@ -16,17 +16,17 @@ ChromeUtils.defineModuleGetter(this, "Ab
 // Dummy references to the files that this service no longer allows loading.
 // Bug 1409054 to remove "chrome://browser/content/abouthome/aboutHome.xhtml"
 
 const TOPIC_APP_QUIT = "quit-application-granted";
 const TOPIC_LOCALES_CHANGE = "intl:app-locales-changed";
 
 // Automated tests ensure packaged locales are in this list. Copied output of:
 // https://github.com/mozilla/activity-stream/blob/master/bin/render-activity-stream-html.js
-const ACTIVITY_STREAM_LOCALES = "en-US ach an ar ast az be bg bn-BD bn-IN br bs ca cak crh cs cy da de dsb el en-GB eo es-AR es-CL es-ES es-MX et eu fa ff fi fr fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hsb hu hy-AM ia id it ja ka kab kk km kn ko lij lo lt ltg lv mk ml mr ms my nb-NO ne-NP nl nn-NO pa-IN pl pt-BR pt-PT rm ro ru si sk sl sq sr sv-SE ta te th tl tr uk ur uz vi zh-CN zh-TW".split(" ");
+const ACTIVITY_STREAM_LOCALES = "en-US ach an ar ast az be bg bn-BD bn-IN br bs ca cak cs cy da de dsb el en-GB eo es-AR es-CL es-ES es-MX et eu fa ff fi fr fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hsb hu hy-AM ia id it ja ka kab kk km kn ko lij lo lt ltg lv mk ml mr ms my nb-NO ne-NP nl nn-NO pa-IN pl pt-BR pt-PT rm ro ru si sk sl sq sr sv-SE ta te th tl tr uk ur uz vi zh-CN zh-TW".split(" ");
 
 const ABOUT_URL = "about:newtab";
 
 const IS_MAIN_PROCESS = Services.appinfo.processType === Services.appinfo.PROCESS_TYPE_DEFAULT;
 
 const IS_RELEASE_OR_BETA = AppConstants.RELEASE_OR_BETA;
 
 const PREF_ACTIVITY_STREAM_PRERENDER_ENABLED = "browser.newtabpage.activity-stream.prerender";
--- a/browser/components/preferences/in-content/tests/browser_search_within_preferences_1.js
+++ b/browser/components/preferences/in-content/tests/browser_search_within_preferences_1.js
@@ -108,17 +108,16 @@ add_task(async function() {
   await searchCompletedPromise;
 
   // Checks if back to generalPane
   for (let i = 0; i < mainPrefTag.childElementCount; i++) {
     let child = mainPrefTag.children[i];
     if (child.id == "paneGeneral"
       || child.id == "startupGroup"
       || child.id == "homepageGroup"
-      || child.id == "homeContentsGroup"
       || child.id == "languagesGroup"
       || child.id == "fontsGroup"
       || child.id == "downloadsGroup"
       || child.id == "applicationsGroup"
       || child.id == "drmGroup"
       || child.id == "updateApp"
       || child.id == "browsingGroup"
       || child.id == "performanceGroup"
@@ -127,17 +126,17 @@ add_task(async function() {
       || child.id == "languageAndAppearanceCategory"
       || child.id == "filesAndApplicationsCategory"
       || child.id == "updatesCategory"
       || child.id == "performanceCategory"
       || child.id == "browsingCategory"
       || child.id == "networkProxyCategory") {
       is_element_visible(child, "Should be in general tab");
     } else if (child.id) {
-      is_element_hidden(child, `Should not be in general tab: ${child.id}`);
+      is_element_hidden(child, "Should not be in general tab");
     }
   }
 
   await BrowserTestUtils.removeTab(gBrowser.selectedTab);
 });
 
 /**
  * Test for if nothing is found
--- a/browser/extensions/activity-stream/common/Reducers.jsm
+++ b/browser/extensions/activity-stream/common/Reducers.jsm
@@ -30,17 +30,18 @@ const INITIAL_STATE = {
   Prefs: {
     initialized: false,
     values: {}
   },
   Dialog: {
     visible: false,
     data: {}
   },
-  Sections: []
+  Sections: [],
+  PreferencesPane: {visible: false}
 };
 
 function App(prevState = INITIAL_STATE.App, action) {
   switch (action.type) {
     case at.INIT:
       return Object.assign({}, prevState, action.data || {}, {initialized: true});
     default:
       return prevState;
@@ -322,15 +323,26 @@ function Snippets(prevState = INITIAL_ST
       return Object.assign({}, prevState, {blockList: []});
     case at.SNIPPETS_RESET:
       return INITIAL_STATE.Snippets;
     default:
       return prevState;
   }
 }
 
+function PreferencesPane(prevState = INITIAL_STATE.PreferencesPane, action) {
+  switch (action.type) {
+    case at.SETTINGS_OPEN:
+      return Object.assign({}, prevState, {visible: true});
+    case at.SETTINGS_CLOSE:
+      return Object.assign({}, prevState, {visible: false});
+    default:
+      return prevState;
+  }
+}
+
 this.INITIAL_STATE = INITIAL_STATE;
 this.TOP_SITES_DEFAULT_ROWS = TOP_SITES_DEFAULT_ROWS;
 this.TOP_SITES_MAX_SITES_PER_ROW = TOP_SITES_MAX_SITES_PER_ROW;
 
-this.reducers = {TopSites, App, Snippets, Prefs, Dialog, Sections};
+this.reducers = {TopSites, App, Snippets, Prefs, Dialog, Sections, PreferencesPane};
 
 const EXPORTED_SYMBOLS = ["reducers", "INITIAL_STATE", "insertPinned", "TOP_SITES_DEFAULT_ROWS", "TOP_SITES_MAX_SITES_PER_ROW"];
--- a/browser/extensions/activity-stream/css/activity-stream-linux.css
+++ b/browser/extensions/activity-stream/css/activity-stream-linux.css
@@ -73,16 +73,19 @@ input {
   .icon.icon-unpin {
     background-image: url("../data/content/assets/glyph-unpin-16.svg"); }
     .icon.icon-unpin:dir(rtl) {
       transform: scaleX(-1); }
   .icon.icon-edit {
     background-image: url("../data/content/assets/glyph-edit-16.svg"); }
   .icon.icon-pocket {
     background-image: url("../data/content/assets/glyph-pocket-16.svg"); }
+  .icon.icon-pocket-small {
+    background-image: url("../data/content/assets/glyph-pocket-16.svg");
+    background-size: 12px; }
   .icon.icon-historyItem {
     background-image: url("../data/content/assets/glyph-historyItem-16.svg"); }
   .icon.icon-trending {
     background-image: url("../data/content/assets/glyph-trending-16.svg");
     transform: translateY(2px); }
   .icon.icon-now {
     background-image: url("chrome://browser/skin/history.svg"); }
   .icon.icon-topsites {
@@ -269,31 +272,16 @@ main {
 .body-wrapper.on .section-title,
 .body-wrapper.on .sections-list .section:last-of-type,
 .body-wrapper.on .topic {
   opacity: 1; }
 
 .non-collapsible-section {
   padding: 0 25px; }
 
-.prefs-button button {
-  background-color: transparent;
-  border: 0;
-  cursor: pointer;
-  fill: rgba(12, 12, 13, 0.6);
-  offset-inline-end: 15px;
-  padding: 15px;
-  position: fixed;
-  top: 15px;
-  z-index: 12001; }
-  .prefs-button button:hover {
-    background-color: #EDEDF0; }
-  .prefs-button button:active {
-    background-color: #F9F9FA; }
-
 .as-error-fallback {
   align-items: center;
   border-radius: 3px;
   box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1);
   color: #4A4A4F;
   display: flex;
   flex-direction: column;
   font-size: 12px;
@@ -817,16 +805,156 @@ main {
           .context-menu > ul > li > a:-moz-any(:focus, :hover) .icon {
             fill: #FFF; }
           .context-menu > ul > li > a:-moz-any(:focus, :hover):-moz-any(:focus, :hover) {
             color: #FFF; }
         .context-menu > ul > li > a.disabled {
           opacity: 0.4;
           pointer-events: none; }
 
+.prefs-pane {
+  color: #4A4A4F;
+  font-size: 14px;
+  line-height: 21px; }
+  .prefs-pane .sidebar {
+    background: #FFF;
+    border-left: 1px solid #D7D7DB;
+    box-shadow: 0 1px 4px 0 rgba(12, 12, 13, 0.1);
+    height: 100%;
+    offset-inline-end: 0;
+    overflow-y: auto;
+    padding: 40px;
+    position: fixed;
+    top: 0;
+    transition: 0.1s cubic-bezier(0, 0, 0, 1);
+    transition-property: transform;
+    width: 400px;
+    z-index: 12000; }
+    .prefs-pane .sidebar.hidden {
+      transform: translateX(100%); }
+      .prefs-pane .sidebar.hidden:dir(rtl) {
+        transform: translateX(-100%); }
+    .prefs-pane .sidebar h1 {
+      font-size: 21px;
+      margin: 0;
+      padding-top: 20px; }
+  .prefs-pane hr {
+    border: 0;
+    border-bottom: 1px solid #D7D7DB;
+    margin: 20px 0; }
+  .prefs-pane .prefs-modal-inner-wrapper {
+    padding-bottom: 100px; }
+    .prefs-pane .prefs-modal-inner-wrapper section {
+      margin: 20px 0; }
+      .prefs-pane .prefs-modal-inner-wrapper section p {
+        margin: 5px 0 20px 30px; }
+      .prefs-pane .prefs-modal-inner-wrapper section label {
+        display: inline-block;
+        position: relative;
+        width: 100%; }
+        .prefs-pane .prefs-modal-inner-wrapper section label input {
+          offset-inline-start: -30px;
+          position: absolute;
+          top: 0; }
+      .prefs-pane .prefs-modal-inner-wrapper section > label {
+        font-size: 16px;
+        font-weight: bold;
+        line-height: 19px; }
+    .prefs-pane .prefs-modal-inner-wrapper .options {
+      background: #F9F9FA;
+      border: 1px solid #D7D7DB;
+      border-radius: 2px;
+      margin: -10px 0 20px;
+      margin-inline-start: 30px;
+      padding: 10px; }
+      .prefs-pane .prefs-modal-inner-wrapper .options.disabled {
+        opacity: 0.5; }
+      .prefs-pane .prefs-modal-inner-wrapper .options label {
+        background-position-x: 35px;
+        background-position-y: 2.5px;
+        background-repeat: no-repeat;
+        display: inline-block;
+        font-size: 14px;
+        font-weight: normal;
+        height: auto;
+        line-height: 21px;
+        width: 100%; }
+        .prefs-pane .prefs-modal-inner-wrapper .options label:dir(rtl) {
+          background-position-x: right 35px; }
+      .prefs-pane .prefs-modal-inner-wrapper .options [type='checkbox']:not(:checked) + label,
+      .prefs-pane .prefs-modal-inner-wrapper .options [type='checkbox']:checked + label {
+        padding-inline-start: 63px; }
+      .prefs-pane .prefs-modal-inner-wrapper .options section {
+        margin: 0; }
+  .prefs-pane .actions {
+    background-color: #F9F9FA;
+    border-left: 1px solid #D7D7DB;
+    bottom: 0;
+    offset-inline-end: 0;
+    position: fixed;
+    width: 400px; }
+    .prefs-pane .actions button {
+      margin-inline-end: 20px; }
+  .prefs-pane [type='checkbox']:not(:checked),
+  .prefs-pane [type='checkbox']:checked {
+    offset-inline-start: -9999px;
+    position: absolute; }
+  .prefs-pane [type='checkbox']:not(:disabled):not(:checked) + label,
+  .prefs-pane [type='checkbox']:not(:disabled):checked + label {
+    cursor: pointer;
+    padding: 0 30px;
+    position: relative; }
+  .prefs-pane [type='checkbox']:not(:checked) + label::before,
+  .prefs-pane [type='checkbox']:checked + label::before {
+    background: #FFF;
+    border: 1px solid #B1B1B3;
+    border-radius: 3px;
+    content: '';
+    height: 21px;
+    offset-inline-start: 0;
+    position: absolute;
+    top: 0;
+    width: 21px; }
+  .prefs-pane [type='checkbox']:not(:checked) + label::after,
+  .prefs-pane [type='checkbox']:checked + label::after {
+    background: url("chrome://global/skin/in-content/check.svg") no-repeat center center;
+    content: '';
+    -moz-context-properties: fill, stroke;
+    fill: #0060DF;
+    height: 21px;
+    offset-inline-start: 0;
+    position: absolute;
+    stroke: none;
+    top: 0;
+    width: 21px; }
+  .prefs-pane [type='checkbox']:not(:checked) + label::after {
+    opacity: 0; }
+  .prefs-pane [type='checkbox']:checked + label::after {
+    opacity: 1; }
+  .prefs-pane [type='checkbox']:not(:disabled) + label:hover::before {
+    border: 1px solid #0060DF; }
+  .prefs-pane [type='checkbox']:not(:disabled):checked:focus + label::before,
+  .prefs-pane [type='checkbox']:not(:disabled):not(:checked):focus + label::before {
+    border: 1px dotted #0060DF; }
+
+.prefs-pane-button button {
+  background-color: transparent;
+  border: 0;
+  cursor: pointer;
+  fill: rgba(12, 12, 13, 0.6);
+  offset-inline-end: 15px;
+  padding: 15px;
+  position: fixed;
+  top: 15px;
+  z-index: 12001; }
+  .prefs-pane-button button:hover {
+    background-color: #EDEDF0; }
+  .prefs-pane-button button:active {
+    background-color: #F9F9FA; }
+
 .confirmation-dialog .modal {
   box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.1);
   left: 50%;
   margin-left: -200px;
   position: fixed;
   top: 20%;
   width: 400px; }
 
--- a/browser/extensions/activity-stream/css/activity-stream-linux.css.map
+++ b/browser/extensions/activity-stream/css/activity-stream-linux.css.map
@@ -9,34 +9,36 @@
 		"../content-src/styles/_icons.scss",
 		"../content-src/components/Base/_Base.scss",
 		"../content-src/components/ErrorBoundary/_ErrorBoundary.scss",
 		"../content-src/components/TopSites/_TopSites.scss",
 		"../content-src/components/Sections/_Sections.scss",
 		"../content-src/components/Topics/_Topics.scss",
 		"../content-src/components/Search/_Search.scss",
 		"../content-src/components/ContextMenu/_ContextMenu.scss",
+		"../content-src/components/PreferencesPane/_PreferencesPane.scss",
 		"../content-src/components/ConfirmDialog/_ConfirmDialog.scss",
 		"../content-src/components/Card/_Card.scss",
 		"../content-src/components/ManualMigration/_ManualMigration.scss",
 		"../content-src/components/CollapsibleSection/_CollapsibleSection.scss"
 	],
 	"sourcesContent": [
 		"/* This is the linux variant */ // sass-lint:disable-line no-css-comments\n\n$os-infopanel-arrow-height: 10px;\n$os-infopanel-arrow-offset-end: 6px;\n$os-infopanel-arrow-width: 20px;\n$os-search-focus-shadow-radius: 3px;\n\n@import './activity-stream';\n",
-		"@import './normalize';\n@import './variables';\n@import './icons';\n\nhtml,\nbody,\n#root { // sass-lint:disable-line no-ids\n  height: 100%;\n}\n\nbody {\n  background: $background-primary;\n  color: $text-primary;\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Ubuntu', 'Helvetica Neue', sans-serif;\n  font-size: 16px;\n  overflow-y: scroll;\n}\n\nh1,\nh2 {\n  font-weight: normal;\n}\n\na {\n  color: $link-primary;\n  text-decoration: none;\n\n  &:hover {\n    color: $link-secondary;\n  }\n}\n\n// For screen readers\n.sr-only {\n  border: 0;\n  clip: rect(0, 0, 0, 0);\n  height: 1px;\n  margin: -1px;\n  overflow: hidden;\n  padding: 0;\n  position: absolute;\n  width: 1px;\n}\n\n.inner-border {\n  border: $border-secondary;\n  border-radius: $border-radius;\n  height: 100%;\n  left: 0;\n  pointer-events: none;\n  position: absolute;\n  top: 0;\n  width: 100%;\n  z-index: 100;\n}\n\n@keyframes fadeIn {\n  from {\n    opacity: 0;\n  }\n\n  to {\n    opacity: 1;\n  }\n}\n\n.show-on-init {\n  opacity: 0;\n  transition: opacity 0.2s ease-in;\n\n  &.on {\n    animation: fadeIn 0.2s;\n    opacity: 1;\n  }\n}\n\n.actions {\n  border-top: $border-secondary;\n  display: flex;\n  flex-direction: row;\n  flex-wrap: wrap;\n  justify-content: flex-start;\n  margin: 0;\n  padding: 15px 25px 0;\n\n  button {\n    background-color: $input-secondary;\n    border: $border-primary;\n    border-radius: 4px;\n    color: inherit;\n    cursor: pointer;\n    margin-bottom: 15px;\n    padding: 10px 30px;\n    white-space: nowrap;\n\n    &:hover:not(.dismiss) {\n      box-shadow: $shadow-primary;\n      transition: box-shadow 150ms;\n    }\n\n    &.dismiss {\n      border: 0;\n      padding: 0;\n      text-decoration: underline;\n    }\n\n    &.done {\n      background: $input-primary;\n      border: solid 1px $blue-60;\n      color: $white;\n      margin-inline-start: auto;\n    }\n  }\n}\n\n// Make sure snippets show up above other UI elements\n#snippets-container { // sass-lint:disable-line no-ids\n  z-index: 1;\n}\n\n// Components\n@import '../components/Base/Base';\n@import '../components/ErrorBoundary/ErrorBoundary';\n@import '../components/TopSites/TopSites';\n@import '../components/Sections/Sections';\n@import '../components/Topics/Topics';\n@import '../components/Search/Search';\n@import '../components/ContextMenu/ContextMenu';\n@import '../components/ConfirmDialog/ConfirmDialog';\n@import '../components/Card/Card';\n@import '../components/ManualMigration/ManualMigration';\n@import '../components/CollapsibleSection/CollapsibleSection';\n",
+		"@import './normalize';\n@import './variables';\n@import './icons';\n\nhtml,\nbody,\n#root { // sass-lint:disable-line no-ids\n  height: 100%;\n}\n\nbody {\n  background: $background-primary;\n  color: $text-primary;\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Ubuntu', 'Helvetica Neue', sans-serif;\n  font-size: 16px;\n  overflow-y: scroll;\n}\n\nh1,\nh2 {\n  font-weight: normal;\n}\n\na {\n  color: $link-primary;\n  text-decoration: none;\n\n  &:hover {\n    color: $link-secondary;\n  }\n}\n\n// For screen readers\n.sr-only {\n  border: 0;\n  clip: rect(0, 0, 0, 0);\n  height: 1px;\n  margin: -1px;\n  overflow: hidden;\n  padding: 0;\n  position: absolute;\n  width: 1px;\n}\n\n.inner-border {\n  border: $border-secondary;\n  border-radius: $border-radius;\n  height: 100%;\n  left: 0;\n  pointer-events: none;\n  position: absolute;\n  top: 0;\n  width: 100%;\n  z-index: 100;\n}\n\n@keyframes fadeIn {\n  from {\n    opacity: 0;\n  }\n\n  to {\n    opacity: 1;\n  }\n}\n\n.show-on-init {\n  opacity: 0;\n  transition: opacity 0.2s ease-in;\n\n  &.on {\n    animation: fadeIn 0.2s;\n    opacity: 1;\n  }\n}\n\n.actions {\n  border-top: $border-secondary;\n  display: flex;\n  flex-direction: row;\n  flex-wrap: wrap;\n  justify-content: flex-start;\n  margin: 0;\n  padding: 15px 25px 0;\n\n  button {\n    background-color: $input-secondary;\n    border: $border-primary;\n    border-radius: 4px;\n    color: inherit;\n    cursor: pointer;\n    margin-bottom: 15px;\n    padding: 10px 30px;\n    white-space: nowrap;\n\n    &:hover:not(.dismiss) {\n      box-shadow: $shadow-primary;\n      transition: box-shadow 150ms;\n    }\n\n    &.dismiss {\n      border: 0;\n      padding: 0;\n      text-decoration: underline;\n    }\n\n    &.done {\n      background: $input-primary;\n      border: solid 1px $blue-60;\n      color: $white;\n      margin-inline-start: auto;\n    }\n  }\n}\n\n// Make sure snippets show up above other UI elements\n#snippets-container { // sass-lint:disable-line no-ids\n  z-index: 1;\n}\n\n// Components\n@import '../components/Base/Base';\n@import '../components/ErrorBoundary/ErrorBoundary';\n@import '../components/TopSites/TopSites';\n@import '../components/Sections/Sections';\n@import '../components/Topics/Topics';\n@import '../components/Search/Search';\n@import '../components/ContextMenu/ContextMenu';\n@import '../components/PreferencesPane/PreferencesPane';\n@import '../components/ConfirmDialog/ConfirmDialog';\n@import '../components/Card/Card';\n@import '../components/ManualMigration/ManualMigration';\n@import '../components/CollapsibleSection/CollapsibleSection';\n",
 		"html {\n  box-sizing: border-box;\n}\n\n*,\n*::before,\n*::after {\n  box-sizing: inherit;\n}\n\n*::-moz-focus-inner {\n  border: 0;\n}\n\nbody {\n  margin: 0;\n}\n\nbutton,\ninput {\n  background-color: inherit;\n  color: inherit;\n  font-family: inherit;\n  font-size: inherit;\n}\n\n[hidden] {\n  display: none !important; // sass-lint:disable-line no-important\n}\n",
 		"// Photon colors from http://design.firefox.com/photon/visuals/color.html\n$blue-50: #0A84FF;\n$blue-60: #0060DF;\n$grey-10: #F9F9FA;\n$grey-20: #EDEDF0;\n$grey-30: #D7D7DB;\n$grey-40: #B1B1B3;\n$grey-50: #737373;\n$grey-60: #4A4A4F;\n$grey-90: #0C0C0D;\n$teal-70: #008EA4;\n$red-60: #D70022;\n\n// Photon opacity from http://design.firefox.com/photon/visuals/color.html#opacity\n$grey-90-10: rgba($grey-90, 0.1);\n$grey-90-20: rgba($grey-90, 0.2);\n$grey-90-30: rgba($grey-90, 0.3);\n$grey-90-40: rgba($grey-90, 0.4);\n$grey-90-50: rgba($grey-90, 0.5);\n$grey-90-60: rgba($grey-90, 0.6);\n$grey-90-70: rgba($grey-90, 0.7);\n$grey-90-80: rgba($grey-90, 0.8);\n$grey-90-90: rgba($grey-90, 0.9);\n\n$grey-20-60: rgba($grey-20, 0.6);\n\n$black: #000;\n$black-5: rgba($black, 0.05);\n$black-10: rgba($black, 0.1);\n$black-15: rgba($black, 0.15);\n$black-20: rgba($black, 0.2);\n$black-25: rgba($black, 0.25);\n$black-30: rgba($black, 0.3);\n\n// Photon transitions from http://design.firefox.com/photon/motion/duration-and-easing.html\n$photon-easing: cubic-bezier(0.07, 0.95, 0, 1);\n\n// Aliases and derived styles based on Photon colors for common usage\n$background-primary: $grey-10;\n$background-secondary: $grey-20;\n$border-primary: 1px solid $grey-40;\n$border-secondary: 1px solid $grey-30;\n$fill-primary: $grey-90-80;\n$fill-secondary: $grey-90-60;\n$fill-tertiary: $grey-30;\n$input-primary: $blue-60;\n$input-secondary: $grey-10;\n$link-primary: $blue-60;\n$link-secondary: $teal-70;\n$shadow-primary: 0 0 0 5px $grey-30;\n$shadow-secondary: 0 1px 4px 0 $grey-90-10;\n$text-primary: $grey-90;\n$text-conditional: $grey-60;\n$text-secondary: $grey-50;\n$input-border: solid 1px $grey-90-20;\n$input-border-active: solid 1px $blue-50;\n$input-error-border: solid 1px $red-60;\n$input-error-boxshadow: 0 0 0 2px rgba($red-60, 0.35);\n$input-focus-boxshadow: 0 0 0 2px rgba($blue-50, 0.35);\n\n$white: #FFF;\n$border-radius: 3px;\n\n$base-gutter: 32px;\n$section-horizontal-padding: 25px;\n$section-vertical-padding: 10px;\n$section-spacing: 40px - $section-vertical-padding * 2;\n$grid-unit: 96px; // 1 top site\n\n$icon-size: 16px;\n$smaller-icon-size: 12px;\n$larger-icon-size: 32px;\n\n$wrapper-default-width: $grid-unit * 2 + $base-gutter * 1 + $section-horizontal-padding * 2; // 2 top sites\n$wrapper-max-width-small: $grid-unit * 3 + $base-gutter * 2 + $section-horizontal-padding * 2; // 3 top sites\n$wrapper-max-width-medium: $grid-unit * 4 + $base-gutter * 3 + $section-horizontal-padding * 2; // 4 top sites\n$wrapper-max-width-large: $grid-unit * 6 + $base-gutter * 5 + $section-horizontal-padding * 2; // 6 top sites\n$wrapper-max-width-widest: $grid-unit * 8 + $base-gutter * 7 + $section-horizontal-padding * 2; // 8 top sites\n// For the breakpoints, we need to add space for the scrollbar to avoid weird\n// layout issues when the scrollbar is visible. 16px is wide enough to cover all\n// OSes and keeps it simpler than a per-OS value.\n$scrollbar-width: 16px;\n$break-point-small: $wrapper-max-width-small + $base-gutter * 2 + $scrollbar-width;\n$break-point-medium: $wrapper-max-width-medium + $base-gutter * 2 + $scrollbar-width;\n$break-point-large: $wrapper-max-width-large + $base-gutter * 2 + $scrollbar-width;\n$break-point-widest: $wrapper-max-width-widest + $base-gutter * 2 + $scrollbar-width;\n\n$section-title-font-size: 13px;\n\n$card-width: $grid-unit * 2 + $base-gutter;\n$card-height: 266px;\n$card-preview-image-height: 122px;\n$card-title-margin: 2px;\n$card-text-line-height: 19px;\n// Larger cards for wider screens:\n$card-width-large: 309px;\n$card-height-large: 370px;\n$card-preview-image-height-large: 155px;\n\n$topic-margin-top: 12px;\n\n$context-menu-button-size: 27px;\n$context-menu-button-boxshadow: 0 2px $grey-90-10;\n$context-menu-border-color: $black-20;\n$context-menu-shadow: 0 5px 10px $black-30, 0 0 0 1px $context-menu-border-color;\n$context-menu-font-size: 14px;\n$context-menu-border-radius: 5px;\n$context-menu-outer-padding: 5px;\n$context-menu-item-padding: 3px 12px;\n\n$error-fallback-font-size: 12px;\n$error-fallback-line-height: 1.5;\n\n$inner-box-shadow: 0 0 0 1px $black-10;\n\n$image-path: '../data/content/assets/';\n\n$snippets-container-height: 120px;\n\n@mixin fade-in {\n  box-shadow: inset $inner-box-shadow, $shadow-primary;\n  transition: box-shadow 150ms;\n}\n\n@mixin fade-in-card {\n  box-shadow: $shadow-primary;\n  transition: box-shadow 150ms;\n}\n\n@mixin context-menu-button {\n  .context-menu-button {\n    background-clip: padding-box;\n    background-color: $white;\n    background-image: url('chrome://browser/skin/page-action.svg');\n    background-position: 55%;\n    border: $border-primary;\n    border-radius: 100%;\n    box-shadow: $context-menu-button-boxshadow;\n    cursor: pointer;\n    fill: $fill-primary;\n    height: $context-menu-button-size;\n    offset-inline-end: -($context-menu-button-size / 2);\n    opacity: 0;\n    position: absolute;\n    top: -($context-menu-button-size / 2);\n    transform: scale(0.25);\n    transition-duration: 200ms;\n    transition-property: transform, opacity;\n    width: $context-menu-button-size;\n\n    &:-moz-any(:active, :focus) {\n      opacity: 1;\n      transform: scale(1);\n    }\n  }\n}\n\n@mixin context-menu-button-hover {\n  .context-menu-button {\n    opacity: 1;\n    transform: scale(1);\n  }\n}\n\n@mixin context-menu-open-middle {\n  .context-menu {\n    margin-inline-end: auto;\n    margin-inline-start: auto;\n    offset-inline-end: auto;\n    offset-inline-start: -$base-gutter;\n  }\n}\n\n@mixin context-menu-open-left {\n  .context-menu {\n    margin-inline-end: 5px;\n    margin-inline-start: auto;\n    offset-inline-end: 0;\n    offset-inline-start: auto;\n  }\n}\n\n@mixin flip-icon {\n  &:dir(rtl) {\n    transform: scaleX(-1);\n  }\n}\n",
-		".icon {\n  background-position: center center;\n  background-repeat: no-repeat;\n  background-size: $icon-size;\n  -moz-context-properties: fill;\n  display: inline-block;\n  fill: $fill-primary;\n  height: $icon-size;\n  vertical-align: middle;\n  width: $icon-size;\n\n  &.icon-spacer {\n    margin-inline-end: 8px;\n  }\n\n  &.icon-small-spacer {\n    margin-inline-end: 6px;\n  }\n\n  &.icon-bookmark-added {\n    background-image: url('chrome://browser/skin/bookmark.svg');\n  }\n\n  &.icon-bookmark-hollow {\n    background-image: url('chrome://browser/skin/bookmark-hollow.svg');\n  }\n\n  &.icon-clear-input {\n    fill: $fill-secondary;\n    background-image: url('#{$image-path}glyph-cancel-16.svg');\n  }\n\n  &.icon-delete {\n    background-image: url('#{$image-path}glyph-delete-16.svg');\n  }\n\n  &.icon-modal-delete {\n    background-image: url('#{$image-path}glyph-modal-delete-32.svg');\n    background-size: $larger-icon-size;\n    height: $larger-icon-size;\n    width: $larger-icon-size;\n  }\n\n  &.icon-dismiss {\n    background-image: url('#{$image-path}glyph-dismiss-16.svg');\n  }\n\n  &.icon-info {\n    background-image: url('#{$image-path}glyph-info-16.svg');\n  }\n\n  &.icon-import {\n    background-image: url('#{$image-path}glyph-import-16.svg');\n  }\n\n  &.icon-new-window {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-newWindow-16.svg');\n  }\n\n  &.icon-new-window-private {\n    background-image: url('chrome://browser/skin/privateBrowsing.svg');\n  }\n\n  &.icon-settings {\n    background-image: url('chrome://browser/skin/settings.svg');\n  }\n\n  &.icon-pin {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-pin-16.svg');\n  }\n\n  &.icon-unpin {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-unpin-16.svg');\n  }\n\n  &.icon-edit {\n    background-image: url('#{$image-path}glyph-edit-16.svg');\n  }\n\n  &.icon-pocket {\n    background-image: url('#{$image-path}glyph-pocket-16.svg');\n  }\n\n  &.icon-historyItem { // sass-lint:disable-line class-name-format\n    background-image: url('#{$image-path}glyph-historyItem-16.svg');\n  }\n\n  &.icon-trending {\n    background-image: url('#{$image-path}glyph-trending-16.svg');\n    transform: translateY(2px); // trending bolt is visually top heavy\n  }\n\n  &.icon-now {\n    background-image: url('chrome://browser/skin/history.svg');\n  }\n\n  &.icon-topsites {\n    background-image: url('#{$image-path}glyph-topsites-16.svg');\n  }\n\n  &.icon-pin-small {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-pin-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    width: $smaller-icon-size;\n  }\n\n  &.icon-check {\n    background-image: url('chrome://browser/skin/check.svg');\n  }\n\n  &.icon-webextension {\n    background-image: url('#{$image-path}glyph-webextension-16.svg');\n  }\n\n  &.icon-highlights {\n    background-image: url('#{$image-path}glyph-highlights-16.svg');\n  }\n\n  &.icon-arrowhead-down {\n    background-image: url('#{$image-path}glyph-arrowhead-down-16.svg');\n  }\n\n  &.icon-arrowhead-down-small {\n    background-image: url('#{$image-path}glyph-arrowhead-down-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    width: $smaller-icon-size;\n  }\n\n  &.icon-arrowhead-forward-small {\n    background-image: url('#{$image-path}glyph-arrowhead-down-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    transform: rotate(-90deg);\n    width: $smaller-icon-size;\n\n    &:dir(rtl) {\n      transform: rotate(90deg);\n    }\n  }\n\n  &.icon-arrowhead-up {\n    background-image: url('#{$image-path}glyph-arrowhead-down-16.svg');\n    transform: rotate(180deg);\n  }\n\n  &.icon-add {\n    background-image: url('#{$image-path}glyph-add-16.svg');\n  }\n\n  &.icon-minimize {\n    background-image: url('#{$image-path}glyph-minimize-16.svg');\n  }\n\n  &.icon-maximize {\n    background-image: url('#{$image-path}glyph-maximize-16.svg');\n  }\n}\n",
-		".outer-wrapper {\n  display: flex;\n  flex-grow: 1;\n  height: 100%;\n  padding: ($section-spacing + $section-vertical-padding) $base-gutter $base-gutter;\n\n  &.fixed-to-top {\n    height: auto;\n  }\n}\n\nmain {\n  margin: auto;\n  // Offset the snippets container so things at the bottom of the page are still\n  // visible when snippets / onboarding are visible. Adjust for other spacing.\n  padding-bottom: $snippets-container-height - $section-spacing - $base-gutter;\n  width: $wrapper-default-width;\n\n  @media (min-width: $break-point-small) {\n    width: $wrapper-max-width-small;\n  }\n\n  @media (min-width: $break-point-medium) {\n    width: $wrapper-max-width-medium;\n  }\n\n  @media (min-width: $break-point-large) {\n    width: $wrapper-max-width-large;\n  }\n\n  section {\n    margin-bottom: $section-spacing;\n    position: relative;\n  }\n}\n\n.wide-layout-enabled {\n  main {\n    @media (min-width: $break-point-widest) {\n      width: $wrapper-max-width-widest;\n    }\n  }\n}\n\n.section-top-bar {\n  height: 16px;\n  margin-bottom: 16px;\n}\n\n.section-title {\n  font-size: $section-title-font-size;\n  font-weight: bold;\n  text-transform: uppercase;\n\n  span {\n    color: $text-secondary;\n    fill: $text-secondary;\n    vertical-align: middle;\n  }\n}\n\n.base-content-fallback {\n  // Make the error message be centered against the viewport\n  height: 100vh;\n}\n\n.body-wrapper {\n  // Hide certain elements so the page structure is fixed, e.g., placeholders,\n  // while avoiding flashes of changing content, e.g., icons and text\n  $selectors-to-hide: '\n    .section-title,\n    .sections-list .section:last-of-type,\n    .topic\n  ';\n\n  #{$selectors-to-hide} {\n    opacity: 0;\n  }\n\n  &.on {\n    #{$selectors-to-hide} {\n      opacity: 1;\n    }\n  }\n}\n\n.non-collapsible-section {\n  padding: 0 $section-horizontal-padding;\n}\n\n.prefs-button {\n  button {\n    background-color: transparent;\n    border: 0;\n    cursor: pointer;\n    fill: $fill-secondary;\n    offset-inline-end: 15px;\n    padding: 15px;\n    position: fixed;\n    top: 15px;\n    z-index: 12001;\n\n    &:hover {\n      background-color: $background-secondary;\n    }\n\n    &:active {\n      background-color: $background-primary;\n    }\n  }\n}\n",
+		".icon {\n  background-position: center center;\n  background-repeat: no-repeat;\n  background-size: $icon-size;\n  -moz-context-properties: fill;\n  display: inline-block;\n  fill: $fill-primary;\n  height: $icon-size;\n  vertical-align: middle;\n  width: $icon-size;\n\n  &.icon-spacer {\n    margin-inline-end: 8px;\n  }\n\n  &.icon-small-spacer {\n    margin-inline-end: 6px;\n  }\n\n  &.icon-bookmark-added {\n    background-image: url('chrome://browser/skin/bookmark.svg');\n  }\n\n  &.icon-bookmark-hollow {\n    background-image: url('chrome://browser/skin/bookmark-hollow.svg');\n  }\n\n  &.icon-clear-input {\n    fill: $fill-secondary;\n    background-image: url('#{$image-path}glyph-cancel-16.svg');\n  }\n\n  &.icon-delete {\n    background-image: url('#{$image-path}glyph-delete-16.svg');\n  }\n\n  &.icon-modal-delete {\n    background-image: url('#{$image-path}glyph-modal-delete-32.svg');\n    background-size: $larger-icon-size;\n    height: $larger-icon-size;\n    width: $larger-icon-size;\n  }\n\n  &.icon-dismiss {\n    background-image: url('#{$image-path}glyph-dismiss-16.svg');\n  }\n\n  &.icon-info {\n    background-image: url('#{$image-path}glyph-info-16.svg');\n  }\n\n  &.icon-import {\n    background-image: url('#{$image-path}glyph-import-16.svg');\n  }\n\n  &.icon-new-window {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-newWindow-16.svg');\n  }\n\n  &.icon-new-window-private {\n    background-image: url('chrome://browser/skin/privateBrowsing.svg');\n  }\n\n  &.icon-settings {\n    background-image: url('chrome://browser/skin/settings.svg');\n  }\n\n  &.icon-pin {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-pin-16.svg');\n  }\n\n  &.icon-unpin {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-unpin-16.svg');\n  }\n\n  &.icon-edit {\n    background-image: url('#{$image-path}glyph-edit-16.svg');\n  }\n\n  &.icon-pocket {\n    background-image: url('#{$image-path}glyph-pocket-16.svg');\n  }\n\n  &.icon-pocket-small {\n    background-image: url('#{$image-path}glyph-pocket-16.svg');\n    background-size: $smaller-icon-size;\n  }\n\n  &.icon-historyItem { // sass-lint:disable-line class-name-format\n    background-image: url('#{$image-path}glyph-historyItem-16.svg');\n  }\n\n  &.icon-trending {\n    background-image: url('#{$image-path}glyph-trending-16.svg');\n    transform: translateY(2px); // trending bolt is visually top heavy\n  }\n\n  &.icon-now {\n    background-image: url('chrome://browser/skin/history.svg');\n  }\n\n  &.icon-topsites {\n    background-image: url('#{$image-path}glyph-topsites-16.svg');\n  }\n\n  &.icon-pin-small {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-pin-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    width: $smaller-icon-size;\n  }\n\n  &.icon-check {\n    background-image: url('chrome://browser/skin/check.svg');\n  }\n\n  &.icon-webextension {\n    background-image: url('#{$image-path}glyph-webextension-16.svg');\n  }\n\n  &.icon-highlights {\n    background-image: url('#{$image-path}glyph-highlights-16.svg');\n  }\n\n  &.icon-arrowhead-down {\n    background-image: url('#{$image-path}glyph-arrowhead-down-16.svg');\n  }\n\n  &.icon-arrowhead-down-small {\n    background-image: url('#{$image-path}glyph-arrowhead-down-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    width: $smaller-icon-size;\n  }\n\n  &.icon-arrowhead-forward-small {\n    background-image: url('#{$image-path}glyph-arrowhead-down-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    transform: rotate(-90deg);\n    width: $smaller-icon-size;\n\n    &:dir(rtl) {\n      transform: rotate(90deg);\n    }\n  }\n\n  &.icon-arrowhead-up {\n    background-image: url('#{$image-path}glyph-arrowhead-down-16.svg');\n    transform: rotate(180deg);\n  }\n\n  &.icon-add {\n    background-image: url('#{$image-path}glyph-add-16.svg');\n  }\n\n  &.icon-minimize {\n    background-image: url('#{$image-path}glyph-minimize-16.svg');\n  }\n\n  &.icon-maximize {\n    background-image: url('#{$image-path}glyph-maximize-16.svg');\n  }\n}\n",
+		".outer-wrapper {\n  display: flex;\n  flex-grow: 1;\n  height: 100%;\n  padding: ($section-spacing + $section-vertical-padding) $base-gutter $base-gutter;\n\n  &.fixed-to-top {\n    height: auto;\n  }\n}\n\nmain {\n  margin: auto;\n  // Offset the snippets container so things at the bottom of the page are still\n  // visible when snippets / onboarding are visible. Adjust for other spacing.\n  padding-bottom: $snippets-container-height - $section-spacing - $base-gutter;\n  width: $wrapper-default-width;\n\n  @media (min-width: $break-point-small) {\n    width: $wrapper-max-width-small;\n  }\n\n  @media (min-width: $break-point-medium) {\n    width: $wrapper-max-width-medium;\n  }\n\n  @media (min-width: $break-point-large) {\n    width: $wrapper-max-width-large;\n  }\n\n  section {\n    margin-bottom: $section-spacing;\n    position: relative;\n  }\n}\n\n.wide-layout-enabled {\n  main {\n    @media (min-width: $break-point-widest) {\n      width: $wrapper-max-width-widest;\n    }\n  }\n}\n\n.section-top-bar {\n  height: 16px;\n  margin-bottom: 16px;\n}\n\n.section-title {\n  font-size: $section-title-font-size;\n  font-weight: bold;\n  text-transform: uppercase;\n\n  span {\n    color: $text-secondary;\n    fill: $text-secondary;\n    vertical-align: middle;\n  }\n}\n\n.base-content-fallback {\n  // Make the error message be centered against the viewport\n  height: 100vh;\n}\n\n.body-wrapper {\n  // Hide certain elements so the page structure is fixed, e.g., placeholders,\n  // while avoiding flashes of changing content, e.g., icons and text\n  $selectors-to-hide: '\n    .section-title,\n    .sections-list .section:last-of-type,\n    .topic\n  ';\n\n  #{$selectors-to-hide} {\n    opacity: 0;\n  }\n\n  &.on {\n    #{$selectors-to-hide} {\n      opacity: 1;\n    }\n  }\n}\n\n.non-collapsible-section {\n  padding: 0 $section-horizontal-padding;\n}\n",
 		".as-error-fallback {\n  align-items: center;\n  border-radius: $border-radius;\n  box-shadow: inset $inner-box-shadow;\n  color: $text-conditional;\n  display: flex;\n  flex-direction: column;\n  font-size: $error-fallback-font-size;\n  justify-content: center;\n  justify-items: center;\n  line-height: $error-fallback-line-height;\n\n  a {\n    color: $text-conditional;\n    text-decoration: underline;\n  }\n}\n\n",
 		"$top-sites-size: $grid-unit;\n$top-sites-border-radius: 6px;\n$top-sites-title-height: 30px;\n$top-sites-vertical-space: 8px;\n$screenshot-size: cover;\n$rich-icon-size: 96px;\n$default-icon-wrapper-size: 42px;\n$default-icon-size: 32px;\n$default-icon-offset: 6px;\n$half-base-gutter: $base-gutter / 2;\n\n.top-sites {\n  // Take back the margin from the bottom row of vertical spacing as well as the\n  // extra whitespace below the title text as it's vertically centered.\n  margin-bottom: $section-spacing - ($top-sites-vertical-space + $top-sites-title-height / 3);\n}\n\n.top-sites-list {\n  list-style: none;\n  margin: 0 (-$half-base-gutter);\n  padding: 0;\n\n  // Two columns\n  @media (max-width: $break-point-small) {\n    :nth-child(2n+1) {\n      @include context-menu-open-middle;\n    }\n\n    :nth-child(2n) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Three columns\n  @media (min-width: $break-point-small) and (max-width: $break-point-medium) {\n    :nth-child(3n+2),\n    :nth-child(3n) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Four columns\n  @media (min-width: $break-point-medium) and (max-width: $break-point-large) {\n    :nth-child(4n) {\n      @include context-menu-open-left;\n    }\n  }\n  @media (min-width: $break-point-medium) and (max-width: $break-point-medium + $card-width) {\n    :nth-child(4n+3) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Six columns\n  @media (min-width: $break-point-large) and (max-width: $break-point-large + 2 * $card-width) {\n    :nth-child(6n) {\n      @include context-menu-open-left;\n    }\n  }\n  @media (min-width: $break-point-large) and (max-width: $break-point-large + $card-width) {\n    :nth-child(6n+5) {\n      @include context-menu-open-left;\n    }\n  }\n\n  li {\n    margin: 0 0 $top-sites-vertical-space;\n  }\n\n  &:not(.dnd-active) {\n    .top-site-outer:-moz-any(.active, :focus, :hover) {\n      .tile {\n        @include fade-in;\n      }\n\n      @include context-menu-button-hover;\n    }\n  }\n}\n\n// container for drop zone\n.top-site-outer {\n  padding: 0 $half-base-gutter;\n  display: inline-block;\n\n  // container for context menu\n  .top-site-inner {\n    position: relative;\n\n    > a {\n      color: inherit;\n      display: block;\n      outline: none;\n\n      &:-moz-any(.active, :focus) {\n        .tile {\n          @include fade-in;\n        }\n      }\n    }\n  }\n\n  @include context-menu-button;\n\n  .tile { // sass-lint:disable-block property-sort-order\n    border-radius: $top-sites-border-radius;\n    box-shadow: inset $inner-box-shadow, $shadow-secondary;\n    height: $top-sites-size;\n    position: relative;\n    width: $top-sites-size;\n\n    // For letter fallback\n    align-items: center;\n    color: $text-secondary;\n    display: flex;\n    font-size: 32px;\n    font-weight: 200;\n    justify-content: center;\n    text-transform: uppercase;\n\n    &::before {\n      content: attr(data-fallback);\n    }\n  }\n\n  .screenshot {\n    background-color: $white;\n    background-position: top left;\n    background-size: $screenshot-size;\n    border-radius: $top-sites-border-radius;\n    box-shadow: inset $inner-box-shadow;\n    height: 100%;\n    left: 0;\n    opacity: 0;\n    position: absolute;\n    top: 0;\n    transition: opacity 1s;\n    width: 100%;\n\n    &.active {\n      opacity: 1;\n    }\n  }\n\n  // Some common styles for all icons (rich and default) in top sites\n  .top-site-icon {\n    background-color: $background-primary;\n    background-position: center center;\n    background-repeat: no-repeat;\n    border-radius: $top-sites-border-radius;\n    box-shadow: inset $inner-box-shadow;\n    position: absolute;\n  }\n\n  .rich-icon {\n    background-size: $rich-icon-size;\n    height: 100%;\n    offset-inline-start: 0;\n    top: 0;\n    width: 100%;\n  }\n\n  .default-icon { // sass-lint:disable block property-sort-order\n    background-size: $default-icon-size;\n    bottom: -$default-icon-offset;\n    height: $default-icon-wrapper-size;\n    offset-inline-end: -$default-icon-offset;\n    width: $default-icon-wrapper-size;\n\n    // for corner letter fallback\n    align-items: center;\n    display: flex;\n    font-size: 20px;\n    justify-content: center;\n\n    &[data-fallback]::before {\n      content: attr(data-fallback);\n    }\n  }\n\n  .title {\n    font: message-box;\n    height: $top-sites-title-height;\n    line-height: $top-sites-title-height;\n    text-align: center;\n    width: $top-sites-size;\n    position: relative;\n\n    .icon {\n      fill: $fill-tertiary;\n      offset-inline-start: 0;\n      position: absolute;\n      top: 10px;\n    }\n\n    span {\n      height: $top-sites-title-height;\n      display: block;\n      overflow: hidden;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n    }\n\n    &.pinned {\n      span {\n        padding: 0 13px;\n      }\n    }\n  }\n\n  .edit-button {\n    background-image: url('#{$image-path}glyph-edit-16.svg');\n  }\n\n  &.placeholder {\n    .tile {\n      box-shadow: inset $inner-box-shadow;\n    }\n\n    .screenshot {\n      display: none;\n    }\n  }\n\n  &.dragged {\n    .tile {\n      background: $grey-20;\n      box-shadow: none;\n\n      *,\n      &::before {\n        display: none;\n      }\n    }\n\n    .title {\n      visibility: hidden;\n    }\n  }\n}\n\n// Always hide .hide-for-narrow if wide layout is disabled\n.wide-layout-disabled {\n  .top-sites-list {\n    .hide-for-narrow {\n      display: none;\n    }\n  }\n}\n\n.wide-layout-enabled {\n  .top-sites-list {\n    // Eight columns\n    @media (min-width: $break-point-widest) and (max-width: $break-point-widest + 2 * $card-width) {\n      :nth-child(8n) {\n        @include context-menu-open-left;\n      }\n    }\n\n    @media (min-width: $break-point-widest) and (max-width: $break-point-widest + $card-width) {\n      :nth-child(8n+7) {\n        @include context-menu-open-left;\n      }\n    }\n\n    @media not all and (min-width: $break-point-widest) {\n      .hide-for-narrow {\n        display: none;\n      }\n    }\n  }\n}\n\n.edit-topsites-wrapper {\n  .modal {\n    box-shadow: $shadow-secondary;\n    left: 0;\n    margin: 0 auto;\n    position: fixed;\n    right: 0;\n    top: 40px;\n    width: $wrapper-default-width;\n\n    @media (min-width: $break-point-small) {\n      width: $wrapper-max-width-small;\n    }\n\n    @media (min-width: $break-point-medium) {\n      width: $wrapper-max-width-medium;\n    }\n\n    @media (min-width: $break-point-large) {\n      width: $wrapper-max-width-large;\n    }\n  }\n}\n\n.topsite-form {\n  $form-width: 300px;\n  $form-spacing: 32px;\n\n  .form-input-container {\n    max-width: $form-width + 3 * $form-spacing + $rich-icon-size;\n    margin: 0 auto;\n    padding: $form-spacing $form-spacing 40px;\n\n    .top-site-outer {\n      padding: 0;\n      margin: 24px 0 0;\n      margin-inline-start: $form-spacing;\n      pointer-events: none;\n    }\n\n    .section-title {\n      text-transform: none;\n      font-size: 16px;\n      margin: 0 0 16px;\n    }\n  }\n\n  .fields-and-preview {\n    display: flex;\n  }\n\n  label {\n    font-size: $section-title-font-size;\n  }\n\n  .form-wrapper {\n    width: 100%;\n\n    .field {\n      position: relative;\n\n      .icon-clear-input {\n        position: absolute;\n        transform: translateY(-50%);\n        top: 50%;\n        offset-inline-end: 8px;\n\n        & + input:dir(ltr) {\n          padding-right: 32px;\n        }\n\n        & + input:dir(rtl) {\n          padding-left: 32px;\n        }\n      }\n    }\n\n    .url input:not(:placeholder-shown):dir(rtl) {\n      direction: ltr;\n      text-align: right;\n    }\n\n    input {\n      &[type='text'] {\n        border: $input-border;\n        border-radius: 2px;\n        margin: 8px 0;\n        padding: 0 8px;\n        height: 32px;\n        width: 100%;\n\n        &:focus {\n          border: $input-border-active;\n          box-shadow: $input-focus-boxshadow;\n        }\n      }\n    }\n\n    .invalid {\n      input {\n        &[type='text'] {\n          border: $input-error-border;\n          box-shadow: $input-error-boxshadow;\n        }\n      }\n    }\n\n    .error-tooltip {\n      animation: fade-up-tt 450ms;\n      background: $red-60;\n      border-radius: 2px;\n      color: $white;\n      offset-inline-start: 3px;\n      padding: 5px 12px;\n      position: absolute;\n      top: 44px;\n      z-index: 1;\n\n      // tooltip caret\n      &::before {\n        background: $red-60;\n        bottom: -8px;\n        content: '.';\n        height: 16px;\n        offset-inline-start: 12px;\n        position: absolute;\n        text-indent: -999px;\n        top: -7px;\n        transform: rotate(45deg);\n        white-space: nowrap;\n        width: 16px;\n        z-index: -1;\n      }\n    }\n  }\n\n  .actions {\n    justify-content: flex-end;\n\n    button {\n      margin-inline-start: 10px;\n      margin-inline-end: 0;\n    }\n  }\n\n  @media (max-width: $break-point-small) {\n    .fields-and-preview {\n      flex-direction: column;\n\n      .top-site-outer {\n        margin-inline-start: 0;\n      }\n    }\n  }\n}\n\n//used for tooltips below form element\n@keyframes fade-up-tt {\n  0% {\n    opacity: 0;\n    transform: translateY(15px);\n  }\n\n  100% {\n    opacity: 1;\n    transform: translateY(0);\n  }\n}\n",
 		".sections-list {\n  .section-list {\n    display: grid;\n    grid-gap: $base-gutter;\n    grid-template-columns: repeat(auto-fit, $card-width);\n    margin: 0;\n\n    @media (max-width: $break-point-medium) {\n      @include context-menu-open-left;\n    }\n\n    @media (min-width: $break-point-medium) and (max-width: $break-point-large) {\n      :nth-child(2n) {\n        @include context-menu-open-left;\n      }\n    }\n\n    @media (min-width: $break-point-large) and (max-width: $break-point-large + 2 * $card-width) {\n      :nth-child(3n) {\n        @include context-menu-open-left;\n      }\n    }\n  }\n\n  .section-empty-state {\n    border: $border-secondary;\n    border-radius: $border-radius;\n    display: flex;\n    height: $card-height;\n    width: 100%;\n\n    .empty-state {\n      margin: auto;\n      max-width: 350px;\n\n      .empty-state-icon {\n        background-position: center;\n        background-repeat: no-repeat;\n        background-size: 50px 50px;\n        -moz-context-properties: fill;\n        display: block;\n        fill: $fill-secondary;\n        height: 50px;\n        margin: 0 auto;\n        width: 50px;\n      }\n\n      .empty-state-message {\n        color: $text-secondary;\n        font-size: 13px;\n        margin-bottom: 0;\n        text-align: center;\n      }\n    }\n  }\n}\n\n.wide-layout-enabled {\n  .sections-list {\n    .section-list {\n      @media (min-width: $break-point-widest) and (max-width: $break-point-widest + 2 * $card-width) {\n        :nth-child(3n) {\n          @include context-menu-open-left;\n        }\n      }\n\n      @media (min-width: $break-point-widest) {\n        grid-template-columns: repeat(auto-fit, $card-width-large);\n      }\n    }\n  }\n\n  .section-empty-state {\n    height: $card-height-large;\n  }\n}\n",
 		".topic {\n  color: $text-secondary;\n  font-size: 12px;\n  line-height: 1.6;\n  margin-top: $topic-margin-top;\n\n  @media (min-width: $break-point-large) {\n    line-height: 16px;\n  }\n\n  ul {\n    margin: 0;\n    padding: 0;\n    @media (min-width: $break-point-large) {\n      display: inline;\n      padding-inline-start: 12px;\n    }\n  }\n\n\n  ul li {\n    display: inline-block;\n\n    &::after {\n      content: '•';\n      padding: 8px;\n    }\n\n    &:last-child::after {\n      content: none;\n    }\n  }\n\n  .topic-link {\n    color: $link-secondary;\n  }\n\n  .topic-read-more {\n    color: $link-secondary;\n\n    @media (min-width: $break-point-large) {\n      // This is floating to accomodate a very large number of topics and/or\n      // very long topic names due to l10n.\n      float: right;\n\n      &:dir(rtl) {\n        float: left;\n      }\n    }\n\n    &::after {\n      background: url('#{$image-path}topic-show-more-12.svg') no-repeat center center;\n      content: '';\n      -moz-context-properties: fill;\n      display: inline-block;\n      fill: $link-secondary;\n      height: 16px;\n      margin-inline-start: 5px;\n      vertical-align: top;\n      width: 12px;\n    }\n\n    &:dir(rtl)::after  {\n      transform: scaleX(-1);\n    }\n  }\n\n  // This is a clearfix to for the topics-read-more link which is floating and causes\n  // some jank when we set overflow:hidden for the animation.\n  &::after {\n    clear: both;\n    content: '';\n    display: table;\n  }\n}\n",
 		".search-wrapper {\n  $search-border-radius: 3px;\n  $search-focus-color: $blue-50;\n  $search-height: 35px;\n  $search-input-left-label-width: 35px;\n  $search-button-width: 36px;\n  $search-glyph-image: url('chrome://browser/skin/search-glass.svg');\n  $glyph-forward: url('chrome://browser/skin/forward.svg');\n  $search-glyph-size: 16px;\n  $search-glyph-fill: $grey-90-40;\n  // This is positioned so it is visually (not metrically) centered. r=abenson\n  $search-glyph-left-position: 12px;\n\n  cursor: default;\n  display: flex;\n  height: $search-height;\n  // The extra 1px is to account for the box-shadow being outside of the element\n  // instead of inside. It needs to be like that to not overlap the inner background\n  // color of the hover state of the submit button.\n  margin: 1px 1px $section-spacing;\n  position: relative;\n  width: 100%;\n\n  input {\n    border: 0;\n    border-radius: $search-border-radius;\n    box-shadow: $shadow-secondary, 0 0 0 1px $black-15;\n    font-size: 15px;\n    padding: 0;\n    padding-inline-end: $search-button-width;\n    padding-inline-start: $search-input-left-label-width;\n    width: 100%;\n  }\n\n  &:hover input {\n    box-shadow: $shadow-secondary, 0 0 0 1px $black-25;\n  }\n\n  &:active input,\n  input:focus {\n    box-shadow: 0 0 0 $os-search-focus-shadow-radius $search-focus-color;\n  }\n\n  .search-label {\n    background: $search-glyph-image no-repeat $search-glyph-left-position center / $search-glyph-size;\n    -moz-context-properties: fill;\n    fill: $search-glyph-fill;\n    height: 100%;\n    offset-inline-start: 0;\n    position: absolute;\n    width: $search-input-left-label-width;\n  }\n\n  .search-button {\n    background: $glyph-forward no-repeat center center;\n    background-size: 16px 16px;\n    border: 0;\n    border-radius: 0 $border-radius $border-radius 0;\n    -moz-context-properties: fill;\n    fill: $search-glyph-fill;\n    height: 100%;\n    offset-inline-end: 0;\n    position: absolute;\n    width: $search-button-width;\n\n    &:focus,\n    &:hover {\n      background-color: $grey-90-10;\n      cursor: pointer;\n    }\n\n    &:active {\n      background-color: $grey-90-20;\n    }\n\n    &:dir(rtl) {\n      transform: scaleX(-1);\n    }\n  }\n\n  // Adjust the style of the contentSearchUI-generated table\n  .contentSearchSuggestionTable { // sass-lint:disable-line class-name-format\n    border: 0;\n    transform: translateY(2px);\n  }\n}\n",
 		".context-menu {\n  background: $background-primary;\n  border-radius: $context-menu-border-radius;\n  box-shadow: $context-menu-shadow;\n  display: block;\n  font-size: $context-menu-font-size;\n  margin-inline-start: 5px;\n  offset-inline-start: 100%;\n  position: absolute;\n  top: ($context-menu-button-size / 4);\n  z-index: 10000;\n\n  > ul {\n    list-style: none;\n    margin: 0;\n    padding: $context-menu-outer-padding 0;\n\n    > li {\n      margin: 0;\n      width: 100%;\n\n      &.separator {\n        border-bottom: 1px solid $context-menu-border-color;\n        margin: $context-menu-outer-padding 0;\n      }\n\n      > a {\n        align-items: center;\n        color: inherit;\n        cursor: pointer;\n        display: flex;\n        line-height: 16px;\n        outline: none;\n        padding: $context-menu-item-padding;\n        white-space: nowrap;\n\n        &:-moz-any(:focus, :hover) {\n          background: $input-primary;\n          color: $white;\n\n          a {\n            color: $grey-90;\n          }\n\n          .icon {\n            fill: $white;\n          }\n\n          &:-moz-any(:focus, :hover) {\n            color: $white;\n          }\n        }\n\n        &.disabled {\n          opacity: 0.4;\n          pointer-events: none;\n        }\n      }\n    }\n  }\n}\n",
+		".prefs-pane {\n  $options-spacing: 10px;\n  $prefs-spacing: 20px;\n  $prefs-width: 400px;\n\n  color: $text-conditional;\n  font-size: 14px;\n  line-height: 21px;\n\n  .sidebar {\n    background: $white;\n    border-left: $border-secondary;\n    box-shadow: $shadow-secondary;\n    height: 100%;\n    offset-inline-end: 0;\n    overflow-y: auto;\n    padding: 40px;\n    position: fixed;\n    top: 0;\n    transition: 0.1s cubic-bezier(0, 0, 0, 1);\n    transition-property: transform;\n    width: $prefs-width;\n    z-index: 12000;\n\n    &.hidden {\n      transform: translateX(100%);\n\n      &:dir(rtl) {\n        transform: translateX(-100%);\n      }\n    }\n\n    h1 {\n      font-size: 21px;\n      margin: 0;\n      padding-top: $prefs-spacing;\n    }\n  }\n\n  hr {\n    border: 0;\n    border-bottom: $border-secondary;\n    margin: 20px 0;\n  }\n\n  .prefs-modal-inner-wrapper {\n    padding-bottom: 100px;\n\n    section {\n      margin: $prefs-spacing 0;\n\n      p {\n        margin: 5px 0 20px 30px;\n      }\n\n      label {\n        display: inline-block;\n        position: relative;\n        width: 100%;\n\n        input {\n          offset-inline-start: -30px;\n          position: absolute;\n          top: 0;\n        }\n      }\n\n      > label {\n        font-size: 16px;\n        font-weight: bold;\n        line-height: 19px;\n      }\n    }\n\n    .options {\n      background: $background-primary;\n      border: $border-secondary;\n      border-radius: 2px;\n      margin: -$options-spacing 0 $prefs-spacing;\n      margin-inline-start: 30px;\n      padding: $options-spacing;\n\n      &.disabled {\n        opacity: 0.5;\n      }\n\n      label {\n        $icon-offset-start: 35px;\n        background-position-x: $icon-offset-start;\n        background-position-y: 2.5px;\n        background-repeat: no-repeat;\n        display: inline-block;\n        font-size: 14px;\n        font-weight: normal;\n        height: auto;\n        line-height: 21px;\n        width: 100%;\n\n        &:dir(rtl) {\n          background-position-x: right $icon-offset-start;\n        }\n      }\n\n      [type='checkbox']:not(:checked) + label,\n      [type='checkbox']:checked + label {\n        padding-inline-start: 63px;\n      }\n\n      section {\n        margin: 0;\n      }\n    }\n  }\n\n  .actions {\n    background-color: $background-primary;\n    border-left: $border-secondary;\n    bottom: 0;\n    offset-inline-end: 0;\n    position: fixed;\n    width: $prefs-width;\n\n    button {\n      margin-inline-end: $prefs-spacing;\n    }\n  }\n\n  // CSS styled checkbox\n  [type='checkbox']:not(:checked),\n  [type='checkbox']:checked {\n    offset-inline-start: -9999px;\n    position: absolute;\n  }\n\n  [type='checkbox']:not(:disabled):not(:checked) + label,\n  [type='checkbox']:not(:disabled):checked + label {\n    cursor: pointer;\n    padding: 0 30px;\n    position: relative;\n  }\n\n  [type='checkbox']:not(:checked) + label::before,\n  [type='checkbox']:checked + label::before {\n    background: $white;\n    border: $border-primary;\n    border-radius: $border-radius;\n    content: '';\n    height: 21px;\n    offset-inline-start: 0;\n    position: absolute;\n    top: 0;\n    width: 21px;\n  }\n\n  // checkmark\n  [type='checkbox']:not(:checked) + label::after,\n  [type='checkbox']:checked + label::after {\n    background: url('chrome://global/skin/in-content/check.svg') no-repeat center center; // sass-lint:disable-line no-url-domains\n    content: '';\n    -moz-context-properties: fill, stroke;\n    fill: $input-primary;\n    height: 21px;\n    offset-inline-start: 0;\n    position: absolute;\n    stroke: none;\n    top: 0;\n    width: 21px;\n  }\n\n  // checkmark changes\n  [type='checkbox']:not(:checked) + label::after {\n    opacity: 0;\n  }\n\n  [type='checkbox']:checked + label::after {\n    opacity: 1;\n  }\n\n  // hover\n  [type='checkbox']:not(:disabled) + label:hover::before {\n    border: 1px solid $input-primary;\n  }\n\n  // accessibility\n  [type='checkbox']:not(:disabled):checked:focus + label::before,\n  [type='checkbox']:not(:disabled):not(:checked):focus + label::before {\n    border: 1px dotted $input-primary;\n  }\n}\n\n.prefs-pane-button {\n  button {\n    background-color: transparent;\n    border: 0;\n    cursor: pointer;\n    fill: $fill-secondary;\n    offset-inline-end: 15px;\n    padding: 15px;\n    position: fixed;\n    top: 15px;\n    z-index: 12001;\n\n    &:hover {\n      background-color: $background-secondary;\n    }\n\n    &:active {\n      background-color: $background-primary;\n    }\n  }\n}\n",
 		".confirmation-dialog {\n  .modal {\n    box-shadow: 0 2px 2px 0 $black-10;\n    left: 50%;\n    margin-left: -200px;\n    position: fixed;\n    top: 20%;\n    width: 400px;\n  }\n\n  section {\n    margin: 0;\n  }\n\n  .modal-message {\n    display: flex;\n    padding: 16px;\n    padding-bottom: 0;\n\n    p {\n      margin: 0;\n      margin-bottom: 16px;\n    }\n  }\n\n  .actions {\n    border: 0;\n    display: flex;\n    flex-wrap: nowrap;\n    padding: 0 16px;\n\n    button {\n      margin-inline-end: 16px;\n      padding-inline-end: 18px;\n      padding-inline-start: 18px;\n      white-space: normal;\n      width: 50%;\n\n      &.done {\n        margin-inline-end: 0;\n        margin-inline-start: 0;\n      }\n    }\n  }\n\n  .icon {\n    margin-inline-end: 16px;\n  }\n}\n\n.modal-overlay {\n  background: $background-secondary;\n  height: 100%;\n  left: 0;\n  opacity: 0.8;\n  position: fixed;\n  top: 0;\n  width: 100%;\n  z-index: 11001;\n}\n\n.modal {\n  background: $white;\n  border: $border-secondary;\n  border-radius: 5px;\n  font-size: 15px;\n  z-index: 11002;\n}\n",
 		".card-outer {\n  @include context-menu-button;\n  background: $white;\n  border-radius: $border-radius;\n  display: inline-block;\n  height: $card-height;\n  margin-inline-end: $base-gutter;\n  position: relative;\n  width: 100%;\n\n  &.placeholder {\n    background: transparent;\n\n    .card {\n      box-shadow: inset $inner-box-shadow;\n    }\n  }\n\n  .card {\n    border-radius: $border-radius;\n    box-shadow: $shadow-secondary;\n    height: 100%;\n  }\n\n  > a {\n    color: inherit;\n    display: block;\n    height: 100%;\n    outline: none;\n    position: absolute;\n    width: 100%;\n\n    &:-moz-any(.active, :focus) {\n      .card {\n        @include fade-in-card;\n      }\n\n      .card-title {\n        color: $link-primary;\n      }\n    }\n  }\n\n  &:-moz-any(:hover, :focus, .active):not(.placeholder) {\n    @include fade-in-card;\n    @include context-menu-button-hover;\n    outline: none;\n\n    .card-title {\n      color: $link-primary;\n    }\n  }\n\n  .card-preview-image-outer {\n    background-color: $background-primary;\n    border-radius: $border-radius $border-radius 0 0;\n    height: $card-preview-image-height;\n    overflow: hidden;\n    position: relative;\n\n    &::after {\n      border-bottom: 1px solid $black-5;\n      bottom: 0;\n      content: '';\n      position: absolute;\n      width: 100%;\n    }\n\n    .card-preview-image {\n      background-position: center;\n      background-repeat: no-repeat;\n      background-size: cover;\n      height: 100%;\n      opacity: 0;\n      transition: opacity 1s $photon-easing;\n      width: 100%;\n\n      &.loaded {\n        opacity: 1;\n      }\n    }\n  }\n\n  .card-details {\n    padding: 15px 16px 12px;\n\n    &.no-image {\n      padding-top: 16px;\n    }\n  }\n\n  .card-text {\n    max-height: 4 * $card-text-line-height + $card-title-margin;\n    overflow: hidden;\n\n    &.no-image {\n      max-height: 10 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-host-name,\n    &.no-context {\n      max-height: 5 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-image.no-host-name,\n    &.no-image.no-context {\n      max-height: 11 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-host-name.no-context {\n      max-height: 6 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-image.no-host-name.no-context {\n      max-height: 12 * $card-text-line-height + $card-title-margin;\n    }\n\n    &:not(.no-description) .card-title {\n      max-height: 3 * $card-text-line-height;\n      overflow: hidden;\n    }\n  }\n\n  .card-host-name {\n    color: $text-secondary;\n    font-size: 10px;\n    overflow: hidden;\n    padding-bottom: 4px;\n    text-overflow: ellipsis;\n    text-transform: uppercase;\n  }\n\n  .card-title {\n    font-size: 14px;\n    line-height: $card-text-line-height;\n    margin: 0 0 $card-title-margin;\n    word-wrap: break-word;\n  }\n\n  .card-description {\n    font-size: 12px;\n    line-height: $card-text-line-height;\n    margin: 0;\n    overflow: hidden;\n    word-wrap: break-word;\n  }\n\n  .card-context {\n    bottom: 0;\n    color: $text-secondary;\n    display: flex;\n    font-size: 11px;\n    left: 0;\n    padding: 12px 16px 12px 14px;\n    position: absolute;\n    right: 0;\n  }\n\n  .card-context-icon {\n    fill: $fill-secondary;\n    margin-inline-end: 6px;\n  }\n\n  .card-context-label {\n    flex-grow: 1;\n    line-height: $icon-size;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n}\n\n.wide-layout-enabled {\n  $line-height: 23px;\n\n  .card-outer {\n    @media (min-width: $break-point-widest) {\n      height: $card-height-large;\n\n      .card-preview-image-outer {\n        height: $card-preview-image-height-large;\n      }\n\n      .card-details {\n        padding: 13px 16px 12px;\n      }\n\n      .card-text {\n        max-height: 6 * $line-height + $card-title-margin;\n      }\n\n      .card-host-name {\n        font-size: 12px;\n        padding-bottom: 5px;\n      }\n\n      .card-title {\n        font-size: 17px;\n        line-height: $line-height;\n        margin-bottom: 0;\n      }\n\n      .card-text:not(.no-description) {\n        .card-title {\n          max-height: 3 * $line-height;\n        }\n      }\n\n      .card-description {\n        font-size: 15px;\n        line-height: $line-height;\n      }\n\n      .card-context {\n        bottom: 4px;\n        font-size: 14px;\n      }\n    }\n  }\n}\n",
 		".manual-migration-container {\n  color: $text-conditional;\n  font-size: 13px;\n  line-height: 15px;\n  margin-bottom: $section-spacing;\n  text-align: center;\n\n  @media (min-width: $break-point-medium) {\n    display: flex;\n    justify-content: space-between;\n    text-align: left;\n  }\n\n  p {\n    margin: 0;\n    @media (min-width: $break-point-medium) {\n      align-self: center;\n      display: flex;\n      justify-content: space-between;\n    }\n  }\n\n  .icon {\n    display: none;\n    @media (min-width: $break-point-medium) {\n      align-self: center;\n      display: block;\n      fill: $fill-secondary;\n      margin-inline-end: 6px;\n    }\n  }\n}\n\n.manual-migration-actions {\n  border: 0;\n  display: block;\n  flex-wrap: nowrap;\n\n  @media (min-width: $break-point-medium) {\n    display: flex;\n    justify-content: space-between;\n    padding: 0;\n  }\n\n  button {\n    align-self: center;\n    height: 26px;\n    margin: 0;\n    margin-inline-start: 20px;\n    padding: 0 12px;\n  }\n}\n",
 		".collapsible-section {\n  padding: $section-vertical-padding $section-horizontal-padding;\n  transition-delay: 100ms;\n  transition-duration: 100ms;\n  transition-property: background-color;\n\n  .section-title {\n    margin: 0;\n\n    .click-target {\n      cursor: pointer;\n      vertical-align: top;\n      white-space: nowrap;\n    }\n\n    .collapsible-arrow {\n      margin-inline-start: 8px;\n      margin-top: -1px;\n    }\n  }\n\n  .section-top-bar {\n    position: relative;\n\n    .context-menu-button {\n      background: url('chrome://browser/skin/page-action.svg') no-repeat right center;\n      border: 0;\n      cursor: pointer;\n      fill: $grey-50;\n      height: $context-menu-button-size;\n      offset-inline-end: 0;\n      opacity: 0;\n      position: absolute;\n      top: 0;\n      transition-duration: 200ms;\n      transition-property: opacity;\n      width: $context-menu-button-size;\n\n      &:-moz-any(:active, :focus, :hover) {\n        fill: $grey-90;\n        opacity: 1;\n      }\n    }\n\n    .context-menu {\n      top: 16px;\n    }\n\n    @media (max-width: $break-point-widest + $card-width * 1.5) {\n      @include context-menu-open-left;\n    }\n  }\n\n  &:hover,\n  &.active {\n    .section-top-bar {\n      .context-menu-button {\n        opacity: 1;\n      }\n    }\n  }\n\n  &.active {\n    background: $grey-20-60;\n    border-radius: 4px;\n\n    .section-top-bar {\n      .context-menu-button {\n        fill: $grey-90;\n      }\n    }\n  }\n\n  .section-disclaimer {\n    $max-button-width: 130px;\n    $min-button-height: 26px;\n\n    color: $grey-60;\n    font-size: 13px;\n    margin-bottom: 16px;\n    position: relative;\n\n    .section-disclaimer-text {\n      display: inline-block;\n      min-height: $min-button-height;\n      width: calc(100% - #{$max-button-width});\n\n      @media (max-width: $break-point-medium) {\n        width: $card-width;\n      }\n    }\n\n    a {\n      color: $link-secondary;\n      padding-left: 3px;\n    }\n\n    button {\n      background: $grey-10;\n      border: 1px solid $grey-40;\n      border-radius: 4px;\n      cursor: pointer;\n      margin-top: 2px;\n      max-width: $max-button-width;\n      min-height: $min-button-height;\n      offset-inline-end: 0;\n\n      &:hover:not(.dismiss) {\n        box-shadow: $shadow-primary;\n        transition: box-shadow 150ms;\n      }\n\n      @media (min-width: $break-point-small) {\n        position: absolute;\n      }\n    }\n  }\n\n  .section-body-fallback {\n    height: $card-height;\n  }\n\n  .section-body {\n    // This is so the top sites favicon and card dropshadows don't get clipped during animation:\n    $horizontal-padding: 7px;\n    margin: 0 (-$horizontal-padding);\n    padding: 0 $horizontal-padding;\n\n    &.animating {\n      overflow: hidden;\n      pointer-events: none;\n    }\n  }\n\n  &.animation-enabled {\n    .section-title {\n      .collapsible-arrow {\n        transition: transform 0.5s $photon-easing;\n      }\n    }\n\n    .section-body {\n      transition: max-height 0.5s $photon-easing;\n    }\n  }\n\n  &.collapsed {\n    .section-body {\n      max-height: 0;\n      overflow: hidden;\n    }\n  }\n}\n"
 	],
 	"names": [],
-	"mappings": "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"
+	"mappings": "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"
 }
\ No newline at end of file
--- a/browser/extensions/activity-stream/css/activity-stream-mac.css
+++ b/browser/extensions/activity-stream/css/activity-stream-mac.css
@@ -73,16 +73,19 @@ input {
   .icon.icon-unpin {
     background-image: url("../data/content/assets/glyph-unpin-16.svg"); }
     .icon.icon-unpin:dir(rtl) {
       transform: scaleX(-1); }
   .icon.icon-edit {
     background-image: url("../data/content/assets/glyph-edit-16.svg"); }
   .icon.icon-pocket {
     background-image: url("../data/content/assets/glyph-pocket-16.svg"); }
+  .icon.icon-pocket-small {
+    background-image: url("../data/content/assets/glyph-pocket-16.svg");
+    background-size: 12px; }
   .icon.icon-historyItem {
     background-image: url("../data/content/assets/glyph-historyItem-16.svg"); }
   .icon.icon-trending {
     background-image: url("../data/content/assets/glyph-trending-16.svg");
     transform: translateY(2px); }
   .icon.icon-now {
     background-image: url("chrome://browser/skin/history.svg"); }
   .icon.icon-topsites {
@@ -269,31 +272,16 @@ main {
 .body-wrapper.on .section-title,
 .body-wrapper.on .sections-list .section:last-of-type,
 .body-wrapper.on .topic {
   opacity: 1; }
 
 .non-collapsible-section {
   padding: 0 25px; }
 
-.prefs-button button {
-  background-color: transparent;
-  border: 0;
-  cursor: pointer;
-  fill: rgba(12, 12, 13, 0.6);
-  offset-inline-end: 15px;
-  padding: 15px;
-  position: fixed;
-  top: 15px;
-  z-index: 12001; }
-  .prefs-button button:hover {
-    background-color: #EDEDF0; }
-  .prefs-button button:active {
-    background-color: #F9F9FA; }
-
 .as-error-fallback {
   align-items: center;
   border-radius: 3px;
   box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1);
   color: #4A4A4F;
   display: flex;
   flex-direction: column;
   font-size: 12px;
@@ -817,16 +805,156 @@ main {
           .context-menu > ul > li > a:-moz-any(:focus, :hover) .icon {
             fill: #FFF; }
           .context-menu > ul > li > a:-moz-any(:focus, :hover):-moz-any(:focus, :hover) {
             color: #FFF; }
         .context-menu > ul > li > a.disabled {
           opacity: 0.4;
           pointer-events: none; }
 
+.prefs-pane {
+  color: #4A4A4F;
+  font-size: 14px;
+  line-height: 21px; }
+  .prefs-pane .sidebar {
+    background: #FFF;
+    border-left: 1px solid #D7D7DB;
+    box-shadow: 0 1px 4px 0 rgba(12, 12, 13, 0.1);
+    height: 100%;
+    offset-inline-end: 0;
+    overflow-y: auto;
+    padding: 40px;
+    position: fixed;
+    top: 0;
+    transition: 0.1s cubic-bezier(0, 0, 0, 1);
+    transition-property: transform;
+    width: 400px;
+    z-index: 12000; }
+    .prefs-pane .sidebar.hidden {
+      transform: translateX(100%); }
+      .prefs-pane .sidebar.hidden:dir(rtl) {
+        transform: translateX(-100%); }
+    .prefs-pane .sidebar h1 {
+      font-size: 21px;
+      margin: 0;
+      padding-top: 20px; }
+  .prefs-pane hr {
+    border: 0;
+    border-bottom: 1px solid #D7D7DB;
+    margin: 20px 0; }
+  .prefs-pane .prefs-modal-inner-wrapper {
+    padding-bottom: 100px; }
+    .prefs-pane .prefs-modal-inner-wrapper section {
+      margin: 20px 0; }
+      .prefs-pane .prefs-modal-inner-wrapper section p {
+        margin: 5px 0 20px 30px; }
+      .prefs-pane .prefs-modal-inner-wrapper section label {
+        display: inline-block;
+        position: relative;
+        width: 100%; }
+        .prefs-pane .prefs-modal-inner-wrapper section label input {
+          offset-inline-start: -30px;
+          position: absolute;
+          top: 0; }
+      .prefs-pane .prefs-modal-inner-wrapper section > label {
+        font-size: 16px;
+        font-weight: bold;
+        line-height: 19px; }
+    .prefs-pane .prefs-modal-inner-wrapper .options {
+      background: #F9F9FA;
+      border: 1px solid #D7D7DB;
+      border-radius: 2px;
+      margin: -10px 0 20px;
+      margin-inline-start: 30px;
+      padding: 10px; }
+      .prefs-pane .prefs-modal-inner-wrapper .options.disabled {
+        opacity: 0.5; }
+      .prefs-pane .prefs-modal-inner-wrapper .options label {
+        background-position-x: 35px;
+        background-position-y: 2.5px;
+        background-repeat: no-repeat;
+        display: inline-block;
+        font-size: 14px;
+        font-weight: normal;
+        height: auto;
+        line-height: 21px;
+        width: 100%; }
+        .prefs-pane .prefs-modal-inner-wrapper .options label:dir(rtl) {
+          background-position-x: right 35px; }
+      .prefs-pane .prefs-modal-inner-wrapper .options [type='checkbox']:not(:checked) + label,
+      .prefs-pane .prefs-modal-inner-wrapper .options [type='checkbox']:checked + label {
+        padding-inline-start: 63px; }
+      .prefs-pane .prefs-modal-inner-wrapper .options section {
+        margin: 0; }
+  .prefs-pane .actions {
+    background-color: #F9F9FA;
+    border-left: 1px solid #D7D7DB;
+    bottom: 0;
+    offset-inline-end: 0;
+    position: fixed;
+    width: 400px; }
+    .prefs-pane .actions button {
+      margin-inline-end: 20px; }
+  .prefs-pane [type='checkbox']:not(:checked),
+  .prefs-pane [type='checkbox']:checked {
+    offset-inline-start: -9999px;
+    position: absolute; }
+  .prefs-pane [type='checkbox']:not(:disabled):not(:checked) + label,
+  .prefs-pane [type='checkbox']:not(:disabled):checked + label {
+    cursor: pointer;
+    padding: 0 30px;
+    position: relative; }
+  .prefs-pane [type='checkbox']:not(:checked) + label::before,
+  .prefs-pane [type='checkbox']:checked + label::before {
+    background: #FFF;
+    border: 1px solid #B1B1B3;
+    border-radius: 3px;
+    content: '';
+    height: 21px;
+    offset-inline-start: 0;
+    position: absolute;
+    top: 0;
+    width: 21px; }
+  .prefs-pane [type='checkbox']:not(:checked) + label::after,
+  .prefs-pane [type='checkbox']:checked + label::after {
+    background: url("chrome://global/skin/in-content/check.svg") no-repeat center center;
+    content: '';
+    -moz-context-properties: fill, stroke;
+    fill: #0060DF;
+    height: 21px;
+    offset-inline-start: 0;
+    position: absolute;
+    stroke: none;
+    top: 0;
+    width: 21px; }
+  .prefs-pane [type='checkbox']:not(:checked) + label::after {
+    opacity: 0; }
+  .prefs-pane [type='checkbox']:checked + label::after {
+    opacity: 1; }
+  .prefs-pane [type='checkbox']:not(:disabled) + label:hover::before {
+    border: 1px solid #0060DF; }
+  .prefs-pane [type='checkbox']:not(:disabled):checked:focus + label::before,
+  .prefs-pane [type='checkbox']:not(:disabled):not(:checked):focus + label::before {
+    border: 1px dotted #0060DF; }
+
+.prefs-pane-button button {
+  background-color: transparent;
+  border: 0;
+  cursor: pointer;
+  fill: rgba(12, 12, 13, 0.6);
+  offset-inline-end: 15px;
+  padding: 15px;
+  position: fixed;
+  top: 15px;
+  z-index: 12001; }
+  .prefs-pane-button button:hover {
+    background-color: #EDEDF0; }
+  .prefs-pane-button button:active {
+    background-color: #F9F9FA; }
+
 .confirmation-dialog .modal {
   box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.1);
   left: 50%;
   margin-left: -200px;
   position: fixed;
   top: 20%;
   width: 400px; }
 
--- a/browser/extensions/activity-stream/css/activity-stream-mac.css.map
+++ b/browser/extensions/activity-stream/css/activity-stream-mac.css.map
@@ -9,34 +9,36 @@
 		"../content-src/styles/_icons.scss",
 		"../content-src/components/Base/_Base.scss",
 		"../content-src/components/ErrorBoundary/_ErrorBoundary.scss",
 		"../content-src/components/TopSites/_TopSites.scss",
 		"../content-src/components/Sections/_Sections.scss",
 		"../content-src/components/Topics/_Topics.scss",
 		"../content-src/components/Search/_Search.scss",
 		"../content-src/components/ContextMenu/_ContextMenu.scss",
+		"../content-src/components/PreferencesPane/_PreferencesPane.scss",
 		"../content-src/components/ConfirmDialog/_ConfirmDialog.scss",
 		"../content-src/components/Card/_Card.scss",
 		"../content-src/components/ManualMigration/_ManualMigration.scss",
 		"../content-src/components/CollapsibleSection/_CollapsibleSection.scss"
 	],
 	"sourcesContent": [
 		"/* This is the mac variant */ // sass-lint:disable-line no-css-comments\n\n$os-infopanel-arrow-height: 10px;\n$os-infopanel-arrow-offset-end: 7px;\n$os-infopanel-arrow-width: 18px;\n$os-search-focus-shadow-radius: 3px;\n\n@import './activity-stream';\n",
-		"@import './normalize';\n@import './variables';\n@import './icons';\n\nhtml,\nbody,\n#root { // sass-lint:disable-line no-ids\n  height: 100%;\n}\n\nbody {\n  background: $background-primary;\n  color: $text-primary;\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Ubuntu', 'Helvetica Neue', sans-serif;\n  font-size: 16px;\n  overflow-y: scroll;\n}\n\nh1,\nh2 {\n  font-weight: normal;\n}\n\na {\n  color: $link-primary;\n  text-decoration: none;\n\n  &:hover {\n    color: $link-secondary;\n  }\n}\n\n// For screen readers\n.sr-only {\n  border: 0;\n  clip: rect(0, 0, 0, 0);\n  height: 1px;\n  margin: -1px;\n  overflow: hidden;\n  padding: 0;\n  position: absolute;\n  width: 1px;\n}\n\n.inner-border {\n  border: $border-secondary;\n  border-radius: $border-radius;\n  height: 100%;\n  left: 0;\n  pointer-events: none;\n  position: absolute;\n  top: 0;\n  width: 100%;\n  z-index: 100;\n}\n\n@keyframes fadeIn {\n  from {\n    opacity: 0;\n  }\n\n  to {\n    opacity: 1;\n  }\n}\n\n.show-on-init {\n  opacity: 0;\n  transition: opacity 0.2s ease-in;\n\n  &.on {\n    animation: fadeIn 0.2s;\n    opacity: 1;\n  }\n}\n\n.actions {\n  border-top: $border-secondary;\n  display: flex;\n  flex-direction: row;\n  flex-wrap: wrap;\n  justify-content: flex-start;\n  margin: 0;\n  padding: 15px 25px 0;\n\n  button {\n    background-color: $input-secondary;\n    border: $border-primary;\n    border-radius: 4px;\n    color: inherit;\n    cursor: pointer;\n    margin-bottom: 15px;\n    padding: 10px 30px;\n    white-space: nowrap;\n\n    &:hover:not(.dismiss) {\n      box-shadow: $shadow-primary;\n      transition: box-shadow 150ms;\n    }\n\n    &.dismiss {\n      border: 0;\n      padding: 0;\n      text-decoration: underline;\n    }\n\n    &.done {\n      background: $input-primary;\n      border: solid 1px $blue-60;\n      color: $white;\n      margin-inline-start: auto;\n    }\n  }\n}\n\n// Make sure snippets show up above other UI elements\n#snippets-container { // sass-lint:disable-line no-ids\n  z-index: 1;\n}\n\n// Components\n@import '../components/Base/Base';\n@import '../components/ErrorBoundary/ErrorBoundary';\n@import '../components/TopSites/TopSites';\n@import '../components/Sections/Sections';\n@import '../components/Topics/Topics';\n@import '../components/Search/Search';\n@import '../components/ContextMenu/ContextMenu';\n@import '../components/ConfirmDialog/ConfirmDialog';\n@import '../components/Card/Card';\n@import '../components/ManualMigration/ManualMigration';\n@import '../components/CollapsibleSection/CollapsibleSection';\n",
+		"@import './normalize';\n@import './variables';\n@import './icons';\n\nhtml,\nbody,\n#root { // sass-lint:disable-line no-ids\n  height: 100%;\n}\n\nbody {\n  background: $background-primary;\n  color: $text-primary;\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Ubuntu', 'Helvetica Neue', sans-serif;\n  font-size: 16px;\n  overflow-y: scroll;\n}\n\nh1,\nh2 {\n  font-weight: normal;\n}\n\na {\n  color: $link-primary;\n  text-decoration: none;\n\n  &:hover {\n    color: $link-secondary;\n  }\n}\n\n// For screen readers\n.sr-only {\n  border: 0;\n  clip: rect(0, 0, 0, 0);\n  height: 1px;\n  margin: -1px;\n  overflow: hidden;\n  padding: 0;\n  position: absolute;\n  width: 1px;\n}\n\n.inner-border {\n  border: $border-secondary;\n  border-radius: $border-radius;\n  height: 100%;\n  left: 0;\n  pointer-events: none;\n  position: absolute;\n  top: 0;\n  width: 100%;\n  z-index: 100;\n}\n\n@keyframes fadeIn {\n  from {\n    opacity: 0;\n  }\n\n  to {\n    opacity: 1;\n  }\n}\n\n.show-on-init {\n  opacity: 0;\n  transition: opacity 0.2s ease-in;\n\n  &.on {\n    animation: fadeIn 0.2s;\n    opacity: 1;\n  }\n}\n\n.actions {\n  border-top: $border-secondary;\n  display: flex;\n  flex-direction: row;\n  flex-wrap: wrap;\n  justify-content: flex-start;\n  margin: 0;\n  padding: 15px 25px 0;\n\n  button {\n    background-color: $input-secondary;\n    border: $border-primary;\n    border-radius: 4px;\n    color: inherit;\n    cursor: pointer;\n    margin-bottom: 15px;\n    padding: 10px 30px;\n    white-space: nowrap;\n\n    &:hover:not(.dismiss) {\n      box-shadow: $shadow-primary;\n      transition: box-shadow 150ms;\n    }\n\n    &.dismiss {\n      border: 0;\n      padding: 0;\n      text-decoration: underline;\n    }\n\n    &.done {\n      background: $input-primary;\n      border: solid 1px $blue-60;\n      color: $white;\n      margin-inline-start: auto;\n    }\n  }\n}\n\n// Make sure snippets show up above other UI elements\n#snippets-container { // sass-lint:disable-line no-ids\n  z-index: 1;\n}\n\n// Components\n@import '../components/Base/Base';\n@import '../components/ErrorBoundary/ErrorBoundary';\n@import '../components/TopSites/TopSites';\n@import '../components/Sections/Sections';\n@import '../components/Topics/Topics';\n@import '../components/Search/Search';\n@import '../components/ContextMenu/ContextMenu';\n@import '../components/PreferencesPane/PreferencesPane';\n@import '../components/ConfirmDialog/ConfirmDialog';\n@import '../components/Card/Card';\n@import '../components/ManualMigration/ManualMigration';\n@import '../components/CollapsibleSection/CollapsibleSection';\n",
 		"html {\n  box-sizing: border-box;\n}\n\n*,\n*::before,\n*::after {\n  box-sizing: inherit;\n}\n\n*::-moz-focus-inner {\n  border: 0;\n}\n\nbody {\n  margin: 0;\n}\n\nbutton,\ninput {\n  background-color: inherit;\n  color: inherit;\n  font-family: inherit;\n  font-size: inherit;\n}\n\n[hidden] {\n  display: none !important; // sass-lint:disable-line no-important\n}\n",
 		"// Photon colors from http://design.firefox.com/photon/visuals/color.html\n$blue-50: #0A84FF;\n$blue-60: #0060DF;\n$grey-10: #F9F9FA;\n$grey-20: #EDEDF0;\n$grey-30: #D7D7DB;\n$grey-40: #B1B1B3;\n$grey-50: #737373;\n$grey-60: #4A4A4F;\n$grey-90: #0C0C0D;\n$teal-70: #008EA4;\n$red-60: #D70022;\n\n// Photon opacity from http://design.firefox.com/photon/visuals/color.html#opacity\n$grey-90-10: rgba($grey-90, 0.1);\n$grey-90-20: rgba($grey-90, 0.2);\n$grey-90-30: rgba($grey-90, 0.3);\n$grey-90-40: rgba($grey-90, 0.4);\n$grey-90-50: rgba($grey-90, 0.5);\n$grey-90-60: rgba($grey-90, 0.6);\n$grey-90-70: rgba($grey-90, 0.7);\n$grey-90-80: rgba($grey-90, 0.8);\n$grey-90-90: rgba($grey-90, 0.9);\n\n$grey-20-60: rgba($grey-20, 0.6);\n\n$black: #000;\n$black-5: rgba($black, 0.05);\n$black-10: rgba($black, 0.1);\n$black-15: rgba($black, 0.15);\n$black-20: rgba($black, 0.2);\n$black-25: rgba($black, 0.25);\n$black-30: rgba($black, 0.3);\n\n// Photon transitions from http://design.firefox.com/photon/motion/duration-and-easing.html\n$photon-easing: cubic-bezier(0.07, 0.95, 0, 1);\n\n// Aliases and derived styles based on Photon colors for common usage\n$background-primary: $grey-10;\n$background-secondary: $grey-20;\n$border-primary: 1px solid $grey-40;\n$border-secondary: 1px solid $grey-30;\n$fill-primary: $grey-90-80;\n$fill-secondary: $grey-90-60;\n$fill-tertiary: $grey-30;\n$input-primary: $blue-60;\n$input-secondary: $grey-10;\n$link-primary: $blue-60;\n$link-secondary: $teal-70;\n$shadow-primary: 0 0 0 5px $grey-30;\n$shadow-secondary: 0 1px 4px 0 $grey-90-10;\n$text-primary: $grey-90;\n$text-conditional: $grey-60;\n$text-secondary: $grey-50;\n$input-border: solid 1px $grey-90-20;\n$input-border-active: solid 1px $blue-50;\n$input-error-border: solid 1px $red-60;\n$input-error-boxshadow: 0 0 0 2px rgba($red-60, 0.35);\n$input-focus-boxshadow: 0 0 0 2px rgba($blue-50, 0.35);\n\n$white: #FFF;\n$border-radius: 3px;\n\n$base-gutter: 32px;\n$section-horizontal-padding: 25px;\n$section-vertical-padding: 10px;\n$section-spacing: 40px - $section-vertical-padding * 2;\n$grid-unit: 96px; // 1 top site\n\n$icon-size: 16px;\n$smaller-icon-size: 12px;\n$larger-icon-size: 32px;\n\n$wrapper-default-width: $grid-unit * 2 + $base-gutter * 1 + $section-horizontal-padding * 2; // 2 top sites\n$wrapper-max-width-small: $grid-unit * 3 + $base-gutter * 2 + $section-horizontal-padding * 2; // 3 top sites\n$wrapper-max-width-medium: $grid-unit * 4 + $base-gutter * 3 + $section-horizontal-padding * 2; // 4 top sites\n$wrapper-max-width-large: $grid-unit * 6 + $base-gutter * 5 + $section-horizontal-padding * 2; // 6 top sites\n$wrapper-max-width-widest: $grid-unit * 8 + $base-gutter * 7 + $section-horizontal-padding * 2; // 8 top sites\n// For the breakpoints, we need to add space for the scrollbar to avoid weird\n// layout issues when the scrollbar is visible. 16px is wide enough to cover all\n// OSes and keeps it simpler than a per-OS value.\n$scrollbar-width: 16px;\n$break-point-small: $wrapper-max-width-small + $base-gutter * 2 + $scrollbar-width;\n$break-point-medium: $wrapper-max-width-medium + $base-gutter * 2 + $scrollbar-width;\n$break-point-large: $wrapper-max-width-large + $base-gutter * 2 + $scrollbar-width;\n$break-point-widest: $wrapper-max-width-widest + $base-gutter * 2 + $scrollbar-width;\n\n$section-title-font-size: 13px;\n\n$card-width: $grid-unit * 2 + $base-gutter;\n$card-height: 266px;\n$card-preview-image-height: 122px;\n$card-title-margin: 2px;\n$card-text-line-height: 19px;\n// Larger cards for wider screens:\n$card-width-large: 309px;\n$card-height-large: 370px;\n$card-preview-image-height-large: 155px;\n\n$topic-margin-top: 12px;\n\n$context-menu-button-size: 27px;\n$context-menu-button-boxshadow: 0 2px $grey-90-10;\n$context-menu-border-color: $black-20;\n$context-menu-shadow: 0 5px 10px $black-30, 0 0 0 1px $context-menu-border-color;\n$context-menu-font-size: 14px;\n$context-menu-border-radius: 5px;\n$context-menu-outer-padding: 5px;\n$context-menu-item-padding: 3px 12px;\n\n$error-fallback-font-size: 12px;\n$error-fallback-line-height: 1.5;\n\n$inner-box-shadow: 0 0 0 1px $black-10;\n\n$image-path: '../data/content/assets/';\n\n$snippets-container-height: 120px;\n\n@mixin fade-in {\n  box-shadow: inset $inner-box-shadow, $shadow-primary;\n  transition: box-shadow 150ms;\n}\n\n@mixin fade-in-card {\n  box-shadow: $shadow-primary;\n  transition: box-shadow 150ms;\n}\n\n@mixin context-menu-button {\n  .context-menu-button {\n    background-clip: padding-box;\n    background-color: $white;\n    background-image: url('chrome://browser/skin/page-action.svg');\n    background-position: 55%;\n    border: $border-primary;\n    border-radius: 100%;\n    box-shadow: $context-menu-button-boxshadow;\n    cursor: pointer;\n    fill: $fill-primary;\n    height: $context-menu-button-size;\n    offset-inline-end: -($context-menu-button-size / 2);\n    opacity: 0;\n    position: absolute;\n    top: -($context-menu-button-size / 2);\n    transform: scale(0.25);\n    transition-duration: 200ms;\n    transition-property: transform, opacity;\n    width: $context-menu-button-size;\n\n    &:-moz-any(:active, :focus) {\n      opacity: 1;\n      transform: scale(1);\n    }\n  }\n}\n\n@mixin context-menu-button-hover {\n  .context-menu-button {\n    opacity: 1;\n    transform: scale(1);\n  }\n}\n\n@mixin context-menu-open-middle {\n  .context-menu {\n    margin-inline-end: auto;\n    margin-inline-start: auto;\n    offset-inline-end: auto;\n    offset-inline-start: -$base-gutter;\n  }\n}\n\n@mixin context-menu-open-left {\n  .context-menu {\n    margin-inline-end: 5px;\n    margin-inline-start: auto;\n    offset-inline-end: 0;\n    offset-inline-start: auto;\n  }\n}\n\n@mixin flip-icon {\n  &:dir(rtl) {\n    transform: scaleX(-1);\n  }\n}\n",
-		".icon {\n  background-position: center center;\n  background-repeat: no-repeat;\n  background-size: $icon-size;\n  -moz-context-properties: fill;\n  display: inline-block;\n  fill: $fill-primary;\n  height: $icon-size;\n  vertical-align: middle;\n  width: $icon-size;\n\n  &.icon-spacer {\n    margin-inline-end: 8px;\n  }\n\n  &.icon-small-spacer {\n    margin-inline-end: 6px;\n  }\n\n  &.icon-bookmark-added {\n    background-image: url('chrome://browser/skin/bookmark.svg');\n  }\n\n  &.icon-bookmark-hollow {\n    background-image: url('chrome://browser/skin/bookmark-hollow.svg');\n  }\n\n  &.icon-clear-input {\n    fill: $fill-secondary;\n    background-image: url('#{$image-path}glyph-cancel-16.svg');\n  }\n\n  &.icon-delete {\n    background-image: url('#{$image-path}glyph-delete-16.svg');\n  }\n\n  &.icon-modal-delete {\n    background-image: url('#{$image-path}glyph-modal-delete-32.svg');\n    background-size: $larger-icon-size;\n    height: $larger-icon-size;\n    width: $larger-icon-size;\n  }\n\n  &.icon-dismiss {\n    background-image: url('#{$image-path}glyph-dismiss-16.svg');\n  }\n\n  &.icon-info {\n    background-image: url('#{$image-path}glyph-info-16.svg');\n  }\n\n  &.icon-import {\n    background-image: url('#{$image-path}glyph-import-16.svg');\n  }\n\n  &.icon-new-window {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-newWindow-16.svg');\n  }\n\n  &.icon-new-window-private {\n    background-image: url('chrome://browser/skin/privateBrowsing.svg');\n  }\n\n  &.icon-settings {\n    background-image: url('chrome://browser/skin/settings.svg');\n  }\n\n  &.icon-pin {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-pin-16.svg');\n  }\n\n  &.icon-unpin {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-unpin-16.svg');\n  }\n\n  &.icon-edit {\n    background-image: url('#{$image-path}glyph-edit-16.svg');\n  }\n\n  &.icon-pocket {\n    background-image: url('#{$image-path}glyph-pocket-16.svg');\n  }\n\n  &.icon-historyItem { // sass-lint:disable-line class-name-format\n    background-image: url('#{$image-path}glyph-historyItem-16.svg');\n  }\n\n  &.icon-trending {\n    background-image: url('#{$image-path}glyph-trending-16.svg');\n    transform: translateY(2px); // trending bolt is visually top heavy\n  }\n\n  &.icon-now {\n    background-image: url('chrome://browser/skin/history.svg');\n  }\n\n  &.icon-topsites {\n    background-image: url('#{$image-path}glyph-topsites-16.svg');\n  }\n\n  &.icon-pin-small {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-pin-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    width: $smaller-icon-size;\n  }\n\n  &.icon-check {\n    background-image: url('chrome://browser/skin/check.svg');\n  }\n\n  &.icon-webextension {\n    background-image: url('#{$image-path}glyph-webextension-16.svg');\n  }\n\n  &.icon-highlights {\n    background-image: url('#{$image-path}glyph-highlights-16.svg');\n  }\n\n  &.icon-arrowhead-down {\n    background-image: url('#{$image-path}glyph-arrowhead-down-16.svg');\n  }\n\n  &.icon-arrowhead-down-small {\n    background-image: url('#{$image-path}glyph-arrowhead-down-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    width: $smaller-icon-size;\n  }\n\n  &.icon-arrowhead-forward-small {\n    background-image: url('#{$image-path}glyph-arrowhead-down-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    transform: rotate(-90deg);\n    width: $smaller-icon-size;\n\n    &:dir(rtl) {\n      transform: rotate(90deg);\n    }\n  }\n\n  &.icon-arrowhead-up {\n    background-image: url('#{$image-path}glyph-arrowhead-down-16.svg');\n    transform: rotate(180deg);\n  }\n\n  &.icon-add {\n    background-image: url('#{$image-path}glyph-add-16.svg');\n  }\n\n  &.icon-minimize {\n    background-image: url('#{$image-path}glyph-minimize-16.svg');\n  }\n\n  &.icon-maximize {\n    background-image: url('#{$image-path}glyph-maximize-16.svg');\n  }\n}\n",
-		".outer-wrapper {\n  display: flex;\n  flex-grow: 1;\n  height: 100%;\n  padding: ($section-spacing + $section-vertical-padding) $base-gutter $base-gutter;\n\n  &.fixed-to-top {\n    height: auto;\n  }\n}\n\nmain {\n  margin: auto;\n  // Offset the snippets container so things at the bottom of the page are still\n  // visible when snippets / onboarding are visible. Adjust for other spacing.\n  padding-bottom: $snippets-container-height - $section-spacing - $base-gutter;\n  width: $wrapper-default-width;\n\n  @media (min-width: $break-point-small) {\n    width: $wrapper-max-width-small;\n  }\n\n  @media (min-width: $break-point-medium) {\n    width: $wrapper-max-width-medium;\n  }\n\n  @media (min-width: $break-point-large) {\n    width: $wrapper-max-width-large;\n  }\n\n  section {\n    margin-bottom: $section-spacing;\n    position: relative;\n  }\n}\n\n.wide-layout-enabled {\n  main {\n    @media (min-width: $break-point-widest) {\n      width: $wrapper-max-width-widest;\n    }\n  }\n}\n\n.section-top-bar {\n  height: 16px;\n  margin-bottom: 16px;\n}\n\n.section-title {\n  font-size: $section-title-font-size;\n  font-weight: bold;\n  text-transform: uppercase;\n\n  span {\n    color: $text-secondary;\n    fill: $text-secondary;\n    vertical-align: middle;\n  }\n}\n\n.base-content-fallback {\n  // Make the error message be centered against the viewport\n  height: 100vh;\n}\n\n.body-wrapper {\n  // Hide certain elements so the page structure is fixed, e.g., placeholders,\n  // while avoiding flashes of changing content, e.g., icons and text\n  $selectors-to-hide: '\n    .section-title,\n    .sections-list .section:last-of-type,\n    .topic\n  ';\n\n  #{$selectors-to-hide} {\n    opacity: 0;\n  }\n\n  &.on {\n    #{$selectors-to-hide} {\n      opacity: 1;\n    }\n  }\n}\n\n.non-collapsible-section {\n  padding: 0 $section-horizontal-padding;\n}\n\n.prefs-button {\n  button {\n    background-color: transparent;\n    border: 0;\n    cursor: pointer;\n    fill: $fill-secondary;\n    offset-inline-end: 15px;\n    padding: 15px;\n    position: fixed;\n    top: 15px;\n    z-index: 12001;\n\n    &:hover {\n      background-color: $background-secondary;\n    }\n\n    &:active {\n      background-color: $background-primary;\n    }\n  }\n}\n",
+		".icon {\n  background-position: center center;\n  background-repeat: no-repeat;\n  background-size: $icon-size;\n  -moz-context-properties: fill;\n  display: inline-block;\n  fill: $fill-primary;\n  height: $icon-size;\n  vertical-align: middle;\n  width: $icon-size;\n\n  &.icon-spacer {\n    margin-inline-end: 8px;\n  }\n\n  &.icon-small-spacer {\n    margin-inline-end: 6px;\n  }\n\n  &.icon-bookmark-added {\n    background-image: url('chrome://browser/skin/bookmark.svg');\n  }\n\n  &.icon-bookmark-hollow {\n    background-image: url('chrome://browser/skin/bookmark-hollow.svg');\n  }\n\n  &.icon-clear-input {\n    fill: $fill-secondary;\n    background-image: url('#{$image-path}glyph-cancel-16.svg');\n  }\n\n  &.icon-delete {\n    background-image: url('#{$image-path}glyph-delete-16.svg');\n  }\n\n  &.icon-modal-delete {\n    background-image: url('#{$image-path}glyph-modal-delete-32.svg');\n    background-size: $larger-icon-size;\n    height: $larger-icon-size;\n    width: $larger-icon-size;\n  }\n\n  &.icon-dismiss {\n    background-image: url('#{$image-path}glyph-dismiss-16.svg');\n  }\n\n  &.icon-info {\n    background-image: url('#{$image-path}glyph-info-16.svg');\n  }\n\n  &.icon-import {\n    background-image: url('#{$image-path}glyph-import-16.svg');\n  }\n\n  &.icon-new-window {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-newWindow-16.svg');\n  }\n\n  &.icon-new-window-private {\n    background-image: url('chrome://browser/skin/privateBrowsing.svg');\n  }\n\n  &.icon-settings {\n    background-image: url('chrome://browser/skin/settings.svg');\n  }\n\n  &.icon-pin {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-pin-16.svg');\n  }\n\n  &.icon-unpin {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-unpin-16.svg');\n  }\n\n  &.icon-edit {\n    background-image: url('#{$image-path}glyph-edit-16.svg');\n  }\n\n  &.icon-pocket {\n    background-image: url('#{$image-path}glyph-pocket-16.svg');\n  }\n\n  &.icon-pocket-small {\n    background-image: url('#{$image-path}glyph-pocket-16.svg');\n    background-size: $smaller-icon-size;\n  }\n\n  &.icon-historyItem { // sass-lint:disable-line class-name-format\n    background-image: url('#{$image-path}glyph-historyItem-16.svg');\n  }\n\n  &.icon-trending {\n    background-image: url('#{$image-path}glyph-trending-16.svg');\n    transform: translateY(2px); // trending bolt is visually top heavy\n  }\n\n  &.icon-now {\n    background-image: url('chrome://browser/skin/history.svg');\n  }\n\n  &.icon-topsites {\n    background-image: url('#{$image-path}glyph-topsites-16.svg');\n  }\n\n  &.icon-pin-small {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-pin-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    width: $smaller-icon-size;\n  }\n\n  &.icon-check {\n    background-image: url('chrome://browser/skin/check.svg');\n  }\n\n  &.icon-webextension {\n    background-image: url('#{$image-path}glyph-webextension-16.svg');\n  }\n\n  &.icon-highlights {\n    background-image: url('#{$image-path}glyph-highlights-16.svg');\n  }\n\n  &.icon-arrowhead-down {\n    background-image: url('#{$image-path}glyph-arrowhead-down-16.svg');\n  }\n\n  &.icon-arrowhead-down-small {\n    background-image: url('#{$image-path}glyph-arrowhead-down-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    width: $smaller-icon-size;\n  }\n\n  &.icon-arrowhead-forward-small {\n    background-image: url('#{$image-path}glyph-arrowhead-down-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    transform: rotate(-90deg);\n    width: $smaller-icon-size;\n\n    &:dir(rtl) {\n      transform: rotate(90deg);\n    }\n  }\n\n  &.icon-arrowhead-up {\n    background-image: url('#{$image-path}glyph-arrowhead-down-16.svg');\n    transform: rotate(180deg);\n  }\n\n  &.icon-add {\n    background-image: url('#{$image-path}glyph-add-16.svg');\n  }\n\n  &.icon-minimize {\n    background-image: url('#{$image-path}glyph-minimize-16.svg');\n  }\n\n  &.icon-maximize {\n    background-image: url('#{$image-path}glyph-maximize-16.svg');\n  }\n}\n",
+		".outer-wrapper {\n  display: flex;\n  flex-grow: 1;\n  height: 100%;\n  padding: ($section-spacing + $section-vertical-padding) $base-gutter $base-gutter;\n\n  &.fixed-to-top {\n    height: auto;\n  }\n}\n\nmain {\n  margin: auto;\n  // Offset the snippets container so things at the bottom of the page are still\n  // visible when snippets / onboarding are visible. Adjust for other spacing.\n  padding-bottom: $snippets-container-height - $section-spacing - $base-gutter;\n  width: $wrapper-default-width;\n\n  @media (min-width: $break-point-small) {\n    width: $wrapper-max-width-small;\n  }\n\n  @media (min-width: $break-point-medium) {\n    width: $wrapper-max-width-medium;\n  }\n\n  @media (min-width: $break-point-large) {\n    width: $wrapper-max-width-large;\n  }\n\n  section {\n    margin-bottom: $section-spacing;\n    position: relative;\n  }\n}\n\n.wide-layout-enabled {\n  main {\n    @media (min-width: $break-point-widest) {\n      width: $wrapper-max-width-widest;\n    }\n  }\n}\n\n.section-top-bar {\n  height: 16px;\n  margin-bottom: 16px;\n}\n\n.section-title {\n  font-size: $section-title-font-size;\n  font-weight: bold;\n  text-transform: uppercase;\n\n  span {\n    color: $text-secondary;\n    fill: $text-secondary;\n    vertical-align: middle;\n  }\n}\n\n.base-content-fallback {\n  // Make the error message be centered against the viewport\n  height: 100vh;\n}\n\n.body-wrapper {\n  // Hide certain elements so the page structure is fixed, e.g., placeholders,\n  // while avoiding flashes of changing content, e.g., icons and text\n  $selectors-to-hide: '\n    .section-title,\n    .sections-list .section:last-of-type,\n    .topic\n  ';\n\n  #{$selectors-to-hide} {\n    opacity: 0;\n  }\n\n  &.on {\n    #{$selectors-to-hide} {\n      opacity: 1;\n    }\n  }\n}\n\n.non-collapsible-section {\n  padding: 0 $section-horizontal-padding;\n}\n",
 		".as-error-fallback {\n  align-items: center;\n  border-radius: $border-radius;\n  box-shadow: inset $inner-box-shadow;\n  color: $text-conditional;\n  display: flex;\n  flex-direction: column;\n  font-size: $error-fallback-font-size;\n  justify-content: center;\n  justify-items: center;\n  line-height: $error-fallback-line-height;\n\n  a {\n    color: $text-conditional;\n    text-decoration: underline;\n  }\n}\n\n",
 		"$top-sites-size: $grid-unit;\n$top-sites-border-radius: 6px;\n$top-sites-title-height: 30px;\n$top-sites-vertical-space: 8px;\n$screenshot-size: cover;\n$rich-icon-size: 96px;\n$default-icon-wrapper-size: 42px;\n$default-icon-size: 32px;\n$default-icon-offset: 6px;\n$half-base-gutter: $base-gutter / 2;\n\n.top-sites {\n  // Take back the margin from the bottom row of vertical spacing as well as the\n  // extra whitespace below the title text as it's vertically centered.\n  margin-bottom: $section-spacing - ($top-sites-vertical-space + $top-sites-title-height / 3);\n}\n\n.top-sites-list {\n  list-style: none;\n  margin: 0 (-$half-base-gutter);\n  padding: 0;\n\n  // Two columns\n  @media (max-width: $break-point-small) {\n    :nth-child(2n+1) {\n      @include context-menu-open-middle;\n    }\n\n    :nth-child(2n) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Three columns\n  @media (min-width: $break-point-small) and (max-width: $break-point-medium) {\n    :nth-child(3n+2),\n    :nth-child(3n) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Four columns\n  @media (min-width: $break-point-medium) and (max-width: $break-point-large) {\n    :nth-child(4n) {\n      @include context-menu-open-left;\n    }\n  }\n  @media (min-width: $break-point-medium) and (max-width: $break-point-medium + $card-width) {\n    :nth-child(4n+3) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Six columns\n  @media (min-width: $break-point-large) and (max-width: $break-point-large + 2 * $card-width) {\n    :nth-child(6n) {\n      @include context-menu-open-left;\n    }\n  }\n  @media (min-width: $break-point-large) and (max-width: $break-point-large + $card-width) {\n    :nth-child(6n+5) {\n      @include context-menu-open-left;\n    }\n  }\n\n  li {\n    margin: 0 0 $top-sites-vertical-space;\n  }\n\n  &:not(.dnd-active) {\n    .top-site-outer:-moz-any(.active, :focus, :hover) {\n      .tile {\n        @include fade-in;\n      }\n\n      @include context-menu-button-hover;\n    }\n  }\n}\n\n// container for drop zone\n.top-site-outer {\n  padding: 0 $half-base-gutter;\n  display: inline-block;\n\n  // container for context menu\n  .top-site-inner {\n    position: relative;\n\n    > a {\n      color: inherit;\n      display: block;\n      outline: none;\n\n      &:-moz-any(.active, :focus) {\n        .tile {\n          @include fade-in;\n        }\n      }\n    }\n  }\n\n  @include context-menu-button;\n\n  .tile { // sass-lint:disable-block property-sort-order\n    border-radius: $top-sites-border-radius;\n    box-shadow: inset $inner-box-shadow, $shadow-secondary;\n    height: $top-sites-size;\n    position: relative;\n    width: $top-sites-size;\n\n    // For letter fallback\n    align-items: center;\n    color: $text-secondary;\n    display: flex;\n    font-size: 32px;\n    font-weight: 200;\n    justify-content: center;\n    text-transform: uppercase;\n\n    &::before {\n      content: attr(data-fallback);\n    }\n  }\n\n  .screenshot {\n    background-color: $white;\n    background-position: top left;\n    background-size: $screenshot-size;\n    border-radius: $top-sites-border-radius;\n    box-shadow: inset $inner-box-shadow;\n    height: 100%;\n    left: 0;\n    opacity: 0;\n    position: absolute;\n    top: 0;\n    transition: opacity 1s;\n    width: 100%;\n\n    &.active {\n      opacity: 1;\n    }\n  }\n\n  // Some common styles for all icons (rich and default) in top sites\n  .top-site-icon {\n    background-color: $background-primary;\n    background-position: center center;\n    background-repeat: no-repeat;\n    border-radius: $top-sites-border-radius;\n    box-shadow: inset $inner-box-shadow;\n    position: absolute;\n  }\n\n  .rich-icon {\n    background-size: $rich-icon-size;\n    height: 100%;\n    offset-inline-start: 0;\n    top: 0;\n    width: 100%;\n  }\n\n  .default-icon { // sass-lint:disable block property-sort-order\n    background-size: $default-icon-size;\n    bottom: -$default-icon-offset;\n    height: $default-icon-wrapper-size;\n    offset-inline-end: -$default-icon-offset;\n    width: $default-icon-wrapper-size;\n\n    // for corner letter fallback\n    align-items: center;\n    display: flex;\n    font-size: 20px;\n    justify-content: center;\n\n    &[data-fallback]::before {\n      content: attr(data-fallback);\n    }\n  }\n\n  .title {\n    font: message-box;\n    height: $top-sites-title-height;\n    line-height: $top-sites-title-height;\n    text-align: center;\n    width: $top-sites-size;\n    position: relative;\n\n    .icon {\n      fill: $fill-tertiary;\n      offset-inline-start: 0;\n      position: absolute;\n      top: 10px;\n    }\n\n    span {\n      height: $top-sites-title-height;\n      display: block;\n      overflow: hidden;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n    }\n\n    &.pinned {\n      span {\n        padding: 0 13px;\n      }\n    }\n  }\n\n  .edit-button {\n    background-image: url('#{$image-path}glyph-edit-16.svg');\n  }\n\n  &.placeholder {\n    .tile {\n      box-shadow: inset $inner-box-shadow;\n    }\n\n    .screenshot {\n      display: none;\n    }\n  }\n\n  &.dragged {\n    .tile {\n      background: $grey-20;\n      box-shadow: none;\n\n      *,\n      &::before {\n        display: none;\n      }\n    }\n\n    .title {\n      visibility: hidden;\n    }\n  }\n}\n\n// Always hide .hide-for-narrow if wide layout is disabled\n.wide-layout-disabled {\n  .top-sites-list {\n    .hide-for-narrow {\n      display: none;\n    }\n  }\n}\n\n.wide-layout-enabled {\n  .top-sites-list {\n    // Eight columns\n    @media (min-width: $break-point-widest) and (max-width: $break-point-widest + 2 * $card-width) {\n      :nth-child(8n) {\n        @include context-menu-open-left;\n      }\n    }\n\n    @media (min-width: $break-point-widest) and (max-width: $break-point-widest + $card-width) {\n      :nth-child(8n+7) {\n        @include context-menu-open-left;\n      }\n    }\n\n    @media not all and (min-width: $break-point-widest) {\n      .hide-for-narrow {\n        display: none;\n      }\n    }\n  }\n}\n\n.edit-topsites-wrapper {\n  .modal {\n    box-shadow: $shadow-secondary;\n    left: 0;\n    margin: 0 auto;\n    position: fixed;\n    right: 0;\n    top: 40px;\n    width: $wrapper-default-width;\n\n    @media (min-width: $break-point-small) {\n      width: $wrapper-max-width-small;\n    }\n\n    @media (min-width: $break-point-medium) {\n      width: $wrapper-max-width-medium;\n    }\n\n    @media (min-width: $break-point-large) {\n      width: $wrapper-max-width-large;\n    }\n  }\n}\n\n.topsite-form {\n  $form-width: 300px;\n  $form-spacing: 32px;\n\n  .form-input-container {\n    max-width: $form-width + 3 * $form-spacing + $rich-icon-size;\n    margin: 0 auto;\n    padding: $form-spacing $form-spacing 40px;\n\n    .top-site-outer {\n      padding: 0;\n      margin: 24px 0 0;\n      margin-inline-start: $form-spacing;\n      pointer-events: none;\n    }\n\n    .section-title {\n      text-transform: none;\n      font-size: 16px;\n      margin: 0 0 16px;\n    }\n  }\n\n  .fields-and-preview {\n    display: flex;\n  }\n\n  label {\n    font-size: $section-title-font-size;\n  }\n\n  .form-wrapper {\n    width: 100%;\n\n    .field {\n      position: relative;\n\n      .icon-clear-input {\n        position: absolute;\n        transform: translateY(-50%);\n        top: 50%;\n        offset-inline-end: 8px;\n\n        & + input:dir(ltr) {\n          padding-right: 32px;\n        }\n\n        & + input:dir(rtl) {\n          padding-left: 32px;\n        }\n      }\n    }\n\n    .url input:not(:placeholder-shown):dir(rtl) {\n      direction: ltr;\n      text-align: right;\n    }\n\n    input {\n      &[type='text'] {\n        border: $input-border;\n        border-radius: 2px;\n        margin: 8px 0;\n        padding: 0 8px;\n        height: 32px;\n        width: 100%;\n\n        &:focus {\n          border: $input-border-active;\n          box-shadow: $input-focus-boxshadow;\n        }\n      }\n    }\n\n    .invalid {\n      input {\n        &[type='text'] {\n          border: $input-error-border;\n          box-shadow: $input-error-boxshadow;\n        }\n      }\n    }\n\n    .error-tooltip {\n      animation: fade-up-tt 450ms;\n      background: $red-60;\n      border-radius: 2px;\n      color: $white;\n      offset-inline-start: 3px;\n      padding: 5px 12px;\n      position: absolute;\n      top: 44px;\n      z-index: 1;\n\n      // tooltip caret\n      &::before {\n        background: $red-60;\n        bottom: -8px;\n        content: '.';\n        height: 16px;\n        offset-inline-start: 12px;\n        position: absolute;\n        text-indent: -999px;\n        top: -7px;\n        transform: rotate(45deg);\n        white-space: nowrap;\n        width: 16px;\n        z-index: -1;\n      }\n    }\n  }\n\n  .actions {\n    justify-content: flex-end;\n\n    button {\n      margin-inline-start: 10px;\n      margin-inline-end: 0;\n    }\n  }\n\n  @media (max-width: $break-point-small) {\n    .fields-and-preview {\n      flex-direction: column;\n\n      .top-site-outer {\n        margin-inline-start: 0;\n      }\n    }\n  }\n}\n\n//used for tooltips below form element\n@keyframes fade-up-tt {\n  0% {\n    opacity: 0;\n    transform: translateY(15px);\n  }\n\n  100% {\n    opacity: 1;\n    transform: translateY(0);\n  }\n}\n",
 		".sections-list {\n  .section-list {\n    display: grid;\n    grid-gap: $base-gutter;\n    grid-template-columns: repeat(auto-fit, $card-width);\n    margin: 0;\n\n    @media (max-width: $break-point-medium) {\n      @include context-menu-open-left;\n    }\n\n    @media (min-width: $break-point-medium) and (max-width: $break-point-large) {\n      :nth-child(2n) {\n        @include context-menu-open-left;\n      }\n    }\n\n    @media (min-width: $break-point-large) and (max-width: $break-point-large + 2 * $card-width) {\n      :nth-child(3n) {\n        @include context-menu-open-left;\n      }\n    }\n  }\n\n  .section-empty-state {\n    border: $border-secondary;\n    border-radius: $border-radius;\n    display: flex;\n    height: $card-height;\n    width: 100%;\n\n    .empty-state {\n      margin: auto;\n      max-width: 350px;\n\n      .empty-state-icon {\n        background-position: center;\n        background-repeat: no-repeat;\n        background-size: 50px 50px;\n        -moz-context-properties: fill;\n        display: block;\n        fill: $fill-secondary;\n        height: 50px;\n        margin: 0 auto;\n        width: 50px;\n      }\n\n      .empty-state-message {\n        color: $text-secondary;\n        font-size: 13px;\n        margin-bottom: 0;\n        text-align: center;\n      }\n    }\n  }\n}\n\n.wide-layout-enabled {\n  .sections-list {\n    .section-list {\n      @media (min-width: $break-point-widest) and (max-width: $break-point-widest + 2 * $card-width) {\n        :nth-child(3n) {\n          @include context-menu-open-left;\n        }\n      }\n\n      @media (min-width: $break-point-widest) {\n        grid-template-columns: repeat(auto-fit, $card-width-large);\n      }\n    }\n  }\n\n  .section-empty-state {\n    height: $card-height-large;\n  }\n}\n",
 		".topic {\n  color: $text-secondary;\n  font-size: 12px;\n  line-height: 1.6;\n  margin-top: $topic-margin-top;\n\n  @media (min-width: $break-point-large) {\n    line-height: 16px;\n  }\n\n  ul {\n    margin: 0;\n    padding: 0;\n    @media (min-width: $break-point-large) {\n      display: inline;\n      padding-inline-start: 12px;\n    }\n  }\n\n\n  ul li {\n    display: inline-block;\n\n    &::after {\n      content: '•';\n      padding: 8px;\n    }\n\n    &:last-child::after {\n      content: none;\n    }\n  }\n\n  .topic-link {\n    color: $link-secondary;\n  }\n\n  .topic-read-more {\n    color: $link-secondary;\n\n    @media (min-width: $break-point-large) {\n      // This is floating to accomodate a very large number of topics and/or\n      // very long topic names due to l10n.\n      float: right;\n\n      &:dir(rtl) {\n        float: left;\n      }\n    }\n\n    &::after {\n      background: url('#{$image-path}topic-show-more-12.svg') no-repeat center center;\n      content: '';\n      -moz-context-properties: fill;\n      display: inline-block;\n      fill: $link-secondary;\n      height: 16px;\n      margin-inline-start: 5px;\n      vertical-align: top;\n      width: 12px;\n    }\n\n    &:dir(rtl)::after  {\n      transform: scaleX(-1);\n    }\n  }\n\n  // This is a clearfix to for the topics-read-more link which is floating and causes\n  // some jank when we set overflow:hidden for the animation.\n  &::after {\n    clear: both;\n    content: '';\n    display: table;\n  }\n}\n",
 		".search-wrapper {\n  $search-border-radius: 3px;\n  $search-focus-color: $blue-50;\n  $search-height: 35px;\n  $search-input-left-label-width: 35px;\n  $search-button-width: 36px;\n  $search-glyph-image: url('chrome://browser/skin/search-glass.svg');\n  $glyph-forward: url('chrome://browser/skin/forward.svg');\n  $search-glyph-size: 16px;\n  $search-glyph-fill: $grey-90-40;\n  // This is positioned so it is visually (not metrically) centered. r=abenson\n  $search-glyph-left-position: 12px;\n\n  cursor: default;\n  display: flex;\n  height: $search-height;\n  // The extra 1px is to account for the box-shadow being outside of the element\n  // instead of inside. It needs to be like that to not overlap the inner background\n  // color of the hover state of the submit button.\n  margin: 1px 1px $section-spacing;\n  position: relative;\n  width: 100%;\n\n  input {\n    border: 0;\n    border-radius: $search-border-radius;\n    box-shadow: $shadow-secondary, 0 0 0 1px $black-15;\n    font-size: 15px;\n    padding: 0;\n    padding-inline-end: $search-button-width;\n    padding-inline-start: $search-input-left-label-width;\n    width: 100%;\n  }\n\n  &:hover input {\n    box-shadow: $shadow-secondary, 0 0 0 1px $black-25;\n  }\n\n  &:active input,\n  input:focus {\n    box-shadow: 0 0 0 $os-search-focus-shadow-radius $search-focus-color;\n  }\n\n  .search-label {\n    background: $search-glyph-image no-repeat $search-glyph-left-position center / $search-glyph-size;\n    -moz-context-properties: fill;\n    fill: $search-glyph-fill;\n    height: 100%;\n    offset-inline-start: 0;\n    position: absolute;\n    width: $search-input-left-label-width;\n  }\n\n  .search-button {\n    background: $glyph-forward no-repeat center center;\n    background-size: 16px 16px;\n    border: 0;\n    border-radius: 0 $border-radius $border-radius 0;\n    -moz-context-properties: fill;\n    fill: $search-glyph-fill;\n    height: 100%;\n    offset-inline-end: 0;\n    position: absolute;\n    width: $search-button-width;\n\n    &:focus,\n    &:hover {\n      background-color: $grey-90-10;\n      cursor: pointer;\n    }\n\n    &:active {\n      background-color: $grey-90-20;\n    }\n\n    &:dir(rtl) {\n      transform: scaleX(-1);\n    }\n  }\n\n  // Adjust the style of the contentSearchUI-generated table\n  .contentSearchSuggestionTable { // sass-lint:disable-line class-name-format\n    border: 0;\n    transform: translateY(2px);\n  }\n}\n",
 		".context-menu {\n  background: $background-primary;\n  border-radius: $context-menu-border-radius;\n  box-shadow: $context-menu-shadow;\n  display: block;\n  font-size: $context-menu-font-size;\n  margin-inline-start: 5px;\n  offset-inline-start: 100%;\n  position: absolute;\n  top: ($context-menu-button-size / 4);\n  z-index: 10000;\n\n  > ul {\n    list-style: none;\n    margin: 0;\n    padding: $context-menu-outer-padding 0;\n\n    > li {\n      margin: 0;\n      width: 100%;\n\n      &.separator {\n        border-bottom: 1px solid $context-menu-border-color;\n        margin: $context-menu-outer-padding 0;\n      }\n\n      > a {\n        align-items: center;\n        color: inherit;\n        cursor: pointer;\n        display: flex;\n        line-height: 16px;\n        outline: none;\n        padding: $context-menu-item-padding;\n        white-space: nowrap;\n\n        &:-moz-any(:focus, :hover) {\n          background: $input-primary;\n          color: $white;\n\n          a {\n            color: $grey-90;\n          }\n\n          .icon {\n            fill: $white;\n          }\n\n          &:-moz-any(:focus, :hover) {\n            color: $white;\n          }\n        }\n\n        &.disabled {\n          opacity: 0.4;\n          pointer-events: none;\n        }\n      }\n    }\n  }\n}\n",
+		".prefs-pane {\n  $options-spacing: 10px;\n  $prefs-spacing: 20px;\n  $prefs-width: 400px;\n\n  color: $text-conditional;\n  font-size: 14px;\n  line-height: 21px;\n\n  .sidebar {\n    background: $white;\n    border-left: $border-secondary;\n    box-shadow: $shadow-secondary;\n    height: 100%;\n    offset-inline-end: 0;\n    overflow-y: auto;\n    padding: 40px;\n    position: fixed;\n    top: 0;\n    transition: 0.1s cubic-bezier(0, 0, 0, 1);\n    transition-property: transform;\n    width: $prefs-width;\n    z-index: 12000;\n\n    &.hidden {\n      transform: translateX(100%);\n\n      &:dir(rtl) {\n        transform: translateX(-100%);\n      }\n    }\n\n    h1 {\n      font-size: 21px;\n      margin: 0;\n      padding-top: $prefs-spacing;\n    }\n  }\n\n  hr {\n    border: 0;\n    border-bottom: $border-secondary;\n    margin: 20px 0;\n  }\n\n  .prefs-modal-inner-wrapper {\n    padding-bottom: 100px;\n\n    section {\n      margin: $prefs-spacing 0;\n\n      p {\n        margin: 5px 0 20px 30px;\n      }\n\n      label {\n        display: inline-block;\n        position: relative;\n        width: 100%;\n\n        input {\n          offset-inline-start: -30px;\n          position: absolute;\n          top: 0;\n        }\n      }\n\n      > label {\n        font-size: 16px;\n        font-weight: bold;\n        line-height: 19px;\n      }\n    }\n\n    .options {\n      background: $background-primary;\n      border: $border-secondary;\n      border-radius: 2px;\n      margin: -$options-spacing 0 $prefs-spacing;\n      margin-inline-start: 30px;\n      padding: $options-spacing;\n\n      &.disabled {\n        opacity: 0.5;\n      }\n\n      label {\n        $icon-offset-start: 35px;\n        background-position-x: $icon-offset-start;\n        background-position-y: 2.5px;\n        background-repeat: no-repeat;\n        display: inline-block;\n        font-size: 14px;\n        font-weight: normal;\n        height: auto;\n        line-height: 21px;\n        width: 100%;\n\n        &:dir(rtl) {\n          background-position-x: right $icon-offset-start;\n        }\n      }\n\n      [type='checkbox']:not(:checked) + label,\n      [type='checkbox']:checked + label {\n        padding-inline-start: 63px;\n      }\n\n      section {\n        margin: 0;\n      }\n    }\n  }\n\n  .actions {\n    background-color: $background-primary;\n    border-left: $border-secondary;\n    bottom: 0;\n    offset-inline-end: 0;\n    position: fixed;\n    width: $prefs-width;\n\n    button {\n      margin-inline-end: $prefs-spacing;\n    }\n  }\n\n  // CSS styled checkbox\n  [type='checkbox']:not(:checked),\n  [type='checkbox']:checked {\n    offset-inline-start: -9999px;\n    position: absolute;\n  }\n\n  [type='checkbox']:not(:disabled):not(:checked) + label,\n  [type='checkbox']:not(:disabled):checked + label {\n    cursor: pointer;\n    padding: 0 30px;\n    position: relative;\n  }\n\n  [type='checkbox']:not(:checked) + label::before,\n  [type='checkbox']:checked + label::before {\n    background: $white;\n    border: $border-primary;\n    border-radius: $border-radius;\n    content: '';\n    height: 21px;\n    offset-inline-start: 0;\n    position: absolute;\n    top: 0;\n    width: 21px;\n  }\n\n  // checkmark\n  [type='checkbox']:not(:checked) + label::after,\n  [type='checkbox']:checked + label::after {\n    background: url('chrome://global/skin/in-content/check.svg') no-repeat center center; // sass-lint:disable-line no-url-domains\n    content: '';\n    -moz-context-properties: fill, stroke;\n    fill: $input-primary;\n    height: 21px;\n    offset-inline-start: 0;\n    position: absolute;\n    stroke: none;\n    top: 0;\n    width: 21px;\n  }\n\n  // checkmark changes\n  [type='checkbox']:not(:checked) + label::after {\n    opacity: 0;\n  }\n\n  [type='checkbox']:checked + label::after {\n    opacity: 1;\n  }\n\n  // hover\n  [type='checkbox']:not(:disabled) + label:hover::before {\n    border: 1px solid $input-primary;\n  }\n\n  // accessibility\n  [type='checkbox']:not(:disabled):checked:focus + label::before,\n  [type='checkbox']:not(:disabled):not(:checked):focus + label::before {\n    border: 1px dotted $input-primary;\n  }\n}\n\n.prefs-pane-button {\n  button {\n    background-color: transparent;\n    border: 0;\n    cursor: pointer;\n    fill: $fill-secondary;\n    offset-inline-end: 15px;\n    padding: 15px;\n    position: fixed;\n    top: 15px;\n    z-index: 12001;\n\n    &:hover {\n      background-color: $background-secondary;\n    }\n\n    &:active {\n      background-color: $background-primary;\n    }\n  }\n}\n",
 		".confirmation-dialog {\n  .modal {\n    box-shadow: 0 2px 2px 0 $black-10;\n    left: 50%;\n    margin-left: -200px;\n    position: fixed;\n    top: 20%;\n    width: 400px;\n  }\n\n  section {\n    margin: 0;\n  }\n\n  .modal-message {\n    display: flex;\n    padding: 16px;\n    padding-bottom: 0;\n\n    p {\n      margin: 0;\n      margin-bottom: 16px;\n    }\n  }\n\n  .actions {\n    border: 0;\n    display: flex;\n    flex-wrap: nowrap;\n    padding: 0 16px;\n\n    button {\n      margin-inline-end: 16px;\n      padding-inline-end: 18px;\n      padding-inline-start: 18px;\n      white-space: normal;\n      width: 50%;\n\n      &.done {\n        margin-inline-end: 0;\n        margin-inline-start: 0;\n      }\n    }\n  }\n\n  .icon {\n    margin-inline-end: 16px;\n  }\n}\n\n.modal-overlay {\n  background: $background-secondary;\n  height: 100%;\n  left: 0;\n  opacity: 0.8;\n  position: fixed;\n  top: 0;\n  width: 100%;\n  z-index: 11001;\n}\n\n.modal {\n  background: $white;\n  border: $border-secondary;\n  border-radius: 5px;\n  font-size: 15px;\n  z-index: 11002;\n}\n",
 		".card-outer {\n  @include context-menu-button;\n  background: $white;\n  border-radius: $border-radius;\n  display: inline-block;\n  height: $card-height;\n  margin-inline-end: $base-gutter;\n  position: relative;\n  width: 100%;\n\n  &.placeholder {\n    background: transparent;\n\n    .card {\n      box-shadow: inset $inner-box-shadow;\n    }\n  }\n\n  .card {\n    border-radius: $border-radius;\n    box-shadow: $shadow-secondary;\n    height: 100%;\n  }\n\n  > a {\n    color: inherit;\n    display: block;\n    height: 100%;\n    outline: none;\n    position: absolute;\n    width: 100%;\n\n    &:-moz-any(.active, :focus) {\n      .card {\n        @include fade-in-card;\n      }\n\n      .card-title {\n        color: $link-primary;\n      }\n    }\n  }\n\n  &:-moz-any(:hover, :focus, .active):not(.placeholder) {\n    @include fade-in-card;\n    @include context-menu-button-hover;\n    outline: none;\n\n    .card-title {\n      color: $link-primary;\n    }\n  }\n\n  .card-preview-image-outer {\n    background-color: $background-primary;\n    border-radius: $border-radius $border-radius 0 0;\n    height: $card-preview-image-height;\n    overflow: hidden;\n    position: relative;\n\n    &::after {\n      border-bottom: 1px solid $black-5;\n      bottom: 0;\n      content: '';\n      position: absolute;\n      width: 100%;\n    }\n\n    .card-preview-image {\n      background-position: center;\n      background-repeat: no-repeat;\n      background-size: cover;\n      height: 100%;\n      opacity: 0;\n      transition: opacity 1s $photon-easing;\n      width: 100%;\n\n      &.loaded {\n        opacity: 1;\n      }\n    }\n  }\n\n  .card-details {\n    padding: 15px 16px 12px;\n\n    &.no-image {\n      padding-top: 16px;\n    }\n  }\n\n  .card-text {\n    max-height: 4 * $card-text-line-height + $card-title-margin;\n    overflow: hidden;\n\n    &.no-image {\n      max-height: 10 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-host-name,\n    &.no-context {\n      max-height: 5 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-image.no-host-name,\n    &.no-image.no-context {\n      max-height: 11 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-host-name.no-context {\n      max-height: 6 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-image.no-host-name.no-context {\n      max-height: 12 * $card-text-line-height + $card-title-margin;\n    }\n\n    &:not(.no-description) .card-title {\n      max-height: 3 * $card-text-line-height;\n      overflow: hidden;\n    }\n  }\n\n  .card-host-name {\n    color: $text-secondary;\n    font-size: 10px;\n    overflow: hidden;\n    padding-bottom: 4px;\n    text-overflow: ellipsis;\n    text-transform: uppercase;\n  }\n\n  .card-title {\n    font-size: 14px;\n    line-height: $card-text-line-height;\n    margin: 0 0 $card-title-margin;\n    word-wrap: break-word;\n  }\n\n  .card-description {\n    font-size: 12px;\n    line-height: $card-text-line-height;\n    margin: 0;\n    overflow: hidden;\n    word-wrap: break-word;\n  }\n\n  .card-context {\n    bottom: 0;\n    color: $text-secondary;\n    display: flex;\n    font-size: 11px;\n    left: 0;\n    padding: 12px 16px 12px 14px;\n    position: absolute;\n    right: 0;\n  }\n\n  .card-context-icon {\n    fill: $fill-secondary;\n    margin-inline-end: 6px;\n  }\n\n  .card-context-label {\n    flex-grow: 1;\n    line-height: $icon-size;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n}\n\n.wide-layout-enabled {\n  $line-height: 23px;\n\n  .card-outer {\n    @media (min-width: $break-point-widest) {\n      height: $card-height-large;\n\n      .card-preview-image-outer {\n        height: $card-preview-image-height-large;\n      }\n\n      .card-details {\n        padding: 13px 16px 12px;\n      }\n\n      .card-text {\n        max-height: 6 * $line-height + $card-title-margin;\n      }\n\n      .card-host-name {\n        font-size: 12px;\n        padding-bottom: 5px;\n      }\n\n      .card-title {\n        font-size: 17px;\n        line-height: $line-height;\n        margin-bottom: 0;\n      }\n\n      .card-text:not(.no-description) {\n        .card-title {\n          max-height: 3 * $line-height;\n        }\n      }\n\n      .card-description {\n        font-size: 15px;\n        line-height: $line-height;\n      }\n\n      .card-context {\n        bottom: 4px;\n        font-size: 14px;\n      }\n    }\n  }\n}\n",
 		".manual-migration-container {\n  color: $text-conditional;\n  font-size: 13px;\n  line-height: 15px;\n  margin-bottom: $section-spacing;\n  text-align: center;\n\n  @media (min-width: $break-point-medium) {\n    display: flex;\n    justify-content: space-between;\n    text-align: left;\n  }\n\n  p {\n    margin: 0;\n    @media (min-width: $break-point-medium) {\n      align-self: center;\n      display: flex;\n      justify-content: space-between;\n    }\n  }\n\n  .icon {\n    display: none;\n    @media (min-width: $break-point-medium) {\n      align-self: center;\n      display: block;\n      fill: $fill-secondary;\n      margin-inline-end: 6px;\n    }\n  }\n}\n\n.manual-migration-actions {\n  border: 0;\n  display: block;\n  flex-wrap: nowrap;\n\n  @media (min-width: $break-point-medium) {\n    display: flex;\n    justify-content: space-between;\n    padding: 0;\n  }\n\n  button {\n    align-self: center;\n    height: 26px;\n    margin: 0;\n    margin-inline-start: 20px;\n    padding: 0 12px;\n  }\n}\n",
 		".collapsible-section {\n  padding: $section-vertical-padding $section-horizontal-padding;\n  transition-delay: 100ms;\n  transition-duration: 100ms;\n  transition-property: background-color;\n\n  .section-title {\n    margin: 0;\n\n    .click-target {\n      cursor: pointer;\n      vertical-align: top;\n      white-space: nowrap;\n    }\n\n    .collapsible-arrow {\n      margin-inline-start: 8px;\n      margin-top: -1px;\n    }\n  }\n\n  .section-top-bar {\n    position: relative;\n\n    .context-menu-button {\n      background: url('chrome://browser/skin/page-action.svg') no-repeat right center;\n      border: 0;\n      cursor: pointer;\n      fill: $grey-50;\n      height: $context-menu-button-size;\n      offset-inline-end: 0;\n      opacity: 0;\n      position: absolute;\n      top: 0;\n      transition-duration: 200ms;\n      transition-property: opacity;\n      width: $context-menu-button-size;\n\n      &:-moz-any(:active, :focus, :hover) {\n        fill: $grey-90;\n        opacity: 1;\n      }\n    }\n\n    .context-menu {\n      top: 16px;\n    }\n\n    @media (max-width: $break-point-widest + $card-width * 1.5) {\n      @include context-menu-open-left;\n    }\n  }\n\n  &:hover,\n  &.active {\n    .section-top-bar {\n      .context-menu-button {\n        opacity: 1;\n      }\n    }\n  }\n\n  &.active {\n    background: $grey-20-60;\n    border-radius: 4px;\n\n    .section-top-bar {\n      .context-menu-button {\n        fill: $grey-90;\n      }\n    }\n  }\n\n  .section-disclaimer {\n    $max-button-width: 130px;\n    $min-button-height: 26px;\n\n    color: $grey-60;\n    font-size: 13px;\n    margin-bottom: 16px;\n    position: relative;\n\n    .section-disclaimer-text {\n      display: inline-block;\n      min-height: $min-button-height;\n      width: calc(100% - #{$max-button-width});\n\n      @media (max-width: $break-point-medium) {\n        width: $card-width;\n      }\n    }\n\n    a {\n      color: $link-secondary;\n      padding-left: 3px;\n    }\n\n    button {\n      background: $grey-10;\n      border: 1px solid $grey-40;\n      border-radius: 4px;\n      cursor: pointer;\n      margin-top: 2px;\n      max-width: $max-button-width;\n      min-height: $min-button-height;\n      offset-inline-end: 0;\n\n      &:hover:not(.dismiss) {\n        box-shadow: $shadow-primary;\n        transition: box-shadow 150ms;\n      }\n\n      @media (min-width: $break-point-small) {\n        position: absolute;\n      }\n    }\n  }\n\n  .section-body-fallback {\n    height: $card-height;\n  }\n\n  .section-body {\n    // This is so the top sites favicon and card dropshadows don't get clipped during animation:\n    $horizontal-padding: 7px;\n    margin: 0 (-$horizontal-padding);\n    padding: 0 $horizontal-padding;\n\n    &.animating {\n      overflow: hidden;\n      pointer-events: none;\n    }\n  }\n\n  &.animation-enabled {\n    .section-title {\n      .collapsible-arrow {\n        transition: transform 0.5s $photon-easing;\n      }\n    }\n\n    .section-body {\n      transition: max-height 0.5s $photon-easing;\n    }\n  }\n\n  &.collapsed {\n    .section-body {\n      max-height: 0;\n      overflow: hidden;\n    }\n  }\n}\n"
 	],
 	"names": [],
-	"mappings": ";AAAA,6BAA6B;AEA7B,AAAA,IAAI,CAAC;EACH,UAAU,EAAE,UAAU,GACvB;;AAED,AAAA,CAAC;AACD,AAAA,CAAC,AAAA,QAAQ;AACT,AAAA,CAAC,AAAA,OAAO,CAAC;EACP,UAAU,EAAE,OAAO,GACpB;;AAED,AAAA,CAAC,AAAA,kBAAkB,CAAC;EAClB,MAAM,EAAE,CAAC,GACV;;AAED,AAAA,IAAI,CAAC;EACH,MAAM,EAAE,CAAC,GACV;;AAED,AAAA,MAAM;AACN,AAAA,KAAK,CAAC;EACJ,gBAAgB,EAAE,OAAO;EACzB,KAAK,EAAE,OAAO;EACd,WAAW,EAAE,OAAO;EACpB,SAAS,EAAE,OAAO,GACnB;;CAED,AAAA,AAAA,MAAC,AAAA,EAAQ;EACP,OAAO,EAAE,eAAe,GACzB;;AE5BD,AAAA,KAAK,CAAC;EACJ,mBAAmB,EAAE,aAAa;EAClC,iBAAiB,EAAE,SAAS;EAC5B,eAAe,EDkEL,IAAI;ECjEd,uBAAuB,EAAE,IAAI;EAC7B,OAAO,EAAE,YAAY;EACrB,IAAI,EDGI,qBAAO;ECFf,MAAM,ED8DI,IAAI;EC7Dd,cAAc,EAAE,MAAM;EACtB,KAAK,ED4DK,IAAI,GC6Ff;EAlKD,AAWE,KAXG,AAWH,YAAa,CAAC;IACZ,iBAAiB,EAAE,GAAG,GACvB;EAbH,AAeE,KAfG,AAeH,kBAAmB,CAAC;IAClB,iBAAiB,EAAE,GAAG,GACvB;EAjBH,AAmBE,KAnBG,AAmBH,oBAAqB,CAAC;IACpB,gBAAgB,EAAE,yCAAyC,GAC5D;EArBH,AAuBE,KAvBG,AAuBH,qBAAsB,CAAC;IACrB,gBAAgB,EAAE,gDAAgD,GACnE;EAzBH,AA2BE,KA3BG,AA2BH,iBAAkB,CAAC;IACjB,IAAI,EDnBE,qBAAO;ICoBb,gBAAgB,EAAE,iDAAwC,GAC3D;EA9BH,AAgCE,KAhCG,AAgCH,YAAa,CAAC;IACZ,gBAAgB,EAAE,iDAAwC,GAC3D;EAlCH,AAoCE,KApCG,AAoCH,kBAAmB,CAAC;IAClB,gBAAgB,EAAE,uDAA8C;IAChE,eAAe,EDiCA,IAAI;IChCnB,MAAM,EDgCS,IAAI;IC/BnB,KAAK,ED+BU,IAAI,GC9BpB;EAzCH,AA2CE,KA3CG,AA2CH,aAAc,CAAC;IACb,gBAAgB,EAAE,kDAAyC,GAC5D;EA7CH,AA+CE,KA/CG,AA+CH,UAAW,CAAC;IACV,gBAAgB,EAAE,+CAAsC,GACzD;EAjDH,AAmDE,KAnDG,AAmDH,YAAa,CAAC;IACZ,gBAAgB,EAAE,iDAAwC,GAC3D;EArDH,AAuDE,KAvDG,AAuDH,gBAAiB,CAAC;IAEhB,gBAAgB,EAAE,oDAA2C,GAC9D;IA1DH,ADuLE,KCvLG,AAuDH,gBAAiB,ADgIpB,IAAS,CAAA,AAAA,GAAG,EAAE;MACT,SAAS,EAAE,UAAU,GACtB;ECzLH,AA4DE,KA5DG,AA4DH,wBAAyB,CAAC;IACxB,gBAAgB,EAAE,gDAAgD,GACnE;EA9DH,AAgEE,KAhEG,AAgEH,cAAe,CAAC;IACd,gBAAgB,EAAE,yCAAyC,GAC5D;EAlEH,AAoEE,KApEG,AAoEH,SAAU,CAAC;IAET,gBAAgB,EAAE,8CAAqC,GACxD;IAvEH,ADuLE,KCvLG,AAoEH,SAAU,ADmHb,IAAS,CAAA,AAAA,GAAG,EAAE;MACT,SAAS,EAAE,UAAU,GACtB;ECzLH,AAyEE,KAzEG,AAyEH,WAAY,CAAC;IAEX,gBAAgB,EAAE,gDAAuC,GAC1D;IA5EH,ADuLE,KCvLG,AAyEH,WAAY,AD8Gf,IAAS,CAAA,AAAA,GAAG,EAAE;MACT,SAAS,EAAE,UAAU,GACtB;ECzLH,AA8EE,KA9EG,AA8EH,UAAW,CAAC;IACV,gBAAgB,EAAE,+CAAsC,GACzD;EAhFH,AAkFE,KAlFG,AAkFH,YAAa,CAAC;IACZ,gBAAgB,EAAE,iDAAwC,GAC3D;EApFH,AAsFE,KAtFG,AAsFH,iBAAkB,CAAC;IACjB,gBAAgB,EAAE,sDAA6C,GAChE;EAxFH,AA0FE,KA1FG,AA0FH,cAAe,CAAC;IACd,gBAAgB,EAAE,mDAA0C;IAC5D,SAAS,EAAE,eAAe,GAC3B;EA7FH,AA+FE,KA/FG,AA+FH,SAAU,CAAC;IACT,gBAAgB,EAAE,wCAAwC,GAC3D;EAjGH,AAmGE,KAnGG,AAmGH,cAAe,CAAC;IACd,gBAAgB,EAAE,mDAA0C,GAC7D;EArGH,AAuGE,KAvGG,AAuGH,eAAgB,CAAC;IAEf,gBAAgB,EAAE,8CAAqC;IACvD,eAAe,EDpCC,IAAI;ICqCpB,MAAM,EDrCU,IAAI;ICsCpB,KAAK,EDtCW,IAAI,GCuCrB;IA7GH,ADuLE,KCvLG,AAuGH,eAAgB,ADgFnB,IAAS,CAAA,AAAA,GAAG,EAAE;MACT,SAAS,EAAE,UAAU,GACtB;ECzLH,AA+GE,KA/GG,AA+GH,WAAY,CAAC;IACX,gBAAgB,EAAE,sCAAsC,GACzD;EAjHH,AAmHE,KAnHG,AAmHH,kBAAmB,CAAC;IAClB,gBAAgB,EAAE,uDAA8C,GACjE;EArHH,AAuHE,KAvHG,AAuHH,gBAAiB,CAAC;IAChB,gBAAgB,EAAE,qDAA4C,GAC/D;EAzHH,AA2HE,KA3HG,AA2HH,oBAAqB,CAAC;IACpB,gBAAgB,EAAE,yDAAgD,GACnE;EA7HH,AA+HE,KA/HG,AA+HH,0BAA2B,CAAC;IAC1B,gBAAgB,EAAE,yDAAgD;IAClE,eAAe,ED3DC,IAAI;IC4DpB,MAAM,ED5DU,IAAI;IC6DpB,KAAK,ED7DW,IAAI,GC8DrB;EApIH,AAsIE,KAtIG,AAsIH,6BAA8B,CAAC;IAC7B,gBAAgB,EAAE,yDAAgD;IAClE,eAAe,EDlEC,IAAI;ICmEpB,MAAM,EDnEU,IAAI;ICoEpB,SAAS,EAAE,cAAc;IACzB,KAAK,EDrEW,IAAI,GC0ErB;IAhJH,AA6II,KA7IC,AAsIH,6BAA8B,AAO5B,IAAM,CAAA,AAAA,GAAG,EAAE;MACT,SAAS,EAAE,aAAa,GACzB;EA/IL,AAkJE,KAlJG,AAkJH,kBAAmB,CAAC;IAClB,gBAAgB,EAAE,yDAAgD;IAClE,SAAS,EAAE,cAAc,GAC1B;EArJH,AAuJE,KAvJG,AAuJH,SAAU,CAAC;IACT,gBAAgB,EAAE,8CAAqC,GACxD;EAzJH,AA2JE,KA3JG,AA2JH,cAAe,CAAC;IACd,gBAAgB,EAAE,mDAA0C,GAC7D;EA7JH,AA+JE,KA/JG,AA+JH,cAAe,CAAC;IACd,gBAAgB,EAAE,mDAA0C,GAC7D;;AH7JH,AAAA,IAAI;AACJ,AAAA,IAAI;AACJ,AAAA,KAAK,CAAC;EACJ,MAAM,EAAE,IAAI,GACb;;AAED,AAAA,IAAI,CAAC;EACH,UAAU,EERF,OAAO;EFSf,KAAK,EEHG,OAAO;EFIf,WAAW,EAAE,qFAAqF;EAClG,SAAS,EAAE,IAAI;EACf,UAAU,EAAE,MAAM,GACnB;;AAED,AAAA,EAAE;AACF,AAAA,EAAE,CAAC;EACD,WAAW,EAAE,MAAM,GACpB;;AAED,AAAA,CAAC,CAAC;EACA,KAAK,EEtBG,OAAO;EFuBf,eAAe,EAAE,IAAI,GAKtB;EAPD,AAIE,CAJD,AAIC,MAAO,CAAC;IACN,KAAK,EElBC,OAAO,GFmBd;;AAIH,AAAA,QAAQ,CAAC;EACP,MAAM,EAAE,CAAC;EACT,IAAI,EAAE,gBAAgB;EACtB,MAAM,EAAE,GAAG;EACX,MAAM,EAAE,IAAI;EACZ,QAAQ,EAAE,MAAM;EAChB,OAAO,EAAE,CAAC;EACV,QAAQ,EAAE,QAAQ;EAClB,KAAK,EAAE,GAAG,GACX;;AAED,AAAA,aAAa,CAAC;EACZ,MAAM,EEJW,GAAG,CAAC,KAAK,CApClB,OAAO;EFyCf,aAAa,EEeC,GAAG;EFdjB,MAAM,EAAE,IAAI;EACZ,IAAI,EAAE,CAAC;EACP,cAAc,EAAE,IAAI;EACpB,QAAQ,EAAE,QAAQ;EAClB,GAAG,EAAE,CAAC;EACN,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,GAAG,GACb;;AAED,UAAU,CAAV,MAAU;EACR,AAAA,IAAI;IACF,OAAO,EAAE,CAAC;EAGZ,AAAA,EAAE;IACA,OAAO,EAAE,CAAC;;AAId,AAAA,aAAa,CAAC;EACZ,OAAO,EAAE,CAAC;EACV,UAAU,EAAE,oBAAoB,GAMjC;EARD,AAIE,aAJW,AAIX,GAAI,CAAC;IACH,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,CAAC,GACX;;AAGH,AAAA,QAAQ,CAAC;EACP,UAAU,EEpCO,GAAG,CAAC,KAAK,CApClB,OAAO;EFyEf,OAAO,EAAE,IAAI;EACb,cAAc,EAAE,GAAG;EACnB,SAAS,EAAE,IAAI;EACf,eAAe,EAAE,UAAU;EAC3B,MAAM,EAAE,CAAC;EACT,OAAO,EAAE,WAAW,GA8BrB;EArCD,AASE,QATM,CASN,MAAM,CAAC;IACL,gBAAgB,EEnFV,OAAO;IFoFb,MAAM,EE/CO,GAAG,CAAC,KAAK,CAlChB,OAAO;IFkFb,aAAa,EAAE,GAAG;IAClB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,OAAO;IACf,aAAa,EAAE,IAAI;IACnB,OAAO,EAAE,SAAS;IAClB,WAAW,EAAE,MAAM,GAmBpB;IApCH,AASE,QATM,CASN,MAAM,AAUJ,MAAO,AAAA,IAAK,CAAA,AAAA,QAAQ,EAAE;MACpB,UAAU,EE/CC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CA5ChB,OAAO;MF4FX,UAAU,EAAE,gBAAgB,GAC7B;IAtBL,AASE,QATM,CASN,MAAM,AAeJ,QAAS,CAAC;MACR,MAAM,EAAE,CAAC;MACT,OAAO,EAAE,CAAC;MACV,eAAe,EAAE,SAAS,GAC3B;IA5BL,AASE,QATM,CASN,MAAM,AAqBJ,KAAM,CAAC;MACL,UAAU,EEzGN,OAAO;MF0GX,MAAM,EAAE,KAAK,CAAC,GAAG,CE1Gb,OAAO;MF2GX,KAAK,EEjDH,IAAI;MFkDN,mBAAmB,EAAE,IAAI,GAC1B;;AAKL,AAAA,mBAAmB,CAAC;EAClB,OAAO,EAAE,CAAC,GACX;;AItHD,AAAA,cAAc,CAAC;EACb,OAAO,EAAE,IAAI;EACb,SAAS,EAAE,CAAC;EACZ,MAAM,EAAE,IAAI;EACZ,OAAO,EAAE,IAA8C,CF2D3C,IAAI,CAAJ,IAAI,GEtDjB;EATD,AAME,cANY,AAMZ,aAAc,CAAC;IACb,MAAM,EAAE,IAAI,GACb;;AAGH,AAAA,IAAI,CAAC;EACH,MAAM,EAAE,IAAI;EAGZ,cAAc,EAAE,IAA4D;EAC5E,KAAK,EFyDiB,KAAmE,GEvC1F;EAhBC,MAAM,EAAE,SAAS,EAAE,KAAK;IAP1B,AAAA,IAAI,CAAC;MAQD,KAAK,EFuDiB,KAAmE,GExC5F;EAZC,MAAM,EAAE,SAAS,EAAE,KAAK;IAX1B,AAAA,IAAI,CAAC;MAYD,KAAK,EFoDkB,KAAmE,GEzC7F;EARC,MAAM,EAAE,SAAS,EAAE,KAAK;IAf1B,AAAA,IAAI,CAAC;MAgBD,KAAK,EFiDiB,KAAmE,GE1C5F;EAvBD,AAmBE,IAnBE,CAmBF,OAAO,CAAC;IACN,aAAa,EFmCC,IAAoC;IElClD,QAAQ,EAAE,QAAQ,GACnB;;AAKC,MAAM,EAAE,SAAS,EAAE,MAAM;EAF7B,AACE,oBADkB,CAClB,IAAI,CAAC;IAED,KAAK,EFsCgB,MAAmE,GEpC3F;;AAGH,AAAA,gBAAgB,CAAC;EACf,MAAM,EAAE,IAAI;EACZ,aAAa,EAAE,IAAI,GACpB;;AAED,AAAA,cAAc,CAAC;EACb,SAAS,EFqCe,IAAI;EEpC5B,WAAW,EAAE,IAAI;EACjB,cAAc,EAAE,SAAS,GAO1B;EAVD,AAKE,cALY,CAKZ,IAAI,CAAC;IACH,KAAK,EFhDC,OAAO;IEiDb,IAAI,EFjDE,OAAO;IEkDb,cAAc,EAAE,MAAM,GACvB;;AAGH,AAAA,sBAAsB,CAAC;EAErB,MAAM,EAAE,KAAK,GACd;;;AAED,AAUI,aAVS,CAUT,cAAc;AAVlB,AAWmB,aAXN,CAWT,cAAc,CAAC,QAAQ,AAAA,aAAa;AAXxC,AAYI,aAZS,CAYT,MAAM,CAHc;EACpB,OAAO,EAAE,CAAC,GACX;;;AAXH,AAeI,aAfS,AAaX,GAAI,CAEF,cAAc;AAflB,AAgBmB,aAhBN,AAaX,GAAI,CAGF,cAAc,CAAC,QAAQ,AAAA,aAAa;AAhBxC,AAiBI,aAjBS,AAaX,GAAI,CAIF,MAAM,CAHgB;EACpB,OAAO,EAAE,CAAC,GACX;;AAIL,AAAA,wBAAwB,CAAC;EACvB,OAAO,EAAE,CAAC,CFvBiB,IAAI,GEwBhC;;AAED,AACE,aADW,CACX,MAAM,CAAC;EACL,gBAAgB,EAAE,WAAW;EAC7B,MAAM,EAAE,CAAC;EACT,MAAM,EAAE,OAAO;EACf,IAAI,EFtFE,qBAAO;EEuFb,iBAAiB,EAAE,IAAI;EACvB,OAAO,EAAE,IAAI;EACb,QAAQ,EAAE,KAAK;EACf,GAAG,EAAE,IAAI;EACT,OAAO,EAAE,KAAK,GASf;EAnBH,AACE,aADW,CACX,MAAM,AAWJ,MAAO,CAAC;IACN,gBAAgB,EFnGZ,OAAO,GEoGZ;EAdL,AACE,aADW,CACX,MAAM,AAeJ,OAAQ,CAAC;IACP,gBAAgB,EFxGZ,OAAO,GEyGZ;;AC5GL,AAAA,kBAAkB,CAAC;EACjB,WAAW,EAAE,MAAM;EACnB,aAAa,EH2DC,GAAG;EG1DjB,UAAU,EAAE,KAAK,CH8GA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAvFpB,kBAAI;EGtBV,KAAK,EHIG,OAAO;EGHf,OAAO,EAAE,IAAI;EACb,cAAc,EAAE,MAAM;EACtB,SAAS,EHuGgB,IAAI;EGtG7B,eAAe,EAAE,MAAM;EACvB,aAAa,EAAE,MAAM;EACrB,WAAW,EHqGgB,GAAG,GG/F/B;EAhBD,AAYE,kBAZgB,CAYhB,CAAC,CAAC;IACA,KAAK,EHLC,OAAO;IGMb,eAAe,EAAE,SAAS,GAC3B;;ACJH,AAAA,UAAU,CAAC;EAGT,aAAa,EAAE,GAA4E,GAC5F;;AAED,AAAA,eAAe,CAAC;EACd,UAAU,EAAE,IAAI;EAChB,MAAM,EAAE,CAAC,CAVQ,KAAgB;EAWjC,OAAO,EAAE,CAAC,GA0DX;EAvDC,MAAM,EAAE,SAAS,EAAE,KAAK;IAN1B,AJoJE,eIpJa,CAOX,UAAW,CAAA,IAAI,EJ6IjB,aAAa,CAAC;MACZ,iBAAiB,EAAE,IAAI;MACvB,mBAAmB,EAAE,IAAI;MACzB,iBAAiB,EAAE,IAAI;MACvB,mBAAmB,EA1GT,KAAI,GA2Gf;IIzJH,AJ6JE,eI7Ja,CAWX,UAAW,CAAA,EAAE,EJkJf,aAAa,CAAC;MACZ,iBAAiB,EAAE,GAAG;MACtB,mBAAmB,EAAE,IAAI;MACzB,iBAAiB,EAAE,CAAC;MACpB,mBAAmB,EAAE,IAAI,GAC1B;EIjJD,MAAM,EAAE,SAAS,EAAE,KAAK,OAAO,SAAS,EAAE,KAAK;IAjBjD,AJ6JE,eI7Ja,CAkBX,UAAW,CAAA,IAAI,EJ2IjB,aAAa;II7Jf,AJ6JE,eI7Ja,CAmBX,UAAW,CAAA,EAAE,EJ0If,aAAa,CAAC;MACZ,iBAAiB,EAAE,GAAG;MACtB,mBAAmB,EAAE,IAAI;MACzB,iBAAiB,EAAE,CAAC;MACpB,mBAAmB,EAAE,IAAI,GAC1B;EIzID,MAAM,EAAE,SAAS,EAAE,KAAK,OAAO,SAAS,EAAE,KAAK;IAzBjD,AJ6JE,eI7Ja,CA0BX,UAAW,CAAA,EAAE,EJmIf,aAAa,CAAC;MACZ,iBAAiB,EAAE,GAAG;MACtB,mBAAmB,EAAE,IAAI;MACzB,iBAAiB,EAAE,CAAC;MACpB,mBAAmB,EAAE,IAAI,GAC1B;EIpID,MAAM,EAAE,SAAS,EAAE,KAAK,OAAO,SAAS,EAAE,KAAK;IA9BjD,AJ6JE,eI7Ja,CA+BX,UAAW,CAAA,IAAI,EJ8HjB,aAAa,CAAC;MACZ,iBAAiB,EAAE,GAAG;MACtB,mBAAmB,EAAE,IAAI;MACzB,iBAAiB,EAAE,CAAC;MACpB,mBAAmB,EAAE,IAAI,GAC1B;EI7HD,MAAM,EAAE,SAAS,EAAE,KAAK,OAAO,SAAS,EAAE,MAAM;IArClD,AJ6JE,eI7Ja,CAsCX,UAAW,CAAA,EAAE,EJuHf,aAAa,CAAC;MACZ,iBAAiB,EAAE,GAAG;MACtB,mBAAmB,EAAE,IAAI;MACzB,iBAAiB,EAAE,CAAC;MACpB,mBAAmB,EAAE,IAAI,GAC1B;EIxHD,MAAM,EAAE,SAAS,EAAE,KAAK,OAAO,SAAS,EAAE,MAAM;IA1ClD,AJ6JE,eI7Ja,CA2CX,UAAW,CAAA,IAAI,EJkHjB,aAAa,CAAC;MACZ,iBAAiB,EAAE,GAAG;MACtB,mBAAmB,EAAE,IAAI;MACzB,iBAAiB,EAAE,CAAC;MACpB,mBAAmB,EAAE,IAAI,GAC1B;EIlKH,AAgDE,eAhDa,CAgDb,EAAE,CAAC;IACD,MAAM,EAAE,CAAC,CAAC,CAAC,CA/DY,GAAG,GAgE3B;EAlDH,AAsDM,eAtDS,AAoDb,IAAM,CAAA,AAAA,WAAW,EACf,eAAe,AAAA,SAAU,CAAA,AAAA,OAAO,EAAE,AAAA,MAAM,EAAE,AAAA,MAAM,EAC9C,KAAK,CAAC;IJiDV,UAAU,EAAE,KAAK,CAPA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAvFpB,kBAAI,EAuBK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CA5ChB,OAAO;IAoHf,UAAU,EAAE,gBAAgB,GIhDvB;EAxDP,AJ6IE,eI7Ia,AAoDb,IAAM,CAAA,AAAA,WAAW,EACf,eAAe,AAAA,SAAU,CAAA,AAAA,OAAO,EAAE,AAAA,MAAM,EAAE,AAAA,MAAM,EJwFlD,oBAAoB,CAAC;IACnB,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,QAAQ,GACpB;;AIhFH,AAAA,eAAe,CAAC;EACd,OAAO,EAAE,CAAC,CAzEO,IAAgB;EA0EjC,OAAO,EAAE,YAAY,GA4JtB;EA9JD,AAKE,eALa,CAKb,eAAe,CAAC;IACd,QAAQ,EAAE,QAAQ,GAanB;IAnBH,AAQM,eARS,CAKb,eAAe,GAGX,CAAC,CAAC;MACF,KAAK,EAAE,OAAO;MACd,OAAO,EAAE,KAAK;MACd,OAAO,EAAE,IAAI,GAOd;MAlBL,AAcQ,eAdO,CAKb,eAAe,GAGX,CAAC,AAKD,SAAW,CAAA,AAAA,OAAO,EAAE,AAAA,MAAM,EACxB,KAAK,CAAC;QJyBZ,UAAU,EAAE,KAAK,CAPA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAvFpB,kBAAI,EAuBK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CA5ChB,OAAO;QAoHf,UAAU,EAAE,gBAAgB,GIxBrB;EAhBT,AJiDE,eIjDa,CJiDb,oBAAoB,CAAC;IACnB,eAAe,EAAE,WAAW;IAC5B,gBAAgB,EAxEZ,IAAI;IAyER,gBAAgB,EAAE,4CAA4C;IAC9D,mBAAmB,EAAE,GAAG;IACxB,MAAM,EA/FO,GAAG,CAAC,KAAK,CAlChB,OAAO;IAkIb,aAAa,EAAE,IAAI;IACnB,UAAU,EAnCkB,CAAC,CAAC,GAAG,CA7F3B,qBAAO;IAiIb,MAAM,EAAE,OAAO;IACf,IAAI,EAlIE,qBAAO;IAmIb,MAAM,EAvCiB,IAAI;IAwC3B,iBAAiB,EAAI,OAA6B;IAClD,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,QAAQ;IAClB,GAAG,EAAI,OAA6B;IACpC,SAAS,EAAE,WAAW;IACtB,mBAAmB,EAAE,KAAK;IAC1B,mBAAmB,EAAE,kBAAkB;IACvC,KAAK,EA/CkB,IAAI,GAqD5B;IIzEH,AJiDE,eIjDa,CJiDb,oBAAoB,AAoBnB,SAAY,CAAA,AAAA,OAAO,EAAE,AAAA,MAAM,EAAE;MAC1B,OAAO,EAAE,CAAC;MACV,SAAS,EAAE,QAAQ,GACpB;EIxEL,AAuBE,eAvBa,CAuBb,KAAK,CAAC;IACJ,aAAa,EAxGS,GAAG;IAyGzB,UAAU,EAAE,KAAK,CJOF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAvFpB,kBAAI,EAwBO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAzCpB,qBAAO;IIkGb,MAAM,EJxCE,IAAI;IIyCZ,QAAQ,EAAE,QAAQ;IAClB,KAAK,EJ1CG,IAAI;II6CZ,WAAW,EAAE,MAAM;IACnB,KAAK,EJ1GC,OAAO;II2Gb,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,eAAe,EAAE,MAAM;IACvB,cAAc,EAAE,SAAS,GAK1B;IA1CH,AAuBE,eAvBa,CAuBb,KAAK,AAgBH,QAAS,CAAC;MACR,OAAO,EAAE,mBAAmB,GAC7B;EAzCL,AA4CE,eA5Ca,CA4Cb,WAAW,CAAC;IACV,gBAAgB,EJlEZ,IAAI;IImER,mBAAmB,EAAE,QAAQ;IAC7B,eAAe,EA5HD,KAAK;IA6HnB,aAAa,EAhIS,GAAG;IAiIzB,UAAU,EAAE,KAAK,CJjBF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAvFpB,kBAAI;IIyGR,MAAM,EAAE,IAAI;IACZ,IAAI,EAAE,CAAC;IACP,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,QAAQ;IAClB,GAAG,EAAE,CAAC;IACN,UAAU,EAAE,UAAU;IACtB,KAAK,EAAE,IAAI,GAKZ;IA7DH,AA4CE,eA5Ca,CA4Cb,WAAW,AAcT,OAAQ,CAAC;MACP,OAAO,EAAE,CAAC,GACX;EA5DL,AAgEE,eAhEa,CAgEb,cAAc,CAAC;IACb,gBAAgB,EJ/IV,OAAO;IIgJb,mBAAmB,EAAE,aAAa;IAClC,iBAAiB,EAAE,SAAS;IAC5B,aAAa,EApJS,GAAG;IAqJzB,UAAU,EAAE,KAAK,CJrCF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAvFpB,kBAAI;II6HR,QAAQ,EAAE,QAAQ,GACnB;EAvEH,AAyEE,eAzEa,CAyEb,UAAU,CAAC;IACT,eAAe,EAtJF,IAAI;IAuJjB,MAAM,EAAE,IAAI;IACZ,mBAAmB,EAAE,CAAC;IACtB,GAAG,EAAE,CAAC;IACN,KAAK,EAAE,IAAI,GACZ;EA/EH,AAiFE,eAjFa,CAiFb,aAAa,CAAC;IACZ,eAAe,EA5JC,IAAI;IA6JpB,MAAM,EA5JY,IAAG;IA6JrB,MAAM,EA/JkB,IAAI;IAgK5B,iBAAiB,EA9JC,IAAG;IA+JrB,KAAK,EAjKmB,IAAI;IAoK5B,WAAW,EAAE,MAAM;IACnB,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,IAAI;IACf,eAAe,EAAE,MAAM,GAKxB;IAjGH,AAiFE,eAjFa,CAiFb,aAAa,CAaX,AAAA,aAAE,AAAA,CAAc,QAAQ,CAAC;MACvB,OAAO,EAAE,mBAAmB,GAC7B;EAhGL,AAmGE,eAnGa,CAmGb,MAAM,CAAC;IACL,IAAI,EAAE,WAAW;IACjB,MAAM,EApLe,IAAI;IAqLzB,WAAW,EArLU,IAAI;IAsLzB,UAAU,EAAE,MAAM;IAClB,KAAK,EJtHG,IAAI;IIuHZ,QAAQ,EAAE,QAAQ,GAsBnB;IA/HH,AA2GI,eA3GW,CAmGb,MAAM,CAQJ,KAAK,CAAC;MACJ,IAAI,EJxLA,OAAO;MIyLX,mBAAmB,EAAE,CAAC;MACtB,QAAQ,EAAE,QAAQ;MAClB,GAAG,EAAE,IAAI,GACV;IAhHL,AAkHI,eAlHW,CAmGb,MAAM,CAeJ,IAAI,CAAC;MACH,MAAM,EAlMa,IAAI;MAmMvB,OAAO,EAAE,KAAK;MACd,QAAQ,EAAE,MAAM;MAChB,aAAa,EAAE,QAAQ;MACvB,WAAW,EAAE,MAAM,GACpB;IAxHL,AA2HM,eA3HS,CAmGb,MAAM,AAuBJ,OAAQ,CACN,IAAI,CAAC;MACH,OAAO,EAAE,MAAM,GAChB;EA7HP,AAiIE,eAjIa,CAiIb,YAAY,CAAC;IACX,gBAAgB,EAAE,+CAAsC,GACzD;EAnIH,AAsII,eAtIW,AAqIb,YAAa,CACX,KAAK,CAAC;IACJ,UAAU,EAAE,KAAK,CJvGJ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAvFpB,kBAAI,GI+LP;EAxIL,AA0II,eA1IW,AAqIb,YAAa,CAKX,WAAW,CAAC;IACV,OAAO,EAAE,IAAI,GACd;EA5IL,AAgJI,eAhJW,AA+Ib,QAAS,CACP,KAAK,CAAC;IACJ,UAAU,EJ9NN,OAAO;II+NX,UAAU,EAAE,IAAI,GAMjB;IAxJL,AAoJM,eApJS,AA+Ib,QAAS,CACP,KAAK,CAIH,CAAC,EApJP,AAgJI,eAhJW,AA+Ib,QAAS,CACP,KAAK,AAKH,QAAS,CAAC;MACR,OAAO,EAAE,IAAI,GACd;EAvJP,AA0JI,eA1JW,AA+Ib,QAAS,CAWP,MAAM,CAAC;IACL,UAAU,EAAE,MAAM,GACnB;;AAKL,AAEI,qBAFiB,CACnB,eAAe,CACb,gBAAgB,CAAC;EACf,OAAO,EAAE,IAAI,GACd;;AAOD,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,SAAS,EAAE,MAAM;EAHrD,AJ5EE,oBI4EkB,CAClB,eAAe,CAGX,UAAW,CAAA,EAAE,EJhFjB,aAAa,CAAC;IACZ,iBAAiB,EAAE,GAAG;IACtB,mBAAmB,EAAE,IAAI;IACzB,iBAAiB,EAAE,CAAC;IACpB,mBAAmB,EAAE,IAAI,GAC1B;;AIgFC,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,SAAS,EAAE,MAAM;EATrD,AJ5EE,oBI4EkB,CAClB,eAAe,CASX,UAAW,CAAA,IAAI,EJtFnB,aAAa,CAAC;IACZ,iBAAiB,EAAE,GAAG;IACtB,mBAAmB,EAAE,IAAI;IACzB,iBAAiB,EAAE,CAAC;IACpB,mBAAmB,EAAE,IAAI,GAC1B;;AIsFC,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,MAAM;EAfzC,AAgBM,oBAhBc,CAClB,eAAe,CAeX,gBAAgB,CAAC;IACf,OAAO,EAAE,IAAI,GACd;;AAKP,AACE,sBADoB,CACpB,MAAM,CAAC;EACL,UAAU,EJjOK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAzCpB,qBAAO;EI2Qb,IAAI,EAAE,CAAC;EACP,MAAM,EAAE,MAAM;EACd,QAAQ,EAAE,KAAK;EACf,KAAK,EAAE,CAAC;EACR,GAAG,EAAE,IAAI;EACT,KAAK,EJhNe,KAAmE,GI6NxF;EAXC,MAAM,EAAE,SAAS,EAAE,KAAK;IAV5B,AACE,sBADoB,CACpB,MAAM,CAAC;MAUH,KAAK,EJlNe,KAAmE,GI4N1F;EAPC,MAAM,EAAE,SAAS,EAAE,KAAK;IAd5B,AACE,sBADoB,CACpB,MAAM,CAAC;MAcH,KAAK,EJrNgB,KAAmE,GI2N3F;EAHC,MAAM,EAAE,SAAS,EAAE,KAAK;IAlB5B,AACE,sBADoB,CACpB,MAAM,CAAC;MAkBH,KAAK,EJxNe,KAAmE,GI0N1F;;AAGH,AAIE,aAJW,CAIX,qBAAqB,CAAC;EACpB,SAAS,EAAE,KAAiD;EAC5D,MAAM,EAAE,MAAM;EACd,OAAO,EALM,IAAI,CAAJ,IAAI,CAKoB,IAAI,GAc1C;EArBH,AASI,aATS,CAIX,qBAAqB,CAKnB,eAAe,CAAC;IACd,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,QAAQ;IAChB,mBAAmB,EAVR,IAAI;IAWf,cAAc,EAAE,IAAI,GACrB;EAdL,AAgBI,aAhBS,CAIX,qBAAqB,CAYnB,cAAc,CAAC;IACb,cAAc,EAAE,IAAI;IACpB,SAAS,EAAE,IAAI;IACf,MAAM,EAAE,QAAQ,GACjB;;AApBL,AAuBE,aAvBW,CAuBX,mBAAmB,CAAC;EAClB,OAAO,EAAE,IAAI,GACd;;AAzBH,AA2BE,aA3BW,CA2BX,KAAK,CAAC;EACJ,SAAS,EJ9Oa,IAAI,GI+O3B;;AA7BH,AA+BE,aA/BW,CA+BX,aAAa,CAAC;EACZ,KAAK,EAAE,IAAI,GA8EZ;EA9GH,AAkCI,aAlCS,CA+BX,aAAa,CAGX,MAAM,CAAC;IACL,QAAQ,EAAE,QAAQ,GAgBnB;IAnDL,AAqCM,aArCO,CA+BX,aAAa,CAGX,MAAM,CAGJ,iBAAiB,CAAC;MAChB,QAAQ,EAAE,QAAQ;MAClB,SAAS,EAAE,gBAAgB;MAC3B,GAAG,EAAE,GAAG;MACR,iBAAiB,EAAE,GAAG,GASvB;MAlDP,AA2CY,aA3CC,CA+BX,aAAa,CAGX,MAAM,CAGJ,iBAAiB,GAMX,KAAK,AAAA,IAAK,CAAA,AAAA,GAAG,EAAE;QACjB,aAAa,EAAE,IAAI,GACpB;MA7CT,AA+CY,aA/CC,CA+BX,aAAa,CAGX,MAAM,CAGJ,iBAAiB,GAUX,KAAK,AAAA,IAAK,CAAA,AAAA,GAAG,EAAE;QACjB,YAAY,EAAE,IAAI,GACnB;EAjDT,AAqDS,aArDI,CA+BX,aAAa,CAsBX,IAAI,CAAC,KAAK,AAAA,IAAK,CAAA,AAAA,kBAAkB,CAAC,IAAK,CAAA,AAAA,GAAG,EAAE;IAC1C,SAAS,EAAE,GAAG;IACd,UAAU,EAAE,KAAK,GAClB;EAxDL,AA0DI,aA1DS,CA+BX,aAAa,CA2BX,KAAK,CACH,AAAA,IAAE,CAAK,MAAM,AAAX,EAAa;IACb,MAAM,EJ/SC,KAAK,CAAC,GAAG,CA7Cd,qBAAO;II6VT,aAAa,EAAE,GAAG;IAClB,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,IAAI;IACZ,KAAK,EAAE,IAAI,GAMZ;IAvEP,AA0DI,aA1DS,CA+BX,aAAa,CA2BX,KAAK,CACH,AAAA,IAAE,CAAK,MAAM,AAAX,CAQA,MAAO,CAAC;MACN,MAAM,EJtTM,KAAK,CAAC,GAAG,CAtDrB,OAAO;MI6WP,UAAU,EJpTI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAzDvB,wBAAO,GI8WR;EAtET,AA2EM,aA3EO,CA+BX,aAAa,CA2CX,QAAQ,CACN,KAAK,CACH,AAAA,IAAE,CAAK,MAAM,AAAX,EAAa;IACb,MAAM,EJ9TK,KAAK,CAAC,GAAG,CA7CrB,OAAO;II4WN,UAAU,EJ9TI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CA9CxB,sBAAO,GI6WP;EA/ET,AAmFI,aAnFS,CA+BX,aAAa,CAoDX,cAAc,CAAC;IACb,SAAS,EAAE,gBAAgB;IAC3B,UAAU,EJnXP,OAAO;IIoXV,aAAa,EAAE,GAAG;IAClB,KAAK,EJpUH,IAAI;IIqUN,mBAAmB,EAAE,GAAG;IACxB,OAAO,EAAE,QAAQ;IACjB,QAAQ,EAAE,QAAQ;IAClB,GAAG,EAAE,IAAI;IACT,OAAO,EAAE,CAAC,GAiBX;IA7GL,AAmFI,aAnFS,CA+BX,aAAa,CAoDX,cAAc,AAYZ,QAAS,CAAC;MACR,UAAU,EJ9XT,OAAO;MI+XR,MAAM,EAAE,IAAI;MACZ,OAAO,EAAE,GAAG;MACZ,MAAM,EAAE,IAAI;MACZ,mBAAmB,EAAE,IAAI;MACzB,QAAQ,EAAE,QAAQ;MAClB,WAAW,EAAE,MAAM;MACnB,GAAG,EAAE,IAAI;MACT,SAAS,EAAE,aAAa;MACxB,WAAW,EAAE,MAAM;MACnB,KAAK,EAAE,IAAI;MACX,OAAO,EAAE,EAAE,GACZ;;AA5GP,AAgHE,aAhHW,CAgHX,QAAQ,CAAC;EACP,eAAe,EAAE,QAAQ,GAM1B;EAvHH,AAmHI,aAnHS,CAgHX,QAAQ,CAGN,MAAM,CAAC;IACL,mBAAmB,EAAE,IAAI;IACzB,iBAAiB,EAAE,CAAC,GACrB;;AAGH,MAAM,EAAE,SAAS,EAAE,KAAK;EAzH1B,AA0HI,aA1HS,CA0HT,mBAAmB,CAAC;IAClB,cAAc,EAAE,MAAM,GAKvB;IAhIL,AA6HM,aA7HO,CA0HT,mBAAmB,CAGjB,eAAe,CAAC;MACd,mBAAmB,EAAE,CAAC,GACvB;;AAMP,UAAU,CAAV,UAAU;EACR,AAAA,EAAE;IACA,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,gBAAgB;EAG7B,AAAA,IAAI;IACF,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,aAAa;;ACtb5B,AACE,cADY,CACZ,aAAa,CAAC;EACZ,OAAO,EAAE,IAAI;EACb,QAAQ,EL4DE,IAAI;EK3Dd,qBAAqB,EAAE,uBAA6B;EACpD,MAAM,EAAE,CAAC,GAiBV;EAfC,MAAM,EAAE,SAAS,EAAE,KAAK;IAP5B,AL8KE,cK9KY,CACZ,aAAa,CL6Kb,aAAa,CAAC;MACZ,iBAAiB,EAAE,GAAG;MACtB,mBAAmB,EAAE,IAAI;MACzB,iBAAiB,EAAE,CAAC;MACpB,mBAAmB,EAAE,IAAI,GAC1B;EKxKC,MAAM,EAAE,SAAS,EAAE,KAAK,OAAO,SAAS,EAAE,KAAK;IAXnD,AL8KE,cK9KY,CACZ,aAAa,CAWT,UAAW,CAAA,EAAE,ELkKjB,aAAa,CAAC;MACZ,iBAAiB,EAAE,GAAG;MACtB,mBAAmB,EAAE,IAAI;MACzB,iBAAiB,EAAE,CAAC;MACpB,mBAAmB,EAAE,IAAI,GAC1B;EKlKC,MAAM,EAAE,SAAS,EAAE,KAAK,OAAO,SAAS,EAAE,MAAM;IAjBpD,AL8KE,cK9KY,CACZ,aAAa,CAiBT,UAAW,CAAA,EAAE,EL4JjB,aAAa,CAAC;MACZ,iBAAiB,EAAE,GAAG;MACtB,mBAAmB,EAAE,IAAI;MACzB,iBAAiB,EAAE,CAAC;MACpB,mBAAmB,EAAE,IAAI,GAC1B;;AKnLH,AAwBE,cAxBY,CAwBZ,oBAAoB,CAAC;EACnB,MAAM,ELgBS,GAAG,CAAC,KAAK,CApClB,OAAO;EKqBb,aAAa,ELmCD,GAAG;EKlCf,OAAO,EAAE,IAAI;EACb,MAAM,EL8DI,KAAK;EK7Df,KAAK,EAAE,IAAI,GAyBZ;EAtDH,AA+BI,cA/BU,CAwBZ,oBAAoB,CAOlB,YAAY,CAAC;IACX,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,KAAK,GAoBjB;IArDL,AAmCM,cAnCQ,CAwBZ,oBAAoB,CAOlB,YAAY,CAIV,iBAAiB,CAAC;MAChB,mBAAmB,EAAE,MAAM;MAC3B,iBAAiB,EAAE,SAAS;MAC5B,eAAe,EAAE,SAAS;MAC1B,uBAAuB,EAAE,IAAI;MAC7B,OAAO,EAAE,KAAK;MACd,IAAI,ELhCF,qBAAO;MKiCT,MAAM,EAAE,IAAI;MACZ,MAAM,EAAE,MAAM;MACd,KAAK,EAAE,IAAI,GACZ;IA7CP,AA+CM,cA/CQ,CAwBZ,oBAAoB,CAOlB,YAAY,CAgBV,oBAAoB,CAAC;MACnB,KAAK,ELzCH,OAAO;MK0CT,SAAS,EAAE,IAAI;MACf,aAAa,EAAE,CAAC;MAChB,UAAU,EAAE,MAAM,GACnB;;AAQD,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,SAAS,EAAE,MAAM;EAHvD,ALqHE,oBKrHkB,CAClB,cAAc,CACZ,aAAa,CAET,UAAW,CAAA,EAAE,ELiHnB,aAAa,CAAC;IACZ,iBAAiB,EAAE,GAAG;IACtB,mBAAmB,EAAE,IAAI;IACzB,iBAAiB,EAAE,CAAC;IACpB,mBAAmB,EAAE,IAAI,GAC1B;;AKjHG,MAAM,EAAE,SAAS,EAAE,MAAM;EAT/B,AAEI,oBAFgB,CAClB,cAAc,CACZ,aAAa,CAAC;IAQV,qBAAqB,EAAE,uBAAmC,GAE7D;;AAZL,AAeE,oBAfkB,CAelB,oBAAoB,CAAC;EACnB,MAAM,ELuBU,KAAK,GKtBtB;;AC1EH,AAAA,MAAM,CAAC;EACL,KAAK,ENMG,OAAO;EMLf,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,GAAG;EAChB,UAAU,EN+FO,IAAI,GMzBtB;EApEC,MAAM,EAAE,SAAS,EAAE,KAAK;IAN1B,AAAA,MAAM,CAAC;MAOH,WAAW,EAAE,IAAI,GAmEpB;EA1ED,AAUE,MAVI,CAUJ,EAAE,CAAC;IACD,MAAM,EAAE,CAAC;IACT,OAAO,EAAE,CAAC,GAKX;IAJC,MAAM,EAAE,SAAS,EAAE,KAAK;MAb5B,AAUE,MAVI,CAUJ,EAAE,CAAC;QAIC,OAAO,EAAE,MAAM;QACf,oBAAoB,EAAE,IAAI,GAE7B;EAjBH,AAoBK,MApBC,CAoBJ,EAAE,CAAC,EAAE,CAAC;IACJ,OAAO,EAAE,YAAY,GAUtB;IA/BH,AAoBK,MApBC,CAoBJ,EAAE,CAAC,EAAE,AAGH,OAAQ,CAAC;MACP,OAAO,EAAE,KAAK;MACd,OAAO,EAAE,GAAG,GACb;IA1BL,AAoBK,MApBC,CAoBJ,EAAE,CAAC,EAAE,AAQH,WAAY,AAAA,OAAO,CAAC;MAClB,OAAO,EAAE,IAAI,GACd;EA9BL,AAiCE,MAjCI,CAiCJ,WAAW,CAAC;IACV,KAAK,ENxBC,OAAO,GMyBd;EAnCH,AAqCE,MArCI,CAqCJ,gBAAgB,CAAC;IACf,KAAK,EN5BC,OAAO,GMuDd;IAzBC,MAAM,EAAE,SAAS,EAAE,KAAK;MAxC5B,AAqCE,MArCI,CAqCJ,gBAAgB,CAAC;QAMb,KAAK,EAAE,KAAK,GAsBf;QAjEH,AAqCE,MArCI,CAqCJ,gBAAgB,AAQZ,IAAM,CAAA,AAAA,GAAG,EAAE;UACT,KAAK,EAAE,IAAI,GACZ;IA/CP,AAqCE,MArCI,CAqCJ,gBAAgB,AAad,OAAQ,CAAC;MACP,UAAU,EAAE,oDAA2C,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM;MAC/E,OAAO,EAAE,EAAE;MACX,uBAAuB,EAAE,IAAI;MAC7B,OAAO,EAAE,YAAY;MACrB,IAAI,EN7CA,OAAO;MM8CX,MAAM,EAAE,IAAI;MACZ,mBAAmB,EAAE,GAAG;MACxB,cAAc,EAAE,GAAG;MACnB,KAAK,EAAE,IAAI,GACZ;IA5DL,AAqCE,MArCI,CAqCJ,gBAAgB,AAyBd,IAAM,CAAA,AAAA,GAAG,CAAC,OAAO,CAAE;MACjB,SAAS,EAAE,UAAU,GACtB;EAhEL,AAqEE,MArEI,AAqEJ,OAAQ,CAAC;IACP,KAAK,EAAE,IAAI;IACX,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,KAAK,GACf;;ACzEH,AAAA,eAAe,CAAC;EAad,MAAM,EAAE,OAAO;EACf,OAAO,EAAE,IAAI;EACb,MAAM,EAZU,IAAI;EAgBpB,MAAM,EAAE,GAAG,CAAC,GAAG,CP+CC,IAAoC;EO9CpD,QAAQ,EAAE,QAAQ;EAClB,KAAK,EAAE,IAAI,GAgEZ;EArFD,AAuBE,eAvBa,CAuBb,KAAK,CAAC;IACJ,MAAM,EAAE,CAAC;IACT,aAAa,EAxBQ,GAAG;IAyBxB,UAAU,EPwBK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAzCpB,qBAAO,EOiBkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CPApC,mBAAI;IOCR,SAAS,EAAE,IAAI;IACf,OAAO,EAAE,CAAC;IACV,kBAAkB,EAxBE,IAAI;IAyBxB,oBAAoB,EA1BU,IAAI;IA2BlC,KAAK,EAAE,IAAI,GACZ;EAhCH,AAkCU,eAlCK,AAkCb,MAAO,CAAC,KAAK,CAAC;IACZ,UAAU,EPeK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAzCpB,qBAAO,EO0BkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CPTpC,mBAAI,GOUT;EApCH,AAsCW,eAtCI,AAsCb,OAAQ,CAAC,KAAK;EAtChB,AAuCE,eAvCa,CAuCb,KAAK,AAAA,MAAM,CAAC;IACV,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CVnCW,GAAG,CGJzB,OAAO,GOwCd;EAzCH,AA2CE,eA3Ca,CA2Cb,aAAa,CAAC;IACZ,UAAU,EAtCS,6CAA6C,CAsChC,SAAS,CAjCd,IAAI,CAiCuC,WAA2B;IACjG,uBAAuB,EAAE,IAAI;IAC7B,IAAI,EPrCE,qBAAO;IOsCb,MAAM,EAAE,IAAI;IACZ,mBAAmB,EAAE,CAAC;IACtB,QAAQ,EAAE,QAAQ;IAClB,KAAK,EA9CyB,IAAI,GA+CnC;EAnDH,AAqDE,eArDa,CAqDb,cAAc,CAAC;IACb,UAAU,EA/CI,wCAAwC,CA+C3B,SAAS,CAAC,MAAM,CAAC,MAAM;IAClD,eAAe,EAAE,SAAS;IAC1B,MAAM,EAAE,CAAC;IACT,aAAa,EAAE,CAAC,CPIJ,GAAG,CAAH,GAAG,COJgC,CAAC;IAChD,uBAAuB,EAAE,IAAI;IAC7B,IAAI,EPlDE,qBAAO;IOmDb,MAAM,EAAE,IAAI;IACZ,iBAAiB,EAAE,CAAC;IACpB,QAAQ,EAAE,QAAQ;IAClB,KAAK,EA1De,IAAI,GAyEzB;IA9EH,AAqDE,eArDa,CAqDb,cAAc,AAYZ,MAAO,EAjEX,AAqDE,eArDa,CAqDb,cAAc,AAaZ,MAAO,CAAC;MACN,gBAAgB,EP1DZ,qBAAO;MO2DX,MAAM,EAAE,OAAO,GAChB;IArEL,AAqDE,eArDa,CAqDb,cAAc,AAkBZ,OAAQ,CAAC;MACP,gBAAgB,EP/DZ,qBAAO,GOgEZ;IAzEL,AAqDE,eArDa,CAqDb,cAAc,AAsBZ,IAAM,CAAA,AAAA,GAAG,EAAE;MACT,SAAS,EAAE,UAAU,GACtB;EA7EL,AAiFE,eAjFa,CAiFb,6BAA6B,CAAC;IAC5B,MAAM,EAAE,CAAC;IACT,SAAS,EAAE,eAAe,GAC3B;;ACpFH,AAAA,aAAa,CAAC;EACZ,UAAU,EREF,OAAO;EQDf,aAAa,ERwGc,GAAG;EQvG9B,UAAU,ERqGU,CAAC,CAAC,GAAG,CAAC,IAAI,CA9ExB,kBAAI,EA8EgC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CA9E7C,kBAAI;EQtBV,OAAO,EAAE,KAAK;EACd,SAAS,ERoGc,IAAI;EQnG3B,mBAAmB,EAAE,GAAG;EACxB,mBAAmB,EAAE,IAAI;EACzB,QAAQ,EAAE,QAAQ;EAClB,GAAG,EAAE,MAA+B;EACpC,OAAO,EAAE,KAAK,GAkDf;EA5DD,AAYI,aAZS,GAYT,EAAE,CAAC;IACH,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,CAAC;IACT,OAAO,ER4FkB,GAAG,CQ5FS,CAAC,GA4CvC;IA3DH,AAiBM,aAjBO,GAYT,EAAE,GAKA,EAAE,CAAC;MACH,MAAM,EAAE,CAAC;MACT,KAAK,EAAE,IAAI,GAuCZ;MA1DL,AAiBM,aAjBO,GAYT,EAAE,GAKA,EAAE,AAIF,UAAW,CAAC;QACV,aAAa,EAAE,GAAG,CAAC,KAAK,CRIxB,kBAAI;QQHJ,MAAM,ERoFe,GAAG,CQpFY,CAAC,GACtC;MAxBP,AA0BQ,aA1BK,GAYT,EAAE,GAKA,EAAE,GASA,CAAC,CAAC;QACF,WAAW,EAAE,MAAM;QACnB,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,OAAO;QACf,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,IAAI;QACb,OAAO,ER2Ea,GAAG,CAAC,IAAI;QQ1E5B,WAAW,EAAE,MAAM,GAuBpB;QAzDP,AA0BQ,aA1BK,GAYT,EAAE,GAKA,EAAE,GASA,CAAC,AAUD,SAAW,CAAA,AAAA,MAAM,EAAE,AAAA,MAAM,EAAE;UACzB,UAAU,ERnCV,OAAO;UQoCP,KAAK,ERsBP,IAAI,GQTH;UAnDT,AAwCU,aAxCG,GAYT,EAAE,GAKA,EAAE,GASA,CAAC,AAUD,SAAW,CAAA,AAAA,MAAM,EAAE,AAAA,MAAM,EAIvB,CAAC,CAAC;YACA,KAAK,ERhCP,OAAO,GQiCN;UA1CX,AA4CU,aA5CG,GAYT,EAAE,GAKA,EAAE,GASA,CAAC,AAUD,SAAW,CAAA,AAAA,MAAM,EAAE,AAAA,MAAM,EAQvB,KAAK,CAAC;YACJ,IAAI,EReR,IAAI,GQdD;UA9CX,AA0BQ,aA1BK,GAYT,EAAE,GAKA,EAAE,GASA,CAAC,AAUD,SAAW,CAAA,AAAA,MAAM,EAAE,AAAA,MAAM,CAYvB,SAAW,CAAA,AAAA,MAAM,EAAE,AAAA,MAAM,EAAE;YACzB,KAAK,ERWT,IAAI,GQVD;QAlDX,AA0BQ,aA1BK,GAYT,EAAE,GAKA,EAAE,GASA,CAAC,AA2BD,SAAU,CAAC;UACT,OAAO,EAAE,GAAG;UACZ,cAAc,EAAE,IAAI,GACrB;;ACxDT,AACE,oBADkB,CAClB,MAAM,CAAC;EACL,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CTwBnB,kBAAI;ESvBR,IAAI,EAAE,GAAG;EACT,WAAW,EAAE,MAAM;EACnB,QAAQ,EAAE,KAAK;EACf,GAAG,EAAE,GAAG;EACR,KAAK,EAAE,KAAK,GACb;;AARH,AAUE,oBAVkB,CAUlB,OAAO,CAAC;EACN,MAAM,EAAE,CAAC,GACV;;AAZH,AAcE,oBAdkB,CAclB,cAAc,CAAC;EACb,OAAO,EAAE,IAAI;EACb,OAAO,EAAE,IAAI;EACb,cAAc,EAAE,CAAC,GAMlB;EAvBH,AAmBI,oBAnBgB,CAclB,cAAc,CAKZ,CAAC,CAAC;IACA,MAAM,EAAE,CAAC;IACT,aAAa,EAAE,IAAI,GACpB;;AAtBL,AAyBE,oBAzBkB,CAyBlB,QAAQ,CAAC;EACP,MAAM,EAAE,CAAC;EACT,OAAO,EAAE,IAAI;EACb,SAAS,EAAE,MAAM;EACjB,OAAO,EAAE,MAAM,GAchB;EA3CH,AA+BI,oBA/BgB,CAyBlB,QAAQ,CAMN,MAAM,CAAC;IACL,iBAAiB,EAAE,IAAI;IACvB,kBAAkB,EAAE,IAAI;IACxB,oBAAoB,EAAE,IAAI;IAC1B,WAAW,EAAE,MAAM;IACnB,KAAK,EAAE,GAAG,GAMX;IA1CL,AA+BI,oBA/BgB,CAyBlB,QAAQ,CAMN,MAAM,AAOJ,KAAM,CAAC;MACL,iBAAiB,EAAE,CAAC;MACpB,mBAAmB,EAAE,CAAC,GACvB;;AAzCP,AA6CE,oBA7CkB,CA6ClB,KAAK,CAAC;EACJ,iBAAiB,EAAE,IAAI,GACxB;;AAGH,AAAA,cAAc,CAAC;EACb,UAAU,ET/CF,OAAO;ESgDf,MAAM,EAAE,IAAI;EACZ,IAAI,EAAE,CAAC;EACP,OAAO,EAAE,GAAG;EACZ,QAAQ,EAAE,KAAK;EACf,GAAG,EAAE,CAAC;EACN,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,KAAK,GACf;;AAED,AAAA,MAAM,CAAC;EACL,UAAU,ETFJ,IAAI;ESGV,MAAM,ETtBW,GAAG,CAAC,KAAK,CApClB,OAAO;ES2Df,aAAa,EAAE,GAAG;EAClB,SAAS,EAAE,IAAI;EACf,OAAO,EAAE,KAAK,GACf;;ACnED,AAAA,WAAW,CAAC;EAEV,UAAU,EV0DJ,IAAI;EUzDV,aAAa,EV0DC,GAAG;EUzDjB,OAAO,EAAE,YAAY;EACrB,MAAM,EVqFM,KAAK;EUpFjB,iBAAiB,EVyDL,IAAI;EUxDhB,QAAQ,EAAE,QAAQ;EAClB,KAAK,EAAE,IAAI,GAkKZ;EA1KD,AVkIE,WUlIS,CVkIT,oBAAoB,CAAC;IACnB,eAAe,EAAE,WAAW;IAC5B,gBAAgB,EAxEZ,IAAI;IAyER,gBAAgB,EAAE,4CAA4C;IAC9D,mBAAmB,EAAE,GAAG;IACxB,MAAM,EA/FO,GAAG,CAAC,KAAK,CAlChB,OAAO;IAkIb,aAAa,EAAE,IAAI;IACnB,UAAU,EAnCkB,CAAC,CAAC,GAAG,CA7F3B,qBAAO;IAiIb,MAAM,EAAE,OAAO;IACf,IAAI,EAlIE,qBAAO;IAmIb,MAAM,EAvCiB,IAAI;IAwC3B,iBAAiB,EAAI,OAA6B;IAClD,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,QAAQ;IAClB,GAAG,EAAI,OAA6B;IACpC,SAAS,EAAE,WAAW;IACtB,mBAAmB,EAAE,KAAK;IAC1B,mBAAmB,EAAE,kBAAkB;IACvC,KAAK,EA/CkB,IAAI,GAqD5B;IU1JH,AVkIE,WUlIS,CVkIT,oBAAoB,AAoBnB,SAAY,CAAA,AAAA,OAAO,EAAE,AAAA,MAAM,EAAE;MAC1B,OAAO,EAAE,CAAC;MACV,SAAS,EAAE,QAAQ,GACpB;EUzJL,AAUE,WAVS,AAUT,YAAa,CAAC;IACZ,UAAU,EAAE,WAAW,GAKxB;IAhBH,AAaI,WAbO,AAUT,YAAa,CAGX,KAAK,CAAC;MACJ,UAAU,EAAE,KAAK,CVmGJ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAvFpB,kBAAI,GUXP;EAfL,AAkBE,WAlBS,CAkBT,KAAK,CAAC;IACJ,aAAa,EV0CD,GAAG;IUzCf,UAAU,EV8BK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAzCpB,qBAAO;IUYb,MAAM,EAAE,IAAI,GACb;EAtBH,AAwBI,WAxBO,GAwBP,CAAC,CAAC;IACF,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,IAAI;IACZ,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,QAAQ;IAClB,KAAK,EAAE,IAAI,GAWZ;IAzCH,AAiCM,WAjCK,GAwBP,CAAC,AAQD,SAAW,CAAA,AAAA,OAAO,EAAE,AAAA,MAAM,EACxB,KAAK,CAAC;MV4FV,UAAU,EA5EK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CA5ChB,OAAO;MAyHf,UAAU,EAAE,gBAAgB,GU3FvB;IAnCP,AAqCM,WArCK,GAwBP,CAAC,AAQD,SAAW,CAAA,AAAA,OAAO,EAAE,AAAA,MAAM,EAKxB,WAAW,CAAC;MACV,KAAK,EVpCH,OAAO,GUqCV;EAvCP,AA2CE,WA3CS,AA2CT,SAAW,CAAA,AAAA,MAAM,EAAE,AAAA,MAAM,EAAE,AAAA,OAAO,CAAC,IAAK,CAAA,AAAA,YAAY,EAAE;IVkFtD,UAAU,EA5EK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CA5ChB,OAAO;IAyHf,UAAU,EAAE,gBAAgB;IUhF1B,OAAO,EAAE,IAAI,GAKd;IAnDH,AV8JE,WU9JS,AA2CT,SAAW,CAAA,AAAA,MAAM,EAAE,AAAA,MAAM,EAAE,AAAA,OAAO,CAAC,IAAK,CAAA,AAAA,YAAY,EVmHpD,oBAAoB,CAAC;MACnB,OAAO,EAAE,CAAC;MACV,SAAS,EAAE,QAAQ,GACpB;IUjKH,AAgDI,WAhDO,AA2CT,SAAW,CAAA,AAAA,MAAM,EAAE,AAAA,MAAM,EAAE,AAAA,OAAO,CAAC,IAAK,CAAA,AAAA,YAAY,EAKlD,WAAW,CAAC;MACV,KAAK,EV/CD,OAAO,GUgDZ;EAlDL,AAqDE,WArDS,CAqDT,yBAAyB,CAAC;IACxB,gBAAgB,EVnDV,OAAO;IUoDb,aAAa,EVMD,GAAG,CAAH,GAAG,CUN8B,CAAC,CAAC,CAAC;IAChD,MAAM,EVmCkB,KAAK;IUlC7B,QAAQ,EAAE,MAAM;IAChB,QAAQ,EAAE,QAAQ,GAuBnB;IAjFH,AAqDE,WArDS,CAqDT,yBAAyB,AAOvB,OAAQ,CAAC;MACP,aAAa,EAAE,GAAG,CAAC,KAAK,CVnCtB,mBAAI;MUoCN,MAAM,EAAE,CAAC;MACT,OAAO,EAAE,EAAE;MACX,QAAQ,EAAE,QAAQ;MAClB,KAAK,EAAE,IAAI,GACZ;IAlEL,AAoEI,WApEO,CAqDT,yBAAyB,CAevB,mBAAmB,CAAC;MAClB,mBAAmB,EAAE,MAAM;MAC3B,iBAAiB,EAAE,SAAS;MAC5B,eAAe,EAAE,KAAK;MACtB,MAAM,EAAE,IAAI;MACZ,OAAO,EAAE,CAAC;MACV,UAAU,EAAE,OAAO,CAAC,EAAE,CVvCZ,8BAA8B;MUwCxC,KAAK,EAAE,IAAI,GAKZ;MAhFL,AAoEI,WApEO,CAqDT,yBAAyB,CAevB,mBAAmB,AASjB,OAAQ,CAAC;QACP,OAAO,EAAE,CAAC,GACX;EA/EP,AAmFE,WAnFS,CAmFT,aAAa,CAAC;IACZ,OAAO,EAAE,cAAc,GAKxB;IAzFH,AAmFE,WAnFS,CAmFT,aAAa,AAGX,SAAU,CAAC;MACT,WAAW,EAAE,IAAI,GAClB;EAxFL,AA2FE,WA3FS,CA2FT,UAAU,CAAC;IACT,UAAU,EAAE,IAA+C;IAC3D,QAAQ,EAAE,MAAM,GA4BjB;IAzHH,AA2FE,WA3FS,CA2FT,UAAU,AAIR,SAAU,CAAC;MACT,UAAU,EAAE,KAAgD,GAC7D;IAjGL,AA2FE,WA3FS,CA2FT,UAAU,AAQR,aAAc,EAnGlB,AA2FE,WA3FS,CA2FT,UAAU,AASR,WAAY,CAAC;MACX,UAAU,EAAE,IAA+C,GAC5D;IAtGL,AA2FE,WA3FS,CA2FT,UAAU,AAaR,SAAU,AAAA,aAAa,EAxG3B,AA2FE,WA3FS,CA2FT,UAAU,AAcR,SAAU,AAAA,WAAW,CAAC;MACpB,UAAU,EAAE,KAAgD,GAC7D;IA3GL,AA2FE,WA3FS,CA2FT,UAAU,AAkBR,aAAc,AAAA,WAAW,CAAC;MACxB,UAAU,EAAE,KAA+C,GAC5D;IA/GL,AA2FE,WA3FS,CA2FT,UAAU,AAsBR,SAAU,AAAA,aAAa,AAAA,WAAW,CAAC;MACjC,UAAU,EAAE,KAAgD,GAC7D;IAnHL,AAqH2B,WArHhB,CA2FT,UAAU,AA0BR,IAAM,CAAA,AAAA,eAAe,EAAE,WAAW,CAAC;MACjC,UAAU,EAAE,IAA0B;MACtC,QAAQ,EAAE,MAAM,GACjB;EAxHL,AA2HE,WA3HS,CA2HT,eAAe,CAAC;IACd,KAAK,EVrHC,OAAO;IUsHb,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,MAAM;IAChB,cAAc,EAAE,GAAG;IACnB,aAAa,EAAE,QAAQ;IACvB,cAAc,EAAE,SAAS,GAC1B;EAlIH,AAoIE,WApIS,CAoIT,WAAW,CAAC;IACV,SAAS,EAAE,IAAI;IACf,WAAW,EVzCS,IAAI;IU0CxB,MAAM,EAAE,CAAC,CAAC,CAAC,CV3CK,GAAG;IU4CnB,SAAS,EAAE,UAAU,GACtB;EAzIH,AA2IE,WA3IS,CA2IT,iBAAiB,CAAC;IAChB,SAAS,EAAE,IAAI;IACf,WAAW,EVhDS,IAAI;IUiDxB,MAAM,EAAE,CAAC;IACT,QAAQ,EAAE,MAAM;IAChB,SAAS,EAAE,UAAU,GACtB;EAjJH,AAmJE,WAnJS,CAmJT,aAAa,CAAC;IACZ,MAAM,EAAE,CAAC;IACT,KAAK,EV9IC,OAAO;IU+Ib,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,IAAI;IACf,IAAI,EAAE,CAAC;IACP,OAAO,EAAE,mBAAmB;IAC5B,QAAQ,EAAE,QAAQ;IAClB,KAAK,EAAE,CAAC,GACT;EA5JH,AA8JE,WA9JS,CA8JT,kBAAkB,CAAC;IACjB,IAAI,EVtJE,qBAAO;IUuJb,iBAAiB,EAAE,GAAG,GACvB;EAjKH,AAmKE,WAnKS,CAmKT,mBAAmB,CAAC;IAClB,SAAS,EAAE,CAAC;IACZ,WAAW,EVhGH,IAAI;IUiGZ,QAAQ,EAAE,MAAM;IAChB,aAAa,EAAE,QAAQ;IACvB,WAAW,EAAE,MAAM,GACpB;;AAOC,MAAM,EAAE,SAAS,EAAE,MAAM;EAJ7B,AAGE,oBAHkB,CAGlB,WAAW,CAAC;IAER,MAAM,EVjFQ,KAAK,GU0HtB;IA9CH,AAOM,oBAPc,CAGlB,WAAW,CAIP,yBAAyB,CAAC;MACxB,MAAM,EVnFoB,KAAK,GUoFhC;IATP,AAWM,oBAXc,CAGlB,WAAW,CAQP,aAAa,CAAC;MACZ,OAAO,EAAE,cAAc,GACxB;IAbP,AAeM,oBAfc,CAGlB,WAAW,CAYP,UAAU,CAAC;MACT,UAAU,EAAE,KAAqC,GAClD;IAjBP,AAmBM,oBAnBc,CAGlB,WAAW,CAgBP,eAAe,CAAC;MACd,SAAS,EAAE,IAAI;MACf,cAAc,EAAE,GAAG,GACpB;IAtBP,AAwBM,oBAxBc,CAGlB,WAAW,CAqBP,WAAW,CAAC;MACV,SAAS,EAAE,IAAI;MACf,WAAW,EAzBH,IAAI;MA0BZ,aAAa,EAAE,CAAC,GACjB;IA5BP,AA+BQ,oBA/BY,CAGlB,WAAW,CA2BP,UAAU,AAAA,IAAK,CAAA,AAAA,eAAe,EAC5B,WAAW,CAAC;MACV,UAAU,EAAE,IAAgB,GAC7B;IAjCT,AAoCM,oBApCc,CAGlB,WAAW,CAiCP,iBAAiB,CAAC;MAChB,SAAS,EAAE,IAAI;MACf,WAAW,EArCH,IAAI,GAsCb;IAvCP,AAyCM,oBAzCc,CAGlB,WAAW,CAsCP,aAAa,CAAC;MACZ,MAAM,EAAE,GAAG;MACX,SAAS,EAAE,IAAI,GAChB;;ACxNP,AAAA,2BAA2B,CAAC;EAC1B,KAAK,EXOG,OAAO;EWNf,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,IAAI;EACjB,aAAa,EX8DG,IAAoC;EW7DpD,UAAU,EAAE,MAAM,GA0BnB;EAxBC,MAAM,EAAE,SAAS,EAAE,KAAK;IAP1B,AAAA,2BAA2B,CAAC;MAQxB,OAAO,EAAE,IAAI;MACb,eAAe,EAAE,aAAa;MAC9B,UAAU,EAAE,IAAI,GAqBnB;EA/BD,AAaE,2BAbyB,CAazB,CAAC,CAAC;IACA,MAAM,EAAE,CAAC,GAMV;IALC,MAAM,EAAE,SAAS,EAAE,KAAK;MAf5B,AAaE,2BAbyB,CAazB,CAAC,CAAC;QAGE,UAAU,EAAE,MAAM;QAClB,OAAO,EAAE,IAAI;QACb,eAAe,EAAE,aAAa,GAEjC;EApBH,AAsBE,2BAtByB,CAsBzB,KAAK,CAAC;IACJ,OAAO,EAAE,IAAI,GAOd;IANC,MAAM,EAAE,SAAS,EAAE,KAAK;MAxB5B,AAsBE,2BAtByB,CAsBzB,KAAK,CAAC;QAGF,UAAU,EAAE,MAAM;QAClB,OAAO,EAAE,KAAK;QACd,IAAI,EXlBA,qBAAO;QWmBX,iBAAiB,EAAE,GAAG,GAEzB;;AAGH,AAAA,yBAAyB,CAAC;EACxB,MAAM,EAAE,CAAC;EACT,OAAO,EAAE,KAAK;EACd,SAAS,EAAE,MAAM,GAelB;EAbC,MAAM,EAAE,SAAS,EAAE,KAAK;IAL1B,AAAA,yBAAyB,CAAC;MAMtB,OAAO,EAAE,IAAI;MACb,eAAe,EAAE,aAAa;MAC9B,OAAO,EAAE,CAAC,GAUb;EAlBD,AAWE,yBAXuB,CAWvB,MAAM,CAAC;IACL,UAAU,EAAE,MAAM;IAClB,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,CAAC;IACT,mBAAmB,EAAE,IAAI;IACzB,OAAO,EAAE,MAAM,GAChB;;AClDH,AAAA,oBAAoB,CAAC;EACnB,OAAO,EZgEkB,IAAI,CADF,IAAI;EY9D/B,gBAAgB,EAAE,KAAK;EACvB,mBAAmB,EAAE,KAAK;EAC1B,mBAAmB,EAAE,gBAAgB,GAoJtC;EAxJD,AAME,oBANkB,CAMlB,cAAc,CAAC;IACb,MAAM,EAAE,CAAC,GAYV;IAnBH,AASI,oBATgB,CAMlB,cAAc,CAGZ,aAAa,CAAC;MACZ,MAAM,EAAE,OAAO;MACf,cAAc,EAAE,GAAG;MACnB,WAAW,EAAE,MAAM,GACpB;IAbL,AAeI,oBAfgB,CAMlB,cAAc,CASZ,kBAAkB,CAAC;MACjB,mBAAmB,EAAE,GAAG;MACxB,UAAU,EAAE,IAAI,GACjB;EAlBL,AAqBE,oBArBkB,CAqBlB,gBAAgB,CAAC;IACf,QAAQ,EAAE,QAAQ,GA6BnB;IAnDH,AAwBI,oBAxBgB,CAqBlB,gBAAgB,CAGd,oBAAoB,CAAC;MACnB,UAAU,EAAE,4CAA4C,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM;MAC/E,MAAM,EAAE,CAAC;MACT,MAAM,EAAE,OAAO;MACf,IAAI,EZrBA,OAAO;MYsBX,MAAM,EZwEe,IAAI;MYvEzB,iBAAiB,EAAE,CAAC;MACpB,OAAO,EAAE,CAAC;MACV,QAAQ,EAAE,QAAQ;MAClB,GAAG,EAAE,CAAC;MACN,mBAAmB,EAAE,KAAK;MAC1B,mBAAmB,EAAE,OAAO;MAC5B,KAAK,EZiEgB,IAAI,GY3D1B;MA1CL,AAwBI,oBAxBgB,CAqBlB,gBAAgB,CAGd,oBAAoB,AAclB,SAAW,CAAA,AAAA,OAAO,EAAE,AAAA,MAAM,EAAE,AAAA,MAAM,EAAE;QAClC,IAAI,EZ9BF,OAAO;QY+BT,OAAO,EAAE,CAAC,GACX;IAzCP,AA4CI,oBA5CgB,CAqBlB,gBAAgB,CAuBd,aAAa,CAAC;MACZ,GAAG,EAAE,IAAI,GACV;IAED,MAAM,EAAE,SAAS,EAAE,MAAM;MAhD7B,AZ8KE,oBY9KkB,CAqBlB,gBAAgB,CZyJhB,aAAa,CAAC;QACZ,iBAAiB,EAAE,GAAG;QACtB,mBAAmB,EAAE,IAAI;QACzB,iBAAiB,EAAE,CAAC;QACpB,mBAAmB,EAAE,IAAI,GAC1B;EYnLH,AAwDM,oBAxDc,AAqDlB,MAAO,CAEL,gBAAgB,CACd,oBAAoB,EAxD1B,AAwDM,oBAxDc,AAsDlB,OAAQ,CACN,gBAAgB,CACd,oBAAoB,CAAC;IACnB,OAAO,EAAE,CAAC,GACX;EA1DP,AA8DE,oBA9DkB,AA8DlB,OAAQ,CAAC;IACP,UAAU,EZ3DJ,wBAAO;IY4Db,aAAa,EAAE,GAAG,GAOnB;IAvEH,AAmEM,oBAnEc,AA8DlB,OAAQ,CAIN,gBAAgB,CACd,oBAAoB,CAAC;MACnB,IAAI,EZ3DF,OAAO,GY4DV;EArEP,AAyEE,oBAzEkB,CAyElB,mBAAmB,CAAC;IAIlB,KAAK,EZrEC,OAAO;IYsEb,SAAS,EAAE,IAAI;IACf,aAAa,EAAE,IAAI;IACnB,QAAQ,EAAE,QAAQ,GAoCnB;IApHH,AAkFI,oBAlFgB,CAyElB,mBAAmB,CASjB,wBAAwB,CAAC;MACvB,OAAO,EAAE,YAAY;MACrB,UAAU,EATQ,IAAI;MAUtB,KAAK,EAAE,kBAAiC,GAKzC;MAHC,MAAM,EAAE,SAAS,EAAE,KAAK;QAvF9B,AAkFI,oBAlFgB,CAyElB,mBAAmB,CASjB,wBAAwB,CAAC;UAMrB,KAAK,EZCA,KAA6B,GYCrC;IA1FL,AA4FI,oBA5FgB,CAyElB,mBAAmB,CAmBjB,CAAC,CAAC;MACA,KAAK,EZnFD,OAAO;MYoFX,YAAY,EAAE,GAAG,GAClB;IA/FL,AAiGI,oBAjGgB,CAyElB,mBAAmB,CAwBjB,MAAM,CAAC;MACL,UAAU,EZ/FN,OAAO;MYgGX,MAAM,EAAE,GAAG,CAAC,KAAK,CZ7Fb,OAAO;MY8FX,aAAa,EAAE,GAAG;MAClB,MAAM,EAAE,OAAO;MACf,UAAU,EAAE,GAAG;MACf,SAAS,EA7BQ,KAAK;MA8BtB,UAAU,EA7BQ,IAAI;MA8BtB,iBAAiB,EAAE,CAAC,GAUrB;MAnHL,AAiGI,oBAjGgB,CAyElB,mBAAmB,CAwBjB,MAAM,AAUJ,MAAO,AAAA,IAAK,CAAA,AAAA,QAAQ,EAAE;QACpB,UAAU,EZ3DD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CA5ChB,OAAO;QYwGT,UAAU,EAAE,gBAAgB,GAC7B;MAED,MAAM,EAAE,SAAS,EAAE,KAAK;QAhH9B,AAiGI,oBAjGgB,CAyElB,mBAAmB,CAwBjB,MAAM,CAAC;UAgBH,QAAQ,EAAE,QAAQ,GAErB;EAnHL,AAsHE,oBAtHkB,CAsHlB,sBAAsB,CAAC;IACrB,MAAM,EZ7BI,KAAK,GY8BhB;EAxHH,AA0HE,oBA1HkB,CA0HlB,aAAa,CAAC;IAGZ,MAAM,EAAE,CAAC,CADY,IAAG;IAExB,OAAO,EAAE,CAAC,CAFW,GAAG,GAQzB;IApIH,AA0HE,oBA1HkB,CA0HlB,aAAa,AAMX,UAAW,CAAC;MACV,QAAQ,EAAE,MAAM;MAChB,cAAc,EAAE,IAAI,GACrB;EAnIL,AAwIM,oBAxIc,AAsIlB,kBAAmB,CACjB,cAAc,CACZ,kBAAkB,CAAC;IACjB,UAAU,EAAE,SAAS,CAAC,IAAI,CZtGlB,8BAA8B,GYuGvC;EA1IP,AA6II,oBA7IgB,AAsIlB,kBAAmB,CAOjB,aAAa,CAAC;IACZ,UAAU,EAAE,UAAU,CAAC,IAAI,CZ3GjB,8BAA8B,GY4GzC;EA/IL,AAmJI,oBAnJgB,AAkJlB,UAAW,CACT,aAAa,CAAC;IACZ,UAAU,EAAE,CAAC;IACb,QAAQ,EAAE,MAAM,GACjB"
+	"mappings": ";AAAA,6BAA6B;AEA7B,AAAA,IAAI,CAAC;EACH,UAAU,EAAE,UAAU,GACvB;;AAED,AAAA,CAAC;AACD,AAAA,CAAC,AAAA,QAAQ;AACT,AAAA,CAAC,AAAA,OAAO,CAAC;EACP,UAAU,EAAE,OAAO,GACpB;;AAED,AAAA,CAAC,AAAA,kBAAkB,CAAC;EAClB,MAAM,EAAE,CAAC,GACV;;AAED,AAAA,IAAI,CAAC;EACH,MAAM,EAAE,CAAC,GACV;;AAED,AAAA,MAAM;AACN,AAAA,KAAK,CAAC;EACJ,gBAAgB,EAAE,OAAO;EACzB,KAAK,EAAE,OAAO;EACd,WAAW,EAAE,OAAO;EACpB,SAAS,EAAE,OAAO,GACnB;;CAED,AAAA,AAAA,MAAC,AAAA,EAAQ;EACP,OAAO,EAAE,eAAe,GACzB;;AE5BD,AAAA,KAAK,CAAC;EACJ,mBAAmB,EAAE,aAAa;EAClC,iBAAiB,EAAE,SAAS;EAC5B,eAAe,EDkEL,IAAI;ECjEd,uBAAuB,EAAE,IAAI;EAC7B,OAAO,EAAE,YAAY;EACrB,IAAI,EDGI,qBAAO;ECFf,MAAM,ED8DI,IAAI;EC7Dd,cAAc,EAAE,MAAM;EACtB,KAAK,ED4DK,IAAI,GCkGf;EAvKD,AAWE,KAXG,AAWH,YAAa,CAAC;IACZ,iBAAiB,EAAE,GAAG,GACvB;EAbH,AAeE,KAfG,AAeH,kBAAmB,CAAC;IAClB,iBAAiB,EAAE,GAAG,GACvB;EAjBH,AAmBE,KAnBG,AAmBH,oBAAqB,CAAC;IACpB,gBAAgB,EAAE,yCAAyC,GAC5D;EArBH,AAuBE,KAvBG,AAuBH,qBAAsB,CAAC;IACrB,gBAAgB,EAAE,gDAAgD,GACnE;EAzBH,AA2BE,KA3BG,AA2BH,iBAAkB,CAAC;IACjB,IAAI,EDnBE,qBAAO;ICoBb,gBAAgB,EAAE,iDAAwC,GAC3D;EA9BH,AAgCE,KAhCG,AAgCH,YAAa,CAAC;IACZ,gBAAgB,EAAE,iDAAwC,GAC3D;EAlCH,AAoCE,KApCG,AAoCH,kBAAmB,CAAC;IAClB,gBAAgB,EAAE,uDAA8C;IAChE,eAAe,EDiCA,IAAI;IChCnB,MAAM,EDgCS,IAAI;IC/BnB,KAAK,ED+BU,IAAI,GC9BpB;EAzCH,AA2CE,KA3CG,AA2CH,aAAc,CAAC;IACb,gBAAgB,EAAE,kDAAyC,GAC5D;EA7CH,AA+CE,KA/CG,AA+CH,UAAW,CAAC;IACV,gBAAgB,EAAE,+CAAsC,GACzD;EAjDH,AAmDE,KAnDG,AAmDH,YAAa,CAAC;IACZ,gBAAgB,EAAE,iDAAwC,GAC3D;EArDH,AAuDE,KAvDG,AAuDH,gBAAiB,CAAC;IAEhB,gBAAgB,EAAE,oDAA2C,GAC9D;IA1DH,ADuLE,KCvLG,AAuDH,gBAAiB,ADgIpB,IAAS,CAAA,AAAA,GAAG,EAAE;MACT,SAAS,EAAE,UAAU,GACtB;ECzLH,AA4DE,KA5DG,AA4DH,wBAAyB,CAAC;IACxB,gBAAgB,EAAE,gDAAgD,GACnE;EA9DH,AAgEE,KAhEG,AAgEH,cAAe,CAAC;IACd,gBAAgB,EAAE,yCAAyC,GAC5D;EAlEH,AAoEE,KApEG,AAoEH,SAAU,CAAC;IAET,gBAAgB,EAAE,8CAAqC,GACxD;IAvEH,ADuLE,KCvLG,AAoEH,SAAU,ADmHb,IAAS,CAAA,AAAA,GAAG,EAAE;MACT,SAAS,EAAE,UAAU,GACtB;ECzLH,AAyEE,KAzEG,AAyEH,WAAY,CAAC;IAEX,gBAAgB,EAAE,gDAAuC,GAC1D;IA5EH,ADuLE,KCvLG,AAyEH,WAAY,AD8Gf,IAAS,CAAA,AAAA,GAAG,EAAE;MACT,SAAS,EAAE,UAAU,GACtB;ECzLH,AA8EE,KA9EG,AA8EH,UAAW,CAAC;IACV,gBAAgB,EAAE,+CAAsC,GACzD;EAhFH,AAkFE,KAlFG,AAkFH,YAAa,CAAC;IACZ,gBAAgB,EAAE,iDAAwC,GAC3D;EApFH,AAsFE,KAtFG,AAsFH,kBAAmB,CAAC;IAClB,gBAAgB,EAAE,iDAAwC;IAC1D,eAAe,EDlBC,IAAI,GCmBrB;EAzFH,AA2FE,KA3FG,AA2FH,iBAAkB,CAAC;IACjB,gBAAgB,EAAE,sDAA6C,GAChE;EA7FH,AA+FE,KA/FG,AA+FH,cAAe,CAAC;IACd,gBAAgB,EAAE,mDAA0C;IAC5D,SAAS,EAAE,eAAe,GAC3B;EAlGH,AAoGE,KApGG,AAoGH,SAAU,CAAC;IACT,gBAAgB,EAAE,wCAAwC,GAC3D;EAtGH,AAwGE,KAxGG,AAwGH,cAAe,CAAC;IACd,gBAAgB,EAAE,mDAA0C,GAC7D;EA1GH,AA4GE,KA5GG,AA4GH,eAAgB,CAAC;IAEf,gBAAgB,EAAE,8CAAqC;IACvD,eAAe,EDzCC,IAAI;IC0CpB,MAAM,ED1CU,IAAI;IC2CpB,KAAK,ED3CW,IAAI,GC4CrB;IAlHH,ADuLE,KCvLG,AA4GH,eAAgB,AD2EnB,IAAS,CAAA,AAAA,GAAG,EAAE;MACT,SAAS,EAAE,UAAU,GACtB;ECzLH,AAoHE,KApHG,AAoHH,WAAY,CAAC;IACX,gBAAgB,EAAE,sCAAsC,GACzD;EAtHH,AAwHE,KAxHG,AAwHH,kBAAmB,CAAC;IAClB,gBAAgB,EAAE,uDAA8C,GACjE;EA1HH,AA4HE,KA5HG,AA4HH,gBAAiB,CAAC;IAChB,gBAAgB,EAAE,qDAA4C,GAC/D;EA9HH,AAgIE,KAhIG,AAgIH,oBAAqB,CAAC;IACpB,gBAAgB,EAAE,yDAAgD,GACnE;EAlIH,AAoIE,KApIG,AAoIH,0BAA2B,CAAC;IAC1B,gBAAgB,EAAE,yDAAgD;IAClE,eAAe,EDhEC,IAAI;ICiEpB,MAAM,EDjEU,IAAI;ICkEpB,KAAK,EDlEW,IAAI,GCmErB;EAzIH,AA2IE,KA3IG,AA2IH,6BAA8B,CAAC;IAC7B,gBAAgB,EAAE,yDAAgD;IAClE,eAAe,EDvEC,IAAI;ICwEpB,MAAM,EDxEU,IAAI;ICyEpB,SAAS,EAAE,cAAc;IACzB,KAAK,ED1EW,IAAI,GC+ErB;IArJH,AAkJI,KAlJC,AA2IH,6BAA8B,AAO5B,IAAM,CAAA,AAAA,GAAG,EAAE;MACT,SAAS,EAAE,aAAa,GACzB;EApJL,AAuJE,KAvJG,AAuJH,kBAAmB,CAAC;IAClB,gBAAgB,EAAE,yDAAgD;IAClE,SAAS,EAAE,cAAc,GAC1B;EA1JH,AA4JE,KA5JG,AA4JH,SAAU,CAAC;IACT,gBAAgB,EAAE,8CAAqC,GACxD;EA9JH,AAgKE,KAhKG,AAgKH,cAAe,CAAC;IACd,gBAAgB,EAAE,mDAA0C,GAC7D;EAlKH,AAoKE,KApKG,AAoKH,cAAe,CAAC;IACd,gBAAgB,EAAE,mDAA0C,GAC7D;;AHlKH,AAAA,IAAI;AACJ,AAAA,IAAI;AACJ,AAAA,KAAK,CAAC;EACJ,MAAM,EAAE,IAAI,GACb;;AAED,AAAA,IAAI,CAAC;EACH,UAAU,EERF,OAAO;EFSf,KAAK,EEHG,OAAO;EFIf,WAAW,EAAE,qFAAqF;EAClG,SAAS,EAAE,IAAI;EACf,UAAU,EAAE,MAAM,GACnB;;AAED,AAAA,EAAE;AACF,AAAA,EAAE,CAAC;EACD,WAAW,EAAE,MAAM,GACpB;;AAED,AAAA,CAAC,CAAC;EACA,KAAK,EEtBG,OAAO;EFuBf,eAAe,EAAE,IAAI,GAKtB;EAPD,AAIE,CAJD,AAIC,MAAO,CAAC;IACN,KAAK,EElBC,OAAO,GFmBd;;AAIH,AAAA,QAAQ,CAAC;EACP,MAAM,EAAE,CAAC;EACT,IAAI,EAAE,gBAAgB;EACtB,MAAM,EAAE,GAAG;EACX,MAAM,EAAE,IAAI;EACZ,QAAQ,EAAE,MAAM;EAChB,OAAO,EAAE,CAAC;EACV,QAAQ,EAAE,QAAQ;EAClB,KAAK,EAAE,GAAG,GACX;;AAED,AAAA,aAAa,CAAC;EACZ,MAAM,EEJW,GAAG,CAAC,KAAK,CApClB,OAAO;EFyCf,aAAa,EEeC,GAAG;EFdjB,MAAM,EAAE,IAAI;EACZ,IAAI,EAAE,CAAC;EACP,cAAc,EAAE,IAAI;EACpB,QAAQ,EAAE,QAAQ;EAClB,GAAG,EAAE,CAAC;EACN,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,GAAG,GACb;;AAED,UAAU,CAAV,MAAU;EACR,AAAA,IAAI;IACF,OAAO,EAAE,CAAC;EAGZ,AAAA,EAAE;IACA,OAAO,EAAE,CAAC;;AAId,AAAA,aAAa,CAAC;EACZ,OAAO,EAAE,CAAC;EACV,UAAU,EAAE,oBAAoB,GAMjC;EARD,AAIE,aAJW,AAIX,GAAI,CAAC;IACH,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,CAAC,GACX;;AAGH,AAAA,QAAQ,CAAC;EACP,UAAU,EEpCO,GAAG,CAAC,KAAK,CApClB,OAAO;EFyEf,OAAO,EAAE,IAAI;EACb,cAAc,EAAE,GAAG;EACnB,SAAS,EAAE,IAAI;EACf,eAAe,EAAE,UAAU;EAC3B,MAAM,EAAE,CAAC;EACT,OAAO,EAAE,WAAW,GA8BrB;EArCD,AASE,QATM,CASN,MAAM,CAAC;IACL,gBAAgB,EEnFV,OAAO;IFoFb,MAAM,EE/CO,GAAG,CAAC,KAAK,CAlChB,OAAO;IFkFb,aAAa,EAAE,GAAG;IAClB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,OAAO;IACf,aAAa,EAAE,IAAI;IACnB,OAAO,EAAE,SAAS;IAClB,WAAW,EAAE,MAAM,GAmBpB;IApCH,AASE,QATM,CASN,MAAM,AAUJ,MAAO,AAAA,IAAK,CAAA,AAAA,QAAQ,EAAE;MACpB,UAAU,EE/CC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CA5ChB,OAAO;MF4FX,UAAU,EAAE,gBAAgB,GAC7B;IAtBL,AASE,QATM,CASN,MAAM,AAeJ,QAAS,CAAC;MACR,MAAM,EAAE,CAAC;MACT,OAAO,EAAE,CAAC;MACV,eAAe,EAAE,SAAS,GAC3B;IA5BL,AASE,QATM,CASN,MAAM,AAqBJ,KAAM,CAAC;MACL,UAAU,EEzGN,OAAO;MF0GX,MAAM,EAAE,KAAK,CAAC,GAAG,CE1Gb,OAAO;MF2GX,KAAK,EEjDH,IAAI;MFkDN,mBAAmB,EAAE,IAAI,GAC1B;;AAKL,AAAA,mBAAmB,CAAC;EAClB,OAAO,EAAE,CAAC,GACX;;AItHD,AAAA,cAAc,CAAC;EACb,OAAO,EAAE,IAAI;EACb,SAAS,EAAE,CAAC;EACZ,MAAM,EAAE,IAAI;EACZ,OAAO,EAAE,IAA8C,CF2D3C,IAAI,CAAJ,IAAI,GEtDjB;EATD,AAME,cANY,AAMZ,aAAc,CAAC;IACb,MAAM,EAAE,IAAI,GACb;;AAGH,AAAA,IAAI,CAAC;EACH,MAAM,EAAE,IAAI;EAGZ,cAAc,EAAE,IAA4D;EAC5E,KAAK,EFyDiB,KAAmE,GEvC1F;EAhBC,MAAM,EAAE,SAAS,EAAE,KAAK;IAP1B,AAAA,IAAI,CAAC;MAQD,KAAK,EFuDiB,KAAmE,GExC5F;EAZC,MAAM,EAAE,SAAS,EAAE,KAAK;IAX1B,AAAA,IAAI,CAAC;MAYD,KAAK,EFoDkB,KAAmE,GEzC7F;EARC,MAAM,EAAE,SAAS,EAAE,KAAK;IAf1B,AAAA,IAAI,CAAC;MAgBD,KAAK,EFiDiB,KAAmE,GE1C5F;EAvBD,AAmBE,IAnBE,CAmBF,OAAO,CAAC;IACN,aAAa,EFmCC,IAAoC;IElClD,QAAQ,EAAE,QAAQ,GACnB;;AAKC,MAAM,EAAE,SAAS,EAAE,MAAM;EAF7B,AACE,oBADkB,CAClB,IAAI,CAAC;IAED,KAAK,EFsCgB,MAAmE,GEpC3F;;AAGH,AAAA,gBAAgB,CAAC;EACf,MAAM,EAAE,IAAI;EACZ,aAAa,EAAE,IAAI,GACpB;;AAED,AAAA,cAAc,CAAC;EACb,SAAS,EFqCe,IAAI;EEpC5B,WAAW,EAAE,IAAI;EACjB,cAAc,EAAE,SAAS,GAO1B;EAVD,AAKE,cALY,CAKZ,IAAI,CAAC;IACH,KAAK,EFhDC,OAAO;IEiDb,IAAI,EFjDE,OAAO;IEkDb,cAAc,EAAE,MAAM,GACvB;;AAGH,AAAA,sBAAsB,CAAC;EAErB,MAAM,EAAE,KAAK,GACd;;;AAED,AAUI,aAVS,CAUT,cAAc;AAVlB,AAWmB,aAXN,CAWT,cAAc,CAAC,QAAQ,AAAA,aAAa;AAXxC,AAYI,aAZS,CAYT,MAAM,CAHc;EACpB,OAAO,EAAE,CAAC,GACX;;;AAXH,AAeI,aAfS,AAaX,GAAI,CAEF,cAAc;AAflB,AAgBmB,aAhBN,AAaX,GAAI,CAGF,cAAc,CAAC,QAAQ,AAAA,aAAa;AAhBxC,AAiBI,aAjBS,AAaX,GAAI,CAIF,MAAM,CAHgB;EACpB,OAAO,EAAE,CAAC,GACX;;AAIL,AAAA,wBAAwB,CAAC;EACvB,OAAO,EAAE,CAAC,CFvBiB,IAAI,GEwBhC;;ACxFD,AAAA,kBAAkB,CAAC;EACjB,WAAW,EAAE,MAAM;EACnB,aAAa,EH2DC,GAAG;EG1DjB,UAAU,EAAE,KAAK,CH8GA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAvFpB,kBAAI;EGtBV,KAAK,EHIG,OAAO;EGHf,OAAO,EAAE,IAAI;EACb,cAAc,EAAE,MAAM;EACtB,SAAS,EHuGgB,IAAI;EGtG7B,eAAe,EAAE,MAAM;EACvB,aAAa,EAAE,MAAM;EACrB,WAAW,EHqGgB,GAAG,GG/F/B;EAhBD,AAYE,kBAZgB,CAYhB,CAAC,CAAC;IACA,KAAK,EHLC,OAAO;IGMb,eAAe,EAAE,SAAS,GAC3B;;ACJH,AAAA,UAAU,CAAC;EAGT,aAAa,EAAE,GAA4E,GAC5F;;AAED,AAAA,eAAe,CAAC;EACd,UAAU,EAAE,IAAI;EAChB,MAAM,EAAE,CAAC,CAVQ,KAAgB;EAWjC,OAAO,EAAE,CAAC,GA0DX;EAvDC,MAAM,EAAE,SAAS,EAAE,KAAK;IAN1B,AJoJE,eIpJa,CAOX,UAAW,CAAA,IAAI,EJ6IjB,aAAa,CAAC;MACZ,iBAAiB,EAAE,IAAI;MACvB,mBAAmB,EAAE,IAAI;MACzB,iBAAiB,EAAE,IAAI;MACvB,mBAAmB,EA1GT,KAAI,GA2Gf;IIzJH,AJ6JE,eI7Ja,CAWX,UAAW,CAAA,EAAE,EJkJf,aAAa,CAAC;MACZ,iBAAiB,EAAE,GAAG;MACtB,mBAAmB,EAAE,IAAI;MACzB,iBAAiB,EAAE,CAAC;MACpB,mBAAmB,EAAE,IAAI,GAC1B;EIjJD,MAAM,EAAE,SAAS,EAAE,KAAK,OAAO,SAAS,EAAE,KAAK;IAjBjD,AJ6JE,eI7Ja,CAkBX,UAAW,CAAA,IAAI,EJ2IjB,aAAa;II7Jf,AJ6JE,eI7Ja,CAmBX,UAAW,CAAA,EAAE,EJ0If,aAAa,CAAC;MACZ,iBAAiB,EAAE,GAAG;MACtB,mBAAmB,EAAE,IAAI;MACzB,iBAAiB,EAAE,CAAC;MACpB,mBAAmB,EAAE,IAAI,GAC1B;EIzID,MAAM,EAAE,SAAS,EAAE,KAAK,OAAO,SAAS,EAAE,KAAK;IAzBjD,AJ6JE,eI7Ja,CA0BX,UAAW,CAAA,EAAE,EJmIf,aAAa,CAAC;MACZ,iBAAiB,EAAE,GAAG;MACtB,mBAAmB,EAAE,IAAI;MACzB,iBAAiB,EAAE,CAAC;MACpB,mBAAmB,EAAE,IAAI,GAC1B;EIpID,MAAM,EAAE,SAAS,EAAE,KAAK,OAAO,SAAS,EAAE,KAAK;IA9BjD,AJ6JE,eI7Ja,CA+BX,UAAW,CAAA,IAAI,EJ8HjB,aAAa,CAAC;MACZ,iBAAiB,EAAE,GAAG;MACtB,mBAAmB,EAAE,IAAI;MACzB,iBAAiB,EAAE,CAAC;MACpB,mBAAmB,EAAE,IAAI,GAC1B;EI7HD,MAAM,EAAE,SAAS,EAAE,KAAK,OAAO,SAAS,EAAE,MAAM;IArClD,AJ6JE,eI7Ja,CAsCX,UAAW,CAAA,EAAE,EJuHf,aAAa,CAAC;MACZ,iBAAiB,EAAE,GAAG;MACtB,mBAAmB,EAAE,IAAI;MACzB,iBAAiB,EAAE,CAAC;MACpB,mBAAmB,EAAE,IAAI,GAC1B;EIxHD,MAAM,EAAE,SAAS,EAAE,KAAK,OAAO,SAAS,EAAE,MAAM;IA1ClD,AJ6JE,eI7Ja,CA2CX,UAAW,CAAA,IAAI,EJkHjB,aAAa,CAAC;MACZ,iBAAiB,EAAE,GAAG;MACtB,mBAAmB,EAAE,IAAI;MACzB,iBAAiB,EAAE,CAAC;MACpB,mBAAmB,EAAE,IAAI,GAC1B;EIlKH,AAgDE,eAhDa,CAgDb,EAAE,CAAC;IACD,MAAM,EAAE,CAAC,CAAC,CAAC,CA/DY,GAAG,GAgE3B;EAlDH,AAsDM,eAtDS,AAoDb,IAAM,CAAA,AAAA,WAAW,EACf,eAAe,AAAA,SAAU,CAAA,AAAA,OAAO,EAAE,AAAA,MAAM,EAAE,AAAA,MAAM,EAC9C,KAAK,CAAC;IJiDV,UAAU,EAAE,KAAK,CAPA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAvFpB,kBAAI,EAuBK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CA5ChB,OAAO;IAoHf,UAAU,EAAE,gBAAgB,GIhDvB;EAxDP,AJ6IE,eI7Ia,AAoDb,IAAM,CAAA,AAAA,WAAW,EACf,eAAe,AAAA,SAAU,CAAA,AAAA,OAAO,EAAE,AAAA,MAAM,EAAE,AAAA,MAAM,EJwFlD,oBAAoB,CAAC;IACnB,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,QAAQ,GACpB;;AIhFH,AAAA,eAAe,CAAC;EACd,OAAO,EAAE,CAAC,CAzEO,IAAgB;EA0EjC,OAAO,EAAE,YAAY,GA4JtB;EA9JD,AAKE,eALa,CAKb,eAAe,CAAC;IACd,QAAQ,EAAE,QAAQ,GAanB;IAnBH,AAQM,eARS,CAKb,eAAe,GAGX,CAAC,CAAC;MACF,KAAK,EAAE,OAAO;MACd,OAAO,EAAE,KAAK;MACd,OAAO,EAAE,IAAI,GAOd;MAlBL,AAcQ,eAdO,CAKb,eAAe,GAGX,CAAC,AAKD,SAAW,CAAA,AAAA,OAAO,EAAE,AAAA,MAAM,EACxB,KAAK,CAAC;QJyBZ,UAAU,EAAE,KAAK,CAPA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAvFpB,kBAAI,EAuBK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CA5ChB,OAAO;QAoHf,UAAU,EAAE,gBAAgB,GIxBrB;EAhBT,AJiDE,eIjDa,CJiDb,oBAAoB,CAAC;IACnB,eAAe,EAAE,WAAW;IAC5B,gBAAgB,EAxEZ,IAAI;IAyER,gBAAgB,EAAE,4CAA4C;IAC9D,mBAAmB,EAAE,GAAG;IACxB,MAAM,EA/FO,GAAG,CAAC,KAAK,CAlChB,OAAO;IAkIb,aAAa,EAAE,IAAI;IACnB,UAAU,EAnCkB,CAAC,CAAC,GAAG,CA7F3B,qBAAO;IAiIb,MAAM,EAAE,OAAO;IACf,IAAI,EAlIE,qBAAO;IAmIb,MAAM,EAvCiB,IAAI;IAwC3B,iBAAiB,EAAI,OAA6B;IAClD,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,QAAQ;IAClB,GAAG,EAAI,OAA6B;IACpC,SAAS,EAAE,WAAW;IACtB,mBAAmB,EAAE,KAAK;IAC1B,mBAAmB,EAAE,kBAAkB;IACvC,KAAK,EA/CkB,IAAI,GAqD5B;IIzEH,AJiDE,eIjDa,CJiDb,oBAAoB,AAoBnB,SAAY,CAAA,AAAA,OAAO,EAAE,AAAA,MAAM,EAAE;MAC1B,OAAO,EAAE,CAAC;MACV,SAAS,EAAE,QAAQ,GACpB;EIxEL,AAuBE,eAvBa,CAuBb,KAAK,CAAC;IACJ,aAAa,EAxGS,GAAG;IAyGzB,UAAU,EAAE,KAAK,CJOF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAvFpB,kBAAI,EAwBO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAzCpB,qBAAO;IIkGb,MAAM,EJxCE,IAAI;IIyCZ,QAAQ,EAAE,QAAQ;IAClB,KAAK,EJ1CG,IAAI;II6CZ,WAAW,EAAE,MAAM;IACnB,KAAK,EJ1GC,OAAO;II2Gb,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,eAAe,EAAE,MAAM;IACvB,cAAc,EAAE,SAAS,GAK1B;IA1CH,AAuBE,eAvBa,CAuBb,KAAK,AAgBH,QAAS,CAAC;MACR,OAAO,EAAE,mBAAmB,GAC7B;EAzCL,AA4CE,eA5Ca,CA4Cb,WAAW,CAAC;IACV,gBAAgB,EJlEZ,IAAI;IImER,mBAAmB,EAAE,QAAQ;IAC7B,eAAe,EA5HD,KAAK;IA6HnB,aAAa,EAhIS,GAAG;IAiIzB,UAAU,EAAE,KAAK,CJjBF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAvFpB,kBAAI;IIyGR,MAAM,EAAE,IAAI;IACZ,IAAI,EAAE,CAAC;IACP,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,QAAQ;IAClB,GAAG,EAAE,CAAC;IACN,UAAU,EAAE,UAAU;IACtB,KAAK,EAAE,IAAI,GAKZ;IA7DH,AA4CE,eA5Ca,CA4Cb,WAAW,AAcT,OAAQ,CAAC;MACP,OAAO,EAAE,CAAC,GACX;EA5DL,AAgEE,eAhEa,CAgEb,cAAc,CAAC;IACb,gBAAgB,EJ/IV,OAAO;IIgJb,mBAAmB,EAAE,aAAa;IAClC,iBAAiB,EAAE,SAAS;IAC5B,aAAa,EApJS,GAAG;IAqJzB,UAAU,EAAE,KAAK,CJrCF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAvFpB,kBAAI;II6HR,QAAQ,EAAE,QAAQ,GACnB;EAvEH,AAyEE,eAzEa,CAyEb,UAAU,CAAC;IACT,eAAe,EAtJF,IAAI;IAuJjB,MAAM,EAAE,IAAI;IACZ,mBAAmB,EAAE,CAAC;IACtB,GAAG,EAAE,CAAC;IACN,KAAK,EAAE,IAAI,GACZ;EA/EH,AAiFE,eAjFa,CAiFb,aAAa,CAAC;IACZ,eAAe,EA5JC,IAAI;IA6JpB,MAAM,EA5JY,IAAG;IA6JrB,MAAM,EA/JkB,IAAI;IAgK5B,iBAAiB,EA9JC,IAAG;IA+JrB,KAAK,EAjKmB,IAAI;IAoK5B,WAAW,EAAE,MAAM;IACnB,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,IAAI;IACf,eAAe,EAAE,MAAM,GAKxB;IAjGH,AAiFE,eAjFa,CAiFb,aAAa,CAaX,AAAA,aAAE,AAAA,CAAc,QAAQ,CAAC;MACvB,OAAO,EAAE,mBAAmB,GAC7B;EAhGL,AAmGE,eAnGa,CAmGb,MAAM,CAAC;IACL,IAAI,EAAE,WAAW;IACjB,MAAM,EApLe,IAAI;IAqLzB,WAAW,EArLU,IAAI;IAsLzB,UAAU,EAAE,MAAM;IAClB,KAAK,EJtHG,IAAI;IIuHZ,QAAQ,EAAE,QAAQ,GAsBnB;IA/HH,AA2GI,eA3GW,CAmGb,MAAM,CAQJ,KAAK,CAAC;MACJ,IAAI,EJxLA,OAAO;MIyLX,mBAAmB,EAAE,CAAC;MACtB,QAAQ,EAAE,QAAQ;MAClB,GAAG,EAAE,IAAI,GACV;IAhHL,AAkHI,eAlHW,CAmGb,MAAM,CAeJ,IAAI,CAAC;MACH,MAAM,EAlMa,IAAI;MAmMvB,OAAO,EAAE,KAAK;MACd,QAAQ,EAAE,MAAM;MAChB,aAAa,EAAE,QAAQ;MACvB,WAAW,EAAE,MAAM,GACpB;IAxHL,AA2HM,eA3HS,CAmGb,MAAM,AAuBJ,OAAQ,CACN,IAAI,CAAC;MACH,OAAO,EAAE,MAAM,GAChB;EA7HP,AAiIE,eAjIa,CAiIb,YAAY,CAAC;IACX,gBAAgB,EAAE,+CAAsC,GACzD;EAnIH,AAsII,eAtIW,AAqIb,YAAa,CACX,KAAK,CAAC;IACJ,UAAU,EAAE,KAAK,CJvGJ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAvFpB,kBAAI,GI+LP;EAxIL,AA0II,eA1IW,AAqIb,YAAa,CAKX,WAAW,CAAC;IACV,OAAO,EAAE,IAAI,GACd;EA5IL,AAgJI,eAhJW,AA+Ib,QAAS,CACP,KAAK,CAAC;IACJ,UAAU,EJ9NN,OAAO;II+NX,UAAU,EAAE,IAAI,GAMjB;IAxJL,AAoJM,eApJS,AA+Ib,QAAS,CACP,KAAK,CAIH,CAAC,EApJP,AAgJI,eAhJW,AA+Ib,QAAS,CACP,KAAK,AAKH,QAAS,CAAC;MACR,OAAO,EAAE,IAAI,GACd;EAvJP,AA0JI,eA1JW,AA+Ib,QAAS,CAWP,MAAM,CAAC;IACL,UAAU,EAAE,MAAM,GACnB;;AAKL,AAEI,qBAFiB,CACnB,eAAe,CACb,gBAAgB,CAAC;EACf,OAAO,EAAE,IAAI,GACd;;AAOD,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,SAAS,EAAE,MAAM;EAHrD,AJ5EE,oBI4EkB,CAClB,eAAe,CAGX,UAAW,CAAA,EAAE,EJhFjB,aAAa,CAAC;IACZ,iBAAiB,EAAE,GAAG;IACtB,mBAAmB,EAAE,IAAI;IACzB,iBAAiB,EAAE,CAAC;IACpB,mBAAmB,EAAE,IAAI,GAC1B;;AIgFC,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,SAAS,EAAE,MAAM;EATrD,AJ5EE,oBI4EkB,CAClB,eAAe,CASX,UAAW,CAAA,IAAI,EJtFnB,aAAa,CAAC;IACZ,iBAAiB,EAAE,GAAG;IACtB,mBAAmB,EAAE,IAAI;IACzB,iBAAiB,EAAE,CAAC;IACpB,mBAAmB,EAAE,IAAI,GAC1B;;AIsFC,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,MAAM;EAfzC,AAgBM,oBAhBc,CAClB,eAAe,CAeX,gBAAgB,CAAC;IACf,OAAO,EAAE,IAAI,GACd;;AAKP,AACE,sBADoB,CACpB,MAAM,CAAC;EACL,UAAU,EJjOK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAzCpB,qBAAO;EI2Qb,IAAI,EAAE,CAAC;EACP,MAAM,EAAE,MAAM;EACd,QAAQ,EAAE,KAAK;EACf,KAAK,EAAE,CAAC;EACR,GAAG,EAAE,IAAI;EACT,KAAK,EJhNe,KAAmE,GI6NxF;EAXC,MAAM,EAAE,SAAS,EAAE,KAAK;IAV5B,AACE,sBADoB,CACpB,MAAM,CAAC;MAUH,KAAK,EJlNe,KAAmE,GI4N1F;EAPC,MAAM,EAAE,SAAS,EAAE,KAAK;IAd5B,AACE,sBADoB,CACpB,MAAM,CAAC;MAcH,KAAK,EJrNgB,KAAmE,GI2N3F;EAHC,MAAM,EAAE,SAAS,EAAE,KAAK;IAlB5B,AACE,sBADoB,CACpB,MAAM,CAAC;MAkBH,KAAK,EJxNe,KAAmE,GI0N1F;;AAGH,AAIE,aAJW,CAIX,qBAAqB,CAAC;EACpB,SAAS,EAAE,KAAiD;EAC5D,MAAM,EAAE,MAAM;EACd,OAAO,EALM,IAAI,CAAJ,IAAI,CAKoB,IAAI,GAc1C;EArBH,AASI,aATS,CAIX,qBAAqB,CAKnB,eAAe,CAAC;IACd,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,QAAQ;IAChB,mBAAmB,EAVR,IAAI;IAWf,cAAc,EAAE,IAAI,GACrB;EAdL,AAgBI,aAhBS,CAIX,qBAAqB,CAYnB,cAAc,CAAC;IACb,cAAc,EAAE,IAAI;IACpB,SAAS,EAAE,IAAI;IACf,MAAM,EAAE,QAAQ,GACjB;;AApBL,AAuBE,aAvBW,CAuBX,mBAAmB,CAAC;EAClB,OAAO,EAAE,IAAI,GACd;;AAzBH,AA2BE,aA3BW,CA2BX,KAAK,CAAC;EACJ,SAAS,EJ9Oa,IAAI,GI+O3B;;AA7BH,AA+BE,aA/BW,CA+BX,aAAa,CAAC;EACZ,KAAK,EAAE,IAAI,GA8EZ;EA9GH,AAkCI,aAlCS,CA+BX,aAAa,CAGX,MAAM,CAAC;IACL,QAAQ,EAAE,QAAQ,GAgBnB;IAnDL,AAqCM,aArCO,CA+BX,aAAa,CAGX,MAAM,CAGJ,iBAAiB,CAAC;MAChB,QAAQ,EAAE,QAAQ;MAClB,SAAS,EAAE,gBAAgB;MAC3B,GAAG,EAAE,GAAG;MACR,iBAAiB,EAAE,GAAG,GASvB;MAlDP,AA2CY,aA3CC,CA+BX,aAAa,CAGX,MAAM,CAGJ,iBAAiB,GAMX,KAAK,AAAA,IAAK,CAAA,AAAA,GAAG,EAAE;QACjB,aAAa,EAAE,IAAI,GACpB;MA7CT,AA+CY,aA/CC,CA+BX,aAAa,CAGX,MAAM,CAGJ,iBAAiB,GAUX,KAAK,AAAA,IAAK,CAAA,AAAA,GAAG,EAAE;QACjB,YAAY,EAAE,IAAI,GACnB;EAjDT,AAqDS,aArDI,CA+BX,aAAa,CAsBX,IAAI,CAAC,KAAK,AAAA,IAAK,CAAA,AAAA,kBAAkB,CAAC,IAAK,CAAA,AAAA,GAAG,EAAE;IAC1C,SAAS,EAAE,GAAG;IACd,UAAU,EAAE,KAAK,GAClB;EAxDL,AA0DI,aA1DS,CA+BX,aAAa,CA2BX,KAAK,CACH,AAAA,IAAE,CAAK,MAAM,AAAX,EAAa;IACb,MAAM,EJ/SC,KAAK,CAAC,GAAG,CA7Cd,qBAAO;II6VT,aAAa,EAAE,GAAG;IAClB,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,IAAI;IACZ,KAAK,EAAE,IAAI,GAMZ;IAvEP,AA0DI,aA1DS,CA+BX,aAAa,CA2BX,KAAK,CACH,AAAA,IAAE,CAAK,MAAM,AAAX,CAQA,MAAO,CAAC;MACN,MAAM,EJtTM,KAAK,CAAC,GAAG,CAtDrB,OAAO;MI6WP,UAAU,EJpTI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAzDvB,wBAAO,GI8WR;EAtET,AA2EM,aA3EO,CA+BX,aAAa,CA2CX,QAAQ,CACN,KAAK,CACH,AAAA,IAAE,CAAK,MAAM,AAAX,EAAa;IACb,MAAM,EJ9TK,KAAK,CAAC,GAAG,CA7CrB,OAAO;II4WN,UAAU,EJ9TI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CA9CxB,sBAAO,GI6WP;EA/ET,AAmFI,aAnFS,CA+BX,aAAa,CAoDX,cAAc,CAAC;IACb,SAAS,EAAE,gBAAgB;IAC3B,UAAU,EJnXP,OAAO;IIoXV,aAAa,EAAE,GAAG;IAClB,KAAK,EJpUH,IAAI;IIqUN,mBAAmB,EAAE,GAAG;IACxB,OAAO,EAAE,QAAQ;IACjB,QAAQ,EAAE,QAAQ;IAClB,GAAG,EAAE,IAAI;IACT,OAAO,EAAE,CAAC,GAiBX;IA7GL,AAmFI,aAnFS,CA+BX,aAAa,CAoDX,cAAc,AAYZ,QAAS,CAAC;MACR,UAAU,EJ9XT,OAAO;MI+XR,MAAM,EAAE,IAAI;MACZ,OAAO,EAAE,GAAG;MACZ,MAAM,EAAE,IAAI;MACZ,mBAAmB,EAAE,IAAI;MACzB,QAAQ,EAAE,QAAQ;MAClB,WAAW,EAAE,MAAM;MACnB,GAAG,EAAE,IAAI;MACT,SAAS,EAAE,aAAa;MACxB,WAAW,EAAE,MAAM;MACnB,KAAK,EAAE,IAAI;MACX,OAAO,EAAE,EAAE,GACZ;;AA5GP,AAgHE,aAhHW,CAgHX,QAAQ,CAAC;EACP,eAAe,EAAE,QAAQ,GAM1B;EAvHH,AAmHI,aAnHS,CAgHX,QAAQ,CAGN,MAAM,CAAC;IACL,mBAAmB,EAAE,IAAI;IACzB,iBAAiB,EAAE,CAAC,GACrB;;AAGH,MAAM,EAAE,SAAS,EAAE,KAAK;EAzH1B,AA0HI,aA1HS,CA0HT,mBAAmB,CAAC;IAClB,cAAc,EAAE,MAAM,GAKvB;IAhIL,AA6HM,aA7HO,CA0HT,mBAAmB,CAGjB,eAAe,CAAC;MACd,mBAAmB,EAAE,CAAC,GACvB;;AAMP,UAAU,CAAV,UAAU;EACR,AAAA,EAAE;IACA,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,gBAAgB;EAG7B,AAAA,IAAI;IACF,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,aAAa;;ACtb5B,AACE,cADY,CACZ,aAAa,CAAC;EACZ,OAAO,EAAE,IAAI;EACb,QAAQ,EL4DE,IAAI;EK3Dd,qBAAqB,EAAE,uBAA6B;EACpD,MAAM,EAAE,CAAC,GAiBV;EAfC,MAAM,EAAE,SAAS,EAAE,KAAK;IAP5B,AL8KE,cK9KY,CACZ,aAAa,CL6Kb,aAAa,CAAC;MACZ,iBAAiB,EAAE,GAAG;MACtB,mBAAmB,EAAE,IAAI;MACzB,iBAAiB,EAAE,CAAC;MACpB,mBAAmB,EAAE,IAAI,GAC1B;EKxKC,MAAM,EAAE,SAAS,EAAE,KAAK,OAAO,SAAS,EAAE,KAAK;IAXnD,AL8KE,cK9KY,CACZ,aAAa,CAWT,UAAW,CAAA,EAAE,ELkKjB,aAAa,CAAC;MACZ,iBAAiB,EAAE,GAAG;MACtB,mBAAmB,EAAE,IAAI;MACzB,iBAAiB,EAAE,CAAC;MACpB,mBAAmB,EAAE,IAAI,GAC1B;EKlKC,MAAM,EAAE,SAAS,EAAE,KAAK,OAAO,SAAS,EAAE,MAAM;IAjBpD,AL8KE,cK9KY,CACZ,aAAa,CAiBT,UAAW,CAAA,EAAE,EL4JjB,aAAa,CAAC;MACZ,iBAAiB,EAAE,GAAG;MACtB,mBAAmB,EAAE,IAAI;MACzB,iBAAiB,EAAE,CAAC;MACpB,mBAAmB,EAAE,IAAI,GAC1B;;AKnLH,AAwBE,cAxBY,CAwBZ,oBAAoB,CAAC;EACnB,MAAM,ELgBS,GAAG,CAAC,KAAK,CApClB,OAAO;EKqBb,aAAa,ELmCD,GAAG;EKlCf,OAAO,EAAE,IAAI;EACb,MAAM,EL8DI,KAAK;EK7Df,KAAK,EAAE,IAAI,GAyBZ;EAtDH,AA+BI,cA/BU,CAwBZ,oBAAoB,CAOlB,YAAY,CAAC;IACX,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,KAAK,GAoBjB;IArDL,AAmCM,cAnCQ,CAwBZ,oBAAoB,CAOlB,YAAY,CAIV,iBAAiB,CAAC;MAChB,mBAAmB,EAAE,MAAM;MAC3B,iBAAiB,EAAE,SAAS;MAC5B,eAAe,EAAE,SAAS;MAC1B,uBAAuB,EAAE,IAAI;MAC7B,OAAO,EAAE,KAAK;MACd,IAAI,ELhCF,qBAAO;MKiCT,MAAM,EAAE,IAAI;MACZ,MAAM,EAAE,MAAM;MACd,KAAK,EAAE,IAAI,GACZ;IA7CP,AA+CM,cA/CQ,CAwBZ,oBAAoB,CAOlB,YAAY,CAgBV,oBAAoB,CAAC;MACnB,KAAK,ELzCH,OAAO;MK0CT,SAAS,EAAE,IAAI;MACf,aAAa,EAAE,CAAC;MAChB,UAAU,EAAE,MAAM,GACnB;;AAQD,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,SAAS,EAAE,MAAM;EAHvD,ALqHE,oBKrHkB,CAClB,cAAc,CACZ,aAAa,CAET,UAAW,CAAA,EAAE,ELiHnB,aAAa,CAAC;IACZ,iBAAiB,EAAE,GAAG;IACtB,mBAAmB,EAAE,IAAI;IACzB,iBAAiB,EAAE,CAAC;IACpB,mBAAmB,EAAE,IAAI,GAC1B;;AKjHG,MAAM,EAAE,SAAS,EAAE,MAAM;EAT/B,AAEI,oBAFgB,CAClB,cAAc,CACZ,aAAa,CAAC;IAQV,qBAAqB,EAAE,uBAAmC,GAE7D;;AAZL,AAeE,oBAfkB,CAelB,oBAAoB,CAAC;EACnB,MAAM,ELuBU,KAAK,GKtBtB;;AC1EH,AAAA,MAAM,CAAC;EACL,KAAK,ENMG,OAAO;EMLf,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,GAAG;EAChB,UAAU,EN+FO,IAAI,GMzBtB;EApEC,MAAM,EAAE,SAAS,EAAE,KAAK;IAN1B,AAAA,MAAM,CAAC;MAOH,WAAW,EAAE,IAAI,GAmEpB;EA1ED,AAUE,MAVI,CAUJ,EAAE,CAAC;IACD,MAAM,EAAE,CAAC;IACT,OAAO,EAAE,CAAC,GAKX;IAJC,MAAM,EAAE,SAAS,EAAE,KAAK;MAb5B,AAUE,MAVI,CAUJ,EAAE,CAAC;QAIC,OAAO,EAAE,MAAM;QACf,oBAAoB,EAAE,IAAI,GAE7B;EAjBH,AAoBK,MApBC,CAoBJ,EAAE,CAAC,EAAE,CAAC;IACJ,OAAO,EAAE,YAAY,GAUtB;IA/BH,AAoBK,MApBC,CAoBJ,EAAE,CAAC,EAAE,AAGH,OAAQ,CAAC;MACP,OAAO,EAAE,KAAK;MACd,OAAO,EAAE,GAAG,GACb;IA1BL,AAoBK,MApBC,CAoBJ,EAAE,CAAC,EAAE,AAQH,WAAY,AAAA,OAAO,CAAC;MAClB,OAAO,EAAE,IAAI,GACd;EA9BL,AAiCE,MAjCI,CAiCJ,WAAW,CAAC;IACV,KAAK,ENxBC,OAAO,GMyBd;EAnCH,AAqCE,MArCI,CAqCJ,gBAAgB,CAAC;IACf,KAAK,EN5BC,OAAO,GMuDd;IAzBC,MAAM,EAAE,SAAS,EAAE,KAAK;MAxC5B,AAqCE,MArCI,CAqCJ,gBAAgB,CAAC;QAMb,KAAK,EAAE,KAAK,GAsBf;QAjEH,AAqCE,MArCI,CAqCJ,gBAAgB,AAQZ,IAAM,CAAA,AAAA,GAAG,EAAE;UACT,KAAK,EAAE,IAAI,GACZ;IA/CP,AAqCE,MArCI,CAqCJ,gBAAgB,AAad,OAAQ,CAAC;MACP,UAAU,EAAE,oDAA2C,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM;MAC/E,OAAO,EAAE,EAAE;MACX,uBAAuB,EAAE,IAAI;MAC7B,OAAO,EAAE,YAAY;MACrB,IAAI,EN7CA,OAAO;MM8CX,MAAM,EAAE,IAAI;MACZ,mBAAmB,EAAE,GAAG;MACxB,cAAc,EAAE,GAAG;MACnB,KAAK,EAAE,IAAI,GACZ;IA5DL,AAqCE,MArCI,CAqCJ,gBAAgB,AAyBd,IAAM,CAAA,AAAA,GAAG,CAAC,OAAO,CAAE;MACjB,SAAS,EAAE,UAAU,GACtB;EAhEL,AAqEE,MArEI,AAqEJ,OAAQ,CAAC;IACP,KAAK,EAAE,IAAI;IACX,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,KAAK,GACf;;ACzEH,AAAA,eAAe,CAAC;EAad,MAAM,EAAE,OAAO;EACf,OAAO,EAAE,IAAI;EACb,MAAM,EAZU,IAAI;EAgBpB,MAAM,EAAE,GAAG,CAAC,GAAG,CP+CC,IAAoC;EO9CpD,QAAQ,EAAE,QAAQ;EAClB,KAAK,EAAE,IAAI,GAgEZ;EArFD,AAuBE,eAvBa,CAuBb,KAAK,CAAC;IACJ,MAAM,EAAE,CAAC;IACT,aAAa,EAxBQ,GAAG;IAyBxB,UAAU,EPwBK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAzCpB,qBAAO,EOiBkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CPApC,mBAAI;IOCR,SAAS,EAAE,IAAI;IACf,OAAO,EAAE,CAAC;IACV,kBAAkB,EAxBE,IAAI;IAyBxB,oBAAoB,EA1BU,IAAI;IA2BlC,KAAK,EAAE,IAAI,GACZ;EAhCH,AAkCU,eAlCK,AAkCb,MAAO,CAAC,KAAK,CAAC;IACZ,UAAU,EPeK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAzCpB,qBAAO,EO0BkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CPTpC,mBAAI,GOUT;EApCH,AAsCW,eAtCI,AAsCb,OAAQ,CAAC,KAAK;EAtChB,AAuCE,eAvCa,CAuCb,KAAK,AAAA,MAAM,CAAC;IACV,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CVnCW,GAAG,CGJzB,OAAO,GOwCd;EAzCH,AA2CE,eA3Ca,CA2Cb,aAAa,CAAC;IACZ,UAAU,EAtCS,6CAA6C,CAsChC,SAAS,CAjCd,IAAI,CAiCuC,WAA2B;IACjG,uBAAuB,EAAE,IAAI;IAC7B,IAAI,EPrCE,qBAAO;IOsCb,MAAM,EAAE,IAAI;IACZ,mBAAmB,EAAE,CAAC;IACtB,QAAQ,EAAE,QAAQ;IAClB,KAAK,EA9CyB,IAAI,GA+CnC;EAnDH,AAqDE,eArDa,CAqDb,cAAc,CAAC;IACb,UAAU,EA/CI,wCAAwC,CA+C3B,SAAS,CAAC,MAAM,CAAC,MAAM;IAClD,eAAe,EAAE,SAAS;IAC1B,MAAM,EAAE,CAAC;IACT,aAAa,EAAE,CAAC,CPIJ,GAAG,CAAH,GAAG,COJgC,CAAC;IAChD,uBAAuB,EAAE,IAAI;IAC7B,IAAI,EPlDE,qBAAO;IOmDb,MAAM,EAAE,IAAI;IACZ,iBAAiB,EAAE,CAAC;IACpB,QAAQ,EAAE,QAAQ;IAClB,KAAK,EA1De,IAAI,GAyEzB;IA9EH,AAqDE,eArDa,CAqDb,cAAc,AAYZ,MAAO,EAjEX,AAqDE,eArDa,CAqDb,cAAc,AAaZ,MAAO,CAAC;MACN,gBAAgB,EP1DZ,qBAAO;MO2DX,MAAM,EAAE,OAAO,GAChB;IArEL,AAqDE,eArDa,CAqDb,cAAc,AAkBZ,OAAQ,CAAC;MACP,gBAAgB,EP/DZ,qBAAO,GOgEZ;IAzEL,AAqDE,eArDa,CAqDb,cAAc,AAsBZ,IAAM,CAAA,AAAA,GAAG,EAAE;MACT,SAAS,EAAE,UAAU,GACtB;EA7EL,AAiFE,eAjFa,CAiFb,6BAA6B,CAAC;IAC5B,MAAM,EAAE,CAAC;IACT,SAAS,EAAE,eAAe,GAC3B;;ACpFH,AAAA,aAAa,CAAC;EACZ,UAAU,EREF,OAAO;EQDf,aAAa,ERwGc,GAAG;EQvG9B,UAAU,ERqGU,CAAC,CAAC,GAAG,CAAC,IAAI,CA9ExB,kBAAI,EA8EgC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CA9E7C,kBAAI;EQtBV,OAAO,EAAE,KAAK;EACd,SAAS,ERoGc,IAAI;EQnG3B,mBAAmB,EAAE,GAAG;EACxB,mBAAmB,EAAE,IAAI;EACzB,QAAQ,EAAE,QAAQ;EAClB,GAAG,EAAE,MAA+B;EACpC,OAAO,EAAE,KAAK,GAkDf;EA5DD,AAYI,aAZS,GAYT,EAAE,CAAC;IACH,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,CAAC;IACT,OAAO,ER4FkB,GAAG,CQ5FS,CAAC,GA4CvC;IA3DH,AAiBM,aAjBO,GAYT,EAAE,GAKA,EAAE,CAAC;MACH,MAAM,EAAE,CAAC;MACT,KAAK,EAAE,IAAI,GAuCZ;MA1DL,AAiBM,aAjBO,GAYT,EAAE,GAKA,EAAE,AAIF,UAAW,CAAC;QACV,aAAa,EAAE,GAAG,CAAC,KAAK,CRIxB,kBAAI;QQHJ,MAAM,ERoFe,GAAG,CQpFY,CAAC,GACtC;MAxBP,AA0BQ,aA1BK,GAYT,EAAE,GAKA,EAAE,GASA,CAAC,CAAC;QACF,WAAW,EAAE,MAAM;QACnB,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,OAAO;QACf,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,IAAI;QACb,OAAO,ER2Ea,GAAG,CAAC,IAAI;QQ1E5B,WAAW,EAAE,MAAM,GAuBpB;QAzDP,AA0BQ,aA1BK,GAYT,EAAE,GAKA,EAAE,GASA,CAAC,AAUD,SAAW,CAAA,AAAA,MAAM,EAAE,AAAA,MAAM,EAAE;UACzB,UAAU,ERnCV,OAAO;UQoCP,KAAK,ERsBP,IAAI,GQTH;UAnDT,AAwCU,aAxCG,GAYT,EAAE,GAKA,EAAE,GASA,CAAC,AAUD,SAAW,CAAA,AAAA,MAAM,EAAE,AAAA,MAAM,EAIvB,CAAC,CAAC;YACA,KAAK,ERhCP,OAAO,GQiCN;UA1CX,AA4CU,aA5CG,GAYT,EAAE,GAKA,EAAE,GASA,CAAC,AAUD,SAAW,CAAA,AAAA,MAAM,EAAE,AAAA,MAAM,EAQvB,KAAK,CAAC;YACJ,IAAI,EReR,IAAI,GQdD;UA9CX,AA0BQ,aA1BK,GAYT,EAAE,GAKA,EAAE,GASA,CAAC,AAUD,SAAW,CAAA,AAAA,MAAM,EAAE,AAAA,MAAM,CAYvB,SAAW,CAAA,AAAA,MAAM,EAAE,AAAA,MAAM,EAAE;YACzB,KAAK,ERWT,IAAI,GQVD;QAlDX,AA0BQ,aA1BK,GAYT,EAAE,GAKA,EAAE,GASA,CAAC,AA2BD,SAAU,CAAC;UACT,OAAO,EAAE,GAAG;UACZ,cAAc,EAAE,IAAI,GACrB;;ACxDT,AAAA,WAAW,CAAC;EAKV,KAAK,ETGG,OAAO;ESFf,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,IAAI,GAqLlB;EA5LD,AASE,WATS,CAST,QAAQ,CAAC;IACP,UAAU,ETkDN,IAAI;ISjDR,WAAW,ET8BI,GAAG,CAAC,KAAK,CApClB,OAAO;ISOb,UAAU,ETsCK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAzCpB,qBAAO;ISIb,MAAM,EAAE,IAAI;IACZ,iBAAiB,EAAE,CAAC;IACpB,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,KAAK;IACf,GAAG,EAAE,CAAC;IACN,UAAU,EAAE,IAAI,CAAC,wBAAwB;IACzC,mBAAmB,EAAE,SAAS;IAC9B,KAAK,EAlBO,KAAK;IAmBjB,OAAO,EAAE,KAAK,GAef;IArCH,AASE,WATS,CAST,QAAQ,AAeN,OAAQ,CAAC;MACP,SAAS,EAAE,gBAAgB,GAK5B;MA9BL,AASE,WATS,CAST,QAAQ,AAeN,OAAQ,AAGN,IAAM,CAAA,AAAA,GAAG,EAAE;QACT,SAAS,EAAE,iBAAiB,GAC7B;IA7BP,AAgCI,WAhCO,CAST,QAAQ,CAuBN,EAAE,CAAC;MACD,SAAS,EAAE,IAAI;MACf,MAAM,EAAE,CAAC;MACT,WAAW,EAjCC,IAAI,GAkCjB;EApCL,AAuCE,WAvCS,CAuCT,EAAE,CAAC;IACD,MAAM,EAAE,CAAC;IACT,aAAa,ETAE,GAAG,CAAC,KAAK,CApClB,OAAO;ISqCb,MAAM,EAAE,MAAM,GACf;EA3CH,AA6CE,WA7CS,CA6CT,0BAA0B,CAAC;IACzB,cAAc,EAAE,KAAK,GAkEtB;IAhHH,AAgDI,WAhDO,CA6CT,0BAA0B,CAGxB,OAAO,CAAC;MACN,MAAM,EA/CM,IAAI,CA+CO,CAAC,GAuBzB;MAxEL,AAmDM,WAnDK,CA6CT,0BAA0B,CAGxB,OAAO,CAGL,CAAC,CAAC;QACA,MAAM,EAAE,eAAe,GACxB;MArDP,AAuDM,WAvDK,CA6CT,0BAA0B,CAGxB,OAAO,CAOL,KAAK,CAAC;QACJ,OAAO,EAAE,YAAY;QACrB,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,IAAI,GAOZ;QAjEP,AA4DQ,WA5DG,CA6CT,0BAA0B,CAGxB,OAAO,CAOL,KAAK,CAKH,KAAK,CAAC;UACJ,mBAAmB,EAAE,KAAK;UAC1B,QAAQ,EAAE,QAAQ;UAClB,GAAG,EAAE,CAAC,GACP;MAhET,AAmEQ,WAnEG,CA6CT,0BAA0B,CAGxB,OAAO,GAmBH,KAAK,CAAC;QACN,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,IAAI;QACjB,WAAW,EAAE,IAAI,GAClB;IAvEP,AA0EI,WA1EO,CA6CT,0BAA0B,CA6BxB,QAAQ,CAAC;MACP,UAAU,ETxEN,OAAO;MSyEX,MAAM,ETnCO,GAAG,CAAC,KAAK,CApClB,OAAO;MSwEX,aAAa,EAAE,GAAG;MAClB,MAAM,EA7EQ,KAAI,CA6EQ,CAAC,CA5Ef,IAAI;MA6EhB,mBAAmB,EAAE,IAAI;MACzB,OAAO,EA/EO,IAAI,GA8GnB;MA/GL,AA0EI,WA1EO,CA6CT,0BAA0B,CA6BxB,QAAQ,AAQN,SAAU,CAAC;QACT,OAAO,EAAE,GAAG,GACb;MApFP,AAsFM,WAtFK,CA6CT,0BAA0B,CA6BxB,QAAQ,CAYN,KAAK,CAAC;QAEJ,qBAAqB,EADD,IAAI;QAExB,qBAAqB,EAAE,KAAK;QAC5B,iBAAiB,EAAE,SAAS;QAC5B,OAAO,EAAE,YAAY;QACrB,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,MAAM;QACnB,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,IAAI;QACjB,KAAK,EAAE,IAAI,GAKZ;QArGP,AAsFM,WAtFK,CA6CT,0BAA0B,CA6BxB,QAAQ,CAYN,KAAK,AAYH,IAAM,CAAA,AAAA,GAAG,EAAE;UACT,qBAAqB,EAAE,KAAK,CAZV,IAAI,GAavB;MApGT,AAuGwC,WAvG7B,CA6CT,0BAA0B,CA6BxB,QAAQ,EA6BN,AAAA,IAAC,CAAK,UAAU,AAAf,CAAgB,IAAK,CAAA,AAAA,QAAQ,IAAI,KAAK;MAvG7C,AAwGkC,WAxGvB,CA6CT,0BAA0B,CA6BxB,QAAQ,EA8BN,AAAA,IAAC,CAAK,UAAU,AAAf,CAAgB,QAAQ,GAAG,KAAK,CAAC;QAChC,oBAAoB,EAAE,IAAI,GAC3B;MA1GP,AA4GM,WA5GK,CA6CT,0BAA0B,CA6BxB,QAAQ,CAkCN,OAAO,CAAC;QACN,MAAM,EAAE,CAAC,GACV;EA9GP,AAkHE,WAlHS,CAkHT,QAAQ,CAAC;IACP,gBAAgB,EThHV,OAAO;ISiHb,WAAW,ET3EI,GAAG,CAAC,KAAK,CApClB,OAAO;ISgHb,MAAM,EAAE,CAAC;IACT,iBAAiB,EAAE,CAAC;IACpB,QAAQ,EAAE,KAAK;IACf,KAAK,EArHO,KAAK,GA0HlB;IA7HH,AA0HI,WA1HO,CAkHT,QAAQ,CAQN,MAAM,CAAC;MACL,iBAAiB,EAzHL,IAAI,GA0HjB;EA5HL,AAgIE,WAhIS,EAgIT,AAAA,IAAC,CAAK,UAAU,AAAf,CAAgB,IAAK,CAAA,AAAA,QAAQ;EAhIhC,AAiIE,WAjIS,EAiIT,AAAA,IAAC,CAAK,UAAU,AAAf,CAAgB,QAAQ,CAAC;IACxB,mBAAmB,EAAE,OAAO;IAC5B,QAAQ,EAAE,QAAQ,GACnB;EApIH,AAsImD,WAtIxC,EAsIT,AAAA,IAAC,CAAK,UAAU,AAAf,CAAgB,IAAK,CAAA,AAAA,SAAS,CAAC,IAAK,CAAA,AAAA,QAAQ,IAAI,KAAK;EAtIxD,AAuI6C,WAvIlC,EAuIT,AAAA,IAAC,CAAK,UAAU,AAAf,CAAgB,IAAK,CAAA,AAAA,SAAS,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC/C,MAAM,EAAE,OAAO;IACf,OAAO,EAAE,MAAM;IACf,QAAQ,EAAE,QAAQ,GACnB;EA3IH,AA6IoC,WA7IzB,EA6IT,AAAA,IAAC,CAAK,UAAU,AAAf,CAAgB,IAAK,CAAA,AAAA,QAAQ,IAAI,KAAK,AAAA,QAAQ;EA7IjD,AA8I8B,WA9InB,EA8IT,AAAA,IAAC,CAAK,UAAU,AAAf,CAAgB,QAAQ,GAAG,KAAK,AAAA,QAAQ,CAAC;IACxC,UAAU,ETnFN,IAAI;ISoFR,MAAM,ETxGO,GAAG,CAAC,KAAK,CAlChB,OAAO;IS2Ib,aAAa,ETpFD,GAAG;ISqFf,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,IAAI;IACZ,mBAAmB,EAAE,CAAC;IACtB,QAAQ,EAAE,QAAQ;IAClB,GAAG,EAAE,CAAC;IACN,KAAK,EAAE,IAAI,GACZ;EAxJH,AA2JoC,WA3JzB,EA2JT,AAAA,IAAC,CAAK,UAAU,AAAf,CAAgB,IAAK,CAAA,AAAA,QAAQ,IAAI,KAAK,AAAA,OAAO;EA3JhD,AA4J8B,WA5JnB,EA4JT,AAAA,IAAC,CAAK,UAAU,AAAf,CAAgB,QAAQ,GAAG,KAAK,AAAA,OAAO,CAAC;IACvC,UAAU,EAAE,gDAAgD,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM;IACpF,OAAO,EAAE,EAAE;IACX,uBAAuB,EAAE,YAAY;IACrC,IAAI,ET9JE,OAAO;IS+Jb,MAAM,EAAE,IAAI;IACZ,mBAAmB,EAAE,CAAC;IACtB,QAAQ,EAAE,QAAQ;IAClB,MAAM,EAAE,IAAI;IACZ,GAAG,EAAE,CAAC;IACN,KAAK,EAAE,IAAI,GACZ;EAvKH,AA0KoC,WA1KzB,EA0KT,AAAA,IAAC,CAAK,UAAU,AAAf,CAAgB,IAAK,CAAA,AAAA,QAAQ,IAAI,KAAK,AAAA,OAAO,CAAC;IAC7C,OAAO,EAAE,CAAC,GACX;EA5KH,AA8K8B,WA9KnB,EA8KT,AAAA,IAAC,CAAK,UAAU,AAAf,CAAgB,QAAQ,GAAG,KAAK,AAAA,OAAO,CAAC;IACvC,OAAO,EAAE,CAAC,GACX;EAhLH,AAmLqC,WAnL1B,EAmLT,AAAA,IAAC,CAAK,UAAU,AAAf,CAAgB,IAAK,CAAA,AAAA,SAAS,IAAI,KAAK,AAAA,MAAM,AAAA,QAAQ,CAAC;IACrD,MAAM,EAAE,GAAG,CAAC,KAAK,CTlLX,OAAO,GSmLd;EArLH,AAwLmD,WAxLxC,EAwLT,AAAA,IAAC,CAAK,UAAU,AAAf,CAAgB,IAAK,CAAA,AAAA,SAAS,CAAC,QAAQ,AAAA,MAAM,GAAG,KAAK,AAAA,QAAQ;EAxLhE,AAyLyD,WAzL9C,EAyLT,AAAA,IAAC,CAAK,UAAU,AAAf,CAAgB,IAAK,CAAA,AAAA,SAAS,CAAC,IAAK,CAAA,AAAA,QAAQ,CAAC,MAAM,GAAG,KAAK,AAAA,QAAQ,CAAC;IACnE,MAAM,EAAE,GAAG,CAAC,MAAM,CTxLZ,OAAO,GSyLd;;AAGH,AACE,kBADgB,CAChB,MAAM,CAAC;EACL,gBAAgB,EAAE,WAAW;EAC7B,MAAM,EAAE,CAAC;EACT,MAAM,EAAE,OAAO;EACf,IAAI,ET1LE,qBAAO;ES2Lb,iBAAiB,EAAE,IAAI;EACvB,OAAO,EAAE,IAAI;EACb,QAAQ,EAAE,KAAK;EACf,GAAG,EAAE,IAAI;EACT,OAAO,EAAE,KAAK,GASf;EAnBH,AACE,kBADgB,CAChB,MAAM,AAWJ,MAAO,CAAC;IACN,gBAAgB,ETvMZ,OAAO,GSwMZ;EAdL,AACE,kBADgB,CAChB,MAAM,AAeJ,OAAQ,CAAC;IACP,gBAAgB,ET5MZ,OAAO,GS6MZ;;AChNL,AACE,oBADkB,CAClB,MAAM,CAAC;EACL,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CVwBnB,kBAAI;EUvBR,IAAI,EAAE,GAAG;EACT,WAAW,EAAE,MAAM;EACnB,QAAQ,EAAE,KAAK;EACf,GAAG,EAAE,GAAG;EACR,KAAK,EAAE,KAAK,GACb;;AARH,AAUE,oBAVkB,CAUlB,OAAO,CAAC;EACN,MAAM,EAAE,CAAC,GACV;;AAZH,AAcE,oBAdkB,CAclB,cAAc,CAAC;EACb,OAAO,EAAE,IAAI;EACb,OAAO,EAAE,IAAI;EACb,cAAc,EAAE,CAAC,GAMlB;EAvBH,AAmBI,oBAnBgB,CAclB,cAAc,CAKZ,CAAC,CAAC;IACA,MAAM,EAAE,CAAC;IACT,aAAa,EAAE,IAAI,GACpB;;AAtBL,AAyBE,oBAzBkB,CAyBlB,QAAQ,CAAC;EACP,MAAM,EAAE,CAAC;EACT,OAAO,EAAE,IAAI;EACb,SAAS,EAAE,MAAM;EACjB,OAAO,EAAE,MAAM,GAchB;EA3CH,AA+BI,oBA/BgB,CAyBlB,QAAQ,CAMN,MAAM,CAAC;IACL,iBAAiB,EAAE,IAAI;IACvB,kBAAkB,EAAE,IAAI;IACxB,oBAAoB,EAAE,IAAI;IAC1B,WAAW,EAAE,MAAM;IACnB,KAAK,EAAE,GAAG,GAMX;IA1CL,AA+BI,oBA/BgB,CAyBlB,QAAQ,CAMN,MAAM,AAOJ,KAAM,CAAC;MACL,iBAAiB,EAAE,CAAC;MACpB,mBAAmB,EAAE,CAAC,GACvB;;AAzCP,AA6CE,oBA7CkB,CA6ClB,KAAK,CAAC;EACJ,iBAAiB,EAAE,IAAI,GACxB;;AAGH,AAAA,cAAc,CAAC;EACb,UAAU,EV/CF,OAAO;EUgDf,MAAM,EAAE,IAAI;EACZ,IAAI,EAAE,CAAC;EACP,OAAO,EAAE,GAAG;EACZ,QAAQ,EAAE,KAAK;EACf,GAAG,EAAE,CAAC;EACN,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,KAAK,GACf;;AAED,AAAA,MAAM,CAAC;EACL,UAAU,EVFJ,IAAI;EUGV,MAAM,EVtBW,GAAG,CAAC,KAAK,CApClB,OAAO;EU2Df,aAAa,EAAE,GAAG;EAClB,SAAS,EAAE,IAAI;EACf,OAAO,EAAE,KAAK,GACf;;ACnED,AAAA,WAAW,CAAC;EAEV,UAAU,EX0DJ,IAAI;EWzDV,aAAa,EX0DC,GAAG;EWzDjB,OAAO,EAAE,YAAY;EACrB,MAAM,EXqFM,KAAK;EWpFjB,iBAAiB,EXyDL,IAAI;EWxDhB,QAAQ,EAAE,QAAQ;EAClB,KAAK,EAAE,IAAI,GAkKZ;EA1KD,AXkIE,WWlIS,CXkIT,oBAAoB,CAAC;IACnB,eAAe,EAAE,WAAW;IAC5B,gBAAgB,EAxEZ,IAAI;IAyER,gBAAgB,EAAE,4CAA4C;IAC9D,mBAAmB,EAAE,GAAG;IACxB,MAAM,EA/FO,GAAG,CAAC,KAAK,CAlChB,OAAO;IAkIb,aAAa,EAAE,IAAI;IACnB,UAAU,EAnCkB,CAAC,CAAC,GAAG,CA7F3B,qBAAO;IAiIb,MAAM,EAAE,OAAO;IACf,IAAI,EAlIE,qBAAO;IAmIb,MAAM,EAvCiB,IAAI;IAwC3B,iBAAiB,EAAI,OAA6B;IAClD,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,QAAQ;IAClB,GAAG,EAAI,OAA6B;IACpC,SAAS,EAAE,WAAW;IACtB,mBAAmB,EAAE,KAAK;IAC1B,mBAAmB,EAAE,kBAAkB;IACvC,KAAK,EA/CkB,IAAI,GAqD5B;IW1JH,AXkIE,WWlIS,CXkIT,oBAAoB,AAoBnB,SAAY,CAAA,AAAA,OAAO,EAAE,AAAA,MAAM,EAAE;MAC1B,OAAO,EAAE,CAAC;MACV,SAAS,EAAE,QAAQ,GACpB;EWzJL,AAUE,WAVS,AAUT,YAAa,CAAC;IACZ,UAAU,EAAE,WAAW,GAKxB;IAhBH,AAaI,WAbO,AAUT,YAAa,CAGX,KAAK,CAAC;MACJ,UAAU,EAAE,KAAK,CXmGJ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAvFpB,kBAAI,GWXP;EAfL,AAkBE,WAlBS,CAkBT,KAAK,CAAC;IACJ,aAAa,EX0CD,GAAG;IWzCf,UAAU,EX8BK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAzCpB,qBAAO;IWYb,MAAM,EAAE,IAAI,GACb;EAtBH,AAwBI,WAxBO,GAwBP,CAAC,CAAC;IACF,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,IAAI;IACZ,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,QAAQ;IAClB,KAAK,EAAE,IAAI,GAWZ;IAzCH,AAiCM,WAjCK,GAwBP,CAAC,AAQD,SAAW,CAAA,AAAA,OAAO,EAAE,AAAA,MAAM,EACxB,KAAK,CAAC;MX4FV,UAAU,EA5EK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CA5ChB,OAAO;MAyHf,UAAU,EAAE,gBAAgB,GW3FvB;IAnCP,AAqCM,WArCK,GAwBP,CAAC,AAQD,SAAW,CAAA,AAAA,OAAO,EAAE,AAAA,MAAM,EAKxB,WAAW,CAAC;MACV,KAAK,EXpCH,OAAO,GWqCV;EAvCP,AA2CE,WA3CS,AA2CT,SAAW,CAAA,AAAA,MAAM,EAAE,AAAA,MAAM,EAAE,AAAA,OAAO,CAAC,IAAK,CAAA,AAAA,YAAY,EAAE;IXkFtD,UAAU,EA5EK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CA5ChB,OAAO;IAyHf,UAAU,EAAE,gBAAgB;IWhF1B,OAAO,EAAE,IAAI,GAKd;IAnDH,AX8JE,WW9JS,AA2CT,SAAW,CAAA,AAAA,MAAM,EAAE,AAAA,MAAM,EAAE,AAAA,OAAO,CAAC,IAAK,CAAA,AAAA,YAAY,EXmHpD,oBAAoB,CAAC;MACnB,OAAO,EAAE,CAAC;MACV,SAAS,EAAE,QAAQ,GACpB;IWjKH,AAgDI,WAhDO,AA2CT,SAAW,CAAA,AAAA,MAAM,EAAE,AAAA,MAAM,EAAE,AAAA,OAAO,CAAC,IAAK,CAAA,AAAA,YAAY,EAKlD,WAAW,CAAC;MACV,KAAK,EX/CD,OAAO,GWgDZ;EAlDL,AAqDE,WArDS,CAqDT,yBAAyB,CAAC;IACxB,gBAAgB,EXnDV,OAAO;IWoDb,aAAa,EXMD,GAAG,CAAH,GAAG,CWN8B,CAAC,CAAC,CAAC;IAChD,MAAM,EXmCkB,KAAK;IWlC7B,QAAQ,EAAE,MAAM;IAChB,QAAQ,EAAE,QAAQ,GAuBnB;IAjFH,AAqDE,WArDS,CAqDT,yBAAyB,AAOvB,OAAQ,CAAC;MACP,aAAa,EAAE,GAAG,CAAC,KAAK,CXnCtB,mBAAI;MWoCN,MAAM,EAAE,CAAC;MACT,OAAO,EAAE,EAAE;MACX,QAAQ,EAAE,QAAQ;MAClB,KAAK,EAAE,IAAI,GACZ;IAlEL,AAoEI,WApEO,CAqDT,yBAAyB,CAevB,mBAAmB,CAAC;MAClB,mBAAmB,EAAE,MAAM;MAC3B,iBAAiB,EAAE,SAAS;MAC5B,eAAe,EAAE,KAAK;MACtB,MAAM,EAAE,IAAI;MACZ,OAAO,EAAE,CAAC;MACV,UAAU,EAAE,OAAO,CAAC,EAAE,CXvCZ,8BAA8B;MWwCxC,KAAK,EAAE,IAAI,GAKZ;MAhFL,AAoEI,WApEO,CAqDT,yBAAyB,CAevB,mBAAmB,AASjB,OAAQ,CAAC;QACP,OAAO,EAAE,CAAC,GACX;EA/EP,AAmFE,WAnFS,CAmFT,aAAa,CAAC;IACZ,OAAO,EAAE,cAAc,GAKxB;IAzFH,AAmFE,WAnFS,CAmFT,aAAa,AAGX,SAAU,CAAC;MACT,WAAW,EAAE,IAAI,GAClB;EAxFL,AA2FE,WA3FS,CA2FT,UAAU,CAAC;IACT,UAAU,EAAE,IAA+C;IAC3D,QAAQ,EAAE,MAAM,GA4BjB;IAzHH,AA2FE,WA3FS,CA2FT,UAAU,AAIR,SAAU,CAAC;MACT,UAAU,EAAE,KAAgD,GAC7D;IAjGL,AA2FE,WA3FS,CA2FT,UAAU,AAQR,aAAc,EAnGlB,AA2FE,WA3FS,CA2FT,UAAU,AASR,WAAY,CAAC;MACX,UAAU,EAAE,IAA+C,GAC5D;IAtGL,AA2FE,WA3FS,CA2FT,UAAU,AAaR,SAAU,AAAA,aAAa,EAxG3B,AA2FE,WA3FS,CA2FT,UAAU,AAcR,SAAU,AAAA,WAAW,CAAC;MACpB,UAAU,EAAE,KAAgD,GAC7D;IA3GL,AA2FE,WA3FS,CA2FT,UAAU,AAkBR,aAAc,AAAA,WAAW,CAAC;MACxB,UAAU,EAAE,KAA+C,GAC5D;IA/GL,AA2FE,WA3FS,CA2FT,UAAU,AAsBR,SAAU,AAAA,aAAa,AAAA,WAAW,CAAC;MACjC,UAAU,EAAE,KAAgD,GAC7D;IAnHL,AAqH2B,WArHhB,CA2FT,UAAU,AA0BR,IAAM,CAAA,AAAA,eAAe,EAAE,WAAW,CAAC;MACjC,UAAU,EAAE,IAA0B;MACtC,QAAQ,EAAE,MAAM,GACjB;EAxHL,AA2HE,WA3HS,CA2HT,eAAe,CAAC;IACd,KAAK,EXrHC,OAAO;IWsHb,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,MAAM;IAChB,cAAc,EAAE,GAAG;IACnB,aAAa,EAAE,QAAQ;IACvB,cAAc,EAAE,SAAS,GAC1B;EAlIH,AAoIE,WApIS,CAoIT,WAAW,CAAC;IACV,SAAS,EAAE,IAAI;IACf,WAAW,EXzCS,IAAI;IW0CxB,MAAM,EAAE,CAAC,CAAC,CAAC,CX3CK,GAAG;IW4CnB,SAAS,EAAE,UAAU,GACtB;EAzIH,AA2IE,WA3IS,CA2IT,iBAAiB,CAAC;IAChB,SAAS,EAAE,IAAI;IACf,WAAW,EXhDS,IAAI;IWiDxB,MAAM,EAAE,CAAC;IACT,QAAQ,EAAE,MAAM;IAChB,SAAS,EAAE,UAAU,GACtB;EAjJH,AAmJE,WAnJS,CAmJT,aAAa,CAAC;IACZ,MAAM,EAAE,CAAC;IACT,KAAK,EX9IC,OAAO;IW+Ib,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,IAAI;IACf,IAAI,EAAE,CAAC;IACP,OAAO,EAAE,mBAAmB;IAC5B,QAAQ,EAAE,QAAQ;IAClB,KAAK,EAAE,CAAC,GACT;EA5JH,AA8JE,WA9JS,CA8JT,kBAAkB,CAAC;IACjB,IAAI,EXtJE,qBAAO;IWuJb,iBAAiB,EAAE,GAAG,GACvB;EAjKH,AAmKE,WAnKS,CAmKT,mBAAmB,CAAC;IAClB,SAAS,EAAE,CAAC;IACZ,WAAW,EXhGH,IAAI;IWiGZ,QAAQ,EAAE,MAAM;IAChB,aAAa,EAAE,QAAQ;IACvB,WAAW,EAAE,MAAM,GACpB;;AAOC,MAAM,EAAE,SAAS,EAAE,MAAM;EAJ7B,AAGE,oBAHkB,CAGlB,WAAW,CAAC;IAER,MAAM,EXjFQ,KAAK,GW0HtB;IA9CH,AAOM,oBAPc,CAGlB,WAAW,CAIP,yBAAyB,CAAC;MACxB,MAAM,EXnFoB,KAAK,GWoFhC;IATP,AAWM,oBAXc,CAGlB,WAAW,CAQP,aAAa,CAAC;MACZ,OAAO,EAAE,cAAc,GACxB;IAbP,AAeM,oBAfc,CAGlB,WAAW,CAYP,UAAU,CAAC;MACT,UAAU,EAAE,KAAqC,GAClD;IAjBP,AAmBM,oBAnBc,CAGlB,WAAW,CAgBP,eAAe,CAAC;MACd,SAAS,EAAE,IAAI;MACf,cAAc,EAAE,GAAG,GACpB;IAtBP,AAwBM,oBAxBc,CAGlB,WAAW,CAqBP,WAAW,CAAC;MACV,SAAS,EAAE,IAAI;MACf,WAAW,EAzBH,IAAI;MA0BZ,aAAa,EAAE,CAAC,GACjB;IA5BP,AA+BQ,oBA/BY,CAGlB,WAAW,CA2BP,UAAU,AAAA,IAAK,CAAA,AAAA,eAAe,EAC5B,WAAW,CAAC;MACV,UAAU,EAAE,IAAgB,GAC7B;IAjCT,AAoCM,oBApCc,CAGlB,WAAW,CAiCP,iBAAiB,CAAC;MAChB,SAAS,EAAE,IAAI;MACf,WAAW,EArCH,IAAI,GAsCb;IAvCP,AAyCM,oBAzCc,CAGlB,WAAW,CAsCP,aAAa,CAAC;MACZ,MAAM,EAAE,GAAG;MACX,SAAS,EAAE,IAAI,GAChB;;ACxNP,AAAA,2BAA2B,CAAC;EAC1B,KAAK,EZOG,OAAO;EYNf,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,IAAI;EACjB,aAAa,EZ8DG,IAAoC;EY7DpD,UAAU,EAAE,MAAM,GA0BnB;EAxBC,MAAM,EAAE,SAAS,EAAE,KAAK;IAP1B,AAAA,2BAA2B,CAAC;MAQxB,OAAO,EAAE,IAAI;MACb,eAAe,EAAE,aAAa;MAC9B,UAAU,EAAE,IAAI,GAqBnB;EA/BD,AAaE,2BAbyB,CAazB,CAAC,CAAC;IACA,MAAM,EAAE,CAAC,GAMV;IALC,MAAM,EAAE,SAAS,EAAE,KAAK;MAf5B,AAaE,2BAbyB,CAazB,CAAC,CAAC;QAGE,UAAU,EAAE,MAAM;QAClB,OAAO,EAAE,IAAI;QACb,eAAe,EAAE,aAAa,GAEjC;EApBH,AAsBE,2BAtByB,CAsBzB,KAAK,CAAC;IACJ,OAAO,EAAE,IAAI,GAOd;IANC,MAAM,EAAE,SAAS,EAAE,KAAK;MAxB5B,AAsBE,2BAtByB,CAsBzB,KAAK,CAAC;QAGF,UAAU,EAAE,MAAM;QAClB,OAAO,EAAE,KAAK;QACd,IAAI,EZlBA,qBAAO;QYmBX,iBAAiB,EAAE,GAAG,GAEzB;;AAGH,AAAA,yBAAyB,CAAC;EACxB,MAAM,EAAE,CAAC;EACT,OAAO,EAAE,KAAK;EACd,SAAS,EAAE,MAAM,GAelB;EAbC,MAAM,EAAE,SAAS,EAAE,KAAK;IAL1B,AAAA,yBAAyB,CAAC;MAMtB,OAAO,EAAE,IAAI;MACb,eAAe,EAAE,aAAa;MAC9B,OAAO,EAAE,CAAC,GAUb;EAlBD,AAWE,yBAXuB,CAWvB,MAAM,CAAC;IACL,UAAU,EAAE,MAAM;IAClB,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,CAAC;IACT,mBAAmB,EAAE,IAAI;IACzB,OAAO,EAAE,MAAM,GAChB;;AClDH,AAAA,oBAAoB,CAAC;EACnB,OAAO,EbgEkB,IAAI,CADF,IAAI;Ea9D/B,gBAAgB,EAAE,KAAK;EACvB,mBAAmB,EAAE,KAAK;EAC1B,mBAAmB,EAAE,gBAAgB,GAoJtC;EAxJD,AAME,oBANkB,CAMlB,cAAc,CAAC;IACb,MAAM,EAAE,CAAC,GAYV;IAnBH,AASI,oBATgB,CAMlB,cAAc,CAGZ,aAAa,CAAC;MACZ,MAAM,EAAE,OAAO;MACf,cAAc,EAAE,GAAG;MACnB,WAAW,EAAE,MAAM,GACpB;IAbL,AAeI,oBAfgB,CAMlB,cAAc,CASZ,kBAAkB,CAAC;MACjB,mBAAmB,EAAE,GAAG;MACxB,UAAU,EAAE,IAAI,GACjB;EAlBL,AAqBE,oBArBkB,CAqBlB,gBAAgB,CAAC;IACf,QAAQ,EAAE,QAAQ,GA6BnB;IAnDH,AAwBI,oBAxBgB,CAqBlB,gBAAgB,CAGd,oBAAoB,CAAC;MACnB,UAAU,EAAE,4CAA4C,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM;MAC/E,MAAM,EAAE,CAAC;MACT,MAAM,EAAE,OAAO;MACf,IAAI,EbrBA,OAAO;MasBX,MAAM,EbwEe,IAAI;MavEzB,iBAAiB,EAAE,CAAC;MACpB,OAAO,EAAE,CAAC;MACV,QAAQ,EAAE,QAAQ;MAClB,GAAG,EAAE,CAAC;MACN,mBAAmB,EAAE,KAAK;MAC1B,mBAAmB,EAAE,OAAO;MAC5B,KAAK,EbiEgB,IAAI,Ga3D1B;MA1CL,AAwBI,oBAxBgB,CAqBlB,gBAAgB,CAGd,oBAAoB,AAclB,SAAW,CAAA,AAAA,OAAO,EAAE,AAAA,MAAM,EAAE,AAAA,MAAM,EAAE;QAClC,IAAI,Eb9BF,OAAO;Qa+BT,OAAO,EAAE,CAAC,GACX;IAzCP,AA4CI,oBA5CgB,CAqBlB,gBAAgB,CAuBd,aAAa,CAAC;MACZ,GAAG,EAAE,IAAI,GACV;IAED,MAAM,EAAE,SAAS,EAAE,MAAM;MAhD7B,Ab8KE,oBa9KkB,CAqBlB,gBAAgB,CbyJhB,aAAa,CAAC;QACZ,iBAAiB,EAAE,GAAG;QACtB,mBAAmB,EAAE,IAAI;QACzB,iBAAiB,EAAE,CAAC;QACpB,mBAAmB,EAAE,IAAI,GAC1B;EanLH,AAwDM,oBAxDc,AAqDlB,MAAO,CAEL,gBAAgB,CACd,oBAAoB,EAxD1B,AAwDM,oBAxDc,AAsDlB,OAAQ,CACN,gBAAgB,CACd,oBAAoB,CAAC;IACnB,OAAO,EAAE,CAAC,GACX;EA1DP,AA8DE,oBA9DkB,AA8DlB,OAAQ,CAAC;IACP,UAAU,Eb3DJ,wBAAO;Ia4Db,aAAa,EAAE,GAAG,GAOnB;IAvEH,AAmEM,oBAnEc,AA8DlB,OAAQ,CAIN,gBAAgB,CACd,oBAAoB,CAAC;MACnB,IAAI,Eb3DF,OAAO,Ga4DV;EArEP,AAyEE,oBAzEkB,CAyElB,mBAAmB,CAAC;IAIlB,KAAK,EbrEC,OAAO;IasEb,SAAS,EAAE,IAAI;IACf,aAAa,EAAE,IAAI;IACnB,QAAQ,EAAE,QAAQ,GAoCnB;IApHH,AAkFI,oBAlFgB,CAyElB,mBAAmB,CASjB,wBAAwB,CAAC;MACvB,OAAO,EAAE,YAAY;MACrB,UAAU,EATQ,IAAI;MAUtB,KAAK,EAAE,kBAAiC,GAKzC;MAHC,MAAM,EAAE,SAAS,EAAE,KAAK;QAvF9B,AAkFI,oBAlFgB,CAyElB,mBAAmB,CASjB,wBAAwB,CAAC;UAMrB,KAAK,EbCA,KAA6B,GaCrC;IA1FL,AA4FI,oBA5FgB,CAyElB,mBAAmB,CAmBjB,CAAC,CAAC;MACA,KAAK,EbnFD,OAAO;MaoFX,YAAY,EAAE,GAAG,GAClB;IA/FL,AAiGI,oBAjGgB,CAyElB,mBAAmB,CAwBjB,MAAM,CAAC;MACL,UAAU,Eb/FN,OAAO;MagGX,MAAM,EAAE,GAAG,CAAC,KAAK,Cb7Fb,OAAO;Ma8FX,aAAa,EAAE,GAAG;MAClB,MAAM,EAAE,OAAO;MACf,UAAU,EAAE,GAAG;MACf,SAAS,EA7BQ,KAAK;MA8BtB,UAAU,EA7BQ,IAAI;MA8BtB,iBAAiB,EAAE,CAAC,GAUrB;MAnHL,AAiGI,oBAjGgB,CAyElB,mBAAmB,CAwBjB,MAAM,AAUJ,MAAO,AAAA,IAAK,CAAA,AAAA,QAAQ,EAAE;QACpB,UAAU,Eb3DD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CA5ChB,OAAO;QawGT,UAAU,EAAE,gBAAgB,GAC7B;MAED,MAAM,EAAE,SAAS,EAAE,KAAK;QAhH9B,AAiGI,oBAjGgB,CAyElB,mBAAmB,CAwBjB,MAAM,CAAC;UAgBH,QAAQ,EAAE,QAAQ,GAErB;EAnHL,AAsHE,oBAtHkB,CAsHlB,sBAAsB,CAAC;IACrB,MAAM,Eb7BI,KAAK,Ga8BhB;EAxHH,AA0HE,oBA1HkB,CA0HlB,aAAa,CAAC;IAGZ,MAAM,EAAE,CAAC,CADY,IAAG;IAExB,OAAO,EAAE,CAAC,CAFW,GAAG,GAQzB;IApIH,AA0HE,oBA1HkB,CA0HlB,aAAa,AAMX,UAAW,CAAC;MACV,QAAQ,EAAE,MAAM;MAChB,cAAc,EAAE,IAAI,GACrB;EAnIL,AAwIM,oBAxIc,AAsIlB,kBAAmB,CACjB,cAAc,CACZ,kBAAkB,CAAC;IACjB,UAAU,EAAE,SAAS,CAAC,IAAI,CbtGlB,8BAA8B,GauGvC;EA1IP,AA6II,oBA7IgB,AAsIlB,kBAAmB,CAOjB,aAAa,CAAC;IACZ,UAAU,EAAE,UAAU,CAAC,IAAI,Cb3GjB,8BAA8B,Ga4GzC;EA/IL,AAmJI,oBAnJgB,AAkJlB,UAAW,CACT,aAAa,CAAC;IACZ,UAAU,EAAE,CAAC;IACb,QAAQ,EAAE,MAAM,GACjB"
 }
\ No newline at end of file
--- a/browser/extensions/activity-stream/css/activity-stream-windows.css
+++ b/browser/extensions/activity-stream/css/activity-stream-windows.css
@@ -73,16 +73,19 @@ input {
   .icon.icon-unpin {
     background-image: url("../data/content/assets/glyph-unpin-16.svg"); }
     .icon.icon-unpin:dir(rtl) {
       transform: scaleX(-1); }
   .icon.icon-edit {
     background-image: url("../data/content/assets/glyph-edit-16.svg"); }
   .icon.icon-pocket {
     background-image: url("../data/content/assets/glyph-pocket-16.svg"); }
+  .icon.icon-pocket-small {
+    background-image: url("../data/content/assets/glyph-pocket-16.svg");
+    background-size: 12px; }
   .icon.icon-historyItem {
     background-image: url("../data/content/assets/glyph-historyItem-16.svg"); }
   .icon.icon-trending {
     background-image: url("../data/content/assets/glyph-trending-16.svg");
     transform: translateY(2px); }
   .icon.icon-now {
     background-image: url("chrome://browser/skin/history.svg"); }
   .icon.icon-topsites {
@@ -269,31 +272,16 @@ main {
 .body-wrapper.on .section-title,
 .body-wrapper.on .sections-list .section:last-of-type,
 .body-wrapper.on .topic {
   opacity: 1; }
 
 .non-collapsible-section {
   padding: 0 25px; }
 
-.prefs-button button {
-  background-color: transparent;
-  border: 0;
-  cursor: pointer;
-  fill: rgba(12, 12, 13, 0.6);
-  offset-inline-end: 15px;
-  padding: 15px;
-  position: fixed;
-  top: 15px;
-  z-index: 12001; }
-  .prefs-button button:hover {
-    background-color: #EDEDF0; }
-  .prefs-button button:active {
-    background-color: #F9F9FA; }
-
 .as-error-fallback {
   align-items: center;
   border-radius: 3px;
   box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1);
   color: #4A4A4F;
   display: flex;
   flex-direction: column;
   font-size: 12px;
@@ -817,16 +805,156 @@ main {
           .context-menu > ul > li > a:-moz-any(:focus, :hover) .icon {
             fill: #FFF; }
           .context-menu > ul > li > a:-moz-any(:focus, :hover):-moz-any(:focus, :hover) {
             color: #FFF; }
         .context-menu > ul > li > a.disabled {
           opacity: 0.4;
           pointer-events: none; }
 
+.prefs-pane {
+  color: #4A4A4F;
+  font-size: 14px;
+  line-height: 21px; }
+  .prefs-pane .sidebar {
+    background: #FFF;
+    border-left: 1px solid #D7D7DB;
+    box-shadow: 0 1px 4px 0 rgba(12, 12, 13, 0.1);
+    height: 100%;
+    offset-inline-end: 0;
+    overflow-y: auto;
+    padding: 40px;
+    position: fixed;
+    top: 0;
+    transition: 0.1s cubic-bezier(0, 0, 0, 1);
+    transition-property: transform;
+    width: 400px;
+    z-index: 12000; }
+    .prefs-pane .sidebar.hidden {
+      transform: translateX(100%); }
+      .prefs-pane .sidebar.hidden:dir(rtl) {
+        transform: translateX(-100%); }
+    .prefs-pane .sidebar h1 {
+      font-size: 21px;
+      margin: 0;
+      padding-top: 20px; }
+  .prefs-pane hr {
+    border: 0;
+    border-bottom: 1px solid #D7D7DB;
+    margin: 20px 0; }
+  .prefs-pane .prefs-modal-inner-wrapper {
+    padding-bottom: 100px; }
+    .prefs-pane .prefs-modal-inner-wrapper section {
+      margin: 20px 0; }
+      .prefs-pane .prefs-modal-inner-wrapper section p {
+        margin: 5px 0 20px 30px; }
+      .prefs-pane .prefs-modal-inner-wrapper section label {
+        display: inline-block;
+        position: relative;
+        width: 100%; }
+        .prefs-pane .prefs-modal-inner-wrapper section label input {
+          offset-inline-start: -30px;
+          position: absolute;
+          top: 0; }
+      .prefs-pane .prefs-modal-inner-wrapper section > label {
+        font-size: 16px;
+        font-weight: bold;
+        line-height: 19px; }
+    .prefs-pane .prefs-modal-inner-wrapper .options {
+      background: #F9F9FA;
+      border: 1px solid #D7D7DB;
+      border-radius: 2px;
+      margin: -10px 0 20px;
+      margin-inline-start: 30px;
+      padding: 10px; }
+      .prefs-pane .prefs-modal-inner-wrapper .options.disabled {
+        opacity: 0.5; }
+      .prefs-pane .prefs-modal-inner-wrapper .options label {
+        background-position-x: 35px;
+        background-position-y: 2.5px;
+        background-repeat: no-repeat;
+        display: inline-block;
+        font-size: 14px;
+        font-weight: normal;
+        height: auto;
+        line-height: 21px;
+        width: 100%; }
+        .prefs-pane .prefs-modal-inner-wrapper .options label:dir(rtl) {
+          background-position-x: right 35px; }
+      .prefs-pane .prefs-modal-inner-wrapper .options [type='checkbox']:not(:checked) + label,
+      .prefs-pane .prefs-modal-inner-wrapper .options [type='checkbox']:checked + label {
+        padding-inline-start: 63px; }
+      .prefs-pane .prefs-modal-inner-wrapper .options section {
+        margin: 0; }
+  .prefs-pane .actions {
+    background-color: #F9F9FA;
+    border-left: 1px solid #D7D7DB;
+    bottom: 0;
+    offset-inline-end: 0;
+    position: fixed;
+    width: 400px; }
+    .prefs-pane .actions button {
+      margin-inline-end: 20px; }
+  .prefs-pane [type='checkbox']:not(:checked),
+  .prefs-pane [type='checkbox']:checked {
+    offset-inline-start: -9999px;
+    position: absolute; }
+  .prefs-pane [type='checkbox']:not(:disabled):not(:checked) + label,
+  .prefs-pane [type='checkbox']:not(:disabled):checked + label {
+    cursor: pointer;
+    padding: 0 30px;
+    position: relative; }
+  .prefs-pane [type='checkbox']:not(:checked) + label::before,
+  .prefs-pane [type='checkbox']:checked + label::before {
+    background: #FFF;
+    border: 1px solid #B1B1B3;
+    border-radius: 3px;
+    content: '';
+    height: 21px;
+    offset-inline-start: 0;
+    position: absolute;
+    top: 0;
+    width: 21px; }
+  .prefs-pane [type='checkbox']:not(:checked) + label::after,
+  .prefs-pane [type='checkbox']:checked + label::after {
+    background: url("chrome://global/skin/in-content/check.svg") no-repeat center center;
+    content: '';
+    -moz-context-properties: fill, stroke;
+    fill: #0060DF;
+    height: 21px;
+    offset-inline-start: 0;
+    position: absolute;
+    stroke: none;
+    top: 0;
+    width: 21px; }
+  .prefs-pane [type='checkbox']:not(:checked) + label::after {
+    opacity: 0; }
+  .prefs-pane [type='checkbox']:checked + label::after {
+    opacity: 1; }
+  .prefs-pane [type='checkbox']:not(:disabled) + label:hover::before {
+    border: 1px solid #0060DF; }
+  .prefs-pane [type='checkbox']:not(:disabled):checked:focus + label::before,
+  .prefs-pane [type='checkbox']:not(:disabled):not(:checked):focus + label::before {
+    border: 1px dotted #0060DF; }
+
+.prefs-pane-button button {
+  background-color: transparent;
+  border: 0;
+  cursor: pointer;
+  fill: rgba(12, 12, 13, 0.6);
+  offset-inline-end: 15px;
+  padding: 15px;
+  position: fixed;
+  top: 15px;
+  z-index: 12001; }
+  .prefs-pane-button button:hover {
+    background-color: #EDEDF0; }
+  .prefs-pane-button button:active {
+    background-color: #F9F9FA; }
+
 .confirmation-dialog .modal {
   box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.1);
   left: 50%;
   margin-left: -200px;
   position: fixed;
   top: 20%;
   width: 400px; }
 
--- a/browser/extensions/activity-stream/css/activity-stream-windows.css.map
+++ b/browser/extensions/activity-stream/css/activity-stream-windows.css.map
@@ -9,34 +9,36 @@
 		"../content-src/styles/_icons.scss",
 		"../content-src/components/Base/_Base.scss",
 		"../content-src/components/ErrorBoundary/_ErrorBoundary.scss",
 		"../content-src/components/TopSites/_TopSites.scss",
 		"../content-src/components/Sections/_Sections.scss",
 		"../content-src/components/Topics/_Topics.scss",
 		"../content-src/components/Search/_Search.scss",
 		"../content-src/components/ContextMenu/_ContextMenu.scss",
+		"../content-src/components/PreferencesPane/_PreferencesPane.scss",
 		"../content-src/components/ConfirmDialog/_ConfirmDialog.scss",
 		"../content-src/components/Card/_Card.scss",
 		"../content-src/components/ManualMigration/_ManualMigration.scss",
 		"../content-src/components/CollapsibleSection/_CollapsibleSection.scss"
 	],
 	"sourcesContent": [
 		"/* This is the windows variant */ // sass-lint:disable-line no-css-comments\n\n$os-infopanel-arrow-height: 10px;\n$os-infopanel-arrow-offset-end: 6px;\n$os-infopanel-arrow-width: 20px;\n$os-search-focus-shadow-radius: 1px;\n\n@import './activity-stream';\n",
-		"@import './normalize';\n@import './variables';\n@import './icons';\n\nhtml,\nbody,\n#root { // sass-lint:disable-line no-ids\n  height: 100%;\n}\n\nbody {\n  background: $background-primary;\n  color: $text-primary;\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Ubuntu', 'Helvetica Neue', sans-serif;\n  font-size: 16px;\n  overflow-y: scroll;\n}\n\nh1,\nh2 {\n  font-weight: normal;\n}\n\na {\n  color: $link-primary;\n  text-decoration: none;\n\n  &:hover {\n    color: $link-secondary;\n  }\n}\n\n// For screen readers\n.sr-only {\n  border: 0;\n  clip: rect(0, 0, 0, 0);\n  height: 1px;\n  margin: -1px;\n  overflow: hidden;\n  padding: 0;\n  position: absolute;\n  width: 1px;\n}\n\n.inner-border {\n  border: $border-secondary;\n  border-radius: $border-radius;\n  height: 100%;\n  left: 0;\n  pointer-events: none;\n  position: absolute;\n  top: 0;\n  width: 100%;\n  z-index: 100;\n}\n\n@keyframes fadeIn {\n  from {\n    opacity: 0;\n  }\n\n  to {\n    opacity: 1;\n  }\n}\n\n.show-on-init {\n  opacity: 0;\n  transition: opacity 0.2s ease-in;\n\n  &.on {\n    animation: fadeIn 0.2s;\n    opacity: 1;\n  }\n}\n\n.actions {\n  border-top: $border-secondary;\n  display: flex;\n  flex-direction: row;\n  flex-wrap: wrap;\n  justify-content: flex-start;\n  margin: 0;\n  padding: 15px 25px 0;\n\n  button {\n    background-color: $input-secondary;\n    border: $border-primary;\n    border-radius: 4px;\n    color: inherit;\n    cursor: pointer;\n    margin-bottom: 15px;\n    padding: 10px 30px;\n    white-space: nowrap;\n\n    &:hover:not(.dismiss) {\n      box-shadow: $shadow-primary;\n      transition: box-shadow 150ms;\n    }\n\n    &.dismiss {\n      border: 0;\n      padding: 0;\n      text-decoration: underline;\n    }\n\n    &.done {\n      background: $input-primary;\n      border: solid 1px $blue-60;\n      color: $white;\n      margin-inline-start: auto;\n    }\n  }\n}\n\n// Make sure snippets show up above other UI elements\n#snippets-container { // sass-lint:disable-line no-ids\n  z-index: 1;\n}\n\n// Components\n@import '../components/Base/Base';\n@import '../components/ErrorBoundary/ErrorBoundary';\n@import '../components/TopSites/TopSites';\n@import '../components/Sections/Sections';\n@import '../components/Topics/Topics';\n@import '../components/Search/Search';\n@import '../components/ContextMenu/ContextMenu';\n@import '../components/ConfirmDialog/ConfirmDialog';\n@import '../components/Card/Card';\n@import '../components/ManualMigration/ManualMigration';\n@import '../components/CollapsibleSection/CollapsibleSection';\n",
+		"@import './normalize';\n@import './variables';\n@import './icons';\n\nhtml,\nbody,\n#root { // sass-lint:disable-line no-ids\n  height: 100%;\n}\n\nbody {\n  background: $background-primary;\n  color: $text-primary;\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Ubuntu', 'Helvetica Neue', sans-serif;\n  font-size: 16px;\n  overflow-y: scroll;\n}\n\nh1,\nh2 {\n  font-weight: normal;\n}\n\na {\n  color: $link-primary;\n  text-decoration: none;\n\n  &:hover {\n    color: $link-secondary;\n  }\n}\n\n// For screen readers\n.sr-only {\n  border: 0;\n  clip: rect(0, 0, 0, 0);\n  height: 1px;\n  margin: -1px;\n  overflow: hidden;\n  padding: 0;\n  position: absolute;\n  width: 1px;\n}\n\n.inner-border {\n  border: $border-secondary;\n  border-radius: $border-radius;\n  height: 100%;\n  left: 0;\n  pointer-events: none;\n  position: absolute;\n  top: 0;\n  width: 100%;\n  z-index: 100;\n}\n\n@keyframes fadeIn {\n  from {\n    opacity: 0;\n  }\n\n  to {\n    opacity: 1;\n  }\n}\n\n.show-on-init {\n  opacity: 0;\n  transition: opacity 0.2s ease-in;\n\n  &.on {\n    animation: fadeIn 0.2s;\n    opacity: 1;\n  }\n}\n\n.actions {\n  border-top: $border-secondary;\n  display: flex;\n  flex-direction: row;\n  flex-wrap: wrap;\n  justify-content: flex-start;\n  margin: 0;\n  padding: 15px 25px 0;\n\n  button {\n    background-color: $input-secondary;\n    border: $border-primary;\n    border-radius: 4px;\n    color: inherit;\n    cursor: pointer;\n    margin-bottom: 15px;\n    padding: 10px 30px;\n    white-space: nowrap;\n\n    &:hover:not(.dismiss) {\n      box-shadow: $shadow-primary;\n      transition: box-shadow 150ms;\n    }\n\n    &.dismiss {\n      border: 0;\n      padding: 0;\n      text-decoration: underline;\n    }\n\n    &.done {\n      background: $input-primary;\n      border: solid 1px $blue-60;\n      color: $white;\n      margin-inline-start: auto;\n    }\n  }\n}\n\n// Make sure snippets show up above other UI elements\n#snippets-container { // sass-lint:disable-line no-ids\n  z-index: 1;\n}\n\n// Components\n@import '../components/Base/Base';\n@import '../components/ErrorBoundary/ErrorBoundary';\n@import '../components/TopSites/TopSites';\n@import '../components/Sections/Sections';\n@import '../components/Topics/Topics';\n@import '../components/Search/Search';\n@import '../components/ContextMenu/ContextMenu';\n@import '../components/PreferencesPane/PreferencesPane';\n@import '../components/ConfirmDialog/ConfirmDialog';\n@import '../components/Card/Card';\n@import '../components/ManualMigration/ManualMigration';\n@import '../components/CollapsibleSection/CollapsibleSection';\n",
 		"html {\n  box-sizing: border-box;\n}\n\n*,\n*::before,\n*::after {\n  box-sizing: inherit;\n}\n\n*::-moz-focus-inner {\n  border: 0;\n}\n\nbody {\n  margin: 0;\n}\n\nbutton,\ninput {\n  background-color: inherit;\n  color: inherit;\n  font-family: inherit;\n  font-size: inherit;\n}\n\n[hidden] {\n  display: none !important; // sass-lint:disable-line no-important\n}\n",
 		"// Photon colors from http://design.firefox.com/photon/visuals/color.html\n$blue-50: #0A84FF;\n$blue-60: #0060DF;\n$grey-10: #F9F9FA;\n$grey-20: #EDEDF0;\n$grey-30: #D7D7DB;\n$grey-40: #B1B1B3;\n$grey-50: #737373;\n$grey-60: #4A4A4F;\n$grey-90: #0C0C0D;\n$teal-70: #008EA4;\n$red-60: #D70022;\n\n// Photon opacity from http://design.firefox.com/photon/visuals/color.html#opacity\n$grey-90-10: rgba($grey-90, 0.1);\n$grey-90-20: rgba($grey-90, 0.2);\n$grey-90-30: rgba($grey-90, 0.3);\n$grey-90-40: rgba($grey-90, 0.4);\n$grey-90-50: rgba($grey-90, 0.5);\n$grey-90-60: rgba($grey-90, 0.6);\n$grey-90-70: rgba($grey-90, 0.7);\n$grey-90-80: rgba($grey-90, 0.8);\n$grey-90-90: rgba($grey-90, 0.9);\n\n$grey-20-60: rgba($grey-20, 0.6);\n\n$black: #000;\n$black-5: rgba($black, 0.05);\n$black-10: rgba($black, 0.1);\n$black-15: rgba($black, 0.15);\n$black-20: rgba($black, 0.2);\n$black-25: rgba($black, 0.25);\n$black-30: rgba($black, 0.3);\n\n// Photon transitions from http://design.firefox.com/photon/motion/duration-and-easing.html\n$photon-easing: cubic-bezier(0.07, 0.95, 0, 1);\n\n// Aliases and derived styles based on Photon colors for common usage\n$background-primary: $grey-10;\n$background-secondary: $grey-20;\n$border-primary: 1px solid $grey-40;\n$border-secondary: 1px solid $grey-30;\n$fill-primary: $grey-90-80;\n$fill-secondary: $grey-90-60;\n$fill-tertiary: $grey-30;\n$input-primary: $blue-60;\n$input-secondary: $grey-10;\n$link-primary: $blue-60;\n$link-secondary: $teal-70;\n$shadow-primary: 0 0 0 5px $grey-30;\n$shadow-secondary: 0 1px 4px 0 $grey-90-10;\n$text-primary: $grey-90;\n$text-conditional: $grey-60;\n$text-secondary: $grey-50;\n$input-border: solid 1px $grey-90-20;\n$input-border-active: solid 1px $blue-50;\n$input-error-border: solid 1px $red-60;\n$input-error-boxshadow: 0 0 0 2px rgba($red-60, 0.35);\n$input-focus-boxshadow: 0 0 0 2px rgba($blue-50, 0.35);\n\n$white: #FFF;\n$border-radius: 3px;\n\n$base-gutter: 32px;\n$section-horizontal-padding: 25px;\n$section-vertical-padding: 10px;\n$section-spacing: 40px - $section-vertical-padding * 2;\n$grid-unit: 96px; // 1 top site\n\n$icon-size: 16px;\n$smaller-icon-size: 12px;\n$larger-icon-size: 32px;\n\n$wrapper-default-width: $grid-unit * 2 + $base-gutter * 1 + $section-horizontal-padding * 2; // 2 top sites\n$wrapper-max-width-small: $grid-unit * 3 + $base-gutter * 2 + $section-horizontal-padding * 2; // 3 top sites\n$wrapper-max-width-medium: $grid-unit * 4 + $base-gutter * 3 + $section-horizontal-padding * 2; // 4 top sites\n$wrapper-max-width-large: $grid-unit * 6 + $base-gutter * 5 + $section-horizontal-padding * 2; // 6 top sites\n$wrapper-max-width-widest: $grid-unit * 8 + $base-gutter * 7 + $section-horizontal-padding * 2; // 8 top sites\n// For the breakpoints, we need to add space for the scrollbar to avoid weird\n// layout issues when the scrollbar is visible. 16px is wide enough to cover all\n// OSes and keeps it simpler than a per-OS value.\n$scrollbar-width: 16px;\n$break-point-small: $wrapper-max-width-small + $base-gutter * 2 + $scrollbar-width;\n$break-point-medium: $wrapper-max-width-medium + $base-gutter * 2 + $scrollbar-width;\n$break-point-large: $wrapper-max-width-large + $base-gutter * 2 + $scrollbar-width;\n$break-point-widest: $wrapper-max-width-widest + $base-gutter * 2 + $scrollbar-width;\n\n$section-title-font-size: 13px;\n\n$card-width: $grid-unit * 2 + $base-gutter;\n$card-height: 266px;\n$card-preview-image-height: 122px;\n$card-title-margin: 2px;\n$card-text-line-height: 19px;\n// Larger cards for wider screens:\n$card-width-large: 309px;\n$card-height-large: 370px;\n$card-preview-image-height-large: 155px;\n\n$topic-margin-top: 12px;\n\n$context-menu-button-size: 27px;\n$context-menu-button-boxshadow: 0 2px $grey-90-10;\n$context-menu-border-color: $black-20;\n$context-menu-shadow: 0 5px 10px $black-30, 0 0 0 1px $context-menu-border-color;\n$context-menu-font-size: 14px;\n$context-menu-border-radius: 5px;\n$context-menu-outer-padding: 5px;\n$context-menu-item-padding: 3px 12px;\n\n$error-fallback-font-size: 12px;\n$error-fallback-line-height: 1.5;\n\n$inner-box-shadow: 0 0 0 1px $black-10;\n\n$image-path: '../data/content/assets/';\n\n$snippets-container-height: 120px;\n\n@mixin fade-in {\n  box-shadow: inset $inner-box-shadow, $shadow-primary;\n  transition: box-shadow 150ms;\n}\n\n@mixin fade-in-card {\n  box-shadow: $shadow-primary;\n  transition: box-shadow 150ms;\n}\n\n@mixin context-menu-button {\n  .context-menu-button {\n    background-clip: padding-box;\n    background-color: $white;\n    background-image: url('chrome://browser/skin/page-action.svg');\n    background-position: 55%;\n    border: $border-primary;\n    border-radius: 100%;\n    box-shadow: $context-menu-button-boxshadow;\n    cursor: pointer;\n    fill: $fill-primary;\n    height: $context-menu-button-size;\n    offset-inline-end: -($context-menu-button-size / 2);\n    opacity: 0;\n    position: absolute;\n    top: -($context-menu-button-size / 2);\n    transform: scale(0.25);\n    transition-duration: 200ms;\n    transition-property: transform, opacity;\n    width: $context-menu-button-size;\n\n    &:-moz-any(:active, :focus) {\n      opacity: 1;\n      transform: scale(1);\n    }\n  }\n}\n\n@mixin context-menu-button-hover {\n  .context-menu-button {\n    opacity: 1;\n    transform: scale(1);\n  }\n}\n\n@mixin context-menu-open-middle {\n  .context-menu {\n    margin-inline-end: auto;\n    margin-inline-start: auto;\n    offset-inline-end: auto;\n    offset-inline-start: -$base-gutter;\n  }\n}\n\n@mixin context-menu-open-left {\n  .context-menu {\n    margin-inline-end: 5px;\n    margin-inline-start: auto;\n    offset-inline-end: 0;\n    offset-inline-start: auto;\n  }\n}\n\n@mixin flip-icon {\n  &:dir(rtl) {\n    transform: scaleX(-1);\n  }\n}\n",
-		".icon {\n  background-position: center center;\n  background-repeat: no-repeat;\n  background-size: $icon-size;\n  -moz-context-properties: fill;\n  display: inline-block;\n  fill: $fill-primary;\n  height: $icon-size;\n  vertical-align: middle;\n  width: $icon-size;\n\n  &.icon-spacer {\n    margin-inline-end: 8px;\n  }\n\n  &.icon-small-spacer {\n    margin-inline-end: 6px;\n  }\n\n  &.icon-bookmark-added {\n    background-image: url('chrome://browser/skin/bookmark.svg');\n  }\n\n  &.icon-bookmark-hollow {\n    background-image: url('chrome://browser/skin/bookmark-hollow.svg');\n  }\n\n  &.icon-clear-input {\n    fill: $fill-secondary;\n    background-image: url('#{$image-path}glyph-cancel-16.svg');\n  }\n\n  &.icon-delete {\n    background-image: url('#{$image-path}glyph-delete-16.svg');\n  }\n\n  &.icon-modal-delete {\n    background-image: url('#{$image-path}glyph-modal-delete-32.svg');\n    background-size: $larger-icon-size;\n    height: $larger-icon-size;\n    width: $larger-icon-size;\n  }\n\n  &.icon-dismiss {\n    background-image: url('#{$image-path}glyph-dismiss-16.svg');\n  }\n\n  &.icon-info {\n    background-image: url('#{$image-path}glyph-info-16.svg');\n  }\n\n  &.icon-import {\n    background-image: url('#{$image-path}glyph-import-16.svg');\n  }\n\n  &.icon-new-window {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-newWindow-16.svg');\n  }\n\n  &.icon-new-window-private {\n    background-image: url('chrome://browser/skin/privateBrowsing.svg');\n  }\n\n  &.icon-settings {\n    background-image: url('chrome://browser/skin/settings.svg');\n  }\n\n  &.icon-pin {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-pin-16.svg');\n  }\n\n  &.icon-unpin {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-unpin-16.svg');\n  }\n\n  &.icon-edit {\n    background-image: url('#{$image-path}glyph-edit-16.svg');\n  }\n\n  &.icon-pocket {\n    background-image: url('#{$image-path}glyph-pocket-16.svg');\n  }\n\n  &.icon-historyItem { // sass-lint:disable-line class-name-format\n    background-image: url('#{$image-path}glyph-historyItem-16.svg');\n  }\n\n  &.icon-trending {\n    background-image: url('#{$image-path}glyph-trending-16.svg');\n    transform: translateY(2px); // trending bolt is visually top heavy\n  }\n\n  &.icon-now {\n    background-image: url('chrome://browser/skin/history.svg');\n  }\n\n  &.icon-topsites {\n    background-image: url('#{$image-path}glyph-topsites-16.svg');\n  }\n\n  &.icon-pin-small {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-pin-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    width: $smaller-icon-size;\n  }\n\n  &.icon-check {\n    background-image: url('chrome://browser/skin/check.svg');\n  }\n\n  &.icon-webextension {\n    background-image: url('#{$image-path}glyph-webextension-16.svg');\n  }\n\n  &.icon-highlights {\n    background-image: url('#{$image-path}glyph-highlights-16.svg');\n  }\n\n  &.icon-arrowhead-down {\n    background-image: url('#{$image-path}glyph-arrowhead-down-16.svg');\n  }\n\n  &.icon-arrowhead-down-small {\n    background-image: url('#{$image-path}glyph-arrowhead-down-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    width: $smaller-icon-size;\n  }\n\n  &.icon-arrowhead-forward-small {\n    background-image: url('#{$image-path}glyph-arrowhead-down-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    transform: rotate(-90deg);\n    width: $smaller-icon-size;\n\n    &:dir(rtl) {\n      transform: rotate(90deg);\n    }\n  }\n\n  &.icon-arrowhead-up {\n    background-image: url('#{$image-path}glyph-arrowhead-down-16.svg');\n    transform: rotate(180deg);\n  }\n\n  &.icon-add {\n    background-image: url('#{$image-path}glyph-add-16.svg');\n  }\n\n  &.icon-minimize {\n    background-image: url('#{$image-path}glyph-minimize-16.svg');\n  }\n\n  &.icon-maximize {\n    background-image: url('#{$image-path}glyph-maximize-16.svg');\n  }\n}\n",
-		".outer-wrapper {\n  display: flex;\n  flex-grow: 1;\n  height: 100%;\n  padding: ($section-spacing + $section-vertical-padding) $base-gutter $base-gutter;\n\n  &.fixed-to-top {\n    height: auto;\n  }\n}\n\nmain {\n  margin: auto;\n  // Offset the snippets container so things at the bottom of the page are still\n  // visible when snippets / onboarding are visible. Adjust for other spacing.\n  padding-bottom: $snippets-container-height - $section-spacing - $base-gutter;\n  width: $wrapper-default-width;\n\n  @media (min-width: $break-point-small) {\n    width: $wrapper-max-width-small;\n  }\n\n  @media (min-width: $break-point-medium) {\n    width: $wrapper-max-width-medium;\n  }\n\n  @media (min-width: $break-point-large) {\n    width: $wrapper-max-width-large;\n  }\n\n  section {\n    margin-bottom: $section-spacing;\n    position: relative;\n  }\n}\n\n.wide-layout-enabled {\n  main {\n    @media (min-width: $break-point-widest) {\n      width: $wrapper-max-width-widest;\n    }\n  }\n}\n\n.section-top-bar {\n  height: 16px;\n  margin-bottom: 16px;\n}\n\n.section-title {\n  font-size: $section-title-font-size;\n  font-weight: bold;\n  text-transform: uppercase;\n\n  span {\n    color: $text-secondary;\n    fill: $text-secondary;\n    vertical-align: middle;\n  }\n}\n\n.base-content-fallback {\n  // Make the error message be centered against the viewport\n  height: 100vh;\n}\n\n.body-wrapper {\n  // Hide certain elements so the page structure is fixed, e.g., placeholders,\n  // while avoiding flashes of changing content, e.g., icons and text\n  $selectors-to-hide: '\n    .section-title,\n    .sections-list .section:last-of-type,\n    .topic\n  ';\n\n  #{$selectors-to-hide} {\n    opacity: 0;\n  }\n\n  &.on {\n    #{$selectors-to-hide} {\n      opacity: 1;\n    }\n  }\n}\n\n.non-collapsible-section {\n  padding: 0 $section-horizontal-padding;\n}\n\n.prefs-button {\n  button {\n    background-color: transparent;\n    border: 0;\n    cursor: pointer;\n    fill: $fill-secondary;\n    offset-inline-end: 15px;\n    padding: 15px;\n    position: fixed;\n    top: 15px;\n    z-index: 12001;\n\n    &:hover {\n      background-color: $background-secondary;\n    }\n\n    &:active {\n      background-color: $background-primary;\n    }\n  }\n}\n",
+		".icon {\n  background-position: center center;\n  background-repeat: no-repeat;\n  background-size: $icon-size;\n  -moz-context-properties: fill;\n  display: inline-block;\n  fill: $fill-primary;\n  height: $icon-size;\n  vertical-align: middle;\n  width: $icon-size;\n\n  &.icon-spacer {\n    margin-inline-end: 8px;\n  }\n\n  &.icon-small-spacer {\n    margin-inline-end: 6px;\n  }\n\n  &.icon-bookmark-added {\n    background-image: url('chrome://browser/skin/bookmark.svg');\n  }\n\n  &.icon-bookmark-hollow {\n    background-image: url('chrome://browser/skin/bookmark-hollow.svg');\n  }\n\n  &.icon-clear-input {\n    fill: $fill-secondary;\n    background-image: url('#{$image-path}glyph-cancel-16.svg');\n  }\n\n  &.icon-delete {\n    background-image: url('#{$image-path}glyph-delete-16.svg');\n  }\n\n  &.icon-modal-delete {\n    background-image: url('#{$image-path}glyph-modal-delete-32.svg');\n    background-size: $larger-icon-size;\n    height: $larger-icon-size;\n    width: $larger-icon-size;\n  }\n\n  &.icon-dismiss {\n    background-image: url('#{$image-path}glyph-dismiss-16.svg');\n  }\n\n  &.icon-info {\n    background-image: url('#{$image-path}glyph-info-16.svg');\n  }\n\n  &.icon-import {\n    background-image: url('#{$image-path}glyph-import-16.svg');\n  }\n\n  &.icon-new-window {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-newWindow-16.svg');\n  }\n\n  &.icon-new-window-private {\n    background-image: url('chrome://browser/skin/privateBrowsing.svg');\n  }\n\n  &.icon-settings {\n    background-image: url('chrome://browser/skin/settings.svg');\n  }\n\n  &.icon-pin {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-pin-16.svg');\n  }\n\n  &.icon-unpin {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-unpin-16.svg');\n  }\n\n  &.icon-edit {\n    background-image: url('#{$image-path}glyph-edit-16.svg');\n  }\n\n  &.icon-pocket {\n    background-image: url('#{$image-path}glyph-pocket-16.svg');\n  }\n\n  &.icon-pocket-small {\n    background-image: url('#{$image-path}glyph-pocket-16.svg');\n    background-size: $smaller-icon-size;\n  }\n\n  &.icon-historyItem { // sass-lint:disable-line class-name-format\n    background-image: url('#{$image-path}glyph-historyItem-16.svg');\n  }\n\n  &.icon-trending {\n    background-image: url('#{$image-path}glyph-trending-16.svg');\n    transform: translateY(2px); // trending bolt is visually top heavy\n  }\n\n  &.icon-now {\n    background-image: url('chrome://browser/skin/history.svg');\n  }\n\n  &.icon-topsites {\n    background-image: url('#{$image-path}glyph-topsites-16.svg');\n  }\n\n  &.icon-pin-small {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-pin-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    width: $smaller-icon-size;\n  }\n\n  &.icon-check {\n    background-image: url('chrome://browser/skin/check.svg');\n  }\n\n  &.icon-webextension {\n    background-image: url('#{$image-path}glyph-webextension-16.svg');\n  }\n\n  &.icon-highlights {\n    background-image: url('#{$image-path}glyph-highlights-16.svg');\n  }\n\n  &.icon-arrowhead-down {\n    background-image: url('#{$image-path}glyph-arrowhead-down-16.svg');\n  }\n\n  &.icon-arrowhead-down-small {\n    background-image: url('#{$image-path}glyph-arrowhead-down-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    width: $smaller-icon-size;\n  }\n\n  &.icon-arrowhead-forward-small {\n    background-image: url('#{$image-path}glyph-arrowhead-down-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    transform: rotate(-90deg);\n    width: $smaller-icon-size;\n\n    &:dir(rtl) {\n      transform: rotate(90deg);\n    }\n  }\n\n  &.icon-arrowhead-up {\n    background-image: url('#{$image-path}glyph-arrowhead-down-16.svg');\n    transform: rotate(180deg);\n  }\n\n  &.icon-add {\n    background-image: url('#{$image-path}glyph-add-16.svg');\n  }\n\n  &.icon-minimize {\n    background-image: url('#{$image-path}glyph-minimize-16.svg');\n  }\n\n  &.icon-maximize {\n    background-image: url('#{$image-path}glyph-maximize-16.svg');\n  }\n}\n",
+		".outer-wrapper {\n  display: flex;\n  flex-grow: 1;\n  height: 100%;\n  padding: ($section-spacing + $section-vertical-padding) $base-gutter $base-gutter;\n\n  &.fixed-to-top {\n    height: auto;\n  }\n}\n\nmain {\n  margin: auto;\n  // Offset the snippets container so things at the bottom of the page are still\n  // visible when snippets / onboarding are visible. Adjust for other spacing.\n  padding-bottom: $snippets-container-height - $section-spacing - $base-gutter;\n  width: $wrapper-default-width;\n\n  @media (min-width: $break-point-small) {\n    width: $wrapper-max-width-small;\n  }\n\n  @media (min-width: $break-point-medium) {\n    width: $wrapper-max-width-medium;\n  }\n\n  @media (min-width: $break-point-large) {\n    width: $wrapper-max-width-large;\n  }\n\n  section {\n    margin-bottom: $section-spacing;\n    position: relative;\n  }\n}\n\n.wide-layout-enabled {\n  main {\n    @media (min-width: $break-point-widest) {\n      width: $wrapper-max-width-widest;\n    }\n  }\n}\n\n.section-top-bar {\n  height: 16px;\n  margin-bottom: 16px;\n}\n\n.section-title {\n  font-size: $section-title-font-size;\n  font-weight: bold;\n  text-transform: uppercase;\n\n  span {\n    color: $text-secondary;\n    fill: $text-secondary;\n    vertical-align: middle;\n  }\n}\n\n.base-content-fallback {\n  // Make the error message be centered against the viewport\n  height: 100vh;\n}\n\n.body-wrapper {\n  // Hide certain elements so the page structure is fixed, e.g., placeholders,\n  // while avoiding flashes of changing content, e.g., icons and text\n  $selectors-to-hide: '\n    .section-title,\n    .sections-list .section:last-of-type,\n    .topic\n  ';\n\n  #{$selectors-to-hide} {\n    opacity: 0;\n  }\n\n  &.on {\n    #{$selectors-to-hide} {\n      opacity: 1;\n    }\n  }\n}\n\n.non-collapsible-section {\n  padding: 0 $section-horizontal-padding;\n}\n",
 		".as-error-fallback {\n  align-items: center;\n  border-radius: $border-radius;\n  box-shadow: inset $inner-box-shadow;\n  color: $text-conditional;\n  display: flex;\n  flex-direction: column;\n  font-size: $error-fallback-font-size;\n  justify-content: center;\n  justify-items: center;\n  line-height: $error-fallback-line-height;\n\n  a {\n    color: $text-conditional;\n    text-decoration: underline;\n  }\n}\n\n",
 		"$top-sites-size: $grid-unit;\n$top-sites-border-radius: 6px;\n$top-sites-title-height: 30px;\n$top-sites-vertical-space: 8px;\n$screenshot-size: cover;\n$rich-icon-size: 96px;\n$default-icon-wrapper-size: 42px;\n$default-icon-size: 32px;\n$default-icon-offset: 6px;\n$half-base-gutter: $base-gutter / 2;\n\n.top-sites {\n  // Take back the margin from the bottom row of vertical spacing as well as the\n  // extra whitespace below the title text as it's vertically centered.\n  margin-bottom: $section-spacing - ($top-sites-vertical-space + $top-sites-title-height / 3);\n}\n\n.top-sites-list {\n  list-style: none;\n  margin: 0 (-$half-base-gutter);\n  padding: 0;\n\n  // Two columns\n  @media (max-width: $break-point-small) {\n    :nth-child(2n+1) {\n      @include context-menu-open-middle;\n    }\n\n    :nth-child(2n) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Three columns\n  @media (min-width: $break-point-small) and (max-width: $break-point-medium) {\n    :nth-child(3n+2),\n    :nth-child(3n) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Four columns\n  @media (min-width: $break-point-medium) and (max-width: $break-point-large) {\n    :nth-child(4n) {\n      @include context-menu-open-left;\n    }\n  }\n  @media (min-width: $break-point-medium) and (max-width: $break-point-medium + $card-width) {\n    :nth-child(4n+3) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Six columns\n  @media (min-width: $break-point-large) and (max-width: $break-point-large + 2 * $card-width) {\n    :nth-child(6n) {\n      @include context-menu-open-left;\n    }\n  }\n  @media (min-width: $break-point-large) and (max-width: $break-point-large + $card-width) {\n    :nth-child(6n+5) {\n      @include context-menu-open-left;\n    }\n  }\n\n  li {\n    margin: 0 0 $top-sites-vertical-space;\n  }\n\n  &:not(.dnd-active) {\n    .top-site-outer:-moz-any(.active, :focus, :hover) {\n      .tile {\n        @include fade-in;\n      }\n\n      @include context-menu-button-hover;\n    }\n  }\n}\n\n// container for drop zone\n.top-site-outer {\n  padding: 0 $half-base-gutter;\n  display: inline-block;\n\n  // container for context menu\n  .top-site-inner {\n    position: relative;\n\n    > a {\n      color: inherit;\n      display: block;\n      outline: none;\n\n      &:-moz-any(.active, :focus) {\n        .tile {\n          @include fade-in;\n        }\n      }\n    }\n  }\n\n  @include context-menu-button;\n\n  .tile { // sass-lint:disable-block property-sort-order\n    border-radius: $top-sites-border-radius;\n    box-shadow: inset $inner-box-shadow, $shadow-secondary;\n    height: $top-sites-size;\n    position: relative;\n    width: $top-sites-size;\n\n    // For letter fallback\n    align-items: center;\n    color: $text-secondary;\n    display: flex;\n    font-size: 32px;\n    font-weight: 200;\n    justify-content: center;\n    text-transform: uppercase;\n\n    &::before {\n      content: attr(data-fallback);\n    }\n  }\n\n  .screenshot {\n    background-color: $white;\n    background-position: top left;\n    background-size: $screenshot-size;\n    border-radius: $top-sites-border-radius;\n    box-shadow: inset $inner-box-shadow;\n    height: 100%;\n    left: 0;\n    opacity: 0;\n    position: absolute;\n    top: 0;\n    transition: opacity 1s;\n    width: 100%;\n\n    &.active {\n      opacity: 1;\n    }\n  }\n\n  // Some common styles for all icons (rich and default) in top sites\n  .top-site-icon {\n    background-color: $background-primary;\n    background-position: center center;\n    background-repeat: no-repeat;\n    border-radius: $top-sites-border-radius;\n    box-shadow: inset $inner-box-shadow;\n    position: absolute;\n  }\n\n  .rich-icon {\n    background-size: $rich-icon-size;\n    height: 100%;\n    offset-inline-start: 0;\n    top: 0;\n    width: 100%;\n  }\n\n  .default-icon { // sass-lint:disable block property-sort-order\n    background-size: $default-icon-size;\n    bottom: -$default-icon-offset;\n    height: $default-icon-wrapper-size;\n    offset-inline-end: -$default-icon-offset;\n    width: $default-icon-wrapper-size;\n\n    // for corner letter fallback\n    align-items: center;\n    display: flex;\n    font-size: 20px;\n    justify-content: center;\n\n    &[data-fallback]::before {\n      content: attr(data-fallback);\n    }\n  }\n\n  .title {\n    font: message-box;\n    height: $top-sites-title-height;\n    line-height: $top-sites-title-height;\n    text-align: center;\n    width: $top-sites-size;\n    position: relative;\n\n    .icon {\n      fill: $fill-tertiary;\n      offset-inline-start: 0;\n      position: absolute;\n      top: 10px;\n    }\n\n    span {\n      height: $top-sites-title-height;\n      display: block;\n      overflow: hidden;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n    }\n\n    &.pinned {\n      span {\n        padding: 0 13px;\n      }\n    }\n  }\n\n  .edit-button {\n    background-image: url('#{$image-path}glyph-edit-16.svg');\n  }\n\n  &.placeholder {\n    .tile {\n      box-shadow: inset $inner-box-shadow;\n    }\n\n    .screenshot {\n      display: none;\n    }\n  }\n\n  &.dragged {\n    .tile {\n      background: $grey-20;\n      box-shadow: none;\n\n      *,\n      &::before {\n        display: none;\n      }\n    }\n\n    .title {\n      visibility: hidden;\n    }\n  }\n}\n\n// Always hide .hide-for-narrow if wide layout is disabled\n.wide-layout-disabled {\n  .top-sites-list {\n    .hide-for-narrow {\n      display: none;\n    }\n  }\n}\n\n.wide-layout-enabled {\n  .top-sites-list {\n    // Eight columns\n    @media (min-width: $break-point-widest) and (max-width: $break-point-widest + 2 * $card-width) {\n      :nth-child(8n) {\n        @include context-menu-open-left;\n      }\n    }\n\n    @media (min-width: $break-point-widest) and (max-width: $break-point-widest + $card-width) {\n      :nth-child(8n+7) {\n        @include context-menu-open-left;\n      }\n    }\n\n    @media not all and (min-width: $break-point-widest) {\n      .hide-for-narrow {\n        display: none;\n      }\n    }\n  }\n}\n\n.edit-topsites-wrapper {\n  .modal {\n    box-shadow: $shadow-secondary;\n    left: 0;\n    margin: 0 auto;\n    position: fixed;\n    right: 0;\n    top: 40px;\n    width: $wrapper-default-width;\n\n    @media (min-width: $break-point-small) {\n      width: $wrapper-max-width-small;\n    }\n\n    @media (min-width: $break-point-medium) {\n      width: $wrapper-max-width-medium;\n    }\n\n    @media (min-width: $break-point-large) {\n      width: $wrapper-max-width-large;\n    }\n  }\n}\n\n.topsite-form {\n  $form-width: 300px;\n  $form-spacing: 32px;\n\n  .form-input-container {\n    max-width: $form-width + 3 * $form-spacing + $rich-icon-size;\n    margin: 0 auto;\n    padding: $form-spacing $form-spacing 40px;\n\n    .top-site-outer {\n      padding: 0;\n      margin: 24px 0 0;\n      margin-inline-start: $form-spacing;\n      pointer-events: none;\n    }\n\n    .section-title {\n      text-transform: none;\n      font-size: 16px;\n      margin: 0 0 16px;\n    }\n  }\n\n  .fields-and-preview {\n    display: flex;\n  }\n\n  label {\n    font-size: $section-title-font-size;\n  }\n\n  .form-wrapper {\n    width: 100%;\n\n    .field {\n      position: relative;\n\n      .icon-clear-input {\n        position: absolute;\n        transform: translateY(-50%);\n        top: 50%;\n        offset-inline-end: 8px;\n\n        & + input:dir(ltr) {\n          padding-right: 32px;\n        }\n\n        & + input:dir(rtl) {\n          padding-left: 32px;\n        }\n      }\n    }\n\n    .url input:not(:placeholder-shown):dir(rtl) {\n      direction: ltr;\n      text-align: right;\n    }\n\n    input {\n      &[type='text'] {\n        border: $input-border;\n        border-radius: 2px;\n        margin: 8px 0;\n        padding: 0 8px;\n        height: 32px;\n        width: 100%;\n\n        &:focus {\n          border: $input-border-active;\n          box-shadow: $input-focus-boxshadow;\n        }\n      }\n    }\n\n    .invalid {\n      input {\n        &[type='text'] {\n          border: $input-error-border;\n          box-shadow: $input-error-boxshadow;\n        }\n      }\n    }\n\n    .error-tooltip {\n      animation: fade-up-tt 450ms;\n      background: $red-60;\n      border-radius: 2px;\n      color: $white;\n      offset-inline-start: 3px;\n      padding: 5px 12px;\n      position: absolute;\n      top: 44px;\n      z-index: 1;\n\n      // tooltip caret\n      &::before {\n        background: $red-60;\n        bottom: -8px;\n        content: '.';\n        height: 16px;\n        offset-inline-start: 12px;\n        position: absolute;\n        text-indent: -999px;\n        top: -7px;\n        transform: rotate(45deg);\n        white-space: nowrap;\n        width: 16px;\n        z-index: -1;\n      }\n    }\n  }\n\n  .actions {\n    justify-content: flex-end;\n\n    button {\n      margin-inline-start: 10px;\n      margin-inline-end: 0;\n    }\n  }\n\n  @media (max-width: $break-point-small) {\n    .fields-and-preview {\n      flex-direction: column;\n\n      .top-site-outer {\n        margin-inline-start: 0;\n      }\n    }\n  }\n}\n\n//used for tooltips below form element\n@keyframes fade-up-tt {\n  0% {\n    opacity: 0;\n    transform: translateY(15px);\n  }\n\n  100% {\n    opacity: 1;\n    transform: translateY(0);\n  }\n}\n",
 		".sections-list {\n  .section-list {\n    display: grid;\n    grid-gap: $base-gutter;\n    grid-template-columns: repeat(auto-fit, $card-width);\n    margin: 0;\n\n    @media (max-width: $break-point-medium) {\n      @include context-menu-open-left;\n    }\n\n    @media (min-width: $break-point-medium) and (max-width: $break-point-large) {\n      :nth-child(2n) {\n        @include context-menu-open-left;\n      }\n    }\n\n    @media (min-width: $break-point-large) and (max-width: $break-point-large + 2 * $card-width) {\n      :nth-child(3n) {\n        @include context-menu-open-left;\n      }\n    }\n  }\n\n  .section-empty-state {\n    border: $border-secondary;\n    border-radius: $border-radius;\n    display: flex;\n    height: $card-height;\n    width: 100%;\n\n    .empty-state {\n      margin: auto;\n      max-width: 350px;\n\n      .empty-state-icon {\n        background-position: center;\n        background-repeat: no-repeat;\n        background-size: 50px 50px;\n        -moz-context-properties: fill;\n        display: block;\n        fill: $fill-secondary;\n        height: 50px;\n        margin: 0 auto;\n        width: 50px;\n      }\n\n      .empty-state-message {\n        color: $text-secondary;\n        font-size: 13px;\n        margin-bottom: 0;\n        text-align: center;\n      }\n    }\n  }\n}\n\n.wide-layout-enabled {\n  .sections-list {\n    .section-list {\n      @media (min-width: $break-point-widest) and (max-width: $break-point-widest + 2 * $card-width) {\n        :nth-child(3n) {\n          @include context-menu-open-left;\n        }\n      }\n\n      @media (min-width: $break-point-widest) {\n        grid-template-columns: repeat(auto-fit, $card-width-large);\n      }\n    }\n  }\n\n  .section-empty-state {\n    height: $card-height-large;\n  }\n}\n",
 		".topic {\n  color: $text-secondary;\n  font-size: 12px;\n  line-height: 1.6;\n  margin-top: $topic-margin-top;\n\n  @media (min-width: $break-point-large) {\n    line-height: 16px;\n  }\n\n  ul {\n    margin: 0;\n    padding: 0;\n    @media (min-width: $break-point-large) {\n      display: inline;\n      padding-inline-start: 12px;\n    }\n  }\n\n\n  ul li {\n    display: inline-block;\n\n    &::after {\n      content: '•';\n      padding: 8px;\n    }\n\n    &:last-child::after {\n      content: none;\n    }\n  }\n\n  .topic-link {\n    color: $link-secondary;\n  }\n\n  .topic-read-more {\n    color: $link-secondary;\n\n    @media (min-width: $break-point-large) {\n      // This is floating to accomodate a very large number of topics and/or\n      // very long topic names due to l10n.\n      float: right;\n\n      &:dir(rtl) {\n        float: left;\n      }\n    }\n\n    &::after {\n      background: url('#{$image-path}topic-show-more-12.svg') no-repeat center center;\n      content: '';\n      -moz-context-properties: fill;\n      display: inline-block;\n      fill: $link-secondary;\n      height: 16px;\n      margin-inline-start: 5px;\n      vertical-align: top;\n      width: 12px;\n    }\n\n    &:dir(rtl)::after  {\n      transform: scaleX(-1);\n    }\n  }\n\n  // This is a clearfix to for the topics-read-more link which is floating and causes\n  // some jank when we set overflow:hidden for the animation.\n  &::after {\n    clear: both;\n    content: '';\n    display: table;\n  }\n}\n",
 		".search-wrapper {\n  $search-border-radius: 3px;\n  $search-focus-color: $blue-50;\n  $search-height: 35px;\n  $search-input-left-label-width: 35px;\n  $search-button-width: 36px;\n  $search-glyph-image: url('chrome://browser/skin/search-glass.svg');\n  $glyph-forward: url('chrome://browser/skin/forward.svg');\n  $search-glyph-size: 16px;\n  $search-glyph-fill: $grey-90-40;\n  // This is positioned so it is visually (not metrically) centered. r=abenson\n  $search-glyph-left-position: 12px;\n\n  cursor: default;\n  display: flex;\n  height: $search-height;\n  // The extra 1px is to account for the box-shadow being outside of the element\n  // instead of inside. It needs to be like that to not overlap the inner background\n  // color of the hover state of the submit button.\n  margin: 1px 1px $section-spacing;\n  position: relative;\n  width: 100%;\n\n  input {\n    border: 0;\n    border-radius: $search-border-radius;\n    box-shadow: $shadow-secondary, 0 0 0 1px $black-15;\n    font-size: 15px;\n    padding: 0;\n    padding-inline-end: $search-button-width;\n    padding-inline-start: $search-input-left-label-width;\n    width: 100%;\n  }\n\n  &:hover input {\n    box-shadow: $shadow-secondary, 0 0 0 1px $black-25;\n  }\n\n  &:active input,\n  input:focus {\n    box-shadow: 0 0 0 $os-search-focus-shadow-radius $search-focus-color;\n  }\n\n  .search-label {\n    background: $search-glyph-image no-repeat $search-glyph-left-position center / $search-glyph-size;\n    -moz-context-properties: fill;\n    fill: $search-glyph-fill;\n    height: 100%;\n    offset-inline-start: 0;\n    position: absolute;\n    width: $search-input-left-label-width;\n  }\n\n  .search-button {\n    background: $glyph-forward no-repeat center center;\n    background-size: 16px 16px;\n    border: 0;\n    border-radius: 0 $border-radius $border-radius 0;\n    -moz-context-properties: fill;\n    fill: $search-glyph-fill;\n    height: 100%;\n    offset-inline-end: 0;\n    position: absolute;\n    width: $search-button-width;\n\n    &:focus,\n    &:hover {\n      background-color: $grey-90-10;\n      cursor: pointer;\n    }\n\n    &:active {\n      background-color: $grey-90-20;\n    }\n\n    &:dir(rtl) {\n      transform: scaleX(-1);\n    }\n  }\n\n  // Adjust the style of the contentSearchUI-generated table\n  .contentSearchSuggestionTable { // sass-lint:disable-line class-name-format\n    border: 0;\n    transform: translateY(2px);\n  }\n}\n",
 		".context-menu {\n  background: $background-primary;\n  border-radius: $context-menu-border-radius;\n  box-shadow: $context-menu-shadow;\n  display: block;\n  font-size: $context-menu-font-size;\n  margin-inline-start: 5px;\n  offset-inline-start: 100%;\n  position: absolute;\n  top: ($context-menu-button-size / 4);\n  z-index: 10000;\n\n  > ul {\n    list-style: none;\n    margin: 0;\n    padding: $context-menu-outer-padding 0;\n\n    > li {\n      margin: 0;\n      width: 100%;\n\n      &.separator {\n        border-bottom: 1px solid $context-menu-border-color;\n        margin: $context-menu-outer-padding 0;\n      }\n\n      > a {\n        align-items: center;\n        color: inherit;\n        cursor: pointer;\n        display: flex;\n        line-height: 16px;\n        outline: none;\n        padding: $context-menu-item-padding;\n        white-space: nowrap;\n\n        &:-moz-any(:focus, :hover) {\n          background: $input-primary;\n          color: $white;\n\n          a {\n            color: $grey-90;\n          }\n\n          .icon {\n            fill: $white;\n          }\n\n          &:-moz-any(:focus, :hover) {\n            color: $white;\n          }\n        }\n\n        &.disabled {\n          opacity: 0.4;\n          pointer-events: none;\n        }\n      }\n    }\n  }\n}\n",
+		".prefs-pane {\n  $options-spacing: 10px;\n  $prefs-spacing: 20px;\n  $prefs-width: 400px;\n\n  color: $text-conditional;\n  font-size: 14px;\n  line-height: 21px;\n\n  .sidebar {\n    background: $white;\n    border-left: $border-secondary;\n    box-shadow: $shadow-secondary;\n    height: 100%;\n    offset-inline-end: 0;\n    overflow-y: auto;\n    padding: 40px;\n    position: fixed;\n    top: 0;\n    transition: 0.1s cubic-bezier(0, 0, 0, 1);\n    transition-property: transform;\n    width: $prefs-width;\n    z-index: 12000;\n\n    &.hidden {\n      transform: translateX(100%);\n\n      &:dir(rtl) {\n        transform: translateX(-100%);\n      }\n    }\n\n    h1 {\n      font-size: 21px;\n      margin: 0;\n      padding-top: $prefs-spacing;\n    }\n  }\n\n  hr {\n    border: 0;\n    border-bottom: $border-secondary;\n    margin: 20px 0;\n  }\n\n  .prefs-modal-inner-wrapper {\n    padding-bottom: 100px;\n\n    section {\n      margin: $prefs-spacing 0;\n\n      p {\n        margin: 5px 0 20px 30px;\n      }\n\n      label {\n        display: inline-block;\n        position: relative;\n        width: 100%;\n\n        input {\n          offset-inline-start: -30px;\n          position: absolute;\n          top: 0;\n        }\n      }\n\n      > label {\n        font-size: 16px;\n        font-weight: bold;\n        line-height: 19px;\n      }\n    }\n\n    .options {\n      background: $background-primary;\n      border: $border-secondary;\n      border-radius: 2px;\n      margin: -$options-spacing 0 $prefs-spacing;\n      margin-inline-start: 30px;\n      padding: $options-spacing;\n\n      &.disabled {\n        opacity: 0.5;\n      }\n\n      label {\n        $icon-offset-start: 35px;\n        background-position-x: $icon-offset-start;\n        background-position-y: 2.5px;\n        background-repeat: no-repeat;\n        display: inline-block;\n        font-size: 14px;\n        font-weight: normal;\n        height: auto;\n        line-height: 21px;\n        width: 100%;\n\n        &:dir(rtl) {\n          background-position-x: right $icon-offset-start;\n        }\n      }\n\n      [type='checkbox']:not(:checked) + label,\n      [type='checkbox']:checked + label {\n        padding-inline-start: 63px;\n      }\n\n      section {\n        margin: 0;\n      }\n    }\n  }\n\n  .actions {\n    background-color: $background-primary;\n    border-left: $border-secondary;\n    bottom: 0;\n    offset-inline-end: 0;\n    position: fixed;\n    width: $prefs-width;\n\n    button {\n      margin-inline-end: $prefs-spacing;\n    }\n  }\n\n  // CSS styled checkbox\n  [type='checkbox']:not(:checked),\n  [type='checkbox']:checked {\n    offset-inline-start: -9999px;\n    position: absolute;\n  }\n\n  [type='checkbox']:not(:disabled):not(:checked) + label,\n  [type='checkbox']:not(:disabled):checked + label {\n    cursor: pointer;\n    padding: 0 30px;\n    position: relative;\n  }\n\n  [type='checkbox']:not(:checked) + label::before,\n  [type='checkbox']:checked + label::before {\n    background: $white;\n    border: $border-primary;\n    border-radius: $border-radius;\n    content: '';\n    height: 21px;\n    offset-inline-start: 0;\n    position: absolute;\n    top: 0;\n    width: 21px;\n  }\n\n  // checkmark\n  [type='checkbox']:not(:checked) + label::after,\n  [type='checkbox']:checked + label::after {\n    background: url('chrome://global/skin/in-content/check.svg') no-repeat center center; // sass-lint:disable-line no-url-domains\n    content: '';\n    -moz-context-properties: fill, stroke;\n    fill: $input-primary;\n    height: 21px;\n    offset-inline-start: 0;\n    position: absolute;\n    stroke: none;\n    top: 0;\n    width: 21px;\n  }\n\n  // checkmark changes\n  [type='checkbox']:not(:checked) + label::after {\n    opacity: 0;\n  }\n\n  [type='checkbox']:checked + label::after {\n    opacity: 1;\n  }\n\n  // hover\n  [type='checkbox']:not(:disabled) + label:hover::before {\n    border: 1px solid $input-primary;\n  }\n\n  // accessibility\n  [type='checkbox']:not(:disabled):checked:focus + label::before,\n  [type='checkbox']:not(:disabled):not(:checked):focus + label::before {\n    border: 1px dotted $input-primary;\n  }\n}\n\n.prefs-pane-button {\n  button {\n    background-color: transparent;\n    border: 0;\n    cursor: pointer;\n    fill: $fill-secondary;\n    offset-inline-end: 15px;\n    padding: 15px;\n    position: fixed;\n    top: 15px;\n    z-index: 12001;\n\n    &:hover {\n      background-color: $background-secondary;\n    }\n\n    &:active {\n      background-color: $background-primary;\n    }\n  }\n}\n",
 		".confirmation-dialog {\n  .modal {\n    box-shadow: 0 2px 2px 0 $black-10;\n    left: 50%;\n    margin-left: -200px;\n    position: fixed;\n    top: 20%;\n    width: 400px;\n  }\n\n  section {\n    margin: 0;\n  }\n\n  .modal-message {\n    display: flex;\n    padding: 16px;\n    padding-bottom: 0;\n\n    p {\n      margin: 0;\n      margin-bottom: 16px;\n    }\n  }\n\n  .actions {\n    border: 0;\n    display: flex;\n    flex-wrap: nowrap;\n    padding: 0 16px;\n\n    button {\n      margin-inline-end: 16px;\n      padding-inline-end: 18px;\n      padding-inline-start: 18px;\n      white-space: normal;\n      width: 50%;\n\n      &.done {\n        margin-inline-end: 0;\n        margin-inline-start: 0;\n      }\n    }\n  }\n\n  .icon {\n    margin-inline-end: 16px;\n  }\n}\n\n.modal-overlay {\n  background: $background-secondary;\n  height: 100%;\n  left: 0;\n  opacity: 0.8;\n  position: fixed;\n  top: 0;\n  width: 100%;\n  z-index: 11001;\n}\n\n.modal {\n  background: $white;\n  border: $border-secondary;\n  border-radius: 5px;\n  font-size: 15px;\n  z-index: 11002;\n}\n",
 		".card-outer {\n  @include context-menu-button;\n  background: $white;\n  border-radius: $border-radius;\n  display: inline-block;\n  height: $card-height;\n  margin-inline-end: $base-gutter;\n  position: relative;\n  width: 100%;\n\n  &.placeholder {\n    background: transparent;\n\n    .card {\n      box-shadow: inset $inner-box-shadow;\n    }\n  }\n\n  .card {\n    border-radius: $border-radius;\n    box-shadow: $shadow-secondary;\n    height: 100%;\n  }\n\n  > a {\n    color: inherit;\n    display: block;\n    height: 100%;\n    outline: none;\n    position: absolute;\n    width: 100%;\n\n    &:-moz-any(.active, :focus) {\n      .card {\n        @include fade-in-card;\n      }\n\n      .card-title {\n        color: $link-primary;\n      }\n    }\n  }\n\n  &:-moz-any(:hover, :focus, .active):not(.placeholder) {\n    @include fade-in-card;\n    @include context-menu-button-hover;\n    outline: none;\n\n    .card-title {\n      color: $link-primary;\n    }\n  }\n\n  .card-preview-image-outer {\n    background-color: $background-primary;\n    border-radius: $border-radius $border-radius 0 0;\n    height: $card-preview-image-height;\n    overflow: hidden;\n    position: relative;\n\n    &::after {\n      border-bottom: 1px solid $black-5;\n      bottom: 0;\n      content: '';\n      position: absolute;\n      width: 100%;\n    }\n\n    .card-preview-image {\n      background-position: center;\n      background-repeat: no-repeat;\n      background-size: cover;\n      height: 100%;\n      opacity: 0;\n      transition: opacity 1s $photon-easing;\n      width: 100%;\n\n      &.loaded {\n        opacity: 1;\n      }\n    }\n  }\n\n  .card-details {\n    padding: 15px 16px 12px;\n\n    &.no-image {\n      padding-top: 16px;\n    }\n  }\n\n  .card-text {\n    max-height: 4 * $card-text-line-height + $card-title-margin;\n    overflow: hidden;\n\n    &.no-image {\n      max-height: 10 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-host-name,\n    &.no-context {\n      max-height: 5 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-image.no-host-name,\n    &.no-image.no-context {\n      max-height: 11 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-host-name.no-context {\n      max-height: 6 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-image.no-host-name.no-context {\n      max-height: 12 * $card-text-line-height + $card-title-margin;\n    }\n\n    &:not(.no-description) .card-title {\n      max-height: 3 * $card-text-line-height;\n      overflow: hidden;\n    }\n  }\n\n  .card-host-name {\n    color: $text-secondary;\n    font-size: 10px;\n    overflow: hidden;\n    padding-bottom: 4px;\n    text-overflow: ellipsis;\n    text-transform: uppercase;\n  }\n\n  .card-title {\n    font-size: 14px;\n    line-height: $card-text-line-height;\n    margin: 0 0 $card-title-margin;\n    word-wrap: break-word;\n  }\n\n  .card-description {\n    font-size: 12px;\n    line-height: $card-text-line-height;\n    margin: 0;\n    overflow: hidden;\n    word-wrap: break-word;\n  }\n\n  .card-context {\n    bottom: 0;\n    color: $text-secondary;\n    display: flex;\n    font-size: 11px;\n    left: 0;\n    padding: 12px 16px 12px 14px;\n    position: absolute;\n    right: 0;\n  }\n\n  .card-context-icon {\n    fill: $fill-secondary;\n    margin-inline-end: 6px;\n  }\n\n  .card-context-label {\n    flex-grow: 1;\n    line-height: $icon-size;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n}\n\n.wide-layout-enabled {\n  $line-height: 23px;\n\n  .card-outer {\n    @media (min-width: $break-point-widest) {\n      height: $card-height-large;\n\n      .card-preview-image-outer {\n        height: $card-preview-image-height-large;\n      }\n\n      .card-details {\n        padding: 13px 16px 12px;\n      }\n\n      .card-text {\n        max-height: 6 * $line-height + $card-title-margin;\n      }\n\n      .card-host-name {\n        font-size: 12px;\n        padding-bottom: 5px;\n      }\n\n      .card-title {\n        font-size: 17px;\n        line-height: $line-height;\n        margin-bottom: 0;\n      }\n\n      .card-text:not(.no-description) {\n        .card-title {\n          max-height: 3 * $line-height;\n        }\n      }\n\n      .card-description {\n        font-size: 15px;\n        line-height: $line-height;\n      }\n\n      .card-context {\n        bottom: 4px;\n        font-size: 14px;\n      }\n    }\n  }\n}\n",
 		".manual-migration-container {\n  color: $text-conditional;\n  font-size: 13px;\n  line-height: 15px;\n  margin-bottom: $section-spacing;\n  text-align: center;\n\n  @media (min-width: $break-point-medium) {\n    display: flex;\n    justify-content: space-between;\n    text-align: left;\n  }\n\n  p {\n    margin: 0;\n    @media (min-width: $break-point-medium) {\n      align-self: center;\n      display: flex;\n      justify-content: space-between;\n    }\n  }\n\n  .icon {\n    display: none;\n    @media (min-width: $break-point-medium) {\n      align-self: center;\n      display: block;\n      fill: $fill-secondary;\n      margin-inline-end: 6px;\n    }\n  }\n}\n\n.manual-migration-actions {\n  border: 0;\n  display: block;\n  flex-wrap: nowrap;\n\n  @media (min-width: $break-point-medium) {\n    display: flex;\n    justify-content: space-between;\n    padding: 0;\n  }\n\n  button {\n    align-self: center;\n    height: 26px;\n    margin: 0;\n    margin-inline-start: 20px;\n    padding: 0 12px;\n  }\n}\n",
 		".collapsible-section {\n  padding: $section-vertical-padding $section-horizontal-padding;\n  transition-delay: 100ms;\n  transition-duration: 100ms;\n  transition-property: background-color;\n\n  .section-title {\n    margin: 0;\n\n    .click-target {\n      cursor: pointer;\n      vertical-align: top;\n      white-space: nowrap;\n    }\n\n    .collapsible-arrow {\n      margin-inline-start: 8px;\n      margin-top: -1px;\n    }\n  }\n\n  .section-top-bar {\n    position: relative;\n\n    .context-menu-button {\n      background: url('chrome://browser/skin/page-action.svg') no-repeat right center;\n      border: 0;\n      cursor: pointer;\n      fill: $grey-50;\n      height: $context-menu-button-size;\n      offset-inline-end: 0;\n      opacity: 0;\n      position: absolute;\n      top: 0;\n      transition-duration: 200ms;\n      transition-property: opacity;\n      width: $context-menu-button-size;\n\n      &:-moz-any(:active, :focus, :hover) {\n        fill: $grey-90;\n        opacity: 1;\n      }\n    }\n\n    .context-menu {\n      top: 16px;\n    }\n\n    @media (max-width: $break-point-widest + $card-width * 1.5) {\n      @include context-menu-open-left;\n    }\n  }\n\n  &:hover,\n  &.active {\n    .section-top-bar {\n      .context-menu-button {\n        opacity: 1;\n      }\n    }\n  }\n\n  &.active {\n    background: $grey-20-60;\n    border-radius: 4px;\n\n    .section-top-bar {\n      .context-menu-button {\n        fill: $grey-90;\n      }\n    }\n  }\n\n  .section-disclaimer {\n    $max-button-width: 130px;\n    $min-button-height: 26px;\n\n    color: $grey-60;\n    font-size: 13px;\n    margin-bottom: 16px;\n    position: relative;\n\n    .section-disclaimer-text {\n      display: inline-block;\n      min-height: $min-button-height;\n      width: calc(100% - #{$max-button-width});\n\n      @media (max-width: $break-point-medium) {\n        width: $card-width;\n      }\n    }\n\n    a {\n      color: $link-secondary;\n      padding-left: 3px;\n    }\n\n    button {\n      background: $grey-10;\n      border: 1px solid $grey-40;\n      border-radius: 4px;\n      cursor: pointer;\n      margin-top: 2px;\n      max-width: $max-button-width;\n      min-height: $min-button-height;\n      offset-inline-end: 0;\n\n      &:hover:not(.dismiss) {\n        box-shadow: $shadow-primary;\n        transition: box-shadow 150ms;\n      }\n\n      @media (min-width: $break-point-small) {\n        position: absolute;\n      }\n    }\n  }\n\n  .section-body-fallback {\n    height: $card-height;\n  }\n\n  .section-body {\n    // This is so the top sites favicon and card dropshadows don't get clipped during animation:\n    $horizontal-padding: 7px;\n    margin: 0 (-$horizontal-padding);\n    padding: 0 $horizontal-padding;\n\n    &.animating {\n      overflow: hidden;\n      pointer-events: none;\n    }\n  }\n\n  &.animation-enabled {\n    .section-title {\n      .collapsible-arrow {\n        transition: transform 0.5s $photon-easing;\n      }\n    }\n\n    .section-body {\n      transition: max-height 0.5s $photon-easing;\n    }\n  }\n\n  &.collapsed {\n    .section-body {\n      max-height: 0;\n      overflow: hidden;\n    }\n  }\n}\n"
 	],
 	"names": [],
-	"mappings": "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"
+	"mappings": "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"
 }
\ No newline at end of file
--- a/browser/extensions/activity-stream/data/content/activity-stream.bundle.js
+++ b/browser/extensions/activity-stream/data/content/activity-stream.bundle.js
@@ -496,17 +496,18 @@ const INITIAL_STATE = {
   Prefs: {
     initialized: false,
     values: {}
   },
   Dialog: {
     visible: false,
     data: {}
   },
-  Sections: []
+  Sections: [],
+  PreferencesPane: { visible: false }
 };
 /* unused harmony export INITIAL_STATE */
 
 
 
 function App(prevState = INITIAL_STATE.App, action) {
   switch (action.type) {
     case Actions["b" /* actionTypes */].INIT:
@@ -791,17 +792,28 @@ function Snippets(prevState = INITIAL_ST
       return Object.assign({}, prevState, { blockList: [] });
     case Actions["b" /* actionTypes */].SNIPPETS_RESET:
       return INITIAL_STATE.Snippets;
     default:
       return prevState;
   }
 }
 
-var reducers = { TopSites, App, Snippets, Prefs, Dialog, Sections };
+function PreferencesPane(prevState = INITIAL_STATE.PreferencesPane, action) {
+  switch (action.type) {
+    case Actions["b" /* actionTypes */].SETTINGS_OPEN:
+      return Object.assign({}, prevState, { visible: true });
+    case Actions["b" /* actionTypes */].SETTINGS_CLOSE:
+      return Object.assign({}, prevState, { visible: false });
+    default:
+      return prevState;
+  }
+}
+
+var reducers = { TopSites, App, Snippets, Prefs, Dialog, Sections, PreferencesPane };
 
 /***/ }),
 /* 7 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_intl__ = __webpack_require__(2);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_intl___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react_intl__);
@@ -2851,16 +2863,215 @@ class ManualMigration__ManualMigration e
           external__React__default.a.createElement(external__ReactIntl_["FormattedMessage"], { id: "manual_migration_import_button" })
         )
       )
     );
   }
 }
 
 const ManualMigration = Object(external__ReactRedux_["connect"])()(ManualMigration__ManualMigration);
+// CONCATENATED MODULE: ./system-addon/content-src/components/PreferencesPane/PreferencesPane.jsx
+
+
+
+
+
+const getFormattedMessage = message => typeof message === "string" ? external__React__default.a.createElement(
+  "span",
+  null,
+  message
+) : external__React__default.a.createElement(external__ReactIntl_["FormattedMessage"], message);
+
+const PreferencesInput = props => external__React__default.a.createElement(
+  "section",
+  null,
+  external__React__default.a.createElement("input", { type: "checkbox", id: props.prefName, name: props.prefName, checked: props.value, disabled: props.disabled, onChange: props.onChange, className: props.className }),
+  external__React__default.a.createElement(
+    "label",
+    { htmlFor: props.prefName, className: props.labelClassName },
+    getFormattedMessage(props.titleString)
+  ),
+  props.descString && external__React__default.a.createElement(
+    "p",
+    { className: "prefs-input-description" },
+    getFormattedMessage(props.descString)
+  ),
+  external__React__default.a.Children.map(props.children, child => external__React__default.a.createElement(
+    "div",
+    { className: `options${child.props.disabled ? " disabled" : ""}` },
+    child
+  ))
+);
+
+class PreferencesPane__PreferencesPane extends external__React__default.a.PureComponent {
+  constructor(props) {
+    super(props);
+    this.handleClickOutside = this.handleClickOutside.bind(this);
+    this.handlePrefChange = this.handlePrefChange.bind(this);
+    this.handleSectionChange = this.handleSectionChange.bind(this);
+    this.togglePane = this.togglePane.bind(this);
+    this.onWrapperMount = this.onWrapperMount.bind(this);
+  }
+
+  componentDidUpdate(prevProps, prevState) {
+    if (prevProps.PreferencesPane.visible !== this.props.PreferencesPane.visible) {
+      // While the sidebar is open, listen for all document clicks.
+      if (this.isSidebarOpen()) {
+        document.addEventListener("click", this.handleClickOutside);
+      } else {
+        document.removeEventListener("click", this.handleClickOutside);
+      }
+    }
+  }
+
+  isSidebarOpen() {
+    return this.props.PreferencesPane.visible;
+  }
+
+  handleClickOutside(event) {
+    // if we are showing the sidebar and there is a click outside, close it.
+    if (this.isSidebarOpen() && !this.wrapper.contains(event.target)) {
+      this.togglePane();
+    }
+  }
+
+  handlePrefChange({ target: { name, checked } }) {
+    let value = checked;
+    if (name === "topSitesRows") {
+      value = checked ? 2 : 1;
+    }
+    this.props.dispatch(Actions["a" /* actionCreators */].SetPref(name, value));
+  }
+
+  handleSectionChange({ target }) {
+    const id = target.name;
+    const type = target.checked ? Actions["b" /* actionTypes */].SECTION_ENABLE : Actions["b" /* actionTypes */].SECTION_DISABLE;
+    this.props.dispatch(Actions["a" /* actionCreators */].AlsoToMain({ type, data: id }));
+  }
+
+  togglePane() {
+    if (this.isSidebarOpen()) {
+      this.props.dispatch({ type: Actions["b" /* actionTypes */].SETTINGS_CLOSE });
+      this.props.dispatch(Actions["a" /* actionCreators */].UserEvent({ event: "CLOSE_NEWTAB_PREFS" }));
+    } else {
+      this.props.dispatch({ type: Actions["b" /* actionTypes */].SETTINGS_OPEN });
+      this.props.dispatch(Actions["a" /* actionCreators */].UserEvent({ event: "OPEN_NEWTAB_PREFS" }));
+    }
+  }
+
+  onWrapperMount(wrapper) {
+    this.wrapper = wrapper;
+  }
+
+  render() {
+    const { props } = this;
+    const prefs = props.Prefs.values;
+    const sections = props.Sections;
+    const isVisible = this.isSidebarOpen();
+    return external__React__default.a.createElement(
+      "div",
+      { className: "prefs-pane-wrapper", ref: this.onWrapperMount },
+      external__React__default.a.createElement(
+        "div",
+        { className: "prefs-pane-button" },
+        external__React__default.a.createElement("button", {
+          className: `prefs-button icon ${isVisible ? "icon-dismiss" : "icon-settings"}`,
+          title: props.intl.formatMessage({ id: isVisible ? "settings_pane_done_button" : "settings_pane_button_label" }),
+          onClick: this.togglePane })
+      ),
+      external__React__default.a.createElement(
+        "div",
+        { className: "prefs-pane" },
+        external__React__default.a.createElement(
+          "div",
+          { className: `sidebar ${isVisible ? "" : "hidden"}` },
+          external__React__default.a.createElement(
+            "div",
+            { className: "prefs-modal-inner-wrapper" },
+            external__React__default.a.createElement(
+              "h1",
+              null,
+              external__React__default.a.createElement(external__ReactIntl_["FormattedMessage"], { id: "settings_pane_header" })
+            ),
+            external__React__default.a.createElement(
+              "p",
+              null,
+              external__React__default.a.createElement(external__ReactIntl_["FormattedMessage"], { id: "settings_pane_body2" })
+            ),
+            external__React__default.a.createElement(PreferencesInput, {
+              className: "showSearch",
+              prefName: "showSearch",
+              value: prefs.showSearch,
+              onChange: this.handlePrefChange,
+              titleString: { id: "settings_pane_search_header" },
+              descString: { id: "settings_pane_search_body" } }),
+            external__React__default.a.createElement("hr", null),
+            external__React__default.a.createElement(
+              PreferencesInput,
+              {
+                className: "showTopSites",
+                prefName: "showTopSites",
+                value: prefs.showTopSites,
+                onChange: this.handlePrefChange,
+                titleString: { id: "settings_pane_topsites_header" },
+                descString: { id: "settings_pane_topsites_body" } },
+              external__React__default.a.createElement(PreferencesInput, {
+                className: "showMoreTopSites",
+                prefName: "topSitesRows",
+                disabled: !prefs.showTopSites,
+                value: prefs.topSitesRows === 2,
+                onChange: this.handlePrefChange,
+                titleString: { id: "settings_pane_topsites_options_showmore" },
+                labelClassName: "icon icon-topsites" })
+            ),
+            sections.filter(section => !section.shouldHidePref).map(({ id, title, enabled, pref }) => external__React__default.a.createElement(
+              PreferencesInput,
+              {
+                key: id,
+                className: "showSection",
+                prefName: pref && pref.feed || id,
+                value: enabled,
+                onChange: pref && pref.feed ? this.handlePrefChange : this.handleSectionChange,
+                titleString: pref && pref.titleString || title,
+                descString: pref && pref.descString },
+              pref && pref.nestedPrefs && pref.nestedPrefs.map(nestedPref => external__React__default.a.createElement(PreferencesInput, {
+                key: nestedPref.name,
+                prefName: nestedPref.name,
+                disabled: !enabled,
+                value: prefs[nestedPref.name],
+                onChange: this.handlePrefChange,
+                titleString: nestedPref.titleString,
+                labelClassName: `icon ${nestedPref.icon}` }))
+            )),
+            !prefs.disableSnippets && external__React__default.a.createElement("hr", null),
+            !prefs.disableSnippets && external__React__default.a.createElement(PreferencesInput, { className: "showSnippets", prefName: "feeds.snippets",
+              value: prefs["feeds.snippets"], onChange: this.handlePrefChange,
+              titleString: { id: "settings_pane_snippets_header" },
+              descString: { id: "settings_pane_snippets_body" } })
+          ),
+          external__React__default.a.createElement(
+            "section",
+            { className: "actions" },
+            external__React__default.a.createElement(
+              "button",
+              { className: "done", onClick: this.togglePane },
+              external__React__default.a.createElement(external__ReactIntl_["FormattedMessage"], { id: "settings_pane_done_button" })
+            )
+          )
+        )
+      )
+    );
+  }
+}
+
+const PreferencesPane = Object(external__ReactRedux_["connect"])(state => ({
+  Prefs: state.Prefs,
+  PreferencesPane: state.PreferencesPane,
+  Sections: state.Sections
+}))(Object(external__ReactIntl_["injectIntl"])(PreferencesPane__PreferencesPane));
 // CONCATENATED MODULE: ./system-addon/common/PrerenderData.jsm
 class _PrerenderData {
   constructor(options) {
     this.initialPrefs = options.initialPrefs;
     this.initialSections = options.initialSections;
     this._setValidation(options.validation);
   }
 
@@ -3057,21 +3268,16 @@ var Sections = __webpack_require__(18);
 
 
 
 
 
 
 
 
-const PrefsButton = Object(external__ReactIntl_["injectIntl"])(props => external__React__default.a.createElement(
-  "div",
-  { className: "prefs-button" },
-  external__React__default.a.createElement("button", { className: "icon icon-settings", onClick: props.onClick, title: props.intl.formatMessage({ id: "settings_pane_button_label" }) })
-));
 
 // Add the locale data for pluralization and relative-time formatting for now,
 // this just uses english locale data. We can make this more sophisticated if
 // more features are needed.
 function addLocaleDataForReactIntl(locale) {
   Object(external__ReactIntl_["addLocaleData"])([{ locale, parentLocale: "en" }]);
 }
 
@@ -3125,26 +3331,16 @@ class Base__Base extends external__React
       )
     );
   }
 }
 /* unused harmony export _Base */
 
 
 class Base_BaseContent extends external__React__default.a.PureComponent {
-  constructor(props) {
-    super(props);
-    this.openPreferences = this.openPreferences.bind(this);
-  }
-
-  openPreferences() {
-    this.props.dispatch(Actions["a" /* actionCreators */].OnlyToMain({ type: Actions["b" /* actionTypes */].SETTINGS_OPEN }));
-    this.props.dispatch(Actions["a" /* actionCreators */].UserEvent({ event: "OPEN_NEWTAB_PREFS" }));
-  }
-
   render() {
     const { props } = this;
     const { App } = props;
     const { initialized } = App;
     const prefs = props.Prefs.values;
 
     const shouldBeFixedToTop = PrerenderData.arePrefsValid(name => prefs[name]);
 
@@ -3168,20 +3364,30 @@ class Base_BaseContent extends external_
         external__React__default.a.createElement(
           "div",
           { className: `body-wrapper${initialized ? " on" : ""}` },
           !prefs.migrationExpired && external__React__default.a.createElement(
             "div",
             { className: "non-collapsible-section" },
             external__React__default.a.createElement(ManualMigration, null)
           ),
-          external__React__default.a.createElement(Sections["a" /* Sections */], null),
-          external__React__default.a.createElement(PrefsButton, { onClick: this.openPreferences })
+          external__React__default.a.createElement(Sections["a" /* Sections */], null)
         ),
         external__React__default.a.createElement(ConfirmDialog, null)
+      ),
+      initialized && external__React__default.a.createElement(
+        "div",
+        { className: "prefs-pane" },
+        external__React__default.a.createElement(
+          ErrorBoundary["a" /* ErrorBoundary */],
+          { className: "sidebar" },
+          " ",
+          external__React__default.a.createElement(PreferencesPane, null),
+          " "
+        )
       )
     );
   }
 }
 /* unused harmony export BaseContent */
 
 
 const Base = Object(external__ReactRedux_["connect"])(state => ({ App: state.App, Prefs: state.Prefs }))(Base__Base);
@@ -3490,17 +3696,17 @@ const cardContextTypes = {
     icon: "trending"
   },
   now: {
     intlID: "type_label_now",
     icon: "now"
   },
   pocket: {
     intlID: "type_label_pocket",
-    icon: "pocket"
+    icon: "pocket-small"
   }
 };
 // EXTERNAL MODULE: external "ReactIntl"
 var external__ReactIntl_ = __webpack_require__(2);
 var external__ReactIntl__default = /*#__PURE__*/__webpack_require__.n(external__ReactIntl_);
 
 // EXTERNAL MODULE: ./system-addon/content-src/components/LinkMenu/LinkMenu.jsx + 1 modules
 var LinkMenu = __webpack_require__(8);
@@ -3801,17 +4007,17 @@ const SectionMenuOptions = {
     id: "section_menu_action_expand_section",
     icon: "maximize",
     action: Actions["a" /* actionCreators */].SetPref(section.collapsePrefName, false),
     userEvent: "SECTION_MENU_EXPAND"
   }),
   ManageSection: section => ({
     id: "section_menu_action_manage_section",
     icon: "settings",
-    action: Actions["a" /* actionCreators */].OnlyToMain({ type: Actions["b" /* actionTypes */].SETTINGS_OPEN }),
+    action: { type: Actions["b" /* actionTypes */].SETTINGS_OPEN },
     userEvent: "SECTION_MENU_MANAGE"
   }),
   AddTopSite: section => ({
     id: "section_menu_action_add_topsite",
     icon: "add",
     action: { type: Actions["b" /* actionTypes */].TOP_SITES_EDIT, data: { index: -1 } },
     userEvent: "SECTION_MENU_ADD_TOPSITE"
   }),
--- a/browser/extensions/activity-stream/data/content/activity-stream.bundle.js.map
+++ b/browser/extensions/activity-stream/data/content/activity-stream.bundle.js.map
@@ -1,1 +1,1 @@
-{"version":3,"sources":["webpack:///webpack/bootstrap 22106c7bece777d1baf6","webpack:///./system-addon/common/Actions.jsm","webpack:///external \"React\"","webpack:///external \"ReactIntl\"","webpack:///(webpack)/buildin/global.js","webpack:///external \"ReactRedux\"","webpack:///./system-addon/content-src/components/TopSites/TopSitesConstants.js","webpack:///./system-addon/common/Dedupe.jsm","webpack:///./system-addon/common/Reducers.jsm","webpack:///./system-addon/content-src/components/ErrorBoundary/ErrorBoundary.jsx","webpack:///./system-addon/content-src/lib/link-menu-options.js","webpack:///./system-addon/content-src/components/LinkMenu/LinkMenu.jsx","webpack:///./system-addon/content-src/components/ContextMenu/ContextMenu.jsx","webpack:///./system-addon/content-src/components/CollapsibleSection/CollapsibleSection.jsx","webpack:///./system-addon/content-src/components/ComponentPerfTimer/ComponentPerfTimer.jsx","webpack:///./system-addon/common/PerfService.jsm","webpack:///./system-addon/content-src/components/TopSites/TopSite.jsx","webpack:///./system-addon/content-src/activity-stream.jsx","webpack:///./system-addon/content-src/lib/snippets.js","webpack:///./system-addon/content-src/components/ConfirmDialog/ConfirmDialog.jsx","webpack:///./system-addon/content-src/components/ManualMigration/ManualMigration.jsx","webpack:///./system-addon/common/PrerenderData.jsm","webpack:///./system-addon/content-src/components/Search/Search.jsx","webpack:///./system-addon/content-src/components/Base/Base.jsx","webpack:///./system-addon/content-src/lib/constants.js","webpack:///./system-addon/content-src/components/Sections/Sections.jsx","webpack:///./system-addon/content-src/components/Card/types.js","webpack:///./system-addon/content-src/components/Card/Card.jsx","webpack:///./system-addon/content-src/lib/section-menu-options.js","webpack:///./system-addon/content-src/components/SectionMenu/SectionMenu.jsx","webpack:///./system-addon/content-src/components/Topics/Topics.jsx","webpack:///./system-addon/content-src/components/TopSites/TopSites.jsx","webpack:///./system-addon/content-src/components/TopSites/TopSiteFormInput.jsx","webpack:///./system-addon/content-src/components/TopSites/TopSiteForm.jsx","webpack:///./system-addon/content-src/lib/detect-user-session-start.js","webpack:///./system-addon/content-src/lib/init-store.js","webpack:///external \"Redux\"","webpack:///external \"ReactDOM\""],"names":["globalImportContext","Window","BACKGROUND_PROCESS","UI_CODE","actionTypes","type","_RouteMessage","action","options","meta","Object","assign","from","to","Error","forEach","o","AlsoToMain","fromTarget","skipLocal","CONTENT_MESSAGE_TYPE","MAIN_MESSAGE_TYPE","OnlyToMain","BroadcastToContent","AlsoToOneContent","target","skipMain","toTarget","OnlyToOneContent","AlsoToPreloaded","PRELOAD_MESSAGE_TYPE","UserEvent","data","TELEMETRY_USER_EVENT","UndesiredEvent","importContext","TELEMETRY_UNDESIRED_EVENT","PerfEvent","TELEMETRY_PERFORMANCE_EVENT","ImpressionStats","TELEMETRY_IMPRESSION_STATS","SetPref","name","value","SET_PREF","WebExtEvent","source","isSendToMain","isBroadcastToContent","isSendToOneContent","isSendToPreloaded","isFromMain","getPortIdOfSender","TOP_SITES_SOURCE","TOP_SITES_CONTEXT_MENU_OPTIONS","MIN_RICH_FAVICON_SIZE","MIN_CORNER_FAVICON_SIZE","Dedupe","constructor","createKey","defaultCreateKey","item","group","groups","globalKeys","Set","result","values","valueMap","Map","key","has","set","push","add","map","m","Array","TOP_SITES_DEFAULT_ROWS","TOP_SITES_MAX_SITES_PER_ROW","dedupe","site","url","INITIAL_STATE","App","initialized","version","Snippets","TopSites","rows","editForm","Prefs","Dialog","visible","Sections","prevState","at","INIT","insertPinned","links","pinned","pinnedUrls","link","newLinks","filter","includes","isPinned","pinIndex","val","index","length","splice","hasMatch","newRows","TOP_SITES_UPDATED","TOP_SITES_EDIT","TOP_SITES_CANCEL_EDIT","SCREENSHOT_UPDATED","row","screenshot","PLACES_BOOKMARK_ADDED","bookmarkGuid","bookmarkTitle","dateAdded","bookmarkDateCreated","PLACES_BOOKMARK_REMOVED","newSite","DIALOG_OPEN","DIALOG_CANCEL","DELETE_HISTORY_URL","newValues","PREFS_INITIAL_VALUES","PREF_CHANGED","newState","SECTION_DEREGISTER","section","id","SECTION_REGISTER","title","enabled","SECTION_UPDATE","find","card","dedupeConfigurations","dedupeConf","dedupedRows","dedupeFrom","reduce","dedupeSectionId","dedupeSection","s","SECTION_UPDATE_CARD","PLACES_SAVED_TO_POCKET","open_url","pocket_id","PLACES_LINKS_DELETED","PLACES_LINK_BLOCKED","DELETE_FROM_POCKET","ARCHIVE_FROM_POCKET","SNIPPETS_DATA","SNIPPET_BLOCKED","blockList","concat","SNIPPETS_BLOCKLIST_CLEARED","SNIPPETS_RESET","ErrorBoundaryFallback","React","PureComponent","props","windowObj","window","onClick","bind","location","reload","render","defaultClass","className","defaultProps","ErrorBoundary","state","hasError","componentDidCatch","error","info","setState","children","FallbackComponent","_OpenInPrivateWindow","icon","ac","OPEN_PRIVATE_WINDOW","referrer","userEvent","LinkMenuOptions","Separator","EmptyItem","RemoveBookmark","DELETE_BOOKMARK_BY_ID","AddBookmark","BOOKMARK_URL","OpenInNewWindow","OPEN_NEW_WINDOW","BlockUrl","eventSource","BLOCK_URL","impression","block","tiles","guid","pos","WebExtDismiss","string_id","WEBEXT_DISMISS","action_position","DeleteUrl","isEnabled","siteInfo","onConfirm","forceBlock","event","body_string_id","confirm_button_string_id","cancel_button_string_id","PinTopSite","TOP_SITES_PIN","UnpinTopSite","TOP_SITES_UNPIN","SaveToPocket","SAVE_TO_POCKET","pocket","DeleteFromPocket","ArchiveFromPocket","EditTopSite","CheckBookmark","CheckPinTopSite","CheckSavedToPocket","CheckBookmarkOrArchive","CheckDeleteHistoryOrEmpty","OpenInPrivateWindow","DEFAULT_SITE_MENU_OPTIONS","getOptions","isPrivateBrowsingEnabled","propOptions","isDefault","option","label","intl","formatMessage","dispatch","userEventData","shouldSendImpressionStats","first","last","onUpdate","getState","LinkMenu","connect","injectIntl","ContextMenu","hideContext","componentDidMount","setTimeout","global","addEventListener","componentWillUnmount","removeEventListener","stopPropagation","i","ContextMenuItem","onKeyDown","shiftKey","disabled","VISIBLE","VISIBILITY_CHANGE_EVENT","getFormattedMessage","message","getCollapsed","prefName","Disclaimer","onAcknowledge","disclaimerPref","disclaimer","text","href","button","DisclaimerIntl","_CollapsibleSection","onBodyMount","onHeaderClick","onTransitionEnd","enableOrDisableAnimation","onMenuButtonClick","onMenuButtonMouseEnter","onMenuButtonMouseLeave","onMenuUpdate","enableAnimation","isAnimating","menuButtonHover","showContextMenu","componentWillMount","document","componentWillUpdate","nextProps","sectionBody","scrollHeight","visibilityState","node","maxHeight","currentTarget","renderIcon","startsWith","backgroundImage","preventDefault","isCollapsible","isCollapsed","extraMenuOptions","showPrefName","privacyNoticeURL","isFirst","isLast","needsDisclaimer","active","CollapsibleSection","RECORDED_SECTIONS","ComponentPerfTimer","Component","perfSvc","_sendBadStateEvent","_sendPaintedEvent","_reportMissingData","_timestampHandled","_recordedFirstRender","_maybeSendPaintedEvent","componentDidUpdate","_afterFramePaint","callback","requestAnimationFrame","_maybeSendBadStateEvent","_ensureFirstRenderTsRecorded","mark","dataReadyKey","firstRenderKey","parseInt","getMostRecentAbsMarkStartByName","SAVE_SESSION_PERF_DATA","ex","ChromeUtils","import","usablePerfObj","Services","appShell","hiddenDOMWindow","performance","now","_PerfService","performanceObj","_perf","prototype","str","getEntriesByName","timeOrigin","absNow","entries","mostRecentEntry","startTime","TopSiteLink","onDragEvent","_allowDrop","e","dataTransfer","types","dragged","effectAllowed","setData","blur","isDraggable","topSiteOuterClassName","isDragged","tippyTopIcon","faviconSize","letterFallback","imageClassName","imageStyle","showSmallFavicon","smallFaviconStyle","smallFaviconFallback","backgroundColor","favicon","draggableProps","onDragEnd","onDragStart","onMouseDown","TopSite","onLinkClick","_getTelemetryInfo","icon_type","iconType","card_type","ev","onActivate","isContextMenuOpen","activeIndex","hostname","TopSitePlaceholder","onEditButtonClick","_TopSiteList","DEFAULT_STATE","draggedIndex","draggedSite","draggedTitle","topSitesPreview","componentWillReceiveProps","prevTopSites","newTopSites","dropped","_makeTopSitesPreview","TOP_SITES_INSERT","draggedFromIndex","_getTopSites","topSites","slice","TopSitesRows","pinnedOnly","unpinned","siteToInsert","holeIndex","indexStep","shiftingStep","nextIndex","preview","shift","topSitesUI","commonProps","maxNarrowVisibleIndex","l","topSiteIconType","slotProps","TopSiteList","store","initStore","gActivityStreamPrerenderedState","sendEventOrAddListener","NEW_TAB_STATE_REQUEST","ReactDOM","hydrate","documentElement","lang","gActivityStreamStrings","getElementById","addSnippetsSubscriber","DATABASE_NAME","DATABASE_VERSION","SNIPPETS_OBJECTSTORE_NAME","SNIPPETS_UPDATE_INTERVAL_MS","SNIPPETS_ENABLED_EVENT","SNIPPETS_DISABLED_EVENT","SnippetsMap","_db","_dispatch","_dbTransaction","db","put","delete","clear","get","blockSnippetById","SNIPPETS_BLOCKLIST_UPDATED","disableOnboarding","DISABLE_ONBOARDING","showFirefoxAccounts","SHOW_FIREFOX_ACCOUNTS","getTotalBookmarksCount","Promise","resolve","TOTAL_BOOKMARKS_REQUEST","addMessageListener","onMessage","TOTAL_BOOKMARKS_RESPONSE","removeMessageListener","_openDB","_restoreFromDb","modifier","reject","transaction","objectStore","onsuccess","onerror","openRequest","indexedDB","open","deleteDatabase","onupgradeneeded","objectStoreNames","contains","createObjectStore","err","console","onversionchange","versionChangeEvent","close","cursorRequest","openCursor","cursor","continue","SnippetsProvider","gSnippetsMap","_onAction","snippetsMap","_refreshSnippets","cachedVersion","appData","lastUpdate","needsUpdate","Date","snippetsURL","response","fetch","status","payload","_noSnippetFallback","_forceOnboardingVisibility","shouldBeVisible","onboardingEl","style","display","_showRemoteSnippets","snippetsEl","elementId","innerHTML","scriptEl","getElementsByTagName","relocatedScript","createElement","parentNode","replaceChild","msg","init","keys","dispatchEvent","Event","uninit","snippets","initializing","subscribe","disableSnippets","_handleCancelBtn","_handleConfirmBtn","_renderModalMessage","message_body","ConfirmDialog","onLaunchTour","onCancelTour","MIGRATION_START","MIGRATION_CANCEL","ManualMigration","_PrerenderData","initialPrefs","initialSections","_setValidation","validation","_validation","invalidatingPrefs","_invalidatingPrefs","next","oneOf","arePrefsValid","getPref","prefs","some","order","provider","onInputMount","handleEvent","detail","gContentSearchController","search","input","healthReportKey","IS_NEWTAB","searchSource","ContentSearchUIController","Search","PrefsButton","addLocaleDataForReactIntl","locale","addLocaleData","parentLocale","sendNewTabRehydrated","isPrerendered","PAGE_PRERENDERED","renderNotified","NEW_TAB_REHYDRATED","strings","openPreferences","SETTINGS_OPEN","shouldBeFixedToTop","PrerenderData","outerClassName","enableWideLayout","showSearch","migrationExpired","Base","documentURI","CARDS_PER_ROW","Section","_dispatchImpressionStats","maxCards","maxRows","cards","needsImpressionStats","impressionCardGuids","sendImpressionStatsOrAddListener","_onVisibilityChange","prevProps","isCollapsedPref","wasCollapsed","numberOfPlaceholders","items","remainder","emptyState","contextMenuOptions","pref","shouldShowTopics","topics","realRows","placeholders","shouldShowEmptyState","feed","padding","isWebExtension","_","read_more_endpoint","SectionIntl","_Sections","renderSections","sections","enabledSections","sectionOrder","showTopSites","expectedCount","sectionId","split","cardContextTypes","history","intlID","bookmark","trending","gImageLoading","activeCard","imageLoaded","maybeLoadImage","image","loaderPromise","loader","Image","src","catch","then","altKey","ctrlKey","metaKey","OPEN_LINK","WEBEXT_CLICK","click","hasImage","placeholder","undefined","description","join","context","Card","PlaceholderCard","SectionMenuOptions","MoveUp","SECTION_MOVE","direction","MoveDown","RemoveSection","CollapseSection","collapsePrefName","ExpandSection","ManageSection","AddTopSite","PrivacyNotice","CheckCollapsed","DEFAULT_SECTION_MENU_OPTIONS","extraOptions","SectionMenu","Topic","Topics","t","faviconRef","countTopSitesIconsTypes","countTopSitesTypes","acc","_TopSites","onFormClose","_dispatchTopSitesStats","_getVisibleTopSites","topSitesIconsStats","topSitesPinned","topsites_icon_stats","topsites_pinned","sitesPerRow","matchMedia","matches","topSitesRows","onMount","validationError","focus","showClearButton","onClear","typeUrl","titleId","onChange","placeholderId","errorMessageId","TopSiteFormInput","onLabelChange","onUrlChange","onCancelButtonClick","onClearUrlClick","onDoneButtonClick","onClose","validateForm","cleanUrl","validateUrl","URL","validate","showAsAdd","TopSiteForm","DetectUserSessionStart","_store","_perfService","perfService","_sendEvent","visibility_event_rcvd_ts","MERGE_STORE_ACTION","OUTGOING_MESSAGE_NAME","INCOMING_MESSAGE_NAME","EARLY_QUEUED_ACTIONS","mergeStateReducer","mainReducer","messageMiddleware","au","sendAsyncMessage","rehydrationMiddleware","_didRehydrate","isMergeStoreAction","isRehydrationRequest","_didRequestInitialState","queueEarlyMessageMiddleware","_receivedFromMain","_earlyActionQueue","reducers","initialState","createStore","combineReducers","applyMiddleware","dump","JSON","stringify","stack"],"mappings":"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","file":"activity-stream.bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 14);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 22106c7bece777d1baf6","/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/. */\n\"use strict\";\n\nthis.MAIN_MESSAGE_TYPE = \"ActivityStream:Main\";\nthis.CONTENT_MESSAGE_TYPE = \"ActivityStream:Content\";\nthis.PRELOAD_MESSAGE_TYPE = \"ActivityStream:PreloadedBrowser\";\nthis.UI_CODE = 1;\nthis.BACKGROUND_PROCESS = 2;\n\n/**\n * globalImportContext - Are we in UI code (i.e. react, a dom) or some kind of background process?\n *                       Use this in action creators if you need different logic\n *                       for ui/background processes.\n */\nconst globalImportContext = typeof Window === \"undefined\" ? BACKGROUND_PROCESS : UI_CODE;\n// Export for tests\nthis.globalImportContext = globalImportContext;\n\n// Create an object that avoids accidental differing key/value pairs:\n// {\n//   INIT: \"INIT\",\n//   UNINIT: \"UNINIT\"\n// }\nconst actionTypes = {};\nfor (const type of [\n  \"ARCHIVE_FROM_POCKET\",\n  \"BLOCK_URL\",\n  \"BOOKMARK_URL\",\n  \"DELETE_BOOKMARK_BY_ID\",\n  \"DELETE_FROM_POCKET\",\n  \"DELETE_HISTORY_URL\",\n  \"DELETE_HISTORY_URL_CONFIRM\",\n  \"DIALOG_CANCEL\",\n  \"DIALOG_OPEN\",\n  \"DISABLE_ONBOARDING\",\n  \"INIT\",\n  \"MIGRATION_CANCEL\",\n  \"MIGRATION_COMPLETED\",\n  \"MIGRATION_START\",\n  \"NEW_TAB_INIT\",\n  \"NEW_TAB_INITIAL_STATE\",\n  \"NEW_TAB_LOAD\",\n  \"NEW_TAB_REHYDRATED\",\n  \"NEW_TAB_STATE_REQUEST\",\n  \"NEW_TAB_UNLOAD\",\n  \"OPEN_LINK\",\n  \"OPEN_NEW_WINDOW\",\n  \"OPEN_PRIVATE_WINDOW\",\n  \"PAGE_PRERENDERED\",\n  \"PLACES_BOOKMARK_ADDED\",\n  \"PLACES_BOOKMARK_CHANGED\",\n  \"PLACES_BOOKMARK_REMOVED\",\n  \"PLACES_HISTORY_CLEARED\",\n  \"PLACES_LINKS_DELETED\",\n  \"PLACES_LINK_BLOCKED\",\n  \"PLACES_SAVED_TO_POCKET\",\n  \"PREFS_INITIAL_VALUES\",\n  \"PREF_CHANGED\",\n  \"RICH_ICON_MISSING\",\n  \"SAVE_SESSION_PERF_DATA\",\n  \"SAVE_TO_POCKET\",\n  \"SCREENSHOT_UPDATED\",\n  \"SECTION_DEREGISTER\",\n  \"SECTION_DISABLE\",\n  \"SECTION_ENABLE\",\n  \"SECTION_MOVE\",\n  \"SECTION_OPTIONS_CHANGED\",\n  \"SECTION_REGISTER\",\n  \"SECTION_UPDATE\",\n  \"SECTION_UPDATE_CARD\",\n  \"SETTINGS_CLOSE\",\n  \"SETTINGS_OPEN\",\n  \"SET_PREF\",\n  \"SHOW_FIREFOX_ACCOUNTS\",\n  \"SNIPPETS_BLOCKLIST_CLEARED\",\n  \"SNIPPETS_BLOCKLIST_UPDATED\",\n  \"SNIPPETS_DATA\",\n  \"SNIPPETS_RESET\",\n  \"SNIPPET_BLOCKED\",\n  \"SYSTEM_TICK\",\n  \"TELEMETRY_IMPRESSION_STATS\",\n  \"TELEMETRY_PERFORMANCE_EVENT\",\n  \"TELEMETRY_UNDESIRED_EVENT\",\n  \"TELEMETRY_USER_EVENT\",\n  \"TOP_SITES_CANCEL_EDIT\",\n  \"TOP_SITES_EDIT\",\n  \"TOP_SITES_INSERT\",\n  \"TOP_SITES_PIN\",\n  \"TOP_SITES_UNPIN\",\n  \"TOP_SITES_UPDATED\",\n  \"TOTAL_BOOKMARKS_REQUEST\",\n  \"TOTAL_BOOKMARKS_RESPONSE\",\n  \"UNINIT\",\n  \"WEBEXT_CLICK\",\n  \"WEBEXT_DISMISS\"\n]) {\n  actionTypes[type] = type;\n}\n\n// Helper function for creating routed actions between content and main\n// Not intended to be used by consumers\nfunction _RouteMessage(action, options) {\n  const meta = action.meta ? Object.assign({}, action.meta) : {};\n  if (!options || !options.from || !options.to) {\n    throw new Error(\"Routed Messages must have options as the second parameter, and must at least include a .from and .to property.\");\n  }\n  // For each of these fields, if they are passed as an option,\n  // add them to the action. If they are not defined, remove them.\n  [\"from\", \"to\", \"toTarget\", \"fromTarget\", \"skipMain\", \"skipLocal\"].forEach(o => {\n    if (typeof options[o] !== \"undefined\") {\n      meta[o] = options[o];\n    } else if (meta[o]) {\n      delete meta[o];\n    }\n  });\n  return Object.assign({}, action, {meta});\n}\n\n/**\n * AlsoToMain - Creates a message that will be dispatched locally and also sent to the Main process.\n *\n * @param  {object} action Any redux action (required)\n * @param  {object} options\n * @param  {bool}   skipLocal Used by OnlyToMain to skip the main reducer\n * @param  {string} fromTarget The id of the content port from which the action originated. (optional)\n * @return {object} An action with added .meta properties\n */\nfunction AlsoToMain(action, fromTarget, skipLocal) {\n  return _RouteMessage(action, {\n    from: CONTENT_MESSAGE_TYPE,\n    to: MAIN_MESSAGE_TYPE,\n    fromTarget,\n    skipLocal\n  });\n}\n\n/**\n * OnlyToMain - Creates a message that will be sent to the Main process and skip the local reducer.\n *\n * @param  {object} action Any redux action (required)\n * @param  {object} options\n * @param  {string} fromTarget The id of the content port from which the action originated. (optional)\n * @return {object} An action with added .meta properties\n */\nfunction OnlyToMain(action, fromTarget) {\n  return AlsoToMain(action, fromTarget, true);\n}\n\n/**\n * BroadcastToContent - Creates a message that will be dispatched to main and sent to ALL content processes.\n *\n * @param  {object} action Any redux action (required)\n * @return {object} An action with added .meta properties\n */\nfunction BroadcastToContent(action) {\n  return _RouteMessage(action, {\n    from: MAIN_MESSAGE_TYPE,\n    to: CONTENT_MESSAGE_TYPE\n  });\n}\n\n/**\n * AlsoToOneContent - Creates a message that will be will be dispatched to the main store\n *                    and also sent to a particular Content process.\n *\n * @param  {object} action Any redux action (required)\n * @param  {string} target The id of a content port\n * @param  {bool} skipMain Used by OnlyToOneContent to skip the main process\n * @return {object} An action with added .meta properties\n */\nfunction AlsoToOneContent(action, target, skipMain) {\n  if (!target) {\n    throw new Error(\"You must provide a target ID as the second parameter of AlsoToOneContent. If you want to send to all content processes, use BroadcastToContent\");\n  }\n  return _RouteMessage(action, {\n    from: MAIN_MESSAGE_TYPE,\n    to: CONTENT_MESSAGE_TYPE,\n    toTarget: target,\n    skipMain\n  });\n}\n\n/**\n * OnlyToOneContent - Creates a message that will be sent to a particular Content process\n *                    and skip the main reducer.\n *\n * @param  {object} action Any redux action (required)\n * @param  {string} target The id of a content port\n * @return {object} An action with added .meta properties\n */\nfunction OnlyToOneContent(action, target) {\n  return AlsoToOneContent(action, target, true);\n}\n\n/**\n * AlsoToPreloaded - Creates a message that dispatched to the main reducer and also sent to the preloaded tab.\n *\n * @param  {object} action Any redux action (required)\n * @return {object} An action with added .meta properties\n */\nfunction AlsoToPreloaded(action) {\n  return _RouteMessage(action, {\n    from: MAIN_MESSAGE_TYPE,\n    to: PRELOAD_MESSAGE_TYPE\n  });\n}\n\n/**\n * UserEvent - A telemetry ping indicating a user action. This should only\n *                   be sent from the UI during a user session.\n *\n * @param  {object} data Fields to include in the ping (source, etc.)\n * @return {object} An AlsoToMain action\n */\nfunction UserEvent(data) {\n  return AlsoToMain({\n    type: actionTypes.TELEMETRY_USER_EVENT,\n    data\n  });\n}\n\n/**\n * UndesiredEvent - A telemetry ping indicating an undesired state.\n *\n * @param  {object} data Fields to include in the ping (value, etc.)\n * @param  {int} importContext (For testing) Override the import context for testing.\n * @return {object} An action. For UI code, a AlsoToMain action.\n */\nfunction UndesiredEvent(data, importContext = globalImportContext) {\n  const action = {\n    type: actionTypes.TELEMETRY_UNDESIRED_EVENT,\n    data\n  };\n  return importContext === UI_CODE ? AlsoToMain(action) : action;\n}\n\n/**\n * PerfEvent - A telemetry ping indicating a performance-related event.\n *\n * @param  {object} data Fields to include in the ping (value, etc.)\n * @param  {int} importContext (For testing) Override the import context for testing.\n * @return {object} An action. For UI code, a AlsoToMain action.\n */\nfunction PerfEvent(data, importContext = globalImportContext) {\n  const action = {\n    type: actionTypes.TELEMETRY_PERFORMANCE_EVENT,\n    data\n  };\n  return importContext === UI_CODE ? AlsoToMain(action) : action;\n}\n\n/**\n * ImpressionStats - A telemetry ping indicating an impression stats.\n *\n * @param  {object} data Fields to include in the ping\n * @param  {int} importContext (For testing) Override the import context for testing.\n * #return {object} An action. For UI code, a AlsoToMain action.\n */\nfunction ImpressionStats(data, importContext = globalImportContext) {\n  const action = {\n    type: actionTypes.TELEMETRY_IMPRESSION_STATS,\n    data\n  };\n  return importContext === UI_CODE ? AlsoToMain(action) : action;\n}\n\nfunction SetPref(name, value, importContext = globalImportContext) {\n  const action = {type: actionTypes.SET_PREF, data: {name, value}};\n  return importContext === UI_CODE ? AlsoToMain(action) : action;\n}\n\nfunction WebExtEvent(type, data, importContext = globalImportContext) {\n  if (!data || !data.source) {\n    throw new Error(\"WebExtEvent actions should include a property \\\"source\\\", the id of the webextension that should receive the event.\");\n  }\n  const action = {type, data};\n  return importContext === UI_CODE ? AlsoToMain(action) : action;\n}\n\nthis.actionTypes = actionTypes;\n\nthis.actionCreators = {\n  BroadcastToContent,\n  UserEvent,\n  UndesiredEvent,\n  PerfEvent,\n  ImpressionStats,\n  AlsoToOneContent,\n  OnlyToOneContent,\n  AlsoToMain,\n  OnlyToMain,\n  AlsoToPreloaded,\n  SetPref,\n  WebExtEvent\n};\n\n// These are helpers to test for certain kinds of actions\nthis.actionUtils = {\n  isSendToMain(action) {\n    if (!action.meta) {\n      return false;\n    }\n    return action.meta.to === MAIN_MESSAGE_TYPE && action.meta.from === CONTENT_MESSAGE_TYPE;\n  },\n  isBroadcastToContent(action) {\n    if (!action.meta) {\n      return false;\n    }\n    if (action.meta.to === CONTENT_MESSAGE_TYPE && !action.meta.toTarget) {\n      return true;\n    }\n    return false;\n  },\n  isSendToOneContent(action) {\n    if (!action.meta) {\n      return false;\n    }\n    if (action.meta.to === CONTENT_MESSAGE_TYPE && action.meta.toTarget) {\n      return true;\n    }\n    return false;\n  },\n  isSendToPreloaded(action) {\n    if (!action.meta) {\n      return false;\n    }\n    return action.meta.to === PRELOAD_MESSAGE_TYPE &&\n      action.meta.from === MAIN_MESSAGE_TYPE;\n  },\n  isFromMain(action) {\n    if (!action.meta) {\n      return false;\n    }\n    return action.meta.from === MAIN_MESSAGE_TYPE &&\n      action.meta.to === CONTENT_MESSAGE_TYPE;\n  },\n  getPortIdOfSender(action) {\n    return (action.meta && action.meta.fromTarget) || null;\n  },\n  _RouteMessage\n};\n\nconst EXPORTED_SYMBOLS = [\n  \"actionTypes\",\n  \"actionCreators\",\n  \"actionUtils\",\n  \"globalImportContext\",\n  \"UI_CODE\",\n  \"BACKGROUND_PROCESS\",\n  \"MAIN_MESSAGE_TYPE\",\n  \"CONTENT_MESSAGE_TYPE\",\n  \"PRELOAD_MESSAGE_TYPE\"\n];\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/common/Actions.jsm","module.exports = React;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"React\"\n// module id = 1\n// module chunks = 0","module.exports = ReactIntl;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"ReactIntl\"\n// module id = 2\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 3\n// module chunks = 0","module.exports = ReactRedux;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"ReactRedux\"\n// module id = 4\n// module chunks = 0","export const TOP_SITES_SOURCE = \"TOP_SITES\";\nexport const TOP_SITES_CONTEXT_MENU_OPTIONS = [\"CheckPinTopSite\", \"EditTopSite\", \"Separator\",\n  \"OpenInNewWindow\", \"OpenInPrivateWindow\", \"Separator\", \"BlockUrl\", \"DeleteUrl\"];\n// minimum size necessary to show a rich icon instead of a screenshot\nexport const MIN_RICH_FAVICON_SIZE = 96;\n// minimum size necessary to show any icon in the top left corner with a screenshot\nexport const MIN_CORNER_FAVICON_SIZE = 16;\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/TopSites/TopSitesConstants.js","this.Dedupe = class Dedupe {\n  constructor(createKey) {\n    this.createKey = createKey || this.defaultCreateKey;\n  }\n\n  defaultCreateKey(item) {\n    return item;\n  }\n\n  /**\n   * Dedupe any number of grouped elements favoring those from earlier groups.\n   *\n   * @param {Array} groups Contains an arbitrary number of arrays of elements.\n   * @returns {Array} A matching array of each provided group deduped.\n   */\n  group(...groups) {\n    const globalKeys = new Set();\n    const result = [];\n    for (const values of groups) {\n      const valueMap = new Map();\n      for (const value of values) {\n        const key = this.createKey(value);\n        if (!globalKeys.has(key) && !valueMap.has(key)) {\n          valueMap.set(key, value);\n        }\n      }\n      result.push(valueMap);\n      valueMap.forEach((value, key) => globalKeys.add(key));\n    }\n    return result.map(m => Array.from(m.values()));\n  }\n};\n\nconst EXPORTED_SYMBOLS = [\"Dedupe\"];\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/common/Dedupe.jsm","/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/. */\n\"use strict\";\n\nconst {actionTypes: at} = ChromeUtils.import(\"resource://activity-stream/common/Actions.jsm\", {});\nconst {Dedupe} = ChromeUtils.import(\"resource://activity-stream/common/Dedupe.jsm\", {});\n\nconst TOP_SITES_DEFAULT_ROWS = 1;\nconst TOP_SITES_MAX_SITES_PER_ROW = 8;\n\nconst dedupe = new Dedupe(site => site && site.url);\n\nconst INITIAL_STATE = {\n  App: {\n    // Have we received real data from the app yet?\n    initialized: false,\n    // The version of the system-addon\n    version: null\n  },\n  Snippets: {initialized: false},\n  TopSites: {\n    // Have we received real data from history yet?\n    initialized: false,\n    // The history (and possibly default) links\n    rows: [],\n    // Used in content only to dispatch action to TopSiteForm.\n    editForm: null\n  },\n  Prefs: {\n    initialized: false,\n    values: {}\n  },\n  Dialog: {\n    visible: false,\n    data: {}\n  },\n  Sections: []\n};\n\nfunction App(prevState = INITIAL_STATE.App, action) {\n  switch (action.type) {\n    case at.INIT:\n      return Object.assign({}, prevState, action.data || {}, {initialized: true});\n    default:\n      return prevState;\n  }\n}\n\n/**\n * insertPinned - Inserts pinned links in their specified slots\n *\n * @param {array} a list of links\n * @param {array} a list of pinned links\n * @return {array} resulting list of links with pinned links inserted\n */\nfunction insertPinned(links, pinned) {\n  // Remove any pinned links\n  const pinnedUrls = pinned.map(link => link && link.url);\n  let newLinks = links.filter(link => (link ? !pinnedUrls.includes(link.url) : false));\n  newLinks = newLinks.map(link => {\n    if (link && link.isPinned) {\n      delete link.isPinned;\n      delete link.pinIndex;\n    }\n    return link;\n  });\n\n  // Then insert them in their specified location\n  pinned.forEach((val, index) => {\n    if (!val) { return; }\n    let link = Object.assign({}, val, {isPinned: true, pinIndex: index});\n    if (index > newLinks.length) {\n      newLinks[index] = link;\n    } else {\n      newLinks.splice(index, 0, link);\n    }\n  });\n\n  return newLinks;\n}\n\nfunction TopSites(prevState = INITIAL_STATE.TopSites, action) {\n  let hasMatch;\n  let newRows;\n  switch (action.type) {\n    case at.TOP_SITES_UPDATED:\n      if (!action.data) {\n        return prevState;\n      }\n      return Object.assign({}, prevState, {initialized: true, rows: action.data});\n    case at.TOP_SITES_EDIT:\n      return Object.assign({}, prevState, {editForm: {index: action.data.index}});\n    case at.TOP_SITES_CANCEL_EDIT:\n      return Object.assign({}, prevState, {editForm: null});\n    case at.SCREENSHOT_UPDATED:\n      newRows = prevState.rows.map(row => {\n        if (row && row.url === action.data.url) {\n          hasMatch = true;\n          return Object.assign({}, row, {screenshot: action.data.screenshot});\n        }\n        return row;\n      });\n      return hasMatch ? Object.assign({}, prevState, {rows: newRows}) : prevState;\n    case at.PLACES_BOOKMARK_ADDED:\n      if (!action.data) {\n        return prevState;\n      }\n      newRows = prevState.rows.map(site => {\n        if (site && site.url === action.data.url) {\n          const {bookmarkGuid, bookmarkTitle, dateAdded} = action.data;\n          return Object.assign({}, site, {bookmarkGuid, bookmarkTitle, bookmarkDateCreated: dateAdded});\n        }\n        return site;\n      });\n      return Object.assign({}, prevState, {rows: newRows});\n    case at.PLACES_BOOKMARK_REMOVED:\n      if (!action.data) {\n        return prevState;\n      }\n      newRows = prevState.rows.map(site => {\n        if (site && site.url === action.data.url) {\n          const newSite = Object.assign({}, site);\n          delete newSite.bookmarkGuid;\n          delete newSite.bookmarkTitle;\n          delete newSite.bookmarkDateCreated;\n          return newSite;\n        }\n        return site;\n      });\n      return Object.assign({}, prevState, {rows: newRows});\n    default:\n      return prevState;\n  }\n}\n\nfunction Dialog(prevState = INITIAL_STATE.Dialog, action) {\n  switch (action.type) {\n    case at.DIALOG_OPEN:\n      return Object.assign({}, prevState, {visible: true, data: action.data});\n    case at.DIALOG_CANCEL:\n      return Object.assign({}, prevState, {visible: false});\n    case at.DELETE_HISTORY_URL:\n      return Object.assign({}, INITIAL_STATE.Dialog);\n    default:\n      return prevState;\n  }\n}\n\nfunction Prefs(prevState = INITIAL_STATE.Prefs, action) {\n  let newValues;\n  switch (action.type) {\n    case at.PREFS_INITIAL_VALUES:\n      return Object.assign({}, prevState, {initialized: true, values: action.data});\n    case at.PREF_CHANGED:\n      newValues = Object.assign({}, prevState.values);\n      newValues[action.data.name] = action.data.value;\n      return Object.assign({}, prevState, {values: newValues});\n    default:\n      return prevState;\n  }\n}\n\nfunction Sections(prevState = INITIAL_STATE.Sections, action) {\n  let hasMatch;\n  let newState;\n  switch (action.type) {\n    case at.SECTION_DEREGISTER:\n      return prevState.filter(section => section.id !== action.data);\n    case at.SECTION_REGISTER:\n      // If section exists in prevState, update it\n      newState = prevState.map(section => {\n        if (section && section.id === action.data.id) {\n          hasMatch = true;\n          return Object.assign({}, section, action.data);\n        }\n        return section;\n      });\n      // Otherwise, append it\n      if (!hasMatch) {\n        const initialized = !!(action.data.rows && action.data.rows.length > 0);\n        const section = Object.assign({title: \"\", rows: [], enabled: false}, action.data, {initialized});\n        newState.push(section);\n      }\n      return newState;\n    case at.SECTION_UPDATE:\n      newState = prevState.map(section => {\n        if (section && section.id === action.data.id) {\n          // If the action is updating rows, we should consider initialized to be true.\n          // This can be overridden if initialized is defined in the action.data\n          const initialized = action.data.rows ? {initialized: true} : {};\n\n          // Make sure pinned cards stay at their current position when rows are updated.\n          // Disabling a section (SECTION_UPDATE with empty rows) does not retain pinned cards.\n          if (action.data.rows && action.data.rows.length > 0 && section.rows.find(card => card.pinned)) {\n            const rows = Array.from(action.data.rows);\n            section.rows.forEach((card, index) => {\n              if (card.pinned) {\n                rows.splice(index, 0, card);\n              }\n            });\n            return Object.assign({}, section, initialized, Object.assign({}, action.data, {rows}));\n          }\n\n          return Object.assign({}, section, initialized, action.data);\n        }\n        return section;\n      });\n\n      if (!action.data.dedupeConfigurations) {\n        return newState;\n      }\n\n      action.data.dedupeConfigurations.forEach(dedupeConf => {\n        newState = newState.map(section => {\n          if (section.id === dedupeConf.id) {\n            const dedupedRows = dedupeConf.dedupeFrom.reduce((rows, dedupeSectionId) => {\n              const dedupeSection = newState.find(s => s.id === dedupeSectionId);\n              const [, newRows] = dedupe.group(dedupeSection.rows, rows);\n              return newRows;\n            }, section.rows);\n\n            return Object.assign({}, section, {rows: dedupedRows});\n          }\n\n          return section;\n        });\n      });\n\n      return newState;\n    case at.SECTION_UPDATE_CARD:\n      return prevState.map(section => {\n        if (section && section.id === action.data.id && section.rows) {\n          const newRows = section.rows.map(card => {\n            if (card.url === action.data.url) {\n              return Object.assign({}, card, action.data.options);\n            }\n            return card;\n          });\n          return Object.assign({}, section, {rows: newRows});\n        }\n        return section;\n      });\n    case at.PLACES_BOOKMARK_ADDED:\n      if (!action.data) {\n        return prevState;\n      }\n      return prevState.map(section => Object.assign({}, section, {\n        rows: section.rows.map(item => {\n          // find the item within the rows that is attempted to be bookmarked\n          if (item.url === action.data.url) {\n            const {bookmarkGuid, bookmarkTitle, dateAdded} = action.data;\n            return Object.assign({}, item, {\n              bookmarkGuid,\n              bookmarkTitle,\n              bookmarkDateCreated: dateAdded,\n              type: \"bookmark\"\n            });\n          }\n          return item;\n        })\n      }));\n    case at.PLACES_SAVED_TO_POCKET:\n      if (!action.data) {\n        return prevState;\n      }\n      return prevState.map(section => Object.assign({}, section, {\n        rows: section.rows.map(item => {\n          if (item.url === action.data.url) {\n            return Object.assign({}, item, {\n              open_url: action.data.open_url,\n              pocket_id: action.data.pocket_id,\n              title: action.data.title,\n              type: \"pocket\"\n            });\n          }\n          return item;\n        })\n      }));\n    case at.PLACES_BOOKMARK_REMOVED:\n      if (!action.data) {\n        return prevState;\n      }\n      return prevState.map(section => Object.assign({}, section, {\n        rows: section.rows.map(item => {\n          // find the bookmark within the rows that is attempted to be removed\n          if (item.url === action.data.url) {\n            const newSite = Object.assign({}, item);\n            delete newSite.bookmarkGuid;\n            delete newSite.bookmarkTitle;\n            delete newSite.bookmarkDateCreated;\n            if (!newSite.type || newSite.type === \"bookmark\") {\n              newSite.type = \"history\";\n            }\n            return newSite;\n          }\n          return item;\n        })\n      }));\n    case at.PLACES_LINKS_DELETED:\n      return prevState.map(section => Object.assign({}, section,\n        {rows: section.rows.filter(site => !action.data.includes(site.url))}));\n    case at.PLACES_LINK_BLOCKED:\n      return prevState.map(section =>\n        Object.assign({}, section, {rows: section.rows.filter(site => site.url !== action.data.url)}));\n    case at.DELETE_FROM_POCKET:\n    case at.ARCHIVE_FROM_POCKET:\n      return prevState.map(section =>\n        Object.assign({}, section, {rows: section.rows.filter(site => site.pocket_id !== action.data.pocket_id)}));\n    default:\n      return prevState;\n  }\n}\n\nfunction Snippets(prevState = INITIAL_STATE.Snippets, action) {\n  switch (action.type) {\n    case at.SNIPPETS_DATA:\n      return Object.assign({}, prevState, {initialized: true}, action.data);\n    case at.SNIPPET_BLOCKED:\n      return Object.assign({}, prevState, {blockList: prevState.blockList.concat(action.data)});\n    case at.SNIPPETS_BLOCKLIST_CLEARED:\n      return Object.assign({}, prevState, {blockList: []});\n    case at.SNIPPETS_RESET:\n      return INITIAL_STATE.Snippets;\n    default:\n      return prevState;\n  }\n}\n\nthis.INITIAL_STATE = INITIAL_STATE;\nthis.TOP_SITES_DEFAULT_ROWS = TOP_SITES_DEFAULT_ROWS;\nthis.TOP_SITES_MAX_SITES_PER_ROW = TOP_SITES_MAX_SITES_PER_ROW;\n\nthis.reducers = {TopSites, App, Snippets, Prefs, Dialog, Sections};\n\nconst EXPORTED_SYMBOLS = [\"reducers\", \"INITIAL_STATE\", \"insertPinned\", \"TOP_SITES_DEFAULT_ROWS\", \"TOP_SITES_MAX_SITES_PER_ROW\"];\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/common/Reducers.jsm","import {FormattedMessage} from \"react-intl\";\nimport React from \"react\";\n\nexport class ErrorBoundaryFallback extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.windowObj = this.props.windowObj || window;\n    this.onClick = this.onClick.bind(this);\n  }\n\n  /**\n   * Since we only get here if part of the page has crashed, do a\n   * forced reload to give us the best chance at recovering.\n   */\n  onClick() {\n    this.windowObj.location.reload(true);\n  }\n\n  render() {\n    const defaultClass = \"as-error-fallback\";\n    let className;\n    if (\"className\" in this.props) {\n      className = `${this.props.className} ${defaultClass}`;\n    } else {\n      className = defaultClass;\n    }\n\n    // href=\"#\" to force normal link styling stuff (eg cursor on hover)\n    return (\n      <div className={className}>\n        <div>\n          <FormattedMessage\n            defaultMessage=\"Oops, something went wrong loading this content.\"\n            id=\"error_fallback_default_info\" />\n        </div>\n        <span>\n          <a href=\"#\" className=\"reload-button\" onClick={this.onClick}>\n            <FormattedMessage\n              defaultMessage=\"Refresh page to try again.\"\n              id=\"error_fallback_default_refresh_suggestion\" />\n          </a>\n        </span>\n      </div>\n    );\n  }\n}\nErrorBoundaryFallback.defaultProps = {className: \"as-error-fallback\"};\n\nexport class ErrorBoundary extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.state = {hasError: false};\n  }\n\n  componentDidCatch(error, info) {\n    this.setState({hasError: true});\n  }\n\n  render() {\n    if (!this.state.hasError) {\n      return (this.props.children);\n    }\n\n    return <this.props.FallbackComponent className={this.props.className} />;\n  }\n}\n\nErrorBoundary.defaultProps = {FallbackComponent: ErrorBoundaryFallback};\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/ErrorBoundary/ErrorBoundary.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\n\nconst _OpenInPrivateWindow = site => ({\n  id: \"menu_action_open_private_window\",\n  icon: \"new-window-private\",\n  action: ac.OnlyToMain({\n    type: at.OPEN_PRIVATE_WINDOW,\n    data: {url: site.url, referrer: site.referrer}\n  }),\n  userEvent: \"OPEN_PRIVATE_WINDOW\"\n});\n\n/**\n * List of functions that return items that can be included as menu options in a\n * LinkMenu. All functions take the site as the first parameter, and optionally\n * the index of the site.\n */\nexport const LinkMenuOptions = {\n  Separator: () => ({type: \"separator\"}),\n  EmptyItem: () => ({type: \"empty\"}),\n  RemoveBookmark: site => ({\n    id: \"menu_action_remove_bookmark\",\n    icon: \"bookmark-added\",\n    action: ac.AlsoToMain({\n      type: at.DELETE_BOOKMARK_BY_ID,\n      data: site.bookmarkGuid\n    }),\n    userEvent: \"BOOKMARK_DELETE\"\n  }),\n  AddBookmark: site => ({\n    id: \"menu_action_bookmark\",\n    icon: \"bookmark-hollow\",\n    action: ac.AlsoToMain({\n      type: at.BOOKMARK_URL,\n      data: {url: site.url, title: site.title, type: site.type}\n    }),\n    userEvent: \"BOOKMARK_ADD\"\n  }),\n  OpenInNewWindow: site => ({\n    id: \"menu_action_open_new_window\",\n    icon: \"new-window\",\n    action: ac.AlsoToMain({\n      type: at.OPEN_NEW_WINDOW,\n      data: {url: site.url, referrer: site.referrer}\n    }),\n    userEvent: \"OPEN_NEW_WINDOW\"\n  }),\n  BlockUrl: (site, index, eventSource) => ({\n    id: \"menu_action_dismiss\",\n    icon: \"dismiss\",\n    action: ac.AlsoToMain({\n      type: at.BLOCK_URL,\n      data: {url: site.url, pocket_id: site.pocket_id}\n    }),\n    impression: ac.ImpressionStats({\n      source: eventSource,\n      block: 0,\n      tiles: [{id: site.guid, pos: index}]\n    }),\n    userEvent: \"BLOCK\"\n  }),\n\n  // This is an option for web extentions which will result in remove items from\n  // memory and notify the web extenion, rather than using the built-in block list.\n  WebExtDismiss: (site, index, eventSource) => ({\n    id: \"menu_action_webext_dismiss\",\n    string_id: \"menu_action_dismiss\",\n    icon: \"dismiss\",\n    action: ac.WebExtEvent(at.WEBEXT_DISMISS, {\n      source: eventSource,\n      url: site.url,\n      action_position: index\n    })\n  }),\n  DeleteUrl: (site, index, eventSource, isEnabled, siteInfo) => ({\n    id: \"menu_action_delete\",\n    icon: \"delete\",\n    action: {\n      type: at.DIALOG_OPEN,\n      data: {\n        onConfirm: [\n          ac.AlsoToMain({type: at.DELETE_HISTORY_URL, data: {url: site.url, pocket_id: site.pocket_id, forceBlock: site.bookmarkGuid}}),\n          ac.UserEvent(Object.assign({event: \"DELETE\", source: eventSource, action_position: index}, siteInfo))\n        ],\n        eventSource,\n        body_string_id: [\"confirm_history_delete_p1\", \"confirm_history_delete_notice_p2\"],\n        confirm_button_string_id: \"menu_action_delete\",\n        cancel_button_string_id: \"topsites_form_cancel_button\",\n        icon: \"modal-delete\"\n      }\n    },\n    userEvent: \"DIALOG_OPEN\"\n  }),\n  PinTopSite: (site, index) => ({\n    id: \"menu_action_pin\",\n    icon: \"pin\",\n    action: ac.AlsoToMain({\n      type: at.TOP_SITES_PIN,\n      data: {site: {url: site.url}, index}\n    }),\n    userEvent: \"PIN\"\n  }),\n  UnpinTopSite: site => ({\n    id: \"menu_action_unpin\",\n    icon: \"unpin\",\n    action: ac.AlsoToMain({\n      type: at.TOP_SITES_UNPIN,\n      data: {site: {url: site.url}}\n    }),\n    userEvent: \"UNPIN\"\n  }),\n  SaveToPocket: (site, index, eventSource) => ({\n    id: \"menu_action_save_to_pocket\",\n    icon: \"pocket\",\n    action: ac.AlsoToMain({\n      type: at.SAVE_TO_POCKET,\n      data: {site: {url: site.url, title: site.title}}\n    }),\n    impression: ac.ImpressionStats({\n      source: eventSource,\n      pocket: 0,\n      tiles: [{id: site.guid, pos: index}]\n    }),\n    userEvent: \"SAVE_TO_POCKET\"\n  }),\n  DeleteFromPocket: site => ({\n    id: \"menu_action_delete_pocket\",\n    icon: \"delete\",\n    action: ac.AlsoToMain({\n      type: at.DELETE_FROM_POCKET,\n      data: {pocket_id: site.pocket_id}\n    }),\n    userEvent: \"DELETE_FROM_POCKET\"\n  }),\n  ArchiveFromPocket: site => ({\n    id: \"menu_action_archive_pocket\",\n    icon: \"check\",\n    action: ac.AlsoToMain({\n      type: at.ARCHIVE_FROM_POCKET,\n      data: {pocket_id: site.pocket_id}\n    }),\n    userEvent: \"ARCHIVE_FROM_POCKET\"\n  }),\n  EditTopSite: (site, index) => ({\n    id: \"edit_topsites_button_text\",\n    icon: \"edit\",\n    action: {\n      type: at.TOP_SITES_EDIT,\n      data: {index}\n    }\n  }),\n  CheckBookmark: site => (site.bookmarkGuid ? LinkMenuOptions.RemoveBookmark(site) : LinkMenuOptions.AddBookmark(site)),\n  CheckPinTopSite: (site, index) => (site.isPinned ? LinkMenuOptions.UnpinTopSite(site) : LinkMenuOptions.PinTopSite(site, index)),\n  CheckSavedToPocket: (site, index) => (site.pocket_id ? LinkMenuOptions.DeleteFromPocket(site) : LinkMenuOptions.SaveToPocket(site, index)),\n  CheckBookmarkOrArchive: site => (site.pocket_id ? LinkMenuOptions.ArchiveFromPocket(site) : LinkMenuOptions.CheckBookmark(site)),\n  CheckDeleteHistoryOrEmpty: (site, index, eventSource, isEnabled, siteInfo) => (site.pocket_id ? LinkMenuOptions.EmptyItem() : LinkMenuOptions.DeleteUrl(site, index, eventSource, isEnabled, siteInfo)),\n  OpenInPrivateWindow: (site, index, eventSource, isEnabled) => (isEnabled ? _OpenInPrivateWindow(site) : LinkMenuOptions.EmptyItem())\n};\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/lib/link-menu-options.js","import {actionCreators as ac} from \"common/Actions.jsm\";\nimport {connect} from \"react-redux\";\nimport {ContextMenu} from \"content-src/components/ContextMenu/ContextMenu\";\nimport {injectIntl} from \"react-intl\";\nimport {LinkMenuOptions} from \"content-src/lib/link-menu-options\";\nimport React from \"react\";\n\nconst DEFAULT_SITE_MENU_OPTIONS = [\"CheckPinTopSite\", \"EditTopSite\", \"Separator\", \"OpenInNewWindow\", \"OpenInPrivateWindow\", \"Separator\", \"BlockUrl\"];\n\nexport class _LinkMenu extends React.PureComponent {\n  getOptions() {\n    const {props} = this;\n    const {site, index, source, isPrivateBrowsingEnabled, siteInfo} = props;\n\n    // Handle special case of default site\n    const propOptions = !site.isDefault ? props.options : DEFAULT_SITE_MENU_OPTIONS;\n\n    const options = propOptions.map(o => LinkMenuOptions[o](site, index, source, isPrivateBrowsingEnabled, siteInfo)).map(option => {\n      const {action, impression, id, string_id, type, userEvent} = option;\n      if (!type && id) {\n        option.label = props.intl.formatMessage({id: string_id || id});\n        option.onClick = () => {\n          props.dispatch(action);\n          if (userEvent) {\n            const userEventData = Object.assign({\n              event: userEvent,\n              source,\n              action_position: index\n            }, siteInfo);\n            props.dispatch(ac.UserEvent(userEventData));\n          }\n          if (impression && props.shouldSendImpressionStats) {\n            props.dispatch(impression);\n          }\n        };\n      }\n      return option;\n    });\n\n    // This is for accessibility to support making each item tabbable.\n    // We want to know which item is the first and which item\n    // is the last, so we can close the context menu accordingly.\n    options[0].first = true;\n    options[options.length - 1].last = true;\n    return options;\n  }\n\n  render() {\n    return (<ContextMenu\n      onUpdate={this.props.onUpdate}\n      options={this.getOptions()} />);\n  }\n}\n\nconst getState = state => ({isPrivateBrowsingEnabled: state.Prefs.values.isPrivateBrowsingEnabled});\nexport const LinkMenu = connect(getState)(injectIntl(_LinkMenu));\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/LinkMenu/LinkMenu.jsx","import React from \"react\";\n\nexport class ContextMenu extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.hideContext = this.hideContext.bind(this);\n    this.onClick = this.onClick.bind(this);\n  }\n\n  hideContext() {\n    this.props.onUpdate(false);\n  }\n\n  componentDidMount() {\n    setTimeout(() => {\n      global.addEventListener(\"click\", this.hideContext);\n    }, 0);\n  }\n\n  componentWillUnmount() {\n    global.removeEventListener(\"click\", this.hideContext);\n  }\n\n  onClick(event) {\n    // Eat all clicks on the context menu so they don't bubble up to window.\n    // This prevents the context menu from closing when clicking disabled items\n    // or the separators.\n    event.stopPropagation();\n  }\n\n  render() {\n    return (<span className=\"context-menu\" onClick={this.onClick}>\n      <ul role=\"menu\" className=\"context-menu-list\">\n        {this.props.options.map((option, i) => (option.type === \"separator\" ?\n          (<li key={i} className=\"separator\" />) :\n          (option.type !== \"empty\" && <ContextMenuItem key={i} option={option} hideContext={this.hideContext} />)\n        ))}\n      </ul>\n    </span>);\n  }\n}\n\nexport class ContextMenuItem extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onClick = this.onClick.bind(this);\n    this.onKeyDown = this.onKeyDown.bind(this);\n  }\n\n  onClick() {\n    this.props.hideContext();\n    this.props.option.onClick();\n  }\n\n  onKeyDown(event) {\n    const {option} = this.props;\n    switch (event.key) {\n      case \"Tab\":\n        // tab goes down in context menu, shift + tab goes up in context menu\n        // if we're on the last item, one more tab will close the context menu\n        // similarly, if we're on the first item, one more shift + tab will close it\n        if ((event.shiftKey && option.first) || (!event.shiftKey && option.last)) {\n          this.props.hideContext();\n        }\n        break;\n      case \"Enter\":\n        this.props.hideContext();\n        option.onClick();\n        break;\n    }\n  }\n\n  render() {\n    const {option} = this.props;\n    return (\n      <li role=\"menuitem\" className=\"context-menu-item\">\n        <a onClick={this.onClick} onKeyDown={this.onKeyDown} tabIndex=\"0\" className={option.disabled ? \"disabled\" : \"\"}>\n          {option.icon && <span className={`icon icon-spacer icon-${option.icon}`} />}\n          {option.label}\n        </a>\n      </li>);\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/ContextMenu/ContextMenu.jsx","import {FormattedMessage, injectIntl} from \"react-intl\";\nimport {actionCreators as ac} from \"common/Actions.jsm\";\nimport {ErrorBoundary} from \"content-src/components/ErrorBoundary/ErrorBoundary\";\nimport React from \"react\";\nimport {SectionMenu} from \"content-src/components/SectionMenu/SectionMenu\";\n\nconst VISIBLE = \"visible\";\nconst VISIBILITY_CHANGE_EVENT = \"visibilitychange\";\n\nfunction getFormattedMessage(message) {\n  return typeof message === \"string\" ? <span>{message}</span> : <FormattedMessage {...message} />;\n}\nfunction getCollapsed(props) {\n  return (props.prefName in props.Prefs.values) ? props.Prefs.values[props.prefName] : false;\n}\n\nexport class Disclaimer extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onAcknowledge = this.onAcknowledge.bind(this);\n  }\n\n  onAcknowledge() {\n    this.props.dispatch(ac.SetPref(this.props.disclaimerPref, false));\n    this.props.dispatch(ac.UserEvent({event: \"SECTION_DISCLAIMER_ACKNOWLEDGED\", source: this.props.eventSource}));\n  }\n\n  render() {\n    const {disclaimer} = this.props;\n    return (\n      <div className=\"section-disclaimer\">\n          <div className=\"section-disclaimer-text\">\n            {getFormattedMessage(disclaimer.text)}\n            {disclaimer.link &&\n              <a href={disclaimer.link.href} target=\"_blank\" rel=\"noopener noreferrer\">\n                {getFormattedMessage(disclaimer.link.title || disclaimer.link)}\n              </a>\n            }\n          </div>\n\n          <button onClick={this.onAcknowledge}>\n            {getFormattedMessage(disclaimer.button)}\n          </button>\n      </div>\n    );\n  }\n}\n\nexport const DisclaimerIntl = injectIntl(Disclaimer);\n\nexport class _CollapsibleSection extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onBodyMount = this.onBodyMount.bind(this);\n    this.onHeaderClick = this.onHeaderClick.bind(this);\n    this.onTransitionEnd = this.onTransitionEnd.bind(this);\n    this.enableOrDisableAnimation = this.enableOrDisableAnimation.bind(this);\n    this.onMenuButtonClick = this.onMenuButtonClick.bind(this);\n    this.onMenuButtonMouseEnter = this.onMenuButtonMouseEnter.bind(this);\n    this.onMenuButtonMouseLeave = this.onMenuButtonMouseLeave.bind(this);\n    this.onMenuUpdate = this.onMenuUpdate.bind(this);\n    this.state = {enableAnimation: true, isAnimating: false, menuButtonHover: false, showContextMenu: false};\n  }\n\n  componentWillMount() {\n    this.props.document.addEventListener(VISIBILITY_CHANGE_EVENT, this.enableOrDisableAnimation);\n  }\n\n  componentWillUpdate(nextProps) {\n    // Check if we're about to go from expanded to collapsed\n    if (!getCollapsed(this.props) && getCollapsed(nextProps)) {\n      // This next line forces a layout flush of the section body, which has a\n      // max-height style set, so that the upcoming collapse animation can\n      // animate from that height to the collapsed height. Without this, the\n      // update is coalesced and there's no animation from no-max-height to 0.\n      this.sectionBody.scrollHeight; // eslint-disable-line no-unused-expressions\n    }\n  }\n\n  componentWillUnmount() {\n    this.props.document.removeEventListener(VISIBILITY_CHANGE_EVENT, this.enableOrDisableAnimation);\n  }\n\n  enableOrDisableAnimation() {\n    // Only animate the collapse/expand for visible tabs.\n    const visible = this.props.document.visibilityState === VISIBLE;\n    if (this.state.enableAnimation !== visible) {\n      this.setState({enableAnimation: visible});\n    }\n  }\n\n  onBodyMount(node) {\n    this.sectionBody = node;\n  }\n\n  onHeaderClick() {\n    // If this.sectionBody is unset, it means that we're in some sort of error\n    // state, probably displaying the error fallback, so we won't be able to\n    // compute the height, and we don't want to persist the preference.\n    if (!this.sectionBody) {\n      return;\n    }\n\n    // Get the current height of the body so max-height transitions can work\n    this.setState({\n      isAnimating: true,\n      maxHeight: `${this.sectionBody.scrollHeight}px`\n    });\n    this.props.dispatch(ac.SetPref(this.props.prefName, !getCollapsed(this.props)));\n  }\n\n  onTransitionEnd(event) {\n    // Only update the animating state for our own transition (not a child's)\n    if (event.target === event.currentTarget) {\n      this.setState({isAnimating: false});\n    }\n  }\n\n  renderIcon() {\n    const {icon} = this.props;\n    if (icon && icon.startsWith(\"moz-extension://\")) {\n      return <span className=\"icon icon-small-spacer\" style={{backgroundImage: `url('${icon}')`}} />;\n    }\n    return <span className={`icon icon-small-spacer icon-${icon || \"webextension\"}`} />;\n  }\n\n  onMenuButtonClick(event) {\n    event.preventDefault();\n    this.setState({showContextMenu: true});\n  }\n\n  onMenuButtonMouseEnter() {\n    this.setState({menuButtonHover: true});\n  }\n\n  onMenuButtonMouseLeave() {\n    this.setState({menuButtonHover: false});\n  }\n\n  onMenuUpdate(showContextMenu) {\n    this.setState({showContextMenu});\n  }\n\n  render() {\n    const isCollapsible = this.props.prefName in this.props.Prefs.values;\n    const isCollapsed = getCollapsed(this.props);\n    const {enableAnimation, isAnimating, maxHeight, menuButtonHover, showContextMenu} = this.state;\n    const {id, eventSource, disclaimer, title, extraMenuOptions, prefName, showPrefName, privacyNoticeURL, dispatch, isFirst, isLast} = this.props;\n    const disclaimerPref = `section.${id}.showDisclaimer`;\n    const needsDisclaimer = disclaimer && this.props.Prefs.values[disclaimerPref];\n    const active = menuButtonHover || showContextMenu;\n\n    return (\n      <section className={`collapsible-section ${this.props.className}${enableAnimation ? \" animation-enabled\" : \"\"}${isCollapsed ? \" collapsed\" : \"\"}${active ? \" active\" : \"\"}`}>\n        <div className=\"section-top-bar\">\n          <h3 className=\"section-title\">\n            <span className=\"click-target\" onClick={isCollapsible && this.onHeaderClick}>\n              {this.renderIcon()}\n              {title}\n            {isCollapsible && <span className={`collapsible-arrow icon ${isCollapsed ? \"icon-arrowhead-forward-small\" : \"icon-arrowhead-down-small\"}`} />}\n            </span>\n          </h3>\n          <div>\n            <button\n              className=\"context-menu-button icon\"\n              onClick={this.onMenuButtonClick}\n              onMouseEnter={this.onMenuButtonMouseEnter}\n              onMouseLeave={this.onMenuButtonMouseLeave}>\n              <span className=\"sr-only\">\n                <FormattedMessage id=\"section_context_menu_button_sr\" />\n              </span>\n            </button>\n            {showContextMenu &&\n              <SectionMenu\n                id={id}\n                extraOptions={extraMenuOptions}\n                eventSource={eventSource}\n                showPrefName={showPrefName}\n                collapsePrefName={prefName}\n                privacyNoticeURL={privacyNoticeURL}\n                isCollapsed={isCollapsed}\n                onUpdate={this.onMenuUpdate}\n                isFirst={isFirst}\n                isLast={isLast}\n                dispatch={dispatch} />\n            }\n          </div>\n        </div>\n        <ErrorBoundary className=\"section-body-fallback\">\n          <div\n            className={`section-body${isAnimating ? \" animating\" : \"\"}`}\n            onTransitionEnd={this.onTransitionEnd}\n            ref={this.onBodyMount}\n            style={isAnimating && !isCollapsed ? {maxHeight} : null}>\n            {needsDisclaimer && <DisclaimerIntl disclaimerPref={disclaimerPref} disclaimer={disclaimer} eventSource={eventSource} dispatch={this.props.dispatch} />}\n            {this.props.children}\n          </div>\n        </ErrorBoundary>\n      </section>\n    );\n  }\n}\n\n_CollapsibleSection.defaultProps = {\n  document: global.document || {\n    addEventListener: () => {},\n    removeEventListener: () => {},\n    visibilityState: \"hidden\"\n  },\n  Prefs: {values: {}}\n};\n\nexport const CollapsibleSection = injectIntl(_CollapsibleSection);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/CollapsibleSection/CollapsibleSection.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {perfService as perfSvc} from \"common/PerfService.jsm\";\nimport React from \"react\";\n\n// Currently record only a fixed set of sections. This will prevent data\n// from custom sections from showing up or from topstories.\nconst RECORDED_SECTIONS = [\"highlights\", \"topsites\"];\n\nexport class ComponentPerfTimer extends React.Component {\n  constructor(props) {\n    super(props);\n    // Just for test dependency injection:\n    this.perfSvc = this.props.perfSvc || perfSvc;\n\n    this._sendBadStateEvent = this._sendBadStateEvent.bind(this);\n    this._sendPaintedEvent = this._sendPaintedEvent.bind(this);\n    this._reportMissingData = false;\n    this._timestampHandled = false;\n    this._recordedFirstRender = false;\n  }\n\n  componentDidMount() {\n    if (!RECORDED_SECTIONS.includes(this.props.id)) {\n      return;\n    }\n\n    this._maybeSendPaintedEvent();\n  }\n\n  componentDidUpdate() {\n    if (!RECORDED_SECTIONS.includes(this.props.id)) {\n      return;\n    }\n\n    this._maybeSendPaintedEvent();\n  }\n\n  /**\n   * Call the given callback after the upcoming frame paints.\n   *\n   * @note Both setTimeout and requestAnimationFrame are throttled when the page\n   * is hidden, so this callback may get called up to a second or so after the\n   * requestAnimationFrame \"paint\" for hidden tabs.\n   *\n   * Newtabs hidden while loading will presumably be fairly rare (other than\n   * preloaded tabs, which we will be filtering out on the server side), so such\n   * cases should get lost in the noise.\n   *\n   * If we decide that it's important to find out when something that's hidden\n   * has \"painted\", however, another option is to post a message to this window.\n   * That should happen even faster than setTimeout, and, at least as of this\n   * writing, it's not throttled in hidden windows in Firefox.\n   *\n   * @param {Function} callback\n   *\n   * @returns void\n   */\n  _afterFramePaint(callback) {\n    requestAnimationFrame(() => setTimeout(callback, 0));\n  }\n\n  _maybeSendBadStateEvent() {\n    // Follow up bugs:\n    // https://github.com/mozilla/activity-stream/issues/3691\n    if (!this.props.initialized) {\n      // Remember to report back when data is available.\n      this._reportMissingData = true;\n    } else if (this._reportMissingData) {\n      this._reportMissingData = false;\n      // Report how long it took for component to become initialized.\n      this._sendBadStateEvent();\n    }\n  }\n\n  _maybeSendPaintedEvent() {\n    // If we've already handled a timestamp, don't do it again.\n    if (this._timestampHandled || !this.props.initialized) {\n      return;\n    }\n\n    // And if we haven't, we're doing so now, so remember that. Even if\n    // something goes wrong in the callback, we can't try again, as we'd be\n    // sending back the wrong data, and we have to do it here, so that other\n    // calls to this method while waiting for the next frame won't also try to\n    // handle it.\n    this._timestampHandled = true;\n    this._afterFramePaint(this._sendPaintedEvent);\n  }\n\n  /**\n   * Triggered by call to render. Only first call goes through due to\n   * `_recordedFirstRender`.\n   */\n  _ensureFirstRenderTsRecorded() {\n    // Used as t0 for recording how long component took to initialize.\n    if (!this._recordedFirstRender) {\n      this._recordedFirstRender = true;\n      // topsites_first_render_ts, highlights_first_render_ts.\n      const key = `${this.props.id}_first_render_ts`;\n      this.perfSvc.mark(key);\n    }\n  }\n\n  /**\n   * Creates `TELEMETRY_UNDESIRED_EVENT` with timestamp in ms\n   * of how much longer the data took to be ready for display than it would\n   * have been the ideal case.\n   * https://github.com/mozilla/ping-centre/issues/98\n   */\n  _sendBadStateEvent() {\n    // highlights_data_ready_ts, topsites_data_ready_ts.\n    const dataReadyKey = `${this.props.id}_data_ready_ts`;\n    this.perfSvc.mark(dataReadyKey);\n\n    try {\n      const firstRenderKey = `${this.props.id}_first_render_ts`;\n      // value has to be Int32.\n      const value = parseInt(this.perfSvc.getMostRecentAbsMarkStartByName(dataReadyKey) -\n                             this.perfSvc.getMostRecentAbsMarkStartByName(firstRenderKey), 10);\n      this.props.dispatch(ac.OnlyToMain({\n        type: at.SAVE_SESSION_PERF_DATA,\n        // highlights_data_late_by_ms, topsites_data_late_by_ms.\n        data: {[`${this.props.id}_data_late_by_ms`]: value}\n      }));\n    } catch (ex) {\n      // If this failed, it's likely because the `privacy.resistFingerprinting`\n      // pref is true.\n    }\n  }\n\n  _sendPaintedEvent() {\n    // Record first_painted event but only send if topsites.\n    if (this.props.id !== \"topsites\") {\n      return;\n    }\n\n    // topsites_first_painted_ts.\n    const key = `${this.props.id}_first_painted_ts`;\n    this.perfSvc.mark(key);\n\n    try {\n      const data = {};\n      data[key] = this.perfSvc.getMostRecentAbsMarkStartByName(key);\n\n      this.props.dispatch(ac.OnlyToMain({\n        type: at.SAVE_SESSION_PERF_DATA,\n        data\n      }));\n    } catch (ex) {\n      // If this failed, it's likely because the `privacy.resistFingerprinting`\n      // pref is true.  We should at least not blow up, and should continue\n      // to set this._timestampHandled to avoid going through this again.\n    }\n  }\n\n  render() {\n    if (RECORDED_SECTIONS.includes(this.props.id)) {\n      this._ensureFirstRenderTsRecorded();\n      this._maybeSendBadStateEvent();\n    }\n    return this.props.children;\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/ComponentPerfTimer/ComponentPerfTimer.jsx","/* globals Services */\n\"use strict\";\n\n/* istanbul ignore if */\nif (typeof ChromeUtils !== \"undefined\") {\n  ChromeUtils.import(\"resource://gre/modules/Services.jsm\");\n}\n\nlet usablePerfObj;\n\n/* istanbul ignore if */\n/* istanbul ignore else */\nif (typeof Services !== \"undefined\") {\n  // Borrow the high-resolution timer from the hidden window....\n  usablePerfObj = Services.appShell.hiddenDOMWindow.performance;\n} else if (typeof performance !== \"undefined\") {\n  // we must be running in content space\n  // eslint-disable-next-line no-undef\n  usablePerfObj = performance;\n} else {\n  // This is a dummy object so this file doesn't crash in the node prerendering\n  // task.\n  usablePerfObj = {\n    now() {},\n    mark() {}\n  };\n}\n\nfunction _PerfService(options) {\n  // For testing, so that we can use a fake Window.performance object with\n  // known state.\n  if (options && options.performanceObj) {\n    this._perf = options.performanceObj;\n  } else {\n    this._perf = usablePerfObj;\n  }\n}\n\n_PerfService.prototype = {\n  /**\n   * Calls the underlying mark() method on the appropriate Window.performance\n   * object to add a mark with the given name to the appropriate performance\n   * timeline.\n   *\n   * @param  {String} name  the name to give the current mark\n   * @return {void}\n   */\n  mark: function mark(str) {\n    this._perf.mark(str);\n  },\n\n  /**\n   * Calls the underlying getEntriesByName on the appropriate Window.performance\n   * object.\n   *\n   * @param  {String} name\n   * @param  {String} type eg \"mark\"\n   * @return {Array}       Performance* objects\n   */\n  getEntriesByName: function getEntriesByName(name, type) {\n    return this._perf.getEntriesByName(name, type);\n  },\n\n  /**\n   * The timeOrigin property from the appropriate performance object.\n   * Used to ensure that timestamps from the add-on code and the content code\n   * are comparable.\n   *\n   * @note If this is called from a context without a window\n   * (eg a JSM in chrome), it will return the timeOrigin of the XUL hidden\n   * window, which appears to be the first created window (and thus\n   * timeOrigin) in the browser.  Note also, however, there is also a private\n   * hidden window, presumably for private browsing, which appears to be\n   * created dynamically later.  Exactly how/when that shows up needs to be\n   * investigated.\n   *\n   * @return {Number} A double of milliseconds with a precision of 0.5us.\n   */\n  get timeOrigin() {\n    return this._perf.timeOrigin;\n  },\n\n  /**\n   * Returns the \"absolute\" version of performance.now(), i.e. one that\n   * should ([bug 1401406](https://bugzilla.mozilla.org/show_bug.cgi?id=1401406)\n   * be comparable across both chrome and content.\n   *\n   * @return {Number}\n   */\n  absNow: function absNow() {\n    return this.timeOrigin + this._perf.now();\n  },\n\n  /**\n   * This returns the absolute startTime from the most recent performance.mark()\n   * with the given name.\n   *\n   * @param  {String} name  the name to lookup the start time for\n   *\n   * @return {Number}       the returned start time, as a DOMHighResTimeStamp\n   *\n   * @throws {Error}        \"No Marks with the name ...\" if none are available\n   *\n   * @note Always surround calls to this by try/catch.  Otherwise your code\n   * may fail when the `privacy.resistFingerprinting` pref is true.  When\n   * this pref is set, all attempts to get marks will likely fail, which will\n   * cause this method to throw.\n   *\n   * See [bug 1369303](https://bugzilla.mozilla.org/show_bug.cgi?id=1369303)\n   * for more info.\n   */\n  getMostRecentAbsMarkStartByName(name) {\n    let entries = this.getEntriesByName(name, \"mark\");\n\n    if (!entries.length) {\n      throw new Error(`No marks with the name ${name}`);\n    }\n\n    let mostRecentEntry = entries[entries.length - 1];\n    return this._perf.timeOrigin + mostRecentEntry.startTime;\n  }\n};\n\nthis.perfService = new _PerfService();\nconst EXPORTED_SYMBOLS = [\"_PerfService\", \"perfService\"];\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/common/PerfService.jsm","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {FormattedMessage, injectIntl} from \"react-intl\";\nimport {\n  MIN_CORNER_FAVICON_SIZE,\n  MIN_RICH_FAVICON_SIZE,\n  TOP_SITES_CONTEXT_MENU_OPTIONS,\n  TOP_SITES_SOURCE\n} from \"./TopSitesConstants\";\nimport {LinkMenu} from \"content-src/components/LinkMenu/LinkMenu\";\nimport React from \"react\";\nimport {TOP_SITES_MAX_SITES_PER_ROW} from \"common/Reducers.jsm\";\n\nexport class TopSiteLink extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onDragEvent = this.onDragEvent.bind(this);\n  }\n\n  /*\n   * Helper to determine whether the drop zone should allow a drop. We only allow\n   * dropping top sites for now.\n   */\n  _allowDrop(e) {\n    return e.dataTransfer.types.includes(\"text/topsite-index\");\n  }\n\n  onDragEvent(event) {\n    switch (event.type) {\n      case \"click\":\n        // Stop any link clicks if we started any dragging\n        if (this.dragged) {\n          event.preventDefault();\n        }\n        break;\n      case \"dragstart\":\n        this.dragged = true;\n        event.dataTransfer.effectAllowed = \"move\";\n        event.dataTransfer.setData(\"text/topsite-index\", this.props.index);\n        event.target.blur();\n        this.props.onDragEvent(event, this.props.index, this.props.link, this.props.title);\n        break;\n      case \"dragend\":\n        this.props.onDragEvent(event);\n        break;\n      case \"dragenter\":\n      case \"dragover\":\n      case \"drop\":\n        if (this._allowDrop(event)) {\n          event.preventDefault();\n          this.props.onDragEvent(event, this.props.index);\n        }\n        break;\n      case \"mousedown\":\n        // Reset at the first mouse event of a potential drag\n        this.dragged = false;\n        break;\n    }\n  }\n\n  render() {\n    const {children, className, isDraggable, link, onClick, title} = this.props;\n    const topSiteOuterClassName = `top-site-outer${className ? ` ${className}` : \"\"}${link.isDragged ? \" dragged\" : \"\"}`;\n    const {tippyTopIcon, faviconSize} = link;\n    const [letterFallback] = title;\n    let imageClassName;\n    let imageStyle;\n    let showSmallFavicon = false;\n    let smallFaviconStyle;\n    let smallFaviconFallback;\n    if (tippyTopIcon || faviconSize >= MIN_RICH_FAVICON_SIZE) {\n      // styles and class names for top sites with rich icons\n      imageClassName = \"top-site-icon rich-icon\";\n      imageStyle = {\n        backgroundColor: link.backgroundColor,\n        backgroundImage: `url(${tippyTopIcon || link.favicon})`\n      };\n    } else {\n      // styles and class names for top sites with screenshot + small icon in top left corner\n      imageClassName = `screenshot${link.screenshot ? \" active\" : \"\"}`;\n      imageStyle = {backgroundImage: link.screenshot ? `url(${link.screenshot})` : \"none\"};\n\n      // only show a favicon in top left if it's greater than 16x16\n      if (faviconSize >= MIN_CORNER_FAVICON_SIZE) {\n        showSmallFavicon = true;\n        smallFaviconStyle = {backgroundImage:  `url(${link.favicon})`};\n      } else if (link.screenshot) {\n        // Don't show a small favicon if there is no screenshot, because that\n        // would result in two fallback icons\n        showSmallFavicon = true;\n        smallFaviconFallback = true;\n      }\n    }\n    let draggableProps = {};\n    if (isDraggable) {\n      draggableProps = {\n        onClick: this.onDragEvent,\n        onDragEnd: this.onDragEvent,\n        onDragStart: this.onDragEvent,\n        onMouseDown: this.onDragEvent\n      };\n    }\n    return (<li className={topSiteOuterClassName} onDrop={this.onDragEvent} onDragOver={this.onDragEvent} onDragEnter={this.onDragEvent} onDragLeave={this.onDragEvent} {...draggableProps}>\n      <div className=\"top-site-inner\">\n         <a href={link.url} onClick={onClick}>\n            <div className=\"tile\" aria-hidden={true} data-fallback={letterFallback}>\n              <div className={imageClassName} style={imageStyle} />\n              {showSmallFavicon && <div\n                className=\"top-site-icon default-icon\"\n                data-fallback={smallFaviconFallback && letterFallback}\n                style={smallFaviconStyle} />}\n           </div>\n           <div className={`title ${link.isPinned ? \"pinned\" : \"\"}`}>\n             {link.isPinned && <div className=\"icon icon-pin-small\" />}\n              <span dir=\"auto\">{title}</span>\n           </div>\n         </a>\n         {children}\n      </div>\n    </li>);\n  }\n}\nTopSiteLink.defaultProps = {\n  title: \"\",\n  link: {},\n  isDraggable: true\n};\n\nexport class TopSite extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.state = {showContextMenu: false};\n    this.onLinkClick = this.onLinkClick.bind(this);\n    this.onMenuButtonClick = this.onMenuButtonClick.bind(this);\n    this.onMenuUpdate = this.onMenuUpdate.bind(this);\n  }\n\n  /**\n   * Report to telemetry additional information about the item.\n   */\n  _getTelemetryInfo() {\n    const value = {icon_type: this.props.link.iconType};\n    // Filter out \"not_pinned\" type for being the default\n    if (this.props.link.isPinned) {\n      value.card_type = \"pinned\";\n    }\n    return {value};\n  }\n\n  userEvent(event) {\n    this.props.dispatch(ac.UserEvent(Object.assign({\n      event,\n      source: TOP_SITES_SOURCE,\n      action_position: this.props.index\n    }, this._getTelemetryInfo())));\n  }\n\n  onLinkClick(ev) {\n    this.userEvent(\"CLICK\");\n  }\n\n  onMenuButtonClick(event) {\n    event.preventDefault();\n    this.props.onActivate(this.props.index);\n    this.setState({showContextMenu: true});\n  }\n\n  onMenuUpdate(showContextMenu) {\n    this.setState({showContextMenu});\n  }\n\n  render() {\n    const {props} = this;\n    const {link} = props;\n    const isContextMenuOpen = this.state.showContextMenu && props.activeIndex === props.index;\n    const title = link.label || link.hostname;\n    return (<TopSiteLink {...props} onClick={this.onLinkClick} onDragEvent={this.props.onDragEvent} className={`${props.className || \"\"}${isContextMenuOpen ? \" active\" : \"\"}`} title={title}>\n        <div>\n          <button className=\"context-menu-button icon\" onClick={this.onMenuButtonClick}>\n            <span className=\"sr-only\">\n              <FormattedMessage id=\"context_menu_button_sr\" values={{title}} />\n            </span>\n          </button>\n          {isContextMenuOpen &&\n            <LinkMenu\n              dispatch={props.dispatch}\n              index={props.index}\n              onUpdate={this.onMenuUpdate}\n              options={TOP_SITES_CONTEXT_MENU_OPTIONS}\n              site={link}\n              siteInfo={this._getTelemetryInfo()}\n              source={TOP_SITES_SOURCE} />\n          }\n        </div>\n    </TopSiteLink>);\n  }\n}\nTopSite.defaultProps = {\n  link: {},\n  onActivate() {}\n};\n\nexport class TopSitePlaceholder extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onEditButtonClick = this.onEditButtonClick.bind(this);\n  }\n\n  onEditButtonClick() {\n    this.props.dispatch(\n      {type: at.TOP_SITES_EDIT, data: {index: this.props.index}});\n  }\n\n  render() {\n    return (<TopSiteLink {...this.props} className={`placeholder ${this.props.className || \"\"}`} isDraggable={false}>\n      <button className=\"context-menu-button edit-button icon\"\n       title={this.props.intl.formatMessage({id: \"edit_topsites_edit_button\"})}\n       onClick={this.onEditButtonClick} />\n    </TopSiteLink>);\n  }\n}\n\nexport class _TopSiteList extends React.PureComponent {\n  static get DEFAULT_STATE() {\n    return {\n      activeIndex: null,\n      draggedIndex: null,\n      draggedSite: null,\n      draggedTitle: null,\n      topSitesPreview: null\n    };\n  }\n\n  constructor(props) {\n    super(props);\n    this.state = _TopSiteList.DEFAULT_STATE;\n    this.onDragEvent = this.onDragEvent.bind(this);\n    this.onActivate = this.onActivate.bind(this);\n  }\n\n  componentWillReceiveProps(nextProps) {\n    if (this.state.draggedSite) {\n      const prevTopSites = this.props.TopSites && this.props.TopSites.rows;\n      const newTopSites = nextProps.TopSites && nextProps.TopSites.rows;\n      if (prevTopSites && prevTopSites[this.state.draggedIndex] &&\n        prevTopSites[this.state.draggedIndex].url === this.state.draggedSite.url &&\n        (!newTopSites[this.state.draggedIndex] || newTopSites[this.state.draggedIndex].url !== this.state.draggedSite.url)) {\n        // We got the new order from the redux store via props. We can clear state now.\n        this.setState(_TopSiteList.DEFAULT_STATE);\n      }\n    }\n  }\n\n  userEvent(event, index) {\n    this.props.dispatch(ac.UserEvent({\n      event,\n      source: TOP_SITES_SOURCE,\n      action_position: index\n    }));\n  }\n\n  onDragEvent(event, index, link, title) {\n    switch (event.type) {\n      case \"dragstart\":\n        this.dropped = false;\n        this.setState({\n          draggedIndex: index,\n          draggedSite: link,\n          draggedTitle: title,\n          activeIndex: null\n        });\n        this.userEvent(\"DRAG\", index);\n        break;\n      case \"dragend\":\n        if (!this.dropped) {\n          // If there was no drop event, reset the state to the default.\n          this.setState(_TopSiteList.DEFAULT_STATE);\n        }\n        break;\n      case \"dragenter\":\n        if (index === this.state.draggedIndex) {\n          this.setState({topSitesPreview: null});\n        } else {\n          this.setState({topSitesPreview: this._makeTopSitesPreview(index)});\n        }\n        break;\n      case \"drop\":\n        if (index !== this.state.draggedIndex) {\n          this.dropped = true;\n          this.props.dispatch(ac.AlsoToMain({\n            type: at.TOP_SITES_INSERT,\n            data: {site: {url: this.state.draggedSite.url, label: this.state.draggedTitle}, index, draggedFromIndex: this.state.draggedIndex}\n          }));\n          this.userEvent(\"DROP\", index);\n        }\n        break;\n    }\n  }\n\n  _getTopSites() {\n    // Make a copy of the sites to truncate or extend to desired length\n    let topSites = this.props.TopSites.rows.slice();\n    topSites.length = this.props.TopSitesRows * TOP_SITES_MAX_SITES_PER_ROW;\n    return topSites;\n  }\n\n  /**\n   * Make a preview of the topsites that will be the result of dropping the currently\n   * dragged site at the specified index.\n   */\n  _makeTopSitesPreview(index) {\n    const topSites = this._getTopSites();\n    topSites[this.state.draggedIndex] = null;\n    const pinnedOnly = topSites.map(site => ((site && site.isPinned) ? site : null));\n    const unpinned = topSites.filter(site => site && !site.isPinned);\n    const siteToInsert = Object.assign({}, this.state.draggedSite, {isPinned: true, isDragged: true});\n    if (!pinnedOnly[index]) {\n      pinnedOnly[index] = siteToInsert;\n    } else {\n      // Find the hole to shift the pinned site(s) towards. We shift towards the\n      // hole left by the site being dragged.\n      let holeIndex = index;\n      const indexStep = index > this.state.draggedIndex ? -1 : 1;\n      while (pinnedOnly[holeIndex]) {\n        holeIndex += indexStep;\n      }\n\n      // Shift towards the hole.\n      const shiftingStep = index > this.state.draggedIndex ? 1 : -1;\n      while (holeIndex !== index) {\n        const nextIndex = holeIndex + shiftingStep;\n        pinnedOnly[holeIndex] = pinnedOnly[nextIndex];\n        holeIndex = nextIndex;\n      }\n      pinnedOnly[index] = siteToInsert;\n    }\n\n    // Fill in the remaining holes with unpinned sites.\n    const preview = pinnedOnly;\n    for (let i = 0; i < preview.length; i++) {\n      if (!preview[i]) {\n        preview[i] = unpinned.shift() || null;\n      }\n    }\n\n    return preview;\n  }\n\n  onActivate(index) {\n    this.setState({activeIndex: index});\n  }\n\n  render() {\n    const {props} = this;\n    const topSites = this.state.topSitesPreview || this._getTopSites();\n    const topSitesUI = [];\n    const commonProps = {\n      onDragEvent: this.onDragEvent,\n      dispatch: props.dispatch,\n      intl: props.intl\n    };\n    // We assign a key to each placeholder slot. We need it to be independent\n    // of the slot index (i below) so that the keys used stay the same during\n    // drag and drop reordering and the underlying DOM nodes are reused.\n    // This mostly (only?) affects linux so be sure to test on linux before changing.\n    let holeIndex = 0;\n\n    // On narrow viewports, we only show 6 sites per row. We'll mark the rest as\n    // .hide-for-narrow to hide in CSS via @media query.\n    const maxNarrowVisibleIndex = props.TopSitesRows * 6;\n\n    for (let i = 0, l = topSites.length; i < l; i++) {\n      const link = topSites[i] && Object.assign({}, topSites[i], {iconType: this.props.topSiteIconType(topSites[i])});\n      const slotProps = {\n        key: link ? link.url : holeIndex++,\n        index: i\n      };\n      if (i >= maxNarrowVisibleIndex) {\n        slotProps.className = \"hide-for-narrow\";\n      }\n      topSitesUI.push(!link ? (\n        <TopSitePlaceholder\n          {...slotProps}\n          {...commonProps} />\n      ) : (\n        <TopSite\n          link={link}\n          activeIndex={this.state.activeIndex}\n          onActivate={this.onActivate}\n          {...slotProps}\n          {...commonProps} />\n      ));\n    }\n    return (<ul className={`top-sites-list${this.state.draggedSite ? \" dnd-active\" : \"\"}`}>\n      {topSitesUI}\n    </ul>);\n  }\n}\n\nexport const TopSiteList = injectIntl(_TopSiteList);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/TopSites/TopSite.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {addSnippetsSubscriber} from \"content-src/lib/snippets\";\nimport {Base} from \"content-src/components/Base/Base\";\nimport {DetectUserSessionStart} from \"content-src/lib/detect-user-session-start\";\nimport {initStore} from \"content-src/lib/init-store\";\nimport {Provider} from \"react-redux\";\nimport React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport {reducers} from \"common/Reducers.jsm\";\n\nconst store = initStore(reducers, global.gActivityStreamPrerenderedState);\n\nnew DetectUserSessionStart(store).sendEventOrAddListener();\n\n// If we are starting in a prerendered state, we must wait until the first render\n// to request state rehydration (see Base.jsx). If we are NOT in a prerendered state,\n// we can request it immedately.\nif (!global.gActivityStreamPrerenderedState) {\n  store.dispatch(ac.AlsoToMain({type: at.NEW_TAB_STATE_REQUEST}));\n}\n\nReactDOM.hydrate(<Provider store={store}>\n  <Base\n    isPrerendered={!!global.gActivityStreamPrerenderedState}\n    locale={global.document.documentElement.lang}\n    strings={global.gActivityStreamStrings} />\n</Provider>, document.getElementById(\"root\"));\n\naddSnippetsSubscriber(store);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/activity-stream.jsx","const DATABASE_NAME = \"snippets_db\";\nconst DATABASE_VERSION = 1;\nconst SNIPPETS_OBJECTSTORE_NAME = \"snippets\";\nexport const SNIPPETS_UPDATE_INTERVAL_MS = 14400000; // 4 hours.\n\nconst SNIPPETS_ENABLED_EVENT = \"Snippets:Enabled\";\nconst SNIPPETS_DISABLED_EVENT = \"Snippets:Disabled\";\n\nimport {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\n\n/**\n * SnippetsMap - A utility for cacheing values related to the snippet. It has\n *               the same interface as a Map, but is optionally backed by\n *               indexedDB for persistent storage.\n *               Call .connect() to open a database connection and restore any\n *               previously cached data, if necessary.\n *\n */\nexport class SnippetsMap extends Map {\n  constructor(dispatch) {\n    super();\n    this._db = null;\n    this._dispatch = dispatch;\n  }\n\n  set(key, value) {\n    super.set(key, value);\n    return this._dbTransaction(db => db.put(value, key));\n  }\n\n  delete(key) {\n    super.delete(key);\n    return this._dbTransaction(db => db.delete(key));\n  }\n\n  clear() {\n    super.clear();\n    this._dispatch(ac.OnlyToMain({type: at.SNIPPETS_BLOCKLIST_CLEARED}));\n    return this._dbTransaction(db => db.clear());\n  }\n\n  get blockList() {\n    return this.get(\"blockList\") || [];\n  }\n\n  /**\n   * blockSnippetById - Blocks a snippet given an id\n   *\n   * @param  {str|int} id   The id of the snippet\n   * @return {Promise}      Resolves when the id has been written to indexedDB,\n   *                        or immediately if the snippetMap is not connected\n   */\n  async blockSnippetById(id) {\n    if (!id) {\n      return;\n    }\n    const {blockList} = this;\n    if (!blockList.includes(id)) {\n      blockList.push(id);\n      this._dispatch(ac.AlsoToMain({type: at.SNIPPETS_BLOCKLIST_UPDATED, data: id}));\n      await this.set(\"blockList\", blockList);\n    }\n  }\n\n  disableOnboarding() {\n    this._dispatch(ac.AlsoToMain({type: at.DISABLE_ONBOARDING}));\n  }\n\n  showFirefoxAccounts() {\n    this._dispatch(ac.AlsoToMain({type: at.SHOW_FIREFOX_ACCOUNTS}));\n  }\n\n  getTotalBookmarksCount() {\n    return new Promise(resolve => {\n      this._dispatch(ac.OnlyToMain({type: at.TOTAL_BOOKMARKS_REQUEST}));\n      global.addMessageListener(\"ActivityStream:MainToContent\", function onMessage({data: action}) {\n        if (action.type === at.TOTAL_BOOKMARKS_RESPONSE) {\n          resolve(action.data);\n          global.removeMessageListener(\"ActivityStream:MainToContent\", onMessage);\n        }\n      });\n    });\n  }\n\n  /**\n   * connect - Attaches an indexedDB back-end to the Map so that any set values\n   *           are also cached in a store. It also restores any existing values\n   *           that are already stored in the indexedDB store.\n   *\n   * @return {type}  description\n   */\n  async connect() {\n    // Open the connection\n    const db = await this._openDB();\n\n    // Restore any existing values\n    await this._restoreFromDb(db);\n\n    // Attach a reference to the db\n    this._db = db;\n  }\n\n  /**\n   * _dbTransaction - Returns a db transaction wrapped with the given modifier\n   *                  function as a Promise. If the db has not been connected,\n   *                  it resolves immediately.\n   *\n   * @param  {func} modifier A function to call with the transaction\n   * @return {obj}           A Promise that resolves when the transaction has\n   *                         completed or errored\n   */\n  _dbTransaction(modifier) {\n    if (!this._db) {\n      return Promise.resolve();\n    }\n    return new Promise((resolve, reject) => {\n      const transaction = modifier(\n        this._db\n          .transaction(SNIPPETS_OBJECTSTORE_NAME, \"readwrite\")\n          .objectStore(SNIPPETS_OBJECTSTORE_NAME)\n      );\n      transaction.onsuccess = event => resolve();\n\n      /* istanbul ignore next */\n      transaction.onerror = event => reject(transaction.error);\n    });\n  }\n\n  _openDB() {\n    return new Promise((resolve, reject) => {\n      const openRequest = indexedDB.open(DATABASE_NAME, DATABASE_VERSION);\n\n      /* istanbul ignore next */\n      openRequest.onerror = event => {\n        // Try to delete the old database so that we can start this process over\n        // next time.\n        indexedDB.deleteDatabase(DATABASE_NAME);\n        reject(event);\n      };\n\n      openRequest.onupgradeneeded = event => {\n        const db = event.target.result;\n        if (!db.objectStoreNames.contains(SNIPPETS_OBJECTSTORE_NAME)) {\n          db.createObjectStore(SNIPPETS_OBJECTSTORE_NAME);\n        }\n      };\n\n      openRequest.onsuccess = event => {\n        let db = event.target.result;\n\n        /* istanbul ignore next */\n        db.onerror = err => console.error(err); // eslint-disable-line no-console\n        /* istanbul ignore next */\n        db.onversionchange = versionChangeEvent => versionChangeEvent.target.close();\n\n        resolve(db);\n      };\n    });\n  }\n\n  _restoreFromDb(db) {\n    return new Promise((resolve, reject) => {\n      let cursorRequest;\n      try {\n        cursorRequest = db.transaction(SNIPPETS_OBJECTSTORE_NAME)\n          .objectStore(SNIPPETS_OBJECTSTORE_NAME).openCursor();\n      } catch (err) {\n        // istanbul ignore next\n        reject(err);\n        // istanbul ignore next\n        return;\n      }\n\n      /* istanbul ignore next */\n      cursorRequest.onerror = event => reject(event);\n\n      cursorRequest.onsuccess = event => {\n        let cursor = event.target.result;\n        // Populate the cache from the persistent storage.\n        if (cursor) {\n          if (cursor.value !== \"blockList\") {\n            this.set(cursor.key, cursor.value);\n          }\n          cursor.continue();\n        } else {\n          // We are done.\n          resolve();\n        }\n      };\n    });\n  }\n}\n\n/**\n * SnippetsProvider - Initializes a SnippetsMap and loads snippets from a\n *                    remote location, or else default snippets if the remote\n *                    snippets cannot be retrieved.\n */\nexport class SnippetsProvider {\n  constructor(dispatch) {\n    // Initialize the Snippets Map and attaches it to a global so that\n    // the snippet payload can interact with it.\n    global.gSnippetsMap = new SnippetsMap(dispatch);\n    this._onAction = this._onAction.bind(this);\n  }\n\n  get snippetsMap() {\n    return global.gSnippetsMap;\n  }\n\n  async _refreshSnippets() {\n    // Check if the cached version of of the snippets in snippetsMap. If it's too\n    // old, blow away the entire snippetsMap.\n    const cachedVersion = this.snippetsMap.get(\"snippets-cached-version\");\n\n    if (cachedVersion !== this.appData.version) {\n      this.snippetsMap.clear();\n    }\n\n    // Has enough time passed for us to require an update?\n    const lastUpdate = this.snippetsMap.get(\"snippets-last-update\");\n    const needsUpdate = !(lastUpdate >= 0) || Date.now() - lastUpdate > SNIPPETS_UPDATE_INTERVAL_MS;\n\n    if (needsUpdate && this.appData.snippetsURL) {\n      this.snippetsMap.set(\"snippets-last-update\", Date.now());\n      try {\n        const response = await fetch(this.appData.snippetsURL);\n        if (response.status === 200) {\n          const payload = await response.text();\n\n          this.snippetsMap.set(\"snippets\", payload);\n          this.snippetsMap.set(\"snippets-cached-version\", this.appData.version);\n        }\n      } catch (e) {\n        console.error(e); // eslint-disable-line no-console\n      }\n    }\n  }\n\n  _noSnippetFallback() {\n    // TODO\n  }\n\n  _forceOnboardingVisibility(shouldBeVisible) {\n    const onboardingEl = document.getElementById(\"onboarding-notification-bar\");\n\n    if (onboardingEl) {\n      onboardingEl.style.display = shouldBeVisible ? \"\" : \"none\";\n    }\n  }\n\n  _showRemoteSnippets() {\n    const snippetsEl = document.getElementById(this.elementId);\n    const payload = this.snippetsMap.get(\"snippets\");\n\n    if (!snippetsEl) {\n      throw new Error(`No element was found with id '${this.elementId}'.`);\n    }\n\n    // This could happen if fetching failed\n    if (!payload) {\n      throw new Error(\"No remote snippets were found in gSnippetsMap.\");\n    }\n\n    if (typeof payload !== \"string\") {\n      throw new Error(\"Snippet payload was incorrectly formatted\");\n    }\n\n    // Note that injecting snippets can throw if they're invalid XML.\n    // eslint-disable-next-line no-unsanitized/property\n    snippetsEl.innerHTML = payload;\n\n    // Scripts injected by innerHTML are inactive, so we have to relocate them\n    // through DOM manipulation to activate their contents.\n    for (const scriptEl of snippetsEl.getElementsByTagName(\"script\")) {\n      const relocatedScript = document.createElement(\"script\");\n      relocatedScript.text = scriptEl.text;\n      scriptEl.parentNode.replaceChild(relocatedScript, scriptEl);\n    }\n  }\n\n  _onAction(msg) {\n    if (msg.data.type === at.SNIPPET_BLOCKED) {\n      if (!this.snippetsMap.blockList.includes(msg.data.data)) {\n        this.snippetsMap.set(\"blockList\", this.snippetsMap.blockList.concat(msg.data.data));\n        document.getElementById(\"snippets-container\").style.display = \"none\";\n      }\n    }\n  }\n\n  /**\n   * init - Fetch the snippet payload and show snippets\n   *\n   * @param  {obj} options\n   * @param  {str} options.appData.snippetsURL  The URL from which we fetch snippets\n   * @param  {int} options.appData.version  The current snippets version\n   * @param  {str} options.elementId  The id of the element in which to inject snippets\n   * @param  {bool} options.connect  Should gSnippetsMap connect to indexedDB?\n   */\n  async init(options) {\n    Object.assign(this, {\n      appData: {},\n      elementId: \"snippets\",\n      connect: true\n    }, options);\n\n    // Add listener so we know when snippets are blocked on other pages\n    if (global.addMessageListener) {\n      global.addMessageListener(\"ActivityStream:MainToContent\", this._onAction);\n    }\n\n    // TODO: Requires enabling indexedDB on newtab\n    // Restore the snippets map from indexedDB\n    if (this.connect) {\n      try {\n        await this.snippetsMap.connect();\n      } catch (e) {\n        console.error(e); // eslint-disable-line no-console\n      }\n    }\n\n    // Cache app data values so they can be accessible from gSnippetsMap\n    for (const key of Object.keys(this.appData)) {\n      if (key === \"blockList\") {\n        this.snippetsMap.set(\"blockList\", this.appData[key]);\n      } else {\n        this.snippetsMap.set(`appData.${key}`, this.appData[key]);\n      }\n    }\n\n    // Refresh snippets, if enough time has passed.\n    await this._refreshSnippets();\n\n    // Try showing remote snippets, falling back to defaults if necessary.\n    try {\n      this._showRemoteSnippets();\n    } catch (e) {\n      this._noSnippetFallback(e);\n    }\n\n    window.dispatchEvent(new Event(SNIPPETS_ENABLED_EVENT));\n\n    this._forceOnboardingVisibility(true);\n    this.initialized = true;\n  }\n\n  uninit() {\n    window.dispatchEvent(new Event(SNIPPETS_DISABLED_EVENT));\n    this._forceOnboardingVisibility(false);\n    if (global.removeMessageListener) {\n      global.removeMessageListener(\"ActivityStream:MainToContent\", this._onAction);\n    }\n    this.initialized = false;\n  }\n}\n\n/**\n * addSnippetsSubscriber - Creates a SnippetsProvider that Initializes\n *                         when the store has received the appropriate\n *                         Snippet data.\n *\n * @param  {obj} store   The redux store\n * @return {obj}         Returns the snippets instance and unsubscribe function\n */\nexport function addSnippetsSubscriber(store) {\n  const snippets = new SnippetsProvider(store.dispatch);\n\n  let initializing = false;\n\n  store.subscribe(async () => {\n    const state = store.getState();\n    // state.Prefs.values[\"feeds.snippets\"]:  Should snippets be shown?\n    // state.Snippets.initialized             Is the snippets data initialized?\n    // snippets.initialized:                  Is SnippetsProvider currently initialised?\n    if (state.Prefs.values[\"feeds.snippets\"] &&\n      !state.Prefs.values.disableSnippets &&\n      state.Snippets.initialized &&\n      !snippets.initialized &&\n      // Don't call init multiple times\n      !initializing\n    ) {\n      initializing = true;\n      await snippets.init({appData: state.Snippets});\n      initializing = false;\n    } else if (\n      (state.Prefs.values[\"feeds.snippets\"] === false ||\n        state.Prefs.values.disableSnippets === true) &&\n      snippets.initialized\n    ) {\n      snippets.uninit();\n    }\n  });\n\n  // These values are returned for testing purposes\n  return snippets;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/lib/snippets.js","import {actionCreators as ac, actionTypes} from \"common/Actions.jsm\";\nimport {connect} from \"react-redux\";\nimport {FormattedMessage} from \"react-intl\";\nimport React from \"react\";\n\n/**\n * ConfirmDialog component.\n * One primary action button, one cancel button.\n *\n * Content displayed is controlled by `data` prop the component receives.\n * Example:\n * data: {\n *   // Any sort of data needed to be passed around by actions.\n *   payload: site.url,\n *   // Primary button AlsoToMain action.\n *   action: \"DELETE_HISTORY_URL\",\n *   // Primary button USerEvent action.\n *   userEvent: \"DELETE\",\n *   // Array of locale ids to display.\n *   message_body: [\"confirm_history_delete_p1\", \"confirm_history_delete_notice_p2\"],\n *   // Text for primary button.\n *   confirm_button_string_id: \"menu_action_delete\"\n * },\n */\nexport class _ConfirmDialog extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this._handleCancelBtn = this._handleCancelBtn.bind(this);\n    this._handleConfirmBtn = this._handleConfirmBtn.bind(this);\n  }\n\n  _handleCancelBtn() {\n    this.props.dispatch({type: actionTypes.DIALOG_CANCEL});\n    this.props.dispatch(ac.UserEvent({event: actionTypes.DIALOG_CANCEL, source: this.props.data.eventSource}));\n  }\n\n  _handleConfirmBtn() {\n    this.props.data.onConfirm.forEach(this.props.dispatch);\n  }\n\n  _renderModalMessage() {\n    const message_body = this.props.data.body_string_id;\n\n    if (!message_body) {\n      return null;\n    }\n\n    return (<span>\n      {message_body.map(msg => <p key={msg}><FormattedMessage id={msg} /></p>)}\n    </span>);\n  }\n\n  render() {\n    if (!this.props.visible) {\n      return null;\n    }\n\n    return (<div className=\"confirmation-dialog\">\n      <div className=\"modal-overlay\" onClick={this._handleCancelBtn} />\n      <div className=\"modal\">\n        <section className=\"modal-message\">\n          {this.props.data.icon && <span className={`icon icon-spacer icon-${this.props.data.icon}`} />}\n          {this._renderModalMessage()}\n        </section>\n        <section className=\"actions\">\n          <button onClick={this._handleCancelBtn}>\n            <FormattedMessage id={this.props.data.cancel_button_string_id} />\n          </button>\n          <button className=\"done\" onClick={this._handleConfirmBtn}>\n            <FormattedMessage id={this.props.data.confirm_button_string_id} />\n          </button>\n        </section>\n      </div>\n    </div>);\n  }\n}\n\nexport const ConfirmDialog = connect(state => state.Dialog)(_ConfirmDialog);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/ConfirmDialog/ConfirmDialog.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {connect} from \"react-redux\";\nimport {FormattedMessage} from \"react-intl\";\nimport React from \"react\";\n\n/**\n * Manual migration component used to start the profile import wizard.\n * Message is presented temporarily and will go away if:\n * 1.  User clicks \"No Thanks\"\n * 2.  User completed the data import\n * 3.  After 3 active days\n * 4.  User clicks \"Cancel\" on the import wizard (currently not implemented).\n */\nexport class _ManualMigration extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onLaunchTour = this.onLaunchTour.bind(this);\n    this.onCancelTour = this.onCancelTour.bind(this);\n  }\n\n  onLaunchTour() {\n    this.props.dispatch(ac.AlsoToMain({type: at.MIGRATION_START}));\n    this.props.dispatch(ac.UserEvent({event: at.MIGRATION_START}));\n  }\n\n  onCancelTour() {\n    this.props.dispatch(ac.AlsoToMain({type: at.MIGRATION_CANCEL}));\n    this.props.dispatch(ac.UserEvent({event: at.MIGRATION_CANCEL}));\n  }\n\n  render() {\n    return (<div className=\"manual-migration-container\">\n        <p>\n          <span className=\"icon icon-import\" />\n          <FormattedMessage id=\"manual_migration_explanation2\" />\n        </p>\n        <div className=\"manual-migration-actions actions\">\n          <button className=\"dismiss\" onClick={this.onCancelTour}>\n            <FormattedMessage id=\"manual_migration_cancel_button\" />\n          </button>\n          <button onClick={this.onLaunchTour}>\n            <FormattedMessage id=\"manual_migration_import_button\" />\n          </button>\n        </div>\n    </div>);\n  }\n}\n\nexport const ManualMigration = connect()(_ManualMigration);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/ManualMigration/ManualMigration.jsx","class _PrerenderData {\n  constructor(options) {\n    this.initialPrefs = options.initialPrefs;\n    this.initialSections = options.initialSections;\n    this._setValidation(options.validation);\n  }\n\n  get validation() {\n    return this._validation;\n  }\n\n  set validation(value) {\n    this._setValidation(value);\n  }\n\n  get invalidatingPrefs() {\n    return this._invalidatingPrefs;\n  }\n\n    // This is needed so we can use it in the constructor\n  _setValidation(value = []) {\n    this._validation = value;\n    this._invalidatingPrefs = value.reduce((result, next) => {\n      if (typeof next === \"string\") {\n        result.push(next);\n        return result;\n      } else if (next && next.oneOf) {\n        return result.concat(next.oneOf);\n      }\n      throw new Error(\"Your validation configuration is not properly configured\");\n    }, []);\n  }\n\n  arePrefsValid(getPref) {\n    for (const prefs of this.validation) {\n      // {oneOf: [\"foo\", \"bar\"]}\n      if (prefs && prefs.oneOf && !prefs.oneOf.some(name => getPref(name) === this.initialPrefs[name])) {\n        return false;\n\n      // \"foo\"\n      } else if (getPref(prefs) !== this.initialPrefs[prefs]) {\n        return false;\n      }\n    }\n    return true;\n  }\n}\n\nthis.PrerenderData = new _PrerenderData({\n  initialPrefs: {\n    \"migrationExpired\": true,\n    \"showTopSites\": true,\n    \"showSearch\": true,\n    \"topSitesRows\": 1,\n    \"collapseTopSites\": false,\n    \"section.highlights.collapsed\": false,\n    \"section.topstories.collapsed\": false,\n    \"feeds.section.topstories\": true,\n    \"feeds.section.highlights\": true,\n    \"enableWideLayout\": true,\n    \"sectionOrder\": \"topsites,topstories,highlights\"\n  },\n  // Prefs listed as invalidating will prevent the prerendered version\n  // of AS from being used if their value is something other than what is listed\n  // here. This is required because some preferences cause the page layout to be\n  // too different for the prerendered version to be used. Unfortunately, this\n  // will result in users who have modified some of their preferences not being\n  // able to get the benefits of prerendering.\n  validation: [\n    \"showTopSites\",\n    \"showSearch\",\n    \"topSitesRows\",\n    \"collapseTopSites\",\n    \"section.highlights.collapsed\",\n    \"section.topstories.collapsed\",\n    \"enableWideLayout\",\n    \"sectionOrder\",\n    // This means if either of these are set to their default values,\n    // prerendering can be used.\n    {oneOf: [\"feeds.section.topstories\", \"feeds.section.highlights\"]}\n  ],\n  initialSections: [\n    {\n      enabled: true,\n      icon: \"pocket\",\n      id: \"topstories\",\n      order: 1,\n      title: {id: \"header_recommended_by\", values: {provider: \"Pocket\"}}\n    },\n    {\n      enabled: true,\n      id: \"highlights\",\n      icon: \"highlights\",\n      order: 2,\n      title: {id: \"header_highlights\"}\n    }\n  ]\n});\n\nthis._PrerenderData = _PrerenderData;\nconst EXPORTED_SYMBOLS = [\"PrerenderData\", \"_PrerenderData\"];\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/common/PrerenderData.jsm","/* globals ContentSearchUIController */\n\"use strict\";\n\nimport {FormattedMessage, injectIntl} from \"react-intl\";\nimport {actionCreators as ac} from \"common/Actions.jsm\";\nimport {connect} from \"react-redux\";\nimport {IS_NEWTAB} from \"content-src/lib/constants\";\nimport React from \"react\";\n\nexport class _Search extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onClick = this.onClick.bind(this);\n    this.onInputMount = this.onInputMount.bind(this);\n  }\n\n  handleEvent(event) {\n    // Also track search events with our own telemetry\n    if (event.detail.type === \"Search\") {\n      this.props.dispatch(ac.UserEvent({event: \"SEARCH\"}));\n    }\n  }\n\n  onClick(event) {\n    window.gContentSearchController.search(event);\n  }\n\n  componentWillUnmount() {\n    delete window.gContentSearchController;\n  }\n\n  onInputMount(input) {\n    if (input) {\n      // The \"healthReportKey\" and needs to be \"newtab\" or \"abouthome\" so that\n      // BrowserUsageTelemetry.jsm knows to handle events with this name, and\n      // can add the appropriate telemetry probes for search. Without the correct\n      // name, certain tests like browser_UsageTelemetry_content.js will fail\n      // (See github ticket #2348 for more details)\n      const healthReportKey = IS_NEWTAB ? \"newtab\" : \"abouthome\";\n\n      // The \"searchSource\" needs to be \"newtab\" or \"homepage\" and is sent with\n      // the search data and acts as context for the search request (See\n      // nsISearchEngine.getSubmission). It is necessary so that search engine\n      // plugins can correctly atribute referrals. (See github ticket #3321 for\n      // more details)\n      const searchSource = IS_NEWTAB ? \"newtab\" : \"homepage\";\n\n      // gContentSearchController needs to exist as a global so that tests for\n      // the existing about:home can find it; and so it allows these tests to pass.\n      // In the future, when activity stream is default about:home, this can be renamed\n      window.gContentSearchController = new ContentSearchUIController(input, input.parentNode,\n        healthReportKey, searchSource);\n      addEventListener(\"ContentSearchClient\", this);\n    } else {\n      window.gContentSearchController = null;\n      removeEventListener(\"ContentSearchClient\", this);\n    }\n  }\n\n  /*\n   * Do not change the ID on the input field, as legacy newtab code\n   * specifically looks for the id 'newtab-search-text' on input fields\n   * in order to execute searches in various tests\n   */\n  render() {\n    return (<div className=\"search-wrapper\">\n      <label htmlFor=\"newtab-search-text\" className=\"search-label\">\n        <span className=\"sr-only\"><FormattedMessage id=\"search_web_placeholder\" /></span>\n      </label>\n      <input\n        id=\"newtab-search-text\"\n        maxLength=\"256\"\n        placeholder={this.props.intl.formatMessage({id: \"search_web_placeholder\"})}\n        ref={this.onInputMount}\n        title={this.props.intl.formatMessage({id: \"search_web_placeholder\"})}\n        type=\"search\" />\n      <button\n        id=\"searchSubmit\"\n        className=\"search-button\"\n        onClick={this.onClick}\n        title={this.props.intl.formatMessage({id: \"search_button\"})}>\n        <span className=\"sr-only\"><FormattedMessage id=\"search_button\" /></span>\n      </button>\n    </div>);\n  }\n}\n\nexport const Search = connect()(injectIntl(_Search));\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/Search/Search.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {addLocaleData, injectIntl, IntlProvider} from \"react-intl\";\nimport {ConfirmDialog} from \"content-src/components/ConfirmDialog/ConfirmDialog\";\nimport {connect} from \"react-redux\";\nimport {ErrorBoundary} from \"content-src/components/ErrorBoundary/ErrorBoundary\";\nimport {ManualMigration} from \"content-src/components/ManualMigration/ManualMigration\";\nimport {PrerenderData} from \"common/PrerenderData.jsm\";\nimport React from \"react\";\nimport {Search} from \"content-src/components/Search/Search\";\nimport {Sections} from \"content-src/components/Sections/Sections\";\n\nconst PrefsButton = injectIntl(props => (\n  <div className=\"prefs-button\">\n    <button className=\"icon icon-settings\" onClick={props.onClick} title={props.intl.formatMessage({id: \"settings_pane_button_label\"})} />\n  </div>\n));\n\n// Add the locale data for pluralization and relative-time formatting for now,\n// this just uses english locale data. We can make this more sophisticated if\n// more features are needed.\nfunction addLocaleDataForReactIntl(locale) {\n  addLocaleData([{locale, parentLocale: \"en\"}]);\n}\n\nexport class _Base extends React.PureComponent {\n  componentWillMount() {\n    const {App, locale} = this.props;\n    this.sendNewTabRehydrated(App);\n    addLocaleDataForReactIntl(locale);\n  }\n\n  componentDidMount() {\n    // Request state AFTER the first render to ensure we don't cause the\n    // prerendered DOM to be unmounted. Otherwise, NEW_TAB_STATE_REQUEST is\n    // dispatched right after the store is ready.\n    if (this.props.isPrerendered) {\n      this.props.dispatch(ac.AlsoToMain({type: at.NEW_TAB_STATE_REQUEST}));\n      this.props.dispatch(ac.AlsoToMain({type: at.PAGE_PRERENDERED}));\n    }\n  }\n\n  componentWillUpdate({App}) {\n    this.sendNewTabRehydrated(App);\n  }\n\n  // The NEW_TAB_REHYDRATED event is used to inform feeds that their\n  // data has been consumed e.g. for counting the number of tabs that\n  // have rendered that data.\n  sendNewTabRehydrated(App) {\n    if (App && App.initialized && !this.renderNotified) {\n      this.props.dispatch(ac.AlsoToMain({type: at.NEW_TAB_REHYDRATED, data: {}}));\n      this.renderNotified = true;\n    }\n  }\n\n  render() {\n    const {props} = this;\n    const {App, locale, strings} = props;\n    const {initialized} = App;\n\n    if (!props.isPrerendered && !initialized) {\n      return null;\n    }\n\n    return (<IntlProvider locale={locale} messages={strings}>\n        <ErrorBoundary className=\"base-content-fallback\">\n          <BaseContent {...this.props} />\n        </ErrorBoundary>\n      </IntlProvider>);\n  }\n}\n\nexport class BaseContent extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.openPreferences = this.openPreferences.bind(this);\n  }\n\n  openPreferences() {\n    this.props.dispatch(ac.OnlyToMain({type: at.SETTINGS_OPEN}));\n    this.props.dispatch(ac.UserEvent({event: \"OPEN_NEWTAB_PREFS\"}));\n  }\n\n  render() {\n    const {props} = this;\n    const {App} = props;\n    const {initialized} = App;\n    const prefs = props.Prefs.values;\n\n    const shouldBeFixedToTop = PrerenderData.arePrefsValid(name => prefs[name]);\n\n    const outerClassName = `outer-wrapper${shouldBeFixedToTop ? \" fixed-to-top\" : \"\"} ${prefs.enableWideLayout ? \"wide-layout-enabled\" : \"wide-layout-disabled\"}`;\n\n    return (\n        <div className={outerClassName}>\n          <main>\n            {prefs.showSearch &&\n              <div className=\"non-collapsible-section\">\n                <ErrorBoundary>\n                  <Search />\n                </ErrorBoundary>\n              </div>\n            }\n            <div className={`body-wrapper${(initialized ? \" on\" : \"\")}`}>\n              {!prefs.migrationExpired &&\n                <div className=\"non-collapsible-section\">\n                  <ManualMigration />\n                </div>\n                }\n              <Sections />\n              <PrefsButton onClick={this.openPreferences} />\n            </div>\n            <ConfirmDialog />\n          </main>\n        </div>);\n  }\n}\n\nexport const Base = connect(state => ({App: state.App, Prefs: state.Prefs}))(_Base);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/Base/Base.jsx","export const IS_NEWTAB = global.document && global.document.documentURI === \"about:newtab\";\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/lib/constants.js","import {Card, PlaceholderCard} from \"content-src/components/Card/Card\";\nimport {FormattedMessage, injectIntl} from \"react-intl\";\nimport {actionCreators as ac} from \"common/Actions.jsm\";\nimport {CollapsibleSection} from \"content-src/components/CollapsibleSection/CollapsibleSection\";\nimport {ComponentPerfTimer} from \"content-src/components/ComponentPerfTimer/ComponentPerfTimer\";\nimport {connect} from \"react-redux\";\nimport React from \"react\";\nimport {Topics} from \"content-src/components/Topics/Topics\";\nimport {TopSites} from \"content-src/components/TopSites/TopSites\";\n\nconst VISIBLE = \"visible\";\nconst VISIBILITY_CHANGE_EVENT = \"visibilitychange\";\nconst CARDS_PER_ROW = 3;\n\nfunction getFormattedMessage(message) {\n  return typeof message === \"string\" ? <span>{message}</span> : <FormattedMessage {...message} />;\n}\n\nexport class Section extends React.PureComponent {\n  _dispatchImpressionStats() {\n    const {props} = this;\n    const maxCards = 3 * props.maxRows;\n    const cards = props.rows.slice(0, maxCards);\n\n    if (this.needsImpressionStats(cards)) {\n      props.dispatch(ac.ImpressionStats({\n        source: props.eventSource,\n        tiles: cards.map(link => ({id: link.guid}))\n      }));\n      this.impressionCardGuids = cards.map(link => link.guid);\n    }\n  }\n\n  // This sends an event when a user sees a set of new content. If content\n  // changes while the page is hidden (i.e. preloaded or on a hidden tab),\n  // only send the event if the page becomes visible again.\n  sendImpressionStatsOrAddListener() {\n    const {props} = this;\n\n    if (!props.shouldSendImpressionStats || !props.dispatch) {\n      return;\n    }\n\n    if (props.document.visibilityState === VISIBLE) {\n      this._dispatchImpressionStats();\n    } else {\n      // We should only ever send the latest impression stats ping, so remove any\n      // older listeners.\n      if (this._onVisibilityChange) {\n        props.document.removeEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);\n      }\n\n      // When the page becomes visible, send the impression stats ping if the section isn't collapsed.\n      this._onVisibilityChange = () => {\n        if (props.document.visibilityState === VISIBLE) {\n          const {id, Prefs} = this.props;\n          const isCollapsed = Prefs.values[`section.${id}.collapsed`];\n          if (!isCollapsed) {\n            this._dispatchImpressionStats();\n          }\n          props.document.removeEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);\n        }\n      };\n      props.document.addEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);\n    }\n  }\n\n  componentDidMount() {\n    const {id, rows, Prefs} = this.props;\n    const isCollapsed = Prefs.values[`section.${id}.collapsed`];\n    if (rows.length && !isCollapsed) {\n      this.sendImpressionStatsOrAddListener();\n    }\n  }\n\n  componentDidUpdate(prevProps) {\n    const {props} = this;\n    const {id, Prefs} = props;\n    const isCollapsedPref = `section.${id}.collapsed`;\n    const isCollapsed = Prefs.values[isCollapsedPref];\n    const wasCollapsed = prevProps.Prefs.values[isCollapsedPref];\n    if (\n      // Don't send impression stats for the empty state\n      props.rows.length &&\n      (\n        // We only want to send impression stats if the content of the cards has changed\n        // and the section is not collapsed...\n        (props.rows !== prevProps.rows && !isCollapsed) ||\n        // or if we are expanding a section that was collapsed.\n        (wasCollapsed && !isCollapsed)\n      )\n    ) {\n      this.sendImpressionStatsOrAddListener();\n    }\n  }\n\n  componentWillUnmount() {\n    if (this._onVisibilityChange) {\n      this.props.document.removeEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);\n    }\n  }\n\n  needsImpressionStats(cards) {\n    if (!this.impressionCardGuids || (this.impressionCardGuids.length !== cards.length)) {\n      return true;\n    }\n\n    for (let i = 0; i < cards.length; i++) {\n      if (cards[i].guid !== this.impressionCardGuids[i]) {\n        return true;\n      }\n    }\n\n    return false;\n  }\n\n  numberOfPlaceholders(items) {\n    if (items === 0) {\n      return CARDS_PER_ROW;\n    }\n    const remainder = items % CARDS_PER_ROW;\n    if (remainder === 0) {\n      return 0;\n    }\n    return CARDS_PER_ROW - remainder;\n  }\n\n  render() {\n    const {\n      id, eventSource, title, icon, rows,\n      emptyState, dispatch, maxRows,\n      contextMenuOptions, initialized, disclaimer,\n      pref, privacyNoticeURL, isFirst, isLast\n    } = this.props;\n    const maxCards = CARDS_PER_ROW * maxRows;\n\n    // Show topics only for top stories and if it's not initialized yet (so\n    // content doesn't shift when it is loaded) or has loaded with topics\n    const shouldShowTopics = (id === \"topstories\" &&\n      (!this.props.topics || this.props.topics.length > 0));\n\n    const realRows = rows.slice(0, maxCards);\n    const placeholders = this.numberOfPlaceholders(realRows.length);\n\n    // The empty state should only be shown after we have initialized and there is no content.\n    // Otherwise, we should show placeholders.\n    const shouldShowEmptyState = initialized && !rows.length;\n\n    // <Section> <-- React component\n    // <section> <-- HTML5 element\n    return (<ComponentPerfTimer {...this.props}>\n      <CollapsibleSection className=\"section\" icon={icon}\n        title={getFormattedMessage(title)}\n        id={id}\n        eventSource={eventSource}\n        disclaimer={disclaimer}\n        prefName={`section.${id}.collapsed`}\n        showPrefName={(pref && pref.feed) || id}\n        privacyNoticeURL={privacyNoticeURL}\n        Prefs={this.props.Prefs}\n        isFirst={isFirst}\n        isLast={isLast}\n        dispatch={this.props.dispatch}>\n\n        {!shouldShowEmptyState && (<ul className=\"section-list\" style={{padding: 0}}>\n          {realRows.map((link, index) => link &&\n            <Card key={index} index={index} dispatch={dispatch} link={link} contextMenuOptions={contextMenuOptions}\n              eventSource={eventSource} shouldSendImpressionStats={this.props.shouldSendImpressionStats} isWebExtension={this.props.isWebExtension} />)}\n          {placeholders > 0 && [...new Array(placeholders)].map((_, i) => <PlaceholderCard key={i} />)}\n        </ul>)}\n        {shouldShowEmptyState &&\n          <div className=\"section-empty-state\">\n            <div className=\"empty-state\">\n              {emptyState.icon && emptyState.icon.startsWith(\"moz-extension://\") ?\n                <img className=\"empty-state-icon icon\" style={{\"background-image\": `url('${emptyState.icon}')`}} /> :\n                <img className={`empty-state-icon icon icon-${emptyState.icon}`} />}\n              <p className=\"empty-state-message\">\n                {getFormattedMessage(emptyState.message)}\n              </p>\n            </div>\n          </div>}\n        {shouldShowTopics && <Topics topics={this.props.topics} read_more_endpoint={this.props.read_more_endpoint} />}\n      </CollapsibleSection>\n    </ComponentPerfTimer>);\n  }\n}\n\nSection.defaultProps = {\n  document: global.document,\n  rows: [],\n  emptyState: {},\n  title: \"\"\n};\n\nexport const SectionIntl = connect(state => ({Prefs: state.Prefs}))(injectIntl(Section));\n\nexport class _Sections extends React.PureComponent {\n  renderSections() {\n    const sections = [];\n    const enabledSections = this.props.Sections.filter(section => section.enabled);\n    const {sectionOrder, showTopSites} = this.props.Prefs.values;\n    // Enabled sections doesn't include Top Sites, so we add it if enabled.\n    const expectedCount = enabledSections.length + ~~showTopSites;\n\n    for (const sectionId of sectionOrder.split(\",\")) {\n      const commonProps = {\n        key: sectionId,\n        isFirst: sections.length === 0,\n        isLast: sections.length === expectedCount - 1\n      };\n      if (sectionId === \"topsites\" && showTopSites) {\n        sections.push(<TopSites {...commonProps} />);\n      } else {\n        const section = enabledSections.find(s => s.id === sectionId);\n        if (section) {\n          sections.push(<SectionIntl {...section} {...commonProps} />);\n        }\n      }\n    }\n    return sections;\n  }\n\n  render() {\n    return (\n      <div className=\"sections-list\">\n        {this.renderSections()}\n      </div>\n    );\n  }\n}\n\nexport const Sections = connect(state => ({Sections: state.Sections, Prefs: state.Prefs}))(_Sections);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/Sections/Sections.jsx","export const cardContextTypes = {\n  history: {\n    intlID: \"type_label_visited\",\n    icon: \"historyItem\"\n  },\n  bookmark: {\n    intlID: \"type_label_bookmarked\",\n    icon: \"bookmark-added\"\n  },\n  trending: {\n    intlID: \"type_label_recommended\",\n    icon: \"trending\"\n  },\n  now: {\n    intlID: \"type_label_now\",\n    icon: \"now\"\n  },\n  pocket: {\n    intlID: \"type_label_pocket\",\n    icon: \"pocket\"\n  }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/Card/types.js","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {cardContextTypes} from \"./types\";\nimport {FormattedMessage} from \"react-intl\";\nimport {LinkMenu} from \"content-src/components/LinkMenu/LinkMenu\";\nimport React from \"react\";\n\n// Keep track of pending image loads to only request once\nconst gImageLoading = new Map();\n\n/**\n * Card component.\n * Cards are found within a Section component and contain information about a link such\n * as preview image, page title, page description, and some context about if the page\n * was visited, bookmarked, trending etc...\n * Each Section can make an unordered list of Cards which will create one instane of\n * this class. Each card will then get a context menu which reflects the actions that\n * can be done on this Card.\n */\nexport class Card extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.state = {\n      activeCard: null,\n      imageLoaded: false,\n      showContextMenu: false\n    };\n    this.onMenuButtonClick = this.onMenuButtonClick.bind(this);\n    this.onMenuUpdate = this.onMenuUpdate.bind(this);\n    this.onLinkClick = this.onLinkClick.bind(this);\n  }\n\n  /**\n   * Helper to conditionally load an image and update state when it loads.\n   */\n  async maybeLoadImage() {\n    // No need to load if it's already loaded or no image\n    const {image} = this.props.link;\n    if (!this.state.imageLoaded && image) {\n      // Initialize a promise to share a load across multiple card updates\n      if (!gImageLoading.has(image)) {\n        const loaderPromise = new Promise((resolve, reject) => {\n          const loader = new Image();\n          loader.addEventListener(\"load\", resolve);\n          loader.addEventListener(\"error\", reject);\n          loader.src = image;\n        });\n\n        // Save and remove the promise only while it's pending\n        gImageLoading.set(image, loaderPromise);\n        loaderPromise.catch(ex => ex).then(() => gImageLoading.delete(image)).catch();\n      }\n\n      // Wait for the image whether just started loading or reused promise\n      await gImageLoading.get(image);\n\n      // Only update state if we're still waiting to load the original image\n      if (this.props.link.image === image && !this.state.imageLoaded) {\n        this.setState({imageLoaded: true});\n      }\n    }\n  }\n\n  onMenuButtonClick(event) {\n    event.preventDefault();\n    this.setState({\n      activeCard: this.props.index,\n      showContextMenu: true\n    });\n  }\n\n  /**\n   * Report to telemetry additional information about the item.\n   */\n  _getTelemetryInfo() {\n    // Filter out \"history\" type for being the default\n    if (this.props.link.type !== \"history\") {\n      return {value: {card_type: this.props.link.type}};\n    }\n\n    return null;\n  }\n\n  onLinkClick(event) {\n    event.preventDefault();\n    const {altKey, button, ctrlKey, metaKey, shiftKey} = event;\n    this.props.dispatch(ac.AlsoToMain({\n      type: at.OPEN_LINK,\n      data: Object.assign(this.props.link, {event: {altKey, button, ctrlKey, metaKey, shiftKey}})\n    }));\n\n    if (this.props.isWebExtension) {\n      this.props.dispatch(ac.WebExtEvent(at.WEBEXT_CLICK, {\n        source: this.props.eventSource,\n        url: this.props.link.url,\n        action_position: this.props.index\n      }));\n    } else {\n      this.props.dispatch(ac.UserEvent(Object.assign({\n        event: \"CLICK\",\n        source: this.props.eventSource,\n        action_position: this.props.index\n      }, this._getTelemetryInfo())));\n\n      if (this.props.shouldSendImpressionStats) {\n        this.props.dispatch(ac.ImpressionStats({\n          source: this.props.eventSource,\n          click: 0,\n          tiles: [{id: this.props.link.guid, pos: this.props.index}]\n        }));\n      }\n    }\n  }\n\n  onMenuUpdate(showContextMenu) {\n    this.setState({showContextMenu});\n  }\n\n  componentDidMount() {\n    this.maybeLoadImage();\n  }\n\n  componentDidUpdate() {\n    this.maybeLoadImage();\n  }\n\n  componentWillReceiveProps(nextProps) {\n    // Clear the image state if changing images\n    if (nextProps.link.image !== this.props.link.image) {\n      this.setState({imageLoaded: false});\n    }\n  }\n\n  render() {\n    const {index, link, dispatch, contextMenuOptions, eventSource, shouldSendImpressionStats} = this.props;\n    const {props} = this;\n    const isContextMenuOpen = this.state.showContextMenu && this.state.activeCard === index;\n    // Display \"now\" as \"trending\" until we have new strings #3402\n    const {icon, intlID} = cardContextTypes[link.type === \"now\" ? \"trending\" : link.type] || {};\n    const hasImage = link.image || link.hasImage;\n    const imageStyle = {backgroundImage: link.image ? `url(${link.image})` : \"none\"};\n\n    return (<li className={`card-outer${isContextMenuOpen ? \" active\" : \"\"}${props.placeholder ? \" placeholder\" : \"\"}`}>\n      <a href={link.type === \"pocket\" ? link.open_url : link.url} onClick={!props.placeholder ? this.onLinkClick : undefined}>\n        <div className=\"card\">\n          {hasImage && <div className=\"card-preview-image-outer\">\n            <div className={`card-preview-image${this.state.imageLoaded ? \" loaded\" : \"\"}`} style={imageStyle} />\n          </div>}\n          <div className={`card-details${hasImage ? \"\" : \" no-image\"}`}>\n            {link.hostname && <div className=\"card-host-name\">{link.hostname}</div>}\n            <div className={[\n              \"card-text\",\n              icon ? \"\" : \"no-context\",\n              link.description ? \"\" : \"no-description\",\n              link.hostname ? \"\" : \"no-host-name\",\n              hasImage ? \"\" : \"no-image\"\n            ].join(\" \")}>\n              <h4 className=\"card-title\" dir=\"auto\">{link.title}</h4>\n              <p className=\"card-description\" dir=\"auto\">{link.description}</p>\n            </div>\n            <div className=\"card-context\">\n              {icon && !link.context && <span className={`card-context-icon icon icon-${icon}`} />}\n              {link.icon && link.context && <span className=\"card-context-icon icon\" style={{backgroundImage: `url('${link.icon}')`}} />}\n              {intlID && !link.context && <div className=\"card-context-label\"><FormattedMessage id={intlID} defaultMessage=\"Visited\" /></div>}\n              {link.context && <div className=\"card-context-label\">{link.context}</div>}\n            </div>\n          </div>\n        </div>\n      </a>\n      {!props.placeholder && <button className=\"context-menu-button icon\"\n        onClick={this.onMenuButtonClick}>\n        <span className=\"sr-only\">{`Open context menu for ${link.title}`}</span>\n      </button>}\n      {isContextMenuOpen &&\n        <LinkMenu\n          dispatch={dispatch}\n          index={index}\n          source={eventSource}\n          onUpdate={this.onMenuUpdate}\n          options={link.contextMenuOptions || contextMenuOptions}\n          site={link}\n          siteInfo={this._getTelemetryInfo()}\n          shouldSendImpressionStats={shouldSendImpressionStats} />\n      }\n   </li>);\n  }\n}\nCard.defaultProps = {link: {}};\n\nexport const PlaceholderCard = () => <Card placeholder={true} />;\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/Card/Card.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\n\n/**\n * List of functions that return items that can be included as menu options in a\n * SectionMenu. All functions take the section as the only parameter.\n */\nexport const SectionMenuOptions = {\n  Separator: () => ({type: \"separator\"}),\n  MoveUp: section => ({\n    id: \"section_menu_action_move_up\",\n    icon: \"arrowhead-up\",\n    action: ac.OnlyToMain({\n      type: at.SECTION_MOVE,\n      data: {id: section.id, direction: -1}\n    }),\n    userEvent: \"SECTION_MENU_MOVE_UP\",\n    disabled: !!section.isFirst\n  }),\n  MoveDown: section => ({\n    id: \"section_menu_action_move_down\",\n    icon: \"arrowhead-down\",\n    action: ac.OnlyToMain({\n      type: at.SECTION_MOVE,\n      data: {id: section.id, direction: +1}\n    }),\n    userEvent: \"SECTION_MENU_MOVE_DOWN\",\n    disabled: !!section.isLast\n  }),\n  RemoveSection: section => ({\n    id: \"section_menu_action_remove_section\",\n    icon: \"dismiss\",\n    action: ac.SetPref(section.showPrefName, false),\n    userEvent: \"SECTION_MENU_REMOVE\"\n  }),\n  CollapseSection: section => ({\n    id: \"section_menu_action_collapse_section\",\n    icon: \"minimize\",\n    action: ac.SetPref(section.collapsePrefName, true),\n    userEvent: \"SECTION_MENU_COLLAPSE\"\n  }),\n  ExpandSection: section => ({\n    id: \"section_menu_action_expand_section\",\n    icon: \"maximize\",\n    action: ac.SetPref(section.collapsePrefName, false),\n    userEvent: \"SECTION_MENU_EXPAND\"\n  }),\n  ManageSection: section => ({\n    id: \"section_menu_action_manage_section\",\n    icon: \"settings\",\n    action: ac.OnlyToMain({type: at.SETTINGS_OPEN}),\n    userEvent: \"SECTION_MENU_MANAGE\"\n  }),\n  AddTopSite: section => ({\n    id: \"section_menu_action_add_topsite\",\n    icon: \"add\",\n    action: {type: at.TOP_SITES_EDIT, data: {index: -1}},\n    userEvent: \"SECTION_MENU_ADD_TOPSITE\"\n  }),\n  PrivacyNotice: section => ({\n    id: \"section_menu_action_privacy_notice\",\n    icon: \"info\",\n    action: ac.OnlyToMain({\n      type: at.OPEN_LINK,\n      data: {url: section.privacyNoticeURL}\n    }),\n    userEvent: \"SECTION_MENU_PRIVACY_NOTICE\"\n  }),\n  CheckCollapsed: section => (section.isCollapsed ? SectionMenuOptions.ExpandSection(section) : SectionMenuOptions.CollapseSection(section))\n};\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/lib/section-menu-options.js","import {actionCreators as ac} from \"common/Actions.jsm\";\nimport {ContextMenu} from \"content-src/components/ContextMenu/ContextMenu\";\nimport {injectIntl} from \"react-intl\";\nimport React from \"react\";\nimport {SectionMenuOptions} from \"content-src/lib/section-menu-options\";\n\nconst DEFAULT_SECTION_MENU_OPTIONS = [\"MoveUp\", \"MoveDown\", \"Separator\", \"RemoveSection\", \"CheckCollapsed\", \"Separator\", \"ManageSection\"];\n\nexport class _SectionMenu extends React.PureComponent {\n  getOptions() {\n    const {props} = this;\n\n    const propOptions = Array.from(DEFAULT_SECTION_MENU_OPTIONS);\n    // Prepend custom options and a separator\n    if (props.extraOptions) {\n      propOptions.splice(0, 0, ...props.extraOptions, \"Separator\");\n    }\n    // Insert privacy notice before the last option (\"ManageSection\")\n    if (props.privacyNoticeURL) {\n      propOptions.splice(-1, 0, \"PrivacyNotice\");\n    }\n\n    const options = propOptions.map(o => SectionMenuOptions[o](props)).map(option => {\n      const {action, id, type, userEvent} = option;\n      if (!type && id) {\n        option.label = props.intl.formatMessage({id});\n        option.onClick = () => {\n          props.dispatch(action);\n          if (userEvent) {\n            props.dispatch(ac.UserEvent({\n              event: userEvent,\n              source: props.source\n            }));\n          }\n        };\n      }\n      return option;\n    });\n\n    // This is for accessibility to support making each item tabbable.\n    // We want to know which item is the first and which item\n    // is the last, so we can close the context menu accordingly.\n    options[0].first = true;\n    options[options.length - 1].last = true;\n    return options;\n  }\n\n  render() {\n    return (<ContextMenu\n      onUpdate={this.props.onUpdate}\n      options={this.getOptions()} />);\n  }\n}\n\nexport const SectionMenu = injectIntl(_SectionMenu);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/SectionMenu/SectionMenu.jsx","import {FormattedMessage} from \"react-intl\";\nimport React from \"react\";\n\nexport class Topic extends React.PureComponent {\n  render() {\n    const {url, name} = this.props;\n    return (<li><a key={name} className=\"topic-link\" href={url}>{name}</a></li>);\n  }\n}\n\nexport class Topics extends React.PureComponent {\n  render() {\n    const {topics, read_more_endpoint} = this.props;\n    return (\n      <div className=\"topic\">\n        <span><FormattedMessage id=\"pocket_read_more\" /></span>\n        <ul>{topics && topics.map(t => <Topic key={t.name} url={t.url} name={t.name} />)}</ul>\n\n        {read_more_endpoint && <a className=\"topic-read-more\" href={read_more_endpoint}>\n          <FormattedMessage id=\"pocket_read_even_more\" />\n        </a>}\n      </div>\n    );\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/Topics/Topics.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {MIN_CORNER_FAVICON_SIZE, MIN_RICH_FAVICON_SIZE, TOP_SITES_SOURCE} from \"./TopSitesConstants\";\nimport {CollapsibleSection} from \"content-src/components/CollapsibleSection/CollapsibleSection\";\nimport {ComponentPerfTimer} from \"content-src/components/ComponentPerfTimer/ComponentPerfTimer\";\nimport {connect} from \"react-redux\";\nimport {injectIntl} from \"react-intl\";\nimport React from \"react\";\nimport {TOP_SITES_MAX_SITES_PER_ROW} from \"common/Reducers.jsm\";\nimport {TopSiteForm} from \"./TopSiteForm\";\nimport {TopSiteList} from \"./TopSite\";\n\nfunction topSiteIconType(link) {\n  if (link.tippyTopIcon || link.faviconRef === \"tippytop\") {\n    return \"tippytop\";\n  }\n  if (link.faviconSize >= MIN_RICH_FAVICON_SIZE) {\n    return \"rich_icon\";\n  }\n  if (link.screenshot && link.faviconSize >= MIN_CORNER_FAVICON_SIZE) {\n    return \"screenshot_with_icon\";\n  }\n  if (link.screenshot) {\n    return \"screenshot\";\n  }\n  return \"no_image\";\n}\n\n/**\n * Iterates through TopSites and counts types of images.\n * @param acc Accumulator for reducer.\n * @param topsite Entry in TopSites.\n */\nfunction countTopSitesIconsTypes(topSites) {\n  const countTopSitesTypes = (acc, link) => {\n    acc[topSiteIconType(link)]++;\n    return acc;\n  };\n\n  return topSites.reduce(countTopSitesTypes, {\n    \"screenshot_with_icon\": 0,\n    \"screenshot\": 0,\n    \"tippytop\": 0,\n    \"rich_icon\": 0,\n    \"no_image\": 0\n  });\n}\n\nexport class _TopSites extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onFormClose = this.onFormClose.bind(this);\n  }\n\n  /**\n   * Dispatch session statistics about the quality of TopSites icons and pinned count.\n   */\n  _dispatchTopSitesStats() {\n    const topSites = this._getVisibleTopSites();\n    const topSitesIconsStats = countTopSitesIconsTypes(topSites);\n    const topSitesPinned = topSites.filter(site => !!site.isPinned).length;\n    // Dispatch telemetry event with the count of TopSites images types.\n    this.props.dispatch(ac.AlsoToMain({\n      type: at.SAVE_SESSION_PERF_DATA,\n      data: {topsites_icon_stats: topSitesIconsStats, topsites_pinned: topSitesPinned}\n    }));\n  }\n\n  /**\n   * Return the TopSites that are visible based on prefs and window width.\n   */\n  _getVisibleTopSites() {\n    // We hide 2 sites per row when not in the wide layout.\n    let sitesPerRow = TOP_SITES_MAX_SITES_PER_ROW;\n    // $break-point-widest = 1072px (from _variables.scss)\n    if (!global.matchMedia(`(min-width: 1072px)`).matches) {\n      sitesPerRow -= 2;\n    }\n    return this.props.TopSites.rows.slice(0, this.props.TopSitesRows * sitesPerRow);\n  }\n\n  componentDidUpdate() {\n    this._dispatchTopSitesStats();\n  }\n\n  componentDidMount() {\n    this._dispatchTopSitesStats();\n  }\n\n  onFormClose() {\n    this.props.dispatch(ac.UserEvent({\n      source: TOP_SITES_SOURCE,\n      event: \"TOP_SITES_EDIT_CLOSE\"\n    }));\n    this.props.dispatch({type: at.TOP_SITES_CANCEL_EDIT});\n  }\n\n  render() {\n    const {props} = this;\n    const {editForm} = props.TopSites;\n\n    return (<ComponentPerfTimer id=\"topsites\" initialized={props.TopSites.initialized} dispatch={props.dispatch}>\n      <CollapsibleSection\n        className=\"top-sites\"\n        icon=\"topsites\"\n        id=\"topsites\"\n        title={props.intl.formatMessage({id: \"header_top_sites\"})}\n        extraMenuOptions={[\"AddTopSite\"]}\n        prefName=\"collapseTopSites\"\n        showPrefName=\"showTopSites\"\n        eventSource={TOP_SITES_SOURCE}\n        Prefs={props.Prefs}\n        isFirst={props.isFirst}\n        isLast={props.isLast}\n        dispatch={props.dispatch}>\n        <TopSiteList TopSites={props.TopSites} TopSitesRows={props.TopSitesRows} dispatch={props.dispatch} intl={props.intl} topSiteIconType={topSiteIconType} />\n        <div className=\"edit-topsites-wrapper\">\n          {editForm &&\n            <div className=\"edit-topsites\">\n              <div className=\"modal-overlay\" onClick={this.onFormClose} />\n              <div className=\"modal\">\n                <TopSiteForm\n                  site={props.TopSites.rows[editForm.index]}\n                  index={editForm.index}\n                  onClose={this.onFormClose}\n                  dispatch={this.props.dispatch}\n                  intl={this.props.intl} />\n              </div>\n            </div>\n          }\n        </div>\n      </CollapsibleSection>\n    </ComponentPerfTimer>);\n  }\n}\n\nexport const TopSites = connect(state => ({\n  TopSites: state.TopSites,\n  Prefs: state.Prefs,\n  TopSitesRows: state.Prefs.values.topSitesRows\n}))(injectIntl(_TopSites));\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/TopSites/TopSites.jsx","import {FormattedMessage} from \"react-intl\";\nimport React from \"react\";\n\nexport class TopSiteFormInput extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onMount = this.onMount.bind(this);\n  }\n\n  componentWillReceiveProps(nextProps) {\n    if (nextProps.validationError && !this.props.validationError) {\n      this.input.focus();\n    }\n  }\n\n  onMount(input) {\n    this.input = input;\n  }\n\n  render() {\n    const showClearButton = this.props.value && this.props.onClear;\n    const {validationError, typeUrl} = this.props;\n\n    return (<label><FormattedMessage id={this.props.titleId} />\n      <div className={`field ${typeUrl ? \"url\" : \"\"}${validationError ? \" invalid\" : \"\"}`}>\n        {showClearButton &&\n          <div className=\"icon icon-clear-input\" onClick={this.props.onClear} />}\n        <input type=\"text\"\n          value={this.props.value}\n          ref={this.onMount}\n          onChange={this.props.onChange}\n          placeholder={this.props.intl.formatMessage({id: this.props.placeholderId})} />\n        {validationError &&\n          <aside className=\"error-tooltip\">\n            <FormattedMessage id={this.props.errorMessageId} />\n          </aside>}\n      </div>\n    </label>);\n  }\n}\n\nTopSiteFormInput.defaultProps = {\n  showClearButton: false,\n  value: \"\",\n  validationError: false\n};\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/TopSites/TopSiteFormInput.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {FormattedMessage} from \"react-intl\";\nimport React from \"react\";\nimport {TOP_SITES_SOURCE} from \"./TopSitesConstants\";\nimport {TopSiteFormInput} from \"./TopSiteFormInput\";\nimport {TopSiteLink} from \"./TopSite\";\n\nexport class TopSiteForm extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    const {site} = props;\n    this.state = {\n      label: site ? (site.label || site.hostname) : \"\",\n      url: site ? site.url : \"\",\n      validationError: false\n    };\n    this.onLabelChange = this.onLabelChange.bind(this);\n    this.onUrlChange = this.onUrlChange.bind(this);\n    this.onCancelButtonClick = this.onCancelButtonClick.bind(this);\n    this.onClearUrlClick = this.onClearUrlClick.bind(this);\n    this.onDoneButtonClick = this.onDoneButtonClick.bind(this);\n  }\n\n  onLabelChange(event) {\n    this.setState({\"label\": event.target.value});\n  }\n\n  onUrlChange(event) {\n    this.setState({\n      url: event.target.value,\n      validationError: false\n    });\n  }\n\n  onClearUrlClick() {\n    this.setState({\n      url: \"\",\n      validationError: false\n    });\n  }\n\n  onCancelButtonClick(ev) {\n    ev.preventDefault();\n    this.props.onClose();\n  }\n\n  onDoneButtonClick(ev) {\n    ev.preventDefault();\n\n    if (this.validateForm()) {\n      const site = {url: this.cleanUrl(this.state.url)};\n      const {index} = this.props;\n      if (this.state.label !== \"\") {\n        site.label = this.state.label;\n      }\n\n      this.props.dispatch(ac.AlsoToMain({\n        type: at.TOP_SITES_PIN,\n        data: {site, index}\n      }));\n      this.props.dispatch(ac.UserEvent({\n        source: TOP_SITES_SOURCE,\n        event: \"TOP_SITES_EDIT\",\n        action_position: index\n      }));\n\n      this.props.onClose();\n    }\n  }\n\n  cleanUrl(url) {\n    // If we are missing a protocol, prepend http://\n    if (!url.startsWith(\"http:\") && !url.startsWith(\"https:\")) {\n      return `http://${url}`;\n    }\n    return url;\n  }\n\n  validateUrl(url) {\n    try {\n      return !!new URL(this.cleanUrl(url));\n    } catch (e) {\n      return false;\n    }\n  }\n\n  validateForm() {\n    const validate = this.validateUrl(this.state.url);\n    this.setState({validationError: !validate});\n    return validate;\n  }\n\n  render() {\n    // For UI purposes, editing without an existing link is \"add\"\n    const showAsAdd = !this.props.site;\n\n    return (\n      <form className=\"topsite-form\">\n        <div className=\"form-input-container\">\n          <h3 className=\"section-title\">\n            <FormattedMessage id={showAsAdd ? \"topsites_form_add_header\" : \"topsites_form_edit_header\"} />\n          </h3>\n          <div className=\"fields-and-preview\">\n            <div className=\"form-wrapper\">\n              <TopSiteFormInput onChange={this.onLabelChange}\n                value={this.state.label}\n                titleId=\"topsites_form_title_label\"\n                placeholderId=\"topsites_form_title_placeholder\"\n                intl={this.props.intl} />\n              <TopSiteFormInput onChange={this.onUrlChange}\n                value={this.state.url}\n                onClear={this.onClearUrlClick}\n                validationError={this.state.validationError}\n                titleId=\"topsites_form_url_label\"\n                typeUrl={true}\n                placeholderId=\"topsites_form_url_placeholder\"\n                errorMessageId=\"topsites_form_url_validation\"\n                intl={this.props.intl} />\n            </div>\n            <TopSiteLink link={this.props.site || {}} title={this.state.label} />\n          </div>\n        </div>\n        <section className=\"actions\">\n          <button className=\"cancel\" type=\"button\" onClick={this.onCancelButtonClick}>\n            <FormattedMessage id=\"topsites_form_cancel_button\" />\n          </button>\n          <button className=\"done\" type=\"submit\" onClick={this.onDoneButtonClick}>\n            <FormattedMessage id={showAsAdd ? \"topsites_form_add_button\" : \"topsites_form_save_button\"} />\n          </button>\n        </section>\n      </form>\n    );\n  }\n}\n\nTopSiteForm.defaultProps = {\n  TopSite: null,\n  index: -1\n};\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/TopSites/TopSiteForm.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {perfService as perfSvc} from \"common/PerfService.jsm\";\n\nconst VISIBLE = \"visible\";\nconst VISIBILITY_CHANGE_EVENT = \"visibilitychange\";\n\nexport class DetectUserSessionStart {\n  constructor(store, options = {}) {\n    this._store = store;\n    // Overrides for testing\n    this.document = options.document || global.document;\n    this._perfService = options.perfService || perfSvc;\n    this._onVisibilityChange = this._onVisibilityChange.bind(this);\n  }\n\n  /**\n   * sendEventOrAddListener - Notify immediately if the page is already visible,\n   *                    or else set up a listener for when visibility changes.\n   *                    This is needed for accurate session tracking for telemetry,\n   *                    because tabs are pre-loaded.\n   */\n  sendEventOrAddListener() {\n    if (this.document.visibilityState === VISIBLE) {\n      // If the document is already visible, to the user, send a notification\n      // immediately that a session has started.\n      this._sendEvent();\n    } else {\n      // If the document is not visible, listen for when it does become visible.\n      this.document.addEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);\n    }\n  }\n\n  /**\n   * _sendEvent - Sends a message to the main process to indicate the current\n   *              tab is now visible to the user, includes the\n   *              visibility_event_rcvd_ts time in ms from the UNIX epoch.\n   */\n  _sendEvent() {\n    this._perfService.mark(\"visibility_event_rcvd_ts\");\n\n    try {\n      let visibility_event_rcvd_ts = this._perfService\n        .getMostRecentAbsMarkStartByName(\"visibility_event_rcvd_ts\");\n\n      this._store.dispatch(ac.AlsoToMain({\n        type: at.SAVE_SESSION_PERF_DATA,\n        data: {visibility_event_rcvd_ts}\n      }));\n    } catch (ex) {\n      // If this failed, it's likely because the `privacy.resistFingerprinting`\n      // pref is true.  We should at least not blow up.\n    }\n  }\n\n  /**\n   * _onVisibilityChange - If the visibility has changed to visible, sends a notification\n   *                      and removes the event listener. This should only be called once per tab.\n   */\n  _onVisibilityChange() {\n    if (this.document.visibilityState === VISIBLE) {\n      this._sendEvent();\n      this.document.removeEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/lib/detect-user-session-start.js","/* eslint-env mozilla/frame-script */\n\nimport {actionCreators as ac, actionTypes as at, actionUtils as au} from \"common/Actions.jsm\";\nimport {applyMiddleware, combineReducers, createStore} from \"redux\";\n\nexport const MERGE_STORE_ACTION = \"NEW_TAB_INITIAL_STATE\";\nexport const OUTGOING_MESSAGE_NAME = \"ActivityStream:ContentToMain\";\nexport const INCOMING_MESSAGE_NAME = \"ActivityStream:MainToContent\";\nexport const EARLY_QUEUED_ACTIONS = [at.SAVE_SESSION_PERF_DATA, at.PAGE_PRERENDERED];\n\n/**\n * A higher-order function which returns a reducer that, on MERGE_STORE action,\n * will return the action.data object merged into the previous state.\n *\n * For all other actions, it merely calls mainReducer.\n *\n * Because we want this to merge the entire state object, it's written as a\n * higher order function which takes the main reducer (itself often a call to\n * combineReducers) as a parameter.\n *\n * @param  {function} mainReducer reducer to call if action != MERGE_STORE_ACTION\n * @return {function}             a reducer that, on MERGE_STORE_ACTION action,\n *                                will return the action.data object merged\n *                                into the previous state, and the result\n *                                of calling mainReducer otherwise.\n */\nfunction mergeStateReducer(mainReducer) {\n  return (prevState, action) => {\n    if (action.type === MERGE_STORE_ACTION) {\n      return Object.assign({}, prevState, action.data);\n    }\n\n    return mainReducer(prevState, action);\n  };\n}\n\n/**\n * messageMiddleware - Middleware that looks for SentToMain type actions, and sends them if necessary\n */\nconst messageMiddleware = store => next => action => {\n  const skipLocal = action.meta && action.meta.skipLocal;\n  if (au.isSendToMain(action)) {\n    sendAsyncMessage(OUTGOING_MESSAGE_NAME, action);\n  }\n  if (!skipLocal) {\n    next(action);\n  }\n};\n\nexport const rehydrationMiddleware = store => next => action => {\n  if (store._didRehydrate) {\n    return next(action);\n  }\n\n  const isMergeStoreAction = action.type === MERGE_STORE_ACTION;\n  const isRehydrationRequest = action.type === at.NEW_TAB_STATE_REQUEST;\n\n  if (isRehydrationRequest) {\n    store._didRequestInitialState = true;\n    return next(action);\n  }\n\n  if (isMergeStoreAction) {\n    store._didRehydrate = true;\n    return next(action);\n  }\n\n  // If init happened after our request was made, we need to re-request\n  if (store._didRequestInitialState && action.type === at.INIT) {\n    return next(ac.AlsoToMain({type: at.NEW_TAB_STATE_REQUEST}));\n  }\n\n  if (au.isBroadcastToContent(action) || au.isSendToOneContent(action) || au.isSendToPreloaded(action)) {\n    // Note that actions received before didRehydrate will not be dispatched\n    // because this could negatively affect preloading and the the state\n    // will be replaced by rehydration anyway.\n    return null;\n  }\n\n  return next(action);\n};\n\n/**\n * This middleware queues up all the EARLY_QUEUED_ACTIONS until it receives\n * the first action from main. This is useful for those actions for main which\n * require higher reliability, i.e. the action will not be lost in the case\n * that it gets sent before the main is ready to receive it. Conversely, any\n * actions allowed early are accepted to be ignorable or re-sendable.\n */\nexport const queueEarlyMessageMiddleware = store => next => action => {\n  if (store._receivedFromMain) {\n    next(action);\n  } else if (au.isFromMain(action)) {\n    next(action);\n    store._receivedFromMain = true;\n    // Sending out all the early actions as main is ready now\n    if (store._earlyActionQueue) {\n      store._earlyActionQueue.forEach(next);\n      store._earlyActionQueue = [];\n    }\n  } else if (EARLY_QUEUED_ACTIONS.includes(action.type)) {\n    store._earlyActionQueue = store._earlyActionQueue || [];\n    store._earlyActionQueue.push(action);\n  } else {\n    // Let any other type of action go through\n    next(action);\n  }\n};\n\n/**\n * initStore - Create a store and listen for incoming actions\n *\n * @param  {object} reducers An object containing Redux reducers\n * @param  {object} intialState (optional) The initial state of the store, if desired\n * @return {object}          A redux store\n */\nexport function initStore(reducers, initialState) {\n  const store = createStore(\n    mergeStateReducer(combineReducers(reducers)),\n    initialState,\n    global.addMessageListener && applyMiddleware(rehydrationMiddleware, queueEarlyMessageMiddleware, messageMiddleware)\n  );\n\n  store._didRehydrate = false;\n  store._didRequestInitialState = false;\n\n  if (global.addMessageListener) {\n    global.addMessageListener(INCOMING_MESSAGE_NAME, msg => {\n      try {\n        store.dispatch(msg.data);\n      } catch (ex) {\n        console.error(\"Content msg:\", msg, \"Dispatch error: \", ex); // eslint-disable-line no-console\n        dump(`Content msg: ${JSON.stringify(msg)}\\nDispatch error: ${ex}\\n${ex.stack}`);\n      }\n    });\n  }\n\n  return store;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/lib/init-store.js","module.exports = Redux;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"Redux\"\n// module id = 26\n// module chunks = 0","module.exports = ReactDOM;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"ReactDOM\"\n// module id = 27\n// module chunks = 0"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["webpack:///webpack/bootstrap f840e51d38912f8e8968","webpack:///./system-addon/common/Actions.jsm","webpack:///external \"React\"","webpack:///external \"ReactIntl\"","webpack:///(webpack)/buildin/global.js","webpack:///external \"ReactRedux\"","webpack:///./system-addon/content-src/components/TopSites/TopSitesConstants.js","webpack:///./system-addon/common/Dedupe.jsm","webpack:///./system-addon/common/Reducers.jsm","webpack:///./system-addon/content-src/components/ErrorBoundary/ErrorBoundary.jsx","webpack:///./system-addon/content-src/lib/link-menu-options.js","webpack:///./system-addon/content-src/components/LinkMenu/LinkMenu.jsx","webpack:///./system-addon/content-src/components/ContextMenu/ContextMenu.jsx","webpack:///./system-addon/content-src/components/CollapsibleSection/CollapsibleSection.jsx","webpack:///./system-addon/content-src/components/ComponentPerfTimer/ComponentPerfTimer.jsx","webpack:///./system-addon/common/PerfService.jsm","webpack:///./system-addon/content-src/components/TopSites/TopSite.jsx","webpack:///./system-addon/content-src/activity-stream.jsx","webpack:///./system-addon/content-src/lib/snippets.js","webpack:///./system-addon/content-src/components/ConfirmDialog/ConfirmDialog.jsx","webpack:///./system-addon/content-src/components/ManualMigration/ManualMigration.jsx","webpack:///./system-addon/content-src/components/PreferencesPane/PreferencesPane.jsx","webpack:///./system-addon/common/PrerenderData.jsm","webpack:///./system-addon/content-src/components/Search/Search.jsx","webpack:///./system-addon/content-src/components/Base/Base.jsx","webpack:///./system-addon/content-src/lib/constants.js","webpack:///./system-addon/content-src/components/Sections/Sections.jsx","webpack:///./system-addon/content-src/components/Card/types.js","webpack:///./system-addon/content-src/components/Card/Card.jsx","webpack:///./system-addon/content-src/lib/section-menu-options.js","webpack:///./system-addon/content-src/components/SectionMenu/SectionMenu.jsx","webpack:///./system-addon/content-src/components/Topics/Topics.jsx","webpack:///./system-addon/content-src/components/TopSites/TopSites.jsx","webpack:///./system-addon/content-src/components/TopSites/TopSiteFormInput.jsx","webpack:///./system-addon/content-src/components/TopSites/TopSiteForm.jsx","webpack:///./system-addon/content-src/lib/detect-user-session-start.js","webpack:///./system-addon/content-src/lib/init-store.js","webpack:///external \"Redux\"","webpack:///external \"ReactDOM\""],"names":["globalImportContext","Window","BACKGROUND_PROCESS","UI_CODE","actionTypes","type","_RouteMessage","action","options","meta","Object","assign","from","to","Error","forEach","o","AlsoToMain","fromTarget","skipLocal","CONTENT_MESSAGE_TYPE","MAIN_MESSAGE_TYPE","OnlyToMain","BroadcastToContent","AlsoToOneContent","target","skipMain","toTarget","OnlyToOneContent","AlsoToPreloaded","PRELOAD_MESSAGE_TYPE","UserEvent","data","TELEMETRY_USER_EVENT","UndesiredEvent","importContext","TELEMETRY_UNDESIRED_EVENT","PerfEvent","TELEMETRY_PERFORMANCE_EVENT","ImpressionStats","TELEMETRY_IMPRESSION_STATS","SetPref","name","value","SET_PREF","WebExtEvent","source","isSendToMain","isBroadcastToContent","isSendToOneContent","isSendToPreloaded","isFromMain","getPortIdOfSender","TOP_SITES_SOURCE","TOP_SITES_CONTEXT_MENU_OPTIONS","MIN_RICH_FAVICON_SIZE","MIN_CORNER_FAVICON_SIZE","Dedupe","constructor","createKey","defaultCreateKey","item","group","groups","globalKeys","Set","result","values","valueMap","Map","key","has","set","push","add","map","m","Array","TOP_SITES_DEFAULT_ROWS","TOP_SITES_MAX_SITES_PER_ROW","dedupe","site","url","INITIAL_STATE","App","initialized","version","Snippets","TopSites","rows","editForm","Prefs","Dialog","visible","Sections","PreferencesPane","prevState","at","INIT","insertPinned","links","pinned","pinnedUrls","link","newLinks","filter","includes","isPinned","pinIndex","val","index","length","splice","hasMatch","newRows","TOP_SITES_UPDATED","TOP_SITES_EDIT","TOP_SITES_CANCEL_EDIT","SCREENSHOT_UPDATED","row","screenshot","PLACES_BOOKMARK_ADDED","bookmarkGuid","bookmarkTitle","dateAdded","bookmarkDateCreated","PLACES_BOOKMARK_REMOVED","newSite","DIALOG_OPEN","DIALOG_CANCEL","DELETE_HISTORY_URL","newValues","PREFS_INITIAL_VALUES","PREF_CHANGED","newState","SECTION_DEREGISTER","section","id","SECTION_REGISTER","title","enabled","SECTION_UPDATE","find","card","dedupeConfigurations","dedupeConf","dedupedRows","dedupeFrom","reduce","dedupeSectionId","dedupeSection","s","SECTION_UPDATE_CARD","PLACES_SAVED_TO_POCKET","open_url","pocket_id","PLACES_LINKS_DELETED","PLACES_LINK_BLOCKED","DELETE_FROM_POCKET","ARCHIVE_FROM_POCKET","SNIPPETS_DATA","SNIPPET_BLOCKED","blockList","concat","SNIPPETS_BLOCKLIST_CLEARED","SNIPPETS_RESET","SETTINGS_OPEN","SETTINGS_CLOSE","ErrorBoundaryFallback","React","PureComponent","props","windowObj","window","onClick","bind","location","reload","render","defaultClass","className","defaultProps","ErrorBoundary","state","hasError","componentDidCatch","error","info","setState","children","FallbackComponent","_OpenInPrivateWindow","icon","ac","OPEN_PRIVATE_WINDOW","referrer","userEvent","LinkMenuOptions","Separator","EmptyItem","RemoveBookmark","DELETE_BOOKMARK_BY_ID","AddBookmark","BOOKMARK_URL","OpenInNewWindow","OPEN_NEW_WINDOW","BlockUrl","eventSource","BLOCK_URL","impression","block","tiles","guid","pos","WebExtDismiss","string_id","WEBEXT_DISMISS","action_position","DeleteUrl","isEnabled","siteInfo","onConfirm","forceBlock","event","body_string_id","confirm_button_string_id","cancel_button_string_id","PinTopSite","TOP_SITES_PIN","UnpinTopSite","TOP_SITES_UNPIN","SaveToPocket","SAVE_TO_POCKET","pocket","DeleteFromPocket","ArchiveFromPocket","EditTopSite","CheckBookmark","CheckPinTopSite","CheckSavedToPocket","CheckBookmarkOrArchive","CheckDeleteHistoryOrEmpty","OpenInPrivateWindow","DEFAULT_SITE_MENU_OPTIONS","getOptions","isPrivateBrowsingEnabled","propOptions","isDefault","option","label","intl","formatMessage","dispatch","userEventData","shouldSendImpressionStats","first","last","onUpdate","getState","LinkMenu","connect","injectIntl","ContextMenu","hideContext","componentDidMount","setTimeout","global","addEventListener","componentWillUnmount","removeEventListener","stopPropagation","i","ContextMenuItem","onKeyDown","shiftKey","disabled","VISIBLE","VISIBILITY_CHANGE_EVENT","getFormattedMessage","message","getCollapsed","prefName","Disclaimer","onAcknowledge","disclaimerPref","disclaimer","text","href","button","DisclaimerIntl","_CollapsibleSection","onBodyMount","onHeaderClick","onTransitionEnd","enableOrDisableAnimation","onMenuButtonClick","onMenuButtonMouseEnter","onMenuButtonMouseLeave","onMenuUpdate","enableAnimation","isAnimating","menuButtonHover","showContextMenu","componentWillMount","document","componentWillUpdate","nextProps","sectionBody","scrollHeight","visibilityState","node","maxHeight","currentTarget","renderIcon","startsWith","backgroundImage","preventDefault","isCollapsible","isCollapsed","extraMenuOptions","showPrefName","privacyNoticeURL","isFirst","isLast","needsDisclaimer","active","CollapsibleSection","RECORDED_SECTIONS","ComponentPerfTimer","Component","perfSvc","_sendBadStateEvent","_sendPaintedEvent","_reportMissingData","_timestampHandled","_recordedFirstRender","_maybeSendPaintedEvent","componentDidUpdate","_afterFramePaint","callback","requestAnimationFrame","_maybeSendBadStateEvent","_ensureFirstRenderTsRecorded","mark","dataReadyKey","firstRenderKey","parseInt","getMostRecentAbsMarkStartByName","SAVE_SESSION_PERF_DATA","ex","ChromeUtils","import","usablePerfObj","Services","appShell","hiddenDOMWindow","performance","now","_PerfService","performanceObj","_perf","prototype","str","getEntriesByName","timeOrigin","absNow","entries","mostRecentEntry","startTime","TopSiteLink","onDragEvent","_allowDrop","e","dataTransfer","types","dragged","effectAllowed","setData","blur","isDraggable","topSiteOuterClassName","isDragged","tippyTopIcon","faviconSize","letterFallback","imageClassName","imageStyle","showSmallFavicon","smallFaviconStyle","smallFaviconFallback","backgroundColor","favicon","draggableProps","onDragEnd","onDragStart","onMouseDown","TopSite","onLinkClick","_getTelemetryInfo","icon_type","iconType","card_type","ev","onActivate","isContextMenuOpen","activeIndex","hostname","TopSitePlaceholder","onEditButtonClick","_TopSiteList","DEFAULT_STATE","draggedIndex","draggedSite","draggedTitle","topSitesPreview","componentWillReceiveProps","prevTopSites","newTopSites","dropped","_makeTopSitesPreview","TOP_SITES_INSERT","draggedFromIndex","_getTopSites","topSites","slice","TopSitesRows","pinnedOnly","unpinned","siteToInsert","holeIndex","indexStep","shiftingStep","nextIndex","preview","shift","topSitesUI","commonProps","maxNarrowVisibleIndex","l","topSiteIconType","slotProps","TopSiteList","store","initStore","gActivityStreamPrerenderedState","sendEventOrAddListener","NEW_TAB_STATE_REQUEST","ReactDOM","hydrate","documentElement","lang","gActivityStreamStrings","getElementById","addSnippetsSubscriber","DATABASE_NAME","DATABASE_VERSION","SNIPPETS_OBJECTSTORE_NAME","SNIPPETS_UPDATE_INTERVAL_MS","SNIPPETS_ENABLED_EVENT","SNIPPETS_DISABLED_EVENT","SnippetsMap","_db","_dispatch","_dbTransaction","db","put","delete","clear","get","blockSnippetById","SNIPPETS_BLOCKLIST_UPDATED","disableOnboarding","DISABLE_ONBOARDING","showFirefoxAccounts","SHOW_FIREFOX_ACCOUNTS","getTotalBookmarksCount","Promise","resolve","TOTAL_BOOKMARKS_REQUEST","addMessageListener","onMessage","TOTAL_BOOKMARKS_RESPONSE","removeMessageListener","_openDB","_restoreFromDb","modifier","reject","transaction","objectStore","onsuccess","onerror","openRequest","indexedDB","open","deleteDatabase","onupgradeneeded","objectStoreNames","contains","createObjectStore","err","console","onversionchange","versionChangeEvent","close","cursorRequest","openCursor","cursor","continue","SnippetsProvider","gSnippetsMap","_onAction","snippetsMap","_refreshSnippets","cachedVersion","appData","lastUpdate","needsUpdate","Date","snippetsURL","response","fetch","status","payload","_noSnippetFallback","_forceOnboardingVisibility","shouldBeVisible","onboardingEl","style","display","_showRemoteSnippets","snippetsEl","elementId","innerHTML","scriptEl","getElementsByTagName","relocatedScript","createElement","parentNode","replaceChild","msg","init","keys","dispatchEvent","Event","uninit","snippets","initializing","subscribe","disableSnippets","_handleCancelBtn","_handleConfirmBtn","_renderModalMessage","message_body","ConfirmDialog","onLaunchTour","onCancelTour","MIGRATION_START","MIGRATION_CANCEL","ManualMigration","PreferencesInput","onChange","labelClassName","titleString","descString","Children","child","handleClickOutside","handlePrefChange","handleSectionChange","togglePane","onWrapperMount","prevProps","isSidebarOpen","wrapper","checked","SECTION_ENABLE","SECTION_DISABLE","prefs","sections","isVisible","showSearch","showTopSites","topSitesRows","shouldHidePref","pref","feed","nestedPrefs","nestedPref","_PrerenderData","initialPrefs","initialSections","_setValidation","validation","_validation","invalidatingPrefs","_invalidatingPrefs","next","oneOf","arePrefsValid","getPref","some","order","provider","onInputMount","handleEvent","detail","gContentSearchController","search","input","healthReportKey","IS_NEWTAB","searchSource","ContentSearchUIController","Search","addLocaleDataForReactIntl","locale","addLocaleData","parentLocale","sendNewTabRehydrated","isPrerendered","PAGE_PRERENDERED","renderNotified","NEW_TAB_REHYDRATED","strings","shouldBeFixedToTop","PrerenderData","outerClassName","enableWideLayout","migrationExpired","Base","documentURI","CARDS_PER_ROW","Section","_dispatchImpressionStats","maxCards","maxRows","cards","needsImpressionStats","impressionCardGuids","sendImpressionStatsOrAddListener","_onVisibilityChange","isCollapsedPref","wasCollapsed","numberOfPlaceholders","items","remainder","emptyState","contextMenuOptions","shouldShowTopics","topics","realRows","placeholders","shouldShowEmptyState","padding","isWebExtension","_","read_more_endpoint","SectionIntl","_Sections","renderSections","enabledSections","sectionOrder","expectedCount","sectionId","split","cardContextTypes","history","intlID","bookmark","trending","gImageLoading","activeCard","imageLoaded","maybeLoadImage","image","loaderPromise","loader","Image","src","catch","then","altKey","ctrlKey","metaKey","OPEN_LINK","WEBEXT_CLICK","click","hasImage","placeholder","undefined","description","join","context","Card","PlaceholderCard","SectionMenuOptions","MoveUp","SECTION_MOVE","direction","MoveDown","RemoveSection","CollapseSection","collapsePrefName","ExpandSection","ManageSection","AddTopSite","PrivacyNotice","CheckCollapsed","DEFAULT_SECTION_MENU_OPTIONS","extraOptions","SectionMenu","Topic","Topics","t","faviconRef","countTopSitesIconsTypes","countTopSitesTypes","acc","_TopSites","onFormClose","_dispatchTopSitesStats","_getVisibleTopSites","topSitesIconsStats","topSitesPinned","topsites_icon_stats","topsites_pinned","sitesPerRow","matchMedia","matches","onMount","validationError","focus","showClearButton","onClear","typeUrl","titleId","placeholderId","errorMessageId","TopSiteFormInput","onLabelChange","onUrlChange","onCancelButtonClick","onClearUrlClick","onDoneButtonClick","onClose","validateForm","cleanUrl","validateUrl","URL","validate","showAsAdd","TopSiteForm","DetectUserSessionStart","_store","_perfService","perfService","_sendEvent","visibility_event_rcvd_ts","MERGE_STORE_ACTION","OUTGOING_MESSAGE_NAME","INCOMING_MESSAGE_NAME","EARLY_QUEUED_ACTIONS","mergeStateReducer","mainReducer","messageMiddleware","au","sendAsyncMessage","rehydrationMiddleware","_didRehydrate","isMergeStoreAction","isRehydrationRequest","_didRequestInitialState","queueEarlyMessageMiddleware","_receivedFromMain","_earlyActionQueue","reducers","initialState","createStore","combineReducers","applyMiddleware","dump","JSON","stringify","stack"],"mappings":"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","file":"activity-stream.bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 14);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap f840e51d38912f8e8968","/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/. */\n\"use strict\";\n\nthis.MAIN_MESSAGE_TYPE = \"ActivityStream:Main\";\nthis.CONTENT_MESSAGE_TYPE = \"ActivityStream:Content\";\nthis.PRELOAD_MESSAGE_TYPE = \"ActivityStream:PreloadedBrowser\";\nthis.UI_CODE = 1;\nthis.BACKGROUND_PROCESS = 2;\n\n/**\n * globalImportContext - Are we in UI code (i.e. react, a dom) or some kind of background process?\n *                       Use this in action creators if you need different logic\n *                       for ui/background processes.\n */\nconst globalImportContext = typeof Window === \"undefined\" ? BACKGROUND_PROCESS : UI_CODE;\n// Export for tests\nthis.globalImportContext = globalImportContext;\n\n// Create an object that avoids accidental differing key/value pairs:\n// {\n//   INIT: \"INIT\",\n//   UNINIT: \"UNINIT\"\n// }\nconst actionTypes = {};\nfor (const type of [\n  \"ARCHIVE_FROM_POCKET\",\n  \"BLOCK_URL\",\n  \"BOOKMARK_URL\",\n  \"DELETE_BOOKMARK_BY_ID\",\n  \"DELETE_FROM_POCKET\",\n  \"DELETE_HISTORY_URL\",\n  \"DELETE_HISTORY_URL_CONFIRM\",\n  \"DIALOG_CANCEL\",\n  \"DIALOG_OPEN\",\n  \"DISABLE_ONBOARDING\",\n  \"INIT\",\n  \"MIGRATION_CANCEL\",\n  \"MIGRATION_COMPLETED\",\n  \"MIGRATION_START\",\n  \"NEW_TAB_INIT\",\n  \"NEW_TAB_INITIAL_STATE\",\n  \"NEW_TAB_LOAD\",\n  \"NEW_TAB_REHYDRATED\",\n  \"NEW_TAB_STATE_REQUEST\",\n  \"NEW_TAB_UNLOAD\",\n  \"OPEN_LINK\",\n  \"OPEN_NEW_WINDOW\",\n  \"OPEN_PRIVATE_WINDOW\",\n  \"PAGE_PRERENDERED\",\n  \"PLACES_BOOKMARK_ADDED\",\n  \"PLACES_BOOKMARK_CHANGED\",\n  \"PLACES_BOOKMARK_REMOVED\",\n  \"PLACES_HISTORY_CLEARED\",\n  \"PLACES_LINKS_DELETED\",\n  \"PLACES_LINK_BLOCKED\",\n  \"PLACES_SAVED_TO_POCKET\",\n  \"PREFS_INITIAL_VALUES\",\n  \"PREF_CHANGED\",\n  \"RICH_ICON_MISSING\",\n  \"SAVE_SESSION_PERF_DATA\",\n  \"SAVE_TO_POCKET\",\n  \"SCREENSHOT_UPDATED\",\n  \"SECTION_DEREGISTER\",\n  \"SECTION_DISABLE\",\n  \"SECTION_ENABLE\",\n  \"SECTION_MOVE\",\n  \"SECTION_OPTIONS_CHANGED\",\n  \"SECTION_REGISTER\",\n  \"SECTION_UPDATE\",\n  \"SECTION_UPDATE_CARD\",\n  \"SETTINGS_CLOSE\",\n  \"SETTINGS_OPEN\",\n  \"SET_PREF\",\n  \"SHOW_FIREFOX_ACCOUNTS\",\n  \"SNIPPETS_BLOCKLIST_CLEARED\",\n  \"SNIPPETS_BLOCKLIST_UPDATED\",\n  \"SNIPPETS_DATA\",\n  \"SNIPPETS_RESET\",\n  \"SNIPPET_BLOCKED\",\n  \"SYSTEM_TICK\",\n  \"TELEMETRY_IMPRESSION_STATS\",\n  \"TELEMETRY_PERFORMANCE_EVENT\",\n  \"TELEMETRY_UNDESIRED_EVENT\",\n  \"TELEMETRY_USER_EVENT\",\n  \"TOP_SITES_CANCEL_EDIT\",\n  \"TOP_SITES_EDIT\",\n  \"TOP_SITES_INSERT\",\n  \"TOP_SITES_PIN\",\n  \"TOP_SITES_UNPIN\",\n  \"TOP_SITES_UPDATED\",\n  \"TOTAL_BOOKMARKS_REQUEST\",\n  \"TOTAL_BOOKMARKS_RESPONSE\",\n  \"UNINIT\",\n  \"WEBEXT_CLICK\",\n  \"WEBEXT_DISMISS\"\n]) {\n  actionTypes[type] = type;\n}\n\n// Helper function for creating routed actions between content and main\n// Not intended to be used by consumers\nfunction _RouteMessage(action, options) {\n  const meta = action.meta ? Object.assign({}, action.meta) : {};\n  if (!options || !options.from || !options.to) {\n    throw new Error(\"Routed Messages must have options as the second parameter, and must at least include a .from and .to property.\");\n  }\n  // For each of these fields, if they are passed as an option,\n  // add them to the action. If they are not defined, remove them.\n  [\"from\", \"to\", \"toTarget\", \"fromTarget\", \"skipMain\", \"skipLocal\"].forEach(o => {\n    if (typeof options[o] !== \"undefined\") {\n      meta[o] = options[o];\n    } else if (meta[o]) {\n      delete meta[o];\n    }\n  });\n  return Object.assign({}, action, {meta});\n}\n\n/**\n * AlsoToMain - Creates a message that will be dispatched locally and also sent to the Main process.\n *\n * @param  {object} action Any redux action (required)\n * @param  {object} options\n * @param  {bool}   skipLocal Used by OnlyToMain to skip the main reducer\n * @param  {string} fromTarget The id of the content port from which the action originated. (optional)\n * @return {object} An action with added .meta properties\n */\nfunction AlsoToMain(action, fromTarget, skipLocal) {\n  return _RouteMessage(action, {\n    from: CONTENT_MESSAGE_TYPE,\n    to: MAIN_MESSAGE_TYPE,\n    fromTarget,\n    skipLocal\n  });\n}\n\n/**\n * OnlyToMain - Creates a message that will be sent to the Main process and skip the local reducer.\n *\n * @param  {object} action Any redux action (required)\n * @param  {object} options\n * @param  {string} fromTarget The id of the content port from which the action originated. (optional)\n * @return {object} An action with added .meta properties\n */\nfunction OnlyToMain(action, fromTarget) {\n  return AlsoToMain(action, fromTarget, true);\n}\n\n/**\n * BroadcastToContent - Creates a message that will be dispatched to main and sent to ALL content processes.\n *\n * @param  {object} action Any redux action (required)\n * @return {object} An action with added .meta properties\n */\nfunction BroadcastToContent(action) {\n  return _RouteMessage(action, {\n    from: MAIN_MESSAGE_TYPE,\n    to: CONTENT_MESSAGE_TYPE\n  });\n}\n\n/**\n * AlsoToOneContent - Creates a message that will be will be dispatched to the main store\n *                    and also sent to a particular Content process.\n *\n * @param  {object} action Any redux action (required)\n * @param  {string} target The id of a content port\n * @param  {bool} skipMain Used by OnlyToOneContent to skip the main process\n * @return {object} An action with added .meta properties\n */\nfunction AlsoToOneContent(action, target, skipMain) {\n  if (!target) {\n    throw new Error(\"You must provide a target ID as the second parameter of AlsoToOneContent. If you want to send to all content processes, use BroadcastToContent\");\n  }\n  return _RouteMessage(action, {\n    from: MAIN_MESSAGE_TYPE,\n    to: CONTENT_MESSAGE_TYPE,\n    toTarget: target,\n    skipMain\n  });\n}\n\n/**\n * OnlyToOneContent - Creates a message that will be sent to a particular Content process\n *                    and skip the main reducer.\n *\n * @param  {object} action Any redux action (required)\n * @param  {string} target The id of a content port\n * @return {object} An action with added .meta properties\n */\nfunction OnlyToOneContent(action, target) {\n  return AlsoToOneContent(action, target, true);\n}\n\n/**\n * AlsoToPreloaded - Creates a message that dispatched to the main reducer and also sent to the preloaded tab.\n *\n * @param  {object} action Any redux action (required)\n * @return {object} An action with added .meta properties\n */\nfunction AlsoToPreloaded(action) {\n  return _RouteMessage(action, {\n    from: MAIN_MESSAGE_TYPE,\n    to: PRELOAD_MESSAGE_TYPE\n  });\n}\n\n/**\n * UserEvent - A telemetry ping indicating a user action. This should only\n *                   be sent from the UI during a user session.\n *\n * @param  {object} data Fields to include in the ping (source, etc.)\n * @return {object} An AlsoToMain action\n */\nfunction UserEvent(data) {\n  return AlsoToMain({\n    type: actionTypes.TELEMETRY_USER_EVENT,\n    data\n  });\n}\n\n/**\n * UndesiredEvent - A telemetry ping indicating an undesired state.\n *\n * @param  {object} data Fields to include in the ping (value, etc.)\n * @param  {int} importContext (For testing) Override the import context for testing.\n * @return {object} An action. For UI code, a AlsoToMain action.\n */\nfunction UndesiredEvent(data, importContext = globalImportContext) {\n  const action = {\n    type: actionTypes.TELEMETRY_UNDESIRED_EVENT,\n    data\n  };\n  return importContext === UI_CODE ? AlsoToMain(action) : action;\n}\n\n/**\n * PerfEvent - A telemetry ping indicating a performance-related event.\n *\n * @param  {object} data Fields to include in the ping (value, etc.)\n * @param  {int} importContext (For testing) Override the import context for testing.\n * @return {object} An action. For UI code, a AlsoToMain action.\n */\nfunction PerfEvent(data, importContext = globalImportContext) {\n  const action = {\n    type: actionTypes.TELEMETRY_PERFORMANCE_EVENT,\n    data\n  };\n  return importContext === UI_CODE ? AlsoToMain(action) : action;\n}\n\n/**\n * ImpressionStats - A telemetry ping indicating an impression stats.\n *\n * @param  {object} data Fields to include in the ping\n * @param  {int} importContext (For testing) Override the import context for testing.\n * #return {object} An action. For UI code, a AlsoToMain action.\n */\nfunction ImpressionStats(data, importContext = globalImportContext) {\n  const action = {\n    type: actionTypes.TELEMETRY_IMPRESSION_STATS,\n    data\n  };\n  return importContext === UI_CODE ? AlsoToMain(action) : action;\n}\n\nfunction SetPref(name, value, importContext = globalImportContext) {\n  const action = {type: actionTypes.SET_PREF, data: {name, value}};\n  return importContext === UI_CODE ? AlsoToMain(action) : action;\n}\n\nfunction WebExtEvent(type, data, importContext = globalImportContext) {\n  if (!data || !data.source) {\n    throw new Error(\"WebExtEvent actions should include a property \\\"source\\\", the id of the webextension that should receive the event.\");\n  }\n  const action = {type, data};\n  return importContext === UI_CODE ? AlsoToMain(action) : action;\n}\n\nthis.actionTypes = actionTypes;\n\nthis.actionCreators = {\n  BroadcastToContent,\n  UserEvent,\n  UndesiredEvent,\n  PerfEvent,\n  ImpressionStats,\n  AlsoToOneContent,\n  OnlyToOneContent,\n  AlsoToMain,\n  OnlyToMain,\n  AlsoToPreloaded,\n  SetPref,\n  WebExtEvent\n};\n\n// These are helpers to test for certain kinds of actions\nthis.actionUtils = {\n  isSendToMain(action) {\n    if (!action.meta) {\n      return false;\n    }\n    return action.meta.to === MAIN_MESSAGE_TYPE && action.meta.from === CONTENT_MESSAGE_TYPE;\n  },\n  isBroadcastToContent(action) {\n    if (!action.meta) {\n      return false;\n    }\n    if (action.meta.to === CONTENT_MESSAGE_TYPE && !action.meta.toTarget) {\n      return true;\n    }\n    return false;\n  },\n  isSendToOneContent(action) {\n    if (!action.meta) {\n      return false;\n    }\n    if (action.meta.to === CONTENT_MESSAGE_TYPE && action.meta.toTarget) {\n      return true;\n    }\n    return false;\n  },\n  isSendToPreloaded(action) {\n    if (!action.meta) {\n      return false;\n    }\n    return action.meta.to === PRELOAD_MESSAGE_TYPE &&\n      action.meta.from === MAIN_MESSAGE_TYPE;\n  },\n  isFromMain(action) {\n    if (!action.meta) {\n      return false;\n    }\n    return action.meta.from === MAIN_MESSAGE_TYPE &&\n      action.meta.to === CONTENT_MESSAGE_TYPE;\n  },\n  getPortIdOfSender(action) {\n    return (action.meta && action.meta.fromTarget) || null;\n  },\n  _RouteMessage\n};\n\nconst EXPORTED_SYMBOLS = [\n  \"actionTypes\",\n  \"actionCreators\",\n  \"actionUtils\",\n  \"globalImportContext\",\n  \"UI_CODE\",\n  \"BACKGROUND_PROCESS\",\n  \"MAIN_MESSAGE_TYPE\",\n  \"CONTENT_MESSAGE_TYPE\",\n  \"PRELOAD_MESSAGE_TYPE\"\n];\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/common/Actions.jsm","module.exports = React;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"React\"\n// module id = 1\n// module chunks = 0","module.exports = ReactIntl;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"ReactIntl\"\n// module id = 2\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 3\n// module chunks = 0","module.exports = ReactRedux;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"ReactRedux\"\n// module id = 4\n// module chunks = 0","export const TOP_SITES_SOURCE = \"TOP_SITES\";\nexport const TOP_SITES_CONTEXT_MENU_OPTIONS = [\"CheckPinTopSite\", \"EditTopSite\", \"Separator\",\n  \"OpenInNewWindow\", \"OpenInPrivateWindow\", \"Separator\", \"BlockUrl\", \"DeleteUrl\"];\n// minimum size necessary to show a rich icon instead of a screenshot\nexport const MIN_RICH_FAVICON_SIZE = 96;\n// minimum size necessary to show any icon in the top left corner with a screenshot\nexport const MIN_CORNER_FAVICON_SIZE = 16;\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/TopSites/TopSitesConstants.js","this.Dedupe = class Dedupe {\n  constructor(createKey) {\n    this.createKey = createKey || this.defaultCreateKey;\n  }\n\n  defaultCreateKey(item) {\n    return item;\n  }\n\n  /**\n   * Dedupe any number of grouped elements favoring those from earlier groups.\n   *\n   * @param {Array} groups Contains an arbitrary number of arrays of elements.\n   * @returns {Array} A matching array of each provided group deduped.\n   */\n  group(...groups) {\n    const globalKeys = new Set();\n    const result = [];\n    for (const values of groups) {\n      const valueMap = new Map();\n      for (const value of values) {\n        const key = this.createKey(value);\n        if (!globalKeys.has(key) && !valueMap.has(key)) {\n          valueMap.set(key, value);\n        }\n      }\n      result.push(valueMap);\n      valueMap.forEach((value, key) => globalKeys.add(key));\n    }\n    return result.map(m => Array.from(m.values()));\n  }\n};\n\nconst EXPORTED_SYMBOLS = [\"Dedupe\"];\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/common/Dedupe.jsm","/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/. */\n\"use strict\";\n\nconst {actionTypes: at} = ChromeUtils.import(\"resource://activity-stream/common/Actions.jsm\", {});\nconst {Dedupe} = ChromeUtils.import(\"resource://activity-stream/common/Dedupe.jsm\", {});\n\nconst TOP_SITES_DEFAULT_ROWS = 1;\nconst TOP_SITES_MAX_SITES_PER_ROW = 8;\n\nconst dedupe = new Dedupe(site => site && site.url);\n\nconst INITIAL_STATE = {\n  App: {\n    // Have we received real data from the app yet?\n    initialized: false,\n    // The version of the system-addon\n    version: null\n  },\n  Snippets: {initialized: false},\n  TopSites: {\n    // Have we received real data from history yet?\n    initialized: false,\n    // The history (and possibly default) links\n    rows: [],\n    // Used in content only to dispatch action to TopSiteForm.\n    editForm: null\n  },\n  Prefs: {\n    initialized: false,\n    values: {}\n  },\n  Dialog: {\n    visible: false,\n    data: {}\n  },\n  Sections: [],\n  PreferencesPane: {visible: false}\n};\n\nfunction App(prevState = INITIAL_STATE.App, action) {\n  switch (action.type) {\n    case at.INIT:\n      return Object.assign({}, prevState, action.data || {}, {initialized: true});\n    default:\n      return prevState;\n  }\n}\n\n/**\n * insertPinned - Inserts pinned links in their specified slots\n *\n * @param {array} a list of links\n * @param {array} a list of pinned links\n * @return {array} resulting list of links with pinned links inserted\n */\nfunction insertPinned(links, pinned) {\n  // Remove any pinned links\n  const pinnedUrls = pinned.map(link => link && link.url);\n  let newLinks = links.filter(link => (link ? !pinnedUrls.includes(link.url) : false));\n  newLinks = newLinks.map(link => {\n    if (link && link.isPinned) {\n      delete link.isPinned;\n      delete link.pinIndex;\n    }\n    return link;\n  });\n\n  // Then insert them in their specified location\n  pinned.forEach((val, index) => {\n    if (!val) { return; }\n    let link = Object.assign({}, val, {isPinned: true, pinIndex: index});\n    if (index > newLinks.length) {\n      newLinks[index] = link;\n    } else {\n      newLinks.splice(index, 0, link);\n    }\n  });\n\n  return newLinks;\n}\n\nfunction TopSites(prevState = INITIAL_STATE.TopSites, action) {\n  let hasMatch;\n  let newRows;\n  switch (action.type) {\n    case at.TOP_SITES_UPDATED:\n      if (!action.data) {\n        return prevState;\n      }\n      return Object.assign({}, prevState, {initialized: true, rows: action.data});\n    case at.TOP_SITES_EDIT:\n      return Object.assign({}, prevState, {editForm: {index: action.data.index}});\n    case at.TOP_SITES_CANCEL_EDIT:\n      return Object.assign({}, prevState, {editForm: null});\n    case at.SCREENSHOT_UPDATED:\n      newRows = prevState.rows.map(row => {\n        if (row && row.url === action.data.url) {\n          hasMatch = true;\n          return Object.assign({}, row, {screenshot: action.data.screenshot});\n        }\n        return row;\n      });\n      return hasMatch ? Object.assign({}, prevState, {rows: newRows}) : prevState;\n    case at.PLACES_BOOKMARK_ADDED:\n      if (!action.data) {\n        return prevState;\n      }\n      newRows = prevState.rows.map(site => {\n        if (site && site.url === action.data.url) {\n          const {bookmarkGuid, bookmarkTitle, dateAdded} = action.data;\n          return Object.assign({}, site, {bookmarkGuid, bookmarkTitle, bookmarkDateCreated: dateAdded});\n        }\n        return site;\n      });\n      return Object.assign({}, prevState, {rows: newRows});\n    case at.PLACES_BOOKMARK_REMOVED:\n      if (!action.data) {\n        return prevState;\n      }\n      newRows = prevState.rows.map(site => {\n        if (site && site.url === action.data.url) {\n          const newSite = Object.assign({}, site);\n          delete newSite.bookmarkGuid;\n          delete newSite.bookmarkTitle;\n          delete newSite.bookmarkDateCreated;\n          return newSite;\n        }\n        return site;\n      });\n      return Object.assign({}, prevState, {rows: newRows});\n    default:\n      return prevState;\n  }\n}\n\nfunction Dialog(prevState = INITIAL_STATE.Dialog, action) {\n  switch (action.type) {\n    case at.DIALOG_OPEN:\n      return Object.assign({}, prevState, {visible: true, data: action.data});\n    case at.DIALOG_CANCEL:\n      return Object.assign({}, prevState, {visible: false});\n    case at.DELETE_HISTORY_URL:\n      return Object.assign({}, INITIAL_STATE.Dialog);\n    default:\n      return prevState;\n  }\n}\n\nfunction Prefs(prevState = INITIAL_STATE.Prefs, action) {\n  let newValues;\n  switch (action.type) {\n    case at.PREFS_INITIAL_VALUES:\n      return Object.assign({}, prevState, {initialized: true, values: action.data});\n    case at.PREF_CHANGED:\n      newValues = Object.assign({}, prevState.values);\n      newValues[action.data.name] = action.data.value;\n      return Object.assign({}, prevState, {values: newValues});\n    default:\n      return prevState;\n  }\n}\n\nfunction Sections(prevState = INITIAL_STATE.Sections, action) {\n  let hasMatch;\n  let newState;\n  switch (action.type) {\n    case at.SECTION_DEREGISTER:\n      return prevState.filter(section => section.id !== action.data);\n    case at.SECTION_REGISTER:\n      // If section exists in prevState, update it\n      newState = prevState.map(section => {\n        if (section && section.id === action.data.id) {\n          hasMatch = true;\n          return Object.assign({}, section, action.data);\n        }\n        return section;\n      });\n      // Otherwise, append it\n      if (!hasMatch) {\n        const initialized = !!(action.data.rows && action.data.rows.length > 0);\n        const section = Object.assign({title: \"\", rows: [], enabled: false}, action.data, {initialized});\n        newState.push(section);\n      }\n      return newState;\n    case at.SECTION_UPDATE:\n      newState = prevState.map(section => {\n        if (section && section.id === action.data.id) {\n          // If the action is updating rows, we should consider initialized to be true.\n          // This can be overridden if initialized is defined in the action.data\n          const initialized = action.data.rows ? {initialized: true} : {};\n\n          // Make sure pinned cards stay at their current position when rows are updated.\n          // Disabling a section (SECTION_UPDATE with empty rows) does not retain pinned cards.\n          if (action.data.rows && action.data.rows.length > 0 && section.rows.find(card => card.pinned)) {\n            const rows = Array.from(action.data.rows);\n            section.rows.forEach((card, index) => {\n              if (card.pinned) {\n                rows.splice(index, 0, card);\n              }\n            });\n            return Object.assign({}, section, initialized, Object.assign({}, action.data, {rows}));\n          }\n\n          return Object.assign({}, section, initialized, action.data);\n        }\n        return section;\n      });\n\n      if (!action.data.dedupeConfigurations) {\n        return newState;\n      }\n\n      action.data.dedupeConfigurations.forEach(dedupeConf => {\n        newState = newState.map(section => {\n          if (section.id === dedupeConf.id) {\n            const dedupedRows = dedupeConf.dedupeFrom.reduce((rows, dedupeSectionId) => {\n              const dedupeSection = newState.find(s => s.id === dedupeSectionId);\n              const [, newRows] = dedupe.group(dedupeSection.rows, rows);\n              return newRows;\n            }, section.rows);\n\n            return Object.assign({}, section, {rows: dedupedRows});\n          }\n\n          return section;\n        });\n      });\n\n      return newState;\n    case at.SECTION_UPDATE_CARD:\n      return prevState.map(section => {\n        if (section && section.id === action.data.id && section.rows) {\n          const newRows = section.rows.map(card => {\n            if (card.url === action.data.url) {\n              return Object.assign({}, card, action.data.options);\n            }\n            return card;\n          });\n          return Object.assign({}, section, {rows: newRows});\n        }\n        return section;\n      });\n    case at.PLACES_BOOKMARK_ADDED:\n      if (!action.data) {\n        return prevState;\n      }\n      return prevState.map(section => Object.assign({}, section, {\n        rows: section.rows.map(item => {\n          // find the item within the rows that is attempted to be bookmarked\n          if (item.url === action.data.url) {\n            const {bookmarkGuid, bookmarkTitle, dateAdded} = action.data;\n            return Object.assign({}, item, {\n              bookmarkGuid,\n              bookmarkTitle,\n              bookmarkDateCreated: dateAdded,\n              type: \"bookmark\"\n            });\n          }\n          return item;\n        })\n      }));\n    case at.PLACES_SAVED_TO_POCKET:\n      if (!action.data) {\n        return prevState;\n      }\n      return prevState.map(section => Object.assign({}, section, {\n        rows: section.rows.map(item => {\n          if (item.url === action.data.url) {\n            return Object.assign({}, item, {\n              open_url: action.data.open_url,\n              pocket_id: action.data.pocket_id,\n              title: action.data.title,\n              type: \"pocket\"\n            });\n          }\n          return item;\n        })\n      }));\n    case at.PLACES_BOOKMARK_REMOVED:\n      if (!action.data) {\n        return prevState;\n      }\n      return prevState.map(section => Object.assign({}, section, {\n        rows: section.rows.map(item => {\n          // find the bookmark within the rows that is attempted to be removed\n          if (item.url === action.data.url) {\n            const newSite = Object.assign({}, item);\n            delete newSite.bookmarkGuid;\n            delete newSite.bookmarkTitle;\n            delete newSite.bookmarkDateCreated;\n            if (!newSite.type || newSite.type === \"bookmark\") {\n              newSite.type = \"history\";\n            }\n            return newSite;\n          }\n          return item;\n        })\n      }));\n    case at.PLACES_LINKS_DELETED:\n      return prevState.map(section => Object.assign({}, section,\n        {rows: section.rows.filter(site => !action.data.includes(site.url))}));\n    case at.PLACES_LINK_BLOCKED:\n      return prevState.map(section =>\n        Object.assign({}, section, {rows: section.rows.filter(site => site.url !== action.data.url)}));\n    case at.DELETE_FROM_POCKET:\n    case at.ARCHIVE_FROM_POCKET:\n      return prevState.map(section =>\n        Object.assign({}, section, {rows: section.rows.filter(site => site.pocket_id !== action.data.pocket_id)}));\n    default:\n      return prevState;\n  }\n}\n\nfunction Snippets(prevState = INITIAL_STATE.Snippets, action) {\n  switch (action.type) {\n    case at.SNIPPETS_DATA:\n      return Object.assign({}, prevState, {initialized: true}, action.data);\n    case at.SNIPPET_BLOCKED:\n      return Object.assign({}, prevState, {blockList: prevState.blockList.concat(action.data)});\n    case at.SNIPPETS_BLOCKLIST_CLEARED:\n      return Object.assign({}, prevState, {blockList: []});\n    case at.SNIPPETS_RESET:\n      return INITIAL_STATE.Snippets;\n    default:\n      return prevState;\n  }\n}\n\nfunction PreferencesPane(prevState = INITIAL_STATE.PreferencesPane, action) {\n  switch (action.type) {\n    case at.SETTINGS_OPEN:\n      return Object.assign({}, prevState, {visible: true});\n    case at.SETTINGS_CLOSE:\n      return Object.assign({}, prevState, {visible: false});\n    default:\n      return prevState;\n  }\n}\n\nthis.INITIAL_STATE = INITIAL_STATE;\nthis.TOP_SITES_DEFAULT_ROWS = TOP_SITES_DEFAULT_ROWS;\nthis.TOP_SITES_MAX_SITES_PER_ROW = TOP_SITES_MAX_SITES_PER_ROW;\n\nthis.reducers = {TopSites, App, Snippets, Prefs, Dialog, Sections, PreferencesPane};\n\nconst EXPORTED_SYMBOLS = [\"reducers\", \"INITIAL_STATE\", \"insertPinned\", \"TOP_SITES_DEFAULT_ROWS\", \"TOP_SITES_MAX_SITES_PER_ROW\"];\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/common/Reducers.jsm","import {FormattedMessage} from \"react-intl\";\nimport React from \"react\";\n\nexport class ErrorBoundaryFallback extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.windowObj = this.props.windowObj || window;\n    this.onClick = this.onClick.bind(this);\n  }\n\n  /**\n   * Since we only get here if part of the page has crashed, do a\n   * forced reload to give us the best chance at recovering.\n   */\n  onClick() {\n    this.windowObj.location.reload(true);\n  }\n\n  render() {\n    const defaultClass = \"as-error-fallback\";\n    let className;\n    if (\"className\" in this.props) {\n      className = `${this.props.className} ${defaultClass}`;\n    } else {\n      className = defaultClass;\n    }\n\n    // href=\"#\" to force normal link styling stuff (eg cursor on hover)\n    return (\n      <div className={className}>\n        <div>\n          <FormattedMessage\n            defaultMessage=\"Oops, something went wrong loading this content.\"\n            id=\"error_fallback_default_info\" />\n        </div>\n        <span>\n          <a href=\"#\" className=\"reload-button\" onClick={this.onClick}>\n            <FormattedMessage\n              defaultMessage=\"Refresh page to try again.\"\n              id=\"error_fallback_default_refresh_suggestion\" />\n          </a>\n        </span>\n      </div>\n    );\n  }\n}\nErrorBoundaryFallback.defaultProps = {className: \"as-error-fallback\"};\n\nexport class ErrorBoundary extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.state = {hasError: false};\n  }\n\n  componentDidCatch(error, info) {\n    this.setState({hasError: true});\n  }\n\n  render() {\n    if (!this.state.hasError) {\n      return (this.props.children);\n    }\n\n    return <this.props.FallbackComponent className={this.props.className} />;\n  }\n}\n\nErrorBoundary.defaultProps = {FallbackComponent: ErrorBoundaryFallback};\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/ErrorBoundary/ErrorBoundary.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\n\nconst _OpenInPrivateWindow = site => ({\n  id: \"menu_action_open_private_window\",\n  icon: \"new-window-private\",\n  action: ac.OnlyToMain({\n    type: at.OPEN_PRIVATE_WINDOW,\n    data: {url: site.url, referrer: site.referrer}\n  }),\n  userEvent: \"OPEN_PRIVATE_WINDOW\"\n});\n\n/**\n * List of functions that return items that can be included as menu options in a\n * LinkMenu. All functions take the site as the first parameter, and optionally\n * the index of the site.\n */\nexport const LinkMenuOptions = {\n  Separator: () => ({type: \"separator\"}),\n  EmptyItem: () => ({type: \"empty\"}),\n  RemoveBookmark: site => ({\n    id: \"menu_action_remove_bookmark\",\n    icon: \"bookmark-added\",\n    action: ac.AlsoToMain({\n      type: at.DELETE_BOOKMARK_BY_ID,\n      data: site.bookmarkGuid\n    }),\n    userEvent: \"BOOKMARK_DELETE\"\n  }),\n  AddBookmark: site => ({\n    id: \"menu_action_bookmark\",\n    icon: \"bookmark-hollow\",\n    action: ac.AlsoToMain({\n      type: at.BOOKMARK_URL,\n      data: {url: site.url, title: site.title, type: site.type}\n    }),\n    userEvent: \"BOOKMARK_ADD\"\n  }),\n  OpenInNewWindow: site => ({\n    id: \"menu_action_open_new_window\",\n    icon: \"new-window\",\n    action: ac.AlsoToMain({\n      type: at.OPEN_NEW_WINDOW,\n      data: {url: site.url, referrer: site.referrer}\n    }),\n    userEvent: \"OPEN_NEW_WINDOW\"\n  }),\n  BlockUrl: (site, index, eventSource) => ({\n    id: \"menu_action_dismiss\",\n    icon: \"dismiss\",\n    action: ac.AlsoToMain({\n      type: at.BLOCK_URL,\n      data: {url: site.url, pocket_id: site.pocket_id}\n    }),\n    impression: ac.ImpressionStats({\n      source: eventSource,\n      block: 0,\n      tiles: [{id: site.guid, pos: index}]\n    }),\n    userEvent: \"BLOCK\"\n  }),\n\n  // This is an option for web extentions which will result in remove items from\n  // memory and notify the web extenion, rather than using the built-in block list.\n  WebExtDismiss: (site, index, eventSource) => ({\n    id: \"menu_action_webext_dismiss\",\n    string_id: \"menu_action_dismiss\",\n    icon: \"dismiss\",\n    action: ac.WebExtEvent(at.WEBEXT_DISMISS, {\n      source: eventSource,\n      url: site.url,\n      action_position: index\n    })\n  }),\n  DeleteUrl: (site, index, eventSource, isEnabled, siteInfo) => ({\n    id: \"menu_action_delete\",\n    icon: \"delete\",\n    action: {\n      type: at.DIALOG_OPEN,\n      data: {\n        onConfirm: [\n          ac.AlsoToMain({type: at.DELETE_HISTORY_URL, data: {url: site.url, pocket_id: site.pocket_id, forceBlock: site.bookmarkGuid}}),\n          ac.UserEvent(Object.assign({event: \"DELETE\", source: eventSource, action_position: index}, siteInfo))\n        ],\n        eventSource,\n        body_string_id: [\"confirm_history_delete_p1\", \"confirm_history_delete_notice_p2\"],\n        confirm_button_string_id: \"menu_action_delete\",\n        cancel_button_string_id: \"topsites_form_cancel_button\",\n        icon: \"modal-delete\"\n      }\n    },\n    userEvent: \"DIALOG_OPEN\"\n  }),\n  PinTopSite: (site, index) => ({\n    id: \"menu_action_pin\",\n    icon: \"pin\",\n    action: ac.AlsoToMain({\n      type: at.TOP_SITES_PIN,\n      data: {site: {url: site.url}, index}\n    }),\n    userEvent: \"PIN\"\n  }),\n  UnpinTopSite: site => ({\n    id: \"menu_action_unpin\",\n    icon: \"unpin\",\n    action: ac.AlsoToMain({\n      type: at.TOP_SITES_UNPIN,\n      data: {site: {url: site.url}}\n    }),\n    userEvent: \"UNPIN\"\n  }),\n  SaveToPocket: (site, index, eventSource) => ({\n    id: \"menu_action_save_to_pocket\",\n    icon: \"pocket\",\n    action: ac.AlsoToMain({\n      type: at.SAVE_TO_POCKET,\n      data: {site: {url: site.url, title: site.title}}\n    }),\n    impression: ac.ImpressionStats({\n      source: eventSource,\n      pocket: 0,\n      tiles: [{id: site.guid, pos: index}]\n    }),\n    userEvent: \"SAVE_TO_POCKET\"\n  }),\n  DeleteFromPocket: site => ({\n    id: \"menu_action_delete_pocket\",\n    icon: \"delete\",\n    action: ac.AlsoToMain({\n      type: at.DELETE_FROM_POCKET,\n      data: {pocket_id: site.pocket_id}\n    }),\n    userEvent: \"DELETE_FROM_POCKET\"\n  }),\n  ArchiveFromPocket: site => ({\n    id: \"menu_action_archive_pocket\",\n    icon: \"check\",\n    action: ac.AlsoToMain({\n      type: at.ARCHIVE_FROM_POCKET,\n      data: {pocket_id: site.pocket_id}\n    }),\n    userEvent: \"ARCHIVE_FROM_POCKET\"\n  }),\n  EditTopSite: (site, index) => ({\n    id: \"edit_topsites_button_text\",\n    icon: \"edit\",\n    action: {\n      type: at.TOP_SITES_EDIT,\n      data: {index}\n    }\n  }),\n  CheckBookmark: site => (site.bookmarkGuid ? LinkMenuOptions.RemoveBookmark(site) : LinkMenuOptions.AddBookmark(site)),\n  CheckPinTopSite: (site, index) => (site.isPinned ? LinkMenuOptions.UnpinTopSite(site) : LinkMenuOptions.PinTopSite(site, index)),\n  CheckSavedToPocket: (site, index) => (site.pocket_id ? LinkMenuOptions.DeleteFromPocket(site) : LinkMenuOptions.SaveToPocket(site, index)),\n  CheckBookmarkOrArchive: site => (site.pocket_id ? LinkMenuOptions.ArchiveFromPocket(site) : LinkMenuOptions.CheckBookmark(site)),\n  CheckDeleteHistoryOrEmpty: (site, index, eventSource, isEnabled, siteInfo) => (site.pocket_id ? LinkMenuOptions.EmptyItem() : LinkMenuOptions.DeleteUrl(site, index, eventSource, isEnabled, siteInfo)),\n  OpenInPrivateWindow: (site, index, eventSource, isEnabled) => (isEnabled ? _OpenInPrivateWindow(site) : LinkMenuOptions.EmptyItem())\n};\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/lib/link-menu-options.js","import {actionCreators as ac} from \"common/Actions.jsm\";\nimport {connect} from \"react-redux\";\nimport {ContextMenu} from \"content-src/components/ContextMenu/ContextMenu\";\nimport {injectIntl} from \"react-intl\";\nimport {LinkMenuOptions} from \"content-src/lib/link-menu-options\";\nimport React from \"react\";\n\nconst DEFAULT_SITE_MENU_OPTIONS = [\"CheckPinTopSite\", \"EditTopSite\", \"Separator\", \"OpenInNewWindow\", \"OpenInPrivateWindow\", \"Separator\", \"BlockUrl\"];\n\nexport class _LinkMenu extends React.PureComponent {\n  getOptions() {\n    const {props} = this;\n    const {site, index, source, isPrivateBrowsingEnabled, siteInfo} = props;\n\n    // Handle special case of default site\n    const propOptions = !site.isDefault ? props.options : DEFAULT_SITE_MENU_OPTIONS;\n\n    const options = propOptions.map(o => LinkMenuOptions[o](site, index, source, isPrivateBrowsingEnabled, siteInfo)).map(option => {\n      const {action, impression, id, string_id, type, userEvent} = option;\n      if (!type && id) {\n        option.label = props.intl.formatMessage({id: string_id || id});\n        option.onClick = () => {\n          props.dispatch(action);\n          if (userEvent) {\n            const userEventData = Object.assign({\n              event: userEvent,\n              source,\n              action_position: index\n            }, siteInfo);\n            props.dispatch(ac.UserEvent(userEventData));\n          }\n          if (impression && props.shouldSendImpressionStats) {\n            props.dispatch(impression);\n          }\n        };\n      }\n      return option;\n    });\n\n    // This is for accessibility to support making each item tabbable.\n    // We want to know which item is the first and which item\n    // is the last, so we can close the context menu accordingly.\n    options[0].first = true;\n    options[options.length - 1].last = true;\n    return options;\n  }\n\n  render() {\n    return (<ContextMenu\n      onUpdate={this.props.onUpdate}\n      options={this.getOptions()} />);\n  }\n}\n\nconst getState = state => ({isPrivateBrowsingEnabled: state.Prefs.values.isPrivateBrowsingEnabled});\nexport const LinkMenu = connect(getState)(injectIntl(_LinkMenu));\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/LinkMenu/LinkMenu.jsx","import React from \"react\";\n\nexport class ContextMenu extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.hideContext = this.hideContext.bind(this);\n    this.onClick = this.onClick.bind(this);\n  }\n\n  hideContext() {\n    this.props.onUpdate(false);\n  }\n\n  componentDidMount() {\n    setTimeout(() => {\n      global.addEventListener(\"click\", this.hideContext);\n    }, 0);\n  }\n\n  componentWillUnmount() {\n    global.removeEventListener(\"click\", this.hideContext);\n  }\n\n  onClick(event) {\n    // Eat all clicks on the context menu so they don't bubble up to window.\n    // This prevents the context menu from closing when clicking disabled items\n    // or the separators.\n    event.stopPropagation();\n  }\n\n  render() {\n    return (<span className=\"context-menu\" onClick={this.onClick}>\n      <ul role=\"menu\" className=\"context-menu-list\">\n        {this.props.options.map((option, i) => (option.type === \"separator\" ?\n          (<li key={i} className=\"separator\" />) :\n          (option.type !== \"empty\" && <ContextMenuItem key={i} option={option} hideContext={this.hideContext} />)\n        ))}\n      </ul>\n    </span>);\n  }\n}\n\nexport class ContextMenuItem extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onClick = this.onClick.bind(this);\n    this.onKeyDown = this.onKeyDown.bind(this);\n  }\n\n  onClick() {\n    this.props.hideContext();\n    this.props.option.onClick();\n  }\n\n  onKeyDown(event) {\n    const {option} = this.props;\n    switch (event.key) {\n      case \"Tab\":\n        // tab goes down in context menu, shift + tab goes up in context menu\n        // if we're on the last item, one more tab will close the context menu\n        // similarly, if we're on the first item, one more shift + tab will close it\n        if ((event.shiftKey && option.first) || (!event.shiftKey && option.last)) {\n          this.props.hideContext();\n        }\n        break;\n      case \"Enter\":\n        this.props.hideContext();\n        option.onClick();\n        break;\n    }\n  }\n\n  render() {\n    const {option} = this.props;\n    return (\n      <li role=\"menuitem\" className=\"context-menu-item\">\n        <a onClick={this.onClick} onKeyDown={this.onKeyDown} tabIndex=\"0\" className={option.disabled ? \"disabled\" : \"\"}>\n          {option.icon && <span className={`icon icon-spacer icon-${option.icon}`} />}\n          {option.label}\n        </a>\n      </li>);\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/ContextMenu/ContextMenu.jsx","import {FormattedMessage, injectIntl} from \"react-intl\";\nimport {actionCreators as ac} from \"common/Actions.jsm\";\nimport {ErrorBoundary} from \"content-src/components/ErrorBoundary/ErrorBoundary\";\nimport React from \"react\";\nimport {SectionMenu} from \"content-src/components/SectionMenu/SectionMenu\";\n\nconst VISIBLE = \"visible\";\nconst VISIBILITY_CHANGE_EVENT = \"visibilitychange\";\n\nfunction getFormattedMessage(message) {\n  return typeof message === \"string\" ? <span>{message}</span> : <FormattedMessage {...message} />;\n}\nfunction getCollapsed(props) {\n  return (props.prefName in props.Prefs.values) ? props.Prefs.values[props.prefName] : false;\n}\n\nexport class Disclaimer extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onAcknowledge = this.onAcknowledge.bind(this);\n  }\n\n  onAcknowledge() {\n    this.props.dispatch(ac.SetPref(this.props.disclaimerPref, false));\n    this.props.dispatch(ac.UserEvent({event: \"SECTION_DISCLAIMER_ACKNOWLEDGED\", source: this.props.eventSource}));\n  }\n\n  render() {\n    const {disclaimer} = this.props;\n    return (\n      <div className=\"section-disclaimer\">\n          <div className=\"section-disclaimer-text\">\n            {getFormattedMessage(disclaimer.text)}\n            {disclaimer.link &&\n              <a href={disclaimer.link.href} target=\"_blank\" rel=\"noopener noreferrer\">\n                {getFormattedMessage(disclaimer.link.title || disclaimer.link)}\n              </a>\n            }\n          </div>\n\n          <button onClick={this.onAcknowledge}>\n            {getFormattedMessage(disclaimer.button)}\n          </button>\n      </div>\n    );\n  }\n}\n\nexport const DisclaimerIntl = injectIntl(Disclaimer);\n\nexport class _CollapsibleSection extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onBodyMount = this.onBodyMount.bind(this);\n    this.onHeaderClick = this.onHeaderClick.bind(this);\n    this.onTransitionEnd = this.onTransitionEnd.bind(this);\n    this.enableOrDisableAnimation = this.enableOrDisableAnimation.bind(this);\n    this.onMenuButtonClick = this.onMenuButtonClick.bind(this);\n    this.onMenuButtonMouseEnter = this.onMenuButtonMouseEnter.bind(this);\n    this.onMenuButtonMouseLeave = this.onMenuButtonMouseLeave.bind(this);\n    this.onMenuUpdate = this.onMenuUpdate.bind(this);\n    this.state = {enableAnimation: true, isAnimating: false, menuButtonHover: false, showContextMenu: false};\n  }\n\n  componentWillMount() {\n    this.props.document.addEventListener(VISIBILITY_CHANGE_EVENT, this.enableOrDisableAnimation);\n  }\n\n  componentWillUpdate(nextProps) {\n    // Check if we're about to go from expanded to collapsed\n    if (!getCollapsed(this.props) && getCollapsed(nextProps)) {\n      // This next line forces a layout flush of the section body, which has a\n      // max-height style set, so that the upcoming collapse animation can\n      // animate from that height to the collapsed height. Without this, the\n      // update is coalesced and there's no animation from no-max-height to 0.\n      this.sectionBody.scrollHeight; // eslint-disable-line no-unused-expressions\n    }\n  }\n\n  componentWillUnmount() {\n    this.props.document.removeEventListener(VISIBILITY_CHANGE_EVENT, this.enableOrDisableAnimation);\n  }\n\n  enableOrDisableAnimation() {\n    // Only animate the collapse/expand for visible tabs.\n    const visible = this.props.document.visibilityState === VISIBLE;\n    if (this.state.enableAnimation !== visible) {\n      this.setState({enableAnimation: visible});\n    }\n  }\n\n  onBodyMount(node) {\n    this.sectionBody = node;\n  }\n\n  onHeaderClick() {\n    // If this.sectionBody is unset, it means that we're in some sort of error\n    // state, probably displaying the error fallback, so we won't be able to\n    // compute the height, and we don't want to persist the preference.\n    if (!this.sectionBody) {\n      return;\n    }\n\n    // Get the current height of the body so max-height transitions can work\n    this.setState({\n      isAnimating: true,\n      maxHeight: `${this.sectionBody.scrollHeight}px`\n    });\n    this.props.dispatch(ac.SetPref(this.props.prefName, !getCollapsed(this.props)));\n  }\n\n  onTransitionEnd(event) {\n    // Only update the animating state for our own transition (not a child's)\n    if (event.target === event.currentTarget) {\n      this.setState({isAnimating: false});\n    }\n  }\n\n  renderIcon() {\n    const {icon} = this.props;\n    if (icon && icon.startsWith(\"moz-extension://\")) {\n      return <span className=\"icon icon-small-spacer\" style={{backgroundImage: `url('${icon}')`}} />;\n    }\n    return <span className={`icon icon-small-spacer icon-${icon || \"webextension\"}`} />;\n  }\n\n  onMenuButtonClick(event) {\n    event.preventDefault();\n    this.setState({showContextMenu: true});\n  }\n\n  onMenuButtonMouseEnter() {\n    this.setState({menuButtonHover: true});\n  }\n\n  onMenuButtonMouseLeave() {\n    this.setState({menuButtonHover: false});\n  }\n\n  onMenuUpdate(showContextMenu) {\n    this.setState({showContextMenu});\n  }\n\n  render() {\n    const isCollapsible = this.props.prefName in this.props.Prefs.values;\n    const isCollapsed = getCollapsed(this.props);\n    const {enableAnimation, isAnimating, maxHeight, menuButtonHover, showContextMenu} = this.state;\n    const {id, eventSource, disclaimer, title, extraMenuOptions, prefName, showPrefName, privacyNoticeURL, dispatch, isFirst, isLast} = this.props;\n    const disclaimerPref = `section.${id}.showDisclaimer`;\n    const needsDisclaimer = disclaimer && this.props.Prefs.values[disclaimerPref];\n    const active = menuButtonHover || showContextMenu;\n\n    return (\n      <section className={`collapsible-section ${this.props.className}${enableAnimation ? \" animation-enabled\" : \"\"}${isCollapsed ? \" collapsed\" : \"\"}${active ? \" active\" : \"\"}`}>\n        <div className=\"section-top-bar\">\n          <h3 className=\"section-title\">\n            <span className=\"click-target\" onClick={isCollapsible && this.onHeaderClick}>\n              {this.renderIcon()}\n              {title}\n            {isCollapsible && <span className={`collapsible-arrow icon ${isCollapsed ? \"icon-arrowhead-forward-small\" : \"icon-arrowhead-down-small\"}`} />}\n            </span>\n          </h3>\n          <div>\n            <button\n              className=\"context-menu-button icon\"\n              onClick={this.onMenuButtonClick}\n              onMouseEnter={this.onMenuButtonMouseEnter}\n              onMouseLeave={this.onMenuButtonMouseLeave}>\n              <span className=\"sr-only\">\n                <FormattedMessage id=\"section_context_menu_button_sr\" />\n              </span>\n            </button>\n            {showContextMenu &&\n              <SectionMenu\n                id={id}\n                extraOptions={extraMenuOptions}\n                eventSource={eventSource}\n                showPrefName={showPrefName}\n                collapsePrefName={prefName}\n                privacyNoticeURL={privacyNoticeURL}\n                isCollapsed={isCollapsed}\n                onUpdate={this.onMenuUpdate}\n                isFirst={isFirst}\n                isLast={isLast}\n                dispatch={dispatch} />\n            }\n          </div>\n        </div>\n        <ErrorBoundary className=\"section-body-fallback\">\n          <div\n            className={`section-body${isAnimating ? \" animating\" : \"\"}`}\n            onTransitionEnd={this.onTransitionEnd}\n            ref={this.onBodyMount}\n            style={isAnimating && !isCollapsed ? {maxHeight} : null}>\n            {needsDisclaimer && <DisclaimerIntl disclaimerPref={disclaimerPref} disclaimer={disclaimer} eventSource={eventSource} dispatch={this.props.dispatch} />}\n            {this.props.children}\n          </div>\n        </ErrorBoundary>\n      </section>\n    );\n  }\n}\n\n_CollapsibleSection.defaultProps = {\n  document: global.document || {\n    addEventListener: () => {},\n    removeEventListener: () => {},\n    visibilityState: \"hidden\"\n  },\n  Prefs: {values: {}}\n};\n\nexport const CollapsibleSection = injectIntl(_CollapsibleSection);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/CollapsibleSection/CollapsibleSection.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {perfService as perfSvc} from \"common/PerfService.jsm\";\nimport React from \"react\";\n\n// Currently record only a fixed set of sections. This will prevent data\n// from custom sections from showing up or from topstories.\nconst RECORDED_SECTIONS = [\"highlights\", \"topsites\"];\n\nexport class ComponentPerfTimer extends React.Component {\n  constructor(props) {\n    super(props);\n    // Just for test dependency injection:\n    this.perfSvc = this.props.perfSvc || perfSvc;\n\n    this._sendBadStateEvent = this._sendBadStateEvent.bind(this);\n    this._sendPaintedEvent = this._sendPaintedEvent.bind(this);\n    this._reportMissingData = false;\n    this._timestampHandled = false;\n    this._recordedFirstRender = false;\n  }\n\n  componentDidMount() {\n    if (!RECORDED_SECTIONS.includes(this.props.id)) {\n      return;\n    }\n\n    this._maybeSendPaintedEvent();\n  }\n\n  componentDidUpdate() {\n    if (!RECORDED_SECTIONS.includes(this.props.id)) {\n      return;\n    }\n\n    this._maybeSendPaintedEvent();\n  }\n\n  /**\n   * Call the given callback after the upcoming frame paints.\n   *\n   * @note Both setTimeout and requestAnimationFrame are throttled when the page\n   * is hidden, so this callback may get called up to a second or so after the\n   * requestAnimationFrame \"paint\" for hidden tabs.\n   *\n   * Newtabs hidden while loading will presumably be fairly rare (other than\n   * preloaded tabs, which we will be filtering out on the server side), so such\n   * cases should get lost in the noise.\n   *\n   * If we decide that it's important to find out when something that's hidden\n   * has \"painted\", however, another option is to post a message to this window.\n   * That should happen even faster than setTimeout, and, at least as of this\n   * writing, it's not throttled in hidden windows in Firefox.\n   *\n   * @param {Function} callback\n   *\n   * @returns void\n   */\n  _afterFramePaint(callback) {\n    requestAnimationFrame(() => setTimeout(callback, 0));\n  }\n\n  _maybeSendBadStateEvent() {\n    // Follow up bugs:\n    // https://github.com/mozilla/activity-stream/issues/3691\n    if (!this.props.initialized) {\n      // Remember to report back when data is available.\n      this._reportMissingData = true;\n    } else if (this._reportMissingData) {\n      this._reportMissingData = false;\n      // Report how long it took for component to become initialized.\n      this._sendBadStateEvent();\n    }\n  }\n\n  _maybeSendPaintedEvent() {\n    // If we've already handled a timestamp, don't do it again.\n    if (this._timestampHandled || !this.props.initialized) {\n      return;\n    }\n\n    // And if we haven't, we're doing so now, so remember that. Even if\n    // something goes wrong in the callback, we can't try again, as we'd be\n    // sending back the wrong data, and we have to do it here, so that other\n    // calls to this method while waiting for the next frame won't also try to\n    // handle it.\n    this._timestampHandled = true;\n    this._afterFramePaint(this._sendPaintedEvent);\n  }\n\n  /**\n   * Triggered by call to render. Only first call goes through due to\n   * `_recordedFirstRender`.\n   */\n  _ensureFirstRenderTsRecorded() {\n    // Used as t0 for recording how long component took to initialize.\n    if (!this._recordedFirstRender) {\n      this._recordedFirstRender = true;\n      // topsites_first_render_ts, highlights_first_render_ts.\n      const key = `${this.props.id}_first_render_ts`;\n      this.perfSvc.mark(key);\n    }\n  }\n\n  /**\n   * Creates `TELEMETRY_UNDESIRED_EVENT` with timestamp in ms\n   * of how much longer the data took to be ready for display than it would\n   * have been the ideal case.\n   * https://github.com/mozilla/ping-centre/issues/98\n   */\n  _sendBadStateEvent() {\n    // highlights_data_ready_ts, topsites_data_ready_ts.\n    const dataReadyKey = `${this.props.id}_data_ready_ts`;\n    this.perfSvc.mark(dataReadyKey);\n\n    try {\n      const firstRenderKey = `${this.props.id}_first_render_ts`;\n      // value has to be Int32.\n      const value = parseInt(this.perfSvc.getMostRecentAbsMarkStartByName(dataReadyKey) -\n                             this.perfSvc.getMostRecentAbsMarkStartByName(firstRenderKey), 10);\n      this.props.dispatch(ac.OnlyToMain({\n        type: at.SAVE_SESSION_PERF_DATA,\n        // highlights_data_late_by_ms, topsites_data_late_by_ms.\n        data: {[`${this.props.id}_data_late_by_ms`]: value}\n      }));\n    } catch (ex) {\n      // If this failed, it's likely because the `privacy.resistFingerprinting`\n      // pref is true.\n    }\n  }\n\n  _sendPaintedEvent() {\n    // Record first_painted event but only send if topsites.\n    if (this.props.id !== \"topsites\") {\n      return;\n    }\n\n    // topsites_first_painted_ts.\n    const key = `${this.props.id}_first_painted_ts`;\n    this.perfSvc.mark(key);\n\n    try {\n      const data = {};\n      data[key] = this.perfSvc.getMostRecentAbsMarkStartByName(key);\n\n      this.props.dispatch(ac.OnlyToMain({\n        type: at.SAVE_SESSION_PERF_DATA,\n        data\n      }));\n    } catch (ex) {\n      // If this failed, it's likely because the `privacy.resistFingerprinting`\n      // pref is true.  We should at least not blow up, and should continue\n      // to set this._timestampHandled to avoid going through this again.\n    }\n  }\n\n  render() {\n    if (RECORDED_SECTIONS.includes(this.props.id)) {\n      this._ensureFirstRenderTsRecorded();\n      this._maybeSendBadStateEvent();\n    }\n    return this.props.children;\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/ComponentPerfTimer/ComponentPerfTimer.jsx","/* globals Services */\n\"use strict\";\n\n/* istanbul ignore if */\nif (typeof ChromeUtils !== \"undefined\") {\n  ChromeUtils.import(\"resource://gre/modules/Services.jsm\");\n}\n\nlet usablePerfObj;\n\n/* istanbul ignore if */\n/* istanbul ignore else */\nif (typeof Services !== \"undefined\") {\n  // Borrow the high-resolution timer from the hidden window....\n  usablePerfObj = Services.appShell.hiddenDOMWindow.performance;\n} else if (typeof performance !== \"undefined\") {\n  // we must be running in content space\n  // eslint-disable-next-line no-undef\n  usablePerfObj = performance;\n} else {\n  // This is a dummy object so this file doesn't crash in the node prerendering\n  // task.\n  usablePerfObj = {\n    now() {},\n    mark() {}\n  };\n}\n\nfunction _PerfService(options) {\n  // For testing, so that we can use a fake Window.performance object with\n  // known state.\n  if (options && options.performanceObj) {\n    this._perf = options.performanceObj;\n  } else {\n    this._perf = usablePerfObj;\n  }\n}\n\n_PerfService.prototype = {\n  /**\n   * Calls the underlying mark() method on the appropriate Window.performance\n   * object to add a mark with the given name to the appropriate performance\n   * timeline.\n   *\n   * @param  {String} name  the name to give the current mark\n   * @return {void}\n   */\n  mark: function mark(str) {\n    this._perf.mark(str);\n  },\n\n  /**\n   * Calls the underlying getEntriesByName on the appropriate Window.performance\n   * object.\n   *\n   * @param  {String} name\n   * @param  {String} type eg \"mark\"\n   * @return {Array}       Performance* objects\n   */\n  getEntriesByName: function getEntriesByName(name, type) {\n    return this._perf.getEntriesByName(name, type);\n  },\n\n  /**\n   * The timeOrigin property from the appropriate performance object.\n   * Used to ensure that timestamps from the add-on code and the content code\n   * are comparable.\n   *\n   * @note If this is called from a context without a window\n   * (eg a JSM in chrome), it will return the timeOrigin of the XUL hidden\n   * window, which appears to be the first created window (and thus\n   * timeOrigin) in the browser.  Note also, however, there is also a private\n   * hidden window, presumably for private browsing, which appears to be\n   * created dynamically later.  Exactly how/when that shows up needs to be\n   * investigated.\n   *\n   * @return {Number} A double of milliseconds with a precision of 0.5us.\n   */\n  get timeOrigin() {\n    return this._perf.timeOrigin;\n  },\n\n  /**\n   * Returns the \"absolute\" version of performance.now(), i.e. one that\n   * should ([bug 1401406](https://bugzilla.mozilla.org/show_bug.cgi?id=1401406)\n   * be comparable across both chrome and content.\n   *\n   * @return {Number}\n   */\n  absNow: function absNow() {\n    return this.timeOrigin + this._perf.now();\n  },\n\n  /**\n   * This returns the absolute startTime from the most recent performance.mark()\n   * with the given name.\n   *\n   * @param  {String} name  the name to lookup the start time for\n   *\n   * @return {Number}       the returned start time, as a DOMHighResTimeStamp\n   *\n   * @throws {Error}        \"No Marks with the name ...\" if none are available\n   *\n   * @note Always surround calls to this by try/catch.  Otherwise your code\n   * may fail when the `privacy.resistFingerprinting` pref is true.  When\n   * this pref is set, all attempts to get marks will likely fail, which will\n   * cause this method to throw.\n   *\n   * See [bug 1369303](https://bugzilla.mozilla.org/show_bug.cgi?id=1369303)\n   * for more info.\n   */\n  getMostRecentAbsMarkStartByName(name) {\n    let entries = this.getEntriesByName(name, \"mark\");\n\n    if (!entries.length) {\n      throw new Error(`No marks with the name ${name}`);\n    }\n\n    let mostRecentEntry = entries[entries.length - 1];\n    return this._perf.timeOrigin + mostRecentEntry.startTime;\n  }\n};\n\nthis.perfService = new _PerfService();\nconst EXPORTED_SYMBOLS = [\"_PerfService\", \"perfService\"];\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/common/PerfService.jsm","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {FormattedMessage, injectIntl} from \"react-intl\";\nimport {\n  MIN_CORNER_FAVICON_SIZE,\n  MIN_RICH_FAVICON_SIZE,\n  TOP_SITES_CONTEXT_MENU_OPTIONS,\n  TOP_SITES_SOURCE\n} from \"./TopSitesConstants\";\nimport {LinkMenu} from \"content-src/components/LinkMenu/LinkMenu\";\nimport React from \"react\";\nimport {TOP_SITES_MAX_SITES_PER_ROW} from \"common/Reducers.jsm\";\n\nexport class TopSiteLink extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onDragEvent = this.onDragEvent.bind(this);\n  }\n\n  /*\n   * Helper to determine whether the drop zone should allow a drop. We only allow\n   * dropping top sites for now.\n   */\n  _allowDrop(e) {\n    return e.dataTransfer.types.includes(\"text/topsite-index\");\n  }\n\n  onDragEvent(event) {\n    switch (event.type) {\n      case \"click\":\n        // Stop any link clicks if we started any dragging\n        if (this.dragged) {\n          event.preventDefault();\n        }\n        break;\n      case \"dragstart\":\n        this.dragged = true;\n        event.dataTransfer.effectAllowed = \"move\";\n        event.dataTransfer.setData(\"text/topsite-index\", this.props.index);\n        event.target.blur();\n        this.props.onDragEvent(event, this.props.index, this.props.link, this.props.title);\n        break;\n      case \"dragend\":\n        this.props.onDragEvent(event);\n        break;\n      case \"dragenter\":\n      case \"dragover\":\n      case \"drop\":\n        if (this._allowDrop(event)) {\n          event.preventDefault();\n          this.props.onDragEvent(event, this.props.index);\n        }\n        break;\n      case \"mousedown\":\n        // Reset at the first mouse event of a potential drag\n        this.dragged = false;\n        break;\n    }\n  }\n\n  render() {\n    const {children, className, isDraggable, link, onClick, title} = this.props;\n    const topSiteOuterClassName = `top-site-outer${className ? ` ${className}` : \"\"}${link.isDragged ? \" dragged\" : \"\"}`;\n    const {tippyTopIcon, faviconSize} = link;\n    const [letterFallback] = title;\n    let imageClassName;\n    let imageStyle;\n    let showSmallFavicon = false;\n    let smallFaviconStyle;\n    let smallFaviconFallback;\n    if (tippyTopIcon || faviconSize >= MIN_RICH_FAVICON_SIZE) {\n      // styles and class names for top sites with rich icons\n      imageClassName = \"top-site-icon rich-icon\";\n      imageStyle = {\n        backgroundColor: link.backgroundColor,\n        backgroundImage: `url(${tippyTopIcon || link.favicon})`\n      };\n    } else {\n      // styles and class names for top sites with screenshot + small icon in top left corner\n      imageClassName = `screenshot${link.screenshot ? \" active\" : \"\"}`;\n      imageStyle = {backgroundImage: link.screenshot ? `url(${link.screenshot})` : \"none\"};\n\n      // only show a favicon in top left if it's greater than 16x16\n      if (faviconSize >= MIN_CORNER_FAVICON_SIZE) {\n        showSmallFavicon = true;\n        smallFaviconStyle = {backgroundImage:  `url(${link.favicon})`};\n      } else if (link.screenshot) {\n        // Don't show a small favicon if there is no screenshot, because that\n        // would result in two fallback icons\n        showSmallFavicon = true;\n        smallFaviconFallback = true;\n      }\n    }\n    let draggableProps = {};\n    if (isDraggable) {\n      draggableProps = {\n        onClick: this.onDragEvent,\n        onDragEnd: this.onDragEvent,\n        onDragStart: this.onDragEvent,\n        onMouseDown: this.onDragEvent\n      };\n    }\n    return (<li className={topSiteOuterClassName} onDrop={this.onDragEvent} onDragOver={this.onDragEvent} onDragEnter={this.onDragEvent} onDragLeave={this.onDragEvent} {...draggableProps}>\n      <div className=\"top-site-inner\">\n         <a href={link.url} onClick={onClick}>\n            <div className=\"tile\" aria-hidden={true} data-fallback={letterFallback}>\n              <div className={imageClassName} style={imageStyle} />\n              {showSmallFavicon && <div\n                className=\"top-site-icon default-icon\"\n                data-fallback={smallFaviconFallback && letterFallback}\n                style={smallFaviconStyle} />}\n           </div>\n           <div className={`title ${link.isPinned ? \"pinned\" : \"\"}`}>\n             {link.isPinned && <div className=\"icon icon-pin-small\" />}\n              <span dir=\"auto\">{title}</span>\n           </div>\n         </a>\n         {children}\n      </div>\n    </li>);\n  }\n}\nTopSiteLink.defaultProps = {\n  title: \"\",\n  link: {},\n  isDraggable: true\n};\n\nexport class TopSite extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.state = {showContextMenu: false};\n    this.onLinkClick = this.onLinkClick.bind(this);\n    this.onMenuButtonClick = this.onMenuButtonClick.bind(this);\n    this.onMenuUpdate = this.onMenuUpdate.bind(this);\n  }\n\n  /**\n   * Report to telemetry additional information about the item.\n   */\n  _getTelemetryInfo() {\n    const value = {icon_type: this.props.link.iconType};\n    // Filter out \"not_pinned\" type for being the default\n    if (this.props.link.isPinned) {\n      value.card_type = \"pinned\";\n    }\n    return {value};\n  }\n\n  userEvent(event) {\n    this.props.dispatch(ac.UserEvent(Object.assign({\n      event,\n      source: TOP_SITES_SOURCE,\n      action_position: this.props.index\n    }, this._getTelemetryInfo())));\n  }\n\n  onLinkClick(ev) {\n    this.userEvent(\"CLICK\");\n  }\n\n  onMenuButtonClick(event) {\n    event.preventDefault();\n    this.props.onActivate(this.props.index);\n    this.setState({showContextMenu: true});\n  }\n\n  onMenuUpdate(showContextMenu) {\n    this.setState({showContextMenu});\n  }\n\n  render() {\n    const {props} = this;\n    const {link} = props;\n    const isContextMenuOpen = this.state.showContextMenu && props.activeIndex === props.index;\n    const title = link.label || link.hostname;\n    return (<TopSiteLink {...props} onClick={this.onLinkClick} onDragEvent={this.props.onDragEvent} className={`${props.className || \"\"}${isContextMenuOpen ? \" active\" : \"\"}`} title={title}>\n        <div>\n          <button className=\"context-menu-button icon\" onClick={this.onMenuButtonClick}>\n            <span className=\"sr-only\">\n              <FormattedMessage id=\"context_menu_button_sr\" values={{title}} />\n            </span>\n          </button>\n          {isContextMenuOpen &&\n            <LinkMenu\n              dispatch={props.dispatch}\n              index={props.index}\n              onUpdate={this.onMenuUpdate}\n              options={TOP_SITES_CONTEXT_MENU_OPTIONS}\n              site={link}\n              siteInfo={this._getTelemetryInfo()}\n              source={TOP_SITES_SOURCE} />\n          }\n        </div>\n    </TopSiteLink>);\n  }\n}\nTopSite.defaultProps = {\n  link: {},\n  onActivate() {}\n};\n\nexport class TopSitePlaceholder extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onEditButtonClick = this.onEditButtonClick.bind(this);\n  }\n\n  onEditButtonClick() {\n    this.props.dispatch(\n      {type: at.TOP_SITES_EDIT, data: {index: this.props.index}});\n  }\n\n  render() {\n    return (<TopSiteLink {...this.props} className={`placeholder ${this.props.className || \"\"}`} isDraggable={false}>\n      <button className=\"context-menu-button edit-button icon\"\n       title={this.props.intl.formatMessage({id: \"edit_topsites_edit_button\"})}\n       onClick={this.onEditButtonClick} />\n    </TopSiteLink>);\n  }\n}\n\nexport class _TopSiteList extends React.PureComponent {\n  static get DEFAULT_STATE() {\n    return {\n      activeIndex: null,\n      draggedIndex: null,\n      draggedSite: null,\n      draggedTitle: null,\n      topSitesPreview: null\n    };\n  }\n\n  constructor(props) {\n    super(props);\n    this.state = _TopSiteList.DEFAULT_STATE;\n    this.onDragEvent = this.onDragEvent.bind(this);\n    this.onActivate = this.onActivate.bind(this);\n  }\n\n  componentWillReceiveProps(nextProps) {\n    if (this.state.draggedSite) {\n      const prevTopSites = this.props.TopSites && this.props.TopSites.rows;\n      const newTopSites = nextProps.TopSites && nextProps.TopSites.rows;\n      if (prevTopSites && prevTopSites[this.state.draggedIndex] &&\n        prevTopSites[this.state.draggedIndex].url === this.state.draggedSite.url &&\n        (!newTopSites[this.state.draggedIndex] || newTopSites[this.state.draggedIndex].url !== this.state.draggedSite.url)) {\n        // We got the new order from the redux store via props. We can clear state now.\n        this.setState(_TopSiteList.DEFAULT_STATE);\n      }\n    }\n  }\n\n  userEvent(event, index) {\n    this.props.dispatch(ac.UserEvent({\n      event,\n      source: TOP_SITES_SOURCE,\n      action_position: index\n    }));\n  }\n\n  onDragEvent(event, index, link, title) {\n    switch (event.type) {\n      case \"dragstart\":\n        this.dropped = false;\n        this.setState({\n          draggedIndex: index,\n          draggedSite: link,\n          draggedTitle: title,\n          activeIndex: null\n        });\n        this.userEvent(\"DRAG\", index);\n        break;\n      case \"dragend\":\n        if (!this.dropped) {\n          // If there was no drop event, reset the state to the default.\n          this.setState(_TopSiteList.DEFAULT_STATE);\n        }\n        break;\n      case \"dragenter\":\n        if (index === this.state.draggedIndex) {\n          this.setState({topSitesPreview: null});\n        } else {\n          this.setState({topSitesPreview: this._makeTopSitesPreview(index)});\n        }\n        break;\n      case \"drop\":\n        if (index !== this.state.draggedIndex) {\n          this.dropped = true;\n          this.props.dispatch(ac.AlsoToMain({\n            type: at.TOP_SITES_INSERT,\n            data: {site: {url: this.state.draggedSite.url, label: this.state.draggedTitle}, index, draggedFromIndex: this.state.draggedIndex}\n          }));\n          this.userEvent(\"DROP\", index);\n        }\n        break;\n    }\n  }\n\n  _getTopSites() {\n    // Make a copy of the sites to truncate or extend to desired length\n    let topSites = this.props.TopSites.rows.slice();\n    topSites.length = this.props.TopSitesRows * TOP_SITES_MAX_SITES_PER_ROW;\n    return topSites;\n  }\n\n  /**\n   * Make a preview of the topsites that will be the result of dropping the currently\n   * dragged site at the specified index.\n   */\n  _makeTopSitesPreview(index) {\n    const topSites = this._getTopSites();\n    topSites[this.state.draggedIndex] = null;\n    const pinnedOnly = topSites.map(site => ((site && site.isPinned) ? site : null));\n    const unpinned = topSites.filter(site => site && !site.isPinned);\n    const siteToInsert = Object.assign({}, this.state.draggedSite, {isPinned: true, isDragged: true});\n    if (!pinnedOnly[index]) {\n      pinnedOnly[index] = siteToInsert;\n    } else {\n      // Find the hole to shift the pinned site(s) towards. We shift towards the\n      // hole left by the site being dragged.\n      let holeIndex = index;\n      const indexStep = index > this.state.draggedIndex ? -1 : 1;\n      while (pinnedOnly[holeIndex]) {\n        holeIndex += indexStep;\n      }\n\n      // Shift towards the hole.\n      const shiftingStep = index > this.state.draggedIndex ? 1 : -1;\n      while (holeIndex !== index) {\n        const nextIndex = holeIndex + shiftingStep;\n        pinnedOnly[holeIndex] = pinnedOnly[nextIndex];\n        holeIndex = nextIndex;\n      }\n      pinnedOnly[index] = siteToInsert;\n    }\n\n    // Fill in the remaining holes with unpinned sites.\n    const preview = pinnedOnly;\n    for (let i = 0; i < preview.length; i++) {\n      if (!preview[i]) {\n        preview[i] = unpinned.shift() || null;\n      }\n    }\n\n    return preview;\n  }\n\n  onActivate(index) {\n    this.setState({activeIndex: index});\n  }\n\n  render() {\n    const {props} = this;\n    const topSites = this.state.topSitesPreview || this._getTopSites();\n    const topSitesUI = [];\n    const commonProps = {\n      onDragEvent: this.onDragEvent,\n      dispatch: props.dispatch,\n      intl: props.intl\n    };\n    // We assign a key to each placeholder slot. We need it to be independent\n    // of the slot index (i below) so that the keys used stay the same during\n    // drag and drop reordering and the underlying DOM nodes are reused.\n    // This mostly (only?) affects linux so be sure to test on linux before changing.\n    let holeIndex = 0;\n\n    // On narrow viewports, we only show 6 sites per row. We'll mark the rest as\n    // .hide-for-narrow to hide in CSS via @media query.\n    const maxNarrowVisibleIndex = props.TopSitesRows * 6;\n\n    for (let i = 0, l = topSites.length; i < l; i++) {\n      const link = topSites[i] && Object.assign({}, topSites[i], {iconType: this.props.topSiteIconType(topSites[i])});\n      const slotProps = {\n        key: link ? link.url : holeIndex++,\n        index: i\n      };\n      if (i >= maxNarrowVisibleIndex) {\n        slotProps.className = \"hide-for-narrow\";\n      }\n      topSitesUI.push(!link ? (\n        <TopSitePlaceholder\n          {...slotProps}\n          {...commonProps} />\n      ) : (\n        <TopSite\n          link={link}\n          activeIndex={this.state.activeIndex}\n          onActivate={this.onActivate}\n          {...slotProps}\n          {...commonProps} />\n      ));\n    }\n    return (<ul className={`top-sites-list${this.state.draggedSite ? \" dnd-active\" : \"\"}`}>\n      {topSitesUI}\n    </ul>);\n  }\n}\n\nexport const TopSiteList = injectIntl(_TopSiteList);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/TopSites/TopSite.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {addSnippetsSubscriber} from \"content-src/lib/snippets\";\nimport {Base} from \"content-src/components/Base/Base\";\nimport {DetectUserSessionStart} from \"content-src/lib/detect-user-session-start\";\nimport {initStore} from \"content-src/lib/init-store\";\nimport {Provider} from \"react-redux\";\nimport React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport {reducers} from \"common/Reducers.jsm\";\n\nconst store = initStore(reducers, global.gActivityStreamPrerenderedState);\n\nnew DetectUserSessionStart(store).sendEventOrAddListener();\n\n// If we are starting in a prerendered state, we must wait until the first render\n// to request state rehydration (see Base.jsx). If we are NOT in a prerendered state,\n// we can request it immedately.\nif (!global.gActivityStreamPrerenderedState) {\n  store.dispatch(ac.AlsoToMain({type: at.NEW_TAB_STATE_REQUEST}));\n}\n\nReactDOM.hydrate(<Provider store={store}>\n  <Base\n    isPrerendered={!!global.gActivityStreamPrerenderedState}\n    locale={global.document.documentElement.lang}\n    strings={global.gActivityStreamStrings} />\n</Provider>, document.getElementById(\"root\"));\n\naddSnippetsSubscriber(store);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/activity-stream.jsx","const DATABASE_NAME = \"snippets_db\";\nconst DATABASE_VERSION = 1;\nconst SNIPPETS_OBJECTSTORE_NAME = \"snippets\";\nexport const SNIPPETS_UPDATE_INTERVAL_MS = 14400000; // 4 hours.\n\nconst SNIPPETS_ENABLED_EVENT = \"Snippets:Enabled\";\nconst SNIPPETS_DISABLED_EVENT = \"Snippets:Disabled\";\n\nimport {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\n\n/**\n * SnippetsMap - A utility for cacheing values related to the snippet. It has\n *               the same interface as a Map, but is optionally backed by\n *               indexedDB for persistent storage.\n *               Call .connect() to open a database connection and restore any\n *               previously cached data, if necessary.\n *\n */\nexport class SnippetsMap extends Map {\n  constructor(dispatch) {\n    super();\n    this._db = null;\n    this._dispatch = dispatch;\n  }\n\n  set(key, value) {\n    super.set(key, value);\n    return this._dbTransaction(db => db.put(value, key));\n  }\n\n  delete(key) {\n    super.delete(key);\n    return this._dbTransaction(db => db.delete(key));\n  }\n\n  clear() {\n    super.clear();\n    this._dispatch(ac.OnlyToMain({type: at.SNIPPETS_BLOCKLIST_CLEARED}));\n    return this._dbTransaction(db => db.clear());\n  }\n\n  get blockList() {\n    return this.get(\"blockList\") || [];\n  }\n\n  /**\n   * blockSnippetById - Blocks a snippet given an id\n   *\n   * @param  {str|int} id   The id of the snippet\n   * @return {Promise}      Resolves when the id has been written to indexedDB,\n   *                        or immediately if the snippetMap is not connected\n   */\n  async blockSnippetById(id) {\n    if (!id) {\n      return;\n    }\n    const {blockList} = this;\n    if (!blockList.includes(id)) {\n      blockList.push(id);\n      this._dispatch(ac.AlsoToMain({type: at.SNIPPETS_BLOCKLIST_UPDATED, data: id}));\n      await this.set(\"blockList\", blockList);\n    }\n  }\n\n  disableOnboarding() {\n    this._dispatch(ac.AlsoToMain({type: at.DISABLE_ONBOARDING}));\n  }\n\n  showFirefoxAccounts() {\n    this._dispatch(ac.AlsoToMain({type: at.SHOW_FIREFOX_ACCOUNTS}));\n  }\n\n  getTotalBookmarksCount() {\n    return new Promise(resolve => {\n      this._dispatch(ac.OnlyToMain({type: at.TOTAL_BOOKMARKS_REQUEST}));\n      global.addMessageListener(\"ActivityStream:MainToContent\", function onMessage({data: action}) {\n        if (action.type === at.TOTAL_BOOKMARKS_RESPONSE) {\n          resolve(action.data);\n          global.removeMessageListener(\"ActivityStream:MainToContent\", onMessage);\n        }\n      });\n    });\n  }\n\n  /**\n   * connect - Attaches an indexedDB back-end to the Map so that any set values\n   *           are also cached in a store. It also restores any existing values\n   *           that are already stored in the indexedDB store.\n   *\n   * @return {type}  description\n   */\n  async connect() {\n    // Open the connection\n    const db = await this._openDB();\n\n    // Restore any existing values\n    await this._restoreFromDb(db);\n\n    // Attach a reference to the db\n    this._db = db;\n  }\n\n  /**\n   * _dbTransaction - Returns a db transaction wrapped with the given modifier\n   *                  function as a Promise. If the db has not been connected,\n   *                  it resolves immediately.\n   *\n   * @param  {func} modifier A function to call with the transaction\n   * @return {obj}           A Promise that resolves when the transaction has\n   *                         completed or errored\n   */\n  _dbTransaction(modifier) {\n    if (!this._db) {\n      return Promise.resolve();\n    }\n    return new Promise((resolve, reject) => {\n      const transaction = modifier(\n        this._db\n          .transaction(SNIPPETS_OBJECTSTORE_NAME, \"readwrite\")\n          .objectStore(SNIPPETS_OBJECTSTORE_NAME)\n      );\n      transaction.onsuccess = event => resolve();\n\n      /* istanbul ignore next */\n      transaction.onerror = event => reject(transaction.error);\n    });\n  }\n\n  _openDB() {\n    return new Promise((resolve, reject) => {\n      const openRequest = indexedDB.open(DATABASE_NAME, DATABASE_VERSION);\n\n      /* istanbul ignore next */\n      openRequest.onerror = event => {\n        // Try to delete the old database so that we can start this process over\n        // next time.\n        indexedDB.deleteDatabase(DATABASE_NAME);\n        reject(event);\n      };\n\n      openRequest.onupgradeneeded = event => {\n        const db = event.target.result;\n        if (!db.objectStoreNames.contains(SNIPPETS_OBJECTSTORE_NAME)) {\n          db.createObjectStore(SNIPPETS_OBJECTSTORE_NAME);\n        }\n      };\n\n      openRequest.onsuccess = event => {\n        let db = event.target.result;\n\n        /* istanbul ignore next */\n        db.onerror = err => console.error(err); // eslint-disable-line no-console\n        /* istanbul ignore next */\n        db.onversionchange = versionChangeEvent => versionChangeEvent.target.close();\n\n        resolve(db);\n      };\n    });\n  }\n\n  _restoreFromDb(db) {\n    return new Promise((resolve, reject) => {\n      let cursorRequest;\n      try {\n        cursorRequest = db.transaction(SNIPPETS_OBJECTSTORE_NAME)\n          .objectStore(SNIPPETS_OBJECTSTORE_NAME).openCursor();\n      } catch (err) {\n        // istanbul ignore next\n        reject(err);\n        // istanbul ignore next\n        return;\n      }\n\n      /* istanbul ignore next */\n      cursorRequest.onerror = event => reject(event);\n\n      cursorRequest.onsuccess = event => {\n        let cursor = event.target.result;\n        // Populate the cache from the persistent storage.\n        if (cursor) {\n          if (cursor.value !== \"blockList\") {\n            this.set(cursor.key, cursor.value);\n          }\n          cursor.continue();\n        } else {\n          // We are done.\n          resolve();\n        }\n      };\n    });\n  }\n}\n\n/**\n * SnippetsProvider - Initializes a SnippetsMap and loads snippets from a\n *                    remote location, or else default snippets if the remote\n *                    snippets cannot be retrieved.\n */\nexport class SnippetsProvider {\n  constructor(dispatch) {\n    // Initialize the Snippets Map and attaches it to a global so that\n    // the snippet payload can interact with it.\n    global.gSnippetsMap = new SnippetsMap(dispatch);\n    this._onAction = this._onAction.bind(this);\n  }\n\n  get snippetsMap() {\n    return global.gSnippetsMap;\n  }\n\n  async _refreshSnippets() {\n    // Check if the cached version of of the snippets in snippetsMap. If it's too\n    // old, blow away the entire snippetsMap.\n    const cachedVersion = this.snippetsMap.get(\"snippets-cached-version\");\n\n    if (cachedVersion !== this.appData.version) {\n      this.snippetsMap.clear();\n    }\n\n    // Has enough time passed for us to require an update?\n    const lastUpdate = this.snippetsMap.get(\"snippets-last-update\");\n    const needsUpdate = !(lastUpdate >= 0) || Date.now() - lastUpdate > SNIPPETS_UPDATE_INTERVAL_MS;\n\n    if (needsUpdate && this.appData.snippetsURL) {\n      this.snippetsMap.set(\"snippets-last-update\", Date.now());\n      try {\n        const response = await fetch(this.appData.snippetsURL);\n        if (response.status === 200) {\n          const payload = await response.text();\n\n          this.snippetsMap.set(\"snippets\", payload);\n          this.snippetsMap.set(\"snippets-cached-version\", this.appData.version);\n        }\n      } catch (e) {\n        console.error(e); // eslint-disable-line no-console\n      }\n    }\n  }\n\n  _noSnippetFallback() {\n    // TODO\n  }\n\n  _forceOnboardingVisibility(shouldBeVisible) {\n    const onboardingEl = document.getElementById(\"onboarding-notification-bar\");\n\n    if (onboardingEl) {\n      onboardingEl.style.display = shouldBeVisible ? \"\" : \"none\";\n    }\n  }\n\n  _showRemoteSnippets() {\n    const snippetsEl = document.getElementById(this.elementId);\n    const payload = this.snippetsMap.get(\"snippets\");\n\n    if (!snippetsEl) {\n      throw new Error(`No element was found with id '${this.elementId}'.`);\n    }\n\n    // This could happen if fetching failed\n    if (!payload) {\n      throw new Error(\"No remote snippets were found in gSnippetsMap.\");\n    }\n\n    if (typeof payload !== \"string\") {\n      throw new Error(\"Snippet payload was incorrectly formatted\");\n    }\n\n    // Note that injecting snippets can throw if they're invalid XML.\n    // eslint-disable-next-line no-unsanitized/property\n    snippetsEl.innerHTML = payload;\n\n    // Scripts injected by innerHTML are inactive, so we have to relocate them\n    // through DOM manipulation to activate their contents.\n    for (const scriptEl of snippetsEl.getElementsByTagName(\"script\")) {\n      const relocatedScript = document.createElement(\"script\");\n      relocatedScript.text = scriptEl.text;\n      scriptEl.parentNode.replaceChild(relocatedScript, scriptEl);\n    }\n  }\n\n  _onAction(msg) {\n    if (msg.data.type === at.SNIPPET_BLOCKED) {\n      if (!this.snippetsMap.blockList.includes(msg.data.data)) {\n        this.snippetsMap.set(\"blockList\", this.snippetsMap.blockList.concat(msg.data.data));\n        document.getElementById(\"snippets-container\").style.display = \"none\";\n      }\n    }\n  }\n\n  /**\n   * init - Fetch the snippet payload and show snippets\n   *\n   * @param  {obj} options\n   * @param  {str} options.appData.snippetsURL  The URL from which we fetch snippets\n   * @param  {int} options.appData.version  The current snippets version\n   * @param  {str} options.elementId  The id of the element in which to inject snippets\n   * @param  {bool} options.connect  Should gSnippetsMap connect to indexedDB?\n   */\n  async init(options) {\n    Object.assign(this, {\n      appData: {},\n      elementId: \"snippets\",\n      connect: true\n    }, options);\n\n    // Add listener so we know when snippets are blocked on other pages\n    if (global.addMessageListener) {\n      global.addMessageListener(\"ActivityStream:MainToContent\", this._onAction);\n    }\n\n    // TODO: Requires enabling indexedDB on newtab\n    // Restore the snippets map from indexedDB\n    if (this.connect) {\n      try {\n        await this.snippetsMap.connect();\n      } catch (e) {\n        console.error(e); // eslint-disable-line no-console\n      }\n    }\n\n    // Cache app data values so they can be accessible from gSnippetsMap\n    for (const key of Object.keys(this.appData)) {\n      if (key === \"blockList\") {\n        this.snippetsMap.set(\"blockList\", this.appData[key]);\n      } else {\n        this.snippetsMap.set(`appData.${key}`, this.appData[key]);\n      }\n    }\n\n    // Refresh snippets, if enough time has passed.\n    await this._refreshSnippets();\n\n    // Try showing remote snippets, falling back to defaults if necessary.\n    try {\n      this._showRemoteSnippets();\n    } catch (e) {\n      this._noSnippetFallback(e);\n    }\n\n    window.dispatchEvent(new Event(SNIPPETS_ENABLED_EVENT));\n\n    this._forceOnboardingVisibility(true);\n    this.initialized = true;\n  }\n\n  uninit() {\n    window.dispatchEvent(new Event(SNIPPETS_DISABLED_EVENT));\n    this._forceOnboardingVisibility(false);\n    if (global.removeMessageListener) {\n      global.removeMessageListener(\"ActivityStream:MainToContent\", this._onAction);\n    }\n    this.initialized = false;\n  }\n}\n\n/**\n * addSnippetsSubscriber - Creates a SnippetsProvider that Initializes\n *                         when the store has received the appropriate\n *                         Snippet data.\n *\n * @param  {obj} store   The redux store\n * @return {obj}         Returns the snippets instance and unsubscribe function\n */\nexport function addSnippetsSubscriber(store) {\n  const snippets = new SnippetsProvider(store.dispatch);\n\n  let initializing = false;\n\n  store.subscribe(async () => {\n    const state = store.getState();\n    // state.Prefs.values[\"feeds.snippets\"]:  Should snippets be shown?\n    // state.Snippets.initialized             Is the snippets data initialized?\n    // snippets.initialized:                  Is SnippetsProvider currently initialised?\n    if (state.Prefs.values[\"feeds.snippets\"] &&\n      !state.Prefs.values.disableSnippets &&\n      state.Snippets.initialized &&\n      !snippets.initialized &&\n      // Don't call init multiple times\n      !initializing\n    ) {\n      initializing = true;\n      await snippets.init({appData: state.Snippets});\n      initializing = false;\n    } else if (\n      (state.Prefs.values[\"feeds.snippets\"] === false ||\n        state.Prefs.values.disableSnippets === true) &&\n      snippets.initialized\n    ) {\n      snippets.uninit();\n    }\n  });\n\n  // These values are returned for testing purposes\n  return snippets;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/lib/snippets.js","import {actionCreators as ac, actionTypes} from \"common/Actions.jsm\";\nimport {connect} from \"react-redux\";\nimport {FormattedMessage} from \"react-intl\";\nimport React from \"react\";\n\n/**\n * ConfirmDialog component.\n * One primary action button, one cancel button.\n *\n * Content displayed is controlled by `data` prop the component receives.\n * Example:\n * data: {\n *   // Any sort of data needed to be passed around by actions.\n *   payload: site.url,\n *   // Primary button AlsoToMain action.\n *   action: \"DELETE_HISTORY_URL\",\n *   // Primary button USerEvent action.\n *   userEvent: \"DELETE\",\n *   // Array of locale ids to display.\n *   message_body: [\"confirm_history_delete_p1\", \"confirm_history_delete_notice_p2\"],\n *   // Text for primary button.\n *   confirm_button_string_id: \"menu_action_delete\"\n * },\n */\nexport class _ConfirmDialog extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this._handleCancelBtn = this._handleCancelBtn.bind(this);\n    this._handleConfirmBtn = this._handleConfirmBtn.bind(this);\n  }\n\n  _handleCancelBtn() {\n    this.props.dispatch({type: actionTypes.DIALOG_CANCEL});\n    this.props.dispatch(ac.UserEvent({event: actionTypes.DIALOG_CANCEL, source: this.props.data.eventSource}));\n  }\n\n  _handleConfirmBtn() {\n    this.props.data.onConfirm.forEach(this.props.dispatch);\n  }\n\n  _renderModalMessage() {\n    const message_body = this.props.data.body_string_id;\n\n    if (!message_body) {\n      return null;\n    }\n\n    return (<span>\n      {message_body.map(msg => <p key={msg}><FormattedMessage id={msg} /></p>)}\n    </span>);\n  }\n\n  render() {\n    if (!this.props.visible) {\n      return null;\n    }\n\n    return (<div className=\"confirmation-dialog\">\n      <div className=\"modal-overlay\" onClick={this._handleCancelBtn} />\n      <div className=\"modal\">\n        <section className=\"modal-message\">\n          {this.props.data.icon && <span className={`icon icon-spacer icon-${this.props.data.icon}`} />}\n          {this._renderModalMessage()}\n        </section>\n        <section className=\"actions\">\n          <button onClick={this._handleCancelBtn}>\n            <FormattedMessage id={this.props.data.cancel_button_string_id} />\n          </button>\n          <button className=\"done\" onClick={this._handleConfirmBtn}>\n            <FormattedMessage id={this.props.data.confirm_button_string_id} />\n          </button>\n        </section>\n      </div>\n    </div>);\n  }\n}\n\nexport const ConfirmDialog = connect(state => state.Dialog)(_ConfirmDialog);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/ConfirmDialog/ConfirmDialog.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {connect} from \"react-redux\";\nimport {FormattedMessage} from \"react-intl\";\nimport React from \"react\";\n\n/**\n * Manual migration component used to start the profile import wizard.\n * Message is presented temporarily and will go away if:\n * 1.  User clicks \"No Thanks\"\n * 2.  User completed the data import\n * 3.  After 3 active days\n * 4.  User clicks \"Cancel\" on the import wizard (currently not implemented).\n */\nexport class _ManualMigration extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onLaunchTour = this.onLaunchTour.bind(this);\n    this.onCancelTour = this.onCancelTour.bind(this);\n  }\n\n  onLaunchTour() {\n    this.props.dispatch(ac.AlsoToMain({type: at.MIGRATION_START}));\n    this.props.dispatch(ac.UserEvent({event: at.MIGRATION_START}));\n  }\n\n  onCancelTour() {\n    this.props.dispatch(ac.AlsoToMain({type: at.MIGRATION_CANCEL}));\n    this.props.dispatch(ac.UserEvent({event: at.MIGRATION_CANCEL}));\n  }\n\n  render() {\n    return (<div className=\"manual-migration-container\">\n        <p>\n          <span className=\"icon icon-import\" />\n          <FormattedMessage id=\"manual_migration_explanation2\" />\n        </p>\n        <div className=\"manual-migration-actions actions\">\n          <button className=\"dismiss\" onClick={this.onCancelTour}>\n            <FormattedMessage id=\"manual_migration_cancel_button\" />\n          </button>\n          <button onClick={this.onLaunchTour}>\n            <FormattedMessage id=\"manual_migration_import_button\" />\n          </button>\n        </div>\n    </div>);\n  }\n}\n\nexport const ManualMigration = connect()(_ManualMigration);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/ManualMigration/ManualMigration.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {FormattedMessage, injectIntl} from \"react-intl\";\nimport {connect} from \"react-redux\";\nimport React from \"react\";\n\nconst getFormattedMessage = message =>\n  (typeof message === \"string\" ? <span>{message}</span> : <FormattedMessage {...message} />);\n\nexport const PreferencesInput = props => (\n  <section>\n    <input type=\"checkbox\" id={props.prefName} name={props.prefName} checked={props.value} disabled={props.disabled} onChange={props.onChange} className={props.className} />\n    <label htmlFor={props.prefName} className={props.labelClassName}>\n      {getFormattedMessage(props.titleString)}\n    </label>\n    {props.descString && <p className=\"prefs-input-description\">\n      {getFormattedMessage(props.descString)}\n    </p>}\n    {React.Children.map(props.children,\n      child => <div className={`options${child.props.disabled ? \" disabled\" : \"\"}`}>{child}</div>)}\n  </section>\n);\n\nexport class _PreferencesPane extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.handleClickOutside = this.handleClickOutside.bind(this);\n    this.handlePrefChange = this.handlePrefChange.bind(this);\n    this.handleSectionChange = this.handleSectionChange.bind(this);\n    this.togglePane = this.togglePane.bind(this);\n    this.onWrapperMount = this.onWrapperMount.bind(this);\n  }\n\n  componentDidUpdate(prevProps, prevState) {\n    if (prevProps.PreferencesPane.visible !== this.props.PreferencesPane.visible) {\n      // While the sidebar is open, listen for all document clicks.\n      if (this.isSidebarOpen()) {\n        document.addEventListener(\"click\", this.handleClickOutside);\n      } else {\n        document.removeEventListener(\"click\", this.handleClickOutside);\n      }\n    }\n  }\n\n  isSidebarOpen() {\n    return this.props.PreferencesPane.visible;\n  }\n\n  handleClickOutside(event) {\n    // if we are showing the sidebar and there is a click outside, close it.\n    if (this.isSidebarOpen() && !this.wrapper.contains(event.target)) {\n      this.togglePane();\n    }\n  }\n\n  handlePrefChange({target: {name, checked}}) {\n    let value = checked;\n    if (name === \"topSitesRows\") {\n      value = checked ? 2 : 1;\n    }\n    this.props.dispatch(ac.SetPref(name, value));\n  }\n\n  handleSectionChange({target}) {\n    const id = target.name;\n    const type = target.checked ? at.SECTION_ENABLE : at.SECTION_DISABLE;\n    this.props.dispatch(ac.AlsoToMain({type, data: id}));\n  }\n\n  togglePane() {\n    if (this.isSidebarOpen()) {\n      this.props.dispatch({type: at.SETTINGS_CLOSE});\n      this.props.dispatch(ac.UserEvent({event: \"CLOSE_NEWTAB_PREFS\"}));\n    } else {\n      this.props.dispatch({type: at.SETTINGS_OPEN});\n      this.props.dispatch(ac.UserEvent({event: \"OPEN_NEWTAB_PREFS\"}));\n    }\n  }\n\n  onWrapperMount(wrapper) {\n    this.wrapper = wrapper;\n  }\n\n  render() {\n    const {props} = this;\n    const prefs = props.Prefs.values;\n    const sections = props.Sections;\n    const isVisible = this.isSidebarOpen();\n    return (\n      <div className=\"prefs-pane-wrapper\" ref={this.onWrapperMount}>\n        <div className=\"prefs-pane-button\">\n          <button\n            className={`prefs-button icon ${isVisible ? \"icon-dismiss\" : \"icon-settings\"}`}\n            title={props.intl.formatMessage({id: isVisible ? \"settings_pane_done_button\" : \"settings_pane_button_label\"})}\n            onClick={this.togglePane} />\n        </div>\n        <div className=\"prefs-pane\">\n          <div className={`sidebar ${isVisible ? \"\" : \"hidden\"}`}>\n            <div className=\"prefs-modal-inner-wrapper\">\n              <h1><FormattedMessage id=\"settings_pane_header\" /></h1>\n              <p><FormattedMessage id=\"settings_pane_body2\" /></p>\n\n              <PreferencesInput\n                className=\"showSearch\"\n                prefName=\"showSearch\"\n                value={prefs.showSearch}\n                onChange={this.handlePrefChange}\n                titleString={{id: \"settings_pane_search_header\"}}\n                descString={{id: \"settings_pane_search_body\"}} />\n\n              <hr />\n\n              <PreferencesInput\n                className=\"showTopSites\"\n                prefName=\"showTopSites\"\n                value={prefs.showTopSites}\n                onChange={this.handlePrefChange}\n                titleString={{id: \"settings_pane_topsites_header\"}}\n                descString={{id: \"settings_pane_topsites_body\"}}>\n\n                <PreferencesInput\n                  className=\"showMoreTopSites\"\n                  prefName=\"topSitesRows\"\n                  disabled={!prefs.showTopSites}\n                  value={prefs.topSitesRows === 2}\n                  onChange={this.handlePrefChange}\n                  titleString={{id: \"settings_pane_topsites_options_showmore\"}}\n                  labelClassName=\"icon icon-topsites\" />\n              </PreferencesInput>\n\n              {sections\n                .filter(section => !section.shouldHidePref)\n                .map(({id, title, enabled, pref}) =>\n                  (<PreferencesInput\n                    key={id}\n                    className=\"showSection\"\n                    prefName={(pref && pref.feed) || id}\n                    value={enabled}\n                    onChange={(pref && pref.feed) ? this.handlePrefChange : this.handleSectionChange}\n                    titleString={(pref && pref.titleString) || title}\n                    descString={pref && pref.descString}>\n\n                    {pref && pref.nestedPrefs && pref.nestedPrefs.map(nestedPref =>\n                      (<PreferencesInput\n                        key={nestedPref.name}\n                        prefName={nestedPref.name}\n                        disabled={!enabled}\n                        value={prefs[nestedPref.name]}\n                        onChange={this.handlePrefChange}\n                        titleString={nestedPref.titleString}\n                        labelClassName={`icon ${nestedPref.icon}`} />)\n                    )}\n                   </PreferencesInput>)\n                )}\n              {!prefs.disableSnippets && <hr />}\n\n              {!prefs.disableSnippets && <PreferencesInput className=\"showSnippets\" prefName=\"feeds.snippets\"\n                value={prefs[\"feeds.snippets\"]} onChange={this.handlePrefChange}\n                titleString={{id: \"settings_pane_snippets_header\"}}\n                descString={{id: \"settings_pane_snippets_body\"}} />}\n\n            </div>\n            <section className=\"actions\">\n              <button className=\"done\" onClick={this.togglePane}>\n                <FormattedMessage id=\"settings_pane_done_button\" />\n              </button>\n            </section>\n          </div>\n        </div>\n      </div>);\n  }\n}\n\nexport const PreferencesPane = connect(state => ({\n  Prefs: state.Prefs,\n  PreferencesPane: state.PreferencesPane,\n  Sections: state.Sections\n}))(injectIntl(_PreferencesPane));\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/PreferencesPane/PreferencesPane.jsx","class _PrerenderData {\n  constructor(options) {\n    this.initialPrefs = options.initialPrefs;\n    this.initialSections = options.initialSections;\n    this._setValidation(options.validation);\n  }\n\n  get validation() {\n    return this._validation;\n  }\n\n  set validation(value) {\n    this._setValidation(value);\n  }\n\n  get invalidatingPrefs() {\n    return this._invalidatingPrefs;\n  }\n\n    // This is needed so we can use it in the constructor\n  _setValidation(value = []) {\n    this._validation = value;\n    this._invalidatingPrefs = value.reduce((result, next) => {\n      if (typeof next === \"string\") {\n        result.push(next);\n        return result;\n      } else if (next && next.oneOf) {\n        return result.concat(next.oneOf);\n      }\n      throw new Error(\"Your validation configuration is not properly configured\");\n    }, []);\n  }\n\n  arePrefsValid(getPref) {\n    for (const prefs of this.validation) {\n      // {oneOf: [\"foo\", \"bar\"]}\n      if (prefs && prefs.oneOf && !prefs.oneOf.some(name => getPref(name) === this.initialPrefs[name])) {\n        return false;\n\n      // \"foo\"\n      } else if (getPref(prefs) !== this.initialPrefs[prefs]) {\n        return false;\n      }\n    }\n    return true;\n  }\n}\n\nthis.PrerenderData = new _PrerenderData({\n  initialPrefs: {\n    \"migrationExpired\": true,\n    \"showTopSites\": true,\n    \"showSearch\": true,\n    \"topSitesRows\": 1,\n    \"collapseTopSites\": false,\n    \"section.highlights.collapsed\": false,\n    \"section.topstories.collapsed\": false,\n    \"feeds.section.topstories\": true,\n    \"feeds.section.highlights\": true,\n    \"enableWideLayout\": true,\n    \"sectionOrder\": \"topsites,topstories,highlights\"\n  },\n  // Prefs listed as invalidating will prevent the prerendered version\n  // of AS from being used if their value is something other than what is listed\n  // here. This is required because some preferences cause the page layout to be\n  // too different for the prerendered version to be used. Unfortunately, this\n  // will result in users who have modified some of their preferences not being\n  // able to get the benefits of prerendering.\n  validation: [\n    \"showTopSites\",\n    \"showSearch\",\n    \"topSitesRows\",\n    \"collapseTopSites\",\n    \"section.highlights.collapsed\",\n    \"section.topstories.collapsed\",\n    \"enableWideLayout\",\n    \"sectionOrder\",\n    // This means if either of these are set to their default values,\n    // prerendering can be used.\n    {oneOf: [\"feeds.section.topstories\", \"feeds.section.highlights\"]}\n  ],\n  initialSections: [\n    {\n      enabled: true,\n      icon: \"pocket\",\n      id: \"topstories\",\n      order: 1,\n      title: {id: \"header_recommended_by\", values: {provider: \"Pocket\"}}\n    },\n    {\n      enabled: true,\n      id: \"highlights\",\n      icon: \"highlights\",\n      order: 2,\n      title: {id: \"header_highlights\"}\n    }\n  ]\n});\n\nthis._PrerenderData = _PrerenderData;\nconst EXPORTED_SYMBOLS = [\"PrerenderData\", \"_PrerenderData\"];\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/common/PrerenderData.jsm","/* globals ContentSearchUIController */\n\"use strict\";\n\nimport {FormattedMessage, injectIntl} from \"react-intl\";\nimport {actionCreators as ac} from \"common/Actions.jsm\";\nimport {connect} from \"react-redux\";\nimport {IS_NEWTAB} from \"content-src/lib/constants\";\nimport React from \"react\";\n\nexport class _Search extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onClick = this.onClick.bind(this);\n    this.onInputMount = this.onInputMount.bind(this);\n  }\n\n  handleEvent(event) {\n    // Also track search events with our own telemetry\n    if (event.detail.type === \"Search\") {\n      this.props.dispatch(ac.UserEvent({event: \"SEARCH\"}));\n    }\n  }\n\n  onClick(event) {\n    window.gContentSearchController.search(event);\n  }\n\n  componentWillUnmount() {\n    delete window.gContentSearchController;\n  }\n\n  onInputMount(input) {\n    if (input) {\n      // The \"healthReportKey\" and needs to be \"newtab\" or \"abouthome\" so that\n      // BrowserUsageTelemetry.jsm knows to handle events with this name, and\n      // can add the appropriate telemetry probes for search. Without the correct\n      // name, certain tests like browser_UsageTelemetry_content.js will fail\n      // (See github ticket #2348 for more details)\n      const healthReportKey = IS_NEWTAB ? \"newtab\" : \"abouthome\";\n\n      // The \"searchSource\" needs to be \"newtab\" or \"homepage\" and is sent with\n      // the search data and acts as context for the search request (See\n      // nsISearchEngine.getSubmission). It is necessary so that search engine\n      // plugins can correctly atribute referrals. (See github ticket #3321 for\n      // more details)\n      const searchSource = IS_NEWTAB ? \"newtab\" : \"homepage\";\n\n      // gContentSearchController needs to exist as a global so that tests for\n      // the existing about:home can find it; and so it allows these tests to pass.\n      // In the future, when activity stream is default about:home, this can be renamed\n      window.gContentSearchController = new ContentSearchUIController(input, input.parentNode,\n        healthReportKey, searchSource);\n      addEventListener(\"ContentSearchClient\", this);\n    } else {\n      window.gContentSearchController = null;\n      removeEventListener(\"ContentSearchClient\", this);\n    }\n  }\n\n  /*\n   * Do not change the ID on the input field, as legacy newtab code\n   * specifically looks for the id 'newtab-search-text' on input fields\n   * in order to execute searches in various tests\n   */\n  render() {\n    return (<div className=\"search-wrapper\">\n      <label htmlFor=\"newtab-search-text\" className=\"search-label\">\n        <span className=\"sr-only\"><FormattedMessage id=\"search_web_placeholder\" /></span>\n      </label>\n      <input\n        id=\"newtab-search-text\"\n        maxLength=\"256\"\n        placeholder={this.props.intl.formatMessage({id: \"search_web_placeholder\"})}\n        ref={this.onInputMount}\n        title={this.props.intl.formatMessage({id: \"search_web_placeholder\"})}\n        type=\"search\" />\n      <button\n        id=\"searchSubmit\"\n        className=\"search-button\"\n        onClick={this.onClick}\n        title={this.props.intl.formatMessage({id: \"search_button\"})}>\n        <span className=\"sr-only\"><FormattedMessage id=\"search_button\" /></span>\n      </button>\n    </div>);\n  }\n}\n\nexport const Search = connect()(injectIntl(_Search));\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/Search/Search.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {addLocaleData, IntlProvider} from \"react-intl\";\nimport {ConfirmDialog} from \"content-src/components/ConfirmDialog/ConfirmDialog\";\nimport {connect} from \"react-redux\";\nimport {ErrorBoundary} from \"content-src/components/ErrorBoundary/ErrorBoundary\";\nimport {ManualMigration} from \"content-src/components/ManualMigration/ManualMigration\";\nimport {PreferencesPane} from \"content-src/components/PreferencesPane/PreferencesPane\";\nimport {PrerenderData} from \"common/PrerenderData.jsm\";\nimport React from \"react\";\nimport {Search} from \"content-src/components/Search/Search\";\nimport {Sections} from \"content-src/components/Sections/Sections\";\n\n// Add the locale data for pluralization and relative-time formatting for now,\n// this just uses english locale data. We can make this more sophisticated if\n// more features are needed.\nfunction addLocaleDataForReactIntl(locale) {\n  addLocaleData([{locale, parentLocale: \"en\"}]);\n}\n\nexport class _Base extends React.PureComponent {\n  componentWillMount() {\n    const {App, locale} = this.props;\n    this.sendNewTabRehydrated(App);\n    addLocaleDataForReactIntl(locale);\n  }\n\n  componentDidMount() {\n    // Request state AFTER the first render to ensure we don't cause the\n    // prerendered DOM to be unmounted. Otherwise, NEW_TAB_STATE_REQUEST is\n    // dispatched right after the store is ready.\n    if (this.props.isPrerendered) {\n      this.props.dispatch(ac.AlsoToMain({type: at.NEW_TAB_STATE_REQUEST}));\n      this.props.dispatch(ac.AlsoToMain({type: at.PAGE_PRERENDERED}));\n    }\n  }\n\n  componentWillUpdate({App}) {\n    this.sendNewTabRehydrated(App);\n  }\n\n  // The NEW_TAB_REHYDRATED event is used to inform feeds that their\n  // data has been consumed e.g. for counting the number of tabs that\n  // have rendered that data.\n  sendNewTabRehydrated(App) {\n    if (App && App.initialized && !this.renderNotified) {\n      this.props.dispatch(ac.AlsoToMain({type: at.NEW_TAB_REHYDRATED, data: {}}));\n      this.renderNotified = true;\n    }\n  }\n\n  render() {\n    const {props} = this;\n    const {App, locale, strings} = props;\n    const {initialized} = App;\n\n    if (!props.isPrerendered && !initialized) {\n      return null;\n    }\n\n    return (<IntlProvider locale={locale} messages={strings}>\n        <ErrorBoundary className=\"base-content-fallback\">\n          <BaseContent {...this.props} />\n        </ErrorBoundary>\n      </IntlProvider>);\n  }\n}\n\nexport class BaseContent extends React.PureComponent {\n  render() {\n    const {props} = this;\n    const {App} = props;\n    const {initialized} = App;\n    const prefs = props.Prefs.values;\n\n    const shouldBeFixedToTop = PrerenderData.arePrefsValid(name => prefs[name]);\n\n    const outerClassName = `outer-wrapper${shouldBeFixedToTop ? \" fixed-to-top\" : \"\"} ${prefs.enableWideLayout ? \"wide-layout-enabled\" : \"wide-layout-disabled\"}`;\n\n    return (\n        <div className={outerClassName}>\n          <main>\n            {prefs.showSearch &&\n              <div className=\"non-collapsible-section\">\n                <ErrorBoundary>\n                  <Search />\n                </ErrorBoundary>\n              </div>\n            }\n            <div className={`body-wrapper${(initialized ? \" on\" : \"\")}`}>\n              {!prefs.migrationExpired &&\n                <div className=\"non-collapsible-section\">\n                  <ManualMigration />\n                </div>\n                }\n              <Sections />\n            </div>\n            <ConfirmDialog />\n          </main>\n          {initialized &&\n            <div className=\"prefs-pane\">\n              <ErrorBoundary className=\"sidebar\"> <PreferencesPane /> </ErrorBoundary>\n            </div>\n          }\n        </div>);\n  }\n}\n\nexport const Base = connect(state => ({App: state.App, Prefs: state.Prefs}))(_Base);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/Base/Base.jsx","export const IS_NEWTAB = global.document && global.document.documentURI === \"about:newtab\";\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/lib/constants.js","import {Card, PlaceholderCard} from \"content-src/components/Card/Card\";\nimport {FormattedMessage, injectIntl} from \"react-intl\";\nimport {actionCreators as ac} from \"common/Actions.jsm\";\nimport {CollapsibleSection} from \"content-src/components/CollapsibleSection/CollapsibleSection\";\nimport {ComponentPerfTimer} from \"content-src/components/ComponentPerfTimer/ComponentPerfTimer\";\nimport {connect} from \"react-redux\";\nimport React from \"react\";\nimport {Topics} from \"content-src/components/Topics/Topics\";\nimport {TopSites} from \"content-src/components/TopSites/TopSites\";\n\nconst VISIBLE = \"visible\";\nconst VISIBILITY_CHANGE_EVENT = \"visibilitychange\";\nconst CARDS_PER_ROW = 3;\n\nfunction getFormattedMessage(message) {\n  return typeof message === \"string\" ? <span>{message}</span> : <FormattedMessage {...message} />;\n}\n\nexport class Section extends React.PureComponent {\n  _dispatchImpressionStats() {\n    const {props} = this;\n    const maxCards = 3 * props.maxRows;\n    const cards = props.rows.slice(0, maxCards);\n\n    if (this.needsImpressionStats(cards)) {\n      props.dispatch(ac.ImpressionStats({\n        source: props.eventSource,\n        tiles: cards.map(link => ({id: link.guid}))\n      }));\n      this.impressionCardGuids = cards.map(link => link.guid);\n    }\n  }\n\n  // This sends an event when a user sees a set of new content. If content\n  // changes while the page is hidden (i.e. preloaded or on a hidden tab),\n  // only send the event if the page becomes visible again.\n  sendImpressionStatsOrAddListener() {\n    const {props} = this;\n\n    if (!props.shouldSendImpressionStats || !props.dispatch) {\n      return;\n    }\n\n    if (props.document.visibilityState === VISIBLE) {\n      this._dispatchImpressionStats();\n    } else {\n      // We should only ever send the latest impression stats ping, so remove any\n      // older listeners.\n      if (this._onVisibilityChange) {\n        props.document.removeEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);\n      }\n\n      // When the page becomes visible, send the impression stats ping if the section isn't collapsed.\n      this._onVisibilityChange = () => {\n        if (props.document.visibilityState === VISIBLE) {\n          const {id, Prefs} = this.props;\n          const isCollapsed = Prefs.values[`section.${id}.collapsed`];\n          if (!isCollapsed) {\n            this._dispatchImpressionStats();\n          }\n          props.document.removeEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);\n        }\n      };\n      props.document.addEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);\n    }\n  }\n\n  componentDidMount() {\n    const {id, rows, Prefs} = this.props;\n    const isCollapsed = Prefs.values[`section.${id}.collapsed`];\n    if (rows.length && !isCollapsed) {\n      this.sendImpressionStatsOrAddListener();\n    }\n  }\n\n  componentDidUpdate(prevProps) {\n    const {props} = this;\n    const {id, Prefs} = props;\n    const isCollapsedPref = `section.${id}.collapsed`;\n    const isCollapsed = Prefs.values[isCollapsedPref];\n    const wasCollapsed = prevProps.Prefs.values[isCollapsedPref];\n    if (\n      // Don't send impression stats for the empty state\n      props.rows.length &&\n      (\n        // We only want to send impression stats if the content of the cards has changed\n        // and the section is not collapsed...\n        (props.rows !== prevProps.rows && !isCollapsed) ||\n        // or if we are expanding a section that was collapsed.\n        (wasCollapsed && !isCollapsed)\n      )\n    ) {\n      this.sendImpressionStatsOrAddListener();\n    }\n  }\n\n  componentWillUnmount() {\n    if (this._onVisibilityChange) {\n      this.props.document.removeEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);\n    }\n  }\n\n  needsImpressionStats(cards) {\n    if (!this.impressionCardGuids || (this.impressionCardGuids.length !== cards.length)) {\n      return true;\n    }\n\n    for (let i = 0; i < cards.length; i++) {\n      if (cards[i].guid !== this.impressionCardGuids[i]) {\n        return true;\n      }\n    }\n\n    return false;\n  }\n\n  numberOfPlaceholders(items) {\n    if (items === 0) {\n      return CARDS_PER_ROW;\n    }\n    const remainder = items % CARDS_PER_ROW;\n    if (remainder === 0) {\n      return 0;\n    }\n    return CARDS_PER_ROW - remainder;\n  }\n\n  render() {\n    const {\n      id, eventSource, title, icon, rows,\n      emptyState, dispatch, maxRows,\n      contextMenuOptions, initialized, disclaimer,\n      pref, privacyNoticeURL, isFirst, isLast\n    } = this.props;\n    const maxCards = CARDS_PER_ROW * maxRows;\n\n    // Show topics only for top stories and if it's not initialized yet (so\n    // content doesn't shift when it is loaded) or has loaded with topics\n    const shouldShowTopics = (id === \"topstories\" &&\n      (!this.props.topics || this.props.topics.length > 0));\n\n    const realRows = rows.slice(0, maxCards);\n    const placeholders = this.numberOfPlaceholders(realRows.length);\n\n    // The empty state should only be shown after we have initialized and there is no content.\n    // Otherwise, we should show placeholders.\n    const shouldShowEmptyState = initialized && !rows.length;\n\n    // <Section> <-- React component\n    // <section> <-- HTML5 element\n    return (<ComponentPerfTimer {...this.props}>\n      <CollapsibleSection className=\"section\" icon={icon}\n        title={getFormattedMessage(title)}\n        id={id}\n        eventSource={eventSource}\n        disclaimer={disclaimer}\n        prefName={`section.${id}.collapsed`}\n        showPrefName={(pref && pref.feed) || id}\n        privacyNoticeURL={privacyNoticeURL}\n        Prefs={this.props.Prefs}\n        isFirst={isFirst}\n        isLast={isLast}\n        dispatch={this.props.dispatch}>\n\n        {!shouldShowEmptyState && (<ul className=\"section-list\" style={{padding: 0}}>\n          {realRows.map((link, index) => link &&\n            <Card key={index} index={index} dispatch={dispatch} link={link} contextMenuOptions={contextMenuOptions}\n              eventSource={eventSource} shouldSendImpressionStats={this.props.shouldSendImpressionStats} isWebExtension={this.props.isWebExtension} />)}\n          {placeholders > 0 && [...new Array(placeholders)].map((_, i) => <PlaceholderCard key={i} />)}\n        </ul>)}\n        {shouldShowEmptyState &&\n          <div className=\"section-empty-state\">\n            <div className=\"empty-state\">\n              {emptyState.icon && emptyState.icon.startsWith(\"moz-extension://\") ?\n                <img className=\"empty-state-icon icon\" style={{\"background-image\": `url('${emptyState.icon}')`}} /> :\n                <img className={`empty-state-icon icon icon-${emptyState.icon}`} />}\n              <p className=\"empty-state-message\">\n                {getFormattedMessage(emptyState.message)}\n              </p>\n            </div>\n          </div>}\n        {shouldShowTopics && <Topics topics={this.props.topics} read_more_endpoint={this.props.read_more_endpoint} />}\n      </CollapsibleSection>\n    </ComponentPerfTimer>);\n  }\n}\n\nSection.defaultProps = {\n  document: global.document,\n  rows: [],\n  emptyState: {},\n  title: \"\"\n};\n\nexport const SectionIntl = connect(state => ({Prefs: state.Prefs}))(injectIntl(Section));\n\nexport class _Sections extends React.PureComponent {\n  renderSections() {\n    const sections = [];\n    const enabledSections = this.props.Sections.filter(section => section.enabled);\n    const {sectionOrder, showTopSites} = this.props.Prefs.values;\n    // Enabled sections doesn't include Top Sites, so we add it if enabled.\n    const expectedCount = enabledSections.length + ~~showTopSites;\n\n    for (const sectionId of sectionOrder.split(\",\")) {\n      const commonProps = {\n        key: sectionId,\n        isFirst: sections.length === 0,\n        isLast: sections.length === expectedCount - 1\n      };\n      if (sectionId === \"topsites\" && showTopSites) {\n        sections.push(<TopSites {...commonProps} />);\n      } else {\n        const section = enabledSections.find(s => s.id === sectionId);\n        if (section) {\n          sections.push(<SectionIntl {...section} {...commonProps}