Facebook
From CSL, 4 Months ago, written in JavaScript.
Embed
Download Paste or View Raw
Hits: 52
  1. (function(cb)
  2. {
  3.     function Ra() {}
  4.     function k() {}
  5.     function l(a) {
  6.         this.Db = a;
  7.         Error.captureStackTrace && Error.captureStackTrace(this, l)
  8.     }
  9.     function w() {
  10.         this.Dc = 0;
  11.         this.m = 32;
  12.         this.c = 63;
  13.         this.i = 1;
  14.         this.a = new x(0,0)
  15.     }
  16.     function z() {
  17.         this.bd = this.cd = this.X = null;
  18.         this.Ce = 0;
  19.         this.J = this.F = this.Yb = null;
  20.         this.tb = 0;
  21.         this.i = 1;
  22.         this.c = 63;
  23.         this.m = 32;
  24.         this.Ha = 1 / 0;
  25.         this.ua = !0;
  26.         this.S = 0
  27.     }
  28.     function B() {
  29.         this.m = 32;
  30.         this.c = 63;
  31.         this.i = 1;
  32.         this.la = 0;
  33.         this.X = new x(0,0)
  34.     }
  35.     function za() {
  36.         this.w = []
  37.     }
  38.     function ka() {
  39.         this.S = 0;
  40.         this.hc = 1 / 0;
  41.         this.Ja = this.Ua = 100;
  42.         this.Ac = this.Bc = 0
  43.     }
  44.     function la() {
  45.         this.cf = 0;
  46.         this.c = this.m = 63;
  47.         this.S = 16777215;
  48.         this.ga = .99;
  49.         this.K = 1;
  50.         this.i = .5;
  51.         this.L = 10;
  52.         this.ma = new x(0,0);
  53.         this.s = new x(0,0);
  54.         this.a = new x(0,0)
  55.     }
  56.     function N() {
  57.         this.D = 0
  58.     }
  59.     function Y() {
  60.         this.D = 0
  61.     }
  62.     function Z() {
  63.         this.D = 0
  64.     }
  65.     function O() {
  66.         this.D = 0
  67.     }
  68.     function E() {
  69.         this.D = 0
  70.     }
  71.     function P() {
  72.         this.D = 0
  73.     }
  74.     function I() {
  75.         this.gd = !1;
  76.         this.D = 0
  77.     }
  78.     function Sa() {}
  79.     function ma() {
  80.         this.D = 0
  81.     }
  82.     function na() {
  83.         this.D = 0
  84.     }
  85.     function aa() {
  86.         this.D = 0
  87.     }
  88.     function ba() {
  89.         this.D = 0
  90.     }
  91.     function Q() {
  92.         this.D = 0
  93.     }
  94.     function R() {
  95.         this.D = 0
  96.     }
  97.     function ca() {
  98.         this.D = 0
  99.     }
  100.     function da() {
  101.         this.D = 0
  102.     }
  103.     function K() {
  104.         this.D = 0
  105.     }
  106.     function S() {
  107.         this.D = 0
  108.     }
  109.     function oa() {
  110.         this.D = 0
  111.     }
  112.     function T() {
  113.         this.D = 0
  114.     }
  115.     function L() {
  116.         this.D = 0
  117.     }
  118.     function pa() {
  119.         this.D = 0
  120.     }
  121.     function U() {
  122.         this.D = 0
  123.     }
  124.     function qa() {
  125.         this.D = 0
  126.     }
  127.     function ra() {
  128.         this.ja = p.oa;
  129.         this.N = null;
  130.         this.Sb = this.kc = 0;
  131.         this.yb = !1;
  132.         this.Hb = this.na = 0;
  133.         this.pa = "Player";
  134.         this.ki = this.Tc = 0;
  135.         this.ae = null;
  136.         this.ce = !1;
  137.         this.zb = this.If = null;
  138.         this.Ab = 0;
  139.         this.Rb = !1
  140.     }
  141.     function Aa()
  142.         { // u = new Aa;
  143.         this.fa = null;
  144.         this.Qc = 2;
  145.         this.Zb = 0;
  146.         this.Dd = 1;
  147.         this.$a = this.Ma = 3;
  148.         this.Sd = !1;
  149.         this.C = null;
  150.         this.ca = [];
  151.         this.Ld = "";
  152.         this.fa = n.wd()[0];
  153.         this.jc = [null, new W, new W];
  154.         this.jc[1].Pa.push(p.ka.S);
  155.         this.jc[2].Pa.push(p.wa.S)
  156.     }
  157.     function p(a, b, c, d, e, f, h, m) {
  158.         this.Sc = null;
  159.         this.R = a;
  160.         this.S = b;
  161.         this.Ee = c;
  162.         this.Vg = d;
  163.         this.pa = e;
  164.         this.m = m;
  165.         this.Vh = new W;
  166.         this.Vh.Pa.push(b)
  167.     }
  168.     function W() {
  169.         this.Td = 16777215;
  170.         this.Pa = []
  171.     }
  172.     function n() {
  173.         this.u = [];
  174.         this.I = [];
  175.         this.Y = [];
  176.         this.Ra = [];
  177.         this.w = [];
  178.         this.Sa = [];
  179.         this.Nb = [];
  180.         this.Gb = [];
  181.         this.bc = new Ba;
  182.         this.vd = 255;
  183.         this.rd = this.Ed = 0;
  184.         this.sd = !0;
  185.         this.Xc = !1
  186.     }
  187.     function Ga() {}
  188.     function Ba() {
  189.         this.Gc = 0;
  190.         this.L = 15;
  191.         this.m = 0;
  192.         this.ma = new x(0,0);
  193.         this.K = this.i = .5;
  194.         this.ga = .96;
  195.         this.oc = .1;
  196.         this.Hc = .07;
  197.         this.Ic = .96;
  198.         this.Fc = 5
  199.     }
  200.     function sa() {
  201.         this.ic = p.oa;
  202.         this.J = new x(0,0);
  203.         this.F = new x(0,0)
  204.     }
  205.     function J() {
  206.         this.Mb = this.Fb = this.Jb = this.Wa = 0;
  207.         this.Bd = p.ka;
  208.         this.xb = this.Za = 0;
  209.         this.ia = new za;
  210.         this.Ma = 0;
  211.         this.$a = 5;
  212.         this.fa = null
  213.     }
  214.     function X() {
  215.         this.c = this.m = 63;
  216.         this.S = 16777215;
  217.         this.ga = .99;
  218.         this.K = 1;
  219.         this.i = .5;
  220.         this.L = 10;
  221.         this.ma = new x(0,0);
  222.         this.s = new x(0,0);
  223.         this.a = new x(0,0)
  224.     }
  225.     function Ha() {}
  226.     function y() {}
  227.     function ta() {}
  228.     function M() {
  229.         this.gb = "";
  230.         this.Kc = this.Mc = 0
  231.     }
  232.     function Ca(a, b) {
  233.         this.ze = a;
  234.         this.Df = b;
  235.         this.sb = a;
  236.         this.Jc = window.performance.now()
  237.     }
  238.     function Da() {}
  239.     function Ia() {}
  240.     function Ea() {}
  241.     function ua() {}
  242.     function F() {}
  243.     function x(a, b) {
  244.         this.x = a;
  245.         this.y = b
  246.     }
  247.     function Ta() {}
  248.     function Ja(a) {
  249.         this.ve = new Map;
  250.         this.Fg = new Ca(100,16);
  251.         this.Wc = !1;
  252.         this.Tc = 0;
  253.         this.ac = a;
  254.         a = r.ba(8);
  255.         a.g(Math.random());
  256.         this.Xb = a.nb()
  257.     }
  258.     function Fa(a) {
  259.         this.qc = new Map;
  260.         this.jb = null;
  261.         this.Pc = 32;
  262.         this.ub = new Map;
  263.         this.Ga = [];
  264.         this.pf = 4;
  265.         this.mg = 600;
  266.         var b = this;
  267.         ea.call(this, a.state);
  268.         this.ih = a.oi;
  269.         this.di = a.version;
  270.         this.jh = 1;
  271.         this.Pe = 0;
  272.         this.yf = window.performance.now();
  273.         this.Va = new fa(this.ih,a.iceServers,Ta.ii,a.ti);
  274.         this.Va.Be = Ua(this, this.Jg);
  275.         this.Va.Xe = function(a) {
  276.             b.nh(a)
  277.         }
  278.         ;
  279.         this.Va.Rc = function(a) {
  280.                         // kawaƂek linku = C.Uc(C.B());
  281.             ua.va(b.Rc, a) // A.Rc, kawaƂek linku
  282.         }
  283.         ;
  284.         this.Va.$b = function(a, d) {
  285.             null != b.$b && b.$b(a, d)
  286.         }
  287.     }
  288.     function ea(a) {
  289.         this.ed = this.Qa = 0;
  290.         this.Md = new Ka;
  291.         this.vg = 0;
  292.         this.re = .06;
  293.         va.call(this, a)
  294.     }
  295.     function ga() {}
  296.     function La(a, b) {
  297.         this.Qf = 0;
  298.         this.version = 1;
  299.         this.ld = 0;
  300.         this.Cb = r.ba(1E3);
  301.         this.nc = r.ba(16384);
  302.         var c = this;
  303.         this.version = b;
  304.         var d = this.ld = a.ea;
  305.         this.fe = a;
  306.         a.Fa.G(this.nc);
  307.         a.wb = function(b) {
  308.             var e = a.ea;
  309.             c.nc.Da(e - d);
  310.             d = e;
  311.             c.nc.Na(b.A);
  312.             g.ke(b, c.nc)
  313.         }
  314.         ;
  315.         this.Cb.Na(0);
  316.         var e = this.ld;
  317.         a.Fa.uf(function(b) {
  318.             var d = a.ea;
  319.             c.Cb.Da(d - e);
  320.             c.Cb.f(b);
  321.             c.Qf++;
  322.             e = d
  323.         })
  324.     }
  325.     function Ma() {}
  326.     function ha() {
  327.         this.D = 0
  328.     }
  329.     function va(a) {
  330.         this.ea = 0;
  331.         this.Fa = a
  332.     }
  333.     function Ka() {
  334.         this.list = []
  335.     }
  336.     function g() {
  337.         this.D = 0
  338.     }
  339.     function Va() {}
  340.     function Wa() {}
  341.     function ia() {}
  342.     function V() {}
  343.     function r(a, b) {
  344.         null == b && (b = !1);
  345.         this.j = a;
  346.         this.sa = b;
  347.         this.a = 0
  348.     }
  349.     function C(a, b) {
  350.         null == b && (b = !1);
  351.         this.j = a;
  352.         this.sa = b;
  353.         this.a = 0
  354.     }
  355.     function Na(a) {
  356.         this.fb = null;
  357.         this.Dh = 1E4;
  358.         this.Ec = !0;
  359.         var b = this;
  360.         a.Ae();
  361.         this.ra = a.ra;
  362.         this.hb = a.hb;
  363.         this.Ob = a.Ob;
  364.         this.fb = a.fb;
  365.         this.Bf = window.performance.now();
  366.         var c = null
  367.           , c = function() {
  368.             var a = b.Dh - b.Xh();
  369.             0 >= a ? b.bb() : (window.clearTimeout(b.Cf),
  370.             a = window.setTimeout(c, a + 1E3),
  371.             b.Cf = a)
  372.         };
  373.         c();
  374.         this.ra.oniceconnectionstatechange = function() {
  375.             var a = b.ra.iceConnectionState;
  376.             "closed" != a && "failed" != a || b.bb()
  377.         }
  378.         ;
  379.         a = 0;
  380.         for (var d = this.hb; a < d.length; ) {
  381.             var e = d[a];
  382.             ++a;
  383.             e.onmessage = function(a) {
  384.                 b.Ec && (b.Bf = window.performance.now(),
  385.                 null != b.$e && b.$e(a.data))
  386.             }
  387.             ;
  388.             e.onclose = function() {
  389.                 b.bb()
  390.             }
  391.         }
  392.     }
  393.     function Xa() {}
  394.     function fa(a, b, c, d) {
  395.         this.pc = new Set;
  396.         this.Vb = new Set;
  397.         this.Yc = this.dc = this.sf = !1;
  398.         this.Ya = null;
  399.         this.R = "";
  400.         this.Gh = 5E4;
  401.         this.Fh = 1E4;
  402.         this.vb = new Map;
  403.         this.Rh = a;
  404.         this.Ad = b;
  405.         this.kg = c;
  406.         this.$c = d;
  407.         null == this.$c && (this.$c = "");
  408.         this.Rd()
  409.     }
  410.     function wa(a, b, c) {
  411.         this.fb = this.Ud = null;
  412.         this.Ob = [];
  413.         this.De = 0;
  414.         this.af = !1;
  415.         this.zd = [];
  416.         this.hb = [];
  417.         var d = this;
  418.         this.ra = new RTCPeerConnection({
  419.             iceServers: b
  420.         },wa.qg);
  421.         this.Le = new Promise(function(a) {
  422.             d.Qg = a
  423.         }
  424.         );
  425.         this.ra.onicecandidate = function(a) {
  426.             null == a.candidate ? d.Qg(d.zd) : (a = a.candidate,
  427.             null != a.candidate && "" != a.candidate && (null != d.Hd && d.Hd(a),
  428.             d.zd.push(a)))
  429.         }
  430.         ;
  431.         for (b = 0; b < c.length; )
  432.             this.sg(c[b++]);
  433.         this.R = a
  434.     }
  435.     function H() {}
  436.     function Ya() {}
  437.     function ja() {}
  438.     function Za() {}
  439.     function G() {}
  440.     function bb() {
  441.         return k.Ub(this, "")
  442.     }
  443.     function v(a, b) {
  444.         var c = Object.create(a), d;
  445.         for (d in b)
  446.             c[d] = b[d];
  447.         b.toString !== Object.prototype.toString && (c.toString = b.toString);
  448.         return c
  449.     }
  450.     function Ua(a, b) {
  451.         if (null == b)
  452.             return null;
  453.         null == b.od && (b.od = db++);
  454.         var c;
  455.         null == a.de ? a.de = {} : c = a.de[b.od];
  456.         null == c && (c = b.bind(a),
  457.         a.de[b.od] = c);
  458.         return c
  459.     }
  460.     var Oa = Oa || {}, $a;
  461.     G.b = !0;
  462.     G.Jf = function(a, b) {
  463.         var c = a.charCodeAt(b);
  464.         if (c == c)
  465.             return c
  466.     }
  467.     ;
  468.     G.substr = function(a, b, c) {
  469.         if (null == c)
  470.             c = a.length;
  471.         else if (0 > c)
  472.             if (0 == b)
  473.                 c = a.length + c;
  474.             else
  475.                 return "";
  476.         return a.substr(b, c)
  477.     }
  478.     ;
  479.     G.remove = function(a, b) {
  480.         var c = a.indexOf(b);
  481.         if (-1 == c)
  482.             return !1;
  483.         a.splice(c, 1);
  484.         return !0
  485.     }
  486.     ;
  487.     Math.b = !0;
  488.     Za.b = !0;
  489.     Za.ji = function(a) {
  490.         var b = [];
  491.         if (null != a) {
  492.             var c = Object.prototype.hasOwnProperty, d;
  493.             for (d in a)
  494.                 "__id__" != d && "hx__closures__" != d && c.call(a, d) && b.push(d)
  495.         }
  496.         return b
  497.     }
  498.     ;
  499.     ja.b = !0;
  500.     ja.pe = function(a) {
  501.         return k.Ub(a, "")
  502.     }
  503.     ;
  504.     ja.parseInt = function(a) {
  505.         a = parseInt(a, !a || "0" != a[0] || "x" != a[1] && "X" != a[1] ? 10 : 16);
  506.         return isNaN(a) ? null : a
  507.     }
  508.     ;
  509.     Ya.b = !0;
  510.     Ya.li = function(a) {
  511.         for (var b = ""; b = "0123456789ABCDEF".charAt(a & 15) + b,
  512.         a >>>= 4,
  513.         0 < a; )
  514.             ;
  515.         for (; 2 > b.length; )
  516.             b = "0" + b;
  517.         return b
  518.     }
  519.     ;
  520.     H.b = !0;
  521.     H.pb = function(a, b) {
  522.         return a.length <= b ? a : G.substr(a, 0, b)
  523.     }
  524.     ;
  525.     H.hi = function(a) {
  526.         for (var b = "", c = 0, d = a.byteLength; c < d; )
  527.             b += Ya.li(a[c++]);
  528.         return b
  529.     }
  530.     ;
  531.     wa.b = !0;
  532.     wa.prototype = {
  533.         Uh: function(a) {
  534.             null == a && (a = 1E4);
  535.             window.clearTimeout(this.Ud);
  536.             this.Ud = window.setTimeout(Ua(this, this.Pg), a)
  537.         },
  538.         rg: function(a, b) {
  539.             var c = this;
  540.             this.wg(this.ra.setRemoteDescription(a).then(function() {
  541.                 return c.ra.createAnswer()
  542.             }), b, 500)
  543.         },
  544.         wg: function(a, b, c) {
  545.             var d = this;
  546.             a.then(function(a) {
  547.                 return d.ra.setLocalDescription(a).then(function() {
  548.                     return a
  549.                 })
  550.             }).then(function(a) {
  551.                 function e() {
  552.                     return a
  553.                 }
  554.                 for (var h = 0; h < b.length; )
  555.                     d.we(b[h++]);
  556.                 return Va.Yh(d.Le, c).then(e, e)
  557.             }).then(function(a) {
  558.                 d.Ye(a)
  559.             })["catch"](function() {
  560.                 d.Cc()
  561.             })
  562.         },
  563.         sg: function(a) {
  564.             var b = this
  565.               , c = {
  566.                 id: this.hb.length,
  567.                 negotiated: !0,
  568.                 ordered: a.je
  569.             };
  570.             a.reliable || (c.maxRetransmits = 0);
  571.             a = this.ra.createDataChannel(a.name, c);
  572.             a.binaryType = "arraybuffer";
  573.             a.onopen = function() {
  574.                 for (var a = 0, c = b.hb; a < c.length; )
  575.                     if ("open" != c[a++].readyState)
  576.                         return;
  577.                 null != b.Fd && b.Fd()
  578.             }
  579.             ;
  580.             a.onclose = function() {
  581.                 b.Cc()
  582.             }
  583.             ;
  584.             a.onmessage = function() {
  585.                 b.Cc()
  586.             }
  587.             ;
  588.             this.hb.push(a)
  589.         },
  590.         we: function(a) {
  591.             var b = this;
  592.             window.setTimeout(function() {
  593.                 return b.ra.addIceCandidate(a)
  594.             }, this.De)
  595.         },
  596.         Pg: function() {
  597.             this.Cc()
  598.         },
  599.         Cc: function() {
  600.             null != this.Gd && this.Gd();
  601.             this.bb()
  602.         },
  603.         bb: function() {
  604.             this.Ae();
  605.             this.ra.close()
  606.         },
  607.         Ae: function() {
  608.             window.clearTimeout(this.Ud);
  609.             this.Ye = this.Fd = this.Hd = this.Gd = null;
  610.             this.ra.onicecandidate = null;
  611.             this.ra.ondatachannel = null;
  612.             this.ra.onsignalingstatechange = null;
  613.             this.ra.oniceconnectionstatechange = null;
  614.             for (var a = 0, b = this.hb; a < b.length; ) {
  615.                 var c = b[a];
  616.                 ++a;
  617.                 c.onopen = null;
  618.                 c.onclose = null;
  619.                 c.onmessage = null
  620.             }
  621.         },
  622.         h: wa
  623.     };
  624.     var Pa = Oa["bas.basnet.ConnectionRequestResponse"] = {
  625.         se: !0,
  626.         Yf: ["Accept", "Reject"],
  627.         Tf: {
  628.             yd: 0,
  629.             eb: "bas.basnet.ConnectionRequestResponse",
  630.             toString: bb
  631.         },
  632.         nd: ($a = function(a) {
  633.             return {
  634.                 yd: 1,
  635.                 reason: a,
  636.                 eb: "bas.basnet.ConnectionRequestResponse",
  637.                 toString: bb
  638.             }
  639.         }
  640.         ,
  641.         $a.ue = ["reason"],
  642.         $a)
  643.     };
  644.     fa.b = !0;
  645.     fa.Je = function(a) {
  646.         try {
  647.             var b = Xa.oh(a.candidate);
  648.             if ("srflx" == b.$h)
  649.                 return b.Sg
  650.         } catch (c) {}
  651.         return null
  652.     }
  653.     ;
  654.     fa.prototype = {
  655.         Qd: function(a) {
  656.             var b = this;
  657.             if (null != this.Ya || null != a) {
  658.                 if (null != this.Ya && null != a && this.Ya.byteLength == a.byteLength) {
  659.                     for (var c = new Uint8Array(this.Ya), d = new Uint8Array(a), e = !1, f = 0, h = this.Ya.byteLength; f < h; ) {
  660.                         var m = f++;
  661.                         if (c[m] != d[m]) {
  662.                             e = !0;
  663.                             break
  664.                         }
  665.                     }
  666.                     if (!e)
  667.                         return
  668.                 }
  669.                 this.Ya = a.slice(0);
  670.                 this.Yc = !0;
  671.                 null != this.ta && 1 == this.ta.readyState && null == this.Zc && (this.Nd(),
  672.                 this.Zc = window.setTimeout(function() {
  673.                     b.Zc = null;
  674.                     1 == b.ta.readyState && b.Yc && b.Nd()
  675.                 }, 1E4))
  676.             }
  677.         },
  678.         Pd: function(a) {
  679.             function b() {
  680.                 null != c.ta && 1 == c.ta.readyState && c.dc != c.sf && c.qf();
  681.                 c.mf = null
  682.             }
  683.             var c = this;
  684.             this.dc = a;
  685.             null == this.mf && (b(),
  686.             this.mf = window.setTimeout(b, 1E3))
  687.         },
  688.         Rd: function(a) {
  689.             function b(a) {
  690.                 a = a.sitekey;
  691.                 if (null == a)
  692.                     throw new l(null);
  693.                 null != d.$b && d.$b(a, function(a) {
  694.                     d.Rd(a)
  695.                 })
  696.             }
  697.             function c(a) {
  698.                 var b = a.url;
  699.                 if (null == b)
  700.                     throw new l(null);
  701.                 a = a.token;
  702.                 if (null == a)
  703.                     throw new l(null);
  704.                 d.ta = new WebSocket(b + "?token=" + a);
  705.                 d.ta.binaryType = "arraybuffer";
  706.                 d.ta.onopen = function() {
  707.                     d.Og()
  708.                 }
  709.                 ;
  710.                 d.ta.onclose = function(a) {
  711.                     d.xd(4001 != a.code)
  712.                 }
  713.                 ;
  714.                 d.ta.onerror = function() {
  715.                     d.xd(!0)
  716.                 }
  717.                 ;
  718.                 d.ta.onmessage = Ua(d, d.Ng)
  719.             }
  720.             null == a && (a = "");
  721.             var d = this;
  722.             F.vh(this.Rh, "token=" + this.$c + "&rcr=" + a, F.Uf).then(function(a) {
  723.                 switch (a.action) {
  724.                 case "connect":
  725.                     c(a);
  726.                     break;
  727.                 case "recaptcha":
  728.                     b(a)
  729.                 }
  730.             })["catch"](function() {
  731.                 d.xd(!0)
  732.             })
  733.         },
  734.         Og: function() {
  735.             var a = this;
  736.             null != this.Ya && this.Nd();
  737.             0 != this.dc && this.qf();
  738.             this.qh = window.setInterval(function() {
  739.                 a.Lh()
  740.             }, 4E4)
  741.         },
  742.         Ng: function(a) {
  743.             a = new C(new DataView(a.data),!1);
  744.             switch (a.B()) {
  745.             case 1:
  746.                 this.Lg(a);
  747.                 break;
  748.             case 4:
  749.                 this.Gg(a);
  750.                 break;
  751.             case 5:
  752.                 this.Ig(a);
  753.                 break;
  754.             case 6:
  755.                 this.Kg(a)
  756.             }
  757.         },
  758.         Lg: function(a) {
  759.             var b = a.Lb(), c = H.hi(a.Ka(a.B())), d, e, f;
  760.             try {
  761.                 a = new C(new DataView(pako.inflateRaw(a.Ka()).buffer),!1);
  762.                 d = 0 != a.B();
  763.                 e = a.kb();
  764.                 for (var h = a.jf(), m = [], q = 0; q < h.length; )
  765.                     m.push(new RTCIceCandidate(h[q++]));
  766.                 f = m
  767.             } catch (ib) {
  768.                 this.fc(b, 0);
  769.                 return
  770.             }
  771.             this.Mg(b, c, e, f, a, d)
  772.         },
  773.         Mg: function(a, b, c, d, e, f) {
  774.             var h = this;
  775.             if (16 <= this.vb.size)
  776.                 this.fc(a, 4104);
  777.             else if (this.pc.has(b))
  778.                 this.fc(a, 4102);
  779.             else {
  780.                 for (var m = [], q = 0; q < d.length; ) {
  781.                     var g = fa.Je(d[q++]);
  782.                     if (null != g) {
  783.                         if (this.Vb.has(g)) {
  784.                             this.fc(a, 4102);
  785.                             return
  786.                         }
  787.                         m.push(g)
  788.                     }
  789.                 }
  790.                 if (null != this.Be && (q = new C(e.j),
  791.                 q.a = e.a,
  792.                 e = this.Be(b, q),
  793.                 1 == e.yd)) {
  794.                     this.fc(a, e.reason);
  795.                     return
  796.                 }
  797.                 var k = new wa(a,this.Ad,this.kg);
  798.                 f && (k.De = 2500);
  799.                 k.Ob = m;
  800.                 k.fb = b;
  801.                 this.vb.set(a, k);
  802.                 k.Gd = function() {
  803.                     h.gc(0, k, null);
  804.                     h.vb["delete"](k.R)
  805.                 }
  806.                 ;
  807.                 k.Fd = function() {
  808.                     h.vb["delete"](k.R);
  809.                     h.gc(0, k, null);
  810.                     null != h.Xe && h.Xe(new Na(k))
  811.                 }
  812.                 ;
  813.                 k.Ye = function(a) {
  814.                     h.Mh(k, a, k.zd, null);
  815.                     k.Le.then(function() {
  816.                         h.gc(0, k, null)
  817.                     });
  818.                     k.Hd = function(a) {
  819.                         h.Kh(k, a)
  820.                     }
  821.                 }
  822.                 ;
  823.                 k.Uh();
  824.                 k.rg(new RTCSessionDescription({
  825.                     sdp: c,
  826.                     type: "offer"
  827.                 }), d)
  828.             }
  829.         },
  830.         Gg: function(a) {
  831.             var b = a.Lb(), c;
  832.             try {
  833.                 a = new C(new DataView(pako.inflateRaw(a.Ka()).buffer),!1),
  834.                 c = new RTCIceCandidate(a.jf())
  835.             } catch (d) {
  836.                 return
  837.             }
  838.             this.Hg(b, c)
  839.         },
  840.         Hg: function(a, b) {
  841.             var c = this.vb.get(a);
  842.             if (null != c) {
  843.                 var d = fa.Je(b);
  844.                 if (null != d && (c.Ob.push(d),
  845.                 this.Vb.has(d)))
  846.                     return;
  847.                 c.we(b)
  848.             }
  849.         },
  850.         Ig: function(a) { // a = C
  851.             this.R = a.Uc(a.B()); // R to kawaƂek linku = C.Uc(C.B())
  852.                         //this.R = 'WbijacTutaj'; // nie dziaƂa
  853.             null != this.Rc && this.Rc(this.R)
  854.         },
  855.         Kg: function(a) {
  856.             this.$c = a.Uc(a.j.byteLength - a.a)
  857.         },
  858.         gc: function(a, b, c) {
  859.             if (!b.af) {
  860.                 0 == a && (b.af = !0);
  861.                 b = b.R;
  862.                 var d = r.ba(32, !1);
  863.                 d.f(a);
  864.                 d.ya(b);
  865.                 null != c && d.ob(pako.deflateRaw(c.nb()));
  866.                 this.ta.send(d.Pb())
  867.             }
  868.         },
  869.         fc: function(a, b) {
  870.             var c = r.ba(16, !1);
  871.             c.f(0);
  872.             c.ya(a);
  873.             c.Na(b);
  874.             this.ta.send(c.Pb())
  875.         },
  876.         Lh: function() {
  877.             var a = r.ba(1, !1);
  878.             a.f(8);
  879.             this.ta.send(a.Pb())
  880.         },
  881.         Nd: function() {
  882.             this.Yc = !1;
  883.             var a = r.ba(256, !1);
  884.             a.f(7);
  885.             null != this.Ya && a.Ff(this.Ya);
  886.             this.ta.send(a.Pb())
  887.         },
  888.         qf: function() {
  889.             var a = r.ba(2, !1);
  890.             a.f(9);
  891.             a.f(this.dc ? 1 : 0);
  892.             this.ta.send(a.Pb());
  893.             this.sf = this.dc
  894.         },
  895.         Mh: function(a, b, c, d) {
  896.             var e = r.ba(32, !1);
  897.             e.Qb(b.sdp);
  898.             e.Gf(c);
  899.             null != d && e.ob(d.nb());
  900.             this.gc(1, a, e)
  901.         },
  902.         Kh: function(a, b) {
  903.             var c = r.ba(32, !1);
  904.             c.Gf(b);
  905.             this.gc(4, a, c)
  906.         },
  907.         xg: function() {
  908.             for (var a = this.vb.values(), b = a.next(); !b.done; ) {
  909.                 var c = b.value
  910.                   , b = a.next();
  911.                 c.bb()
  912.             }
  913.             this.vb.clear()
  914.         },
  915.         xd: function(a) {
  916.             var b = this;
  917.             this.xg();
  918.             window.clearTimeout(this.Zc);
  919.             this.Zc = null;
  920.             this.Yc = !1;
  921.             window.clearInterval(this.qh);
  922.             window.clearTimeout(this.Hh);
  923.             a && (this.Hh = window.setTimeout(function() {
  924.                 b.Rd()
  925.             }, this.Fh + Math.random() * this.Gh | 0))
  926.         },
  927.         gg: function(a) {
  928.             for (var b = 0, c = a.Ob; b < c.length; )
  929.                 this.Vb.add(c[b++]);
  930.             null != a.fb && this.pc.add(a.fb);
  931.             return {
  932.                 si: a.Ob,
  933.                 gi: a.fb
  934.             }
  935.         },
  936.         ud: function() {
  937.             this.Vb.clear();
  938.             this.pc.clear()
  939.         },
  940.         td: function(a) {
  941.             for (var b = 0, c = a.si; b < c.length; )
  942.                 this.Vb["delete"](c[b++]);
  943.             this.pc["delete"](a.gi)
  944.         },
  945.         h: fa
  946.     };
  947.     Xa.b = !0;
  948.     Xa.oh = function(a) {
  949.         a = a.split(" ");
  950.         if ("typ" != a[6])
  951.             throw new l(null);
  952.         return {
  953.             $h: a[7],
  954.             Sg: a[4]
  955.         }
  956.     }
  957.     ;
  958.     Na.b = !0;
  959.     Na.prototype = {
  960.         Xh: function() {
  961.             return window.performance.now() - this.Bf
  962.         },
  963.         mb: function(a, b) {
  964.             if (this.Ec) {
  965.                 var c = this.hb[a];
  966.                 if ("open" == c.readyState) {
  967.                     var d = b.Vd();
  968.                     try {
  969.                         c.send(d)
  970.                     } catch (e) {
  971.                         window.console.log(e instanceof l ? e.Db : e)
  972.                     }
  973.                 }
  974.             }
  975.         },
  976.         bb: function() {
  977.             window.clearTimeout(this.Cf);
  978.             this.Ec && (this.Ec = !1,
  979.             this.ra.close(),
  980.             null != this.Ze && this.Ze())
  981.         },
  982.         h: Na
  983.     };
  984.     C.b = !0;
  985.     C.ug = function(a, b) {
  986.         var c = a.getUint8(b), d, e, f, h, m, q = b;
  987.         if (0 == (c & 128))
  988.             ++b;
  989.         else if (192 == (c & 224))
  990.             d = a.getUint8(b + 1),
  991.             c = (c & 31) << 6 | d & 63,
  992.             b += 2;
  993.         else if (224 == (c & 240))
  994.             d = a.getUint8(b + 1),
  995.             e = a.getUint8(b + 2),
  996.             c = (c & 15) << 12 | (d & 63) << 6 | e & 63,
  997.             b += 3;
  998.         else if (240 == (c & 248))
  999.             d = a.getUint8(b + 1),
  1000.             e = a.getUint8(b + 2),
  1001.             f = a.getUint8(b + 3),
  1002.             c = (c & 7) << 18 | (d & 63) << 12 | (e & 63) << 6 | f & 63,
  1003.             b += 4;
  1004.         else if (248 == (c & 252))
  1005.             d = a.getUint8(b + 1),
  1006.             e = a.getUint8(b + 2),
  1007.             f = a.getUint8(b + 3),
  1008.             h = a.getUint8(b + 4),
  1009.             c = (c & 3) << 24 | (d & 63) << 18 | (e & 63) << 12 | (f & 63) << 6 | h & 63,
  1010.             b += 5;
  1011.         else if (252 == (c & 254))
  1012.             d = a.getUint8(b + 1),
  1013.             e = a.getUint8(b + 2),
  1014.             f = a.getUint8(b + 3),
  1015.             h = a.getUint8(b + 4),
  1016.             m = a.getUint8(b + 5),
  1017.             c = (c & 1) << 30 | (d & 63) << 24 | (e & 63) << 18 | (f & 63) << 12 | (h & 63) << 6 | m & 63,
  1018.             b += 6;
  1019.         else
  1020.             throw new l("Cannot decode UTF8 character at offset " + b + ": charCode (" + c + ") is invalid");
  1021.         return {
  1022.             "char": c,
  1023.             length: b - q
  1024.         }
  1025.     }
  1026.     ;
  1027.     C.prototype = {
  1028.         Ka: function(a) {
  1029.             null == a && (a = this.j.byteLength - this.a);
  1030.             if (this.a + a > this.j.byteLength)
  1031.                 throw new l("Read too much");
  1032.             var b = new Uint8Array(this.j.buffer,this.j.byteOffset + this.a,a);
  1033.             this.a += a;
  1034.             return b
  1035.         },
  1036.         Ah: function(a) {
  1037.             var b = this.Ka(a);
  1038.             a = new ArrayBuffer(a);
  1039.             (new Uint8Array(a)).set(b);
  1040.             return a
  1041.         },
  1042.         Jd: function() {
  1043.             return this.j.getInt8(this.a++)
  1044.         },
  1045.         B: function() {
  1046.             return this.j.getUint8(this.a++)
  1047.         },
  1048.         cc: function() {
  1049.             var a = this.j.getUint16(this.a, this.sa);
  1050.             this.a += 2;
  1051.             return a
  1052.         },
  1053.         H: function() {
  1054.             var a = this.j.getInt32(this.a, this.sa);
  1055.             this.a += 4;
  1056.             return a
  1057.         },
  1058.         Lb: function() {
  1059.             var a = this.j.getUint32(this.a, this.sa);
  1060.             this.a += 4;
  1061.             return a
  1062.         },
  1063.         Bh: function() {
  1064.             var a = this.j.getFloat32(this.a, this.sa);
  1065.             this.a += 4;
  1066.             return a
  1067.         },
  1068.         o: function() {
  1069.             var a = this.j.getFloat64(this.a, this.sa);
  1070.             this.a += 8;
  1071.             return a
  1072.         },
  1073.         lb: function() {
  1074.             for (var a = this.a, b = 0, c, d = 0; c = this.j.getUint8(a + b),
  1075.             5 > b && (d |= (c & 127) << 7 * b >>> 0),
  1076.             ++b,
  1077.             0 != (c & 128); )
  1078.                 ;
  1079.             this.a += b;
  1080.             return d | 0
  1081.         },
  1082.         Uc: function(a) {
  1083.             var b = this.a, c, d = "";
  1084.             for (a = b + a; b < a; )
  1085.                 c = C.ug(this.j, b),
  1086.                 b += c.length,
  1087.                 d += String.fromCodePoint(c["char"]);
  1088.             if (b != a)
  1089.                 throw new l("Actual string length differs from the specified: " + (b - a) + " bytes");
  1090.             this.a = b;
  1091.             return d
  1092.         },
  1093.         Xa: function() {
  1094.             var a = this.lb();
  1095.             return 0 >= a ? null : this.Uc(a - 1)
  1096.         },
  1097.         kb: function() {
  1098.             return this.Uc(this.lb())
  1099.         },
  1100.         jf: function() {
  1101.             var a = this.kb();
  1102.             return JSON.parse(a)
  1103.         },
  1104.         h: C
  1105.     };
  1106.     r.b = !0;
  1107.     r.ba = function(a, b) {
  1108.         null == b && (b = !1);
  1109.         null == a && (a = 16);
  1110.         return new r(new DataView(new ArrayBuffer(a)),b)
  1111.     }
  1112.     ;
  1113.     r.zg = function(a, b, c) {
  1114.         var d = c;
  1115.         if (0 > a)
  1116.             throw new l("Cannot encode UTF8 character: charCode (" + a + ") is negative");
  1117.         if (128 > a)
  1118.             b.setUint8(c, a & 127),
  1119.             ++c;
  1120.         else if (2048 > a)
  1121.             b.setUint8(c, a >> 6 & 31 | 192),
  1122.             b.setUint8(c + 1, a & 63 | 128),
  1123.             c += 2;
  1124.         else if (65536 > a)
  1125.             b.setUint8(c, a >> 12 & 15 | 224),
  1126.             b.setUint8(c + 1, a >> 6 & 63 | 128),
  1127.             b.setUint8(c + 2, a & 63 | 128),
  1128.             c += 3;
  1129.         else if (2097152 > a)
  1130.             b.setUint8(c, a >> 18 & 7 | 240),
  1131.             b.setUint8(c + 1, a >> 12 & 63 | 128),
  1132.             b.setUint8(c + 2, a >> 6 & 63 | 128),
  1133.             b.setUint8(c + 3, a & 63 | 128),
  1134.             c += 4;
  1135.         else if (67108864 > a)
  1136.             b.setUint8(c, a >> 24 & 3 | 248),
  1137.             b.setUint8(c + 1, a >> 18 & 63 | 128),
  1138.             b.setUint8(c + 2, a >> 12 & 63 | 128),
  1139.             b.setUint8(c + 3, a >> 6 & 63 | 128),
  1140.             b.setUint8(c + 4, a & 63 | 128),
  1141.             c += 5;
  1142.         else if (-2147483648 > a)
  1143.             b.setUint8(c, a >> 30 & 1 | 252),
  1144.             b.setUint8(c + 1, a >> 24 & 63 | 128),
  1145.             b.setUint8(c + 2, a >> 18 & 63 | 128),
  1146.             b.setUint8(c + 3, a >> 12 & 63 | 128),
  1147.             b.setUint8(c + 4, a >> 6 & 63 | 128),
  1148.             b.setUint8(c + 5, a & 63 | 128),
  1149.             c += 6;
  1150.         else
  1151.             throw new l("Cannot encode UTF8 character: charCode (" + a + ") is too large (>= 0x80000000)");
  1152.         return c - d
  1153.     }
  1154.     ;
  1155.     r.hg = function(a) {
  1156.         if (0 > a)
  1157.             throw new l("Cannot calculate length of UTF8 character: charCode (" + a + ") is negative");
  1158.         if (128 > a)
  1159.             return 1;
  1160.         if (2048 > a)
  1161.             return 2;
  1162.         if (65536 > a)
  1163.             return 3;
  1164.         if (2097152 > a)
  1165.             return 4;
  1166.         if (67108864 > a)
  1167.             return 5;
  1168.         if (-2147483648 > a)
  1169.             return 6;
  1170.         throw new l("Cannot calculate length of UTF8 character: charCode (" + a + ") is too large (>= 0x80000000)");
  1171.     }
  1172.     ;
  1173.     r.xc = function(a) {
  1174.         for (var b = 0, c = a.length, d = 0; d < c; )
  1175.             b += r.hg(G.Jf(a, d++));
  1176.         return b
  1177.     }
  1178.     ;
  1179.     r.ig = function(a) {
  1180.         a >>>= 0;
  1181.         return 128 > a ? 1 : 16384 > a ? 2 : 2097152 > a ? 3 : 268435456 > a ? 4 : 5
  1182.     }
  1183.     ;
  1184.     r.prototype = {
  1185.         Vd: function() {
  1186.             var a = new ArrayBuffer(this.a)
  1187.               , b = new Uint8Array(this.j.buffer,this.j.byteOffset,this.a);
  1188.             (new Uint8Array(a)).set(b);
  1189.             return a
  1190.         },
  1191.         nb: function() {
  1192.             return new Uint8Array(this.j.buffer,this.j.byteOffset,this.a)
  1193.         },
  1194.         Pb: function() {
  1195.             return new DataView(this.j.buffer,this.j.byteOffset,this.a)
  1196.         },
  1197.         Zh: function() {
  1198.             return new C(this.Pb(),this.sa)
  1199.         },
  1200.         Ia: function(a) {
  1201.             this.j.byteLength < a && this.Eh(2 * this.j.byteLength >= a ? 2 * this.j.byteLength : a)
  1202.         },
  1203.         Eh: function(a) {
  1204.             if (1 > a)
  1205.                 throw new l("Can't resize buffer to a capacity lower than 1");
  1206.             if (this.j.byteLength < a) {
  1207.                 var b = new Uint8Array(this.j.buffer);
  1208.                 a = new ArrayBuffer(a);
  1209.                 (new Uint8Array(a)).set(b);
  1210.                 this.j = new DataView(a)
  1211.             }
  1212.         },
  1213.         f: function(a) {
  1214.             var b = this.a++;
  1215.             this.Ia(this.a);
  1216.             this.j.setUint8(b, a)
  1217.         },
  1218.         Xd: function(a) {
  1219.             var b = this.a;
  1220.             this.a += 2;
  1221.             this.Ia(this.a);
  1222.             this.j.setInt16(b, a, this.sa)
  1223.         },
  1224.         Na: function(a) {
  1225.             var b = this.a;
  1226.             this.a += 2;
  1227.             this.Ia(this.a);
  1228.             this.j.setUint16(b, a, this.sa)
  1229.         },
  1230.         v: function(a) {
  1231.             var b = this.a;
  1232.             this.a += 4;
  1233.             this.Ia(this.a);
  1234.             this.j.setInt32(b, a, this.sa)
  1235.         },
  1236.         ya: function(a) {
  1237.             var b = this.a;
  1238.             this.a += 4;
  1239.             this.Ia(this.a);
  1240.             this.j.setUint32(b, a, this.sa)
  1241.         },
  1242.         Wd: function(a) {
  1243.             var b = this.a;
  1244.             this.a += 4;
  1245.             this.Ia(this.a);
  1246.             this.j.setFloat32(b, a, this.sa)
  1247.         },
  1248.         g: function(a) {
  1249.             var b = this.a;
  1250.             this.a += 8;
  1251.             this.Ia(this.a);
  1252.             this.j.setFloat64(b, a, this.sa)
  1253.         },
  1254.         ob: function(a) {
  1255.             var b = this.a;
  1256.             this.a += a.byteLength;
  1257.             this.Ia(this.a);
  1258.             (new Uint8Array(this.j.buffer,this.j.byteOffset,this.j.byteLength)).set(a, b)
  1259.         },
  1260.         Ff: function(a) {
  1261.             this.ob(new Uint8Array(a))
  1262.         },
  1263.         Qb: function(a) {
  1264.             this.Da(r.xc(a));
  1265.             this.fd(a)
  1266.         },
  1267.         Ca: function(a) {
  1268.             null == a ? this.Da(0) : (this.Da(r.xc(a) + 1),
  1269.             this.fd(a))
  1270.         },
  1271.         Hf: function(a) {
  1272.             var b = r.xc(a);
  1273.             if (255 < b)
  1274.                 throw new l(null);
  1275.             this.f(b);
  1276.             this.fd(a)
  1277.         },
  1278.         Gf: function(a) {
  1279.             this.Qb(JSON.stringify(a))
  1280.         },
  1281.         fd: function(a) {
  1282.             var b = this.a;
  1283.             this.Ia(b + r.xc(a));
  1284.             for (var c = a.length, d = 0; d < c; )
  1285.                 b += r.zg(G.Jf(a, d++), this.j, b);
  1286.             this.a = b
  1287.         },
  1288.         Da: function(a) {
  1289.             var b = this.a;
  1290.             a >>>= 0;
  1291.             this.Ia(b + r.ig(a));
  1292.             this.j.setUint8(b, a | 128);
  1293.             128 <= a ? (this.j.setUint8(b + 1, a >> 7 | 128),
  1294.             16384 <= a ? (this.j.setUint8(b + 2, a >> 14 | 128),
  1295.             2097152 <= a ? (this.j.setUint8(b + 3, a >> 21 | 128),
  1296.             268435456 <= a ? (this.j.setUint8(b + 4, a >> 28 & 127),
  1297.             a = 5) : (this.j.setUint8(b + 3, this.j.getUint8(b + 3) & 127),
  1298.             a = 4)) : (this.j.setUint8(b + 2, this.j.getUint8(b + 2) & 127),
  1299.             a = 3)) : (this.j.setUint8(b + 1, this.j.getUint8(b + 1) & 127),
  1300.             a = 2)) : (this.j.setUint8(b, this.j.getUint8(b) & 127),
  1301.             a = 1);
  1302.             this.a += a
  1303.         },
  1304.         h: r
  1305.     };
  1306.     V.b = !0;
  1307.     V.ci = function(a, b) {
  1308.         try {
  1309.             var c = new C(new DataView(a.buffer,a.byteOffset,a.byteLength),!1);
  1310.             c.B();
  1311.             var d = c.Ka(c.cc())
  1312.               , e = c.Ka()
  1313.               , f = new C(new DataView(d.buffer,d.byteOffset,d.byteLength),!1)
  1314.               , h = f.kb()
  1315.               , m = f.kb()
  1316.               , q = f.Ka();
  1317.             if (q.byteLength != b.byteLength)
  1318.                 return Promise.reject(null);
  1319.             for (var c = 0, g = q.byteLength; c < g; ) {
  1320.                 var k = c++;
  1321.                 if (q[k] != b[k])
  1322.                     return Promise.reject(null)
  1323.             }
  1324.             return V.ei(h, m).then(function(a) {
  1325.                 return window.crypto.subtle.verify(V.Qh, a, e, d)
  1326.             }).then(function(a) {
  1327.                 if (!a)
  1328.                     throw new l(null);
  1329.                 return h
  1330.             })
  1331.         } catch (xa) {
  1332.             return Promise.reject(xa instanceof l ? xa.Db : xa)
  1333.         }
  1334.     }
  1335.     ;
  1336.     V.ei = function(a, b) {
  1337.         try {
  1338.             return window.crypto.subtle.importKey("jwk", {
  1339.                 crv: "P-256",
  1340.                 ext: !0,
  1341.                 key_ops: ["verify"],
  1342.                 kty: "EC",
  1343.                 x: a,
  1344.                 y: b
  1345.             }, V.eg, !0, ["verify"])
  1346.         } catch (c) {
  1347.             return Promise.reject(c instanceof l ? c.Db : c)
  1348.         }
  1349.     }
  1350.     ;
  1351.     ia.b = !0;
  1352.     ia.Wg = function() {
  1353.         if (null != ia.Id)
  1354.             return ia.Id;
  1355.         ia.Id = new Promise(function(a, b) {
  1356.             var c = window.grecaptcha;
  1357.             null != c ? a(c) : (c = window.document.createElement("script"),
  1358.             c.src = "https://www.google.com/recaptcha/api.js?onload=___recaptchaload&render=explicit",
  1359.             window.document.head.appendChild(c),
  1360.             window.___recaptchaload = function() {
  1361.                 a(window.grecaptcha)
  1362.             }
  1363.             ,
  1364.             c.onerror = function() {
  1365.                 b(null)
  1366.             }
  1367.             )
  1368.         }
  1369.         );
  1370.         return ia.Id
  1371.     }
  1372.     ;
  1373.     Wa.b = !0;
  1374.     Wa.pi = function() {
  1375.         var a = window;
  1376.         a.RTCPeerConnection = a.webkitRTCPeerConnection || a.mozRTCPeerConnection || a.RTCPeerConnection;
  1377.         a.RTCIceCandidate = a.webkitRTCIceCandidate || a.mozRTCIceCandidate || a.RTCIceCandidate;
  1378.         a.RTCSessionDescription = a.webkitRTCSessionDescription || a.mozRTCSessionDescription || a.RTCSessionDescription;
  1379.         var b = new RTCPeerConnection({
  1380.             iceServers: []
  1381.         });
  1382.         try {
  1383.             b.createAnswer()["catch"](function() {})
  1384.         } catch (e) {
  1385.             var a = a.RTCPeerConnection.prototype
  1386.               , c = a.createOffer
  1387.               , d = a.createAnswer;
  1388.             a.createOffer = function(a) {
  1389.                 var b = this;
  1390.                 return new Promise(function(d, e) {
  1391.                     c.call(b, d, e, a)
  1392.                 }
  1393.                 )
  1394.             }
  1395.             ;
  1396.             a.createAnswer = function(a) {
  1397.                 var b = this;
  1398.                 return new Promise(function(c, e) {
  1399.                     d.call(b, c, e, a)
  1400.                 }
  1401.                 )
  1402.             }
  1403.         }
  1404.     }
  1405.     ;
  1406.     Va.b = !0;
  1407.     Va.Yh = function(a, b) {
  1408.         return new Promise(function(c, d) {
  1409.             var e = window.setTimeout(function() {
  1410.                 d("Timed out")
  1411.             }, b);
  1412.             a.then(function(a) {
  1413.                 window.clearTimeout(e);
  1414.                 c(a)
  1415.             }, function(a) {
  1416.                 window.clearTimeout(e);
  1417.                 d(a)
  1418.             })
  1419.         }
  1420.         )
  1421.     }
  1422.     ;
  1423.     g.b = !0;
  1424.     g.$ = function(a) {
  1425.         null == a.Z && (a.Z = !0);
  1426.         null == a.da && (a.da = !0);
  1427.         return a
  1428.     }
  1429.     ;
  1430.     g.aa = function(a) {
  1431.         a.Xf = g.Yd;
  1432.         if (null == a.U)
  1433.             throw new l("Class doesn't have a config");
  1434.         a.prototype.Kf = a.U;
  1435.         g.Nf.set(g.Yd, a);
  1436.         g.Yd++
  1437.     }
  1438.     ;
  1439.     g.ke = function(a, b) {
  1440.         var c = (null == a ? null : k.Mf(a)).Xf;
  1441.         if (null == c)
  1442.             throw new l("Tried to pack unregistered action");
  1443.         b.f(c);
  1444.         a.P(b)
  1445.     }
  1446.     ;
  1447.     g.ui = function(a) {
  1448.         var b = a.B()
  1449.           , b = Object.create(g.Nf.get(b).prototype);
  1450.         b.D = 0;
  1451.         b.cb = 0;
  1452.         b.W(a);
  1453.         return b
  1454.     }
  1455.     ;
  1456.     g.prototype = {
  1457.         Rf: function() {
  1458.             return !0
  1459.         },
  1460.         apply: function() {
  1461.             throw new l("missing implementation");
  1462.         },
  1463.         W: function() {
  1464.             throw new l("missing implementation");
  1465.         },
  1466.         P: function() {
  1467.             throw new l("missing implementation");
  1468.         },
  1469.         h: g
  1470.     };
  1471.     Ka.b = !0;
  1472.     Ka.prototype = {
  1473.         ni: function(a) {
  1474.             for (var b = 0, c = a.cb, d = a.D, e = 0, f = this.list; e < f.length; ) {
  1475.                 var h = f[e];
  1476.                 ++e;
  1477.                 var m = h.cb;
  1478.                 if (m > c)
  1479.                     break;
  1480.                 if (m == c) {
  1481.                     h = h.D;
  1482.                     if (h > d)
  1483.                         break;
  1484.                     h == d && ++d
  1485.                 }
  1486.                 ++b
  1487.             }
  1488.             a.D = d;
  1489.             this.list.splice(b, 0, a)
  1490.         },
  1491.         h: Ka
  1492.     };
  1493.     va.b = !0;
  1494.     va.prototype = {
  1495.         h: va
  1496.     };
  1497.     ha.b = !0;
  1498.     ha.M = g;
  1499.     ha.prototype = v(g.prototype, {
  1500.         apply: function(a) {
  1501.             a.pg(this.hd)
  1502.         },
  1503.         P: function(a) {
  1504.             a.Da(this.hd.byteLength);
  1505.             a.Ff(this.hd)
  1506.         },
  1507.         W: function(a) {
  1508.             this.hd = a.Ah(a.lb())
  1509.         },
  1510.         h: ha
  1511.     });
  1512.     Ma.b = !0;
  1513.     Ma.prototype = {
  1514.         h: Ma
  1515.     };
  1516.     La.b = !0;
  1517.     La.prototype = {
  1518.         stop: function() {
  1519.             this.fe.wb = null;
  1520.             this.fe.Fa.uf(null);
  1521.             this.Cb.j.setUint16(0, this.Qf, this.Cb.sa);
  1522.             this.Cb.ob(this.nc.nb());
  1523.             var a = pako.deflateRaw(this.Cb.nb())
  1524.               , b = r.ba(a.byteLength + 32);
  1525.             b.fd("HBR2");
  1526.             b.ya(this.version);
  1527.             b.ya(this.fe.ea - this.ld);
  1528.             b.ob(a);
  1529.             return b.nb()
  1530.         },
  1531.         h: La
  1532.     };
  1533.     ga.b = !0;
  1534.     ea.b = !0;
  1535.     ea.M = va;
  1536.     ea.prototype = v(va.prototype, {
  1537.         dg: function(a) {
  1538.             for (var b = this.Md.list, c = 0, d = b.length, e = 0; e < a; ) {
  1539.                 for (++e; c < d; ) {
  1540.                     var f = b[c];
  1541.                     if (f.cb != this.ea)
  1542.                         break;
  1543.                     f.apply(this.Fa);
  1544.                     null != this.wb && this.wb(f);
  1545.                     this.Qa++;
  1546.                     ++c
  1547.                 }
  1548.                 this.Fa.Ba(1);
  1549.                 this.ed += this.Qa;
  1550.                 this.Qa = 0;
  1551.                 this.ea++
  1552.             }
  1553.             for (; c < d; ) {
  1554.                 a = b[c];
  1555.                 if (a.cb != this.ea || a.D != this.Qa)
  1556.                     break;
  1557.                 a.apply(this.Fa);
  1558.                 null != this.wb && this.wb(a);
  1559.                 this.Qa++;
  1560.                 ++c
  1561.             }
  1562.             b.splice(0, c)
  1563.         },
  1564.         nf: function(a) {
  1565.             a.cb == this.ea && a.D <= this.Qa ? (a.D = this.Qa++,
  1566.             a.apply(this.Fa),
  1567.             null != this.wb && this.wb(a)) : this.Md.ni(a)
  1568.         },
  1569.         h: ea
  1570.     });
  1571.     Fa.b = !0;
  1572.     Fa.M = ea;
  1573.     Fa.prototype = v(ea.prototype, {
  1574.         yg: function(a, b, c, d) {
  1575.             var e = this.ub.get(a);
  1576.             if (null != e) {
  1577.                 if (d) {
  1578.                     var f = this.Va.gg(e.ac);
  1579.                     this.qc.set(a, f)
  1580.                 }
  1581.                 a = r.ba();
  1582.                 a.f(5);
  1583.                 a.f(d ? 1 : 0);
  1584.                 a.Qb(b);
  1585.                 null == c && (c = "");
  1586.                 a.Qb(c);
  1587.                 e.mb(a);
  1588.                 e.ac.bb()
  1589.             }
  1590.         },
  1591.         ud: function() {
  1592.             this.Va.ud();
  1593.             this.qc.clear()
  1594.         },
  1595.         td: function(a) {
  1596.             var b = this.qc.get(a);
  1597.             null != b && this.Va.td(b);
  1598.             this.qc["delete"](a)
  1599.         },
  1600.         Qd: function(a) {
  1601.             this.Va.Qd(a)
  1602.         },
  1603.         Pd: function(a) {
  1604.             this.Va.Pd(a)
  1605.         },
  1606.         ec: function(a) {
  1607.             a.A = 0;
  1608.             var b = this.ea + this.pf + this.vg;
  1609.             a.Kf.Z || (b = this.ea);
  1610.             a.cb = b;
  1611.             this.nf(a);
  1612.             this.Od();
  1613.             0 < this.Ga.length && this.ad(this.Cd(a), 1)
  1614.         },
  1615.         rf: function(a, b) {
  1616.             var c = this.ub.get(b);
  1617.             if (null != c) {
  1618.                 a.A = 0;
  1619.                 var d = r.ba();
  1620.                 d.f(6);
  1621.                 g.ke(a, d);
  1622.                 c.mb(d, 0)
  1623.             }
  1624.         },
  1625.         Ba: function() {
  1626.             var a = ((window.performance.now() - this.yf) * this.re | 0) - this.ea;
  1627.             0 < a && this.dg(a);
  1628.             7 <= this.ea - this.Qe && this.Od();
  1629.             this.ea - this.Pe >= this.mg && (this.Od(),
  1630.             this.Jh())
  1631.         },
  1632.         Jg: function(a, b) {
  1633.             if (this.Ga.length >= this.Pc)
  1634.                 return Pa.nd(4100);
  1635.             try {
  1636.                 if (b.cc() != this.di)
  1637.                     throw new l(null);
  1638.             } catch (d) {
  1639.                 return Pa.nd(4103)
  1640.             }
  1641.             try {
  1642.                 var c = b.Xa();
  1643.                 if (null != this.jb && c != this.jb)
  1644.                     throw new l(null);
  1645.             } catch (d) {
  1646.                 return Pa.nd(4101)
  1647.             }
  1648.             return Pa.Tf
  1649.         },
  1650.         nh: function(a) {
  1651.             var b = this;
  1652.             if (this.Ga.length >= this.Pc)
  1653.                 a.bb();
  1654.             else {
  1655.                 var c = new Ja(a);
  1656.                 this.Ga.push(c);
  1657.                 a.$e = function(a) {
  1658.                     a = new C(new DataView(a));
  1659.                     b.wh(a, c)
  1660.                 }
  1661.                 ;
  1662.                 a.Ze = function() {
  1663.                     G.remove(b.Ga, c);
  1664.                     b.ub["delete"](c.R);
  1665.                     ua.va(b.mh, c.R)
  1666.                 }
  1667.                 ;
  1668.                 a = r.ba(1 + c.Xb.byteLength);
  1669.                 a.f(0);
  1670.                 a.Da(c.Xb.byteLength);
  1671.                 a.ob(c.Xb);
  1672.                 c.mb(a)
  1673.             }
  1674.         },
  1675.         Cd: function(a) {
  1676.             var b = r.ba();
  1677.             b.f(2);
  1678.             this.bf(a, b);
  1679.             return b
  1680.         },
  1681.         bf: function(a, b) {
  1682.             b.ya(a.cb);
  1683.             b.Da(a.D);
  1684.             b.Na(a.A);
  1685.             b.ya(a.fi);
  1686.             g.ke(a, b)
  1687.         },
  1688.         Od: function() {
  1689.             if (!(0 >= this.ea - this.Qe) && 0 != this.Ga.length) {
  1690.                 var a = r.ba();
  1691.                 a.f(3);
  1692.                 a.ya(this.ea);
  1693.                 a.ya(this.ed);
  1694.                 this.ad(a, 2);
  1695.                 this.Qe = this.ea
  1696.             }
  1697.         },
  1698.         ad: function(a, b) {
  1699.             null == b && (b = 0);
  1700.             for (var c = 0, d = this.Ga; c < d.length; ) {
  1701.                 var e = d[c];
  1702.                 ++c;
  1703.                 e.Wc && e.mb(a, b)
  1704.             }
  1705.         },
  1706.         Nh: function(a) {
  1707.             var b = r.ba();
  1708.             b.f(1);
  1709.             var c = r.ba();
  1710.             c.Na(a.R);
  1711.             c.ya(this.ea);
  1712.             c.ya(this.ed);
  1713.             c.Da(this.Qa);
  1714.             this.Fa.G(c);
  1715.             for (var d = this.Md.list, e = 0, f = d.length; e < f; )
  1716.                 this.bf(d[e++], c);
  1717.             b.ob(pako.deflateRaw(c.nb()));
  1718.             a.mb(b)
  1719.         },
  1720.         Jh: function() {
  1721.             this.Pe = this.ea;
  1722.             if (0 != this.Ga.length) {
  1723.                 var a = new ha;
  1724.                 a.cb = this.ea;
  1725.                 a.D = this.Qa++;
  1726.                 a.A = 0;
  1727.                 a.hd = this.Fa.Cg();
  1728.                 this.ad(this.Cd(a))
  1729.             }
  1730.         },
  1731.         yh: function(a, b) {
  1732.             var c = this
  1733.               , d = a.Ka(a.lb())
  1734.               , e = a.Ka(a.lb())
  1735.               , f = b.Xb;
  1736.             b.Xb = null;
  1737.             V.ci(d, f)["catch"](function() {
  1738.                 return null
  1739.             }).then(function(a) {
  1740.                 try {
  1741.                     if (-1 != c.Ga.indexOf(b)) {
  1742.                         b.tg = a;
  1743.                         var d = c.jh++;
  1744.                         b.R = d;
  1745.                         c.ub.set(d, b);
  1746.                         Ea.va(c.lh, d, new C(new DataView(e.buffer,e.byteOffset,e.byteLength),!1));
  1747.                         b.Wc = !0;
  1748.                         c.Nh(b)
  1749.                     }
  1750.                 } catch (q) {
  1751.                     c.Ke(b, q instanceof l ? q.Db : q)
  1752.                 }
  1753.             })
  1754.         },
  1755.         wh: function(a, b) {
  1756.             this.Ba();
  1757.             try {
  1758.                 if (!b.Fg.Ef())
  1759.                     throw new l(1);
  1760.                 var c = a.B();
  1761.                 if (b.Wc)
  1762.                     switch (c) {
  1763.                     case 1:
  1764.                         this.zh(a, b);
  1765.                         break;
  1766.                     case 2:
  1767.                         this.xh(a, b);
  1768.                         break;
  1769.                     default:
  1770.                         throw new l(0);
  1771.                     }
  1772.                 else if (0 == c)
  1773.                     this.yh(a, b);
  1774.                 else
  1775.                     throw new l(0);
  1776.                 if (0 < a.j.byteLength - a.a)
  1777.                     throw new l(2);
  1778.             } catch (d) {
  1779.                 this.Ke(b, d instanceof l ? d.Db : d)
  1780.             }
  1781.         },
  1782.         Ke: function(a, b) {
  1783.             window.console.log(b);
  1784.             this.ub["delete"](a.R);
  1785.             G.remove(this.Ga, a);
  1786.             a.Wc && null != this.We && this.We(a.R);
  1787.             a.ac.bb()
  1788.         },
  1789.         xh: function(a, b) {
  1790.             var c = a.o();
  1791.             b.Tc = a.lb();
  1792.             var d = r.ba();
  1793.             d.f(4);
  1794.             d.g((window.performance.now() - this.yf) * this.re + this.pf);
  1795.             d.g(c);
  1796.             b.mb(d, 2)
  1797.         },
  1798.         zh: function(a, b) {
  1799.             var c = a.Lb()
  1800.               , d = a.Lb()
  1801.               , e = g.ui(a)
  1802.               , f = e.Kf.me;
  1803.             if (null != f) {
  1804.                 var h = b.ve.get(f);
  1805.                 null == h && (h = new Ca(f.Zd,f.qe),
  1806.                 b.ve.set(f, h));
  1807.                 if (!h.Ef())
  1808.                     throw new l(3);
  1809.             }
  1810.             f = this.ea;
  1811.             h = this.ea + 120;
  1812.             e.fi = d;
  1813.             e.A = b.R;
  1814.             e.cb = c < f ? f : c > h ? h : c;
  1815.             e.Rf(this.Fa) && (this.nf(e),
  1816.             this.ad(this.Cd(e), 1))
  1817.         },
  1818.         h: Fa
  1819.     });
  1820.     Ja.b = !0;
  1821.     Ja.prototype = {
  1822.         mb: function(a, b) {
  1823.             null == b && (b = 0);
  1824.             this.ac.mb(b, a)
  1825.         },
  1826.         h: Ja
  1827.     };
  1828.     Ta.b = !0;
  1829.     x.b = !0;
  1830.     x.prototype = {
  1831.         h: x
  1832.     };
  1833.     F.b = !0;
  1834.     F.lf = function(a, b, c, d) {
  1835.         return new Promise(function(e, f) {
  1836.             var h = new XMLHttpRequest;
  1837.             h.open(b, a);
  1838.             h.responseType = "json";
  1839.             h.onload = function() {
  1840.                 200 <= h.status && 300 > h.status ? null != h.response ? e(h.response) : f(null) : f("status: " + h.status)
  1841.             }
  1842.             ;
  1843.             h.onerror = function(a) {
  1844.                 f(a)
  1845.             }
  1846.             ;
  1847.             null != d && h.setRequestHeader("Content-type", d);
  1848.             h.send(c)
  1849.         }
  1850.         )
  1851.     }
  1852.     ;
  1853.     F.Bg = function(a) {
  1854.         return F.lf(a, "GET", null)
  1855.     }
  1856.     ;
  1857.     F.Dg = function(a) {
  1858.         return F.Bg(a).then(function(a) {
  1859.             var b = a.error;
  1860.             if (null != b)
  1861.                 throw new l(b);
  1862.             return a.data
  1863.         })
  1864.     }
  1865.     ;
  1866.     F.uh = function(a, b, c) {
  1867.         return F.lf(a, "POST", b, c)
  1868.     }
  1869.     ;
  1870.     F.vh = function(a, b, c) {
  1871.         return F.uh(a, b, c).then(function(a) {
  1872.             var b = a.error;
  1873.             if (null != b)
  1874.                 throw new l(b);
  1875.             return a.data
  1876.         })
  1877.     }
  1878.     ;
  1879.     ua.b = !0;
  1880.     ua.va = function(a, b)
  1881.         {
  1882.         null != a && a(b) // A.Rc(kawaƂek linku)
  1883.     }
  1884.     ;
  1885.     Ea.b = !0;
  1886.     Ea.va = function(a, b, c) {
  1887.         null != a && a(b, c)
  1888.     }
  1889.     ;
  1890.     Ia.b = !0;
  1891.     Ia.va = function(a, b, c, d) {
  1892.         null != a && a(b, c, d)
  1893.     }
  1894.     ;
  1895.     Da.b = !0;
  1896.     Da.va = function(a, b, c, d, e) {
  1897.         null != a && a(b, c, d, e)
  1898.     }
  1899.     ;
  1900.     Ca.b = !0;
  1901.     Ca.prototype = {
  1902.         Ef: function(a) {
  1903.             null == a && (a = 1);
  1904.             this.Ba();
  1905.             return a <= this.sb ? (this.sb -= a,
  1906.             !0) : !1
  1907.         },
  1908.         Ba: function() {
  1909.             var a = window.performance.now()
  1910.               , b = Math.floor((a - this.Jc) / this.Df);
  1911.             this.Jc += b * this.Df;
  1912.             this.sb += b;
  1913.             this.sb >= this.ze && (this.sb = this.ze,
  1914.             this.Jc = a)
  1915.         },
  1916.         h: Ca
  1917.     };
  1918.     M.b = !0;
  1919.     M.He = function(a) {
  1920.         var b = new M;
  1921.         b.Kc = a.lat;
  1922.         b.Mc = a.lon;
  1923.         b.gb = a.code.toLowerCase();
  1924.         return b
  1925.     }
  1926.     ;
  1927.     M.Eg = function() {
  1928.         return F.Dg(ta.ye + "api/geo").then(function(a) {
  1929.             return M.He(a)
  1930.         })
  1931.     }
  1932.     ;
  1933.     M.prototype = {
  1934.         h: M
  1935.     };
  1936.     ta.b = !0;
  1937.     y.b = !0;
  1938.     y.fh = function()
  1939.         {
  1940.         Wa.pi();
  1941.         Sa.mi();
  1942.         M.Eg().then(function(a)
  1943.                 {
  1944.             y.Ge = a
  1945.         }, function()
  1946.                 {
  1947.             return {}
  1948.         }).then(function()
  1949.                 {
  1950.             window.parent.HBInit = y.Th;
  1951.             var a = window.parent.onHBLoaded;
  1952.             null != a && a()
  1953.         });
  1954.         y.Ih = window.document.getElementById("roomlink")
  1955.     }
  1956.     ;
  1957.     y.Ph = function(a, b, c) {
  1958.         null == y.Vc && (y.Vc = window.document.getElementById("recaptcha"),
  1959.         y.Ch = a.render(y.Vc, {
  1960.             sitekey: b,
  1961.             callback: function(a) {
  1962.                 null != y.Kd && y.Kd(a)
  1963.             }
  1964.         }));
  1965.         y.Vc.hidden = !1;
  1966.         a.reset(y.Ch);
  1967.         y.Kd = function(a) {
  1968.             window.setTimeout(function() {
  1969.                 y.Vc.hidden = !0;
  1970.                 c(a)
  1971.             }, 1E3);
  1972.             y.Kd = null
  1973.         }
  1974.     }
  1975.     ;
  1976.     y.hh = function(a, b)
  1977.         {
  1978.                 // b = null != A.jb
  1979.         return "https://www.haxball.com/play?c=" + a + (b ? "&p=1" : "") // todo: url
  1980.                 //return "https://www.haxball.com/play?c=widzew" + a + (b ? "&p=1" : "") // to nie jest prawdziwy url
  1981.     }
  1982.     ;
  1983.     y.Th = function(a)
  1984.         { // HBInit(a)
  1985.         function b() {
  1986.             if (!q) {
  1987.                 var a = new Ha;
  1988.                 a.bi = 9;
  1989.                 a.pa = u.Ld;
  1990.                 a.ca = u.ca.length - (xa ? 0 : 1);
  1991.                 a.kh = A.Pc;
  1992.                 a.gb = x.gb;
  1993.                 a.jb = null != A.jb;
  1994.                 a.Kc = x.Kc;
  1995.                 a.Mc = x.Mc;
  1996.                 var b = r.ba(16);
  1997.                 a.G(b);
  1998.                 a = b.Vd();
  1999.                 A.Qd(a)
  2000.             }
  2001.         }
  2002.         function c(a) {
  2003.             B.then(function() {
  2004.                 A.ec(a)
  2005.             })
  2006.         }
  2007.         function d(a) {
  2008.             return null == a ? null : {
  2009.                 x: a.a.x,
  2010.                 y: a.a.y,
  2011.                 xspeed: a.s.x,
  2012.                 yspeed: a.s.y,
  2013.                 xgravity: a.ma.x,
  2014.                 ygravity: a.ma.y,
  2015.                 radius: a.L,
  2016.                 bCoeff: a.i,
  2017.                 invMass: a.K,
  2018.                 damping: a.ga,
  2019.                 color: a.S,
  2020.                 cMask: a.c,
  2021.                 cGroup: a.m
  2022.             }
  2023.         }
  2024.         function e() {
  2025.             return null == u.C ? null : {
  2026.                 red: u.C.Mb,
  2027.                 blue: u.C.Fb,
  2028.                 time: u.C.Jb,
  2029.                 scoreLimit: u.C.$a,
  2030.                 timeLimit: 60 * u.C.Ma
  2031.             }
  2032.         }
  2033.         function f(a) {
  2034.             if (null == a)
  2035.                 return null;
  2036.             var b = null
  2037.               , c = a.N;
  2038.             null != c && (b = {
  2039.                 x: c.a.x,
  2040.                 y: c.a.y
  2041.             });
  2042.             return {
  2043.                 name: a.pa,
  2044.                 team: a.ja.R,
  2045.                 id: a.na,
  2046.                 admin: a.Rb,
  2047.                 position: b, // gracz
  2048.                                 avatar: a.zb,
  2049.                                 flag: a.ae
  2050.             }
  2051.         }
  2052.         function h(b, c) {
  2053.             var d = a[b];
  2054.             return null == d ? c : k.l(d, String)
  2055.         }
  2056.         function m(b, c) {
  2057.             var d = a[b];
  2058.             return null == d ? c : d
  2059.         }
  2060.         if (y.tf)
  2061.             throw new l("Can't init twice");
  2062.         y.tf = !0;
  2063.         var q = !m("public", !1)
  2064.           , g = h("roomName", "Headless Room")
  2065.           , eb = h("playerName", "Host")
  2066.           , xa = m("noPlayer", !1)
  2067.           , t = k.l(m("maxPlayers", 12), ya)
  2068.           , w = h("password", null)
  2069.           , v = h("token", null)
  2070.           , z = m("geo", null)
  2071.           , x = y.Ge;
  2072.         if (null != z && (x = M.He(z),
  2073.         3 < x.gb.length))
  2074.             throw new l("Invalid country code");
  2075.         var u = new Aa; // u.T(a) to id
  2076.         u.Ld = g;
  2077.         xa || (g = new ra,
  2078.         g.pa = eb,
  2079.         g.Rb = !0,
  2080.         g.ae = x.gb,
  2081.         u.ca.push(g));
  2082.         var A = new Fa({
  2083.             iceServers: ta.Ad,
  2084.             oi: ta.ye + "api/host",
  2085.             state: u,
  2086.             version: 9,
  2087.             ti: v
  2088.         });
  2089.         A.Pc = 2 > t ? 2 : 30 < t ? 30 : t;
  2090.         A.jb = w; // hasƂo
  2091.         var B = Promise.resolve();
  2092.         b();
  2093.         var C = null
  2094.           , D = {
  2095.             sendChat: function(a, b) {
  2096.                 var d = new aa;
  2097.                 d.Oa = a;
  2098.                 null != b ? B.then(function() {
  2099.                     A.rf(d, b)
  2100.                 }) : c(d)
  2101.             },
  2102.             sendAnnouncement: function(a, b, d, e, f) {
  2103.                 e = {
  2104.                     bold: 1,
  2105.                     italic: 2,
  2106.                     small: 3,
  2107.                     "small-bold": 4,
  2108.                     "small-italic": 5
  2109.                 }[e];
  2110.                 null == e && (e = 0);
  2111.                 null == d && (d = -1);
  2112.                 null == f && (f = 1);
  2113.                 var h = U.V(a, d, e, f);
  2114.                 null != b ? B.then(function() {
  2115.                     A.rf(h, b)
  2116.                 }) : c(h)
  2117.             },
  2118.             setPlayerAdmin: function(a, b) {
  2119.                 var d = T.V(a, b);
  2120.                 c(d)
  2121.             },
  2122.             setPlayerTeam: function(a, b) {
  2123.                 var d = S.V(a, 1 == b ? p.ka : 2 == b ? p.wa : p.oa);
  2124.                 c(d)
  2125.             },
  2126.             setPlayerAvatar: function(a, b) {
  2127.                 var d = Q.V(a, b);
  2128.                 c(d)
  2129.             },
  2130.             kickPlayer: function(a, b, d) {
  2131.                 null == b && (b = "");
  2132.                 a = I.V(a, b, d);
  2133.                 c(a)
  2134.             },
  2135.             clearBan: function(a) {
  2136.                 A.td(a)
  2137.             },
  2138.             clearBans: function() {
  2139.                 A.ud()
  2140.             },
  2141.             setScoreLimit: function(a) {
  2142.                 a = L.V(0, a);
  2143.                 c(a)
  2144.             },
  2145.             setTimeLimit: function(a) {
  2146.                 a = L.V(1, a);
  2147.                 c(a)
  2148.             },
  2149.             setCustomStadium: function(a) {
  2150.                 var b = new n;
  2151.                 try {
  2152.                     b.Xg(a)
  2153.                 } catch (ab) {
  2154.                     throw l.vi(ab instanceof l ? ab.Db : ab);
  2155.                 }
  2156.                 a = K.V(b);
  2157.                 c(a)
  2158.             },
  2159.             setDefaultStadium: function(a) {
  2160.                 for (var b = n.wd(), d = null, e = 0; e < b.length; ) {
  2161.                     var f = b[e];
  2162.                     ++e;
  2163.                     if (f.pa == a) {
  2164.                         d = f;
  2165.                         break
  2166.                     }
  2167.                 }
  2168.                 if (null == d)
  2169.                     throw new l("Stadium doesn't exist");
  2170.                 a = K.V(d);
  2171.                 c(a)
  2172.             },
  2173.             setDiscProperties: function(a, b) {
  2174.                 var d = E.Pf(a, !1, b);
  2175.                 c(d)
  2176.             },
  2177.             setPlayerDiscProperties: function(a, b) {
  2178.                 var d = E.Pf(a, !0, b);
  2179.                 c(d)
  2180.             },
  2181.             setTeamColors: function(a, b, d, e) {
  2182.                 var f = new da
  2183.                   , h = new W;
  2184.                 f.jd = h;
  2185.                 f.ja = 1 == a ? p.ka : 2 == a ? p.wa : p.oa;
  2186.                 h.Pa = [];
  2187.                 var m = e.length;
  2188.                 a = 0;
  2189.                 for (m = 3 > m ? m : 3; a < m; )
  2190.                     h.Pa.push(e[a++] | 0);
  2191.                 h.Td = d | 0;
  2192.                 h.xe = 256 * b / 360 | 0;
  2193.                 c(f)
  2194.             },
  2195.             setKickRateLimit: function(a, b, d) {
  2196.                 null == a && (a = 2);
  2197.                 null == b && (b = 0);
  2198.                 null == d && (d = 0);
  2199.                 a = O.V(a, b, d);
  2200.                 c(a)
  2201.             },
  2202.             startGame: function() {
  2203.                 c(new Z)
  2204.             },
  2205.             stopGame: function() {
  2206.                 c(new Y)
  2207.             },
  2208.             pauseGame: function(a) {
  2209.                 var b = new ba;
  2210.                 b.mc = a;
  2211.                 c(b)
  2212.             },
  2213.             setTeamsLock: function(a) {
  2214.                 var b = new ca;
  2215.                 b.newValue = a;
  2216.                 c(b)
  2217.             },
  2218.             setPassword: function(a) {
  2219.                 A.jb = null == a ? null : k.l(a, String);
  2220.                 b()
  2221.             },
  2222.             setRequireRecaptcha: function(a) {
  2223.                 A.Pd(k.l(a, Qa))
  2224.             },
  2225.             getPlayerList: function()
  2226.                         {
  2227.                 for (var a = [], b = 0, c = u.ca; b < c.length; )
  2228.                     a.push(f(c[b++]));
  2229.                 return a
  2230.             },
  2231.             getPlayer: function(id)
  2232.                         {
  2233.                 a = u.T(id); // Aa.T (3839), zwraca wszystko o graczu
  2234.                 return null == a ? null : f(a)
  2235.             },
  2236.             getScores: function() {
  2237.                 return e()
  2238.             },
  2239.             getBallPosition: function() {
  2240.                 var a = u.C;
  2241.                 if (null == a)
  2242.                     return null;
  2243.                 a = a.ia.w[0].a;
  2244.                 return {
  2245.                     x: a.x,
  2246.                     y: a.y
  2247.                 }
  2248.             },
  2249.             getPlayerDiscProperties: function(a) {
  2250.                 if (null == u.C)
  2251.                     return null;
  2252.                 a = u.T(a);
  2253.                 return null == a ? null : d(a.N)
  2254.             },
  2255.             getDiscProperties: function(a) {
  2256.                 var b = u.C;
  2257.                 return null == b ? null : d(b.ia.w[a])
  2258.             },
  2259.             getDiscCount: function() {
  2260.                 var a = u.C;
  2261.                 return null == a ? 0 : a.ia.w.length
  2262.             },
  2263.             startRecording: function() {
  2264.                 C = new La(A,3)
  2265.             },
  2266.             stopRecording: function() {
  2267.                 if (null == C)
  2268.                     return null;
  2269.                 var a = C.stop();
  2270.                 C = null;
  2271.                 return a
  2272.             },
  2273.             reorderPlayers: function(a, b) {
  2274.                 var d = P.V(a, b);
  2275.                 c(d)
  2276.             },
  2277.             CollisionFlags: {
  2278.                 ball: 1,
  2279.                 red: 2,
  2280.                 blue: 4,
  2281.                 redKO: 8,
  2282.                 blueKO: 16,
  2283.                 wall: 32,
  2284.                 kick: 64,
  2285.                 score: 128,
  2286.                 c0: 268435456,
  2287.                 c1: 536870912,
  2288.                 c2: 1073741824,
  2289.                 c3: -2147483648,
  2290.                 all: 63
  2291.             }
  2292.         };
  2293.         A.$b = function(a, b) {
  2294.             return ia.Wg().then(function(c) {
  2295.                 y.Ph(c, a, b)
  2296.             })
  2297.         }
  2298.         ;
  2299.         window.setInterval(function() {
  2300.             A.Ba()
  2301.         }, 50);
  2302.         window.setInterval(function() {
  2303.             var a = N.V(A);
  2304.             A.ec(a)
  2305.         }, 3E3);
  2306.         A.We = function(a) {
  2307.             null != u.T(a) && (a = I.V(a, "Bad actor", !1),
  2308.             A.ec(a))
  2309.         }
  2310.         ;
  2311.         A.lh = function(a, c) {
  2312.             var d = c.kb();
  2313.             if (25 < d.length)
  2314.                 throw new l("name too long");
  2315.             var e = c.kb();
  2316.             if (3 < e.length)
  2317.                 throw new l("country too long");
  2318.             var f = c.Xa();
  2319.             if (null != f && 2 < f.length)
  2320.                 throw new l("avatar too long");
  2321.             d = R.V(a, d, e, f);
  2322.             A.ec(d);
  2323.             b()
  2324.         }
  2325.         ;
  2326.         A.mh = function(a) {
  2327.             null != u.T(a) && (a = I.V(a, null, !1),
  2328.             A.ec(a))
  2329.         }
  2330.         ;
  2331.         A.Rc = function(a) {
  2332.             a = y.hh(a, null != A.jb); // (a, hasƂo != null)
  2333.                         //console.log(a);
  2334.             y.Ih.innerHTML = '<p>Room Link: <a href="' + a + '">' + a + "</a></p>";
  2335.             var b = D.onRoomLink;
  2336.             null != b && b(a)
  2337.         }
  2338.         ;
  2339.         u.rh = function(a) {
  2340.             var b = A.ub.get(a.na)
  2341.               , c = null
  2342.               , d = null;
  2343.             null != b && (c = b.tg,
  2344.             d = b.ac.fb);
  2345.             b = D.onPlayerJoin;
  2346.             null != b && (a = f(a),
  2347.             a.auth = c,
  2348.             a.conn = d,
  2349.                         a.ip = A.ub.get(1).ac.Ob[0],
  2350.             b(a))
  2351.         }
  2352.         ;
  2353.         u.Af = function() {
  2354.             var a = D.onTeamVictory;
  2355.             null != a && null != u.C && a(e())