]> git.rmz.io Git - dotfiles.git/commitdiff
update ponyhoof
authorSamir Benmendil <samir.benmendil@gmail.com>
Mon, 21 Oct 2013 09:13:34 +0000 (11:13 +0200)
committerSamir Benmendil <samir.benmendil@gmail.com>
Mon, 21 Oct 2013 09:13:34 +0000 (11:13 +0200)
dwb/greasemonkey/ponyhoof.user.js

index 433d15cf83ca7dc9a095cd85c4adb51aca17613c..be24c83170d44bc050483739845fdcaf969bda9f 100644 (file)
@@ -2,7 +2,7 @@
 // @name        Ponyhoof
 // @namespace   http://www.facebook.com/ponyhoof
 // @run-at      document-start
-// @version     1.651
+// @version     1.701
 // @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
@@ -72,11 +72,14 @@ var userSettings = {};
 
 var USERAGENT = w.navigator.userAgent.toLowerCase();
 var ISOPERABLINK = /OPR\//.test(w.navigator.userAgent);
-var ISOPERA = !ISOPERABLINK && (typeof opera != 'undefined' || /opera/i.test(USERAGENT));
-var ISCHROME = !ISOPERABLINK && (typeof chrome != 'undefined' || /chrome/i.test(USERAGENT));
-var ISFIREFOX = /firefox/i.test(USERAGENT);
-var ISSAFARI = !ISOPERABLINK && !ISCHROME && /safari/i.test(USERAGENT);
+var ISOPERA = !ISOPERABLINK && (typeof opera !== 'undefined' || /opera/.test(USERAGENT));
+var ISMAXTHON = /maxthon/i.test(USERAGENT);
+var ISMSIE = !ISMAXTHON && !ISOPERA && typeof opera === 'undefined' && /trident/.test(USERAGENT);
 var ISMOBILE = /iphone|ipad|ipod|android|blackberry|mini|windows\sce|palm/i.test(USERAGENT);
+var ISCHROME = !ISMAXTHON && !ISOPERABLINK && /chrome/i.test(USERAGENT) && typeof chrome !== 'undefined' && typeof chrome.webstore !== 'undefined' && typeof chrome.webstore.install !== 'undefined' && chrome.webstore.install;
+var ISFIREFOX = /firefox/i.test(USERAGENT);
+var ISSAFARI = !ISOPERABLINK && !ISCHROME && !/chrome/i.test(USERAGENT) && /safari/i.test(USERAGENT);
+var ISAVANT = /avant/i.test(USERAGENT);
 
 // R.I.P. unsafeWindow in Chrome 27+ http://crbug.com/222652
 if (typeof unsafeWindow == 'undefined') {
@@ -546,7 +549,7 @@ var Menu = function(id, p) {
        
        k.injectStyle = function() {
                var css = '';
-               css += 'html .ponyhoof_dialog .ponyhoof_button_menu, .ponyhoof_menuitem_checked {background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAADdCAYAAABNAoDAAAADbElEQVR42u3Xv06aARTG4XN93oYm7eDgakw7OXsD3oBpByevBhRKVVSooIDrKR9TGxOhSRM5n8+T/MKf8C1neUMkAFBeLF5eUpIk1S4W80VKkqTaxXw+T0mSVLuYzeYpSZJqF7PnWUqSpNrF0/NTSpKk2sX0aZqSJKl2MZ0u30iSpHdtZ+90bW89H5PJJCVJ0vu3e3iWRycXr2q+X/dsPD7+SkmStB19/vr9rzFvPm/yXIzH45QkSdvTwfH5asyb102fifFo+UaSJG1VqzH/h9/HaPSQkiSpdvFwf5+SJKl2cXd3l5IkqXYxHA5TkiTVLm5vb1OSJNUurm9uUpIk1S6ur3+mJEmqXQwGg5QkSbWLH/1+SpKk2kW/30tJklS76F31UpIk1S6uLi9TkiTVLrrdbkqSpNpFp9NJSZJUO4MuSZJBlyRJBl2SJBl0SZJk0CVJMuiSJMmgS5Ikgy5Jkgy6JEkGXZIkGXRJkmTQJUmSQZckyaBLkiSDLkmSDLokSTLokiQZdEmSZNAlSZJBlyRJBl2SpPYPOgAAAAAAAAAAAAAAAAAAAAAAAAD/WW7AlQCg+Ki7DgAUH3VXAYDio+4aAFB81F0BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD4cHb2TnNdrgQABewenuXRycWrmu9dBwAK+fTl2+TPMW8+uwoAFHRwfL4a8+bVNQCg+Ki7AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAW29/fz9dAQCKj7lBB4AWjLlBB4BC423MAaAl/8aNOQC0YNCNOQC0aNRdAwCKj7orAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwBq55AoAUHzMDToAtGDMDToAFBpvYw4ALfk3bswBoAWDbswBoEWj7hoAUHzUXQEAAAAAAN7yG6s7d/s7eB9vAAAAAElFTkSuQmCC") !important;background-repeat:no-repeat;-webkit-background-size:500px 221px;-moz-background-size:500px 221px;background-size:500px 221px;}';
+               css += 'html .ponyhoof_dialog .ponyhoof_button_menu, .ponyhoof_menuitem_checked {background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAADdCAMAAAB63HDyAAAAaVBMVEUAAABnfapKZJtjeahofqtsbGxwhK97jrXb29vc3Nze3d3f3t/g4N/h4ODi4uLk5OPk5eXm5ubn5+fo6Ojq6enr6+rs6+zs7Ozu7u3v7+/w8PDw8fDx8vHz8vPz8/T09PT19PX19vb////xKBXBAAAAAnRSTlMA70YmMtEAAAFWSURBVHja7d05UsNQFETRNjIS8zzPeP+LxK7CmA04UZ8T6aV968fKijr5pk6+qJNP6uSDOnmnTt6ok1fq5IXZO9j6vfPM/A3TxrA980SB5br58u/KIw3GadwdeaDC+O8799TJHXVyS53cUCfX1MkVdXJJnVxQJ+fUyRl1ckqdnFAnx9TJEXVEFx3RER3RER3RER3RER3RER3RER3RER3REV10REd05hMdAAAAANij3V/4qKtuiL7qZuirboS+6iYAAAAAAAAAAAAAAAAAAAAAAAAAAACA/TrYMkWRYdoYDFFlsW6+MEOZcRqN0FfdBAAAAAAAAAAAAAAAAAAAAAAAAABzcWiCvuaiFzYXvaq35o2PXPPC6JpXVjdCX3UTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBnZYK+5qIXNhe9qrfmjY9c88LomldWN0JfdRMAzMcPe9ehQpH/3pgAAAAASUVORK5CYII=") !important;background-repeat:no-repeat;-webkit-background-size:500px 221px;-moz-background-size:500px 221px;background-size:500px 221px;}';
                
                css += 'html .ponyhoof_dialog .ponyhoof_button_menu {background-position:right 0;padding-right:23px;}';
                css += 'html .ponyhoof_button_menu:active {background-position:right -98px;}';
@@ -577,7 +580,7 @@ var Menu = function(id, p) {
                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;vertical-align:top;}';
 
-               css += '.ponyhoof_button_clipped .uiButtonText {text-overflow:ellipsis;overflow:hidden;}';
+               css += '.ponyhoof_button_clipped > .uiButtonText {text-overflow:ellipsis;overflow:hidden;vertical-align:top;}';
 
                injectManualStyle(css, 'menu');
        };
@@ -797,7 +800,7 @@ var MenuItem = function(menu) {
 
 // Dialog
 var DIALOGS = {};
-var DIALOGCOUNT = 400;
+var DIALOGCOUNT = 2000;
 var Dialog = function(id) {
        var k = this;
        
@@ -899,7 +902,7 @@ var Dialog = function(id) {
                css += '.ponyhoof_dialog .wrap {background:#fff;color:#000;}';
                css += '.ponyhoof_dialog h3 {background-color:#6D84B4;border:1px solid #3B5998;border-bottom:0;color:#fff;font-size:14px !important;font-weight:bold !important;padding:5px 5px 5px 10px;cursor:help;min-height:17px;font-family:\'lucida grande\',tahoma,verdana,arial,sans-serif !important;line-height:1.28 !important;}';
                css += cx+' .ponyhoof_dialog h3 {background:#f5f6f7;border:0;border-bottom:1px solid #e5e5e5;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;color:#4e5665;line-height:19px !important;padding:10px 12px;text-shadow:0 1px 0 #fff;font-family:\'Helvetica Neue\', Helvetica, Arial, \'lucida grande\',tahoma,verdana,arial,sans-serif !important;}';
-               css += '.ponyhoof_dialog h3:before {background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABDUlEQVQ4y43TzytEURQH8BnDyGKKZIGlHwtTrKZQNmJPWMxO2VopKdkoCzul7PwBkpK17NlYkGz8G7LzsXBe3cbz3tz69s65536/nfe951ZQ6cAkWjn7ucjb3MdjxFWMJLVlrJYJTGAp4l4coBH5A95C+F+BFH14QTPyRawUdVDHcJLX/K52tx70YxuXmMZ6CNxFfQEzZR7UcRvEr/h+4hnv3QhkuPF3bRT9whZOMRB5u4P8gdkwNlfgPA5WMZYQv5N4raiDKcxjEFc4w2EQX3GCC4yXeTCE0eRW4CipX2Ov20GqhPM7yWRmHRUKzOEePTgOgzOBXWyWCTTxFIRWCHb9GrMRbsSN1AK5Z38AQdAu/IfZJw8AAAAASUVORK5CYII=");background-repeat: no-repeat;display:inline-block;float:right;content:" ";width:16px;height:16px;opacity:.713;}';
+               css += '.ponyhoof_dialog h3:before {background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAA90lEQVQYGQXBP0oWAADA0ff9NURBRAVDMBcHl9SpIbCamsOhcOsMObiEICJ2gJYQWhqkscmWTlFeoJbASacIfr4ngaZtAZAGJBLoRV+hDdKjdpJIoJl2oGPopEsSCdAA+tksLfWEREIakcb963ljGpJIoNe9a7eX1beGLbdOIoF01m231U2/um6RRELzpI9V1V2bkEja7qi55npfVf3pbRMSSQddN2ml31XV//YgkTTpWZM+d9xh9aMPfWq3QSKhcQ8a01p/O+hxC522n0gAWqWrnjag750nEqCHXTTbeWs07U3biQRosS9Ne9UIWm6YSABap3kAkntUReU7PxfnpgAAAABJRU5ErkJggg==");background-repeat: no-repeat;display:inline-block;float:right;content:" ";width:16px;height:16px;opacity:.713;}';
                css += cx+' .ponyhoof_dialog h3:before {display:none;}';
                css += '.ponyhoof_dialog .body {border:1px solid #555;border-top-width:0;}';
                css += '.ponyhoof_dialog h3.hidden_elem + .body {border-top-width:1px;}';
@@ -1181,9 +1184,28 @@ var isPageHidden = function() {
 
        return document[prop];
 };
+
+// http://stackoverflow.com/a/2745459
+var isCanvasSupported = function() {
+       return !!w.CanvasRenderingContext2D;
+};
+
+// http://stackoverflow.com/a/10930441
+var isWebPSupported = function(callback) {
+       var webp = new w.Image();
+       try {
+               webp.onload = webp.onerror = function() {
+                       callback(webp.height === 2);
+               };
+               webp.src = 'data:image/webp;base64,UklGRjoAAABXRUJQVlA4IC4AAACyAgCdASoCAAIALmk0mk0iIiIiIgBoSygABc6WWgAA/veff/0PP8bA//LwYAAA';
+       } catch (e) {
+               callback(false);
+       }
+};
+
        // 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.651;
+       var VERSION = 1.701;
        var FRIENDLYNAME = 'P'+'onyh'+'oof';
        var SIG = '['+FRIENDLYNAME+' v'+VERSION+']';
        var DISTRIBUTION = 'userjs';
@@ -1211,23 +1233,24 @@ 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':''
        };
        
-       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 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":"thunderlane","name":"Thunderlane","users":["thunder"],"search":"thunderlane|thunder lane","color":["6eb4b4","3a9696"]},{"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 HTMLCLASS_SETTINGS = ['login_bg', 'disable_animation', 'pinkieproof', 'disable_emoticons'];
        var DEFAULTSETTINGS = {
                'theme':CURRENTPONY,
                'login_bg':false, 'customBg':null, //'allowLoginScreen':true,
                '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,
+               //'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,
                //'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":"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 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","findFriendship":"Find Friendship"},{"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","findFriendship":"Find Prey"},{"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","findFriendship":"Find Friendship"}];
        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 = {
@@ -2069,6 +2092,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;
                                }
                        }
+
+                       if (STORAGEMETHOD === 'chrome' && chrome_isExtUpdated()) {
+                               extUpdatedError("PonySound.play()");
+                               return;
+                       }
                        
                        if (k.wait == 0) {
                                k.continuePlaying();
@@ -3104,8 +3132,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 += '</ul>';
 
                                        c += '<div class="ponyhoof_message uiBoxRed hidden_elem" id="ponyhoof_options_background_error"></div>';
+                                       c += '<div class="ponyhoof_message uiBoxYellow hidden_elem" id="ponyhoof_options_background_message"></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=""></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">';
+                                                       c += 'Drag and drop a pony pic here to customize your background. <a href="#" class="uiHelpLink" data-hover="tooltip" data-tooltip-alignh="center" aria-label=""></a><br><br>';
+                                                       c += '<span class="ponyhoof_menu_label">Or browse for a pony pic: </span>';
+                                                       c += '<div id="ponyhoof_options_background_selectOuterWrap"><a href="#" class="uiButton" role="button" aria-hidden="true" tabindex="-1"><span class="uiButtonText">Browse...</span></a><div id="ponyhoof_options_background_selectFileWrap"><input type="file" id="ponyhoof_options_background_select" accept="image/*" title="Choose a file..."></div></div>';
+                                               c += '</div>';
                                                c += '<div id="ponyhoof_options_background_drop_dropping">Drop here</div>';
                                        c += '</div>';
                                c += '</div>';
@@ -3121,11 +3154,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
                                        }
 
                                        c += '<div class="available">';
-                                               c += '<div class="ponyhoof_message uiBoxYellow notPage">Sounds are experimental, they might derp from time to time.</div>';
-                                               c += '<div class="ponyhoof_message uiBoxRed usingPage">Notification sounds are not available when you are using Facebook as your page.</div><br>';
+                                               c += '<div class="ponyhoof_message uiBoxRed usingPage">Notification sounds are not available when you are using Facebook as your page.</div>';
                                                c += k.generateCheckbox('sounds', soundsText, {customFunc:k.soundsClicked});
-                                               c += '<div class="notPage notBusiness"><br>';
-                                                       c += '<div id="ponyhoof_options_soundsSettingsWrap">';
+                                               c += '<div class="notPage notBusiness">';
+                                                       c += '<div id="ponyhoof_options_soundsSettingsWrap"><br>';
                                                                c += '<div id="ponyhoof_options_soundsSetting" class="ponyhoof_menu_withlabel"><span class="ponyhoof_menu_label">Notification sound: </span></div>';
                                                                c += '<div id="ponyhoof_options_soundsNotifType" class="ponyhoof_menu_withlabel ponyhoof_menu_labelbreak"><span class="ponyhoof_menu_label">Don\'t play sounds for these types of notifications:</span></div>';
                                                                c += '<span class="ponyhoof_menu_label">Volume: </span><input type="range" id="ponyhoof_options_soundsVolume" min="1" max="100"> <a href="#" class="uiButton" role="button" id="ponyhoof_options_soundsVolumePreview"><span class="uiButtonText">Preview</span></a><span class="ponyhoof_menu_label" id="ponyhoof_options_soundsVolumeValue"></span>';
@@ -3153,7 +3185,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
 
                        c += '<div class="ponyhoof_tabs_section" id="ponyhoof_options_tabs_extras">';
                                c += '<div class="ponyhoof_show_if_injected">';
-                                       c += k.generateCheckbox('show_messages_other', "Always show Other messages", {tip:"Facebook sends messages that aren't from your friends or mutual friends to the Other messages section. Ponyhoof can expand the Messages section to always show the Other section so you won't miss a message.<br><br><"+"img src='"+THEMEURL+"_help/other_messages.png' alt='' width='190' height='142' class='ponyhoof_image_shadow'>", 'extraClass':'notBusiness'});
                                        c += k.generateCheckbox('pinkieproof', "Strengthen the fourth wall", {title:"Prevents Pinkie Pie from breaking the fourth wall for non-villains"});
                                c += '</div>';
                                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});
@@ -3173,7 +3204,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
                                        c += '<span class="ponyhoof_dialog_header">Performance</span>';
                                        c += k.generateCheckbox('disable_animation', "Disable all animations");
                                        c += k.generateCheckbox('disableDomNodeInserted', "Disable HTML detection", {title:"Disables Ponyhoof from ponifying certain stuff that is not possible to do with styling alone such as notifications and dialogs (Some features require this to be enabled)", customFunc:k.disableDomNodeInsertedClicked});
-                                       c += '<br>';
                                c += '</div>';
                                
                                c += '<a href="#" class="ponyhoof_options_fatlink" id="ponyhoof_options_resetSettings" data-hover="tooltip" aria-label="Reset your Ponyhoof settings and show the welcome screen">Reset settings</a>';
@@ -3681,21 +3711,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
                                return;
                        }
 
-                       var litestand = false;
-                       if (d.getElementsByClassName('_4g5r').length || d.getElementsByClassName('-cx-PUBLIC-hasLitestandBookmarksSidebar__root').length) {
-                               litestand = true;
-                       }
-                       if (litestand) {
-                               var option = $('ponyhoof_options_show_messages_other');
-                               option.disabled = true;
-                               option.checked = false;
-
-                               var label = $('ponyhoof_options_label_show_messages_other');
-                               addClass(label, 'ponyhoof_options_unavailable');
-                               label.setAttribute('data-hover', 'tooltip');
-                               label.setAttribute('aria-label', "This option is not available on the new Facebook news feed");
-                       }
-
                        k.randomInit();
                        k.costumesInit();
 
@@ -4430,18 +4445,21 @@ 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.bgError = null;
+               k.bgMessage = null;
                k.bgTab = null;
                k.bgDrop = null;
                k.bgClearCustomBg = false;
                k.bgInitLoaded = false;
                k.bgSizeLimit = 1024 * 1024;
                k.bgSizeLimitDescription = '1 MB';
+               k._isWebPSupported = false;
                k.bgInit = function() {
                        if (k.bgInitLoaded) {
                                return;
                        }
 
                        k.bgError = $('ponyhoof_options_background_error');
+                       k.bgMessage = $('ponyhoof_options_background_message');
                        k.bgTab = $('ponyhoof_options_tabs_background');
                        k.bgDrop = $('ponyhoof_options_background_drop');
 
@@ -4499,10 +4517,24 @@ 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);
 
-                       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.');
-                       }
+                       isWebPSupported(function(result) {
+                               k._isWebPSupported = result;
+
+                               var desc = 'Maximum file size is '+k.bgSizeLimitDescription+'.\n\nFor best results, the resolution of your pony pic should be '+w.screen.width+'x'+w.screen.height+' to fill the entire screen.';
+                               if (isCanvasSupported()) {
+                                       var filetype = 'JPEG';
+                                       if (k._isWebPSupported) {
+                                               filetype = 'JPEG/WebP';
+                                       }
+
+                                       desc = 'If the file size of your pony pic is too big, we will attempt to automatically convert to '+filetype+' and resize it.\n\nFor best results, the resolution of your pony pic should be '+w.screen.width+'x'+w.screen.height+' to fill the entire screen.';
+                               }
+
+                               var uiHelpLink = k.bgDrop.getElementsByClassName('uiHelpLink');
+                               if (uiHelpLink.length) {
+                                       uiHelpLink[0].setAttribute('aria-label', desc);
+                               }
+                       });
 
                        k.bgDropInit();
 
@@ -4511,7 +4543,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.bgDropInit = function() {
                        if (typeof w.FileReader == 'undefined') {
-                               k.bgError.textContent = "Custom background images are not supported on your browser. Please update your browser if possible.";
+                               k.bgError.textContent = "Custom background pony pics are not supported on your browser. Please update your browser if possible.";
                                removeClass(k.bgError, 'hidden_elem');
                                addClass(k.bgDrop, 'hidden_elem');
                                return;
@@ -4545,53 +4577,134 @@ 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);
                }
 
+               k.bgReaderFile = null;
+               k.bgReaderBg = null;
                k.bgProcessFile = function(file) {
+                       k.bgReaderFile = file;
+                       addClass(k.bgError, 'hidden_elem');
+                       addClass(k.bgMessage, 'hidden_elem');
+
                        if (!file.type.match(/image.*/)) {
                                if (file.type) {
-                                       k.bgError.textContent = "The file ("+file.name+") doesn't seem to be an image ("+file.type+").";
+                                       k.bgError.textContent = "The file ("+file.name+") doesn't seem to be a pony pic ("+file.type+").";
                                } else {
-                                       k.bgError.textContent = "The file ("+file.name+") doesn't seem to be an image.";
+                                       k.bgError.textContent = "The file ("+file.name+") doesn't seem to be a pony pic.";
                                }
                                removeClass(k.bgError, 'hidden_elem');
                                return;
                        }
 
-                       if (file.size > k.bgSizeLimit) {
-                               if (file.type && file.type != 'image/jpeg') {
-                                       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.";
+                       var reader = new w.FileReader();
+                       reader.onload = k.bgReaderLoad;
+                       reader.onerror = k.bgReaderError;
+                       reader.readAsDataURL(file);
+               };
+
+               k.bgReaderLoad = function(e) {
+                       k.bgReaderBg = e.target.result;
+                       if (e.target.result.length > k.bgSizeLimit) {
+                               // base64 result is too big to fit, convertion required
+                               if (isCanvasSupported()) {
+                                       k.bgPerformConvertion();
                                } else {
-                                       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.";
+                                       k.bgErrorTooBig();
                                }
-                               removeClass(k.bgError, 'hidden_elem');
-                               return;
+                       } else {
+                               k.bgChangeSuccess();
                        }
+               };
 
-                       var reader = new w.FileReader();
-                       reader.onload = function(e) {
-                               addClass(k.bgError, 'hidden_elem');
-                               addClass(k.bgTab, 'hasCustom');
+               k.bgReaderError = function(e) {
+                       k.bgError.textContent = "An error occurred reading the file. Please try again.";
+                       removeClass(k.bgError, 'hidden_elem');
+                       dir(e);
+               };
 
-                               $$(k.bgTab, '.ponyhoof_options_fatradio a', function(ele2) {
-                                       removeClass(ele2.parentNode, 'active');
-                               });
-                               addClass($('ponyhoof_options_background_custom'), 'active');
-                               k.bgClearCustomBg = false;
+               k.bgErrorTooBig = function() {
+                       if (k.bgReaderFile.type && k.bgReaderFile.type != 'image/jpeg' && !isCanvasSupported()) {
+                               k.bgError.textContent = "Sorry, the file size of your pony pic is too big (over "+k.bgSizeLimitDescription+") and may not save properly. Try saving your pony pic as a JPEG, resize your pony pic, or use a different pony pic.";
+                       } else {
+                               k.bgError.textContent = "Sorry, the file size of your pony pic is too big (over "+k.bgSizeLimitDescription+") and may not save properly. Try resizing your pony pic or use a different pony pic.";
+                       }
+                       removeClass(k.bgError, 'hidden_elem');
+               };
 
-                               userSettings.login_bg = false;
-                               userSettings.customBg = e.target.result;
-                               saveSettings();
+               k.bgChangeSuccess = function() {
+                       addClass(k.bgError, 'hidden_elem');
+                       addClass(k.bgTab, 'hasCustom');
 
-                               k.needToSaveLabel = true;
-                               k.updateCloseButton();
+                       $$(k.bgTab, '.ponyhoof_options_fatradio a', function(ele) {
+                               removeClass(ele.parentNode, 'active');
+                       });
+                       addClass($('ponyhoof_options_background_custom'), 'active');
+                       k.bgClearCustomBg = false;
 
-                               changeCustomBg(e.target.result);
-                       };
-                       reader.onerror = function(e) {
-                               k.bgError.textContent = "An error occurred reading the file. Please try again.";
-                               dir(e);
-                               removeClass(k.bgError, 'hidden_elem');
-                       };
-                       reader.readAsDataURL(file);
+                       userSettings.login_bg = false;
+                       userSettings.customBg = k.bgReaderBg;
+                       saveSettings();
+
+                       k.needToSaveLabel = true;
+                       k.updateCloseButton();
+
+                       changeCustomBg(k.bgReaderBg);
+               };
+
+               k.bgPerformConvertion = function() {
+                       var img = new w.Image();
+                       try {
+                               img.onload = function() {
+                                       // First try converting to JPEG/WebP
+                                       if (k.bgReaderFile.type != 'image/jpeg' || (k._isWebPSupported && k.bgReaderFile.type != 'image/webp')) {
+                                               var transformed = k.bgCanvasTransform(img, img.width, img.height);
+                                               if (transformed.length <= k.bgSizeLimit) {
+                                                       k.bgReaderBg = transformed;
+                                                       k.bgChangeSuccess();
+
+                                                       img = null;
+                                                       transformed = null;
+                                                       return;
+                                               }
+                                               transformed = null;
+                                       }
+
+                                       // Now try resizing to screen resolution
+                                       var transformed = k.bgCanvasTransform(img, Math.min(w.screen.width, img.width), Math.min(w.screen.height, img.height));
+                                       if (transformed.length <= k.bgSizeLimit) {
+                                               k.bgMessage.textContent = "Automatically resized to screen resolution. For best results, we recommend using an image editor and resize/crop your pony pic.";
+                                               removeClass(k.bgMessage, 'hidden_elem');
+
+                                               k.bgReaderBg = transformed;
+                                               k.bgChangeSuccess();
+
+                                               img = null;
+                                               transformed = null;
+                                               return;
+                                       }
+                                       img = null;
+                                       transformed = null;
+
+                                       // Fail :(
+                                       k.bgErrorTooBig();
+                               };
+                               img.src = k.bgReaderBg;
+                       } catch (e) {
+                               k.bgErrorTooBig();
+                       }
+               };
+
+               k.bgCanvasTransform = function(img, width, height) {
+                       var canvas = d.createElement('canvas');
+                       canvas.width = width;
+                       canvas.height = height;
+                       var ctx = canvas.getContext('2d');
+                       ctx.drawImage(img, 0, 0, width, height);
+
+                       var type = 'image/jpeg';
+                       if (k._isWebPSupported) {
+                               type = 'image/webp';
+                       }
+
+                       return canvas.toDataURL(type);
                };
 
                k.disableDomNodeInserted = function() {
@@ -4946,7 +5059,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_dialog_options.ponyhoof_options_debugExposed .ponyhoof_tabs > a[data-ponyhoof-tab="advanced"] {display:block;}';
 
                        // 214px
-                       css += '.ponyhoof_options_fatradio {margin:8px 0;}';
+                       css += '.ponyhoof_options_fatradio {margin:10px 0;}';
                        css += '.ponyhoof_options_fatradio li {width:222px;float:left;margin-left:12px;}';
                                css += '#ponyhoof_options_tabs_background.hasCustom .ponyhoof_options_fatradio li {width:144px;}';
                        css += '.ponyhoof_options_fatradio li:first-child {margin:0;}';
@@ -4962,25 +5075,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
                                css += '#ponyhoof_options_tabs_background.hasCustom #ponyhoof_options_background_cutie .wrap i {width:128px;height:128px;}';
                        css += '#ponyhoof_options_background_custom {display:none;}';
                                css += '#ponyhoof_options_tabs_background.hasCustom #ponyhoof_options_background_custom {display:block;}';
-                       css += '#ponyhoof_options_background_custom .wrap i {background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAABiElEQVRIx82WMWrDQBBFhQtXJoWr4DP4AD6ACxGCEEj/CVwZFyFHCCkCOYJJkfMYFzmBi1SpjAvjwpUwKZwiDihiV7uOJJOBrVYzbzUz+2eD4AwDYmCXZdkxy7IjsAPioC0rworQWkElPQAHYCMpLO6VYT+r5I+kBfAiqeeCPZVOnxehLqCkWcl/aYVKmpqCATlwA8Q2IBBLurfsLSV1TfWZ2wLWXcDYBBwBeUvAoS2tYdNQSTNX44TA50VgJ2AX2DaQxq2xWQzASUWQtSSiKBpEUTSQBLCu+MOJU64qYO+S+oYD9oGVh/+3DPrATqdNqzTWM827wLcmYRheVZSh5xvn8kDflFaNobNSKikF9h4fr2o2zd7YBx7XIpV0fVrp2dfCALxrStaSJLl1waYNi3ZeHuLFwg9bmhQ5MDIBxy3Ow7lRtCW9WRw+fKQPOFiaZ2q9wMDSMGI6klKH7HVM8xR4djVOD3iVtJDEH15tIbABDpIeaz0hfYAF6/zPh7Aj3b9k0CpXFfYF15zYxmWum1cAAAAASUVORK5CYII=") no-repeat center center;}';
+                       css += '#ponyhoof_options_background_custom .wrap i {background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAABh0lEQVRIx82WP2oCURDGFwsrSWEVPIMH8AAWSwiL4H6/BSuxCDlCSBHIESRFziMWOYFFqlRiIRZWi6QwRQxslvfP7K5k4FVvZ35vZ+Z986LoDANGwC7LsmOWZUdgB4yipqwIK0IrBZX0AByAjaS4uFeG/aySP5IWwIukjg/2VDp9XoT6gJJmJf+lFSppagoG5MANMLIBgZGke8veUlLbVJ+5LWDVBQxNwAGQNwTs29Ia1w2VNPM1Tgx8XgR2AraBbQ1p3BqbxQCcOIKsJZEkSS9Jkp4kgLXjDydeuXLA3iV1DQfsAqsA/28ZDIGdTpu6NDYwzbsotCZxHF85ytAJjXN5YGhKXWPorJRKSoF9wMerik2zN/ZBwLVIJV2fVnr2tTAA7+qStfF4fOuDTWsW7bw8xIuF7zc0KXJgYAIOG5yHc6NoS3qzOHyESB9wsDTP1HqBgaVhxLQkpR7Za5nmKfDsa5wO8CppIYk/vNpiYAMcJD1WekKGAAvW+p8PYU+6f8mgVa4c9gXXnNjGKCXX6gAAAABJRU5ErkJggg==") no-repeat center center;}';
 
-                       css += '#ponyhoof_options_background_error {margin-bottom:10px;}';
+                       css += '#ponyhoof_options_background_error, #ponyhoof_options_background_message {margin-bottom:10px;}';
                        css += '#ponyhoof_options_background_drop {background:#fff;border:2px dashed #75a3f5;padding:8px;position:relative;}'; //margin-bottom:8px;
                        css += '#ponyhoof_options_background_drop_dropping {background:#fff;background:rgba(255,255,255,.95);border:2px dashed #75a3f5;color:#75a3f5;position:absolute;top:-2px;left:-2px;width:100%;height:100%;font-size:16px;line-height:64px;text-align:center;font-weight:bold;display:none;}';
                        css += '#ponyhoof_options_background_drop.ponyhoof_dropping #ponyhoof_options_background_drop_dropping {display:block;}';
+                       css += '#ponyhoof_options_background_selectOuterWrap {position:relative;display:inline-block;top:-3px;}';
+                       css += '#ponyhoof_options_background_selectFileWrap {position:absolute;width:100%;height:100%;top:0;left:0;overflow:hidden;}';
+                       css += '#ponyhoof_options_background_select {font-size:1000px !important;opacity:0;padding:0;margin:0;position:absolute;bottom:0;right:0;cursor:pointer;}';
 
                        css += '#ponyhoof_options_tabs_main .ponyhoof_message {margin-top:10px;}';
                        css += '#ponyhoof_browserponies .ponyhoof_loading {display:none;margin-top:0;vertical-align:text-bottom;}';
                        css += '#ponyhoof_browserponies.ponyhoof_browserponies_loading .ponyhoof_loading {display:inline-block;}';
                        css += '#ponyhoof_options_randomPonies .ponyhoof_loading {display:none !important;}';
                        css += '#ponyhoof_options_randomPonies .ponyhoof_menuitem_checked {display:block;}';
-                       //css += '#ponyhoof_options_tabs_sounds .ponyhoof_message.unavailable {margin-bottom:10px;}';
+                       css += '#ponyhoof_options_tabs_sounds .ponyhoof_message.unavailable {margin-bottom:10px;}';
                        css += '#ponyhoof_options_soundsSettingsWrap {margin-top:-14px;}';
                        css += '#ponyhoof_options_soundsVolume {vertical-align:middle;width:50px;}';
                        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, #ponyhoof_options_soundsMessengerForWindowsWarning {margin-bottom:10px;}';
+                       css += '#ponyhoof_options_soundsChatSetting {margin: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;}';
@@ -5044,8 +5161,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_kc_share').addEventListener('click', function() {
-                                       var width = 657;
-                                       var height = 412;
+                                       var width = 626;
+                                       var height = 436;
                                        w.open('//'+getFbDomain()+'/sharer/sharer.php?u=http://www.youtube.com/watch?v=zR7V_bCyZe0', 'ponyhoof_kc_sharer', 'left='+((screen.width-width)/2)+',top='+(((screen.height-height)/2)-50)+',width='+width+',height='+height);
                                        return false;
                                }, false);
@@ -5209,10 +5326,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
                                
                                userSettings.theme = CURRENTPONY;
                                userSettings.chatSound1401 = true;
-                               // Detect Social Fixer
-                               if ($('bfb_options_button')) {
-                                       userSettings.show_messages_other = false;
-                               }
                                saveSettings();
 
                                globalSettings.lastVersion = VERSION;
@@ -5271,7 +5384,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 (!ISUSINGBUSINESS) {
                                c += '<span class="ponyhoof_brohoof_button">'+capitaliseFirstLetter(CURRENTSTACK['like'])+'</span> us to receive news and help for Ponyhoof!';
-                               c += '<iframe src="about:blank" id="ponyhoof_welcome_like" scrolling="no" frameborder="0" allowTransparency="true"></iframe>';
+                               c += '<div id="ponyhoof_welcome_likeWrap"><iframe src="about:blank" id="ponyhoof_welcome_like" scrolling="no" frameborder="0" allowTransparency="true"></iframe></div>';
                                c += 'Got somepony else that you want to suggest? Want to leave some feedback? <a href="'+w.location.protocol+PONYHOOF_URL+'" target="_top" id="ponyhoof_welcome_posttowall">Let us know at our page!</a>';
                        } else {
                                c += '<a href="'+w.location.protocol+PONYHOOF_URL+'" target="_top" id="ponyhoof_welcome_posttowall">Visit our Ponyhoof page for the latest news!</a>';
@@ -5372,7 +5485,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
                        css += '#ponyhoof_dialog_welcome_pinkie .generic_dialog_popup, #ponyhoof_dialog_welcome_pinkie .popup {width:720px;}';
                        css += '#ponyhoof_dialog_welcome_pinkie .content {line-height:0;padding:0;}';
                        
-                       css += '#ponyhoof_welcome_like {border:none;overflow:hidden;width:292px;height:62px;margin:8px 0;display:block;}';
+                       css += '#ponyhoof_welcome_likeWrap {margin:8px 0;}';
+                       css += '#ponyhoof_welcome_like {border:none;overflow:hidden;width:292px;height:62px;margin:0;}';
                        
                        injectManualStyle(css, 'welcome');
                };
@@ -5408,6 +5522,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
                var favicon = getFaviconTag();
                
                if (favicon) {
+                       // Don't change the favicon on apps.facebook.com
+                       if (w.location.hostname.indexOf('apps.') === 0) {
+                               if (favicon.href.indexOf('.ico') !== favicon.href.length-('.ico'.length)) {
+                                       return;
+                               }
+                       }
+
                        var newIcon = favicon.cloneNode(true);
                } else {
                        var newIcon = d.createElement('link');
@@ -5425,7 +5546,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
                        }
                } else {
                        newIcon.type = 'image/x-icon';
-                       newIcon.href = '//fbstatic-a.akamaihd.net/rsrc.php/y9/r/FXHC9IQ-JIj.ico';
+                       newIcon.href = '//fbstatic-a.akamaihd.net/rsrc.php/yl/r/H3nktOa7ZMg.ico';
                }
 
                if (favicon) {
@@ -5604,7 +5725,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 (!$('ponyhoof_style_custombg')) {
                        injectManualStyle('', 'custombg');
                }
-               $('ponyhoof_style_custombg').textContent = '/* '+SIG+' */html,.fbIndex{background-position:center center !important;background-image:url("'+base64+'") !important;}';
+               $('ponyhoof_style_custombg').textContent = '/* '+SIG+' */html,.fbIndex{background-position:center center !important;background-image:url("'+base64+'") !important;background-repeat:no-repeat;}';
        }
 
        var changeCostume = function(costume) {
@@ -5789,7 +5910,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
                        if (hasClass(textbox, 'DOMControl_placeholder')) {
                                textbox.value = placeholders[i];
                        }
-               }
+
+                                       }
 
                /*try {
                        if (typeof USW.requireLazy == 'function') {
@@ -5966,6 +6088,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
                        ,["Messages", "Trough"]
                        ,["New Message", "Write a Friendship Report"]
                        ,["Other Messages", "Other Friendship Reports"]
+                       ,["Stay on Message", "Stay on Friendship Report"]
                        
                        ,["Share Photo", "Share Pony Pic"]
                        ,["Share Application", "Share Magic"]
@@ -6010,9 +6133,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
                        ,["Activity Log", "Adventure Log"]
 
                        ,["Invite More Friends", "Invite More Pals"]
-                       ,["Find Friends", "Find Friendship"]
-                       ,["Pages I Like", "Pages I "+capitaliseFirstLetter(CURRENTSTACK['like_past'])]
-                       ,["Find My Friends", "Find Friendship"]
+                       ,["Find Friends", CURRENTSTACK['findFriendship']]
+                       //,["Pages I Like", "Pages I "+capitaliseFirstLetter(CURRENTSTACK['like_past'])]
+                       ,["Find My Friends", CURRENTSTACK['findFriendship']]
                        
                        ,["Leave Group", "Leave Herd"]
                        ,["Set Up Group Address", "Set Up Herd Address"]
@@ -6071,7 +6194,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
                        //,["Add Friends to List", "Add "+capitaliseFirstLetter(CURRENTSTACK['friends'])+" to Directory"]
                        ,["Add Friends to List", "Add "+capitaliseFirstLetter(CURRENTSTACK['friends'])+" to List"]
 
-                       ,["Pages I like", "Pages I "+capitaliseFirstLetter(CURRENTSTACK.like)]
+                       ,[/^Pages I Like$/, "Pages I "+capitaliseFirstLetter(CURRENTSTACK['like_past'])]
+                       ,[/^Pages I like$/, "Pages I "+CURRENTSTACK['like_past']]
                        ,["My Friends", "My "+capitaliseFirstLetter(CURRENTSTACK.friends)]
                        ,["Tell Friends", "Tell "+capitaliseFirstLetter(CURRENTSTACK.friends)]
 
@@ -6097,10 +6221,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
                        ,["Friends to Invite", capitaliseFirstLetter(CURRENTSTACK['friends'])+" to Invite"] // app invite
                        ,["Inbox", "Trough"] // page inbox
                        ,["Save Profile Info", "Save Journal Info"] // welcome
+                       ,["Like Pages", capitaliseFirstLetter(CURRENTSTACK['like'])+" Pages"] // litestand Following
+                       ,["Visit App Center", "Visit Magic Center"] // litestand Games
+                       ,["Go to App Center", "Go to Magic Center"] // no https on app
 
                        // graph search
                        ,["Likers", "Brohoofers"] // @todo likers
-                       ,["Liked by", CURRENTSTACK['liked']+" by"] // @todo likers
+                       ,["Liked by", capitaliseFirstLetter(CURRENTSTACK['liked'])+" by"] // @todo likers
 
                        ,["Create New App", "Create New Magic"]
                        ,["Submit App Detail Page", "Submit Magic Detail Page"]
@@ -6163,7 +6290,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
                        ,["Delete Video?", "Nuke Video?"]
                        ,["Delete Milestone", "Nuke Milestone"]
                        ,["Delete Page?", "Nuke Page?"]
-                       ,["Delete this Message?", "Nuke this Friendship Report?"]
+                       ,["Delete This Message?", "Nuke This Friendship Report?"]
                        ,["Delete This Entire Conversation?", "Nuke This Entire Conversation?"]
                        ,["Delete These Messages?", "Nuke These Friendship Reports?"]
                        ,["Delete Post", "Nuke Post"]
@@ -6187,6 +6314,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
                        ,["Delete Video", "Nuke Video"]
                        ,["Delete Event", "Nuke Adventure"] // for group admin
                        ,["Remove Profile Picture", "Nuke Journal Pony Pic"]
+                       ,["Delete Photo?", "Nuke Pony Pic?"]
 
                        ,["Report and/or Block This Person", "Whine and/or Block This "+capitaliseFirstLetter(CURRENTSTACK['person'])] // 0
                        ,["Report This Photo", "Whine About This Pony Pic"]
@@ -6245,6 +6373,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
                        ,["People in this message", capitaliseFirstLetter(CURRENTSTACK['people'])+" in this friendship report"]
                        ,["Message Sent", "Friendship Report Sent"]
                        ,["Message Filtering Preferences", "Friendship Report Filtering Preferences"]
+                       ,["Don't Send Message?", "Don't Send Friendship Report?"] // webmessenger
                        
                        ,["Create New Group", "Create New Herd"]
                        ,[/Create New Event/, "Plan an Adventure"]
@@ -6305,6 +6434,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
                        ,["Access Log", "Adventure Log"]
                        ,["Post to Your Wall", "Post to Your Journal"]
                        ,["About Adding Comments by Email", "About Adding Friendship Letters by Email"]
+                       ,["Find Your Friends", CURRENTSTACK['findFriendship']]
+                       ,["Upload a profile picture", "Upload a journal pony pic"]
+                       ,["Photo Upload Failed", "Pony Pic Upload Failed"] // chat photo upload
 
                        ,["Take a Profile Picture", "Take a Journal Pony Pic"]
                        ,["Choosing Your Cover Photo", "Choosing Your Cover Pony Pic"]
@@ -6342,6 +6474,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
                                ,["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"]
+                               ,["Guests of this event will see the comment you write below.", "Guests of this adventure will see the friendship letter you write below."]
                        ,[/\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']]
@@ -6357,7 +6490,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
                                ,["Anyone can see this Everypony comment", "Everypony can see this public friendship letter"]
                                //,["Remember: all place ratings are Everypony.", "Remember: everypony can see all place ratings."]
                                ,["Everypony can see posts on this Everypony page.", "Everypony can see posts on this public page."]
-                               ,["Name, profile picture, age range, gender, language, country and other public info", "Name, profile picture, age range, gender, language, country and other public info"]
+                               ,["Name, profile picture, age range, gender, language, country and other public info", "Name, journal pony pic, age range, gender, language, country and other public info"]
                                //,["Name, profile picture, age range, gender, language, country and other Everypony info", "Name, profile picture, age range, gender, language, country and other public info"]
                                ,["This will hide you from Everypony attribution", "This will hide you from public attribution"]
                        ,["Remember: all place ratings are public.", "Remember: everypony can see all place ratings."]
@@ -6367,6 +6500,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
                        ,["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)
+                       ,["The number of people who have checked in to places you've helped recently", "The number of "+CURRENTSTACK['people']+" who have checked in to places you've helped recently"]
+                       ,["People you block can still see and comment on stuff you share in groups, apps and other shared places.", capitaliseFirstLetter(CURRENTSTACK['people'])+" you block can still see and comment on stuff you share in herds, magic and other shared places."]
                        
                        ,["Show comments", "Show friendship letters"]
                        ,["Comment deleted", "Friendship letter nuked"]
@@ -6386,6 +6521,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
                        ,["Delete", "Nuke"]
                        ,["Delete and Ban", "Nuke and Banish"]
                        ,["Report Place", "Whine About Place"]
+                       ,["Delete Album", "Nuke Album"]
 
                        ,["Shown on Timeline", "Shown on Journal"]
                        ,["Allow on Timeline", "Allow on Journal"]
@@ -6439,6 +6575,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
                        ,["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
+                       ,["Help Facebook gather feedback about News Feed. Your input is private and won't be shared.", "Help Facebook gather feedback about Feed Bag. Your input is private and won't be shared."]
+                       ,["Like", capitaliseFirstLetter(CURRENTSTACK['like'])]
 
                        // developers
                        ,["Enable the newsfeed ticker", "Enable the feedbag ticker"]
@@ -6453,6 +6591,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
                        ,["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."]
+                       ,["The number of photos that have this Page tagged.", "The number of pony pics that have this Page tagged."]
+                       ,["The week when the most people checked in at this Page's location.", "The week when the most "+CURRENTSTACK['people']+" checked in at this Page's location."]
                ];
                if (ponyData.loadingText) {
                        tooltipTitles.push(["Loading...", ponyData.loadingText]);
@@ -6466,7 +6606,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
                        ,["People To Follow", capitaliseFirstLetter(CURRENTSTACK.people)+" To Follow"]
                        ,["Poke Suggestions", "Nuzzle Suggestions"]
                        ,["Suggested Groups", "Suggested Herds"]
-                       ,["Find More Friends", "Find Friendship"]
+                       ,["Find More Friends", CURRENTSTACK['findFriendship']]
                        ,["Rate Recently Used Apps", "Rate Recently Used Magic"]
                        ,["Friends' Photos", "Pals' Pony Pics"]
                        ,["Add a Location to Your Photos", "Add a Location to Your Pony Pics"]
@@ -6475,12 +6615,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
                        ,["Entertainment Pages You Might Like", "Entertainment Pages You Might "+capitaliseFirstLetter(CURRENTSTACK.like)]
                        ,["Music Pages You Might Like", "Music Pages You Might "+capitaliseFirstLetter(CURRENTSTACK.like)]
                        ,["Add Personal Contacts as Friends", "Add Personal Contacts as "+capitaliseFirstLetter(CURRENTSTACK.friends)]
-                       ,["Find Friends", "Find Friendship"]
+                       ,["Find Friends", CURRENTSTACK['findFriendship']]
                        //,[/On This List/, "On This Directory"]
                        //,["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'])]
+                       ,["Music Pages You May Like", "Music Pages You May "+capitaliseFirstLetter(CURRENTSTACK['like'])]
+                       ,["No New Friend Requests", "No New Friendship Requests"] // /friends/requests/
+                       ,["Games Your Friends Are Playing", "Games Your "+capitaliseFirstLetter(CURRENTSTACK['friends'])+" Are Playing"]
+                       ,["Promote This Event", "Promote This Adventure"]
+                       ,["Respond to Your Friend Request", "Respond to Your Friendship Request"] // /friends/requests/
+                       ,[/^Respond to Your ([0-9]+?) Friend Requests$/, "Respond to Your $1 Friendship Requests"] // /friends/requests/
+                       ,["Add People You Know", "Add "+capitaliseFirstLetter(CURRENTSTACK['people'])+" You Know"]
 
                        ,["Notifications", "Sparks"]
                        ,["New Likes", "New "+capitaliseFirstLetter(CURRENTSTACK['likes'])]
@@ -6601,7 +6748,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
                        ,["See Banned Users...", "See Ponies who were Banished to the Moon..."]
                        ,["Invite Friends...", "Invite "+capitaliseFirstLetter(CURRENTSTACK['friends'])+"..."]
                        ,["Like As Your Page...", capitaliseFirstLetter(CURRENTSTACK.like)+" As Your Page..."]
-                       ,["Add App to Page", "Add Magic to App"]
+                       ,["Add App to Page", "Add Magic to Page"]
                        ,["Change Primary Photo", "Change Primary Pony Pic"]
                        ,["Change Date", "Time Travel"]
 
@@ -6796,6 +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
                        ,["All Notifications", "All Sparks"]
                        ,["Search All Friends", "Search All "+capitaliseFirstLetter(CURRENTSTACK.friends)]
                        ,["All Apps", "All Magic"]
+                       ,["Pages my friends like", "Pages my "+CURRENTSTACK['friends']+" "+CURRENTSTACK['like']]
 
                        ,["Page Likes", "Page "+capitaliseFirstLetter(CURRENTSTACK.likes)]
                        ,["Mentions and Photo Tags", "Mentions and Pony Pic Tags"]
@@ -6907,6 +7055,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
                        ,"An error occurred."
                        ,"Image Resource Invalid"
                        ,"Confirmation Required"
+                       ,"Error Uploading Video"
+                       ,"Upload Failed"
+                       ,"Photo Upload Failed"
+                       ,"Sticker Failed"
                ];
 
                headerInsightsTitles = [
@@ -6933,6 +7085,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
 
                        ,["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."]
+
+                       ,["You must select some messages to delete. Click on a message to select it.", "You must select some friendship reports to nuke. Click on a friendship report to select it."]
+                       ,["You have not uploaded a picture.", "You have not uploaded a pony pic."]
+                       ,["Please try again. Make sure you are uploading a valid photo.", "Please try again. Make sure you are uploading a valid pony pic."]
+                       ,["There was a problem uploading the image file.", "There was a problem uploading the pony pic file."]
+                       ,["If you leave this page, your message won't be sent.", "If you leave this page, your friendship report won't be sent."]
                ];
        }
        
@@ -7036,15 +7194,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
                        injectOptionsLink();
                        
                        k.snowliftPinkie(dom);
-                       k.notificationsFlyoutSettings(dom);
+                       k.notificationsFlyoutSettings();
+                       k.findFriendsNav();
                        
                        // .ufb-button-input => mutateAttributes
-                       domReplaceFunc(dom.target, '', '.uiButtonText, .uiButton input, ._42ft, .-cx-PRIVATE-abstractButton__root, ._42fu, .-cx-PRIVATE-uiButton__root, ._4jy0, .-cx-PRIVATE-xuiButton__root', function(ele) {
+                       // ._42fu, .-cx-PRIVATE-uiButton__root, ._4jy0, .-cx-PRIVATE-xuiButton__root
+                       domReplaceFunc(dom.target, '', '.uiButtonText, .uiButton input, ._42ft, .-cx-PRIVATE-abstractButton__root', function(ele) {
                                // <a class="uiButton uiButtonConfirm uiButtonLarge" href="#" role="button"><span class="uiButtonText">Finish</span></a>
                                // <label class="uiButton uiButtonConfirm"><input value="Okay" type="submit"></label>
 
                                // <button class="_42ft _42fu _11b selected _42g-" type="submit">Post</button>
                                // <a class="_42ft _42fu" role="button" href="#"><i class="mrs img sp_8jfoef sx_d2d7c4"></i>Promote App</a>
+
+                               // Skip close icons
+                               if (hasClass(ele, '_50zy') || hasClass(ele, '-cx-PRIVATE-xuiCloseButton__root')) {
+                                       return;
+                               }
+
                                var button = ele;
                                var replacer = buttonTitles;
                                var tagName = ele.tagName.toUpperCase();
@@ -7159,7 +7325,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
                                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);
+                       if (k.endOfFeedPymlContainer(dom.target)) {
+                               INTERNALUPDATE = iu;
+                               return;
+                       }
+
+                       if (k.pubcontentFeedChaining(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, ._7ll .pageByline, ._5cnt > .fcg, ._5h4h > .fcg', k.textBrohoof);
                        
                        domReplaceFunc(dom.target, '', '.uiUfiViewAll, .uiUfiViewPrevious, .uiUfiViewMore', function(ele) {
                                var button = ele.querySelector('input[type="submit"]');
@@ -7280,9 +7456,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
                                                // Detect rare cases when HTML detection just got turned on, and there is a dialog at the back
                                                k._dialog_playSound(replaced, ele);
                                        }
+
+                                       if (USINGMUTATION) {
+                                               k.updateLayerPosition(ele);
+                                       }
                                }
 
-                               domChangeTextbox(ele, '.groupsMemberFlyoutWelcomeTextarea', function(textbox) {
+                               domChangeTextbox(ele, '._5nw-, .groupsMemberFlyoutWelcomeTextarea', function(textbox) {
                                        var orig = textbox.getAttribute('placeholder');
                                        var t = orig.replace(/\bgroup\b/, 'herd');
                                        if (t != orig) {
@@ -7313,7 +7493,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, '', '.uiHeaderTitle, .legacyContextualDialogTitle, ._6dp, .-cx-PRIVATE-litestandRHC__titlename', function(ele) {
+                       domReplaceFunc(dom.target, '', '.uiHeaderTitle, .legacyContextualDialogTitle, ._6dp, .-cx-PRIVATE-litestandRHC__titlename, ._34e', function(ele) {
                                var imgwrap = ele.querySelector('._8m, .-cx-PRIVATE-uiImageBlock__content, .adsCategoryTitleLink');
                                if (imgwrap) {
                                        ele = imgwrap;
@@ -7329,12 +7509,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
                                });
                        });
                        
-                       domReplaceFunc(dom.target, '', '.insights-header .header-title > .ufb-text-content', function(ele) {
+                       /*domReplaceFunc(dom.target, '', '.insights-header .header-title > .ufb-text-content', function(ele) {
                                var t = replaceText(headerInsightsTitles, ele.textContent);
                                if (ele.textContent != t) {
                                        ele.textContent = t;
                                }
-                       });
+                       });*/
 
                        if (k.fbDockChatBuddylistNub(dom.target)) {
                                INTERNALUPDATE = iu;
@@ -7359,16 +7539,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
                                return;
                        }
                        k.pluginButton(dom.target);
