Bug 1073240 - Update Firefox's default theme icon, hide menu on non-default themes. r=jaws, a=lmandel
authorGijs Kruitbosch <gijskruitbosch@gmail.com>
Sun, 05 Oct 2014 09:12:06 +0100
changeset 225620 4599ff306a71e0e598cae704e2f04cb2864c723f
parent 225619 a9d822d00861dc5e6a71a1128e78fa184098446a
child 225621 1552485ad0db009e7fa90bce6679a8fd1a4b4d4a
push id3979
push userraliiev@mozilla.com
push dateMon, 13 Oct 2014 16:35:44 +0000
treeherdermozilla-beta@30f2cc610691 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjaws, lmandel
bugs1073240
milestone34.0a2
Bug 1073240 - Update Firefox's default theme icon, hide menu on non-default themes. r=jaws, a=lmandel
browser/components/customizableui/CustomizeMode.jsm
browser/themes/linux/Makefile.in
browser/themes/linux/icon.png
browser/themes/linux/jar.mn
browser/themes/linux/theme-switcher-icon.png
browser/themes/osx/Makefile.in
browser/themes/osx/browser.css
browser/themes/osx/icon.png
browser/themes/osx/jar.mn
browser/themes/osx/theme-switcher-icon.png
browser/themes/osx/theme-switcher-icon@2x.png
browser/themes/shared/customizableui/customizeMode.inc.css
browser/themes/shared/icon.png
browser/themes/windows/Makefile.in
browser/themes/windows/icon.png
browser/themes/windows/jar.mn
browser/themes/windows/theme-switcher-icon-aero.png
browser/themes/windows/theme-switcher-icon.png
--- a/browser/components/customizableui/CustomizeMode.jsm
+++ b/browser/components/customizableui/CustomizeMode.jsm
@@ -56,16 +56,20 @@ function CustomizeMode(aWindow) {
   // There are two palettes - there's the palette that can be overlayed with
   // toolbar items in browser.xul. This is invisible, and never seen by the
   // user. Then there's the visible palette, which gets populated and displayed
   // to the user when in customizing mode.
   this.visiblePalette = this.document.getElementById(kPaletteId);
   this.paletteEmptyNotice = this.document.getElementById("customization-empty");
   this.paletteSpacer = this.document.getElementById("customization-spacer");
   this.tipPanel = this.document.getElementById("customization-tipPanel");
+  let lwthemeButton = this.document.getElementById("customization-lwtheme-button");
+  if (Services.prefs.getCharPref("general.skins.selectedSkin") != "classic/1.0") {
+    lwthemeButton.setAttribute("hidden", "true");
+  }
 #ifdef CAN_DRAW_IN_TITLEBAR
   this._updateTitlebarButton();
   Services.prefs.addObserver(kDrawInTitlebarPref, this, false);
   this.window.addEventListener("unload", this);
 #endif
 };
 
 CustomizeMode.prototype = {
@@ -1247,17 +1251,24 @@ CustomizeMode.prototype = {
 
     AddonManager.getAddonByID(DEFAULT_THEME_ID, function(aDefaultTheme) {
       let doc = this.window.document;
 
       function buildToolbarButton(aTheme) {
         let tbb = doc.createElement("toolbarbutton");
         tbb.theme = aTheme;
         tbb.setAttribute("label", aTheme.name);
-        tbb.setAttribute("image", aTheme.iconURL);
+        if (aDefaultTheme == aTheme) {
+          // The actual icon is set up so it looks nice in about:addons, but
+          // we'd like the version that's correct for the OS we're on, so we set
+          // an attribute that our styling will then use to display the icon.
+          tbb.setAttribute("defaulttheme", "true");
+        } else {
+          tbb.setAttribute("image", aTheme.iconURL);
+        }
         if (aTheme.description)
           tbb.setAttribute("tooltiptext", aTheme.description);
         tbb.setAttribute("tabindex", "0");
         tbb.classList.add("customization-lwtheme-menu-theme");
         tbb.setAttribute("aria-checked", aTheme.isActive);
         tbb.setAttribute("role", "menuitemradio");
         if (aTheme.isActive) {
           tbb.setAttribute("active", "true");
--- a/browser/themes/linux/Makefile.in
+++ b/browser/themes/linux/Makefile.in
@@ -1,13 +1,13 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-ICON_FILES := icon.png
+ICON_FILES := ../shared/icon.png
 ICON_DEST = $(FINAL_TARGET)/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}
 INSTALL_TARGETS += ICON
 
 # By default, the pre-processor used for jar.mn will use "%" as a marker for ".css" files and "#"
 # otherwise. This falls apart when a file using one marker needs to include a file with the other
 # marker since the pre-processor instructions in the included file will not be processed. The
 # following SVG files need to include a file which uses "%" as the marker so we invoke the pre-
 # processor ourselves here with the marker specified. The resulting SVG files will get packaged by
deleted file mode 100644
index ff4f21f9a6115db4829bb0ac6094ee1cd78c603d..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
--- a/browser/themes/linux/jar.mn
+++ b/browser/themes/linux/jar.mn
@@ -59,16 +59,17 @@ browser.jar:
   skin/classic/browser/Privacy-16.png
   skin/classic/browser/privatebrowsing-mask.png
   skin/classic/browser/reload-stop-go.png
   skin/classic/browser/searchbar.css
   skin/classic/browser/Secure.png
   skin/classic/browser/Security-broken.png
   skin/classic/browser/setDesktopBackground.css
   skin/classic/browser/slowStartup-16.png
+  skin/classic/browser/theme-switcher-icon.png
   skin/classic/browser/Toolbar.png
   skin/classic/browser/Toolbar-inverted.png
   skin/classic/browser/Toolbar-small.png
   skin/classic/browser/undoCloseTab.png                        (../shared/undoCloseTab.png)
   skin/classic/browser/urlbar-arrow.png
   skin/classic/browser/webRTC-shareDevice-16.png
   skin/classic/browser/webRTC-shareDevice-64.png
   skin/classic/browser/webRTC-sharingDevice-16.png    (../shared/webrtc/webRTC-sharingDevice-16.png)
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..f1e9a0271e957264ca34400bc436fd9bf3bf91ce
GIT binary patch
literal 666
zc$@*60%iS)P)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F80007ENkl<Zcmc)N
zO-NKx7>DuWFfE1@ltL3F5waj^(WZq(EtEclh^U1X*oV0g%!m>dgffs;K?Fh|h@cQH
zqE#e)5luvd)hfy`Y!*dHDHxMD+WdPK6C8$nx#!*{8u;zb;^7S3^S&nPuea}FF{-c{
zD`27sb9fCpaR)PyWeIOFgeJrb8Bm20WFSW$aT2j80rqts#yphs3O%Stsdc^v`!I-a
zP|kDIp~y909eQ9e0OdSEJq%VM0plZqGnj)gi*amn2^hsR%CH5E*nuK!M-me#as2C&
zP|g?Zfp0(@KOiL0ip%ImA2OInHH?D<`Y{RRWO2YRU_BJzDohAvNI{kvlzIhhh5|gr
zN|+FiKzX{n0-7NQ^Z1a{1`{BT&yeMDen1TGp%Ajz3FBZGvP|U%G(aItVHb>}4#<*5
z%nrB?Il75r7)K2_0a-F=wgVnOj*h~Fa15^@%Q7bZ1jH~71xTU`TVX=j4|z!0H}Db)
z&;k=dBjn+Y9gu<o+<=MT5ai*m9dI9VFop^kByb#~xQ1GoJSFIdJoMWEZIGiyOd<_g
zzIseX^_Yb`Y_kJ4KoO;J&gZ$k1bIlo`VIi^pa4tALRi2p)WLX&V;b@>==B!#LIE;p
zMWw?a+79^`_6jJ)9OU304k89)DMCALV*&DU+77UFL5_amAuix7t{{o5!)sdZ7ZAq_
z=pSkcnu=@i2`aE<bh_>Z8<BzvB!%5!7n2G+g8ot()loO27|!D-6v21wEyQlP79&`M
z9HcOS^1>~rKqXG06GM20F?6E?O{fjK9sgIq0WhSUaN|1GRsaA107*qoM6N<$f|)%E
A<p2Nx
--- a/browser/themes/osx/Makefile.in
+++ b/browser/themes/osx/Makefile.in
@@ -1,13 +1,13 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-ICON_FILES := icon.png
+ICON_FILES := ../shared/icon.png
 ICON_DEST = $(FINAL_TARGET)/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}
 INSTALL_TARGETS += ICON
 
 # By default, the pre-processor used for jar.mn will use "%" as a marker for ".css" files and "#"
 # otherwise. This falls apart when a file using one marker needs to include a file with the other
 # marker since the pre-processor instructions in the included file will not be processed. The
 # following SVG files need to include a file which uses "%" as the marker so we invoke the pre-
 # processor ourselves here with the marker specified. The resulting SVG files will get packaged by
--- a/browser/themes/osx/browser.css
+++ b/browser/themes/osx/browser.css
@@ -4692,16 +4692,20 @@ window > chatbox {
   .customization-tipPanel-contentImage:-moz-locale-dir(rtl) {
     list-style-image: url(chrome://browser/skin/customizableui/customize-illustration-rtl@2x.png);
   }
 
   #customization-tipPanel > .panel-arrowcontainer > .panel-arrowbox > .panel-arrow[side="left"],
   #customization-tipPanel > .panel-arrowcontainer > .panel-arrowbox > .panel-arrow[side="right"] {
     list-style-image: url("chrome://browser/skin/customizableui/panelarrow-customizeTip@2x.png");
   }
+
+  .customization-lwtheme-menu-theme[defaulttheme] {
+    list-style-image: url(chrome://browser/skin/theme-switcher-icon@2x.png);
+  }
 }
 
 /* End customization mode */
 
 .private-browsing-indicator {
   background-image: url("chrome://browser/skin/privatebrowsing-mask.png");
   background-repeat: no-repeat;
   background-size: 100% auto;
deleted file mode 100644
index ff4f21f9a6115db4829bb0ac6094ee1cd78c603d..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
--- a/browser/themes/osx/jar.mn
+++ b/browser/themes/osx/jar.mn
@@ -97,16 +97,18 @@ browser.jar:
   skin/classic/browser/searchbar-dropmarker.png
   skin/classic/browser/searchbar-dropmarker@2x.png
   skin/classic/browser/searchbar.css
   skin/classic/browser/Search.png
   skin/classic/browser/Search@2x.png
   skin/classic/browser/Secure-Glyph.png
   skin/classic/browser/Secure-Glyph@2x.png
   skin/classic/browser/slowStartup-16.png
+  skin/classic/browser/theme-switcher-icon.png
+  skin/classic/browser/theme-switcher-icon@2x.png
   skin/classic/browser/Toolbar.png
   skin/classic/browser/Toolbar@2x.png
   skin/classic/browser/Toolbar-inverted.png
   skin/classic/browser/Toolbar-inverted@2x.png
   skin/classic/browser/toolbarbutton-dropmarker.png
   skin/classic/browser/undoCloseTab.png                        (../shared/undoCloseTab.png)
   skin/classic/browser/undoCloseTab@2x.png                     (../shared/undoCloseTab@2x.png)
   skin/classic/browser/urlbar-history-dropmarker.png
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..757d1e0c64d787bb55e8adab0f321b6555d7882c
GIT binary patch
literal 1257
zc$@+01Qz>=P)<h;3K|Lk000e1NJLTq001BW001Be1ONa4*>kdg000EANkl<Zcmbu-
zZHQD=9LMqBdAN5T?%f?{pWH`xadmTZStJoMGE-54%y&kTXcDAJ7!-?z6p>Ib3^Gbc
zBB+!ILQ*s<6%(?}s7*7|E!Sz+b#>jDo!OnaJNMqX_nec%uKO^%_NLEyIm7qd|DS{Z
zi(m%ToIFBT=&ih(6)Rf~_;IgYoyL_J19g~6YIruhB^cFwO;E`cfr5mj9(Vq+_RFJC
z_Xr3A1&}4dJ!VxP$Fmie8oKVgU1KpBi(Ia~-jtrtsH@qX$(PVKB`^nh!oU`MK%Uay
zDt1Fdi@(`*u5ttk3?mB<fDYqK{l2H;4|0|DQ|;M(h!qB24z7Q5>#O0pi<--Jbj0`@
zE0fLgIrLzXn6`K6w{5J{<3l3chO=XV<;d$hSypbuQhT+gGC_0Q&!c3`u6J(W5^PLT
z&x^O!tTBrO87R_r<M4Q(D-ij;KA{OK=xP9wOojhC{t+%<7zJ9Q+L1a$9GBk;Y}|}4
zfNub>Tjw(9o37~!ssIQo0t0CbW17>cNB3l2Gu=?Ggq_;{<xY4+0jOIz`-_IS>0*o`
zBYMgoxS8etaeR&`6s<VXz)Z(uasR{%h;abWUI{teClX@_441Ru+(C2x`2$tBg~{Z+
zGuC5<&3#p5l_N$i)HRxmBUw!lHR(twDHeTwpaawRf7qHJOa|o5s7a^^vL<YY9nB|l
z;`qc*wY~r030y0<A9eH8upkOV26CS+1fu|75OQ^&%DcA%KD7c>msfV<7xbb~g}E*0
z<^LDX{k#Gt9H2t?xtQ31&uq82t0aQ~IGBc{0t<@b`R~;|7DYooV2<97F&?eC`0jT|
zz{N}y6TuwMZwxGl5C>pVk)Io5nCP!XA9^t}PUW2=0LfSyk^|zFoJ}W<5X@P%kMFqh
zI&8peB`b)7LrCDRX5AaT&g0=YTn@<Z-6aYWBQRAul3ZAObT}re1J$~#SbFoSwMYWM
zkxFA**vSt7IJ~I~nS7u<tNSD%F;0_Z=^`y#<x$n|Xpz5LI@|6Ko`Vk@dAQh!#Pi=E
zs7s#t6G;yABwKszkl_+cP$d5>d@8I}r`kHvj|2n&1fM9*8ZH+Ef|xhvk6@4kK;~F_
zQ`FKV#!1?AZqDtR%<3evxQ0O>Z_bkP=19MuqY@BsbR^+(08ocgo67ZBHpX#z>7n*c
zdb0ReSU}$T2iV$@rKQ8Bqsh_7W)6Y^900nr3l1hW-1$jhj4n$p+7xen@wdVAUIt}a
zOUcp*iCD8TVV6q4ry2dp^BBS1<u{PZj~gQ87F8H0iK7jL(qUI4N*9K0Iw4OJR1pZ8
z46~jCN6~@ISO938UGvG@bR<hKS$>f|Qy_{<E=Th@mNHb|XJ6?za1|I20IOQa+chH*
zn<@MUm&e1E7x(_a`q2qBB>-%1yt=zoE6ZpS_u#Sq$m(NTyU>m608kJB4jTt|+KZ}&
zjU1a65!BWaMRgtToy7$V0po!JWY4l6H={ISYrZD9lEkBe`qbk#*9O*|-Pns5dVzvK
z0b~ENpOzD9MeS%{q$r_ebf`YD?s}t*Bzlkr3Ij7nPyvQ84CIi3go7;7@KNAj5RNVg
T!4b-=00000NkvXXu0mjfSlLQu
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0d54510ec5f59b70f1962a1353d4575f1c5b989d
GIT binary patch
literal 3229
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
P00000NkvXXu0mjfvzZ|2
--- a/browser/themes/shared/customizableui/customizeMode.inc.css
+++ b/browser/themes/shared/customizableui/customizeMode.inc.css
@@ -294,16 +294,20 @@ toolbarpaletteitem[place="toolbar"] {
   border: 1px solid transparent;
   margin: 0 -5px 5px;
   padding-top: 0;
   -moz-padding-end: 5px;
   padding-bottom: 0;
   -moz-padding-start: 0;
 }
 
+.customization-lwtheme-menu-theme[defaulttheme] {
+  list-style-image: url(chrome://browser/skin/theme-switcher-icon.png);
+}
+
 .customization-lwtheme-menu-theme[active="true"],
 .customization-lwtheme-menu-theme:hover {
   background-color: hsla(210,4%,10%,.08);
   border-color: hsla(210,4%,10%,.11);
 }
 
 .customization-lwtheme-menu-theme[active="true"],
 .customization-lwtheme-menu-theme:hover:active {
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..57a49930e7310a23f9b7c84a88cb60d5f93ceb1b
GIT binary patch
literal 1850
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
--- a/browser/themes/windows/Makefile.in
+++ b/browser/themes/windows/Makefile.in
@@ -1,13 +1,13 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-ICON_FILES := icon.png
+ICON_FILES := ../shared/icon.png
 ICON_DEST = $(FINAL_TARGET)/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}
 INSTALL_TARGETS += ICON
 
 # By default, the pre-processor used for jar.mn will use "%" as a marker for ".css" files and "#"
 # otherwise. This falls apart when a file using one marker needs to include a file with the other
 # marker since the pre-processor instructions in the included file will not be processed. The
 # following SVG files need to include a file which uses "%" as the marker so we invoke the pre-
 # processor ourselves here with the marker specified. The resulting SVG files will get packaged by
deleted file mode 100644
index ff4f21f9a6115db4829bb0ac6094ee1cd78c603d..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
--- a/browser/themes/windows/jar.mn
+++ b/browser/themes/windows/jar.mn
@@ -73,16 +73,17 @@ browser.jar:
         skin/classic/browser/privatebrowsing-mask-titlebar-XPVista7.png
         skin/classic/browser/privatebrowsing-mask-titlebar-XPVista7-tall.png
         skin/classic/browser/reload-stop-go.png
         skin/classic/browser/searchbar.css
         skin/classic/browser/searchbar-dropdown-arrow.png
         skin/classic/browser/Secure24.png
         skin/classic/browser/setDesktopBackground.css
         skin/classic/browser/slowStartup-16.png
+        skin/classic/browser/theme-switcher-icon.png
         skin/classic/browser/Toolbar.png                             (Toolbar-XP.png)
         skin/classic/browser/Toolbar-inverted.png
         skin/classic/browser/Toolbar-lunaSilver.png
         skin/classic/browser/toolbarbutton-dropdown-arrow.png
         skin/classic/browser/toolbarbutton-dropdown-arrow-inverted.png
         skin/classic/browser/undoCloseTab.png                        (../shared/undoCloseTab.png)
         skin/classic/browser/undoCloseTab@2x.png                     (../shared/undoCloseTab@2x.png)
         skin/classic/browser/urlbar-arrow.png
@@ -494,16 +495,18 @@ browser.jar:
         skin/classic/aero/browser/privatebrowsing-mask-titlebar-XPVista7.png
         skin/classic/aero/browser/privatebrowsing-mask-titlebar-XPVista7-tall.png
         skin/classic/aero/browser/reload-stop-go.png
         skin/classic/aero/browser/searchbar.css
         skin/classic/aero/browser/searchbar-dropdown-arrow.png       (searchbar-dropdown-arrow-aero.png)
         skin/classic/aero/browser/Secure24.png                       (Secure24-aero.png)
         skin/classic/aero/browser/setDesktopBackground.css
         skin/classic/aero/browser/slowStartup-16.png
+        skin/classic/aero/browser/theme-switcher-icon.png
+        skin/classic/aero/browser/theme-switcher-icon-aero.png
         skin/classic/aero/browser/Toolbar.png
         skin/classic/aero/browser/Toolbar-inverted.png
         skin/classic/aero/browser/Toolbar-aero.png
         skin/classic/aero/browser/toolbarbutton-dropdown-arrow.png
         skin/classic/aero/browser/toolbarbutton-dropdown-arrow-inverted.png
         skin/classic/aero/browser/undoCloseTab.png                        (../shared/undoCloseTab.png)
         skin/classic/aero/browser/undoCloseTab@2x.png                     (../shared/undoCloseTab@2x.png)
         skin/classic/aero/browser/urlbar-arrow.png
@@ -848,13 +851,16 @@ browser.jar:
 % override chrome://browser/skin/Toolbar.png               chrome://browser/skin/Toolbar-aero.png                  os=WINNT osversion=6.1
 
 % override chrome://browser/skin/menuPanel.png             chrome://browser/skin/menuPanel-aero.png                os=WINNT osversion=6
 % override chrome://browser/skin/menuPanel.png             chrome://browser/skin/menuPanel-aero.png                os=WINNT osversion=6.1
 
 % override chrome://browser/skin/menuPanel-small.png       chrome://browser/skin/menuPanel-small-aero.png          os=WINNT osversion=6
 % override chrome://browser/skin/menuPanel-small.png       chrome://browser/skin/menuPanel-small-aero.png          os=WINNT osversion=6.1
 
+% override chrome://browser/skin/theme-switcher-icon.png   chrome://browser/skin/theme-switcher-icon-aero.png      os=WINNT osversion=6
+% override chrome://browser/skin/theme-switcher-icon.png   chrome://browser/skin/theme-switcher-icon-aero.png      os=WINNT osversion=6.1
+
 % override chrome://browser/skin/sync-horizontalbar.png          chrome://browser/skin/sync-horizontalbar-XPVista7.png          os=WINNT osversion<6.2
 % override chrome://browser/skin/syncProgress-horizontalbar.png  chrome://browser/skin/syncProgress-horizontalbar-XPVista7.png  os=WINNT osversion<6.2
 
 % override chrome://browser/skin/loop/toolbar.png          chrome://browser/skin/loop/toolbar-XPVista7.png         os=WINNT osversion=6
 % override chrome://browser/skin/loop/toolbar.png          chrome://browser/skin/loop/toolbar-XPVista7.png         os=WINNT osversion=6.1
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..57a49930e7310a23f9b7c84a88cb60d5f93ceb1b
GIT binary patch
literal 1850
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
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0b356426ca50987a1c65fcd0f5f4d02d97a9f11e
GIT binary patch
literal 651
zc$@)?0(AX}P)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F80006~Nkl<ZcmdVd
zOGp+`7>Ds!{gNU{Nu-5z!EO{;AwgvYT?nj|gkVIGMHgFS3o{D>TU4tu#1<6=Qr4yx
zQ7%M<0wJV?7S#s@5oKa3i4hs8pKs4%7KdSma}Fxez;8DL&tW#_FaOPR?)-%WcA)`X
z=*Jj_kwhD6Q3!G6@=_+M(F=9-8s$jy4hVfzj1SPjcihH7Y`_u}pcs{Sh!JR@0}Fft
zvTzoH!x)3&8;)ZZ#3C10@CS-P+`%%JfI9Rb4_k2zN05VsxPdoV46#^>SJ1!!HrWD_
zP&~&DRAN8M(T@~1LmVVfgLlwC3Z-!YGm(PE!BdEbx#)o!hL9T-kPWqXflP>pGHA%<
zsDQOl2cOX%I0~^y$498)ZB#%T)Q>{|P!BbXBEt+=4)yR8)euMfpds02KrPf!7ZyPr
ztw0Ghq}&X60CiLa@vt48(2%4Va35;%3D-~t@vsIOVcZO8fm+l+e4!8;;g=cE3AK0x
z@r5F&?H4pd9bCt3NMIf6a0c@r5e`8kG@Ai?p^k>oj`vVQALc*|`S=2jaKH@6gHA#d
zN|6pRR6rw)AO}GJ&<*vJ#BNB8XV3_bA>n|NP>XR?V<QS6aj*p%qctiZ3xiOL3Eaa@
zBp@NhXv9}&jH_mVsS4`o2X3JPdvF3x7<M>7QCvV8I-t|2(RM4&#{hI1+(m}VE?A8|
z=oI;lTBP|5llgcFodVnZmk}@nmoNtPg%nOtZkhor(Six6gHb%ediQDOW)&`?9<As_
lH*TT<r%-}y|8e?{`~})ObglUoo$vqv002ovPDHLkV1jHA1aJTV