]> git.rmz.io Git - dotfiles.git/blobdiff - dwb/greasemonkey/ponyhoof.user.js
add rules and autostart for "dwb -r social"
[dotfiles.git] / dwb / greasemonkey / ponyhoof.user.js
index c71c00bf71efc2da58d4ba85d7e8ca4a69d85842..433d15cf83ca7dc9a095cd85c4adb51aca17613c 100644 (file)
@@ -2,7 +2,7 @@
 // @name        Ponyhoof
 // @namespace   http://www.facebook.com/ponyhoof
 // @run-at      document-start
 // @name        Ponyhoof
 // @namespace   http://www.facebook.com/ponyhoof
 // @run-at      document-start
-// @version     1.631
+// @version     1.651
 // @installURL  https://hoof.little.my/files/ponyhoof.user.js
 // @updateURL   https://hoof.little.my/files/ponyhoof.meta.js
 // @icon        https://hoof.little.my/files/app32.png
 // @installURL  https://hoof.little.my/files/ponyhoof.user.js
 // @updateURL   https://hoof.little.my/files/ponyhoof.meta.js
 // @icon        https://hoof.little.my/files/app32.png
@@ -13,7 +13,7 @@
 // @contributor James
 // @contributor http://ponyhoof.little.my/credits
 // @homepage    http://ponyhoof.little.my
 // @contributor James
 // @contributor http://ponyhoof.little.my/credits
 // @homepage    http://ponyhoof.little.my