-                       k.insightsCountry(dom);
+                       //k.insightsCountry(dom.target);
                        k.timelineMutualLikes(dom.target);
                        k.videoStageContainer(dom.target);
                        k.uiStreamShareLikePageBox(dom.target);
                        k.fbTimelineUnit(dom.target);
+                       k.pageBrowserItem(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, '.friendListAddTypeahead .inputtext', "Add "+CURRENTSTACK.friends+" to this directory");
-                       domChangeTextbox(dom.target, '.friendListAddTypeahead .inputtext', "Add "+CURRENTSTACK.friends+" to this list");
+                       domChangeTextbox(dom.target, '.friendListFeed .friendListAddTypeahead .inputtext', "Add "+CURRENTSTACK['friends']+" to this list");
                        domChangeTextbox(dom.target, '.groupsJumpHeaderSearch .inputtext', "Search this herd");
                        domChangeTextbox(dom.target, '.MessagingSearchFilter .inputtext', "Search Friendship Reports");
                        domChangeTextbox(dom.target, '#chatFriendsOnline .fbChatTypeahead .inputtext', "Pals on Whinny Chat");
@@ -7408,7 +7589,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.notificationsFlyoutSettingsInjected = false;
-               k.notificationsFlyoutSettings = function(dom) {
+               k.notificationsFlyoutSettings = function() {
                        if (ISUSINGPAGE) {
                                k.notificationsFlyoutSettingsInjected = true;
                                return;
@@ -7461,6 +7642,30 @@ 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
                        }
                };
 
+               // Change Find Friends link at the top-right to native text for reliability
+               k.findFriendsNavInjected = false;
+               k.findFriendsNav = function() {
+                       if (k.findFriendsNavInjected || ISUSINGPAGE || ISUSINGBUSINESS) {
+                               k.findFriendsNavInjected = true;
+                               return;
+                       }
+                       var findFriendsNav = $('findFriendsNav');
+                       if (!findFriendsNav || !findFriendsNav.childNodes || !findFriendsNav.childNodes.length) {
+                               return;
+                       }
+                       var text = findFriendsNav.childNodes[0]; // this should return the "Find Friends" node
+                       if (text.nodeType != TEXT_NODE) {
+                               text = findFriendsNav.childNodes[1]; // litestand
+                               if (text.nodeType != TEXT_NODE) {
+                                       return;
+                               }
+                       }
+
+                       text.textContent = CURRENTSTACK['findFriendship'];
+                       addClass(findFriendsNav, 'ponyhoof_findFriendsNav_native');
+                       k.findFriendsNavInjected = true;
+               };
+
                k.textNodes = function(dom) {
                        try {
                                if (!dom.target.parentNode || !dom.target.parentNode.parentNode || !hasClass(dom.target.parentNode.parentNode, 'dialog_title')) {
@@ -7527,6 +7732,21 @@ 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;
                                                                        });
                                                                }
+                                                       } else {
+                                                               var stop = false;
+                                                               loopChildText(body, function(child) {
+                                                                       if (stop) {
+                                                                               return;
+                                                                       }
+                                                                       if (child.nodeType === TEXT_NODE) {
+                                                                               var orig = child.textContent;
+                                                                               var replaced = replaceText(dialogDescriptionTitles, orig);
+                                                                               if (orig != replaced) {
+                                                                                       child.textContent = replaced;
+                                                                                       stop = true;
+                                                                               }
+                                                                       }
+                                                               });
                                                        }
                                                }
                                        }
