Agarbot-Client

its da best

// ==UserScript==
// @name        Agarbot-Client
// @namespace   Agarbot
// @description its da best
// @include     https://www.youtube.com/watch?v=KcD-BA2lnVE
// @exclude     //
// @exclude     ==UserScript==
// @exclude     //
// @exclude     @name
// @exclude     Agarbot-Client
// @exclude     //
// @exclude     @namespace
// @exclude     Agarbot
// @exclude     //
// @exclude     @version
// @exclude     1.0
// @exclude     //
// @exclude     @description
// @exclude     its
// @exclude     da
// @exclude     best
// @exclude     //
// @exclude     @author
// @exclude     Voltized
// @exclude     //
// @exclude     @match
// @exclude     http://agar.io/*
// @exclude     //
// @exclude     @require
// @exclude     https://cdnjs.cloudflare.com/ajax/libs/socket.io/1.4.5/socket.io.min.js
// @exclude     //
// @exclude     @grant
// @exclude     none
// @exclude     //
// @exclude     @run-at
// @exclude     document-start
// @exclude     //
// @exclude     ==/UserScript==
// @exclude     setTimeout(function()
// @exclude     {
// @exclude     var
// @exclude     real_minx
// @exclude     =
// @exclude     -7071;
// @exclude     var
// @exclude     real_miny
// @exclude     =
// @exclude     -7071;
// @exclude     var
// @exclude     real_maxx
// @exclude     =
// @exclude     7071;
// @exclude     var
// @exclude     real_maxy
// @exclude     =
// @exclude     7071;
// @exclude     var
// @exclude     lastsent
// @exclude     =
// @exclude     {
// @exclude     minx:
// @exclude     0,
// @exclude     miny:
// @exclude     0,
// @exclude     maxx:
// @exclude     0,
// @exclude     maxy:
// @exclude     0
// @exclude     };
// @exclude     function
// @exclude     valcompare(Y,
// @exclude     Z)
// @exclude     {
// @exclude     return
// @exclude     0.01
// @exclude     >
// @exclude     Y
// @exclude     -
// @exclude     Z
// @exclude     &&
// @exclude     -0.01
// @exclude     <
// @exclude     Y
// @exclude     -
// @exclude     Z
// @exclude     }
// @exclude     window.agar.hooks.dimensionsUpdated
// @exclude     =
// @exclude     function(server_minx,
// @exclude     server_miny,
// @exclude     server_maxx,
// @exclude     server_maxy)
// @exclude     {
// @exclude     if
// @exclude     (valcompare(server_maxx
// @exclude     -
// @exclude     server_minx,
// @exclude     server_maxy
// @exclude     -
// @exclude     server_miny))
// @exclude     {
// @exclude     real_minx
// @exclude     =
// @exclude     server_minx;
// @exclude     real_miny
// @exclude     =
// @exclude     server_miny;
// @exclude     real_maxx
// @exclude     =
// @exclude     server_maxx;
// @exclude     real_maxy
// @exclude     =
// @exclude     server_maxy
// @exclude     }
// @exclude     else
// @exclude     {
// @exclude     if
// @exclude     (valcompare(server_minx,
// @exclude     lastsent.minx))
// @exclude     {
// @exclude     if
// @exclude     (0.01
// @exclude     <
// @exclude     server_maxx
// @exclude     -
// @exclude     lastsent.maxx
// @exclude     ||
// @exclude     -0.01
// @exclude     >
// @exclude     server_maxx
// @exclude     -
// @exclude     lastsent.maxx)
// @exclude     {
// @exclude     real_minx
// @exclude     =
// @exclude     server_minx;
// @exclude     real_maxx
// @exclude     =
// @exclude     server_minx
// @exclude     +
// @exclude     14142.135623730952
// @exclude     }
// @exclude     }
// @exclude     if
// @exclude     (0.01
// @exclude     <
// @exclude     server_minx
// @exclude     -
// @exclude     lastsent.minx
// @exclude     ||
// @exclude     -0.01
// @exclude     >
// @exclude     server_minx
// @exclude     -
// @exclude     lastsent.minx)
// @exclude     {
// @exclude     if
// @exclude     (valcompare(server_maxx,
// @exclude     lastsent.maxx))
// @exclude     {
// @exclude     real_maxx
// @exclude     =
// @exclude     server_maxx;
// @exclude     real_minx
// @exclude     =
// @exclude     server_maxx
// @exclude     -
// @exclude     14142.135623730952
// @exclude     }
// @exclude     }
// @exclude     if
// @exclude     (0.01
// @exclude     <
// @exclude     server_miny
// @exclude     -
// @exclude     lastsent.miny
// @exclude     ||
// @exclude     -0.01
// @exclude     >
// @exclude     server_miny
// @exclude     -
// @exclude     lastsent.miny)
// @exclude     {
// @exclude     if
// @exclude     (valcompare(server_maxy,
// @exclude     lastsent.maxy))
// @exclude     {
// @exclude     real_maxy
// @exclude     =
// @exclude     server_maxy;
// @exclude     real_miny
// @exclude     =
// @exclude     server_maxy
// @exclude     -
// @exclude     14142.135623730952
// @exclude     }
// @exclude     }
// @exclude     if
// @exclude     (valcompare(server_miny,
// @exclude     lastsent.miny))
// @exclude     {
// @exclude     if
// @exclude     (0.01
// @exclude     <
// @exclude     server_maxy
// @exclude     -
// @exclude     lastsent.maxy
// @exclude     ||
// @exclude     -0.01
// @exclude     >
// @exclude     server_maxy
// @exclude     -
// @exclude     lastsent.maxy)
// @exclude     {
// @exclude     real_miny
// @exclude     =
// @exclude     server_miny;
// @exclude     real_maxy
// @exclude     =
// @exclude     server_miny
// @exclude     +
// @exclude     14142.135623730952
// @exclude     }
// @exclude     }
// @exclude     if
// @exclude     (server_minx
// @exclude     <
// @exclude     real_minx)
// @exclude     {
// @exclude     real_minx
// @exclude     =
// @exclude     server_minx;
// @exclude     real_maxx
// @exclude     =
// @exclude     server_minx
// @exclude     +
// @exclude     14142.135623730952
// @exclude     }
// @exclude     if
// @exclude     (server_maxx
// @exclude     >
// @exclude     real_maxx)
// @exclude     {
// @exclude     real_maxx
// @exclude     =
// @exclude     server_maxx;
// @exclude     real_minx
// @exclude     =
// @exclude     server_maxx
// @exclude     -
// @exclude     14142.135623730952
// @exclude     }
// @exclude     if
// @exclude     (server_miny
// @exclude     <
// @exclude     real_miny)
// @exclude     {
// @exclude     real_miny
// @exclude     =
// @exclude     server_miny;
// @exclude     real_maxy
// @exclude     =
// @exclude     server_miny
// @exclude     +
// @exclude     14142.135623730952
// @exclude     }
// @exclude     if
// @exclude     (server_maxy
// @exclude     >
// @exclude     real_maxy)
// @exclude     {
// @exclude     real_maxy
// @exclude     =
// @exclude     server_maxy;
// @exclude     real_miny
// @exclude     =
// @exclude     server_maxy
// @exclude     -
// @exclude     14142.135623730952
// @exclude     }
// @exclude     lastsent.minx
// @exclude     =
// @exclude     server_minx;
// @exclude     lastsent.miny
// @exclude     =
// @exclude     server_miny;
// @exclude     lastsent.maxy
// @exclude     =
// @exclude     server_maxy;
// @exclude     lastsent.maxx
// @exclude     =
// @exclude     server_maxx
// @exclude     }
// @exclude     offset_x
// @exclude     =
// @exclude     real_minx
// @exclude     ||
// @exclude     -7071;
// @exclude     offset_y
// @exclude     =
// @exclude     real_miny
// @exclude     ||
// @exclude     -7071
// @exclude     };
// @exclude     var
// @exclude     socket
// @exclude     =
// @exclude     io.connect('ws://127.0.0.1:8081');
// @exclude     var
// @exclude     canMove
// @exclude     =
// @exclude     true;
// @exclude     var
// @exclude     movetoMouse
// @exclude     =
// @exclude     true;
// @exclude     var
// @exclude     moveEvent
// @exclude     =
// @exclude     new
// @exclude     Array(2);
// @exclude     var
// @exclude     canvas
// @exclude     =
// @exclude     document.getElementById("canvas");
// @exclude     last_transmited_game_server
// @exclude     =
// @exclude     null;
// @exclude     socket.on('force-login',
// @exclude     function(data)
// @exclude     {
// @exclude     socket.emit("login",
// @exclude     {
// @exclude     "uuid":
// @exclude     client_uuid,
// @exclude     "type":
// @exclude     "client"
// @exclude     });
// @exclude     transmit_game_server()
// @exclude     });
// @exclude     $(
// @exclude     "#canvas"
// @exclude     ).after(
// @exclude     "<div
// @exclude     style='background-color:
// @exclude     #000000;
// @exclude     -moz-opacity:
// @exclude     0.4;
// @exclude     -khtml-opacity:
// @exclude     0.4;
// @exclude     opacity:
// @exclude     0.4;
// @exclude     filter:
// @exclude     alpha(opacity=40);
// @exclude     zoom:
// @exclude     1;
// @exclude     width:
// @exclude     205px;
// @exclude     top:
// @exclude     10px;
// @exclude     left:
// @exclude     10px;
// @exclude     display:
// @exclude     block;
// @exclude     position:
// @exclude     absolute;
// @exclude     text-align:
// @exclude     center;
// @exclude     font-size:
// @exclude     15px;
// @exclude     color:
// @exclude     #ffffff;
// @exclude     padding:
// @exclude     5px;
// @exclude     font-family:
// @exclude     Ubuntu;'>
// @exclude     <div
// @exclude     style='color:#ffffff;
// @exclude     display:
// @exclude     inline;
// @exclude     -moz-opacity:1;
// @exclude     -khtml-opacity:
// @exclude     1;
// @exclude     opacity:1;
// @exclude     filter:alpha(opacity=100);
// @exclude     padding:
// @exclude     10px;'><a>Kadir
// @exclude     G
// @exclude     YT
// @exclude     1.5</a></div>
// @exclude     <div
// @exclude     style='color:#ffffff;
// @exclude     display:
// @exclude     inline;
// @exclude     -moz-opacity:1;
// @exclude     -khtml-opacity:
// @exclude     1;
// @exclude     opacity:1;
// @exclude     filter:alpha(opacity=100);
// @exclude     padding:
// @exclude     10px;'><br>Minions:
// @exclude     <a
// @exclude     id='minionCount'
// @exclude     >Offline</a>
// @exclude     </div>
// @exclude     <div
// @exclude     style='color:#ffffff;
// @exclude     display:
// @exclude     inline;
// @exclude     -moz-opacity:1;
// @exclude     -khtml-opacity:
// @exclude     1;
// @exclude     opacity:1;
// @exclude     filter:alpha(opacity=100);
// @exclude     padding:
// @exclude     10px;'><br>Move
// @exclude     To
// @exclude     Mouse:
// @exclude     <a
// @exclude     id='ismoveToMouse'
// @exclude     >On</a>
// @exclude     </div>
// @exclude     <div
// @exclude     style='color:#ffffff;
// @exclude     display:
// @exclude     inline;
// @exclude     -moz-opacity:1;
// @exclude     -khtml-opacity:
// @exclude     1;
// @exclude     opacity:1;
// @exclude     filter:alpha(opacity=100);
// @exclude     padding:
// @exclude     10px;'><br>Stop
// @exclude     Movement:
// @exclude     <a
// @exclude     id='isStopMove'
// @exclude     >Off</a>
// @exclude     </div>"
// @exclude     );
// @exclude     socket.on('spawn-count',
// @exclude     function(data)
// @exclude     {
// @exclude     document.getElementById('minionCount').innerHTML
// @exclude     =
// @exclude     data
// @exclude     });
// @exclude     var
// @exclude     client_uuid
// @exclude     =
// @exclude     localStorage.getItem('client_uuid');
// @exclude     if
// @exclude     (client_uuid
// @exclude     ==
// @exclude     null)
// @exclude     {
// @exclude     console.log("generating
// @exclude     a
// @exclude     uuid
// @exclude     for
// @exclude     this
// @exclude     user");
// @exclude     client_uuid
// @exclude     =
// @exclude     "";
// @exclude     var
// @exclude     ranStr
// @exclude     =
// @exclude     "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
// @exclude     for
// @exclude     (var
// @exclude     ii
// @exclude     =
// @exclude     0;
// @exclude     ii
// @exclude     <
// @exclude     15;
// @exclude     ii++)
// @exclude     client_uuid
// @exclude     +=
// @exclude     ranStr.charAt(Math.floor(Math.random()
// @exclude     *
// @exclude     ranStr.length));
// @exclude     localStorage.setItem('client_uuid',
// @exclude     client_uuid)
// @exclude     }
// @exclude     socket.emit("login",
// @exclude     client_uuid);
// @exclude     $("#instructions").replaceWith('<br><div
// @exclude     class="input-group"><span
// @exclude     class="input-group-addon"
// @exclude     id="basic-addon1">UUID</span><input
// @exclude     type="text"
// @exclude     value="'
// @exclude     +
// @exclude     client_uuid
// @exclude     +
// @exclude     '"
// @exclude     readonly
// @exclude     class="form-control"</div>');
// @exclude     function
// @exclude     isMe(cell)
// @exclude     {
// @exclude     for
// @exclude     (var
// @exclude     i
// @exclude     =
// @exclude     0;
// @exclude     i
// @exclude     <
// @exclude     window.agar.myCells.length;
// @exclude     i++)
// @exclude     {
// @exclude     if
// @exclude     (window.agar.myCells[i]
// @exclude     ==
// @exclude     cell.id)
// @exclude     {
// @exclude     return
// @exclude     true
// @exclude     }
// @exclude     }
// @exclude     return
// @exclude     false
// @exclude     }
// @exclude     function
// @exclude     getCell()
// @exclude     {
// @exclude     var
// @exclude     me
// @exclude     =
// @exclude     [];
// @exclude     for
// @exclude     (var
// @exclude     key
// @exclude     in
// @exclude     window.agar.allCells)
// @exclude     {
// @exclude     var
// @exclude     cell
// @exclude     =
// @exclude     window.agar.allCells[key];
// @exclude     if
// @exclude     (isMe(cell))
// @exclude     {
// @exclude     me.push(cell)
// @exclude     }
// @exclude     }
// @exclude     return
// @exclude     me[0]
// @exclude     }
// @exclude     var
// @exclude     skin_var
// @exclude     =
// @exclude     0;
// @exclude     function
// @exclude     emitPosition()
// @exclude     {
// @exclude     for
// @exclude     (i
// @exclude     =
// @exclude     0;
// @exclude     i
// @exclude     <
// @exclude     agar.myCells.length;
// @exclude     i++)
// @exclude     {}
// @exclude     x
// @exclude     =
// @exclude     (mouseX
// @exclude     -
// @exclude     window.innerWidth
// @exclude     /
// @exclude     2)
// @exclude     /
// @exclude     window.agar.drawScale
// @exclude     +
// @exclude     window.agar.rawViewport.x;
// @exclude     y
// @exclude     =
// @exclude     (mouseY
// @exclude     -
// @exclude     window.innerHeight
// @exclude     /
// @exclude     2)
// @exclude     /
// @exclude     window.agar.drawScale
// @exclude     +
// @exclude     window.agar.rawViewport.y;
// @exclude     if
// @exclude     (!movetoMouse)
// @exclude     {
// @exclude     x
// @exclude     =
// @exclude     getCell().x;
// @exclude     y
// @exclude     =
// @exclude     getCell().y
// @exclude     }
// @exclude     socket.emit("pos",
// @exclude     {
// @exclude     "x":
// @exclude     x
// @exclude     -
// @exclude     (real_minx
// @exclude     +
// @exclude     7071),
// @exclude     "y":
// @exclude     y
// @exclude     -
// @exclude     (real_miny
// @exclude     +
// @exclude     7071),
// @exclude     "dimensions":
// @exclude     [-7071,
// @exclude     -7071,
// @exclude     7071,
// @exclude     7071]
// @exclude     })
// @exclude     }
// @exclude     function
// @exclude     emitSplit()
// @exclude     {
// @exclude     socket.emit("cmd",
// @exclude     {
// @exclude     "name":
// @exclude     "split"
// @exclude     })
// @exclude     }
// @exclude     function
// @exclude     emitMassEject()
// @exclude     {
// @exclude     socket.emit("cmd",
// @exclude     {
// @exclude     "name":
// @exclude     "eject"
// @exclude     })
// @exclude     }
// @exclude     function
// @exclude     toggleMovement()
// @exclude     {
// @exclude     canMove
// @exclude     =
// @exclude     !canMove;
// @exclude     switch
// @exclude     (canMove)
// @exclude     {
// @exclude     case
// @exclude     true:
// @exclude     canvas.onmousemove
// @exclude     =
// @exclude     moveEvent[0];
// @exclude     moveEvent[0]
// @exclude     =
// @exclude     null;
// @exclude     canvas.onmousedown
// @exclude     =
// @exclude     moveEvent[1];
// @exclude     moveEvent[1]
// @exclude     =
// @exclude     null;
// @exclude     break;
// @exclude     case
// @exclude     false:
// @exclude     canvas.onmousemove({
// @exclude     clientX:
// @exclude     innerWidth
// @exclude     /
// @exclude     2,
// @exclude     clientY:
// @exclude     innerHeight
// @exclude     /
// @exclude     2
// @exclude     });
// @exclude     moveEvent[0]
// @exclude     =
// @exclude     canvas.onmousemove;
// @exclude     canvas.onmousemove
// @exclude     =
// @exclude     null;
// @exclude     moveEvent[1]
// @exclude     =
// @exclude     canvas.onmousedown;
// @exclude     canvas.onmousedown
// @exclude     =
// @exclude     null;
// @exclude     break
// @exclude     }
// @exclude     }
// @exclude     interval_id
// @exclude     =
// @exclude     setInterval(function()
// @exclude     {
// @exclude     emitPosition()
// @exclude     },
// @exclude     100);
// @exclude     interval_id2
// @exclude     =
// @exclude     setInterval(function()
// @exclude     {
// @exclude     transmit_game_server_if_changed()
// @exclude     },
// @exclude     5000);
// @exclude     document.addEventListener('keydown',
// @exclude     function(e)
// @exclude     {
// @exclude     var
// @exclude     key
// @exclude     =
// @exclude     e.keyCode
// @exclude     ||
// @exclude     e.which;
// @exclude     switch
// @exclude     (key)
// @exclude     {
// @exclude     case
// @exclude     65:
// @exclude     movetoMouse
// @exclude     =
// @exclude     !movetoMouse;
// @exclude     if(movetoMouse)
// @exclude     {
// @exclude     document.getElementById('ismoveToMouse').innerHTML
// @exclude     =
// @exclude     "On";
// @exclude     }
// @exclude     else
// @exclude     {
// @exclude     document.getElementById('ismoveToMouse').innerHTML
// @exclude     =
// @exclude     "Off";
// @exclude     }
// @exclude     break;
// @exclude     case
// @exclude     68:
// @exclude     toggleMovement();
// @exclude     if(!canMove)
// @exclude     {
// @exclude     document.getElementById('isStopMove').innerHTML
// @exclude     =
// @exclude     "On";
// @exclude     }
// @exclude     else
// @exclude     {
// @exclude     document.getElementById('isStopMove').innerHTML
// @exclude     =
// @exclude     "Off";
// @exclude     }
// @exclude     break;
// @exclude     case
// @exclude     69:
// @exclude     emitSplit();
// @exclude     break;
// @exclude     case
// @exclude     82:
// @exclude     emitMassEject();
// @exclude     break
// @exclude     }
// @exclude     });
// @exclude     function
// @exclude     transmit_game_server_if_changed()
// @exclude     {
// @exclude     if
// @exclude     (last_transmited_game_server
// @exclude     !=
// @exclude     window.agar.ws)
// @exclude     {
// @exclude     transmit_game_server()
// @exclude     }
// @exclude     }
// @exclude     function
// @exclude     transmit_game_server()
// @exclude     {
// @exclude     last_transmited_game_server
// @exclude     =
// @exclude     window.agar.ws;
// @exclude     socket.emit("cmd",
// @exclude     {
// @exclude     "name":
// @exclude     "connect_server",
// @exclude     "ip":
// @exclude     last_transmited_game_server
// @exclude     })
// @exclude     }
// @exclude     var
// @exclude     mouseX
// @exclude     =
// @exclude     0;
// @exclude     var
// @exclude     mouseY
// @exclude     =
// @exclude     0;
// @exclude     $("body").mousemove(function(event)
// @exclude     {
// @exclude     mouseX
// @exclude     =
// @exclude     event.clientX;
// @exclude     mouseY
// @exclude     =
// @exclude     event.clientY
// @exclude     });
// @exclude     window.agar.minScale
// @exclude     =
// @exclude     -30
// @exclude     },
// @exclude     5000);
// @exclude     var
// @exclude     allRules
// @exclude     =
// @exclude     [
// @exclude     {
// @exclude     hostname:
// @exclude     ["agar.io"],
// @exclude     scriptUriRe:
// @exclude     /^http:\/\/agar\.io\/main_out\.js/,
// @exclude     replace:
// @exclude     function
// @exclude     (m)
// @exclude     {
// @exclude     m.removeNewlines()
// @exclude     m.replace("var:allCells",
// @exclude     /(=null;)(\w+)(.hasOwnProperty\(\w+\)?)/,
// @exclude     "$1"
// @exclude     +
// @exclude     "$v=$2;"
// @exclude     +
// @exclude     "$2$3",
// @exclude     "$v
// @exclude     =
// @exclude     {}")
// @exclude     m.replace("var:myCells",
// @exclude     /(case
// @exclude     32:)(\w+)(\.push)/,
// @exclude     "$1"
// @exclude     +
// @exclude     "$v=$2;"
// @exclude     +
// @exclude     "$2$3",
// @exclude     "$v
// @exclude     =
// @exclude     []")
// @exclude     m.replace("var:top",
// @exclude     /case
// @exclude     49:[^:]+?(\w+)=\[];/,
// @exclude     "%exclude%"
// @exclude     +
// @exclude     "$v=$1;",
// @exclude     "$v
// @exclude     =
// @exclude     []")
// @exclude     m.replace("var:topTeams",
// @exclude     /case
// @exclude     50:(\w+)=\[];/,
// @exclude     "%exclude%"
// @exclude     +
// @exclude     "$v=$1;",
// @exclude     "$v
// @exclude     =
// @exclude     []")
// @exclude     var
// @exclude     dr
// @exclude     =
// @exclude     "(\\w+)=\\w+\\.getFloat64\\(\\w+,!0\\);\\w+\\+=8;\\n?"
// @exclude     var
// @exclude     dd
// @exclude     =
// @exclude     7071.067811865476
// @exclude     m.replace("var:dimensions
// @exclude     hook:dimensionsUpdated",
// @exclude     RegExp("case
// @exclude     64:"+dr+dr+dr+dr),
// @exclude     "%exclude%"
// @exclude     +
// @exclude     "$v
// @exclude     =
// @exclude     [$1,$2,$3,$4],$H($1,$2,$3,$4),",
// @exclude     "$v
// @exclude     =
// @exclude     "
// @exclude     +
// @exclude     JSON.stringify([-dd,-dd,dd,dd]))
// @exclude     var
// @exclude     vr
// @exclude     =
// @exclude     "(\\w+)=\\w+\\.getFloat32\\(\\w+,!0\\);\\w+\\+=4;"
// @exclude     m.save()
// @exclude     &&
// @exclude     m.replace("var:rawViewport:x,y
// @exclude     var:disableRendering:1",
// @exclude     /else
// @exclude     \w+=\(5\*\w+\+(\w+)\)\/6,\w+=\(5\*\w+\+(\w+)\)\/6,.*?;/,
// @exclude     "%exclude%"
// @exclude     +
// @exclude     "$v0.x=$1;
// @exclude     $v0.y=$2;
// @exclude     if($v1)return;")
// @exclude     &&
// @exclude     m.replace("var:disableRendering:2
// @exclude     hook:skipCellDraw",
// @exclude     /(\w+:function\(\w+\){)(if\(this\.\w+\(\)\){\+\+this\.[\w$]+;)/,
// @exclude     "$1"
// @exclude     +
// @exclude     "if($v
// @exclude     ||
// @exclude     $H(this))return;"
// @exclude     +
// @exclude     "$2")
// @exclude     &&
// @exclude     m.replace("var:rawViewport:scale",
// @exclude     /Math\.pow\(Math\.min\(64\/\w+,1\),\.4\)/,
// @exclude     "($v.scale=%exclude%)")
// @exclude     &&
// @exclude     m.replace("var:rawViewport:x,y,scale",
// @exclude     RegExp("case
// @exclude     17:"+vr+vr+vr),
// @exclude     "%exclude%"
// @exclude     +
// @exclude     "$v.x=$1;
// @exclude     $v.y=$2;
// @exclude     $v.scale=$3;")
// @exclude     &&
// @exclude     m.reset_("window.agar.rawViewport
// @exclude     =
// @exclude     {x:0,y:0,scale:1};"
// @exclude     +
// @exclude     "window.agar.disableRendering
// @exclude     =
// @exclude     false;")
// @exclude     ||
// @exclude     m.restore()
// @exclude     m.replace("reset
// @exclude     hook:connect
// @exclude     var:ws
// @exclude     var:webSocket",
// @exclude     /new
// @exclude     WebSocket\((\w+)\);/,
// @exclude     "$v1
// @exclude     =
// @exclude     %exclude%;
// @exclude     $v0=$1;"
// @exclude     +
// @exclude     m.reset
// @exclude     +
// @exclude     "$H();",
// @exclude     "$v0
// @exclude     =
// @exclude     '';
// @exclude     $v1
// @exclude     =
// @exclude     null;")
// @exclude     m.replace("property:scale",
// @exclude     /function
// @exclude     \w+\(\w+\){\w+\.preventDefault\(\);[^;]+;1>(\w+)&&\(\1=1\)/,
// @exclude     `;${makeProperty("scale",
// @exclude     "$1")};%exclude%`)
// @exclude     m.replace("var:minScale",
// @exclude     /;1>(\w+)&&\(\1=1\)/,
// @exclude     ";$v>$1
// @exclude     &&
// @exclude     ($1=$v)",
// @exclude     "$v
// @exclude     =
// @exclude     1")
// @exclude     m.replace("var:region",
// @exclude     /console\.log\("Find
// @exclude     "\+(\w+\+\w+)\);/,
// @exclude     "%exclude%"
// @exclude     +
// @exclude     "$v=$1;",
// @exclude     "$v
// @exclude     =
// @exclude     ''")
// @exclude     m.replace("cellProperty:isVirus",
// @exclude     /((\w+)=!!\(\w+&1\)[\s\S]{0,400})((\w+).(\w+)=\2;)/,
// @exclude     "$1$4.isVirus=$3")
// @exclude     m.replace("var:dommousescroll",
// @exclude     /("DOMMouseScroll",)(\w+),/,
// @exclude     "$1($v=$2),")
// @exclude     m.replace("var:skinF
// @exclude     hook:cellSkin",
// @exclude     /(\w+.fill\(\))(;null!=(\w+))/,
// @exclude     "$1;"
// @exclude     +
// @exclude     "if($v)$3
// @exclude     =
// @exclude     $v(this,$3);"
// @exclude     +
// @exclude     "if($h)$3
// @exclude     =
// @exclude     $h(this,$3);"
// @exclude     +
// @exclude     "$2");
// @exclude     m.replace("hook:afterCellStroke",
// @exclude     /\((\w+)\.strokeStyle="#000000",\1\.globalAlpha\*=\.1,\1\.stroke\(\)\);\1\.globalAlpha=1;/,
// @exclude     "%exclude%"
// @exclude     +
// @exclude     "$H(this);")
// @exclude     m.replace("var:showStartupBg",
// @exclude     /\w+\?\(\w\.globalAlpha=\w+,/,
// @exclude     "$v
// @exclude     &&
// @exclude     %exclude%",
// @exclude     "$v
// @exclude     =
// @exclude     true")
// @exclude     var
// @exclude     vAlive
// @exclude     =
// @exclude     /\((\w+)\[(\w+)\]==this\){\1\.splice\(\2,1\);/.exec(m.text)
// @exclude     var
// @exclude     vEaten
// @exclude     =
// @exclude     /0<this\.[$\w]+&&(\w+)\.push\(this\)}/.exec(m.text)
// @exclude     !vAlive
// @exclude     &&
// @exclude     console.error("Expose:
// @exclude     can't
// @exclude     find
// @exclude     vAlive")
// @exclude     !vEaten
// @exclude     &&
// @exclude     console.error("Expose:
// @exclude     can't
// @exclude     find
// @exclude     vEaten")
// @exclude     if
// @exclude     (vAlive
// @exclude     &&
// @exclude     vEaten)
// @exclude     m.replace("var:aliveCellsList
// @exclude     var:eatenCellsList",
// @exclude     RegExp(vAlive[1]
// @exclude     +
// @exclude     "=\\[\\];"
// @exclude     +
// @exclude     vEaten[1]
// @exclude     +
// @exclude     "=\\[\\];"),
// @exclude     "$v0="
// @exclude     +
// @exclude     vAlive[1]
// @exclude     +
// @exclude     "=[];"
// @exclude     +
// @exclude     "$v1="
// @exclude     +
// @exclude     vEaten[1]
// @exclude     +
// @exclude     "=[];",
// @exclude     "$v0
// @exclude     =
// @exclude     [];
// @exclude     $v1
// @exclude     =
// @exclude     []")
// @exclude     m.replace("hook:drawScore",
// @exclude     /(;(\w+)=Math\.max\(\2,(\w+\(\))\);)0!=\2&&/,
// @exclude     "$1($H($3))||0!=$2&&")
// @exclude     m.replace("hook:beforeTransform
// @exclude     hook:beforeDraw
// @exclude     var:drawScale",
// @exclude     /(\w+)\.save\(\);\1\.translate\((\w+\/2,\w+\/2)\);\1\.scale\((\w+),\3\);\1\.translate\((-\w+,-\w+)\);/,
// @exclude     "$v
// @exclude     =
// @exclude     $3;$H0($1,$2,$3,$4);"
// @exclude     +
// @exclude     "%exclude%"
// @exclude     +
// @exclude     "$H1($1,$2,$3,$4);",
// @exclude     "$v
// @exclude     =
// @exclude     1")
// @exclude     m.replace("hook:afterDraw",
// @exclude     /(\w+)\.restore\(\);(\w+)&&\2\.width&&\1\.drawImage/,
// @exclude     "$H();"
// @exclude     +
// @exclude     "%exclude%")
// @exclude     m.replace("hook:cellColor",
// @exclude     /(\w+=)this\.color,/,
// @exclude     "$1
// @exclude     ($h
// @exclude     &&
// @exclude     $h(this,
// @exclude     this.color)
// @exclude     ||
// @exclude     this.color),")
// @exclude     m.replace("var:drawGrid",
// @exclude     /(\w+)\.globalAlpha=(\.2\*\w+);/,
// @exclude     "if(!$v)return;"
// @exclude     +
// @exclude     "%exclude%",
// @exclude     "$v
// @exclude     =
// @exclude     true")
// @exclude     m.replace("hook:drawCellMass",
// @exclude     /&&\((\w+\|\|0==\w+\.length&&\(!this\.\w+\|\|this\.\w+\)&&20<this\.size)\)&&/,
// @exclude     "&&(
// @exclude     $h
// @exclude     ?
// @exclude     $h(this,$1)
// @exclude     :
// @exclude     ($1)
// @exclude     )&&")
// @exclude     m.replace("hook:cellMassText",
// @exclude     /(\.\w+)(\(~~\(this\.size\*this\.size\/100\)\))/,
// @exclude     "$1(
// @exclude     $h
// @exclude     ?
// @exclude     $h(this,$2)
// @exclude     :
// @exclude     $2
// @exclude     )")
// @exclude     m.replace("hook:cellMassTextScale",
// @exclude     /(\.\w+)\((this\.\w+\(\))\)([\s\S]{0,1000})\1\(\2\/2\)/,
// @exclude     "$1($2)$3$1(
// @exclude     $h
// @exclude     ?
// @exclude     $h(this,$2/2)
// @exclude     :
// @exclude     ($2/2)
// @exclude     )")
// @exclude     m.replace("var:enableDirectionSending",
// @exclude     /;64>(\w+)\*\1\+(\w+)\*\2/,
// @exclude     ";if(!$v)return"
// @exclude     +
// @exclude     "%exclude%",
// @exclude     "$v
// @exclude     =
// @exclude     true")
// @exclude     m.replace("var:simpleCellDraw",
// @exclude     /(:function\(\){)(var
// @exclude     a=10;)/,
// @exclude     "$1
// @exclude     if($v)return
// @exclude     true;$2",
// @exclude     "$v=false")
// @exclude     m.replace("hook:updateLeaderboard",
// @exclude     /({\w+=null;)(if\(null!=)/,
// @exclude     "$1
// @exclude     if($H())return;
// @exclude     $2")
// @exclude     var
// @exclude     template
// @exclude     =
// @exclude     (key,n)
// @exclude     =>
// @exclude     `this\\.${key}=\\w+\\*\\(this\\.(\\w+)-this\\.(\\w+)\\)\\+this\\.\\${n};`
// @exclude     var
// @exclude     re
// @exclude     =
// @exclude     new
// @exclude     RegExp(template('x',
// @exclude     2)
// @exclude     +
// @exclude     template('y',
// @exclude     4)
// @exclude     +
// @exclude     template('size',
// @exclude     6))
// @exclude     var
// @exclude     match
// @exclude     =
// @exclude     re.exec(m.text)
// @exclude     if
// @exclude     (match)
// @exclude     {
// @exclude     m.cellProp.nx
// @exclude     =
// @exclude     match[1]
// @exclude     m.cellProp.ny
// @exclude     =
// @exclude     match[3]
// @exclude     m.cellProp.nSize
// @exclude     =
// @exclude     match[5]
// @exclude     }
// @exclude     else
// @exclude     console.error("Expose:
// @exclude     cellProp:x,y,size
// @exclude     search
// @exclude     failed!")
// @exclude     }},
// @exclude     ]
// @exclude     function
// @exclude     makeProperty(name,
// @exclude     varname)
// @exclude     {
// @exclude     return
// @exclude     "'"
// @exclude     +
// @exclude     name
// @exclude     +
// @exclude     "'
// @exclude     in
// @exclude     window.agar
// @exclude     ||
// @exclude     "
// @exclude     +
// @exclude     "Object.defineProperty(
// @exclude     window.agar,
// @exclude     '"+name+"',
// @exclude     "
// @exclude     +
// @exclude     "{get:function(){return
// @exclude     "+varname+"},set:function(){"+varname+"=arguments[0]},enumerable:true})"
// @exclude     }
// @exclude     if
// @exclude     (window.top
// @exclude     !=
// @exclude     window.self)
// @exclude     return
// @exclude     if
// @exclude     (document.readyState
// @exclude     !==
// @exclude     'loading')
// @exclude     return
// @exclude     console.error("Expose:
// @exclude     this
// @exclude     script
// @exclude     should
// @exclude     run
// @exclude     at
// @exclude     document-start")
// @exclude     var
// @exclude     isFirefox
// @exclude     =
// @exclude     /Firefox/.test(navigator.userAgent)
// @exclude     //
// @exclude     Stage
// @exclude     1:
// @exclude     Find
// @exclude     corresponding
// @exclude     rule
// @exclude     var
// @exclude     rules
// @exclude     for
// @exclude     (var
// @exclude     i
// @exclude     =
// @exclude     0;
// @exclude     i
// @exclude     <
// @exclude     allRules.length;
// @exclude     i++)
// @exclude     if
// @exclude     (allRules[i].hostname.indexOf(window.location.hostname)
// @exclude     !==
// @exclude     -1)
// @exclude     {
// @exclude     rules
// @exclude     =
// @exclude     allRules[i]
// @exclude     break
// @exclude     }
// @exclude     if
// @exclude     (!rules)
// @exclude     return
// @exclude     console.error("Expose:
// @exclude     cant
// @exclude     find
// @exclude     corresponding
// @exclude     rule")
// @exclude     //
// @exclude     Stage
// @exclude     2:
// @exclude     Search
// @exclude     for
// @exclude     `main_out.js`
// @exclude     if
// @exclude     (isFirefox)
// @exclude     {
// @exclude     function
// @exclude     bse_listener(e)
// @exclude     {
// @exclude     tryReplace(e.target,
// @exclude     e)
// @exclude     }
// @exclude     window.addEventListener('beforescriptexecute',
// @exclude     bse_listener,
// @exclude     true)
// @exclude     }
// @exclude     else
// @exclude     {
// @exclude     //
// @exclude     Iterate
// @exclude     over
// @exclude     document.head
// @exclude     child
// @exclude     elements
// @exclude     and
// @exclude     look
// @exclude     for
// @exclude     `main_out.js`
// @exclude     for
// @exclude     (var
// @exclude     i
// @exclude     =
// @exclude     0;
// @exclude     i
// @exclude     <
// @exclude     document.head.childNodes.length;
// @exclude     i++)
// @exclude     if
// @exclude     (tryReplace(document.head.childNodes[i]))
// @exclude     return
// @exclude     //
// @exclude     If
// @exclude     there
// @exclude     are
// @exclude     no
// @exclude     desired
// @exclude     element
// @exclude     in
// @exclude     document.head,
// @exclude     then
// @exclude     wait
// @exclude     until
// @exclude     it
// @exclude     appears
// @exclude     function
// @exclude     observerFunc(mutations)
// @exclude     {
// @exclude     for
// @exclude     (var
// @exclude     i
// @exclude     =
// @exclude     0;
// @exclude     i
// @exclude     <
// @exclude     mutations.length;
// @exclude     i++)
// @exclude     {
// @exclude     var
// @exclude     addedNodes
// @exclude     =
// @exclude     mutations[i].addedNodes
// @exclude     for
// @exclude     (var
// @exclude     j
// @exclude     =
// @exclude     0;
// @exclude     j
// @exclude     <
// @exclude     addedNodes.length;
// @exclude     j++)
// @exclude     if
// @exclude     (tryReplace(addedNodes[j]))
// @exclude     return
// @exclude     observer.disconnect()
// @exclude     }
// @exclude     }
// @exclude     var
// @exclude     observer
// @exclude     =
// @exclude     new
// @exclude     MutationObserver(observerFunc)
// @exclude     observer.observe(document.head,
// @exclude     {childList:
// @exclude     true})
// @exclude     }
// @exclude     //
// @exclude     Stage
// @exclude     3:
// @exclude     Replace
// @exclude     found
// @exclude     element
// @exclude     using
// @exclude     rules
// @exclude     function
// @exclude     tryReplace(node,
// @exclude     event)
// @exclude     {
// @exclude     var
// @exclude     scriptLinked
// @exclude     =
// @exclude     rules.scriptUriRe
// @exclude     &&
// @exclude     rules.scriptUriRe.test(node.src)
// @exclude     var
// @exclude     scriptEmbedded
// @exclude     =
// @exclude     rules.scriptTextRe
// @exclude     &&
// @exclude     rules.scriptTextRe.test(node.textContent)
// @exclude     if
// @exclude     (node.tagName
// @exclude     !=
// @exclude     "SCRIPT"
// @exclude     ||
// @exclude     (!scriptLinked
// @exclude     &&
// @exclude     !scriptEmbedded))
// @exclude     return
// @exclude     false
// @exclude     //
// @exclude     this
// @exclude     is
// @exclude     not
// @exclude     desired
// @exclude     element;
// @exclude     get
// @exclude     back
// @exclude     to
// @exclude     stage
// @exclude     2
// @exclude     if
// @exclude     (isFirefox)
// @exclude     {
// @exclude     event.preventDefault()
// @exclude     window.removeEventListener('beforescriptexecute',
// @exclude     bse_listener,
// @exclude     true)
// @exclude     }
// @exclude     var
// @exclude     mod
// @exclude     =
// @exclude     {
// @exclude     reset:
// @exclude     "",
// @exclude     text:
// @exclude     null,
// @exclude     history:
// @exclude     [],
// @exclude     cellProp:
// @exclude     {},
// @exclude     save()
// @exclude     {
// @exclude     this.history.push({reset:this.reset,
// @exclude     text:this.text})
// @exclude     return
// @exclude     true
// @exclude     },
// @exclude     restore()
// @exclude     {
// @exclude     var
// @exclude     state
// @exclude     =
// @exclude     this.history.pop()
// @exclude     this.reset
// @exclude     =
// @exclude     state.reset
// @exclude     this.text
// @exclude     =
// @exclude     state.text
// @exclude     return
// @exclude     true
// @exclude     },
// @exclude     reset_(reset)
// @exclude     {
// @exclude     this.reset
// @exclude     +=
// @exclude     reset
// @exclude     return
// @exclude     true
// @exclude     },
// @exclude     replace(what,
// @exclude     from,
// @exclude     to,
// @exclude     reset)
// @exclude     {
// @exclude     var
// @exclude     vars
// @exclude     =
// @exclude     [],
// @exclude     hooks
// @exclude     =
// @exclude     []
// @exclude     what.split("
// @exclude     ").forEach((x)
// @exclude     =>
// @exclude     {
// @exclude     x
// @exclude     =
// @exclude     x.split(":")
// @exclude     x[0]
// @exclude     ===
// @exclude     "var"
// @exclude     &&
// @exclude     vars.push(x[1])
// @exclude     x[0]
// @exclude     ===
// @exclude     "hook"
// @exclude     &&
// @exclude     hooks.push(x[1])
// @exclude     })
// @exclude     function
// @exclude     replaceShorthands(str)
// @exclude     {
// @exclude     function
// @exclude     nope(letter,
// @exclude     array,
// @exclude     fun)
// @exclude     {
// @exclude     str
// @exclude     =
// @exclude     str
// @exclude     .split(new
// @exclude     RegExp('\\
// @version     1
// @grant       none
// ==/UserScript==
// @exclude     +
// @exclude     letter
// @exclude     +
// @exclude     '([0-9]?)'))
// @exclude     .map((v,n)
// @exclude     =>
// @exclude     n%2
// @exclude     ?
// @exclude     fun(array[v||0])
// @exclude     :
// @exclude     v)
// @exclude     .join("")
// @exclude     }
// @exclude     nope('v',
// @exclude     vars,
// @exclude     (name)
// @exclude     =>
// @exclude     "window.agar."
// @exclude     +
// @exclude     name)
// @exclude     nope('h',
// @exclude     hooks,
// @exclude     (name)
// @exclude     =>
// @exclude     "window.agar.hooks."
// @exclude     +
// @exclude     name)
// @exclude     nope('H',
// @exclude     hooks,
// @exclude     (name)
// @exclude     =>
// @exclude     "window.agar.hooks."
// @exclude     +
// @exclude     name
// @exclude     +
// @exclude     "&&"
// @exclude     +
// @exclude     "window.agar.hooks."
// @exclude     +
// @exclude     name)
// @exclude     return
// @exclude     str
// @exclude     }
// @exclude     var
// @exclude     newText
// @exclude     =
// @exclude     this.text.replace(from,
// @exclude     replaceShorthands(to))
// @exclude     if(newText
// @exclude     ===
// @exclude     this.text)
// @exclude     {
// @exclude     console.error("Expose:
// @exclude     `"
// @exclude     +
// @exclude     what
// @exclude     +
// @exclude     "`
// @exclude     replacement
// @exclude     failed!")
// @exclude     return
// @exclude     false
// @exclude     }
// @exclude     else
// @exclude     {
// @exclude     this.text
// @exclude     =
// @exclude     newText
// @exclude     if
// @exclude     (reset)
// @exclude     this.reset
// @exclude     +=
// @exclude     replaceShorthands(reset)
// @exclude     +
// @exclude     ";"
// @exclude     return
// @exclude     true
// @exclude     }
// @exclude     },
// @exclude     removeNewlines()
// @exclude     {
// @exclude     this.text
// @exclude     =
// @exclude     this.text.replace(/([,\/;])\n/mg,
// @exclude     "$1")
// @exclude     },
// @exclude     get:
// @exclude     function()
// @exclude     {
// @exclude     var
// @exclude     cellProp
// @exclude     =
// @exclude     JSON.stringify(this.cellProp)
// @exclude     return
// @exclude     `window.agar={hooks:{},cellProp:${cellProp}};`
// @exclude     +
// @exclude     this.reset
// @exclude     +
// @exclude     this.text
// @exclude     }
// @exclude     }
// @exclude     if
// @exclude     (scriptEmbedded)
// @exclude     {
// @exclude     mod.text
// @exclude     =
// @exclude     node.textContent
// @exclude     rules.replace(mod)
// @exclude     if
// @exclude     (isFirefox)
// @exclude     {
// @exclude     document.head.removeChild(node)
// @exclude     var
// @exclude     script
// @exclude     =
// @exclude     document.createElement("script")
// @exclude     script.textContent
// @exclude     =
// @exclude     mod.get()
// @exclude     document.head.appendChild(script)
// @exclude     }
// @exclude     else
// @exclude     {
// @exclude     node.textContent
// @exclude     =
// @exclude     mod.get()
// @exclude     }
// @exclude     console.log("Expose:
// @exclude     replacement
// @exclude     done")
// @exclude     }
// @exclude     else
// @exclude     {
// @exclude     document.head.removeChild(node)
// @exclude     var
// @exclude     request
// @exclude     =
// @exclude     new
// @exclude     XMLHttpRequest()
// @exclude     request.onload
// @exclude     =
// @exclude     function()
// @exclude     {
// @exclude     var
// @exclude     script
// @exclude     =
// @exclude     document.createElement("script")
// @exclude     mod.text
// @exclude     =
// @exclude     this.responseText
// @exclude     rules.replace(mod)
// @exclude     script.textContent
// @exclude     =
// @exclude     mod.get()
// @exclude     //
// @exclude     `main_out.js`
// @exclude     should
// @exclude     not
// @exclude     executed
// @exclude     before
// @exclude     jQuery
// @exclude     was
// @exclude     loaded,
// @exclude     so
// @exclude     we
// @exclude     need
// @exclude     to
// @exclude     wait
// @exclude     jQuery
// @exclude     function
// @exclude     insertScript(script)
// @exclude     {
// @exclude     if
// @exclude     (typeof
// @exclude     jQuery
// @exclude     ===
// @exclude     "undefined")
// @exclude     return
// @exclude     setTimeout(insertScript,
// @exclude     0,
// @exclude     script)
// @exclude     document.head.appendChild(script)
// @exclude     console.log("Expose:
// @exclude     replacement
// @exclude     done")
// @exclude     }
// @exclude     insertScript(script)
// @exclude     }
// @exclude     request.onerror
// @exclude     =
// @exclude     function()
// @exclude     {
// @exclude     console.error("Expose:
// @exclude     response
// @exclude     was
// @exclude     null")
// @exclude     }
// @exclude     request.open("get",
// @exclude     node.src,
// @exclude     true)
// @exclude     request.send()
// @exclude     }
// @exclude     return
// @exclude     true
// @exclude     }
// @version     1
// @grant       none
// ==/UserScript==