-// @supportURL  http://www.facebook.com/Ponyhoof
+// @supportURL  https://www.facebook.com/Ponyhoof
 // @contributionURL http://ponyhoof.little.my/donate
 // @include http://*.facebook.com/*
 // @include https://*.facebook.com/*
 // @contributionURL http://ponyhoof.little.my/donate
 // @include http://*.facebook.com/*
 // @include https://*.facebook.com/*
 
 
 (function() {
 
 
 (function() {
+       if (typeof WScript !== 'undefined' && typeof window === 'undefined') {
+               WScript.echo("Ponyhoof is not run by double-clicking a file in Windows.\n\nPlease visit http://jointheherd.little.my for proper installation.");
+               WScript.quit(1);
+       }
+
        if (window.location.hostname.indexOf('facebook.com') == -1 && window.location.hostname.indexOf('little.my') == -1) {
                return;
        }
        if (window.location.hostname.indexOf('facebook.com') == -1 && window.location.hostname.indexOf('little.my') == -1) {
                return;
        }
@@ -205,14 +210,10 @@ function clickLink(el) {
                return false;
        }
        
                return false;
        }
        
-       try {
-               var evt = d.createEvent('MouseEvents');
-               evt.initMouseEvent('click', true, true, w, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
-               el.dispatchEvent(evt);
-               return true;
-       } catch (e) {
-               return false;
-       }
+       var evt = d.createEvent('MouseEvents');
+       evt.initMouseEvent('click', true, true, USW, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
+       el.dispatchEvent(evt);
+       return true;
 }
 
 function cookie(n) {
 }
 
 function cookie(n) {
@@ -574,7 +575,7 @@ var Menu = function(id, p) {
                css += '.ponyhoof_menuitem:hover, .ponyhoof_menuitem:active, .ponyhoof_menuitem:focus {background-color:#6d84b4;border-color:#3b5998;color:#fff;text-decoration:none;}';
                css += '.ponyhoof_menuitem_checked {background-position:0 -146px;font-weight:bold;}';
                css += '.ponyhoof_menuitem_checked:hover, .ponyhoof_menuitem_checked:active, .ponyhoof_menuitem_checked:focus {background-position:0 -206px;}';
                css += '.ponyhoof_menuitem:hover, .ponyhoof_menuitem:active, .ponyhoof_menuitem:focus {background-color:#6d84b4;border-color:#3b5998;color:#fff;text-decoration:none;}';
                css += '.ponyhoof_menuitem_checked {background-position:0 -146px;font-weight:bold;}';
                css += '.ponyhoof_menuitem_checked:hover, .ponyhoof_menuitem_checked:active, .ponyhoof_menuitem_checked:focus {background-position:0 -206px;}';
-               css += '.ponyhoof_menuitem_span {white-space:nowrap;text-overflow:ellipsis;display:inline-block;overflow:hidden;padding-right:16px;max-width:400px;}';
+               css += '.ponyhoof_menuitem_span {white-space:nowrap;text-overflow:ellipsis;display:inline-block;overflow:hidden;padding-right:16px;max-width:400px;vertical-align:top;}';
 
                css += '.ponyhoof_button_clipped .uiButtonText {text-overflow:ellipsis;overflow:hidden;}';
 
 
                css += '.ponyhoof_button_clipped .uiButtonText {text-overflow:ellipsis;overflow:hidden;}';
 
@@ -590,7 +591,7 @@ var Menu = function(id, p) {
                        addClass(k.menuInner.parentNode, 'overflow');
                }
 
                        addClass(k.menuInner.parentNode, 'overflow');
                }
 
-               if (k.canSearch) {
+               if (k.canSearch && !ISMOBILE) {
                        var scrollTop = k.selectorMenu.scrollTop;
                        k.menuSearchInput.focus();
                        k.menuSearchInput.select();
                        var scrollTop = k.selectorMenu.scrollTop;
                        k.menuSearchInput.focus();
                        k.menuSearchInput.select();
@@ -956,7 +957,7 @@ var Dialog = function(id) {
                                k.onclosefinish();
                        });
                        if (callback) {
                                k.onclosefinish();
                        });
                        if (callback) {
-                               log("Legacy dialog close code found");
+                               log("Legacy dialog close code found [Dialog.close()]");
                        }
 
                        if (ISOPERA) {
                        }
 
                        if (ISOPERA) {
@@ -1041,7 +1042,7 @@ var Dialog = function(id) {
                k.dialog.querySelector('.bottom .uiButton').addEventListener('click', function(e) {
                        k.close(function() {
                                if (callback) {
                k.dialog.querySelector('.bottom .uiButton').addEventListener('click', function(e) {
                        k.close(function() {
                                if (callback) {
-                                       log("Legacy dialog close code found");
+                                       log("Legacy dialog close code found [Dialog.addCloseButton()]");
                                        callback();
                                }
                        });
                                        callback();
                                }
                        });
@@ -1106,6 +1107,8 @@ var Dialog = function(id) {
 
 function createSimpleDialog(id, title, message) {
        if (DIALOGS[id]) {
 
 function createSimpleDialog(id, title, message) {
        if (DIALOGS[id]) {
+               DIALOGS[id].changeTitle(title);
+               DIALOGS[id].changeContent(message);
                DIALOGS[id].show();
                return DIALOGS[id];
        }
                DIALOGS[id].show();
                return DIALOGS[id];
        }
@@ -1180,7 +1183,7 @@ var isPageHidden = function() {
 };
        // http://www.myersdaily.org/joseph/javascript/md5.js
 function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-680876936),e=ff(e,b,a,d,c[1],12,-389564586),d=ff(d,e,b,a,c[2],17,606105819),a=ff(a,d,e,b,c[3],22,-1044525330),b=ff(b,a,d,e,c[4],7,-176418897),e=ff(e,b,a,d,c[5],12,1200080426),d=ff(d,e,b,a,c[6],17,-1473231341),a=ff(a,d,e,b,c[7],22,-45705983),b=ff(b,a,d,e,c[8],7,1770035416),e=ff(e,b,a,d,c[9],12,-1958414417),d=ff(d,e,b,a,c[10],17,-42063),a=ff(a,d,e,b,c[11],22,-1990404162),b=ff(b,a,d,e,c[12],7,1804603682),e=ff(e,b,a,d,c[13],12,-40341101),d=ff(d,e,b,a,c[14],17,-1502002290),a=ff(a,d,e,b,c[15],22,1236535329),b=gg(b,a,d,e,c[1],5,-165796510),e=gg(e,b,a,d,c[6],9,-1069501632),d=gg(d,e,b,a,c[11],14,643717713),a=gg(a,d,e,b,c[0],20,-373897302),b=gg(b,a,d,e,c[5],5,-701558691),e=gg(e,b,a,d,c[10],9,38016083),d=gg(d,e,b,a,c[15],14,-660478335),a=gg(a,d,e,b,c[4],20,-405537848),b=gg(b,a,d,e,c[9],5,568446438),e=gg(e,b,a,d,c[14],9,-1019803690),d=gg(d,e,b,a,c[3],14,-187363961),a=gg(a,d,e,b,c[8],20,1163531501),b=gg(b,a,d,e,c[13],5,-1444681467),e=gg(e,b,a,d,c[2],9,-51403784),d=gg(d,e,b,a,c[7],14,1735328473),a=gg(a,d,e,b,c[12],20,-1926607734),b=hh(b,a,d,e,c[5],4,-378558),e=hh(e,b,a,d,c[8],11,-2022574463),d=hh(d,e,b,a,c[11],16,1839030562),a=hh(a,d,e,b,c[14],23,-35309556),b=hh(b,a,d,e,c[1],4,-1530992060),e=hh(e,b,a,d,c[4],11,1272893353),d=hh(d,e,b,a,c[7],16,-155497632),a=hh(a,d,e,b,c[10],23,-1094730640),b=hh(b,a,d,e,c[13],4,681279174),e=hh(e,b,a,d,c[0],11,-358537222),d=hh(d,e,b,a,c[3],16,-722521979),a=hh(a,d,e,b,c[6],23,76029189),b=hh(b,a,d,e,c[9],4,-640364487),e=hh(e,b,a,d,c[12],11,-421815835),d=hh(d,e,b,a,c[15],16,530742520),a=hh(a,d,e,b,c[2],23,-995338651),b=ii(b,a,d,e,c[0],6,-198630844),e=ii(e,b,a,d,c[7],10,1126891415),d=ii(d,e,b,a,c[14],15,-1416354905),a=ii(a,d,e,b,c[5],21,-57434055),b=ii(b,a,d,e,c[12],6,1700485571),e=ii(e,b,a,d,c[3],10,-1894986606),d=ii(d,e,b,a,c[10],15,-1051523),a=ii(a,d,e,b,c[1],21,-2054922799),b=ii(b,a,d,e,c[8],6,1873313359),e=ii(e,b,a,d,c[15],10,-30611744),d=ii(d,e,b,a,c[6],15,-1560198380),a=ii(a,d,e,b,c[13],21,1309151649),b=ii(b,a,d,e,c[4],6,-145523070),e=ii(e,b,a,d,c[11],10,-1120210379),d=ii(d,e,b,a,c[2],15,718787259),a=ii(a,d,e,b,c[9],21,-343485551);f[0]=add32(b,f[0]);f[1]=add32(a,f[1]);f[2]=add32(d,f[2]);f[3]=add32(e,f[3])}function cmn(f,c,b,a,d,e){c=add32(add32(c,f),add32(a,e));return add32(c<<d|c>>>32-d,b)}function ff(f,c,b,a,d,e,g){return cmn(c&b|~c&a,f,c,d,e,g)}function gg(f,c,b,a,d,e,g){return cmn(c&a|b&~a,f,c,d,e,g)}function hh(f,c,b,a,d,e,g){return cmn(c^b^a,f,c,d,e,g)}function ii(f,c,b,a,d,e,g){return cmn(b^(c|~a),f,c,d,e,g)}function md51(f){var txt="";var c=f.length,b=[1732584193,-271733879,-1732584194,271733878],a;for(a=64;a<=f.length;a+=64)md5cycle(b,md5blk(f.substring(a-64,a)));f=f.substring(a-64);var d=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(a=0;a<f.length;a++)d[a>>2]|=f.charCodeAt(a)<<(a%4<<3);d[a>>2]|=128<<(a%4<<3);if(55<a){md5cycle(b,d);for(a=0;16>a;a++)d[a]=0}d[14]=8*c;md5cycle(b,d);return b}function md5blk(f){var c=[],b;for(b=0;64>b;b+=4)c[b>>2]=f.charCodeAt(b)+(f.charCodeAt(b+1)<<8)+(f.charCodeAt(b+2)<<16)+(f.charCodeAt(b+3)<<24);return c}var hex_chr="0123456789abcdef".split("");function rhex(f){for(var c="",b=0;4>b;b++)c+=hex_chr[f>>8*b+4&15]+hex_chr[f>>8*b&15];return c}function hex(f){for(var c=0;c<f.length;c++)f[c]=rhex(f[c]);return f.join("")}function md5(f){return hex(md51(f))}function add32(f,c){return f+c&4294967295}"5d41402abc4b2a76b9719d911017c592"!=md5("hello")&&(add32=function(f,c){var b=(f&65535)+(c&65535);return(f>>16)+(c>>16)+(b>>16)<<16|b&65535});        
 };
        // http://www.myersdaily.org/joseph/javascript/md5.js
 function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-680876936),e=ff(e,b,a,d,c[1],12,-389564586),d=ff(d,e,b,a,c[2],17,606105819),a=ff(a,d,e,b,c[3],22,-1044525330),b=ff(b,a,d,e,c[4],7,-176418897),e=ff(e,b,a,d,c[5],12,1200080426),d=ff(d,e,b,a,c[6],17,-1473231341),a=ff(a,d,e,b,c[7],22,-45705983),b=ff(b,a,d,e,c[8],7,1770035416),e=ff(e,b,a,d,c[9],12,-1958414417),d=ff(d,e,b,a,c[10],17,-42063),a=ff(a,d,e,b,c[11],22,-1990404162),b=ff(b,a,d,e,c[12],7,1804603682),e=ff(e,b,a,d,c[13],12,-40341101),d=ff(d,e,b,a,c[14],17,-1502002290),a=ff(a,d,e,b,c[15],22,1236535329),b=gg(b,a,d,e,c[1],5,-165796510),e=gg(e,b,a,d,c[6],9,-1069501632),d=gg(d,e,b,a,c[11],14,643717713),a=gg(a,d,e,b,c[0],20,-373897302),b=gg(b,a,d,e,c[5],5,-701558691),e=gg(e,b,a,d,c[10],9,38016083),d=gg(d,e,b,a,c[15],14,-660478335),a=gg(a,d,e,b,c[4],20,-405537848),b=gg(b,a,d,e,c[9],5,568446438),e=gg(e,b,a,d,c[14],9,-1019803690),d=gg(d,e,b,a,c[3],14,-187363961),a=gg(a,d,e,b,c[8],20,1163531501),b=gg(b,a,d,e,c[13],5,-1444681467),e=gg(e,b,a,d,c[2],9,-51403784),d=gg(d,e,b,a,c[7],14,1735328473),a=gg(a,d,e,b,c[12],20,-1926607734),b=hh(b,a,d,e,c[5],4,-378558),e=hh(e,b,a,d,c[8],11,-2022574463),d=hh(d,e,b,a,c[11],16,1839030562),a=hh(a,d,e,b,c[14],23,-35309556),b=hh(b,a,d,e,c[1],4,-1530992060),e=hh(e,b,a,d,c[4],11,1272893353),d=hh(d,e,b,a,c[7],16,-155497632),a=hh(a,d,e,b,c[10],23,-1094730640),b=hh(b,a,d,e,c[13],4,681279174),e=hh(e,b,a,d,c[0],11,-358537222),d=hh(d,e,b,a,c[3],16,-722521979),a=hh(a,d,e,b,c[6],23,76029189),b=hh(b,a,d,e,c[9],4,-640364487),e=hh(e,b,a,d,c[12],11,-421815835),d=hh(d,e,b,a,c[15],16,530742520),a=hh(a,d,e,b,c[2],23,-995338651),b=ii(b,a,d,e,c[0],6,-198630844),e=ii(e,b,a,d,c[7],10,1126891415),d=ii(d,e,b,a,c[14],15,-1416354905),a=ii(a,d,e,b,c[5],21,-57434055),b=ii(b,a,d,e,c[12],6,1700485571),e=ii(e,b,a,d,c[3],10,-1894986606),d=ii(d,e,b,a,c[10],15,-1051523),a=ii(a,d,e,b,c[1],21,-2054922799),b=ii(b,a,d,e,c[8],6,1873313359),e=ii(e,b,a,d,c[15],10,-30611744),d=ii(d,e,b,a,c[6],15,-1560198380),a=ii(a,d,e,b,c[13],21,1309151649),b=ii(b,a,d,e,c[4],6,-145523070),e=ii(e,b,a,d,c[11],10,-1120210379),d=ii(d,e,b,a,c[2],15,718787259),a=ii(a,d,e,b,c[9],21,-343485551);f[0]=add32(b,f[0]);f[1]=add32(a,f[1]);f[2]=add32(d,f[2]);f[3]=add32(e,f[3])}function cmn(f,c,b,a,d,e){c=add32(add32(c,f),add32(a,e));return add32(c<<d|c>>>32-d,b)}function ff(f,c,b,a,d,e,g){return cmn(c&b|~c&a,f,c,d,e,g)}function gg(f,c,b,a,d,e,g){return cmn(c&a|b&~a,f,c,d,e,g)}function hh(f,c,b,a,d,e,g){return cmn(c^b^a,f,c,d,e,g)}function ii(f,c,b,a,d,e,g){return cmn(b^(c|~a),f,c,d,e,g)}function md51(f){var txt="";var c=f.length,b=[1732584193,-271733879,-1732584194,271733878],a;for(a=64;a<=f.length;a+=64)md5cycle(b,md5blk(f.substring(a-64,a)));f=f.substring(a-64);var d=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(a=0;a<f.length;a++)d[a>>2]|=f.charCodeAt(a)<<(a%4<<3);d[a>>2]|=128<<(a%4<<3);if(55<a){md5cycle(b,d);for(a=0;16>a;a++)d[a]=0}d[14]=8*c;md5cycle(b,d);return b}function md5blk(f){var c=[],b;for(b=0;64>b;b+=4)c[b>>2]=f.charCodeAt(b)+(f.charCodeAt(b+1)<<8)+(f.charCodeAt(b+2)<<16)+(f.charCodeAt(b+3)<<24);return c}var hex_chr="0123456789abcdef".split("");function rhex(f){for(var c="",b=0;4>b;b++)c+=hex_chr[f>>8*b+4&15]+hex_chr[f>>8*b&15];return c}function hex(f){for(var c=0;c<f.length;c++)f[c]=rhex(f[c]);return f.join("")}function md5(f){return hex(md51(f))}function add32(f,c){return f+c&4294967295}"5d41402abc4b2a76b9719d911017c592"!=md5("hello")&&(add32=function(f,c){var b=(f&65535)+(c&65535);return(f>>16)+(c>>16)+(b>>16)<<16|b&65535});        
-       var VERSION = 1.631;
+       var VERSION = 1.651;
        var FRIENDLYNAME = 'P'+'onyh'+'oof';
        var SIG = '['+FRIENDLYNAME+' v'+VERSION+']';
        var DISTRIBUTION = 'userjs';
        var FRIENDLYNAME = 'P'+'onyh'+'oof';
        var SIG = '['+FRIENDLYNAME+' v'+VERSION+']';
        var DISTRIBUTION = 'userjs';
@@ -1198,6 +1201,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
        var CURRENTLANG = {};
        var ISUSINGPAGE = false;
        var ISUSINGBUSINESS = false;
        var CURRENTLANG = {};
        var ISUSINGPAGE = false;
        var ISUSINGBUSINESS = false;
+       var ONPLUGINPAGE = false;
 
        var SETTINGSPREFIX = '';
        var globalSettings = {};
 
        var SETTINGSPREFIX = '';
        var globalSettings = {};
@@ -1207,9 +1211,9 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                'globalSettingsMigrated':false, 'lastUserId':0, 'lastVersion':''
        };
        
                'globalSettingsMigrated':false, 'lastUserId':0, 'lastVersion':''
        };
        
-       var PONIES = [{"code":"trixie","name":"Trixie","users":["trixie"],"menu_title":"The Great and Powerful Trixie demands your attention!","color":["6e98b4","3a7196"],"icon16":"trixie\/icon16_2.png","soundNotif":"trixie\/notif","loadingText":"Performing magic..."},{"code":"twilight","name":"Twilight Sparkle","users":["twilight","spark","tw\u0131l\u0131ght","twilite","twi light","\u0162wilight"],"search":"twilight sparkle|twilightsparkle|princess twilight","menu_title":"To switch to Princess Twilight, go to Misc > Appearance","color":["9f6eb4","7a3a96"],"mane6":true,"loadingText":"Studying friendship..."},{"code":"dash","name":"Rainbow Dash","users":["rainbow","dash"],"search":"rainbow dash|rainbowdash|dashie","color":["6e9db4","3a7796"],"soundNotif":"dash\/notif","mane6":true,"loadingText":"Loading... in ten seconds flat!","successText":"Aww yeah!"},{"code":"pinkie","name":"Pinkie Pie","users":["pink"],"search":"pinkie pie|pinkiepie|pinkamena diane pie","color":["b46e8a","963a5f"],"soundNotif":"pinkie\/notif2","mane6":true,"loadingText":"Come on everypony!"},{"code":"applej","name":"Applejack","users":["apple j","applej"],"search":"applejack|apple jack","color":["b4976e","96703a"],"soundNotif":"applej\/notif2","mane6":true,"loadingText":"Hold on there sugarcube!","successText":"Yeehaw!"},{"code":"flutter","name":"Fluttershy","users":["flutter","flut ter"],"search":"fluttershy|flutter shy","color":["b4ae6e","968e3a"],"soundNotif":"flutter\/notif2","mane6":true,"loadingText":"Screaming...","successText":"Yay!"},{"code":"rarity","name":"Rarity","users":["rarity"],"color":["9b6eb4","763a96"],"soundNotif":"rarity\/notif","mane6":true,"loadingText":"Whining...","seperator":true},{"code":"applebloom","name":"Apple Bloom","users":["appleb","apple b"],"search":"apple bloom|applebloom|cmc|cutie mark crusaders","color":["b46e8d","963a63"],"soundNotif":"applebloom\/notif","loadingText":"Getting her cutie mark...","nocutie":true},{"code":"aloe","name":"Aloe","users":["aloe"],"search":"aloe|spa pony|spa ponies","color":["b46e91","963a68"]},{"code":"babsseed","name":"Babs Seed","users":["babs","seed"],"search":"babs seed|babsseed|cmc|cutie mark crusaders","color":["b4976e","96703a"],"nocutie":true},{"code":"berry","name":"Berry Punch","users":["berry"],"color":["a56eb4","823a96"]},{"code":"bigmac","name":"Big Macintosh","users":["bigmac","big mac"],"search":"bigmacintosh|big macintosh|big mcintosh|bigmcintosh","color":["b46e75","963a43"],"soundNotif":"bigmac\/notif","loadingText":"Saying eeyup..."},{"code":"bonbon","name":"Bon Bon","users":["bon bon","bonbon","bon-bon"],"search":"bon bon|bonbon","color":["6e89b4","3a5d96"]},{"code":"braeburn","name":"Braeburn","users":["braeburn","breaburn"],"search":"braeburn|breaburn","color":["b4a86e","96873a"],"icon16":"braeburn\/icon16_2.png"},{"code":"cadance","name":"Cadance","users":["cadance","cadence"],"search":"cadance|cadence|princess cadance|princess cadence","color":["b46e96","963a6e"]},{"code":"carrot","name":"Carrot Top","users":["golden","carrot"],"search":"carrot top|carrottop|golden harvest","menu_title":"Also known as Golden Harvest","color":["b2b46e","93963a"]},{"code":"celestia","name":"Celestia","users":["celestia","trollestia","molestia"],"search":"celestia|princess celestia","color":["b46e98","963a71"],"loadingText":"Raising the sun..."},{"code":"cheerilee","name":"Cheerilee","users":["cheerilee"],"color":["b46e96","963a6e"]},{"code":"colgate","name":"Colgate","users":["colgate","minuette"],"search":"colgate|minuette|minette","menu_title":"Also known as Minuette","color":["6e99b4","3a7396"],"soundNotif":"colgate\/notif","loadingText":"Brushing..."},{"code":"cloudchaser","name":"Cloudchaser","users":["cloudch","cloud ch"],"search":"cloudchaser|cloud chaser|stormwalker|storm walker","menu_title":"Also known as Stormwalker","color":["856eb4","593a96"]},{"code":"daring","name":"Daring Do","users":["daring"],"search":"daring do|daringdo","color":["b4a76e","96853a"]},{"code":"derpy","name":"Derpy Hooves","users":["derpy"],"color":["b4b46e","96963a"],"fbIndex_swf":"derpy\/fbIndex.swf","soundNotif":"derpy\/notif","loadingText":"Wondering what went wrong..."},{"code":"diamondtiara","name":"Diamond Tiara","users":["tiara"],"search":"diamond tiara|diamondtiara","color":["926eb4","6a3a96"],"stack":"villian"},{"code":"discord","name":"Discord","users":["discord"],"color":["b46f6e","963c3a"],"stack":"villian","loadingText":"CHOCOLATE RAIN","nocutie":true},{"code":"whooves","name":"Doctor Whooves","users":["whooves","time turn"],"search":"doctor whooves|doctor hooves|time turner","menu_title":"Also known as Time Turner","color":["b4a06e","967c3a"]},{"code":"fleur","name":"Fleur De Lis","users":["fleur","fluer"],"search":"fleur de lis|fluer de lis|fleur dis lee|fluer dis lee","color":["b46eb4","963a96"]},{"code":"flimflam","name":"Flim and Flam","users":["flim","flam"],"color":["b0b46e","91963a"],"loadingText":"Giving opportunities..."},{"code":"flitter","name":"Flitter","users":["Flitter"],"color":["846eb4","573a96"]},{"code":"gilda","name":"Gilda","users":["gilda"],"color":["b49a6e","96743a"],"stack":"villian","nocutie":true},{"code":"sombra","name":"King Sombra","users":["sombra"],"color":["6eb46e","3a963a"],"stack":"villian","nocutie":true},{"code":"lightningdust","name":"Lightning Dust","users":["lightning"],"color":["6eb4ad","3a968d"]},{"code":"lotus","name":"Lotus","users":["lotus"],"search":"lotus|spa pony|spa ponies","color":["6ea0b4","3a7c96"]},{"code":"luna","name":"Luna","users":["luna"],"search":"luna|princess luna","color":["6e7eb4","3a5096"],"soundNotif":"luna\/notif","loadingText":"Doubling the fun...","successText":"Huzzah!"},{"code":"lyra","name":"Lyra","users":["lyra"],"search":"lyra heartstrings","color":["6eb49d","3a9677"]},{"code":"nightmaremoon","name":"Nightmare Moon","users":["nightmare"],"search":"nightmare moon|nightmaremoon","color":["6e7fb4","3a5196"],"stack":"villian"},{"code":"nurseredheart","name":"Nurse Redheart","users":["nurse","redheart"],"color":["b46e76","963a45"]},{"code":"octavia","name":"Octavia","users":["octavia"],"color":["b4a76e","96853a"]},{"code":"pinkamena","name":"Pinkamena","users":["pinkamena"],"search":"pinkamena diane pie","color":["b46e8c","963a62"],"stack":"villian"},{"code":"chrysalis","name":"Queen Chrysalis","users":["chrysalis"],"search":"queen chrysalis|changeling","color":["6ea2b4","3a7f96"],"stack":"chrysalis","loadingText":"Feeding...","nocutie":true},{"code":"roidrage","name":"Roid Rage","users":["snowflake","roid","rage"],"search":"snowflake|roidrage|roid rage","menu_title":"Also known as Snowflake","color":["b4ae6e","968e3a"],"soundNotif":"_sound\/roidrage_yeah","successText":"YEAH!"},{"code":"rose","name":"Rose","users":["rose"],"search":"roseluck","menu_title":"Also known as Roseluck","color":["b46e8c","963a62"]},{"code":"scootaloo","name":"Scootaloo","users":["scootaloo"],"search":"scootaloo|cmc|cutie mark crusaders|chicken","color":["b4996e","96733a"],"loadingText":"Getting her cutie mark...","nocutie":true},{"code":"shiningarmor","name":"Shining Armor","users":["shining armor"],"search":"shining armor|shiningarmor","color":["6e7bb4","3a4b96"]},{"code":"silverspoon","name":"Silver Spoon","users":["spoon"],"search":"silver spoon|silverspoon","color":["6e97b4","3a7096"],"stack":"villian"},{"code":"soarin","name":"Soarin'","users":["soarin"],"search":"soarin'|wonderbolts","color":["6e9db4","3a7796"]},{"code":"spike","name":"Spike","users":["spike"],"color":["a26eb4","7f3a96"],"nocutie":true},{"code":"spitfire","name":"Spitfire","users":["spitfire"],"search":"spitfire|wonderbolts","color":["b4ae6e","968e3a"],"icon16":"spitfire\/icon16_2.png"},{"code":"sweetieb","name":"Sweetie Belle","users":["sweetieb","sweetie b"],"search":"sweetiebelle|sweetie belle|cmc|cutie mark crusaders","color":["a06eb4","7c3a96"],"soundNotif":"sweetieb\/notif","loadingText":"Getting her cutie mark...","nocutie":true},{"code":"vinyl","name":"Vinyl Scratch","users":["vinyl","vinyx","dj p"],"search":"vinyl scratch|dj pon3|dj-pon3|dj pon 3|dj pon-3","menu_title":"Also known as DJ Pon-3","color":["6ea9b4","3a8896"],"soundNotif":"vinyl\/notif","loadingText":"Wubbing..."},{"code":"zecora","name":"Zecora","users":["zecora"],"color":["b4af6e","96903a"]},{"code":"blank","name":"(Blank)","color":["b46e6e","963a3a"],"hidden":true,"nocutie":true},{"code":"bloomberg","name":"Bloomberg","color":["9fb46e","7a963a"],"hidden":true,"nocutie":true},{"code":"mono","name":"Mono","color":["b46e6e","963a3a"],"stack":"mono","hidden":true},{"code":"taugeh","name":"Taugeh","color":["b4b46e","96963a"],"hidden":true,"nocutie":true}];
-       var LANG = {"af_ZA":{"sniff_comment_tooltip_like":"Hou van hierdie opmerking","sniff_comment_tooltip_unlike":"Hou nie meer van hierdie opmerking nie"},"ar_AR":{"sniff_comment_tooltip_like":"\u0627\u0644\u0625\u0639\u062c\u0627\u0628 \u0628\u0627\u0644\u062a\u0639\u0644\u064a\u0642","sniff_comment_tooltip_unlike":"\u0625\u0644\u063a\u0627\u0621 \u0625\u0639\u062c\u0627\u0628\u064a \u0628\u0647\u0630\u0627 \u0627\u0644\u062a\u0639\u0644\u064a\u0642"},"az_AZ":{"sniff_comment_tooltip_like":"Bu r\u0259yi b\u0259y\u0259n","sniff_comment_tooltip_unlike":"Bu \u015f\u0259rhi b\u0259y\u0259nm\u0259"},"be_BY":{"sniff_comment_tooltip_like":"\u041f\u0430\u0434\u0430\u0431\u0430\u0435\u0446\u0446\u0430","sniff_comment_tooltip_unlike":"\u041c\u043d\u0435 \u0431\u043e\u043b\u044c\u0448 \u043d\u0435 \u043f\u0430\u0434\u0430\u0431\u0430\u0435\u0446\u0446\u0430 \u0433\u044d\u0442\u044b \u043a\u0430\u043c\u044d\u043d\u0442\u0430\u0440"},"bg_BG":{"sniff_comment_tooltip_like":"\u0425\u0430\u0440\u0435\u0441\u0432\u0430\u043c \u0442\u043e\u0437\u0438 \u043a\u043e\u043c\u0435\u043d\u0442\u0430\u0440","sniff_comment_tooltip_unlike":"\u0412\u0435\u0447\u0435 \u043d\u0435 \u0445\u0430\u0440\u0435\u0441\u0432\u0430\u043c"},"bn_IN":{"sniff_comment_tooltip_like":"\u09ae\u09a8\u09cd\u09a4\u09ac\u09cd\u09af\u099f\u09bf \u09ad\u09be\u09b2\u09cb \u09b2\u09c7\u0997\u09c7\u099b\u09c7","sniff_comment_tooltip_unlike":"\u09ad\u09be\u09b2\u09cb \u09b2\u09be\u0997\u09c7\u09a8\u09bf"},"bs_BA":{"sniff_comment_tooltip_like":"Svi\u0111a mi se ovaj komentar","sniff_comment_tooltip_unlike":"Ne svi\u0111a mi se komentar"},"ca_ES":{"sniff_comment_tooltip_like":"M'agrada aquest comentari","sniff_comment_tooltip_unlike":"Ja no m'agrada aquest comentari."},"cs_CZ":{"sniff_comment_tooltip_like":"Tento koment\u00e1\u0159 se mi l\u00edb\u00ed.","sniff_comment_tooltip_unlike":"Koment\u00e1\u0159 se mi u\u017e nel\u00edb\u00ed","close":"Zav\u0159\u00edt"},"cy_GB":{"sniff_comment_tooltip_like":"Hoffi'r sylw hwn","sniff_comment_tooltip_unlike":"Peidio hoffi'r sylw hwn"},"da_DK":{"fb_composer_lessons":"Hvilke lektioner i venskab har du l\u00e6rt idag?","sniff_comment_tooltip_like":"Tilkendegiv, at du synes godt om denne kommentar","sniff_comment_tooltip_unlike":"Synes ikke godt om denne kommentar l\u00e6ngere","close":"Luk"},"de_DE":{"fb_composer_lessons":"Welche Lektionen \u00fcber Freundschaft hast Du heute gelernt?","sniff_comment_tooltip_like":"Dieser Kommentar gef\u00e4llt mir","sniff_comment_tooltip_unlike":"Dieser Kommentar gef\u00e4llt mir nicht mehr","close":"Schlie\u00dfen"},"el_GR":{"sniff_comment_tooltip_like":"\u039c\u03bf\u03c5 \u03b1\u03c1\u03ad\u03c3\u03b5\u03b9 \u03b1\u03c5\u03c4\u03cc \u03c4\u03bf \u03c3\u03c7\u03cc\u03bb\u03b9\u03bf","sniff_comment_tooltip_unlike":"\"\u0394\u03b5\u03bd \u03bc\u03bf\u03c5 \u03b1\u03c1\u03ad\u03c3\u03b5\u03b9!\" \u03b1\u03c5\u03c4\u03cc \u03c4\u03bf \u03c3\u03c7\u03cc\u03bb\u03b9\u03bf"},"en_PI":{"sniff_comment_tooltip_like":"This comment be pleasin","sniff_comment_tooltip_unlike":"Care not fer such trifles"},"en_US":{"fb_composer_lessons":"What lessons in friendship have you learned today?","fb_comment_box":"Write a friendship letter...","fb_search_box":"Search for ponies, places and things","fb_search_boxAlt":"Type to search for ponies, places and things","fb_composer_coolstory":"Write a cool story...","fb_composer_ponies":"Ponies!","fb_composer_ponies_caps":"PONIES!!!","fb_share_tooltip":"Remember! You gotta share... You gotta care...","sniff_comment_tooltip_like":"Like this comment","sniff_comment_tooltip_unlike":"Unlike this comment","sniff_fb_search_boxAlt":"Type to search","close":"Close","reloadNow":"Reload now","notNow":"Not now","invertSelection":"Invert selection","finish":"Finish","done":"Eeyup","options_title":"Ponyhoof Options","options_tabs_main":"General","options_tabs_background":"Background","options_tabs_sounds":"Sounds","options_tabs_extras":"Misc","options_tabs_advanced":"Debug","options_tabs_about":"About","settings_disable_runForNewUsers_explain":"If you enable this, Ponyhoof will not automatically run for other Facebook accounts that did not activate Ponyhoof yet. They can still open Ponyhoof Options to re-enable Ponyhoof if they wish to.","settings_extras_login_bg":"Use alternate background","settings_sounds":"Play sounds (e.g. notifications and dialogs)","settings_sounds_noNotification":"Play sounds (e.g. dialogs)","settings_extras_runForNewUsers_explain":"If you disable this, Ponyhoof will not automatically run for other Facebook accounts that did not activate Ponyhoof yet. They can still open Ponyhoof Options to re-enable Ponyhoof if they wish to.","settings_main_visitPage":"Visit the Ponyhoof page for news and help","settings_main_visitPageBusiness":"Visit the Ponyhoof page for news","settings_sounds_unavailable":"Notification sounds are not available on your browser. Please update your browser if possible.","updater_title":"Update Ponyhoof","costume_tooltip":"Limited to certain characters only"},"eo_EO":{"sniff_comment_tooltip_like":"\u015cati \u0109i tiun komenton","sniff_comment_tooltip_unlike":"Ne plu \u015dati \u0109i tiun komenton"},"es_ES":{"sniff_comment_tooltip_like":"Me gusta este comentario","sniff_comment_tooltip_unlike":"Ya no me gusta este comentario","close":"Cerrar"},"es_LA":{"fb_composer_lessons":"\u00bfQue has aprendido hoy sobre la amistad?","fb_comment_box":"Escribe un reporte de amistad...","sniff_comment_tooltip_like":"Me gusta este comentario","sniff_comment_tooltip_unlike":"Ya no me gusta este comentario","close":"Cerrar"},"et_EE":{"sniff_comment_tooltip_like":"Meeldib see kommentaar","sniff_comment_tooltip_unlike":"Ei meeldi enam"},"eu_ES":{"sniff_comment_tooltip_like":"Iruzkin hau atsegin dut","sniff_comment_tooltip_unlike":"Iruzkin hau desatsegin"},"fa_IR":{"sniff_comment_tooltip_like":"\u0627\u06cc\u0646 \u062f\u06cc\u062f\u06af\u0627\u0647 \u0631\u0627 \u0645\u06cc\u200c\u067e\u0633\u0646\u062f\u0645","sniff_comment_tooltip_unlike":"\u0627\u06cc\u0646 \u062f\u06cc\u062f\u06af\u0627\u0647 \u0631\u0627 \u0646\u067e\u0633\u0646\u062f\u06cc\u062f\u0645"},"fb_LT":{"fb_composer_lessons":"W|-|47 \u00a33550|\\|5 !|\\| |=|2!3|\\||)5|-|!|* |-|4\\\/3 '\/0|_| \u00a334|2|\\|3|) 70|)4'\/?","fb_comment_box":"W|2!73 4 |=|2!3|\\||)5|-|!|* \u00a33773|2...","fb_search_box":"S34|2(|-| |=0|2 |*0|\\|!35, |*\u00a34(35 4|\\||) 7|-|!|\\|95","fb_search_boxAlt":"T'\/|*3 70 534|2(|-| |=0|2 |*0|\\|!35, |*\u00a34(35 4|\\||) 7|-|!|\\|95","fb_composer_coolstory":"W|2!73 4 (00\u00a3 570|2'\/...","fb_composer_ponies":"P0|\\|!35!","fb_composer_ponies_caps":"PONIES!!!","fb_share_tooltip":"R3|\\\/|3|\\\/|83|2! Y0|_| 90774 5|-|4|23... Y0|_| 90774 (4|23...","close":"Alt+F4","reloadNow":"R3\u00a304|) |\\|0vv","notNow":"N07 |\\|0vv","invertSelection":"I|\\|\\\/3|27 53\u00a33(7!0|\\|","finish":"F!|\\|!5|-|","done":"E3'\/|_||*","options_title":"P0|\\|'\/|-|00|= O|*7!0|\\|5","options_tabs_main":"G3|\\|3|24\u00a3","options_tabs_background":"B4(k9|20|_||\\||)","options_tabs_sounds":"S0|_||\\||)5","options_tabs_extras":"M!5(","options_tabs_advanced":"D38|_|9","options_tabs_about":"A80|_|7","settings_disable_runForNewUsers_explain":"I|= '\/0|_| 3|\\|48\u00a33 7|-|!5, P0|\\|'\/|-|00|= vv!\u00a3\u00a3 |\\|07 4|_|70|\\\/|47!(4\u00a3\u00a3'\/ |2|_||\\| |=0|2 07|-|3|2 F4(3800k 4((0|_||\\|75 7|-|47 |)!|) |\\|07 4(7!\\\/473 P0|\\|'\/|-|00|= '\/37. T|-|3'\/ (4|\\| 57!\u00a3\u00a3 0|*3|\\| P0|\\|'\/|-|00|= O|*7!0|\\|5 70 |23-3|\\|48\u00a33 P0|\\|'\/|-|00|= !|= 7|-|3'\/ vv!5|-| 70.","settings_extras_login_bg":"U53 4\u00a373|2|\\|473 84(k9|20|_||\\||)","settings_sounds":"P\u00a34'\/ 50|_||\\||)5 (3.9. |\\|07!|=!(47!0|\\|5 4|\\||) |)!4\u00a3095)","settings_sounds_noNotification":"P\u00a34'\/ 50|_||\\||)5 (3.9. |)!4\u00a3095)","settings_extras_runForNewUsers_explain":"I|= '\/0|_| |)!548\u00a33 7|-|!5, P0|\\|'\/|-|00|= vv!\u00a3\u00a3 |\\|07 4|_|70|\\\/|47!(4\u00a3\u00a3'\/ |2|_||\\| |=0|2 07|-|3|2 F4(3800k 4((0|_||\\|75 7|-|47 |)!|) |\\|07 4(7!\\\/473 P0|\\|'\/|-|00|= '\/37. T|-|3'\/ (4|\\| 57!\u00a3\u00a3 0|*3|\\| P0|\\|'\/|-|00|= O|*7!0|\\|5 70 |23-3|\\|48\u00a33 P0|\\|'\/|-|00|= !|= 7|-|3'\/ vv!5|-| 70.","settings_main_visitPage":"V!5!7 7|-|3 P0|\\|'\/|-|00|= |*493 |=0|2 |\\|3vv5 4|\\||) |-|3\u00a3|*","settings_main_visitPageBusiness":"V!5!7 7|-|3 P0|\\|'\/|-|00|= |*493 |=0|2 |\\|3vv5","settings_sounds_unavailable":"N07!|=!(47!0|\\| 50|_||\\||)5 4|23 |\\|07 4\\\/4!\u00a348\u00a33 0|\\| '\/0|_||2 8|20vv53|2. P\u00a33453 |_||*|)473 '\/0|_||2 8|20vv53|2 !|= |*055!8\u00a33.","updater_title":"U|*|)473 P0|\\|'\/|-|00|=","costume_tooltip":"L!|\\\/|!73|) 70 (3|274!|\\| (|-|4|24(73|25 0|\\|\u00a3'\/","sniff_comment_tooltip_like":"<3"},"fi_FI":{"fb_composer_lessons":"Mit\u00e4 oppeja yst\u00e4vyydest\u00e4 olet oppinut t\u00e4n\u00e4\u00e4n?","sniff_comment_tooltip_like":"Tykk\u00e4\u00e4 t\u00e4st\u00e4 kommentista","sniff_comment_tooltip_unlike":"En tykk\u00e4\u00e4k\u00e4\u00e4n","close":"Sulje"},"fo_FO":{"sniff_comment_tooltip_like":"M\u00e6r d\u00e1mar vi\u00f0merkingina"},"fr_CA":{"fb_composer_lessons":"Quelles le\u00e7ons sur l'amiti\u00e9 avez-vous appris aujourd'hui ?","sniff_comment_tooltip_like":"J\u2019aime ce commentaire","sniff_comment_tooltip_unlike":"Je n\u2019aime plus ce commentaire","close":"Fermer"},"fr_FR":{"fb_composer_lessons":"Quelles le\u00e7ons sur l'amiti\u00e9 avez-vous appris aujourd'hui ?","sniff_comment_tooltip_like":"J\u2019aime ce commentaire","sniff_comment_tooltip_unlike":"Je n\u2019aime plus ce commentaire","close":"Fermer"},"fy_NL":{"sniff_comment_tooltip_like":"Leuke reaksje","sniff_comment_tooltip_unlike":"Ik mei net mear oer dit berjocht"},"ga_IE":{"fb_composer_lessons":"cad ceachtanna i cairdeas ad'fhoghlaim t\u00fa inniu?","sniff_comment_tooltip_like":"L\u00e9irigh gur maith leat an tr\u00e1cht seo","sniff_comment_tooltip_unlike":"N\u00ed maith liom an tr\u00e1cht seo","close":"D\u00fan"},"gl_ES":{"sniff_comment_tooltip_like":"G\u00fastame este comentario","sniff_comment_tooltip_unlike":"Xa non me gusta"},"he_IL":{"fb_composer_lessons":"\u05d0\u05d9\u05dc\u05d5 \u05dc\u05e7\u05d7\u05d9\u05dd \u05d1\u05d9\u05d3\u05d9\u05d3\u05d5\u05ea \u05dc\u05de\u05d3\u05ea \u05d4\u05d9\u05d5\u05dd?","sniff_comment_tooltip_like":"\u05d0\u05d5\u05d4\u05d1 \u05d0\u05ea \u05d4\u05ea\u05d2\u05d5\u05d1\u05d4","sniff_comment_tooltip_unlike":"\u05dc\u05d0 \u05d0\u05d4\u05d1\/\u05d4 \u05d0\u05ea \u05ea\u05d2\u05d5\u05d1\u05d4 \u05d6\u05d5","close":"\u05e1\u05d2\u05d5\u05e8"},"hi_IN":{"sniff_comment_tooltip_like":"\u091f\u093f\u092a\u094d\u092a\u0923\u0940 \u092a\u0938\u0902\u0926 \u0915\u0930\u0947\u0902","sniff_comment_tooltip_unlike":"\u0907\u0938 \u091f\u093f\u092a\u094d\u092a\u0923\u0940 \u0915\u094b \u0928\u093e\u092a\u0938\u0902\u0926 \u0915\u0930\u0947\u0902"},"hr_HR":{"sniff_comment_tooltip_like":"Svi\u0111a mi se ovaj komentar","sniff_comment_tooltip_unlike":"Ne svi\u0111a mi se"},"hu_HU":{"fb_composer_lessons":"Mit tanult\u00e1l ma a bar\u00e1ts\u00e1gr\u00f3l?","sniff_comment_tooltip_like":"Tetszik a bejegyz\u00e9s.","sniff_comment_tooltip_unlike":"M\u00e9gsem tetszik","close":"Bez\u00e1r\u00e1s"},"hy_AM":{"sniff_comment_tooltip_like":"\u0540\u0561\u057e\u0561\u0576\u0565\u056c \u0561\u0575\u057d \u0574\u0565\u056f\u0576\u0561\u0562\u0561\u0576\u0578\u0582\u0569\u0575\u0578\u0582\u0576\u0568","sniff_comment_tooltip_unlike":"\u0549\u0570\u0561\u057e\u0561\u0576\u0565\u056c \u0561\u0575\u057d \u0574\u0565\u056f\u0576\u0561\u0562\u0561\u0576\u0578\u0582\u0569\u0575\u0578\u0582\u0576\u0568"},"id_ID":{"fb_composer_lessons":"Apa pelajaran yang kalian dapat tentang persahabatan hari ini?","sniff_comment_tooltip_like":"Suka komentar ini","sniff_comment_tooltip_unlike":"Tidak suka komentar ini","close":"Tutup"},"is_IS":{"sniff_comment_tooltip_like":"L\u00edkar vi\u00f0 \u00feessi umm\u00e6li","sniff_comment_tooltip_unlike":"L\u00edka ekki vi\u00f0 \u00feessi umm\u00e6li"},"it_IT":{"fb_composer_lessons":"Che cosa hai imparato oggi sull'amicizia?","sniff_comment_tooltip_like":"Di' che ti piace questo commento","sniff_comment_tooltip_unlike":"Di' che non ti piace pi\u00f9 questo commento","close":"Chiudi"},"ja_JP":{"fb_composer_lessons":"\u4eca\u65e5\u306f\u53cb\u60c5\u306b\u3069\u306e\u3088\u3046\u306a\u6559\u8a13\u3092\u5b66\u3073\u307e\u3057\u305f\u304b\uff1f","sniff_comment_tooltip_like":"\u3053\u306e\u30b3\u30e1\u30f3\u30c8\u306f\u3044\u3044\u306d\uff01","sniff_comment_tooltip_unlike":"\u3044\u3044\u306d\uff01\u3092\u53d6\u308a\u6d88\u3059","close":"\u9589\u3058\u308b"},"ka_GE":{"sniff_comment_tooltip_like":"\u10db\u10dd\u10d8\u10ec\u10dd\u10dc\u10d4 \u10d4\u10e1 \u10d9\u10dd\u10db\u10d4\u10dc\u10e2\u10d0\u10e0\u10d8","sniff_comment_tooltip_unlike":"\u10d0\u10e6\u10d0\u10e0 \u10db\u10dd\u10db\u10ec\u10dd\u10dc\u10e1 \u10d4\u10e1 \u10d9\u10dd\u10db\u10d4\u10dc\u10e2\u10d0\u10e0\u10d8"},"km_KH":{"sniff_comment_tooltip_like":"\u1785\u17bc\u179b\u1785\u17b7\u178f\u17d2\u178f \u179c\u17b7\u1785\u17b6\u179a \u1793\u17c1\u17c7","sniff_comment_tooltip_unlike":"\u179b\u17c2\u1784\u1785\u17bc\u179b\u1785\u17b7\u178f\u17d2\u178f\u1798\u178f\u17b7\u1793\u17c1\u17c7"},"ko_KR":{"fb_composer_lessons":"\uc6b0\uc815\uc5d0 \uad00\ud574\uc11c \uc624\ub298 \ubb34\uc5c7\uc744 \ubc30\uc6e0\ub098\uc694?","sniff_comment_tooltip_like":"\uc88b\uc544\uc694","sniff_comment_tooltip_unlike":"\uc88b\uc544\uc694 \ucde8\uc18c","close":"\ub2eb\uae30"},"ku_TR":{"sniff_comment_tooltip_like":"V\u00ea \u015f\u00eerovey\u00ea biecib\u00eene","sniff_comment_tooltip_unlike":"V\u00ea \u015firovey\u00ea neecib\u00eene"},"la_VA":[],"lt_LT":{"fb_composer_lessons":"Kokias \u017einias apie draugyst\u0119 i\u0161mokote \u0161iandien?","sniff_comment_tooltip_like":"Patinka \u0161is komentaras","sniff_comment_tooltip_unlike":"Nepatinka \u0161is komentaras","close":"U\u017edaryti"},"lv_LV":{"sniff_comment_tooltip_unlike":"Koment\u0101rs vairs nepat\u012bk"},"mk_MK":{"fb_composer_lessons":"\u041a\u043e\u0438 \u043b\u0435\u043a\u0446\u0438\u0438 \u0437\u0430 \u043f\u0440\u0438\u0458\u0430\u0442\u0435\u043b\u0441\u0442\u0432\u043e\u0442\u043e \u0434\u043e\u0437\u043d\u0430\u0432\u0442\u0435 \u0434\u0435\u043d\u0435\u0441?","sniff_comment_tooltip_like":"\u041c\u0438 \u0441\u0435 \u0434\u043e\u043f\u0430\u0453\u0430 \u043a\u043e\u043c\u0435\u043d\u0442\u0430\u0440\u043e\u0432","sniff_comment_tooltip_unlike":"\u041d\u0435 \u043c\u0438 \u0441\u0435 \u0434\u043e\u043f\u0430\u0453\u0430","close":"\u0417\u0430\u0442\u0432\u043e\u0440\u0438"},"ml_IN":{"sniff_comment_tooltip_like":"\u0d08 \u0d05\u0d2d\u0d3f\u0d2a\u0d4d\u0d30\u0d3e\u0d2f\u0d02 \u0d07\u0d37\u0d4d\u0d1f\u0d2e\u0d3e\u0d2f\u0d3f"},"ms_MY":{"fb_composer_lessons":"Apakah pelajaran tentang persahabatan yang telah anda pelajari hari ini?","fb_comment_box":"Tuliskan surat persahabatan...","fb_composer_ponies":"Kuda!","fb_composer_ponies_caps":"KUDA!!!","sniff_comment_tooltip_like":"Suka komen ini","sniff_comment_tooltip_unlike":"Tidak suka komen ini","close":"Tutup","options_title":"Opsyen Ponyhoof"},"nb_NO":{"sniff_comment_tooltip_like":"Lik denne kommentaren"},"ne_NP":[],"nl_NL":{"fb_composer_lessons":"Wat heb je vandaag geleerd over vriendschap?","sniff_comment_tooltip_like":"Leuke reactie","sniff_comment_tooltip_unlike":"Reactie niet meer leuk","close":"Sluiten"},"pa_IN":{"sniff_comment_tooltip_like":"\u0a07\u0a39 \u0a1f\u0a3f\u0a71\u0a2a\u0a23\u0a40 \u0a2a\u0a38\u0a70\u0a26 \u0a15\u0a30\u0a4b","sniff_comment_tooltip_unlike":"\u0a07\u0a39 \u0a1f\u0a3f\u0a71\u0a2a\u0a23\u0a40 \u0a28\u0a3e\u0a2a\u0a38\u0a70\u0a26 \u0a15\u0a30\u0a4b|"},"pl_PL":{"fb_composer_lessons":"Czego si\u0119 dzisiaj nauczy\u0142e\u015b o przyja\u017ani?","sniff_comment_tooltip_like":"Polub komentarz","sniff_comment_tooltip_unlike":"Nie lubi\u0119 tego komentarza","close":"Zamknij"},"ps_AF":[],"pt_BR":{"fb_composer_lessons":"Quais li\u00e7\u00f5es sobre amizade voc\u00ea aprendeu hoje?","sniff_comment_tooltip_like":"Curtir este coment\u00e1rio","sniff_comment_tooltip_unlike":"Curtir (desfazer) este coment\u00e1rio","close":"Fechar"},"pt_PT":{"fb_composer_lessons":"Que li\u00e7\u00f5es de amizade voc\u00ea aprendeu hoje?","sniff_comment_tooltip_like":"Gosto deste coment\u00e1rio","sniff_comment_tooltip_unlike":"N\u00e3o gosto deste coment\u00e1rio","close":"Fechar"},"ro_RO":{"fb_composer_lessons":"Ce lec\u0163ii despre prietenie ai \u00eenv\u0103\u0163at ast\u0103zi?","sniff_comment_tooltip_like":"\u00cemi place acest comentariu","sniff_comment_tooltip_unlike":"Nu-mi mai place acest comentariu","close":"\u00cenchide"},"ru_RU":{"fb_composer_lessons":"\u041a\u0430\u043a\u0438\u0435 \u0443\u0440\u043e\u043a\u0438 \u0434\u0440\u0443\u0436\u0431\u044b \u0432\u044b \u0432\u044b\u0443\u0447\u0438\u043b\u0438 \u0441\u0435\u0433\u043e\u0434\u043d\u044f?","sniff_comment_tooltip_like":"\u041c\u043d\u0435 \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439","sniff_comment_tooltip_unlike":"\u041d\u0435 \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f","close":"\u0417\u0430\u043a\u0440\u044b\u0442\u044c"},"sk_SK":{"fb_composer_lessons":"Ak\u00e9 lekcie priate\u013estva si sa nau\u010dil dnes?","sniff_comment_tooltip_like":"P\u00e1\u010di sa mi tento koment\u00e1r","sniff_comment_tooltip_unlike":"Tento koment\u00e1r sa mi u\u017e nep\u00e1\u010di","close":"Zavrie\u0165"},"sl_SI":{"fb_composer_lessons":"Kaj si se o prijateljstvu nau\u010dil\/-a danes?","sniff_comment_tooltip_like":"V\u0161e\u010d mi je","sniff_comment_tooltip_unlike":"Ta komentar mi ni v\u0161e\u010d","close":"Zapri"},"sq_AL":{"sniff_comment_tooltip_like":"P\u00eblqeje k\u00ebt\u00eb koment","sniff_comment_tooltip_unlike":"Mos p\u00eblqe k\u00ebt\u00eb koment"},"sr_RS":{"sniff_comment_tooltip_like":"\u0421\u0432\u0438\u0452\u0430 \u043c\u0438 \u0441\u0435 \u043a\u043e\u043c\u0435\u043d\u0442\u0430\u0440.","sniff_comment_tooltip_unlike":"\u041d\u0435 \u0441\u0432\u0438\u0452\u0430 \u043c\u0438 \u0441\u0435 \u043e\u0432\u0430\u0458 \u043a\u043e\u043c\u0435\u043d\u0442\u0430\u0440","close":"\u0417\u0430\u0442\u0432\u043e\u0440\u0438"},"sv_SE":{"fb_composer_lessons":"Vilka l\u00e4rdomar i v\u00e4nskap har du l\u00e4rt dig idag?","sniff_comment_tooltip_like":"Gilla den h\u00e4r kommentaren","sniff_comment_tooltip_unlike":"Sluta gilla den h\u00e4r kommentaren","close":"St\u00e4ng"},"sw_KE":[],"ta_IN":{"sniff_comment_tooltip_like":"\u0b87\u0b95\u0bcd\u0b95\u0bb0\u0bc1\u0ba4\u0bcd\u0ba4\u0bbf\u0ba9\u0bc8 \u0bb5\u0bbf\u0bb0\u0bc1\u0bae\u0bcd\u0baa\u0bc1\u0b95\u0bbf\u0bb1\u0bc7\u0ba9\u0bcd","sniff_comment_tooltip_unlike":"\u0b87\u0b95\u0bcd\u0b95\u0bb0\u0bc1\u0ba4\u0bcd\u0ba4\u0bbf\u0ba9\u0bc8 \u0bb5\u0bbf\u0bb0\u0bc1\u0bae\u0bcd\u0baa\u0bb5\u0bbf\u0bb2\u0bcd\u0bb2\u0bc8","close":"\u0e1b\u0e34\u0e14"},"te_IN":{"sniff_comment_tooltip_unlike":"\u0c35\u0c4d\u0c2f\u0c3e\u0c16\u0c4d\u0c2f \u0c28\u0c1a\u0c4d\u0c1a\u0c32\u0c47\u0c26\u0c41"},"th_TH":{"sniff_comment_tooltip_like":"\u0e16\u0e39\u0e01\u0e43\u0e08\u0e04\u0e27\u0e32\u0e21\u0e04\u0e34\u0e14\u0e40\u0e2b\u0e47\u0e19\u0e19\u0e35\u0e49","sniff_comment_tooltip_unlike":"\u0e40\u0e25\u0e34\u0e01\u0e16\u0e39\u0e01\u0e43\u0e08\u0e04\u0e27\u0e32\u0e21\u0e04\u0e34\u0e14\u0e40\u0e2b\u0e47\u0e19\u0e19\u0e35\u0e49"},"tl_PH":{"fb_composer_lessons":"Anong mga aralin sa pagkakaibigan ang natutunan mo ngayon?","sniff_comment_tooltip_like":"Gustuhin ang komentong ito","sniff_comment_tooltip_unlike":"Ayawan ang komentong ito","close":"Isara"},"tr_TR":{"fb_composer_lessons":"Bug\u00fcn arkada\u015fl\u0131kla ilgili neler \u00f6\u011frendin?","sniff_comment_tooltip_like":"Bu yorumu be\u011fen","sniff_comment_tooltip_unlike":"Bu yorumu be\u011fenmekten vazge\u00e7","close":"Kapat"},"uk_UA":{"fb_composer_lessons":"\u042f\u043a\u0456 \u0443\u0440\u043e\u043a\u0438 \u0432 \u0434\u0440\u0443\u0436\u0431\u0456 \u0432\u0438 \u0434\u0456\u0437\u043d\u0430\u043b\u0438\u0441\u044f \u0441\u044c\u043e\u0433\u043e\u0434\u043d\u0456?","sniff_comment_tooltip_like":"\u0412\u043f\u043e\u0434\u043e\u0431\u0430\u0442\u0438 \u043a\u043e\u043c\u0435\u043d\u0442\u0430\u0440","sniff_comment_tooltip_unlike":"\u041d\u0435 \u043f\u043e\u0434\u043e\u0431\u0430\u0454\u0442\u044c\u0441\u044f \u043a\u043e\u043c\u0435\u043d\u0442\u0430\u0440","close":"\u0417\u0430\u043a\u0440\u0438\u0442\u0438"},"vi_VN":{"sniff_comment_tooltip_like":"Th\u00edch b\u00ecnh lu\u1eadn n\u00e0y","sniff_comment_tooltip_unlike":"B\u1ecf th\u00edch b\u00ecnh lu\u1eadn n\u00e0y n\u1eefa"},"zh_CN":{"sniff_comment_tooltip_like":"\u559c\u6b22\u6b64\u8bc4\u8bba","sniff_comment_tooltip_unlike":"\u4e0d\u559c\u6b22\u6b64\u8bc4\u8bba","close":"\u5173\u95ed"},"zh_HK":{"sniff_comment_tooltip_like":"\u5c0d\u9019\u5247\u7559\u8a00\u8b9a\u597d","sniff_comment_tooltip_unlike":"\u53d6\u6d88\u8b9a\u597d"},"zh_TW":{"fb_composer_lessons":"\u4f60\u4eca\u5929\u5f9e\u53cb\u60c5\u88e1\u9762\u5b78\u5230\u4e86\u4ec0\u9ebc\uff1f","sniff_comment_tooltip_like":"\u8aaa\u9019\u5247\u7559\u8a00\u8b9a","sniff_comment_tooltip_unlike":"\u6536\u56de\u8b9a","close":"\u95dc\u9589"}};
-       var SOUNDS = {"AUTO":{"name":"(Auto-select)","seperator":true},"_sound\/defaultNotification":{"name":"Casting magic","title":"This will also be used for characters that do not have their own notification sound"},"trixie\/notif":{"name":"Trixie - Watch in awe!"},"dash\/notif":{"name":"Rainbow Dash - Aww yeah!"},"pinkie\/notif2":{"name":"Pinkie Pie - *rimshot*"},"applej\/notif":{"name":"Applejack - Yeehaw!"},"flutter\/notif2":{"name":"Fluttershy - Yay!"},"rarity\/notif":{"name":"Rarity - This is whining!"},"applebloom\/notif":{"name":"Apple Bloom - That'll be four bits"},"bigmac\/notif":{"name":"Big Macintosh - Eeyup"},"colgate\/notif":{"name":"Colgate - Why you don't brush your teeth"},"derpy\/notif":{"name":"Derpy Hooves - I brought you a letter!"},"luna\/notif":{"name":"Luna - Huzzah!"},"_sound\/roidrage_yeah":{"name":"Roid Rage\/Snowflake - YEAH!"},"sweetieb\/notif":{"name":"Sweetie Belle - Oh come on!"},"vinyl\/notif":{"name":"Vinyl Scratch - Yeah!","seperator":true},"twilight\/notif":{"name":"Twilight Sparkle - It's not over yet!"},"_sound\/grin2":{"name":"Fluttershy - *squee*"},"_sound\/dash_dundundun":{"name":"Rainbow Dash - DUN DUN DUN"},"_sound\/dash_egghead":{"name":"Rainbow Dash - I'm an egghead"},"_sound\/pinkie_boring":{"name":"Pinkie Pie - Booooring!"},"_sound\/pinkie_gasp":{"name":"Pinkie Pie - *gasp*"},"_sound\/pinkie_partycannon":{"name":"Pinkie Pie - Party cannon"},"_sound\/pinkie_pinkiepiestyle":{"name":"Pinkie Pie - Pinkie Pie style!"},"_sound\/flutter_woohoo":{"name":"Fluttershy - Woo hoo"},"_sound\/octavia_nevermess":{"name":"Octavia - Never mess with Octavia"},"_sound\/rarity_dumbrock":{"name":"Rarity - Dumb rock!"},"_sound\/rarity_itison":{"name":"Rarity - Oh. It. Is. On!"},"_sound\/rarity_wahaha":{"name":"Rarity - Wahaha!"},"_sound\/vinyl_awyeah":{"name":"Vinyl Scratch - Aw yeah!"},"_sound\/vinyl_mybasscannon":{"name":"Vinyl Scratch - My bass cannon!"},"_sound\/vinyl_wubwubwub":{"name":"Vinyl Scratch - Wubwubwub"},"_sound\/vinyl_wubedubdub":{"name":"Vinyl Scratch - Wubedubdub"},"_sound\/vinyl_yougotwubs":{"name":"Vinyl Scratch - You got wubs"}};
+       var PONIES = [{"code":"trixie","name":"Trixie","users":["trixie"],"menu_title":"The Great and Powerful Trixie demands your attention!","color":["6e98b4","3a7196"],"icon16":"trixie\/icon16_2.png","soundNotif":"trixie\/notif","loadingText":"Performing magic..."},{"code":"twilight","name":"Twilight Sparkle","users":["twilight","spark","tw\u0131l\u0131ght","twilite","twi light","\u0162wilight"],"search":"twilight sparkle|twilightsparkle|princess twilight","menu_title":"To switch to Princess Twilight, go to Misc > Appearance","color":["9f6eb4","7a3a96"],"mane6":true,"loadingText":"Studying friendship..."},{"code":"dash","name":"Rainbow Dash","users":["rainbow","dash"],"search":"rainbow dash|rainbowdash|dashie","color":["6e9db4","3a7796"],"soundNotif":"dash\/notif","mane6":true,"loadingText":"Loading... in ten seconds flat!","successText":"Aww yeah!"},{"code":"pinkie","name":"Pinkie Pie","users":["pink"],"search":"pinkie pie|pinkiepie|pinkamena diane pie","color":["b46e8a","963a5f"],"soundNotif":"pinkie\/notif2","mane6":true,"loadingText":"Come on everypony!"},{"code":"applej","name":"Applejack","users":["apple j","applej"],"search":"applejack|apple jack","color":["b4976e","96703a"],"soundNotif":"applej\/notif2","mane6":true,"loadingText":"Hold on there sugarcube!","successText":"Yeehaw!"},{"code":"flutter","name":"Fluttershy","users":["flutter","flut ter"],"search":"fluttershy|flutter shy","color":["b4ae6e","968e3a"],"soundNotif":"flutter\/notif2","mane6":true,"loadingText":"Screaming...","successText":"Yay!"},{"code":"rarity","name":"Rarity","users":["rarity"],"color":["9b6eb4","763a96"],"soundNotif":"rarity\/notif","mane6":true,"loadingText":"Whining...","seperator":true},{"code":"applebloom","name":"Apple Bloom","users":["appleb","apple b"],"search":"apple bloom|applebloom|cmc|cutie mark crusaders","color":["b46e8d","963a63"],"soundNotif":"applebloom\/notif","loadingText":"Getting her cutie mark...","nocutie":true},{"code":"aloe","name":"Aloe","users":["aloe"],"search":"aloe|spa pony|spa ponies","color":["b46e91","963a68"]},{"code":"babsseed","name":"Babs Seed","users":["babs","seed"],"search":"babs seed|babsseed|cmc|cutie mark crusaders","color":["b4976e","96703a"],"nocutie":true},{"code":"berry","name":"Berry Punch","users":["berry"],"color":["a56eb4","823a96"]},{"code":"bigmac","name":"Big Macintosh","users":["bigmac","big mac"],"search":"bigmacintosh|big macintosh|big mcintosh|bigmcintosh","color":["b46e75","963a43"],"soundNotif":"bigmac\/notif","loadingText":"Saying eeyup..."},{"code":"bonbon","name":"Bon Bon","users":["bon bon","bonbon","bon-bon"],"search":"bon bon|bonbon","color":["6e89b4","3a5d96"]},{"code":"braeburn","name":"Braeburn","users":["braeburn","breaburn"],"search":"braeburn|breaburn","color":["b4a86e","96873a"],"icon16":"braeburn\/icon16_2.png"},{"code":"cadance","name":"Cadance","users":["cadance","cadence"],"search":"cadance|cadence|princess cadance|princess cadence","color":["b46e96","963a6e"]},{"code":"carrot","name":"Carrot Top","users":["golden","carrot"],"search":"carrot top|carrottop|golden harvest","menu_title":"Also known as Golden Harvest","color":["b2b46e","93963a"]},{"code":"celestia","name":"Celestia","users":["celestia","trollestia","molestia"],"search":"celestia|princess celestia","color":["b46e98","963a71"],"loadingText":"Raising the sun..."},{"code":"cheerilee","name":"Cheerilee","users":["cheerilee"],"color":["b46e96","963a6e"]},{"code":"colgate","name":"Colgate","users":["colgate","minuette"],"search":"colgate|minuette|minette","menu_title":"Also known as Minuette","color":["6e99b4","3a7396"],"soundNotif":"colgate\/notif","loadingText":"Brushing..."},{"code":"cloudchaser","name":"Cloudchaser","users":["cloudch","cloud ch"],"search":"cloudchaser|cloud chaser|stormwalker|storm walker","menu_title":"Also known as Stormwalker","color":["856eb4","593a96"]},{"code":"daring","name":"Daring Do","users":["daring"],"search":"daring do|daringdo","color":["b4a76e","96853a"]},{"code":"derpy","name":"Derpy Hooves","users":["derpy"],"color":["b4b46e","96963a"],"fbIndex_swf":"derpy\/fbIndex.swf","soundNotif":"derpy\/notif","icon16":"derpy\/icon16_2.png","loadingText":"Wondering what went wrong..."},{"code":"diamondtiara","name":"Diamond Tiara","users":["tiara"],"search":"diamond tiara|diamondtiara","color":["926eb4","6a3a96"],"stack":"villian"},{"code":"discord","name":"Discord","users":["discord"],"color":["b46f6e","963c3a"],"stack":"villian","loadingText":"CHOCOLATE RAIN","nocutie":true},{"code":"whooves","name":"Doctor Whooves","users":["whooves","time turn"],"search":"doctor whooves|doctor hooves|time turner","menu_title":"Also known as Time Turner","color":["b4a06e","967c3a"]},{"code":"fleur","name":"Fleur De Lis","users":["fleur","fluer"],"search":"fleur de lis|fluer de lis|fleur dis lee|fluer dis lee","color":["b46eb4","963a96"]},{"code":"flimflam","name":"Flim and Flam","users":["flim","flam"],"color":["b0b46e","91963a"],"loadingText":"Giving opportunities..."},{"code":"flitter","name":"Flitter","users":["Flitter"],"color":["846eb4","573a96"]},{"code":"gilda","name":"Gilda","users":["gilda"],"color":["b49a6e","96743a"],"stack":"villian","nocutie":true},{"code":"ironwill","name":"Iron Will","users":["iron will","ironwill"],"search":"ironwill|iron will","color":["6e84b4","3a5796"],"stack":"villian","nocutie":true},{"code":"sombra","name":"King Sombra","users":["sombra"],"color":["6eb46e","3a963a"],"stack":"villian","nocutie":true},{"code":"lightningdust","name":"Lightning Dust","users":["lightning"],"color":["6eb4ad","3a968d"]},{"code":"lotus","name":"Lotus","users":["lotus"],"search":"lotus|spa pony|spa ponies","color":["6ea0b4","3a7c96"]},{"code":"luna","name":"Luna","users":["luna"],"search":"luna|princess luna|nightmare moon|nightmaremoon","color":["6e7eb4","3a5096"],"soundNotif":"luna\/notif","loadingText":"Doubling the fun...","successText":"Huzzah!"},{"code":"lyra","name":"Lyra","users":["lyra"],"search":"lyra heartstrings","color":["6eb49d","3a9677"]},{"code":"nightmaremoon","name":"Nightmare Moon","users":["nightmare"],"search":"nightmare moon|nightmaremoon|luna|princess luna","color":["6e7fb4","3a5196"],"stack":"villian"},{"code":"nurseredheart","name":"Nurse Redheart","users":["nurse","redheart"],"color":["b46e76","963a45"]},{"code":"octavia","name":"Octavia","users":["octavia"],"color":["b4a76e","96853a"]},{"code":"pinkamena","name":"Pinkamena","users":["pinkamena"],"search":"pinkamena diane pie","color":["b46e8c","963a62"],"stack":"villian"},{"code":"chrysalis","name":"Queen Chrysalis","users":["chrysalis"],"search":"queen chrysalis|changeling","color":["6ea2b4","3a7f96"],"stack":"chrysalis","loadingText":"Feeding...","nocutie":true},{"code":"roidrage","name":"Roid Rage","users":["snowflake","roid","rage"],"search":"snowflake|roidrage|roid rage","menu_title":"Also known as Snowflake","color":["b4ae6e","968e3a"],"soundNotif":"_sound\/roidrage_yeah","successText":"YEAH!"},{"code":"rose","name":"Rose","users":["rose"],"search":"roseluck","menu_title":"Also known as Roseluck","color":["b46e8c","963a62"]},{"code":"scootaloo","name":"Scootaloo","users":["scootaloo"],"search":"scootaloo|cmc|cutie mark crusaders|chicken","color":["b4996e","96733a"],"loadingText":"Getting her cutie mark...","nocutie":true},{"code":"shiningarmor","name":"Shining Armor","users":["shining armor"],"search":"shining armor|shiningarmor","color":["6e7bb4","3a4b96"]},{"code":"silverspoon","name":"Silver Spoon","users":["spoon"],"search":"silver spoon|silverspoon","color":["6e97b4","3a7096"],"stack":"villian"},{"code":"soarin","name":"Soarin'","users":["soarin"],"search":"soarin'|wonderbolts","color":["6e9db4","3a7796"]},{"code":"spike","name":"Spike","users":["spike"],"color":["a26eb4","7f3a96"],"nocutie":true},{"code":"spitfire","name":"Spitfire","users":["spitfire"],"search":"spitfire|wonderbolts","color":["b4ae6e","968e3a"],"icon16":"spitfire\/icon16_2.png"},{"code":"sweetieb","name":"Sweetie Belle","users":["sweetieb","sweetie b"],"search":"sweetiebelle|sweetie belle|cmc|cutie mark crusaders","color":["a06eb4","7c3a96"],"soundNotif":"sweetieb\/notif","loadingText":"Getting her cutie mark...","nocutie":true},{"code":"vinyl","name":"Vinyl Scratch","users":["vinyl","vinyx","dj p"],"search":"vinyl scratch|dj pon3|dj-pon3|dj pon 3|dj pon-3","menu_title":"Also known as DJ Pon-3","color":["6ea9b4","3a8896"],"soundNotif":"vinyl\/notif","loadingText":"Wubbing..."},{"code":"zecora","name":"Zecora","users":["zecora"],"color":["b4af6e","96903a"]},{"code":"blank","name":"(Blank)","color":["b46e6e","963a3a"],"hidden":true,"nocutie":true},{"code":"bloomberg","name":"Bloomberg","color":["9fb46e","7a963a"],"hidden":true,"nocutie":true},{"code":"mono","name":"Mono","color":["b46e6e","963a3a"],"stack":"mono","hidden":true},{"code":"taugeh","name":"Taugeh","color":["b4b46e","96963a"],"hidden":true,"nocutie":true}];
+       var LANG = {"af_ZA":{"sniff_comment_tooltip_like":"Hou van hierdie opmerking","sniff_comment_tooltip_unlike":"Hou nie meer van hierdie opmerking nie"},"ar_AR":{"sniff_comment_tooltip_like":"\u0627\u0644\u0625\u0639\u062c\u0627\u0628 \u0628\u0627\u0644\u062a\u0639\u0644\u064a\u0642","sniff_comment_tooltip_unlike":"\u0625\u0644\u063a\u0627\u0621 \u0625\u0639\u062c\u0627\u0628\u064a \u0628\u0647\u0630\u0627 \u0627\u0644\u062a\u0639\u0644\u064a\u0642"},"az_AZ":{"sniff_comment_tooltip_like":"Bu r\u0259yi b\u0259y\u0259n","sniff_comment_tooltip_unlike":"Bu \u015f\u0259rhi b\u0259y\u0259nm\u0259"},"be_BY":{"sniff_comment_tooltip_like":"\u041f\u0430\u0434\u0430\u0431\u0430\u0435\u0446\u0446\u0430","sniff_comment_tooltip_unlike":"\u041c\u043d\u0435 \u0431\u043e\u043b\u044c\u0448 \u043d\u0435 \u043f\u0430\u0434\u0430\u0431\u0430\u0435\u0446\u0446\u0430 \u0433\u044d\u0442\u044b \u043a\u0430\u043c\u044d\u043d\u0442\u0430\u0440"},"bg_BG":{"sniff_comment_tooltip_like":"\u0425\u0430\u0440\u0435\u0441\u0432\u0430\u043c \u0442\u043e\u0437\u0438 \u043a\u043e\u043c\u0435\u043d\u0442\u0430\u0440","sniff_comment_tooltip_unlike":"\u0412\u0435\u0447\u0435 \u043d\u0435 \u0445\u0430\u0440\u0435\u0441\u0432\u0430\u043c"},"bn_IN":{"sniff_comment_tooltip_like":"\u09ae\u09a8\u09cd\u09a4\u09ac\u09cd\u09af\u099f\u09bf \u09ad\u09be\u09b2\u09cb \u09b2\u09c7\u0997\u09c7\u099b\u09c7","sniff_comment_tooltip_unlike":"\u09ad\u09be\u09b2\u09cb \u09b2\u09be\u0997\u09c7\u09a8\u09bf"},"bs_BA":{"sniff_comment_tooltip_like":"Svi\u0111a mi se ovaj komentar","sniff_comment_tooltip_unlike":"Ne svi\u0111a mi se komentar"},"ca_ES":{"sniff_comment_tooltip_like":"M'agrada aquest comentari","sniff_comment_tooltip_unlike":"Ja no m'agrada aquest comentari."},"cs_CZ":{"sniff_comment_tooltip_like":"Tento koment\u00e1\u0159 se mi l\u00edb\u00ed.","sniff_comment_tooltip_unlike":"Koment\u00e1\u0159 se mi u\u017e nel\u00edb\u00ed","close":"Zav\u0159\u00edt"},"cy_GB":{"sniff_comment_tooltip_like":"Hoffi'r sylw hwn","sniff_comment_tooltip_unlike":"Peidio hoffi'r sylw hwn"},"da_DK":{"fb_composer_lessons":"Hvilke lektioner i venskab har du l\u00e6rt idag?","sniff_comment_tooltip_like":"Tilkendegiv, at du synes godt om denne kommentar","sniff_comment_tooltip_unlike":"Synes ikke godt om denne kommentar l\u00e6ngere","close":"Luk"},"de_DE":{"fb_composer_lessons":"Welche Lektionen \u00fcber Freundschaft hast Du heute gelernt?","sniff_comment_tooltip_like":"Dieser Kommentar gef\u00e4llt mir","sniff_comment_tooltip_unlike":"Dieser Kommentar gef\u00e4llt mir nicht mehr","close":"Schlie\u00dfen"},"el_GR":{"sniff_comment_tooltip_like":"\u039c\u03bf\u03c5 \u03b1\u03c1\u03ad\u03c3\u03b5\u03b9 \u03b1\u03c5\u03c4\u03cc \u03c4\u03bf \u03c3\u03c7\u03cc\u03bb\u03b9\u03bf","sniff_comment_tooltip_unlike":"\"\u0394\u03b5\u03bd \u03bc\u03bf\u03c5 \u03b1\u03c1\u03ad\u03c3\u03b5\u03b9!\" \u03b1\u03c5\u03c4\u03cc \u03c4\u03bf \u03c3\u03c7\u03cc\u03bb\u03b9\u03bf"},"en_PI":{"sniff_comment_tooltip_like":"This comment be pleasin","sniff_comment_tooltip_unlike":"Care not fer such trifles"},"en_US":{"fb_composer_lessons":"What lessons in friendship have you learned today?","fb_comment_box":"Write a friendship letter...","fb_search_box":"Search for ponies, places and things","fb_search_boxAlt":"Type to search for ponies, places and things","fb_composer_coolstory":"Write a cool story...","fb_composer_ponies":"Ponies!","fb_composer_ponies_caps":"PONIES!!!","fb_share_tooltip":"Remember! You gotta share... You gotta care...","sniff_comment_tooltip_like":"Like this comment","sniff_comment_tooltip_unlike":"Unlike this comment","sniff_fb_search_boxAlt":"Type to search","close":"Close","reloadNow":"Reload now","notNow":"Not now","invertSelection":"Invert selection","finish":"Finish","done":"Eeyup","options_title":"Ponyhoof Options","options_tabs_main":"General","options_tabs_background":"Background","options_tabs_sounds":"Sounds","options_tabs_extras":"Misc","options_tabs_advanced":"Debug","options_tabs_about":"About","settings_disable_runForNewUsers_explain":"If you enable this, Ponyhoof will not automatically run for other Facebook accounts that did not activate Ponyhoof yet. They can still open Ponyhoof Options to re-enable Ponyhoof if they wish to.","settings_extras_login_bg":"Use alternate background","settings_sounds":"Play sounds (e.g. notifications and dialogs)","settings_sounds_noNotification":"Play sounds (e.g. dialogs)","settings_extras_runForNewUsers_explain":"If you disable this, Ponyhoof will not automatically run for other Facebook accounts that did not activate Ponyhoof yet. They can still open Ponyhoof Options to re-enable Ponyhoof if they wish to.","settings_main_visitPage":"Visit the Ponyhoof page for news or contact us","settings_main_visitPageBusiness":"Visit the Ponyhoof page for news","settings_sounds_unavailable":"Notification sounds are not available on your browser. Please update your browser if possible.","updater_title":"Update Ponyhoof","costume_tooltip":"Limited to certain characters only"},"eo_EO":{"sniff_comment_tooltip_like":"\u015cati \u0109i tiun komenton","sniff_comment_tooltip_unlike":"Ne plu \u015dati \u0109i tiun komenton"},"es_ES":{"sniff_comment_tooltip_like":"Me gusta este comentario","sniff_comment_tooltip_unlike":"Ya no me gusta este comentario","close":"Cerrar"},"es_LA":{"fb_composer_lessons":"\u00bfQue has aprendido hoy sobre la amistad?","fb_comment_box":"Escribe un reporte de amistad...","sniff_comment_tooltip_like":"Me gusta este comentario","sniff_comment_tooltip_unlike":"Ya no me gusta este comentario","close":"Cerrar"},"et_EE":{"sniff_comment_tooltip_like":"Meeldib see kommentaar","sniff_comment_tooltip_unlike":"Ei meeldi enam"},"eu_ES":{"sniff_comment_tooltip_like":"Iruzkin hau atsegin dut","sniff_comment_tooltip_unlike":"Iruzkin hau desatsegin"},"fa_IR":{"sniff_comment_tooltip_like":"\u0627\u06cc\u0646 \u062f\u06cc\u062f\u06af\u0627\u0647 \u0631\u0627 \u0645\u06cc\u200c\u067e\u0633\u0646\u062f\u0645","sniff_comment_tooltip_unlike":"\u0627\u06cc\u0646 \u062f\u06cc\u062f\u06af\u0627\u0647 \u0631\u0627 \u0646\u067e\u0633\u0646\u062f\u06cc\u062f\u0645"},"fb_LT":{"fb_composer_lessons":"W|-|47 \u00a33550|\\|5 !|\\| |=|2!3|\\||)5|-|!|* |-|4\\\/3 '\/0|_| \u00a334|2|\\|3|) 70|)4'\/?","fb_comment_box":"W|2!73 4 |=|2!3|\\||)5|-|!|* \u00a33773|2...","fb_search_box":"S34|2(|-| |=0|2 |*0|\\|!35, |*\u00a34(35 4|\\||) 7|-|!|\\|95","fb_search_boxAlt":"T'\/|*3 70 534|2(|-| |=0|2 |*0|\\|!35, |*\u00a34(35 4|\\||) 7|-|!|\\|95","fb_composer_coolstory":"W|2!73 4 (00\u00a3 570|2'\/...","fb_composer_ponies":"P0|\\|!35!","fb_composer_ponies_caps":"PONIES!!!","fb_share_tooltip":"R3|\\\/|3|\\\/|83|2! Y0|_| 90774 5|-|4|23... Y0|_| 90774 (4|23...","close":"Alt+F4","reloadNow":"R3\u00a304|) |\\|0vv","notNow":"N07 |\\|0vv","invertSelection":"I|\\|\\\/3|27 53\u00a33(7!0|\\|","finish":"F!|\\|!5|-|","done":"E3'\/|_||*","options_title":"P0|\\|'\/|-|00|= O|*7!0|\\|5","options_tabs_main":"G3|\\|3|24\u00a3","options_tabs_background":"B4(k9|20|_||\\||)","options_tabs_sounds":"S0|_||\\||)5","options_tabs_extras":"M!5(","options_tabs_advanced":"D38|_|9","options_tabs_about":"A80|_|7","settings_disable_runForNewUsers_explain":"I|= '\/0|_| 3|\\|48\u00a33 7|-|!5, P0|\\|'\/|-|00|= vv!\u00a3\u00a3 |\\|07 4|_|70|\\\/|47!(4\u00a3\u00a3'\/ |2|_||\\| |=0|2 07|-|3|2 F4(3800k 4((0|_||\\|75 7|-|47 |)!|) |\\|07 4(7!\\\/473 P0|\\|'\/|-|00|= '\/37. T|-|3'\/ (4|\\| 57!\u00a3\u00a3 0|*3|\\| P0|\\|'\/|-|00|= O|*7!0|\\|5 70 |23-3|\\|48\u00a33 P0|\\|'\/|-|00|= !|= 7|-|3'\/ vv!5|-| 70.","settings_extras_login_bg":"U53 4\u00a373|2|\\|473 84(k9|20|_||\\||)","settings_sounds":"P\u00a34'\/ 50|_||\\||)5 (3.9. |\\|07!|=!(47!0|\\|5 4|\\||) |)!4\u00a3095)","settings_sounds_noNotification":"P\u00a34'\/ 50|_||\\||)5 (3.9. |)!4\u00a3095)","settings_extras_runForNewUsers_explain":"I|= '\/0|_| |)!548\u00a33 7|-|!5, P0|\\|'\/|-|00|= vv!\u00a3\u00a3 |\\|07 4|_|70|\\\/|47!(4\u00a3\u00a3'\/ |2|_||\\| |=0|2 07|-|3|2 F4(3800k 4((0|_||\\|75 7|-|47 |)!|) |\\|07 4(7!\\\/473 P0|\\|'\/|-|00|= '\/37. T|-|3'\/ (4|\\| 57!\u00a3\u00a3 0|*3|\\| P0|\\|'\/|-|00|= O|*7!0|\\|5 70 |23-3|\\|48\u00a33 P0|\\|'\/|-|00|= !|= 7|-|3'\/ vv!5|-| 70.","settings_main_visitPage":"V!5!7 7|-|3 P0|\\|'\/|-|00|= |*493 |=0|2 |\\|3vv5 0|2 (0|\\|74(7 |_|5","settings_main_visitPageBusiness":"V!5!7 7|-|3 P0|\\|'\/|-|00|= |*493 |=0|2 |\\|3vv5","settings_sounds_unavailable":"N07!|=!(47!0|\\| 50|_||\\||)5 4|23 |\\|07 4\\\/4!\u00a348\u00a33 0|\\| '\/0|_||2 8|20vv53|2. P\u00a33453 |_||*|)473 '\/0|_||2 8|20vv53|2 !|= |*055!8\u00a33.","updater_title":"U|*|)473 P0|\\|'\/|-|00|=","costume_tooltip":"L!|\\\/|!73|) 70 (3|274!|\\| (|-|4|24(73|25 0|\\|\u00a3'\/","sniff_comment_tooltip_like":"<3"},"fi_FI":{"fb_composer_lessons":"Mit\u00e4 oppeja yst\u00e4vyydest\u00e4 olet oppinut t\u00e4n\u00e4\u00e4n?","sniff_comment_tooltip_like":"Tykk\u00e4\u00e4 t\u00e4st\u00e4 kommentista","sniff_comment_tooltip_unlike":"En tykk\u00e4\u00e4k\u00e4\u00e4n","close":"Sulje"},"fo_FO":{"sniff_comment_tooltip_like":"M\u00e6r d\u00e1mar vi\u00f0merkingina"},"fr_CA":{"fb_composer_lessons":"Quelles le\u00e7ons sur l'amiti\u00e9 avez-vous appris aujourd'hui ?","sniff_comment_tooltip_like":"J\u2019aime ce commentaire","sniff_comment_tooltip_unlike":"Je n\u2019aime plus ce commentaire","close":"Fermer"},"fr_FR":{"fb_composer_lessons":"Quelles le\u00e7ons sur l'amiti\u00e9 avez-vous appris aujourd'hui ?","sniff_comment_tooltip_like":"J\u2019aime ce commentaire","sniff_comment_tooltip_unlike":"Je n\u2019aime plus ce commentaire","close":"Fermer"},"fy_NL":{"sniff_comment_tooltip_like":"Leuke reaksje","sniff_comment_tooltip_unlike":"Ik mei net mear oer dit berjocht"},"ga_IE":{"fb_composer_lessons":"cad ceachtanna i cairdeas ad'fhoghlaim t\u00fa inniu?","sniff_comment_tooltip_like":"L\u00e9irigh gur maith leat an tr\u00e1cht seo","sniff_comment_tooltip_unlike":"N\u00ed maith liom an tr\u00e1cht seo","close":"D\u00fan"},"gl_ES":{"sniff_comment_tooltip_like":"G\u00fastame este comentario","sniff_comment_tooltip_unlike":"Xa non me gusta"},"he_IL":{"fb_composer_lessons":"\u05d0\u05d9\u05dc\u05d5 \u05dc\u05e7\u05d7\u05d9\u05dd \u05d1\u05d9\u05d3\u05d9\u05d3\u05d5\u05ea \u05dc\u05de\u05d3\u05ea \u05d4\u05d9\u05d5\u05dd?","sniff_comment_tooltip_like":"\u05d0\u05d5\u05d4\u05d1 \u05d0\u05ea \u05d4\u05ea\u05d2\u05d5\u05d1\u05d4","sniff_comment_tooltip_unlike":"\u05dc\u05d0 \u05d0\u05d4\u05d1\/\u05d4 \u05d0\u05ea \u05ea\u05d2\u05d5\u05d1\u05d4 \u05d6\u05d5","close":"\u05e1\u05d2\u05d5\u05e8"},"hi_IN":{"sniff_comment_tooltip_like":"\u091f\u093f\u092a\u094d\u092a\u0923\u0940 \u092a\u0938\u0902\u0926 \u0915\u0930\u0947\u0902","sniff_comment_tooltip_unlike":"\u0907\u0938 \u091f\u093f\u092a\u094d\u092a\u0923\u0940 \u0915\u094b \u0928\u093e\u092a\u0938\u0902\u0926 \u0915\u0930\u0947\u0902"},"hr_HR":{"sniff_comment_tooltip_like":"Svi\u0111a mi se ovaj komentar","sniff_comment_tooltip_unlike":"Ne svi\u0111a mi se"},"hu_HU":{"fb_composer_lessons":"Mit tanult\u00e1l ma a bar\u00e1ts\u00e1gr\u00f3l?","sniff_comment_tooltip_like":"Tetszik a bejegyz\u00e9s.","sniff_comment_tooltip_unlike":"M\u00e9gsem tetszik","close":"Bez\u00e1r\u00e1s"},"hy_AM":{"sniff_comment_tooltip_like":"\u0540\u0561\u057e\u0561\u0576\u0565\u056c \u0561\u0575\u057d \u0574\u0565\u056f\u0576\u0561\u0562\u0561\u0576\u0578\u0582\u0569\u0575\u0578\u0582\u0576\u0568","sniff_comment_tooltip_unlike":"\u0549\u0570\u0561\u057e\u0561\u0576\u0565\u056c \u0561\u0575\u057d \u0574\u0565\u056f\u0576\u0561\u0562\u0561\u0576\u0578\u0582\u0569\u0575\u0578\u0582\u0576\u0568"},"id_ID":{"fb_composer_lessons":"Apa pelajaran yang kalian dapat tentang persahabatan hari ini?","sniff_comment_tooltip_like":"Suka komentar ini","sniff_comment_tooltip_unlike":"Tidak suka komentar ini","close":"Tutup"},"is_IS":{"sniff_comment_tooltip_like":"L\u00edkar vi\u00f0 \u00feessi umm\u00e6li","sniff_comment_tooltip_unlike":"L\u00edka ekki vi\u00f0 \u00feessi umm\u00e6li"},"it_IT":{"fb_composer_lessons":"Che cosa hai imparato oggi sull'amicizia?","sniff_comment_tooltip_like":"Di' che ti piace questo commento","sniff_comment_tooltip_unlike":"Di' che non ti piace pi\u00f9 questo commento","close":"Chiudi"},"ja_JP":{"fb_composer_lessons":"\u4eca\u65e5\u306f\u53cb\u60c5\u306b\u3069\u306e\u3088\u3046\u306a\u6559\u8a13\u3092\u5b66\u3073\u307e\u3057\u305f\u304b\uff1f","sniff_comment_tooltip_like":"\u3053\u306e\u30b3\u30e1\u30f3\u30c8\u306f\u3044\u3044\u306d\uff01","sniff_comment_tooltip_unlike":"\u3044\u3044\u306d\uff01\u3092\u53d6\u308a\u6d88\u3059","close":"\u9589\u3058\u308b"},"ka_GE":{"sniff_comment_tooltip_like":"\u10db\u10dd\u10d8\u10ec\u10dd\u10dc\u10d4 \u10d4\u10e1 \u10d9\u10dd\u10db\u10d4\u10dc\u10e2\u10d0\u10e0\u10d8","sniff_comment_tooltip_unlike":"\u10d0\u10e6\u10d0\u10e0 \u10db\u10dd\u10db\u10ec\u10dd\u10dc\u10e1 \u10d4\u10e1 \u10d9\u10dd\u10db\u10d4\u10dc\u10e2\u10d0\u10e0\u10d8"},"km_KH":{"sniff_comment_tooltip_like":"\u1785\u17bc\u179b\u1785\u17b7\u178f\u17d2\u178f \u179c\u17b7\u1785\u17b6\u179a \u1793\u17c1\u17c7","sniff_comment_tooltip_unlike":"\u179b\u17c2\u1784\u1785\u17bc\u179b\u1785\u17b7\u178f\u17d2\u178f\u1798\u178f\u17b7\u1793\u17c1\u17c7"},"ko_KR":{"fb_composer_lessons":"\uc6b0\uc815\uc5d0 \uad00\ud574\uc11c \uc624\ub298 \ubb34\uc5c7\uc744 \ubc30\uc6e0\ub098\uc694?","sniff_comment_tooltip_like":"\uc88b\uc544\uc694","sniff_comment_tooltip_unlike":"\uc88b\uc544\uc694 \ucde8\uc18c","close":"\ub2eb\uae30"},"ku_TR":{"sniff_comment_tooltip_like":"V\u00ea \u015f\u00eerovey\u00ea biecib\u00eene","sniff_comment_tooltip_unlike":"V\u00ea \u015firovey\u00ea neecib\u00eene"},"la_VA":[],"lt_LT":{"fb_composer_lessons":"Kokias \u017einias apie draugyst\u0119 i\u0161mokote \u0161iandien?","sniff_comment_tooltip_like":"Patinka \u0161is komentaras","sniff_comment_tooltip_unlike":"Nepatinka \u0161is komentaras","close":"U\u017edaryti"},"lv_LV":{"sniff_comment_tooltip_unlike":"Koment\u0101rs vairs nepat\u012bk"},"mk_MK":{"fb_composer_lessons":"\u041a\u043e\u0438 \u043b\u0435\u043a\u0446\u0438\u0438 \u0437\u0430 \u043f\u0440\u0438\u0458\u0430\u0442\u0435\u043b\u0441\u0442\u0432\u043e\u0442\u043e \u0434\u043e\u0437\u043d\u0430\u0432\u0442\u0435 \u0434\u0435\u043d\u0435\u0441?","sniff_comment_tooltip_like":"\u041c\u0438 \u0441\u0435 \u0434\u043e\u043f\u0430\u0453\u0430 \u043a\u043e\u043c\u0435\u043d\u0442\u0430\u0440\u043e\u0432","sniff_comment_tooltip_unlike":"\u041d\u0435 \u043c\u0438 \u0441\u0435 \u0434\u043e\u043f\u0430\u0453\u0430","close":"\u0417\u0430\u0442\u0432\u043e\u0440\u0438"},"ml_IN":{"sniff_comment_tooltip_like":"\u0d08 \u0d05\u0d2d\u0d3f\u0d2a\u0d4d\u0d30\u0d3e\u0d2f\u0d02 \u0d07\u0d37\u0d4d\u0d1f\u0d2e\u0d3e\u0d2f\u0d3f"},"ms_MY":{"fb_composer_lessons":"Apakah pelajaran tentang persahabatan yang telah anda pelajari hari ini?","fb_comment_box":"Tuliskan surat persahabatan...","fb_composer_ponies":"Kuda!","fb_composer_ponies_caps":"KUDA!!!","sniff_comment_tooltip_like":"Suka komen ini","sniff_comment_tooltip_unlike":"Tidak suka komen ini","close":"Tutup","options_title":"Opsyen Ponyhoof"},"nb_NO":{"sniff_comment_tooltip_like":"Lik denne kommentaren"},"ne_NP":[],"nl_NL":{"fb_composer_lessons":"Wat heb je vandaag geleerd over vriendschap?","sniff_comment_tooltip_like":"Leuke reactie","sniff_comment_tooltip_unlike":"Reactie niet meer leuk","close":"Sluiten"},"pa_IN":{"sniff_comment_tooltip_like":"\u0a07\u0a39 \u0a1f\u0a3f\u0a71\u0a2a\u0a23\u0a40 \u0a2a\u0a38\u0a70\u0a26 \u0a15\u0a30\u0a4b","sniff_comment_tooltip_unlike":"\u0a07\u0a39 \u0a1f\u0a3f\u0a71\u0a2a\u0a23\u0a40 \u0a28\u0a3e\u0a2a\u0a38\u0a70\u0a26 \u0a15\u0a30\u0a4b|"},"pl_PL":{"fb_composer_lessons":"Czego si\u0119 dzisiaj nauczy\u0142e\u015b o przyja\u017ani?","sniff_comment_tooltip_like":"Polub komentarz","sniff_comment_tooltip_unlike":"Nie lubi\u0119 tego komentarza","close":"Zamknij"},"ps_AF":[],"pt_BR":{"fb_composer_lessons":"Quais li\u00e7\u00f5es sobre amizade voc\u00ea aprendeu hoje?","sniff_comment_tooltip_like":"Curtir este coment\u00e1rio","sniff_comment_tooltip_unlike":"Curtir (desfazer) este coment\u00e1rio","close":"Fechar"},"pt_PT":{"fb_composer_lessons":"Que li\u00e7\u00f5es de amizade voc\u00ea aprendeu hoje?","sniff_comment_tooltip_like":"Gosto deste coment\u00e1rio","sniff_comment_tooltip_unlike":"N\u00e3o gosto deste coment\u00e1rio","close":"Fechar"},"ro_RO":{"fb_composer_lessons":"Ce lec\u0163ii despre prietenie ai \u00eenv\u0103\u0163at ast\u0103zi?","sniff_comment_tooltip_like":"\u00cemi place acest comentariu","sniff_comment_tooltip_unlike":"Nu-mi mai place acest comentariu","close":"\u00cenchide"},"ru_RU":{"fb_composer_lessons":"\u041a\u0430\u043a\u0438\u0435 \u0443\u0440\u043e\u043a\u0438 \u0434\u0440\u0443\u0436\u0431\u044b \u0432\u044b \u0432\u044b\u0443\u0447\u0438\u043b\u0438 \u0441\u0435\u0433\u043e\u0434\u043d\u044f?","sniff_comment_tooltip_like":"\u041c\u043d\u0435 \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439","sniff_comment_tooltip_unlike":"\u041d\u0435 \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f","close":"\u0417\u0430\u043a\u0440\u044b\u0442\u044c"},"sk_SK":{"fb_composer_lessons":"Ak\u00e9 lekcie priate\u013estva si sa nau\u010dil dnes?","sniff_comment_tooltip_like":"P\u00e1\u010di sa mi tento koment\u00e1r","sniff_comment_tooltip_unlike":"Tento koment\u00e1r sa mi u\u017e nep\u00e1\u010di","close":"Zavrie\u0165"},"sl_SI":{"fb_composer_lessons":"Kaj si se o prijateljstvu nau\u010dil\/-a danes?","sniff_comment_tooltip_like":"V\u0161e\u010d mi je","sniff_comment_tooltip_unlike":"Ta komentar mi ni v\u0161e\u010d","close":"Zapri"},"sq_AL":{"sniff_comment_tooltip_like":"P\u00eblqeje k\u00ebt\u00eb koment","sniff_comment_tooltip_unlike":"Mos p\u00eblqe k\u00ebt\u00eb koment"},"sr_RS":{"sniff_comment_tooltip_like":"\u0421\u0432\u0438\u0452\u0430 \u043c\u0438 \u0441\u0435 \u043a\u043e\u043c\u0435\u043d\u0442\u0430\u0440.","sniff_comment_tooltip_unlike":"\u041d\u0435 \u0441\u0432\u0438\u0452\u0430 \u043c\u0438 \u0441\u0435 \u043e\u0432\u0430\u0458 \u043a\u043e\u043c\u0435\u043d\u0442\u0430\u0440","close":"\u0417\u0430\u0442\u0432\u043e\u0440\u0438"},"sv_SE":{"fb_composer_lessons":"Vilka l\u00e4rdomar i v\u00e4nskap har du l\u00e4rt dig idag?","sniff_comment_tooltip_like":"Gilla den h\u00e4r kommentaren","sniff_comment_tooltip_unlike":"Sluta gilla den h\u00e4r kommentaren","close":"St\u00e4ng"},"sw_KE":[],"ta_IN":{"sniff_comment_tooltip_like":"\u0b87\u0b95\u0bcd\u0b95\u0bb0\u0bc1\u0ba4\u0bcd\u0ba4\u0bbf\u0ba9\u0bc8 \u0bb5\u0bbf\u0bb0\u0bc1\u0bae\u0bcd\u0baa\u0bc1\u0b95\u0bbf\u0bb1\u0bc7\u0ba9\u0bcd","sniff_comment_tooltip_unlike":"\u0b87\u0b95\u0bcd\u0b95\u0bb0\u0bc1\u0ba4\u0bcd\u0ba4\u0bbf\u0ba9\u0bc8 \u0bb5\u0bbf\u0bb0\u0bc1\u0bae\u0bcd\u0baa\u0bb5\u0bbf\u0bb2\u0bcd\u0bb2\u0bc8","close":"\u0e1b\u0e34\u0e14"},"te_IN":{"sniff_comment_tooltip_unlike":"\u0c35\u0c4d\u0c2f\u0c3e\u0c16\u0c4d\u0c2f \u0c28\u0c1a\u0c4d\u0c1a\u0c32\u0c47\u0c26\u0c41"},"th_TH":{"sniff_comment_tooltip_like":"\u0e16\u0e39\u0e01\u0e43\u0e08\u0e04\u0e27\u0e32\u0e21\u0e04\u0e34\u0e14\u0e40\u0e2b\u0e47\u0e19\u0e19\u0e35\u0e49","sniff_comment_tooltip_unlike":"\u0e40\u0e25\u0e34\u0e01\u0e16\u0e39\u0e01\u0e43\u0e08\u0e04\u0e27\u0e32\u0e21\u0e04\u0e34\u0e14\u0e40\u0e2b\u0e47\u0e19\u0e19\u0e35\u0e49"},"tl_PH":{"fb_composer_lessons":"Anong mga aralin sa pagkakaibigan ang natutunan mo ngayon?","sniff_comment_tooltip_like":"Gustuhin ang komentong ito","sniff_comment_tooltip_unlike":"Ayawan ang komentong ito","close":"Isara"},"tr_TR":{"fb_composer_lessons":"Bug\u00fcn arkada\u015fl\u0131kla ilgili neler \u00f6\u011frendin?","sniff_comment_tooltip_like":"Bu yorumu be\u011fen","sniff_comment_tooltip_unlike":"Bu yorumu be\u011fenmekten vazge\u00e7","close":"Kapat"},"uk_UA":{"fb_composer_lessons":"\u042f\u043a\u0456 \u0443\u0440\u043e\u043a\u0438 \u0432 \u0434\u0440\u0443\u0436\u0431\u0456 \u0432\u0438 \u0434\u0456\u0437\u043d\u0430\u043b\u0438\u0441\u044f \u0441\u044c\u043e\u0433\u043e\u0434\u043d\u0456?","sniff_comment_tooltip_like":"\u0412\u043f\u043e\u0434\u043e\u0431\u0430\u0442\u0438 \u043a\u043e\u043c\u0435\u043d\u0442\u0430\u0440","sniff_comment_tooltip_unlike":"\u041d\u0435 \u043f\u043e\u0434\u043e\u0431\u0430\u0454\u0442\u044c\u0441\u044f \u043a\u043e\u043c\u0435\u043d\u0442\u0430\u0440","close":"\u0417\u0430\u043a\u0440\u0438\u0442\u0438"},"vi_VN":{"sniff_comment_tooltip_like":"Th\u00edch b\u00ecnh lu\u1eadn n\u00e0y","sniff_comment_tooltip_unlike":"B\u1ecf th\u00edch b\u00ecnh lu\u1eadn n\u00e0y n\u1eefa"},"zh_CN":{"sniff_comment_tooltip_like":"\u559c\u6b22\u6b64\u8bc4\u8bba","sniff_comment_tooltip_unlike":"\u4e0d\u559c\u6b22\u6b64\u8bc4\u8bba","close":"\u5173\u95ed"},"zh_HK":{"sniff_comment_tooltip_like":"\u5c0d\u9019\u5247\u7559\u8a00\u8b9a\u597d","sniff_comment_tooltip_unlike":"\u53d6\u6d88\u8b9a\u597d"},"zh_TW":{"fb_composer_lessons":"\u4f60\u4eca\u5929\u5f9e\u53cb\u60c5\u88e1\u9762\u5b78\u5230\u4e86\u4ec0\u9ebc\uff1f","sniff_comment_tooltip_like":"\u8aaa\u9019\u5247\u7559\u8a00\u8b9a","sniff_comment_tooltip_unlike":"\u6536\u56de\u8b9a","close":"\u95dc\u9589"}};
+       var SOUNDS = {"AUTO":{"name":"(Auto-select)","seperator":true},"_sound\/defaultNotification":{"name":"Casting magic","title":"This will also be used for characters that do not have their own notification sound"},"trixie\/notif":{"name":"Trixie - Watch in awe!"},"dash\/notif":{"name":"Rainbow Dash - Aww yeah!"},"pinkie\/notif2":{"name":"Pinkie Pie - *rimshot*"},"applej\/notif":{"name":"Applejack - Yeehaw!"},"flutter\/notif2":{"name":"Fluttershy - Yay!"},"rarity\/notif":{"name":"Rarity - This is whining!"},"applebloom\/notif":{"name":"Apple Bloom - That'll be four bits"},"bigmac\/notif":{"name":"Big Macintosh - Eeyup"},"colgate\/notif":{"name":"Colgate - Why you don't brush your teeth"},"derpy\/notif":{"name":"Derpy Hooves - I brought you a letter!"},"luna\/notif":{"name":"Luna - Huzzah!"},"_sound\/roidrage_yeah":{"name":"Roid Rage\/Snowflake - YEAH!"},"sweetieb\/notif":{"name":"Sweetie Belle - Oh come on!"},"vinyl\/notif":{"name":"Vinyl Scratch - Yeah!","seperator":true},"twilight\/notif":{"name":"Twilight Sparkle - It's not over yet!"},"_sound\/grin2":{"name":"Fluttershy - *squee*"},"_sound\/dash_dundundun":{"name":"Rainbow Dash - DUN DUN DUN"},"_sound\/dash_egghead":{"name":"Rainbow Dash - I'm an egghead"},"_sound\/pinkie_boring":{"name":"Pinkie Pie - Booooring!"},"_sound\/pinkie_gasp":{"name":"Pinkie Pie - *gasp*"},"_sound\/pinkie_partycannon":{"name":"Pinkie Pie - Party cannon"},"_sound\/pinkie_pinkiepiestyle":{"name":"Pinkie Pie - Pinkie Pie style!"},"_sound\/flutter_woohoo":{"name":"Fluttershy - Woo hoo"},"_sound\/rarity_dumbrock":{"name":"Rarity - Dumb rock!"},"_sound\/rarity_itison":{"name":"Rarity - Oh. It. Is. On!"},"_sound\/rarity_wahaha":{"name":"Rarity - Wahaha!"},"_sound\/octavia_nevermess":{"name":"Octavia - Never mess with Octavia"},"_sound\/vinyl_awyeah":{"name":"Vinyl Scratch - Aw yeah!"},"_sound\/vinyl_mybasscannon":{"name":"Vinyl Scratch - My bass cannon!"},"_sound\/vinyl_wubwubwub":{"name":"Vinyl Scratch - Wubwubwub"},"_sound\/vinyl_wubedubdub":{"name":"Vinyl Scratch - Wubedubdub"},"_sound\/vinyl_yougotwubs":{"name":"Vinyl Scratch - You got wubs"}};
        var SOUNDS_CHAT = {"_sound\/grin2":{"name":"Fluttershy - *squee*"},"_sound\/chat_boing":{"name":"Boing"}};
        var HTMLCLASS_SETTINGS = ['login_bg', 'show_messages_other', 'disable_animation', 'pinkieproof', 'disable_emoticons'];
        var DEFAULTSETTINGS = {
        var SOUNDS_CHAT = {"_sound\/grin2":{"name":"Fluttershy - *squee*"},"_sound\/chat_boing":{"name":"Boing"}};
        var HTMLCLASS_SETTINGS = ['login_bg', 'show_messages_other', 'disable_animation', 'pinkieproof', 'disable_emoticons'];
        var DEFAULTSETTINGS = {
@@ -1218,12 +1222,12 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                'sounds':false, 'soundsFile':'AUTO', 'soundsNotifTypeBlacklist':'', 'soundsVolume':1, 'chatSound':true, 'chatSoundFile':'_sound/grin2',
                'show_messages_other':true, 'pinkieproof':false,  'forceEnglish':false, 'disable_emoticons':false, 'randomPonies':'', 'costume': '', //'commentBrohoofed':true,
                'disable_animation':false, 'disableDomNodeInserted':false, //'disableCommentBrohoofed':false,
                'sounds':false, 'soundsFile':'AUTO', 'soundsNotifTypeBlacklist':'', 'soundsVolume':1, 'chatSound':true, 'chatSoundFile':'_sound/grin2',
                'show_messages_other':true, 'pinkieproof':false,  'forceEnglish':false, 'disable_emoticons':false, 'randomPonies':'', 'costume': '', //'commentBrohoofed':true,
                'disable_animation':false, 'disableDomNodeInserted':false, //'disableCommentBrohoofed':false,
-               'customcss':'', 'debug_dominserted_console':false, 'debug_slow_load':false, 'debug_disablelog':false, 'debug_noMutationObserver':false, 'debug_mutationDebug':false, 'debug_exposed':false, 'debug_betaFacebookLinks':false, //'debug_mutationObserver':false,
+               'customcss':'', 'debug_dominserted_console':false, 'debug_slow_load':false, 'debug_disablelog':false, 'debug_noMutationObserver':false, 'debug_mutationDebug':false, 'debug_exposed':false, 'debug_betaFacebookLinks':false //,'debug_mutationObserver':false,
                //'lastVersion':''
 
                //'survivedTheNight', 'chatSound1401', 'randomSettingMigrated'
        };
                //'lastVersion':''
 
                //'survivedTheNight', 'chatSound1401', 'randomSettingMigrated'
        };
-       var STACKS_LANG = [{"stack":"pony","people":"ponies","person":"pony","friend":"pal","friends":"pals","friend_logic":"pal","friends_logic":"pals","like":"brohoof","likes":"brohoofs","unlike":"unbrohoof","like_past":"brohoof","likes_past":"brohoofs","liked":"brohoof'd","liked_button":"brohoof'd","liking":"brohoofing"},{"stack":"chrysalis","people":"changelings","person":"changeling","friend":"prey","friends":"prey","friend_logic":"changeling","friends_logic":"changelings","like":"feed","likes":"feeds","unlike":"unfeed","like_past":"fed on","likes_past":"fed on","liked":"fed on","liked_button":"fed","liking":"feeding"},{"stack":"villian","people":"ponies","person":"changeling","friend":"pal","friends":"pals","friend_logic":"pal","friends_logic":"pals","like":"brohoof","likes":"brohoofs","unlike":"unbrohoof","like_past":"brohoof","likes_past":"brohoofs","liked":"brohoof'd","liked_button":"brohoof'd","liking":"brohoofing"}];
+       var STACKS_LANG = [{"stack":"pony","people":"ponies","person":"pony","friend":"pal","friends":"pals","friend_logic":"pal","friends_logic":"pals","like":"brohoof","likes":"brohoofs","unlike":"unbrohoof","like_past":"brohoof","likes_past":"brohoofs","liked":"brohoof'd","liked_button":"brohoof'd","liking":"brohoofing"},{"stack":"chrysalis","people":"changelings","person":"changeling","friend":"prey","friends":"prey","friend_logic":"changeling","friends_logic":"changelings","like":"feed","likes":"feeds","unlike":"unfeed","like_past":"fed on","likes_past":"fed on","liked":"fed on","liked_button":"fed","liking":"feeding"},{"stack":"villian","people":"ponies","person":"pony","friend":"pal","friends":"pals","friend_logic":"pal","friends_logic":"pals","like":"brohoof","likes":"brohoofs","unlike":"unbrohoof","like_past":"brohoof","likes_past":"brohoofs","liked":"brohoof'd","liked_button":"brohoof'd","liking":"brohoofing"}];
        var CURRENTSTACK = STACKS_LANG[0];
        var COSTUMESX = {"winterwrapup":{"name":"Winter Wrap Up","characters":["twilight","dash","pinkie","applej","flutter","rarity","derpy"]},"nightmarenight":{"name":"Nightmare Night","characters":["twilight","dash","pinkie","applej","flutter","applebloom","bigmac","derpy","luna","scootaloo","spike","sweetieb","zecora"]},"hearthwarming":{"name":"Hearth's Warming","characters":["twilight","dash","pinkie","applej","flutter","rarity"]},"season3premiere":{"name":"Season 3 Premiere","characters":["twilight","rarity"]},"crystal":{"name":"Crystal Pony","characters":["twilight","dash","pinkie","applej","flutter","rarity","cadance"]},"wedding":{"name":"Canterlot Wedding","characters":["sweetieb"]},"coronation":{"name":"Princess Coronation Dresses","characters":["dash","pinkie","applej","flutter","rarity","cadance"]},"princess":{"name":"Princess Twilight Sparkle","characters":["twilight"]}};
        var SOUNDS_NOTIFTYPE = {
        var CURRENTSTACK = STACKS_LANG[0];
        var COSTUMESX = {"winterwrapup":{"name":"Winter Wrap Up","characters":["twilight","dash","pinkie","applej","flutter","rarity","derpy"]},"nightmarenight":{"name":"Nightmare Night","characters":["twilight","dash","pinkie","applej","flutter","applebloom","bigmac","derpy","luna","scootaloo","spike","sweetieb","zecora"]},"hearthwarming":{"name":"Hearth's Warming","characters":["twilight","dash","pinkie","applej","flutter","rarity"]},"season3premiere":{"name":"Season 3 Premiere","characters":["twilight","rarity"]},"crystal":{"name":"Crystal Pony","characters":["twilight","dash","pinkie","applej","flutter","rarity","cadance"]},"wedding":{"name":"Canterlot Wedding","characters":["sweetieb"]},"coronation":{"name":"Princess Coronation Dresses","characters":["dash","pinkie","applej","flutter","rarity","cadance"]},"princess":{"name":"Princess Twilight Sparkle","characters":["twilight"]}};
        var SOUNDS_NOTIFTYPE = {
@@ -1234,7 +1238,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                ,group_added_to_group: {name:"Herd invites from friends", type:"group_added_to_group"}
                ,plan_reminder: {name:"Adventure reminders", type:"plan_reminder"}
                ,follow_profile: {name:"New followers", type:"follow_profile"}
                ,group_added_to_group: {name:"Herd invites from friends", type:"group_added_to_group"}
                ,plan_reminder: {name:"Adventure reminders", type:"plan_reminder"}
                ,follow_profile: {name:"New followers", type:"follow_profile"}
-               ,photo_made_profile_pic: {name:"Made your pony pic his/her profile picture", type:"photo_made_profile_pic"}
+               //,photo_made_profile_pic: {name:"Made your pony pic his/her profile picture", type:"photo_made_profile_pic"}
                ,answers_answered: {name:"New answers on the Facebook Help Center", type:"answers_answered"}
 
                ,app_invite: {name:"Game/app requests", type:"app_invite"}
                ,answers_answered: {name:"New answers on the Facebook Help Center", type:"answers_answered"}
 
                ,app_invite: {name:"Game/app requests", type:"app_invite"}
@@ -1261,16 +1265,29 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
 
        // Chrome
                var chrome_sendMessage = function(message, callback) {
 
        // Chrome
                var chrome_sendMessage = function(message, callback) {
-                       if (chrome.extension.sendMessage) {
-                               chrome.extension.sendMessage(message, callback);
-                       } else {
-                               chrome.extension.sendRequest(message, callback);
+                       try {
+                               if (chrome.extension.sendMessage) {
+                                       chrome.extension.sendMessage(message, callback);
+                               } else {
+                                       chrome.extension.sendRequest(message, callback);
+                               }
+                       } catch (e) {
+                               if (e.toString().indexOf('Error: Error connecting to extension ') === 0) {
+                                       extUpdatedError(e.toString());
+                               }
+                               throw e;
                        }
                };
 
                var chrome_storageFallback = false;
                var chrome_getValue = function(name, callback) {
                        if (chrome.storage && !chrome_storageFallback) {
                        }
                };
 
                var chrome_storageFallback = false;
                var chrome_getValue = function(name, callback) {
                        if (chrome.storage && !chrome_storageFallback) {
+                               if (chrome_isExtUpdated()) {
+                                       extUpdatedError("[chrome_getValue("+name+")]");
+                                       callback(null);
+                                       return;
+                               }
+
                                chrome.storage.local.get(name, function(item) {
                                        if (chrome.runtime && chrome.runtime.lastError) {
                                                // Fallback to old storage method
                                chrome.storage.local.get(name, function(item) {
                                        if (chrome.runtime && chrome.runtime.lastError) {
                                                // Fallback to old storage method
@@ -1305,6 +1322,11 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                
                var chrome_setValue = function(name, val) {
                        if (chrome.storage && !chrome_storageFallback) {
                
                var chrome_setValue = function(name, val) {
                        if (chrome.storage && !chrome_storageFallback) {
+                               if (chrome_isExtUpdated()) {
+                                       extUpdatedError("[chrome_setValue("+name+")]");
+                                       return;
+                               }
+
                                var toSet = {};
                                toSet[name] = val;
                                chrome.storage.local.set(toSet, function() {
                                var toSet = {};
                                toSet[name] = val;
                                chrome.storage.local.set(toSet, function() {
@@ -1339,6 +1361,10 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                                }
                        });
                };
                                }
                        });
                };
+
+               var chrome_isExtUpdated = function() {
+                       return (typeof chrome.i18n === 'undefined' || typeof chrome.i18n.getMessage('@@extension_id') === 'undefined');
+               };
        
        if (ISOPERA) {
                if (opera.extension) {
        
        if (ISOPERA) {
                if (opera.extension) {
@@ -1443,7 +1469,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                };
        }
        
                };
        }
        
-       if (ISFIREFOX && typeof self != 'undefined' && typeof self.on != 'undefined') {
+       if (typeof self != 'undefined' && typeof self.on != 'undefined') {
                self.on('message', function(message) {
                        var data = message;
                        if (data) {
                self.on('message', function(message) {
                        var data = message;
                        if (data) {
@@ -1454,6 +1480,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                                }
                        }
                });
                                }
                        }
                });
+
                var xpi_getValue = function(name, callback) {
                        _ext_messageCallback[_ext_messageId] = callback;
                        self.postMessage({'command':'getValue', 'messageid':_ext_messageId, 'name':name});
                var xpi_getValue = function(name, callback) {
                        _ext_messageCallback[_ext_messageId] = callback;
                        self.postMessage({'command':'getValue', 'messageid':_ext_messageId, 'name':name});
@@ -1464,7 +1491,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        self.postMessage({'command':'setValue', 'name':name, 'val':val});
                };
                
                        self.postMessage({'command':'setValue', 'name':name, 'val':val});
                };
                
-               var xpi_clearStorage = function(name, val) {
+               var xpi_clearStorage = function() {
                        self.postMessage({'command':'clearStorage'});
                };
 
                        self.postMessage({'command':'clearStorage'});
                };
 
@@ -1489,11 +1516,17 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        self.postMessage({'command':'ajax', 'messageid':_ext_messageId, 'details':detailsX});
                        _ext_messageId += 1;
                };
                        self.postMessage({'command':'ajax', 'messageid':_ext_messageId, 'details':detailsX});
                        _ext_messageId += 1;
                };
+
+               var xpi_sendMessage = function(message, callback) {
+                       _ext_messageCallback[_ext_messageId] = callback;
+                       message.messageid = _ext_messageId;
+                       self.postMessage(message);
+                       _ext_messageId += 1;
+               };
        }
 
        if (typeof w.external != 'undefined' && typeof w.external.mxGetRuntime != 'undefined') {
                var maxthonRuntime = w.external.mxGetRuntime();
        }
 
        if (typeof w.external != 'undefined' && typeof w.external.mxGetRuntime != 'undefined') {
                var maxthonRuntime = w.external.mxGetRuntime();
-
                maxthonRuntime.listen('messageContentScript', function(message) {
                        var data = message;
                        if (data) {
                maxthonRuntime.listen('messageContentScript', function(message) {
                        var data = message;
                        if (data) {
@@ -1505,6 +1538,32 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        }
                });
 
                        }
                });
 
+               var mxaddon_getValue = function(name, callback) {
+                       try {
+                               callback(maxthonRuntime.storage.getConfig(name));
+                       } catch (e) {
+                               if (e.message && e.message === 'No LocalStorage Service Extension! (206)') {
+                                       extUpdatedError(e.message);
+                               }
+                               throw e;
+                       }
+               };
+
+               var mxaddon_setValue = function(name, val) {
+                       try {
+                               maxthonRuntime.storage.setConfig(name, val);
+                       } catch (e) {
+                               if (e.message && e.message === 'No LocalStorage Service Extension! (206)') {
+                                       extUpdatedError(e.message);
+                               }
+                               throw e;
+                       }
+               };
+
+               var mxaddon_clearStorage = function() {
+                       // Maxthon does not have a clear storage function
+               };
+
                var mxaddon_ajax = function(details) {
                        _ext_messageCallback[_ext_messageId] = function(response) {
                                if (response.val == 'success') {
                var mxaddon_ajax = function(details) {
                        _ext_messageCallback[_ext_messageId] = function(response) {
                                if (response.val == 'success') {
@@ -1523,7 +1582,14 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                                ,'headers': details.headers
                                ,'data': details.data
                        };
                                ,'headers': details.headers
                                ,'data': details.data
                        };
-                       maxthonRuntime.post('messageBackground', {'command':'ajax', 'messageid':_ext_messageId, 'details':detailsX});
+                       try {
+                               maxthonRuntime.post('messageBackground', {'command':'ajax', 'messageid':_ext_messageId, 'details':detailsX});
+                       } catch (e) {
+                               if (e.message && e.message === 'No Platform_Message Service Extension! (355)') {
+                                       extUpdatedError(e.message);
+                               }
+                               throw e;
+                       }
                        _ext_messageId += 1;
                };
        }
                        _ext_messageId += 1;
                };
        }
@@ -1585,27 +1651,41 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
        }
        
        function getValueError(extra) {
        }
        
        function getValueError(extra) {
-               if (extra === 'ModuleSystem has been deleted' || extra === 'TypeError: Cannot read property \'sendMessage\' of undefined' || extra === '<code>ModuleSystem has been deleted</code>' || extra === '<code>TypeError: Cannot read property \'sendMessage\' of undefined</code>') {
-                       createSimpleDialog('localStorageError_getValueChromeExt', "Ponyhoof derp'd", "Ponyhoof has been disabled/updated recently. Please reload the page in order for Ponyhoof to work properly.");
+               if (chrome_isExtUpdatedError(extra)) {
+                       extUpdatedError(extra);
                } else {
                } else {
-                       createSimpleDialog('localStorageError_getValue', "Ponyhoof derp'd", "Ponyhoof can't load your settings. Please try again later.<br><br>If you keep seeing this error, please update to the latest version of Ponyhoof if available and <a href=\""+w.location.protocol+PONYHOOF_URL+"\" data-hovercard=\"/ajax/hovercard/page.php?id="+PONYHOOF_PAGE+"\">visit the Ponyhoof page for help</a>.<br><br>"+extra);
+                       createSimpleDialog('localStorageError_getValue', "Ponyhoof derp'd", "Whoops, Ponyhoof can't load your settings. Please try again later.<br><br>If you keep seeing this error, please update to the latest version of Ponyhoof if available and <a href=\""+w.location.protocol+PONYHOOF_URL+"\" data-hovercard=\"/ajax/hovercard/page.php?id="+PONYHOOF_PAGE+"\">visit and post to the Ponyhoof page for help</a>.<br><br><code>"+extra+"</code>");
                }
 
                trace();
        }
        
        function saveValueError(extra) {
                }
 
                trace();
        }
        
        function saveValueError(extra) {
-               var desc = "Ponyhoof can't save your settings. There might be a conflict with another extension installed on your browser. Please try again later.<br><br>If you keep seeing this error, please update to the latest version of Ponyhoof if available and <a href=\""+w.location.protocol+PONYHOOF_URL+"\" data-hovercard=\"/ajax/hovercard/page.php?id="+PONYHOOF_PAGE+"\">visit the Ponyhoof page for help</a>.<br><br>"+extra;
+               var desc = "Whoops, Ponyhoof can't save your settings. Please try again later.";
+               if (ISFIREFOX && STORAGEMETHOD === 'greasemonkey' && userSettings.customBg) {
+                       desc += "<br><br>This may be caused by a large custom background that you have set. Please try removing it.";
+               }
+               desc += "<br><br>If you keep seeing this error, please update to the latest version of Ponyhoof if available and <a href=\""+w.location.protocol+PONYHOOF_URL+"\" data-hovercard=\"/ajax/hovercard/page.php?id="+PONYHOOF_PAGE+"\">visit and post to the Ponyhoof page for help</a>.<br><br><code>"+extra+"</code>";
                createSimpleDialog('localStorageError_saveValue', "Ponyhoof derp'd", desc);
 
                trace();
        }
        
        function ponyhoofError(extra) {
                createSimpleDialog('localStorageError_saveValue', "Ponyhoof derp'd", desc);
 
                trace();
        }
        
        function ponyhoofError(extra) {
-               createSimpleDialog('ponyhoofError', "Ponyhoof derp'd", "Ponyhoof encountered an internal error. Please try again later and update to the latest version of Ponyhoof if available.<br><br>"+extra);
+               createSimpleDialog('ponyhoofError', "Ponyhoof derp'd", "Whoops, Ponyhoof encountered an internal error. Please try again later.<br><br>If you keep seeing this error, please update to the latest version of Ponyhoof if available and <a href=\""+w.location.protocol+PONYHOOF_URL+"\" data-hovercard=\"/ajax/hovercard/page.php?id="+PONYHOOF_PAGE+"\">visit and post to the Ponyhoof page for help</a>.<br><br><code>"+extra+"</code>");
 
                trace();
        }
 
                trace();
        }
+
+       var chrome_isExtUpdatedError = function(message) {
+               var a = 'ModuleSystem has been deleted';
+               var b = 'TypeError: Cannot read property \'sendMessage\' of undefined';
+               return (message === a || message === b);
+       };
+
+       var extUpdatedError = function(extra) {
+               createSimpleDialog('localStorageError_extUpdatedError', "Ponyhoof derp'd", "Ponyhoof has been updated/disabled recently. Please reload the page in order for Ponyhoof to work properly.<br><br><code>"+extra+"</code>");
+       };
        
        function getValue(name, callback) {
                switch (STORAGEMETHOD) {
        
        function getValue(name, callback) {
                switch (STORAGEMETHOD) {
@@ -1630,7 +1710,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                                break;
                        
                        case 'mxaddon':
                                break;
                        
                        case 'mxaddon':
-                               callback(w.external.mxGetRuntime().storage.getConfig(name));
+                               mxaddon_getValue(name, callback);
                                break;
                        
                        case 'localstorage':
                                break;
                        
                        case 'localstorage':
@@ -1664,7 +1744,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                                break;
                        
                        case 'mxaddon':
                                break;
                        
                        case 'mxaddon':
-                               w.external.mxGetRuntime().storage.setConfig(name, v);
+                               mxaddon_setValue(name, v);
                                break;
                        
                        case 'localstorage':
                                break;
                        
                        case 'localstorage':
@@ -1710,9 +1790,9 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
 
                        var extra = '';
                        if (e.message) {
 
                        var extra = '';
                        if (e.message) {
-                               extra = "<code>"+e.message+"</code>";
+                               extra = e.message;
                        } else {
                        } else {
-                               extra = "<code>"+e.toString()+"</code>";
+                               extra = e.toString();
                        }
                        try {
                                getValueError(extra);
                        }
                        try {
                                getValueError(extra);
@@ -1751,14 +1831,14 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        var extra = '';
                        if (e.message) {
                                if (e.message == 'ModuleSystem has been deleted' || e.message == 'TypeError: Cannot read property \'sendMessage\' of undefined') {
                        var extra = '';
                        if (e.message) {
                                if (e.message == 'ModuleSystem has been deleted' || e.message == 'TypeError: Cannot read property \'sendMessage\' of undefined') {
-                                       createSimpleDialog('localStorageError_setValueChromeExt', "Ponyhoof derp'd", "Ponyhoof has been disabled/updated recently. Please reload the page in order for Ponyhoof to work properly.");
+                                       extUpdatedError(e.message);
                                        callback();
                                        return;
                                }
 
                                        callback();
                                        return;
                                }
 
-                               extra = "<code>"+e.message+"</code>";
+                               extra = e.message;
                        } else {
                        } else {
-                               extra = "<code>"+e.toString()+"</code>";
+                               extra = e.toString();
                        }
                        saveValueError(extra);
                        return false;
                        }
                        saveValueError(extra);
                        return false;
@@ -1774,9 +1854,14 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                i.style.position = 'absolute';
                i.style.top = '-9999px';
                i.style.left = '-9999px';
                i.style.position = 'absolute';
                i.style.top = '-9999px';
                i.style.left = '-9999px';
+               i.setAttribute('aria-hidden', 'true');
                i.src = '//hoof.little.my/files/_htm/stat_'+stat+'.htm?version='+VERSION;
                d.body.appendChild(i);
        }
                i.src = '//hoof.little.my/files/_htm/stat_'+stat+'.htm?version='+VERSION;
                d.body.appendChild(i);
        }
+
+       var canPlayFlash = function() {
+               return !!w.navigator.mimeTypes['application/x-shockwave-flash'];
+       };
        
        // Pony selector
        var PonySelector = function(p, param) {
        
        // Pony selector
        var PonySelector = function(p, param) {
@@ -1795,6 +1880,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                k.customClick = function() {};
                k.customCheckCondition = false;
                k.overrideClickAction = false;
                k.customClick = function() {};
                k.customCheckCondition = false;
                k.overrideClickAction = false;
+               k.saveTheme = true;
                
                k.menu = null;
                k.createSelector = function() {
                
                k.menu = null;
                k.createSelector = function() {
@@ -1829,15 +1915,17 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                                
                                k.menu.createMenuItem({
                                         html: "(Random)"
                                
                                k.menu.createMenuItem({
                                         html: "(Random)"
-                                       ,title: "To choose who to randomize, go to the Misc tab"
+                                       ,title: "To choose which characters to randomize, go to the Misc tab"
                                        ,check: check
                                        ,unsearchable: true
                                        ,onclick: function(menuItem, menuClass) {
                                                CURRENTPONY = 'RANDOM';
                                                
                                                changeThemeSmart('RANDOM');
                                        ,check: check
                                        ,unsearchable: true
                                        ,onclick: function(menuItem, menuClass) {
                                                CURRENTPONY = 'RANDOM';
                                                
                                                changeThemeSmart('RANDOM');
-                                               userSettings.theme = 'RANDOM';
-                                               saveSettings();
+                                               if (k.saveTheme) {
+                                                       userSettings.theme = 'RANDOM';
+                                                       saveSettings();
+                                               }
                                                
                                                menuClass.changeButtonText("(Random)");
                                                menuClass.changeChecked(menuItem);
                                                
                                                menuClass.changeButtonText("(Random)");
                                                menuClass.changeChecked(menuItem);
@@ -1910,8 +1998,10 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                                                CURRENTPONY = code;
                                                
                                                changeThemeSmart(code);
                                                CURRENTPONY = code;
                                                
                                                changeThemeSmart(code);
-                                               userSettings.theme = code;
-                                               saveSettings();
+                                               if (k.saveTheme) {
+                                                       userSettings.theme = code;
+                                                       saveSettings();
+                                               }
 
                                                menuClass.changeButtonText(ponyData.name);
                                                menuClass.changeChecked(menuItem);
 
                                                menuClass.changeButtonText(ponyData.name);
                                                menuClass.changeChecked(menuItem);
@@ -2179,7 +2269,11 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
 
                                        // v1.611
                                        case 'xpi':
 
                                        // v1.611
                                        case 'xpi':
-                                               //ele.href = json.xpi;
+                                               ele.href = json.xpi;
+                                               break;
+
+                                       case 'mxaddon':
+                                               // Handled by function
                                                break;
 
                                        default:
                                                break;
 
                                        default:
@@ -2224,6 +2318,10 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                                        k._xpi();
                                        return;
 
                                        k._xpi();
                                        return;
 
+                               case 'mxaddon':
+                                       k.mxaddon();
+                                       return;
+
                                default:
                                        break;
                        }
                                default:
                                        break;
                        }
@@ -2297,7 +2395,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        k.cwsWaitDialog.noBottom = true;
                        k.cwsWaitDialog.canCloseByEscapeKey = false;
                        k.cwsWaitDialog.create();
                        k.cwsWaitDialog.noBottom = true;
                        k.cwsWaitDialog.canCloseByEscapeKey = false;
                        k.cwsWaitDialog.create();
-                       k.cwsWaitDialog.changeTitle(CURRENTLANG.updater_title);
+                       k.cwsWaitDialog.changeTitle(CURRENTLANG['updater_title']);
                        k.cwsWaitDialog.changeContent(c);
 
                        chrome_sendMessage({'command':'checkForUpdates'}, function(status, details) {
                        k.cwsWaitDialog.changeContent(c);
 
                        chrome_sendMessage({'command':'checkForUpdates'}, function(status, details) {
@@ -2309,13 +2407,13 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                                                        k.cwsOneClickSuccess = true;
 
                                                        var successText = '';
                                                        k.cwsOneClickSuccess = true;
 
                                                        var successText = '';
-                                                       var ponyData = convertCodeToData(CURRENTPONY);
+                                                       var ponyData = convertCodeToData(REALPONY);
                                                        if (ponyData.successText) {
                                                                successText = ponyData.successText;
                                                        } else {
                                                                successText = "Yay!";
                                                        }
                                                        if (ponyData.successText) {
                                                                successText = ponyData.successText;
                                                        } else {
                                                                successText = "Yay!";
                                                        }
-                                                       var c = successText+" Reloading... <span class='ponyhoof_loading'></span>";
+                                                       var c = successText+" Update complete, reloading... <span class='ponyhoof_loading'></span>";
                                                        k.cwsWaitDialog.changeContent(c);
 
                                                        if (!k.cwsDialog) {
                                                        k.cwsWaitDialog.changeContent(c);
 
                                                        if (!k.cwsDialog) {
@@ -2367,14 +2465,14 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        }
 
                        var newversion = k.update_json.version;
                        }
 
                        var newversion = k.update_json.version;
-                       var c = "<strong>"+header+"</strong><br><br>To update now, go to <strong>about:extensions</strong> in the address bar, enable <strong>Developer mode</strong> at the top-right and click <strong>Update extensions now</strong>.";
+                       var c = "<strong>"+header+"</strong><br><br>To update now, go to <a href='#' class='ponyhoof_updater_cws_openExtensions'><strong>about:extensions</strong></a> in the address bar, enable <strong>Developer mode</strong> at the top-right and click <strong>Update extensions now</strong>.";
                        if (newversion) {
                                c += "<br><br>Verify that the version changes from "+VERSION+" to "+parseFloat(newversion)+" and reload Facebook.";
                        }
                        c += "<br><br><"+"img src='"+THEMEURL+"_welcome/chrome_forceupdate.png' alt='' width='177' height='108' class='ponyhoof_image_shadow'>";
                        
                        var bottom = '';
                        if (newversion) {
                                c += "<br><br>Verify that the version changes from "+VERSION+" to "+parseFloat(newversion)+" and reload Facebook.";
                        }
                        c += "<br><br><"+"img src='"+THEMEURL+"_welcome/chrome_forceupdate.png' alt='' width='177' height='108' class='ponyhoof_image_shadow'>";
                        
                        var bottom = '';
-                       bottom += '<a href="#" class="uiButton uiButtonLarge uiButtonConfirm" role="button" id="ponyhoof_updater_cws_openExtensions"><span class="uiButtonText">Open Extensions</span></a>';
+                       bottom += '<a href="#" class="uiButton uiButtonLarge uiButtonConfirm ponyhoof_updater_cws_openExtensions" role="button"><span class="uiButtonText">Open Extensions</span></a>';
                        bottom += '<a href="#" class="uiButton uiButtonLarge uiButtonConfirm reloadNow" role="button"><span class="uiButtonText">'+CURRENTLANG.reloadNow+'</span></a>';
                        bottom += '<a href="#" class="uiButton uiButtonLarge notNow" role="button"><span class="uiButtonText">'+CURRENTLANG.notNow+'</span></a>';
                        
                        bottom += '<a href="#" class="uiButton uiButtonLarge uiButtonConfirm reloadNow" role="button"><span class="uiButtonText">'+CURRENTLANG.reloadNow+'</span></a>';
                        bottom += '<a href="#" class="uiButton uiButtonLarge notNow" role="button"><span class="uiButtonText">'+CURRENTLANG.notNow+'</span></a>';
                        
@@ -2385,13 +2483,13 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        k.cwsDialog.changeContent(c);
                        k.cwsDialog.changeBottom(bottom);
                        
                        k.cwsDialog.changeContent(c);
                        k.cwsDialog.changeBottom(bottom);
                        
-                       var openExtensionsButton = $('ponyhoof_updater_cws_openExtensions');
-
-                       openExtensionsButton.addEventListener('click', function() {
-                               if (!hasClass(this, 'uiButtonDisabled')) {
-                                       chrome_sendMessage({'command':'openExtensions'}, function() {});
-                               }
-                               return false;
+                       $$(k.cwsDialog.dialog, '.ponyhoof_updater_cws_openExtensions', function(button) {
+                               button.addEventListener('click', function(e) {
+                                       e.preventDefault();
+                                       if (!hasClass(this, 'uiButtonDisabled')) {
+                                               chrome_sendMessage({'command':'openExtensions'}, function() {});
+                                       }
+                               });
                        });
 
                        k._initReloadButtons(k.cwsDialog);
                        });
 
                        k._initReloadButtons(k.cwsDialog);
@@ -2463,20 +2561,102 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                };
 
                k.xpiDialog = null;
                };
 
                k.xpiDialog = null;
+               k.xpiWaitDialog = null;
+               k.xpiOneClickSuccess = false;
                k._xpi = function() {
                k._xpi = function() {
-                       if (k.xpiDialog) {
-                               k.xpiDialog.show();
+                       if (k.xpiWaitDialog) {
+                               k._xpi_showDialog();
+                               return;
+                       }
+
+                       var c = "Updating... <span class='ponyhoof_loading'></span>";
+                       k.xpiWaitDialog = new Dialog('update_xpiWait');
+                       k.xpiWaitDialog.alwaysModal = true;
+                       k.xpiWaitDialog.noBottom = true;
+                       k.xpiWaitDialog.canCloseByEscapeKey = false;
+                       k.xpiWaitDialog.create();
+                       k.xpiWaitDialog.changeTitle(CURRENTLANG['updater_title']);
+                       k.xpiWaitDialog.changeContent(c);
+
+                       xpi_sendMessage({'command':'checkForUpdates'}, function(val) {
+                               if (val != 'update_available') {
+                                       k._xpi_fallback();
+                                       return;
+                               }
+
+                               xpi_sendMessage({'command':'onUpdateAvailable'}, function(val) {
+                                       if (!val.status) {
+                                               return;
+                                       }
+                                       var c = '';
+                                       switch (val.status) {
+                                               case 'onDownloadStarted':
+                                                       c = "Downloading update...";
+                                                       break;
+
+                                               case 'onDownloadEnded':
+                                                       c = "Preparing to install...";
+                                                       break;
+
+                                               case 'onInstallStarted':
+                                                       c = "Installing update...";
+
+                                                       w.setTimeout(function() {
+                                                               k.xpiOneClickSuccess = true;
+
+                                                               if (!k.xpiDialog) {
+                                                                       var successText = '';
+                                                                       var ponyData = convertCodeToData(REALPONY);
+                                                                       if (ponyData.successText) {
+                                                                               successText = ponyData.successText;
+                                                                       } else {
+                                                                               successText = "Yay!";
+                                                                       }
+                                                                       c = successText+" Update complete, reloading...";
+                                                                       k.xpiWaitDialog.changeContent(c);
+
+                                                                       w.location.reload();
+                                                               }
+                                                       }, 100);
+                                                       break;
+
+                                               case 'onDownloadFailed':
+                                               case 'onInstallFailed':
+                                                       k._xpi_fallback();
+                                                       break;
+
+                                               default:
+                                                       break;
+                                       }
+                                       if (c) {
+                                               c += " <span class='ponyhoof_loading'></span>";
+                                               k.xpiWaitDialog.changeContent(c);
+                                       }
+                               });
+                       });
+
+                       w.setTimeout(k._xpi_fallback, 10000);
+               };
+
+               k._xpi_fallback = function() {
+                       if (k.xpiOneClickSuccess) {
                                return;
                        }
                                return;
                        }
+                       k.xpiOneClickSuccess = true;
 
 
+                       k.xpiWaitDialog.close();
+                       k._xpi_showDialog();
+               };
+
+               k._xpi_showDialog = function() {
                        var c = '';
                        c += "Firefox may prompt a security warning at the top-left, click <strong>Allow</strong>.<br><br><"+"img src='"+THEMEURL+"_welcome/guide/firefox/xpi_1_facebook.png' alt='' width='409' height='144' class='ponyhoof_image_shadow'><br>";
                        c += "When you see the Software Installation dialog, click <strong>Install Now</strong>. The update will load after you reload Facebook, you do not need to restart Firefox.<br><br><"+"img src='"+THEMEURL+"_welcome/guide/firefox/xpi_2.png' alt='' width='400' height='412' class='ponyhoof_image_shadow'>";
                        
                        var bottom = '';
                        var c = '';
                        c += "Firefox may prompt a security warning at the top-left, click <strong>Allow</strong>.<br><br><"+"img src='"+THEMEURL+"_welcome/guide/firefox/xpi_1_facebook.png' alt='' width='409' height='144' class='ponyhoof_image_shadow'><br>";
                        c += "When you see the Software Installation dialog, click <strong>Install Now</strong>. The update will load after you reload Facebook, you do not need to restart Firefox.<br><br><"+"img src='"+THEMEURL+"_welcome/guide/firefox/xpi_2.png' alt='' width='400' height='412' class='ponyhoof_image_shadow'>";
                        
                        var bottom = '';
-                       bottom += '<div class="lfloat"><a href="#" class="retry">Retry</a></div>';
-                       bottom += '<a href="#" class="uiButton uiButtonLarge uiButtonConfirm reloadNow" role="button"><span class="uiButtonText">'+CURRENTLANG.reloadNow+'</span></a>';
-                       bottom += '<a href="#" class="uiButton uiButtonLarge notNow" role="button"><span class="uiButtonText">'+CURRENTLANG.notNow+'</span></a>';
+                       bottom += '<div class="lfloat hidden_elem"><a href="#" class="retry">Retry</a></div>';
+                       bottom += '<a href="#" class="uiButton uiButtonLarge uiButtonConfirm reloadNow" role="button"><span class="uiButtonText">'+CURRENTLANG['reloadNow']+'</span></a>';
+                       bottom += '<a href="#" class="uiButton uiButtonLarge notNow" role="button"><span class="uiButtonText">'+CURRENTLANG['notNow']+'</span></a>';
                        
                        k.xpiDialog = new Dialog('update_xpi');
                        k.xpiDialog.alwaysModal = true;
                        
                        k.xpiDialog = new Dialog('update_xpi');
                        k.xpiDialog.alwaysModal = true;
@@ -2485,20 +2665,68 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        k.xpiDialog.changeContent(c);
                        k.xpiDialog.changeBottom(bottom);
 
                        k.xpiDialog.changeContent(c);
                        k.xpiDialog.changeBottom(bottom);
 
-                       var retry = k.xpiDialog.dialog.getElementsByClassName('retry');
+                       if (k.update_json.xpi) {
+                               var retry = k.xpiDialog.dialog.getElementsByClassName('retry');
+                               if (retry.length) {
+                                       retry = retry[0];
+                                       retry.href = k.update_json.xpi;
+                                       removeClass(retry.parentNode, 'hidden_elem');
+                               }
+                               k._initReloadButtons(k.xpiDialog);
+
+                               try {
+                                       USW.InstallTrigger.install({
+                                               "Ponyhoof": {
+                                                        URL: k.update_json.xpi
+                                                       ,IconURL: 'https://hoof.little.my/files/app32.png'
+                                               }
+                                       });
+                               } catch (e) {
+                                       dir(e);
+                               }
+                       }
+               };
+
+               k.mxaddonDialog = null;
+               k.mxaddon = function() {
+                       if (k.mxaddonDialog) {
+                               k.mxaddonDialog.show();
+                               return;
+                       }
+
+                       injectManualStyle('#ponyhoof_dialog_update_mxaddon .generic_dialog_popup, #ponyhoof_dialog_update_mxaddon .popup {width:500px;}', 'update_mxaddon');
+
+                       var c = "Click <strong>Update</strong> when you see this dialog. The update will load after you reload Facebook.<br><br><"+"img src='"+THEMEURL+"_welcome/guide/maxthon/update.png' alt='' width='446' height='419' class='ponyhoof_image_shadow'>";
+                       
+                       var bottom = '';
+                       bottom += '<div class="lfloat"><a href="#" class="retry hidden_elem">Retry</a></div>';
+                       bottom += '<a href="#" class="uiButton uiButtonLarge uiButtonConfirm reloadNow" role="button"><span class="uiButtonText">'+CURRENTLANG['reloadNow']+'</span></a>';
+                       bottom += '<a href="#" class="uiButton uiButtonLarge notNow" role="button"><span class="uiButtonText">'+CURRENTLANG['notNow']+'</span></a>';
+                       
+                       k.mxaddonDialog = new Dialog('update_mxaddon');
+                       k.mxaddonDialog.alwaysModal = true;
+                       k.mxaddonDialog.create();
+                       k.mxaddonDialog.changeTitle(CURRENTLANG['updater_title']);
+                       k.mxaddonDialog.changeContent(c);
+                       k.mxaddonDialog.changeBottom(bottom);
+
+                       var retry = k.mxaddonDialog.dialog.getElementsByClassName('retry');
                        if (retry.length) {
                                retry = retry[0];
                        if (retry.length) {
                                retry = retry[0];
-                               retry.href = k.update_json.xpi;
+                               retry.addEventListener('click', function(e) {
+                                       e.preventDefault();
+                                       k._mxaddonInstallNow();
+                               }, false);
+                               removeClass(retry, 'hidden_elem');
                        }
                        }
-                       k._initReloadButtons(k.xpiDialog);
+                       k._initReloadButtons(k.mxaddonDialog);
+
+                       k._mxaddonInstallNow();
+               };
 
 
+               k._mxaddonInstallNow = function() {
                        try {
                        try {
-                               USW.InstallTrigger.install({
-                                       "Ponyhoof": {
-                                                URL: k.update_json.xpi
-                                               ,IconURL: 'https://hoof.little.my/files/app32.png'
-                                       }
-                               });
+                               w.external.mxCall('InstallApp', k.update_json.mxaddon);
                        } catch (e) {
                                dir(e);
                        }
                        } catch (e) {
                                dir(e);
                        }
@@ -2732,7 +2960,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                };
 
                k.createErrorDialog = function(response) {
                };
 
                k.createErrorDialog = function(response) {
-                       createSimpleDialog('browserponies_error', "Browser Ponies derp'd", "An error occurred loading Browser Ponies. Please try again later and update to the latest version of Ponyhoof if available.");
+                       createSimpleDialog('browserponies_error', "Browser Ponies derp'd", "Whoops, there was a problem loading Browser Ponies. Please try again later.<br><br>If you keep seeing this error, please update to the latest version of Ponyhoof if available and <a href=\""+w.location.protocol+PONYHOOF_URL+"\" data-hovercard=\"/ajax/hovercard/page.php?id="+PONYHOOF_PAGE+"\">visit and post to the Ponyhoof page for help</a>.");
                }
 
                k.injectStyle = function() {
                }
 
                k.injectStyle = function() {
@@ -2841,7 +3069,9 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        c += '<div class="ponyhoof_tabs_section" id="ponyhoof_options_tabs_main" style="display:block;">';
                        //c += '<div class="ponyhoof_tabs_section" id="ponyhoof_options_tabs_main">';
                                c += '<div class="clearfix">';
                        c += '<div class="ponyhoof_tabs_section" id="ponyhoof_options_tabs_main" style="display:block;">';
                        //c += '<div class="ponyhoof_tabs_section" id="ponyhoof_options_tabs_main">';
                                c += '<div class="clearfix">';
-                               c += '<a href="#" ajaxify="/ajax/sharer/?s=18&amp;p[]='+PONYHOOF_PAGE+'" rel="dialog" class="uiButton uiButtonSpecial rfloat ponyhoof_noShareIsCare" role="button" data-hover="tooltip" data-tooltip-alignh="right" aria-label="'+CURRENTLANG.fb_share_tooltip+'"><span class="uiButtonText">Share with your pals!</span></a>';
+                               c += renderBrowserConfigWarning();
+
+                               c += '<a href="#" ajaxify="/ajax/sharer/?s=18&amp;p[]='+PONYHOOF_PAGE+'" rel="dialog" class="uiButton uiButtonSpecial rfloat ponyhoof_noShareIsCare" role="button" data-hover="tooltip" data-tooltip-alignh="right" aria-label="'+CURRENTLANG['fb_share_tooltip']+'"><span class="uiButtonText">Share with your pals!</span></a>';
                                
                                var visitPageText = CURRENTLANG.settings_main_visitPage;
                                if (ISUSINGBUSINESS) {
                                
                                var visitPageText = CURRENTLANG.settings_main_visitPage;
                                if (ISUSINGBUSINESS) {
@@ -2875,7 +3105,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
 
                                        c += '<div class="ponyhoof_message uiBoxRed hidden_elem" id="ponyhoof_options_background_error"></div>';
                                        c += '<div id="ponyhoof_options_background_drop">';
 
                                        c += '<div class="ponyhoof_message uiBoxRed hidden_elem" id="ponyhoof_options_background_error"></div>';
                                        c += '<div id="ponyhoof_options_background_drop">';
-                                               c += '<div id="ponyhoof_options_background_drop_notdrop">Drag and drop an image here to customize your background. <a href="#" class="uiHelpLink" data-hover="tooltip" data-tooltip-alignh="center" aria-label="Maximum file size is 1 MB.\n\nYour image resolution should be '+w.screen.width+'x'+w.screen.height+' to fill the entire screen. Your image will not be resized and will be placed on the middle of the page."></a><br><br>Or browse for an image: <input type="file" id="ponyhoof_options_background_select" accept="image/*"></div>';
+                                               c += '<div id="ponyhoof_options_background_drop_notdrop">Drag and drop an image here to customize your background. <a href="#" class="uiHelpLink" data-hover="tooltip" data-tooltip-alignh="center" aria-label=""></a><br><br>Or browse for an image: <input type="file" id="ponyhoof_options_background_select" accept="image/*"></div>';
                                                c += '<div id="ponyhoof_options_background_drop_dropping">Drop here</div>';
                                        c += '</div>';
                                c += '</div>';
                                                c += '<div id="ponyhoof_options_background_drop_dropping">Drop here</div>';
                                        c += '</div>';
                                c += '</div>';
@@ -2908,6 +3138,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                                                                c += '<a href="#" class="uiButton uiButtonConfirm rfloat" role="button"><span class="uiButtonText">Enable now</span></a>';
                                                                c += '<span class="wrap">The chat sound option built into Facebook needs to be enabled.</span>';
                                                        c += '</div>';
                                                                c += '<a href="#" class="uiButton uiButtonConfirm rfloat" role="button"><span class="uiButtonText">Enable now</span></a>';
                                                                c += '<span class="wrap">The chat sound option built into Facebook needs to be enabled.</span>';
                                                        c += '</div>';
+                                                       c += '<div class="ponyhoof_message uiBoxYellow notPage hidden_elem" id="ponyhoof_options_soundsMessengerForWindowsWarning">Please turn off Facebook Messenger for Windows for chat sounds to work properly.</div>';
                                                        c += k.generateCheckbox('chatSound', "Change chat sound", {customFunc:k.chatSound});
                                                                c += '<div id="ponyhoof_options_soundsChatWrap">';
                                                                        c += '<div id="ponyhoof_options_soundsChatSetting" class="ponyhoof_menu_withlabel"><span class="ponyhoof_menu_label">Chat sound: </span></div>';
                                                        c += k.generateCheckbox('chatSound', "Change chat sound", {customFunc:k.chatSound});
                                                                c += '<div id="ponyhoof_options_soundsChatWrap">';
                                                                        c += '<div id="ponyhoof_options_soundsChatSetting" class="ponyhoof_menu_withlabel"><span class="ponyhoof_menu_label">Chat sound: </span></div>';
@@ -2928,13 +3159,13 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                                c += k.generateCheckbox('forceEnglish', "Always use Ponyhoof in English", {title:"Ponyhoof tries to use your Facebook language, but you can force Ponyhoof to always use English", refresh:true});
                                c += '<div class="ponyhoof_show_if_injected">';
                                        c += k.generateCheckbox('disable_emoticons', "Disable emoticon ponification");
                                c += k.generateCheckbox('forceEnglish', "Always use Ponyhoof in English", {title:"Ponyhoof tries to use your Facebook language, but you can force Ponyhoof to always use English", refresh:true});
                                c += '<div class="ponyhoof_show_if_injected">';
                                        c += k.generateCheckbox('disable_emoticons', "Disable emoticon ponification");
-                                       c += '<div id="ponyhoof_options_randomPonies" class="ponyhoof_menu_withlabel"><span class="ponyhoof_menu_label">Who to randomize: </span></div>';
+                                       c += '<div id="ponyhoof_options_randomPonies" class="ponyhoof_menu_withlabel"><span class="ponyhoof_menu_label">Characters to randomize: </span></div>';
                                        c += '<div id="ponyhoof_options_costume" class="ponyhoof_menu_withlabel"><span class="ponyhoof_menu_label">Appearance: </span></div>';
                                c += '</div>';
                                c += '<div class="ponyhoof_hide_if_injected"><br></div>';
 
                                c += '<span class="ponyhoof_dialog_header">Multi-user</span>';
                                        c += '<div id="ponyhoof_options_costume" class="ponyhoof_menu_withlabel"><span class="ponyhoof_menu_label">Appearance: </span></div>';
                                c += '</div>';
                                c += '<div class="ponyhoof_hide_if_injected"><br></div>';
 
                                c += '<span class="ponyhoof_dialog_header">Multi-user</span>';
-                               c += k.generateCheckbox('allowLoginScreen', "Run Ponyhoof on the Facebook login screen", {global:true});
+                               c += k.generateCheckbox('allowLoginScreen', "Run Ponyhoof on the Facebook login screen", {global:true, customFunc:k.allowLoginScreenClicked});
                                c += k.generateCheckbox('runForNewUsers', "Run Ponyhoof for new users", {title:CURRENTLANG['settings_extras_runForNewUsers_explain'], global:true});
                                c += '<br>';
 
                                c += k.generateCheckbox('runForNewUsers', "Run Ponyhoof for new users", {title:CURRENTLANG['settings_extras_runForNewUsers_explain'], global:true});
                                c += '<br>';
 
@@ -2986,13 +3217,15 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                                        c += '<a href="#" id="ponyhoof_options_tempRemove" class="ponyhoof_options_fatlink">Remove style</a>';
                                c += '</div>';
                                c += '<a href="#" id="ponyhoof_options_sendSource" class="ponyhoof_options_fatlink">Send page source</a>';
                                        c += '<a href="#" id="ponyhoof_options_tempRemove" class="ponyhoof_options_fatlink">Remove style</a>';
                                c += '</div>';
                                c += '<a href="#" id="ponyhoof_options_sendSource" class="ponyhoof_options_fatlink">Send page source</a>';
-                               c += '<a href="#" class="ponyhoof_options_fatlink" id="ponyhoof_options_clearLocalStorage" data-hover="tooltip">Reset all settings (including global)</a>';
+                               if (STORAGEMETHOD != 'mxaddon') {
+                                       c += '<a href="#" class="ponyhoof_options_fatlink" id="ponyhoof_options_clearLocalStorage" data-hover="tooltip">Reset all settings (including global)</a>';
+                               }
                        c += '</div>';
                        
                        c += '<div class="ponyhoof_tabs_section" id="ponyhoof_options_tabs_about">';
                                c += '<div class="clearfix">';
                                c += '<div class="top">';
                        c += '</div>';
                        
                        c += '<div class="ponyhoof_tabs_section" id="ponyhoof_options_tabs_about">';
                                c += '<div class="clearfix">';
                                c += '<div class="top">';
-                               c += '<div class="rfloat"><a href="'+w.location.protocol+PONYHOOF_URL+'" class="ponyhoof_options_linkclick" data-hovercard="/ajax/hovercard/page.php?id='+PONYHOOF_PAGE+'" id="ponyhoof_options_devpic"><'+'img src="'+THEMEURL+'icon100.png" alt="" width="50" height="50"></a>';
+                               c += '<div class="rfloat"><a href="'+w.location.protocol+PONYHOOF_URL+'" class="ponyhoof_options_linkclick" data-hovercard="/ajax/hovercard/page.php?id='+PONYHOOF_PAGE+'" id="ponyhoof_options_devpic" data-hovercard-instant="1"><'+'img src="'+THEMEURL+'icon100.png" alt="" width="50" height="50"></a>';
                                c += '</div>';
                                c += '<strong>Ponyhoof v'+VERSION+'</strong><br>';
                                c += 'By <a href="'+w.location.protocol+'//'+getFbDomain()+'/ngyikp" class="ponyhoof_options_linkclick" data-hovercard="/ajax/hovercard/user.php?id=100000971648506">Ng Yik Phang</a> and <a href="http://ponyhoof.little.my/credits" class="ponyhoof_options_linkclick" data-hover="tooltip" aria-label="View all the ponies, artists and contributors that made Ponyhoof come to life">many contributors</a>';
                                c += '</div>';
                                c += '<strong>Ponyhoof v'+VERSION+'</strong><br>';
                                c += 'By <a href="'+w.location.protocol+'//'+getFbDomain()+'/ngyikp" class="ponyhoof_options_linkclick" data-hovercard="/ajax/hovercard/user.php?id=100000971648506">Ng Yik Phang</a> and <a href="http://ponyhoof.little.my/credits" class="ponyhoof_options_linkclick" data-hover="tooltip" aria-label="View all the ponies, artists and contributors that made Ponyhoof come to life">many contributors</a>';
@@ -3019,7 +3252,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        c += '</div>';
                        
                        var successText = '';
                        c += '</div>';
                        
                        var successText = '';
-                       var ponyData = convertCodeToData(CURRENTPONY);
+                       var ponyData = convertCodeToData(REALPONY);
                        if (ponyData.successText) {
                                successText = ponyData.successText+' ';
                        }
                        if (ponyData.successText) {
                                successText = ponyData.successText+' ';
                        }
@@ -3037,6 +3270,8 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        k.created = true;
                        
                        // After
                        k.created = true;
                        
                        // After
+                       k.dialog.dialog.className += ' ponyhoof_dialog_localstorageWarningEmbedded';
+
                        k.saveButton = $('ponyhoof_options_save');
                        k.saveButton.addEventListener('click', k.saveButtonClick, false);
                        
                        k.saveButton = $('ponyhoof_options_save');
                        k.saveButton.addEventListener('click', k.saveButtonClick, false);
                        
@@ -3095,7 +3330,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        tech += "STORAGEMETHOD: " + STORAGEMETHOD + "\n";
                        tech += "DISTRIBUTION: " + DISTRIBUTION + "\n";
                        if (STORAGEMETHOD == 'localstorage') {
                        tech += "STORAGEMETHOD: " + STORAGEMETHOD + "\n";
                        tech += "DISTRIBUTION: " + DISTRIBUTION + "\n";
                        if (STORAGEMETHOD == 'localstorage') {
-                               tech += "localStorage.length: " + localStorage.length + "\n";
+                               tech += "localStorage.length: " + w.localStorage.length + "\n";
                        }
                        tech += "\n";
                        tech += "navigator.userAgent: " + w.navigator.userAgent + "\n";
                        }
                        tech += "\n";
                        tech += "navigator.userAgent: " + w.navigator.userAgent + "\n";
@@ -3276,7 +3511,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        
                        if (STORAGEMETHOD == 'localstorage') {
                                var dump = '';
                        
                        if (STORAGEMETHOD == 'localstorage') {
                                var dump = '';
-                               for (i in localStorage) {
+                               for (var i in localStorage) {
                                        dump += i+": "+localStorage[i]+"\n";
                                }
                                $('ponyhoof_options_dump').value = dump;
                                        dump += i+": "+localStorage[i]+"\n";
                                }
                                $('ponyhoof_options_dump').value = dump;
@@ -3447,9 +3682,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        }
 
                        var litestand = false;
                        }
 
                        var litestand = false;
-                       if (d.getElementsByClassName('_4g5r').length) {
-                               litestand = true;
-                       } else if (d.getElementsByClassName('-cx-PUBLIC-hasLitestandBookmarksSidebar__root').length) {
+                       if (d.getElementsByClassName('_4g5r').length || d.getElementsByClassName('-cx-PUBLIC-hasLitestandBookmarksSidebar__root').length) {
                                litestand = true;
                        }
                        if (litestand) {
                                litestand = true;
                        }
                        if (litestand) {
@@ -3480,7 +3713,11 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
 
                        // Reset settings
                        $('ponyhoof_options_resetSettings').addEventListener('click', k.resetSettings, false);
 
                        // Reset settings
                        $('ponyhoof_options_resetSettings').addEventListener('click', k.resetSettings, false);
-                       $('ponyhoof_options_clearLocalStorage').addEventListener('click', k.clearStorage, false);
+
+                       var clearLocalStorage = $('ponyhoof_options_clearLocalStorage');
+                       if (clearLocalStorage) {
+                               clearLocalStorage.addEventListener('click', k.clearStorage, false);
+                       }
 
                        k.extrasInitLoaded = true;
                };
 
                        k.extrasInitLoaded = true;
                };
@@ -3597,6 +3834,8 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                };
 
                k.clearStorage = function(e) {
                };
 
                k.clearStorage = function(e) {
+                       e.preventDefault();
+
                        k.canSaveSettings = false;
 
                        if (typeof GM_listValues != 'undefined') {
                        k.canSaveSettings = false;
 
                        if (typeof GM_listValues != 'undefined') {
@@ -3614,12 +3853,12 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                                case 'localstorage':
                                        if (confirm(SIG+" localStorage must be cleared in order to reset settings. Doing this may cause other extensions to lose their settings.")) {
                                                try {
                                case 'localstorage':
                                        if (confirm(SIG+" localStorage must be cleared in order to reset settings. Doing this may cause other extensions to lose their settings.")) {
                                                try {
-                                                       localStorage.clear();
+                                                       w.localStorage.clear();
                                                } catch (e) {
                                                } catch (e) {
-                                                       alert(e.toString());
+                                                       alert("Can't clear localStorage :(\n\n"+e.toString());
                                                }
                                        } else {
                                                }
                                        } else {
-                                               return false;
+                                               return;
                                        }
                                        break;
 
                                        }
                                        break;
 
@@ -3639,12 +3878,15 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                                        xpi_clearStorage();
                                        break;
 
                                        xpi_clearStorage();
                                        break;
 
+                               case 'mxaddon':
+                                       // Maxthon does not have a clear storage function
+                                       break;
+
                                default:
                                        break;
                        }
                        
                        k.dialog.close();
                                default:
                                        break;
                        }
                        
                        k.dialog.close();
-                       e.preventDefault();
                        w.location.reload();
                };
 
                        w.location.reload();
                };
 
@@ -3889,6 +4131,20 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                                error("Unable to hook to ChatOptions and Arbiter");
                                dir(e);
                        }
                                error("Unable to hook to ChatOptions and Arbiter");
                                dir(e);
                        }
+
+                       // Detect Facebook Messenger for Windows
+                       if (w.navigator.plugins) {
+                               w.navigator.plugins.refresh(false);
+
+                               for (var i = 0, len = w.navigator.plugins.length; i < len; i += 1) {
+                                       var plugin = w.navigator.plugins[i];
+                                       if (plugin[0] && plugin[0].type === 'application/x-facebook-desktop-1') {
+                                               removeClass($('ponyhoof_options_soundsMessengerForWindowsWarning'), 'hidden_elem');
+                                               break;
+                                       }
+                               }
+                       }
+
                        k._soundsChatLoad();
                        k._soundsChatInit();
 
                        k._soundsChatLoad();
                        k._soundsChatInit();
 
@@ -4178,6 +4434,8 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                k.bgDrop = null;
                k.bgClearCustomBg = false;
                k.bgInitLoaded = false;
                k.bgDrop = null;
                k.bgClearCustomBg = false;
                k.bgInitLoaded = false;
+               k.bgSizeLimit = 1024 * 1024;
+               k.bgSizeLimitDescription = '1 MB';
                k.bgInit = function() {
                        if (k.bgInitLoaded) {
                                return;
                k.bgInit = function() {
                        if (k.bgInitLoaded) {
                                return;
@@ -4187,6 +4445,13 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        k.bgTab = $('ponyhoof_options_tabs_background');
                        k.bgDrop = $('ponyhoof_options_background_drop');
 
                        k.bgTab = $('ponyhoof_options_tabs_background');
                        k.bgDrop = $('ponyhoof_options_background_drop');
 
+                       // Firefox 23 started enforcing a 1MB limit per preference
+                       // http://hg.mozilla.org/mozilla-central/rev/2e46cabb6a11
+                       if (ISFIREFOX && STORAGEMETHOD == 'greasemonkey') {
+                               k.bgSizeLimit = 1024 * 512;
+                               k.bgSizeLimitDescription = '512 KB';
+                       }
+
                        if (userSettings.customBg) {
                                addClass(k.bgTab, 'hasCustom');
                                addClass($('ponyhoof_options_background_custom'), 'active');
                        if (userSettings.customBg) {
                                addClass(k.bgTab, 'hasCustom');
                                addClass($('ponyhoof_options_background_custom'), 'active');
@@ -4234,6 +4499,11 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                                }
                        }, false);
 
                                }
                        }, false);
 
+                       var uiHelpLink = k.bgDrop.getElementsByClassName('uiHelpLink');
+                       if (uiHelpLink.length) {
+                               uiHelpLink[0].setAttribute('aria-label', 'Maximum file size is '+k.bgSizeLimitDescription+'.\n\nYour image resolution should be '+w.screen.width+'x'+w.screen.height+' to fill the entire screen. Your image will not be resized and will be placed on the middle of the page.');
+                       }
+
                        k.bgDropInit();
 
                        k.bgInitLoaded = true;
                        k.bgDropInit();
 
                        k.bgInitLoaded = true;
@@ -4286,11 +4556,11 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                                return;
                        }
 
                                return;
                        }
 
-                       if (file.size > 1024*1024) {
+                       if (file.size > k.bgSizeLimit) {
                                if (file.type && file.type != 'image/jpeg') {
                                if (file.type && file.type != 'image/jpeg') {
-                                       k.bgError.textContent = "Sorry, the file size of your image is too big (over 1 MB) and may not save properly. Try saving your image as a JPEG or resize your image.";
+                                       k.bgError.textContent = "Sorry, the file size of your image is too big (over "+k.bgSizeLimitDescription+") and may not save properly. Try saving your image as a JPEG or resize your image.";
                                } else {
                                } else {
-                                       k.bgError.textContent = "Sorry, the file size of your image is too big (over 1 MB) and may not save properly. Try resizing your image.";
+                                       k.bgError.textContent = "Sorry, the file size of your image is too big (over "+k.bgSizeLimitDescription+") and may not save properly. Try resizing your image.";
                                }
                                removeClass(k.bgError, 'hidden_elem');
                                return;
                                }
                                removeClass(k.bgError, 'hidden_elem');
                                return;
@@ -4369,6 +4639,15 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        k.disableDomNodeInserted();
                };
 
                        k.disableDomNodeInserted();
                };
 
+               k.allowLoginScreenClicked = function() {
+                       if (globalSettings.allowLoginScreen) {
+                               globalSettings.lastUserId = USERID;
+                       } else {
+                               globalSettings.lastUserId = null;
+                       }
+                       saveGlobalSettings();
+               };
+
                k.debug_disablelog = function() {
                        if ($('ponyhoof_options_debug_disablelog').checked) {
                                CANLOG = false;
                k.debug_disablelog = function() {
                        if ($('ponyhoof_options_debug_disablelog').checked) {
                                CANLOG = false;
@@ -4701,7 +4980,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        css += '#ponyhoof_options_soundsVolume[type="range"] {cursor:pointer;width:200px;}';
                        css += '#ponyhoof_options_soundsVolumePreview {vertical-align:middle;}';
                        css += '#ponyhoof_options_soundsVolumeValue {display:none;padding-left:3px;}';
                        css += '#ponyhoof_options_soundsVolume[type="range"] {cursor:pointer;width:200px;}';
                        css += '#ponyhoof_options_soundsVolumePreview {vertical-align:middle;}';
                        css += '#ponyhoof_options_soundsVolumeValue {display:none;padding-left:3px;}';
-                       css += '#ponyhoof_options_soundsChatSoundWarning {margin-bottom:10px;}';
+                       css += '#ponyhoof_options_soundsChatSoundWarning, #ponyhoof_options_soundsMessengerForWindowsWarning {margin-bottom:10px;}';
                        css += '#ponyhoof_options_tabs_extras .ponyhoof_show_if_injected + .uiInputLabel, #ponyhoof_options_tabs_extras .uiInputLabel + .ponyhoof_show_if_injected, #ponyhoof_options_tabs_advanced .uiInputLabel + .ponyhoof_show_if_injected {margin-top:3px;}';
                        css += '#ponyhoof_options_tabs_advanced .ponyhoof_hide_if_injected.ponyhoof_message {margin-bottom:10px;}';
                        css += '.ponyhoof_options_aboutsection {border-top:1px solid #ccc;margin:10px -10px 0;}';
                        css += '#ponyhoof_options_tabs_extras .ponyhoof_show_if_injected + .uiInputLabel, #ponyhoof_options_tabs_extras .uiInputLabel + .ponyhoof_show_if_injected, #ponyhoof_options_tabs_advanced .uiInputLabel + .ponyhoof_show_if_injected {margin-top:3px;}';
                        css += '#ponyhoof_options_tabs_advanced .ponyhoof_hide_if_injected.ponyhoof_message {margin-bottom:10px;}';
                        css += '.ponyhoof_options_aboutsection {border-top:1px solid #ccc;margin:10px -10px 0;}';
@@ -4827,11 +5106,17 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        addClass(d.documentElement, 'ponyhoof_welcome_html_scenery_loaded');
                        
                        var co = '';
                        addClass(d.documentElement, 'ponyhoof_welcome_html_scenery_loaded');
                        
                        var co = '';
-                       co += '<div class="uiBoxYellow ponyhoof_message ponyhoof_updater_newVersion">';
+                       co += '<div class="ponyhoof_message uiBoxYellow ponyhoof_updater_newVersion">';
                                co += '<a href="#" class="uiButton uiButtonSpecial rfloat ponyhoof_updater_updateNow" role="button"><span class="uiButtonText">Update now</span></a>';
                                co += '<span class="wrap">An update (v<span class="ponyhoof_updater_versionNum"></span>) for Ponyhoof is available.</span>';
                        co += '</div>';
                                co += '<a href="#" class="uiButton uiButtonSpecial rfloat ponyhoof_updater_updateNow" role="button"><span class="uiButtonText">Update now</span></a>';
                                co += '<span class="wrap">An update (v<span class="ponyhoof_updater_versionNum"></span>) for Ponyhoof is available.</span>';
                        co += '</div>';
-                       
+
+                       co += renderBrowserConfigWarning();
+
+                       if (STORAGEMETHOD == 'chrome' && chrome.extension.inIncognitoContext) {
+                               co += '<div class="ponyhoof_message uiBoxYellow">Please note that your Ponyhoof settings are saved and not cleared, even if you are using Chrome incognito mode. Please disable Ponyhoof from running in incognito mode if you do not want others to know that you logged on to this browser.</div><br>';
+                       }
+
                        co += '<strong>Select your favorite character to get started:</strong>';
                        co += '<div id="ponyhoof_welcome_pony"></div>';
                        co += '<div id="ponyhoof_welcome_afterClose">You can re-select your character in Ponyhoof Options at the Account menu.</div>';
                        co += '<strong>Select your favorite character to get started:</strong>';
                        co += '<div id="ponyhoof_welcome_pony"></div>';
                        co += '<div id="ponyhoof_welcome_afterClose">You can re-select your character in Ponyhoof Options at the Account menu.</div>';
@@ -4853,11 +5138,14 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        }
                        k.dialogFirst.changeContent(co);
                        k.dialogFirst.changeBottom(bottom);
                        }
                        k.dialogFirst.changeContent(co);
                        k.dialogFirst.changeBottom(bottom);
+
+                       k.dialogFirst.dialog.className += ' ponyhoof_dialog_localstorageWarningEmbedded';
                        
                        DIALOGCOUNT += 4;
 
                        var menuClosed = false;
                        var ponySelector = new PonySelector($('ponyhoof_welcome_pony'), k.param);
                        
                        DIALOGCOUNT += 4;
 
                        var menuClosed = false;
                        var ponySelector = new PonySelector($('ponyhoof_welcome_pony'), k.param);
+                       ponySelector.saveTheme = false;
                        ponySelector.createSelector();
                        w.setTimeout(function() {
                                ponySelector.menu.open();
                        ponySelector.createSelector();
                        w.setTimeout(function() {
                                ponySelector.menu.open();
@@ -4905,8 +5193,8 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        }
 
                        $('ponyhoof_welcome_next').addEventListener('click', function(e) {
                        }
 
                        $('ponyhoof_welcome_next').addEventListener('click', function(e) {
+                               e.preventDefault();
                                if (hasClass(this, 'uiButtonDisabled')) {
                                if (hasClass(this, 'uiButtonDisabled')) {
-                                       e.preventDefault();
                                        return false;
                                }
                                
                                        return false;
                                }
                                
@@ -4928,6 +5216,9 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                                saveSettings();
 
                                globalSettings.lastVersion = VERSION;
                                saveSettings();
 
                                globalSettings.lastVersion = VERSION;
+                               if (globalSettings.allowLoginScreen) {
+                                       globalSettings.lastUserId = USERID;
+                               }
                                saveGlobalSettings();
                                
                                if (CURRENTPONY == 'pinkie') {
                                saveGlobalSettings();
                                
                                if (CURRENTPONY == 'pinkie') {
@@ -4935,8 +5226,6 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                                } else {
                                        k.createFinalDialog();
                                }
                                } else {
                                        k.createFinalDialog();
                                }
-
-                               e.preventDefault();
                        }, false);
                };
                
                        }, false);
                };
                
@@ -4989,7 +5278,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        }
                        
                        var successText = '';
                        }
                        
                        var successText = '';
-                       var ponyData = convertCodeToData(CURRENTPONY);
+                       var ponyData = convertCodeToData(REALPONY);
                        if (ponyData.successText) {
                                successText = ponyData.successText;
                        } else {
                        if (ponyData.successText) {
                                successText = ponyData.successText;
                        } else {
@@ -5088,6 +5377,16 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        injectManualStyle(css, 'welcome');
                };
        };
                        injectManualStyle(css, 'welcome');
                };
        };
+
+       var renderBrowserConfigWarning = function() {
+               var c = '';
+               if (STORAGEMETHOD == 'localstorage') {
+                       c += '<div class="ponyhoof_message uiBoxRed">Ponyhoof is not supported on this browser configuration. Your settings will get cleared out from time to time, and some features such as update-checking and Browser Ponies will not work.</div><br>';
+               } else if (ISMOBILE) {
+                       c += '<div class="ponyhoof_message uiBoxYellow">Mobile support for Ponyhoof is provided as a courtesy and is not officially supported.</div><br>';
+               }
+               return c;
+       };
        
        // Theme
        function getFaviconTag() {
        
        // Theme
        function getFaviconTag() {
@@ -5603,6 +5902,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        ,["Friends of Friends", capitaliseFirstLetter(CURRENTSTACK['friends'])+" of "+capitaliseFirstLetter(CURRENTSTACK['friends'])]
                        ,["Friends", capitaliseFirstLetter(CURRENTSTACK['friends'])]
                        ,["Friends of Guests", capitaliseFirstLetter(CURRENTSTACK['friends'])+" of Guests"]
                        ,["Friends of Friends", capitaliseFirstLetter(CURRENTSTACK['friends'])+" of "+capitaliseFirstLetter(CURRENTSTACK['friends'])]
                        ,["Friends", capitaliseFirstLetter(CURRENTSTACK['friends'])]
                        ,["Friends of Guests", capitaliseFirstLetter(CURRENTSTACK['friends'])+" of Guests"]
+                       ,["Friends of Contributors", capitaliseFirstLetter(CURRENTSTACK['friends'])+" of Contributors"]
                        ,["Only Me", "Alone"]
                        ,["Only me", "Alone"]
                        ,["Only Me (+)", "Alone (+)"]
                        ,["Only Me", "Alone"]
                        ,["Only me", "Alone"]
                        ,["Only Me (+)", "Alone (+)"]
@@ -5623,6 +5923,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        ,["All Friends", "All "+capitaliseFirstLetter(CURRENTSTACK['friends'])]
                        ,["All friends", "All "+CURRENTSTACK['friends']]
                        ,["Poke", "Nuzzle"]
                        ,["All Friends", "All "+capitaliseFirstLetter(CURRENTSTACK['friends'])]
                        ,["All friends", "All "+CURRENTSTACK['friends']]
                        ,["Poke", "Nuzzle"]
+                       ,["Request Deleted", "Request Nuked"]
                        
                        ,["Likes", capitaliseFirstLetter(CURRENTSTACK['likes'])]
                        ,["Friends' Posts", capitaliseFirstLetter(CURRENTSTACK['friends'])+"' Posts"]
                        
                        ,["Likes", capitaliseFirstLetter(CURRENTSTACK['likes'])]
                        ,["Friends' Posts", capitaliseFirstLetter(CURRENTSTACK['friends'])+"' Posts"]
@@ -5742,7 +6043,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        ,["On your own timeline", "On your own journal"]
                        ,["On a friend's timeline", "On a "+CURRENTSTACK['friend']+"'s journal"]
                        ,["In a group", "In a herd"]
                        ,["On your own timeline", "On your own journal"]
                        ,["On a friend's timeline", "On a "+CURRENTSTACK['friend']+"'s journal"]
                        ,["In a group", "In a herd"]
-                       ,["In a private Message", "In a private Friendship Report"]
+                       ,["In a private message", "In a private friendship report"]
 
                        ,["Timeline", "Journal"]
                        ,["Notes", "Scrolls"]
 
                        ,["Timeline", "Journal"]
                        ,["Notes", "Scrolls"]
@@ -5790,8 +6091,16 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
 
                        ,["Search All Friends", "Search All "+capitaliseFirstLetter(CURRENTSTACK.friends)] // invite friends
                        ,["Top Comments", "Top Friendship Letters"] // comment resort
 
                        ,["Search All Friends", "Search All "+capitaliseFirstLetter(CURRENTSTACK.friends)] // invite friends
                        ,["Top Comments", "Top Friendship Letters"] // comment resort
-                       ,["Likers", "Brohoofers"] // graph search @todo likers
                        ,["Go to Activity Log", "Go to Adventure Log"] // checkpoint
                        ,["Go to Activity Log", "Go to Adventure Log"] // checkpoint
+                       ,["Upload Photo", "Upload Pony Pic"] // composer warning
+                       ,["Poke Back", "Nuzzle Back"] // newsfeed flyout
+                       ,["Friends to Invite", capitaliseFirstLetter(CURRENTSTACK['friends'])+" to Invite"] // app invite
+                       ,["Inbox", "Trough"] // page inbox
+                       ,["Save Profile Info", "Save Journal Info"] // welcome
+
+                       // graph search
+                       ,["Likers", "Brohoofers"] // @todo likers
+                       ,["Liked by", CURRENTSTACK['liked']+" by"] // @todo likers
 
                        ,["Create New App", "Create New Magic"]
                        ,["Submit App Detail Page", "Submit Magic Detail Page"]
 
                        ,["Create New App", "Create New Magic"]
                        ,["Submit App Detail Page", "Submit Magic Detail Page"]
@@ -5802,7 +6111,8 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                ];
                
                dialogTitles = [
                ];
                
                dialogTitles = [
-                        [/People who like /i, capitaliseFirstLetter(CURRENTSTACK['people'])+" who "+CURRENTSTACK['like_past']+" "]
+                        [/People who like /, capitaliseFirstLetter(CURRENTSTACK['people'])+" who "+CURRENTSTACK['like_past']+" "]
+                       ,[/People Who Like /, capitaliseFirstLetter(CURRENTSTACK['people'])+" Who "+capitaliseFirstLetter(CURRENTSTACK['like_past'])+" "]
                        ,[/Friends who like /i, capitaliseFirstLetter(CURRENTSTACK['friends_logic'])+" who "+CURRENTSTACK['like_past']+" "]
                        ,["People who voted for this option", capitaliseFirstLetter(CURRENTSTACK['people'])+" who voted for this option"]
                        ,["People who are following this question", capitaliseFirstLetter(CURRENTSTACK['people'])+" who are following this question"]
                        ,[/Friends who like /i, capitaliseFirstLetter(CURRENTSTACK['friends_logic'])+" who "+CURRENTSTACK['like_past']+" "]
                        ,["People who voted for this option", capitaliseFirstLetter(CURRENTSTACK['people'])+" who voted for this option"]
                        ,["People who are following this question", capitaliseFirstLetter(CURRENTSTACK['people'])+" who are following this question"]
@@ -5811,6 +6121,8 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        ,["Added Friends", "Added "+capitaliseFirstLetter(CURRENTSTACK.friends)]
                        ,["People who can repro this", capitaliseFirstLetter(CURRENTSTACK['people'])+" who can repro this"]
                        ,["Friends that like this", capitaliseFirstLetter(CURRENTSTACK['friends_logic'])+" that "+CURRENTSTACK['like_past']+" this"]
                        ,["Added Friends", "Added "+capitaliseFirstLetter(CURRENTSTACK.friends)]
                        ,["People who can repro this", capitaliseFirstLetter(CURRENTSTACK['people'])+" who can repro this"]
                        ,["Friends that like this", capitaliseFirstLetter(CURRENTSTACK['friends_logic'])+" that "+CURRENTSTACK['like_past']+" this"]
+                       ,["People", capitaliseFirstLetter(CURRENTSTACK['people'])] // gifts
+                       ,["Choose friends to help translate", "Choose "+CURRENTSTACK['friends']+" to help translate"]
                        
                        ,["Share this Profile", "Share this Journal"]
                        ,["Share This Photo", "Share This Pony Pic"]
                        
                        ,["Share this Profile", "Share this Journal"]
                        ,["Share This Photo", "Share This Pony Pic"]
@@ -5874,8 +6186,9 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        ,["Delete Entry?", "Nuke Entry?"]
                        ,["Delete Video", "Nuke Video"]
                        ,["Delete Event", "Nuke Adventure"] // for group admin
                        ,["Delete Entry?", "Nuke Entry?"]
                        ,["Delete Video", "Nuke Video"]
                        ,["Delete Event", "Nuke Adventure"] // for group admin
+                       ,["Remove Profile Picture", "Nuke Journal Pony Pic"]
 
 
-                       ,["Report and/or Block This Person", "Whine and/or Block This Pony"] // 0
+                       ,["Report and/or Block This Person", "Whine and/or Block This "+capitaliseFirstLetter(CURRENTSTACK['person'])] // 0
                        ,["Report This Photo", "Whine About This Pony Pic"]
                        ,["Report This Event", "Whine About This Adventure"]
                        ,["Report Conversation", "Whine About Conversation"]
                        ,["Report This Photo", "Whine About This Pony Pic"]
                        ,["Report This Event", "Whine About This Adventure"]
                        ,["Report Conversation", "Whine About Conversation"]
@@ -5896,6 +6209,9 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        ,["Why don't you like this photo?", "Why don't you like this pony pic?"]
                        ,["Report Spam or Abuse", "Whine as Spam or Abuse"] // messages
                        ,["Report Incorrect External Link", "Whine About Incorrect External Link"] // page vertex // 87
                        ,["Why don't you like this photo?", "Why don't you like this pony pic?"]
                        ,["Report Spam or Abuse", "Whine as Spam or Abuse"] // messages
                        ,["Report Incorrect External Link", "Whine About Incorrect External Link"] // page vertex // 87
+                       ,["Post Reported", "Whined About Post"]
+                       ,[" Report a Problem ", "Whine About a Problem"]
+                       ,["Report a Problem", "Whine About a Problem"]
 
                        // report types: 5: links / 125: status / 70: group post / 86: og post
                        ,["Is this post about you or a friend?", "Is this post about you or a "+CURRENTSTACK.friend+"?"] 
 
                        // report types: 5: links / 125: status / 70: group post / 86: og post
                        ,["Is this post about you or a friend?", "Is this post about you or a "+CURRENTSTACK.friend+"?"] 
@@ -5942,6 +6258,8 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        ,["Invite People to Group by Email", "Invite "+capitaliseFirstLetter(CURRENTSTACK.people)+" to Herd by Email"]
                        ,["Remove Group Admin", "Remove Herd Admin"]
                        ,["Add Group Admin", "Add Herd Admin"]
                        ,["Invite People to Group by Email", "Invite "+capitaliseFirstLetter(CURRENTSTACK.people)+" to Herd by Email"]
                        ,["Remove Group Admin", "Remove Herd Admin"]
                        ,["Add Group Admin", "Add Herd Admin"]
+                       ,["Group Admins", "Herd Admins"]
+                       ,["Change Group Privacy?", "Change Herd Privacy?"]
 
                        ,["Cancel Event?", "Cancel Adventure?"]
                        ,["Change Event Photo", "Change Pony Pic for Adventure"]
 
                        ,["Cancel Event?", "Cancel Adventure?"]
                        ,["Change Event Photo", "Change Pony Pic for Adventure"]
@@ -5967,7 +6285,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        ,["Block App?", "Block Magic?"]
                        //,["List Notification Settings", "Directory Spark Settings"]
                        ,["List Notification Settings", "List Spark Settings"]
                        ,["Block App?", "Block Magic?"]
                        //,["List Notification Settings", "Directory Spark Settings"]
                        ,["List Notification Settings", "List Spark Settings"]
-                       ,["Like This Photo?", "Like This Pony Pic?"]
+                       ,["Like This Photo?", capitaliseFirstLetter(CURRENTSTACK['like'])+" This Pony Pic?"]
                        ,["Friends", capitaliseFirstLetter(CURRENTSTACK['friends'])]
                        ,["All Friends", "All "+capitaliseFirstLetter(CURRENTSTACK['friends'])]
                        ,["Suggest Friend", "Suggest "+capitaliseFirstLetter(CURRENTSTACK.friend)]
                        ,["Friends", capitaliseFirstLetter(CURRENTSTACK['friends'])]
                        ,["All Friends", "All "+capitaliseFirstLetter(CURRENTSTACK['friends'])]
                        ,["Suggest Friend", "Suggest "+capitaliseFirstLetter(CURRENTSTACK.friend)]
@@ -5986,6 +6304,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        ,["Turn Off Chat", "Turn Off Whinny Chat"]
                        ,["Access Log", "Adventure Log"]
                        ,["Post to Your Wall", "Post to Your Journal"]
                        ,["Turn Off Chat", "Turn Off Whinny Chat"]
                        ,["Access Log", "Adventure Log"]
                        ,["Post to Your Wall", "Post to Your Journal"]
+                       ,["About Adding Comments by Email", "About Adding Friendship Letters by Email"]
 
                        ,["Take a Profile Picture", "Take a Journal Pony Pic"]
                        ,["Choosing Your Cover Photo", "Choosing Your Cover Pony Pic"]
 
                        ,["Take a Profile Picture", "Take a Journal Pony Pic"]
                        ,["Choosing Your Cover Photo", "Choosing Your Cover Pony Pic"]
@@ -5995,9 +6314,13 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        ,["Choose from Photos", "Choose from Pony Pics"]
                        ,["Choose Your Cover Photo", "Choose Your Cover Pony Pic"]
                        ,["Choose from your synced photos", "Choose from your synced pony pics"]
                        ,["Choose from Photos", "Choose from Pony Pics"]
                        ,["Choose Your Cover Photo", "Choose Your Cover Pony Pic"]
                        ,["Choose from your synced photos", "Choose from your synced pony pics"]
+                       ,["Upload Your Profile Picture", "Upload Your Journal Pony Pic"] // welcome
 
                        ,["Create New App", "Create New Magic"]
                        ,["Add Test Users to other Apps", "Add Test Users to other Magic"]
 
                        ,["Create New App", "Create New Magic"]
                        ,["Add Test Users to other Apps", "Add Test Users to other Magic"]
+
+                       ,["Hidden in Groups", "Hidden in Herds"] // timeline
+                       ,["Add Friends as Contributors", "Add "+capitaliseFirstLetter(CURRENTSTACK['friends'])+" as Contributors"] // shared albums
                ];
                if (ponyData.successText) {
                        dialogTitles.push(["Success", ponyData.successText]);
                ];
                if (ponyData.successText) {
                        dialogTitles.push(["Success", ponyData.successText]);
@@ -6016,6 +6339,9 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                                ,["Anyone can see and join this event", "Anypony can see and join this adventure"]
                                ,["Your friends will see your comment in News Feed.", "Your "+CURRENTSTACK['friends']+" will see your friendship letter in Feed Bag."]
                                ,[/\bfriends in group\b/, CURRENTSTACK['friends']+" in herd"]
                                ,["Anyone can see and join this event", "Anypony can see and join this adventure"]
                                ,["Your friends will see your comment in News Feed.", "Your "+CURRENTSTACK['friends']+" will see your friendship letter in Feed Bag."]
                                ,[/\bfriends in group\b/, CURRENTSTACK['friends']+" in herd"]
+                               ,["Your post will only be promoted to the people who like your Page and their friends", "Your post will only be promoted to the "+CURRENTSTACK['people']+" who like your Page and their "+CURRENTSTACK['friends']]
+                               ,["Your post will be promoted to people based on the targeting you choose below.", "Your post will be promoted to "+CURRENTSTACK['people']+" based on the targeting you choose below."]
+                               ,["Friends and friends of anyone tagged", capitaliseFirstLetter(CURRENTSTACK['friends'])+" and "+CURRENTSTACK['friends']+" of anypony tagged"]
                        ,[/\bfriends of friends\b/g, CURRENTSTACK['friends']+" of "+CURRENTSTACK['friends']]
                        ,[/\bFriends of Friends\b/g, capitaliseFirstLetter(CURRENTSTACK['friends'])+" of "+capitaliseFirstLetter(CURRENTSTACK['friends'])]
                        ,[/\bfriends\b/g, CURRENTSTACK['friends']]
                        ,[/\bfriends of friends\b/g, CURRENTSTACK['friends']+" of "+CURRENTSTACK['friends']]
                        ,[/\bFriends of Friends\b/g, capitaliseFirstLetter(CURRENTSTACK['friends'])+" of "+capitaliseFirstLetter(CURRENTSTACK['friends'])]
                        ,[/\bfriends\b/g, CURRENTSTACK['friends']]
@@ -6037,8 +6363,10 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        ,["Remember: all place ratings are public.", "Remember: everypony can see all place ratings."]
                        ,["Shared with: Anyone who can see this page", "Shared with: Anypony who can see this page"]
                        ,["Anyone can see the group, who's in it, and what members post.", "Anypony can see the herd, who's in it, and what members post."]
                        ,["Remember: all place ratings are public.", "Remember: everypony can see all place ratings."]
                        ,["Shared with: Anyone who can see this page", "Shared with: Anypony who can see this page"]
                        ,["Anyone can see the group, who's in it, and what members post.", "Anypony can see the herd, who's in it, and what members post."]
+                       ,["Anyone can see the group, who's in it and what members post.", "Anypony can see the herd, who's in it and what members post."] // English (UK)
                        ,["Anyone can see the group and who's in it. Only members see posts.", "Anypony can see the herd and who's in it. Only members see posts."]
                        ,["Only members see the group, who's in it, and what members post.", "Only members see the herd, who's in it, and what members post."]
                        ,["Anyone can see the group and who's in it. Only members see posts.", "Anypony can see the herd and who's in it. Only members see posts."]
                        ,["Only members see the group, who's in it, and what members post.", "Only members see the herd, who's in it, and what members post."]
+                       ,["Only members see the group, who's in it and what members post.", "Only members see the herd, who's in it and what members post."] // English (UK)
                        
                        ,["Show comments", "Show friendship letters"]
                        ,["Comment deleted", "Friendship letter nuked"]
                        
                        ,["Show comments", "Show friendship letters"]
                        ,["Comment deleted", "Friendship letter nuked"]
@@ -6100,12 +6428,17 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        ,["Manage Apps", "Manage Magic"]
                        ,["Events", "Adventures"]
                        ,["App Center", "Magic Center"]
                        ,["Manage Apps", "Manage Magic"]
                        ,["Events", "Adventures"]
                        ,["App Center", "Magic Center"]
+                       ,["Add Friend", "Add "+capitaliseFirstLetter(CURRENTSTACK['friend'])] // people you may know
 
                        // photo comments
                        ,["Attach a Photo", "Attach a Pony Pic"]
 
                        // photo comments
                        ,["Attach a Photo", "Attach a Pony Pic"]
+                       ,["Remove Photo", "Nuke Pony Pic"]
 
                        ,["Dismiss and go to most recent message", "Dismiss and go to most recent friendship letter"] // messages
                        ,["To create an offer, your Page needs at least 100 likes.", "To create an offer, your Page needs at least 100 "+CURRENTSTACK['likes']+"."] // page composer
 
                        ,["Dismiss and go to most recent message", "Dismiss and go to most recent friendship letter"] // messages
                        ,["To create an offer, your Page needs at least 100 likes.", "To create an offer, your Page needs at least 100 "+CURRENTSTACK['likes']+"."] // page composer
+                       ,["Verified profile", "Verified journal"] // verified
+                       ,["Tags help people find groups about certain topics.", "Tags help "+CURRENTSTACK['people']+" find herds about certain topics."] // verified
+                       ,["This post is more engaging than many of your other posts. You can boost it to get more likes and comments.", "This post is more engaging than many of your other posts. You can boost it to get more "+CURRENTSTACK['likes']+" and friendship letters."] // page admin pabel
 
                        // developers
                        ,["Enable the newsfeed ticker", "Enable the feedbag ticker"]
 
                        // developers
                        ,["Enable the newsfeed ticker", "Enable the feedbag ticker"]
@@ -6113,8 +6446,13 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        ,["Remove selected users from this app.", "Remove selected users from this magic."]
 
                        // insights
                        ,["Remove selected users from this app.", "Remove selected users from this magic."]
 
                        // insights
-                       ,["The total number of clicks on your posts, not including likes, comments, or shares, which are broken out above.", "The total number of clicks on your posts, not including "+CURRENTSTACK['likes']+", comments, or shares, which are broken out above."]
-                       ,["The percentage of people who liked, commented, shared or clicked on your post after having seen it.", "The percentage of people who "+CURRENTSTACK['liked']+", commented, shared or clicked on your post after having seen it."]
+                       ,["The total number of clicks on your posts, not including likes, comments, or shares, which are broken out above.", "The total number of clicks on your posts, not including "+CURRENTSTACK['likes']+", friendship letters, or shares, which are broken out above."]
+                       ,["The percentage of people who liked, commented, shared or clicked on your post after having seen it.", "The percentage of "+CURRENTSTACK['people']+" who "+CURRENTSTACK['liked']+", commented, shared or clicked on your post after having seen it."]
+                       ,["The unique number of people who liked, commented, shared or clicked on your posts", "The unique number of "+CURRENTSTACK['people']+" who "+CURRENTSTACK['liked']+", commented, shared or clicked on your posts"]
+
+                       ,["The week when the most people were talking about this Page.", "The week when the most "+CURRENTSTACK['people']+" were talking about this Page."]
+                       ,["The city where most of the people talking about this Page are from.", "The city where most of the "+CURRENTSTACK['people']+" talking about this Page are from."]
+                       ,["The largest age group of the people talking about this Page.", "The largest age group of the "+CURRENTSTACK['people']+" talking about this Page."]
                ];
                if (ponyData.loadingText) {
                        tooltipTitles.push(["Loading...", ponyData.loadingText]);
                ];
                if (ponyData.loadingText) {
                        tooltipTitles.push(["Loading...", ponyData.loadingText]);
@@ -6142,6 +6480,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        //,["On this list", "On this directory"]
                        //,["On This List", "On This Directory"]
                        ,["Related Groups", "Related Herds"]
                        //,["On this list", "On this directory"]
                        //,["On This List", "On This Directory"]
                        ,["Related Groups", "Related Herds"]
+                       ,["Entertainment Pages You May Like", "Entertainment Pages You May "+capitaliseFirstLetter(CURRENTSTACK['like'])]
 
                        ,["Notifications", "Sparks"]
                        ,["New Likes", "New "+capitaliseFirstLetter(CURRENTSTACK['likes'])]
 
                        ,["Notifications", "Sparks"]
                        ,["New Likes", "New "+capitaliseFirstLetter(CURRENTSTACK['likes'])]
@@ -6153,12 +6492,14 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        ,["People Talking About This", capitaliseFirstLetter(CURRENTSTACK.people)+" Blabbering About This"]
                        ,["Total Likes", "Total "+capitaliseFirstLetter(CURRENTSTACK['likes'])]
                        ,["Games You May Like", "Games You May "+capitaliseFirstLetter(CURRENTSTACK.like)]
                        ,["People Talking About This", capitaliseFirstLetter(CURRENTSTACK.people)+" Blabbering About This"]
                        ,["Total Likes", "Total "+capitaliseFirstLetter(CURRENTSTACK['likes'])]
                        ,["Games You May Like", "Games You May "+capitaliseFirstLetter(CURRENTSTACK.like)]
+                       ,["Add To News Feed", "Add To Feed Bag"]
 
                        ,["Messages", "Trough"]
 
                        ,["Messages", "Trough"]
-                       ,["Other Messages", "Other Friendship Reports"]
-                       ,["Unread Messages", "Unread Friendship Reports"]
-                       ,["Sent Messages", "Sent Friendship Reports"]
-                       ,["Archived Messages", "Archived Friendship Reports"]
+                       //,["Other Messages", "Other Friendship Reports"]
+                       //,["Unread Messages", "Unread Friendship Reports"]
+                       //,["Sent Messages", "Sent Friendship Reports"]
+                       //,["Archived Messages", "Archived Friendship Reports"]
+                       ,["Inbox", "Trough"]
 
                        ,["Groups", "Herds"]
                        //,["Pages and Ads", "Landmarks and Ads"]
 
                        ,["Groups", "Herds"]
                        //,["Pages and Ads", "Landmarks and Ads"]
@@ -6217,6 +6558,8 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        ,["Tagged Photos", "Tagged Pony Pics"]
 
                        ,["Add Groups", "Add Herds"] // /addgroup
                        ,["Tagged Photos", "Tagged Pony Pics"]
 
                        ,["Add Groups", "Add Herds"] // /addgroup
+                       ,["Photos", "Pony Pics"] // /media/video/
+                       ,["Post to Your Wall", "Post to Your Stall"]
                ];
 
                menuTitles = [
                ];
 
                menuTitles = [
@@ -6229,6 +6572,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        ,["Friends", capitaliseFirstLetter(CURRENTSTACK['friends'])]
                        ,["Friends ", capitaliseFirstLetter(CURRENTSTACK['friends'])]
                        ,["Friends of Guests", capitaliseFirstLetter(CURRENTSTACK['friends'])+" of Guests"]
                        ,["Friends", capitaliseFirstLetter(CURRENTSTACK['friends'])]
                        ,["Friends ", capitaliseFirstLetter(CURRENTSTACK['friends'])]
                        ,["Friends of Guests", capitaliseFirstLetter(CURRENTSTACK['friends'])+" of Guests"]
+                       ,["Friends of Contributors", capitaliseFirstLetter(CURRENTSTACK['friends'])+" of Contributors"]
                        ,["Only Me", "Alone"]
                        ,["Only me", "Alone"]
                        ,["No One", "Alone"]
                        ,["Only Me", "Alone"]
                        ,["Only me", "Alone"]
                        ,["No One", "Alone"]
@@ -6356,6 +6700,8 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        //,["Report list", "Whine about directory"]
                        ,["Report list", "Whine about list"]
                        ,["Event at a place", "Adventure at a place"]
                        //,["Report list", "Whine about directory"]
                        ,["Report list", "Whine about list"]
                        ,["Event at a place", "Adventure at a place"]
+                       ,["Report as Abuse", "Whine as Abuse"]
+                       ,["Report to Admin", "Whine to Admin"]
 
                        ,["Hide this recent activity story from Timeline", "Hide this recent activity story from Journal"]
                        ,["Hide Similar Activity from Timeline...", "Hide Similar Activity from Journal..."]
 
                        ,["Hide this recent activity story from Timeline", "Hide this recent activity story from Journal"]
                        ,["Hide Similar Activity from Timeline...", "Hide Similar Activity from Journal..."]
@@ -6385,6 +6731,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        ,["Message Guests", "Start Whinny Chat with Guests"]
                        ,["Edit Event", "Edit Adventure"]
                        ,["Publish Event on Timeline", "Publish Adventure on Journal"]
                        ,["Message Guests", "Start Whinny Chat with Guests"]
                        ,["Edit Event", "Edit Adventure"]
                        ,["Publish Event on Timeline", "Publish Adventure on Journal"]
+                       ,["Leave Event", "Leave Adventure"]
 
                        ,["Add Friends to Chat...", "Add "+capitaliseFirstLetter(CURRENTSTACK.friends)+" to Whinny Chat..."]
                        ,["Chat Sounds", "Whinny Chat Sounds"]
 
                        ,["Add Friends to Chat...", "Add "+capitaliseFirstLetter(CURRENTSTACK.friends)+" to Whinny Chat..."]
                        ,["Chat Sounds", "Whinny Chat Sounds"]
@@ -6436,6 +6783,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        ,["Choose from my Photos", "Choose from my Pony Pics"]
                        ,["Reposition Photo", "Reposition Pony Pic"]
                        ,["Add Synced Photo...", "Add Synced Pony Pic..."]
                        ,["Choose from my Photos", "Choose from my Pony Pics"]
                        ,["Reposition Photo", "Reposition Pony Pic"]
                        ,["Add Synced Photo...", "Add Synced Pony Pic..."]
+                       ,["Add Synced Photo", "Add Synced Pony Pic"]
                        ,["Change Primary Photo...", "Change Primary Pony Pic..."]
                        ,["Choose from Photo Albums...", "Choose from Pony Pic Albums..."]
                        ,["Suggest this photo...", "Suggest this pony pic..."]
                        ,["Change Primary Photo...", "Change Primary Pony Pic..."]
                        ,["Choose from Photo Albums...", "Choose from Pony Pic Albums..."]
                        ,["Suggest this photo...", "Suggest this pony pic..."]
@@ -6460,8 +6808,10 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
 
                        ,["The app sends you a notification", "The magic sends you a spark"]
 
 
                        ,["The app sends you a notification", "The magic sends you a spark"]
 
-                       // comment resort
-                       ,["Top Comments", "Top Friendship Letters"]
+                       ,["Top Comments", "Top Friendship Letters"] // comment resort
+                       ,["See All Groups", "See All Herds"] // timeline
+                       ,["Friends to Invite", capitaliseFirstLetter(CURRENTSTACK['friends'])+" to Invite"] // app invite
+                       ,["Take a survey to improve News Feed", "Take a survey to improve Feed Bag"] // news feed
 
                        // insights
                        ,["Post Clicks / Likes, Comments & Shares", "Post Clicks / "+capitaliseFirstLetter(CURRENTSTACK['likes'])+", Comments & Shares"]
 
                        // insights
                        ,["Post Clicks / Likes, Comments & Shares", "Post Clicks / "+capitaliseFirstLetter(CURRENTSTACK['likes'])+", Comments & Shares"]
@@ -6479,6 +6829,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        ,["Friends", capitaliseFirstLetter(CURRENTSTACK['friends'])]
                        ,["Friends ", capitaliseFirstLetter(CURRENTSTACK['friends'])]
                        ,["Friends of Guests", capitaliseFirstLetter(CURRENTSTACK['friends'])+" of Guests"]
                        ,["Friends", capitaliseFirstLetter(CURRENTSTACK['friends'])]
                        ,["Friends ", capitaliseFirstLetter(CURRENTSTACK['friends'])]
                        ,["Friends of Guests", capitaliseFirstLetter(CURRENTSTACK['friends'])+" of Guests"]
+                       ,["Friends of Contributors", capitaliseFirstLetter(CURRENTSTACK['friends'])+" of Contributors"]
                        ,["Only Me", "Alone"]
                        ,["Only me", "Alone"]
                        //,["See all lists...", "See entire directory..."]
                        ,["Only Me", "Alone"]
                        ,["Only me", "Alone"]
                        //,["See all lists...", "See entire directory..."]
@@ -6554,6 +6905,8 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        ,"Your Page Can't Be Promoted"
                        ,"Cannot Send Gift"
                        ,"An error occurred."
                        ,"Your Page Can't Be Promoted"
                        ,"Cannot Send Gift"
                        ,"An error occurred."
+                       ,"Image Resource Invalid"
+                       ,"Confirmation Required"
                ];
 
                headerInsightsTitles = [
                ];
 
                headerInsightsTitles = [
@@ -6573,8 +6926,13 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        ,["Are you sure you want to remove this picture?", "Are you sure you want to nuke this pony pic?"]
                        ,["The post or object that you were commenting has been removed by its owner and can no longer be commented on.", "The post or object that you were commenting has been nuked by its owner and can no longer be commented on."]
                        ,["Are you sure you want to remove this event?", "Are you sure you want to nuke this adventure?"]
                        ,["Are you sure you want to remove this picture?", "Are you sure you want to nuke this pony pic?"]
                        ,["The post or object that you were commenting has been removed by its owner and can no longer be commented on.", "The post or object that you were commenting has been nuked by its owner and can no longer be commented on."]
                        ,["Are you sure you want to remove this event?", "Are you sure you want to nuke this adventure?"]
+                       ,["Are you sure you want to unlike this?", "Are you sure you want to "+CURRENTSTACK['unlike']+" this?"]
+                       ,["Are you sure you want to remove this profile picture?", "Are you sure you want to nuke this journal pony pic?"]
 
                        ,["Report this if it's not relevant to your search results.", "Whine about this if it's not relevant to your search results."]
 
                        ,["Report this if it's not relevant to your search results.", "Whine about this if it's not relevant to your search results."]
+
+                       ,["Uploading a photo will remove the link preview. Do you want to continue?", "Uploading a pony pic will remove the link preview. Do you want to continue?"]
+                       ,["This post has been reported to the group admin.", "This post has been whined to the group admin."]
                ];
        }
        
                ];
        }
        
@@ -6585,8 +6943,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
        var domNodeHandler = function() {
                var k = this;
                k.snowliftPinkieInjected = false;
        var domNodeHandler = function() {
                var k = this;
                k.snowliftPinkieInjected = false;
-                               //k.ufiData = {};
-
+               
                k.run = function(dom) {
                        if (INTERNALUPDATE) {
                                return;
                k.run = function(dom) {
                        if (INTERNALUPDATE) {
                                return;
@@ -6750,6 +7107,35 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                                                }
                                        }
                                        button.setAttribute('data-ponyhoof-button-text', replaced);
                                                }
                                        }
                                        button.setAttribute('data-ponyhoof-button-text', replaced);
+
+                                       // Top-right "Join Group" and "Notifications" link on groups requires some treatment to avoid long group names from being crapped
+                                       var ajaxify = button.getAttribute('ajaxify');
+                                       if ((ajaxify && ajaxify.indexOf('/ajax/groups/membership/r2j.php?ref=group_jump_header') == 0) || (button.parentNode && button.parentNode.parentNode && hasClass(button.parentNode.parentNode, 'groupNotificationsSelector'))) {
+                                               var groupsJumpTitle = $('groupsJumpTitle');
+                                               if (!groupsJumpTitle) {
+                                                       return;
+                                               }
+
+                                               var groupsJumpBarTop = dom.target.getElementsByClassName('groupsJumpBarTop');
+                                               if (!groupsJumpBarTop.length) {
+                                                       return;
+                                               }
+                                               groupsJumpBarTop = groupsJumpBarTop[0];
+
+                                               var rfloat = groupsJumpBarTop.getElementsByClassName('rfloat');
+                                               if (!rfloat.length) {
+                                                       return;
+                                               }
+                                               rfloat = rfloat[0];
+
+                                               var groupsCleanLinks = groupsJumpBarTop.getElementsByClassName('groupsCleanLinks');
+                                               if (!groupsCleanLinks.length) {
+                                                       return;
+                                               }
+                                               groupsCleanLinks = groupsCleanLinks[0];
+
+                                               groupsJumpTitle.style.maxWidth = (800 - ((groupsCleanLinks.offsetWidth || 0) + (rfloat.offsetWidth || 0) - (groupsJumpTitle.offsetWidth || 0)) - 10) + 'px';
+                                       }
                                }
 
                                                        });
                                }
 
                                                        });
@@ -6768,7 +7154,12 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                                return;
                        }
 
                                return;
                        }
 
-                       domReplaceFunc(dom.target, '', '.inCommonSectionList, #fbTimelineHeadline .name h2 > div, ._8yb, .-cx-PRIVATE-fbEntstreamAttachmentAvatar__secondarydetaillist, ._508a, .-cx-PRIVATE-pageLikeStory__fancountfooter, .permalinkHeaderInfo > .subscribeOrLikeSentence > .fwn', k.textBrohoof);
+                       if (k.pagesVoiceBarText(dom.target)) {
+                               INTERNALUPDATE = iu;
+                               return;
+                       }
+
+                       domReplaceFunc(dom.target, '', '.inCommonSectionList, #fbTimelineHeadline .name h2 > div, ._8yb, .-cx-PRIVATE-fbEntstreamAttachmentAvatar__secondarydetaillist, ._508a, .-cx-PRIVATE-pageLikeStory__fancountfooter, .permalinkHeaderInfo > .subscribeOrLikeSentence > .fwn, ._5j2m', k.textBrohoof);
                        
                        domReplaceFunc(dom.target, '', '.uiUfiViewAll, .uiUfiViewPrevious, .uiUfiViewMore', function(ele) {
                                var button = ele.querySelector('input[type="submit"]');
                        
                        domReplaceFunc(dom.target, '', '.uiUfiViewAll, .uiUfiViewPrevious, .uiUfiViewMore', function(ele) {
                                var button = ele.querySelector('input[type="submit"]');
@@ -6780,50 +7171,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                                }
                        });
                        
                                }
                        });
                        
-                       domReplaceFunc(dom.target, '', '.tooltipContent', function(ele) {
-                               // <div class="tooltipContent"><div class="tooltipText"><span>xy</span></div></div>
-                               // <div class="tooltipContent">xy</div>
-
-                               // <div class="tooltipContent"><div>Edit or Delete</div></div>
-                               var io = ele.getElementsByClassName('tooltipText');
-                               if (io.length) {
-                                       var target = io[0];
-                               } else {
-                                       var target = ele;
-                               }
-                               var potentialLabel = target.querySelector('._5bqd, .-cx-PRIVATE-HubbleInfoTip__content');
-                               if (potentialLabel) {
-                                       target = potentialLabel;
-                               }
-                               io = target.getElementsByTagName('div');
-                               if (io.length) {
-                                       target = io[0];
-                               }
-                               io = target.getElementsByTagName('span');
-                               if (io.length) {
-                                       target = io[0];
-                               }
-                               
-                               var t = target.innerHTML;
-                               t = replaceText(tooltipTitles, t);
-                               if (target.innerHTML != t) {
-                                       var oldWidth = target.offsetWidth;
-                                       target.innerHTML = t;
-
-                                       // <div class="uiContextualLayerPositioner uiLayer" id="js_4" style="width: 862px; left: 309px; top: 1914px;" data-ownerid=""><div class="uiContextualLayer uiContextualLayerAboveCenter" style="bottom: 0px;"><div class="uiTooltipX"><div class="tooltipContent"><div>Loading...</div></div><i class="arrow"></i></div></div></div>
-                                       if (!ele.parentNode || !ele.parentNode.parentNode || !ele.parentNode.parentNode.parentNode) {
-                                               return;
-                                       }
-                                       var layer = ele.parentNode.parentNode.parentNode;
-                                       if (!ele.parentNode.parentNode.className.match(/Center/) || !hasClass(layer, 'uiContextualLayerPositioner')) {
-                                               return;
-                                       }
-                                       layer.style.width = 'auto'; // fix horizontal scrollbar
-                                       var left = parseInt(layer.style.left);
-                                       var newWidth = target.offsetWidth;
-                                       layer.style.left = (left - Math.round((newWidth - oldWidth) / 2))+'px';
-                               }
-                       });
+                       k.tooltip(dom.target);
                        
                        domReplaceFunc(dom.target, 'egoProfileTemplate', '.egoProfileTemplate', function(ele) {
                                if (ele.getAttribute('data-ponyhoof-ponified')) {
                        
                        domReplaceFunc(dom.target, 'egoProfileTemplate', '.egoProfileTemplate', function(ele) {
                                if (ele.getAttribute('data-ponyhoof-ponified')) {
@@ -6923,6 +7271,8 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                                                                }
                                                        }
                                                });
                                                                }
                                                        }
                                                });
+
+                                               k._dialog_insertReadme(body);
                                        }
 
                                        if (hasClass(dom.target, 'uiLayer')) {
                                        }
 
                                        if (hasClass(dom.target, 'uiLayer')) {
@@ -7012,6 +7362,8 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        k.insightsCountry(dom);
                        k.timelineMutualLikes(dom.target);
                        k.videoStageContainer(dom.target);
                        k.insightsCountry(dom);
                        k.timelineMutualLikes(dom.target);
                        k.videoStageContainer(dom.target);
+                       k.uiStreamShareLikePageBox(dom.target);
+                       k.fbTimelineUnit(dom.target);
 
                        domChangeTextbox(dom.target, '.MessagingComposerForm textarea, ._1rt ._1rv, .-cx-PRIVATE-webMessengerComposer__composertextarea, ._20y textarea, .-cx-PRIVATE-mercuryComposerDialog__root textarea, ._2oj, .-cx-PRIVATE-mercuryComposerDialog__textarea', "Dear Princess Celestia...");
                        domChangeTextbox(dom.target, '.groupAddMemberTypeaheadBox .inputtext', "Add "+capitaliseFirstLetter(CURRENTSTACK.friends)+" to the Herd");
 
                        domChangeTextbox(dom.target, '.MessagingComposerForm textarea, ._1rt ._1rv, .-cx-PRIVATE-webMessengerComposer__composertextarea, ._20y textarea, .-cx-PRIVATE-mercuryComposerDialog__root textarea, ._2oj, .-cx-PRIVATE-mercuryComposerDialog__textarea', "Dear Princess Celestia...");
                        domChangeTextbox(dom.target, '.groupAddMemberTypeaheadBox .inputtext', "Add "+capitaliseFirstLetter(CURRENTSTACK.friends)+" to the Herd");
@@ -7024,7 +7376,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        //domChangeTextbox(dom.target, '.uiComposer textarea', "What lessons in friendship have you learned today?");
                        //domChangeTextbox(dom.target, '.uiComposerMessageBox textarea', "Share your friendship stories...");
                        //domChangeTextbox(dom.target, '.uiMetaComposerMessageBox textarea', "What lessons in friendship have you learned today?");
                        //domChangeTextbox(dom.target, '.uiComposer textarea', "What lessons in friendship have you learned today?");
                        //domChangeTextbox(dom.target, '.uiComposerMessageBox textarea', "Share your friendship stories...");
                        //domChangeTextbox(dom.target, '.uiMetaComposerMessageBox textarea', "What lessons in friendship have you learned today?");
-                       domChangeTextbox(dom.target, '#q, .fbFacebar .facebarInput .structuredText, ._585- ._586f, .-cx-PUBLIC-fbFacebar__root .-cx-PUBLIC-uiStructuredInput__text', function(searchbox) {
+                       domChangeTextbox(dom.target, '#q, ._585- ._586f, .-cx-PUBLIC-fbFacebar__root .-cx-PUBLIC-uiStructuredInput__text', function(searchbox) {
                                if (CURRENTLANG.sniff_fb_search_boxAlt && searchbox.getAttribute('placeholder').indexOf(CURRENTLANG.sniff_fb_search_boxAlt) != -1) {
                                        return CURRENTLANG.fb_search_boxAlt;
                                }
                                if (CURRENTLANG.sniff_fb_search_boxAlt && searchbox.getAttribute('placeholder').indexOf(CURRENTLANG.sniff_fb_search_boxAlt) != -1) {
                                        return CURRENTLANG.fb_search_boxAlt;
                                }
@@ -7172,7 +7524,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                                                                                        return;
                                                                                }
                                                                                child.textContent = texts[i];
                                                                                        return;
                                                                                }
                                                                                child.textContent = texts[i];
-                                                                               i++;
+                                                                               i += 1;
                                                                        });
                                                                }
                                                        }
                                                                        });
                                                                }
                                                        }
@@ -7408,19 +7760,9 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                                                        return;
                                                }
 
                                                        return;
                                                }
 
-                                               /*var id = k.getReactId(ufi);
-                                               if (!id) {
-                                                       return;
-                                               }
-                                               if (!k.ufiData[id]) {
-                                                       k.ufiData[id] = {};
-                                               }*/
-
                                                if (isLike) {
                                                if (isLike) {
-                                                       //k.ufiData[id].brohoofed = false;
                                                        removeClass(ufi.parentNode, 'ponyhoof_brohoofed');
                                                } else {
                                                        removeClass(ufi.parentNode, 'ponyhoof_brohoofed');
                                                } else {
-                                                       //k.ufiData[id].brohoofed = true;
                                                        addClass(ufi.parentNode, 'ponyhoof_brohoofed');
                                                }
                                        });
                                                        addClass(ufi.parentNode, 'ponyhoof_brohoofed');
                                                }
                                        });
@@ -7430,7 +7772,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
 
                k._markCommentLiked = function(ufiitem, isLike) {
                        var child = null;
 
                k._markCommentLiked = function(ufiitem, isLike) {
                        var child = null;
-                       if (ufiitem.childNodes && ufiitem.childNodes[0]) {
+                       if (ufiitem.childNodes && ufiitem.childNodes.length && ufiitem.childNodes[0]) {
                                child = ufiitem.childNodes[0];
                        }
                        if (isLike) {
                                child = ufiitem.childNodes[0];
                        }
                        if (isLike) {
@@ -7494,13 +7836,13 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                                } else if (hasClass(dom.target, 'UFILikeSentence')) {
                                        k._likePostBox(dom.target);
                                } else if (hasClass(dom.target, 'UFIImageBlockContent')) {
                                } else if (hasClass(dom.target, 'UFILikeSentence')) {
                                        k._likePostBox(dom.target);
                                } else if (hasClass(dom.target, 'UFIImageBlockContent')) {
-                                       if (hasClass(dom.target, '_42ef') || hasClass(dom.target, '-cx-PRIVATE-uiFlexibleBlock__flexiblecontent')) {
+                                       //if (hasClass(dom.target, '_42ef') || hasClass(dom.target, '-cx-PRIVATE-uiFlexibleBlock__flexiblecontent')) {
                                                // on groups with seen, clicking a photo will open in the viewer, but the original post on the group messes up
                                                k._likePostBox(dom.target.parentNode);
                                                // on groups with seen, clicking a photo will open in the viewer, but the original post on the group messes up
                                                k._likePostBox(dom.target.parentNode);
-                                       } else {
+                                       //} else {
                                                // marking a comment as spam in another section, and then unmark
                                                k.commentBrohoofed({target: dom.target});
                                                // marking a comment as spam in another section, and then unmark
                                                k.commentBrohoofed({target: dom.target});
-                                       }
+                                       //}
                                } else if (hasClass(dom.target, 'UFILikeLink') || (!USINGMUTATION && hasClass(dom.target, 'UFILikeThumb'))) {
                                        k._commentLikeLink(dom.target);
                                } else if (dom.target.parentNode) {
                                } else if (hasClass(dom.target, 'UFILikeLink') || (!USINGMUTATION && hasClass(dom.target, 'UFILikeThumb'))) {
                                        k._commentLikeLink(dom.target);
                                } else if (dom.target.parentNode) {
@@ -7577,7 +7919,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        return CURRENTLANG.fb_comment_box;
                };
 
                        return CURRENTLANG.fb_comment_box;
                };
 
-               k.composerPonies = new RegExp(['pony', 'ponies', 'mlp', 'brony', 'bronies', 'pegasister', 'pega sister', 'pega-sister', 'twilight sparkle', 'rainbow dash', 'pinkie', 'applejack', 'fluttershy', 'rarity', 'celestia', 'derpy', 'equestria', 'canterlot', 'dashie', 'apple jack', 'flutter shy', 'princess luna', 'friendship is magic', 'kuda'].join('|'), 'i');
+               k.composerPonies = new RegExp(['pony', 'ponies', 'mlp', 'brony', 'bronies', 'pegasister', 'pega sister', 'pega-sister', 'twilight sparkle', 'rainbow dash', 'pinkie', 'applejack', 'fluttershy', 'rarity', 'celestia', 'derpy', 'equestria', 'canterlot', 'dashie', 'apple jack', 'flutter shy', 'princess luna', 'friendship is magic', 'kuda', 'pinkamena', 'bon bon', 'bonbon'].join('|'), 'i');
                k.composerExclude = new RegExp(['suck', 'shit', 'fuck', 'assho', 'crap', 'ponyfag', 'faggo', 'retard', 'dick'].join('|'), 'i');
                k.composerSpecialPages = {
                         '140792002656140': {composer: LANG['ms_MY'].fb_composer_lessons, malay:true}
                k.composerExclude = new RegExp(['suck', 'shit', 'fuck', 'assho', 'crap', 'ponyfag', 'faggo', 'retard', 'dick'].join('|'), 'i');
                k.composerSpecialPages = {
                         '140792002656140': {composer: LANG['ms_MY'].fb_composer_lessons, malay:true}
@@ -7727,7 +8069,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                                                                k._changeComposer_insertReadme(insertBefore);
                                                        });
                                                }, true);
                                                                k._changeComposer_insertReadme(insertBefore);
                                                        });
                                                }, true);
-                                               return "Suggest something for Ponyhoof...";
+                                               return "Send feedback for Ponyhoof...";
                                        }
                                        if (k.composerSpecialPages[pageid] && k.composerSpecialPages[pageid].composer) {
                                                return k.composerSpecialPages[pageid].composer;
                                        }
                                        if (k.composerSpecialPages[pageid] && k.composerSpecialPages[pageid].composer) {
                                                return k.composerSpecialPages[pageid].composer;
@@ -7890,6 +8232,93 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        }
                };
 
                        }
                };
 
+               k.tooltip = function(target) {
+                       domReplaceFunc(target, '', '.tooltipContent', function(ele) {
+                               // <div class="tooltipContent"><div class="tooltipText"><span>Hide</span></div></div>
+                               // <div class="tooltipContent"><div>Ponyhoof brohoofs this.</div></div>
+                               // <div class="tooltipContent">xy</div>
+                               // <div class="tooltipContent"><div><div class="-cx-PRIVATE-HubbleTargetingImage__tooltipcontent" data-reactid=""><div data-reactid=""><b data-reactid="">Shared with:</b><br data-reactid=""><span data-reactid="">Public</span></div></div></div></div>
+
+                               // <div class="uiContextualLayerPositioner uiLayer" style="width: 294px; left: 877px; top: 1299px;" data-ownerid="js_14"><div class="uiContextualLayer uiContextualLayerAboveLeft" style="bottom: 0px;"><div class="uiTooltipX"><div class="tooltipContent"><div class="tooltipText"><span>Excellent</span></div></div><i class="arrow"></i></div></div></div>
+                               var io = ele.getElementsByClassName('tooltipText');
+                               if (io.length) {
+                                       var target = io[0];
+                               } else {
+                                       var target = ele;
+                               }
+                               var potentialLabel = target.querySelector('._5bqd, .-cx-PRIVATE-HubbleInfoTip__content, ._5j1i');
+                               if (potentialLabel) {
+                                       target = potentialLabel;
+                               }
+                               if (target.childNodes && target.childNodes.length && target.childNodes[0] && target.childNodes[0].tagName && target.childNodes[0].tagName.toUpperCase() == 'DIV') {
+                                       target = target.childNodes[0];
+                               }
+                               if (target.childNodes && target.childNodes.length && target.childNodes[0] && target.childNodes[0].tagName && target.childNodes[0].tagName.toUpperCase() == 'SPAN') {
+                                       target = target.childNodes[0];
+                               }
+                               
+                               // Get the tooltip outer layer
+                               var layer = k._tooltipGetLayer(ele);
+                               if (!layer) {
+                                       return;
+                               }
+
+                               removeClass(layer, 'ponyhoof_tooltip_flip');
+
+                               // Replace text
+                               var t = target.innerHTML;
+                               t = replaceText(tooltipTitles, t);
+                               if (target.innerHTML != t) {
+                                       var oldWidth = target.offsetWidth;
+                                       target.innerHTML = t;
+
+                                       // Get the inner layer inside the outer layer (get it...?)
+                                       var layerInner = layer.getElementsByClassName('uiContextualLayer');
+                                       if (!layerInner.length) {
+                                               return;
+                                       }
+                                       layerInner = layerInner[0];
+
+                                       if (layerInner.className.match(/Center/)) {
+                                               layer.style.width = 'auto'; // fix horizontal scrollbar
+                                               var left = parseInt(layer.style.left);
+                                               var newWidth = target.offsetWidth;
+                                               layer.style.left = (left - Math.round((newWidth - oldWidth) / 2))+'px';
+                                       } else if (layerInner.className.match(/Left/)) {
+                                               // Fix "Remember: all place ratings are public." tooltips that are being ponified and causing a horizontal page scrollbar
+                                               // 
+                                               // This is complicated, Facebook caches the ContextualLayer <div>s for tooltips
+                                               // If we directly change the classNames like this:
+                                               //     layerInner.className = layerInner.className.replace(/Left/, 'Right');
+                                               // This would cause future tooltips to display incorrectly
+                                               // So what we done is add our own "ponyhoof_tooltip_flip" class which flips the tooltip left to right
+
+                                               var rect = ele.getBoundingClientRect();
+                                               if (!rect) {
+                                                       return;
+                                               }
+                                               if (rect.right >= d.documentElement.clientWidth) {
+                                                       layer.style.width = 'auto'; // bogus anyway
+                                                       layer.style.left = (parseInt(layer.style.left) - rect.width + 18)+'px'; // 18 is the number of pixels to offset to position the arrow of the tooltip properly
+                                                       addClass(layer, 'ponyhoof_tooltip_flip');
+                                               }
+                                       }
+                               }
+                       });
+               };
+
+               k._tooltipGetLayer = function(ele) {
+                       // <div class="uiContextualLayerPositioner uiLayer" id="js_4" style="width: 862px; left: 309px; top: 1914px;" data-ownerid=""><div class="uiContextualLayer uiContextualLayerAboveCenter" style="bottom: 0px;"><div class="uiTooltipX"><div class="tooltipContent"><div>Loading...</div></div><i class="arrow"></i></div></div></div>
+                       if (!ele.parentNode || !ele.parentNode.parentNode || !ele.parentNode.parentNode.parentNode) {
+                               return false;
+                       }
+                       var layer = ele.parentNode.parentNode.parentNode;
+                       if (!hasClass(layer, 'uiContextualLayerPositioner')) {
+                               return false;
+                       }
+                       return layer;
+               };
+
                k.fbDockChatBuddylistNub = function(target) {
                        if (target.parentNode && target.parentNode.parentNode && target.parentNode.parentNode.getAttribute && target.parentNode.parentNode.getAttribute('id') == 'fbDockChatBuddylistNub' && hasClass(target, 'label')) {
                                k._fbDockChatBuddylistNub_change(target);
                k.fbDockChatBuddylistNub = function(target) {
                        if (target.parentNode && target.parentNode.parentNode && target.parentNode.parentNode.getAttribute && target.parentNode.parentNode.getAttribute('id') == 'fbDockChatBuddylistNub' && hasClass(target, 'label')) {
                                k._fbDockChatBuddylistNub_change(target);
@@ -7919,7 +8348,8 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                                return true;
                        }
 
                                return true;
                        }
 
-                       $$(target, '.pokesDashboard > .objectListItem', k._pokesDashboard_item);
+                       //$$(target, '.pokesDashboard > .objectListItem', k._pokesDashboard_item);
+                       $$(target, '.objectListItem[id^="poke_"]', k._pokesDashboard_item);
 
                        if (hasClass(target, 'highlight')) {
                                var t = target.textContent;
 
                        if (hasClass(target, 'highlight')) {
                                var t = target.textContent;
@@ -7936,14 +8366,19 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                };
 
                k._pokesDashboard_item = function(item) {
                };
 
                k._pokesDashboard_item = function(item) {
-                       var header = item.getElementsByClassName('pokeHeader');
-                       if (!header || !header.length) {
+                       //var header = item.getElementsByClassName('pokeHeader');
+                       //if (!header || !header.length) {
+                       //      return;
+                       //}
+                       //header = header[0];
+
+                       var header = item.querySelector('.uiProfileBlockContent > ._6a > ._6b > .fwb'); // .-cx-PRIVATE-uiInlineBlock__root > .-cx-PRIVATE-uiInlineBlock__middle
+                       if (!header) {
                                return;
                        }
                                return;
                        }
-                       header = header[0];
 
                        var t = header.innerHTML;
 
                        var t = header.innerHTML;
-                       t = t.replace(/ has poked you\./, ' has nuzzled you.');
+                       t = t.replace(/ poked you\./, ' nuzzled you.');
                        if (header.innerHTML != t) {
                                header.innerHTML = t;
                        }
                        if (header.innerHTML != t) {
                                header.innerHTML = t;
                        }
@@ -7952,11 +8387,11 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                };
 
                k._pokesDashboard_pokeLink = function(target) {
                };
 
                k._pokesDashboard_pokeLink = function(target) {
-                       $$(target, 'a[ajaxify^="/ajax/pokes/poke_inline.php"]', function(poke) {
+                       $$(target, 'a[ajaxify^="/pokes/inline/"]', function(poke) {
                                var text = "Nuzzle";
                                var text = "Nuzzle";
-                               if (poke.getAttribute('ajaxify').indexOf('pokeback=1') != -1) { // http://fb.com/406911932763192
+                               /*if (poke.getAttribute('ajaxify').indexOf('pokeback=1') != -1) { // http://fb.com/406911932763192
                                        text = "Nuzzle Back";
                                        text = "Nuzzle Back";
-                               }
+                               }*/
 
                                if (poke.childNodes && poke.childNodes.length && poke.childNodes[1]) {
                                        poke.childNodes[1].textContent = text;
 
                                if (poke.childNodes && poke.childNodes.length && poke.childNodes[1]) {
                                        poke.childNodes[1].textContent = text;
@@ -7978,8 +8413,14 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
 
                k.notification = function(dom) {
                        domReplaceFunc(dom.target, 'notification', '.notification', function(ele) {
 
                k.notification = function(dom) {
                        domReplaceFunc(dom.target, 'notification', '.notification', function(ele) {
-                               k._notification_change(ele, '.info', 'metadata', 'blueName');
+                               k._notification_change(ele, '.info', k._notification_general_metadata);
                        });
                        });
+
+                       if (ONPLUGINPAGE) {
+                               $$(dom.target, '.notification-item', function(ele) {
+                                       k._notification_change(ele, '.notification-text > .message', k._notification_messenger_metadata);
+                               });
+                       }
                };
 
                k.notification_itemClass = ['_33c', '-cx-PRIVATE-fbNotificationJewelItem__item'];
                };
 
                k.notification_itemClass = ['_33c', '-cx-PRIVATE-fbNotificationJewelItem__item'];
@@ -7988,14 +8429,38 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                k._notification_react = function(ele) {
                        for (var i = 0; i <= 1; i += 1) {
                                if (hasClass(ele, k.notification_itemClass[i])) {
                k._notification_react = function(ele) {
                        for (var i = 0; i <= 1; i += 1) {
                                if (hasClass(ele, k.notification_itemClass[i])) {
-                                       k._notification_change(ele, '.'+k.notification_textClass[i]+' > span', k.notification_metadataClass[i], 'fwb');
+                                       k._notification_change(ele, '.'+k.notification_textClass[i]+' > span', k._notification_react_metadata);
                                        return true;
                                }
                        }
                        return false;
                };
 
                                        return true;
                                }
                        }
                        return false;
                };
 
-               k._notification_change = function(ele, info, metadata, bold) {
+               k._notification_general_metadata = function(node) {
+                       if (hasClass(node, 'metadata') || hasClass(node, 'blueName')) {
+                               return false;
+                       }
+                       return true;
+               };
+
+               k._notification_messenger_metadata = function(node) {
+                       if (node.nodeType != TEXT_NODE) {
+                               return false;
+                       }
+                       return true;
+               };
+
+               k._notification_react_metadata = function(node) {
+                       if (hasClass(node, 'fwb')) {
+                               return false;
+                       }
+                       if (hasClass(node, k.notification_metadataClass[0]) || hasClass(node, k.notification_metadataClass[1])) {
+                               return false;
+                       }
+                       return true;
+               };
+
+               k._notification_change = function(ele, info, metadataFunc) {
                        var info = ele.querySelector(info);
                        if (!info) {
                                return;
                        var info = ele.querySelector(info);
                        if (!info) {
                                return;
@@ -8006,7 +8471,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
 
                        for (var i = 0, len = info.childNodes.length; i < len; i += 1) {
                                var node = info.childNodes[i];
 
                        for (var i = 0, len = info.childNodes.length; i < len; i += 1) {
                                var node = info.childNodes[i];
-                               if (hasClass(node, metadata) || hasClass(node, bold)) {
+                               if (!metadataFunc(node)) {
                                        continue;
                                }
 
                                        continue;
                                }
 
@@ -8058,7 +8523,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
 
                                // lists/groups on Invite Friends dialogs
                                var listendpoint = ele.getAttribute('data-listendpoint');
 
                                // lists/groups on Invite Friends dialogs
                                var listendpoint = ele.getAttribute('data-listendpoint');
-                               if (listendpoint && listendpoint != '/ajax/chooser/list/friends/all/' && listendpoint.indexOf('/ajax/chooser/list/friends/') == 0 && listendpoint.indexOf('/ajax/chooser/list/friends/suggest/?filter=all') == -1) {
+                               if (listendpoint && listendpoint != '/ajax/chooser/list/friends/all/' && listendpoint.indexOf('/ajax/chooser/list/friends/') == 0 && listendpoint.indexOf('/ajax/chooser/list/friends/suggest/?filter=all') == -1 && listendpoint.indexOf('/ajax/chooser/list/friends/app_all_friends/') == -1 && listendpoint.indexOf('/ajax/chooser/list/friends/app_non_user/') == -1) {
                                        return;
                                }
 
                                        return;
                                }
 
@@ -8099,7 +8564,6 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
 
                                        var orig = '';
                                        var replaced = '';
 
                                        var orig = '';
                                        var replaced = '';
-                                       //var oldWidthBody = '';
                                        var oldLabelWidth = 0;
                                        ele.setAttribute('data-ponyhoof-menuitem-orig', ele.textContent);
                                        loopChildText(label, function(child) {
                                        var oldLabelWidth = 0;
                                        ele.setAttribute('data-ponyhoof-menuitem-orig', ele.textContent);
                                        loopChildText(label, function(child) {
@@ -8112,12 +8576,8 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                                                                        hasScrollableArea = true;
                                                                }
                                                                if (hasScrollableArea) {
                                                                        hasScrollableArea = true;
                                                                }
                                                                if (hasScrollableArea) {
-                                                                       //oldWidthBody = ele.parentNode.parentNode.parentNode.style.width;
-                                                                       //ele.parentNode.parentNode.parentNode.style.width = 'auto';
                                                                        label.style.display = 'inline-block';
                                                                        label.style.display = 'inline-block';
-                                                                       //var oldWidth = label.offsetWidth;
                                                                        if (!oldLabelWidth) {
                                                                        if (!oldLabelWidth) {
-                                                                               //oldLabelWidth = oldWidth;
                                                                                oldLabelWidth = label.offsetWidth;
                                                                        }
                                                                }
                                                                                oldLabelWidth = label.offsetWidth;
                                                                        }
                                                                }
@@ -8126,9 +8586,6 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                                                        replaced += t+' ';
                                                }
                                        });
                                                        replaced += t+' ';
                                                }
                                        });
-                                       //if (hasScrollableArea) {
-                                               //ele.parentNode.parentNode.parentNode.style.width = oldWidthBody;
-                                       //}
 
                                        orig = orig.substr(0, orig.length-1);
                                        replaced = replaced.substr(0, replaced.length-1);
 
                                        orig = orig.substr(0, orig.length-1);
                                        replaced = replaced.substr(0, replaced.length-1);
@@ -8267,14 +8724,16 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                };
 
                k.pluginButton = function(target) {
                };
 
                k.pluginButton = function(target) {
-                       if (!hasClass(d.body, 'plugin')) {
+                       if (!ONPLUGINPAGE) {
                                return;
                        }
 
                                return;
                        }
 
-                       //var root = target.getElementsByClassName('pluginConnectButtonLayoutRoot');
-                       var root = target.getElementsByClassName('pluginSkinLight');
+                       var root = target.getElementsByClassName('pluginConnectButtonLayoutRoot');
                        if (!root.length) {
                        if (!root.length) {
-                               return;
+                               var root = target.getElementsByClassName('pluginSkinLight');
+                               if (!root.length) {
+                                       return;
+                               }
                        }
                        root = root[0];
 
                        }
                        root = root[0];
 
@@ -8315,7 +8774,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        });
 
                        // likebox
                        });
 
                        // likebox
-                       $$(root, '.uiGrid .pts > .uiGrid .pls > div > span', function(ele) {
+                       $$(root, '._51mx > .pls > div > span', function(ele) {
                                var t = k.likeSentence(ele.textContent);
                                if (ele.textContent != t) {
                                        ele.textContent = t;
                                var t = k.likeSentence(ele.textContent);
                                if (ele.textContent != t) {
                                        ele.textContent = t;
@@ -8391,6 +8850,23 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        return false;
                };
 
                        return false;
                };
 
+               k.pagesVoiceBarText = function(target) {
+                       if (hasClass(target, 'pagesVoiceBarText')) {
+                               if (target.childNodes && target.childNodes.length && target.childNodes[0]) {
+                                       var textNode = target.childNodes[0];
+                                       if (textNode.nodeType == TEXT_NODE) {
+                                               var t = textNode.textContent;
+                                               t = t.replace(/\bliking\b/, CURRENTSTACK['liking']);
+                                               if (textNode.textContent != t) {
+                                                       textNode.textContent = t;
+                                               }
+                                       }
+                               }
+                               return true;
+                       }
+                       return false;
+               };
+
                k.beepNotification = function(dom) {
                        warn("domNodeHandler.beepNotification() is deprecated");
                        return false;
                k.beepNotification = function(dom) {
                        warn("domNodeHandler.beepNotification() is deprecated");
                        return false;
@@ -8406,7 +8882,8 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        return false;
                };
                k._beepNotification_condition_react = function(node, gt) {
                        return false;
                };
                k._beepNotification_condition_react = function(node, gt) {
-                       // <span id=".reactRoot[37].[0]{NUMBER}.0.[1].0.[1].0.0.[0]"><span class="fwb" id=".reactRoot[37].[0]{NUMBER}.0.[1].0.[1].0.0.[0].[0]"><span id=".reactRoot[37].[0]{NUMBER}.0.[1].0.[1].0.0.[0].[0].0">XYZ</span></span><span id=".reactRoot[37].[0]{NUMBER}.0.[1].0.[1].0.0.[0].[1]"> also commented on a </span><span class="fwb" id=".reactRoot[37].[0]{NUMBER}.0.[1].0.[1].0.0.[0].[2]"><span id=".reactRoot[37].[0]{NUMBER}.0.[1].0.[1].0.0.[0].[2].0">photo</span></span><span id=".reactRoot[37].[0]{NUMBER}.0.[1].0.[1].0.0.[0].[3]"> in </span><span class="fwb" id=".reactRoot[37].[0]{NUMBER}.0.[1].0.[1].0.0.[0].[4]"><span id=".reactRoot[37].[0]{NUMBER}.0.[1].0.[1].0.0.[0].[4].0">GROUP NAME</span></span><span id=".reactRoot[37].[0]{NUMBER}.0.[1].0.[1].0.0.[0].[5]">: "What?"</span></span>
+                       // <span id=""><span class="fwb" id=""><span id="">XYZ</span></span><span id=""> also commented on a </span><span class="fwb" id=""><span id="">photo</span></span><span id=""> in </span><span class="fwb" id=""><span id="">GROUP NAME</span></span><span id="">: "What?"</span></span>
+                       // <span data-reactid=""><span class="fwb" data-reactid="">NAME</span><span data-reactid=""> commented on your pony pic in </span><span class="fwb" data-reactid="">GROUP NAME</span><span data-reactid="">: "COMMENT"</span></span>
 
                        // **XYZ** posted on **Ponyhoof**'s **timeline**: "XYZ"
                        //if (hasClass(node, 'fwb')) {
 
                        // **XYZ** posted on **Ponyhoof**'s **timeline**: "XYZ"
                        //if (hasClass(node, 'fwb')) {
@@ -8425,31 +8902,16 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        for (var i = 0, len = info.childNodes.length; i < len; i += 1) {
                                var node = info.childNodes[i];
                                if (condition(node, gt)) {
                        for (var i = 0, len = info.childNodes.length; i < len; i += 1) {
                                var node = info.childNodes[i];
                                if (condition(node, gt)) {
+                                       var text = '';
                                        if (node.nodeType == 3) {
                                        if (node.nodeType == 3) {
-                                               var text = node.textContent;
-                                       } else {
-                                               var inner = node.getElementsByTagName('span');
-                                               if (inner.length) {
-                                                       // reactRoot .fwb
-                                                       node = inner[0];
-                                               }
-                                               var text = node.innerHTML;
-                                       }
-
-                                       if (text.indexOf('"') != -1) {
-                                               var finalText = k.textNotification(text.substring(0, text.indexOf('"')));
-                                               finalText += text.substring(text.indexOf('"'), text.length);
-                                       } else {
-                                               var finalText = k.textNotification(text);
-                                       }
-
-                                       if (node.nodeType == 3) {
-                                               if (node.textContent != finalText) {
-                                                       node.textContent = finalText;
-                                               }
+                                               text = node.textContent;
+                                               k._beepNotification_change_text(node, text);
                                        } else {
                                        } else {
-                                               if (node.innerHTML != finalText) {
-                                                       node.innerHTML = finalText;
+                                               // emoticons are smacked together, so we need to run another loop
+                                               for (var j = 0, jLen = node.childNodes.length; j < jLen; j += 1) {
+                                                       var textNode = node.childNodes[j];
+                                                       text = textNode.textContent;
+                                                       k._beepNotification_change_text(textNode, text);
                                                }
                                        }
 
                                                }
                                        }
 
@@ -8496,6 +8958,28 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        }
                };
 
                        }
                };
 
+               k._beepNotification_change_text = function(node, text) {
+                       if (!text) {
+                               return;
+                       }
+                       if (text.indexOf('"') != -1) {
+                               var finalText = k.textNotification(text.substring(0, text.indexOf('"')));
+                               finalText += text.substring(text.indexOf('"'), text.length);
+                       } else {
+                               var finalText = k.textNotification(text);
+                       }
+
+                       if (node.nodeType == TEXT_NODE) {
+                               if (node.textContent != finalText) {
+                                       node.textContent = finalText;
+                               }
+                       } else {
+                               if (node.innerHTML != finalText) {
+                                       node.innerHTML = finalText;
+                               }
+                       }
+               };
+
                k.insightsCountryData = [
                         ["United States of America", "United States of Amareica"]
                        ,["Malaysia", "Marelaysia"]
                k.insightsCountryData = [
                         ["United States of America", "United States of Amareica"]
                        ,["Malaysia", "Marelaysia"]
@@ -8561,6 +9045,94 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        }
                };
 
                        }
                };
 
+               k.uiStreamShareLikePageBox = function(target) {
+                       $$(target, '.uiStreamShareLikePageBox .uiPageLikeButton.rfloat + div > .fcg', function(ele) {
+                               var t = ele.textContent;
+                               t = t.replace(/likes/g, CURRENTSTACK['likes']);
+                               t = t.replace(/like/g, CURRENTSTACK['like']);
+                               if (ele.textContent != t) {
+                                       ele.textContent = t;
+                               }
+                       });
+               };
+
+               k.fbTimelineUnit = function(target) {
+                       if (!hasClass(target, 'fbTimelineUnit')) {
+                               return;
+                       }
+                       if (target.childNodes && target.childNodes.length) {
+                               if (hasClass(target.childNodes[1], 'pageFriendSummaryContainer')) {
+                                       var headerText = target.childNodes[1].getElementsByClassName('headerText');
+                                       if (!headerText.length) {
+                                               return;
+                                       }
+                                       headerText = headerText[0];
+
+                                       // Friend(s)
+                                       $$(headerText, '.fwb > a', function(link) {
+                                               var t = link.textContent;
+                                               t = t.replace(/\bFriends\b/, capitaliseFirstLetter(CURRENTSTACK['friends']));
+                                               t = t.replace(/\bFriend\b/, capitaliseFirstLetter(CURRENTSTACK['friend']));
+                                               if (link.textContent != t) {
+                                                       link.textContent = t;
+                                               }
+                                       });
+
+                                       // Like(s) PAGENAME
+                                       $$(headerText, '.fcg', function(fcg) {
+                                               var split = fcg.textContent.split(' ');
+                                               var t = split[0];
+                                               t = t.replace(/\bLikes\b/, capitaliseFirstLetter(CURRENTSTACK['likes']));
+                                               t = t.replace(/\bLike\b/, capitaliseFirstLetter(CURRENTSTACK['like']));
+                                               if (split[0] != t) {
+                                                       split[0] = t;
+                                                       fcg.textContent = split.join(' ');
+                                               }
+                                       });
+
+                                       return;
+                               }
+
+                               // Brohoofs section at pages
+                               var liked_pages_timeline_unit_list = $('liked_pages_timeline_unit_list');
+                               if (liked_pages_timeline_unit_list) {
+                                       $$(liked_pages_timeline_unit_list, '._42ef .fcg', function(fcg) {
+                                               loopChildText(fcg, function(child) {
+                                                       // <a href="/browse/friended_fans_of/?page_id=X" ajaxify="/ajax/browser/dialog/friended_fans_of/?page_id=X" rel="dialog" role="button">4 friends</a>
+                                                       // also like this.
+                                                       var t = child.textContent;
+                                                       t = k.textStandard(t);
+                                                       if (child.textContent != t) {
+                                                               child.textContent = t;
+                                                       }
+                                               });
+                                       });
+                               }
+                       }
+               };
+
+               k._dialog_insertReadme = function(body) {
+                       var done = false;
+                       $$(body, '._22i .uiToken > input[type="hidden"]', function(input) { // @cx
+                               if (done) {
+                                       return;
+                               }
+                               if (input.getAttribute('name') == 'undefined[]' && isPonyhoofPage(input.value)) { // undefined[] is intentional from FB, NOT A BUG
+                                       addClass(body, 'ponyhoof_composer_hasReadme');
+
+                                       var n = d.createElement('iframe');
+                                       n.className = 'ponyhoof_page_readme';
+                                       n.scrolling = 'auto';
+                                       n.frameborder = '0';
+                                       n.allowtransparency = 'true';
+                                       n.src = PONYHOOF_README;
+                                       body.appendChild(n);
+
+                                       done = true;
+                               }
+                       });
+               };
+
                k._dialog_playSound = function(title, outer) {
                        if (!title) {
                                return;
                k._dialog_playSound = function(title, outer) {
                        if (!title) {
                                return;
@@ -8740,7 +9312,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                                                                                i = 1;
                                                                        }
 
                                                                                i = 1;
                                                                        }
 
-                                                                       k._notification_change(notificationItem, '.'+k.notification_textClass[i]+' > span', k.notification_metadataClass[i], 'fwb');
+                                                                       k._notification_change(notificationItem, '.'+k.notification_textClass[i]+' > span', k._notification_react_metadata);
                                                                });
                                                        }
                                                }
                                                                });
                                                        }
                                                }
@@ -9603,7 +10175,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                try {
                        var href = w.location.href.toLowerCase();
                        
                try {
                        var href = w.location.href.toLowerCase();
                        
-                       if ((href.indexOf('/plugins/like.php') != -1 || href.indexOf('/plugins/likebox.php') != -1 || href.indexOf('/plugins/subscribe.php') || href.indexOf('/plugins/facepile.php') != -1) && (href.indexOf('login/plugin_roadblock.php') == -1 && (href.indexOf('#ponyhoof_runme') != -1 || href.indexOf('&ponyhoof_runme') != -1))) {
+                       if ((href.indexOf('/plugins/like.php') != -1 || href.indexOf('/plugins/likebox.php') != -1 || href.indexOf('/plugins/subscribe.php') != -1 || href.indexOf('/plugins/facepile.php') != -1) && (href.indexOf('login/plugin_roadblock.php') == -1 && (href.indexOf('#ponyhoof_runme') != -1 || href.indexOf('&ponyhoof_runme') != -1))) {
                                // Allow like boxes for the Ponyhoof page (yeah, a bit cheating)
                        } else if (hasClass(d.body, 'chrmxt')) {
                                // Allow for Facebook Notifications for Chrome
                                // Allow like boxes for the Ponyhoof page (yeah, a bit cheating)
                        } else if (hasClass(d.body, 'chrmxt')) {
                                // Allow for Facebook Notifications for Chrome
@@ -9657,7 +10229,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
 
                // Ban parasprites
                // If you would like to end up here, just simply show us that you have no clue about what Ponyhoof is really about and keep hitting "Send page source", don't be a moron please
 
                // Ban parasprites
                // If you would like to end up here, just simply show us that you have no clue about what Ponyhoof is really about and keep hitting "Send page source", don't be a moron please
-               if (USERID && ['0147135a7dc2d1b65ca0032c97f89c5b', '6c5b9bf8a304f1a3e0b085f974c53592', '4ab4094e54225dccadf42bee9ac212a9', '2887516d877df760641ed9247cc84b65', '06308ee7060101f04a18e41158408730', 'a95ef44112c18876a808b2d7781e63ba', '57b540dc72835f30d402f6abc566677c', '1f75490e12b25ee5839687e0ffe65502', '24363cd421635e8268983f6187def3c8', '3a420678fb395a9e71ad6b523e880a27', 'd7a9db4027cd407b281c84cc626a9f70', '23d69d7ecfeeb940deef6bc69c3aee00', 'ad3553f919b97dbbb19a69966666641e', '46077eeb2467c70ec9332b672d1d7bd1', 'bc8ef81105cfdc4c6b5ff349622dae8a', 'a21ad36f4c3fc35494626d1399cc4be1', '3a2135f78503521e570608c07c3e6386', '8dc11f39765f8fe83603502afcb630a9', 'ac966d33840736554984577a78d37d95', '11abc5dd16709ff201ec00781c39ac3c', '00e957ff53a5b34518087621165498f9', '025e1b15134402df1803de9421dc7819', '125c419ddbad08ee8c53b88801415887', 'ca94af2350690962e97e1ac1fb98fa06', '62e6c5f16e8ccc79c94aa452aa36f5d8', 'cf7e6ddb2fc7c7984d323a81dfca8dfb', 'df6495bacaeb347a931f7e676fc8ee0b', 'e5ffc53255c20275e2c7d8f0c2ca5201', '31161cecf1fd9804bb66fa4e373733c6', 'cb5f2107815d30a538b30d82df93a1ac', '3a420678fb395a9e71ad6b523e880a27', 'b002c047d235437b8b255173ce73744a'].indexOf(md5(USERID)) != -1) {
+               if (USERID && ['b002a2d15003dad6a1cf694bba258ea2', 'c2480aa0cd99186aac0430f6d24ff40c', '377533fc17cfd34fae337a4c9a5e4d49', 'a078ca1d2d6a98055fa448b8367a8190', 'b85f32cf81e4153975f1e1f55fecfe58', '40ab65332ad92345ab727aadcc623906', '0147135a7dc2d1b65ca0032c97f89c5b', '6c5b9bf8a304f1a3e0b085f974c53592', '4ab4094e54225dccadf42bee9ac212a9', '2887516d877df760641ed9247cc84b65', '06308ee7060101f04a18e41158408730', 'a95ef44112c18876a808b2d7781e63ba', '57b540dc72835f30d402f6abc566677c', '1f75490e12b25ee5839687e0ffe65502', '24363cd421635e8268983f6187def3c8', '3a420678fb395a9e71ad6b523e880a27', 'd7a9db4027cd407b281c84cc626a9f70', '23d69d7ecfeeb940deef6bc69c3aee00', 'ad3553f919b97dbbb19a69966666641e', '46077eeb2467c70ec9332b672d1d7bd1', 'bc8ef81105cfdc4c6b5ff349622dae8a', 'a21ad36f4c3fc35494626d1399cc4be1', '3a2135f78503521e570608c07c3e6386', '8dc11f39765f8fe83603502afcb630a9', 'ac966d33840736554984577a78d37d95', '11abc5dd16709ff201ec00781c39ac3c', '00e957ff53a5b34518087621165498f9', '025e1b15134402df1803de9421dc7819', '125c419ddbad08ee8c53b88801415887', 'ca94af2350690962e97e1ac1fb98fa06', '62e6c5f16e8ccc79c94aa452aa36f5d8', 'cf7e6ddb2fc7c7984d323a81dfca8dfb', 'df6495bacaeb347a931f7e676fc8ee0b', 'e5ffc53255c20275e2c7d8f0c2ca5201', '31161cecf1fd9804bb66fa4e373733c6', 'cb5f2107815d30a538b30d82df93a1ac', '3a420678fb395a9e71ad6b523e880a27', 'b002c047d235437b8b255173ce73744a'].indexOf(md5(USERID)) != -1) {
                        if (globalSettings.allowLoginScreen) {
                                globalSettings.allowLoginScreen = false;
                                saveGlobalSettings();
                        if (globalSettings.allowLoginScreen) {
                                globalSettings.allowLoginScreen = false;
                                saveGlobalSettings();
@@ -9724,7 +10296,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                }
 
                var luckyGuess = -1;
                }
 
                var luckyGuess = -1;
-               if (!CURRENTPONY) {
+               if (!CURRENTPONY && globalSettings.runForNewUsers) {
                        // If we have a "special" name, load the peferred theme for that character if we're in one
                        try {
                                getBronyName();
                        // If we have a "special" name, load the peferred theme for that character if we're in one
                        try {
                                getBronyName();
@@ -9755,8 +10327,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        addClass(d.documentElement, 'ponyhoof_isusingpage');
                }
 
                        addClass(d.documentElement, 'ponyhoof_isusingpage');
                }
 
-               var logo = d.querySelector('#pageLogo > a[href*="/business/dashboard/"]');
-               if (logo) {
+               if (d.querySelector('#pageLogo > a[href*="/business/dashboard/"]')) {
                        ISUSINGBUSINESS = true;
                        addClass(d.documentElement, 'ponyhoof_isusingbusiness');
                }
                        ISUSINGBUSINESS = true;
                        addClass(d.documentElement, 'ponyhoof_isusingbusiness');
                }
@@ -9795,7 +10366,8 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                        saveGlobalSettings();
                }
 
                        saveGlobalSettings();
                }
 
-               if (forceWhiteBackground || hasClass(d.body, 'plugin') || hasClass(d.body, 'transparent_widget')) {
+               if (forceWhiteBackground || hasClass(d.body, 'plugin') || hasClass(d.body, 'transparent_widget') || hasClass(d.body, '_1_vn')) {
+                       ONPLUGINPAGE = true;
                        addClass(d.documentElement, 'ponyhoof_fbplugin');
                        changeThemeSmart(CURRENTPONY);
                } else {
                        addClass(d.documentElement, 'ponyhoof_fbplugin');
                        changeThemeSmart(CURRENTPONY);
                } else {
@@ -9804,7 +10376,7 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                                // Activate screen saver
                                screenSaverActivate();
 
                                // Activate screen saver
                                screenSaverActivate();
 
-                               $$(d.body, '#blueBar .loggedout_menubar > .rfloat, ._50dz > .ptl[style*="#3B5998"] .rfloat > #login_form, ._50dz > div[style*="#3B5998"] td > div[style*="float"] #login_form, .-cx-PRIVATE-regCmsContainer__root > .ptl[style*="#3B5998"] .rfloat > #login_form, .-cx-PRIVATE-regCmsContainer__root > div[style*="#3B5998"] td > div[style*="float"] #login_form', function() {
+                               $$(d.body, '#blueBar .loggedout_menubar > .rfloat, ._50dz > .ptl[style*="#3B5998"] .rfloat > #login_form, ._50dz > div[style*="#3B5998"] td > div[style*="float"] #login_form', function() {
                                        addClass(d.documentElement, 'ponyhoof_fbIndex_topRightLogin');
                                });
                        }
                                        addClass(d.documentElement, 'ponyhoof_fbIndex_topRightLogin');
                                });
                        }
@@ -9839,13 +10411,15 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
                                                changeThemeSmart(CURRENTPONY);
                                        }
 
                                                changeThemeSmart(CURRENTPONY);
                                        }
 
-                                       var dat = convertCodeToData(REALPONY);
-                                       if (dat.fbIndex_swf && !userSettings.disable_animation) {
-                                               addClass(d.documentElement, 'ponyhoof_fbIndex_hasswf');
+                                       if (canPlayFlash()) {
+                                               var dat = convertCodeToData(REALPONY);
+                                               if (dat.fbIndex_swf && !userSettings.disable_animation) {
+                                                       addClass(d.documentElement, 'ponyhoof_fbIndex_hasswf');
 
 
-                                               var swf = d.createElement('div');
-                                               swf.innerHTML = '<object type="application/x-shockwave-flash" id="fbIndex_swf" width="100%" height="100%" data="'+THEMEURL+dat.fbIndex_swf+'"><param name="movie" value="'+THEMEURL+dat.fbIndex_swf+'"><param name="wmode" value="opaque"><param name="menu" value="false"><param name="allowscriptaccess" value="never"></object>';
-                                               d.body.appendChild(swf);
+                                                       var swf = d.createElement('div');
+                                                       swf.innerHTML = '<object type="application/x-shockwave-flash" id="fbIndex_swf" width="100%" height="100%" data="'+THEMEURL+dat.fbIndex_swf+'"><param name="movie" value="'+THEMEURL+dat.fbIndex_swf+'"><param name="wmode" value="opaque"><param name="menu" value="false"><param name="allowscriptaccess" value="never"></object>';
+                                                       d.body.appendChild(swf);
+                                               }
                                        }
                                } else {
                                        changeThemeSmart(CURRENTPONY);
                                        }
                                } else {
                                        changeThemeSmart(CURRENTPONY);
@@ -9863,9 +10437,11 @@ function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-6808
 
                // Record the last user to figure out what theme to load at login screen
                // This is low priority, if all else fails, we would just load the default Equestria 'login' anyway
 
                // Record the last user to figure out what theme to load at login screen
                // This is low priority, if all else fails, we would just load the default Equestria 'login' anyway
-               if (CURRENTPONY != 'NONE' && USERID && globalSettings.lastUserId != USERID) {
-                       globalSettings.lastUserId = USERID;
-                       saveGlobalSettings();
+               if (CURRENTPONY != 'NONE' && userSettings.theme != null) { // Make sure we have a pony set
+                       if (USERID && globalSettings.lastUserId != USERID && globalSettings.allowLoginScreen) {
+                               globalSettings.lastUserId = USERID;
+                               saveGlobalSettings();
+                       }
                }
        }
        
                }
        }