@@ -7572,10 +7792,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 inner = ele.getElementsByClassName('UFILikeSentenceText');
                        if (inner.length) {
                                inner = inner[0];
-                               var t = k.likeSentence(inner.innerHTML);
-                               if (inner.innerHTML != t) {
-                                       inner.innerHTML = t;
-                               }
+                               k._likePostBox_loop(inner);
                        }
 
                        var reorder = ele.getElementsByClassName('UFIOrderingModeSelectorDownCaret');
@@ -7587,13 +7804,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._likePostBox_loop = function(ele) {
+                       // Change "**profile people test** likes this." -> "**profile people test** brohoofs this."
+                       // Previous versions would change it to "**profile ponies test** brohoofs this."
+                       for (var i = 0, len = ele.childNodes.length; i < len; i += 1) {
+                               if (ele.childNodes[i].nodeType === TEXT_NODE) {
+                                       k._likePostBox_loop_text(ele.childNodes[i]);
+                               } else {
+                                       /*var ajaxify = ele.childNodes[i].getAttribute('ajaxify');
+                                       if (ajaxify && ajaxify.indexOf('/ajax/browser/dialog/likes') != -1) {
+                                               k._likePostBox_loop_text(ele.childNodes[i]);
+                                       } else {*/
+                                       if (!hasClass(ele.childNodes[i], 'profileLink')) {
+                                               k._likePostBox_loop(ele.childNodes[i]);
+                                       }
+                               }
+                       }
+               };
+
+               k._likePostBox_loop_text = function(ele) {
+                       var orig = ele.textContent;
+                       var t = k.likeSentence(orig);
+                       if (orig != t) {
+                               ele.textContent = t;
+                       }
+               };
+
                k.likeSentence = function(t) {
                        //t = t.replace(/likes? this\./g, "brohoof'd this.");
                        t = t.replace(/like this\./g, CURRENTSTACK['like_past']+" this.");
                        t = t.replace(/likes this\./g, CURRENTSTACK['likes_past']+" this.");
                        t = t.replace(/\bpeople\b/g, CURRENTSTACK['people']);
                        t = t.replace(/\bperson\b/g, CURRENTSTACK['person']); // http://fb.com/647294431950845
-                       //t = t.replace(/(^|\\W|_)people(^|\\W|_)/g, "ponies");
                        /*if (CURRENTSTACK == 'pony') {
                                t = t.replace(/\<3 7h\!5/g, '/) 7h!5');
                                t = t.replace(/\<3 7h15/g, '/) 7h!5');
@@ -7875,6 +8117,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
                                                }
                                        }
                                }
+
+                               // Insights
+                               k.insightsCountry(dom.target);
+
                                return true;
                        }
 
@@ -7921,16 +8167,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.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}
-                       ,'346855322017980': {composer: LANG['ms_MY'].fb_composer_lessons, malay:true}
-                       ,'366748370110998': {composer: LANG['ms_MY'].fb_composer_lessons, malay:true}
-                       ,'146225765511748': {composer: CURRENTLANG.fb_composer_coolstory}
-                       ,'496282487062916': {composer: CURRENTLANG.fb_composer_coolstory}
-               };
+               k.composerSpecialPages = null;
                k.composerSelectors = '.uiComposer textarea.mentionsTextarea, .composerTypeahead textarea';
                k.composerButtonSelectors = '.uiComposerMessageBoxControls .submitBtn input, .uiComposerMessageBoxControls .submitBtn .uiButtonText, ._11b input, .-cx-PRIVATE-fbComposerMessageBox__button input, button._11b, button.-cx-PRIVATE-fbComposerMessageBox__button';
                k.changeComposer = function(dom) {
+                       if (!k.composerSpecialPages) {
+                               k._changeComposer_initSpecialPages();
+                       }
+
                        var pageid = '';
 
                        // tagging people with "Who are you with?" and new feelings feature
@@ -8232,8 +8476,18 @@ 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) {
+               k._changeComposer_initSpecialPages = function() {
+                       k.composerSpecialPages = {
+                                '140792002656140': {composer: LANG['ms_MY'].fb_composer_lessons, malay:true}
+                               ,'346855322017980': {composer: LANG['ms_MY'].fb_composer_lessons, malay:true}
+                               ,'366748370110998': {composer: LANG['ms_MY'].fb_composer_lessons, malay:true}
+                               ,'146225765511748': {composer: CURRENTLANG['fb_composer_coolstory']}
+                               ,'496282487062916': {composer: CURRENTLANG['fb_composer_coolstory']}
+                       };
+               };
+
+               k.tooltip = function(outer) {
+                       domReplaceFunc(outer, '', '.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>
@@ -8263,16 +8517,37 @@ 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;
                                }
 
-                               removeClass(layer, 'ponyhoof_tooltip_flip');
+                               //removeClass(layer, 'ponyhoof_tooltip_flip');
 
                                // Replace text
-                               var t = target.innerHTML;
+                               var orig = target.innerHTML;
+                               var origText = target.textContent;
+                               var t = orig;
                                t = replaceText(tooltipTitles, t);
-                               if (target.innerHTML != t) {
-                                       var oldWidth = target.offsetWidth;
+                               if (orig != t) {
+                                       //var oldWidth = ele.offsetWidth;
                                        target.innerHTML = t;
 
-                                       // Get the inner layer inside the outer layer (get it...?)
+                                       if (USINGMUTATION) {
+                                               // Replace text at the parent that we are *really* certain
+                                               if (orig === origText) {
+                                                       var owner = $(layer.getAttribute('data-ownerid'));
+                                                       if (owner) {
+                                                               owner.setAttribute('aria-label', t);
+                                                       }
+                                               }
+
+                                               // fix horizontal scrollbar
+                                               if (hasClass(layer.parentNode, 'fbPhotoSnowliftContainer')) {
+                                                       addClass(layer, 'ponyhoof_tooltip_widthFix');
+                                               } else {
+                                                       removeClass(layer, 'ponyhoof_tooltip_widthFix');
+                                               }
+
+                                               k.updateLayerPosition(layer);
+                                       }
+
+                                       /*// Get the inner layer inside the outer layer (get it...?)
                                        var layerInner = layer.getElementsByClassName('uiContextualLayer');
                                        if (!layerInner.length) {
                                                return;
@@ -8280,10 +8555,21 @@ 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
                                        layerInner = layerInner[0];
 
                                        if (layerInner.className.match(/Center/)) {
+                                               /*var rect = ele.getBoundingClientRect();
+                                               if (!rect) {
+                                                       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';
+                                               var left = parseInt(layer.style.left); // relative positioning at photo viewer
+                                               var newWidth = ele.offsetWidth;
+                                               //if ((rect.left + newWidth) < d.documentElement.clientWidth) {
+                                                       layer.style.left = (left - Math.round((newWidth - oldWidth) / 2))+'px';
+                                               /*} else {
+                                                        Fix long "X, Y and 2 others like this." tooltips on photo viewer
+                                                       layer.style.left = (left - (oldWidth / 2) /*+ ((newWidth - oldWidth) / 2) - 18* / )+'px';
+                                                       addClass(layer, 'ponyhoof_tooltip_flip');
+                                               }* /
                                        } else if (layerInner.className.match(/Left/)) {
                                                // Fix "Remember: all place ratings are public." tooltips that are being ponified and causing a horizontal page scrollbar
                                                // 
@@ -8302,7 +8588,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
                                                        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');
                                                }
-                                       }
+                                       }*/
                                }
                        });
                };
@@ -8348,8 +8634,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
                                return true;
                        }
 
+                       // (Sep 25) Include xuiCard
                        //$$(target, '.pokesDashboard > .objectListItem', k._pokesDashboard_item);
-                       $$(target, '.objectListItem[id^="poke_"]', k._pokesDashboard_item);
+                       //$$(target, '.objectListItem[id^="poke_"], ._4-u2[id^="poke_"], .-cx-PRIVATE-xuiCard__root[id^="poke_"]', k._pokesDashboard_item);
+                       $$(target, '.objectListItem[id^="poke_"], ._5lbv, .-cx-PRIVATE-pokesDashboard__pokercontent', k._pokesDashboard_item);
 
                        if (hasClass(target, 'highlight')) {
                                var t = target.textContent;
@@ -8372,22 +8660,42 @@ 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
                        //}
                        //header = header[0];
 
-                       var header = item.querySelector('.uiProfileBlockContent > ._6a > ._6b > .fwb'); // .-cx-PRIVATE-uiInlineBlock__root > .-cx-PRIVATE-uiInlineBlock__middle
-                       if (!header) {
-                               return;
-                       }
+                       // (Sep 25)
+                       var header = item.querySelector('._5lbt, .-cx-PRIVATE-pokesDashboard__pokername');
+                       if (header) {
+                               // <div class="-cx-PRIVATE-pokesDashboard__pokername _5lbt lfloat">&nbsp;<a href="" data-hovercard="">John</a> poked you.<br>&nbsp;<span class="-cx-PRIVATE-pokesDashboard__pokertime _5lbs"><abbr title="" data-utime="" class="timestamp">2 seconds ago</abbr></span></div>
+                               if (header.childNodes && header.childNodes.length) {
+                                       if (header.childNodes[2] && header.childNodes[2].nodeType === TEXT_NODE) {
+                                               var poke = header.childNodes[2];
+                                               var t = poke.textContent;
+                                               t = t.replace(/ poked you\./, ' nuzzled you.');
+                                               if (poke.textContent != t) {
+                                                       poke.textContent = t;
+                                               }
+                                       } else if (header.childNodes[4] && header.childNodes[4].nodeType === ELEMENT_NODE) {
+                                               var poke = header.childNodes[4];
+                                               if (poke.textContent === "Suggested Poke") {
+                                                       poke.textContent = "Suggested Nuzzle";
+                                               }
+                                       }
+                               }
+                       } else {
+                               var header = item.querySelector('.uiProfileBlockContent > ._6a > ._6b > .fwb'); // .-cx-PRIVATE-uiInlineBlock__root > .-cx-PRIVATE-uiInlineBlock__middle
+                               if (header) {
+                                       var t = header.innerHTML;
+                                       t = t.replace(/ poked you\./, ' nuzzled you.');
+                                       if (header.innerHTML != t) {
+                                               header.innerHTML = t;
+                                       }
 
-                       var t = header.innerHTML;
-                       t = t.replace(/ poked you\./, ' nuzzled you.');
-                       if (header.innerHTML != t) {
-                               header.innerHTML = t;
+                                       k._pokesDashboard_pokeLink(item);
+                               }
                        }
-
-                       k._pokesDashboard_pokeLink(item);
                };
 
                k._pokesDashboard_pokeLink = function(target) {
-                       $$(target, 'a[ajaxify^="/pokes/inline/"]', function(poke) {
+                       // (Sep 25) Skip buttons
+                       $$(target, 'a[ajaxify^="/pokes/inline/"]:not(._42ft)', function(poke) {
                                var text = "Nuzzle";
                                /*if (poke.getAttribute('ajaxify').indexOf('pokeback=1') != -1) { // http://fb.com/406911932763192
                                        text = "Nuzzle Back";
@@ -8416,10 +8724,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._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);
-                               });
+                       if (ONPLUGINPAGE && hasClass(dom.target, 'notification-item')) {
+                               //.$$(dom.target, '.notification-item', function(ele) {
+                                       k._notification_change(dom.target, '.notification-text > .message', k._notification_messenger_metadata);
+                               //});
                        }
                };
 
@@ -8444,9 +8752,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._notification_messenger_metadata = function(node) {
-                       if (node.nodeType != TEXT_NODE) {
-                               return false;
-                       }
+                       // <a href="">X</a> likes your <a href="">comment</a>: "Also, please use this group in the..."
+                       //if (node.nodeType != TEXT_NODE) {
+                       //      return false;
+                       //}
                        return true;
                };
 
@@ -8662,6 +8971,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.fbRemindersStory = function(target) {
                        $$(target, '.fbRemindersStory', function(item) {
+                               var reminderType = '';
+                               if (item.querySelector('#pages_reminders_link')) {
+                                       reminderType = 'page';
+                               }
+
                                var inner = item.querySelector('._42ef > .fcg, .-cx-PRIVATE-uiFlexibleBlock__flexiblecontent > .fcg');
                                if (!inner) {
                                        return;
@@ -8670,7 +8984,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
                                loopChildText(inner, function(child) {
                                        if (child.nodeType == TEXT_NODE) {
                                                var t = child.textContent;
-                                               t = t.replace(/\bpoked you\b/, "nuzzled you");
+                                               if (reminderType === 'page') {
+                                                       t = t.replace(/\binvited you to like\b/, "invite you to "+CURRENTSTACK['like']);
+                                               } else {
+                                                       t = t.replace(/\bpoked you\b/, "nuzzled you");
+                                               }
                                                if (child.textContent != t) {
                                                        child.textContent = t;
                                                }
@@ -8688,7 +9006,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.flyoutLikeForm = function(target) {
-                       var result = k._flyoutLikeForm(target, 'groupsMemberFlyoutLikeForm', 'unlike');
+                       //var result = k._flyoutLikeForm(target, 'groupsMemberFlyoutLikeForm', 'unlike');
+                       var result = k._flyoutLikeForm(target, '_5nx0', 'unlike');
                        if (!result) {
                                result = k._flyoutLikeForm(target, 'fbEventMemberLike', 'liked');
                        }
@@ -8738,6 +9057,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
                        root = root[0];
 
                        domReplaceFunc(root, '', '.pluginButton', function(ele) {
+                               // oct 19
+                               var div = ele.getElementsByClassName('pluginButtonLabel');
+                               if (div.length) {
+                                       div = div[0];
+                                       if (div.innerHTML === "Like") {
+                                               div.innerHTML = capitaliseFirstLetter(CURRENTSTACK['like']);
+                                               return;
+                                       }
+                               }
+
+                               // old style
                                var div = ele.getElementsByTagName('div');
                                if (div.length) {
                                        ele = div[0];
@@ -8749,9 +9079,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
                                        if (stop) {
                                                return;
                                        }
-                                       if (child.tagName.toUpperCase() == 'SPAN') {
-                                               if (child.innerHTML == "Like") {
-                                                       child.innerHTML = capitaliseFirstLetter(CURRENTSTACK.like);
+                                       if (child.tagName.toUpperCase() === 'SPAN') {
+                                               if (child.innerHTML === "Like") {
+                                                       child.innerHTML = capitaliseFirstLetter(CURRENTSTACK['like']);
                                                        stop = true;
                                                }
                                        }
@@ -8775,8 +9105,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
 
                        // likebox
                        $$(root, '._51mx > .pls > div > span', function(ele) {
-                               var t = k.likeSentence(ele.textContent);
-                               if (ele.textContent != t) {
+                               var orig = ele.textContent;
+                               var t = k.likeSentence(orig);
+                               t = t.replace(/\bfriends\b/g, CURRENTSTACK['friends_logic']); // Be the first of your friends.
+                               if (orig != t) {
                                        ele.textContent = t;
                                }
                        });
@@ -8867,28 +9199,66 @@ 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 = function(dom) {
-                       warn("domNodeHandler.beepNotification() is deprecated");
+               k.endOfFeedPymlContainer = function(target) {
+                       if (target.getAttribute && target.getAttribute('id') === 'endOfFeedPymlContainer') {
+                               // _5jii - applicable table cell
+                               $$(target, '._5jii .fsm.fcg', function(ele) {
+                                       var orig = ele.textContent;
+                                       var t = orig;
+                                       t = t.replace(/\bLikes\b/, capitaliseFirstLetter(CURRENTSTACK['likes']));
+                                       t = t.replace(/\bLike\b/, capitaliseFirstLetter(CURRENTSTACK['like']));
+                                       t = t.replace(/\blikes\b/, CURRENTSTACK['likes']);
+                                       t = t.replace(/\blike\b/, CURRENTSTACK['like']);
+                                       if (t != orig) {
+                                               ele.textContent = t;
+                                       }
+                               });
+                               $$(target, '._5jii ._5f55', function(link) {
+                                       if (link.childNodes && link.childNodes.length && link.childNodes[1] && link.childNodes[1].nodeType === TEXT_NODE) {
+                                               var node = link.childNodes[1];
+                                               var orig = node.textContent;
+                                               var t = orig;
+                                               t = t.replace(/\bLike\b/, capitaliseFirstLetter(CURRENTSTACK['like']));
+                                               if (t != orig) {
+                                                       node.textContent = t;
+                                               }
+                                       }
+                               });
+
+                               return true;
+                       }
                        return false;
                };
 
-               // XYZ commented on your Wall post: "I like it"
-               k._beepNotification_condition_classic = function(node, gt) {
-                       // <div class="UIBeep_Title"><span class="blueName">XYZ</span> likes your comment: "12"</div>
-                       // <div class="UIBeep_Title"><span class="blueName">XYZ</span>  brohoofs your friendship letter: "12"</div>
-                       if (node.nodeType == 3) {
+               k.pubcontentFeedChaining = function(target) {
+                       if (hasClass(target, '_5j5u')) {
+                               $$(target, '._5j5w > .content > div > .fcg', function(fcg) {
+                                       var orig = fcg.textContent;
+                                       var t = orig;
+                                       t = t.replace(/\blikes\b/, CURRENTSTACK['likes']);
+                                       t = t.replace(/\blike\b/, CURRENTSTACK['like']);
+                                       if (orig != t) {
+                                               fcg.textContent = t;
+                                       }
+                               });
+
                                return true;
                        }
                        return false;
                };
+
                k._beepNotification_condition_react = function(node, gt) {
                        // <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')) {
-                       //      return false;
-                       //}
+                       // **profile people test** posted in **group people test**: "like test"
+                       if (hasClass(node, 'fwb')) {
+                               if (node.textContent === 'timeline') {
+                                       return true;
+                               }
+                               return false;
+                       }
                        return true;
                };
 
@@ -8903,7 +9273,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 node = info.childNodes[i];
                                if (condition(node, gt)) {
                                        var text = '';
-                                       if (node.nodeType == 3) {
+                                       if (node.nodeType === TEXT_NODE) {
                                                text = node.textContent;
                                                k._beepNotification_change_text(node, text);
                                        } else {
@@ -8969,12 +9339,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 finalText = k.textNotification(text);
                        }
 
-                       if (node.nodeType == TEXT_NODE) {
-                               if (node.textContent != finalText) {
+                       if (text != finalText) {
+                               if (node.nodeType === TEXT_NODE) {
                                        node.textContent = finalText;
-                               }
-                       } else {
-                               if (node.innerHTML != finalText) {
+                               } else {
                                        node.innerHTML = finalText;
                                }
                        }
@@ -8989,8 +9357,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
                        ,["Singapore", "Singapony"]
                        ,["Singapore, Singapore", "Singapony"]
                ];
-               k.insightsCountry = function(dom) {
-                       domReplaceFunc(dom.target, 'breakdown-list-table', '.breakdown-list-table', function(ele) {
+               k.insightsCountry = function(target) {
+                       /*domReplaceFunc(dom.target, 'breakdown-list-table', '.breakdown-list-table', function(ele) {
                                if (ele.getAttribute('data-ponyhoof-ponified')) {
                                        return;
                                }
@@ -8998,6 +9366,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
                                $$(ele, '.breakdown-key .ufb-text-content', function(country) {
                                        country.textContent = replaceText(k.insightsCountryData, country.textContent);
                                });
+                       });*/
+
+                       $$(target, '._5brx ._55jr', function(ele) {
+                               var orig = ele.textContent;
+                               var t = orig;
+                               t = replaceText(k.insightsCountryData, ele.textContent);
+                               if (orig != t) {
+                                       ele.textContent = t;
+                               }
                        });
                };
 
@@ -9111,13 +9488,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
                        }
                };
 
+               // https://www.facebook.com/pages
+               k.pageBrowserItem = function(target) {
+                       // lazy-loaded: <div class="_8qg fsm fwn fcg"><a href="" data-hovercard="/ajax/hovercard/user.php?id="></a> likes this.<div class="_43qm mbs _43q9"><ul class="uiList _4cg3 _509- _4ki"><li class="_43q7">FACEPILE</li></ul></div></div>
+                       if (hasClass(target, '_8qg') && hasClass(target, 'fcg')) {
+                               k._pageBrowserItem_item(target);
+                               return;
+                       }
+
+                       $$(target, '._8qg.fcg', function(item) {
+                               // <div class="_8qg fsm fwn fcg"><div class="_8qg fsm fwn fcg"><div class="fsm fwn fcg">235,674 likes ยท 40,634 people talking about this</div></div></div>
+                               k._pageBrowserItem_item(item);
+                       });
+               };
+
+               k._pageBrowserItem_item = function(item) {
+                       loopChildText(item, function(child) {
+                               if (child.nodeType === TEXT_NODE || hasClass(child, 'fcg')) {
+                                       k.textBrohoof(child);
+                               }
+                       });
+               };
+
                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
+                               if (input.getAttribute('name') == 'undefined[]' && isPonyhoofPage(input.value)) { // undefined[] is intentional from FB, NOT A TYPO
                                        addClass(body, 'ponyhoof_composer_hasReadme');
 
                                        var n = d.createElement('iframe');
@@ -9318,6 +9717,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
                                                }
                                        }
                                }
+                       } else {
+                               // Nuzzles
+                               if (hasClass(parent, '_5lbu') || hasClass(parent, '-cx-PRIVATE-pokesDashboard__pokerbuttons')) {
+                                       var t = mutation.target.textContent;
+                                       t = t.replace(/\bPoke\b/, 'Nuzzle');
+                                       if (mutation.target.textContent != t) {
+                                               mutation.target.textContent = t;
+                                       }
+                               }
                        }
                };
 
