Advertisement
Vasyan

softach_User_Agent_Fixer.user

Oct 23rd, 2015
228
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name /s/oftach User Agent Fixer
  3. // @version 0.62
  4. // @include https://2ch.hk/s/*
  5. // @include http://2ch.hk/s/*
  6. // @exclude https://2ch.hk/s/src/*
  7. // @exclude http://2ch.hk/s/src/*
  8. // @grant       GM_getValue
  9. // @grant       GM_setValue
  10. // ==/UserScript==
  11. "use strict";
  12.  
  13. const suafVersion = '0.62';
  14.  
  15. const icons = {
  16.     linux: {width: 25, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAABkAAAAeCAYAAADZ7LXbAAAACXBIWXMAAAsTAAALEwEAmpwYAAAEhklEQVRIx62VW2xUVRSGv33OmZnOjWHKTC+YTi+0kDZKIxCUKqKpiQRD9IWKjUR9EHkxaUyMGF6kD0o0+EAEgxrRBB8IBBMh4eI1FFvEIoxAWsOUhCItTIDeZtrpXM7yoTN1ppahUFayH87J2f931vp3/g0zKyuwA7gOCPAP8CEPsGxp4cml67qsXr1alFIJQD0ISNNUiKZpYrFYMs+HHwTkECBWqzUH5HQ6s5+NfALaDCCBpqYmGhoaAKisrOTIkSM0NjZO9ez+y+v1/rl9+3bp7u4WQJLJpNTW1koikcjupDSfhnE3SDKZvN3e3k746hm2vQlXz+2mq6uLY8ePZ382PFtPvt65ebnIGUTOVYt0Isk/vHL52KrsTp6fFWH+XLaapxDpVCKdukiwToZ/MSTxe86Ja5+V8ddHjN5vTzQRviHcuJFiINzFrXCKjlufA9Dc3IzT6VwxW/PPXLoUkk9bN8ihjxbKD3tbZGhoWERENm7cKIAopQTYcr+AVRUVFSIi0tXVLSd/OyWx2Lhkl6Zp2WNz3itgHiD9/f2SrwKBQDbk5r3GzCWfzzcJiUajEo1GRUQkFotJMBiUtrY2OX36tEyJnQ9mavzTSqnqNWvWYLfbAXA4HDgcjonEtNmoqanB5/PR29uLzWajpKQks/e99BTyl8ViueD3+2UmlUgkZM+ePeJ2u8Xtdme6OXo3RqnH45FNmzbJvZTH45HCwkLRdT0DKswHedtisUgkEskRGR0dzQtxOBwCiGEYGcjaO15QVqtVqqqqcgRSqZT09PTkhbjdblFKZR/pw3cy/hXTFEpLc0M1lUrhcrnyzlgpRXl5OaZpZl5VTgupr6Hv6I4E47HBHAERQUTyIEycTieDg4MEAgH8fj/A99N+OnqiICzBZTLcZpfK6sWTozBNU/r6+qYdUyqZEgkulSULJw2XxdVWkWDRzpxOdr9M/dmdBO1zCv0guN1VfPPuX/h8xZOjmDrCyWA79SskzrL24RQAngI4+aWOJMcmr05j+CcVcnm9CxQaqOL0gO2sXD6P2rIwNpuNUChEWVnZtJCenhBLa03eegNeeBbKq8DtrQG0RYmOriLLivGwlkxKROmVoFdkWSRAgO8+hng8TktLyx3d+PviOcbHYV6RzqOP2SgsfgiwADqGo+5asrP0cQ0YgnhaODdxfEUV/PxVNfv3H5gWsG/fPo4f+AylAKMejEdAK8nWMHRLSYfm8qiKCX3t/wEqDp6qC7F31/v/nSPT5ODBgzQ0NLB+/XpW1oHNZk/vzfyoAk0nNhoZHBi4ucKIjYlLyXk0w4ZmFIDmSuebFSSO0iB+vhWlWqftZukCMCWFThzQQY0wcmuAjs7IJ8+9E98GRIw5z7Bsy1rWVcwff6LUP14fKBsqD1Rew+kG04QrPXB7CIAfgQgQTa8CoHxsjCevhOK6r/giyYTQfUFim3fR3HaZCxNUTAXMBeakbzULMHfri7xUv4hGu5VF/ddpf+0LNgAJIJneaAdcQMG6JSxpWkmrw453aISLr+7i9YQwBIxM+M3Yv7OY2g16fltzAAAAAElFTkSuQmCC'},
  17.     debian: {width: 24, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAABgAAAAeCAYAAAA2Lt7lAAAACXBIWXMAAAsTAAALEwEAmpwYAAADHUlEQVRIx7XWTaiWRRQH8N/zevO5pVmJaKjYhSKchWS0qEW4qEz7QBmicFEU1KYoIiPKQILCTUKbKII+QAijFk2ZRbZI+sDMFkFBo1BGFBpkaLdMR6++LRrh5fLe917pdjbPM+fM/P8z85zzP09jgOU2thjBw7geP+IdzMLs+r4fR9ENJXXHYzQDwG/AQ1hjsH2FPfgVz4aSTgwkyG08F69iLc7rCY3hhwo0Vk92aU/8NH7CnaGkXX0JchsvxBtYXV2ncAwvhZIe67OZIazHo5jfE7o1lPR+P4LtuKUOT2IDtoeS9k3yrZbgZdxYXSewMpT0adMz6UlsqsPdWB9K+sIULbdxLhJWVNcurGpyGxegg6+xAFtxVyjptLO03MZrsANzquvaDv7AExX8XdwzGXhu4/zcxlnj/aGk3fgQXbyApsltvAT78BcuDiWNDQCO2Igv8TsOYGso6UjPnGX4Bh/jgSGsRIs3JwG/D6twdSjpZI9/YW7j6JlTh5K+zW2EYYwO4d6aMU8NAB/BFaGk2/tcy4E+S/ZjCcY6WFyPfGjAta+rsjDRBobHuUrFnd2pxXSoVudEdj8+GxAfGTeeg+9wuIOZ+K1e00R2EWZMsPsmlLR3nHsYHzTdZrRTNWQ0lHRqAMEhLJsgtii3cXYP4WrMxSdLT7x9eqgWWTNJDW3DzVU15TY29Y6PhpJ+6QGfgS34KJS0PQ/HpoMjuKzPhzqz6Hy8hVW5jctr5nRrah/vmTcTm3E4lLQawvHU7WAvLq/31s9KTYAXsSW3cV0l+T6U9HcFX4OduLJH8P6V69zGR/AcFoaSDg5IxaVVyDZW0m0Yqg1pMZ7GM+O7WpPbGGpKbcbzoaSfB5AswnVVjpfWBNkTStox0Zomt3FO1Y2r8F4oac0UVPMCnINjoaSjU5HZDbmN3dzGbJqtU59bqjKO5DbeNO0EVbAer5l0W25jZ7pPIJT0Ol6p6rpi2gmqPVhFbWfNmOklCCUV3FGb/p7cxrX+L8ttfK1m1vL/gtNMQnJ37XSfY9Nk/0dnTVBJ5tVePK82+j9r9R6cCsE/2dUhInBnTGgAAAAASUVORK5CYII='},
  18.     fedora: {width: 30, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAAEoElEQVRIx7WWa4hUZRjHf+97zsxxdtXRWdR0XN12F1kbMi+peUE/SEFCNwmiFsyRrCToixYVFVQQRSAilMgiE2WykGCiReqHsvXWtoaLjqm7S6631lVLV92dM+fy9mFmz8w4Ozszgg8czsx7ef7nuf2fR1CiGJHoPGBx+pkGVAEC+Bc4CxwCWsx47Ggp+kQRMD/wHLAN0CldXgJ2mPGYVTawEYnWASeAAPcmClhYyANaAdBPgB2Ar5h207SorAzw1LLZLJk7nYrKCjq6LqFrUiDEK/r4WZOdq8d3F7XYiEQ3A68XA7RshzkP17LxvUYWzqrP2bsxYDMj2kTv6XawkwDfmvHYyoIWG5Hox8C6UkAbn17ET03rqJ4Yytsf4ZMc+bufTmss9F0FO/mIPn5W0rl6/GCexUYkOhU4V0rwls5/iL1b1+esJS0bx3GRUuIiqHl1B7cTNigX59QBUC7AE2Y8tt8DTmfvf0BF0ZgOmHQd2Ejt5HHe2qp3t7Jr3x84roumaVhVD6JC1YNgMNCH09kKQtw047ExADJ9d3kpoAAL5jbkgD77xia27fyNATNJ0rIZSJjYF0+hrl/IOLQiCD4DIGhEoh9lA28vtUZWrViSSaJb/exraUfX7yoOIXEvnwGZVq8UQvcP7kYBpBGJzi6nVuumPOD9TpgWrquGPuhYYCUy/zPA1UZk9UQJPFYOK2iayKEINRw1+Ubkfkjm4vsSWMR9EDm+NpNcgErV86A8r6cJvwDpKZRSJC3HW8p2rUKRTCRBpLzg0yVSgAiFERPqQaXP2kmwzGzNo/R0l8n31MgQVI5l+fx6Vi6bhpZWPmNa2DszLjSa3U1voZRCAbt+72Z72zWkvyLHWrer9W71ujAi0W5gigcYGI2sm5cqP9PC3flyWS6uWtlMIul4gXZ7zqKunc8jv5xWJ0JhZHi65yIFuEohhSgZ2LJdL0xu11FU4s5Qx2wPWGg+5KSGTFyEJIDJgjVbWLGgBpEGX/vCUkZVprL1Tr/Jl82/etr2HjuPdfEC9N9EJW4N9303M8B1j+a0Ure7HXXjH9qFoK3lsLczJzKVZfMbAOi7M8A7n3/nEb6uSwTCS7Zh5PsUsKYj/GkOEQLV243q6wWZYiSfT2bKRMqsUhX4fDqi/Gr7LKVFahlelRrulQ7uo5wz47HLMm8ecB1w7IK3/Fm8bCt3GOoqKE2ZJpFVcwgJgWAhPqFmUqbx/9XZQ5l+vmTGY59mgLMtdB206gi4bt7U8eTSmYQnjPXWNn2zr9z4vujlSsoUJ1Xkg9kYCGI0LKQqFGT0yACh4EjWNj7OD1+96WnoudbHnv2t5YC+bcZjLR51ZRimAy04AXwGAb+kd/sahEi5Vwi8Oh6U1z6MYQSMUkG/NuOxL3KaCFnp4XQcAdukYfIYpBQIIbx3tjSu38KPv/xZKug6Mx6L5nUv4GR2fJ0zhzjZdozW0z15Gn5uOcHMZz6gec9hdE0rBngeWGzGYxuGbEJGJDoXaB1qqKurDROpD3Pjdj8H287g2g6GUXTG7wQ2FwLMGW/9kdW1AnUECN4DIdjAFaAZ2GDGY9dLufQ/5qysLR6Dh4AAAAAASUVORK5CYII='},
  19.     ubuntu: {width: 30, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAAGN0lEQVRIx5WXfYxUZxXGf+97v2Z2ZmE/htKyG7Z0lrBAAzbFFkO1xVK7NUSNBiS1RhNSPxJbaiKtIWJbTIrR1kQt2phIgtGYaixEgp1IFZdqky60a0u67Lq7XbpsWSiXmWU/5ut+vP4x7+zO7g7LcpL5Y+7cOc89532e55wruE4MtCcE4ACfAD4L3AW0AvX6lgzQD5wCXgVOAn4y5ar58orrAC4BHga+BzSxsBgBXgAOAVeu9QDiGqAO8BDwE2AlCw2lMYRAd+Ep4Ggy5XrXBR5oT9QDjwPPcEOhkLHFCGkQTF6FIAAhQuDHwE+TKXf0msAadC/w3etXpqZTSInV3MriL3wTGalh/B9/IvfWCZ1dALwIPJ1MuelyCnNWex+fD1QFPgQ+MhpDODWla4UsCkHD1/YQ27QVAHvFWi4O9+ONnEMYJsB3gMxAe2J/MuXmpoA1kR66VntV4AMKJ7kOu6UNa9kKjLolgCIYdcm+dQKzYel0G+0IxuJGvA/fB2Pq8veBdwfaE68kU25YrniJJtJc0GIeqylJkLlMfPOXqNv2GAg54x5nzV1cPfIb6uwIwnKY6DhM8VwPwjQrb7OAHwCdwJChq31Uy2YOqN3SRuPOpzFvaqY42E3Nhi0I2yEcSxMWskinBmvZbfjuBYr9ZygMnCHbeRxvuA9hRWanvBkY2NVa844YaE9ENPVn6FT5HmZiGY07f0h8yw7wPUaeeQTr5uWE+SzhqAuAUZcgsv4eaj+9DW/kHGFukuLge6QP7sNPXyqfcWX0AJtM7UhNs1krDIP4fV8kvnkbAMH4KCo7ztirv0MVcpUqInvqNXJdHSS+vR+ruRV7xRq8kUEyh/bDXOA2YLXUNliRKET5Hvata4h/8nNgGKhinvTBZyn0vg2Bj7Cc6Y/tEIy6TJx4BfeXu0vkMi1id7fjrFyP8r1q1LlXau8FpVC+h7CjCMPEXLocZ/UGACY6DjP55t9RfnEOsQCQElRItquDiddeLkmqpY3I2o0or1gN+GNSGz7CiVC3/Qla/thN04v/xLypmYmTRwDIvftvgvQlkMY8ri8IxzNMvnGs9DUaw761DWEYFWYzFatMoB6lkPF6GnfuBWngrFyPN9SLd76PMDumiaQWZJv5ntO4B54EpSgOdiOcyLSHT8dyc4Z5VrZRSO23cr4hNhsXIU2MxY0gJPLS+dJ/lZqTQgIZhCAcS3PlpT0QBhTPdZN75yT2irXIaLyUaCEFC4HTuo76R56i/iu7id5xHyqfLU+ryhiSWsMor8jVwy/xfnsjQ1/fQDg5TuxTnwcgsm4TZuIWCMN5B4exqGHKr8PcJMXhPpSq+p9eqS2sFIYJhoWwbLzhfvLdpZ9q799O9M7NYJrVzqt0zTCJ3L6R+AM7ACh+cJZC95sI064G3CX1ujKzY6ZJYfA9Jl//K6gQDJPGbz1HZPXHEZZdkl7gl4ZHudKNn2HJ7l9NuV6u8ziF3i6EaVUD7jCB1/W6csuMMa0UE//6C07yduJbdmDEFiGjMWrv304w6uJnPgIUZv1SYvdsJb5lB/7FDwiuXKTwvy7Gjh4Ey6kG2gP0mIAPPK/3pGlow8S/NEz6D88jahZR7OtCWA4N3/gRsqYWwgAFCK3t8dTvKQ71oPI58mdP4bkXkJFYNRkeACakXsYOlUk2A9yJ4g314h54kszLP8dZdWeFHowp0GzncSbfOEbtg1+l7su7qNn4IEa8DlQwO+UZ4Egy5RbLOk7rxezPWmJTwhR2BP/yhwhtnf5H57GabkPG60rsHR9l8j/HaHz0WeyWVSUyPvAwudMnyJ89VeJEKQrAPn2spQ0kmXLVQHviqF7M9sypXE+YQt9/yXd3IgwDGY0DgjA7hojG8N0LlE9U5SYIxzOz9fsC8Ldkyg2gYjH5RX823NVa8zYQA+6u6g/SQFh2yX/DAMJgSi7ecB8IiTfUy9Wjv6XQc1r7tAD4NfBcMuWOzbfeNgBP6B3JWvB2G4bI2jqEZRNkLpedrKAr/Vky5V5ZyEIf1XN6L7B+4at1WCKxlGUi7dPtzd7IK4wEmoGtwGN6c1hI9GjJHAEuJFNueEPvThUPYANxDXwvcAewClheNnygF+gCOjTwRDLlFufL+39gRWU6kzjCzQAAAABJRU5ErkJggg=='},
  20.     arch: {width: 30, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAADhUlEQVRIx72WXWgcVRTHf+fOzO62ja0lbUeqREiVBpUOWypRqFJRVomID7GtFgUfVCw6FkGfLCLxyVYIOGhRDFSEwq5goaCgIOKjVNBpVVgTSovVdCQmNKb74e7c68NO/Fh32802mwP7cu4993fPOff8Z6FL2xSEGweOnMp1G6+6DRQYd0Q9M1KY7OoMu5sgNwjXA48ZzB9z1bgPmF+RjJWSURGRmjbrRHh6xUptC/schcQajOHwioAH3jk9mFLqHkcJjgUXq7HcX5h8vufgVba87VhgKyGlFJW6pq55PJefTPUMfMvE90NpSz1gK8FRgm0JjqW49Gc8DAz1DJyx1G7bogFN4I6CaqwR4d3egA+dFMdSn9kieccSHOsfeGzAGHPHSGFq17KD775+7VhKydcpS45ZIkcdJcZRSa8tYa6iyTjy6vCHRatDAbqy3Zv/yRXDBd3IDG34RhvjaNhmQBIf16btOG2rW0+Mbikui3KlRF4yAsaABoxhhzbSuASgjaCNoRJra42jAiB31RmPfDSVsRXnDaZ/EWaSNWOSyyQXiLXhmrTFalvtyj88+NVVZbzaljED/RpBa4NBmCnXma3ElGoxsQElkLIUfY6irg2ZvtQbuUJx5+d7tta7Aj9yfOpGW8nLAFGpxvRCjdlKjDGNUsm/6lWNY+arMWD4ZaF2++Y1qSxwcsng3MeTYltqrFQznPqtRLmu/+6NSOueNfxCqabVTLn2HpBdco9vm/jhOhHOTC/UVyn538ZZ4BhQB54A+lsdnLZl77n92wpLArtBeAJ4qM3yUOR7xWRfBvgZ2NBiXxHYHvleqSMBcYNw52Wgzy5CASLfqwBP0Zi0ZtsK3NeRcrlB6ACvt4HOA++38H8JXGwTc7RTycwC7TT321aZRb43D5xpcl8CfgXWu0H4Wifg45eZsAuR75k2a6ebJQA4B+wFHnSD8Ia24+QG4QFgc5cfFd3i4d4J3ATsAWZaHuQG4TrghSsI2c1uELabhO1t/BuBL4CD7TJ4FBhsCqoD3wFvAXdFvpdtV+rI97LAMPBm8hbqTZxX3CCc+M8cu0G4tsWrPAKMA+cj3ysv8X93GtgEvJj8Fq0M7Ih878dFcD7pw+/Ap8CByPfmWAZLkjoEjCYi80Hke0+KG4RbgCngMDAe+d40PTA3CDcA+4ExICtuED4HfBL53llWwNwgHAAO/gVwPkSB3nUbowAAAABJRU5ErkJggg=='},
  21.     bsd: {width: 28, height: 30, data: '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'},
  22.     apple: {width: 26, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAABoAAAAeCAYAAAAy2w7YAAAACXBIWXMAAAsTAAALEwEAmpwYAAAC2UlEQVRIx7WWbWiNcRTAf+e5z4aLsTWUEvOSpGVa0eRdd/hgfFAWebkpstrwQb5KyZfJvph3z4gkShTWvd4iIj4MTcqY11jbMO6dzb33OT7s2dp2tyn779S/ns7//P+//znnOacj9EOC4XwfUAhsAX47gdCy3mztfkAmA2eB2Z7qTl/2dj8g14EpndSP+jpj/adDB7tBEsA5o6BgOL8AyO2mPuIEQtWmQ7cIGON9K3AN2P2vQ3YfL88CRgIx4KsTCDV4W0OBJqDGy1MpMDwYzp8E+IAfwDsnENLO90kPgMXAUiAbyAT+AB+BZ8BDIAsYBnwCmoE8YAYw1gM1AM+BsBMI3UoCBcP5qV4INgKTenG01gN+9x6RA4zrxfYNUAGUOYFQpA30UKUwurzMRov6U1vdRSBho47ADhvgUiRv6wdSi10QMQchAbGXMvjVqUAoKrHKqRmtWK9bsDIENeUMijTXi71z2qC5DgsPxWwLVvtxM/y4GJS4wOXMpdXH2lIKNhYrVDEtEVVKu9RR/Es8W4xlpiNBDanra6q6gt7HRxv2Rr0aS+p1PsyLPwmkrvxQVzC4RF0ZX7dmZpd6tH/XptWiYjR8qjLUbbXXAmc60lY7a2E5ottMx04srcJiyYQH974BWGK7Ny2fi+klotmi7uG6vNyxbR7NWZARY9AnFRkyAD8FCXx3ozK8TABuzN1xukX8G8B85QpKiv65K/vmX5QUjeUOIfKEARFpTODbLgDl8w7bQIWluk4M9iMVwRW5Aqzu6D0HFh+fHh2ccj/u86Wb6eKCqn7Oqm9aFXxc/LSjqI4uynmV3tyy6/2otBNGAqa0Zv5qPvBiT97T5Jnhav0IGn/tRbXEgEMVbJq4GRE3ea4rGNWE6+5H9SSq9LB+onob1QuoVqIa6cXuPK4WtUN6nIIAOFmTBqwESoAJQDXgAJXeqNV+1vbsgt7U9BYoB86zeXKs85V/AeUoStboA5DrAAAAAElFTkSuQmCC'},
  23.     win95: {width: 37, height: 30, data: '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'},
  24.     winxp: {width: 34, height: 30, data: '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'},
  25.     win7: {width: 30, height: 30, data: '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'},
  26.     win8: {width: 30, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAABoUlEQVRIx+3XzWoUQRAH8N/MToyiyO6amCCKkvj1AF58Ds8eBc8+iTfPPsC+gAiCCL6BBw969jS7BNSomfFSA82wG3YnY5YFC4qu/qr6V3V3dXemb5qUGchzquoq7gXfj/IhhtnKSp+M6pAH0XoRB6G4Uf4gyt0FmmbZHLQNS+Rt3MENfMYWXuMWbnaIy7QwKbdD+RUcBh8k8mEYhBme4Qsen2VFCnzAXQyXGP8HdR9bocAja6DcmijvK3Qb5bH/a3xehrN/OH4RDQocLfC8Xc8ic/3GSfRP54ydJ9ctPdMCL5POKikbOW3/jk8o8QI/k7FVa349p62Rjwu8TQyfZrQOb7/hF96E5zqEvyrwfoUJJ3iKr/i4wrx2qGd5eLT0dRberkrt6zbPOyo56xGsuiaQeqMz18YYrtcV6qwvj/N1bK4C7+KhN4pyeB57osDzeHjvYR/Xoz4OEOMAdS1S5qAPANkpv4ZLAaLhPVyOCP3Aq/hFjAPUGBeWzYDdNsqkLCIquwmwRt4JIA3vBG8lGo6y3g/opMwTUCnv43b8q0Z/Ada0bvENqS0vAAAAAElFTkSuQmCC'},
  27.     win10: {width: 30, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAABRklEQVRIx+2Xz0rDQBCHv2kDSi0eFCpo63+rbbVF38Y3ySP0VXwHPfsAhRztWQ/eTTYZD93URbTWhBiKGRiyWch8s78Jy4xQpPlBE+g6fma9LfmDT9agngY8B0bAFTBY8FXoLZn5BtAG9oF7hCbKA3AD1LPkK07wFnBgARc282srkWsewhbKSw6dQg8/mAKH/LHVyoCmYCpwBa7AKw32gFvnPXLW5ptnAvIKOgQxkBiQCIhnLrHdM6gYxDMQxowH5hNYn5yrO5oB0oDzvQ/wuK8WMslzYsEP9NcqqXQQnebgvmWssWrOEksto05a0l8tJYE1+W8nrpUFpiypVVa3xmJb23VgD9gFOsDQ9swjoPXF/b4NPOdpb5ebJPxgx3ajR8AdIpuoPgK9YsGLk2oAx9ZPgL5V7BJoFAf+ObF0purZ+aoLnL4DlP9aKWc3fxMAAAAASUVORK5CYII='},
  28.     winphone: {width: 30, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAABfUlEQVRIx+3XzU4UQRAH8F8vk6ALLiTqwYSoc5KshFWJXnwAXmUSvWvm7jNw9uRjeOHiE+jJF1CPQhBm2gPlZWII7CxOCFbyT/f0pLq+uipVySVQVb5ZYukW/uA2HmMr8CAtRlA9xQ6eBe5hjBWsouiwHBZnX/g6MZlggnWsJT7nZCz7gEe4M4euuehovoOnmOEJNnAjcBPLmV18w8s+Xiqqsv4UgpbPydMuIjwFXhiARgaiEfJVsThdO4v/C75SMR4VeBsvte1Upr+tCV9wgFc4ivMcaxP77nfbQVOQPsa9zelhajMnkTjHyKPW6b+UWnzf+/ruqCrrvT4mp6qsL+rqXfzEfg+5zWiOot8E+tCveV91vlZ5nKShLM4DCU5DxTjnYWJsUTH+EQXh5F+mUxEd/jrWokfexDQ6/mmcd5TNuW8jci7umBRmeI73pGPyflS9cfTcF6HDudWuyno15qJJeOVhKLcduH8G+0G6zOpUlfVGKDOLCWUTd7HyG+f/YjXeIik0AAAAAElFTkSuQmCC'},
  29.     winRooster: {width: 30, height: 30, data: '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'},
  30.     android: {width: 25, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAABkAAAAeCAYAAADZ7LXbAAAACXBIWXMAAAsTAAALEwEAmpwYAAAClUlEQVRIx+3WTYgcRRQH8F/PjLvrhJA1GgKLggElED0FEbsEIScPgniLaN80Ry8q6BI8SQ5J8CKoEA8ebFDBD0QQvfhBTDcbBYkfFxWUYLK6IRuiuGaT3WkvdWib6cnOjnryDw316lW/f1W99+q9RAvyIt2OB/BuFsrz7evCbqpb8UUWyl+Grem1/ZyFcjkv0gKP4EhehJmEHZituEj1axbKVao7sdhGMJIk4gL6eZG+TbWvYramW86L9Cu8hw9HGUmucl1PYv4qGxngORxuu9akheA6HMGjuIQOpoYsvRxJZvAyDmahPNdc1BlCMIUHI8EZkifwSsspXsXj+AkH8HBe3N3biE924Nk4nqXaj+tbSO7CLbghygcYfIovW0nyIu0irRndgntG+OO2hrwHu5sknSEnux1X8PsmPtiVF2n/b47Pi3Qr5rCKJdyPfVgzPqbxPj7Ctiif6cUQnY872U8yR7U3Rs646CeSk5XqvhjWOzHfq+XBFjyGH3CHzWMu3sTOKD9d90mFLtZNhvVG/m1rOr7yL6DjP8D/JBOR/FOkSdPoShx38duoGjMGwUpNXurgeXyPz/EGrpmEoVLN4E2cwI843KP3DGvHcaHT6S8MBn/eO+FJ+l3d19etn8L2RPJxLwvH1+KjJi/CdCxAk2CpUl3JQnmypWgNLpO8g4AbsRU3R+UaFnEu1pubaoHyM87jND54KJy4tJEaPxeLT4pDtc7lGF6L/dhTuDbqjuItktNZKBY31BJloTyLs3mRTtemV/FtFspTeZHuajykX2ehXBg7GfMiTRodSlKLvKnGLUxtNuOThr4uD9ONT5KFcoCLjTKwHMcrtYSr8Mckb9c3eDGG9TF8EucX8BK+wwv4bJSRvwCU5slvZWEwKwAAAABJRU5ErkJggg=='},
  31.     os2: {width: 30, height: 30, data: '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'},
  32.     haiku: {width: 38, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAACYAAAAeCAYAAABAFGxuAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFB0lEQVRYw+2XbYhc5RXHf+d5uXd2ZnYnu5vJhrz7tglpVHxJSmulX1LBL0GqiIKIH1qw/VRoPxnwY2kpBUEE3ygiloJaS6NFoo1FxZiQGmI0ukZM3O3mZXeTTXYzMzs7d+5z/HDvbhZcw25epIgHLnPuw9zn/uac/znnGVicvSIin4vIAPAh0MvirR/4VEQGROQw8Jf5vuQWs6OIXA1cm/spYFWVRe5RADbMuR+ebw+zyF8b5vgpl8fCfIuG/1P7Hux7sCtt7lt/o4LOOBeoSvftc2kaVRxxxdHR5+nodis23Nt7VzLRnm6OTJ/Y9+TIYDIZJmWRzXE/cFN+2wJWq+rohZ655ternfVSjrrduuM7xobW/2LlUy6Se6JY8BasKE4U7xTvwBIak/+beu6KRax/+7py1OU3usjcYWP7YDqR+HiJ+6MtmHssIEERwDrFOfAevFOO7a3Vdj8+euyyg/U9tLSj74bebcaZbcbyM2OkagxgpVZaFd/rLTgUb8FZJfLgTGDqZKt1/EhzbP/zp3dMnUl3Xlaw6/9w3W2+7LYjcpsYuqyAEbAGCj22XNzcuSU2irMZWJY+JXJKs92ePPDX0y+cO5G8BBxyF19ZqnlFmf7frO7purb0qFjzoAgVERAyKGfBGsUbsB225E2mpciF2fRZgp48UB+cGE7eBT4Bmu5XryytvPTbicapo0mygIrCFSzltTHVWzpd9cdL3kvq6Wftph6LYvMwCiJZczQzwjYZnLMZkM8/nVciB84FhvbWRvY8c+afwEERmqrgetcVdv78T9ELo1+m758YmD6699mz4/NB3ffvjR27f3+suPKn3VT6S6QBmyahn3ZYXljiStZmQCKKMVn6rNEcKovMLJxTvFcKRWX4g8bUv7aP/B34h7FyPKTZGUh++eLypwN2q4lMQ5w93A5yqFnnk0YtDNZOtU+ePNScWLGlvLzQG/8OZx4IKi5tQ1CYOUbJDJCAEcFasCZgcyjnMk1Fca6pWHFGGXjzHG89Nv7FudH0fhvJgbSls1kTYNmaWwubu1dH1xerrr/U59cUq77LFq3zZQfGJEGkW425LrSVoILq+b49qycDRhRrMt9ZzcEU78FoYHywOV0qC4Q0PrijxsFX60zXwnvAT77WM/PLAUWxVOKyrbpYlomRqiuZbmOklDRDdMvDy+7s21TekrbnUp3XkxEwJgOzVnHuPJhzSuSVof31U3uemzg09EHr9rStRrNhtAvYOh/YfGsW8ECUQzugesP9va/94O6etS6WLFJ5OxDJYIw5D2NtJuwsYhlcSELy1hNn9r3zTH0z4EUEYJeqbl3IrFSgnV9Tc9ZHDv7t9NnRjxtrb36gh+UbC8Qlg5kRuyjGKqKBVi1tl5YZFxUy8aetlLPDSX3nnyf3fPxG813ghznUN4+/RXaw/cBNvihc9aNSumlb58DSNW5VZ9VUOjoFH4OmKR+9VhtOpjjSs8pWQiv4kS9a4/99eWrf6cH0dRFaIP+Z8+4FR+xCQxyApKEc3lVrn/ho6pFVN8YrOipmvYtYaSxdBGR8OBk4/Pb0675APW0ThzY1YBhhDGT9QgJyUZ0/B5Rzo2Hfp282JoEi0AkU8sNnAxhLmrNSyKaEogvN0SXNShFSVepAHRibIw+91Ll7JY7Wejk2+c78GfFz/Ogiqnq+TuAuWWOquktEhoCgqi2gueg8q04Ar+YFZPIW9DX7CrcC7pE7eyjDAAAAAElFTkSuQmCC'},
  33.     solaris: {width: 46, height: 30, data: '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'},
  34.     firefox: {width: 31, height: 30, data: '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'},
  35.     iceweasel: {width: 28, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAABwAAAAeCAYAAAA/xX6fAAAACXBIWXMAAAsTAAALEwEAmpwYAAAIcklEQVRIx62We4xU1R3HP+ecOzN3ZnZmZ2d32TcLu7xfu6woWlCiQovR1iKmsdVaU98vai3/9C9tqLY1RqOUKtZH0lJfiMUSowYVBYOgwgICu/JYhMVdHvuc2Xncufee0z8WVyhomrS/5OTm3HvO95Pf7/zOzVfwP8Qdj67/xQ0/mPLHQsHL3PvEhqULzq+/bUJtif2P9W3BEwPZB/a/ePN7/D/j6Im06e7PmYKnzYn+rDk9tuzpMktXfFBQ8x6vOX2P+E7F5ocablg8c3p1WVE8Ylt2aTxcEY+GJiaiwZmlxfbUmRMqCQcV4pTKsf48vjHUJMMjEivW7vQ8z1/q+cZeet2sP52TM+euly5e8+G+I+lswXxX+PrMuTbGOK5vjDHG9bQZzAzv97QxBU+bB5/fvOMs2I0PvXVTzvHOCdCnPX1tjD714pNtrWbn3oPD4r42g1nXHDmZGflujDEnBx2Tc1xzRkkvueeVcWsf/tH+kpgNgK+hL5Nja+tRenqHSA0NIaQhFLJJxKPMmlZDQ3WC5uZmwuWNfLx+DZ42eL6hb2CQRDxGJGQBkHF83vz4YNY6HbjoknHPlMRsDNDVm+bJpzez46M+frZoGhMmjiJcW4NQkM/mSKcy7NrbSXV5nG2ffUZXygfAkoITKZeWaZOZO3cOr61ZA4DjuNz08NtT5Te4n0a+f8GYSwHe2tjGnJaVJJwarr9mNrHiOIODmoEBj/Sgj+MEgTjtBwZJOz5aKOqSoRGliniQv61axbJlywDY3dHjNlz33Lzc+l99OZJhyy1XTpxSnwRgyd0vcf3iazH4DA3lKLiKaNQilFVIS4LWFAoa1Q+7vzhKTVUZ46tjIy2vJCyYfznZgqbtcJ8zvbHc/pozkuG8mXUlANpANGzo600zbUYC34PUgEs67ZLJeOQyHtmsJpv1iYbKWbnibcoTEV5b/Srr1q0jl8txoHuIA8cy7OvsZ8pP/nr+6cc2Atzx+vZHAISAbCaDk9d8srmHyxfWcNHFlRQXhwiGLIQQSCGIRANU1oSYf96FvLp2E3v27Gb58uV8tGkj+YLLqpd30zL+qsZLZlbvPh1oATSWL/m5bc0/D8AYqBsT5Le/a+KVvx/CsiSO47P38wGCIYVUAqPBczX5vM/QkE9391c0zGnmsafu5aU1rTx73WoqYxNpGnPr2xtX3jjhdKACqK9YstUVWLfc2kDB03z82R5UfjQb3z/G9q29aN+QyXhon2GYZyg4mnxek8v6aD9OV3ua3u4+9m8TLLh8Ajtb+yiKji4d6F33nEsmNVLS2viiK8J2s93Xk8VH47ge05um8uyKDpy8IZ/XdHflGNsYR2tGhu+D6xoKjiGX8SkqquSu++ax8MpxfPDeSerH2riuYUzt0jfOKGlp8oof5/MplCv5cFcnVcUx0tkC+XyQvAPhgmGg30MpQWVVhP6+AlobXGHQvsDzDHbYoqQkyPvvHGPPrkFOHh9ek0xKwuFLx53RNEoWX4gooB3J8ys72NF2hLUvtyEl+B647nBGh7/M0jA+TmmZTTQWIBBQxIsDNJ+XpHZ0lN27Uvz50f2kUz5SKgKWRTpdwNde/IwMhQyOdR0fFVC0/tMjd+AE8mQLlm0IBi2CIUUwqPA9qKiymd5UTHdXnnTK41hXjtZt/bTvSQESbSAUshBCIoXEYNBaklCTJg347e2nroWICiGQUiGUpKysHM8zKKVGhhWwKCmxKSqyqK4L09SSIJEIsHP7IH09LpalUEoipcQAQqhhPSQCiZJ2+WnXwuQQMiqFQSBwpIc9tx+rBPz2MowJYgyUjgpRFA/geQbPM3R25oYbyBdwSjgYlDgOKKUQQoABIQ1aO/0jQGO8L5VSU32jkdKiLdtFpM5QXVZE3TUBHC9HvZsgYEnef+cElVVhKqpCHD2cI5fVuJ7B90FrgW0rhlIapRTGgGWBwNDvt41cfkvr9KcBa+xU3/OQQqHyIaqTAUqLw9SUR6kpjzG2Ms6Lb+1DHkpw8IscxQmL2tE2ez8fQvsC7Qm0L4nFghzvdpHSQqDRWqKUNXRGlw4MbvpXSTKOlAojBDMr6gkEJdVlRdSWxxhXkyAZt3ngttn84bGp9Jf00NNTIDXoU10XIRIJUBQLYkcCJMts+vsMkUgQXxuUClK+qLPvLE/T0viqCUfG0tQSYWxjjIXXxtnScYTZk6ooKwlTHAkRDlkj3iXnuNy/7FNm145mV2uadFrjuYZgUJFKGQ4dyOA4LlXjwlx9j/rijqubJp3xayu2Jx+P2LOu0jpPSTJIR5uL8BXVYxR1o+LYIYUU35iDgKW46rI6KhoU2w93ESfOzXfXkE4ZjnQUAA/HE/z+hUr+smbH04e2rN5wlmubMfqp7qqaOZVlowRNLQluvbeKl1/soHGWZMHsxnOaLQMYYzh8LM2adztw95Wzv32QvpTDgtsDXDqrlqn1JeKcNjFKVen0yS/0XHBRI6EwVFVFkEpiRzPsONbKimWLkXJ4udYGbUAbg+tptIGCp/H8r+cGKQXLV2/b9MidF1/yrb60PDS3dvLkBzsX/nACdhgmTo6SzUA4Iug+vo996aM8sORqgpYiX/DxfI1vwPU0rq/xtMHXBgG8ufngkfsWN9f/Z1XOMsKJwIz4mLpffnXbPdcXJcsMpWUBQiFJtEghpEtXVwdb9h0hXpFkwfemkIhH8fxTWfo+m1o7eX1D++3vPn7tM+c6BnGOeQJIjorNv3LGpF8/cdf9c2kYr4gUSYqKFCFb4jqant4h+vqyDKUEr6zq5cMPnnznK+eN37jpVC+60Au4/y0wDsSAIoEojgQn1VUnL7qzrHTuZdXVk6msLmUoneNwxwF6B1r3d53c8Ex/dvtWbXL9wBCQBlLfBvw3/C9LO2bmBY4AAAAASUVORK5CYII='},
  36.     opera: {width: 28, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAABwAAAAeCAYAAAA/xX6fAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFOklEQVRIx5WWW2wUZRTH/+fMzF7Ytlt6AUpBofRGW+X2YAxoH8AEwYTEeAN8IupbTUh8kGgCQUPwycCb8oAaY4MPXrj4okEiaMREKi0C3VKgSIstbWlL9zYz33d82J2ltDu7OMkmO9/MOb/97/l/53yEItfPDY0LKw1uDRBvCxOtN4kamFAKAFowqYBYXOtzSuTEsFKXN/bFRgrlI78Ha+aXhDprHvtskWFuYqDSZAaI5gSICADA0RoCDA+67snWK5ff+F/A802Nmx43AyfKDCMEIhAzCAADue8AIAC0CASAaA0tAgYw6brpAcfe/FQsdqYosKu5+d06K3DAZCYmAjODiMBEMJjRHY/HriSTxxkwW+bNe7k1HK5VIhAR6CxURKBE65id/mDd1d59vsA/mpo6WgKhw8wZkAdkIrgAvh4b3fP69esHZ8acbV75yYaysrckB8qAldYQEfSm0zvW9V7tnAM839i0tjkYPG8xm8wMI/shyrxyJZk82tLTvStfCXranvirLRJZBRHoGUCtBY5WODI+1vrO4OBlZMsCAFhoml8FfGAKwJE7Qwf9jPD53ZFXba0BIPevGMxgJgSYsaN8/vc7KyusHPC3hoaOhabVRHlgANCfSvV9PDoa8wNuKS/vv69Un3fv1dvLU2oY9R0VVesBgNtLI1ZDMLQbTJhpkgdVJtxOp44V2lv7bt1StuhLD5nDqz8zLGZETWMfAPCh2qXLAsw15NmfaM4+64nHTxcC/pJMyoTj9s1eZyIQZXLWWoF2APPNhNJPWkQhJoKRZ2Ontcaw0r3FOtKU1jfyrRtMEDBCIvhxxYrtHGFu96TPVgcAtgi2V1ZMFQPes+0RUP7GRUQQItSY1nMcZm6jAokEcIhIF1Wo3Ak/GGW9UGYYTcyEJZlFH6yIK1qK8ZBw3YRv/8wqDzKXMATzCrdxSHEcYGvRxRo2AUEWwCmSix6BB4v835MHSRQrkWHxVvO9TGT4mWHmFWAjWMgIkjFgnONa94oIxIdIQMCk4sSoyaV+9RAISATjrnObx5X7q2SbruSplgmgOxG3igEjVqDcT57O5h123LNcwsbvKaUUJL/GIDN6puNLiio0zNp89hIRQARKaxwaGT7GnWNjA0pkJDNO9ByVJjNWhULrigHLTGNZPrN446o/lbpzcnr6bz48PjZ5MZk4zt7D2b9SBPUlkc2FYO9XVXHUtOpnx3knAFdrDNjpvbnxtLG/f/eIbbs6q1Lrh7fU0kDwpULA12qWkAmsnrnmKdNaI6H1RH/a/m7mAE52JeJvOkpBedN6htLqQMD8qb7hRT/gn5NjW8tNs9qrmTfxldYwRHBq4t5Hbw8N3p29qa2uxqbTLeHwBp0doN55hogw6jiXqrsurMWsRtERLa/cW1c3UGlZEQFyqpTWEK1xMZH44elrfVtzI2tGrLMm1vtsdyLRL1pDZdW6KpOgyrLa/lm1+ubBBdUrvYD9C6ob31u+/EKFaUaUlkxMNg4iGLLtoT13BncWbFvPR0qqPly8+JumcPgZJgIxgcEgAgwipAWY1u6UCKTUMKJBZigtEHlwRIQIelOpc2tivdsAjD80H2cDrzl24tPxsaPLTItbgsF2QqZTaAAaAEMQJAqGiEIE5I6DKutwR2t0jo8feuHmjR0A5kwQw88IJ+5PnYmlU98+ZgXEEb3IAkWDRKCsAkimXRGAuFIYcpzB66lU5/7hf3cduDvyhV93fqRJUMpsLbKsulei0S3NwdCacsOoBoEmlRq9mkp2fTkxeeqmbfej+OTBf5/triEdK/H6AAAAAElFTkSuQmCC'},
  37.     safari: {width: 30, height: 30, data: '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'},
  38.     chrome: {width: 30, height: 30, data: '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'},
  39.     chromog: {width: 30, height: 30, data: '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'},
  40.     chromeToilet: {width: 21, height: 30, data: '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'},
  41.     edge: {width: 28, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAABwAAAAeCAYAAAA/xX6fAAAACXBIWXMAAAsTAAALEwEAmpwYAAADJElEQVRIx7XXTYxeUxgH8N97551Op9pqaUxKF4oKkapbUaKqmxsrhgULRDQWEppoLDipEGVBr4jPpBHCyufGRkQqtz4WTQkzl4xFBYPWRzRB0UbHzPS1OSM3r/e9M+1M/6t7n/vc53+ec56v01CDNBQNJLgA1+AKnIfT0IM/8S2G8C52YqzMs6PdbDZqyPqxEQ/iMjPDX3gCz+D3Ms9aMyJMQ3Eu7sctjg/fYzN2lnk2UUuYhmI9duBCs8MEHsLjZZ4d6UiYhmIdXsXZaNVt+QwxjsewbcrTZoXsDDzVhewQfsRv8XkCvTgV52BRF8Je3IlRvPSfh2koEmzHPW0/jOATfIy92IcDGMMCnIkrcSPW13g6hE1lnn0x5eFq3F1R+Aov4+0yz4bSUKxCUubZd20ROYKRNBS78CIu70J4MW7G1iQKtlS293XcWubZw5HsdjyAZd2WX+bZ3mijVePlxjQUq5M0FMtwUxRuw5Yyz/akoViUhuIRPI1fsKcuOso8+xQf1qhchDUJrkIf7sL2Ms8OpKFYHPNwa6wm79dVjwreq/nWj5VNDCJgR5lnk2koenE97o2KX+LnNBTNGHV1VevgNAta3sQwnizzbDIKV8aEncI6vBNTYTqcNM33U5p4tsyz8Zge83EtVlSU+jBgbrAwKfPs74pgCW5w4jAvaROcjEtOIGGjWtqSeH7tOBrPrzVLsj6MNyuCJDbWduzDm9hfrb3HgR6MNtvCuqeD4h94pcyz4bnY06Rt6w530Fk1B73x/4QxD/d30FmAwTQUA3PtoUrPa8cgQhqKpcdKkIZibRqKNVPv7UFwEG/gjg4HvhnL01C8ht1lnv1aQzIQi/UGZHgLn3ebaTbEca+/i70f8Fns4j/FvjiJeViM02NjPr+SZveVefaoLmE+HMe80IVwRaX0/YMjMeCamN/B5ljdGSrz7DBewK4oqkv4Ka+WYOFM8jTp0ky/ifPN7jmY3BpVG0lNBy+xKY6Ns0Gr2ieTacaGr3EbrkN5jESH8Hy8jzw37d2iw6WmgbW4GpfiLCyNU8BYHB9HYwR/gI9iULWqd4x/Ae476UvM5/VLAAAAAElFTkSuQmCC'},
  42.     ie: {width: 30, height: 29, data: 'iVBORw0KGgoAAAANSUhEUgAAAB4AAAAdCAYAAAC9pNwMAAAACXBIWXMAAAsTAAALEwEAmpwYAAADkElEQVRIx63XW4hVZRQH8N85c7yMptNsmpSoHZRWhpVBFy3splsIegkKuhDdwJKsrKBno8CHKCMiozQDC6Go6CWRHSrZRREtk0BSa9hldrGtOeYlS3tZE4fTOceZaRbsh/N961v/7/Jf/7VOxTBZmpdVVDEdN2ImpmAc+rAVb+KtIkuOVYYAUMMIdATQcUzE/fH1hOsxHMZufI8JuBDv4a7KIADH4AxcjzmYhjMxuon7T3gBy4os2VsXYxYWYXllAIAjcBHuixONHsA+92MFXsWOIkuO1sW7HbOrJwHtwlx8iIcGCAqn4mFsxLw0L5O6uR+xr9oG9DQsxEvxPieGwLkxWIxn07ycEGN/YX+lBeh4PIUFQZLeAB//P4i/Ak/gYkzsaPGm9+Jp7MW7MXUWRta57sFmfIXvYoM9bYAvwNn4HatqTRymBGgvnsMluAqdMb8PK7EKO3AAo2JjV+ABTG4SdxRuCbL9XGs47dhgbh/m40rcHXnbnybP4PUiSw43BO7F+jQvP8PLkW6NNhJT07ysNpKrBzNwB07Hk3WgsARLmoD+a0WWfB6ZcKSFy6W4odqgSD1BgBNxzaPqFmzAB0WWHD8Zi4os2RTy2JS7mFV/4r9DT7/FK+huWLClyJKtg2DxyhbjNUyrNLxxZ0jao00W/IIfBgE8Fue3mNteaagu12Btm2CDFZFWkry3ntXj8OIQAw3WRtTitB24M4pBKzuKQ8MA2oHe/hN3hWi0s6VFlswfrsahluZlJfIuOYnveWleTiqyZOcA63elzdOcqEUFeSwGfovfnU2cZ+Ba7BwA6BjMjmtt5EgfvqjhulCpw0Guabi5SbxT8GCal7uKLFnXBnQcHglpbWbbcFMtdgZlAE9vAQyX4fk0LxdjPXYXWXIsALsxCbfh8RbrD+KNIkuKGi6P/Py0yJL9aV5+gmVRLFpp7VKsw+Y0L38N8T8Hs3Bum1dYi9f65WtydAWrQ2cPpnm5KOrn1S0CjIyGb84giLwNC4ss6RPtaVe0qN/UifyuINyGYcqe7VhQZMmW/oEq/mimSlFh5uGd2NhQbTXuKbJkTf1gFZvquoPG8vZlsHPLEAB3B8nmFlmy8T/am+blTHwchXs53g5pnBSp1o2PoreagltjvFmreyTY/j7WoLe+p24E7oj/OfMwNSj/dZBhUzRy+4osORSNYFeIzMT4OgNwT5TOgzhQZMmf7a7jH8yrDsbUGvWkAAAAAElFTkSuQmCC'},
  43.     vivaldi: {width: 30, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAAEjklEQVRIx6WXzWsVVxjGf++ZSaouQkBNA36tBBeKDdJq0G0bV9KF0O7cu5Es3AjtP6DiqnXbiqIg2NbURW7QIoigBISA7Y2CEjFegyYXmxiaO+ect4v5uGdmTGLpgWHunXvmed7P57xX3hw61DAiX4oIGIOIpJcxIALZ9+K+xlJVUC3uxWfv8fl373Gqv8v88LBGIakxBWlBmP1GTlwxQFTRgDgnKBniXEFuvSfOgaqehl7KOp6rKqJaGKXeF3sUEECNQbwv3onDEPMhT4Nnhdci5NSaeQxA5qUYg4ogzhV7crzcqBgRTMVrMsKa1/mzINyimnqZEeJ9aoxIl9z7dE/2HJE01GoMRgS8Jxoa4pPRUWT7dmyzibt4EZ4+hSiqhTyLcwqYh1EVs28fPSdPIrt2Yf/8i86PP6DNJuI9mmO0jxzRKIoAiLZuZdOVK9DbW+TCzszgzpxBFheRKCpHIC8oSIvJORgYoPfcOejvLzCSZ89IRkfxi4uoKom1mDxnWEt04ECJFCDeuRP55lskSbqkxqT1ENaAMYgq0d69sHFjCcNs3wHbtoEqkoXbFC0RReibN/XmFCEaHkaHhhDvy0Q5eVCM+u4dWFvGsAnabne1AQLiOMY9eICfnq5xR1s2IyMjSOZJiTwsujhGJyfRdrvMe/sO0m6X+t9IXqEiyIYNdM6eTUWg6vXQEH7/ZzVSMYYQgyRBA+Ndq4Ufu5lWdoBnyskw+JkZ7LVrNa9NXx8y8lU3f1k1k7VT2cU01GottjGBvnxZx9Ou/KRAxmDHx9HZ2frmvfvwn38BzhUarNmVSyWA7N6devv8Of6PO2AtWpa6zOM8tHlrtFq4sbE6cU8Mx4+jfX0peVWPrUUOH0YGB9GVFezEBLx4kUakwmEKslDgAXv3Lv7Jkxp5/OkAeuoUumVL6mmSoJ1OCr5nD9GJE7BpE8n0NNy6hfb2UuLI05wLSFE0mUJJkhAfPUrP6dP1HAL+9Wt4+BDm5tLfd+zAHDwI/f2498sk33+HTk2hUZQamKclE5BYg/NTMtlUY6CnBzsxQTQygtm/vx72wUE4dqxWXAq4RgN9/BiiKK3mjCOMajfHlYM7L/vO+fNrHv7VaLhXLdwvN8pyWsXPc1ydHDQ/yEXQ2Vns1at8zFJrcTd/g7dvCyyfh7lydBqteFqbIuKY5Pp1tNVal9g1m/h799AkKd4PMcO2M3koNPQ0v2eXX1oiuXx5TVL/fjnt/1evUMAHxRSOQlrL8Qc2hVbb+/dxjx6tSmybTdz4OJpNGaviFTleZUKsbvbz89ixMXR5uR7ivxexP/+ErqysjRPodUmrq5aWJDGK6DQa+KmpGnEy0cBNTkLWs9W+rZLWiIt857kNQbJ+/efChW7Ivadz+zb20iXo7S0R+sDoKimAzA8Pq1m1RaU21OMcsnkzZmAAdQ6dm0OXlkparIH01o5YwKlmc/Va/wzygT0wgoUF3MJCIf7hCbcWYUnz11eFLlAx4AUTZulU02KKXnfFXj2RMR+1XytEtdTwccurEi8nK7+K8DX/b+l/2Cuq3PgX/bebpGg0lVgAAAAASUVORK5CYII='},
  44.     ucbrowser: {width: 30, height: 30, data: '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'},
  45.     yabrowser: {width: 29, height: 30, data: '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'},
  46.     vatnique: {width: 30, height: 30, data: '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'},
  47.     anonymous: {width: 30, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAAB7UlEQVRIx8XWu2tUQRTH8U/WROOL+IyIIKJWPpo0grFQomCXwkZQsBGMYiUprE0TUgUslPwBloKFgTSS1GlioamsDCGFkFUk0Whcm3NhuCbZzd6764EfO3PmnPly5+w8aNz2oB+vMIvV0Gz4+iOmVDuDKdTqaCpiS7ETmG8Ammk+cgrbxDagmSaKQk/iQxPgjzi11cSVOuCLOJb0a3iHmziE/biGt1hP4npxvsgXD+FXAH/jZTJ2F4/QHf3xiKlFzlAR8NNk+b4m2+Vx4h8JX3fEZP4nRZZ6V9LuCMHtxN8Xvz8CmNnurSburAP+k7T34XMs45Fk/EW0R7C3rD38MKlxXmu4FXHPkvpmNX5QBDyApU3A9yLm+QZjS7heBHwQc5uAj+LAJmNzkdt0jZcxgwvYkRu7nPzZUluPnOWidT6OlQ2+6mco71+JnFJsbAPA61DeP1b21TidTD6T+GcS/7QW2DlUA7CIO6HF8FUjpjSrYBjv48WRfd23UNZfjZjhBk7EujaIT3FYNHolrkXO4HZhnTiNySbu4bwmY67Oekt6FqMlAPMajbn/KUEX7mOhBdBMC3F+d6XgS/jeQmha/xsZdGdcbbU26U32aulJ9me71FuJR1mP9tpABVe13/oruPIfwH0d+ILDbQZX/wKwkU9Vein3SAAAAABJRU5ErkJggg=='},
  48.     trollface: {width: 37, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAACUAAAAeCAQAAAABKh/mAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFJElEQVRIx42We2yW5RmHr4/v64lx7BFla7EDKlIypQ0ZbAhDQGDLlMOcyxitjrnFLEHjFhcW00TGtjABJ3HMODylmI4oIhUwUkAyhiJD2jEqpYWOtaWFdm3t+fR91/7Y109gavZ7/3ny5nmu+36f+71/zxMgplF0wYSUJ5PzTQ7Eh5KCYw30ECEAbcG+pF6uDLYM1fddbq3praadrlDHUC+k0hJdH+AapeTGl72ccTtBEglygATyGUmEMO000Eovg/TQzgni+xpb3m3mII9DIn03ooI3B6tqRn0JGKKBw6zkHDUECTFEP7nMJEIEkW46CdDFn/lDc/MSPoRM/kVw+OMGCDz3dt7twDk6+YAMihnDV7iJ0XRwP6n8m04+ppJ3uMR4MunnXlZ+ofbH5+M5/PFwPqOBUTOWOqjut91XPOybhh3WP/woOqp3n72qvu0WVQf8uqGpXKfKo2pYPemrHlMbLPeMbWrE6iiqx/djAc5bpepauTvKSAb4/qLI8JSIetapxhky3hHmWx5b3mSbqldtjgbWP8nrkBalrcUXrLBJPekpj4gTRJxhrSec5vYoKuxO88SR4jds8m9e9KqF8tv/VnBj9vpHeZBaKriVLN6lixKWMotaaniNNCZTzSHgIfbQDMwih1u4k3l0MpIWyqhg2+4Ad3zzg4LQPdxPPXlU08E65jKBqzxOIjuAozzLdlIA2EwrG2Pbe4lqIjQzhptZAJNKDnjJNe5Sn7fEy252lfOc6zsOeKMOulXVNtf6nFN8yWdcaIlnzQpzW9NHNrhcbXWBOb5sq9cWoNFzvuqV6Jtap7rBLsM+4WJ3WqDqh1aaKZMvV3ra5e5xtljlS85ytVVqtad8391+2zf9u02xAEvNtic6Hush691rqfGOaDzaSA1jSOM4P+BFCjhBHLcxjwpuYSazaSOTueTwG4aQBo4zk0OUAmeBJ0inj2eJ7IApszoaLbZWPWrAJZa61XVWus3vucD7vM+T0Rx2O9sZnlZ1yK1midOttN3pjTclAIG1kzwYbYftLnKmQUO+F/0BbzXPBCe6xj96ynJbbbXcTWb5He/1q2bZaqk8DMQBPLgwPKRqpzP8p9tNEme53iNOU/WCxea6wULxYTf6jA+o33K16bb5s16+Nh6SgF/BrzfHGjbdLd5jpz8UA6b6iO+pg35X1Wy112PmuF4MmGmna3qY/Ukz56TEKnRKfEPVfhc6x6nyOU+OgzegCBX9Iga76JfdpuoXvWiPF3zKkKFPAU0yT/1pL3NioPgAJLy2Sx2K4pb7gJssjOHHqTWWON1drvAu17nSh1xgkbphgCXXZJUIofi3fuk+37DOLXZ42rvN9nc2qd2OU7XMYnWRl1xmsblOM6zuDLPiOu8LAuwuHDrmDq/4onWGrfNRs8zxTlN8yk2usMDHnOBiM53rrmjGf5XC648Jwkwc0ZCfUjR/2ZOEqSCX86Qzn05a6KCKCCMIECKNSaSRQA3pxCFXyH6MLdeb8rAX/iip4+cDdZZZ5hmfdo89dttkvVWesdou+x30nKfVeltsMFR0wzl4jVK5g+Xzf1IQWEUv3VwkBAwwnjTiiBAgQAa9/IUMculgyu/bHvkM0mQAxo4L7su03EjMdGo94gFLLfUt97v/E3cv4v9QPs+valvnZg/Z76fpmKELoYz4z6esBGBMgPjRqUmrE48kuMy9sRxVq1xh0omxif9zZ/gspXMVgDlxxxdzF1NykieOTAx0e7atpY7X2QvJtPIfCXh1QhXyhD8AAAAASUVORK5CYII='},
  49.     web: {width: 30, height: 30, data: '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'}
  50. };
  51.  
  52. function removeNode(node) { node.parentNode.removeChild(node); }
  53.  
  54. function base64ToBlob(base64Data, contentType) {
  55.     contentType = contentType || '';
  56.     var sliceSize = 1024;
  57.     var byteCharacters = atob(base64Data);
  58.     var bytesLength = byteCharacters.length;
  59.     var slicesCount = Math.ceil(bytesLength / sliceSize);
  60.     var byteArrays = new Array(slicesCount);
  61.  
  62.     for (var sliceIndex = 0; sliceIndex < slicesCount; ++sliceIndex) {
  63.         var begin = sliceIndex * sliceSize;
  64.         var end = Math.min(begin + sliceSize, bytesLength);
  65.  
  66.         var bytes = new Array(end - begin);
  67.         for (var offset = begin, i = 0 ; offset < end; ++i, ++offset) {
  68.             bytes[i] = byteCharacters[offset].charCodeAt(0);
  69.         }
  70.         byteArrays[sliceIndex] = new Uint8Array(bytes);
  71.     }
  72.     return new Blob(byteArrays, {type: contentType});
  73. }
  74.  
  75. const Settings = {
  76.     prefs: {
  77.         descStyle: 1,
  78.         iconHeight: 30,
  79.         winIcon: 1,
  80.         chromeIcon: 2,
  81.         yandexIcon: 1,
  82.         unknownIcon: 1,
  83.         engine: 1
  84.     },
  85.     limits: {
  86.         descStyle: 2,
  87.         iconHeight: 30,
  88.         winIcon: 1,
  89.         chromeIcon: 2,
  90.         yandexIcon: 1,
  91.         unknownIcon: 1,
  92.         engine: 1
  93.     },
  94.     init: function() {
  95.         try {
  96.             var savedPrefs = JSON.parse(typeof(GM_info) !== 'undefined' ? GM_getValue('suaf') : localStorage.getItem('suaf'));
  97.             if (savedPrefs) {
  98.                 for (var p in Settings.prefs) {
  99.                     if (typeof(savedPrefs[p]) === 'number' && Math.abs(savedPrefs[p]) <= Settings.limits[p]) {
  100.                         Settings.prefs[p] = savedPrefs[p];
  101.                     }
  102.                 }
  103.             }
  104.         } catch (e) {}
  105.  
  106.         var btn = document.createElement('a');
  107.         btn.innerHTML = '(/s/ UA Fixer)';
  108.         btn.href = 'javascript:void(0);';
  109.         btn.id = 'suaf-show-settings';
  110.         btn.addEventListener('click', Settings.showUI, false);
  111.         document.getElementById('settings').parentNode.appendChild(btn);
  112.     },
  113.     showUI: function(event) {
  114.         if (document.getElementById('suaf-settings'))
  115.             return;
  116.        
  117.         var ui = document.createElement('div');
  118.         ui.id = 'suaf-settings';
  119.         ui.innerHTML = '<div style="top:50%; left: 50%; transform: translate(-50%, -50%); position: fixed;" class="qr qr-settings">\
  120.                 <div class="qr-header">/s/ User Agent Fixer v' + suafVersion + ' <a href="http://pastebin.com/fpHqEYAq">(сайт)</a></div>\
  121.                 <div class="suaf-setting-row">\
  122.                     Стиль надписей:\
  123.                     <select class="settings-setting-multibox mselect">\
  124.                         <option pref="descStyle" value="0">Казуальный</option>\
  125.                         <option pref="descStyle" value="1">Сосач</option>\
  126.                         <option pref="descStyle" value="2">Без надписей</option>\
  127.                     </select>\
  128.                 </div>\
  129.                 <div class="suaf-setting-row">\
  130.                     Высота иконок:\
  131.                     <select class="settings-setting-multibox mselect">\
  132.                         <option pref="iconHeight" value="15">15 px</option>\
  133.                         <option pref="iconHeight" value="20">20 px</option>\
  134.                         <option pref="iconHeight" value="30">30 px</option>\
  135.                     </select>\
  136.                 </div>\
  137.                 <div class="suaf-setting-row">\
  138.                     Иконка Windows:\
  139.                     <label><input type="radio" pref="winIcon" value="0" name="win" /> <img class="suaf-ua-icon" src="' + icons.winxp.data + '" /></label>\
  140.                     <label><input type="radio" pref="winIcon" value="1" name="win" /> <img class="suaf-ua-icon" src="' + icons.winRooster.data + '" /></label>\
  141.                 </div>\
  142.                 <div class="suaf-setting-row">\
  143.                     Иконка Chrome:\
  144.                     <label><input type="radio" pref="chromeIcon" value="0" name="chrome" /> <img class="suaf-ua-icon" src="' + icons.chrome.data + '" /></label>\
  145.                     <label><input type="radio" pref="chromeIcon" value="1" name="chrome" /> <img class="suaf-ua-icon" src="' + icons.chromog.data + '" /></label>\
  146.                     <label><input type="radio" pref="chromeIcon" value="2" name="chrome" /> <img class="suaf-ua-icon" src="' + icons.chromeToilet.data + '" /></label>\
  147.                 </div>\
  148.                 <div class="suaf-setting-row">\
  149.                     Иконка Yandex Browser:\
  150.                     <label><input type="radio" pref="yandexIcon" value="0" name="yabrowser" /> <img class="suaf-ua-icon" src="' + icons.yabrowser.data + '" /></label>\
  151.                     <label><input type="radio" pref="yandexIcon" value="1" name="yabrowser" /> <img class="suaf-ua-icon" src="' + icons.vatnique.data + '" /></label>\
  152.                 </div>\
  153.                 <div class="suaf-setting-row">\
  154.                     Иконка для неизвестного UA:\
  155.                     <label><input type="radio" pref="unknownIcon" value="0" name="unknown" /> <img class="suaf-ua-icon" src="' + icons.anonymous.data + '" /></label>\
  156.                     <label><input type="radio" pref="unknownIcon" value="1" name="unknown" /> <img class="suaf-ua-icon" src="' + icons.trollface.data + '" /></label>\
  157.                 </div>\
  158.                 <div class="suaf-setting-row">\
  159.                     <span title="Для применения настройки требуется перезагрузка страницы." style="border-bottom: 1px dashed;">Движок (*)</span>:\
  160.                     <select class="settings-setting-multibox mselect">\
  161.                         <option pref="engine" value="0">v1</option>\
  162.                         <option pref="engine" value="1">v2</option>\
  163.                     </select>\
  164.                 </div>\
  165.                 <div class="setting-buttons">\
  166.                     <input id="suaf-settings-save" value="Сохранить" type="button" />\
  167.                     <input id="suaf-settings-apply" value="Применить" type="button" />\
  168.                     <input id="suaf-settings-quit" value="Закрыть" type="button" />\
  169.                 </div>\
  170.             </div>';
  171.         document.documentElement.appendChild(ui);
  172.         Settings.prefsToSelections();
  173.        
  174.         var btns= document.querySelectorAll('#suaf-settings .setting-buttons > input');
  175.         for (var i = 0; i < btns.length; i++) {
  176.             btns[i].addEventListener('click', Settings.buttonClicked, false);
  177.         }
  178.     },
  179.     prefsToSelections: function() {
  180.         var sel = document.querySelectorAll('#suaf-settings [pref]');
  181.         for (var i = 0; i < sel.length; i++) {
  182.             if (parseInt(sel[i].value, 10) === Settings.prefs[sel[i].getAttribute('pref')]) {
  183.                 //sel[i][sel[i].nodeName === 'OPTION' ? 'selected' : 'checked'] = true;
  184.                 sel[i].selected = sel[i].checked = true;
  185.             }
  186.         }
  187.     },
  188.     selectionsToPrefs: function() {
  189.         var sel = document.querySelectorAll('#suaf-settings :checked[pref]');
  190.         for (var i = 0; i < sel.length; i++) {
  191.             Settings.prefs[sel[i].getAttribute('pref')] = parseInt(sel[i].value, 10);
  192.         }
  193.     },
  194.     buttonClicked: function(event) {
  195.         if (event.target.id === 'suaf-settings-apply') {
  196.             Settings.selectionsToPrefs();
  197.             UAFixer.applyPrefs();
  198.             return;
  199.         }
  200.        
  201.         if (event.target.id === 'suaf-settings-save') {
  202.             Settings.selectionsToPrefs();
  203.             UAFixer.applyPrefs();
  204.             try {
  205.                 if (typeof(GM_info) !== 'undefined') {
  206.                     GM_setValue('suaf', JSON.stringify(Settings.prefs));
  207.                 } else {
  208.                     localStorage.setItem('suaf', JSON.stringify(Settings.prefs));
  209.                 }
  210.             } catch(e) {}
  211.         }
  212.        
  213.         var btns= document.querySelectorAll('#suaf-settings .setting-buttons > input');
  214.         for (var i = 0; i < btns.length; i++) {
  215.             btns[i].removeEventListener('click', Settings.buttonClicked, false);
  216.         }
  217.         removeNode(document.getElementById('suaf-settings'));
  218.     }
  219. };
  220.  
  221. const Lists = {
  222.     os: {},
  223.     ua: {},
  224.     init : function() {
  225.         for (var i in icons) {
  226.             icons[i].data = URL.createObjectURL(base64ToBlob(icons[i].data, 'image/png'));
  227.         }
  228.        
  229.         Lists.os = {
  230.             'Microsoft Windows 10': {desc: ['Windows 10', 'Спермософт® ПитухОС™ Дрисять', '']},
  231.             'Microsoft Windows 8': {desc: ['Windows 8', 'Спермософт® ПитухОС™ 8', '']},
  232.             'Microsoft Windows 7': {desc: ['Windows 7', 'Спермософт® ПитухОС™ 7', '']},
  233.             'Microsoft Windows Vista': {desc: ['Windows Vista', 'Спермософт® ПитухОС™ 6', '']},
  234.             'Microsoft Windows Server 2003': {desc: ['Windows Server 2003', 'Спермософт® ПитухОС™ 2003', '']},
  235.             'Microsoft Windows XP': {desc: ['Windows XP', 'Спермософт® ПитухОС™ XP', '']},
  236.             'Microsoft Windows 2000': {desc: ['Windows 2000', 'Спермософт® ПитухОС™ 2000', '']},
  237.             'Microsoft Windows 98': {desc: ['Windows 98', 'Спермософт® ПитухОС™ 98', '']},
  238.             'Microsoft Windows 95': {desc: ['Windows 95', 'Спермософт® ПитухОС™ 95', '']},
  239.             'Microsoft Windows Phone': {desc: ['Windows Phone', 'Спермософт® ПитухОС™ Phone', '']},
  240.            
  241.             'Debian Linux': {desc: ['Debian Linux', 'Debian Линукс-бог', ''], img: icons.debian},
  242.             'Fedora Linux': {desc: ['Fedora Linux', 'Fedora Линукс-бог', ''], img: icons.fedora},
  243.             'Ubuntu Linux': {desc: ['Ubuntu Linux', 'Ubuntu Линукс-бог', ''], img: icons.ubuntu},
  244.             'Arch Linux': {desc: ['Arch Linux', 'Arch Линукс-бог', ''], img: icons.arch},
  245.             'Linux': {desc: ['Linux', 'Линукс-бог', ''], img: icons.linux},
  246.  
  247.             'Apple Mac': {desc: ['Mac', 'Яблогей', ''], img: icons.apple},
  248.             'Apple GayPad': {desc: ['GayPad', 'Яблогей', ''], img: icons.apple},
  249.             'Apple GayPhone': {desc: ['GayPhone', 'Яблогей', ''], img: icons.apple},
  250.             'Google Android': {desc: ['Android', 'Ведро', ''], img: icons.android},
  251.             'Неизвестно': {desc: ['Неизвестно', 'Ананимас', '']},
  252.             'BSD': {desc: ['BSD', 'Бздун', ''], img: icons.bsd},
  253.             'OS/2': {desc: ['OS/2', 'Полуось', ''], img: icons.os2},
  254.             'Haiku': {desc: ['Haiku', 'Haiku', ''], img: icons.haiku},
  255.             'Oracle Sun': {desc: ['Solaris', 'Солярка', ''], img: icons.solaris}
  256.         };
  257.        
  258.         Lists.ua = {
  259.             'Chromium based': {desc: ['Chrome', ' Хромопараша', '']},
  260.             'Firefox based': {desc: ['Firefox', ' Лисобог', ''], img: icons.firefox},
  261.             'Iceweasel': {desc: ['Iceweasel', ' Лисобог', ''], img: icons.iceweasel},
  262.             'New Opera': {desc: ['New Opera', ' Хропераст', ''], img: icons.opera},
  263.             'Old Opera': {desc: ['Old Opera', ' Утёнок', ''], img: icons.opera},
  264.             'Safari': {desc: ['Safari', ' Safari', ''], img: icons.safari},
  265.             'Mobile Safari': {desc: ['Mobile Safari', ' Safari', ''], img: icons.safari},
  266.             'Microsoft Edge': {desc: ['Microsoft Edge', ' Осёл', ''], img: icons.edge},
  267.             'Internet Explorer': {desc: ['Internet Explorer', ' Осёл', ''], img: icons.ie},
  268.             'Неизвестно': {desc: ['Неизвестно', ' Ананимас', '']},
  269.             'Web+': {desc: ['Web+', ' Ананимас', ''], img: icons.web},
  270.             'Vivaldi': {desc: ['Vivaldi', ' Vivaldi', ''], img: icons.vivaldi},
  271.             'UCBrowser': {desc: ['UCBrowser', ' Нода ботнета', ''], img: icons.ucbrowser},
  272.             'Яндекс браузер': {desc: ['Яндекс браузер', ' Пидорахен', '']}
  273.         };
  274.         Lists.applyPrefs();
  275.     },
  276.     applyPrefs: function() {
  277.         if (Settings.prefs.winIcon === 0) {
  278.             Lists.os['Microsoft Windows 10'].img = icons.win10;
  279.             Lists.os['Microsoft Windows 8'].img = icons.win8;
  280.             Lists.os['Microsoft Windows 7'].img = icons.win7;
  281.             Lists.os['Microsoft Windows Vista'].img = icons.win7;
  282.             Lists.os['Microsoft Windows Server 2003'].img = icons.winxp;
  283.             Lists.os['Microsoft Windows XP'].img = icons.winxp;
  284.             Lists.os['Microsoft Windows 2000'].img = icons.win95;
  285.             Lists.os['Microsoft Windows 98'].img = icons.win95;
  286.             Lists.os['Microsoft Windows 95'].img = icons.win95;
  287.             Lists.os['Microsoft Windows Phone'].img = icons.winphone;
  288.         } else {
  289.             Lists.os['Microsoft Windows 10'].img =
  290.             Lists.os['Microsoft Windows 8'].img =
  291.             Lists.os['Microsoft Windows 7'].img =
  292.             Lists.os['Microsoft Windows Vista'].img =
  293.             Lists.os['Microsoft Windows Server 2003'].img =
  294.             Lists.os['Microsoft Windows XP'].img =
  295.             Lists.os['Microsoft Windows 2000'].img =
  296.             Lists.os['Microsoft Windows 98'].img =
  297.             Lists.os['Microsoft Windows 95'].img =
  298.             Lists.os['Microsoft Windows Phone'].img = icons.winRooster;
  299.         }
  300.    
  301.         if (Settings.prefs.chromeIcon === 0) {
  302.             Lists.ua['Chromium based'].img = icons.chrome;
  303.         } else if (Settings.prefs.chromeIcon === 1) {
  304.             Lists.ua['Chromium based'].img = icons.chromog;
  305.         }  else {
  306.             Lists.ua['Chromium based'].img = icons.chromeToilet;
  307.         }
  308.        
  309.         if (Settings.prefs.yandexIcon === 0) {
  310.             Lists.ua['Яндекс браузер'].img = icons.yabrowser;
  311.         } else {
  312.             Lists.ua['Яндекс браузер'].img = icons.vatnique;
  313.         }
  314.        
  315.         if (Settings.prefs.unknownIcon === 0) {
  316.             Lists.os['Неизвестно'].img = Lists.ua['Неизвестно'].img = icons.anonymous;
  317.         } else {
  318.             Lists.os['Неизвестно'].img = Lists.ua['Неизвестно'].img = icons.trollface;
  319.         }
  320.     }
  321. };
  322.  
  323. const UAFixer = {
  324.     ranOnce: false,
  325.     css: null,
  326.     _match: function(str, obj) {
  327.         var v = obj[str];
  328.         return !v ? str : v.desc[Settings.prefs.descStyle] +  ' <img class="suaf-ua-icon" src="' + v.img.data + '" title="' + str + '" />';
  329.     },
  330.     _fix: function(str) {
  331.         var fields = str.slice(1, -1).split(':');
  332.         if (fields.length === 2) {
  333.             fields[0] = UAFixer._match(fields[0].trim(), Lists.os);
  334.             fields[1] = UAFixer._match(fields[1].trim(), Lists.ua);
  335.             return fields.join(' ');
  336.         } else {
  337.             return str;
  338.         }
  339.     },
  340.     _fixPostsOld: function(node) {
  341.         var uas = node.querySelectorAll('.ananimas > span:not([orig-ua]), .post-email > span:not([orig-ua])');
  342.         for (var i = 0; i < uas.length; i++) {
  343.             uas[i].setAttribute('orig-ua', uas[i].innerHTML);
  344.             uas[i].innerHTML = UAFixer._fix(uas[i].innerHTML);
  345.         }
  346.     },
  347.     _fixAllPostsOld: function() {
  348.         if (!UAFixer.ranOnce) {
  349.             UAFixer._fixPostsOld(document);
  350.             UAFixer.ranOnce = true;
  351.         } else {
  352.             var uas = document.querySelectorAll('.ananimas > span[orig-ua], .post-email > span[orig-ua]');
  353.             for (var i = 0; i < uas.length; i++) {
  354.                 uas[i].innerHTML = UAFixer._fix(uas[i].getAttribute('orig-ua'));
  355.             }
  356.         }
  357.     },
  358.     _fixPostsNew: function(node) {
  359.         var uas = node.querySelectorAll('.ananimas > span:not(.suaf-fixed), .post-email > span:not(.suaf-fixed)');
  360.         for (var i = 0; i < uas.length; i++) {
  361.             var fields = uas[i].innerHTML.slice(1, -1).split(':');
  362.             if (fields.length === 2) {
  363.                 fields[0] = fields[0].trim();
  364.                 fields[1] = fields[1].trim();
  365.                 uas[i].outerHTML = '<span os="' + fields[0] + '" title="' + fields[0] + '" class="suaf-fixed" style="color:rgb(164,164,164);"> </span> <span ua="' + fields[1] + '" title="' + fields[1] + '" class="suaf-fixed" style="color:rgb(164,164,164);"> </span>';
  366.             }
  367.         }
  368.     },
  369.     _fixAllPostsNew: function() {
  370.         if (!UAFixer.ranOnce) {
  371.             UAFixer._fixPostsNew(document);
  372.             UAFixer.ranOnce = true;
  373.         }
  374.     },
  375.     init: function() {
  376.         if (Settings.prefs.engine === 0) {
  377.             UAFixer.fixPosts = UAFixer._fixPostsOld;
  378.             UAFixer.fixAllPosts = UAFixer._fixAllPostsOld;
  379.             UAFixer.applyStyles = UAFixer._applyStylesOld;
  380.         } else {
  381.             UAFixer.fixPosts = UAFixer._fixPostsNew;
  382.             UAFixer.fixAllPosts = UAFixer._fixAllPostsNew;
  383.             UAFixer.applyStyles = UAFixer._applyStylesNew;
  384.         }
  385.  
  386.         UAFixer.css = document.createElement('style');
  387.         UAFixer.css.type = 'text/css';
  388.         document.documentElement.appendChild(UAFixer.css);
  389.        
  390.         UAFixer.applyPrefs();
  391.     },
  392.     applyPrefs: function() {
  393.         Lists.applyPrefs();
  394.         UAFixer.applyStyles();
  395.         UAFixer.fixAllPosts();
  396.     },
  397.     _applyStylesOld: function() {
  398.         UAFixer.css.innerHTML = '.post-details > .post-email {text-decoration: none;}\
  399.             .ananimas > span, .post-email > span {font-weight: bold;}\
  400.             .suaf-setting-row {margin-left: 5px; margin-top: 5px;}\
  401.             .suaf-ua-icon {vertical-align: middle; max-height: ' + Settings.prefs.iconHeight + 'px;} ';
  402.     },
  403.     _applyStylesNew: function() {
  404.         var text = '.post-details > .post-email {text-decoration: none;}\
  405.             .ananimas > span, .post-email > span {font-weight: bold;}\
  406.             .suaf-setting-row {margin-left: 5px; margin-top: 5px;}\
  407.             .suaf-ua-icon {vertical-align: middle; max-height: ' + Settings.prefs.iconHeight + 'px;} ';
  408.        
  409.         for (var l of ['os', 'ua']) {
  410.             for (var i in Lists[l]) {
  411.                 var height = Settings.prefs.iconHeight;
  412.                 var width = height*Lists[l][i].img.width/30;
  413.                 text += '.suaf-fixed[' + l + '="' + i + '"]::before {\
  414.                     content: "' + Lists[l][i].desc[Settings.prefs.descStyle] + '";\
  415.                     } \
  416.                     .suaf-fixed[' + l + '="' + i + '"]::after {\
  417.                         background-image: url(' +  Lists[l][i].img.data + ');\
  418.                         display: inline-block;\
  419.                         vertical-align: middle;\
  420.                         background-size: ' + width + 'px ' + height + 'px;\
  421.                         height: ' + height + 'px;\
  422.                         width: ' + width + 'px;\
  423.                         content: "";\
  424.                     } ';
  425.             }
  426.         }
  427.         UAFixer.css.innerHTML = text;
  428.     }
  429. };
  430.  
  431. const NewPostObserver = {
  432.     _init: function() {
  433.         var observer = new MutationObserver(function(mutations) {
  434.                         for (var m of mutations) {
  435.                                 for (var i = 0; i < m.addedNodes.length; i++) {
  436.                                         if (/^(post|preview|post-details)-|expanded-posts/.test(m.addedNodes[i].id)) {
  437.                                                 if (m.addedNodes[i].firstChild.className === 'ABU-icn-wait') {
  438.                                                         observer.observe(m.addedNodes[i], {childList: true});
  439.                                                 } else {
  440.                                                         UAFixer.fixPosts(m.addedNodes[i]);
  441.                                                 }
  442.                                         }
  443.                                 }
  444.                         }
  445.                 });
  446.                 var t = document.querySelectorAll('.thread, body .posts > form');
  447.         for (var i = 0; i < t.length; i++) {
  448.                         observer.observe(t[i], {childList: true});
  449.                 }
  450.     },
  451.     _wait: function(event) {
  452.         if (document.readyState === 'complete') {
  453.             document.removeEventListener('readystatechange', NewPostObserver._wait, false);
  454.             NewPostObserver._init();
  455.         }
  456.     },
  457.     init: function() {
  458.         if (document.readyState !== 'complete') {
  459.             document.addEventListener('readystatechange', NewPostObserver._wait, false);
  460.         } else {
  461.             NewPostObserver._init();
  462.         }
  463.         }
  464. };
  465.  
  466. Settings.init();
  467. Lists.init();
  468. UAFixer.init();
  469. NewPostObserver.init();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement