daily pastebin goal
77%
SHARE
TWEET

Censorship and Chat

benjamin18c Sep 12th, 2018 (edited) 72 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function addPhrase(string) {
  2.     if (!string) return;
  3.     if (words.includes(string)) return;
  4.     words.push(string);
  5. }
  6. // Global variables DO NOT TOUCH
  7.  
  8. var chat = document.querySelector("#chat_textbox");
  9. var nick = document.querySelector("#nick");
  10. var overlays = document.querySelector("#overlays");
  11. var server = document.querySelector("#gamemode2");
  12. var currentChat = null;
  13. var counter = 0;
  14.  
  15. // Arrays
  16. var myNames = ["๖ۣGhͥØsͣtͫeᴍane", "Spectator"];
  17. var words = [];
  18. var botNames = [];
  19. var cells = [];
  20. var names = [];
  21. var chatsSent = [];
  22. var namesToDisplay = [];
  23. var arrayToDraw = [];
  24.  
  25. // Commands
  26. var add = "add:";
  27. var stopPhrase = "directed by Emane";
  28. var startPhrase = "bots roll on";
  29. var init = "calm before storm";
  30. var kill = "fuck off bots";
  31. var word = null;
  32.  
  33.  
  34. // Booleans
  35. var drawOn = false;
  36. var self = false;
  37. var stopped = true;
  38. var started = false;
  39. var picked = false;
  40. var winner = false;
  41. var selected = true;
  42. var states = {
  43.     blockBan: false,
  44.     chatBot: false,
  45.     spaceInstant: false,
  46.     getNames: false,
  47.     overlays: false
  48. };
  49.  
  50.  
  51. server.addEventListener("change", function (ev) {
  52.     names = [];
  53. });
  54.  
  55. function calculatePeakPing(ping) {
  56.     peakPing = ping > peakPing ? ping : peakPing;
  57. }
  58.  
  59. function checkIfAdd(msg, name) {
  60.     var txt = msg.substring(0, add.length);
  61.     for (var i = 0; i < myNames.length; i++) {
  62.         if (txt === add && name === myNames[i]) {
  63.             var phrase = msg.substring(add.length, msg.length);
  64.             words.push(phrase);
  65.         }
  66.     }
  67.  
  68. }
  69. function calculatePeakPing(ping) {
  70.     peakPing = ping > peakPing ? ping : peakPing;
  71. }
  72.  
  73. function checkIfAdd(msg, name) {
  74.     var txt = msg.substring(0, add.length);
  75.     for (var i = 0; i < myNames.length; i++) {
  76.         if (txt === add && name === myNames[i]) {
  77.             var phrase = msg.substring(add.length, msg.length);
  78.             words.push(phrase);
  79.         }
  80.     }
  81.  
  82. }
  83.  
  84. function displayOverlays() {
  85.     overlays.style.display = "block";
  86. }
  87. // Setting up a fake event
  88. function fireKeyboardEvent(event, keycode) {
  89.     var keyboardEvent = document.createEventObject ?
  90.         document.createEventObject() : document.createEvent("Events");
  91.  
  92.     if (keyboardEvent.initEvent) {
  93.         keyboardEvent.initEvent(event, true, true);
  94.     }
  95.  
  96.     keyboardEvent.keyCode = keycode;
  97.     keyboardEvent.which = keycode;
  98.  
  99.     document.dispatchEvent ? document.dispatchEvent(keyboardEvent)
  100.         : document.fireEvent(event, keyboardEvent);
  101. }
  102.  
  103. function addName(name) {
  104.     if (!botNames.includes(name)) {
  105.         botNames.push(name);
  106.     }
  107. }
  108.  
  109. function printChatLog() {
  110.     for (var chat of chatsSent) {
  111.         console.log("Username: " + chat.user + " - Message: " + chat.text);
  112.     }
  113. }
  114.  
  115. function sanitizeMsg(msg) {
  116.     var t = "";
  117.     var chr = "\u200B";
  118.     for (var i = 0; i < msg.length; i++) {
  119.         if (msg.charAt(i) === chr) {
  120.             continue;
  121.         }
  122.         t += msg.charAt(i);
  123.     }
  124.     return t;
  125. }
  126.  
  127. function blockBan() {
  128.     // Script to prevent ban
  129.     chat.setAttribute('maxlength', 999999);
  130.     window.alert = function () { return null; }
  131.  
  132.     window.setInterval(function () {
  133.         if (chat.hasAttribute("disabled")) {
  134.             chat.disabled = false;
  135.         }
  136.     }, 200);
  137. }
  138.  
  139.  
  140. function getNames() {
  141.     function inject(type, code) {
  142.         switch (type) {
  143.             case 'javascript':
  144.                 var inject = document.createElement('script');
  145.                 inject.type = 'text/javascript';
  146.                 inject.appendChild(document.createTextNode(code));
  147.                 break;
  148.             case 'stylesheet':
  149.                 var inject = document.createElement('style');
  150.                 inject.type = 'text/css';
  151.                 inject.appendChild(document.createTextNode(code));
  152.                 break;
  153.         }
  154.         (document.head || document.documentElement).appendChild(inject);
  155.     }
  156.  
  157.     inject("javascript", JSON.stringify(
  158.         (function (d, e) {
  159.             // 
  160.  
  161.             //alert();
  162.  
  163.             var isTyping = false;
  164.             var chattxt;
  165.  
  166.             function Ib() {
  167.                 Ca = !0;
  168.                 ab();
  169.                 e("#mini-map-wrapper").hide();
  170.                 setInterval(ab, 18E4);
  171.                 J = Da = document.getElementById("canvas");
  172.                 f = J.getContext("2d");
  173.                 J.onmousedown = function (a) {
  174.                     if (bb) {
  175.                         var b = a.clientX - (5 + m / 5 / 2)
  176.                             , c = a.clientY - (5 + m / 5 / 2);
  177.                         if (Math.sqrt(b * b + c * c) <= m / 5 / 2) {
  178.                             aa();
  179.                             K(17);
  180.                             return
  181.                         }
  182.                     }
  183.                     ja = a.clientX;
  184.                     ka = a.clientY;
  185.                     Ea();
  186.                     aa()
  187.                 }
  188.                     ;
  189.                 J.onmousemove = function (a) {
  190.                     ja = a.clientX;
  191.                     ka = a.clientY;
  192.                     Ea()
  193.                 }
  194.                     ;
  195.                 J.onmouseup = function () { }
  196.                     ;
  197.                 /firefox/i.test(navigator.userAgent) ? document.addEventListener("DOMMouseScroll", cb, !1) : document.body.onmousewheel = cb;
  198.  
  199.                 J.onfocus = function () {
  200.                     isTyping = false;
  201.                 }
  202.                     ;
  203.  
  204.                 document.getElementById("chat_textbox").onblur = function () {
  205.                     isTyping = false;
  206.                 }
  207.                     ;
  208.  
  209.                 document.getElementById("chat_textbox").onfocus = function () {
  210.                     isTyping = true;
  211.                 }
  212.                     ;
  213.  
  214.                 var spacePressed = false
  215.                     , qPressed = false
  216.                     , wPressed = false;
  217.  
  218.                 function spltt() {
  219.                     //alert(isTyping);
  220.                     if (isTyping != true) {
  221.                         (aa(),
  222.                             K(17),
  223.                             a = !0);
  224.                     }
  225.                 }
  226.  
  227.                 function fedvir() {
  228.                     if (isTyping != true) {
  229.                         (aa(),
  230.                             K(21),
  231.                             c = !0);
  232.                     }
  233.                 }
  234.  
  235.                 var a = !0
  236.                     , b = !1
  237.                     , c = !1;
  238.                 d.onkeydown = function (k) {
  239.                     32 != k.keyCode || a || spltt();
  240.                     81 != k.keyCode || b || (K(18),
  241.                         b = !0);
  242.                     87 != k.keyCode || c || fedvir();
  243.                     27 == k.keyCode && Fa(300)
  244.                     13 == k.keyCode && cht();
  245.                 }
  246.                     ;
  247.  
  248.                 var lastChatCount = 0;
  249.  
  250.                 function cht() {
  251.                     if (isTyping) {
  252.                         isTyping = false;
  253.                         document.getElementById("chat_textbox").blur();
  254.                         chattxt = document.getElementById("chat_textbox").value;
  255.                         function bypass(str) {
  256.                             var chr = "\u200B";
  257.  
  258.                             var empt = "";
  259.                             for (var i = 0; i < str.length; i++) {
  260.                                 empt += str.charAt(i) + chr;
  261.                             }
  262.                             return empt;
  263.                         }
  264.                         if (chattxt.length > 0) {
  265.                             currentChat = chattxt;
  266.                             chattxt = bypass(chattxt);
  267.                             sendChat(chattxt);
  268.                         }
  269.                         document.getElementById("chat_textbox").value = "";
  270.  
  271.                     } else {
  272.                         if (!hasOverlay) {
  273.                             document.getElementById("chat_textbox").focus();
  274.                             isTyping = true;
  275.                         }
  276.                     }
  277.  
  278.                     if (lastChatCount == 5) {
  279.                         lastChatCount = 0;
  280.                         document.getElementById("chat_textbox").disabled = true;
  281.                         alert("You blocked because of flood, it will unblock in 5 minute.");
  282.                         setTimeout(function () {
  283.                             document.getElementById("chat_textbox").disabled = false;
  284.                         }, 20000);
  285.                     }
  286.  
  287.                     lastChatCount++;
  288.                 }
  289.  
  290.                 setInterval(function () {
  291.                     lastChatCount = 0;
  292.                 }, 40000);
  293.  
  294.                 d.onkeyup = function (k) {
  295.                     32 == k.keyCode && (a = !1);
  296.                     87 == k.keyCode && (c = !1);
  297.                     81 == k.keyCode && b && (K(19),
  298.                         b = !1)
  299.                 }
  300.                     ;
  301.                 d.onblur = function () {
  302.                     K(19);
  303.                     c = b = a = !1
  304.                 }
  305.                     ;
  306.                 d.onresize = db;
  307.                 d.requestAnimationFrame(eb);
  308.                 setInterval(aa, 40);
  309.                 t && e("#region").val(t);
  310.                 fb();
  311.                 la(e("#region").val());
  312.                 0 == Ga && t && L();
  313.                 S = !0;
  314.                 e("#overlays").show();
  315.                 reloadAds('1');
  316.                 db();
  317.                 d.location.hash && 6 <= d.location.hash.length && gb(d.location.hash);
  318.             }
  319.             function unpack(str) {
  320.                 var bytes = [];
  321.                 for (var i = 0; i < str.length; i++) {
  322.                     var char = str.charCodeAt(i);
  323.                     bytes.push(char >>> 8);
  324.                     bytes.push(char & 0xFF);
  325.                 }
  326.                 return bytes;
  327.             }
  328.  
  329.             function sendChat(str) {
  330.                 if (Y() && (str.length < 200) && (str.length > 0)) {
  331.                     var msg = P(2 + 2 * str.length);
  332.                     var offset = 0;
  333.                     msg.setUint8(offset++, 99);
  334.                     msg.setUint8(offset++, 0);
  335.                     // flags (0 for now)
  336.                     for (var i = 0; i < str.length; ++i) {
  337.                         msg.setUint16(offset, str.charCodeAt(i), !0);
  338.                         offset += 2;
  339.                     }
  340.                     Q(msg);
  341.  
  342.                 }
  343.             }
  344.  
  345.             function cb(a) {
  346.                 M *= Math.pow(.9, a.wheelDelta / -120 || a.detail || 0);
  347.                 if (.9 > M) {
  348.                     M < .05 / g && (M = .05 / g)
  349.                 } else {
  350.                     M > .9 / g && (M = .9 / g)
  351.                 }
  352.             }
  353.             function Jb() {
  354.                 if (.4 > g)
  355.                     ba = null;
  356.                 else {
  357.                     for (var a = Number.POSITIVE_INFINITY, b = Number.POSITIVE_INFINITY, c = Number.NEGATIVE_INFINITY, k = Number.NEGATIVE_INFINITY, d = 0, n = 0; n < y.length; n++) {
  358.                         var e = y[n];
  359.                         !e.N() || e.R || 20 >= e.size * g || (d = Math.max(e.size, d),
  360.                             a = Math.min(e.x, a),
  361.                             b = Math.min(e.y, b),
  362.                             c = Math.max(e.x, c),
  363.                             k = Math.max(e.y, k))
  364.                     }
  365.                     ba = Kb.la({
  366.                         ca: a - (d + 100),
  367.                         da: b - (d + 100),
  368.                         oa: c + (d + 100),
  369.                         pa: k + (d + 100),
  370.                         ma: 2,
  371.                         na: 4
  372.                     });
  373.                     for (n = 0; n < y.length; n++)
  374.                         if (e = y[n],
  375.                             e.N() && !(20 >= e.size * g))
  376.                             for (a = 0; a < e.a.length; ++a)
  377.                                 b = e.a[a].x,
  378.                                     c = e.a[a].y,
  379.                                     b < u - m / 2 / g || c < v - q / 2 / g || b > u + m / 2 / g || c > v + q / 2 / g || ba.m(e.a[a])
  380.                 }
  381.             }
  382.             function Ea() {
  383.                 ma = (ja - m / 2) / g + u;
  384.                 na = (ka - q / 2) / g + v;
  385.             }
  386.             function ab() {
  387.                 null == oa && (oa = {},
  388.                     e("#region").children().each(function () {
  389.                         var a = e(this)
  390.                             , b = a.val();
  391.                         b && (oa[b] = a.text())
  392.                     }));
  393.                 e.get("info.php", function (a) {
  394.                     var b = {}, c;
  395.                     for (c in a.regions) {
  396.                         var k = c.split(":")[0];
  397.                         b[k] = b[k] || 0;
  398.                         b[k] += a.regions[c].numPlayers
  399.                     }
  400.                     for (c in b)
  401.                         e('#region option[value="' + c + '"]').text(oa[c] + " (" + b[c] + " players)")
  402.                 }, "json")
  403.             }
  404.             function hb() {
  405.                 hasOverlay = false;
  406.                 e("#adsBottom").hide();
  407.                 e("#overlays").hide();
  408.                 e("#stats").hide();
  409.                 e("#mainPanel").hide();
  410.                 e("#mini-map-wrapper").show();
  411.                 T = S = !1;
  412.                 fb();
  413.                 //d.googletag && d.googletag.pubads && d.googletag.pubads().clear && d.googletag.pubads().clear(d.aa.concat(d.ab))
  414.             }
  415.             function la(a) {
  416.                 a && a != t && (e("#region").val() != a && e("#region").val(a),
  417.                     t = d.localStorage.location = a,
  418.                     e(".region-message").hide(),
  419.                     e(".region-message." + a).show(),
  420.                     e(".btn-needs-server").prop("disabled", !1),
  421.                     Ca && L())
  422.             }
  423.             function Fa(a) {
  424.                 S || T || (H = null,
  425.                     ib(d.aa),
  426.                     1E3 > a && (x = 1),
  427.                     S = !0,
  428.                     e("#mainPanel").show(),
  429.                     reloadAds('continue'),
  430.                     0 < a ? e("#overlays").fadeIn(a) : e("#overlays").show())
  431.             }
  432.             function ca(a) {
  433.                 host = a;
  434.                 e("#helloContainer").attr("data-gamemode", a);
  435.                 U = a;
  436.                 e("#gamemode").val(a);
  437.             }
  438.             function fb() {
  439.                 e("#region").val() ? d.localStorage.location = e("#region").val() : d.localStorage.location && e("#region").val(d.localStorage.location);
  440.                 e("#region").val() ? e("#locationKnown").append(e("#region")) : e("#locationUnknown").append(e("#region"))
  441.             }
  442.             function ib(a) {
  443.                 pa && (pa = !1,
  444.                     setTimeout(function () {
  445.                         pa = !0
  446.                     }, 6E4 * jb))
  447.             }
  448.             function da(a) {
  449.                 return d.i18n[a] || d.i18n_dict.en[a] || a
  450.             }
  451.             function kb() {
  452.                 Ha("ws://" + host);
  453.             }
  454.             function L() {
  455.                 Ca && t && (e("#overlays").show(),
  456.                     reloadAds('3'),
  457.                     kb())
  458.             }
  459.             function Ha(a, b) {
  460.                 if (s) {
  461.                     s.onopen = null;
  462.                     s.onmessage = null;
  463.                     s.onclose = null;
  464.                     try {
  465.                         s.close()
  466.                     } catch (c) { }
  467.                     s = null
  468.                 }
  469.                 var c = a;
  470.                 a = c;
  471.                 A = [];
  472.                 h = [];
  473.                 I = {};
  474.                 y = [];
  475.                 V = [];
  476.                 w = [];
  477.                 B = C = null;
  478.                 O = 0;
  479.                 ea = !1;
  480.                 //console.log("Connecting to " + a);
  481.                 //a = a + '/?base=' + base;
  482.                 s = new WebSocket(a);
  483.                 s.binaryType = "arraybuffer";
  484.                 s.onopen = function () {
  485.                     var a;
  486.                     //console.log("socket open");
  487.                     a = P(5);
  488.                     a.setUint8(0, 254);
  489.                     a.setUint32(1, 5, !0);
  490.                     Q(a);
  491.                     a = P(5);
  492.                     a.setUint8(0, 255);
  493.                     a.setUint32(1, 154669603, !0);
  494.                     Q(a);
  495.                     mb()
  496.                 }
  497.                     ;
  498.                 s.onmessage = Lb;
  499.                 s.onclose = Mb;
  500.                 s.onerror = function () {//console.log("socket error")
  501.                 }
  502.             }
  503.             function P(a) {
  504.                 return new DataView(new ArrayBuffer(a))
  505.             }
  506.             function Q(a) {
  507.                 s.send(a.buffer)
  508.             }
  509.             function Mb() {
  510.                 ea && (qa = 500);
  511.                 //console.log("socket close");
  512.                 setTimeout(L, qa);
  513.                 qa *= 2
  514.             }
  515.             function Lb(a) {
  516.                 Nb(new DataView(a.data))
  517.             }
  518.             function Nb(a) {
  519.                 function b() {
  520.                     for (var b = ""; ;) {
  521.                         var d = a.getUint16(c, !0);
  522.                         c += 2;
  523.                         if (0 == d)
  524.                             break;
  525.                         b += String.fromCharCode(d)
  526.                     }
  527.                     return b
  528.                 }
  529.                 var c = 0;
  530.                 240 == a.getUint8(c) && (c += 5);
  531.                 switch (a.getUint8(c++)) {
  532.                     case 16:
  533.                         Ob(a, c);
  534.                         break;
  535.                     case 17:
  536.                         fa = a.getFloat32(c, !0);
  537.                         c += 4;
  538.                         ga = a.getFloat32(c, !0);
  539.                         c += 4;
  540.                         ha = a.getFloat32(c, !0);
  541.                         c += 4;
  542.                         break;
  543.                     case 20:
  544.                         h = [];
  545.                         A = [];
  546.                         break;
  547.                     case 21:
  548.                         Ka = a.getInt16(c, !0);
  549.                         c += 2;
  550.                         La = a.getInt16(c, !0);
  551.                         c += 2;
  552.                         Ma || (Ma = !0,
  553.                             ra = Ka,
  554.                             sa = La);
  555.                         break;
  556.                     case 32:
  557.                         A.push(a.getUint32(c, !0));
  558.                         c += 4;
  559.                         break;
  560.                     case 49:
  561.                         if (null != C)
  562.                             break;
  563.                         var k = a.getUint32(c, !0)
  564.                             , c = c + 4;
  565.                         w = [];
  566.                         for (var d = 0; d < k; ++d) {
  567.                             var e = a.getUint32(c, !0)
  568.                                 , c = c + 4;
  569.                             w.push({
  570.                                 id: e,
  571.                                 name: b()
  572.                             })
  573.                         }
  574.                         nb();
  575.                         break;
  576.                     case 50:
  577.                         C = [];
  578.                         k = a.getUint32(c, !0);
  579.                         c += 4;
  580.                         for (d = 0; d < k; ++d)
  581.                             C.push(a.getFloat32(c, !0)),
  582.                                 c += 4;
  583.                         nb();
  584.                         break;
  585.                     case 64:
  586.                         ta = a.getFloat64(c, !0);
  587.                         c += 8;
  588.                         ua = a.getFloat64(c, !0);
  589.                         c += 8;
  590.                         va = a.getFloat64(c, !0);
  591.                         c += 8;
  592.                         wa = a.getFloat64(c, !0);
  593.                         c += 8;
  594.                         fa = (va + ta) / 2;
  595.                         ga = (wa + ua) / 2;
  596.                         ha = 1;
  597.                         0 == h.length && (u = fa,
  598.                             v = ga,
  599.                             g = ha);
  600.                         break;
  601.                     case 81:
  602.                         var r = a.getUint32(c, !0)
  603.                             , c = c + 4
  604.                             , p = a.getUint32(c, !0)
  605.                             , c = c + 4
  606.                             , f = a.getUint32(c, !0)
  607.                             , c = c + 4;
  608.                         setTimeout(function () {
  609.                             W({
  610.                                 e: r,
  611.                                 f: p,
  612.                                 d: f
  613.                             })
  614.                         }, 1200)
  615.                         break;
  616.                     case 90:
  617.                         // Server Info / ping
  618.                         var Uping = (new Date) - latency;
  619.                         jQuery('#latency').html('Latency ' + Uping + ' ms;');
  620.  
  621.                         var Uuptime = a.getFloat64(c, !0);
  622.                         c += 8;
  623.                         jQuery('#uptime').html('Uptime ' + Uuptime + ' sec;');
  624.                         // Do something with the info
  625.  
  626.                         var Uplayers = a.getFloat64(c, !0);
  627.                         c += 8;
  628.                         jQuery('#onlineplayers').html('Players ' + Uplayers + ';');
  629.                         // Do something with the info, example >> jQuery('#onlineplayers').html('Players ' + Uplayers );
  630.  
  631.                         var Umapsize = a.getFloat64(c, !0);
  632.                         c += 8;
  633.                         jQuery('#mapsize').html('Mapsize ' + Umapsize + ';');
  634.                         // Do something with the info, example >> jQuery('#mapsize').html('Mapsize ' + Umapsize );
  635.  
  636.                         var Umapfood = a.getFloat64(c, !0);
  637.                         c += 8;
  638.                         jQuery('#mapfood').html('Mapfood ' + Umapfood);
  639.                         // Do something with the info, example >> jQuery('#mapsize').html('Mapfood ' + Umapfood );
  640.  
  641.                         if (a.byteLength > 36) {
  642.                             var Ugamemode = a.getFloat64(c, !0);
  643.                             // Game mode is the number, so 0 for FFA etc...
  644.                         }
  645.                         break;
  646.                     case 99:
  647.                         addChat(a, c);
  648.                         break;
  649.                 }
  650.             }
  651.  
  652.             function addChat(view, offset) {
  653.  
  654.                 function getString() {
  655.                     var text = '', char;
  656.                     while ((char = view.getUint16(offset, true)) != 0) {
  657.                         offset += 2;
  658.                         text += String.fromCharCode(char);
  659.                     }
  660.                     offset += 2;
  661.                     return text;
  662.                 }
  663.  
  664.                 var flags = view.getUint8(offset++);
  665.                 // for future expansions
  666.                 if (flags & 2) {
  667.                     offset += 4;
  668.                 }
  669.                 if (flags & 4) {
  670.                     offset += 8;
  671.                 }
  672.                 if (flags & 8) {
  673.                     offset += 16;
  674.                 }
  675.  
  676.                 var r = view.getUint8(offset++)
  677.                     , g = view.getUint8(offset++)
  678.                     , b = view.getUint8(offset++)
  679.                     , color = (r << 16 | g << 8 | b).toString(16);
  680.                 while (color.length > 6) {
  681.                     color = '0' + color;
  682.                 }
  683.  
  684.                 color = '#' + color;
  685.                 nam = getString();
  686.                 mes = getString();
  687.                 nam = nam.replace(/[0-9]+$/, "").replace(/\-$/, "").replace(/\*$/, "");
  688.                 if (nick.value == nam) {
  689.                     mes = currentChat;
  690.                 }
  691.                 chatBoard.push({
  692.                     "name": nam,
  693.                     "color": color,
  694.                     "message": mes,
  695.                     "time": Date.now()
  696.                 });
  697.                 if (chatsSent.length >= 100) chatsSent = [];
  698.                 chatsSent.push({ user: nam, text: mes });
  699.                 mes = sanitizeMsg(mes);
  700.                 for (var i = 0; i < myNames.length; i++) {
  701.                     if (nam == myNames[i] && mes == stopPhrase) {
  702.                         stopped = true;
  703.                     }
  704.  
  705.                     if (nam == myNames[i] && mes == startPhrase) {
  706.                         stopped = false;
  707.                     }
  708.  
  709.                     if (nam == myNames[i] && mes == kill) {
  710.                         if (!self) {
  711.                             console.log("killing");
  712.                             location.replace("https://www.w3schools.com");
  713.                         }
  714.                     }
  715.  
  716.                     checkIfAdd(mes, nam);
  717.                 }
  718.                 if (drawOn) {
  719.                     checkCounter(mes, nam, arrayToDraw);
  720.                 }
  721.                
  722.                 drawChatBoard();
  723.  
  724.             }
  725.  
  726.             function drawChatBoard() {
  727.                 chatCanvas = null;
  728.                 chatCanvas = document.createElement("canvas");
  729.  
  730.                 var ctx = chatCanvas.getContext("2d");
  731.                 var scaleFactor = Math.min(Math.max(m / 1200, 0.75), 1);
  732.                 //scale factor = 0.75 to 1
  733.                 chatCanvas.width = 10000 * scaleFactor;
  734.                 chatCanvas.height = 550 * scaleFactor;
  735.                 ctx.scale(scaleFactor, scaleFactor);
  736.                 var nowtime = Date.now();
  737.                 var lasttime = 0;
  738.                 if (chatBoard.length >= 1)
  739.                     lasttime = chatBoard[chatBoard.length - 1].time;
  740.                 else
  741.                     return;
  742.                 var deltat = nowtime - lasttime;
  743.  
  744.                 ctx.globalAlpha = 0.8 * Math.exp(-deltat / 25000);
  745.  
  746.                 var len = chatBoard.length;
  747.                 var from = len - 15;
  748.                 if (from < 0)
  749.                     from = 0;
  750.                 for (var i = 0; i < (len - from); i++) {
  751.                     var chatName = new za(18, chatBoard[i + from].color);
  752.                     chatName.C(chatBoard[i + from].name.split("*")[0]);
  753.                     var a = ctx.measureText(chatBoard[i + from].name.split("*")[0]);
  754.                     var width = chatName.getWidth();
  755.                     var a = chatName.L();
  756.                     ctx.drawImage(a, 18, chatCanvas.height / scaleFactor - 24 * (len - i - from));
  757.                     var chatText = new za(18, '#666666');
  758.                     chatText.C(': ' + chatBoard[i + from].message);
  759.                     a = chatText.L();
  760.                     ctx.drawImage(a, 20 + width * 1.8, chatCanvas.height / scaleFactor - 24 * (len - from - i));
  761.                 }
  762.                 //ctx.restore();
  763.             }
  764.  
  765.             function Ob(a, b) {
  766.                 function c() {
  767.                     for (var c = ""; ;) {
  768.                         var d = a.getUint16(b, !0);
  769.                         b += 2;
  770.                         if (0 == d)
  771.                             break;
  772.                         c += String.fromCharCode(d)
  773.                     }
  774.                     return c
  775.                 }
  776.                 function k() {
  777.                     for (var c = ""; ;) {
  778.                         var d = a.getUint8(b++);
  779.                         if (0 == d)
  780.                             break;
  781.                         c += String.fromCharCode(d)
  782.                     }
  783.                     return c
  784.                 }
  785.                 ob = E = Date.now();
  786.                 ea || (ea = !0,
  787.                     Pb());
  788.                 var G = Math.random();
  789.                 Na = !1;
  790.                 var n = a.getUint16(b, !0);
  791.                 b += 2;
  792.                 for (var r = 0; r < n; ++r) {
  793.                     var p = I[a.getUint32(b, !0)]
  794.                         , f = I[a.getUint32(b + 4, !0)];
  795.                     b += 8;
  796.                     p && f && (f.X(),
  797.                         f.s = f.x,
  798.                         f.t = f.y,
  799.                         f.r = f.size,
  800.                         f.J = p.x,
  801.                         f.K = p.y,
  802.                         f.q = f.size,
  803.                         f.Q = E,
  804.                         Qb(p, f))
  805.                 }
  806.                 for (r = 0; ;) {
  807.                     n = a.getUint32(b, !0);
  808.                     b += 4;
  809.                     if (0 == n)
  810.                         break;
  811.                     ++r;
  812.                     var g, p = a.getInt32(b, !0);
  813.                     b += 4;
  814.                     f = a.getInt32(b, !0);
  815.                     b += 4;
  816.                     g = a.getInt16(b, !0);
  817.                     b += 2;
  818.                     var l = a.getUint8(b++)
  819.                         , m = a.getUint8(b++)
  820.                         , q = a.getUint8(b++)
  821.                         , m = Rb(l << 16 | m << 8 | q)
  822.                         , q = a.getUint8(b++)
  823.                         , s = !!(q & 1)
  824.                         , x = !!(q & 16)
  825.                         , w = null;
  826.                     q & 2 && (b += 4 + a.getUint32(b, !0));
  827.                     q & 4 && (w = k());
  828.                     var t = c()
  829.                         , l = null;
  830.                     I.hasOwnProperty(n) ? (l = I[n],
  831.                         l.P(),
  832.                         l.s = l.x,
  833.                         l.t = l.y,
  834.                         l.r = l.size,
  835.                         l.color = m) : (l = new X(n, p, f, g, m, t),
  836.                             y.push(l),
  837.                             I[n] = l,
  838.                             l.ua = p,
  839.                             l.va = f);
  840.                     l.h = s;
  841.                     l.n = x;
  842.                     l.J = p;
  843.                     l.K = f;
  844.                     l.q = g;
  845.                     l.sa = G;
  846.                     l.Q = E;
  847.                     l.ba = q;
  848.                     l.fa = w;
  849.                     t && l.B(t);
  850.                     -1 != A.indexOf(n) && -1 == h.indexOf(l) && (h.push(l),
  851.                         1 == h.length && (u = l.x,
  852.                             v = l.y,
  853.                             pb(),
  854.                             document.getElementById("overlays").style.display = "none",
  855.                             z = [],
  856.                             Oa = 0,
  857.                             Pa = h[0].color,
  858.                             Qa = !0,
  859.                             qb = Date.now(),
  860.                             R = Ra = Sa = 0))
  861.                 }
  862.                 G = a.getUint32(b, !0);
  863.                 b += 4;
  864.                 for (r = 0; r < G; r++)
  865.                     n = a.getUint32(b, !0),
  866.                         b += 4,
  867.                         l = I[n],
  868.                         null != l && l.X();
  869.                 Na && 0 == h.length && (rb = Date.now(),
  870.                     Qa = !1,
  871.                     S || T || (sb ? (ib(d.ab),
  872.                         Sb(),
  873.                         T = !0,
  874.                         reloadAds('gameover'),
  875.                         e("#overlays").fadeIn(3E3),
  876.                         e("#mini-map-wrapper").hide(),
  877.                         e("#stats").show()) : Fa(3E3)))
  878.             }
  879.             function Pb() {
  880.                 e("#connecting").hide();
  881.                 tb();
  882.                 N && (N(),
  883.                     N = null);
  884.                 null != Ta && clearTimeout(Ta);
  885.                 Ta = setTimeout(function () {
  886.                     d.ga && (++ub,
  887.                         d.ga("set", "dimension2", ub))
  888.                 }, 1E4)
  889.             }
  890.             function aa() {
  891.                 if (Y()) {
  892.                     var a = ja - m / 2
  893.                         , b = ka - q / 2;
  894.                     64 > a * a + b * b || .01 > Math.abs(vb - ma) && .01 > Math.abs(wb - na) || (vb = ma,
  895.                         wb = na,
  896.                         a = P(21),
  897.                         a.setUint8(0, 16),
  898.                         a.setFloat64(1, ma, !0),
  899.                         a.setFloat64(9, na, !0),
  900.                         a.setUint32(17, 0, !0),
  901.                         Q(a))
  902.                 }
  903.             }
  904.             function tb() {
  905.                 if (Y() && ea && null != H) {
  906.                     var a = P(1 + 2 * H.length);
  907.                     a.setUint8(0, 0);
  908.                     for (var b = 0; b < H.length; ++b)
  909.                         a.setUint16(1 + 2 * b, H.charCodeAt(b), !0);
  910.                     Q(a);
  911.                     H = null
  912.                 }
  913.             }
  914.             function Y() {
  915.                 return null != s && s.readyState == s.OPEN
  916.             }
  917.             function K(a) {
  918.                 if (Y()) {
  919.                     var b = P(1);
  920.                     b.setUint8(0, a);
  921.                     Q(b)
  922.                 }
  923.             }
  924.             function mb() {
  925.                 if (Y() && null != D) {
  926.                     var a = P(1 + D.length);
  927.                     a.setUint8(0, 81);
  928.                     for (var b = 0; b < D.length; ++b)
  929.                         a.setUint8(b + 1, D.charCodeAt(b));
  930.                     Q(a)
  931.                 }
  932.             }
  933.             function db() {
  934.                 m = d.innerWidth;
  935.                 q = d.innerHeight;
  936.                 Da.width = J.width = m;
  937.                 Da.height = J.height = q;
  938.                 var a = e("#helloContainer");
  939.                 a.css("transform", "none");
  940.                 var b = a.height()
  941.                     , c = d.innerHeight;
  942.                 b > c / 1.1 ? a.css("transform", "translate(-50%, -50%) scale(" + c / b / 1.1 + ")") : a.css("transform", "translate(-50%, -50%)");
  943.                 xb()
  944.             }
  945.             function yb() {
  946.                 var a;
  947.                 a = 1 * Math.max(q / 1080, m / 1920);
  948.                 return a *= M
  949.             }
  950.             function Tb() {
  951.                 if (0 != h.length) {
  952.                     for (var a = 0, b = 0; b < h.length; b++)
  953.                         a += h[b].size;
  954.                     a = Math.pow(Math.min(64 / a, 1), .4) * yb();
  955.                     g = (9 * g + a) / 10
  956.                 }
  957.             }
  958.             function xb() {
  959.                 var a, b = Date.now();
  960.                 ++Ub;
  961.                 E = b;
  962.                 if (0 < h.length) {
  963.                     Tb();
  964.                     for (var c = a = 0, d = 0; d < h.length; d++)
  965.                         h[d].P(),
  966.                             a += h[d].x / h.length,
  967.                             c += h[d].y / h.length;
  968.                     fa = a;
  969.                     ga = c;
  970.                     ha = g;
  971.                     u = (u + a) / 2;
  972.                     v = (v + c) / 2
  973.                 } else
  974.                     u = (29 * u + fa) / 30,
  975.                         v = (29 * v + ga) / 30,
  976.                         g = (9 * g + ha * yb()) / 10;
  977.                 Jb();
  978.                 Ea();
  979.                 Ua || f.clearRect(0, 0, m, q);
  980.                 Ua ? (f.fillStyle = xa ? "#111111" : "#F2FBFF",
  981.                     f.globalAlpha = .05,
  982.                     f.fillRect(0, 0, m, q),
  983.                     f.globalAlpha = 1) : Vb();
  984.                 y.sort(function (a, b) {
  985.                     return a.size == b.size ? a.id - b.id : a.size - b.size
  986.                 });
  987.                 f.save();
  988.                 f.translate(m / 2, q / 2);
  989.                 f.scale(g, g);
  990.                 f.translate(-u, -v);
  991.                 for (d = 0; d < V.length; d++)
  992.                     V[d].w(f);
  993.                 for (d = 0; d < y.length; d++)
  994.                     y[d].w(f);
  995.                 if (Ma) {
  996.                     ra = (3 * ra + Ka) / 4;
  997.                     sa = (3 * sa + La) / 4;
  998.                     f.save();
  999.                     f.strokeStyle = "#FFAAAA";
  1000.                     f.lineWidth = 10;
  1001.                     f.lineCap = "round";
  1002.                     f.lineJoin = "round";
  1003.                     f.globalAlpha = .5;
  1004.                     f.beginPath();
  1005.                     for (d = 0; d < h.length; d++)
  1006.                         f.moveTo(h[d].x, h[d].y),
  1007.                             f.lineTo(ra, sa);
  1008.                     f.stroke();
  1009.                     f.restore()
  1010.                 }
  1011.                 f.restore();
  1012.                 B && B.width && f.drawImage(B, m - B.width - 10, 10);
  1013.                 if (!hideChat) {
  1014.                     if ((chatCanvas != null) && (chatCanvas.width > 0))
  1015.                         f.drawImage(chatCanvas, 0, q - chatCanvas.height - 50);
  1016.                     // draw Chat Board
  1017.                 }
  1018.                 O = Math.max(O, zb());
  1019.                 0 != O && (null == ya && (ya = new za(24, "#FFFFFF")),
  1020.                     ya.C(da("score") + ": " + ~~(O / 100)),
  1021.                     c = ya.L(),
  1022.                     a = c.width,
  1023.                     f.globalAlpha = .2,
  1024.                     f.fillStyle = "#000000",
  1025.                     f.fillRect(10, 10, a + 10, 34),
  1026.                     f.globalAlpha = 1,
  1027.                     f.drawImage(c, 15, 15));
  1028.                 Wb();
  1029.                 b = Date.now() - b;
  1030.                 b > 1E3 / 60 ? F -= .01 : b < 1E3 / 65 && (F += .01);
  1031.                 .4 > F && (F = .4);
  1032.                 1 < F && (F = 1);
  1033.                 b = E - Ab;
  1034.                 !Y() || S || T ? (x += b / 2E3,
  1035.                     1 < x && (x = 1)) : (x -= b / 300,
  1036.                         0 > x && (x = 0));
  1037.                 0 < x && (f.fillStyle = "#000000",
  1038.                     f.globalAlpha = .5 * x,
  1039.                     f.fillRect(0, 0, m, q),
  1040.                     f.globalAlpha = 1);
  1041.                 Ab = E
  1042.             }
  1043.  
  1044.             function skorkaydet() {
  1045.                 var skor = "skor=" + ~~(O / 100) + "&c=1&oyuncuadi=" + oyuncu_adi;
  1046.                 e.ajax({
  1047.                     type: 'POST',
  1048.                     url: 'skor.php',
  1049.                     data: skor,
  1050.                     success: function (cevap) {
  1051.                         console.log("Add:" + ~~(O / 100) + cevap);
  1052.                     }
  1053.                 });
  1054.             }
  1055.             function Vb() {
  1056.                 f.fillStyle = xa ? "#111111" : "#F2FBFF";
  1057.                 f.fillRect(0, 0, m, q);
  1058.                 f.save();
  1059.                 f.strokeStyle = xa ? "#AAAAAA" : "#000000";
  1060.                 f.globalAlpha = .2 * g;
  1061.                 for (var a = m / g, b = q / g, c = (-u + a / 2) % 50; c < a; c += 50)
  1062.                     f.beginPath(),
  1063.                         f.moveTo(c * g - .5, 0),
  1064.                         f.lineTo(c * g - .5, b * g),
  1065.                         f.stroke();
  1066.                 for (c = (-v + b / 2) % 50; c < b; c += 50)
  1067.                     f.beginPath(),
  1068.                         f.moveTo(0, c * g - .5),
  1069.                         f.lineTo(a * g, c * g - .5),
  1070.                         f.stroke();
  1071.                 f.restore()
  1072.             }
  1073.             function Wb() {
  1074.                 if (bb && Va.width) {
  1075.                     var a = m / 5;
  1076.                     f.drawImage(Va, 5, 5, a, a)
  1077.                 }
  1078.             }
  1079.             function zb() {
  1080.                 for (var a = 0, b = 0; b < h.length; b++)
  1081.                     a += h[b].q * h[b].q;
  1082.                 return a
  1083.             }
  1084.             function nb() {
  1085.                 B = null;
  1086.                 if (null != C || 0 != w.length)
  1087.                     if (null != C || Aa) {
  1088.                         B = document.createElement("canvas");
  1089.                         var a = B.getContext("2d")
  1090.                             , b = 60
  1091.                             , b = null == C ? b + 24 * w.length : b + 180
  1092.                             , c = Math.min(200, .3 * m) / 200;
  1093.                         B.width = 200 * c;
  1094.                         B.height = b * c;
  1095.                         a.scale(c, c);
  1096.                         a.globalAlpha = .4;
  1097.                         a.fillStyle = "#000000";
  1098.                         a.fillRect(0, 0, 200, b);
  1099.                         a.globalAlpha = 1;
  1100.                         a.fillStyle = "#FFFFFF";
  1101.                         c = null;
  1102.                         c = da("leaderboard");
  1103.                         a.font = "30px Ubuntu";
  1104.                         a.fillText(c, 100 - a.measureText(c).width / 2, 40);
  1105.  
  1106.                         var leaderColors = ["#E6339B", "#FFD700", "#33E660", "#FFFFFF", "#FFFFFF", "#FFFFFF", "#FFFFFF", "#FFFFFF", "#FFFFFF", "#FFFFFF", "#FFFFFF", "#FFFFFF", "#FFFFFF", "#FFFFFF", "#FFFFFF", "#FFFFFF", "#FFFFFF", "#FFFFFF", "#FFFFFF", "#FFFFFF", "#FFFFFF", "#FFFFFF", "#FFFFFF"];
  1107.  
  1108.                         if (null == C) {
  1109.                             for (a.font = "20px Ubuntu", b = 0; b < w.length; ++b) {
  1110.                                 var yxa = w[b];
  1111.                                 c = w[b].name.split("*")[0] || da("unnamed_cell"),
  1112.                                     Aa || (c = da("unnamed_cell")),
  1113.                                     -1 != A.indexOf(w[b].id) ? (h[0].name.split("*")[0] && (c = h[0].name.split("*")[0]),
  1114.                                         a.fillStyle = "#FFAAAA") : a.fillStyle = leaderColors[b],
  1115.                                     c = b + 1 + ". " + c,
  1116.                                     a.fillText(c, 100 - a.measureText(c).width / 2, 70 + 24 * b);
  1117.                                 c = c.replace(/^[0-9]+\.+\s/, "")
  1118.                                 if (!namesToDisplay.includes([c]) && !names.includes(c)) {
  1119.                                     if (names.length >= 100) {
  1120.                                         names = [];
  1121.                                     }
  1122.                                     namesToDisplay.push([c]);
  1123.                                     names.push(c);
  1124.  
  1125.                                     cells.push(yxa);
  1126.                                 }
  1127.                             }
  1128.                         }
  1129.                     }
  1130.             }
  1131.             function Wa(a, b, c, d, e) {
  1132.                 this.V = a;
  1133.                 this.x = b;
  1134.                 this.y = c;
  1135.                 this.i = d;
  1136.                 this.b = e
  1137.             }
  1138.             function X(a, b, c, d, e, n) {
  1139.                 this.id = a;
  1140.                 this.s = this.x = b;
  1141.                 this.t = this.y = c;
  1142.                 this.r = this.size = d;
  1143.                 this.color = e;
  1144.                 this.a = [];
  1145.                 this.W();
  1146.                 this.B(n)
  1147.             }
  1148.             function Rb(a) {
  1149.                 for (a = a.toString(16); 6 > a.length;)
  1150.                     a = "0" + a;
  1151.                 return "#" + a
  1152.             }
  1153.             function za(a, b, c, d) {
  1154.                 a && (this.u = a);
  1155.                 b && (this.S = b);
  1156.                 this.U = !!c;
  1157.                 d && (this.v = d)
  1158.             }
  1159.             function Yb(a) {
  1160.                 for (var b = a.length, c, d; 0 < b;)
  1161.                     d = Math.floor(Math.random() * b),
  1162.                         b-- ,
  1163.                         c = a[b],
  1164.                         a[b] = a[d],
  1165.                         a[d] = c
  1166.             }
  1167.             function W(a, b) {
  1168.                 var c = "1" == e("#helloContainer").attr("data-has-account-data");
  1169.                 e("#helloContainer").attr("data-has-account-data", "1");
  1170.                 if (null == b && d.localStorage.loginCache) {
  1171.                     var k = JSON.parse(d.localStorage.loginCache);
  1172.                     k.f = a.f;
  1173.                     k.d = a.d;
  1174.                     k.e = a.e;
  1175.                     d.localStorage.loginCache = JSON.stringify(k)
  1176.                 }
  1177.                 if (c) {
  1178.                     var G = +e(".warball-exp-bar .progress-bar-text").first().text().split("/")[0]
  1179.                         , c = +e(".warball-exp-bar .progress-bar-text").first().text().split("/")[1].split(" ")[0]
  1180.                         , k = e(".warball-profile-panel .progress-bar-star").first().text();
  1181.                     if (k != a.e)
  1182.                         W({
  1183.                             f: c,
  1184.                             d: c,
  1185.                             e: k
  1186.                         }, function () {
  1187.                             e(".warball-profile-panel .progress-bar-star").text(a.e);
  1188.                             e(".warball-exp-bar .progress-bar").css("width", "100%");
  1189.                             e(".progress-bar-star").addClass("animated tada").one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend", function () {
  1190.                                 e(".progress-bar-star").removeClass("animated tada")
  1191.                             });
  1192.                             setTimeout(function () {
  1193.                                 e(".warball-exp-bar .progress-bar-text").text(a.d + "/" + a.d + " XP");
  1194.                                 W({
  1195.                                     f: 0,
  1196.                                     d: a.d,
  1197.                                     e: a.e
  1198.                                 }, function () {
  1199.                                     W(a, b)
  1200.                                 })
  1201.                             }, 1E3)
  1202.                         });
  1203.                     else {
  1204.                         var n = Date.now()
  1205.                             , f = function () {
  1206.                                 var c;
  1207.                                 c = (Date.now() - n) / 1E3;
  1208.                                 c = 0 > c ? 0 : 1 < c ? 1 : c;
  1209.                                 c = c * c * (3 - 2 * c);
  1210.                                 e(".warball-exp-bar .progress-bar-text").text(~~(G + (a.f - G) * c) + "/" + a.d + " XP");
  1211.                                 e(".warball-exp-bar .progress-bar").css("width", (88 * (G + (a.f - G) * c) / a.d).toFixed(2) + "%");
  1212.                                 1 > c ? d.requestAnimationFrame(f) : b && b()
  1213.                             };
  1214.                         d.requestAnimationFrame(f)
  1215.                     }
  1216.                 } else
  1217.                     e(".warball-profile-panel .progress-bar-star").text(a.e),
  1218.                         e(".warball-exp-bar .progress-bar-text").text(a.f + "/" + a.d + " XP"),
  1219.                         e(".warball-exp-bar .progress-bar").css("width", (88 * a.f / a.d).toFixed(2) + "%"),
  1220.                         b && b()
  1221.             }
  1222.             function Bb(a) {
  1223.                 "string" == typeof a && (a = JSON.parse(a));
  1224.                 Date.now() + 18E5 > a.ka ? e("#helloContainer").attr("data-logged-in", "0") : (d.localStorage.loginCache = JSON.stringify(a),
  1225.                     D = a.ha,
  1226.                     e(".warball-profile-name").text(a.name),
  1227.                     mb(),
  1228.                     W({
  1229.                         f: a.f,
  1230.                         d: a.d,
  1231.                         e: a.e
  1232.                     }),
  1233.                     e("#helloContainer").attr("data-logged-in", "1"))
  1234.             }
  1235.             function Zb(a) {
  1236.                 a = a.split("\n");
  1237.                 Bb({
  1238.                     name: a[0],
  1239.                     ta: a[1],
  1240.                     ha: a[2],
  1241.                     ka: 1E3 * +a[3],
  1242.                     e: +a[4],
  1243.                     f: +a[5],
  1244.                     d: +a[6]
  1245.                 })
  1246.             }
  1247.             function Xa(a) {
  1248.                 if ("connected" == a.status) {
  1249.                     var b = a.authResponse.accessToken;
  1250.                     d.FB.api("/me/picture?width=180&height=180", function (a) {
  1251.                         d.localStorage.fbPictureCache = a.data.url;
  1252.                         e(".warball-profile-picture").attr("src", a.data.url)
  1253.                     });
  1254.                     e("#helloContainer").attr("data-logged-in", "1");
  1255.                     null != D ? e.ajax("http://agarioplayy.org/", {
  1256.                         error: function () {
  1257.                             D = null;
  1258.                             Xa(a)
  1259.                         },
  1260.                         success: function (a) {
  1261.                             a = a.split("\n");
  1262.                             W({
  1263.                                 e: +a[0],
  1264.                                 f: +a[1],
  1265.                                 d: +a[2]
  1266.                             })
  1267.                         },
  1268.                         dataType: "text",
  1269.                         method: "POST",
  1270.                         cache: !1,
  1271.                         crossDomain: !0,
  1272.                         data: D
  1273.                     }) : e.ajax("http://agarioplayy.org/", {
  1274.                         error: function () {
  1275.                             D = null;
  1276.                             e("#helloContainer").attr("data-logged-in", "0")
  1277.                         },
  1278.                         success: Zb,
  1279.                         dataType: "text",
  1280.                         method: "POST",
  1281.                         cache: !1,
  1282.                         crossDomain: !0,
  1283.                         data: b
  1284.                     })
  1285.                 }
  1286.             }
  1287.             function gb(a) {
  1288.                 ca(":party");
  1289.                 e("#helloContainer").attr("data-party-state", "4");
  1290.                 a = decodeURIComponent(a).replace(/.*#/gim, "");
  1291.                 Ya("#" + d.encodeURIComponent(a));
  1292.                 e.ajax(Za + "//agarioplayy.org", {
  1293.                     error: function () {
  1294.                         e("#helloContainer").attr("data-party-state", "6")
  1295.                     },
  1296.                     success: function (b) {
  1297.                         b = b.split("\n");
  1298.                         e(".partyToken").val("agarioplayy.org/#" + d.encodeURIComponent(a));
  1299.                         e("#helloContainer").attr("data-party-state", "5");
  1300.                         ca(":party");
  1301.                         Ha("ws://" + b[0], a)
  1302.                     },
  1303.                     dataType: "text",
  1304.                     method: "POST",
  1305.                     cache: !1,
  1306.                     crossDomain: !0,
  1307.                     data: a
  1308.                 })
  1309.             }
  1310.             function Ya(a) {
  1311.                 d.history && d.history.replaceState && d.history.replaceState({}, d.document.title, a)
  1312.             }
  1313.             function Qb(a, b) {
  1314.                 var c = -1 != A.indexOf(a.id)
  1315.                     , d = -1 != A.indexOf(b.id)
  1316.                     , e = 30 > b.size;
  1317.                 c && e && ++Oa;
  1318.                 e || !c || d || ++Ra
  1319.             }
  1320.             function Cb(a) {
  1321.                 a = ~~a;
  1322.                 var b = (a % 60).toString();
  1323.                 a = (~~(a / 60)).toString();
  1324.                 2 > b.length && (b = "0" + b);
  1325.                 return a + ":" + b
  1326.             }
  1327.             function $b() {
  1328.                 if (null == w)
  1329.                     return 0;
  1330.                 for (var a = 0; a < w.length; ++a)
  1331.                     if (-1 != A.indexOf(w[a].id))
  1332.                         return a + 1;
  1333.                 return 0
  1334.             }
  1335.             function Sb() {
  1336.  
  1337.                 skorkaydet();
  1338.                 e(".stats-food-eaten").text(Oa);
  1339.                 e(".stats-time-alive").text(Cb((rb - qb) / 1E3));
  1340.                 e(".stats-leaderboard-time").text(Cb(Sa));
  1341.                 e(".stats-highest-mass").text(~~(O / 100));
  1342.                 e(".stats-cells-eaten").text(Ra);
  1343.                 e(".stats-top-position").text(0 == R ? ":(" : R);
  1344.                 var a = document.getElementById("statsGraph");
  1345.                 if (a) {
  1346.                     var b = a.getContext("2d")
  1347.                         , c = a.width
  1348.                         , a = a.height;
  1349.                     b.clearRect(0, 0, c, a);
  1350.                     if (2 < z.length) {
  1351.                         for (var d = 200, f = 0; f < z.length; f++)
  1352.                             d = Math.max(z[f], d);
  1353.                         b.lineWidth = 3;
  1354.                         b.lineCap = "round";
  1355.                         b.lineJoin = "round";
  1356.                         b.strokeStyle = Pa;
  1357.                         b.fillStyle = Pa;
  1358.                         b.beginPath();
  1359.                         b.moveTo(0, a - z[0] / d * (a - 10) + 10);
  1360.                         for (f = 1; f < z.length; f += Math.max(~~(z.length / c), 1)) {
  1361.                             for (var n = f / (z.length - 1) * c, r = [], p = -20; 20 >= p; ++p)
  1362.                                 0 > f + p || f + p >= z.length || r.push(z[f + p]);
  1363.                             r = r.reduce(function (a, b) {
  1364.                                 return a + b
  1365.                             }) / r.length / d;
  1366.                             b.lineTo(n, a - r * (a - 10) + 10)
  1367.                         }
  1368.                         b.stroke();
  1369.                         b.globalAlpha = .5;
  1370.                         b.lineTo(c, a);
  1371.                         b.lineTo(0, a);
  1372.                         b.fill();
  1373.                         b.globalAlpha = 1
  1374.                     }
  1375.                 }
  1376.             }
  1377.             if (!d.agarioNoInit) {
  1378.  
  1379.                 var Za = d.location.protocol
  1380.                     , lb = "https:" == Za;
  1381.                 var Da, f, J, m, q, ba, chatCanvas = null, s = null, chatBoard = [], u = 0, v = 0, A = [], h = [], I = {}, y = [], V = [], w = [], ja = 0, ka = 0, ma = -1, na = -1, Ub = 0, E = 0, Ab = 0, H = null, ta = 0, ua = 0, va = 1E4, wa = 1E4, hideChat = false, g = 1,
  1382.                     t = null, Db = !0, Aa = !0, $a = !1, Na = !1, O = 0, xa = !1, hasOverlay = true, Eb = !1, fa = u = ~~((ta + va) / 2), ga = v = ~~((ua + wa) / 2), ha = 1, U = "", C = null, Ca = !1, Ma = !1, Ka = 0, La = 0, ra = 0, sa = 0, Fb = 0, Xb = ["#333333", "#FF3333", "#33FF33", "#3333FF"], Ua = !1, ea = !1, ob = 0, D = null, M = 1, x = 1, S = !0, Ga = 0, Ia = {};
  1383.                 (function () {
  1384.                     var a = d.location.search;
  1385.                     "?" == a.charAt(0) && (a = a.slice(1));
  1386.                     for (var a = a.split("&"), b = 0; b < a.length; b++) {
  1387.                         var c = a[b].split("=");
  1388.                         Ia[c[0]] = c[1]
  1389.                     }
  1390.                 }
  1391.                 )();
  1392.                 var bb = "ontouchstart" in d && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(d.navigator.userAgent)
  1393.                     , Va = new Image;
  1394.                 Va.src = "img/split.png";
  1395.                 var Gb = document.createElement("canvas");
  1396.                 if ("undefined" == typeof console || "undefined" == typeof DataView || "undefined" == typeof WebSocket || null == Gb || null == Gb.getContext || null == d.localStorage)
  1397.                     alert("You browser does not support this game, we recommend you to use Firefox to play this");
  1398.                 else {
  1399.                     var oa = null;
  1400.                     d.setNick = function (a, mySkin) {
  1401.  
  1402.                         if (mySkin == "") {
  1403.                             mySkin = "0";
  1404.                         }
  1405.                         //a  = a.toLowerCase();
  1406.                         a = a + "*" + mySkin;
  1407.                         kesikNick = a.split("*");
  1408.  
  1409.                         a = a;
  1410.  
  1411.  
  1412.                         // kötü nick listesi
  1413.                         var z = ['aaaaaaa'];
  1414.                         var T = kesikNick[0]
  1415.  
  1416.                         if (z.indexOf(T) > -1) {
  1417.                             alert('Please choose a correct name! This is bad nick!');
  1418.                             return false;
  1419.                         }
  1420.  
  1421.                         if (!a) {
  1422.                             alert("Please Select Nickname!");
  1423.                             return false;
  1424.                         }
  1425.                         hb();
  1426.                         H = a;
  1427.  
  1428.                         oyuncu_adi = H.split("*")[0];
  1429.                         tb();
  1430.                         O = 0
  1431.  
  1432.                     }
  1433.                         ;
  1434.  
  1435.                     d.savescreenshoot = function (arg) {
  1436.  
  1437.                         // if(~~(O / 100) > 10000) {
  1438.  
  1439.                         //var oyuncukim = $.cookie("nick");
  1440.                         var veri = {
  1441.                             'ss': arg,
  1442.                             'oyuncuadi': oyuncu_adi,
  1443.                             'puan': ~~(O / 100)
  1444.                         }
  1445.                         e.ajax({
  1446.                             type: 'POST',
  1447.                             url: '/saveSS.jsp',
  1448.                             data: veri,
  1449.                             success: function (cevap) {
  1450.                                 console.log(cevap);
  1451.                             }
  1452.  
  1453.                         });
  1454.  
  1455.                         //}
  1456.  
  1457.                     }
  1458.                     d.setHideChat = function (arg) {
  1459.                         hideChat = arg;
  1460.                         if (arg) {
  1461.                             e("#chat_textbox").hide();
  1462.                         } else {
  1463.                             e("#chat_textbox").show();
  1464.                         }
  1465.                     }
  1466.                         ;
  1467.                     d.setHideMap = function (arg) {
  1468.                         hideMap = arg;
  1469.                         if (arg) {
  1470.                             e("#mini-map-wrapper").hide();
  1471.                         } else {
  1472.                             e("#mini-map-wrapper").show();
  1473.                         }
  1474.                     }
  1475.                         ;
  1476.                     d.setRegion = la;
  1477.                     d.setSkins = function (a) {
  1478.                         Db = a
  1479.                     }
  1480.                         ;
  1481.                     d.setNames = function (a) {
  1482.                         Aa = a
  1483.                     }
  1484.                         ;
  1485.                     d.setDarkTheme = function (a) {
  1486.                         xa = a
  1487.                     }
  1488.                         ;
  1489.                     d.setColors = function (a) {
  1490.                         $a = a
  1491.                     }
  1492.                         ;
  1493.                     d.setShowMass = function (a) {
  1494.                         Eb = a
  1495.                     }
  1496.                         ;
  1497.                     d.spectate = function () {
  1498.  
  1499.                         H = null;
  1500.                         K(1);
  1501.                         hb()
  1502.                         e("#mini-map-wrapper").hide();
  1503.                     }
  1504.                         ;
  1505.                     d.setGameMode = function (a) {
  1506.  
  1507.                         a != U && (":party" == U && e("#helloContainer").attr("data-party-state", "0"),
  1508.                             ca(a),
  1509.                             ":party" != a && L())
  1510.                     }
  1511.                         ;
  1512.                     d.setAcid = function (a) {
  1513.                         Ua = a
  1514.                     }
  1515.                         ;
  1516.                     null != d.localStorage && (null == d.localStorage.AB9 && (d.localStorage.AB9 = 0 + ~~(100 * Math.random())),
  1517.                         Fb = +d.localStorage.AB9,
  1518.                         d.ABGroup = Fb);
  1519.                     e.get(Za + "//agarioplayy.org", function (a) {
  1520.                         var b = a.split(" ");
  1521.                         a = b[0];
  1522.                         b = b[1] || "";
  1523.                         -1 == ["UA"].indexOf(a) && Hb.push("ussr");
  1524.                         ia.hasOwnProperty(a) && ("string" == typeof ia[a] ? t || la(ia[a]) : ia[a].hasOwnProperty(b) && (t || la(ia[a][b])))
  1525.                     }, "text");
  1526.                     d.ga && d.ga("send", "event", "User-Agent", d.navigator.userAgent, {
  1527.                         nonInteraction: 1
  1528.                     });
  1529.                     var pa = !1
  1530.                         , jb = 0;
  1531.                     setTimeout(function () {
  1532.                         pa = !0
  1533.                     }, Math.max(6E4 * jb, 3E3));
  1534.                     var ia = {
  1535.                         AF: "JP-Tokyo",
  1536.  
  1537.                         ZW: "EU-London"
  1538.                     }
  1539.                         , N = null;
  1540.                     d.connect = Ha;
  1541.                     var qa = 500
  1542.                         , Ta = null
  1543.                         , ub = 0
  1544.                         , vb = -1
  1545.                         , wb = -1
  1546.                         , B = null
  1547.                         , F = 1
  1548.                         , ya = null
  1549.                         , eb = function () {
  1550.                             var a = Date.now()
  1551.                                 , b = 1E3 / 60;
  1552.                             return function () {
  1553.                                 d.requestAnimationFrame(eb);
  1554.                                 var c = Date.now()
  1555.                                     , e = c - a;
  1556.                                 var ping = Date.now() - ob;
  1557.                                 e > b && (a = c - e % b,
  1558.                                     !Y() || 290 > ping ? xb() : console.warn("Skipping draw"),
  1559.                                     ac())
  1560.                             }
  1561.                         }()
  1562.                         , Z = {}
  1563.                         , Hb = "".split(";")
  1564.                         , bc = "".split(";")
  1565.                         , $ = {};
  1566.                     Wa.prototype = {
  1567.                         V: null,
  1568.                         x: 0,
  1569.                         y: 0,
  1570.                         i: 0,
  1571.                         b: 0
  1572.                     };
  1573.                     X.prototype = {
  1574.                         id: 0,
  1575.                         a: null,
  1576.                         name: null,
  1577.                         o: null,
  1578.                         O: null,
  1579.                         x: 0,
  1580.                         y: 0,
  1581.                         size: 0,
  1582.                         s: 0,
  1583.                         t: 0,
  1584.                         r: 0,
  1585.                         J: 0,
  1586.                         K: 0,
  1587.                         q: 0,
  1588.                         ba: 0,
  1589.                         Q: 0,
  1590.                         sa: 0,
  1591.                         ja: 0,
  1592.                         G: !1,
  1593.                         h: !1,
  1594.                         n: !1,
  1595.                         R: !0,
  1596.                         Y: 0,
  1597.                         fa: null,
  1598.                         X: function () {
  1599.                             var a;
  1600.                             for (a = 0; a < y.length; a++)
  1601.                                 if (y[a] == this) {
  1602.                                     y.splice(a, 1);
  1603.                                     break
  1604.                                 }
  1605.                             delete I[this.id];
  1606.                             a = h.indexOf(this);
  1607.                             -1 != a && (Na = !0,
  1608.                                 h.splice(a, 1));
  1609.                             a = A.indexOf(this.id);
  1610.                             -1 != a && A.splice(a, 1);
  1611.                             this.G = !0;
  1612.                             0 < this.Y && V.push(this)
  1613.                         },
  1614.                         l: function () {
  1615.                             return Math.max(~~(.3 * this.size), 24)
  1616.                         },
  1617.                         B: function (a) {
  1618.                             if (this.name = a)
  1619.                                 null == this.o ? this.o = new za(this.l(), "#FFFFFF", !0, "#000000") : this.o.M(this.l()),
  1620.                                     this.o.C(this.name)
  1621.                         },
  1622.                         W: function () {
  1623.                             for (var a = this.I(); this.a.length > a;) {
  1624.                                 var b = ~~(Math.random() * this.a.length);
  1625.                                 this.a.splice(b, 1)
  1626.                             }
  1627.  
  1628.                             for (0 == this.a.length && 0 < a && this.a.push(new Wa(this, this.x, this.y, this.size, Math.random() - .5)); this.a.length < a;)
  1629.                                 b = ~~(Math.random() * this.a.length),
  1630.                                     b = this.a[b],
  1631.                                     this.a.push(new Wa(this, b.x, b.y, b.i, b.b))
  1632.                         },
  1633.                         I: function () {
  1634.                             var a = 10;
  1635.                             20 > this.size && (a = 0);
  1636.                             this.h && (a = 30);
  1637.                             var b = this.size;
  1638.                             this.h || (b *= g);
  1639.                             b *= F;
  1640.                             this.ba & 32 && (b *= .25);
  1641.                             return ~~Math.max(b, a)
  1642.                         },
  1643.                         qa: function () {
  1644.                             this.W();
  1645.                             for (var a = this.a, b = a.length, c = 0; c < b; ++c) {
  1646.                                 var d = a[(c - 1 + b) % b].b
  1647.                                     , e = a[(c + 1) % b].b;
  1648.                                 a[c].b += (Math.random() - .5) * (this.n ? 3 : 1);
  1649.                                 a[c].b *= .7;
  1650.                                 10 < a[c].b && (a[c].b = 10);
  1651.                                 -10 > a[c].b && (a[c].b = -10);
  1652.                                 a[c].b = (d + e + 8 * a[c].b) / 10
  1653.                             }
  1654.                             for (var n = this, f = this.h ? 0 : (this.id / 1E3 + E / 1E4) % (2 * Math.PI), c = 0; c < b; ++c) {
  1655.                                 var p = a[c].i
  1656.                                     , d = a[(c - 1 + b) % b].i
  1657.                                     , e = a[(c + 1) % b].i;
  1658.                                 if (15 < this.size && null != ba && 20 < this.size * g && 0 < this.id) {
  1659.                                     var h = !1
  1660.                                         , Ja = a[c].x
  1661.                                         , l = a[c].y;
  1662.                                     ba.ra(Ja - 5, l - 5, 10, 10, function (a) {
  1663.                                         a.V != n && 25 > (Ja - a.x) * (Ja - a.x) + (l - a.y) * (l - a.y) && (h = !0)
  1664.                                     });
  1665.                                     !h && (a[c].x < ta || a[c].y < ua || a[c].x > va || a[c].y > wa) && (h = !0);
  1666.                                     h && (0 < a[c].b && (a[c].b = 0),
  1667.                                         a[c].b -= 1)
  1668.                                 }
  1669.                                 p += a[c].b;
  1670.                                 0 > p && (p = 0);
  1671.                                 p = this.n ? (19 * p + this.size) / 20 : (12 * p + this.size) / 13;
  1672.                                 a[c].i = (d + e + 8 * p) / 10;
  1673.                                 d = 2 * Math.PI / b;
  1674.                                 e = this.a[c].i;
  1675.                                 this.h && 0 == c % 2 && (e += 5);
  1676.                                 a[c].x = this.x + Math.cos(d * c + f) * e;
  1677.                                 a[c].y = this.y + Math.sin(d * c + f) * e
  1678.                             }
  1679.                         },
  1680.                         P: function () {
  1681.                             if (0 >= this.id)
  1682.                                 return 1;
  1683.                             var a;
  1684.                             a = (E - this.Q) / 120;
  1685.                             a = 0 > a ? 0 : 1 < a ? 1 : a;
  1686.                             var b = 0 > a ? 0 : 1 < a ? 1 : a;
  1687.                             this.l();
  1688.                             if (this.G && 1 <= b) {
  1689.                                 var c = V.indexOf(this);
  1690.                                 -1 != c && V.splice(c, 1)
  1691.                             }
  1692.                             this.x = a * (this.J - this.s) + this.s;
  1693.                             this.y = a * (this.K - this.t) + this.t;
  1694.                             this.size = b * (this.q - this.r) + this.r;
  1695.                             return b
  1696.                         },
  1697.                         N: function () {
  1698.                             return 0 >= this.id ? !0 : this.x + this.size + 40 < u - m / 2 / g || this.y + this.size + 40 < v - q / 2 / g || this.x - this.size - 40 > u + m / 2 / g || this.y - this.size - 40 > v + q / 2 / g ? !1 : !0
  1699.                         },
  1700.                         w: function (a) {
  1701.                             if (this.N()) {
  1702.                                 ++this.Y;
  1703.                                 var b = 0 < this.id && !this.h && !this.n && .4 > g;
  1704.                                 5 > this.I() && 0 < this.id && (b = !0);
  1705.                                 if (this.R && !b)
  1706.                                     for (var c = 0; c < this.a.length; c++)
  1707.                                         this.a[c].i = this.size;
  1708.                                 this.R = b;
  1709.                                 a.save();
  1710.                                 this.ja = E;
  1711.                                 c = this.P();
  1712.                                 this.G && (a.globalAlpha *= 1 - c);
  1713.                                 a.lineWidth = 10;
  1714.                                 a.lineCap = "round";
  1715.                                 a.lineJoin = this.h ? "miter" : "round";
  1716.                                 $a ? (a.fillStyle = "#FFFFFF",
  1717.                                     a.strokeStyle = "#AAAAAA") : (a.fillStyle = this.color,
  1718.                                         a.strokeStyle = this.color);
  1719.                                 if (b)
  1720.                                     a.beginPath(),
  1721.                                         a.arc(this.x, this.y, this.size + 5, 0, 2 * Math.PI, !1);
  1722.                                 else {
  1723.                                     this.qa();
  1724.                                     a.beginPath();
  1725.                                     var d = this.I();
  1726.                                     a.moveTo(this.a[0].x, this.a[0].y);
  1727.                                     for (c = 1; c <= d; ++c) {
  1728.                                         var e = c % d;
  1729.                                         a.lineTo(this.a[e].x, this.a[e].y)
  1730.                                     }
  1731.                                 }
  1732.                                 a.closePath();
  1733.  
  1734.                                 c = this.name.toLowerCase().split("*");
  1735.  
  1736.                                 if (c[1] == "") {
  1737.                                     c = "";
  1738.                                 } else {
  1739.                                     c = c[1];
  1740.                                 }
  1741.  
  1742.                                 var rsyr = Math.floor(Math.random() * (100000000000 - 1) + 1);
  1743.                                 //alert(c);
  1744.                                 !this.n && Db && ":team" != U ? (d = this.fa,
  1745.                                     null == d ? d = null : ":" == d[0] ? ($.hasOwnProperty(d) || ($[d] = new Image,
  1746.                                         $[d].src = d.slice(1)),
  1747.                                         d = 0 != $[d].width && $[d].complete ? $[d] : null) : d = null,
  1748.                                     d || (1 != Hb.indexOf(c) ? (Z.hasOwnProperty(c) || (Z[c] = new Image,
  1749.                                         Z[c].src = "http://agarioplayy.org/skins/orig/" + c + ".png?" + rsyr),
  1750.  
  1751.                                         d = 0 != Z[c].width && Z[c].complete ? Z[c] : null) : d = null)) : d = null;
  1752.                                 e = d;
  1753.                                 b || a.stroke();
  1754.                                 a.fill();
  1755.                                 null != e && (a.save(),
  1756.                                     a.clip(),
  1757.                                     a.drawImage(e, this.x - this.size, this.y - this.size, 2 * this.size, 2 * this.size),
  1758.                                     a.restore());
  1759.                                 ($a || 15 < this.size) && !b && (a.strokeStyle = "#000000",
  1760.                                     a.globalAlpha *= .1,
  1761.                                     a.stroke());
  1762.                                 a.globalAlpha = 1;
  1763.                                 d = -1 != h.indexOf(this);
  1764.                                 b = ~~this.y;
  1765.                                 if (0 != this.id && (Aa || d) && this.name && this.o && (null == e || -1 == bc.indexOf(c))) {
  1766.  
  1767.                                     e = this.o;
  1768.                                     e.C(this.name.split("*")[0]);
  1769.                                     e.M(this.l());
  1770.                                     c = 0 >= this.id ? 1 : Math.ceil(10 * g) / 10;
  1771.                                     e.ea(c);
  1772.                                     var e = e.L()
  1773.                                         , n = ~~(e.width / c)
  1774.                                         , f = ~~(e.height / c);
  1775.                                     a.drawImage(e, ~~this.x - ~~(n / 2), b - ~~(f / 2), n, f);
  1776.                                     b += e.height / 2 / c + 4
  1777.                                 }
  1778.                                 0 < this.id && Eb && (d || 0 == h.length && (!this.h || this.n) && 20 < this.size) && (null == this.O && (this.O = new za(this.l() / 2, "#FFFFFF", !0, "#000000")),
  1779.                                     d = this.O,
  1780.                                     d.M(this.l() / 2),
  1781.                                     d.C(~~(this.size * this.size / 100)),
  1782.                                     c = Math.ceil(10 * g) / 10,
  1783.                                     d.ea(c),
  1784.                                     e = d.L(),
  1785.                                     n = ~~(e.width / c),
  1786.                                     f = ~~(e.height / c),
  1787.                                     a.drawImage(e, ~~this.x - ~~(n / 2), b - ~~(f / 2), n, f));
  1788.                                 a.restore()
  1789.                             }
  1790.                         }
  1791.                     };
  1792.                     za.prototype = {
  1793.                         F: "",
  1794.                         S: "#000000",
  1795.                         U: !1,
  1796.                         v: "#000000",
  1797.                         u: 16,
  1798.                         p: null,
  1799.                         T: null,
  1800.                         k: !1,
  1801.                         D: 1,
  1802.                         _value: "",
  1803.                         _dirty: false,
  1804.                         M: function (a) {
  1805.                             this.u != a && (this.u = a,
  1806.                                 this.k = !0)
  1807.                         },
  1808.                         ea: function (a) {
  1809.                             this.D != a && (this.D = a,
  1810.                                 this.k = !0)
  1811.                         },
  1812.                         setStrokeColor: function (a) {
  1813.                             this.v != a && (this.v = a,
  1814.                                 this.k = !0)
  1815.                         },
  1816.                         C: function (a) {
  1817.                             a != this.F && (this.F = a,
  1818.                                 this.k = !0)
  1819.                         },
  1820.                         getWidth: function () {
  1821.                             return (f.measureText(this.F).width + 6);
  1822.                         },
  1823.                         L: function () {
  1824.                             null == this.p && (this.p = document.createElement("canvas"),
  1825.                                 this.T = this.p.getContext("2d"));
  1826.                             if (this.k) {
  1827.                                 this.k = !1;
  1828.                                 var a = this.p
  1829.                                     , b = this.T
  1830.                                     , c = this.F
  1831.                                     , d = this.D
  1832.                                     , e = this.u
  1833.                                     , f = e + "px Ubuntu";
  1834.                                 b.font = f;
  1835.                                 var r = ~~(.2 * e);
  1836.                                 a.width = (b.measureText(c).width + 6) * d;
  1837.                                 a.height = (e + r) * d;
  1838.                                 b.font = f;
  1839.                                 b.scale(d, d);
  1840.                                 b.globalAlpha = 1;
  1841.                                 b.lineWidth = 3;
  1842.                                 b.strokeStyle = this.v;
  1843.                                 b.fillStyle = this.S;
  1844.                                 this.U && b.strokeText(c, 3, e - r / 2);
  1845.                                 b.fillText(c, 3, e - r / 2)
  1846.                             }
  1847.  
  1848.                             return this.p
  1849.                         }
  1850.                     };
  1851.                     Date.now || (Date.now = function () {
  1852.                         return (new Date).getTime()
  1853.                     }
  1854.                     );
  1855.                     (function () {
  1856.                         for (var a = ["ms", "moz", "webkit", "o"], b = 0; b < a.length && !d.requestAnimationFrame; ++b)
  1857.                             d.requestAnimationFrame = d[a[b] + "RequestAnimationFrame"],
  1858.                                 d.cancelAnimationFrame = d[a[b] + "CancelAnimationFrame"] || d[a[b] + "CancelRequestAnimationFrame"];
  1859.                         d.requestAnimationFrame || (d.requestAnimationFrame = function (a) {
  1860.                             return setTimeout(a, 1E3 / 60)
  1861.                         }
  1862.                             ,
  1863.                             d.cancelAnimationFrame = function (a) {
  1864.                                 clearTimeout(a)
  1865.                             }
  1866.                         )
  1867.                     }
  1868.                     )();
  1869.                     var Kb = {
  1870.                         la: function (a) {
  1871.                             function b(a, b, c, d, e) {
  1872.                                 this.x = a;
  1873.                                 this.y = b;
  1874.                                 this.j = c;
  1875.                                 this.g = d;
  1876.                                 this.depth = e;
  1877.                                 this.items = [];
  1878.                                 this.c = []
  1879.                             }
  1880.                             var c = a.ma || 2
  1881.                                 , d = a.na || 4;
  1882.                             b.prototype = {
  1883.                                 x: 0,
  1884.                                 y: 0,
  1885.                                 j: 0,
  1886.                                 g: 0,
  1887.                                 depth: 0,
  1888.                                 items: null,
  1889.                                 c: null,
  1890.                                 H: function (a) {
  1891.                                     for (var b = 0; b < this.items.length; ++b) {
  1892.                                         var c = this.items[b];
  1893.                                         if (c.x >= a.x && c.y >= a.y && c.x < a.x + a.j && c.y < a.y + a.g)
  1894.                                             return !0
  1895.                                     }
  1896.                                     if (0 != this.c.length) {
  1897.                                         var d = this;
  1898.                                         return this.$(a, function (b) {
  1899.                                             return d.c[b].H(a)
  1900.                                         })
  1901.                                     }
  1902.                                     return !1
  1903.                                 },
  1904.                                 A: function (a, b) {
  1905.                                     for (var c = 0; c < this.items.length; ++c)
  1906.                                         b(this.items[c]);
  1907.                                     if (0 != this.c.length) {
  1908.                                         var d = this;
  1909.                                         this.$(a, function (c) {
  1910.                                             d.c[c].A(a, b)
  1911.                                         })
  1912.                                     }
  1913.                                 },
  1914.                                 m: function (a) {
  1915.                                     0 != this.c.length ? this.c[this.Z(a)].m(a) : this.items.length >= c && this.depth < d ? (this.ia(),
  1916.                                         this.c[this.Z(a)].m(a)) : this.items.push(a)
  1917.                                 },
  1918.                                 Z: function (a) {
  1919.                                     return a.x < this.x + this.j / 2 ? a.y < this.y + this.g / 2 ? 0 : 2 : a.y < this.y + this.g / 2 ? 1 : 3
  1920.                                 },
  1921.                                 $: function (a, b) {
  1922.                                     return a.x < this.x + this.j / 2 && (a.y < this.y + this.g / 2 && b(0) || a.y >= this.y + this.g / 2 && b(2)) || a.x >= this.x + this.j / 2 && (a.y < this.y + this.g / 2 && b(1) || a.y >= this.y + this.g / 2 && b(3)) ? !0 : !1
  1923.                                 },
  1924.                                 ia: function () {
  1925.                                     var a = this.depth + 1
  1926.                                         , c = this.j / 2
  1927.                                         , d = this.g / 2;
  1928.                                     this.c.push(new b(this.x, this.y, c, d, a));
  1929.                                     this.c.push(new b(this.x + c, this.y, c, d, a));
  1930.                                     this.c.push(new b(this.x, this.y + d, c, d, a));
  1931.                                     this.c.push(new b(this.x + c, this.y + d, c, d, a));
  1932.                                     a = this.items;
  1933.                                     this.items = [];
  1934.                                     for (c = 0; c < a.length; c++)
  1935.                                         this.m(a[c])
  1936.                                 },
  1937.                                 clear: function () {
  1938.                                     for (var a = 0; a < this.c.length; a++)
  1939.                                         this.c[a].clear();
  1940.                                     this.items.length = 0;
  1941.                                     this.c.length = 0
  1942.                                 }
  1943.                             };
  1944.                             var e = {
  1945.                                 x: 0,
  1946.                                 y: 0,
  1947.                                 j: 0,
  1948.                                 g: 0
  1949.                             };
  1950.                             return {
  1951.                                 root: new b(a.ca, a.da, a.oa - a.ca, a.pa - a.da, 0),
  1952.                                 m: function (a) {
  1953.                                     this.root.m(a)
  1954.                                 },
  1955.                                 A: function (a, b) {
  1956.                                     this.root.A(a, b)
  1957.                                 },
  1958.                                 ra: function (a, b, c, d, f) {
  1959.                                     e.x = a;
  1960.                                     e.y = b;
  1961.                                     e.j = c;
  1962.                                     e.g = d;
  1963.                                     this.root.A(e, f)
  1964.                                 },
  1965.                                 H: function (a) {
  1966.                                     return this.root.H(a)
  1967.                                 },
  1968.                                 clear: function () {
  1969.                                     this.root.clear()
  1970.                                 }
  1971.                             }
  1972.                         }
  1973.                     }
  1974.                         , pb = function () {
  1975.                             var a = new X(0, 0, 0, 32, "#000000", "")
  1976.                                 , b = document.createElement("canvas");
  1977.                             b.width = 32;
  1978.                             b.height = 32;
  1979.                             var c = b.getContext("2d");
  1980.                             return function () {
  1981.                                 0 < h.length && (a.color = h[0].color,
  1982.                                     a.B(h[0].name));
  1983.                                 c.clearRect(0, 0, 32, 32);
  1984.                                 c.save();
  1985.                                 c.translate(16, 16);
  1986.                                 c.scale(.4, .4);
  1987.                                 a.w(c);
  1988.                                 c.restore();
  1989.                                 var d = document.getElementById("favicon")
  1990.                                     , e = d.cloneNode(!0);
  1991.                                 e.setAttribute("href", b.toDataURL("image/png"));
  1992.                                 d.parentNode.replaceChild(e, d)
  1993.                             }
  1994.                         }();
  1995.                     e(function () {
  1996.                         pb()
  1997.                     });
  1998.                     e(function () {
  1999.                         +d.localStorage.wannaLogin && (d.localStorage.loginCache && Bb(d.localStorage.loginCache),
  2000.                             d.localStorage.fbPictureCache && e(".warball-profile-picture").attr("src", d.localStorage.fbPictureCache))
  2001.                     });
  2002.                     d.facebookLogin = function () {
  2003.                         d.localStorage.wannaLogin = 1
  2004.                     }
  2005.                         ;
  2006.                     d.fbAsyncInit = function () {
  2007.                         function a() {
  2008.                             d.localStorage.wannaLogin = 1;
  2009.                             null == d.FB ? alert("You seem to have something blocking Facebook on your browser, please check for any extensions") : d.FB.login(function (a) {
  2010.                                 Xa(a)
  2011.                             }, {
  2012.                                     scope: "public_profile, email"
  2013.                                 })
  2014.                         }
  2015.                         d.FB.init({
  2016.                             appId: "125735547767875",
  2017.                             cookie: !0,
  2018.                             xfbml: !0,
  2019.                             status: !0,
  2020.                             version: "v2.4"
  2021.                         });
  2022.                         d.FB.Event.subscribe("auth.statusChange", function (b) {
  2023.                             +d.localStorage.wannaLogin && ("connected" == b.status ? Xa(b) : a())
  2024.                         });
  2025.                         d.facebookLogin = a
  2026.                     }
  2027.                         ;
  2028.                     d.logout = function () {
  2029.                         D = null;
  2030.                         e("#helloContainer").attr("data-logged-in", "0");
  2031.                         e("#helloContainer").attr("data-has-account-data", "0");
  2032.                         delete d.localStorage.wannaLogin;
  2033.                         delete d.localStorage.loginCache;
  2034.                         delete d.localStorage.fbPictureCache;
  2035.                         L()
  2036.                     }
  2037.                         ;
  2038.                     var ac = function () {
  2039.                         function a(a, b, c, d, e) {
  2040.                             var f = b.getContext("2d")
  2041.                                 , g = b.width;
  2042.                             b = b.height;
  2043.                             a.color = e;
  2044.                             a.B(c);
  2045.                             a.size = d;
  2046.                             f.save();
  2047.                             f.translate(g / 2, b / 2);
  2048.                             a.w(f);
  2049.                             f.restore()
  2050.                         }
  2051.                         //
  2052.                         for (var b = new X(-1, 0, 0, 32, "#008080", ""), c = new X(-1, 0, 0, 32, "#008080", ""), d = "#008080 #008080 #008080".split(" "), f = [], g = 0; g < d.length; ++g) {
  2053.                             var h = g / d.length * 12
  2054.                                 , p = 30 * Math.sqrt(g / d.length);
  2055.                             f.push(new X(-1, Math.cos(h) * p, Math.sin(h) * p, 10, d[g], ""))
  2056.                         }
  2057.                         Yb(f);
  2058.                         var m = document.createElement("canvas");
  2059.                         m.getContext("2d");
  2060.                         m.width = m.height = 70;
  2061.                         a(c, m, "", 26, "#ebc0de");
  2062.                         return function () {
  2063.                             e(".cell-spinner").filter(":visible").each(function () {
  2064.                                 var c = e(this)
  2065.                                     , d = Date.now()
  2066.                                     , f = this.width
  2067.                                     , g = this.height
  2068.                                     , h = this.getContext("2d");
  2069.                                 h.clearRect(0, 0, f, g);
  2070.                                 h.save();
  2071.                                 h.translate(f / 2, g / 2);
  2072.                                 for (var k = 0; 10 > k; ++k)
  2073.                                     h.drawImage(m, (.1 * d + 80 * k) % (f + 140) - f / 2 - 70 - 35, g / 2 * Math.sin((.001 * d + k) % Math.PI * 2) - 35, 70, 70);
  2074.                                 h.restore();
  2075.                                 (c = c.attr("data-itr")) && (c = da(c));
  2076.                                 a(b, this, c || "", +e(this).attr("data-size"), "#5bc0de")
  2077.                             });
  2078.                             e("#statsPellets").filter(":visible").each(function () {
  2079.                                 e(this);
  2080.                                 var b = this.width
  2081.                                     , c = this.height;
  2082.                                 this.getContext("2d").clearRect(0, 0, b, c);
  2083.                                 for (b = 0; b < f.length; b++)
  2084.                                     a(f[b], this, "", f[b].size, f[b].color)
  2085.                             })
  2086.                         }
  2087.                     }();
  2088.                     d.createParty = function () {
  2089.                         ca(":party");
  2090.                         N = function (a) {
  2091.                             Ya("/#" + d.encodeURIComponent(a));
  2092.                             e(".partyToken").val("agarioplayy.org/#" + d.encodeURIComponent(a));
  2093.                             e("#helloContainer").attr("data-party-state", "1")
  2094.                         }
  2095.                             ;
  2096.                         L()
  2097.                     }
  2098.                         ;
  2099.                     d.joinParty = gb;
  2100.                     d.cancelParty = function () {
  2101.                         Ya("/");
  2102.                         e("#helloContainer").attr("data-party-state", "0");
  2103.                         ca("");
  2104.                         L()
  2105.                     }
  2106.                         ;
  2107.                     var z = []
  2108.                         , Oa = 0
  2109.                         , Pa = "#000000"
  2110.                         , T = !1
  2111.                         , Qa = !1
  2112.                         , qb = 0
  2113.                         , rb = 0
  2114.                         , Sa = 0
  2115.                         , Ra = 0
  2116.                         , R = 0
  2117.                         , sb = !0;
  2118.                     setInterval(function () {
  2119.                         Qa && z.push(zb() / 100)
  2120.                     }, 1E3 / 60);
  2121.                     setInterval(function () {
  2122.                         if (Y()) {
  2123.                             var a = P(5);
  2124.                             a.setUint8(0, 90);
  2125.                             a.setUint32(1, 1441210800, !0);
  2126.                             latency = new Date;
  2127.                             Q(a)
  2128.                         }
  2129.                     }, 1000);
  2130.                     setInterval(function () {
  2131.                         var a = $b();
  2132.                         0 != a && (++Sa,
  2133.                             0 == R && (R = a),
  2134.                             R = Math.min(R, a))
  2135.                     }, 1E3);
  2136.                     d.closeStats = function () {
  2137.                         T = !1;
  2138.                         e("#stats").hide();
  2139.                         Fa(0)
  2140.                     }
  2141.                         ;
  2142.                     d.setSkipStats = function (a) {
  2143.                         sb = !a
  2144.                     }
  2145.                         ;
  2146.  
  2147.                     e(function () {
  2148.                         e(Ib)
  2149.                     })
  2150.                 }
  2151.             }
  2152.         }
  2153.         )(window, window.jQuery)
  2154.     ));
  2155. }
  2156.  
  2157. blockBan();
  2158. getNames();
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top