@@ -9348,7 +9756,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
                                                                t = t.replace(/\bunlike this \b/, CURRENTSTACK.unlike+' this ');
                                                                t = t.replace(/\bliking this \b/, CURRENTSTACK.liking+' this ');
 
-                                                               if (target.title != t) {
+                                                               if (orig != t) {
                                                                        target.title = t;
                                                                }
                                                                target.setAttribute('data-ponyhoof-title', orig);
@@ -9502,6 +9910,44 @@ 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.updateLayerPosition = function(layer) {
+                       var tempClass = 'ponyhoof_temp_'+(+new Date());
+                       addClass(layer, tempClass);
+
+                       contentEval(function(arg) {
+                               try {
+                                       if (typeof window.requireLazy == 'function') {
+                                               window.requireLazy(['DataStore'], function(DataStore) {
+                                                       var layer = document.getElementsByClassName(arg.tempClass);
+                                                       if (!layer || !layer.length) {
+                                                               return;
+                                                       }
+                                                       layer = layer[0];
+
+                                                       var layerClass = DataStore.get(layer, 'layer');
+                                                       layerClass.updatePosition();
+                                                       layerClass = null;
+
+                                                       if (layer.classList) {
+                                                               layer.classList.remove(arg.tempClass);
+                                                       }
+                                               });
+                                       }
+                               } catch (e) {
+                                       if (arg.CANLOG && typeof console != 'undefined' && console.log && console.dir) {
+                                               console.log("Unable to hook to DataStore");
+                                               console.dir(e);
+                                       }
+                               }
+                       }, {'CANLOG':CANLOG, 'tempClass':tempClass});
+
+                       if (!layer.classList) {
+                               w.setTimeout(function() {
+                                       removeClass(layer, tempClass);
+                               }, 500);
+                       }
+               };
+
                // Ignore irrelevant tags and some classes
                k.shouldIgnore = function(dom) {
                        if (dom.target.nodeType == 8) { // comments
@@ -9559,12 +10005,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.textBrohoof = function(ele) {
+                       var orig = '';
                        var t = '';
-                       if (ele.nodeType == TEXT_NODE) {
-                               t = ele.textContent;
+                       if (ele.nodeType === TEXT_NODE) {
+                               orig = ele.textContent;
                        } else {
-                               t = ele.innerHTML;
+                               orig = ele.innerHTML;
                        }
+                       t = orig;
                        t = t.replace(/\bpeople\b/g, " "+CURRENTSTACK['people']);
                        t = t.replace(/\bperson\b/g, " "+CURRENTSTACK['person']);
                        t = t.replace(/likes this/g, CURRENTSTACK['likes']+" this");
@@ -9572,15 +10020,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
                        t = t.replace(/Likes/g, capitaliseFirstLetter(CURRENTSTACK['likes'])); // new news feed page likes
                        t = t.replace(/likes/g, CURRENTSTACK['likes']);
                        t = t.replace(/like/g, CURRENTSTACK['like']);
-                       t = t.replace(/talking about this/g, "blabbering about this");
+                       t = t.replace(/\btalking about this\b/g, "blabbering about this");
                        t = t.replace(/\bfriends\b/g, CURRENTSTACK['friends_logic']);
                        t = t.replace(/\bfriend\b/g, CURRENTSTACK['friend_logic']);
-                       if (ele.nodeType == TEXT_NODE) {
-                               if (ele.textContent != t) {
+                       if (orig != t) {
+                               if (ele.nodeType === TEXT_NODE) {
                                        ele.textContent = t;
-                               }
-                       } else {
-                               if (ele.innerHTML != t) {
+                               } else {
                                        ele.innerHTML = t;
                                }
                        }
@@ -9831,11 +10277,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 globalcss = '';
-               globalcss += 'html.ponyhoof_settings_show_messages_other #navItem_app_217974574879787 > ul {display:block !important;}';
                globalcss += '.ponyhoof_page_readme {width:100%;height:300px;border:solid #B4BBCD;border-width:1px 0;-moz-box-sizing:border-box;box-sizing:border-box;}';
                globalcss += '#fbIndex_swf {position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;}';
                globalcss += '.ponyhoof_image_shadow {-moz-box-shadow:0 3px 8px rgba(0,0,0,.3);box-shadow:0 3px 8px rgba(0,0,0,.3);margin:0 auto;display:block;margin-bottom:3px;cursor:not-allowed;-webkit-user-drag:none;-moz-user-drag:none;user-drag:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;}';
                globalcss += '.ponyhoof_image_shadow.noshadow {-moz-box-shadow:none;box-shadow:none;}';
+               globalcss += '.ponyhoof_tooltip_widthFix {width:auto !important;}';
 
                injectManualStyle(globalcss, 'global');
                
@@ -9871,7 +10317,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 (userSettings.customBg) {
+               if (userSettings.customBg && !ONPLUGINPAGE) {
                        changeCustomBg(userSettings.customBg);
                }
 
@@ -10190,6 +10636,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
                                        }
                                }
 
+                               // Allow for comment boxes owned by Ponyhoof
+                               // (in theory, we could still be run by http://example/?api_key=231958156911371 but this isn't a big deal)
+                               if (w.location.pathname === '/plugins/comments.php') {
+                                       if (w.location.search.indexOf('api_key=231958156911371') != -1 || w.location.search.indexOf('api_key=376261472405891') != -1) {
+                                               allowedFramesOk = true;
+                                       }
+                               }
+
                                if (!allowedFramesOk) {
                                        if (USW.self != USW.top) {
                                                throw 1;
@@ -10229,7 +10683,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
-               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 (USERID && ['10e823f70f20d7ef90db87783d96d5a6', '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();