'use strict';
var k, aa = "function" == typeof Object.defineProperties ? Object.defineProperty : function(a, b, c) {
        a != Array.prototype && a != Object.prototype && (a[b] = c.value)
    },
    ba = "undefined" != typeof window && window === this ? this : "undefined" != typeof global && null != global ? global : this;

function ca() {
    ca = function() {};
    ba.Symbol || (ba.Symbol = da)
}
var da = function() {
    var a = 0;
    return function(b) {
        return "jscomp_symbol_" + (b || "") + a++
    }
}();

function ea() {
    ca();
    var a = ba.Symbol.iterator;
    a || (a = ba.Symbol.iterator = ba.Symbol("iterator"));
    "function" != typeof Array.prototype[a] && aa(Array.prototype, a, {
        configurable: !0,
        writable: !0,
        value: function() {
            return fa(this)
        }
    });
    ea = function() {}
}

function fa(a) {
    var b = 0;
    return ha(function() {
        return b < a.length ? {
            done: !1,
            value: a[b++]
        } : {
            done: !0
        }
    })
}

function ha(a) {
    ea();
    a = {
        next: a
    };
    a[ba.Symbol.iterator] = function() {
        return this
    };
    return a
}

function ia(a) {
    ea();
    var b = a[Symbol.iterator];
    return b ? b.call(a) : fa(a)
}

function ja(a, b) {
    if (b) {
        var c = ba;
        a = a.split(".");
        for (var d = 0; d < a.length - 1; d++) {
            var e = a[d];
            e in c || (c[e] = {});
            c = c[e]
        }
        a = a[a.length - 1];
        d = c[a];
        b = b(d);
        b != d && null != b && aa(c, a, {
            configurable: !0,
            writable: !0,
            value: b
        })
    }
}
ja("String.prototype.endsWith", function(a) {
    return a ? a : function(a, c) {
        if (null == this) throw new TypeError("The 'this' value for String.prototype.endsWith must not be null or undefined");
        if (a instanceof RegExp) throw new TypeError("First argument to String.prototype.endsWith must not be a regular expression");
        void 0 === c && (c = this.length);
        c = Math.max(0, Math.min(c | 0, this.length));
        for (var b = a.length; 0 < b && 0 < c;)
            if (this[--c] != a[--b]) return !1;
        return 0 >= b
    }
});
ja("Math.trunc", function(a) {
    return a ? a : function(a) {
        a = Number(a);
        if (isNaN(a) || Infinity === a || -Infinity === a || 0 === a) return a;
        var b = Math.floor(Math.abs(a));
        return 0 > a ? -b : b
    }
});

function la(a, b) {
    ea();
    a instanceof String && (a += "");
    var c = 0,
        d = {
            next: function() {
                if (c < a.length) {
                    var e = c++;
                    return {
                        value: b(e, a[e]),
                        done: !1
                    }
                }
                d.next = function() {
                    return {
                        done: !0,
                        value: void 0
                    }
                };
                return d.next()
            }
        };
    d[Symbol.iterator] = function() {
        return d
    };
    return d
}
ja("Array.prototype.entries", function(a) {
    return a ? a : function() {
        return la(this, function(a, c) {
            return [a, c]
        })
    }
});

function ma(a, b) {
    this.g = a;
    this.w = b;
    this.la = function() {};
    this.C = 9;
    this.J = 1;
    this.m = new Uint8Array([6, 0, 104, 111, 115, 116, 57, 112]);
    this.v = "9P2000.L";
    this.i = this.l = 8192;
    this.Aa = new Uint8Array(2 * this.i);
    this.Rf = 0;
    this.a = []
}
ma.prototype.Sa = function() {
    var a = [];
    a[0] = this.C;
    a[1] = this.J;
    a[2] = this.m;
    a[3] = this.v;
    a[4] = this.l;
    a[5] = this.i;
    a[6] = this.Aa;
    a[7] = this.Rf;
    a[8] = this.a.map(function(a) {
        return [a.ca, a.type, a.uid]
    });
    return a
};
ma.prototype.fb = function(a) {
    this.C = a[0];
    this.J = a[1];
    this.m = a[2];
    this.v = a[3];
    this.l = a[4];
    this.i = a[5];
    this.Aa = a[6];
    this.Rf = a[7];
    this.a = a[8].map(function(a) {
        return {
            ca: a[0],
            type: a[1],
            uid: a[2]
        }
    })
};

function na(a, b, c, d) {
    oa(["w", "b", "h"], [d + 7, b + 1, c], a.Aa, 0);
    a.Rf = d + 7
}

function pa(a, b, c) {
    c = oa(["w"], [c], a.Aa, 7);
    na(a, 6, b, c)
}

function qa(a, b, c) {
    var d = ra(["w", "b", "h"], c),
        e = d[0],
        f = d[1],
        h = d[2];
    switch (f) {
        case 8:
            e = a.g.C;
            var g = [16914839];
            g[1] = a.l;
            g[2] = Math.floor(274877906944 / g[1]);
            g[3] = g[2] - Math.floor(e / g[1]);
            g[4] = g[2] - Math.floor(e / g[1]);
            g[5] = a.g.a.length;
            g[6] = 1048576;
            g[7] = 0;
            g[8] = 256;
            e = oa("wwddddddw".split(""), g, a.Aa, 7);
            na(a, f, h, e);
            a.la(0, b);
            break;
        case 112:
        case 12:
            g = ra(["w", "w"], c);
            var p = g[0];
            d = g[1];
            c = a.a[p].ca;
            var r = sa(a.g, c);
            c = ta(a.g, c);
            ua(a.g, a.a[p].ca, function() {
                g[0] = r.lb;
                g[1] = this.i - 24;
                oa(["Q", "w"], g, this.Aa, 7);
                na(this,
                    f, h, 17);
                this.la(0, b)
            }.bind(a));
            break;
        case 70:
            g = ra(["w", "w", "s"], c);
            e = g[0];
            p = g[1];
            c = g[2];
            r = va(a.g);
            d = sa(a.g, a.a[p].ca);
            var v = a.g.g[a.a[p].ca];
            r.mode = d.mode;
            r.size = d.size;
            r.ff = d.ff;
            var E = a.g.g[a.g.a.length] = new Uint8Array(r.size);
            for (d = 0; d < r.size; d++) E[d] = v[d];
            r.name = c;
            r.va = a.a[e].ca;
            wa(a.g, r);
            na(a, f, h, 0);
            a.la(0, b);
            break;
        case 16:
            g = ra(["w", "s", "s", "w"], c);
            p = g[0];
            c = g[1];
            e = g[3];
            c = xa(a.g, c, a.a[p].ca, g[2]);
            r = sa(a.g, c);
            r.uid = a.a[p].uid;
            r.pb = e;
            oa(["Q"], [r.lb], a.Aa, 7);
            na(a, f, h, 13);
            a.la(0, b);
            break;
        case 18:
            g =
                ra("wswwww".split(""), c);
            p = g[0];
            c = g[1];
            d = g[2];
            v = g[3];
            E = g[4];
            e = g[5];
            c = ya(a.g, c, a.a[p].ca, v, E);
            r = sa(a.g, c);
            r.mode = d;
            r.uid = a.a[p].uid;
            r.pb = e;
            oa(["Q"], [r.lb], a.Aa, 7);
            na(a, f, h, 13);
            a.la(0, b);
            break;
        case 22:
            g = ra(["w"], c);
            p = g[0];
            r = sa(a.g, a.a[p].ca);
            e = oa(["s"], [r.ff], a.Aa, 7);
            na(a, f, h, e);
            a.la(0, b);
            break;
        case 72:
            g = ra(["w", "s", "w", "w"], c);
            p = g[0];
            c = g[1];
            d = g[2];
            e = g[3];
            c = za(a.g, c, a.a[p].ca);
            r = sa(a.g, c);
            r.mode = d | Aa;
            r.uid = a.a[p].uid;
            r.pb = e;
            oa(["Q"], [r.lb], a.Aa, 7);
            na(a, f, h, 13);
            a.la(0, b);
            break;
        case 14:
            g = ra(["w", "s",
                "w", "w", "w"
            ], c);
            p = g[0];
            c = g[1];
            d = g[3];
            e = g[4];
            c = Ba(a.g, c, a.a[p].ca);
            a.a[p].ca = c;
            a.a[p].type = 1;
            r = sa(a.g, c);
            r.uid = a.a[p].uid;
            r.pb = e;
            r.mode = d;
            oa(["Q", "w"], [r.lb, a.i - 24], a.Aa, 7);
            na(a, f, h, 17);
            a.la(0, b);
            break;
        case 52:
            oa(["w"], [0], a.Aa, 7);
            na(a, f, h, 1);
            a.la(0, b);
            break;
        case 24:
            g = ra(["w", "d"], c);
            p = g[0];
            r = sa(a.g, a.a[p].ca);
            if (!r || r.status === Ca) {
                pa(a, h, 2);
                a.la(0, b);
                break
            }
            g[0] |= 4096;
            g[0] = g[1];
            g[1] = r.lb;
            g[2] = r.mode;
            g[3] = r.uid;
            g[4] = r.pb;
            g[5] = r.Pb;
            g[6] = r.$g << 8 | r.ah;
            g[7] = r.size;
            g[8] = a.l;
            g[9] = Math.floor(r.size / 512 + 1);
            g[10] = r.mf;
            g[11] = 0;
            g[12] = r.ne;
            g[13] = 0;
            g[14] = r.dg;
            g[15] = 0;
            g[16] = 0;
            g[17] = 0;
            g[18] = 0;
            g[19] = 0;
            oa("dQwwwddddddddddddddd".split(""), g, a.Aa, 7);
            na(a, f, h, 153);
            a.la(0, b);
            break;
        case 26:
            g = ra("wwwwwddddd".split(""), c);
            p = g[0];
            r = sa(a.g, a.a[p].ca);
            g[1] & 1 && (r.mode = g[2]);
            g[1] & 2 && (r.uid = g[3]);
            g[1] & 4 && (r.pb = g[4]);
            g[1] & 16 && (r.mf = Math.floor((new Date).getTime() / 1E3));
            g[1] & 32 && (r.ne = Math.floor((new Date).getTime() / 1E3));
            g[1] & 64 && (r.dg = Math.floor((new Date).getTime() / 1E3));
            g[1] & 128 && (r.mf = g[6]);
            g[1] & 256 && (r.ne = g[8]);
            g[1] &
                8 && Da(a.g, a.a[p].ca, g[5]);
            na(a, f, h, 0);
            a.la(0, b);
            break;
        case 50:
            g = ra(["w", "d"], c);
            p = g[0];
            na(a, f, h, 0);
            a.la(0, b);
            break;
        case 40:
        case 116:
            g = ra(["w", "d", "w"], c);
            p = g[0];
            var z = g[1],
                A = g[2];
            r = sa(a.g, a.a[p].ca);
            if (!r || r.status === Ca) {
                pa(a, h, 2);
                a.la(0, b);
                break
            }
            if (2 == a.a[p].type) {
                r.Pa.length < z + A && (A = r.Pa.length - z);
                for (d = 0; d < A; d++) a.Aa[11 + d] = r.Pa[z + d];
                oa(["w"], [A], a.Aa, 7);
                na(a, f, h, 4 + A);
                a.la(0, b)
            } else {
                var M = a.g.a[a.a[p].ca];
                a.w.send("9p-read-start");
                ta(a.g, a.a[p].ca);
                ua(a.g, a.a[p].ca, function() {
                    this.w.send("9p-read-end", [M.name, A]);
                    r.size < z + A && (A = r.size - z);
                    var a = this.g.g[this.a[p].ca];
                    if (a)
                        for (var c = 0; c < A; c++) this.Aa[11 + c] = a[z + c];
                    oa(["w"], [A], this.Aa, 7);
                    na(this, f, h, 4 + A);
                    this.la(0, b)
                }.bind(a))
            }
            break;
        case 118:
            g = ra(["w", "d", "w"], c);
            p = g[0];
            z = g[1];
            A = g[2];
            Ea(a.g, a.a[p].ca, z, A, c);
            M = a.g.a[a.a[p].ca];
            a.w.send("9p-write-end", [M.name, A]);
            oa(["w"], [A], a.Aa, 7);
            na(a, f, h, 4);
            a.la(0, b);
            break;
        case 74:
            g = ra(["w", "s", "w", "s"], c);
            c = Fa(a.g, a.a[g[0]].ca, g[1], a.a[g[2]].ca, g[3]);
            if (0 == c) {
                pa(a, h, 2);
                a.la(0, b);
                break
            }
            na(a, f, h, 0);
            a.la(0, b);
            break;
        case 76:
            g = ra(["w", "s", "w"], c);
            d = g[0];
            c = g[1];
            p = Ga(a.g, a.a[d].ca, c);
            if (-1 == p) {
                pa(a, h, 2);
                a.la(0, b);
                break
            }
            c = Ha(a.g, p);
            if (!c) {
                pa(a, h, 39);
                a.la(0, b);
                break
            }
            na(a, f, h, 0);
            a.la(0, b);
            break;
        case 100:
            c = ra(["w", "s"], c);
            a.i = c[0];
            e = oa(["w", "s"], [a.i, a.v], a.Aa, 7);
            na(a, f, h, e);
            a.la(0, b);
            break;
        case 104:
            g = ra(["w", "w", "s", "s", "w"], c);
            p = g[0];
            a.a[p] = {
                ca: 0,
                type: 1,
                uid: g[4]
            };
            r = sa(a.g, a.a[p].ca);
            oa(["Q"], [r.lb], a.Aa, 7);
            na(a, f, h, 13);
            a.la(0, b);
            break;
        case 108:
            g = ra(["h"], c);
            na(a, f, h, 0);
            a.la(0, b);
            break;
        case 110:
            g = ra(["w", "w", "h"],
                c);
            p = g[0];
            e = g[1];
            v = g[2];
            if (0 == v) {
                a.a[e] = {
                    ca: a.a[p].ca,
                    type: 1,
                    uid: a.a[p].uid
                };
                oa(["h"], [0], a.Aa, 7);
                na(a, f, h, 2);
                a.la(0, b);
                break
            }
            E = [];
            for (d = 0; d < v; d++) E.push("s");
            E = ra(E, c);
            c = a.a[p].ca;
            z = 9;
            var Y = 0;
            for (d = 0; d < v; d++) {
                c = Ga(a.g, c, E[d]);
                if (-1 == c) break;
                z += oa(["Q"], [a.g.a[c].lb], a.Aa, z);
                Y++;
                a.a[e] = {
                    ca: c,
                    type: 1,
                    uid: a.a[p].uid
                }
            }
            oa(["h"], [Y], a.Aa, 7);
            na(a, f, h, z - 7);
            a.la(0, b);
            break;
        case 120:
            g = ra(["w"], c);
            a.a[g[0]] && 0 <= a.a[g[0]].ca && (Ia(a.g, a.a[g[0]].ca), a.a[g[0]].ca = -1, a.a[g[0]].type = -1);
            na(a, f, h, 0);
            a.la(0, b);
            break;
        case 32:
            g = ra(["w", "s", "d", "w"], c);
            p = g[0];
            c = g[1];
            na(a, f, h, 0);
            a.la(0, b);
            break;
        case 30:
            g = ra(["w", "w", "s"], c), p = g[0], d = g[1], c = g[2], a.a[d] = {
                ca: a.a[p].ca,
                type: -1,
                uid: a.a[p].uid
            }, e = 0, "security.capability" == c && (e = Ja(a.g, a.a[p].ca), a.a[d].type = 2), oa(["d"], [e], a.Aa, 7), na(a, f, h, 8), a.la(0, b)
    }
};
"undefined" === typeof window || window.requestAnimationFrame || (window.requestAnimationFrame = window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame);

function Ka(a, b) {
    function c(a) {
        a = a.toString(16);
        return "#" + Array(7 - a.length).join("0") + a
    }

    function d(a, b, c, d) {
        a.style.width = "";
        a.style.height = "";
        d && (a.style.transform = a.style.webkitTransform = a.style.MozTransform = "");
        var f = a.getBoundingClientRect();
        d ? a.style.transform = a.style.webkitTransform = a.style.MozTransform = (1 === b ? "" : " scaleX(" + b + ")") + (1 === c ? "" : " scaleY(" + c + ")") : (0 === b % 1 && 0 === c % 1 ? (e.style.ti = "pixelated", e.style["-ms-interpolation-mode"] = "nearest-neighbor") : (e.style.ti = "", e.style["-ms-interpolation-mode"] =
            ""), d = window.devicePixelRatio || 1, 0 !== d % 1 && (b /= d, c /= d));
        1 !== b && (a.style.width = f.width * b + "px");
        1 !== c && (a.style.height = f.height * c + "px")
    }
    console.assert(a, "1st argument must be a DOM container");
    var e = a.getElementsByTagName("canvas")[0],
        f = e.getContext("2d"),
        h = a.getElementsByTagName("div")[0],
        g = document.createElement("div"),
        p, r, v, E, z = 1,
        A = 1,
        M, Y = !1,
        ka, vb, yd, Bh = this;
    a = new Uint16Array([199, 252, 233, 226, 228, 224, 229, 231, 234, 235, 232, 239, 238, 236, 196, 197, 201, 230, 198, 244, 246, 242, 251, 249, 255, 214, 220, 162, 163, 165, 8359,
        402, 225, 237, 243, 250, 241, 209, 170, 186, 191, 8976, 172, 189, 188, 161, 171, 187, 9617, 9618, 9619, 9474, 9508, 9569, 9570, 9558, 9557, 9571, 9553, 9559, 9565, 9564, 9563, 9488, 9492, 9524, 9516, 9500, 9472, 9532, 9566, 9567, 9562, 9556, 9577, 9574, 9568, 9552, 9580, 9575, 9576, 9572, 9573, 9561, 9560, 9554, 9555, 9579, 9578, 9496, 9484, 9608, 9604, 9612, 9616, 9600, 945, 223, 915, 960, 931, 963, 181, 964, 934, 920, 937, 948, 8734, 966, 949, 8745, 8801, 177, 8805, 8804, 8992, 8993, 247, 8776, 176, 8729, 183, 8730, 8319, 178, 9632, 160
    ]);
    for (var Ch = new Uint16Array([32, 9786, 9787, 9829, 9830,
            9827, 9824, 8226, 9688, 9675, 9689, 9794, 9792, 9834, 9835, 9788, 9658, 9668, 8597, 8252, 182, 167, 9644, 8616, 8593, 8595, 8594, 8592, 8735, 8596, 9650, 9660
        ]), Hf = [], If, Fb = 0; 256 > Fb; Fb++) If = 127 < Fb ? a[Fb - 128] : 32 > Fb ? Ch[Fb] : Fb, Hf[Fb] = String.fromCharCode(If);
    f.imageSmoothingEnabled = !1;
    g.style.position = "absolute";
    g.style.backgroundColor = "#ccc";
    g.style.width = "7px";
    g.style.display = "inline-block";
    h.style.display = "block";
    e.style.display = "none";
    this.w = b;
    b.register("screen-set-mode", function(a) {
        this.wg(a)
    }, this);
    b.register("screen-fill-buffer-end",
        function(a) {
            this.yg(a)
        }, this);
    b.register("screen-put-char", function(a) {
        this.qg(a[0], a[1], a[2], a[3], a[4])
    }, this);
    b.register("screen-update-cursor", function(a) {
        this.Nd(a[0], a[1])
    }, this);
    b.register("screen-update-cursor-scanline", function(a) {
        this.Od(a[0], a[1])
    }, this);
    b.register("screen-clear", function() {
        this.Dg()
    }, this);
    b.register("screen-set-size-text", function(a) {
        this.Jd(a[0], a[1])
    }, this);
    b.register("screen-set-size-graphical", function(a) {
        this.Id(a[0], a[1], a[2], a[3])
    }, this);
    this.Ob = function() {
        this.Jd(80,
            25);
        this.Ic()
    };
    this.i = function() {
        try {
            window.open(e.toDataURL())
        } catch (hi) {}
    };
    this.qg = function(a, b, c, e, d) {
        a < yd && b < vb && (b = 3 * (a * vb + b), ka[b] = c, ka[b + 1] = e, ka[b + 2] = d, M[a] = 1)
    };
    this.Ic = function() {
        requestAnimationFrame(Y ? Dh : Gc)
    };
    var Gc = function() {
            for (var a = 0; a < yd; a++) M[a] && (Bh.g(a), M[a] = 0);
            this.Ic()
        }.bind(this),
        Dh = function() {
            this.w.send("screen-fill-buffer");
            this.Ic()
        }.bind(this);
    this.Mb = function() {};
    this.wg = function(a) {
        (Y = a) ? (h.style.display = "none", e.style.display = "block") : (h.style.display = "block", e.style.display =
            "none")
    };
    this.Dg = function() {
        f.fillStyle = "#000";
        f.fillRect(0, 0, e.width, e.height)
    };
    this.Jd = function(a, b) {
        if (a !== vb || b !== yd) {
            M = new Int8Array(b);
            ka = new Int32Array(a * b * 3);
            vb = a;
            for (yd = b; h.childNodes.length > b;) h.removeChild(h.firstChild);
            for (; h.childNodes.length < b;) h.appendChild(document.createElement("div"));
            for (a = 0; a < b; a++) this.g(a);
            d(h, z, A, !0)
        }
    };
    this.Id = function(a, b, c, g) {
        e.style.display = "block";
        e.width = a;
        e.height = b;
        p = f.createImageData(c, g);
        new Uint8Array(p.data.buffer);
        r = new Int32Array(p.data.buffer);
        this.w.send("screen-tell-buffer", [r], [r.buffer]);
        d(e, z, A, !1)
    };
    this.a = function(a, b) {
        z = a;
        A = b;
        d(h, z, A, !0);
        d(e, z, A, !1)
    };
    this.a(z, A);
    this.Od = function(a, b) {
        a & 32 ? g.style.display = "none" : (g.style.display = "inline", g.style.height = Math.min(15, b - a) + "px", g.style.marginTop = Math.min(15, a) + "px")
    };
    this.Nd = function(a, b) {
        if (a !== v || b !== E) M[a] = 1, M[v] = 1, v = a, E = b
    };
    this.g = function(a) {
        var b = 3 * a * vb,
            e;
        var d = h.childNodes[a];
        var f = document.createElement("div");
        for (var p = 0; p < vb;) {
            var r = document.createElement("span");
            var A = ka[b +
                1];
            var M = ka[b + 2];
            r.style.backgroundColor = c(A);
            r.style.color = c(M);
            for (e = ""; p < vb && ka[b + 1] === A && ka[b + 2] === M;)
                if (e += Hf[ka[b]], p++, b += 3, a === v)
                    if (p === E) break;
                    else if (p === E + 1) {
                f.appendChild(g);
                break
            }
            r.textContent = e;
            f.appendChild(r)
        }
        d.parentNode.replaceChild(f, d)
    };
    this.yg = function(a) {
        a.forEach(function(a) {
            f.putImageData(p, a.ug - a.qf, a.vg - a.rf, a.qf, a.rf, a.ag, a.$f)
        })
    };
    this.Ob()
};
(function() {
    function a(a, c) {
        a instanceof Array || (a = [a]);
        b(new Blob(a), c)
    }

    function b(a, b) {
        var c = document.createElement("a");
        c.download = b;
        c.href = window.URL.createObjectURL(a);
        c.dataset.downloadurl = ["application/octet-stream", c.download, c.href].join(":");
        document.createEvent ? (a = document.createEvent("MouseEvent"), a.initMouseEvent("click", !0, !0, window, 0, 0, 0, 0, 0, !1, !1, !1, !1, 0, null), c.dispatchEvent(a)) : c.click();
        window.URL.revokeObjectURL(c.href)
    }

    function c() {
        for (var a = location.search.substr(1).split("&"),
                b = {}, c = 0; c < a.length; c++) {
            var e = a[c].split("=");
            b[e[0]] = decodeURIComponent(e[1])
        }
        return b
    }

    function d(a, b) {
        for (var c = ""; 0 < b--;) c += a;
        return c
    }

    function e(a) {
        return document.getElementById(a)
    }

    function f() {
        function a(a) {
            e("boot_options").style.display = "none";
            document.title = a.name + " - Virtual x86";
            d.filesystem = a.filesystem;
            a.state && (e("reset").style.display = "none", d.ke = a.state);
            d.Ra = a.Ra;
            d.Qa = a.Qa;
            d.Ma = a.Ma;
            d.oe = a.oe;
            d.Ia = a.Ia;
            d.Ja = a.Ja;
            d.id = a.id;
            void 0 !== a.ae && (d.ae = a.ae);
            a.description && (e("description").style.display =
                "block", e("description").innerHTML = "<br>" + a.description);
            h(d, b)
        }

        function b(a) {
            g.c && setTimeout(function() {
                a.Xg(g.c + "\n")
            }, 25)
        }
        if ("responseType" in new XMLHttpRequest) {
            var d = {};
            e("start_emulation").onclick = function() {
                e("boot_options").style.display = "none";
                v("custom");
                var a = e("floppy_image").files[0];
                if (a) {
                    var b = a;
                    d.Ra = {
                        buffer: a
                    }
                }
                if (a = e("cd_image").files[0]) b = a, d.Qa = {
                    buffer: a
                };
                if (a = e("hd_image").files[0]) b = a, d.Ma = {
                    buffer: a
                };
                e("multiboot_image") && (a = e("multiboot_image").files[0]) && (b = a, d.oe = {
                    buffer: a
                });
                b && (document.title = b.name + " - Virtual x86");
                h(d)
            };
            var f = [{
                    id: "linux26",
                    Qa: {
                        url: z + "images/linux.iso",
                        size: 5666816
                    },
                    name: "Linux"
                }, {
                    id: "linux3",
                    Qa: {
                        url: z + "images/linux3.iso",
                        size: 8624128
                    },
                    name: "Linux",
                    filesystem: {}
                }, {
                    id: "openbsd",
                    Ra: {
                        url: z + "/static/openbsd.img",
                        size: 1474560
                    },
                    name: "OpenBSD"
                }],
                g = c(),
                p = 'openbsd';
            g.use_bochs_bios && (d.tk = !0);
            for (var r = 0; r < f.length; r++) {
                var Y = f[r];
                if (p === Y.id) {
                    a(Y);
                    return
                }
                var Gc = e("start_" + Y.id);
                Gc && (Gc.onclick = function(b, c) {
                    v(b.id);
                    c.blur();
                    a(b)
                }.bind(this, Y, Gc))
            }
            "custom" === p && (g["hda.url"] && (d.Ma = {
                    size: parseInt(g["hda.size"], 10) || void 0,
                    url: g["hda.url"],
                    async: !0
                }), g["cdrom.url"] && (d.Qa = {
                    size: parseInt(g["cdrom.size"], 10) || void 0,
                    url: g["cdrom.url"],
                    async: !0
                }), g["fda.url"] && (d.Ra = {
                    size: parseInt(g["fda.size"], 10) || void 0,
                    url: g["fda.url"],
                    async: !0
                }), d.Ra || d.Qa ||
                d.Ma) && (e("boot_options").style.display = "none", h(d, b))
        } else alert("Your browser is not supported because it doesn't have XMLHttpRequest.responseType")
    }

    function h(a, b) {
        var c = a.Ia;
        c || (c = 1048576 * parseInt(e("memory_size").value, 10), c || (alert("Invalid memory size - reset to 128MB"), c = 134217728));
        var f = a.Ja;
        f || (f = 1048576 * parseInt(e("video_memory_size").value, 10), f || (alert("Invalid video memory size - reset to 8MB"), f = 8388608));
        if (!a.Ra) {
            var h = e("floppy_image").files[0];
            h && (a.Ra = {
                buffer: h
            })
        }
        if (a.tk) {
            h = "bochs-bios.bin";
            var p = "bochs-vgabios.bin"
        } else h = "seabios.bin", p = "vgabios.bin";
        if (!a.ke) {
            var r = {
                url: "/static/" + h
            };
            var v = {
                url: "/static/" + p
            }
        }
        var A = new l({
            memory_size: c,
            vga_memory_size: f,
            screen_container: e("screen_container"),
            serial_container: e("serial"),
            boot_order: a.ae || parseInt(e("boot_order").value, 16) || 0,
            network_relay_url: "wss://relay.widgetry.org/",
            bios: r,
            vga_bios: v,
            fda: a.Ra,
            hda: a.Ma,
            cdrom: a.Qa,
            multiboot: a.oe,
            initial_state: a.ke,
            filesystem: a.filesystem || {},
            autostart: !0
        });
        A.$a("emulator-ready", function() {
            g(a, A);
            b && b(A)
        });
        A.$a("download-progress", function(a) {
            var b = e("loading");
            b.style.display = "block";
            if (a.vf === a.uf - 1 && a.loaded >= a.total - 2048) b.textContent = "Done downloading. Starting now ...";
            else {
                var c = "Downloading images ";
                "number" === typeof a.vf && a.uf && (c += "[" + (a.vf + 1) + "/" + a.uf + "] ");
                if (a.total && "number" === typeof a.loaded) {
                    a = Math.floor(a.loaded / a.total * 100);
                    a = Math.min(100, Math.max(0, a));
                    var f = Math.floor(a / 2);
                    c = c + (a + "% [") + d("#", f);
                    c += d(" ", 50 - f) + "]"
                } else c += d(".", Y++ % 50);
                b.textContent = c
            }
        });
        A.$a("download-error", function(a) {
            var b =
                e("loading");
            b.style.display = "block";
            b.textContent = "Loading " + a.Qg + " failed. Check your connection and reload the page to try again."
        })
    }

    function g(c, d) {
        function f() {
            var a = Date.now(),
                b = d.ig(),
                c = b - M;
            M = b;
            var f = a - v;
            A += f;
            v = a;
            e("speed").textContent = c / f | 0;
            e("avg_speed").textContent = b / A | 0;
            a = e("running_time");
            b = A / 1E3 | 0;
            a.textContent = 60 > b ? b + "s" : 3600 > b ? (b / 60 | 0) + "m " + La(b % 60, 2) + "s" : (b / 3600 | 0) + "h " + La((b / 60 | 0) % 60, 2) + "m " + La(b % 60, 2) + "s"
        }

        function g(f, g) {
            var h = e("get_" + g + "_image");
            !f || 104857600 < f.size ? h.style.display =
                "none" : h.onclick = function() {
                    var e = d.kd[g],
                        f = c.id + ("cdrom" === g ? ".iso" : ".img");
                    e.Tg ? (e = e.Tg(f), b(e, f)) : e.Se(function(b) {
                        b ? a(b, f) : alert("The file could not be loaded. Maybe it's too big?")
                    });
                    h.blur()
                }
        }

        function h(a) {
            a.ctrlKey ? window.onbeforeunload = function() {
                window.onbeforeunload = null;
                return "CTRL-W cannot be sent to the emulator."
            } : window.onbeforeunload = null
        }
        e("boot_options").style.display = "none";
        e("loading").style.display = "none";
        e("runtime_options").style.display = "block";
        e("runtime_infos").style.display =
            "block";
        e("screen_container").style.display = "block";
        c.filesystem && p(d);
        e("run").onclick = function() {
            d.Ge ? (e("run").value = "Run", d.stop()) : (e("run").value = "Pause", d.cf());
            e("run").blur()
        };
        e("exit").onclick = function() {
            d.stop();
            location.href = location.pathname
        };
        e("lock_mouse").onclick = function() {
            if (!r) e("toggle_mouse").onclick();
            d.Df();
            e("lock_mouse").blur()
        };
        var r = !0;
        e("toggle_mouse").onclick = function() {
            r = !r;
            d.m && (d.m.a = r);
            e("toggle_mouse").value = (r ? "Dis" : "En") + "able mouse";
            e("toggle_mouse").blur()
        };
        var v =
            0,
            A = 0,
            M = 0,
            z, ka = !1;
        d.$a("emulator-started", function() {
            v = Date.now();
            z = setInterval(f, 1E3)
        });
        d.$a("emulator-stopped", function() {
            f();
            clearInterval(z)
        });
        var E = 0,
            Y = 0;
        d.$a("9p-read-start", function() {
            e("info_filesystem").style.display = "block";
            e("info_filesystem_status").textContent = "Loading ..."
        });
        d.$a("9p-read-end", function(a) {
            E += a[1];
            e("info_filesystem_status").textContent = "Idle";
            e("info_filesystem_last_file").textContent = a[0];
            e("info_filesystem_bytes_read").textContent = E
        });
        d.$a("9p-write-end", function(a) {
            Y +=
                a[1];
            e("info_filesystem_last_file").textContent = a[0];
            e("info_filesystem_bytes_written").textContent = Y
        });
        var vb = 0,
            Gf = 0,
            Jf = 0,
            Kf = 0;
        d.$a("ide-read-start", function() {
            e("info_storage").style.display = "block";
            e("info_storage_status").textContent = "Loading ..."
        });
        d.$a("ide-read-end", function(a) {
            vb += a[1];
            Gf += a[2];
            e("info_storage_status").textContent = "Idle";
            e("info_storage_bytes_read").textContent = vb;
            e("info_storage_sectors_read").textContent = Gf
        });
        d.$a("ide-write-end", function(a) {
            Jf += a[1];
            Kf += a[2];
            e("info_storage_bytes_written").textContent =
                Jf;
            e("info_storage_sectors_written").textContent = Kf
        });
        var Lf = 0,
            Mf = 0;
        d.$a("eth-receive-end", function(a) {
            Mf += a[0];
            e("info_network").style.display = "block";
            e("info_network_bytes_received").textContent = Mf
        });
        d.$a("eth-transmit-end", function(a) {
            Lf += a[0];
            e("info_network").style.display = "block";
            e("info_network_bytes_transmitted").textContent = Lf
        });
        d.$a("mouse-enable", function(a) {
            ka = a;
            e("info_mouse_enabled").textContent = a ? "Yes" : "No"
        });
        d.$a("screen-set-mode", function(a) {
            a ? e("info_vga_mode").textContent = "Graphical" :
                (e("info_vga_mode").textContent = "Text", e("info_res").textContent = "-", e("info_bpp").textContent = "-")
        });
        d.$a("screen-set-size-graphical", function(a) {
            e("info_res").textContent = a[0] + "x" + a[1];
            e("info_bpp").textContent = a[4]
        });
        e("reset").onclick = function() {
            d.Sf();
            e("reset").blur()
        };
        g(c.Ma, "hda");
        g(c.zf, "hdb");
        g(c.Ra, "fda");
        g(c.Ng, "fdb");
        g(c.Qa, "cdrom");
        e("memory_dump").onclick = function() {
            a(d.a.j.da, "v86memory.bin");
            e("memory_dump").blur()
        };
        e("save_state").onclick = function() {
            d.we(function(b, c) {
                b ? (console.log(b.stack),
                    console.log("Couldn't save state: ", b)) : a(c, "v86state.bin")
            });
            e("save_state").blur()
        };
        e("load_state").onclick = function() {
            e("load_state_input").click();
            e("load_state").blur()
        };
        e("load_state_input").onchange = function() {
            var a = this.files[0];
            if (a) {
                var b = d.Ge;
                b && d.stop();
                var c = new FileReader;
                c.onload = function(a) {
                    try {
                        d.Hd(a.target.result)
                    } catch (Nf) {
                        throw alert("Something bad happened while restoring the state:\n" + Nf + "\n\nNote that the current configuration must be the same as the original"), Nf;
                    }
                    b && d.cf()
                };
                c.readAsArrayBuffer(a);
                this.value = ""
            }
        };
        e("ctrlaltdel").onclick = function() {
            d.Cf([29, 56, 83, 157, 184, 211]);
            e("ctrlaltdel").blur()
        };
        e("alttab").onclick = function() {
            d.Cf([56, 15]);
            setTimeout(function() {
                d.Cf([184, 143])
            }, 100);
            e("alttab").blur()
        };
        e("scale").onchange = function() {
            var a = parseFloat(this.value);
            (a || 0 < a) && d.Dh(a, a)
        };
        e("fullscreen").onclick = function() {
            d.Bh()
        };
        e("screen_container").onclick = function() {
            if (r && ka) d.Df(), e("lock_mouse").blur();
            else if (window.getSelection().isCollapsed) {
                var a = document.getElementsByClassName("phone_keyboard")[0];
                a.style.top = document.body.scrollTop + 100 + "px";
                a.style.left = document.body.scrollLeft + 100 + "px";
                a.focus()
            }
        };
        var Hc = document.getElementsByClassName("phone_keyboard")[0];
        Hc.setAttribute("autocorrect", "off");
        Hc.setAttribute("autocapitalize", "off");
        Hc.setAttribute("spellcheck", "false");
        Hc.tabIndex = 0;
        e("screen_container").addEventListener("mousedown", function() {
            Hc.focus()
        }, !1);
        e("take_screenshot").onclick = function() {
            d.Ch();
            e("take_screenshot").blur()
        };
        e("serial").style.display = "block";
        window.addEventListener("keydown",
            h, !1);
        window.addEventListener("keyup", h, !1);
        window.addEventListener("blur", h, !1)
    }

    function p(b) {
        e("filesystem_panel").style.display = "block";
        e("filesystem_send_file").onchange = function() {
            Array.prototype.forEach.call(this.files, function(a) {
                var c = new Ma(a);
                c.onload = function() {
                    c.Se(function(c) {
                        b.Eg("/" + a.name, new Uint8Array(c))
                    })
                };
                c.load()
            }, this);
            this.value = "";
            this.blur()
        };
        e("filesystem_get_file").onkeypress = function(c) {
            13 === c.which && (this.disabled = !0, b.vh(this.value, function(b, c) {
                this.disabled = !1;
                c ? (b =
                    this.value.replace(/\/$/, "").split("/"), b = b[b.length - 1] || "root", a(c, b), this.value = "") : alert("Can't read file")
            }.bind(this)))
        }
    }

    function r() {
        location.reload()
    }

    function v(a) {
    }
    var E = !location.hostname.endsWith(".none"),
        z = E ? "" : "",
        A = E ? "" : "",
        M = "https:" === location.protocol,
        Y = 0;
    window.addEventListener("load", f, !1);
    window.addEventListener("load", function() {
        setTimeout(function() {
            window.addEventListener("popstate",
                r)
        }, 0)
    });
    "complete" === document.readyState && f()
})();

function Na(a) {
    this.ports = [];
    this.j = a;
    for (var b = 0; 65536 > b; b++) this.ports[b] = Oa(this);
    var c = a.Ia;
    for (b = 0; b << 17 < c; b++) a.Ye[b] = a.Ze[b] = void 0, a.Ff[b] = a.Gf[b] = void 0;
    Pa(this, c, 4294967296 - c, function() {
        return 255
    }, function() {}, function() {
        return -1
    }, function() {})
}

function Oa(a) {
    return {
        ja: a.gi,
        ma: a.ei,
        th: a.fi,
        za: a.eg,
        ze: a.eg,
        fd: a.eg,
        ia: void 0
    }
}
k = Na.prototype;
k.gi = function() {
    return 255
};
k.ei = function() {
    return 65535
};
k.fi = function() {
    return -1
};
k.eg = function() {};

function m(a, b, c, d, e, f) {
    d && (a.ports[b].ja = d);
    e && (a.ports[b].ma = e);
    f && (a.ports[b].th = f);
    a.ports[b].ia = c
}

function n(a, b, c, d, e, f) {
    d && (a.ports[b].za = d);
    e && (a.ports[b].ze = e);
    f && (a.ports[b].fd = f);
    a.ports[b].ia = c
}
k.te = function(a, b, c, d, e, f) {
    function h() {
        return c.call(this) | d.call(this) << 8
    }

    function g() {
        return e.call(this) | f.call(this) << 8
    }

    function p() {
        return c.call(this) | d.call(this) << 8 | e.call(this) << 16 | f.call(this) << 24
    }
    e && f ? (m(this, a, b, c, h, p), m(this, a + 1, b, d), m(this, a + 2, b, e, g), m(this, a + 3, b, f)) : (m(this, a, b, c, h), m(this, a + 1, b, d))
};
k.Gc = function(a, b, c, d, e, f) {
    function h(a) {
        c.call(this, a & 255);
        d.call(this, a >> 8 & 255)
    }

    function g(a) {
        e.call(this, a & 255);
        f.call(this, a >> 8 & 255)
    }

    function p(a) {
        c.call(this, a & 255);
        d.call(this, a >> 8 & 255);
        e.call(this, a >> 16 & 255);
        f.call(this, a >>> 24)
    }
    e && f ? (n(this, a, b, c, h, p), n(this, a + 1, b, d), n(this, a + 2, b, e, g), n(this, a + 3, b, f)) : (n(this, a, b, c, h), n(this, a + 1, b, d))
};

function Qa(a, b, c) {
    b >>>= 0;
    c = b + (c >>> 0);
    if (c >= a.j.Ia) return !0;
    for (b &= -131072; b < c;) {
        if (Ra(a.j, b)) return !0;
        b += 131072
    }
    return !1
}
k.Ai = function(a) {
    var b = this.j.Ye[a >>> 17];
    return b(a) | b(a + 1) << 8 | b(a + 2) << 16 | b(a + 3) << 24
};
k.Bi = function(a, b) {
    var c = this.j.Ze[a >>> 17];
    c(a, b & 255);
    c(a + 1, b >> 8 & 255);
    c(a + 2, b >> 16 & 255);
    c(a + 3, b >>> 24)
};

function Pa(a, b, c, d, e, f, h) {
    f || (f = a.Ai.bind(a));
    h || (h = a.Bi.bind(a));
    for (b >>>= 17; 0 < c; b++) a.j.Ye[b] = d, a.j.Ze[b] = e, a.j.Ff[b] = f, a.j.Gf[b] = h, c -= 131072
}

function Sa(a, b, c) {
    a = a.ports[b];
    a.za.call(a.ia, c)
}

function Ta(a, b, c) {
    a = a.ports[b];
    a.ze.call(a.ia, c)
}

function Ua(a, b, c) {
    a = a.ports[b];
    a.fd.call(a.ia, c)
}

function Va(a, b) {
    a = a.ports[b];
    return a.ja.call(a.ia)
}

function Wa(a, b) {
    a = a.ports[b];
    return a.ma.call(a.ia)
}

function Xa(a, b) {
    a = a.ports[b];
    return a.th.call(a.ia)
};

function Ya(a) {
    this.g = this.a = !1;
    this.j = new q(a);
    this.w = a;
    a.register("cpu-init", this.Ob, this);
    a.register("cpu-run", this.cf, this);
    a.register("cpu-stop", this.stop, this);
    a.register("cpu-restart", this.Sf, this);
    this.hk()
}
Ya.prototype.cf = function() {
    this.a || (this.w.send("emulator-started"), this.fg())
};

function Za(a) {
    if (a.g) a.g = a.a = !1, a.w.send("emulator-stopped");
    else {
        a.a = !0;
        a: {
            var b = a.j;
            if (b.Tc) {
                var c = $a();
                b.G.If.Ic(c, !1);
                b.G.bd.Ic(c, !1);
                ab(b);
                if (b.Tc) {
                    b = 0;
                    break a
                }
            }
            for (var d = c = $a(); 1 > d - c;) {
                var e = b;
                e.G.If.Ic(d, !1);
                e.G.bd.Ic(d, !1);
                ab(b);
                b.qa();
                if (b.Tc) break;
                d = $a()
            }
            b = 0
        }
        0 >= b ? a.fg() : a.Ci(b)
    }
}
Ya.prototype.stop = function() {
    this.a && (this.g = !0)
};
Ya.prototype.Sf = function() {
    this.j.reset();
    bb(this.j)
};
Ya.prototype.Ob = function(a) {
    this.j.Ob(a, this.w);
    this.w.send("emulator-ready")
};
if ("undefined" !== typeof setImmediate) var cb = function() {
        var a = this;
        setImmediate(function() {
            Za(a)
        })
    },
    db = function() {};
else "undefined" !== typeof window && "undefined" !== typeof postMessage ? (cb = function() {
    window.postMessage(43605, "*")
}, db = function() {
    var a = this;
    window.addEventListener("message", function(b) {
        b.source === window && 43605 === b.data && Za(a)
    }, !1)
}) : (cb = function() {
    var a = this;
    setTimeout(function() {
        Za(a)
    }, 0)
}, db = function() {});
k = Ya.prototype;
k.fg = cb;
k.hk = db;
k.Ci = "undefined" !== typeof document && "boolean" === typeof document.hidden ? function(a) {
    var b = this;
    4 > a || document.hidden ? this.fg() : setTimeout(function() {
        Za(b)
    }, a)
} : function(a) {
    var b = this;
    setTimeout(function() {
        Za(b)
    }, a)
};
k.we = function() {
    return this.j.we()
};
k.Hd = function(a) {
    return this.j.Hd(a)
};
var $a = "object" === typeof performance && performance.now ? function() {
    return performance.now()
} : Date.now;
var Ma, eb, fb, gb, hb, ib;

function La(a, b) {
    for (a = a ? a + "" : ""; a.length < b;) a = "0" + a;
    return a
}

function jb(a, b) {
    return "0x" + La((a ? a.toString(16) : "").toUpperCase(), b || 1)
}
if ("undefined" !== typeof window && window.crypto && window.crypto.getRandomValues) var kb = new Int32Array(1),
    lb = function() {
        return !0
    },
    mb = function() {
        window.crypto.getRandomValues(kb);
        return kb[0]
    };
else lb = function() {
    return !1
}, mb = function() {
    console.assert(!1)
};

function nb(a) {
    this.buffer = a;
    this.byteLength = a.byteLength;
    this.onload = void 0
}
nb.prototype.load = function() {
    this.onload && this.onload({
        buffer: this.buffer
    })
};
nb.prototype.get = function(a, b, c) {
    c(new Uint8Array(this.buffer, a, b))
};
nb.prototype.set = function(a, b, c) {
    (new Uint8Array(this.buffer, a, b.byteLength)).set(b);
    c()
};
nb.prototype.Se = function(a) {
    a(this.buffer)
};
(function() {
    for (var a = new Int8Array(256), b = 0, c = -2; 256 > b; b++) b & b - 1 || c++, a[b] = c;
    eb = function(b) {
        return a[b]
    };
    fb = function(b) {
        var c = b >>> 16;
        if (c) {
            var d = c >>> 8;
            return d ? 24 + a[d] : 16 + a[c]
        }
        return (d = b >>> 8) ? 8 + a[d] : a[b]
    }
})();

function ob(a) {
    var b = new Uint8Array(a),
        c, d;
    this.length = 0;
    this.push = function(c) {
        this.length !== a && this.length++;
        b[d] = c;
        d = d + 1 & a - 1
    };
    this.shift = function() {
        if (this.length) {
            var e = b[c];
            c = c + 1 & a - 1;
            this.length--;
            return e
        }
        return -1
    };
    this.clear = function() {
        this.length = d = c = 0
    };
    this.clear()
}

function pb() {
    this.size = 65536;
    this.data = new Float32Array(65536);
    this.length = this.a = this.start = 0
}
pb.prototype.push = function(a) {
    this.length === this.size ? this.start = this.start + 1 & this.size - 1 : this.length++;
    this.data[this.a] = a;
    this.a = this.a + 1 & this.size - 1
};
pb.prototype.shift = function() {
    if (this.length) {
        var a = this.data[this.start];
        this.start = this.start + 1 & this.size - 1;
        this.length--;
        return a
    }
};

function qb(a, b) {
    var c = new Float32Array(b);
    b > a.length && (b = a.length);
    var d = a.start + b,
        e = a.data.subarray(a.start, d);
    c.set(e);
    d >= a.size && (d -= a.size, c.set(a.data.subarray(0, d), e.length));
    a.start = d;
    a.length -= b;
    return c
}
pb.prototype.clear = function() {
    this.length = this.a = this.start = 0
};

function rb(a) {
    this.j = a;
    this.I = new Float64Array(8);
    this.m = new Float32Array(1);
    new Uint8Array(this.m.buffer);
    this.v = new Int32Array(this.m.buffer);
    this.l = new Float64Array(1);
    this.g = new Uint8Array(this.l.buffer);
    this.i = new Int32Array(this.l.buffer);
    this.O = new Uint8Array(this.I.buffer);
    new Int32Array(this.I.buffer);
    this.fa = 255;
    this.B = 0;
    this.ec = 895;
    this.od = this.nd = this.pd = this.Qe = this.Oc = this.a = 0;
    this.C = NaN;
    this.J = new Float64Array([1, Math.log(10) / Math.LN2, Math.LOG2E, Math.PI, Math.log(2) / Math.LN10, Math.LN2,
        0
    ])
}
k = rb.prototype;
k.Sa = function() {
    var a = [];
    a[0] = this.I;
    a[1] = this.fa;
    a[2] = this.B;
    a[3] = this.ec;
    a[4] = this.od;
    a[5] = this.Oc;
    a[6] = this.Qe;
    a[7] = this.nd;
    a[8] = this.od;
    a[9] = this.pd;
    return a
};
k.fb = function(a) {
    this.I.set(a[0]);
    this.fa = a[1];
    this.B = a[2];
    this.ec = a[3];
    this.Oc = a[5];
    this.Qe = a[6];
    this.nd = a[7];
    this.od = a[8];
    this.pd = a[9]
};

function sb(a) {
    t(a.j)
}

function tb(a) {
    a.a |= 1
}

function ub(a, b) {
    var c = wb(a);
    a.a &= -18177;
    c > b || (a.a = b > c ? a.a | 256 : c === b ? a.a | 16384 : a.a | 17664)
}

function xb(a, b) {
    var c = a.I[a.B];
    a.j.u &= -70;
    a.j.flags &= -70;
    c > b || (a.j.flags = b > c ? a.j.flags | 1 : c === b ? a.j.flags | 64 : a.j.flags | 69)
}

function yb(a) {
    a.ec = 895;
    a.a = 0;
    a.Oc = 0;
    a.nd = 0;
    a.pd = 0;
    a.fa = 255;
    a.B = 0
}

function zb(a) {
    return a.a & -14337 | a.B << 11
}

function Ab(a, b) {
    if (Bb(a.j)) {
        Cb(a.j, b, 26);
        u(a.j, b, a.ec);
        u(a.j, b + 4, zb(a));
        for (var c = 0, d, e = 0; 8 > e; e++) d = a.I[e], a.fa >> e & 1 ? c |= 3 << (e << 1) : 0 === d ? c |= 1 << (e << 1) : isFinite(d) || (c |= 2 << (e << 1));
        u(a.j, b + 8, c);
        w(a.j, b + 12, a.Oc);
        u(a.j, b + 16, a.Qe);
        u(a.j, b + 18, a.pd);
        w(a.j, b + 20, a.nd);
        u(a.j, b + 24, a.od)
    } else sb(a)
}

function Db(a, b) {
    if (Bb(a.j)) {
        a.ec = x(a.j, b);
        var c = x(a.j, b + 4);
        a.a = c & -14337;
        a.B = c >> 11 & 7;
        c = x(a.j, b + 8);
        for (var d = a.fa = 0; 8 > d; d++) a.fa |= c >> d & c >> d + 1 & 1 << d;
        a.Oc = y(a.j, b + 12);
        a.Qe = x(a.j, b + 16);
        a.pd = x(a.j, b + 18);
        a.nd = y(a.j, b + 20);
        a.od = x(a.j, b + 24)
    } else sb(a)
}

function Eb(a, b) {
    a = a.ec >> 10 & 3;
    return 0 === a ? (a = Math.round(b), .5 === a - b && a % 2 && a--, a) : 1 === a || 3 === a && 0 < b ? Math.floor(b) : Math.ceil(b)
}

function Gb(a) {
    return 0 < a ? Math.floor(a) : Math.ceil(a)
}
k.push = function(a) {
    this.B = this.B - 1 & 7;
    this.fa >> this.B & 1 ? (this.a &= -513, this.fa &= ~(1 << this.B), this.I[this.B] = a) : (this.a |= 512, this.a |= 65, this.I[this.B] = this.C)
};
k.pop = function() {
    this.fa |= 1 << this.B;
    this.B = this.B + 1 & 7
};

function Hb(a, b) {
    b = b + a.B & 7;
    return a.fa >> b & 1 ? (a.a &= -513, a.a |= 65, a.C) : a.I[b]
}

function wb(a) {
    return a.fa >> a.B & 1 ? (a.a &= -513, a.a |= 65, a.C) : a.I[a.B]
}

function Ib(a, b) {
    var c = x(a.j, b + 8),
        d = y(a.j, b) >>> 0,
        e = y(a.j, b + 4) >>> 0;
    b = c >> 15;
    c &= -32769;
    if (0 === c) return 0;
    if (!(32767 > c)) return a.g[7] = 127 | b << 7, a.g[6] = 240 | e >> 30 << 3 & 8, a.g[5] = 0, a.g[4] = 0, a.i[0] = 0, a.l[0];
    a = d + 4294967296 * e;
    b && (a = -a);
    return a * Math.pow(2, c - 16383 - 63)
}

function Jb(a, b, c) {
    a.l[0] = c;
    c = a.g[7] & 128;
    var d = (a.g[7] & 127) << 4 | a.g[6] >> 4;
    if (2047 === d) {
        d = 32767;
        var e = 0;
        var f = 2147483648 | (a.i[1] & 524288) << 11
    } else 0 === d ? f = e = 0 : (d += 15360, e = a.i[0] << 11, f = 2147483648 | (a.i[1] & 1048575) << 11 | a.i[0] >>> 21);
    w(a.j, b, e);
    w(a.j, b + 4, f);
    u(a.j, b + 8, c << 8 | d)
}

function Kb(a, b) {
    var c = y(a.j, b);
    b = y(a.j, b + 4);
    a.i[0] = c;
    a.i[1] = b;
    return a.l[0]
}

function Lb(a, b) {
    Cb(a.j, b, 8);
    a.l[0] = Hb(a, 0);
    w(a.j, b, a.i[0]);
    w(a.j, b + 4, a.i[1])
}

function Mb(a, b) {
    a.v[0] = y(a.j, b);
    return a.m[0]
}
k.sign = function(a) {
    return this.O[(this.B + a & 7) << 3 | 7] >> 7
};

function Nb(a, b, c, d, e) {
    this.sa = new Ob(this, a, b, c, d, e);
    this.Ca = new Ob(this, a, void 0, !1, d, e);
    this.Ka = this.sa;
    this.j = a;
    0 === d ? (this.a = 496, this.ua = 14, this.Hb = 240) : 1 === d && (this.a = 368, this.ua = 15, this.Hb = 248);
    this.i = this.a | 516;
    this.g = 46080;
    this.pe = [134, 128, 16, 112, 5, 0, 160, 2, 0, 128, 1, 1, 0, 0, 0, 0, this.a & 255 | 1, this.a >> 8, 0, 0, this.i & 255 | 1, this.i >> 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, this.g & 255 | 1, this.g >> 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 16, 212, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, this.ua, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
    ];
    this.nc = [{
        size: 8
    }, {
        size: 4
    }, void 0, void 0, {
        size: 16
    }];
    this.name = "ide" + d;
    this.m = 2;
    m(a.o, this.a | 7, this, function() {
        Pb(this.j, this.ua);
        return this.zh()
    });
    m(a.o, this.i | 2, this, this.zh);
    n(a.o, this.i | 2, this, this.xk);
    m(a.o, this.a | 0, this, function() {
        return Qb(this.Ka, 1)
    }, function() {
        return Qb(this.Ka, 2)
    }, function() {
        return Qb(this.Ka, 4)
    });
    m(a.o, this.a | 1, this, function() {
        return this.Ka.error
    });
    m(a.o, this.a | 2, this, function() {
        return this.Ka.pa & 255
    });
    m(a.o, this.a | 3, this, function() {
        return this.Ka.Na & 255
    });
    m(a.o, this.a | 4, this, function() {
        return this.Ka.Da & 255
    });
    m(a.o, this.a | 5, this, function() {
        return this.Ka.Ga & 255
    });
    m(a.o, this.a | 6, this, function() {
        return this.Ka.Mc
    });
    n(a.o, this.a | 0, this, function(a) {
        Rb(this.Ka, a, 1)
    }, function(a) {
        Rb(this.Ka, a, 2)
    }, function(a) {
        Rb(this.Ka, a, 4)
    });
    n(a.o, this.a | 1, this, function(a) {
        this.sa.ud = (this.sa.ud << 8 | a) & 65535;
        this.Ca.ud = (this.Ca.ud << 8 | a) & 65535
    });
    n(a.o, this.a | 2, this,
        function(a) {
            this.sa.pa = (this.sa.pa << 8 | a) & 65535;
            this.Ca.pa = (this.Ca.pa << 8 | a) & 65535
        });
    n(a.o, this.a | 3, this, function(a) {
        this.sa.Na = (this.sa.Na << 8 | a) & 65535;
        this.Ca.Na = (this.Ca.Na << 8 | a) & 65535
    });
    n(a.o, this.a | 4, this, function(a) {
        this.sa.Da = (this.sa.Da << 8 | a) & 65535;
        this.Ca.Da = (this.Ca.Da << 8 | a) & 65535
    });
    n(a.o, this.a | 5, this, function(a) {
        this.sa.Ga = (this.sa.Ga << 8 | a) & 65535;
        this.Ca.Ga = (this.Ca.Ga << 8 | a) & 65535
    });
    n(a.o, this.a | 6, this, function(a) {
        this.Ka = a & 16 ? this.Ca : this.sa;
        this.sa.Mc = a;
        this.Ca.Mc = a;
        this.sa.le = this.Ca.le =
            a >> 6 & 1;
        this.sa.head = this.Ca.head = a & 15
    });
    this.l = this.Ha = this.Dd = 0;
    n(a.o, this.a | 7, this, function(a) {
        Pb(this.j, this.ua);
        var b = this.Ka;
        if (b.buffer) switch (b.v = a, b.error = 0, a) {
            case 8:
                b.i = 0;
                b.a = 0;
                b.g = 0;
                Sb(b);
                b.ba();
                break;
            case 16:
                b.status = 80;
                b.Da = 0;
                b.ba();
                break;
            case 248:
                b.status = 80;
                var c = b.l - 1;
                b.Na = c & 255;
                b.Da = c >> 8 & 255;
                b.Ga = c >> 16 & 255;
                b.Mc = b.Mc & 240 | c >> 24 & 15;
                b.ba();
                break;
            case 39:
                b.status = 80;
                c = b.l - 1;
                b.Na = c & 255;
                b.Da = c >> 8 & 255;
                b.Ga = c >> 16 & 255;
                b.Na |= c >> 24 << 8 & 65280;
                b.ba();
                break;
            case 32:
            case 36:
            case 41:
            case 196:
                Tb(b,
                    a);
                break;
            case 48:
            case 52:
            case 57:
            case 197:
                var e = 52 === a || 57 === a;
                c = Ub(b, e);
                e = Vb(b, e);
                a = 48 === a || 52 === a;
                c *= b.m;
                e *= b.m;
                e + c > b.buffer.byteLength ? (b.status = 255, b.ba()) : (b.status = 88, Wb(b, c), b.a = a ? 512 : Math.min(c, 512 * b.W), b.qa = e);
                break;
            case 144:
                b.ba();
                b.error = 257;
                b.status = 80;
                break;
            case 145:
                b.status = 80;
                b.ba();
                break;
            case 160:
                b.R && (b.status = 88, Xb(b, 12), b.a = 12, b.pa = 1, b.ba());
                break;
            case 161:
                b.R ? (Yb(b), b.status = 88, b.Da = 20, b.Ga = 235) : b.status = 65;
                b.ba();
                break;
            case 198:
                b.W = b.pa & 255;
                b.status = 80;
                b.ba();
                break;
            case 37:
            case 200:
                c =
                    37 === a;
                e = Ub(b, c);
                Vb(b, c) * b.m + e * b.m > b.buffer.byteLength ? (b.status = 255, b.ba()) : (b.status = 88, b.ia.Ha |= 1);
                break;
            case 53:
            case 202:
                c = 53 === a;
                e = Ub(b, c);
                Vb(b, c) * b.m + e * b.m > b.buffer.byteLength ? (b.status = 255, b.ba()) : (b.status = 88, b.ia.Ha |= 1);
                break;
            case 64:
                b.status = 80;
                b.ba();
                break;
            case 218:
                b.status = 65;
                b.error = 4;
                b.ba();
                break;
            case 224:
                b.status = 80;
                b.ba();
                break;
            case 225:
                b.status = 80;
                b.ba();
                break;
            case 231:
                b.status = 80;
                b.ba();
                break;
            case 236:
                if (b.R) {
                    b.status = 65;
                    b.error = 4;
                    b.ba();
                    break
                }
                Yb(b);
                b.status = 88;
                b.ba();
                break;
            case 234:
                b.status =
                    80;
                b.ba();
                break;
            case 239:
                b.status = 80;
                b.ba();
                break;
            case 245:
                b.status = 80;
                b.ba();
                break;
            case 249:
                b.status = 65;
                b.error = 4;
                break;
            default:
                b.status = 65, b.error = 4
        } else b.error = 4, b.status = 65, b.ba()
    });
    m(a.o, this.g | 4, this, void 0, void 0, this.Yh);
    n(a.o, this.g | 4, this, void 0, void 0, this.bi);
    m(a.o, this.g, this, this.$h, void 0, this.Zh);
    n(a.o, this.g, this, this.Kg, void 0, this.ci);
    m(a.o, this.g | 2, this, this.ai);
    n(a.o, this.g | 2, this, this.Lg);
    m(a.o, this.g | 8, this, function() {
        return 0
    });
    m(a.o, this.g | 10, this, function() {
        return 0
    });
    Zb(a.G.wb,
        this)
}
k = Nb.prototype;
k.zh = function() {
    return this.Ka.buffer ? this.Ka.status : 0
};
k.xk = function(a) {
    a & 4 && (Pb(this.j, this.ua), Sb(this.sa), Sb(this.Ca));
    this.m = a
};
k.Yh = function() {
    return this.Dd
};
k.bi = function(a) {
    this.Dd = a
};
k.ai = function() {
    return this.Ha
};
k.Lg = function(a) {
    this.Ha &= ~(a & 6)
};
k.Zh = function() {
    return this.l | this.Ha << 16
};
k.$h = function() {
    return this.l
};
k.ci = function(a) {
    this.Kg(a & 255);
    this.Lg(a >> 16 & 255)
};
k.Kg = function(a) {
    var b = this.l;
    this.l = a & 9;
    if ((b & 1) !== (a & 1))
        if (0 === (a & 1)) this.Ha &= -2;
        else switch (this.Ha |= 1, this.Ka.v) {
            case 37:
            case 200:
                $b(this.Ka);
                break;
            case 202:
            case 53:
                ac(this.Ka);
                break;
            case 160:
                bc(this.Ka)
        }
};
k.ba = function() {
    0 === (this.m & 2) && (this.Ha |= 4, this.j.Cb(this.ua))
};
k.Sa = function() {
    var a = [];
    a[0] = this.sa;
    a[1] = this.Ca;
    a[2] = this.a;
    a[3] = this.ua;
    a[4] = this.Hb;
    a[5] = this.i;
    a[6] = this.g;
    a[7] = this.name;
    a[8] = this.m;
    a[9] = this.Dd;
    a[10] = this.Ha;
    a[11] = this.Ka === this.sa;
    a[12] = this.l;
    return a
};
k.fb = function(a) {
    this.sa = a[0];
    this.Ca = a[1];
    this.a = a[2];
    this.ua = a[3];
    this.Hb = a[4];
    this.i = a[5];
    this.g = a[6];
    this.name = a[7];
    this.m = a[8];
    this.Dd = a[9];
    this.Ha = a[10];
    this.Ka = a[11] ? this.sa : this.Ca;
    this.l = a[12]
};

function Ob(a, b, c, d, e, f) {
    this.ia = a;
    this.w = f;
    this.Fa = e;
    this.j = b;
    this.buffer = c;
    this.m = d ? 2048 : 512;
    this.R = d;
    this.O = this.C = this.J = this.l = 0;
    this.buffer && (this.l = this.buffer.byteLength / this.m, this.l !== (this.l | 0) && (this.l = Math.ceil(this.l)), d ? (this.J = 1, this.C = 0) : (this.J = 16, this.C = 63), this.O = this.l / this.J / this.C, this.O !== (this.O | 0) && (this.O = Math.floor(this.O)), a = b.G.bd, a.ha[57] |= 1 << 4 * this.Fa, a.ha[18] = a.ha[18] & 15 | 240, a.ha[27] = this.O & 255, a.ha[28] = this.O >> 8 & 255, a.ha[29] = this.J & 255, a.ha[30] = 255, a.ha[31] = 255, a.ha[32] =
        200, a.ha[33] = this.O & 255, a.ha[34] = this.O >> 8 & 255, a.ha[35] = this.C & 255);
    this.Oa = {
        Eh: 0,
        Fh: 0,
        Bg: 0,
        Cg: 0,
        Yg: !1
    };
    this.buffer = c;
    this.Mc = this.head = this.Ga = this.Da = this.ud = this.Na = this.pa = this.le = 0;
    this.status = 80;
    this.W = 128;
    this.i = this.error = 0;
    this.data = new Uint8Array(65536);
    this.oa = new Uint16Array(this.data.buffer);
    this.Z = new Int32Array(this.data.buffer);
    this.a = this.g = 0;
    this.ka = this.v = -1;
    this.qa = 0;
    Object.seal(this)
}

function Sb(a) {
    a.R ? (a.status = 0, a.pa = 1, a.error = 1, a.Na = 1, a.Da = 20, a.Ga = 235) : (a.status = 81, a.pa = 1, a.error = 1, a.Na = 1, a.Da = 0, a.Ga = 0)
}
Ob.prototype.ba = function() {
    this.ia.ba()
};
Ob.prototype.Me = function() {
    this.status = 80;
    var a = this.data.subarray(0, this.g);
    cc(this, this.v, this.g / 512);
    this.ba();
    this.buffer.set(this.qa, a, function() {});
    dc(this, this.g)
};

function ec(a, b) {
    var c = (b[7] << 8 | b[8]) * a.m;
    b = (b[2] << 24 | b[3] << 16 | b[4] << 8 | b[5]) * a.m;
    a.g = 0;
    var d = a.Ga << 8 & 65280 | a.Da & 255;
    a.Da = a.Ga = 0;
    65535 === d && d--;
    d > c && (d = c);
    b >= a.buffer.byteLength ? (a.status = 255, a.ba()) : 0 === c ? (a.status = 80, a.i = 0) : (c = Math.min(c, a.buffer.byteLength - b), a.status = 208, fc(a), a.buffer.get(b, c, function(b) {
        gc(a, b);
        a.status = 88;
        a.pa = a.pa & -8 | 2;
        a.ba();
        d &= -4;
        a.a = d;
        a.a > a.g && (a.a = a.g);
        a.Da = a.a & 255;
        a.Ga = a.a >> 8 & 255;
        hc(a, c)
    }))
}

function ic(a, b) {
    var c = (b[7] << 8 | b[8]) * a.m;
    b = (b[2] << 24 | b[3] << 16 | b[4] << 8 | b[5]) * a.m;
    b >= a.buffer.byteLength ? (a.status = 255, a.ba()) : (a.status = 208, fc(a), a.buffer.get(b, c, function(b) {
        hc(a, c);
        a.status = 88;
        a.pa = a.pa & -8 | 2;
        gc(a, b);
        bc(a)
    }))
}

function bc(a) {
    if (0 !== (a.ia.Ha & 1) && 0 !== (a.status & 8)) {
        var b = a.ia.Dd,
            c = 0,
            d = a.data;
        do {
            var e = jc(a.j, b),
                f = a.j.ma(b + 4),
                h = a.j.ja(b + 7) & 128;
            f || (f = 65536);
            a.j.da.set(d.subarray(c, Math.min(c + f, a.g)), e);
            c += f;
            b += 8;
            if (c >= a.g && !h) break
        } while (!h);
        a.status = 80;
        a.ia.Ha &= -2;
        a.pa = a.pa & -8 | 3;
        a.ba()
    }
}

function Qb(a, b) {
    if (a.i < a.a) {
        var c = 1 === b ? a.data[a.i] : 2 === b ? a.oa[a.i >>> 1] : a.Z[a.i >>> 2];
        a.i += b;
        a.i >= a.a && (160 === a.v ? a.a === a.g ? (a.status = 80, a.pa = a.pa & -8 | 3, a.ba()) : (a.status = 88, a.pa = a.pa & -8 | 2, a.ba(), b = a.Ga << 8 & 65280 | a.Da & 255, a.a + b > a.g ? (a.Da = a.g - a.a & 255, a.Ga = a.g - a.a >> 8 & 255, a.a = a.g) : a.a += b) : (a.error = 0, a.i >= a.g ? a.status = 80 : (b = 196 === a.v || 41 === a.v ? Math.min(a.W, (a.g - a.a) / 512) : 1, cc(a, a.v, b), a.a += 512 * b, a.status = 88), a.ba()));
        return c
    }
    a.i += b;
    return 0
}

function Rb(a, b, c) {
    if (!(a.i >= a.a) && (1 === c ? a.data[a.i++] = b : 2 === c ? (a.oa[a.i >>> 1] = b, a.i += 2) : (a.Z[a.i >>> 2] = b, a.i += 4), a.i === a.a))
        if (160 === a.v) {
            a.i = 0;
            a.ka = a.data[0];
            switch (a.ka) {
                case 0:
                    Xb(a, 0);
                    a.a = a.g;
                    a.status = 80;
                    break;
                case 3:
                    Xb(a, a.data[4]);
                    a.a = a.g;
                    a.status = 88;
                    a.data[0] = 240;
                    a.data[2] = 5;
                    a.data[7] = 8;
                    break;
                case 18:
                    b = a.data[4];
                    a.status = 88;
                    a.data.set([5, 128, 1, 49, 31, 0, 0, 0, 83, 79, 78, 89, 32, 32, 32, 32, 67, 68, 45, 82, 79, 77, 32, 67, 68, 85, 45, 49, 48, 48, 48, 32, 49, 46, 49, 97]);
                    a.a = a.g = Math.min(36, b);
                    break;
                case 26:
                    Xb(a, a.data[4]);
                    a.a = a.g;
                    a.status = 88;
                    break;
                case 30:
                    Xb(a, 0);
                    a.a = a.g;
                    a.status = 80;
                    break;
                case 37:
                    b = a.l - 1;
                    gc(a, new Uint8Array([b >> 24 & 255, b >> 16 & 255, b >> 8 & 255, b & 255, 0, 0, a.m >> 8 & 255, a.m & 255]));
                    a.a = a.g;
                    a.status = 88;
                    break;
                case 40:
                    a.ud & 1 ? ic(a, a.data) : ec(a, a.data);
                    break;
                case 66:
                    b = a.data[8];
                    Xb(a, Math.min(8, b));
                    a.a = a.g;
                    a.status = 88;
                    break;
                case 67:
                    b = a.data[8] | a.data[7] << 8;
                    c = a.data[9] >> 6;
                    Xb(a, b);
                    a.a = a.g;
                    0 === c ? (b = a.l, a.data.set(new Uint8Array([0, 18, 1, 1, 0, 20, 1, 0, 0, 0, 0, 0, 0, 22, 170, 0, b >> 24, b >> 16 & 255, b >> 8 & 255, b & 255]))) : 1 === c && a.data.set(new Uint8Array([0,
                        10, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0
                    ]));
                    a.status = 88;
                    break;
                case 70:
                    b = a.data[8] | a.data[7] << 8;
                    b = Math.min(b, 32);
                    Xb(a, b);
                    a.a = a.g;
                    a.data[0] = b - 4 >> 24 & 255;
                    a.data[1] = b - 4 >> 16 & 255;
                    a.data[2] = b - 4 >> 8 & 255;
                    a.data[3] = b - 4 & 255;
                    a.data[6] = 8;
                    a.data[10] = 3;
                    a.status = 88;
                    break;
                case 81:
                    Xb(a, 0);
                    a.a = a.g;
                    a.status = 80;
                    break;
                case 82:
                    a.status = 81;
                    a.g = 0;
                    a.error = 80;
                    break;
                case 90:
                    b = a.data[8] | a.data[7] << 8;
                    42 === a.data[2] && Xb(a, Math.min(30, b));
                    a.a = a.g;
                    a.status = 88;
                    break;
                case 189:
                    Xb(a, a.data[9] | a.data[8] << 8);
                    a.a = a.g;
                    a.data[5] = 1;
                    a.status = 88;
                    break;
                case 74:
                    a.status =
                        81;
                    a.g = 0;
                    a.error = 80;
                    break;
                default:
                    a.status = 81, a.g = 0, a.error = 80
            }
            a.pa = a.pa & -8 | 2;
            0 === (a.status & 128) && a.ba();
            0 === (a.status & 128) && 0 === a.g && (a.pa |= 1, a.status &= -9)
        } else a.i >= a.g ? a.Me() : (a.status = 88, a.a += 512, a.ba())
}

function cc(a, b, c) {
    a.pa -= c;
    36 === b || 41 === b || 52 === b || 57 === b || 37 === b || 53 === b ? (b = c + kc(a), a.Na = b & 255 | b >> 16 & 65280, a.Da = b >> 8 & 255, a.Ga = b >> 16 & 255) : a.le ? (b = c + lc(a), a.Na = b & 255, a.Da = b >> 8 & 255, a.Ga = b >> 16 & 255, a.head = a.head & -16 | b & 15) : (b = c + mc(a), c = b / (a.J * a.C) | 0, a.Da = c & 255, a.Ga = c >> 8 & 255, a.head = (b / a.C | 0) % a.J & 15, a.Na = b % a.C + 1 & 255, mc(a))
}

function Tb(a, b) {
    var c = 36 === b || 41 === b,
        d = Ub(a, c);
    c = Vb(a, c);
    var e = 32 === b || 36 === b,
        f = d * a.m;
    c *= a.m;
    c + f > a.buffer.byteLength ? (a.status = 255, a.ba()) : (a.status = 192, fc(a), a.buffer.get(c, f, function(c) {
        gc(a, c);
        a.status = 88;
        a.a = e ? 512 : Math.min(f, 512 * a.W);
        cc(a, b, e ? 1 : Math.min(d, a.C));
        a.ba();
        hc(a, f)
    }))
}

function $b(a) {
    var b = 37 === a.v,
        c = Ub(a, b);
    b = Vb(a, b);
    var d = c * a.m;
    b *= a.m;
    fc(a);
    a.buffer.get(b, d, function(b) {
        var e = a.ia.Dd,
            h = 0;
        do {
            var g = jc(a.j, e),
                p = a.j.ma(e + 4),
                r = a.j.ja(e + 7) & 128;
            p || (p = 65536);
            a.j.da.set(b.subarray(h, h + p), g);
            h += p;
            e += 8
        } while (!r);
        cc(a, a.v, c);
        a.status = 80;
        a.ia.Ha &= -2;
        a.v = -1;
        a.ba();
        hc(a, d)
    })
}

function ac(a) {
    var b = 53 === a.v,
        c = Ub(a, b),
        d = Vb(a, b);
    b = c * a.m;
    d *= a.m;
    var e = a.ia.Dd,
        f = 0,
        h = 0,
        g = 0;
    do {
        var p = jc(a.j, e),
            r = a.j.ma(e + 4),
            v = a.j.ja(e + 7) & 128;
        r || (r = 65536);
        a.buffer.set(d + g, a.j.da.subarray(p, p + r), function() {
            h++
        });
        g += r;
        e += 8;
        f++
    } while (!v);
    h === f && (cc(a, a.v, c), a.status = 80, a.ba(), a.ia.Ha &= -2, a.v = -1);
    dc(a, b)
}

function mc(a) {
    return ((a.Da & 255 | a.Ga << 8 & 65280) * a.J + a.head) * a.C + (a.Na & 255) - 1
}

function lc(a) {
    return a.Na & 255 | a.Da << 8 & 65280 | a.Ga << 16 & 16711680 | (a.head & 15) << 24
}

function kc(a) {
    return (a.Na & 255 | a.Da << 8 & 65280 | a.Ga << 16 & 16711680 | a.Na >> 8 << 24 & 4278190080) >>> 0
}

function Vb(a, b) {
    return b ? kc(a) : a.le ? lc(a) : mc(a)
}

function Ub(a, b) {
    b ? (a = a.pa, 0 === a && (a = 65536)) : (a = a.pa & 255, 0 === a && (a = 256));
    return a
}

function Yb(a) {
    if (a.Mc & 16) Xb(a, 0);
    else {
        for (var b = 0; 512 > b; b++) a.data[b] = 0;
        b = Math.min(16383, a.O);
        gc(a, [64, a.R ? 133 : 0, b, b >> 8, 0, 0, a.J, a.J >> 8, a.C / 512, a.C / 512 >> 8, 0, 2, a.C, a.C >> 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 118, 32, 54, 68, 72, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 128, 0, 1, 0, 0, 2, 0, 0, 0, 2, 0, 2, 7, 0, b, b >> 8, a.J, a.J >> 8, a.C, 0, a.l & 255, a.l >> 8 & 255, a.l >> 16 & 255, a.l >> 24 & 255, 0, 0, a.l & 255, a.l >> 8 & 255, a.l >> 16 & 255,
            a.l >> 24 & 255, 0, 0, 160 === a.v ? 0 : 7, 160 === a.v ? 0 : 4, 0, 0, 30, 0, 30, 0, 30, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, 0, 116, 0, 64, 0, 64, 0, 116, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, a.l & 255, a.l >> 8 & 255, a.l >> 16 & 255, a.l >> 24 & 255
        ]);
        a.g = 512;
        a.a = 512
    }
}

function Xb(a, b) {
    Wb(a, b);
    for (var c = 0; c < b + 3 >> 2; c++) a.Z[c] = 0
}

function Wb(a, b) {
    a.data.length < b && (a.data = new Uint8Array(b + 3 & -4), a.oa = new Uint16Array(a.data.buffer), a.Z = new Int32Array(a.data.buffer));
    a.g = b;
    a.i = 0
}

function gc(a, b) {
    Wb(a, b.length);
    a.data.set(b)
}

function fc(a) {
    a.Oa.Yg = !0;
    a.w.send("ide-read-start")
}

function hc(a, b) {
    a.Oa.Yg = !1;
    var c = b / a.m | 0;
    a.Oa.Eh += c;
    a.Oa.Bg += b;
    a.w.send("ide-read-end", [a.Fa, b, c])
}

function dc(a, b) {
    var c = b / a.m | 0;
    a.Oa.Fh += c;
    a.Oa.Cg += b;
    a.w.send("ide-write-end", [a.Fa, b, c])
}
Ob.prototype.Sa = function() {
    var a = [];
    a[0] = this.pa;
    a[1] = this.O;
    a[2] = this.Ga;
    a[3] = this.Da;
    a[4] = this.i;
    a[5] = 0;
    a[6] = 0;
    a[7] = 0;
    a[8] = 0;
    a[9] = this.Mc;
    a[10] = this.error;
    a[11] = this.head;
    a[12] = this.J;
    a[13] = this.R;
    a[14] = this.le;
    a[15] = this.ud;
    a[16] = this.data;
    a[17] = this.g;
    a[18] = this.Na;
    a[19] = this.l;
    a[20] = this.m;
    a[21] = this.W;
    a[22] = this.C;
    a[23] = this.status;
    a[24] = this.qa;
    a[25] = this.v;
    a[26] = this.a;
    a[27] = this.ka;
    return a
};
Ob.prototype.fb = function(a) {
    this.pa = a[0];
    this.O = a[1];
    this.Ga = a[2];
    this.Da = a[3];
    this.i = a[4];
    this.Mc = a[9];
    this.error = a[10];
    this.head = a[11];
    this.J = a[12];
    this.R = a[13];
    this.le = a[14];
    this.ud = a[15];
    this.data = a[16];
    this.g = a[17];
    this.Na = a[18];
    this.l = a[19];
    this.m = a[20];
    this.W = a[21];
    this.C = a[22];
    this.status = a[23];
    this.qa = a[24];
    this.v = a[25];
    this.a = a[26];
    this.ka = a[27];
    this.oa = new Uint16Array(this.data.buffer);
    this.Z = new Int32Array(this.data.buffer)
};

function nc(a) {
    this.mc = new Uint8Array(4);
    this.a = new Uint8Array(4);
    this.zd = new Uint8Array(4);
    this.Ad = new Uint8Array(4);
    this.yd = new Int32Array(this.mc.buffer);
    new Int32Array(this.a.buffer);
    this.eh = new Int32Array(this.zd.buffer);
    this.gh = new Int32Array(this.Ad.buffer);
    this.fc = [];
    this.G = [];
    this.j = a;
    for (var b = 0; 256 > b; b++) this.fc[b] = void 0, this.G[b] = void 0;
    this.o = a.o;
    n(a.o, 3324, this, function(a) {
        oc(this, this.yd[0], a)
    }, function(a) {
        pc(this, this.yd[0], a)
    }, function(a) {
        var b = this.yd[0],
            c = b >> 8 & 65535,
            f = b & 255;
        b =
            this.fc[c];
        c = this.G[c];
        if (b)
            if (16 <= f && 40 > f)
                if (c = c.nc[f - 16 >> 2]) {
                    f >>= 2;
                    var h = b[f] & 1; - 1 === (a | 3 | c.size - 1) ? (a = ~(c.size - 1) | h, 0 === h && (b[f] = a)) : 0 === h && (b[f] = c.dh);
                    1 === h && (qc(this, c, b[f] & 65534, a & 65534), b[f] = a | 1)
                } else b[f >> 2] = 0;
        else 48 === f ? b[f >> 2] = c.fh ? -1 === (a | 2047) ? -c.fh | 0 : c.Ei | 0 : 0 : b[f >>> 2] = a
    });
    n(a.o, 3325, this, function(a) {
        oc(this, this.yd[0] + 1 | 0, a)
    });
    n(a.o, 3326, this, function(a) {
        oc(this, this.yd[0] + 2 | 0, a)
    }, function(a) {
        pc(this, this.yd[0] + 2 | 0, a)
    });
    n(a.o, 3327, this, function(a) {
        oc(this, this.yd[0] + 3 | 0, a)
    });
    a.o.te(3324,
        this,
        function() {
            return this.zd[0]
        },
        function() {
            return this.zd[1]
        },
        function() {
            return this.zd[2]
        },
        function() {
            return this.zd[3]
        });
    a.o.te(3320, this, function() {
        return this.Ad[0]
    }, function() {
        return this.Ad[1]
    }, function() {
        return this.Ad[2]
    }, function() {
        return this.Ad[3]
    });
    a.o.Gc(3320, this, function(a) {
        this.mc[0] = a & 252
    }, function(a) {
        this.mc[1] = a
    }, function(a) {
        this.mc[2] = a
    }, function(a) {
        this.mc[3] = a;
        a = this.mc[0] & 252;
        var b = this.fc[this.mc[2] << 8 | this.mc[1]];
        void 0 !== b ? (this.gh[0] = -2147483648, this.eh[0] = a < b.byteLength ?
            b[a >> 2] : 0) : (this.eh[0] = -1, this.gh[0] = 0)
    });
    Zb(this, {
        Hb: 0,
        pe: [134, 128, 55, 18, 0, 0, 0, 0, 2, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
        nc: [],
        name: "82441FX PMC"
    });
    this.i = {
        Hb: 8,
        pe: [134, 128, 0, 112, 7, 0, 0, 2, 0, 0, 1, 6, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
        nc: [],
        name: "82371SB PIIX3 ISA"
    };
    this.l = Zb(this, this.i);
    this.g = new Uint8Array(this.l.buffer)
}
nc.prototype.Sa = function() {
    for (var a = [], b = 0; 256 > b; b++) a[b] = this.fc[b];
    a[256] = this.mc;
    a[257] = this.a;
    a[258] = this.zd;
    a[259] = this.Ad;
    return a
};
nc.prototype.fb = function(a) {
    for (var b = 0; 256 > b; b++) {
        var c = this.G[b],
            d = a[b];
        if (c && d) {
            for (var e = 0; e < c.nc.length; e++) {
                var f = d[4 + e];
                if (f & 1) {
                    var h = c.nc[e];
                    qc(this, h, h.dh & 65534, f & 65534)
                }
            }
            this.fc[b].set(d)
        }
    }
    this.mc.set(a[256]);
    this.a.set(a[257]);
    this.zd.set(a[258]);
    this.Ad.set(a[259])
};

function oc(a, b, c) {
    var d = b & 255;
    (new Uint8Array(a.fc[b >> 8 & 65535].buffer))[d] = c
}

function pc(a, b, c) {
    var d = b & 255;
    (new Uint16Array(a.fc[b >> 8 & 65535].buffer))[d >>> 1] = c
}

function Zb(a, b) {
    var c = b.Hb,
        d = new Int32Array(64);
    d.set(new Int32Array((new Uint8Array(b.pe)).buffer));
    a.fc[c] = d;
    a.G[c] = b;
    c = d.slice(4, 10);
    for (var e = 0; e < b.nc.length; e++) {
        var f = b.nc[e];
        if (f) {
            var h = c[e],
                g = h & 1;
            f.dh = h;
            f.entries = [];
            if (0 !== g)
                for (h &= -2, g = 0; g < f.size; g++) f.entries[g] = a.o.ports[h + g]
        }
    }
    return d
}

function qc(a, b, c, d) {
    for (var e = b.size, f = a.o.ports, h = 0; h < e; h++) f[c + h] = Oa(a.o), f[d + h] = b.entries[h]
}
nc.prototype.xb = function(a) {
    this.j.Cb(this.g[96 + ((this.fc[a][15] >> 8 & 255) - 1 + ((a >> 3) - 1 & 255) & 3)])
};

function rc(a, b) {
    Pb(a.j, a.g[96 + ((a.fc[b][15] >> 8 & 255) + (b >> 3 & 255) - 2 & 3)])
};

function sc(a, b) {
    this.o = a.o;
    this.j = a;
    this.Ub = a.G.Ub;
    this.g = 0;
    this.ka = new Uint8Array(10);
    this.oa = 0;
    this.l = null;
    this.a = new Uint8Array(10);
    this.C = this.m = this.i = 0;
    this.W = b;
    this.Z = this.O = this.Xa = this.Bb = this.Za = this.Ya = 0;
    this.qa = 1;
    this.v = 0;
    if (b) {
        this.C = b.byteLength;
        var c;
        if ((c = {
                160: {
                    type: 1,
                    bc: 40,
                    ac: 8,
                    Yb: 1
                },
                180: {
                    type: 1,
                    bc: 40,
                    ac: 9,
                    Yb: 1
                },
                200: {
                    type: 1,
                    bc: 40,
                    ac: 10,
                    Yb: 1
                },
                320: {
                    type: 1,
                    bc: 40,
                    ac: 8,
                    Yb: 2
                },
                360: {
                    type: 1,
                    bc: 40,
                    ac: 9,
                    Yb: 2
                },
                400: {
                    type: 1,
                    bc: 40,
                    ac: 10,
                    Yb: 2
                },
                720: {
                    type: 3,
                    bc: 80,
                    ac: 9,
                    Yb: 2
                },
                1200: {
                    type: 2,
                    bc: 80,
                    ac: 15,
                    Yb: 2
                },
                1440: {
                    type: 4,
                    bc: 80,
                    ac: 18,
                    Yb: 2
                },
                1722: {
                    type: 5,
                    bc: 82,
                    ac: 21,
                    Yb: 2
                },
                2880: {
                    type: 5,
                    bc: 80,
                    ac: 36,
                    Yb: 2
                }
            }[this.C >> 10]) && 0 === (this.C & 1023)) a.G.bd.ha[16] = c.type << 4, a = c.ac, b = c.Yb, c = c.bc;
        else throw "Unknown floppy size: " + jb(b.byteLength);
        this.J = a;
        this.R = b;
        this.Fa = c
    } else a.G.bd.ha[16] = 64, this.C = this.Fa = this.R = this.J = 0;
    m(this.o, 1008, this, this.Oj);
    m(this.o, 1010, this, this.Pj);
    m(this.o, 1012, this, this.Rj);
    m(this.o, 1013, this, this.Sj);
    m(this.o, 1015, this, this.Uj);
    n(this.o, 1010, this, this.Qj);
    n(this.o, 1013, this, this.Tj)
}
k = sc.prototype;
k.Sa = function() {
    var a = [];
    a[0] = this.g;
    a[1] = this.ka;
    a[2] = this.oa;
    a[4] = this.a;
    a[5] = this.i;
    a[6] = this.m;
    a[7] = this.C;
    a[8] = this.Ya;
    a[9] = this.Za;
    a[10] = this.Bb;
    a[11] = this.Xa;
    a[12] = this.O;
    a[13] = this.Z;
    a[14] = this.qa;
    a[15] = this.v;
    a[16] = this.J;
    a[17] = this.R;
    a[18] = this.Fa;
    return a
};
k.fb = function(a) {
    this.g = a[0];
    this.ka = a[1];
    this.oa = a[2];
    this.l = a[3];
    this.a = a[4];
    this.i = a[5];
    this.m = a[6];
    this.C = a[7];
    this.Ya = a[8];
    this.Za = a[9];
    this.Bb = a[10];
    this.Xa = a[11];
    this.O = a[12];
    this.Z = a[13];
    this.qa = a[14];
    this.v = a[15];
    this.J = a[16];
    this.R = a[17];
    this.Fa = a[18]
};
k.Oj = function() {
    return 0
};
k.Rj = function() {
    var a = 128;
    this.i < this.m && (a |= 80);
    0 === (this.v & 8) && (a |= 32);
    return a
};
k.Uj = function() {
    return 0
};
k.Sj = function() {
    return this.i < this.m ? (Pb(this.j, 6), this.a[this.i++]) : 255
};
k.Tj = function(a) {
    if (this.W)
        if (0 < this.g) this.ka[this.oa++] = a, this.g--, 0 === this.g && this.l.call(this, this.ka);
        else {
            switch (a) {
                case 3:
                    this.l = this.li;
                    this.g = 2;
                    break;
                case 4:
                    this.l = this.Qh;
                    this.g = 1;
                    break;
                case 5:
                case 197:
                    this.l = function(a) {
                        tc(this, !0, a)
                    };
                    this.g = 8;
                    break;
                case 230:
                    this.l = function(a) {
                        tc(this, !1, a)
                    };
                    this.g = 8;
                    break;
                case 7:
                    this.l = this.Ph;
                    this.g = 1;
                    break;
                case 8:
                    this.i = 0;
                    this.m = 2;
                    this.a[0] = 32;
                    this.a[1] = this.O;
                    break;
                case 74:
                    this.l = this.fk;
                    this.g = 1;
                    break;
                case 15:
                    this.g = 2;
                    this.l = this.Kh;
                    break;
                case 14:
                    this.a[0] =
                        128, this.i = 0, this.m = 1, this.g = 0
            }
            this.oa = 0
        }
};
k.Pj = function() {
    return this.v
};
k.Qj = function(a) {
    4 === (a & 4) && 0 === (this.v & 4) && this.j.Cb(6);
    this.v = a
};
k.Qh = function() {
    this.i = 0;
    this.m = 1;
    this.a[0] = 32
};
k.Kh = function(a) {
    this.O = a[1];
    this.Z = a[0] >> 2 & 1;
    this.xb()
};
k.Ph = function() {
    this.xb()
};

function tc(a, b, c) {
    var d = c[2],
        e = c[1],
        f = c[3],
        h = 128 << c[4],
        g = c[5] - c[3] + 1,
        p = ((d + a.R * e) * a.J + f - 1) * h;
    a.W && (b ? a.Ub.Me(a.W, p, g * h, 2, a.done.bind(a, c, e, d, f)) : uc(a.Ub, a.W, p, a.done.bind(a, c, e, d, f)))
}
k.done = function(a, b, c, d, e) {
    e || (d++, d > this.J && (d = 1, c++, c >= this.R && (c = 0, b++)), this.O = b, this.Z = c, this.qa = d, this.i = 0, this.m = 7, this.a[0] = c << 2 | 32, this.a[1] = 0, this.a[2] = 0, this.a[3] = b, this.a[4] = c, this.a[5] = d, this.a[6] = a[4], this.xb())
};
k.li = function() {};
k.fk = function() {
    this.i = 0;
    this.m = 7;
    this.a[0] = 0;
    this.a[1] = 0;
    this.a[2] = 0;
    this.a[3] = 0;
    this.a[4] = 0;
    this.a[5] = 0;
    this.a[6] = 0;
    this.xb()
};
k.xb = function() {
    this.v & 8 && this.j.Cb(6)
};

function vc(a, b) {
    a = a.Ye[b >>> 17];
    return a(b) | a(b + 1 | 0) << 8
}

function wc(a, b, c) {
    a = a.Ze[b >>> 17];
    a(b, c & 255);
    a(b + 1 | 0, c >> 8 & 255)
}

function Ra(a, b) {
    return 655360 <= (b | 0) && 786432 > (b | 0) || b >>> 0 >= a.Ia >>> 0
}
k = q.prototype;
k.ja = function(a) {
    return Ra(this, a) ? this.Ye[a >>> 17](a) : this.da[a]
};
k.ma = function(a) {
    return Ra(this, a) ? vc(this, a) : this.da[a] | this.da[a + 1 | 0] << 8
};

function xc(a, b) {
    return Ra(a, b << 1) ? vc(a, b << 1) : a.Ef[b]
}

function jc(a, b) {
    return Ra(a, b) ? a.Ff[b >>> 17](b) : a.da[b] | a.da[b + 1 | 0] << 8 | a.da[b + 2 | 0] << 16 | a.da[b + 3 | 0] << 24
}

function yc(a, b) {
    Ra(a, b << 2) ? (b <<= 2, a = a.Ff[b >>> 17](b)) : a = a.Cc[b];
    return a
}
k.za = function(a, b) {
    if (Ra(this, a)) this.Ze[a >>> 17](a, b);
    else this.da[a] = b
};
k.ze = function(a, b) {
    Ra(this, a) ? wc(this, a, b) : (this.da[a] = b, this.da[a + 1 | 0] = b >> 8)
};

function zc(a, b, c) {
    Ra(a, b << 1) ? wc(a, b << 1, c) : a.Ef[b] = c
}
k.fd = function(a, b) {
    if (Ra(this, a)) this.Gf[a >>> 17](a, b);
    else this.da[a] = b, this.da[a + 1 | 0] = b >> 8, this.da[a + 2 | 0] = b >> 16, this.da[a + 3 | 0] = b >> 24
};

function Ac(a, b, c) {
    Ra(a, b << 2) ? (b <<= 2, a.Gf[b >>> 17](b, c)) : a.Cc[b] = c
};

function Bc(a) {
    this.j = a;
    this.v = new Uint8Array(8);
    this.C = new Uint8Array(8);
    this.a = new Uint16Array(8);
    this.l = new Uint16Array(8);
    this.g = new Uint16Array(8);
    this.m = new Uint16Array(8);
    this.vc = new Uint8Array(8);
    this.J = new Uint8Array(8);
    this.Wf = [];
    this.i = 0;
    a = a.o;
    n(a, 0, this, this.Xc.bind(this, 0));
    n(a, 2, this, this.Xc.bind(this, 1));
    n(a, 4, this, this.Xc.bind(this, 2));
    n(a, 6, this, this.Xc.bind(this, 3));
    n(a, 1, this, this.Zc.bind(this, 0));
    n(a, 3, this, this.Zc.bind(this, 1));
    n(a, 5, this, this.Zc.bind(this, 2));
    n(a, 7, this, this.Zc.bind(this,
        3));
    m(a, 0, this, this.Wc.bind(this, 0));
    m(a, 2, this, this.Wc.bind(this, 1));
    m(a, 4, this, this.Wc.bind(this, 2));
    m(a, 6, this, this.Wc.bind(this, 3));
    m(a, 1, this, this.Yc.bind(this, 0));
    m(a, 3, this, this.Yc.bind(this, 1));
    m(a, 5, this, this.Yc.bind(this, 2));
    m(a, 7, this, this.Yc.bind(this, 3));
    n(a, 192, this, this.Xc.bind(this, 4));
    n(a, 196, this, this.Xc.bind(this, 5));
    n(a, 200, this, this.Xc.bind(this, 6));
    n(a, 204, this, this.Xc.bind(this, 7));
    n(a, 194, this, this.Zc.bind(this, 4));
    n(a, 198, this, this.Zc.bind(this, 5));
    n(a, 202, this, this.Zc.bind(this,
        6));
    n(a, 206, this, this.Zc.bind(this, 7));
    m(a, 192, this, this.Wc.bind(this, 4));
    m(a, 196, this, this.Wc.bind(this, 5));
    m(a, 200, this, this.Wc.bind(this, 6));
    m(a, 204, this, this.Wc.bind(this, 7));
    m(a, 194, this, this.Yc.bind(this, 4));
    m(a, 198, this, this.Yc.bind(this, 5));
    m(a, 202, this, this.Yc.bind(this, 6));
    m(a, 206, this, this.Yc.bind(this, 7));
    n(a, 135, this, this.ad.bind(this, 0));
    n(a, 131, this, this.ad.bind(this, 1));
    n(a, 129, this, this.ad.bind(this, 2));
    n(a, 130, this, this.ad.bind(this, 3));
    n(a, 143, this, this.ad.bind(this, 4));
    n(a, 139,
        this, this.ad.bind(this, 5));
    n(a, 137, this, this.ad.bind(this, 6));
    n(a, 138, this, this.ad.bind(this, 7));
    m(a, 135, this, this.$c.bind(this, 0));
    m(a, 131, this, this.$c.bind(this, 1));
    m(a, 129, this, this.$c.bind(this, 2));
    m(a, 130, this, this.$c.bind(this, 3));
    m(a, 143, this, this.$c.bind(this, 4));
    m(a, 139, this, this.$c.bind(this, 5));
    m(a, 137, this, this.$c.bind(this, 6));
    m(a, 138, this, this.$c.bind(this, 7));
    n(a, 1159, this, this.Cd.bind(this, 0));
    n(a, 1155, this, this.Cd.bind(this, 1));
    n(a, 1153, this, this.Cd.bind(this, 2));
    n(a, 1154, this, this.Cd.bind(this,
        3));
    n(a, 1163, this, this.Cd.bind(this, 5));
    n(a, 1161, this, this.Cd.bind(this, 6));
    n(a, 1162, this, this.Cd.bind(this, 7));
    m(a, 1159, this, this.Bd.bind(this, 0));
    m(a, 1155, this, this.Bd.bind(this, 1));
    m(a, 1153, this, this.Bd.bind(this, 2));
    m(a, 1154, this, this.Bd.bind(this, 3));
    m(a, 1163, this, this.Bd.bind(this, 5));
    m(a, 1161, this, this.Bd.bind(this, 6));
    m(a, 1162, this, this.Bd.bind(this, 7));
    n(a, 10, this, this.rh.bind(this, 0));
    n(a, 212, this, this.rh.bind(this, 4));
    n(a, 15, this, this.qh.bind(this, 0));
    n(a, 222, this, this.qh.bind(this, 4));
    m(a, 15, this, this.ph.bind(this, 0));
    m(a, 222, this, this.ph.bind(this, 4));
    n(a, 11, this, this.oh.bind(this, 0));
    n(a, 214, this, this.oh.bind(this, 4));
    n(a, 12, this, this.nh);
    n(a, 216, this, this.nh)
}
k = Bc.prototype;
k.Sa = function() {
    return [this.v, this.C, this.a, this.l, this.g, this.m, this.vc, this.J, this.i]
};
k.fb = function(a) {
    this.v = a[0];
    this.C = a[1];
    this.a = a[2];
    this.l = a[3];
    this.g = a[4];
    this.m = a[5];
    this.vc = a[6];
    this.J = a[7];
    this.i = a[8]
};
k.Zc = function(a, b) {
    this.g[a] = Cc(this, this.g[a], b, !1);
    this.m[a] = Cc(this, this.m[a], b, !0)
};
k.Yc = function(a) {
    return Dc(this, this.g[a])
};
k.Xc = function(a, b) {
    this.a[a] = Cc(this, this.a[a], b, !1);
    this.l[a] = Cc(this, this.l[a], b, !0)
};
k.Wc = function(a) {
    return Dc(this, this.a[a])
};
k.Cd = function(a, b) {
    this.C[a] = b
};
k.Bd = function(a) {
    return this.C[a]
};
k.ad = function(a, b) {
    this.v[a] = b
};
k.$c = function(a) {
    return this.v[a]
};
k.rh = function(a, b) {
    Ec(this, (b & 3) + a, b & 4 ? 1 : 0)
};
k.qh = function(a, b) {
    for (var c = 0; 4 > c; c++) Ec(this, a + c, b & 1 << c)
};
k.ph = function(a) {
    var b = 0 | this.vc[a + 0];
    b |= this.vc[a + 1] << 1;
    b |= this.vc[a + 2] << 2;
    return b |= this.vc[a + 3] << 3
};
k.oh = function(a, b) {
    this.J[(b & 3) + a] = b
};
k.nh = function() {
    this.i = 0
};

function Ec(a, b, c) {
    if (a.vc[b] !== c && (a.vc[b] = c, !c))
        for (c = 0; c < a.Wf.length; c++) a.Wf[c].wf.call(a.Wf[c].xg, b)
}

function uc(a, b, c, d) {
    var e = a.g[2] + 1,
        f = Fc(a, 2);
    if (c + e > b.byteLength) d(!0);
    else {
        var h = a.j;
        a.a[2] += e;
        b.get(c, e, function(a) {
            h.da.set(a, f);
            d(!1)
        })
    }
}
k.Me = function(a, b, c, d, e) {
    var f = this,
        h = this.g[d] + 1 & 65535,
        g = 5 <= d ? 2 : 1,
        p = h * g,
        r = Fc(this, d),
        v = !1,
        E = !1,
        z = this.J[d] & 16;
    c < p ? (h = Math.floor(c / g), p = h * g, v = !0) : c > p && (E = !0);
    b + p > a.byteLength ? e(!0) : (this.a[d] += h, this.g[d] -= h, !v && z && (this.a[d] = this.l[d], this.g[d] = this.m[d]), a.set(b, this.j.da.subarray(r, r + p), function() {
        E && z ? f.Me(a, b + p, c - p, d, e) : e(!1)
    }))
};

function Fc(a, b) {
    var c = a.a[b];
    5 <= b && (c <<= 1);
    c = c & 65535 | a.v[b] << 16;
    return c |= a.C[b] << 24
}

function Cc(a, b, c, d) {
    d || (a.i ^= 1);
    return a.i ? b & -256 | c : b & -65281 | c << 8
}

function Dc(a, b) {
    a.i ^= 1;
    return a.i ? b & 255 : b >> 8 & 255
};

function Ic(a, b) {
    this.j = a;
    this.w = b;
    this.m = new Float64Array(3);
    this.v = new Uint16Array(3);
    this.g = new Uint8Array(4);
    this.l = new Uint8Array(4);
    this.i = new Uint8Array(4);
    this.O = new Uint8Array(4);
    this.C = new Uint8Array(4);
    this.J = new Uint16Array(3);
    this.a = new Uint16Array(3);
    m(a.o, 97, this, function() {
        var a = $a(),
            b = 66.66666666666667 * a & 1;
        a = Jc(this, 2, a);
        return b << 4 | a << 5
    });
    n(a.o, 97, this, function(a) {
        this.w.send("pcspeaker-enable", a & 1)
    });
    m(a.o, 64, this, function() {
        return Kc(this, 0)
    });
    m(a.o, 65, this, function() {
        return Kc(this,
            1)
    });
    m(a.o, 66, this, function() {
        return Kc(this, 2)
    });
    n(a.o, 64, this, function(a) {
        Lc(this, 0, a)
    });
    n(a.o, 65, this, function(a) {
        Lc(this, 1, a)
    });
    n(a.o, 66, this, function(a) {
        Lc(this, 2, a)
    });
    n(a.o, 67, this, this.R)
}
Ic.prototype.Sa = function() {
    var a = [];
    a[0] = this.g;
    a[1] = this.l;
    a[2] = this.i;
    a[3] = this.O;
    a[4] = this.C;
    a[5] = this.J;
    a[6] = this.a;
    a[7] = this.m;
    a[8] = this.v;
    return a
};
Ic.prototype.fb = function(a) {
    this.g = a[0];
    this.l = a[1];
    this.i = a[2];
    this.O = a[3];
    this.C = a[4];
    this.J = a[5];
    this.a = a[6];
    this.m = a[7];
    this.v = a[8]
};
Ic.prototype.Ic = function(a, b) {
    b || (this.l[0] && Jc(this, 0, a) ? (this.v[0] = Mc(this, 0, a), this.m[0] = a, this.j.Cb(0), 0 === this.i[0] && (this.l[0] = 0)) : Pb(this.j, 0))
};

function Mc(a, b, c) {
    if (!a.l[b]) return 0;
    c = a.v[b] - Math.floor(1193.1816666 * (c - a.m[b]));
    a = a.a[b];
    c >= a ? c %= a : 0 > c && (c = c % a + a);
    return c
}

function Jc(a, b, c) {
    c -= a.m[b];
    return 0 > c ? !0 : a.v[b] < Math.floor(1193.1816666 * c)
}

function Kc(a, b) {
    var c = a.C[b];
    if (c) return a.C[b]--, 2 === c ? a.J[b] & 255 : a.J[b] >> 8;
    c = a.g[b];
    3 === a.i[b] && (a.g[b] ^= 1);
    a = Mc(a, b, $a());
    return c ? a & 255 : a >> 8
}

function Lc(a, b, c) {
    a.a[b] = a.g[b] ? a.a[b] & -256 | c : a.a[b] & 255 | c << 8;
    3 === a.O[b] && a.g[b] || (a.a[b] || (a.a[b] = 65535), a.v[b] = a.a[b], a.l[b] = !0, a.m[b] = $a());
    3 === a.O[b] && (a.g[b] ^= 1);
    a.w.send("pcspeaker-update", [a.i[2], a.a[2]])
}
Ic.prototype.R = function(a) {
    var b = a >> 1 & 7,
        c = a >> 6 & 3;
    a = a >> 4 & 3;
    3 !== c && (0 === a ? (this.C[c] = 2, b = Mc(this, c, $a()), this.J[c] = b ? b - 1 : 0) : (6 <= b && (b &= -5), this.g[c] = 1 === a ? 0 : 1, 0 === c && Pb(this.j, 0), this.i[c] = b, this.O[c] = a, this.w.send("pcspeaker-update", [this.i[2], this.a[2]])))
};
var Nc = Uint32Array.from([655360, 655360, 720896, 753664]),
    Oc = Uint32Array.from([131072, 65536, 32768, 32768]);

function Pc(a, b, c) {
    var d = this;
    this.w = b;
    this.Ja = c;
    this.J = 0;
    this.Ae = 14;
    this.Be = 15;
    this.R = 80;
    this.Rd = 25;
    this.Wg = this.sb = this.Pe = this.Fa = 0;
    this.Bc = [];
    this.Re = this.Ua = 0;
    this.qc = new Uint8Array(25);
    this.v = this.W = this.Ne = this.Z = this.a = this.i = this.uc = this.Jc = this.ab = 0;
    this.Ce = !0;
    this.Wa = !1;
    setTimeout(function() {
        b.send("screen-set-mode", d.Wa)
    }, 0);
    this.Jb = new Int32Array(256);
    this.C = this.rb = this.g = 0;
    this.ob = !1;
    this.Hc = 32;
    this.kg = this.dc = 0;
    this.pe = [222, 16, 32, 10, 7, 0, 0, 0, 162, 0, 0, 3, 0, 0, 128, 0, 8, 14680064, 57344, 224,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 1, 0, 0
    ];
    this.Hb = 144;
    this.nc = [{
        size: c
    }];
    this.fh = 65536;
    this.Ei = 4272947200;
    this.name = "vga";
    this.Oa = {
        lg: !1,
        jk: 0,
        kk: 0,
        Ag: 0
    };
    this.Ya = this.rc = this.Xa = this.O = 0;
    this.Je = new Uint8Array(16);
    this.m = -1;
    this.Sd = 32;
    this.hd = this.Qd = this.ce = this.tb = 0;
    this.Vd = -1;
    this.Ud = 15;
    this.pc = this.Wd = 0;
    this.tc = -1;
    this.cc = this.Dc = this.He = 0;
    this.Ee = 255;
    this.qa = this.oa = this.ka = this.Bb = this.Fe = this.Td = 0;
    this.l = this.yf = 255;
    c = a.o;
    n(c, 960, this, this.tj);
    m(c, 960, this, this.kh, this.sj);
    m(c, 961, this, this.lh);
    n(c, 962, this, this.uj);
    c.Gc(964, this, this.wj, this.yj);
    m(c, 964, this, this.vj);
    m(c, 965, this, this.xj);
    c.Gc(974, this, this.Hj, this.Jj);
    m(c, 974, this, this.Gj);
    m(c, 975, this, this.Ij);
    n(c, 967, this, this.Aj);
    m(c, 967, this, this.zj);
    n(c, 968, this, this.Cj);
    m(c, 968, this, this.Bj);
    n(c, 969, this, this.Ej);
    m(c, 969, this, this.Dj);
    m(c, 972, this, this.Fj);
    c.Gc(980, this, this.Lj, this.Nj);
    m(c, 980, this, this.Kj);
    m(c, 981, this, this.Mj);
    m(c, 970, this, function() {
        return 0
    });
    m(c, 986, this,
        this.mh);
    m(c, 954, this, this.mh);
    this.sc = -1;
    this.Za = 0;
    n(c, 462, this, void 0, this.Gi);
    n(c, 463, this, void 0, this.Ii);
    m(c, 463, this, void 0, this.Hi);
    void 0 === this.Ja || 786432 > this.Ja ? this.Ja = 786432 : this.Ja & 65535 && (this.Ja |= 65535, this.Ja++);
    this.ya = new Uint8Array(this.Ja);
    this.hb = this.Ja;
    this.bb = 0;
    this.ge = this.Ja;
    this.fe = 0;
    this.ee = void 0;
    b.register("screen-tell-buffer", function(a) {
        this.ee && a[0] && a[0].set(this.ee.subarray(0, a[0].length));
        this.ee = a[0]
    }, this);
    b.register("screen-fill-buffer", function() {
        if (this.Wa &&
            this.ee)
            if (this.bb < this.hb && this.fe < this.ge) this.w.send("screen-fill-buffer-end", this.Bc);
            else {
                if (this.ob) {
                    var a = this.ee,
                        b = this.hb,
                        c = this.bb;
                    switch (this.Hc) {
                        case 32:
                            var e = b >> 2,
                                d = (c >> 2) + 1;
                            for (b = e; b < d; b++) c = this.Ih[b], a[b] = c << 16 | c >> 16 & 255 | c & 65280 | 4278190080;
                            break;
                        case 24:
                            e = b / 3 | 0;
                            d = (c / 3 | 0) + 1;
                            var v = 3 * e;
                            for (b = e; v < c; b++) {
                                var E = this.ya[v++],
                                    z = this.ya[v++],
                                    A = this.ya[v++];
                                a[b] = E << 16 | z << 8 | A | 4278190080
                            }
                            break;
                        case 16:
                            e = b >> 1;
                            d = (c >> 1) + 1;
                            for (b = e; b < d; b++) c = this.pk[b], A = 255 * (c >> 11) / 31 | 0, z = 255 * (c >> 5 & 63) / 63 | 0, E = 255 *
                                (c & 31) / 31 | 0, a[b] = E << 16 | z << 8 | A | 4278190080;
                            break;
                        case 8:
                            for (e = b, d = c + 1; b <= c; b++) z = this.Jb[this.ya[b]], a[b] = z & 65280 | z << 16 | z >> 16 | 4278190080
                    }
                    a = e / this.rb | 0;
                    this.w.send("screen-fill-buffer-end", [{
                        ug: 0,
                        vg: a,
                        qf: 0,
                        rf: a,
                        ag: this.rb,
                        $f: (d / this.rb | 0) - a + 1
                    }])
                } else {
                    d = Math.min(this.fe | 15, 524287);
                    a = Qc(this);
                    e = ~this.ab & 3;
                    b = this.Dc & 96;
                    c = this.tb & 64;
                    for (z = this.ge & -16; z <= d;) {
                        var M = z >>> a;
                        if (e) {
                            A = z / this.sb | 0;
                            v = z - this.sb * A;
                            switch (e) {
                                case 1:
                                    M = (A & 1) << 13;
                                    A >>>= 1;
                                    break;
                                case 2:
                                    M = (A & 1) << 14;
                                    A >>>= 1;
                                    break;
                                case 3:
                                    M = (A & 3) << 13, A >>>= 2
                            }
                            M |=
                                (A * this.sb + v >>> a) + this.Ua
                        }
                        A = this.Kf[M];
                        v = this.Lf[M];
                        E = this.Mf[M];
                        var Y = this.Nf[M];
                        M = new Uint8Array(8);
                        switch (b) {
                            case 0:
                                A <<= 0;
                                v <<= 1;
                                E <<= 2;
                                Y <<= 3;
                                for (var ka = 7; 0 <= ka; ka--) M[7 - ka] = A >> ka & 1 | v >> ka & 2 | E >> ka & 4 | Y >> ka & 8;
                                break;
                            case 32:
                                M[0] = A >> 6 & 3 | E >> 4 & 12;
                                M[1] = A >> 4 & 3 | E >> 2 & 12;
                                M[2] = A >> 2 & 3 | E >> 0 & 12;
                                M[3] = A >> 0 & 3 | E << 2 & 12;
                                M[4] = v >> 6 & 3 | Y >> 4 & 12;
                                M[5] = v >> 4 & 3 | Y >> 2 & 12;
                                M[6] = v >> 2 & 3 | Y >> 0 & 12;
                                M[7] = v >> 0 & 3 | Y << 2 & 12;
                                break;
                            case 64:
                            case 96:
                                M[0] = A >> 4 & 15, M[1] = A >> 0 & 15, M[2] = v >> 4 & 15, M[3] = v >> 0 & 15, M[4] = E >> 4 & 15, M[5] = E >> 0 & 15, M[6] = Y >> 4 & 15, M[7] = Y >>
                                    0 & 15
                        }
                        if (c)
                            for (A = ka = 0; 4 > ka; ka++, z++, A += 2) this.Jf[z] = M[A] << 4 | M[A + 1];
                        else
                            for (ka = 0; 8 > ka; ka++, z++) this.Jf[z] = M[ka]
                    }
                    c = this.hb;
                    d = Math.min(this.bb, 524287);
                    if (a = this.ee)
                        if (e = 255, b = 0, this.tb & 128 && (e &= 207, b |= this.hd << 4 & 48), this.tb & 64)
                            for (; c <= d; c++) z = this.Jf[c] & e | b, z = this.Jb[z], a[c] = z & 65280 | z << 16 | z >> 16 | 4278190080;
                        else
                            for (e &= 63, b |= this.hd << 4 & 192; c <= d; c++) z = this.Je[this.Jf[c] & this.ce] & e | b, z = this.Jb[z], a[c] = z & 65280 | z << 16 | z >> 16 | 4278190080;
                    this.w.send("screen-fill-buffer-end", this.Bc)
                }
                this.hb = this.Ja;
                this.bb = 0;
                this.ge = this.Ja;
                this.fe = 0
            }
        Rc(this)
    }, this);
    this.pk = new Uint16Array(this.ya.buffer);
    this.Ih = new Int32Array(this.ya.buffer);
    this.Xd = new Uint8Array(this.ya.buffer, 0, 262144);
    this.Kf = new Uint8Array(this.ya.buffer, 0, 65536);
    this.Lf = new Uint8Array(this.ya.buffer, 65536, 65536);
    this.Mf = new Uint8Array(this.ya.buffer, 131072, 65536);
    this.Nf = new Uint8Array(this.ya.buffer, 196608, 65536);
    this.Jf = new Uint8Array(this.ya.buffer, 262144, 524288);
    var e = this;
    Pa(c, 655360, 131072, function(a) {
        return Sc(e, a)
    }, function(a, b) {
        if (e.ob &&
            e.Wa && e.Ce) {
            var c = a - 655360 | e.dc;
            e.hb = c < e.hb ? c : e.hb;
            e.bb = c > e.bb ? c : e.bb;
            e.ya[c] = b
        } else {
            var d = e.Bb >> 2 & 3;
            a -= Nc[d];
            if (!(0 > a || a >= Oc[d]))
                if (e.Wa) {
                    var f = b;
                    b = Tc(e.Ee);
                    var h = Uc(e.Td);
                    d = Uc(e.Fe);
                    switch (e.Dc & 3) {
                        case 0:
                            f = (f | f << 8) >>> (e.cc & 7) & 255;
                            c = Tc(f);
                            f = Uc(e.Td);
                            c = Vc(e, (c | d & f) & (~d | f), e.g);
                            c = b & c | ~b & e.g;
                            break;
                        case 1:
                            c = e.g;
                            break;
                        case 2:
                            c = Uc(f);
                            c = Vc(e, c, e.g);
                            c = b & c | ~b & e.g;
                            break;
                        case 3:
                            f = (f | f << 8) >>> (e.cc & 7) & 255, b &= Tc(f), c = b & h | ~b & e.g
                    }
                    b = 15;
                    switch (e.Wd & 12) {
                        case 0:
                            b = 5 << (a & 1);
                            a &= -2;
                            break;
                        case 8:
                        case 12:
                            b = 1 << (a & 3), a &= -4
                    }
                    b &=
                        e.Ud;
                    b & 1 && (e.Kf[a] = c >> 0 & 255);
                    b & 2 && (e.Lf[a] = c >> 8 & 255);
                    b & 4 && (e.Mf[a] = c >> 16 & 255);
                    b & 8 && (e.Nf[a] = c >> 24 & 255);
                    b = Wc(e, a);
                    c = b + 7;
                    b < e.ge && (e.ge = b);
                    c > e.fe && (e.fe = c);
                    b < e.hb && (e.hb = b);
                    c > e.bb && (e.bb = c)
                } else e.Ud & 3 && (c = a, d = (c >> 1) - e.Ua, a = d / e.R | 0, d %= e.R, c & 1 ? (h = b, f = e.Xd[c & -2]) : (f = b, h = e.Xd[c | 1]), e.w.send("screen-put-char", [a, d, f, e.Jb[h >> 4 & 15], e.Jb[h & 15]]), e.Xd[c] = b)
        }
    });
    Pa(c, 3758096384, this.Ja, function(a) {
        return e.ya[a & 268435455]
    }, function(a, b) {
        a &= 268435455;
        e.ya[a] = b;
        e.hb = a < e.hb ? a : e.hb;
        e.bb = a > e.bb ? a : e.bb
    }, function(a) {
        a &=
            268435455;
        return a & 3 ? e.ya[a] | e.ya[a + 1] << 8 | e.ya[a + 2] << 16 | e.ya[a + 3] << 24 : e.Ih[a >> 2]
    }, function(a, b) {
        a &= 268435455;
        e.hb = a < e.hb ? a : e.hb;
        e.bb = a + 3 > e.bb ? a + 3 : e.bb;
        e.ya[a] = b;
        e.ya[a + 1] = b >> 8;
        e.ya[a + 2] = b >> 16;
        e.ya[a + 3] = b >> 24
    });
    Zb(a.G.wb, this)
}
k = Pc.prototype;
k.Sa = function() {
    var a = [];
    a[0] = this.Ja;
    a[1] = this.J;
    a[2] = this.Ae;
    a[3] = this.Be;
    a[4] = this.R;
    a[5] = this.Rd;
    a[6] = this.Bc;
    a[7] = this.Ya;
    a[8] = this.Ua;
    a[9] = this.Wa;
    a[10] = this.Jb;
    a[11] = this.g;
    a[12] = this.ka;
    a[13] = this.oa;
    a[14] = this.Bb;
    a[15] = this.rb;
    a[16] = this.C;
    a[17] = this.ab;
    a[18] = this.ob;
    a[19] = this.Hc;
    a[20] = this.dc;
    a[21] = this.kg;
    a[22] = this.O;
    a[23] = this.Xa;
    a[24] = this.rc;
    a[25] = this.Je;
    a[26] = this.Vd;
    a[27] = this.Ud;
    a[28] = this.Wd;
    a[29] = this.tc;
    a[30] = this.He;
    a[31] = this.Dc;
    a[32] = this.cc;
    a[33] = this.Ee;
    a[34] = this.qa;
    a[35] =
        this.yf;
    a[36] = this.l;
    a[37] = this.sc;
    a[38] = this.Za;
    a[39] = this.ya;
    a[40] = this.Ce;
    a[41] = this.m;
    a[42] = this.W;
    a[43] = this.Td;
    a[44] = this.Fe;
    a[45] = this.Re;
    a[46] = this.qc;
    a[47] = this.Jc;
    a[48] = this.uc;
    a[49] = this.i;
    a[50] = this.a;
    a[51] = this.Z;
    a[52] = this.Ne;
    a[53] = this.W;
    a[54] = this.Sd;
    a[55] = this.tb;
    a[56] = this.ce;
    a[57] = this.Qd;
    a[58] = this.hd;
    a[59] = this.pc;
    a[60] = this.v;
    return a
};
k.fb = function(a) {
    this.Ja = a[0];
    this.J = a[1];
    this.Ae = a[2];
    this.Be = a[3];
    this.R = a[4];
    this.Rd = a[5];
    this.Bc = a[6];
    this.Ya = a[7];
    this.Ua = a[8];
    this.Wa = a[9];
    this.Jb = a[10];
    this.g = a[11];
    this.ka = a[12];
    this.oa = a[13];
    this.Bb = a[14];
    this.rb = a[15];
    this.C = a[16];
    this.ab = a[17];
    this.ob = a[18];
    this.Hc = a[19];
    this.dc = a[20];
    this.kg = a[21];
    this.O = a[22];
    this.Xa = a[23];
    this.rc = a[24];
    this.Je = a[25];
    this.Vd = a[26];
    this.Ud = a[27];
    this.Wd = a[28];
    this.tc = a[29];
    this.He = a[30];
    this.Dc = a[31];
    this.cc = a[32];
    this.Ee = a[33];
    this.qa = a[34];
    this.yf = a[35];
    this.l = a[36];
    this.sc = a[37];
    this.Za = a[38];
    this.ya.set(a[39]);
    this.Ce = a[40];
    this.m = a[41];
    this.W = a[42];
    this.Td = a[43];
    this.Fe = a[44];
    this.Re = a[45];
    this.qc.set(a[46]);
    this.Jc = a[47];
    this.uc = a[48];
    this.i = a[49];
    this.a = a[50];
    this.Z = a[51];
    this.Ne = a[52];
    this.W = a[53];
    this.Sd = a[54];
    this.tb = a[55];
    this.ce = a[56];
    this.Qd = a[57];
    this.hd = a[58];
    this.pc = a[59];
    this.v = a[60];
    this.w.send("screen-set-mode", this.Wa);
    this.Wa ? (this.Pe = this.Fa = 0, this.ob ? (this.Id(this.rb, this.C, this.Hc, this.rb, this.C), Xc(this)) : (Yc(this), Zc(this))) :
        (this.Jd(this.R, this.Rd), this.Od(), this.Nd());
    $c(this)
};

function Sc(a, b) {
    if (a.ob && a.Ce) return b = b - 655360 | a.dc, a.ya[b];
    var c = a.Bb >> 2 & 3;
    b -= Nc[c];
    if (0 > b || b >= Oc[c]) return 0;
    a.g = a.Kf[b];
    a.g |= a.Lf[b] << 8;
    a.g |= a.Mf[b] << 16;
    a.g |= a.Nf[b] << 24;
    if (a.Dc & 8) return c = 255, a.oa & 1 && (c &= a.Kf[b] ^ ~(a.ka & 1 ? 255 : 0)), a.oa & 2 && (c &= a.Lf[b] ^ ~(a.ka & 2 ? 255 : 0)), a.oa & 4 && (c &= a.Mf[b] ^ ~(a.ka & 4 ? 255 : 0)), a.oa & 8 && (c &= a.Nf[b] ^ ~(a.ka & 8 ? 255 : 0)), c;
    c = a.He;
    a.Wa ? a.Wd & 8 ? (c = b & 3, b &= -4) : a.Dc & 16 && (c = b & 1, b &= -2) : c = 0;
    return a.Xd[c << 16 | b]
}

function Tc(a) {
    return a | a << 8 | a << 16 | a << 24
}

function Uc(a) {
    return (a & 1 ? 255 : 0) | (a & 2 ? 255 : 0) << 8 | (a & 4 ? 255 : 0) << 16 | (a & 8 ? 255 : 0) << 24
}

function Vc(a, b, c) {
    switch (a.cc & 24) {
        case 8:
            return b & c;
        case 16:
            return b | c;
        case 24:
            return b ^ c
    }
    return b
}

function ad(a) {
    for (var b = a.Ua << 1, c, d, e = 0; e < a.Rd; e++)
        for (var f = 0; f < a.R; f++) c = a.Xd[b], d = a.Xd[b | 1], a.w.send("screen-put-char", [e, f, c, a.Jb[d >> 4 & 15], a.Jb[d & 15]]), b += 2
}
k.Nd = function() {
    var a = (this.J - this.Ua) / this.R | 0,
        b = (this.J - this.Ua) % this.R;
    a = Math.min(this.Rd - 1, a);
    this.w.send("screen-update-cursor", [a, b])
};

function $c(a) {
    a.Wa ? (a.hb = 0, a.ob ? a.bb = a.Ja : a.bb = 524288) : ad(a)
}

function Zc(a) {
    a.Wa && !a.ob && (a.ge = 0, a.fe = 524288, $c(a))
}
k.Mb = function() {};

function Qc(a) {
    var b = 128 + (~a.Z & a.ab & 64);
    b -= a.Z & 64;
    b -= a.tb & 64;
    return b >>> 6
}

function Wc(a, b) {
    var c = Qc(a);
    if (~a.ab & 3) {
        var d = b - a.Ua;
        d &= a.ab << 13 | -24577;
        d <<= c;
        var e = d / a.sb | 0;
        d %= a.sb;
        switch (a.ab & 3) {
            case 2:
                e = e << 1 | b >> 13 & 1;
                break;
            case 1:
                e = e << 1 | b >> 14 & 1;
                break;
            case 0:
                e = e << 2 | b >> 13 & 3
        }
        return e * a.sb + d + (a.Ua << c)
    }
    return b << c
}

function bd(a, b) {
    a.qa & 128 && (b >>>= 1);
    b = Math.ceil(b / (1 + (a.qa & 31)));
    a.ab & 1 || (b <<= 1);
    a.ab & 2 || (b <<= 1);
    return b
}
k.Jd = function(a, b) {
    this.R = a;
    this.Rd = b;
    this.w.send("screen-set-size-text", [a, b])
};
k.Id = function(a, b, c, d, e) {
    this.Oa.lg && this.Oa.Ag === c && this.Fa === a && this.Pe === b && this.sb === d && this.Wg === e || (this.Fa = a, this.Pe = b, this.sb = d, this.Wg = e, this.Oa.Ag = c, this.Oa.lg = !0, this.Oa.jk = a, this.Oa.kk = b, this.w.send("screen-set-size-graphical", [a, b, d, e, c]))
};

function Yc(a) {
    if (!a.ob) {
        var b = Math.min(1 + a.Jc, a.uc),
            c = Math.min(1 + a.i, a.a);
        if (b && c)
            if (a.Wa) {
                b <<= 3;
                var d = a.W << 4;
                a.tb & 64 && (b >>>= 1, d >>>= 1);
                var e = a.W << 2;
                a.Z & 64 ? e <<= 1 : a.ab & 64 && (e >>>= 1);
                a.Id(b, bd(a, c), 8, d, Math.ceil(Oc[0] / e));
                Rc(a);
                Xc(a)
            } else a.qa & 128 && (c >>>= 1), c = c / (1 + (a.qa & 31)) | 0, b && c && a.Jd(b, c)
    }
}

function Xc(a) {
    a.Wa || ad(a);
    if (a.ob) a.Bc = [];
    else if (a.sb && a.Fa)
        if (!a.Sd || a.pc & 32) a.Bc = [], a.w.send("screen-clear");
        else {
            var b = a.Re,
                c = a.Qd;
            a.tb & 64 && (c >>>= 1);
            var d = a.Ne >> 5 & 3,
                e = Wc(a, b + d);
            b = e / a.sb | 0;
            var f = e % a.sb + c;
            e = bd(a, 1 + a.v);
            e = Math.min(e, a.Pe);
            var h = a.Pe - e;
            a.Bc = [];
            f = -f;
            for (var g = 0; f < a.Fa; f += a.sb, g++) a.Bc.push({
                ug: f,
                vg: 0,
                qf: 0,
                rf: b + g,
                ag: a.sb,
                $f: e
            });
            b = 0;
            a.tb & 32 || (b = Wc(a, d) + c);
            f = -b;
            for (g = 0; f < a.Fa; f += a.sb, g++) a.Bc.push({
                ug: f,
                vg: e,
                qf: 0,
                rf: g,
                ag: a.sb,
                $f: h
            })
        }
}

function Rc(a) {
    a.l |= 8;
    a.Re !== a.Ua && (a.Re = a.Ua, Xc(a))
}
k.Od = function() {
    this.w.send("screen-update-cursor-scanline", [this.Ae, this.Be])
};
k.tj = function(a) {
    if (-1 === this.m) this.m = a & 31, this.Sd !== (a & 32) && (this.Sd = a & 32, Xc(this));
    else {
        if (16 > this.m) this.Je[this.m] = a, this.tb & 64 || $c(this);
        else switch (this.m) {
            case 16:
                if (this.tb !== a) {
                    var b = this.tb;
                    this.tb = a;
                    var c = 0 < (a & 1);
                    this.ob || this.Wa === c || (this.Wa = c, this.w.send("screen-set-mode", this.Wa));
                    (b ^ a) & 64 && Zc(this);
                    Yc(this);
                    $c(this)
                }
                break;
            case 18:
                this.ce !== a && (this.ce = a, $c(this));
                break;
            case 19:
                this.Qd !== a && (this.Qd = a & 15, Xc(this));
                break;
            case 20:
                this.hd !== a && (this.hd = a, $c(this))
        }
        this.m = -1
    }
};
k.kh = function() {
    return this.m | this.Sd
};
k.sj = function() {
    return this.kh() & 255 | this.lh() << 8 & 65280
};
k.lh = function() {
    if (16 > this.m) return this.Je[this.m];
    switch (this.m) {
        case 16:
            return this.tb;
        case 18:
            return this.ce;
        case 19:
            return this.Qd;
        case 20:
            return this.hd
    }
    return -1
};
k.uj = function(a) {
    this.yf = a
};
k.wj = function(a) {
    this.Vd = a
};
k.vj = function() {
    return this.Vd
};
k.yj = function(a) {
    switch (this.Vd) {
        case 1:
            var b = this.pc;
            this.pc = a;
            (b ^ a) & 32 && Xc(this);
            break;
        case 2:
            this.Ud = a;
            break;
        case 4:
            this.Wd = a
    }
};
k.xj = function() {
    switch (this.Vd) {
        case 1:
            return this.pc;
        case 2:
            return this.Ud;
        case 4:
            return this.Wd;
        case 6:
            return 18
    }
    return 0
};
k.Aj = function(a) {
    this.rc = 3 * a;
    this.Ya &= 0
};
k.zj = function() {
    return this.Ya
};
k.Cj = function(a) {
    this.Xa = 3 * a;
    this.Ya |= 3
};
k.Bj = function() {
    return this.Xa / 3 | 0
};
k.Ej = function(a) {
    var b = this.Xa / 3 | 0,
        c = this.Xa % 3,
        d = this.Jb[b];
    a = 255 * (a & 63) / 63 | 0;
    d = 0 === c ? d & -16711681 | a << 16 : 1 === c ? d & -65281 | a << 8 : d & -256 | a;
    this.Jb[b] !== d && (this.Jb[b] = d, $c(this));
    this.Xa++
};
k.Dj = function() {
    var a = this.rc % 3,
        b = this.Jb[this.rc / 3 | 0];
    this.rc++;
    return (b >> 8 * (2 - a) & 255) / 255 * 63 | 0
};
k.Fj = function() {
    return this.yf
};
k.Hj = function(a) {
    this.tc = a
};
k.Gj = function() {
    return this.tc
};
k.Jj = function(a) {
    switch (this.tc) {
        case 0:
            this.Td = a;
            break;
        case 1:
            this.Fe = a;
            break;
        case 2:
            this.ka = a;
            break;
        case 3:
            this.cc = a;
            break;
        case 4:
            this.He = a;
            break;
        case 5:
            var b = this.Dc;
            this.Dc = a;
            (b ^ a) & 96 && Zc(this);
            break;
        case 6:
            this.Bb !== a && (this.Bb = a, Yc(this));
            break;
        case 7:
            this.oa = a;
            break;
        case 8:
            this.Ee = a
    }
};
k.Ij = function() {
    switch (this.tc) {
        case 0:
            return this.Td;
        case 1:
            return this.Fe;
        case 2:
            return this.ka;
        case 3:
            return this.cc;
        case 4:
            return this.He;
        case 5:
            return this.Dc;
        case 6:
            return this.Bb;
        case 7:
            return this.oa;
        case 8:
            return this.Ee
    }
    return 0
};
k.Lj = function(a) {
    this.O = a
};
k.Kj = function() {
    return this.O
};
k.Nj = function(a) {
    switch (this.O) {
        case 1:
            this.Jc !== a && (this.Jc = a, Yc(this));
            break;
        case 2:
            this.uc !== a && (this.uc = a, Yc(this));
            break;
        case 7:
            var b = this.i;
            this.i &= 255;
            this.i = this.i | a << 3 & 512 | a << 7 & 256;
            b != this.i && Yc(this);
            this.v = this.v & 767 | a << 4 & 256;
            b = this.a;
            this.a = this.a & 767 | a << 5 & 256;
            b !== this.a && Yc(this);
            Xc(this);
            break;
        case 8:
            this.Ne = a;
            Xc(this);
            break;
        case 9:
            this.qa = a;
            this.v = this.v & 511 | a << 3 & 512;
            b = this.a;
            this.a = this.a & 511 | a << 4 & 512;
            b !== this.a && Yc(this);
            Xc(this);
            break;
        case 10:
            this.Ae = a;
            this.Od();
            break;
        case 11:
            this.Be =
                a;
            this.Od();
            break;
        case 12:
            (this.Ua >> 8 & 255) !== a && (this.Ua = this.Ua & 255 | a << 8, Xc(this), ~this.ab & 3 && Zc(this));
            break;
        case 13:
            (this.Ua & 255) !== a && (this.Ua = this.Ua & 65280 | a, Xc(this), ~this.ab & 3 && Zc(this));
            break;
        case 14:
            this.J = this.J & 255 | a << 8;
            this.Nd();
            break;
        case 15:
            this.J = this.J & 65280 | a;
            this.Nd();
            break;
        case 18:
            (this.i & 255) !== a && (this.i = this.i & 768 | a, Yc(this));
            break;
        case 19:
            this.W !== a && (this.W = a, Yc(this), ~this.ab & 3 && Zc(this));
            break;
        case 20:
            this.Z !== a && (b = this.Z, this.Z = a, Yc(this), (b ^ a) & 64 && Zc(this));
            break;
        case 21:
            (this.a &
                255) !== a && (this.a = this.a & 768 | a, Yc(this));
            break;
        case 23:
            this.ab !== a && (b = this.ab, this.ab = a, Yc(this), (b ^ a) & 67 && Zc(this));
            break;
        case 24:
            this.v = this.v & 768 | a;
            Xc(this);
            break;
        default:
            this.O < this.qc.length && (this.qc[this.O] = a)
    }
};
k.Mj = function() {
    switch (this.O) {
        case 1:
            return this.Jc;
        case 2:
            return this.uc;
        case 7:
            return this.i >> 7 & 2 | this.a >> 5 & 8 | this.v >> 4 & 16 | this.i >> 3 & 64;
        case 8:
            return this.Ne;
        case 9:
            return this.qa;
        case 10:
            return this.Ae;
        case 11:
            return this.Be;
        case 12:
            return this.Ua & 255;
        case 13:
            return this.Ua >> 8;
        case 14:
            return this.J >> 8;
        case 15:
            return this.J & 255;
        case 18:
            return this.i & 255;
        case 19:
            return this.W;
        case 20:
            return this.Z;
        case 21:
            return this.a & 255;
        case 23:
            return this.ab;
        case 24:
            return this.v & 255
    }
    return this.O < this.qc.length ?
        this.qc[this.O] : 0
};
k.mh = function() {
    var a = this.l;
    this.Wa ? (this.l ^= 1, this.l &= 1) : (this.l & 1 && (this.l ^= 8), this.l ^= 1);
    this.m = -1;
    return a
};
k.Gi = function(a) {
    this.sc = a
};
k.Ii = function(a) {
    switch (this.sc) {
        case 1:
            this.rb = a;
            2560 < this.rb && (this.rb = 2560);
            break;
        case 2:
            this.C = a;
            1600 < this.C && (this.C = 1600);
            break;
        case 3:
            this.Hc = a;
            break;
        case 4:
            this.ob = 1 === (a & 1);
            this.Za = a;
            break;
        case 5:
            this.dc = a << 16;
            break;
        case 9:
            this.kg = this.rb * (15 === this.Hc ? 16 : this.Hc) / 8 * a, $c(this)
    }!this.ob || this.rb && this.C || (this.ob = !1);
    this.ob && 4 === this.sc && (this.Id(this.rb, this.C, this.Hc, this.rb, this.C), this.w.send("screen-set-mode", !0), this.Ce = this.Wa = !0);
    this.ob || (this.dc = 0);
    Xc(this)
};
k.Hi = function() {
    return cd(this, this.sc)
};

function cd(a, b) {
    switch (b) {
        case 0:
            return 45248;
        case 1:
            return a.Za & 2 ? 2560 : a.rb;
        case 2:
            return a.Za & 2 ? 1600 : a.C;
        case 3:
            return a.Za & 2 ? 32 : a.Hc;
        case 4:
            return a.Za;
        case 5:
            return a.dc >>> 16;
        case 6:
            return a.Fa ? a.Fa : 1;
        case 8:
            return 0;
        case 10:
            return a.Ja / 65536 | 0
    }
    return 255
};

function dd(a, b) {
    this.j = a;
    this.w = b;
    this.ed = this.Nc = !1;
    this.Ue = !0;
    this.xd = this.lc = this.kc = 0;
    this.qa = !0;
    this.W = this.R = this.C = this.O = this.Z = this.J = this.Oe = !1;
    this.ra = new ob(1024);
    this.i = 0;
    this.cd = 100;
    this.ue = 4;
    this.m = !1;
    this.a = new ob(1024);
    this.v = this.l = !1;
    this.w.register("keyboard-code", function(a) {
        this.Oe && (this.ra.push(a), this.xb())
    }, this);
    this.w.register("mouse-click", function(a) {
        this.Ue && this.ed && (this.xd = a[0] | a[2] << 1 | a[1] << 2, this.Nc && ed(this, 0, 0))
    }, this);
    this.w.register("mouse-delta", function(a) {
        var b =
            a[1];
        if (this.Ue && this.ed) {
            var c = this.ue * this.cd / 80;
            this.kc += a[0] * c;
            this.lc += b * c;
            this.Nc && (a = this.kc | 0, b = this.lc | 0, a || b) && (this.kc -= a, this.lc -= b, ed(this, a, b))
        }
    }, this);
    this.w.register("mouse-wheel", function() {}, this);
    this.g = 5;
    this.ka = this.oa = !1;
    m(a.o, 96, this, this.ak);
    m(a.o, 100, this, this.ck);
    n(a.o, 96, this, this.bk);
    n(a.o, 100, this, this.dk)
}
k = dd.prototype;
k.Sa = function() {
    var a = [];
    a[0] = this.Nc;
    a[1] = this.ed;
    a[2] = this.Ue;
    a[3] = this.kc;
    a[4] = this.lc;
    a[5] = this.xd;
    a[6] = this.qa;
    a[7] = this.Oe;
    a[8] = this.J;
    a[9] = this.Z;
    a[10] = this.O;
    a[11] = this.C;
    a[12] = this.R;
    a[13] = this.W;
    a[15] = this.i;
    a[16] = this.cd;
    a[17] = this.ue;
    a[18] = this.m;
    a[20] = this.g;
    a[21] = this.oa;
    a[22] = this.ka;
    return a
};
k.fb = function(a) {
    this.Nc = a[0];
    this.ed = a[1];
    this.Ue = a[2];
    this.kc = a[3];
    this.lc = a[4];
    this.xd = a[5];
    this.qa = a[6];
    this.Oe = a[7];
    this.J = a[8];
    this.Z = a[9];
    this.O = a[10];
    this.C = a[11];
    this.R = a[12];
    this.W = a[13];
    this.i = a[15];
    this.cd = a[16];
    this.ue = a[17];
    this.m = a[18];
    this.g = a[20];
    this.oa = a[21];
    this.ka = a[22];
    this.v = this.l = !1;
    this.ra.clear();
    this.a.clear();
    this.w.send("mouse-enable", this.ed)
};
k.xb = function() {
    this.l || (this.ra.length ? fd(this) : this.a.length && gd(this))
};

function gd(a) {
    a.l = !0;
    a.v = !0;
    a.g & 2 && (Pb(a.j, 12), a.j.Cb(12))
}

function fd(a) {
    a.l = !0;
    a.v = !1;
    a.g & 1 && (Pb(a.j, 1), a.j.Cb(1))
}

function ed(a, b, c) {
    a.a.push((0 > c) << 5 | (0 > b) << 4 | 8 | a.xd);
    a.a.push(b);
    a.a.push(c);
    a.xb()
}
k.ak = function() {
    this.l = !1;
    if (!this.ra.length && !this.a.length) return this.i;
    this.v ? (Pb(this.j, 12), this.i = this.a.shift()) : (Pb(this.j, 1), this.i = this.ra.shift());
    (this.ra.length || this.a.length) && this.xb();
    return this.i
};
k.ck = function() {
    var a = 16;
    this.l && (a |= 1);
    this.v && (a |= 32);
    return a
};
k.bk = function(a) {
    if (this.ka) this.g = a, this.ka = !1;
    else if (this.oa) this.oa = !1, this.a.clear(), this.a.push(a), gd(this);
    else if (this.Z) this.Z = !1, this.a.clear(), this.a.push(250), this.cd = a, this.cd || (this.cd = 100), gd(this);
    else if (this.W) this.W = !1, this.a.clear(), this.a.push(250), this.ue = 3 < a ? 4 : 1 << a, gd(this);
    else if (this.O) this.O = !1, this.ra.push(250), fd(this);
    else if (this.C) this.C = !1, this.ra.push(250), fd(this), a || this.ra.push(2);
    else if (this.R) this.R = !1, this.ra.push(250), fd(this);
    else if (this.J) {
        if (this.J = !1,
            this.Ue) {
            this.ra.clear();
            this.a.clear();
            this.a.push(250);
            switch (a) {
                case 230:
                    this.m = !1;
                    break;
                case 231:
                    this.m = !0;
                    break;
                case 232:
                    this.W = !0;
                    break;
                case 233:
                    ed(this, 0, 0);
                    break;
                case 235:
                    ed(this, 0, 0);
                    break;
                case 242:
                    this.a.push(0);
                    this.a.push(0);
                    this.xd = this.kc = this.lc = 0;
                    break;
                case 243:
                    this.Z = !0;
                    break;
                case 244:
                    this.ed = this.Nc = !0;
                    this.w.send("mouse-enable", !0);
                    this.xd = this.kc = this.lc = 0;
                    break;
                case 245:
                    this.Nc = !1;
                    break;
                case 246:
                    this.Nc = !1;
                    this.cd = 100;
                    this.m = !1;
                    this.ue = 4;
                    break;
                case 255:
                    this.a.push(170), this.a.push(0),
                        this.ed = !0, this.w.send("mouse-enable", !0), this.Nc = !1, this.cd = 100, this.m = !1, this.ue = 4, this.xd = this.kc = this.lc = 0
            }
            gd(this)
        }
    } else {
        this.a.clear();
        this.ra.clear();
        this.ra.push(250);
        switch (a) {
            case 237:
                this.O = !0;
                break;
            case 240:
                this.C = !0;
                break;
            case 242:
                this.ra.push(171);
                this.ra.push(83);
                break;
            case 243:
                this.R = !0;
                break;
            case 244:
                this.Oe = !0;
                break;
            case 245:
                this.Oe = !1;
                break;
            case 255:
                this.ra.clear(), this.ra.push(250), this.ra.push(170), this.ra.push(0)
        }
        fd(this)
    }
};
k.dk = function(a) {
    switch (a) {
        case 32:
            this.ra.clear();
            this.a.clear();
            this.ra.push(this.g);
            fd(this);
            break;
        case 96:
            this.ka = !0;
            break;
        case 211:
            this.oa = !0;
            break;
        case 212:
            this.J = !0;
            break;
        case 167:
            this.g |= 32;
            break;
        case 168:
            this.g &= -33;
            break;
        case 169:
            this.ra.clear();
            this.a.clear();
            this.ra.push(0);
            fd(this);
            break;
        case 170:
            this.ra.clear();
            this.a.clear();
            this.ra.push(85);
            fd(this);
            break;
        case 171:
            this.ra.clear();
            this.a.clear();
            this.ra.push(0);
            fd(this);
            break;
        case 173:
            this.g |= 16;
            break;
        case 174:
            this.g &= -17;
            break;
        case 254:
            throw a =
                this.j, a.reset(), bb(a), 233495534;
    }
};

function hd(a, b) {
    this.g = this.a = this.aa = this.v = this.m = 0;
    this.i = -1;
    this.sa = b;
    this.O = void 0 === this.sa;
    this.Ca = void 0;
    this.name = this.O ? "master" : "slave ";
    this.R = !1;
    this.W = this.state = 0;
    this.C = 1;
    this.J = this.Z = 0;
    this.j = a;
    this.O ? (this.Ca = new hd(this.j, this), this.l = function() {
        if (0 <= this.i) ab(this.j);
        else {
            var a = this.a & this.m;
            if (a) {
                a &= -a;
                var b = this.Z ? this.m : -1;
                this.aa && (this.aa & -this.aa & b) <= a || (this.i = eb(a), ab(this.j))
            }
        }
    }, this.lf = function() {
        if (-1 !== this.i)
            if (0 === this.a) this.i = -1, id(this.j, this.v | 7);
            else {
                var a =
                    1 << this.i;
                0 === (this.J & a) && (this.a &= ~a);
                this.C || (this.aa |= a);
                2 === this.i ? this.Ca.lf() : id(this.j, this.v | this.i);
                this.i = -1;
                this.l()
            }
    }) : (this.l = function() {
        if (0 <= this.i) ab(this.j);
        else {
            var a = this.a & this.m;
            if (a) {
                a &= -a;
                var b = this.Z ? this.m : -1;
                this.aa && (this.aa & -this.aa & b) <= a || (this.i = eb(a), this.sa.ef(2))
            }
        }
    }, this.lf = function() {
        if (-1 !== this.i)
            if (0 === this.a) this.i = -1, this.sa.g &= -5, id(this.j, this.v | 7);
            else {
                var a = 1 << this.i;
                0 === (this.J & a) && (this.a &= ~a);
                this.C || (this.aa |= a);
                this.sa.g &= -5;
                id(this.j, this.v | this.i);
                this.i = -1;
                this.l()
            }
    });
    this.O ? (a = 32, b = 1232) : (a = 160, b = 1233);
    n(this.j.o, a, this, this.Ki);
    m(this.j.o, a, this, this.Ji);
    n(this.j.o, a | 1, this, this.Mi);
    m(this.j.o, a | 1, this, this.Li);
    n(this.j.o, b, this, this.$j);
    m(this.j.o, b, this, this.Zj);
    this.O ? (this.ef = function(a) {
        8 <= a ? this.Ca.ef(a - 8) : (a = 1 << a, 0 === (this.g & a) && (this.a |= a, this.g |= a, this.l()))
    }, this.sf = function(a) {
        8 <= a ? this.Ca.sf(a - 8) : (a = 1 << a, this.g & a && (this.g &= ~a, this.a &= ~a, this.l()))
    }) : (this.ef = function(a) {
            a = 1 << a;
            0 === (this.g & a) && (this.a |= a, this.g |= a, this.l())
        },
        this.sf = function(a) {
            a = 1 << a;
            this.g & a && (this.g &= ~a, this.a &= ~a, this.l())
        })
}
k = hd.prototype;
k.Sa = function() {
    var a = [];
    a[0] = this.m;
    a[1] = this.v;
    a[2] = this.aa;
    a[3] = this.a;
    a[4] = this.O;
    a[5] = this.Ca;
    a[6] = this.R;
    a[7] = this.state;
    a[8] = this.W;
    a[9] = this.C;
    a[10] = this.J;
    return a
};
k.fb = function(a) {
    this.m = a[0];
    this.v = a[1];
    this.aa = a[2];
    this.a = a[3];
    this.O = a[4];
    this.Ca = a[5];
    this.R = a[6];
    this.state = a[7];
    this.W = a[8];
    this.C = a[9];
    this.J = a[10]
};
k.Ki = function(a) {
    if (a & 16) this.g = this.m = this.a = this.aa = 0, this.C = 1, this.i = -1, this.R = a & 1, this.state = 1;
    else if (a & 8) a & 2 && (this.W = a & 1), a & 64 && (this.Z = 32 === (a & 32));
    else {
        var b = a >> 5;
        1 === b ? this.aa &= this.aa - 1 : 3 === b ? this.aa &= ~(1 << (a & 7)) : 192 !== (a & 200) && (this.aa &= this.aa - 1);
        this.l()
    }
};
k.Ji = function() {
    return this.W ? this.aa : this.a
};
k.Mi = function(a) {
    0 === this.state ? this.R ? (this.R = !1, this.C = a & 2) : (this.m = ~a, this.l()) : 1 === this.state ? (this.v = a, this.state++) : 2 === this.state && (this.state = 0)
};
k.Li = function() {
    return ~this.m & 255
};
k.Zj = function() {
    return this.J
};
k.$j = function(a) {
    this.J = a
};

function jd(a) {
    this.j = a;
    this.be = 0;
    this.ha = new Uint8Array(128);
    this.C = this.a = Date.now();
    this.l = 0;
    this.J = !1;
    this.v = .9765625;
    this.m = 38;
    this.g = 2;
    this.pg = this.i = 0;
    n(a.o, 112, this, function(a) {
        this.be = a & 127;
        this.pg = a >> 7
    });
    n(a.o, 113, this, this.Th);
    m(a.o, 113, this, this.Sh)
}
k = jd.prototype;
k.Sa = function() {
    var a = [];
    a[0] = this.be;
    a[1] = this.ha;
    a[2] = this.a;
    a[3] = this.C;
    a[4] = this.l;
    a[6] = this.J;
    a[7] = this.v;
    a[8] = this.m;
    a[9] = this.g;
    a[10] = this.i;
    a[11] = this.pg;
    return a
};
k.fb = function(a) {
    this.be = a[0];
    this.ha = a[1];
    this.a = a[2];
    this.C = a[3];
    this.l = a[4];
    this.J = a[6];
    this.v = a[7];
    this.m = a[8];
    this.g = a[9];
    this.i = a[10];
    this.pg = a[11]
};
k.Ic = function(a) {
    a = Date.now();
    this.a += a - this.C;
    this.C = a;
    this.J && this.l < a && (this.j.Cb(8), this.i |= 192, this.l += this.v * Math.ceil((a - this.l) / this.v))
};

function kd(a, b) {
    if (a.g & 4) a = b;
    else {
        a = b;
        for (var c = b = 0, d; a;) d = a % 10, c |= d << 4 * b, b++, a = (a - d) / 10;
        a = c
    }
    return a
}
k.Sh = function() {
    switch (this.be) {
        case 0:
            return kd(this, (new Date(this.a)).getUTCSeconds());
        case 2:
            return kd(this, (new Date(this.a)).getUTCMinutes());
        case 4:
            return kd(this, (new Date(this.a)).getUTCHours());
        case 7:
            return kd(this, (new Date(this.a)).getUTCDate());
        case 8:
            return kd(this, (new Date(this.a)).getUTCMonth() + 1);
        case 9:
            return kd(this, (new Date(this.a)).getUTCFullYear() % 100);
        case 10:
            return this.m;
        case 11:
            return this.g;
        case 12:
            Pb(this.j, 8);
            var a = this.i;
            this.i &= -241;
            return a;
        case 13:
            return 255;
        case 50:
            return kd(this,
                (new Date(this.a)).getUTCFullYear() / 100 | 0);
        default:
            return this.ha[this.be]
    }
};
k.Th = function(a) {
    switch (this.be) {
        case 10:
            this.m = a & 127;
            this.v = 1E3 / (32768 >> (this.m & 15) - 1);
            break;
        case 11:
            this.g = a, this.g & 64 && (this.l = Date.now())
    }
    this.J = 64 === (this.g & 64) && 0 < (this.m & 15)
};

function ld(a, b) {
    this.w = b;
    this.j = a;
    this.Eb = 4;
    this.Uc = this.Kc = 0;
    this.wd = 96;
    this.rd = this.gg = 0;
    this.Sc = 1;
    this.ua = this.Uf = this.og = this.Hf = 0;
    this.input = new ob(4096);
    this.a = [];
    this.ua = 4;
    this.w.register("serial0-input", function(a) {
        this.input.push(a);
        this.wd |= 1;
        this.Eb |= 4096;
        md(this)
    }, this);
    a = a.o;
    n(a, 1016, this, function(a) {
        nd(this, a)
    }, function(a) {
        nd(this, a & 255);
        nd(this, a >> 8)
    });
    n(a, 1017, this, function(a) {
        this.Uc & 128 ? this.Kc = this.Kc & 255 | a << 8 : (this.rd = a & 15, md(this))
    });
    m(a, 1016, this, function() {
        if (this.Uc & 128) return this.Kc &
            255;
        var a = this.input.shift();
        0 === this.input.length && (this.wd &= -2, this.Eb &= -4097, md(this));
        return a
    });
    m(a, 1017, this, function() {
        return this.Uc & 128 ? this.Kc >> 8 : this.rd & 15
    });
    m(a, 1018, this, function() {
        var a = this.Sc & 15 | 192;
        2 == this.Sc && (this.Eb &= -5, md(this));
        return a
    });
    n(a, 1018, this, function(a) {
        this.gg = a
    });
    m(a, 1019, this, function() {
        return this.Uc
    });
    n(a, 1019, this, function(a) {
        this.Uc = a
    });
    m(a, 1020, this, function() {
        return this.Hf
    });
    n(a, 1020, this, function(a) {
        this.Hf = a
    });
    m(a, 1021, this, function() {
        return this.wd
    });
    n(a, 1021, this, function() {});
    m(a, 1022, this, function() {
        return this.og
    });
    n(a, 1022, this, function() {});
    m(a, 1023, this, function() {
        return this.Uf
    });
    n(a, 1023, this, function(a) {
        this.Uf = a
    })
}
ld.prototype.Sa = function() {
    var a = [];
    a[0] = this.Eb;
    a[1] = this.Kc;
    a[2] = this.Uc;
    a[3] = this.wd;
    a[4] = this.gg;
    a[5] = this.rd;
    a[6] = this.Sc;
    a[7] = this.Hf;
    a[8] = this.og;
    a[9] = this.Uf;
    a[10] = this.ua;
    return a
};
ld.prototype.fb = function(a) {
    this.Eb = a[0];
    this.Kc = a[1];
    this.Uc = a[2];
    this.wd = a[3];
    this.gg = a[4];
    this.rd = a[5];
    this.Sc = a[6];
    this.Hf = a[7];
    this.og = a[8];
    this.Uf = a[9];
    this.ua = a[10]
};

function md(a) {
    a.Eb & 4096 && a.rd & 1 ? (a.Sc = 12, a.j.Cb(a.ua)) : a.Eb & 4 && a.rd & 2 ? (a.Sc = 2, a.j.Cb(a.ua)) : a.Eb & 1 && a.rd & 8 ? (a.Sc = 0, a.j.Cb(a.ua)) : (a.Sc = 1, Pb(a.j, a.ua))
}

function nd(a, b) {
    if (a.Uc & 128) a.Kc = a.Kc & -256 | b;
    else if (a.Eb |= 4, md(a), 255 !== b) {
        var c = String.fromCharCode(b);
        a.w.send("serial0-output-char", c);
        a.a.push(b);
        "\n" === c && (a.w.send("serial0-output-line", String.fromCharCode.apply("", a.a)), a.a = [])
    }
};

function od(a) {
    this.message = a
}
od.prototype = Error();

function pd(a, b) {
    if ("object" !== typeof a || null === a || a instanceof Array) return a;
    if (a.BYTES_PER_ELEMENT) {
        var c = new Uint8Array(a.buffer, a.byteOffset, a.length * a.BYTES_PER_ELEMENT);
        return {
            __state_type__: a.constructor.name,
            buffer_id: b.push(c) - 1
        }
    }
    a = a.Sa();
    c = [];
    for (var d = 0; d < a.length; d++) c[d] = pd(a[d], b);
    return c
}

function qd(a, b, c) {
    if ("object" !== typeof b || null === b) return b;
    if (a instanceof Array) return b;
    var d = b.__state_type__;
    if (void 0 === d) {
        d = a.Sa();
        for (var e = 0; e < b.length; e++) b[e] = qd(d[e], b[e], c);
        a.fb(b);
        return a
    }
    a = {
        Uint8Array: Uint8Array,
        Int8Array: Int8Array,
        Uint16Array: Uint16Array,
        Int16Array: Int16Array,
        Uint32Array: Uint32Array,
        Int32Array: Int32Array,
        Float32Array: Float32Array,
        Float64Array: Float64Array
    }[d];
    b = c.ui[b.buffer_id];
    return 1048576 <= b.length && a === Uint8Array ? new Uint8Array(c.Sg, b.offset, b.length) : new a(c.Sg.slice(b.offset,
        b.offset + b.length))
}
q.prototype.we = function() {
    for (var a = [], b = pd(this, a), c = [], d = 0, e = 0; e < a.length; e++) {
        var f = a[e].byteLength;
        c[e] = {
            offset: d,
            length: f
        };
        d += f;
        d = d + 3 & -4
    }
    b = JSON.stringify({
        buffer_infos: c,
        state: b
    });
    e = 16 + 2 * b.length;
    e = e + 3 & -4;
    var h = e + d;
    d = new ArrayBuffer(h);
    var g = new Int32Array(d, 0, 4);
    f = new Uint16Array(d, 16, b.length);
    var p = new Uint8Array(d, e);
    g[0] = -2039052682;
    g[1] = 5;
    g[2] = h;
    g[3] = 2 * b.length;
    for (e = 0; e < b.length; e++) f[e] = b.charCodeAt(e);
    for (e = 0; e < a.length; e++) p.set(a[e], c[e].offset);
    return d
};
q.prototype.Hd = function(a) {
    var b = a.byteLength;
    if (16 > b) throw new od("Invalid length: " + b);
    var c = new Int32Array(a, 0, 4);
    if (-2039052682 !== c[0]) throw new od("Invalid header: " + jb(c[0] >>> 0));
    if (5 !== c[1]) throw new od("Version mismatch: dump=" + c[1] + " we=5");
    if (c[2] !== b) throw new od("Length doesn't match header: real=" + b + " header=" + c[2]);
    c = c[3];
    if (0 > c || c + 12 >= b || c % 2) throw new od("Invalid info block length: " + c);
    var d = c / 2,
        e = new Uint16Array(a, 16, d),
        f = "";
    for (b = 0; b < d - 8;) f += String.fromCharCode(e[b++], e[b++], e[b++],
        e[b++], e[b++], e[b++], e[b++], e[b++]);
    for (; b < d;) f += String.fromCharCode(e[b++]);
    b = JSON.parse(f);
    d = b.state;
    e = b.buffer_infos;
    c = c + 19 & -4;
    for (b = 0; b < e.length; b++) e[b].offset += c;
    qd(this, d, {
        Sg: a,
        ui: e
    })
};

function rd(a, b) {
    this.j = a;
    this.wb = a.G.wb;
    this.w = b;
    this.w.register("net0-receive", function(a) {
        if (!(this.K & 1) && (this.w.send("eth-receive-end", [a.length]), this.Tf & 16 || this.Tf & 4 && 255 === a[0] && 255 === a[1] && 255 === a[2] && 255 === a[3] && 255 === a[4] && 255 === a[5] || !(this.Tf & 8 && 1 === (a[0] & 1) || a[0] !== this.memory[0] || a[1] !== this.memory[2] || a[2] !== this.memory[4] || a[3] !== this.memory[6] || a[4] !== this.memory[8] || a[5] !== this.memory[10]))) {
            var b = this.jd << 8,
                c = Math.max(60, a.length) + 4,
                d = b + 4,
                g = this.jd + 1 + (c >> 8);
            if (b + c > this.memory.length) {
                var p =
                    this.memory.length - d;
                this.memory.set(a.subarray(0, p), d);
                this.memory.set(a.subarray(p), 76)
            } else if (this.memory.set(a, d), 60 > a.length)
                for (a = a.length; 60 > a; a++) this.memory[d + a] = 0;
            g >= this.Ed && (g += this.qe - this.Ed);
            this.memory[b] = 1;
            this.memory[b + 1] = g;
            this.memory[b + 2] = c;
            this.memory[b + 3] = c >> 8;
            this.jd = g;
            sd(this, 1)
        }
    }, this);
    this.port = 768;
    this.name = "ne2k";
    this.pe = [236, 16, 41, 128, 3, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, this.port & 255 | 1, this.port >> 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 244, 26, 0, 17, 0, 0, 184, 254, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 1, 0, 0
    ];
    this.Hb = 40;
    this.nc = [{
        size: 32
    }];
    this.Af = this.aa = 0;
    this.K = 1;
    this.Vf = this.Ld = this.Zb = this.Ke = 0;
    this.memory = new Uint8Array(32768);
    this.Tf = 0;
    this.sk = 1;
    b = [0, 34, 21, 255 * Math.random() | 0, 255 * Math.random() | 0, 255 * Math.random() | 0];
    for (var c = 0; 6 > c; c++) this.memory[c << 1] = this.memory[c << 1 | 1] = b[c];
    this.memory[14] = this.memory[15] = 87;
    this.nb = 0;
    this.qe = 64;
    this.Ed = 128;
    this.pf = this.jd = 76;
    b = a.o;
    m(b, this.port | 0, this, function() {
        return this.K
    });
    n(b, this.port | 0, this, function(a) {
        this.K = a & -5;
        this.K & 1 || (a | 24 &&
            0 === this.Zb && sd(this, 64), a & 4 && (a = this.Vf << 8, a = this.memory.subarray(a, a + this.Ld), this.w.send("net0-send", a), this.w.send("eth-transmit-end", [a.length]), sd(this, 2)))
    });
    m(b, this.port | 13, this, function() {
        return 0
    });
    m(b, this.port | 14, this, function() {
        return 0
    });
    m(b, this.port | 15, this, function() {
        return 0
    });
    m(b, this.port | 31, this, function() {
        0 === (this.K & 192) && sd(this, 128);
        return 0
    });
    n(b, this.port | 31, this, function() {});
    n(b, this.port | 1, this, function(a) {
        0 === (this.K & 192) && (this.qe = a)
    });
    n(b, this.port | 2, this, function(a) {
        0 ===
            (this.K & 192) && (this.Ed = a)
    });
    m(b, this.port | 7, this, function() {
        return 0 === (this.K & 192) ? this.aa : this.jd
    });
    n(b, this.port | 7, this, function(a) {
        0 === (this.K & 192) ? (this.aa &= ~a, td(this)) : this.jd = a
    });
    n(b, this.port | 13, this, function() {});
    n(b, this.port | 14, this, function(a) {
        0 === (this.K & 192) && (this.Ke = a)
    });
    n(b, this.port | 10, this, function(a) {
        0 === (this.K & 192) && (this.Zb = this.Zb & 65280 | a & 255)
    });
    n(b, this.port | 11, this, function(a) {
        0 === (this.K & 192) && (this.Zb = this.Zb & 255 | a << 8 & 65280)
    });
    n(b, this.port | 8, this, function(a) {
        0 === (this.K &
            192) && (this.nb = this.nb & 65280 | a & 255)
    });
    n(b, this.port | 9, this, function(a) {
        0 === (this.K & 192) && (this.nb = this.nb & 255 | a << 8 & 65280)
    });
    n(b, this.port | 15, this, function(a) {
        0 === (this.K & 192) && (this.Af = a, td(this))
    });
    m(b, this.port | 3, this, function() {
        return 0 === (this.K & 192) ? this.pf : 0
    });
    n(b, this.port | 3, this, function(a) {
        0 === (this.K & 192) && (this.pf = a)
    });
    m(b, this.port | 4, this, function() {
        return 0 === (this.K & 192) ? this.sk : 0
    });
    n(b, this.port | 4, this, function(a) {
        0 === (this.K & 192) && (this.Vf = a)
    });
    n(b, this.port | 5, this, function(a) {
        0 ===
            (this.K & 192) && (this.Ld = this.Ld & -256 | a)
    });
    n(b, this.port | 6, this, function(a) {
        0 === (this.K & 192) && (this.Ld = this.Ld & 255 | a << 8)
    });
    m(b, this.port | 12, this, function() {
        return 0 === (this.K & 192) ? 9 : 0
    });
    n(b, this.port | 12, this, function(a) {
        this.Tf = a
    });
    m(b, this.port | 16, this, this.Wh, this.Ig, this.Vh);
    n(b, this.port | 16, this, this.Jg, this.Jg, this.Xh);
    Zb(a.G.wb, this)
}
k = rd.prototype;
k.Sa = function() {
    var a = [];
    a[0] = this.aa;
    a[1] = this.Af;
    a[2] = this.K;
    a[3] = this.Ke;
    a[4] = this.Zb;
    a[5] = this.Ld;
    a[6] = this.Vf;
    a[7] = this.nb;
    a[8] = this.qe;
    a[9] = this.jd;
    a[10] = this.pf;
    return a
};
k.fb = function(a) {
    this.aa = a[0];
    this.Af = a[1];
    this.K = a[2];
    this.Ke = a[3];
    this.Zb = a[4];
    this.Ld = a[5];
    this.Vf = a[6];
    this.nb = a[7];
    this.qe = a[8];
    this.jd = a[9];
    this.pf = a[10]
};

function sd(a, b) {
    a.aa |= b;
    td(a)
}

function td(a) {
    a.Af & a.aa ? a.wb.xb(a.Hb) : rc(a.wb, a.Hb)
}

function ud(a, b) {
    16 < a.nb && 16384 > a.nb || (a.Zb--, a.memory[a.nb++] = b, a.nb >= a.Ed << 8 && (a.nb += a.qe - a.Ed << 8), 0 === a.Zb && sd(a, 64))
}
k.Jg = function(a) {
    ud(this, a);
    this.Ke & 1 && ud(this, a >> 8)
};
k.Xh = function(a) {
    ud(this, a);
    ud(this, a >> 8);
    ud(this, a >> 16);
    ud(this, a >> 24)
};

function vd(a) {
    var b = a.memory[a.nb++];
    a.Zb--;
    a.nb >= a.Ed << 8 && (a.nb += a.qe - a.Ed << 8);
    0 === a.Zb && sd(a, 64);
    return b
}
k.Wh = function() {
    return this.Ig() & 255
};
k.Ig = function() {
    return this.Ke & 1 ? vd(this) | vd(this) << 8 : vd(this)
};
k.Vh = function() {
    return vd(this) | vd(this) << 8 | vd(this) << 16 | vd(this) << 24
};
var wd = new Uint8Array(256),
    xd = [],
    zd = [],
    Ad = [],
    Bd = [];

function Cd(a, b) {
    this.j = a;
    this.bg = !1;
    this.w = b;
    this.Va = new ob(64);
    this.Ea = new ob(64);
    this.l = this.C = this.Tb = this.oa = 0;
    this.ka = new Uint8Array(256);
    this.he = !1;
    this.hf = 0;
    this.Xb = this.Wb = this.yc = this.xc = !1;
    this.Lc = [new pb, new pb];
    this.O = 2;
    this.Bb = 1024;
    this.Ub = a.G.Ub;
    this.Nb = this.wc = this.m = this.g = this.v = this.W = 0;
    this.hc = 1;
    this.ld = 5;
    this.gc = !1;
    this.a = new ArrayBuffer(65536);
    this.dc = new Int8Array(this.a);
    this.R = new Uint8Array(this.a);
    this.cc = new Int16Array(this.a);
    this.pc = new Uint16Array(this.a);
    this.rc = new nb(this.a);
    this.Vb = this.J = !1;
    this.ve = 22050;
    this.i = 1;
    this.Fa = 170;
    this.qa = 0;
    this.gd = new Uint8Array(256);
    this.Z = new ob(64);
    this.Ya = this.Xa = this.uc = 0;
    this.mi = !1;
    this.ua = 5;
    this.sd = new Uint8Array(16);
    this.nf = 48E3;
    a.o.te(544, this, this.Ni, this.Pi, this.Ri, this.Ti);
    a.o.te(548, this, this.Vi, this.Xi);
    m(a.o, 550, this, this.Zi);
    m(a.o, 551, this, this.aj);
    m(a.o, 552, this, this.cj);
    m(a.o, 553, this, this.ej);
    m(a.o, 554, this, this.gj);
    m(a.o, 555, this, this.ij);
    m(a.o, 556, this, this.kj);
    m(a.o, 557, this, this.mj);
    a.o.te(558, this, this.oj, this.qj);
    a.o.Gc(544, this, this.Oi, this.Qi, this.Si, this.Ui);
    a.o.Gc(548, this, this.Wi, this.Yi);
    n(a.o, 550, this, this.$i);
    n(a.o, 551, this, this.bj);
    a.o.Gc(552, this, this.dj, this.fj);
    n(a.o, 554, this, this.hj);
    n(a.o, 555, this, this.jj);
    n(a.o, 556, this, this.lj);
    n(a.o, 557, this, this.nj);
    n(a.o, 558, this, this.pj);
    n(a.o, 559, this, this.rj);
    a.o.te(816, this, this.Vj, this.Xj);
    a.o.Gc(816, this, this.Wj, this.Yj);
    this.Ub.Wf.push({
        wf: this.qc,
        xg: this
    });
    b.register("speaker-tell-samplerate", function(a) {
        this.nf = a
    }, this);
    b.send("speaker-request-samplerate");
    b.register("speaker-request-data", function(a) {
        Dd(this, a)
    }, this);
    b.register("cpu-stop", function() {
        this.bg = !0;
        b.send("speaker-update-enable", !1)
    }, this);
    b.register("cpu-run", function() {
        this.bg = !1;
        b.send("speaker-update-enable", !this.Vb)
    }, this);
    Ed(this)
}

function Ed(a) {
    a.Va.clear();
    a.Ea.clear();
    a.Tb = 0;
    a.C = 0;
    a.he = !1;
    a.hf = 0;
    a.xc = !1;
    a.yc = !1;
    a.Wb = !1;
    a.Xb = !1;
    a.Lc[0].clear();
    a.Lc[1].clear();
    a.O = 2;
    a.W = 0;
    a.v = 0;
    a.g = 0;
    a.m = 0;
    a.wc = 0;
    a.Nb = 0;
    a.gc = !1;
    a.R.fill(0);
    a.J = !1;
    a.Vb = !1;
    a.Fa = 170;
    a.qa = 0;
    a.ve = 22050;
    a.i = 1;
    Fd(a, 1);
    a.sd.fill(0);
    a.gd.fill(0);
    a.gd[5] = 1;
    a.gd[9] = 248
}
k = Cd.prototype;
k.Sa = function() {
    var a = [];
    a[2] = this.oa;
    a[3] = this.Tb;
    a[4] = this.C;
    a[5] = this.l;
    a[6] = this.ka;
    a[7] = this.he;
    a[8] = this.hf;
    a[9] = this.xc;
    a[10] = this.yc;
    a[11] = this.Wb;
    a[12] = this.Xb;
    a[14] = this.O;
    a[15] = this.W;
    a[16] = this.v;
    a[17] = this.g;
    a[18] = this.m;
    a[19] = this.wc;
    a[20] = this.Nb;
    a[21] = this.hc;
    a[22] = this.ld;
    a[23] = this.gc;
    a[24] = this.R;
    a[25] = this.J;
    a[26] = this.Vb;
    a[27] = this.ve;
    a[28] = this.i;
    a[29] = this.Fa;
    a[30] = this.qa;
    a[31] = this.gd;
    a[33] = this.Jc;
    a[34] = this.ua;
    a[35] = this.sd;
    a[36] = this.nf;
    return a
};
k.fb = function(a) {
    this.oa = a[2];
    this.Tb = a[3];
    this.C = a[4];
    this.l = a[5];
    this.ka = a[6];
    this.he = a[7];
    this.hf = a[8];
    this.xc = a[9];
    this.yc = a[10];
    this.Wb = a[11];
    this.Xb = a[12];
    this.O = a[14];
    this.W = a[15];
    this.v = a[16];
    this.g = a[17];
    this.m = a[18];
    this.wc = a[19];
    this.Nb = a[20];
    this.hc = a[21];
    this.ld = a[22];
    this.gc = a[23];
    this.R = a[24];
    this.J = a[25];
    this.Vb = a[26];
    this.ve = a[27];
    this.i = a[28];
    this.Fa = a[29];
    this.qa = a[30];
    this.gd = a[31];
    this.Jc = a[33];
    this.ua = a[34];
    this.sd = a[35];
    this.nf = a[36];
    this.a = this.R.buffer;
    this.dc = new Int8Array(this.a);
    this.cc = new Int16Array(this.a);
    this.pc = new Uint16Array(this.a);
    this.rc = new nb(this.a);
    this.w.send("speaker-update-enable", !this.Vb)
};
k.Ni = function() {
    return 255
};
k.Pi = function() {
    return 255
};
k.Ri = function() {
    return 255
};
k.Ti = function() {
    return 255
};
k.Vi = function() {
    return this.l
};
k.Xi = function() {
    var a = zd[this.l];
    a || (a = this.sc);
    return a.call(this)
};
k.Zi = function() {
    return 255
};
k.aj = function() {
    return 255
};
k.cj = function() {
    return 255
};
k.ej = function() {
    return 255
};
k.gj = function() {
    this.Ea.length && (this.oa = this.Ea.shift());
    return this.oa
};
k.ij = function() {
    return 255
};
k.kj = function() {
    return 127
};
k.mj = function() {
    return 255
};
k.oj = function() {
    this.sd[1] && Fd(this, 1);
    return (this.Ea.length && !this.xc) << 7 | 127
};
k.qj = function() {
    Fd(this, 2);
    return 0
};
k.Oi = function() {
    this.Xa = 0
};
k.Qi = function(a) {
    var b = Bd[this.Xa];
    b || (b = this.Za);
    b.call(this, a, 0, this.Xa)
};
k.Si = function() {
    this.Ya = 0
};
k.Ui = function(a) {
    var b = Bd[this.Ya];
    b || (b = this.Za);
    b.call(this, a, 1, this.Ya)
};
k.Wi = function(a) {
    this.l = a
};
k.Yi = function(a) {
    var b = Ad[this.l];
    b || (b = this.tc);
    b.call(this, a)
};
k.$i = function(a) {
    this.xc ? this.xc = !1 : a && Ed(this);
    this.Ea.clear();
    this.Ea.push(170)
};
k.bj = function() {};
k.dj = function() {};
k.fj = function() {};
k.hj = function() {};
k.jj = function() {};
k.lj = function(a) {
    0 === this.Tb ? (this.Tb = a, this.Va.clear(), this.C = wd[a]) : this.Va.push(a);
    this.Va.length >= this.C && (a = xd[this.Tb], a || (a = this.Mg), a.call(this), this.C = this.Tb = 0, this.Va.clear())
};
k.nj = function() {};
k.pj = function() {};
k.rj = function() {};
k.Vj = function() {
    this.Z.length && (this.uc = this.Z.shift());
    return this.uc
};
k.Wj = function() {};
k.Xj = function() {
    return 0 | 128 * !this.Z.length
};
k.Yj = function(a) {
    255 == a && (this.Z.clear(), this.Z.push(254))
};
k.Mg = function() {};

function B(a, b, c) {
    c || (c = Cd.prototype.Mg);
    for (var d = 0; d < a.length; d++) wd[a[d]] = b, xd[a[d]] = c
}

function Gd(a) {
    for (var b = [], c = 0; 16 > c; c++) b.push(a + c);
    return b
}
B([14], 2, function() {
    this.gd[this.Va.shift()] = this.Va.shift()
});
B([15], 1, function() {
    this.Ea.clear();
    this.Ea.push(this.gd[this.Va.shift()])
});
B([16], 1, function() {
    var a = this.Va.shift();
    a = Hd(a / 127.5 + -1);
    this.Lc[0].push(a);
    this.Lc[1].push(a);
    this.w.send("speaker-update-enable", !0)
});
B([20, 21], 2, function() {
    this.wc = 1;
    this.Nb = this.hc;
    this.xc = this.Wb = this.Xb = this.gc = !1;
    Id(this);
    Jd(this)
});
B([22], 2);
B([23], 2);
B([28], 0, function() {
    this.wc = 1;
    this.Nb = this.hc;
    this.gc = !0;
    this.xc = this.Wb = this.Xb = !1;
    Jd(this)
});
B([31], 0);
B([32], 0, function() {
    this.Ea.clear();
    this.Ea.push(127)
});
B([36], 2);
B([44], 0);
B([48], 0);
B([49], 0);
B([52], 0);
B([53], 0);
B([54], 0);
B([55], 0);
B([56], 0);
B([64], 1, function() {
    this.ve = 1E6 / (256 - this.Va.shift()) / (this.yc ? 2 : 1)
});
B([65, 66], 2, function() {
    this.ve = this.Va.shift() << 8 | this.Va.shift()
});
B([72], 2, function() {
    Id(this)
});
B([116], 2);
B([117], 2);
B([118], 2);
B([119], 2);
B([125], 0);
B([127], 0);
B([128], 2);
B([144], 0, function() {
    this.wc = 1;
    this.Nb = this.hc;
    this.gc = !0;
    this.Xb = !1;
    this.xc = !0;
    this.Wb = !1;
    Jd(this)
});
B([145], 0);
B([152], 0);
B([153], 0);
B([160], 0);
B([168], 0);
B(Gd(176), 3, function() {
    if (!(this.Tb & 8)) {
        var a = this.Va.shift();
        this.wc = 2;
        this.Nb = this.ld;
        this.gc = !!(this.Tb & 4);
        this.Xb = !!(a & 16);
        this.yc = !!(a & 32);
        this.Wb = !0;
        Id(this);
        Jd(this)
    }
});
B(Gd(192), 3, function() {
    if (!(this.Tb & 8)) {
        var a = this.Va.shift();
        this.wc = 1;
        this.Nb = this.hc;
        this.gc = !!(this.Tb & 4);
        this.Xb = !!(a & 16);
        this.yc = !!(a & 32);
        this.Wb = !1;
        Id(this);
        Jd(this)
    }
});
B([208], 0, function() {
    this.Vb = !0;
    this.w.send("speaker-update-enable", !1)
});
B([209], 0, function() {
    this.he = !0
});
B([211], 0, function() {
    this.he = !1
});
B([212], 0, function() {
    this.Vb = !1;
    this.w.send("speaker-update-enable", !0)
});
B([213], 0, function() {
    this.Vb = !0;
    this.w.send("speaker-update-enable", !1)
});
B([214], 0, function() {
    this.Vb = !1;
    this.w.send("speaker-update-enable", !0)
});
B([216], 0, function() {
    this.Ea.clear();
    this.Ea.push(255 * this.he)
});
B([217, 218], 0, function() {
    this.gc = !1
});
B([224], 1, function() {
    this.Ea.clear();
    this.Ea.push(~this.Va.shift())
});
B([225], 0, function() {
    this.Ea.clear();
    this.Ea.push(4);
    this.Ea.push(5)
});
B([226], 1);
B([227], 0, function() {
    this.Ea.clear();
    for (var a = 0; 44 > a; a++) this.Ea.push("COPYRIGHT (C) CREATIVE TECHNOLOGY LTD, 1992.".charCodeAt(a));
    this.Ea.push(0)
});
B([228], 1, function() {
    this.hf = this.Va.shift()
});
B([232], 0, function() {
    this.Ea.clear();
    this.Ea.push(this.hf)
});
B([242, 243], 0, function() {
    this.xb()
});
var Kd = new Uint8Array(256);
Kd[14] = 255;
Kd[15] = 7;
Kd[55] = 56;
B([249], 1, function() {
    var a = this.Va.shift();
    this.Ea.clear();
    this.Ea.push(Kd[a])
});
Cd.prototype.sc = function() {
    return this.ka[this.l]
};
Cd.prototype.tc = function(a) {
    this.ka[this.l] = a
};

function Ld(a, b) {
    b || (b = Cd.prototype.sc);
    zd[a] = b
}

function Md(a, b) {
    b || (b = Cd.prototype.tc);
    Ad[a] = b
}
Ld(0, function() {
    return 0
});
Md(0);
Md(14, function(a) {
    this.yc = a & 2;
    this.w.send("speaker-stereo", this.yc);
    this.w.send("speaker-filter", a & 32)
});
Ld(128, function() {
    switch (this.ua) {
        case 2:
            return 1;
        case 5:
            return 2;
        case 7:
            return 4;
        case 10:
            return 8;
        default:
            return 0
    }
});
Md(128, function(a) {
    a & 1 && (this.ua = 2);
    a & 2 && (this.ua = 5);
    a & 4 && (this.ua = 7);
    a & 8 && (this.ua = 10)
});
Ld(129, function() {
    var a = 0;
    switch (this.hc) {
        case 0:
            a |= 1;
            break;
        case 1:
            a |= 2;
            break;
        case 3:
            a |= 8
    }
    switch (this.ld) {
        case 5:
            a |= 32;
            break;
        case 6:
            a |= 64;
            break;
        case 7:
            a |= 128
    }
    return a
});
Md(129, function(a) {
    a & 1 && (this.hc = 0);
    a & 2 && (this.hc = 1);
    a & 8 && (this.hc = 3);
    a & 32 && (this.ld = 5);
    a & 64 && (this.ld = 6);
    a & 128 && (this.ld = 7)
});
Ld(130, function() {
    for (var a = 32, b = 0; 16 > b; b++) a |= b * this.sd[b];
    return a
});
Cd.prototype.Za = function() {};

function Nd(a, b) {
    b || (b = Cd.prototype.Za);
    for (var c = 0; c < a.length; c++) Bd[a[c]] = b
}

function Od(a, b) {
    for (var c = []; a <= b; a++) c.push(a);
    return c
}
var Pd = new Uint8Array(32);
Pd[0] = 0;
Pd[1] = 1;
Pd[2] = 2;
Pd[3] = 3;
Pd[4] = 4;
Pd[5] = 5;
Pd[8] = 6;
Pd[9] = 7;
Pd[10] = 8;
Pd[11] = 9;
Pd[12] = 10;
Pd[13] = 11;
Pd[16] = 12;
Pd[17] = 13;
Pd[18] = 14;
Pd[19] = 15;
Pd[20] = 16;
Pd[21] = 17;
Nd([1], function(a, b) {
    this.mi[b] = a & 1
});
Nd([2]);
Nd([3]);
Nd([4], function() {});
Nd([5], function() {});
Nd([8], function() {});
Nd(Od(32, 53), function() {});
Nd(Od(64, 85), function() {});
Nd(Od(96, 117), function() {});
Nd(Od(128, 149), function() {});
Nd(Od(160, 168), function() {});
Nd(Od(176, 184), function() {});
Nd([189], function() {});
Nd(Od(192, 200), function() {});
Nd(Od(224, 245), function() {});

function Id(a) {
    a.W = 1 + (a.Va.shift() << 0) + (a.Va.shift() << 8)
}

function Jd(a) {
    a.i = 1;
    a.Wb && (a.i *= 2);
    a.O = Math.round(a.nf / a.ve);
    a.v = a.W * a.i;
    a.m = 1024 * a.i;
    a.m = Math.min(a.v >> 2, a.m);
    a.J = !0;
    a.Ub.vc[a.Nb] || a.qc(a.Nb)
}
Cd.prototype.qc = function(a) {
    a === this.Nb && this.J && (this.J = !1, this.g = this.v, this.Vb = !1, this.w.send("speaker-update-enable", !0), Qd(this))
};

function Qd(a) {
    if (a.g && !(a.Lc[0].length > 2 * a.Bb || a.bg || a.Vb)) {
        var b = Math.min(a.g, a.m),
            c = Math.floor(b / a.i);
        a.Ub.Me(a.rc, 0, b, a.Nb, function(d) {
            d || (Rd(a, c), a.g -= b, a.g || (a.xb(a.wc), a.gc && (a.g = a.v)), setTimeout(function() {
                Qd(a)
            }, 0))
        })
    }
}

function Rd(a, b) {
    var c = a.Wb ? 32767.5 : 127.5,
        d = a.Xb ? 0 : -1,
        e = (a.yc ? 1 : 2) * a.O,
        f;
    a.Wb ? f = a.Xb ? a.cc : a.pc : f = a.Xb ? a.dc : a.R;
    for (var h = 0, g = 0; g < b; g++)
        for (var p = Hd(f[g] / c + d), r = 0; r < e; r++) a.Lc[h].push(p), h ^= 1
}

function Dd(a, b) {
    a.Bb = b;
    var c = qb(a.Lc[0], b);
    b = qb(a.Lc[1], b);
    a.w.send("speaker-update-data", [c, b], [c.buffer, b.buffer]);
    setTimeout(function() {
        Qd(a)
    }, 0)
}
Cd.prototype.xb = function(a) {
    this.sd[a] = 1;
    this.j.Cb(this.ua)
};

function Fd(a, b) {
    a.sd[b] = 0;
    Pb(a.j, a.ua)
}

function Hd(a) {
    return -1 * (-1 > a) + 1 * (1 < a) + (-1 <= a && 1 >= a) * a
};

function Sd(a, b, c) {
    this.pe = [244, 26, 9, 16, 7, 5, 16, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 168, 0, 0, 0, 16, 191, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 244, 26, 9, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0];
    this.Hb = 48;
    this.nc = [{
        size: 256
    }];
    this.name = "virtio";
    var d = a.o;
    m(d, 43008, this, function() {
        return 1
    }, void 0, function() {
        return 1
    });
    n(d, 43012, this, void 0, void 0, function() {});
    n(d, 43022, this, void 0, function(a) {
        this.bf = a
    }, void 0);
    m(d, 43020, this, void 0, function() {
        return this.Fc
    }, void 0);
    m(d, 43016, this, void 0, void 0, function() {
        return 0 ===
            this.bf ? this.Ec : 0
    });
    n(d, 43016, this, void 0, void 0, function(a) {
        this.Ec = a
    });
    n(d, 43026, this, function(a) {
        0 === a && this.reset();
        this.Le = a
    });
    m(d, 43026, this, function() {
        return this.Le
    });
    m(d, 43027, this, function() {
        var a = this.aa;
        this.aa = 0;
        rc(this.wb, this.Hb);
        return a
    });
    n(d, 43024, this, void 0, function() {
        var a = (this.Ec << 12) + 16 * this.Fc,
            b = a + 4;
        a = this.j.ma(a + 2);
        var c = this.Fc - 1;
        for (a &= c; this.td !== a;) {
            var e = this.j.ma(b + 2 * this.td);
            Td(this, e);
            this.td = this.td + 1 & c
        }
    });
    this.j = a;
    this.wb = a.G.wb;
    this.w = b;
    this.td = this.aa = this.Le =
        this.bf = 0;
    this.Fc = 32;
    for (var e = this.Ec = 0; 128 > e; e++) m(d, 43028 + e, this, function(a) {
        return a < this.ia.m.length ? this.ia.m[a] : 0
    }.bind(this, e), void 0, void 0), n(d, 43028 + e, this, function() {}.bind(this, e), void 0, void 0);
    this.ia = new ma(c, b);
    this.ia.la = this.a.bind(this);
    Zb(a.G.wb, this)
}
Sd.prototype.Sa = function() {
    var a = [0];
    a[1] = this.bf;
    a[2] = this.Le;
    a[3] = this.aa;
    a[4] = this.td;
    a[5] = this.Fc;
    a[6] = this.Ec;
    a[7] = this.ia;
    return a
};
Sd.prototype.fb = function(a) {
    this.bf = a[1];
    this.Le = a[2];
    this.aa = a[3];
    this.td = a[4];
    this.Fc = a[5];
    this.Ec = a[6];
    this.ia = a[7];
    this.ia.la = this.a.bind(this)
};
Sd.prototype.reset = function() {
    this.td = this.aa = this.Le = this.bf = 0;
    this.Fc = 32;
    this.Ec = 0
};

function Td(a, b) {
    var c = b,
        d = a.Ec << 12,
        e = 0,
        f = [];
    do {
        var h = d + 16 * c,
            g = a.j.ma(h + 12);
        if (g & 2) break;
        var p = jc(a.j, h);
        c = jc(a.j, h + 4);
        var r = jc(a.j, h + 8) >>> 0;
        f.push({
            Yf: p,
            Nh: c,
            ng: r
        });
        if (g & 1) c = a.j.ma(h + 14);
        else {
            c = -1;
            break
        }
    } while (1);
    var v = -1,
        E = 0;
    qa(a.ia, {
        start: b,
        next: c
    }, function() {
        if (E >= v) {
            if (e === f.length) return 0;
            var a = f[e++];
            p = a.Yf;
            v = a.ng;
            E = 0
        }
        return this.j.ja(p + E++)
    }.bind(a))
}
Sd.prototype.a = function(a, b) {
    if (-1 !== b.next) {
        var c = this.Fc - 1;
        a = this.ia.Rf;
        var d = b.next,
            e = this.Ec << 12,
            f = 0,
            h = [];
        do {
            d = e + 16 * d;
            var g = this.j.ma(d + 12);
            if (0 === (g & 2)) break;
            var p = jc(this.j, d),
                r = jc(this.j, d + 4),
                v = jc(this.j, d + 8) >>> 0;
            h.push({
                Yf: p,
                Nh: r,
                ng: v
            });
            if (g & 1) d = this.j.ma(d + 14);
            else break
        } while (1);
        g = -1;
        for (e = r = 0; e < a; e++) {
            d = this.ia.Aa[e];
            if (r >= g) {
                if (f === h.length) return 0;
                g = h[f++];
                p = g.Yf;
                g = g.ng;
                r = 0
            }
            this.j.za(p + r++, d)
        }
        p = (this.Ec << 12) + 16 * this.Fc + 4 + 2 * this.Fc;
        p = p + 4095 & -4096;
        this.j.ma(p);
        f = this.j.ma(p + 2);
        this.j.ze(p +
            2, f + 1);
        c = p + 4 + 8 * (f & c);
        this.j.fd(c, b.start);
        this.j.fd(c + 4, a);
        this.aa |= 1;
        this.wb.xb(this.Hb)
    }
};

function Ud() {
    this.Xe = {};
    this.a = void 0
}
Ud.prototype.register = function(a, b, c) {
    var d = this.Xe[a];
    void 0 === d && (d = this.Xe[a] = []);
    d.push({
        wf: b,
        xg: c
    })
};
Ud.prototype.unregister = function(a, b) {
    var c = this.Xe[a];
    void 0 !== c && (this.Xe[a] = c.filter(function(a) {
        return a.wf !== b
    }))
};
Ud.prototype.send = function(a, b) {
    if (this.a && (a = this.a.Xe[a], void 0 !== a))
        for (var c = 0; c < a.length; c++) {
            var d = a[c];
            d.wf.call(d.xg, b)
        }
};

function Vd() {
    var a = new Ud,
        b = new Ud;
    a.a = b;
    b.a = a;
    return [a, b]
};

function q(a) {
    this.Ia = 0;
    this.W = !0;
    this.da = new Uint8Array(0);
    this.Ef = new Uint16Array(this.da.buffer);
    this.Cc = new Int32Array(this.da.buffer);
    this.eb = new Uint8Array(8);
    this.La = new Uint32Array(8);
    this.xa = new Int32Array(8);
    this.R = new Int32Array(1048576);
    this.oc = new Uint8Array(1048576);
    this.jf = new Uint8Array(1048576);
    this.ta = !1;
    this.Qc = this.ie = this.Rc = this.je = 0;
    this.J = this.Md = !1;
    this.K = new Int32Array(8);
    this.K[0] = 0;
    this.K[2] = 0;
    this.K[3] = 0;
    this.af = this.N = this.K[4] = 0;
    this.Tc = this.qb = this.C = !1;
    this.F = this.l =
        this.S = this.kb = this.jb = this.u = this.flags = this.H = this.xe = this.ye = this.Kd = this.Xa = this.me = this.O = this.jc = 0;
    this.ka = new Int32Array(2);
    this.Z = new Float64Array(2);
    this.v = this.m = this.f = this.kf = 0;
    this.G = {};
    this.oa = [];
    this.V = !1;
    this.ga = this.A = 0;
    this.Oh = !0;
    this.Y = 0;
    this.b = new Int32Array(8);
    this.Fd = new Uint32Array(this.b.buffer);
    this.se = new Int16Array(this.b.buffer);
    this.h = new Uint16Array(this.b.buffer);
    this.sg = new Int8Array(this.b.buffer);
    this.D = new Uint8Array(this.b.buffer);
    this.s = new Int32Array(16);
    new Uint32Array(this.s.buffer);
    this.Gd = new Int8Array(this.s.buffer);
    this.tg = new Uint8Array(this.s.buffer);
    this.na = new Int32Array(32);
    this.$e = 8064;
    this.M = new Uint16Array(8);
    this.md = new Int32Array(8);
    this.Ye = [];
    this.Ze = [];
    this.Ff = [];
    this.Gf = [];
    this.$d = {
        Zg: null,
        Pd: null
    };
    this.zc = 0;
    this.T = this.o = void 0;
    this.w = a;
    Wd(this);
    this.kf = $a();
    Xd(this)
}
k = q.prototype;
k.Sa = function() {
    var a = [];
    a[0] = this.Ia;
    a[1] = this.eb;
    a[2] = this.xa;
    a[3] = this.La;
    a[4] = this.ta;
    a[5] = this.Rc;
    a[6] = this.je;
    a[7] = this.Qc;
    a[8] = this.ie;
    a[9] = this.J;
    a[10] = this.K;
    a[11] = this.N;
    a[12] = this.af;
    a[13] = this.C;
    a[16] = this.qb;
    a[17] = this.Tc;
    a[18] = this.jc;
    a[19] = this.O;
    a[20] = this.me;
    a[21] = this.Xa;
    a[22] = this.Kd;
    a[23] = this.xe;
    a[24] = this.ye;
    a[25] = this.H;
    a[26] = this.flags;
    a[27] = this.u;
    a[28] = this.jb;
    a[29] = this.kb;
    a[30] = this.S;
    a[31] = this.l;
    a[32] = this.f;
    a[36] = this.V;
    a[37] = this.A;
    a[38] = this.ga;
    a[39] = this.b;
    a[40] =
        this.M;
    a[41] = this.md;
    a[42] = this.da;
    a[43] = this.T;
    a[45] = this.G.Xf;
    a[46] = this.G.Zf;
    a[47] = this.G.bd;
    a[48] = this.G.wb;
    a[49] = this.G.Ub;
    a[50] = this.G.Mh;
    a[51] = this.G.si;
    a[52] = this.G.Pd;
    a[53] = this.G.Of;
    a[54] = this.G.Jh;
    a[55] = this.G.Og;
    a[56] = this.G.Qa;
    a[57] = this.G.Ma;
    a[58] = this.G.If;
    a[59] = this.G.bh;
    a[60] = this.G.Vc;
    a[61] = this.G.Ah;
    a[62] = this.W;
    a[63] = this.zc;
    a[64] = this.G.Ve;
    a[65] = this.Md;
    a[66] = this.s;
    return a
};
k.fb = function(a) {
    this.Ia = a[0];
    this.eb = a[1];
    this.xa = a[2];
    this.La = a[3];
    this.ta = a[4];
    this.Rc = a[5];
    this.je = a[6];
    this.Qc = a[7];
    this.ie = a[8];
    this.J = a[9];
    this.K = a[10];
    this.N = a[11];
    this.af = a[12];
    this.C = a[13];
    this.qb = a[16];
    this.Tc = a[17];
    this.jc = a[18];
    this.O = a[19];
    this.me = a[20];
    this.Xa = a[21];
    this.Kd = a[22];
    this.xe = a[23];
    this.ye = a[24];
    this.H = a[25];
    this.flags = a[26];
    this.u = a[27];
    this.jb = a[28];
    this.kb = a[29];
    this.S = a[30];
    this.l = a[31];
    this.f = a[32];
    this.V = a[36];
    this.A = a[37];
    this.ga = a[38];
    this.b = a[39];
    this.M = a[40];
    this.md =
        a[41];
    this.da = a[42];
    this.T = a[43];
    this.G.Xf = a[45];
    this.G.Zf = a[46];
    this.G.bd = a[47];
    this.G.wb = a[48];
    this.G.Ub = a[49];
    this.G.Mh = a[50];
    this.G.si = a[51];
    this.G.Pd = a[52];
    this.G.Of = a[53];
    this.G.Jh = a[54];
    this.G.Og = a[55];
    this.G.Qa = a[56];
    this.G.Ma = a[57];
    this.G.If = a[58];
    this.G.bh = a[59];
    this.G.Vc = a[60];
    this.G.Ah = a[61];
    this.W = a[62];
    this.zc = a[63];
    this.G.Ve = a[64];
    this.Md = a[65];
    this.s = a[66];
    this.Ef = new Uint16Array(this.da.buffer, this.da.byteOffset, this.da.length >> 1);
    this.Cc = new Int32Array(this.da.buffer, this.da.byteOffset,
        this.da.length >> 2);
    Yd(this);
    this.Fd = new Uint32Array(this.b.buffer);
    this.se = new Int16Array(this.b.buffer);
    this.h = new Uint16Array(this.b.buffer);
    this.sg = new Int8Array(this.b.buffer);
    this.D = new Uint8Array(this.b.buffer);
    new Uint32Array(this.s.buffer);
    this.Gd = new Int8Array(this.s.buffer);
    this.tg = new Uint8Array(this.s.buffer);
    Wd(this)
};
k.tf = function(a) {
    if (233495534 === a) this.J = !1, this.H = 0;
    else throw console.log(a), console.log(a.stack), a;
};
k.reset = function() {
    this.W = !0;
    for (var a = 0; 8 > a; a++) this.eb[a] = 0, this.La[a] = 0, this.xa[a] = 0;
    Yd(this);
    for (a = 0; 8 > a; a++) this.b[a] = 0, this.M[a] = 0, this.K[a] = 0, this.md[a] = 0;
    for (a = 0; a < this.s.length; a++) this.s[a] = 0;
    for (a = 0; a < this.na.length; a++) this.na[a] = 0;
    this.$e = 8064;
    this.ta = !1;
    this.Qc = this.ie = this.Rc = this.je = 0;
    this.J = !1;
    this.K[0] = 1610612752;
    this.K[2] = 0;
    this.K[3] = 0;
    this.K[4] = 0;
    this.md[6] = -61456;
    this.md[7] = 1024;
    this.N = 0;
    this.V = !1;
    this.af = 0;
    this.qb = this.C = !1;
    this.H = 0;
    this.me = this.jc = -1;
    Wd(this);
    this.ga = this.Y =
        0;
    this.Tc = !1;
    this.xe = this.ye = this.Kd = 0;
    this.flags = 2;
    this.S = this.kb = this.jb = this.l = this.F = this.u = 0;
    this.kf = $a();
    this.A = 1048560;
    Zd(this, 61440);
    $d(this, 2, 48);
    this.h[8] = 256;
    this.G.Xf && this.G.Xf.reset();
    this.zc = 0
};
k.Fg = function(a) {
    1048576 > a ? a = 1048576 : 0 > (a | 0) && (a = Math.pow(2, 31) - 131072);
    this.Ia = a = (a - 1 | 131071) + 1 | 0;
    a = new ArrayBuffer(a);
    this.da = new Uint8Array(a);
    this.Ef = new Uint16Array(a);
    this.Cc = new Int32Array(a)
};
q.prototype.create_memory = q.prototype.Fg;
q.prototype.Ob = function(a, b) {
    this.Fg("number" === typeof a.Ia ? a.Ia : 67108864);
    this.reset();
    var c = new Na(this);
    this.o = c;
    this.$d.Zg = a.$d;
    this.$d.Pd = a.wk;
    bb(this);
    var d = 0;
    m(c, 179, this, function() {
        return 0
    });
    m(c, 146, this, function() {
        return d
    });
    n(c, 146, this, function(a) {
        d = a
    });
    m(c, 1297, this, function() {
        var a = this.zc & 255;
        this.zc >>>= 8;
        return a
    });
    n(c, 1296, this, void 0, function(a) {
        0 === a ? this.zc = -89064784 : 3 === a ? this.zc = this.Ia : this.zc = 5 === a ? 1 : 0
    });
    this.G = {};
    a.yi && (this.G.Vc = new hd(this), this.G.wb = new nc(this), this.G.bd =
        new jd(this), ae(this, this.G.bd, a), this.G.Ub = new Bc(this), this.G.Pd = new Pc(this, b, a.Ja || 8388608), this.T = new rb(this), this.G.Of = new dd(this, b), this.G.Jh = new ld(this, b), this.G.Og = new sc(this, a.Ra), c = 0, a.Ma && (this.G.Ma = new Nb(this, a.Ma, !1, c++, b)), a.Qa && (this.G.Qa = new Nb(this, a.Qa, !0, c++, b)), a.zf && (this.G.zf = new Nb(this, a.zf, !1, c++, b)), this.G.If = new Ic(this, b), a.hi && (this.G.bh = new rd(this, b)), a.Pc && (this.G.Xf = new Sd(this, b, a.Pc)), this.G.Ah = new Cd(this, b));
    a.oe && be(this, a.oe.buffer)
};

function be(a, b) {
    if (8192 > b.byteLength) {
        var c = new Int32Array(2048);
        (new Uint8Array(c.buffer)).set(new Uint8Array(b))
    } else c = new Int32Array(b, 0, 2048);
    for (var d = 0; 8192 > d; d += 4)
        if (464367618 === c[d >> 2]) {
            var e = c[d + 4 >> 2];
            if (!(464367618 + e + c[d + 8 >> 2] | 0)) {
                a.b[0] = 732803074;
                a.b[3] = 31744;
                a.fd(31744, 0);
                a.K[0] = 1;
                a.ta = !0;
                a.flags = 2;
                ce(a, !0);
                a.qb = !0;
                for (var f = 0; 6 > f; f++) a.eb[f] = 0, a.xa[f] = 0, a.La[f] = 4294967295, a.M[f] = 45058;
                if (e & 65536) {
                    e = c[d + 16 >> 2];
                    var h = c[d + 20 >> 2];
                    f = c[d + 28 >> 2];
                    b = new Uint8Array(b, d - (c[d + 12 >> 2] - e), 0 === h ? void 0 :
                        h - e);
                    a.da.set(b, e);
                    a.A = C(a, 1) + f | 0
                } else if (1179403647 === c[0])
                    for (c = de(b), a.A = C(a, 1) + c.jg.ii | 0, c = ia(c.ek), d = c.next(); !d.done; d = c.next()) d = d.value, 0 !== d.type && 1 === d.type && (e = new Uint8Array(b, d.offset, d.ki), a.da.set(e, d.Di));
                a.o.Gc(244, a, function(a) {
                    console.log("Test exited with code " + jb(a, 2));
                    throw "HALT";
                }, function() {}, function() {}, function() {});
                for (b = {
                        qd: 14
                    }; 15 >= b.qd; b = {
                        qd: b.qd
                    }, b.qd++) n(a.o, 8192 + b.qd, a, function(a) {
                    return function(b) {
                        b ? this.Cb(a.qd) : Pb(this, a.qd)
                    }
                }(b));
                break
            }
        }
}

function ae(a, b, c) {
    var d = c.ae || 531;
    b.ha[56] = 1 | d >> 4 & 240;
    b.ha[61] = d & 255;
    b.ha[21] = 128;
    b.ha[22] = 2;
    d = 0;
    1048576 <= a.Ia && (d = a.Ia - 1048576 >> 10, d = Math.min(d, 65535));
    b.ha[23] = d & 255;
    b.ha[24] = d >> 8 & 255;
    b.ha[48] = d & 255;
    b.ha[49] = d >> 8 & 255;
    d = 0;
    16777216 <= a.Ia && (d = a.Ia - 16777216 >> 16, d = Math.min(d, 65535));
    b.ha[52] = d & 255;
    b.ha[53] = d >> 8 & 255;
    b.ha[91] = 0;
    b.ha[92] = 0;
    b.ha[93] = 0;
    b.ha[20] = 47;
    b.ha[95] = 0;
    c.ji && (b.ha[63] = 1)
}

function bb(a) {
    var b = a.$d.Zg,
        c = a.$d.Pd;
    if (b) {
        var d = new Uint8Array(b);
        a.da.set(d, 1048576 - b.byteLength);
        if (c) {
            var e = new Uint8Array(c);
            a.da.set(e, 786432);
            Pa(a.o, 4272947200, 1048576, function(a) {
                a = a - 4272947200 | 0;
                return a < e.length ? e[a] : 0
            }, function() {})
        }
        Pa(a.o, 4293918720, 1048576, function(a) {
            return this.da[a & 1048575]
        }.bind(a), function(a, b) {
            this.da[a & 1048575] = b
        }.bind(a))
    }
}
q.prototype.qa = function() {
    try {
        this.Fa()
    } catch (a) {
        this.tf(a)
    }
};
q.prototype.Fa = function() {
    for (var a = 11001; a--;) ee(this)
};
"undefined" !== typeof window && (window.__no_inline_for_closure_compiler__ = [q.prototype.tf, q.prototype.Fa, q.prototype.qa]);

function ee(a) {
    a.ga = a.A;
    a.Y++;
    var b = a.$b();
    a.oa[b](a)
}
q.prototype.Uh = function() {
    try {
        ee(this)
    } catch (a) {
        this.tf(a)
    }
};
q.prototype.cycle = q.prototype.Uh;

function fe(a, b) {
    a.H |= b + 1;
    ge(a);
    a.H = 0
}

function ge(a) {
    if (Bb(a)) a.Za[a.$b()](a);
    else a.Ya[a.$b()](a)
}

function he(a, b) {
    if (-2147483648 === (b & -2147483647)) throw a.debug.P("#GP handler");
    a.K[0] = b;
    a.T || (a.K[0] |= 4);
    a.K[0] |= 16;
    b = -2147483648 === (a.K[0] & -2147483648);
    b !== a.V && (a.V = b, Yd(a));
    a.ta = 1 === (a.K[0] & 1)
}

function ie(a) {
    a.jc = -1;
    a.me = -1
}
k = q.prototype;
k.$b = function() {
    this.A & -4096 ^ this.jc && (this.O = je(this, this.A) ^ this.A, this.jc = this.A & -4096);
    var a = this.ja(this.O ^ this.A);
    this.A = this.A + 1 | 0;
    return a
};
k.xh = function() {
    return this.$b() << 24 >> 24
};
k.Qf = function() {
    if (4094 < (this.A ^ this.jc) >>> 0) return this.$b() | this.$b() << 8;
    var a = this.ma(this.O ^ this.A);
    this.A = this.A + 2 | 0;
    return a
};
k.wh = function() {
    if (4092 < (this.A ^ this.jc) >>> 0) return this.Qf() | this.Qf() << 16;
    var a = jc(this, this.O ^ this.A);
    this.A = this.A + 4 | 0;
    return a
};

function ke(a, b) {
    var c = new Int32Array(2);
    c[0] = a;
    c[1] = b;
    return c
}

function le(a, b, c, d) {
    var e = new Int32Array(4);
    e[0] = a;
    e[1] = b;
    e[2] = c;
    e[3] = d;
    return e
}

function D(a) {
    a.f = a.$b()
}
k.yh = q.prototype.$b;
k.gk = q.prototype.$b;
k.L = q.prototype.$b;
k.wa = q.prototype.xh;
k.U = q.prototype.Qf;
k.ea = q.prototype.wh;
k.uh = q.prototype.$b;
k.mb = q.prototype.xh;
k.Ib = q.prototype.Qf;
k.X = q.prototype.wh;

function F(a, b) {
    return (me(a) ? a.i : a.g)[b](a)
}

function ne(a, b) {
    return a.a[a.gk()](a, b)
}

function oe(a, b, c, d) {
    a.za(b, d);
    a.za(c, d >> 24);
    b & 1 ? b & 2 ? (a.za(c - 2, d >> 8), a.za(c - 1, d >> 16)) : (a.za(b + 1 | 0, d >> 8), a.za(b + 2 | 0, d >> 16)) : (a.za(b + 1 | 0, d >> 8), a.za(c - 1, d >> 16))
}

function pe(a, b) {
    return a.ja(je(a, b))
}

function x(a, b) {
    return a.V && 4095 === (b & 4095) ? pe(a, b) | pe(a, b + 1 | 0) << 8 : a.ma(je(a, b))
}

function y(a, b) {
    return a.V && 4093 <= (b & 4095) ? x(a, b) | x(a, b + 2 | 0) << 16 : jc(a, je(a, b))
}

function qe(a, b) {
    var c = ke(0, 0);
    a.V && 4089 <= (b & 4095) ? (c[0] = y(a, b), c[1] = y(a, b + 4 | 0)) : (c[0] = jc(a, je(a, b)), c[1] = jc(a, je(a, b + 4 | 0)));
    return c
}

function re(a, b, c) {
    a.za(se(a, b), c)
}

function u(a, b, c) {
    var d = se(a, b);
    4095 === (b & 4095) ? (b = se(a, b + 1 | 0), a.za(d, c), a.za(b, c >> 8)) : a.ze(d, c)
}

function w(a, b, c) {
    var d = se(a, b);
    4093 <= (b & 4095) ? oe(a, d, se(a, b + 3 & -4) | b + 3 & 3, c) : a.fd(d, c)
}

function te(a, b, c, d) {
    Cb(a, b, 8);
    w(a, b, c);
    w(a, b + 4 | 0, d)
}

function ue(a, b, c, d, e, f) {
    Cb(a, b, 16);
    w(a, b, c);
    w(a, b + 4 | 0, d);
    w(a, b + 8 | 0, e);
    w(a, b + 12 | 0, f)
}

function ve(a) {
    return me(a) ? we(a, 3) + a.ea() | 0 : we(a, 3) + a.U() | 0
}

function xe(a) {
    return a.flags >> 12 & 3
}

function ye(a) {
    return !!(a.flags & 131072)
}

function ze(a) {
    return a.flags & -2262 | !!a.cb() | !!a.Ug() << 2 | !!Ae(a) << 4 | !!a.Ac() << 6 | !!a.xf() << 7 | !!a.Te() << 11
}

function Be(a, b) {
    var c = 1769472,
        d = 2588629;
    a.flags & 131072 ? (c |= 12288, d |= 1572864) : a.N && (c |= 12288, a.N > xe(a) && (c |= 512));
    a.flags = (b ^ (a.flags ^ b) & c) & d | 2;
    a.u = 0
}

function Ce(a) {
    return a.qb ? a.b[4] : a.h[8]
}

function De(a, b) {
    a.qb ? a.b[4] = b : a.h[8] = b
}

function Ee(a, b) {
    a.qb ? a.b[4] += b : a.h[8] += b
}

function G(a, b) {
    return a.qb ? C(a, 2) + a.b[4] + b | 0 : C(a, 2) + (a.h[8] + b & 65535) | 0
}

function Fe(a) {
    return a.A - C(a, 1) | 0
}

function Ge(a, b, c, d) {
    a.Tc = !1;
    if (a.ta) {
        if (ye(a) && a.K[4] & 1) throw a.debug.P("VME");
        ye(a) && c && 3 > xe(a) && H(a, 0);
        if ((b << 3 | 7) > a.je) throw a.debug.P("#GP handler");
        var e = a.Rc + (b << 3) | 0;
        a.V && (e = He(a, e));
        var f = a.ma(e) | a.ma(e + 6 | 0) << 16,
            h = a.ma(e + 2 | 0),
            g = a.ja(e + 5 | 0),
            p = g >> 5 & 3;
        e = g & 31;
        if (0 === (g & 128)) throw a.debug.P("#NP handler");
        c && p < a.N && H(a, b << 3 | 2);
        if (5 === e) {
            f = Ie(a, h);
            c = 3 >= f.type;
            g = 2 === (f.type & 2);
            if (!f.Gb || f.Ta || !f.hg) throw a.debug.P("#GP handler");
            if (11 === (f.Sb & 31)) throw a.debug.P("#GP handler");
            if (!f.ib) throw a.debug.P("#NP handler");
            if (103 > f.Db) throw a.debug.P("#NP handler");
            e = a.xa[6];
            b = ze(a);
            g && (b &= -16385);
            Cb(a, e, 102);
            w(a, e + 32, Fe(a));
            w(a, e + 36, b);
            w(a, e + 40, a.b[0]);
            w(a, e + 44, a.b[1]);
            w(a, e + 48, a.b[2]);
            w(a, e + 52, a.b[3]);
            w(a, e + 56, a.b[4]);
            w(a, e + 60, a.b[5]);
            w(a, e + 64, a.b[6]);
            w(a, e + 68, a.b[7]);
            w(a, e + 72, a.M[0]);
            w(a, e + 76, a.M[1]);
            w(a, e + 80, a.M[2]);
            w(a, e + 84, a.M[3]);
            w(a, e + 88, a.M[4]);
            w(a, e + 92, a.M[5]);
            a.za(f.gf + 5 | 0, a.ja(f.gf + 5 | 0) | 2);
            g = f.gb;
            u(a, g + 0, a.M[6]);
            b = y(a, g + 28);
            a.flags &= -131073;
            p = y(a, g + 32);
            var r = x(a, g + 76),
                v = Ie(a, r);
            if (v.Ta) throw a.debug.P("#TS handler");
            if (!v.Gb) throw a.debug.P("#TS handler");
            if (v.Fb) throw a.debug.P("#TS handler");
            if (!v.ic) throw a.debug.P("#TS handler");
            if (v.Lb && v.$ > v.Ba) throw a.debug.P("#TS handler");
            if (!v.Lb && v.$ !== v.Ba) throw a.debug.P("#TS handler");
            if (!v.ib) throw a.debug.P("#TS handler");
            a.eb[1] = 0;
            a.La[1] = v.Db;
            a.xa[1] = v.gb;
            a.M[1] = r;
            a.N = v.$;
            ie(a);
            ce(a, v.size);
            r = y(a, g + 36);
            w(a, e + 0, h);
            r |= 16384;
            if (r & 131072) throw a.debug.P("task switch to VM mode");
            Be(a, r);
            a.flags |= 16384;
            e = x(a, g + 96);
            Je(a, e);
            a.b[0] = y(a, g + 40);
            a.b[1] = y(a, g + 44);
            a.b[2] =
                y(a, g + 48);
            a.b[3] = y(a, g + 52);
            a.b[4] = y(a, g + 56);
            a.b[5] = y(a, g + 60);
            a.b[6] = y(a, g + 64);
            a.b[7] = y(a, g + 68);
            $d(a, 0, x(a, g + 72));
            $d(a, 2, x(a, g + 80));
            $d(a, 3, x(a, g + 84));
            $d(a, 4, x(a, g + 88));
            $d(a, 5, x(a, g + 92));
            a.A = C(a, 1) + p | 0;
            a.xa[6] = f.gb;
            a.La[6] = f.Db;
            a.M[6] = h;
            a.K[3] = b;
            Ke(a);
            a.K[0] |= 8;
            !1 !== d && (c ? I(a, d & 65535) : J(a, d))
        } else {
            if (6 !== (e & -10)) throw a.debug.P("#GP handler");
            c = 1 === (e & 1);
            e = 0 === (e & 8);
            g = Ie(a, h);
            if (g.Ta) throw a.debug.P("#GP handler");
            if (!g.ic || g.$ > a.N) throw a.debug.P("#GP handler");
            g.ib || Le(a, b << 3 | 2);
            b = ze(a);
            if (!g.Lb &&
                g.$ < a.N) {
                r = Me(a, g.$);
                a.Md ? (p = jc(a, r), r = a.ma(r + 4 | 0)) : (p = a.ma(r), r = a.ma(r + 2 | 0));
                v = Ie(a, r);
                if (v.Ta) throw a.debug.P("#TS handler");
                if (v.Ba !== g.$) throw a.debug.P("#TS handler");
                if (v.$ !== g.$ || !v.df) throw a.debug.P("#TS handler");
                if (!v.ib) throw a.debug.P("#TS handler");
                var E = a.b[4],
                    z = a.M[2],
                    A = (e ? 2 : 4) * (5 + (!1 !== d) + 4 * (131072 === (b & 131072)));
                Ne(a, v.gb + (v.size ? p - A : p - A & 65535));
                Ne(a, v.gb + p - 1);
                a.N = g.$;
                ie(a);
                ce(a, g.size);
                a.flags &= -196609;
                $d(a, 2, r);
                De(a, p);
                b & 131072 && !e && (J(a, a.M[5]), J(a, a.M[4]), J(a, a.M[3]), J(a, a.M[0]));
                e ? (I(a, z), I(a, E)) : (J(a, z), J(a, E))
            } else if (g.Lb || g.$ === a.N) a.flags & 131072 && H(a, h & -4), A = (e ? 2 : 4) * (3 + (!1 !== d)), Cb(a, G(a, -A), A);
            else throw a.debug.P("#GP handler");
            e ? (I(a, b), I(a, a.M[1]), I(a, Fe(a)), !1 !== d && I(a, d), f &= 65535) : (J(a, b), J(a, a.M[1]), J(a, Fe(a)), !1 !== d && J(a, d));
            b & 131072 && ($d(a, 5, 0), $d(a, 4, 0), $d(a, 3, 0), $d(a, 0, 0));
            a.M[1] = h & -4 | a.N;
            ce(a, g.size);
            a.La[1] = g.Db;
            a.xa[1] = g.gb;
            a.A = C(a, 1) + f | 0;
            a.flags &= -213249;
            c ? a.J || ab(a) : a.flags &= -513
        }
    } else h = b << 2, d = a.ma(h), h = a.ma(h + 2 | 0), I(a, ze(a)), I(a, a.M[1]), I(a, Fe(a)),
        a.flags &= -513, Zd(a, h), a.A = C(a, 1) + d | 0
}

function Oe(a, b) {
    ye(a) && 3 > xe(a) && H(a, 0);
    if (b) var c = x(a, G(a, 0)),
        d = x(a, G(a, 2)),
        e = x(a, G(a, 4));
    else c = y(a, G(a, 0)), d = x(a, G(a, 4)), e = y(a, G(a, 8));
    if (!a.ta || ye(a) && 3 === xe(a)) {
        if (c & 4294901760) throw a.debug.P("#GP handler");
        Zd(a, d);
        a.A = c + C(a, 1) | 0;
        b ? (Be(a, e | a.flags & -65536), Ee(a, 6)) : (Be(a, e), Ee(a, 12))
    } else {
        a.flags & 16384 && H(a, 0);
        if (e & 131072) {
            if (0 === a.N) {
                var f = y(a, G(a, 12)),
                    h = x(a, G(a, 16));
                b = x(a, G(a, 20));
                var g = x(a, G(a, 24)),
                    p = x(a, G(a, 28)),
                    r = x(a, G(a, 32));
                Be(a, e);
                a.flags |= 131072;
                Zd(a, d);
                a.A = (c & 65535) + C(a, 1) | 0;
                $d(a, 0,
                    b);
                $d(a, 3, g);
                $d(a, 4, p);
                $d(a, 5, r);
                Ee(a, 36);
                a.b[4] = f;
                $d(a, 2, h);
                a.N = 3;
                ie(a);
                ce(a, !1);
                return
            }
            e &= -131073
        }
        g = Ie(a, d);
        if (g.Ta) throw a.debug.P("is null");
        if (!g.ib) throw a.debug.P("not present");
        if (!g.ic) throw a.debug.P("not exec");
        if (g.Ba < a.N) throw a.debug.P("rpl < cpl");
        if (g.Lb && g.$ > g.Ba) throw a.debug.P("conforming and dpl > rpl");
        g.Lb || g.Ba === g.$ || H(a, d & -4);
        if (g.Ba > a.N) {
            b ? (f = x(a, G(a, 6)), h = x(a, G(a, 8))) : (f = y(a, G(a, 12)), h = x(a, G(a, 16)));
            p = Ie(a, h);
            r = g.Ba;
            p.Ta && H(a, 0);
            p.Gb && !p.Fb && p.Ba === r && p.Bf && p.$ === r || H(a,
                h & -4);
            if (!p.ib) throw a.A = a.ga, Ge(a, 12, !1, h & -4), 233495534;
            b ? Be(a, e | a.flags & -65536) : Be(a, e);
            a.N = g.Ba;
            ie(a);
            $d(a, 2, h);
            De(a, f);
            0 === a.N && (a.flags = a.flags & -1572865 | e & 1572864)
        } else g.Ba === a.N && (b ? (Ee(a, 6), Be(a, e | a.flags & -65536)) : (Ee(a, 12), Be(a, e)), 0 === a.N && (a.flags = a.flags & -1572865 | e & 1572864));
        a.M[1] = d;
        ce(a, g.size);
        a.La[1] = g.Db;
        a.xa[1] = g.gb;
        a.A = c + C(a, 1) | 0
    }
    ab(a)
}

function Zd(a, b) {
    a.M[1] = b;
    a.eb[1] = 0;
    a.xa[1] = b << 4
}

function Pe(a, b, c, d) {
    if (!a.ta || ye(a)) Zd(a, c), a.A = C(a, 1) + b | 0, Ee(a, 2 * (Bb(a) ? 4 : 2) + d);
    else {
        var e = Ie(a, c);
        e.Ta && H(a, 0);
        e.Gb || H(a, c & -4);
        e.Fb && H(a, c & -4);
        e.ic || H(a, c & -4);
        e.Ba < a.N && H(a, c & -4);
        e.Lb && e.$ > e.Ba && H(a, c & -4);
        e.Lb || e.$ === e.Ba || H(a, c & -4);
        e.ib || Le(a, c & -4);
        if (e.Ba > a.N) {
            if (Bb(a)) var f = y(a, G(a, d + 8)),
                h = x(a, G(a, d + 12));
            else f = x(a, G(a, d + 4)), h = x(a, G(a, d + 6));
            a.N = e.Ba;
            ie(a);
            $d(a, 2, h);
            De(a, f + d)
        } else Bb(a) ? Ee(a, 8 + d) : Ee(a, 4 + d);
        ce(a, e.size);
        a.eb[1] = 0;
        a.La[1] = e.Db;
        a.xa[1] = e.gb;
        a.M[1] = c;
        a.A = C(a, 1) + b | 0
    }
}

function Qe(a, b, c, d) {
    if (!a.ta || ye(a)) d && (Bb(a) ? (Cb(a, G(a, -8), 8), J(a, a.M[1]), J(a, Fe(a))) : (Cb(a, G(a, -4), 4), I(a, a.M[1]), I(a, Fe(a)))), Zd(a, c), a.A = C(a, 1) + b | 0;
    else {
        var e = Ie(a, c);
        e.Ta && H(a, 0);
        e.Gb || H(a, c & -4);
        if (e.Fb)
            if (12 === e.type || 4 === e.type) {
                b = 4 === e.type;
                (e.$ < a.N || e.$ < e.Ba) && H(a, c & -4);
                e.ib || Le(a, c & -4);
                c = e.rg >>> 16;
                var f = Ie(a, c);
                f.Ta && H(a, 0);
                f.Gb || H(a, c & -4);
                f.ic || H(a, c & -4);
                f.$ > a.N && H(a, c & -4);
                f.ib || Le(a, c & -4);
                if (!f.Lb && f.$ < a.N) {
                    var h = Me(a, f.$);
                    if (a.Md) {
                        var g = jc(a, h);
                        h = a.ma(h + 4 | 0)
                    } else g = a.ma(h), h = a.ma(h +
                        2 | 0);
                    var p = Ie(a, h);
                    if (p.Ta) throw a.debug.P("#TS handler");
                    if (p.Ba !== f.$) throw a.debug.P("#TS handler");
                    if (p.$ !== f.$ || !p.df) throw a.debug.P("#TS handler");
                    if (!p.ib) throw a.debug.P("#SS handler");
                    var r = e.Pf & 31,
                        v = b ? 4 : 8;
                    d && (v += b ? 4 + 2 * r : 8 + 4 * r);
                    p.size ? Cb(a, p.gb + g - v | 0, v) : Cb(a, p.gb + (g - v & 65535) | 0, v);
                    v = a.b[4];
                    var E = a.M[2];
                    p = G(a, 0);
                    a.N = f.$;
                    ie(a);
                    ce(a, f.size);
                    $d(a, 2, h);
                    De(a, g);
                    b ? (I(a, E), I(a, v)) : (J(a, E), J(a, v));
                    if (d)
                        if (b) {
                            for (d = r - 1; 0 <= d; d--) g = x(a, p + 2 * d), I(a, g);
                            I(a, a.M[1]);
                            I(a, Fe(a))
                        } else {
                            for (d = r - 1; 0 <= d; d--) g = y(a,
                                p + 4 * d), J(a, g);
                            J(a, a.M[1]);
                            J(a, Fe(a))
                        }
                } else d && (b ? (Cb(a, G(a, -4), 4), I(a, a.M[1]), I(a, Fe(a))) : (Cb(a, G(a, -8), 8), J(a, a.M[1]), J(a, Fe(a))));
                d = e.rg & 65535;
                b || (d |= e.Pf & 4294901760);
                ce(a, f.size);
                a.eb[1] = 0;
                a.La[1] = f.Db;
                a.xa[1] = f.gb;
                a.M[1] = c & -4 | a.N;
                a.A = C(a, 1) + d | 0
            } else throw a.debug.P("load system segment descriptor, type = " + (e.Sb & 15) + " (" + {
                9: "Available 386 TSS",
                11: "Busy 386 TSS",
                4: "286 Call Gate",
                12: "386 Call Gate"
            }[e.Sb & 15] + ")");
        else e.ic || H(a, c & -4), e.Lb ? e.$ > a.N && H(a, c & -4) : (e.Ba > a.N || e.$ !== a.N) && H(a, c & -4), e.ib ||
            Le(a, c & -4), d && (Bb(a) ? (Cb(a, G(a, -8), 8), J(a, a.M[1]), J(a, Fe(a))) : (Cb(a, G(a, -4), 4), I(a, a.M[1]), I(a, Fe(a)))), ce(a, e.size), a.eb[1] = 0, a.La[1] = e.Db, a.xa[1] = e.gb, a.M[1] = c & -4 | a.N, a.A = C(a, 1) + b | 0
    }
}

function Me(a, b) {
    b = a.Md ? (b << 3) + 4 | 0 : (b << 2) + 2 | 0;
    if ((b + 5 | 0) > a.La[6]) throw a.debug.P("#TS handler");
    b = b + a.xa[6] | 0;
    a.V && (b = He(a, b));
    return b
}

function Re(a) {
    a.A = a.ga;
    Ge(a, 0, !1, !1);
    throw 233495534;
}

function t(a) {
    a.A = a.ga;
    Ge(a, 6, !1, !1);
    throw 233495534;
}

function Se(a) {
    a.A = a.ga;
    Ge(a, 7, !1, !1);
    throw 233495534;
}

function H(a, b) {
    a.A = a.ga;
    Ge(a, 13, !1, b);
    throw 233495534;
}

function Le(a, b) {
    a.A = a.ga;
    Ge(a, 11, !1, b);
    throw 233495534;
}

function Te(a) {
    a.K[0] & 12 && Se(a)
}

function K(a) {
    a.K[0] & 12 && (a.K[0] & 8 ? Se(a) : t(a))
}

function L(a) {
    return we(a, 3)
}

function N(a) {
    return we(a, 2)
}

function we(a, b) {
    var c = a.H & 7;
    return c ? 7 === c ? 0 : C(a, c - 1) : C(a, b)
}

function C(a, b) {
    a.ta && a.eb[b] && H(a, 0);
    return a.xa[b]
}

function Ue(a) {
    return 192 > a.f ? pe(a, F(a, a.f)) : a.D[a.f << 2 & 12 | a.f >> 2 & 1]
}

function O(a) {
    return 192 > a.f ? x(a, F(a, a.f)) : a.h[a.f << 1 & 14]
}

function Ve(a) {
    return 192 > a.f ? y(a, F(a, a.f)) : a.b[a.f & 7]
}

function We(a) {
    return 192 > a.f ? y(a, F(a, a.f)) : a.s[2 * (a.f & 7)]
}

function P(a) {
    return 192 > a.f ? qe(a, F(a, a.f)) : ke(a.s[2 * (a.f & 7)], a.s[2 * (a.f & 7) + 1])
}

function Xe(a) {
    if (192 > a.f) return qe(a, F(a, a.f));
    var b = (a.f & 7) << 2;
    return ke(a.na[b], a.na[b | 1])
}

function Ye(a) {
    if (192 > a.f) {
        var b = F(a, a.f);
        b = je(a, b);
        return le(jc(a, b), jc(a, b + 4 | 0), jc(a, b + 8 | 0), jc(a, b + 12 | 0))
    }
    b = (a.f & 7) << 2;
    return le(a.na[b], a.na[b | 1], a.na[b | 2], a.na[b | 3])
}

function Ze(a, b) {
    if (192 > a.f) {
        var c = F(a, a.f);
        re(a, c, b)
    } else a.D[a.f << 2 & 12 | a.f >> 2 & 1] = b
}

function $e(a, b) {
    if (192 > a.f) {
        var c = F(a, a.f);
        u(a, c, b)
    } else a.h[a.f << 1 & 14] = b
}

function af(a, b) {
    if (192 > a.f) {
        var c = F(a, a.f);
        w(a, c, b)
    } else a.b[a.f & 7] = b
}

function bf(a) {
    if (192 > a.f) {
        var b = F(a, a.f);
        a.m = se(a, b);
        return a.ja(a.m)
    }
    return a.D[a.f << 2 & 12 | a.f >> 2 & 1]
}

function cf(a, b) {
    192 > a.f ? a.za(a.m, b) : a.D[a.f << 2 & 12 | a.f >> 2 & 1] = b
}

function Q(a) {
    if (192 > a.f) {
        var b = F(a, a.f);
        a.m = se(a, b);
        if (a.V && 4095 === (b & 4095)) return a.v = se(a, b + 1 | 0), b = a.v, a.ja(a.m) | a.ja(b) << 8;
        a.v = 0;
        return a.ma(a.m)
    }
    return a.h[a.f << 1 & 14]
}

function R(a, b) {
    if (192 > a.f)
        if (a.v) {
            var c = a.v;
            a.za(a.m, b);
            a.za(c, b >> 8)
        } else a.ze(a.m, b);
    else a.h[a.f << 1 & 14] = b
}

function df(a) {
    if (192 > a.f) {
        var b = F(a, a.f);
        a.m = se(a, b);
        if (a.V && 4093 <= (b & 4095)) {
            a.v = se(a, b + 3 & -4) | b + 3 & 3;
            b = a.m;
            var c = a.v;
            if (b & 1) var d = b & 2 ? xc(a, c - 2 >> 1) : xc(a, b + 1 >> 1);
            else d = c - 1 | 0, d = a.ja(b + 1 | 0) | a.ja(d) << 8;
            return a.ja(b) | d << 8 | a.ja(c) << 24
        }
        a.v = 0;
        return jc(a, a.m)
    }
    return a.b[a.f & 7]
}

function ef(a, b) {
    192 > a.f ? a.v ? oe(a, a.m, a.v, b) : a.fd(a.m, b) : a.b[a.f & 7] = b
}

function ff(a) {
    return a.h[a.f << 1 & 14]
}

function gf(a, b) {
    a.h[a.f << 1 & 14] = b
}

function hf(a) {
    return a.b[a.f & 7]
}

function jf(a, b) {
    a.b[a.f & 7] = b
}

function kf(a) {
    return a.D[a.f >> 1 & 12 | a.f >> 5 & 1]
}

function lf(a, b) {
    a.D[a.f >> 1 & 12 | a.f >> 5 & 1] = b
}

function mf(a) {
    return a.h[a.f >> 2 & 14]
}

function nf(a) {
    return a.se[a.f >> 2 & 14]
}

function of (a, b) {
    a.h[a.f >> 2 & 14] = b
}

function S(a) {
    return a.b[a.f >> 3 & 7]
}

function pf(a, b) {
    a.Fd[a.f >> 3 & 7] = b
}

function qf(a) {
    return ke(a.na[(a.f >> 3 & 7) << 2], a.na[(a.f >> 3 & 7) << 2 | 1])
}

function rf(a) {
    var b = (a.f >> 3 & 7) << 2;
    return le(a.na[b | 0], a.na[b | 1], a.na[b | 2], a.na[b | 3])
}

function sf(a) {
    return ke(a.s[2 * (a.f >> 3 & 7)], a.s[2 * (a.f >> 3 & 7) + 1])
}

function T(a, b, c) {
    a.s[2 * (a.f >> 3 & 7)] = b;
    a.s[2 * (a.f >> 3 & 7) + 1] = c
}

function tf(a, b, c, d, e) {
    var f = (a.f >> 3 & 7) << 2;
    a.na[f] = b;
    a.na[f + 1] = c;
    a.na[f + 2] = d;
    a.na[f + 3] = e
}

function id(a, b) {
    try {
        a.ga = a.A, Ge(a, b, !1, !1)
    } catch (c) {
        a.tf(c)
    }
}

function ab(a) {
    a.flags & 512 && !a.J && (a.G.Vc && a.G.Vc.lf(), a.G.Zf && a.G.Zf.lf())
}
k.Cb = function(a) {
    this.G.Vc && this.G.Vc.ef(a);
    this.G.Ve && this.G.Ve.ef(a)
};

function Pb(a, b) {
    a.G.Vc && a.G.Vc.sf(b);
    a.G.Ve && a.G.Ve.sf(b)
}

function uf(a, b, c) {
    if (a.ta && (a.N > xe(a) || a.flags & 131072)) {
        a.Md || H(a, 0);
        var d = a.La[6],
            e = a.xa[6];
        if (103 <= d) {
            var f = a.ma(He(a, e + 100 + 2 | 0));
            if (d >= (f + ((b + c - 1 | 0) >> 3) | 0) && (c = (1 << c) - 1 << (b & 7), b = He(a, e + f + (b >> 3) | 0), !((c & 65280 ? a.ma(b) : a.ja(b)) & c))) return
        }
        H(a, 0)
    }
}

function ce(a, b) {
    a.C !== b && (a.C = b, Wd(a))
}

function Wd(a) {
    a.oa = a.C ? a.Za : a.Ya
}

function Ie(a, b) {
    var c = 0 === (b & 4),
        d = b & -8;
    var e = {
        Ba: b & 3,
        hg: c,
        Ta: !1,
        Gb: !0,
        gb: 0,
        Sb: 0,
        flags: 0,
        type: 0,
        $: 0,
        Fb: !1,
        ib: !1,
        ic: !1,
        df: !1,
        Lb: !1,
        size: !1,
        We: !1,
        Db: 0,
        Bf: !1,
        mg: !1,
        gf: 0,
        rg: 0,
        Pf: 0
    };
    if (c) {
        var f = a.Qc;
        var h = a.ie
    } else f = a.xa[7], h = a.La[7];
    if (c && 0 === d) return e.Ta = !0, e;
    if ((b | 7) > h) return e.Gb = !1, e;
    f = f + d | 0;
    a.V && (f = He(a, f));
    e.gf = f;
    e.gb = a.ma(f + 2 | 0) | a.ja(f + 4 | 0) << 16 | a.ja(f + 7 | 0) << 24;
    e.Sb = a.ja(f + 5 | 0);
    e.flags = a.ja(f + 6 | 0) >> 4;
    e.rg = jc(a, f | 0);
    e.Pf = jc(a, f + 4 | 0);
    e.type = e.Sb & 15;
    e.$ = e.Sb >> 5 & 3;
    e.Fb = 0 === (e.Sb & 16);
    e.ib = 128 === (e.Sb &
        128);
    e.ic = 8 === (e.Sb & 8);
    e.df = 2 === (e.Sb & 2);
    e.Lb = 4 === (e.Sb & 4);
    e.We = e.Lb && e.ic;
    e.size = 4 === (e.flags & 4);
    a = a.ma(f) | (a.ja(f + 6 | 0) & 15) << 16;
    e.Db = e.flags & 8 ? (a << 12 | 4095) >>> 0 : a;
    e.Bf = e.df && !e.ic;
    e.mg = e.df || !e.ic;
    return e
}

function $d(a, b, c) {
    if (!a.ta || ye(a)) a.M[b] = c, a.eb[b] = 0, a.xa[b] = c << 4, 2 === b && (a.qb = !1);
    else {
        var d = Ie(a, c);
        if (2 === b) {
            d.Ta && H(a, 0);
            d.Gb && !d.Fb && d.Ba === a.N && d.Bf && d.$ === a.N || H(a, c & -4);
            if (!d.ib) throw a.A = a.ga, Ge(a, 12, !1, c & -4), 233495534;
            a.qb = d.size
        } else if (1 !== b) {
            if (d.Ta) {
                a.M[b] = c;
                a.eb[b] = 1;
                return
            }(!d.Gb || d.Fb || !d.mg || !d.We && (d.Ba > d.$ || a.N > d.$)) && H(a, c & -4);
            d.ib || Le(a, c & -4)
        }
        a.eb[b] = 0;
        a.La[b] = d.Db;
        a.xa[b] = d.gb;
        a.M[b] = c
    }
}

function Je(a, b) {
    var c = Ie(a, b);
    if (c.Ta) a.xa[7] = 0, a.La[7] = 0;
    else {
        if (!c.hg) throw a.debug.P("LDTR can only be loaded from GDT");
        if (!c.ib) throw a.debug.P("#GP handler");
        if (!c.Fb) throw a.debug.P("#GP handler");
        if (2 !== c.type) throw a.debug.P("#GP handler");
        a.xa[7] = c.gb;
        a.La[7] = c.Db;
        a.M[7] = b
    }
}

function vf(a, b, c) {
    b = Ie(a, b);
    a.u &= -65;
    var d = b.$ < a.N || b.$ < b.Ba;
    if (b.Ta || !b.Gb || (b.Fb ? 58817 >> b.type & 1 || d : !b.We && d)) return a.flags &= -65, c;
    a.flags |= 64;
    return b.Pf & 16776960
}

function wf(a, b, c) {
    b = Ie(a, b);
    a.u &= -65;
    var d = b.$ < a.N || b.$ < b.Ba;
    if (b.Ta || !b.Gb || (b.Fb ? 62833 >> b.type & 1 || d : !b.We && d)) return a.flags &= -65, c;
    a.flags |= 64;
    return b.Db | 0
}

function Ke(a) {
    a.jc = -1;
    a.me = -1;
    a.oc.set(a.jf)
}

function Yd(a) {
    for (var b = new Int32Array(a.jf.buffer), c = 0; 262144 > c;) b[c++] = b[c++] = b[c++] = b[c++] = 0;
    Ke(a)
}

function je(a, b) {
    if (a.V)
        if (3 === a.N)
            if (a.V) {
                var c = b >>> 12;
                a = a.oc[c] & 4 ? a.R[c] ^ b : xf(a, b, 0, 1) | b & 4095
            } else a = b;
    else a = He(a, b);
    else a = b;
    return a
}

function se(a, b) {
    if (a.V)
        if (3 === a.N)
            if (a.V) {
                var c = b >>> 12;
                a = a.oc[c] & 8 ? a.R[c] ^ b : xf(a, b, 1, 1) | b & 4095
            } else a = b;
    else a = Ne(a, b);
    else a = b;
    return a
}

function Ne(a, b) {
    if (!a.V) return b;
    var c = b >>> 12;
    return a.oc[c] & 2 ? a.R[c] ^ b : xf(a, b, 1, 0) | b & 4095
}

function He(a, b) {
    if (!a.V) return b;
    var c = b >>> 12;
    return a.oc[c] & 1 ? a.R[c] ^ b : xf(a, b, 0, 0) | b & 4095
}

function xf(a, b, c, d) {
    var e = b >>> 12,
        f = (a.K[3] >>> 2) + (e >> 10) | 0,
        h = a.Cc[f],
        g = !0,
        p = !0;
    h & 1 || (a.K[2] = b, yf(a, c, d, 0));
    0 === (h & 2) && (g = !1, c && (d || a.K[0] & 65536) && (a.K[2] = b, yf(a, c, d, 1)));
    0 === (h & 4) && (p = !1, d && (a.K[2] = b, yf(a, c, d, 1)));
    if (h & a.af) a.Cc[f] = h | 32 | c << 6, b = h & 4290772992 | b & 4190208, h &= 256;
    else {
        var r = ((h & 4294963200) >>> 2) + (e & 1023) | 0,
            v = a.Cc[r];
        0 === (v & 1) && (a.K[2] = b, yf(a, c, d, 0));
        0 === (v & 2) && (g = !1, c && (d || a.K[0] & 65536) && (a.K[2] = b, yf(a, c, d, 1)));
        0 === (v & 4) && (p = !1, d && (a.K[2] = b, yf(a, c, d, 1)));
        Ac(a, f, h | 32);
        Ac(a, r, v | 32 | c << 6);
        b =
            v & 4294963200;
        h = v & 256
    }
    a.R[e] = b ^ e << 12;
    g = p ? g ? 15 : 5 : g ? 3 : 1;
    a.oc[e] = g;
    h && a.K[4] & 128 && (a.jf[e] = g);
    return b
}

function Cb(a, b, c) {
    if (a.V) {
        var d = 3 === a.N ? 1 : 0,
            e = d ? 8 : 2,
            f = b >>> 12;
        0 === (a.oc[f] & e) && xf(a, b, 1, d);
        4096 <= (b & 4095) + c - 1 && 0 === (a.oc[f + 1 | 0] & e) && xf(a, b + c - 1 | 0, 1, d)
    }
}

function yf(a, b, c, d) {
    if (a.J) throw a.debug.P("Double fault");
    var e = a.K[2] >>> 12;
    a.oc[e] = 0;
    a.jf[e] = 0;
    a.A = a.ga;
    a.J = !0;
    Ge(a, 14, !1, c << 2 | b << 1 | d);
    throw 233495534;
}

function Bb(a) {
    return a.C !== (32 === (a.H & 32))
}

function me(a) {
    return a.C !== (64 === (a.H & 64))
}

function U(a, b) {
    b = a.b[b];
    return me(a) ? b : b & 65535
}

function zf(a, b) {
    me(a) ? a.b[1] = b : a.h[2] = b
}

function V(a, b, c) {
    me(a) ? a.b[b] += c : a.h[b << 1] += c
}

function Af(a) {
    return me(a) ? --a.b[1] : --a.h[2]
}
"undefined" !== typeof window ? window.CPU = q : "undefined" !== typeof module && "undefined" !== typeof module.exports ? module.exports.CPU = q : "function" === typeof importScripts && (self.CPU = q);
(function() {
    q.prototype.g = Array(192);
    q.prototype.i = Array(192);
    q.prototype.a = Array(256);
    q.prototype.g[0] = function(a) {
        return L(a) + (a.h[6] + a.h[12] & 65535) | 0
    };
    q.prototype.g[64] = function(a) {
        return L(a) + (a.h[6] + a.h[12] + a.mb() & 65535) | 0
    };
    q.prototype.g[128] = function(a) {
        return L(a) + (a.h[6] + a.h[12] + a.Ib() & 65535) | 0
    };
    q.prototype.g[1] = function(a) {
        return L(a) + (a.h[6] + a.h[14] & 65535) | 0
    };
    q.prototype.g[65] = function(a) {
        return L(a) + (a.h[6] + a.h[14] + a.mb() & 65535) | 0
    };
    q.prototype.g[129] = function(a) {
        return L(a) + (a.h[6] + a.h[14] +
            a.Ib() & 65535) | 0
    };
    q.prototype.g[2] = function(a) {
        return N(a) + (a.h[10] + a.h[12] & 65535) | 0
    };
    q.prototype.g[66] = function(a) {
        return N(a) + (a.h[10] + a.h[12] + a.mb() & 65535) | 0
    };
    q.prototype.g[130] = function(a) {
        return N(a) + (a.h[10] + a.h[12] + a.Ib() & 65535) | 0
    };
    q.prototype.g[3] = function(a) {
        return N(a) + (a.h[10] + a.h[14] & 65535) | 0
    };
    q.prototype.g[67] = function(a) {
        return N(a) + (a.h[10] + a.h[14] + a.mb() & 65535) | 0
    };
    q.prototype.g[131] = function(a) {
        return N(a) + (a.h[10] + a.h[14] + a.Ib() & 65535) | 0
    };
    q.prototype.g[4] = function(a) {
        return L(a) + (a.h[12] &
            65535) | 0
    };
    q.prototype.g[68] = function(a) {
        return L(a) + (a.h[12] + a.mb() & 65535) | 0
    };
    q.prototype.g[132] = function(a) {
        return L(a) + (a.h[12] + a.Ib() & 65535) | 0
    };
    q.prototype.g[5] = function(a) {
        return L(a) + (a.h[14] & 65535) | 0
    };
    q.prototype.g[69] = function(a) {
        return L(a) + (a.h[14] + a.mb() & 65535) | 0
    };
    q.prototype.g[133] = function(a) {
        return L(a) + (a.h[14] + a.Ib() & 65535) | 0
    };
    q.prototype.g[6] = function(a) {
        return N(a) + (a.h[10] & 65535) | 0
    };
    q.prototype.g[70] = function(a) {
        return N(a) + (a.h[10] + a.mb() & 65535) | 0
    };
    q.prototype.g[134] = function(a) {
        return N(a) +
            (a.h[10] + a.Ib() & 65535) | 0
    };
    q.prototype.g[7] = function(a) {
        return L(a) + (a.h[6] & 65535) | 0
    };
    q.prototype.g[71] = function(a) {
        return L(a) + (a.h[6] + a.mb() & 65535) | 0
    };
    q.prototype.g[135] = function(a) {
        return L(a) + (a.h[6] + a.Ib() & 65535) | 0
    };
    q.prototype.i[0] = function(a) {
        return L(a) + a.b[0] | 0
    };
    q.prototype.i[64] = function(a) {
        return L(a) + a.b[0] + a.mb() | 0
    };
    q.prototype.i[128] = function(a) {
        return L(a) + a.b[0] + a.X() | 0
    };
    q.prototype.i[1] = function(a) {
        return L(a) + a.b[1] | 0
    };
    q.prototype.i[65] = function(a) {
        return L(a) + a.b[1] + a.mb() | 0
    };
    q.prototype.i[129] =
        function(a) {
            return L(a) + a.b[1] + a.X() | 0
        };
    q.prototype.i[2] = function(a) {
        return L(a) + a.b[2] | 0
    };
    q.prototype.i[66] = function(a) {
        return L(a) + a.b[2] + a.mb() | 0
    };
    q.prototype.i[130] = function(a) {
        return L(a) + a.b[2] + a.X() | 0
    };
    q.prototype.i[3] = function(a) {
        return L(a) + a.b[3] | 0
    };
    q.prototype.i[67] = function(a) {
        return L(a) + a.b[3] + a.mb() | 0
    };
    q.prototype.i[131] = function(a) {
        return L(a) + a.b[3] + a.X() | 0
    };
    q.prototype.i[5] = function(a) {
        return N(a) + a.b[5] | 0
    };
    q.prototype.i[69] = function(a) {
        return N(a) + a.b[5] + a.mb() | 0
    };
    q.prototype.i[133] =
        function(a) {
            return N(a) + a.b[5] + a.X() | 0
        };
    q.prototype.i[6] = function(a) {
        return L(a) + a.b[6] | 0
    };
    q.prototype.i[70] = function(a) {
        return L(a) + a.b[6] + a.mb() | 0
    };
    q.prototype.i[134] = function(a) {
        return L(a) + a.b[6] + a.X() | 0
    };
    q.prototype.i[7] = function(a) {
        return L(a) + a.b[7] | 0
    };
    q.prototype.i[71] = function(a) {
        return L(a) + a.b[7] + a.mb() | 0
    };
    q.prototype.i[135] = function(a) {
        return L(a) + a.b[7] + a.X() | 0
    };
    q.prototype.g[6] = function(a) {
        return L(a) + a.Ib() | 0
    };
    q.prototype.i[5] = function(a) {
        return L(a) + a.X() | 0
    };
    q.prototype.i[4] = function(a) {
        return ne(a, !1) | 0
    };
    q.prototype.i[68] = function(a) {
        return ne(a, !0) + a.mb() | 0
    };
    q.prototype.i[132] = function(a) {
        return ne(a, !0) + a.X() | 0
    };
    for (var a = 0; 8 > a; a++)
        for (var b = 0; 3 > b; b++)
            for (var c = a | b << 6, d = 1; 8 > d; d++) q.prototype.i[c | d << 3] = q.prototype.i[c], q.prototype.g[c | d << 3] = q.prototype.g[c];
    q.prototype.a[0] = function(a) {
        return a.b[0] + L(a) + a.b[0] | 0
    };
    q.prototype.a[1] = function(a) {
        return a.b[0] + L(a) + a.b[1] | 0
    };
    q.prototype.a[2] = function(a) {
        return a.b[0] + L(a) + a.b[2] | 0
    };
    q.prototype.a[3] = function(a) {
        return a.b[0] + L(a) + a.b[3] | 0
    };
    q.prototype.a[4] =
        function(a) {
            return a.b[0] + N(a) + a.b[4] | 0
        };
    q.prototype.a[5] = function(a, b) {
        return a.b[0] + (b ? N(a) + a.b[5] : L(a) + a.X()) | 0
    };
    q.prototype.a[6] = function(a) {
        return a.b[0] + L(a) + a.b[6] | 0
    };
    q.prototype.a[7] = function(a) {
        return a.b[0] + L(a) + a.b[7] | 0
    };
    q.prototype.a[64] = function(a) {
        return (a.b[0] << 1) + L(a) + a.b[0] | 0
    };
    q.prototype.a[65] = function(a) {
        return (a.b[0] << 1) + L(a) + a.b[1] | 0
    };
    q.prototype.a[66] = function(a) {
        return (a.b[0] << 1) + L(a) + a.b[2] | 0
    };
    q.prototype.a[67] = function(a) {
        return (a.b[0] << 1) + L(a) + a.b[3] | 0
    };
    q.prototype.a[68] =
        function(a) {
            return (a.b[0] << 1) + N(a) + a.b[4] | 0
        };
    q.prototype.a[69] = function(a, b) {
        return (a.b[0] << 1) + (b ? N(a) + a.b[5] : L(a) + a.X()) | 0
    };
    q.prototype.a[70] = function(a) {
        return (a.b[0] << 1) + L(a) + a.b[6] | 0
    };
    q.prototype.a[71] = function(a) {
        return (a.b[0] << 1) + L(a) + a.b[7] | 0
    };
    q.prototype.a[128] = function(a) {
        return (a.b[0] << 2) + L(a) + a.b[0] | 0
    };
    q.prototype.a[129] = function(a) {
        return (a.b[0] << 2) + L(a) + a.b[1] | 0
    };
    q.prototype.a[130] = function(a) {
        return (a.b[0] << 2) + L(a) + a.b[2] | 0
    };
    q.prototype.a[131] = function(a) {
        return (a.b[0] << 2) + L(a) + a.b[3] |
            0
    };
    q.prototype.a[132] = function(a) {
        return (a.b[0] << 2) + N(a) + a.b[4] | 0
    };
    q.prototype.a[133] = function(a, b) {
        return (a.b[0] << 2) + (b ? N(a) + a.b[5] : L(a) + a.X()) | 0
    };
    q.prototype.a[134] = function(a) {
        return (a.b[0] << 2) + L(a) + a.b[6] | 0
    };
    q.prototype.a[135] = function(a) {
        return (a.b[0] << 2) + L(a) + a.b[7] | 0
    };
    q.prototype.a[192] = function(a) {
        return (a.b[0] << 3) + L(a) + a.b[0] | 0
    };
    q.prototype.a[193] = function(a) {
        return (a.b[0] << 3) + L(a) + a.b[1] | 0
    };
    q.prototype.a[194] = function(a) {
        return (a.b[0] << 3) + L(a) + a.b[2] | 0
    };
    q.prototype.a[195] = function(a) {
        return (a.b[0] <<
            3) + L(a) + a.b[3] | 0
    };
    q.prototype.a[196] = function(a) {
        return (a.b[0] << 3) + N(a) + a.b[4] | 0
    };
    q.prototype.a[197] = function(a, b) {
        return (a.b[0] << 3) + (b ? N(a) + a.b[5] : L(a) + a.X()) | 0
    };
    q.prototype.a[198] = function(a) {
        return (a.b[0] << 3) + L(a) + a.b[6] | 0
    };
    q.prototype.a[199] = function(a) {
        return (a.b[0] << 3) + L(a) + a.b[7] | 0
    };
    q.prototype.a[8] = function(a) {
        return a.b[1] + L(a) + a.b[0] | 0
    };
    q.prototype.a[9] = function(a) {
        return a.b[1] + L(a) + a.b[1] | 0
    };
    q.prototype.a[10] = function(a) {
        return a.b[1] + L(a) + a.b[2] | 0
    };
    q.prototype.a[11] = function(a) {
        return a.b[1] +
            L(a) + a.b[3] | 0
    };
    q.prototype.a[12] = function(a) {
        return a.b[1] + N(a) + a.b[4] | 0
    };
    q.prototype.a[13] = function(a, b) {
        return a.b[1] + (b ? N(a) + a.b[5] : L(a) + a.X()) | 0
    };
    q.prototype.a[14] = function(a) {
        return a.b[1] + L(a) + a.b[6] | 0
    };
    q.prototype.a[15] = function(a) {
        return a.b[1] + L(a) + a.b[7] | 0
    };
    q.prototype.a[72] = function(a) {
        return (a.b[1] << 1) + L(a) + a.b[0] | 0
    };
    q.prototype.a[73] = function(a) {
        return (a.b[1] << 1) + L(a) + a.b[1] | 0
    };
    q.prototype.a[74] = function(a) {
        return (a.b[1] << 1) + L(a) + a.b[2] | 0
    };
    q.prototype.a[75] = function(a) {
        return (a.b[1] <<
            1) + L(a) + a.b[3] | 0
    };
    q.prototype.a[76] = function(a) {
        return (a.b[1] << 1) + N(a) + a.b[4] | 0
    };
    q.prototype.a[77] = function(a, b) {
        return (a.b[1] << 1) + (b ? N(a) + a.b[5] : L(a) + a.X()) | 0
    };
    q.prototype.a[78] = function(a) {
        return (a.b[1] << 1) + L(a) + a.b[6] | 0
    };
    q.prototype.a[79] = function(a) {
        return (a.b[1] << 1) + L(a) + a.b[7] | 0
    };
    q.prototype.a[136] = function(a) {
        return (a.b[1] << 2) + L(a) + a.b[0] | 0
    };
    q.prototype.a[137] = function(a) {
        return (a.b[1] << 2) + L(a) + a.b[1] | 0
    };
    q.prototype.a[138] = function(a) {
        return (a.b[1] << 2) + L(a) + a.b[2] | 0
    };
    q.prototype.a[139] = function(a) {
        return (a.b[1] <<
            2) + L(a) + a.b[3] | 0
    };
    q.prototype.a[140] = function(a) {
        return (a.b[1] << 2) + N(a) + a.b[4] | 0
    };
    q.prototype.a[141] = function(a, b) {
        return (a.b[1] << 2) + (b ? N(a) + a.b[5] : L(a) + a.X()) | 0
    };
    q.prototype.a[142] = function(a) {
        return (a.b[1] << 2) + L(a) + a.b[6] | 0
    };
    q.prototype.a[143] = function(a) {
        return (a.b[1] << 2) + L(a) + a.b[7] | 0
    };
    q.prototype.a[200] = function(a) {
        return (a.b[1] << 3) + L(a) + a.b[0] | 0
    };
    q.prototype.a[201] = function(a) {
        return (a.b[1] << 3) + L(a) + a.b[1] | 0
    };
    q.prototype.a[202] = function(a) {
        return (a.b[1] << 3) + L(a) + a.b[2] | 0
    };
    q.prototype.a[203] =
        function(a) {
            return (a.b[1] << 3) + L(a) + a.b[3] | 0
        };
    q.prototype.a[204] = function(a) {
        return (a.b[1] << 3) + N(a) + a.b[4] | 0
    };
    q.prototype.a[205] = function(a, b) {
        return (a.b[1] << 3) + (b ? N(a) + a.b[5] : L(a) + a.X()) | 0
    };
    q.prototype.a[206] = function(a) {
        return (a.b[1] << 3) + L(a) + a.b[6] | 0
    };
    q.prototype.a[207] = function(a) {
        return (a.b[1] << 3) + L(a) + a.b[7] | 0
    };
    q.prototype.a[16] = function(a) {
        return a.b[2] + L(a) + a.b[0] | 0
    };
    q.prototype.a[17] = function(a) {
        return a.b[2] + L(a) + a.b[1] | 0
    };
    q.prototype.a[18] = function(a) {
        return a.b[2] + L(a) + a.b[2] | 0
    };
    q.prototype.a[19] =
        function(a) {
            return a.b[2] + L(a) + a.b[3] | 0
        };
    q.prototype.a[20] = function(a) {
        return a.b[2] + N(a) + a.b[4] | 0
    };
    q.prototype.a[21] = function(a, b) {
        return a.b[2] + (b ? N(a) + a.b[5] : L(a) + a.X()) | 0
    };
    q.prototype.a[22] = function(a) {
        return a.b[2] + L(a) + a.b[6] | 0
    };
    q.prototype.a[23] = function(a) {
        return a.b[2] + L(a) + a.b[7] | 0
    };
    q.prototype.a[80] = function(a) {
        return (a.b[2] << 1) + L(a) + a.b[0] | 0
    };
    q.prototype.a[81] = function(a) {
        return (a.b[2] << 1) + L(a) + a.b[1] | 0
    };
    q.prototype.a[82] = function(a) {
        return (a.b[2] << 1) + L(a) + a.b[2] | 0
    };
    q.prototype.a[83] =
        function(a) {
            return (a.b[2] << 1) + L(a) + a.b[3] | 0
        };
    q.prototype.a[84] = function(a) {
        return (a.b[2] << 1) + N(a) + a.b[4] | 0
    };
    q.prototype.a[85] = function(a, b) {
        return (a.b[2] << 1) + (b ? N(a) + a.b[5] : L(a) + a.X()) | 0
    };
    q.prototype.a[86] = function(a) {
        return (a.b[2] << 1) + L(a) + a.b[6] | 0
    };
    q.prototype.a[87] = function(a) {
        return (a.b[2] << 1) + L(a) + a.b[7] | 0
    };
    q.prototype.a[144] = function(a) {
        return (a.b[2] << 2) + L(a) + a.b[0] | 0
    };
    q.prototype.a[145] = function(a) {
        return (a.b[2] << 2) + L(a) + a.b[1] | 0
    };
    q.prototype.a[146] = function(a) {
        return (a.b[2] << 2) + L(a) + a.b[2] |
            0
    };
    q.prototype.a[147] = function(a) {
        return (a.b[2] << 2) + L(a) + a.b[3] | 0
    };
    q.prototype.a[148] = function(a) {
        return (a.b[2] << 2) + N(a) + a.b[4] | 0
    };
    q.prototype.a[149] = function(a, b) {
        return (a.b[2] << 2) + (b ? N(a) + a.b[5] : L(a) + a.X()) | 0
    };
    q.prototype.a[150] = function(a) {
        return (a.b[2] << 2) + L(a) + a.b[6] | 0
    };
    q.prototype.a[151] = function(a) {
        return (a.b[2] << 2) + L(a) + a.b[7] | 0
    };
    q.prototype.a[208] = function(a) {
        return (a.b[2] << 3) + L(a) + a.b[0] | 0
    };
    q.prototype.a[209] = function(a) {
        return (a.b[2] << 3) + L(a) + a.b[1] | 0
    };
    q.prototype.a[210] = function(a) {
        return (a.b[2] <<
            3) + L(a) + a.b[2] | 0
    };
    q.prototype.a[211] = function(a) {
        return (a.b[2] << 3) + L(a) + a.b[3] | 0
    };
    q.prototype.a[212] = function(a) {
        return (a.b[2] << 3) + N(a) + a.b[4] | 0
    };
    q.prototype.a[213] = function(a, b) {
        return (a.b[2] << 3) + (b ? N(a) + a.b[5] : L(a) + a.X()) | 0
    };
    q.prototype.a[214] = function(a) {
        return (a.b[2] << 3) + L(a) + a.b[6] | 0
    };
    q.prototype.a[215] = function(a) {
        return (a.b[2] << 3) + L(a) + a.b[7] | 0
    };
    q.prototype.a[24] = function(a) {
        return a.b[3] + L(a) + a.b[0] | 0
    };
    q.prototype.a[25] = function(a) {
        return a.b[3] + L(a) + a.b[1] | 0
    };
    q.prototype.a[26] = function(a) {
        return a.b[3] +
            L(a) + a.b[2] | 0
    };
    q.prototype.a[27] = function(a) {
        return a.b[3] + L(a) + a.b[3] | 0
    };
    q.prototype.a[28] = function(a) {
        return a.b[3] + N(a) + a.b[4] | 0
    };
    q.prototype.a[29] = function(a, b) {
        return a.b[3] + (b ? N(a) + a.b[5] : L(a) + a.X()) | 0
    };
    q.prototype.a[30] = function(a) {
        return a.b[3] + L(a) + a.b[6] | 0
    };
    q.prototype.a[31] = function(a) {
        return a.b[3] + L(a) + a.b[7] | 0
    };
    q.prototype.a[88] = function(a) {
        return (a.b[3] << 1) + L(a) + a.b[0] | 0
    };
    q.prototype.a[89] = function(a) {
        return (a.b[3] << 1) + L(a) + a.b[1] | 0
    };
    q.prototype.a[90] = function(a) {
        return (a.b[3] << 1) +
            L(a) + a.b[2] | 0
    };
    q.prototype.a[91] = function(a) {
        return (a.b[3] << 1) + L(a) + a.b[3] | 0
    };
    q.prototype.a[92] = function(a) {
        return (a.b[3] << 1) + N(a) + a.b[4] | 0
    };
    q.prototype.a[93] = function(a, b) {
        return (a.b[3] << 1) + (b ? N(a) + a.b[5] : L(a) + a.X()) | 0
    };
    q.prototype.a[94] = function(a) {
        return (a.b[3] << 1) + L(a) + a.b[6] | 0
    };
    q.prototype.a[95] = function(a) {
        return (a.b[3] << 1) + L(a) + a.b[7] | 0
    };
    q.prototype.a[152] = function(a) {
        return (a.b[3] << 2) + L(a) + a.b[0] | 0
    };
    q.prototype.a[153] = function(a) {
        return (a.b[3] << 2) + L(a) + a.b[1] | 0
    };
    q.prototype.a[154] = function(a) {
        return (a.b[3] <<
            2) + L(a) + a.b[2] | 0
    };
    q.prototype.a[155] = function(a) {
        return (a.b[3] << 2) + L(a) + a.b[3] | 0
    };
    q.prototype.a[156] = function(a) {
        return (a.b[3] << 2) + N(a) + a.b[4] | 0
    };
    q.prototype.a[157] = function(a, b) {
        return (a.b[3] << 2) + (b ? N(a) + a.b[5] : L(a) + a.X()) | 0
    };
    q.prototype.a[158] = function(a) {
        return (a.b[3] << 2) + L(a) + a.b[6] | 0
    };
    q.prototype.a[159] = function(a) {
        return (a.b[3] << 2) + L(a) + a.b[7] | 0
    };
    q.prototype.a[216] = function(a) {
        return (a.b[3] << 3) + L(a) + a.b[0] | 0
    };
    q.prototype.a[217] = function(a) {
        return (a.b[3] << 3) + L(a) + a.b[1] | 0
    };
    q.prototype.a[218] =
        function(a) {
            return (a.b[3] << 3) + L(a) + a.b[2] | 0
        };
    q.prototype.a[219] = function(a) {
        return (a.b[3] << 3) + L(a) + a.b[3] | 0
    };
    q.prototype.a[220] = function(a) {
        return (a.b[3] << 3) + N(a) + a.b[4] | 0
    };
    q.prototype.a[221] = function(a, b) {
        return (a.b[3] << 3) + (b ? N(a) + a.b[5] : L(a) + a.X()) | 0
    };
    q.prototype.a[222] = function(a) {
        return (a.b[3] << 3) + L(a) + a.b[6] | 0
    };
    q.prototype.a[223] = function(a) {
        return (a.b[3] << 3) + L(a) + a.b[7] | 0
    };
    q.prototype.a[32] = function(a) {
        return L(a) + a.b[0] | 0
    };
    q.prototype.a[33] = function(a) {
        return L(a) + a.b[1] | 0
    };
    q.prototype.a[34] =
        function(a) {
            return L(a) + a.b[2] | 0
        };
    q.prototype.a[35] = function(a) {
        return L(a) + a.b[3] | 0
    };
    q.prototype.a[36] = function(a) {
        return N(a) + a.b[4] | 0
    };
    q.prototype.a[37] = function(a, b) {
        return (b ? N(a) + a.b[5] : L(a) + a.X()) | 0
    };
    q.prototype.a[38] = function(a) {
        return L(a) + a.b[6] | 0
    };
    q.prototype.a[39] = function(a) {
        return L(a) + a.b[7] | 0
    };
    q.prototype.a[96] = function(a) {
        return L(a) + a.b[0] | 0
    };
    q.prototype.a[97] = function(a) {
        return L(a) + a.b[1] | 0
    };
    q.prototype.a[98] = function(a) {
        return L(a) + a.b[2] | 0
    };
    q.prototype.a[99] = function(a) {
        return L(a) +
            a.b[3] | 0
    };
    q.prototype.a[100] = function(a) {
        return N(a) + a.b[4] | 0
    };
    q.prototype.a[101] = function(a, b) {
        return (b ? N(a) + a.b[5] : L(a) + a.X()) | 0
    };
    q.prototype.a[102] = function(a) {
        return L(a) + a.b[6] | 0
    };
    q.prototype.a[103] = function(a) {
        return L(a) + a.b[7] | 0
    };
    q.prototype.a[160] = function(a) {
        return L(a) + a.b[0] | 0
    };
    q.prototype.a[161] = function(a) {
        return L(a) + a.b[1] | 0
    };
    q.prototype.a[162] = function(a) {
        return L(a) + a.b[2] | 0
    };
    q.prototype.a[163] = function(a) {
        return L(a) + a.b[3] | 0
    };
    q.prototype.a[164] = function(a) {
        return N(a) + a.b[4] | 0
    };
    q.prototype.a[165] = function(a, b) {
        return (b ? N(a) + a.b[5] : L(a) + a.X()) | 0
    };
    q.prototype.a[166] = function(a) {
        return L(a) + a.b[6] | 0
    };
    q.prototype.a[167] = function(a) {
        return L(a) + a.b[7] | 0
    };
    q.prototype.a[224] = function(a) {
        return L(a) + a.b[0] | 0
    };
    q.prototype.a[225] = function(a) {
        return L(a) + a.b[1] | 0
    };
    q.prototype.a[226] = function(a) {
        return L(a) + a.b[2] | 0
    };
    q.prototype.a[227] = function(a) {
        return L(a) + a.b[3] | 0
    };
    q.prototype.a[228] = function(a) {
        return N(a) + a.b[4] | 0
    };
    q.prototype.a[229] = function(a, b) {
        return (b ? N(a) + a.b[5] : L(a) + a.X()) |
            0
    };
    q.prototype.a[230] = function(a) {
        return L(a) + a.b[6] | 0
    };
    q.prototype.a[231] = function(a) {
        return L(a) + a.b[7] | 0
    };
    q.prototype.a[40] = function(a) {
        return a.b[5] + L(a) + a.b[0] | 0
    };
    q.prototype.a[41] = function(a) {
        return a.b[5] + L(a) + a.b[1] | 0
    };
    q.prototype.a[42] = function(a) {
        return a.b[5] + L(a) + a.b[2] | 0
    };
    q.prototype.a[43] = function(a) {
        return a.b[5] + L(a) + a.b[3] | 0
    };
    q.prototype.a[44] = function(a) {
        return a.b[5] + N(a) + a.b[4] | 0
    };
    q.prototype.a[45] = function(a, b) {
        return a.b[5] + (b ? N(a) + a.b[5] : L(a) + a.X()) | 0
    };
    q.prototype.a[46] = function(a) {
        return a.b[5] +
            L(a) + a.b[6] | 0
    };
    q.prototype.a[47] = function(a) {
        return a.b[5] + L(a) + a.b[7] | 0
    };
    q.prototype.a[104] = function(a) {
        return (a.b[5] << 1) + L(a) + a.b[0] | 0
    };
    q.prototype.a[105] = function(a) {
        return (a.b[5] << 1) + L(a) + a.b[1] | 0
    };
    q.prototype.a[106] = function(a) {
        return (a.b[5] << 1) + L(a) + a.b[2] | 0
    };
    q.prototype.a[107] = function(a) {
        return (a.b[5] << 1) + L(a) + a.b[3] | 0
    };
    q.prototype.a[108] = function(a) {
        return (a.b[5] << 1) + N(a) + a.b[4] | 0
    };
    q.prototype.a[109] = function(a, b) {
        return (a.b[5] << 1) + (b ? N(a) + a.b[5] : L(a) + a.X()) | 0
    };
    q.prototype.a[110] = function(a) {
        return (a.b[5] <<
            1) + L(a) + a.b[6] | 0
    };
    q.prototype.a[111] = function(a) {
        return (a.b[5] << 1) + L(a) + a.b[7] | 0
    };
    q.prototype.a[168] = function(a) {
        return (a.b[5] << 2) + L(a) + a.b[0] | 0
    };
    q.prototype.a[169] = function(a) {
        return (a.b[5] << 2) + L(a) + a.b[1] | 0
    };
    q.prototype.a[170] = function(a) {
        return (a.b[5] << 2) + L(a) + a.b[2] | 0
    };
    q.prototype.a[171] = function(a) {
        return (a.b[5] << 2) + L(a) + a.b[3] | 0
    };
    q.prototype.a[172] = function(a) {
        return (a.b[5] << 2) + N(a) + a.b[4] | 0
    };
    q.prototype.a[173] = function(a, b) {
        return (a.b[5] << 2) + (b ? N(a) + a.b[5] : L(a) + a.X()) | 0
    };
    q.prototype.a[174] =
        function(a) {
            return (a.b[5] << 2) + L(a) + a.b[6] | 0
        };
    q.prototype.a[175] = function(a) {
        return (a.b[5] << 2) + L(a) + a.b[7] | 0
    };
    q.prototype.a[232] = function(a) {
        return (a.b[5] << 3) + L(a) + a.b[0] | 0
    };
    q.prototype.a[233] = function(a) {
        return (a.b[5] << 3) + L(a) + a.b[1] | 0
    };
    q.prototype.a[234] = function(a) {
        return (a.b[5] << 3) + L(a) + a.b[2] | 0
    };
    q.prototype.a[235] = function(a) {
        return (a.b[5] << 3) + L(a) + a.b[3] | 0
    };
    q.prototype.a[236] = function(a) {
        return (a.b[5] << 3) + N(a) + a.b[4] | 0
    };
    q.prototype.a[237] = function(a, b) {
        return (a.b[5] << 3) + (b ? N(a) + a.b[5] : L(a) + a.X()) |
            0
    };
    q.prototype.a[238] = function(a) {
        return (a.b[5] << 3) + L(a) + a.b[6] | 0
    };
    q.prototype.a[239] = function(a) {
        return (a.b[5] << 3) + L(a) + a.b[7] | 0
    };
    q.prototype.a[48] = function(a) {
        return a.b[6] + L(a) + a.b[0] | 0
    };
    q.prototype.a[49] = function(a) {
        return a.b[6] + L(a) + a.b[1] | 0
    };
    q.prototype.a[50] = function(a) {
        return a.b[6] + L(a) + a.b[2] | 0
    };
    q.prototype.a[51] = function(a) {
        return a.b[6] + L(a) + a.b[3] | 0
    };
    q.prototype.a[52] = function(a) {
        return a.b[6] + N(a) + a.b[4] | 0
    };
    q.prototype.a[53] = function(a, b) {
        return a.b[6] + (b ? N(a) + a.b[5] : L(a) + a.X()) | 0
    };
    q.prototype.a[54] = function(a) {
        return a.b[6] + L(a) + a.b[6] | 0
    };
    q.prototype.a[55] = function(a) {
        return a.b[6] + L(a) + a.b[7] | 0
    };
    q.prototype.a[112] = function(a) {
        return (a.b[6] << 1) + L(a) + a.b[0] | 0
    };
    q.prototype.a[113] = function(a) {
        return (a.b[6] << 1) + L(a) + a.b[1] | 0
    };
    q.prototype.a[114] = function(a) {
        return (a.b[6] << 1) + L(a) + a.b[2] | 0
    };
    q.prototype.a[115] = function(a) {
        return (a.b[6] << 1) + L(a) + a.b[3] | 0
    };
    q.prototype.a[116] = function(a) {
        return (a.b[6] << 1) + N(a) + a.b[4] | 0
    };
    q.prototype.a[117] = function(a, b) {
        return (a.b[6] << 1) + (b ? N(a) + a.b[5] :
            L(a) + a.X()) | 0
    };
    q.prototype.a[118] = function(a) {
        return (a.b[6] << 1) + L(a) + a.b[6] | 0
    };
    q.prototype.a[119] = function(a) {
        return (a.b[6] << 1) + L(a) + a.b[7] | 0
    };
    q.prototype.a[176] = function(a) {
        return (a.b[6] << 2) + L(a) + a.b[0] | 0
    };
    q.prototype.a[177] = function(a) {
        return (a.b[6] << 2) + L(a) + a.b[1] | 0
    };
    q.prototype.a[178] = function(a) {
        return (a.b[6] << 2) + L(a) + a.b[2] | 0
    };
    q.prototype.a[179] = function(a) {
        return (a.b[6] << 2) + L(a) + a.b[3] | 0
    };
    q.prototype.a[180] = function(a) {
        return (a.b[6] << 2) + N(a) + a.b[4] | 0
    };
    q.prototype.a[181] = function(a, b) {
        return (a.b[6] <<
            2) + (b ? N(a) + a.b[5] : L(a) + a.X()) | 0
    };
    q.prototype.a[182] = function(a) {
        return (a.b[6] << 2) + L(a) + a.b[6] | 0
    };
    q.prototype.a[183] = function(a) {
        return (a.b[6] << 2) + L(a) + a.b[7] | 0
    };
    q.prototype.a[240] = function(a) {
        return (a.b[6] << 3) + L(a) + a.b[0] | 0
    };
    q.prototype.a[241] = function(a) {
        return (a.b[6] << 3) + L(a) + a.b[1] | 0
    };
    q.prototype.a[242] = function(a) {
        return (a.b[6] << 3) + L(a) + a.b[2] | 0
    };
    q.prototype.a[243] = function(a) {
        return (a.b[6] << 3) + L(a) + a.b[3] | 0
    };
    q.prototype.a[244] = function(a) {
        return (a.b[6] << 3) + N(a) + a.b[4] | 0
    };
    q.prototype.a[245] = function(a,
        b) {
        return (a.b[6] << 3) + (b ? N(a) + a.b[5] : L(a) + a.X()) | 0
    };
    q.prototype.a[246] = function(a) {
        return (a.b[6] << 3) + L(a) + a.b[6] | 0
    };
    q.prototype.a[247] = function(a) {
        return (a.b[6] << 3) + L(a) + a.b[7] | 0
    };
    q.prototype.a[56] = function(a) {
        return a.b[7] + L(a) + a.b[0] | 0
    };
    q.prototype.a[57] = function(a) {
        return a.b[7] + L(a) + a.b[1] | 0
    };
    q.prototype.a[58] = function(a) {
        return a.b[7] + L(a) + a.b[2] | 0
    };
    q.prototype.a[59] = function(a) {
        return a.b[7] + L(a) + a.b[3] | 0
    };
    q.prototype.a[60] = function(a) {
        return a.b[7] + N(a) + a.b[4] | 0
    };
    q.prototype.a[61] = function(a,
        b) {
        return a.b[7] + (b ? N(a) + a.b[5] : L(a) + a.X()) | 0
    };
    q.prototype.a[62] = function(a) {
        return a.b[7] + L(a) + a.b[6] | 0
    };
    q.prototype.a[63] = function(a) {
        return a.b[7] + L(a) + a.b[7] | 0
    };
    q.prototype.a[120] = function(a) {
        return (a.b[7] << 1) + L(a) + a.b[0] | 0
    };
    q.prototype.a[121] = function(a) {
        return (a.b[7] << 1) + L(a) + a.b[1] | 0
    };
    q.prototype.a[122] = function(a) {
        return (a.b[7] << 1) + L(a) + a.b[2] | 0
    };
    q.prototype.a[123] = function(a) {
        return (a.b[7] << 1) + L(a) + a.b[3] | 0
    };
    q.prototype.a[124] = function(a) {
        return (a.b[7] << 1) + N(a) + a.b[4] | 0
    };
    q.prototype.a[125] =
        function(a, b) {
            return (a.b[7] << 1) + (b ? N(a) + a.b[5] : L(a) + a.X()) | 0
        };
    q.prototype.a[126] = function(a) {
        return (a.b[7] << 1) + L(a) + a.b[6] | 0
    };
    q.prototype.a[127] = function(a) {
        return (a.b[7] << 1) + L(a) + a.b[7] | 0
    };
    q.prototype.a[184] = function(a) {
        return (a.b[7] << 2) + L(a) + a.b[0] | 0
    };
    q.prototype.a[185] = function(a) {
        return (a.b[7] << 2) + L(a) + a.b[1] | 0
    };
    q.prototype.a[186] = function(a) {
        return (a.b[7] << 2) + L(a) + a.b[2] | 0
    };
    q.prototype.a[187] = function(a) {
        return (a.b[7] << 2) + L(a) + a.b[3] | 0
    };
    q.prototype.a[188] = function(a) {
        return (a.b[7] << 2) + N(a) + a.b[4] |
            0
    };
    q.prototype.a[189] = function(a, b) {
        return (a.b[7] << 2) + (b ? N(a) + a.b[5] : L(a) + a.X()) | 0
    };
    q.prototype.a[190] = function(a) {
        return (a.b[7] << 2) + L(a) + a.b[6] | 0
    };
    q.prototype.a[191] = function(a) {
        return (a.b[7] << 2) + L(a) + a.b[7] | 0
    };
    q.prototype.a[248] = function(a) {
        return (a.b[7] << 3) + L(a) + a.b[0] | 0
    };
    q.prototype.a[249] = function(a) {
        return (a.b[7] << 3) + L(a) + a.b[1] | 0
    };
    q.prototype.a[250] = function(a) {
        return (a.b[7] << 3) + L(a) + a.b[2] | 0
    };
    q.prototype.a[251] = function(a) {
        return (a.b[7] << 3) + L(a) + a.b[3] | 0
    };
    q.prototype.a[252] = function(a) {
        return (a.b[7] <<
            3) + N(a) + a.b[4] | 0
    };
    q.prototype.a[253] = function(a, b) {
        return (a.b[7] << 3) + (b ? N(a) + a.b[5] : L(a) + a.X()) | 0
    };
    q.prototype.a[254] = function(a) {
        return (a.b[7] << 3) + L(a) + a.b[6] | 0
    };
    q.prototype.a[255] = function(a) {
        return (a.b[7] << 3) + L(a) + a.b[7] | 0
    }
})();

function Bf(a, b) {
    return 0 > a ? (b & 4095) >> (-a >> 1) : (~b & 4095) >> a
}

function Cf(a, b, c) {
    return Math.min(Bf(a, b), Bf(a, c))
};

function Df(a, b, c) {
    return a.add(b, c, 7)
}

function Ef(a, b, c) {
    return a.add(b, c, 15)
}

function Ff(a, b, c) {
    return a.add(b, c, 31)
}

function Of(a, b, c) {
    return Pf(a, b, c, 7)
}

function Qf(a, b, c) {
    return Pf(a, b, c, 15)
}

function Rf(a, b, c) {
    return Pf(a, b, c, 31)
}

function Sf(a, b, c) {
    return a.sub(b, c, 7)
}

function Tf(a, b, c) {
    return a.sub(b, c, 15)
}

function Uf(a, b, c) {
    return a.sub(b, c, 31)
}

function Vf(a, b, c) {
    return Wf(a, b, c, 7)
}

function Xf(a, b, c) {
    return Wf(a, b, c, 15)
}

function Yf(a, b, c) {
    return Wf(a, b, c, 31)
}
k = q.prototype;
k.add = function(a, b, c) {
    this.jb = a;
    this.kb = b;
    this.l = this.F = a + b | 0;
    this.S = c;
    this.u = 2261;
    return this.F
};

function Pf(a, b, c, d) {
    var e = a.cb();
    a.jb = b;
    a.kb = c;
    a.l = a.F = (b + c | 0) + e | 0;
    a.S = d;
    a.u = 2261;
    return a.F
}
k.sub = function(a, b, c) {
    this.l = a;
    this.kb = b;
    this.jb = this.F = a - b | 0;
    this.S = c;
    this.u = 2261;
    return this.F
};

function Wf(a, b, c, d) {
    var e = a.cb();
    a.l = b;
    a.kb = c;
    a.jb = a.F = b - c - e | 0;
    a.S = d;
    a.u = 2261;
    return a.F
}

function Zf(a, b, c) {
    a.flags = a.flags & -2 | a.cb();
    a.jb = b;
    a.kb = 1;
    a.l = a.F = b + 1 | 0;
    a.S = c;
    a.u = 2260;
    return a.F
}

function $f(a, b, c) {
    a.flags = a.flags & -2 | a.cb();
    a.l = b;
    a.kb = 1;
    a.jb = a.F = b - 1 | 0;
    a.S = c;
    a.u = 2260;
    return a.F
}

function ag(a, b, c) {
    a.jb = a.F = -b | 0;
    a.u = 2261;
    a.l = 0;
    a.kb = b;
    a.S = c;
    return a.F
}

function bg(a, b, c) {
    b *= c;
    a.F = b & 65535;
    a.S = 15;
    a.flags = 32767 < b || -32768 > b ? a.flags | 2049 : a.flags & -2050;
    a.u = 212;
    return b
}

function cg(a, b, c) {
    var d = b & 65535;
    b >>>= 16;
    var e = c & 65535;
    c >>>= 16;
    var f = d * e;
    e = (f >>> 16) + (b * e | 0) | 0;
    var h = e >>> 16;
    e = (e & 65535) + (d * c | 0) | 0;
    a.ka[0] = e << 16 | f & 65535;
    a.ka[1] = ((e >>> 16) + (b * c | 0) | 0) + h | 0;
    return a.ka
}

function dg(a, b, c) {
    var d = !1;
    0 > b && (d = !0, b = -b | 0);
    0 > c && (d = !d, c = -c | 0);
    a = cg(a, b, c);
    d && (a[0] = -a[0] | 0, a[1] = ~a[1] + !a[0] | 0);
    return a
}

function eg(a, b, c) {
    b = dg(a, b, c);
    a.F = b[0];
    a.S = 31;
    a.flags = b[1] === b[0] >> 31 ? a.flags & -2050 : a.flags | 2049;
    a.u = 212;
    return b[0]
}

function fg(a, b, c, d) {
    (c >= d || 0 === d) && Re(a);
    var e = 0;
    if (1048576 < c) {
        for (var f = 32, h = d; h > c;) h >>>= 1, f--;
        for (; 1048576 < c;) {
            if (c >= h) {
                c -= h;
                var g = d << f >>> 0;
                g > b && c--;
                b = b - g >>> 0;
                e |= 1 << f
            }
            f--;
            h >>= 1
        }
        e >>>= 0
    }
    b += 4294967296 * c;
    a.Z[0] = e + (b / d | 0);
    a.Z[1] = b % d;
    return a.Z
}

function gg(a, b, c) {
    return a.and(b, c, 7)
}

function hg(a, b, c) {
    return a.and(b, c, 15)
}

function ig(a, b, c) {
    return a.and(b, c, 31)
}

function jg(a, b, c) {
    return a.or(b, c, 7)
}

function kg(a, b, c) {
    return a.or(b, c, 15)
}

function lg(a, b, c) {
    return a.or(b, c, 31)
}

function mg(a, b, c) {
    return a.xor(b, c, 7)
}

function ng(a, b, c) {
    return a.xor(b, c, 15)
}

function og(a, b, c) {
    return a.xor(b, c, 31)
}
k.and = function(a, b, c) {
    this.F = a & b;
    this.S = c;
    this.flags &= -2066;
    this.u = 196;
    return this.F
};
k.or = function(a, b, c) {
    this.F = a | b;
    this.S = c;
    this.flags &= -2066;
    this.u = 196;
    return this.F
};
k.xor = function(a, b, c) {
    this.F = a ^ b;
    this.S = c;
    this.flags &= -2066;
    this.u = 196;
    return this.F
};

function pg(a, b, c) {
    if (!c) return b;
    c &= 7;
    b = b << c | b >> 8 - c;
    a.u &= -2050;
    a.flags = a.flags & -2050 | b & 1 | (b << 11 ^ b << 4) & 2048;
    return b
}

function qg(a, b, c) {
    if (!c) return b;
    c &= 15;
    b = b << c | b >> 16 - c;
    a.u &= -2050;
    a.flags = a.flags & -2050 | b & 1 | (b << 11 ^ b >> 4) & 2048;
    return b
}

function rg(a, b, c) {
    if (!c) return b;
    b = b << c | b >>> 32 - c;
    a.u &= -2050;
    a.flags = a.flags & -2050 | b & 1 | (b << 11 ^ b >> 20) & 2048;
    return b
}

function sg(a, b, c) {
    c %= 9;
    if (!c) return b;
    b = b << c | a.cb() << c - 1 | b >> 9 - c;
    a.u &= -2050;
    a.flags = a.flags & -2050 | b >> 8 & 1 | (b << 3 ^ b << 4) & 2048;
    return b
}

function tg(a, b, c) {
    c %= 17;
    if (!c) return b;
    b = b << c | a.cb() << c - 1 | b >> 17 - c;
    a.u &= -2050;
    a.flags = a.flags & -2050 | b >> 16 & 1 | (b >> 5 ^ b >> 4) & 2048;
    return b
}

function ug(a, b, c) {
    if (!c) return b;
    var d = b << c | a.cb() << c - 1;
    1 < c && (d |= b >>> 33 - c);
    a.u &= -2050;
    a.flags = a.flags & -2050 | b >>> 32 - c & 1;
    a.flags |= (a.flags << 11 ^ d >> 20) & 2048;
    return d
}

function vg(a, b, c) {
    if (!c) return b;
    c &= 7;
    b = b >> c | b << 8 - c;
    a.u &= -2050;
    a.flags = a.flags & -2050 | b >> 7 & 1 | (b << 4 ^ b << 5) & 2048;
    return b
}

function wg(a, b, c) {
    if (!c) return b;
    c &= 15;
    b = b >> c | b << 16 - c;
    a.u &= -2050;
    a.flags = a.flags & -2050 | b >> 15 & 1 | (b >> 4 ^ b >> 3) & 2048;
    return b
}

function xg(a, b, c) {
    if (!c) return b;
    b = b >>> c | b << 32 - c;
    a.u &= -2050;
    a.flags = a.flags & -2050 | b >> 31 & 1 | (b >> 20 ^ b >> 19) & 2048;
    return b
}

function yg(a, b, c) {
    c %= 9;
    if (!c) return b;
    b = b >> c | a.cb() << 8 - c | b << 9 - c;
    a.u &= -2050;
    a.flags = a.flags & -2050 | b >> 8 & 1 | (b << 4 ^ b << 5) & 2048;
    return b
}

function zg(a, b, c) {
    c %= 17;
    if (!c) return b;
    b = b >> c | a.cb() << 16 - c | b << 17 - c;
    a.u &= -2050;
    a.flags = a.flags & -2050 | b >> 16 & 1 | (b >> 4 ^ b >> 3) & 2048;
    return b
}

function Ag(a, b, c) {
    if (!c) return b;
    var d = b >>> c | a.cb() << 32 - c;
    1 < c && (d |= b << 33 - c);
    a.u &= -2050;
    a.flags = a.flags & -2050 | b >> c - 1 & 1 | (d >> 20 ^ d >> 19) & 2048;
    return d
}

function Bg(a, b, c) {
    if (0 === c) return b;
    a.F = b << c;
    a.S = 7;
    a.u = 212;
    a.flags = a.flags & -2050 | a.F >> 8 & 1 | (a.F << 3 ^ a.F << 4) & 2048;
    return a.F
}

function Cg(a, b, c) {
    if (0 === c) return b;
    a.F = b << c;
    a.S = 15;
    a.u = 212;
    a.flags = a.flags & -2050 | a.F >> 16 & 1 | (a.F >> 5 ^ a.F >> 4) & 2048;
    return a.F
}

function Dg(a, b, c) {
    if (0 === c) return b;
    a.F = b << c;
    a.S = 31;
    a.u = 212;
    a.flags = a.flags & -2050 | b >>> 32 - c & 1;
    a.flags |= (a.flags & 1 ^ a.F >> 31 & 1) << 11 & 2048;
    return a.F
}

function Eg(a, b, c) {
    if (0 === c) return b;
    a.F = b >> c;
    a.S = 7;
    a.u = 212;
    a.flags = a.flags & -2050 | b >> c - 1 & 1 | (b >> 7 & 1) << 11 & 2048;
    return a.F
}

function Fg(a, b, c) {
    if (0 === c) return b;
    a.F = b >> c;
    a.S = 15;
    a.u = 212;
    a.flags = a.flags & -2050 | b >> c - 1 & 1 | b >> 4 & 2048;
    return a.F
}

function Gg(a, b, c) {
    if (0 === c) return b;
    a.F = b >>> c;
    a.S = 31;
    a.u = 212;
    a.flags = a.flags & -2050 | b >>> c - 1 & 1 | b >> 20 & 2048;
    return a.F
}

function Hg(a, b, c) {
    if (0 === c) return b;
    8 > c ? (a.F = b << 24 >> c + 24, a.flags = a.flags & -2050 | b >> c - 1 & 1) : (a.F = b << 24 >> 31, a.flags = a.flags & -2050 | a.F & 1);
    a.S = 7;
    a.u = 212;
    return a.F
}

function Ig(a, b, c) {
    if (0 === c) return b;
    16 > c ? (a.F = b << 16 >> c + 16, a.flags = a.flags & -2050 | b >> c - 1 & 1) : (a.F = b << 16 >> 31, a.flags = a.flags & -2050 | a.F & 1);
    a.S = 15;
    a.u = 212;
    return a.F
}

function Jg(a, b, c) {
    if (0 === c) return b;
    a.F = b >> c;
    a.S = 31;
    a.u = 212;
    a.flags = a.flags & -2050 | b >>> c - 1 & 1;
    return a.F
}

function Kg(a, b, c, d) {
    if (0 === d) return b;
    16 >= d ? (a.F = b >> d | c << 16 - d, a.flags = a.flags & -2 | b >> d - 1 & 1) : (a.F = b << 32 - d | c >> d - 16, a.flags = a.flags & -2 | c >> d - 17 & 1);
    a.S = 15;
    a.u = 212;
    a.flags = a.flags & -2049 | (a.F ^ b) >> 4 & 2048;
    return a.F
}

function Lg(a, b, c, d) {
    if (0 === d) return b;
    a.F = b >>> d | c << 32 - d;
    a.S = 31;
    a.u = 212;
    a.flags = a.flags & -2 | b >>> d - 1 & 1;
    a.flags = a.flags & -2049 | (a.F ^ b) >> 20 & 2048;
    return a.F
}

function Mg(a, b, c, d) {
    if (0 === d) return b;
    16 >= d ? (a.F = b << d | c >>> 16 - d, a.flags = a.flags & -2 | b >>> 16 - d & 1) : (a.F = b >> 32 - d | c << d - 16, a.flags = a.flags & -2 | c >>> 32 - d & 1);
    a.S = 15;
    a.u = 212;
    a.flags = a.flags & -2049 | (a.flags & 1 ^ a.F >> 15 & 1) << 11;
    return a.F
}

function Ng(a, b, c, d) {
    if (0 === d) return b;
    a.F = b << d | c >>> 32 - d;
    a.S = 31;
    a.u = 212;
    a.flags = a.flags & -2 | b >>> 32 - d & 1;
    a.flags = 1 === d ? a.flags & -2049 | (a.flags & 1 ^ a.F >> 31 & 1) << 11 : a.flags & -2049;
    return a.F
}

function Og(a, b, c) {
    a.flags = a.flags & -2 | b >> c & 1;
    a.u &= -2
}

function Pg(a, b, c) {
    a.flags = a.flags & -2 | b >> c & 1;
    a.u &= -2;
    return b ^ 1 << c
}

function Qg(a, b, c) {
    a.flags = a.flags & -2 | b >> c & 1;
    a.u &= -2;
    return b | 1 << c
}

function Rg(a, b, c) {
    a.flags = a.flags & -2 | b >> c & 1;
    a.u &= -2;
    return b & ~(1 << c)
}

function Sg(a, b, c) {
    b = pe(a, b + (c >> 3) | 0);
    a.flags = a.flags & -2 | b >> (c & 7) & 1;
    a.u &= -2
}

function Tg(a, b, c) {
    b = se(a, b + (c >> 3) | 0);
    var d = a.ja(b);
    c &= 7;
    a.flags = a.flags & -2 | d >> c & 1;
    a.u &= -2;
    a.za(b, d ^ 1 << c)
}

function Ug(a, b, c) {
    b = se(a, b + (c >> 3) | 0);
    var d = a.ja(b);
    c &= 7;
    a.flags = a.flags & -2 | d >> c & 1;
    a.u &= -2;
    a.za(b, d & ~(1 << c))
}

function Vg(a, b, c) {
    b = se(a, b + (c >> 3) | 0);
    var d = a.ja(b);
    c &= 7;
    a.flags = a.flags & -2 | d >> c & 1;
    a.u &= -2;
    a.za(b, d | 1 << c)
}

function Wg(a, b) {
    a.u = 0;
    a.flags &= -2262;
    if (b) return b -= b >> 1 & 1431655765, b = (b & 858993459) + (b >> 2 & 858993459), 16843009 * (b + (b >> 4) & 252645135) >> 24;
    a.flags |= 64;
    return 0
}

function Xg(a) {
    a >>>= 0;
    32768 <= a ? a = 0 : 255 < a && (a = 255);
    return a
}

function Yg(a) {
    65408 < a ? a &= 255 : 32767 < a ? a = 128 : 127 < a && (a = 127);
    return a
}

function Zg(a) {
    a >>>= 0;
    4294934528 < a ? a &= 65535 : 2147483647 < a ? a = 32768 : 32767 < a && (a = 32767);
    return a
}

function $g(a) {
    a >>>= 0;
    4294967168 < a ? a &= 255 : 2147483647 < a ? a = 128 : 127 < a && (a = 127);
    return a
}

function ah(a) {
    a |= 0;
    0 > a && (a = 0);
    return a
}

function bh(a) {
    a >>>= 0;
    255 < a && (a = 255);
    return a
}

function ch(a) {
    return 65535 < a ? 65535 : a
};

function dh(a, b) {
    var c = a.wa();
    b && (a.A = a.A + c | 0)
}

function eh(a, b) {
    var c = C(a, 1);
    a.A -= c;
    a.A = a.A + b & 65535;
    a.A = a.A + c | 0
}

function fh(a, b) {
    var c = a.U();
    b && eh(a, c)
}

function gh(a, b) {
    var c = a.ea();
    b && (a.A = a.A + c | 0)
}

function hh(a, b) {
    var c = O(a);
    b && of (a, c)
}

function ih(a, b) {
    var c = Ve(a);
    b && pf(a, c)
}

function jh(a, b) {
    Ze(a, b ? 1 : 0)
}
k = q.prototype;
k.loop = function(a) {
    Af(this) && (this.A = this.A + a | 0)
};
k.cb = function() {
    return this.u & 1 ? (this.jb ^ (this.jb ^ this.kb) & (this.kb ^ this.l)) >>> this.S & 1 : this.flags & 1
};
k.Ug = function() {
    return this.u & 4 ? 154020 >> ((this.F ^ this.F >> 4) & 15) & 4 : this.flags & 4
};

function Ae(a) {
    return a.u & 16 ? (a.jb ^ a.kb ^ a.l) & 16 : a.flags & 16
}
k.Ac = function() {
    return this.u & 64 ? (~this.F & this.F - 1) >>> this.S & 1 : this.flags & 64
};
k.xf = function() {
    return this.u & 128 ? this.F >>> this.S & 1 : this.flags & 128
};
k.Te = function() {
    return this.u & 2048 ? ((this.jb ^ this.l) & (this.kb ^ this.l)) >>> this.S & 1 : this.flags & 2048
};
k.Qb = q.prototype.Te;
k.yb = q.prototype.cb;
k.Ab = q.prototype.Ac;
k.Rb = q.prototype.xf;
k.zb = q.prototype.Ug;

function kh(a) {
    return a.cb() || a.Ac()
}

function lh(a) {
    return !a.xf() !== !a.Te()
}

function mh(a) {
    return a.Ac() || !a.xf() !== !a.Te()
}

function I(a, b) {
    var c = G(a, -2);
    u(a, c, b);
    Ee(a, -2)
}

function J(a, b) {
    var c = G(a, -4);
    w(a, c, b);
    Ee(a, -4)
}

function nh(a) {
    var b = C(a, 2) + Ce(a) | 0;
    b = x(a, b);
    Ee(a, 2);
    return b
}

function oh(a) {
    var b = C(a, 2) + Ce(a) | 0;
    b = y(a, b);
    Ee(a, 4);
    return b
}

function ph(a, b) {
    var c = a.h[0];
    a.h[0] = a.h[b];
    a.h[b] = c
}

function qh(a, b) {
    var c = a.b[0];
    a.b[0] = a.b[b];
    a.b[b] = c
}

function rh(a, b) {
    192 <= a.f && t(a);
    var c = F(a, a.f),
        d = x(a, c);
    c = x(a, c + 2 | 0);
    $d(a, b, c);
    a.h[a.f >> 2 & 14] = d
}

function sh(a, b) {
    192 <= a.f && t(a);
    var c = F(a, a.f),
        d = y(a, c);
    c = x(a, c + 4 | 0);
    $d(a, b, c);
    a.b[a.f >> 3 & 7] = d
}

function th(a, b) {
    var c = a.b[b];
    a.b[b] = c >>> 24 | c << 24 | c >> 8 & 65280 | c << 8 & 16711680
};
var W = [],
    X = [],
    Z = [];
W[0] = function(a) {
    D(a);
    cf(a, Df(a, bf(a), kf(a)))
};
X[1] = function(a) {
    D(a);
    R(a, Ef(a, Q(a), mf(a)))
};
Z[1] = function(a) {
    D(a);
    ef(a, Ff(a, df(a), S(a)))
};
W[2] = function(a) {
    D(a);
    lf(a, Df(a, kf(a), Ue(a)))
};
X[3] = function(a) {
    D(a); of (a, Ef(a, mf(a), O(a)))
};
Z[3] = function(a) {
    D(a);
    pf(a, Ff(a, S(a), Ve(a)))
};
W[4] = function(a) {
    a.D[0] = Df(a, a.D[0], a.L())
};
X[5] = function(a) {
    a.h[0] = Ef(a, a.h[0], a.U())
};
Z[5] = function(a) {
    a.b[0] = Ff(a, a.b[0], a.ea())
};
X[6] = function(a) {
    I(a, a.M[0])
};
Z[6] = function(a) {
    J(a, a.M[0])
};
X[7] = function(a) {
    $d(a, 0, x(a, G(a, 0)));
    Ee(a, 2)
};
Z[7] = function(a) {
    $d(a, 0, y(a, G(a, 0)) & 65535);
    Ee(a, 4)
};
W[8] = function(a) {
    D(a);
    cf(a, jg(a, bf(a), kf(a)))
};
X[9] = function(a) {
    D(a);
    R(a, kg(a, Q(a), mf(a)))
};
Z[9] = function(a) {
    D(a);
    ef(a, lg(a, df(a), S(a)))
};
W[10] = function(a) {
    D(a);
    lf(a, jg(a, kf(a), Ue(a)))
};
X[11] = function(a) {
    D(a); of (a, kg(a, mf(a), O(a)))
};
Z[11] = function(a) {
    D(a);
    pf(a, lg(a, S(a), Ve(a)))
};
W[12] = function(a) {
    a.D[0] = jg(a, a.D[0], a.L())
};
X[13] = function(a) {
    a.h[0] = kg(a, a.h[0], a.U())
};
Z[13] = function(a) {
    a.b[0] = lg(a, a.b[0], a.ea())
};
X[14] = function(a) {
    I(a, a.M[1])
};
Z[14] = function(a) {
    J(a, a.M[1])
};
X[15] = function(a) {
    a.qk[a.yh()](a)
};
Z[15] = function(a) {
    a.rk[a.yh()](a)
};
W[16] = function(a) {
    D(a);
    cf(a, Of(a, bf(a), kf(a)))
};
X[17] = function(a) {
    D(a);
    R(a, Qf(a, Q(a), mf(a)))
};
Z[17] = function(a) {
    D(a);
    ef(a, Rf(a, df(a), S(a)))
};
W[18] = function(a) {
    D(a);
    lf(a, Of(a, kf(a), Ue(a)))
};
X[19] = function(a) {
    D(a); of (a, Qf(a, mf(a), O(a)))
};
Z[19] = function(a) {
    D(a);
    pf(a, Rf(a, S(a), Ve(a)))
};
W[20] = function(a) {
    a.D[0] = Of(a, a.D[0], a.L())
};
X[21] = function(a) {
    a.h[0] = Qf(a, a.h[0], a.U())
};
Z[21] = function(a) {
    a.b[0] = Rf(a, a.b[0], a.ea())
};
X[22] = function(a) {
    I(a, a.M[2])
};
Z[22] = function(a) {
    J(a, a.M[2])
};
X[23] = function(a) {
    $d(a, 2, x(a, G(a, 0)));
    Ee(a, 2);
    a.H = 0;
    ee(a)
};
Z[23] = function(a) {
    $d(a, 2, y(a, G(a, 0)) & 65535);
    Ee(a, 4);
    a.H = 0;
    ee(a)
};
W[24] = function(a) {
    D(a);
    cf(a, Vf(a, bf(a), kf(a)))
};
X[25] = function(a) {
    D(a);
    R(a, Xf(a, Q(a), mf(a)))
};
Z[25] = function(a) {
    D(a);
    ef(a, Yf(a, df(a), S(a)))
};
W[26] = function(a) {
    D(a);
    lf(a, Vf(a, kf(a), Ue(a)))
};
X[27] = function(a) {
    D(a); of (a, Xf(a, mf(a), O(a)))
};
Z[27] = function(a) {
    D(a);
    pf(a, Yf(a, S(a), Ve(a)))
};
W[28] = function(a) {
    a.D[0] = Vf(a, a.D[0], a.L())
};
X[29] = function(a) {
    a.h[0] = Xf(a, a.h[0], a.U())
};
Z[29] = function(a) {
    a.b[0] = Yf(a, a.b[0], a.ea())
};
X[30] = function(a) {
    I(a, a.M[3])
};
Z[30] = function(a) {
    J(a, a.M[3])
};
X[31] = function(a) {
    $d(a, 3, x(a, G(a, 0)));
    Ee(a, 2)
};
Z[31] = function(a) {
    $d(a, 3, y(a, G(a, 0)) & 65535);
    Ee(a, 4)
};
W[32] = function(a) {
    D(a);
    cf(a, gg(a, bf(a), kf(a)))
};
X[33] = function(a) {
    D(a);
    R(a, hg(a, Q(a), mf(a)))
};
Z[33] = function(a) {
    D(a);
    ef(a, ig(a, df(a), S(a)))
};
W[34] = function(a) {
    D(a);
    lf(a, gg(a, kf(a), Ue(a)))
};
X[35] = function(a) {
    D(a); of (a, hg(a, mf(a), O(a)))
};
Z[35] = function(a) {
    D(a);
    pf(a, ig(a, S(a), Ve(a)))
};
W[36] = function(a) {
    a.D[0] = gg(a, a.D[0], a.L())
};
X[37] = function(a) {
    a.h[0] = hg(a, a.h[0], a.U())
};
Z[37] = function(a) {
    a.b[0] = ig(a, a.b[0], a.ea())
};
W[38] = function(a) {
    fe(a, 0)
};
W[39] = function(a) {
    var b = a.D[0],
        c = a.cb(),
        d = Ae(a);
    a.flags &= -18;
    if (9 < (b & 15) || d) a.D[0] += 6, a.flags |= 16;
    if (153 < b || c) a.D[0] += 96, a.flags |= 1;
    a.F = a.D[0];
    a.S = 7;
    a.jb = a.kb = 0;
    a.u = 196
};
W[40] = function(a) {
    D(a);
    cf(a, Sf(a, bf(a), kf(a)))
};
X[41] = function(a) {
    D(a);
    R(a, Tf(a, Q(a), mf(a)))
};
Z[41] = function(a) {
    D(a);
    ef(a, Uf(a, df(a), S(a)))
};
W[42] = function(a) {
    D(a);
    lf(a, Sf(a, kf(a), Ue(a)))
};
X[43] = function(a) {
    D(a); of (a, Tf(a, mf(a), O(a)))
};
Z[43] = function(a) {
    D(a);
    pf(a, Uf(a, S(a), Ve(a)))
};
W[44] = function(a) {
    a.D[0] = Sf(a, a.D[0], a.L())
};
X[45] = function(a) {
    a.h[0] = Tf(a, a.h[0], a.U())
};
Z[45] = function(a) {
    a.b[0] = Uf(a, a.b[0], a.ea())
};
W[46] = function(a) {
    fe(a, 1)
};
W[47] = function(a) {
    var b = a.D[0],
        c = a.cb();
    a.flags &= -2;
    9 < (b & 15) || Ae(a) ? (a.D[0] -= 6, a.flags |= 16, a.flags = a.flags & -2 | c | 6 > b) : a.flags &= -17;
    if (153 < b || c) a.D[0] -= 96, a.flags |= 1;
    a.F = a.D[0];
    a.S = 7;
    a.jb = a.kb = 0;
    a.u = 196
};
W[48] = function(a) {
    D(a);
    cf(a, mg(a, bf(a), kf(a)))
};
X[49] = function(a) {
    D(a);
    R(a, ng(a, Q(a), mf(a)))
};
Z[49] = function(a) {
    D(a);
    ef(a, og(a, df(a), S(a)))
};
W[50] = function(a) {
    D(a);
    lf(a, mg(a, kf(a), Ue(a)))
};
X[51] = function(a) {
    D(a); of (a, ng(a, mf(a), O(a)))
};
Z[51] = function(a) {
    D(a);
    pf(a, og(a, S(a), Ve(a)))
};
W[52] = function(a) {
    a.D[0] = mg(a, a.D[0], a.L())
};
X[53] = function(a) {
    a.h[0] = ng(a, a.h[0], a.U())
};
Z[53] = function(a) {
    a.b[0] = og(a, a.b[0], a.ea())
};
W[54] = function(a) {
    fe(a, 2)
};
W[55] = function(a) {
    9 < (a.D[0] & 15) || Ae(a) ? (a.h[0] += 6, a.D[1] += 1, a.flags |= 17) : a.flags &= -18;
    a.D[0] &= 15;
    a.u &= -18
};
W[56] = function(a) {
    D(a);
    var b = Ue(a);
    a.sub(b, kf(a), 7)
};
X[57] = function(a) {
    D(a);
    var b = O(a);
    a.sub(b, mf(a), 15)
};
Z[57] = function(a) {
    D(a);
    var b = Ve(a);
    a.sub(b, S(a), 31)
};
W[58] = function(a) {
    D(a);
    var b = Ue(a);
    a.sub(kf(a), b, 7)
};
X[59] = function(a) {
    D(a);
    var b = O(a);
    a.sub(mf(a), b, 15)
};
Z[59] = function(a) {
    D(a);
    var b = Ve(a);
    a.sub(S(a), b, 31)
};
W[60] = function(a) {
    var b = a.L();
    a.sub(a.D[0], b, 7)
};
X[61] = function(a) {
    var b = a.U();
    a.sub(a.h[0], b, 15)
};
Z[61] = function(a) {
    var b = a.ea();
    a.sub(a.b[0], b, 31)
};
W[62] = function(a) {
    fe(a, 3)
};
W[63] = function(a) {
    9 < (a.D[0] & 15) || Ae(a) ? (a.h[0] -= 6, --a.D[1], a.flags |= 17) : a.flags &= -18;
    a.D[0] &= 15;
    a.u &= -18
};
X[64] = function(a) {
    a.h[0] = Zf(a, a.h[0], 15)
};
Z[64] = function(a) {
    a.b[0] = Zf(a, a.b[0], 31)
};
X[65] = function(a) {
    a.h[2] = Zf(a, a.h[2], 15)
};
Z[65] = function(a) {
    a.b[1] = Zf(a, a.b[1], 31)
};
X[66] = function(a) {
    a.h[4] = Zf(a, a.h[4], 15)
};
Z[66] = function(a) {
    a.b[2] = Zf(a, a.b[2], 31)
};
X[67] = function(a) {
    a.h[6] = Zf(a, a.h[6], 15)
};
Z[67] = function(a) {
    a.b[3] = Zf(a, a.b[3], 31)
};
X[68] = function(a) {
    a.h[8] = Zf(a, a.h[8], 15)
};
Z[68] = function(a) {
    a.b[4] = Zf(a, a.b[4], 31)
};
X[69] = function(a) {
    a.h[10] = Zf(a, a.h[10], 15)
};
Z[69] = function(a) {
    a.b[5] = Zf(a, a.b[5], 31)
};
X[70] = function(a) {
    a.h[12] = Zf(a, a.h[12], 15)
};
Z[70] = function(a) {
    a.b[6] = Zf(a, a.b[6], 31)
};
X[71] = function(a) {
    a.h[14] = Zf(a, a.h[14], 15)
};
Z[71] = function(a) {
    a.b[7] = Zf(a, a.b[7], 31)
};
X[72] = function(a) {
    a.h[0] = $f(a, a.h[0], 15)
};
Z[72] = function(a) {
    a.b[0] = $f(a, a.b[0], 31)
};
X[73] = function(a) {
    a.h[2] = $f(a, a.h[2], 15)
};
Z[73] = function(a) {
    a.b[1] = $f(a, a.b[1], 31)
};
X[74] = function(a) {
    a.h[4] = $f(a, a.h[4], 15)
};
Z[74] = function(a) {
    a.b[2] = $f(a, a.b[2], 31)
};
X[75] = function(a) {
    a.h[6] = $f(a, a.h[6], 15)
};
Z[75] = function(a) {
    a.b[3] = $f(a, a.b[3], 31)
};
X[76] = function(a) {
    a.h[8] = $f(a, a.h[8], 15)
};
Z[76] = function(a) {
    a.b[4] = $f(a, a.b[4], 31)
};
X[77] = function(a) {
    a.h[10] = $f(a, a.h[10], 15)
};
Z[77] = function(a) {
    a.b[5] = $f(a, a.b[5], 31)
};
X[78] = function(a) {
    a.h[12] = $f(a, a.h[12], 15)
};
Z[78] = function(a) {
    a.b[6] = $f(a, a.b[6], 31)
};
X[79] = function(a) {
    a.h[14] = $f(a, a.h[14], 15)
};
Z[79] = function(a) {
    a.b[7] = $f(a, a.b[7], 31)
};
X[80] = function(a) {
    I(a, a.h[0])
};
Z[80] = function(a) {
    J(a, a.b[0])
};
X[81] = function(a) {
    I(a, a.h[2])
};
Z[81] = function(a) {
    J(a, a.b[1])
};
X[82] = function(a) {
    I(a, a.h[4])
};
Z[82] = function(a) {
    J(a, a.b[2])
};
X[83] = function(a) {
    I(a, a.h[6])
};
Z[83] = function(a) {
    J(a, a.b[3])
};
X[84] = function(a) {
    I(a, a.h[8])
};
Z[84] = function(a) {
    J(a, a.b[4])
};
X[85] = function(a) {
    I(a, a.h[10])
};
Z[85] = function(a) {
    J(a, a.b[5])
};
X[86] = function(a) {
    I(a, a.h[12])
};
Z[86] = function(a) {
    J(a, a.b[6])
};
X[87] = function(a) {
    I(a, a.h[14])
};
Z[87] = function(a) {
    J(a, a.b[7])
};
X[88] = function(a) {
    a.h[0] = nh(a)
};
Z[88] = function(a) {
    a.b[0] = oh(a)
};
X[89] = function(a) {
    a.h[2] = nh(a)
};
Z[89] = function(a) {
    a.b[1] = oh(a)
};
X[90] = function(a) {
    a.h[4] = nh(a)
};
Z[90] = function(a) {
    a.b[2] = oh(a)
};
X[91] = function(a) {
    a.h[6] = nh(a)
};
Z[91] = function(a) {
    a.b[3] = oh(a)
};
X[92] = function(a) {
    a.h[8] = nh(a)
};
Z[92] = function(a) {
    a.b[4] = oh(a)
};
X[93] = function(a) {
    a.h[10] = nh(a)
};
Z[93] = function(a) {
    a.b[5] = oh(a)
};
X[94] = function(a) {
    a.h[12] = nh(a)
};
Z[94] = function(a) {
    a.b[6] = oh(a)
};
X[95] = function(a) {
    a.h[14] = nh(a)
};
Z[95] = function(a) {
    a.b[7] = oh(a)
};
X[96] = function(a) {
    var b = a.h[8];
    Cb(a, G(a, -16), 16);
    I(a, a.h[0]);
    I(a, a.h[2]);
    I(a, a.h[4]);
    I(a, a.h[6]);
    I(a, b);
    I(a, a.h[10]);
    I(a, a.h[12]);
    I(a, a.h[14])
};
Z[96] = function(a) {
    var b = a.b[4];
    Cb(a, G(a, -32), 32);
    J(a, a.b[0]);
    J(a, a.b[1]);
    J(a, a.b[2]);
    J(a, a.b[3]);
    J(a, b);
    J(a, a.b[5]);
    J(a, a.b[6]);
    J(a, a.b[7])
};
X[97] = function(a) {
    je(a, G(a, 0));
    je(a, G(a, 15));
    a.h[14] = nh(a);
    a.h[12] = nh(a);
    a.h[10] = nh(a);
    Ee(a, 2);
    a.h[6] = nh(a);
    a.h[4] = nh(a);
    a.h[2] = nh(a);
    a.h[0] = nh(a)
};
Z[97] = function(a) {
    je(a, G(a, 0));
    je(a, G(a, 31));
    a.b[7] = oh(a);
    a.b[6] = oh(a);
    a.b[5] = oh(a);
    Ee(a, 4);
    a.b[3] = oh(a);
    a.b[2] = oh(a);
    a.b[1] = oh(a);
    a.b[0] = oh(a)
};
W[98] = function() {};
W[99] = function(a) {
    D(a);
    if (a.ta && !ye(a)) {
        var b = Q(a);
        var c = a.f >> 2 & 14;
        a.u &= -65;
        (b & 3) < (a.h[c] & 3) ? (a.flags |= 64, b = b & -4 | a.h[c] & 3) : a.flags &= -65;
        R(a, b)
    } else t(a)
};
W[100] = function(a) {
    fe(a, 4)
};
W[101] = function(a) {
    fe(a, 5)
};
W[102] = function(a) {
    a.H |= 32;
    ge(a);
    a.H = 0
};
W[103] = function(a) {
    a.H |= 64;
    ge(a);
    a.H = 0
};
X[104] = function(a) {
    I(a, a.U())
};
Z[104] = function(a) {
    J(a, a.ea())
};
X[105] = function(a) {
    D(a); of (a, bg(a, O(a) << 16 >> 16, a.U() << 16 >> 16))
};
Z[105] = function(a) {
    D(a);
    pf(a, eg(a, Ve(a), a.ea()))
};
X[106] = function(a) {
    I(a, a.wa())
};
Z[106] = function(a) {
    J(a, a.wa())
};
X[107] = function(a) {
    D(a); of (a, bg(a, O(a) << 16 >> 16, a.wa()))
};
Z[107] = function(a) {
    D(a);
    pf(a, eg(a, Ve(a), a.wa()))
};
W[108] = function(a) {
    var b = a.h[4];
    uf(a, b, 1);
    var c = C(a, 0) + U(a, 7) | 0,
        d = a.flags & 1024 ? -1 : 1;
    if (a.H & 24) {
        var e = U(a, 1) >>> 0;
        if (0 !== e) {
            var f = e,
                h = 4096,
                g = se(a, c);
            a.V && (h = Bf(d, c));
            do a.za(g, Va(a.o, b)), g += d, c = 0 !== --e; while (c && h--);
            V(a, 7, d * (f - e) | 0);
            zf(a, e);
            a.Y += f - e;
            c && (a.A = a.ga)
        }
    } else Cb(a, c, 1), re(a, c, Va(a.o, b)), V(a, 7, d)
};
X[109] = function(a) {
    var b = a.h[4];
    uf(a, b, 2);
    var c = C(a, 0) + U(a, 7) | 0,
        d = a.flags & 1024 ? -2 : 2;
    if (a.H & 24) {
        var e = U(a, 1) >>> 0;
        if (0 !== e) {
            var f = e,
                h = 4096;
            if (c & 1) {
                do {
                    u(a, c, Wa(a.o, b));
                    c += d;
                    V(a, 7, d);
                    var g = 0 !== Af(a)
                } while (g && h--)
            } else {
                var p = 0 > d ? -1 : 1,
                    r = se(a, c) >>> 1;
                a.V && (h = Bf(d, c));
                do zc(a, r, Wa(a.o, b)), r += p, g = 0 !== --e; while (g && h--);
                V(a, 7, d * (f - e) | 0);
                zf(a, e);
                a.Y += f - e
            }
            g && (a.A = a.ga)
        }
    } else Cb(a, c, 2), u(a, c, Wa(a.o, b)), V(a, 7, d)
};
Z[109] = function(a) {
    var b = a.h[4];
    uf(a, b, 4);
    var c = C(a, 0) + U(a, 7) | 0,
        d = a.flags & 1024 ? -4 : 4;
    if (a.H & 24) {
        var e = U(a, 1) >>> 0;
        if (0 !== e) {
            var f = e,
                h = 4096;
            if (c & 3) {
                do {
                    w(a, c, Xa(a.o, b));
                    c += d;
                    V(a, 7, d);
                    var g = 0 !== Af(a)
                } while (g && h--)
            } else {
                var p = 0 > d ? -1 : 1,
                    r = se(a, c) >>> 2;
                a.V && (h = Bf(d, c));
                do Ac(a, r, Xa(a.o, b)), r += p, g = 0 !== --e; while (g && h--);
                V(a, 7, d * (f - e) | 0);
                zf(a, e);
                a.Y += f - e
            }
            g && (a.A = a.ga)
        }
    } else Cb(a, c, 4), w(a, c, Xa(a.o, b)), V(a, 7, d)
};
W[110] = function(a) {
    var b = a.h[4];
    uf(a, b, 1);
    var c = we(a, 3) + U(a, 6) | 0,
        d = a.flags & 1024 ? -1 : 1;
    if (a.H & 24) {
        var e = U(a, 1) >>> 0;
        if (0 !== e) {
            var f = e,
                h = 4096,
                g = je(a, c);
            a.V && (h = Bf(d, c));
            do Sa(a.o, b, a.ja(g)), g += d, c = 0 !== --e; while (c && h--);
            V(a, 6, d * (f - e) | 0);
            zf(a, e);
            a.Y += f - e;
            c && (a.A = a.ga)
        }
    } else Sa(a.o, b, pe(a, c)), V(a, 6, d)
};
X[111] = function(a) {
    var b = a.h[4];
    uf(a, b, 2);
    var c = we(a, 3) + U(a, 6) | 0,
        d = a.flags & 1024 ? -2 : 2;
    if (a.H & 24) {
        var e = U(a, 1) >>> 0;
        if (0 !== e) {
            var f = e,
                h = 4096;
            if (c & 1) {
                do {
                    Ta(a.o, b, x(a, c));
                    c += d;
                    V(a, 6, d);
                    var g = 0 !== Af(a)
                } while (g && h--)
            } else {
                var p = 0 > d ? -1 : 1,
                    r = je(a, c) >>> 1;
                a.V && (h = Bf(d, c));
                do Ta(a.o, b, xc(a, r)), r += p, g = 0 !== --e; while (g && h--);
                V(a, 6, d * (f - e) | 0);
                zf(a, e);
                a.Y += f - e
            }
            g && (a.A = a.ga)
        }
    } else Ta(a.o, b, x(a, c)), V(a, 6, d)
};
Z[111] = function(a) {
    var b = a.h[4];
    uf(a, b, 4);
    var c = we(a, 3) + U(a, 6) | 0,
        d = a.flags & 1024 ? -4 : 4;
    if (a.H & 24) {
        var e = U(a, 1) >>> 0;
        if (0 !== e) {
            var f = e,
                h = 4096;
            if (c & 3) {
                do {
                    Ua(a.o, b, y(a, c));
                    c += d;
                    V(a, 6, d);
                    var g = 0 !== Af(a)
                } while (g && h--)
            } else {
                var p = 0 > d ? -1 : 1,
                    r = je(a, c) >>> 2;
                a.V && (h = Bf(d, c));
                do Ua(a.o, b, yc(a, r)), r += p, g = 0 !== --e; while (g && h--);
                V(a, 6, d * (f - e) | 0);
                zf(a, e);
                a.Y += f - e
            }
            g && (a.A = a.ga)
        }
    } else Ua(a.o, b, y(a, c)), V(a, 6, d)
};
W[112] = function(a) {
    dh(a, a.Qb())
};
W[113] = function(a) {
    dh(a, !a.Qb())
};
W[114] = function(a) {
    dh(a, a.yb())
};
W[115] = function(a) {
    dh(a, !a.yb())
};
W[116] = function(a) {
    dh(a, a.Ab())
};
W[117] = function(a) {
    dh(a, !a.Ab())
};
W[118] = function(a) {
    dh(a, kh(a))
};
W[119] = function(a) {
    dh(a, !kh(a))
};
W[120] = function(a) {
    dh(a, a.Rb())
};
W[121] = function(a) {
    dh(a, !a.Rb())
};
W[122] = function(a) {
    dh(a, a.zb())
};
W[123] = function(a) {
    dh(a, !a.zb())
};
W[124] = function(a) {
    dh(a, lh(a))
};
W[125] = function(a) {
    dh(a, !lh(a))
};
W[126] = function(a) {
    dh(a, mh(a))
};
W[127] = function(a) {
    dh(a, !mh(a))
};
W[128] = function(a) {
    D(a);
    switch (a.f >> 3 & 7) {
        case 0:
            cf(a, Df(a, bf(a), a.L()));
            break;
        case 1:
            cf(a, jg(a, bf(a), a.L()));
            break;
        case 2:
            cf(a, Of(a, bf(a), a.L()));
            break;
        case 3:
            cf(a, Vf(a, bf(a), a.L()));
            break;
        case 4:
            cf(a, gg(a, bf(a), a.L()));
            break;
        case 5:
            cf(a, Sf(a, bf(a), a.L()));
            break;
        case 6:
            cf(a, mg(a, bf(a), a.L()));
            break;
        case 7:
            var b = Ue(a),
                c = a.L();
            a.sub(b, c, 7)
    }
};
X[129] = function(a) {
    D(a);
    switch (a.f >> 3 & 7) {
        case 0:
            R(a, Ef(a, Q(a), a.U()));
            break;
        case 1:
            R(a, kg(a, Q(a), a.U()));
            break;
        case 2:
            R(a, Qf(a, Q(a), a.U()));
            break;
        case 3:
            R(a, Xf(a, Q(a), a.U()));
            break;
        case 4:
            R(a, hg(a, Q(a), a.U()));
            break;
        case 5:
            R(a, Tf(a, Q(a), a.U()));
            break;
        case 6:
            R(a, ng(a, Q(a), a.U()));
            break;
        case 7:
            var b = O(a),
                c = a.U();
            a.sub(b, c, 15)
    }
};
Z[129] = function(a) {
    D(a);
    switch (a.f >> 3 & 7) {
        case 0:
            ef(a, Ff(a, df(a), a.ea()));
            break;
        case 1:
            ef(a, lg(a, df(a), a.ea()));
            break;
        case 2:
            ef(a, Rf(a, df(a), a.ea()));
            break;
        case 3:
            ef(a, Yf(a, df(a), a.ea()));
            break;
        case 4:
            ef(a, ig(a, df(a), a.ea()));
            break;
        case 5:
            ef(a, Uf(a, df(a), a.ea()));
            break;
        case 6:
            ef(a, og(a, df(a), a.ea()));
            break;
        case 7:
            var b = Ve(a),
                c = a.ea();
            a.sub(b, c, 31)
    }
};
W[130] = W[128];
X[131] = function(a) {
    D(a);
    switch (a.f >> 3 & 7) {
        case 0:
            R(a, Ef(a, Q(a), a.wa()));
            break;
        case 1:
            R(a, kg(a, Q(a), a.wa()));
            break;
        case 2:
            R(a, Qf(a, Q(a), a.wa()));
            break;
        case 3:
            R(a, Xf(a, Q(a), a.wa()));
            break;
        case 4:
            R(a, hg(a, Q(a), a.wa()));
            break;
        case 5:
            R(a, Tf(a, Q(a), a.wa()));
            break;
        case 6:
            R(a, ng(a, Q(a), a.wa()));
            break;
        case 7:
            var b = O(a),
                c = a.wa();
            a.sub(b, c, 15)
    }
};
Z[131] = function(a) {
    D(a);
    switch (a.f >> 3 & 7) {
        case 0:
            ef(a, Ff(a, df(a), a.wa()));
            break;
        case 1:
            ef(a, lg(a, df(a), a.wa()));
            break;
        case 2:
            ef(a, Rf(a, df(a), a.wa()));
            break;
        case 3:
            ef(a, Yf(a, df(a), a.wa()));
            break;
        case 4:
            ef(a, ig(a, df(a), a.wa()));
            break;
        case 5:
            ef(a, Uf(a, df(a), a.wa()));
            break;
        case 6:
            ef(a, og(a, df(a), a.wa()));
            break;
        case 7:
            var b = Ve(a),
                c = a.wa();
            a.sub(b, c, 31)
    }
};
W[132] = function(a) {
    D(a);
    var b = Ue(a);
    a.and(b, kf(a), 7)
};
X[133] = function(a) {
    D(a);
    var b = O(a);
    a.and(b, mf(a), 15)
};
Z[133] = function(a) {
    D(a);
    var b = Ve(a);
    a.and(b, S(a), 31)
};
W[134] = function(a) {
    D(a);
    var b = bf(a),
        c = a.f;
    c = c >> 1 & 12 | c >> 5 & 1;
    var d = a.D[c];
    a.D[c] = b;
    cf(a, d)
};
X[135] = function(a) {
    D(a);
    var b = Q(a),
        c = a.f >> 2 & 14,
        d = a.h[c];
    a.h[c] = b;
    R(a, d)
};
Z[135] = function(a) {
    D(a);
    var b = df(a),
        c = a.f >> 3 & 7,
        d = a.b[c];
    a.b[c] = b;
    ef(a, d)
};
W[136] = function(a) {
    D(a);
    Ze(a, kf(a))
};
X[137] = function(a) {
    D(a);
    $e(a, mf(a))
};
Z[137] = function(a) {
    D(a);
    af(a, S(a))
};
W[138] = function(a) {
    D(a);
    var b = Ue(a);
    lf(a, b)
};
X[139] = function(a) {
    D(a);
    var b = O(a); of (a, b)
};
Z[139] = function(a) {
    D(a);
    var b = Ve(a);
    pf(a, b)
};
X[140] = function(a) {
    D(a);
    $e(a, a.M[a.f >> 3 & 7])
};
Z[140] = function(a) {
    D(a);
    af(a, a.M[a.f >> 3 & 7])
};
X[141] = function(a) {
    D(a);
    192 <= a.f && t(a);
    var b = a.f >> 3 & 7;
    a.H |= 7;
    a.h[b << 1] = F(a, a.f);
    a.H = 0
};
Z[141] = function(a) {
    D(a);
    192 <= a.f && t(a);
    var b = a.f >> 3 & 7;
    a.H |= 7;
    a.b[b] = F(a, a.f);
    a.H = 0
};
W[142] = function(a) {
    D(a);
    var b = a.f >> 3 & 7,
        c = O(a);
    $d(a, b, c);
    2 === b && (a.H = 0, ee(a))
};
X[143] = function(a) {
    D(a);
    var b = x(a, G(a, 0));
    Ee(a, 2);
    if (192 > a.f) {
        var c = F(a, a.f);
        Ee(a, -2);
        u(a, c, b);
        Ee(a, 2)
    } else gf(a, b)
};
Z[143] = function(a) {
    D(a);
    var b = y(a, G(a, 0));
    Ee(a, 4);
    if (192 > a.f) {
        var c = F(a, a.f);
        Ee(a, -4);
        w(a, c, b);
        Ee(a, 4)
    } else jf(a, b)
};
W[144] = function() {};
X[145] = function(a) {
    ph(a, 2)
};
Z[145] = function(a) {
    qh(a, 1)
};
X[146] = function(a) {
    ph(a, 4)
};
Z[146] = function(a) {
    qh(a, 2)
};
X[147] = function(a) {
    ph(a, 6)
};
Z[147] = function(a) {
    qh(a, 3)
};
X[148] = function(a) {
    ph(a, 8)
};
Z[148] = function(a) {
    qh(a, 4)
};
X[149] = function(a) {
    ph(a, 10)
};
Z[149] = function(a) {
    qh(a, 5)
};
X[150] = function(a) {
    ph(a, 12)
};
Z[150] = function(a) {
    qh(a, 6)
};
X[151] = function(a) {
    ph(a, 14)
};
Z[151] = function(a) {
    qh(a, 7)
};
X[152] = function(a) {
    a.h[0] = a.sg[0]
};
Z[152] = function(a) {
    a.b[0] = a.se[0]
};
X[153] = function(a) {
    a.h[4] = a.se[0] >> 15
};
Z[153] = function(a) {
    a.b[2] = a.b[0] >> 31
};
X[154] = function(a) {
    var b = a.U(),
        c = a.Ib();
    Qe(a, b, c, !0);
    me(a) || Fe(a)
};
Z[154] = function(a) {
    var b = a.ea(),
        c = a.Ib();
    if ((!a.ta || ye(a)) && b & 4294901760) throw a.debug.P("#GP handler");
    Qe(a, b, c, !0);
    me(a) || Fe(a)
};
W[155] = function(a) {
    10 === (a.K[0] & 10) && Se(a)
};
X[156] = function(a) {
    a.flags & 131072 && 3 > xe(a) ? H(a, 0) : I(a, ze(a))
};
Z[156] = function(a) {
    a.flags & 131072 && 3 > xe(a) ? H(a, 0) : J(a, ze(a) & 16580607)
};
X[157] = function(a) {
    a.flags & 131072 && 3 > xe(a) && H(a, 0);
    Be(a, a.flags & -65536 | nh(a));
    a.flags & 256 ? a.flags &= -257 : ab(a)
};
Z[157] = function(a) {
    a.flags & 131072 && 3 > xe(a) && H(a, 0);
    Be(a, oh(a));
    ab(a)
};
W[158] = function(a) {
    a.flags = a.flags & -256 | a.D[1];
    a.flags = a.flags & 4161493 | 2;
    a.u = 0
};
W[159] = function(a) {
    a.D[1] = ze(a)
};
W[160] = function(a) {
    var b = pe(a, ve(a));
    a.D[0] = b
};
X[161] = function(a) {
    var b = x(a, ve(a));
    a.h[0] = b
};
Z[161] = function(a) {
    var b = y(a, ve(a));
    a.b[0] = b
};
W[162] = function(a) {
    re(a, ve(a), a.D[0])
};
X[163] = function(a) {
    u(a, ve(a), a.h[0])
};
Z[163] = function(a) {
    w(a, ve(a), a.b[0])
};
W[164] = function(a) {
    var b = we(a, 3) + U(a, 6) | 0,
        c = C(a, 0) + U(a, 7) | 0,
        d = a.flags & 1024 ? -1 : 1;
    if (a.H & 24) {
        var e = U(a, 1) >>> 0;
        if (0 !== e) {
            var f = e,
                h = 4096,
                g = je(a, b),
                p = se(a, c);
            a.V && (h = Cf(d, b, c));
            do a.za(p, a.ja(g)), p += d, g += d, b = 0 !== --e; while (b && h--);
            d = d * (f - e) | 0;
            V(a, 7, d);
            V(a, 6, d);
            zf(a, e);
            a.Y += f - e;
            b && (a.A = a.ga)
        }
    } else re(a, c, pe(a, b)), V(a, 7, d), V(a, 6, d)
};
X[165] = function(a) {
    var b = we(a, 3) + U(a, 6) | 0,
        c = C(a, 0) + U(a, 7) | 0,
        d = a.flags & 1024 ? -2 : 2;
    if (a.H & 24) {
        var e = U(a, 1) >>> 0;
        if (0 !== e) {
            var f = e,
                h = 4096;
            if (c & 1 || b & 1) {
                do {
                    u(a, c, x(a, b));
                    c += d;
                    V(a, 7, d);
                    b += d;
                    V(a, 6, d);
                    var g = 0 !== Af(a)
                } while (g && h--)
            } else {
                var p = 0 > d ? -1 : 1,
                    r = je(a, b) >>> 1,
                    v = se(a, c) >>> 1;
                a.V && (h = Cf(d, b, c));
                do zc(a, v, xc(a, r)), v += p, r += p, g = 0 !== --e; while (g && h--);
                b = d * (f - e) | 0;
                V(a, 7, b);
                V(a, 6, b);
                zf(a, e);
                a.Y += f - e
            }
            g && (a.A = a.ga)
        }
    } else u(a, c, x(a, b)), V(a, 7, d), V(a, 6, d)
};
Z[165] = function(a) {
    a: {
        if (a.H & 24) {
            var b = we(a, 3) + U(a, 6) | 0,
                c = C(a, 0) + U(a, 7) | 0,
                d = U(a, 1) >>> 0;
            if (!d) break a;
            var e = a.V ? 4095 : 3;
            if (0 === (c & e) && 0 === (b & e) && 0 === (a.flags & 1024) && (e = !1, a.V && (b = je(a, b), c = se(a, c), 1024 < d && (d = 1024, e = !0)), !Qa(a.o, b, d) && !Qa(a.o, c, d))) {
                var f = d << 2;
                V(a, 1, -d);
                V(a, 7, f);
                V(a, 6, f);
                b >>>= 2;
                a.Cc.set(a.Cc.subarray(b, b + d), c >>> 2);
                e && (a.A = a.ga);
                break a
            }
        }
        b = we(a, 3) + U(a, 6) | 0;c = C(a, 0) + U(a, 7) | 0;f = a.flags & 1024 ? -4 : 4;
        if (a.H & 24) {
            if (d = U(a, 1) >>> 0, 0 !== d) {
                var h = d,
                    g = 4096;
                if (c & 3 || b & 3) {
                    do w(a, c, y(a, b)), c += f, V(a, 7, f),
                        b += f, V(a, 6, f), e = 0 !== Af(a); while (e && g--)
                } else {
                    var p = 0 > f ? -1 : 1,
                        r = je(a, b) >>> 2,
                        v = se(a, c) >>> 2;
                    a.V && (g = Cf(f, b, c));
                    do Ac(a, v, yc(a, r)), v += p, r += p, e = 0 !== --d; while (e && g--);
                    f = f * (h - d) | 0;
                    V(a, 7, f);
                    V(a, 6, f);
                    zf(a, d);
                    a.Y += h - d
                }
                e && (a.A = a.ga)
            }
        } else w(a, c, y(a, b)),
        V(a, 7, f),
        V(a, 6, f)
    }
};
W[166] = function(a) {
    a: {
        var b = we(a, 3) + U(a, 6) | 0,
            c = C(a, 0) + U(a, 7) | 0,
            d = a.flags & 1024 ? -1 : 1;
        if (a.H & 24) {
            var e = U(a, 1) >>> 0;
            if (0 === e) break a;
            var f = e,
                h = 8 === (a.H & 24),
                g = 4096,
                p = je(a, b),
                r = je(a, c);
            a.V && (g = Cf(d, b, c));
            do {
                c = a.ja(r);
                b = a.ja(p);
                r += d;
                p += d;
                var v = 0 !== --e && b === c === h
            } while (v && g--);
            d = d * (f - e) | 0;
            V(a, 7, d);
            V(a, 6, d);
            zf(a, e);
            a.Y += f - e;
            v && (a.A = a.ga)
        } else b = pe(a, b),
        c = pe(a, c),
        V(a, 7, d),
        V(a, 6, d);a.sub(b, c, 7)
    }
};
X[167] = function(a) {
    a: {
        var b = we(a, 3) + U(a, 6) | 0,
            c = C(a, 0) + U(a, 7) | 0,
            d = a.flags & 1024 ? -2 : 2;
        if (a.H & 24) {
            var e = U(a, 1) >>> 0;
            if (0 === e) break a;
            var f = e,
                h = 8 === (a.H & 24),
                g = 4096;
            if (c & 1 || b & 1) {
                do {
                    var p = x(a, c);
                    var r = x(a, b);
                    c += d;
                    V(a, 7, d);
                    b += d;
                    V(a, 6, d);
                    var v = 0 !== Af(a) && r === p === h
                } while (v && g--)
            } else {
                var E = 0 > d ? -1 : 1,
                    z = je(a, b) >>> 1,
                    A = je(a, c) >>> 1;
                a.V && (g = Cf(d, b, c));
                do p = xc(a, A), r = xc(a, z), A += E, z += E, v = 0 !== --e && r === p === h; while (v && g--);
                b = d * (f - e) | 0;
                V(a, 7, b);
                V(a, 6, b);
                zf(a, e);
                a.Y += f - e
            }
            v && (a.A = a.ga)
        } else p = x(a, c),
        r = x(a, b),
        V(a, 7, d),
        V(a,
            6, d);a.sub(r, p, 15)
    }
};
Z[167] = function(a) {
    a: {
        var b = we(a, 3) + U(a, 6) | 0,
            c = C(a, 0) + U(a, 7) | 0,
            d = a.flags & 1024 ? -4 : 4;
        if (a.H & 24) {
            var e = U(a, 1) >>> 0;
            if (0 === e) break a;
            var f = e,
                h = 8 === (a.H & 24),
                g = 4096;
            if (c & 3 || b & 3) {
                do {
                    var p = y(a, c);
                    var r = y(a, b);
                    c += d;
                    V(a, 7, d);
                    b += d;
                    V(a, 6, d);
                    var v = 0 !== Af(a) && r === p === h
                } while (v && g--)
            } else {
                var E = 0 > d ? -1 : 1,
                    z = je(a, b) >>> 2,
                    A = je(a, c) >>> 2;
                a.V && (g = Cf(d, b, c));
                do p = yc(a, A), r = yc(a, z), A += E, z += E, v = 0 !== --e && r === p === h; while (v && g--);
                b = d * (f - e) | 0;
                V(a, 7, b);
                V(a, 6, b);
                zf(a, e);
                a.Y += f - e
            }
            v && (a.A = a.ga)
        } else p = y(a, c),
        r = y(a, b),
        V(a, 7, d),
        V(a,
            6, d);a.sub(r, p, 31)
    }
};
W[168] = function(a) {
    var b = a.L();
    a.and(a.D[0], b, 7)
};
X[169] = function(a) {
    var b = a.U();
    a.and(a.h[0], b, 15)
};
Z[169] = function(a) {
    var b = a.ea();
    a.and(a.b[0], b, 31)
};
W[170] = function(a) {
    var b = a.D[0],
        c = C(a, 0) + U(a, 7) | 0,
        d = a.flags & 1024 ? -1 : 1;
    if (a.H & 24) {
        var e = U(a, 1) >>> 0;
        if (0 !== e) {
            var f = e,
                h = 4096,
                g = se(a, c);
            a.V && (h = Bf(d, c));
            do a.za(g, b), g += d, c = 0 !== --e; while (c && h--);
            V(a, 7, d * (f - e) | 0);
            zf(a, e);
            a.Y += f - e;
            c && (a.A = a.ga)
        }
    } else re(a, c, b), V(a, 7, d)
};
X[171] = function(a) {
    var b = a.h[0],
        c = C(a, 0) + U(a, 7) | 0,
        d = a.flags & 1024 ? -2 : 2;
    if (a.H & 24) {
        var e = U(a, 1) >>> 0;
        if (0 !== e) {
            var f = e,
                h = 4096;
            if (c & 1) {
                do {
                    u(a, c, b);
                    c += d;
                    V(a, 7, d);
                    var g = 0 !== Af(a)
                } while (g && h--)
            } else {
                var p = 0 > d ? -1 : 1,
                    r = se(a, c) >>> 1;
                a.V && (h = Bf(d, c));
                do zc(a, r, b), r += p, g = 0 !== --e; while (g && h--);
                V(a, 7, d * (f - e) | 0);
                zf(a, e);
                a.Y += f - e
            }
            g && (a.A = a.ga)
        }
    } else u(a, c, b), V(a, 7, d)
};
Z[171] = function(a) {
    var b = a.b[0],
        c = C(a, 0) + U(a, 7) | 0,
        d = a.flags & 1024 ? -4 : 4;
    if (a.H & 24) {
        var e = U(a, 1) >>> 0;
        if (0 !== e) {
            var f = e,
                h = 4096;
            if (c & 3) {
                do {
                    w(a, c, b);
                    c += d;
                    V(a, 7, d);
                    var g = 0 !== Af(a)
                } while (g && h--)
            } else {
                var p = 0 > d ? -1 : 1,
                    r = se(a, c) >>> 2;
                a.V && (h = Bf(d, c));
                do Ac(a, r, b), r += p, g = 0 !== --e; while (g && h--);
                V(a, 7, d * (f - e) | 0);
                zf(a, e);
                a.Y += f - e
            }
            g && (a.A = a.ga)
        }
    } else w(a, c, b), V(a, 7, d)
};
W[172] = function(a) {
    var b = we(a, 3) + U(a, 6) | 0,
        c = a.flags & 1024 ? -1 : 1;
    if (a.H & 24) {
        var d = U(a, 1) >>> 0;
        if (0 !== d) {
            var e = d,
                f = 4096,
                h = je(a, b);
            a.V && (f = Bf(c, b));
            do a.D[0] = a.ja(h), h += c, b = 0 !== --d; while (b && f--);
            V(a, 6, c * (e - d) | 0);
            zf(a, d);
            a.Y += e - d;
            b && (a.A = a.ga)
        }
    } else a.D[0] = pe(a, b), V(a, 6, c)
};
X[173] = function(a) {
    var b = we(a, 3) + U(a, 6) | 0,
        c = a.flags & 1024 ? -2 : 2;
    if (a.H & 24) {
        if (0 !== U(a, 1) >>> 0) {
            var d = 4096;
            do {
                a.h[0] = x(a, b);
                b += c;
                V(a, 6, c);
                var e = 0 !== Af(a)
            } while (e && d--);
            e && (a.A = a.ga)
        }
    } else a.h[0] = x(a, b), V(a, 6, c)
};
Z[173] = function(a) {
    var b = we(a, 3) + U(a, 6) | 0,
        c = a.flags & 1024 ? -4 : 4;
    if (a.H & 24) {
        if (0 !== U(a, 1) >>> 0) {
            var d = 4096;
            do {
                a.b[0] = y(a, b);
                b += c;
                V(a, 6, c);
                var e = 0 !== Af(a)
            } while (e && d--);
            e && (a.A = a.ga)
        }
    } else a.b[0] = y(a, b), V(a, 6, c)
};
W[174] = function(a) {
    a: {
        var b = C(a, 0) + U(a, 7) | 0,
            c = a.flags & 1024 ? -1 : 1,
            d = a.D[0];
        if (a.H & 24) {
            var e = U(a, 1) >>> 0;
            if (0 === e) break a;
            var f = e,
                h = 8 === (a.H & 24),
                g = 4096,
                p = je(a, b);
            a.V && (g = Bf(c, b));
            do {
                b = a.ja(p);
                p += c;
                var r = 0 !== --e && d === b === h
            } while (r && g--);
            V(a, 7, c * (f - e) | 0);
            zf(a, e);
            a.Y += f - e;
            r && (a.A = a.ga)
        } else b = pe(a, b),
        V(a, 7, c);a.sub(d, b, 7)
    }
};
X[175] = function(a) {
    a: {
        var b = C(a, 0) + U(a, 7) | 0,
            c = a.flags & 1024 ? -2 : 2,
            d = a.h[0];
        if (a.H & 24) {
            var e = U(a, 1) >>> 0;
            if (0 === e) break a;
            var f = e,
                h = 8 === (a.H & 24),
                g = 4096;
            if (b & 1) {
                do {
                    var p = x(a, b);
                    b += c;
                    V(a, 7, c);
                    var r = 0 !== Af(a) && d === p === h
                } while (r && g--)
            } else {
                var v = 0 > c ? -1 : 1,
                    E = je(a, b) >>> 1;
                a.V && (g = Bf(c, b));
                do p = xc(a, E), E += v, r = 0 !== --e && d === p === h; while (r && g--);
                V(a, 7, c * (f - e) | 0);
                zf(a, e);
                a.Y += f - e
            }
            r && (a.A = a.ga)
        } else p = x(a, b),
        V(a, 7, c);a.sub(d, p, 15)
    }
};
Z[175] = function(a) {
    a: {
        var b = C(a, 0) + U(a, 7) | 0,
            c = a.flags & 1024 ? -4 : 4,
            d = a.b[0];
        if (a.H & 24) {
            var e = U(a, 1) >>> 0;
            if (0 === e) break a;
            var f = e,
                h = 8 === (a.H & 24),
                g = 4096;
            if (b & 3) {
                do {
                    var p = y(a, b);
                    b += c;
                    V(a, 7, c);
                    var r = 0 !== Af(a) && d === p === h
                } while (r && g--)
            } else {
                var v = 0 > c ? -1 : 1,
                    E = je(a, b) >>> 2;
                a.V && (g = Bf(c, b));
                do p = yc(a, E), E += v, r = 0 !== --e && d === p === h; while (r && g--);
                V(a, 7, c * (f - e) | 0);
                zf(a, e);
                a.Y += f - e
            }
            r && (a.A = a.ga)
        } else p = y(a, b),
        V(a, 7, c);a.sub(d, p, 31)
    }
};
W[176] = function(a) {
    a.D[0] = a.L()
};
W[177] = function(a) {
    a.D[4] = a.L()
};
W[178] = function(a) {
    a.D[8] = a.L()
};
W[179] = function(a) {
    a.D[12] = a.L()
};
W[180] = function(a) {
    a.D[1] = a.L()
};
W[181] = function(a) {
    a.D[5] = a.L()
};
W[182] = function(a) {
    a.D[9] = a.L()
};
W[183] = function(a) {
    a.D[13] = a.L()
};
X[184] = function(a) {
    a.h[0] = a.U()
};
Z[184] = function(a) {
    a.b[0] = a.ea()
};
X[185] = function(a) {
    a.h[2] = a.U()
};
Z[185] = function(a) {
    a.b[1] = a.ea()
};
X[186] = function(a) {
    a.h[4] = a.U()
};
Z[186] = function(a) {
    a.b[2] = a.ea()
};
X[187] = function(a) {
    a.h[6] = a.U()
};
Z[187] = function(a) {
    a.b[3] = a.ea()
};
X[188] = function(a) {
    a.h[8] = a.U()
};
Z[188] = function(a) {
    a.b[4] = a.ea()
};
X[189] = function(a) {
    a.h[10] = a.U()
};
Z[189] = function(a) {
    a.b[5] = a.ea()
};
X[190] = function(a) {
    a.h[12] = a.U()
};
Z[190] = function(a) {
    a.b[6] = a.ea()
};
X[191] = function(a) {
    a.h[14] = a.U()
};
Z[191] = function(a) {
    a.b[7] = a.ea()
};
W[192] = function(a) {
    D(a);
    var b = bf(a),
        c = a.L() & 31,
        d = 0;
    switch (a.f >> 3 & 7) {
        case 0:
            d = pg(a, b, c);
            break;
        case 1:
            d = vg(a, b, c);
            break;
        case 2:
            d = sg(a, b, c);
            break;
        case 3:
            d = yg(a, b, c);
            break;
        case 4:
            d = Bg(a, b, c);
            break;
        case 5:
            d = Eg(a, b, c);
            break;
        case 6:
            d = Bg(a, b, c);
            break;
        case 7:
            d = Hg(a, b, c)
    }
    cf(a, d)
};
X[193] = function(a) {
    D(a);
    var b = Q(a),
        c = a.L() & 31,
        d = 0;
    switch (a.f >> 3 & 7) {
        case 0:
            d = qg(a, b, c);
            break;
        case 1:
            d = wg(a, b, c);
            break;
        case 2:
            d = tg(a, b, c);
            break;
        case 3:
            d = zg(a, b, c);
            break;
        case 4:
            d = Cg(a, b, c);
            break;
        case 5:
            d = Fg(a, b, c);
            break;
        case 6:
            d = Cg(a, b, c);
            break;
        case 7:
            d = Ig(a, b, c)
    }
    R(a, d)
};
Z[193] = function(a) {
    D(a);
    var b = df(a),
        c = a.L() & 31,
        d = 0;
    switch (a.f >> 3 & 7) {
        case 0:
            d = rg(a, b, c);
            break;
        case 1:
            d = xg(a, b, c);
            break;
        case 2:
            d = ug(a, b, c);
            break;
        case 3:
            d = Ag(a, b, c);
            break;
        case 4:
            d = Dg(a, b, c);
            break;
        case 5:
            d = Gg(a, b, c);
            break;
        case 6:
            d = Dg(a, b, c);
            break;
        case 7:
            d = Jg(a, b, c)
    }
    ef(a, d)
};
X[194] = function(a) {
    var b = a.U();
    a.A = C(a, 1) + nh(a) | 0;
    me(a) || Fe(a);
    Ee(a, b)
};
Z[194] = function(a) {
    var b = a.U(),
        c = oh(a);
    a.A = C(a, 1) + c | 0;
    Ee(a, b)
};
X[195] = function(a) {
    a.A = C(a, 1) + nh(a) | 0
};
Z[195] = function(a) {
    var b = oh(a);
    a.A = C(a, 1) + b | 0
};
X[196] = function(a) {
    D(a);
    rh(a, 0)
};
Z[196] = function(a) {
    D(a);
    sh(a, 0)
};
X[197] = function(a) {
    D(a);
    rh(a, 3)
};
Z[197] = function(a) {
    D(a);
    sh(a, 3)
};
W[198] = function(a) {
    D(a);
    192 > a.f ? re(a, F(a, a.f), a.L()) : a.D[a.f << 2 & 12 | a.f >> 2 & 1] = a.L()
};
X[199] = function(a) {
    D(a);
    192 > a.f ? u(a, F(a, a.f), a.U()) : a.h[a.f << 1 & 14] = a.U()
};
Z[199] = function(a) {
    D(a);
    192 > a.f ? w(a, F(a, a.f), a.ea()) : a.b[a.f & 7] = a.ea()
};
X[200] = function(a) {
    var b = a.U(),
        c = a.uh();
    c &= 31;
    I(a, a.h[10]);
    var d = a.h[8];
    if (0 < c) {
        for (var e = a.h[5], f = 1; f < c; f++) e -= 2, I(a, x(a, C(a, 2) + e | 0));
        I(a, d)
    }
    a.h[10] = d;
    Ee(a, -b)
};
Z[200] = function(a) {
    var b = a.U(),
        c = a.uh();
    c &= 31;
    J(a, a.b[5]);
    var d = a.b[4];
    if (0 < c) {
        for (var e = a.b[5], f = 1; f < c; f++) e -= 4, J(a, y(a, C(a, 2) + e | 0));
        J(a, d)
    }
    a.b[5] = d;
    Ee(a, -b)
};
X[201] = function(a) {
    var b = a.qb ? a.b[5] : a.h[10],
        c = x(a, C(a, 2) + b | 0);
    De(a, b + 2 | 0);
    a.h[10] = c
};
Z[201] = function(a) {
    var b = a.qb ? a.b[5] : a.h[10],
        c = y(a, C(a, 2) + b | 0);
    De(a, b + 4 | 0);
    a.b[5] = c
};
X[202] = function(a) {
    var b = a.U(),
        c = x(a, G(a, 0)),
        d = x(a, G(a, 2));
    Pe(a, c, d, b)
};
Z[202] = function(a) {
    var b = a.U(),
        c = y(a, G(a, 0)),
        d = y(a, G(a, 4)) & 65535;
    Pe(a, c, d, b);
    me(a) || Fe(a)
};
X[203] = function(a) {
    var b = x(a, G(a, 0)),
        c = x(a, G(a, 2));
    Pe(a, b, c, 0);
    me(a) || Fe(a)
};
Z[203] = function(a) {
    var b = y(a, G(a, 0)),
        c = y(a, G(a, 4)) & 65535;
    Pe(a, b, c, 0);
    me(a) || Fe(a)
};
W[204] = function(a) {
    Ge(a, 3, !0, !1)
};
W[205] = function(a) {
    var b = a.L();
    Ge(a, b, !0, !1)
};
W[206] = function(a) {
    a.Te() && Ge(a, 4, !0, !1)
};
X[207] = function(a) {
    Oe(a, !0)
};
Z[207] = function(a) {
    Oe(a, !1)
};
W[208] = function(a) {
    D(a);
    var b = bf(a),
        c = 0;
    switch (a.f >> 3 & 7) {
        case 0:
            c = pg(a, b, 1);
            break;
        case 1:
            c = vg(a, b, 1);
            break;
        case 2:
            c = sg(a, b, 1);
            break;
        case 3:
            c = yg(a, b, 1);
            break;
        case 4:
            c = Bg(a, b, 1);
            break;
        case 5:
            c = Eg(a, b, 1);
            break;
        case 6:
            c = Bg(a, b, 1);
            break;
        case 7:
            c = Hg(a, b, 1)
    }
    cf(a, c)
};
X[209] = function(a) {
    D(a);
    var b = Q(a),
        c = 0;
    switch (a.f >> 3 & 7) {
        case 0:
            c = qg(a, b, 1);
            break;
        case 1:
            c = wg(a, b, 1);
            break;
        case 2:
            c = tg(a, b, 1);
            break;
        case 3:
            c = zg(a, b, 1);
            break;
        case 4:
            c = Cg(a, b, 1);
            break;
        case 5:
            c = Fg(a, b, 1);
            break;
        case 6:
            c = Cg(a, b, 1);
            break;
        case 7:
            c = Ig(a, b, 1)
    }
    R(a, c)
};
Z[209] = function(a) {
    D(a);
    var b = df(a),
        c = 0;
    switch (a.f >> 3 & 7) {
        case 0:
            c = rg(a, b, 1);
            break;
        case 1:
            c = xg(a, b, 1);
            break;
        case 2:
            c = ug(a, b, 1);
            break;
        case 3:
            c = Ag(a, b, 1);
            break;
        case 4:
            c = Dg(a, b, 1);
            break;
        case 5:
            c = Gg(a, b, 1);
            break;
        case 6:
            c = Dg(a, b, 1);
            break;
        case 7:
            c = Jg(a, b, 1)
    }
    ef(a, c)
};
W[210] = function(a) {
    D(a);
    var b = bf(a),
        c = a.D[4] & 31,
        d = 0;
    switch (a.f >> 3 & 7) {
        case 0:
            d = pg(a, b, c);
            break;
        case 1:
            d = vg(a, b, c);
            break;
        case 2:
            d = sg(a, b, c);
            break;
        case 3:
            d = yg(a, b, c);
            break;
        case 4:
            d = Bg(a, b, c);
            break;
        case 5:
            d = Eg(a, b, c);
            break;
        case 6:
            d = Bg(a, b, c);
            break;
        case 7:
            d = Hg(a, b, c)
    }
    cf(a, d)
};
X[211] = function(a) {
    D(a);
    var b = Q(a),
        c = a.D[4] & 31,
        d = 0;
    switch (a.f >> 3 & 7) {
        case 0:
            d = qg(a, b, c);
            break;
        case 1:
            d = wg(a, b, c);
            break;
        case 2:
            d = tg(a, b, c);
            break;
        case 3:
            d = zg(a, b, c);
            break;
        case 4:
            d = Cg(a, b, c);
            break;
        case 5:
            d = Fg(a, b, c);
            break;
        case 6:
            d = Cg(a, b, c);
            break;
        case 7:
            d = Ig(a, b, c)
    }
    R(a, d)
};
Z[211] = function(a) {
    D(a);
    var b = df(a),
        c = a.D[4] & 31,
        d = 0;
    switch (a.f >> 3 & 7) {
        case 0:
            d = rg(a, b, c);
            break;
        case 1:
            d = xg(a, b, c);
            break;
        case 2:
            d = ug(a, b, c);
            break;
        case 3:
            d = Ag(a, b, c);
            break;
        case 4:
            d = Dg(a, b, c);
            break;
        case 5:
            d = Gg(a, b, c);
            break;
        case 6:
            d = Dg(a, b, c);
            break;
        case 7:
            d = Jg(a, b, c)
    }
    ef(a, d)
};
W[212] = function(a) {
    var b = a.L();
    if (0 === b) Re(a);
    else {
        var c = a.D[0];
        a.D[1] = c / b;
        a.D[0] = c % b;
        a.F = a.D[0];
        a.u = 196;
        a.flags &= -2066
    }
};
W[213] = function(a) {
    var b = a.L();
    b = a.D[0] + a.D[1] * b;
    a.F = b & 255;
    a.h[0] = a.F;
    a.S = 7;
    a.u = 196;
    a.flags &= -2066;
    65535 < b && (a.flags |= 1)
};
W[214] = function(a) {
    a.D[0] = -a.cb()
};
W[215] = function(a) {
    a.D[0] = me(a) ? pe(a, we(a, 3) + a.b[3] + a.D[0] | 0) : pe(a, we(a, 3) + (a.h[6] + a.D[0] & 65535) | 0)
};
W[216] = function(a) {
    D(a);
    Te(a);
    if (192 > a.f) {
        var b = a.T,
            c = a.f,
            d = F(a, a.f);
        a = c >> 3 & 7;
        c = Mb(b, d);
        d = wb(b);
        switch (a) {
            case 0:
                b.I[b.B] = d + c;
                break;
            case 1:
                b.I[b.B] = d * c;
                break;
            case 2:
                ub(b, c);
                break;
            case 3:
                ub(b, c);
                b.pop();
                break;
            case 4:
                b.I[b.B] = d - c;
                break;
            case 5:
                b.I[b.B] = c - d;
                break;
            case 6:
                b.I[b.B] = d / c;
                break;
            case 7:
                b.I[b.B] = c / d
        }
    } else switch (b = a.T, c = a.f, a = c >> 3 & 7, c = Hb(b, c & 7), d = wb(b), a) {
        case 0:
            b.I[b.B] = d + c;
            break;
        case 1:
            b.I[b.B] = d * c;
            break;
        case 2:
            ub(b, c);
            break;
        case 3:
            ub(b, c);
            b.pop();
            break;
        case 4:
            b.I[b.B] = d - c;
            break;
        case 5:
            b.I[b.B] =
                c - d;
            break;
        case 6:
            b.I[b.B] = d / c;
            break;
        case 7:
            b.I[b.B] = c / d
    }
};
W[217] = function(a) {
    D(a);
    Te(a);
    if (192 > a.f) {
        var b = a.T,
            c = a.f;
        a = F(a, a.f);
        switch (c >> 3 & 7) {
            case 0:
                a = Mb(b, a);
                b.push(a);
                break;
            case 1:
                sb(b);
                break;
            case 2:
                c = wb(b);
                b.m[0] = c;
                w(b.j, a, b.v[0]);
                break;
            case 3:
                c = wb(b);
                b.m[0] = c;
                w(b.j, a, b.v[0]);
                b.pop();
                break;
            case 4:
                Db(b, a);
                break;
            case 5:
                b.ec = x(b.j, a);
                break;
            case 6:
                Ab(b, a);
                break;
            case 7:
                u(b.j, a, b.ec)
        }
    } else switch (b = a.T, c = a.f, a = c & 7, c >> 3 & 7) {
        case 0:
            c = Hb(b, a);
            b.push(c);
            break;
        case 1:
            c = Hb(b, a);
            b.I[b.B + a & 7] = wb(b);
            b.I[b.B] = c;
            break;
        case 2:
            switch (a) {
                case 0:
                    break;
                default:
                    sb(b)
            }
            break;
        case 3:
            sb(b);
            break;
        case 4:
            c = wb(b);
            switch (a) {
                case 0:
                    b.I[b.B] = -c;
                    break;
                case 1:
                    b.I[b.B] = Math.abs(c);
                    break;
                case 4:
                    a = c;
                    b.a &= -18177;
                    isNaN(a) ? b.a |= 17664 : 0 === a ? b.a |= 16384 : 0 > a && (b.a |= 256);
                    break;
                case 5:
                    a = c;
                    b.a &= -18177;
                    b.a |= b.sign(0) << 9;
                    b.a = b.fa >> b.B & 1 ? b.a | 16640 : isNaN(a) ? b.a | 256 : 0 === a ? b.a | 16384 : Infinity === a || -Infinity === a ? b.a | 1280 : b.a | 1024;
                    break;
                default:
                    sb(b)
            }
            break;
        case 5:
            b.push(b.J[a]);
            break;
        case 6:
            c = wb(b);
            switch (a) {
                case 0:
                    b.I[b.B] = Math.pow(2, c) - 1;
                    break;
                case 1:
                    b.I[b.B + 1 & 7] = Hb(b, 1) * Math.log(c) / Math.LN2;
                    b.pop();
                    break;
                case 2:
                    b.I[b.B] = Math.tan(c);
                    b.push(1);
                    break;
                case 3:
                    b.I[b.B + 1 & 7] = Math.atan2(Hb(b, 1), c);
                    b.pop();
                    break;
                case 4:
                    b.l[0] = wb(b);
                    a = ((b.g[7] & 127) << 4 | b.g[6] >> 4) - 1023;
                    b.g[7] = 63 | b.g[7] & 128;
                    b.g[6] |= 240;
                    b.I[b.B] = a;
                    b.push(b.l[0]);
                    break;
                case 5:
                    b.I[b.B] = c % Hb(b, 1);
                    break;
                case 6:
                    b.B = b.B - 1 & 7;
                    b.a &= -513;
                    break;
                case 7:
                    b.B = b.B + 1 & 7, b.a &= -513
            }
            break;
        case 7:
            switch (c = wb(b), a) {
                case 0:
                    a = Hb(b, 1);
                    var d = Math.trunc(c / a);
                    b.I[b.B] = c % a;
                    b.a &= -17153;
                    d & 1 && (b.a |= 512);
                    d & 2 && (b.a |= 16384);
                    d & 4 && (b.a |= 256);
                    b.a &= -1025;
                    break;
                case 1:
                    b.I[b.B + 1 &
                        7] = Hb(b, 1) * Math.log(c + 1) / Math.LN2;
                    b.pop();
                    break;
                case 2:
                    b.I[b.B] = Math.sqrt(c);
                    break;
                case 3:
                    b.I[b.B] = Math.sin(c);
                    b.push(Math.cos(c));
                    break;
                case 4:
                    b.I[b.B] = Eb(b, c);
                    break;
                case 5:
                    b.I[b.B] = c * Math.pow(2, Gb(Hb(b, 1)));
                    break;
                case 6:
                    b.I[b.B] = Math.sin(c);
                    break;
                case 7:
                    b.I[b.B] = Math.cos(c)
            }
    }
};
W[218] = function(a) {
    D(a);
    Te(a);
    if (192 > a.f) {
        var b = a.T,
            c = a.f,
            d = F(a, a.f);
        a = c >> 3 & 7;
        c = y(b.j, d);
        d = wb(b);
        switch (a) {
            case 0:
                b.I[b.B] = d + c;
                break;
            case 1:
                b.I[b.B] = d * c;
                break;
            case 2:
                ub(b, c);
                break;
            case 3:
                ub(b, c);
                b.pop();
                break;
            case 4:
                b.I[b.B] = d - c;
                break;
            case 5:
                b.I[b.B] = c - d;
                break;
            case 6:
                b.I[b.B] = d / c;
                break;
            case 7:
                b.I[b.B] = c / d
        }
    } else switch (b = a.T, a = a.f, c = a & 7, a >> 3 & 7) {
        case 0:
            b.j.yb() && (b.I[b.B] = Hb(b, c), b.fa &= ~(1 << b.B));
            break;
        case 1:
            b.j.Ab() && (b.I[b.B] = Hb(b, c), b.fa &= ~(1 << b.B));
            break;
        case 2:
            kh(b.j) && (b.I[b.B] = Hb(b, c), b.fa &=
                ~(1 << b.B));
            break;
        case 3:
            b.j.zb() && (b.I[b.B] = Hb(b, c), b.fa &= ~(1 << b.B));
            break;
        case 5:
            1 === c ? (a = Hb(b, 1), ub(b, a), b.pop(), b.pop()) : sb(b);
            break;
        default:
            sb(b)
    }
};
W[219] = function(a) {
    D(a);
    Te(a);
    if (192 > a.f) {
        var b = a.T,
            c = a.f;
        a = F(a, a.f);
        switch (c >> 3 & 7) {
            case 0:
                a = y(b.j, a);
                b.push(a);
                break;
            case 2:
                c = Eb(b, wb(b));
                2147483647 >= c && -2147483648 <= c ? w(b.j, a, c) : (tb(b), w(b.j, a, -2147483648));
                break;
            case 3:
                c = Eb(b, wb(b));
                2147483647 >= c && -2147483648 <= c ? w(b.j, a, c) : (tb(b), w(b.j, a, -2147483648));
                b.pop();
                break;
            case 5:
                b.push(Ib(b, a));
                break;
            case 7:
                Cb(b.j, a, 10);
                Jb(b, a, wb(b));
                b.pop();
                break;
            default:
                sb(b)
        }
    } else switch (b = a.T, a = a.f, c = a & 7, a >> 3 & 7) {
        case 0:
            b.j.yb() || (b.I[b.B] = Hb(b, c), b.fa &= ~(1 << b.B));
            break;
        case 1:
            b.j.Ab() || (b.I[b.B] = Hb(b, c), b.fa &= ~(1 << b.B));
            break;
        case 2:
            kh(b.j) || (b.I[b.B] = Hb(b, c), b.fa &= ~(1 << b.B));
            break;
        case 3:
            b.j.zb() || (b.I[b.B] = Hb(b, c), b.fa &= ~(1 << b.B));
            break;
        case 4:
            227 === a ? yb(b) : 228 !== a && 225 !== a && (226 === a ? b.a = 0 : sb(b));
            break;
        case 5:
            a = Hb(b, c);
            xb(b, a);
            break;
        case 6:
            xb(b, Hb(b, c));
            break;
        default:
            sb(b)
    }
};
W[220] = function(a) {
    D(a);
    Te(a);
    if (192 > a.f) {
        var b = a.T,
            c = a.f,
            d = F(a, a.f);
        a = c >> 3 & 7;
        c = Kb(b, d);
        d = wb(b);
        switch (a) {
            case 0:
                b.I[b.B] = d + c;
                break;
            case 1:
                b.I[b.B] = d * c;
                break;
            case 2:
                ub(b, c);
                break;
            case 3:
                ub(b, c);
                b.pop();
                break;
            case 4:
                b.I[b.B] = d - c;
                break;
            case 5:
                b.I[b.B] = c - d;
                break;
            case 6:
                b.I[b.B] = d / c;
                break;
            case 7:
                b.I[b.B] = c / d
        }
    } else {
        b = a.T;
        c = a.f;
        a = c >> 3 & 7;
        d = c & 7;
        c = b.B + d & 7;
        d = Hb(b, d);
        var e = wb(b);
        switch (a) {
            case 0:
                b.I[c] = d + e;
                break;
            case 1:
                b.I[c] = d * e;
                break;
            case 2:
                ub(b, d);
                break;
            case 3:
                ub(b, d);
                b.pop();
                break;
            case 4:
                b.I[c] = e - d;
                break;
            case 5:
                b.I[c] = d - e;
                break;
            case 6:
                b.I[c] = e / d;
                break;
            case 7:
                b.I[c] = d / e
        }
    }
};
W[221] = function(a) {
    D(a);
    Te(a);
    if (192 > a.f) {
        var b = a.T,
            c = a.f;
        a = F(a, a.f);
        switch (c >> 3 & 7) {
            case 0:
                a = Kb(b, a);
                b.push(a);
                break;
            case 1:
                sb(b);
                break;
            case 2:
                Lb(b, a);
                break;
            case 3:
                Lb(b, a);
                b.pop();
                break;
            case 4:
                Db(b, a);
                a += 28;
                for (c = 0; 8 > c; c++) b.I[c + b.B & 7] = Ib(b, a), a += 10;
                break;
            case 5:
                sb(b);
                break;
            case 6:
                Cb(b.j, a, 108);
                Ab(b, a);
                a += 28;
                for (c = 0; 8 > c; c++) Jb(b, a, b.I[b.B + c & 7]), a += 10;
                yb(b);
                break;
            case 7:
                u(b.j, a, zb(b))
        }
    } else switch (b = a.T, a = a.f, c = a & 7, a >> 3 & 7) {
        case 0:
            b.fa |= 1 << (b.B + c & 7);
            break;
        case 2:
            b.I[b.B + c & 7] = wb(b);
            break;
        case 3:
            0 !==
                c && (b.I[b.B + c & 7] = wb(b));
            b.pop();
            break;
        case 4:
            a = Hb(b, c);
            ub(b, a);
            break;
        case 5:
            a = Hb(b, c);
            ub(b, a);
            b.pop();
            break;
        default:
            sb(b)
    }
};
W[222] = function(a) {
    D(a);
    Te(a);
    if (192 > a.f) {
        var b = a.T,
            c = a.f,
            d = F(a, a.f);
        a = c >> 3 & 7;
        c = x(b.j, d) << 16 >> 16;
        d = wb(b);
        switch (a) {
            case 0:
                b.I[b.B] = d + c;
                break;
            case 1:
                b.I[b.B] = d * c;
                break;
            case 2:
                ub(b, c);
                break;
            case 3:
                ub(b, c);
                b.pop();
                break;
            case 4:
                b.I[b.B] = d - c;
                break;
            case 5:
                b.I[b.B] = c - d;
                break;
            case 6:
                b.I[b.B] = d / c;
                break;
            case 7:
                b.I[b.B] = c / d
        }
    } else {
        b = a.T;
        c = a.f;
        a = c >> 3 & 7;
        c &= 7;
        d = b.B + c & 7;
        var e = Hb(b, c),
            f = wb(b);
        switch (a) {
            case 0:
                b.I[d] = e + f;
                break;
            case 1:
                b.I[d] = e * f;
                break;
            case 2:
                ub(b, e);
                break;
            case 3:
                1 === c ? (ub(b, b.I[d]), b.pop()) : sb(b);
                break;
            case 4:
                b.I[d] = f - e;
                break;
            case 5:
                b.I[d] = e - f;
                break;
            case 6:
                b.I[d] = f / e;
                break;
            case 7:
                b.I[d] = e / f
        }
        b.pop()
    }
};
W[223] = function(a) {
    D(a);
    Te(a);
    if (192 > a.f) {
        var b = a.T,
            c = a.f;
        a = F(a, a.f);
        switch (c >> 3 & 7) {
            case 0:
                a = x(b.j, a) << 16 >> 16;
                b.push(a);
                break;
            case 1:
                sb(b);
                break;
            case 2:
                c = Eb(b, wb(b));
                32767 >= c && -32768 <= c ? u(b.j, a, c) : (tb(b), u(b.j, a, 32768));
                break;
            case 3:
                c = Eb(b, wb(b));
                32767 >= c && -32768 <= c ? u(b.j, a, c) : (tb(b), u(b.j, a, 32768));
                b.pop();
                break;
            case 4:
                sb(b);
                break;
            case 5:
                c = y(b.j, a) >>> 0;
                a = y(b.j, a + 4);
                b.push(c + 4294967296 * a);
                break;
            case 6:
                sb(b);
                break;
            case 7:
                Cb(b.j, a, 8);
                c = Eb(b, wb(b));
                if (0x7fffffffffffffff > c && -9223372036854775808 <= c) {
                    var d =
                        c | 0;
                    var e = c / 4294967296 | 0;
                    0 === e && 0 > c && (e = -1)
                } else d = 0, e = -2147483648, tb(b);
                w(b.j, a, d);
                w(b.j, a + 4, e);
                b.pop()
        }
    } else switch (b = a.T, a = a.f, c = a & 7, a >> 3 & 7) {
        case 4:
            224 === a ? b.j.h[0] = zb(b) : sb(b);
            break;
        case 5:
            a = Hb(b, c);
            xb(b, a);
            b.pop();
            break;
        case 6:
            xb(b, Hb(b, c));
            b.pop();
            break;
        default:
            sb(b)
    }
};
W[224] = function(a) {
    var b = a.wa();
    Af(a) && !a.Ac() && (a.A = a.A + b | 0)
};
W[225] = function(a) {
    var b = a.wa();
    Af(a) && a.Ac() && (a.A = a.A + b | 0)
};
W[226] = function(a) {
    a.loop(a.wa())
};
W[227] = function(a) {
    var b = a.wa();
    0 === U(a, 1) && (a.A = a.A + b | 0)
};
W[228] = function(a) {
    var b = a.L();
    uf(a, b, 1);
    a.D[0] = Va(a.o, b)
};
X[229] = function(a) {
    var b = a.L();
    uf(a, b, 2);
    a.h[0] = Wa(a.o, b)
};
Z[229] = function(a) {
    var b = a.L();
    uf(a, b, 4);
    a.b[0] = Xa(a.o, b)
};
W[230] = function(a) {
    var b = a.L();
    uf(a, b, 1);
    Sa(a.o, b, a.D[0])
};
X[231] = function(a) {
    var b = a.L();
    uf(a, b, 2);
    Ta(a.o, b, a.h[0])
};
Z[231] = function(a) {
    var b = a.L();
    uf(a, b, 4);
    Ua(a.o, b, a.b[0])
};
X[232] = function(a) {
    var b = a.U();
    I(a, Fe(a));
    eh(a, b)
};
Z[232] = function(a) {
    var b = a.ea();
    J(a, Fe(a));
    a.A = a.A + b | 0;
    me(a) || Fe(a)
};
X[233] = function(a) {
    var b = a.U();
    eh(a, b)
};
Z[233] = function(a) {
    var b = a.ea();
    a.A = a.A + b | 0;
    me(a) || Fe(a)
};
X[234] = function(a) {
    var b = a.U(),
        c = a.Ib();
    Qe(a, b, c, !1);
    me(a) || Fe(a)
};
Z[234] = function(a) {
    var b = a.ea(),
        c = a.Ib();
    Qe(a, b, c, !1);
    me(a) || Fe(a)
};
W[235] = function(a) {
    var b = a.wa();
    a.A = a.A + b | 0;
    me(a) || Fe(a)
};
W[236] = function(a) {
    var b = a.h[4];
    uf(a, b, 1);
    a.D[0] = Va(a.o, b)
};
X[237] = function(a) {
    var b = a.h[4];
    uf(a, b, 2);
    a.h[0] = Wa(a.o, b)
};
Z[237] = function(a) {
    var b = a.h[4];
    uf(a, b, 4);
    a.b[0] = Xa(a.o, b)
};
W[238] = function(a) {
    var b = a.h[4];
    uf(a, b, 1);
    Sa(a.o, b, a.D[0])
};
X[239] = function(a) {
    var b = a.h[4];
    uf(a, b, 2);
    Ta(a.o, b, a.h[0])
};
Z[239] = function(a) {
    var b = a.h[4];
    uf(a, b, 4);
    Ua(a.o, b, a.b[0])
};
W[240] = function(a) {
    ge(a)
};
W[241] = function(a) {
    throw a.debug.P("int1 instruction");
};
W[242] = function(a) {
    a.H |= 16;
    ge(a);
    a.H = 0
};
W[243] = function(a) {
    a.H |= 8;
    ge(a);
    a.H = 0
};
W[244] = function(a) {
    a.N && H(a, 0);
    if (0 === (a.flags & 512)) throw a.debug.show("cpu halted"), a.w.send("cpu-event-halt"), "HALT";
    a.Tc = !0;
    throw 233495534;
};
W[245] = function(a) {
    a.flags = (a.flags | 1) ^ a.cb();
    a.u &= -2
};
W[246] = function(a) {
    D(a);
    switch (a.f >> 3 & 7) {
        case 0:
            var b = Ue(a),
                c = a.L();
            a.and(b, c, 7);
            break;
        case 1:
            b = Ue(a);
            c = a.L();
            a.and(b, c, 7);
            break;
        case 2:
            b = bf(a);
            cf(a, ~b);
            break;
        case 3:
            b = bf(a);
            cf(a, ag(a, b, 7));
            break;
        case 4:
            b = Ue(a);
            b *= a.D[0];
            a.h[0] = b;
            a.F = b & 255;
            a.S = 7;
            a.flags = 256 > b ? a.flags & -2050 : a.flags | 2049;
            a.u = 212;
            break;
        case 5:
            b = Ue(a) << 24 >> 24;
            b *= a.sg[0];
            a.h[0] = b;
            a.F = b & 255;
            a.S = 7;
            a.flags = 127 < b || -128 > b ? a.flags | 2049 : a.flags & -2050;
            a.u = 212;
            break;
        case 6:
            b = Ue(a);
            if (0 === b) Re(a);
            else {
                c = a.h[0];
                var d = c / b | 0;
                256 <= d ? Re(a) : (a.D[0] = d,
                    a.D[1] = c % b)
            }
            break;
        case 7:
            b = Ue(a) << 24 >> 24, 0 === b ? Re(a) : (c = a.se[0], d = c / b | 0, 128 <= d || -129 >= d ? Re(a) : (a.D[0] = d, a.D[1] = c % b))
    }
};
X[247] = function(a) {
    D(a);
    switch (a.f >> 3 & 7) {
        case 0:
            var b = O(a),
                c = a.U();
            a.and(b, c, 15);
            break;
        case 1:
            b = O(a);
            c = a.U();
            a.and(b, c, 15);
            break;
        case 2:
            b = Q(a);
            R(a, ~b);
            break;
        case 3:
            b = Q(a);
            R(a, ag(a, b, 15));
            break;
        case 4:
            b = O(a);
            b *= a.h[0];
            c = b >>> 16;
            a.h[0] = b;
            a.h[4] = c;
            a.F = b & 65535;
            a.S = 15;
            a.flags = 0 === c ? a.flags & -2050 : a.flags | 2049;
            a.u = 212;
            break;
        case 5:
            b = O(a) << 16 >> 16;
            b *= a.se[0];
            a.h[0] = b;
            a.h[4] = b >> 16;
            a.F = b & 65535;
            a.S = 15;
            a.flags = 32767 < b || -32768 > b ? a.flags | 2049 : a.flags & -2050;
            a.u = 212;
            break;
        case 6:
            b = O(a);
            if (0 === b) Re(a);
            else {
                c = (a.h[0] |
                    a.h[4] << 16) >>> 0;
                var d = c / b | 0;
                65536 <= d || 0 > d ? Re(a) : (a.h[0] = d, a.h[4] = c % b)
            }
            break;
        case 7:
            b = O(a) << 16 >> 16, 0 === b ? Re(a) : (c = a.h[0] | a.h[4] << 16, d = c / b | 0, 32768 <= d || -32769 >= d ? Re(a) : (a.h[0] = d, a.h[4] = c % b))
    }
};
Z[247] = function(a) {
    D(a);
    switch (a.f >> 3 & 7) {
        case 0:
            var b = Ve(a),
                c = a.ea();
            a.and(b, c, 31);
            break;
        case 1:
            b = Ve(a);
            c = a.ea();
            a.and(b, c, 31);
            break;
        case 2:
            b = df(a);
            ef(a, ~b);
            break;
        case 3:
            b = df(a);
            ef(a, ag(a, b, 31));
            break;
        case 4:
            b = Ve(a) >>> 0;
            b = cg(a, a.b[0], b);
            a.b[0] = b[0];
            a.b[2] = b[1];
            a.F = b[0];
            a.S = 31;
            a.flags = 0 === b[1] ? a.flags & -2050 : a.flags | 2049;
            a.u = 212;
            break;
        case 5:
            b = Ve(a);
            b = dg(a, a.b[0], b);
            a.b[0] = b[0];
            a.b[2] = b[1];
            a.F = b[0];
            a.S = 31;
            a.flags = b[1] === b[0] >> 31 ? a.flags & -2050 : a.flags | 2049;
            a.u = 212;
            break;
        case 6:
            b = Ve(a) >>> 0;
            c = fg(a, a.Fd[0],
                a.Fd[2], b);
            b = c[0];
            c = c[1];
            4294967296 <= b ? Re(a) : (a.b[0] = b, a.b[2] = c);
            break;
        case 7:
            var d = b = Ve(a),
                e = a.Fd[0],
                f = a.b[2];
            c = b = !1;
            0 > d && (c = !0, d = -d);
            0 > f && (b = !0, c = !c, e = -e >>> 0, f = ~f + !e);
            e = fg(a, e, f, d);
            d = e[0];
            e = e[1];
            c && (d = -d | 0);
            b && (e = -e | 0);
            2147483648 <= d || -2147483649 >= d ? Re(a) : (a.b[0] = d, a.b[2] = e)
    }
};
W[248] = function(a) {
    a.flags &= -2;
    a.u &= -2
};
W[249] = function(a) {
    a.flags |= 1;
    a.u &= -2
};
W[250] = function(a) {
    !a.ta || (a.flags & 131072 ? 3 === xe(a) : xe(a) >= a.N) ? a.flags &= -513 : H(a, 0)
};
W[251] = function(a) {
    !a.ta || (a.flags & 131072 ? 3 === xe(a) : xe(a) >= a.N) ? (a.flags |= 512, a.H = 0, ee(a), ab(a)) : H(a, 0)
};
W[252] = function(a) {
    a.flags &= -1025
};
W[253] = function(a) {
    a.flags |= 1024
};
W[254] = function(a) {
    D(a);
    var b = a.f & 56;
    0 === b ? (b = bf(a), cf(a, Zf(a, b, 7))) : 8 === b ? (b = bf(a), cf(a, $f(a, b, 7))) : t(a)
};
X[255] = function(a) {
    D(a);
    switch (a.f >> 3 & 7) {
        case 0:
            var b = Q(a);
            R(a, Zf(a, b, 15));
            break;
        case 1:
            b = Q(a);
            R(a, $f(a, b, 15));
            break;
        case 2:
            b = O(a);
            I(a, Fe(a));
            a.A = C(a, 1) + b | 0;
            me(a) || Fe(a);
            break;
        case 3:
            192 <= a.f && t(a);
            var c = F(a, a.f);
            b = x(a, c);
            c = x(a, c + 2 | 0);
            Qe(a, b, c, !0);
            me(a) || Fe(a);
            break;
        case 4:
            b = O(a);
            a.A = C(a, 1) + b | 0;
            me(a) || Fe(a);
            break;
        case 5:
            192 <= a.f && t(a);
            c = F(a, a.f);
            b = x(a, c);
            c = x(a, c + 2 | 0);
            Qe(a, b, c, !1);
            me(a) || Fe(a);
            break;
        case 6:
            b = O(a);
            I(a, b);
            break;
        case 7:
            t(a)
    }
};
Z[255] = function(a) {
    D(a);
    switch (a.f >> 3 & 7) {
        case 0:
            var b = df(a);
            ef(a, Zf(a, b, 31));
            break;
        case 1:
            b = df(a);
            ef(a, $f(a, b, 31));
            break;
        case 2:
            b = Ve(a);
            J(a, Fe(a));
            a.A = C(a, 1) + b | 0;
            break;
        case 3:
            192 <= a.f && t(a);
            var c = F(a, a.f);
            b = y(a, c);
            c = x(a, c + 4 | 0);
            if ((!a.ta || ye(a)) && b & 4294901760) throw a.debug.P("#GP handler");
            Qe(a, b, c, !0);
            break;
        case 4:
            b = Ve(a);
            a.A = C(a, 1) + b | 0;
            break;
        case 5:
            192 <= a.f && t(a);
            c = F(a, a.f);
            b = y(a, c);
            c = x(a, c + 4 | 0);
            if ((!a.ta || ye(a)) && b & 4294901760) throw a.debug.P("#GP handler");
            Qe(a, b, c, !1);
            break;
        case 6:
            b = Ve(a);
            J(a,
                b);
            break;
        case 7:
            t(a)
    }
};
var uh = [],
    vh = [];
q.prototype.Ya = uh;
q.prototype.Za = vh;
for (var wh = 0; 256 > wh; wh++) W[wh] ? uh[wh] = vh[wh] = W[wh] : X[wh] && (uh[wh] = X[wh], vh[wh] = Z[wh]);
W = [];
X = [];
Z = [];
W[0] = function(a) {
    D(a);
    a.ta && !ye(a) || t(a);
    switch (a.f >> 3 & 7) {
        case 0:
            $e(a, a.M[7]);
            Bb(a) && 192 <= a.f && (a.b[a.f & 7] &= 65535);
            break;
        case 1:
            $e(a, a.M[6]);
            Bb(a) && 192 <= a.f && (a.b[a.f & 7] &= 65535);
            break;
        case 2:
            a.N && H(a, 0);
            var b = O(a);
            Je(a, b);
            break;
        case 3:
            a.N && H(a, 0);
            b = O(a);
            var c = Ie(a, b);
            if (!c.hg) throw a.debug.P("TR can only be loaded from GDT");
            if (c.Ta) throw a.debug.P("#GP handler");
            if (!c.Fb) throw a.debug.P("#GP handler (happens when running kvm-unit-test without ACPI)");
            if (9 !== c.type && 1 !== c.type) throw a.debug.P("#GP handler");
            if (!c.ib) throw a.debug.P("#NT handler");
            a.Md = 9 === c.type;
            a.xa[6] = c.gb;
            a.La[6] = c.Db;
            a.M[6] = b;
            a.za(c.gf + 5 | 0, a.ja(c.gf + 5 | 0) | 2);
            break;
        case 4:
            b = O(a);
            b = Ie(a, b);
            a.u &= -65;
            a.flags = b.Ta || !b.Gb || b.Fb || !b.mg || !b.We && (b.$ < a.N || b.$ < b.Ba) ? a.flags & -65 : a.flags | 64;
            break;
        case 5:
            b = O(a);
            b = Ie(a, b);
            a.u &= -65;
            a.flags = b.Ta || !b.Gb || b.Fb || !b.Bf || b.$ < a.N || b.$ < b.Ba ? a.flags & -65 : a.flags | 64;
            break;
        default:
            t(a)
    }
};
W[1] = function(a) {
    D(a);
    var b = a.f >> 3 & 7;
    if (4 === b) 192 <= a.f && Bb(a) ? af(a, a.K[0]) : $e(a, a.K[0]);
    else if (6 === b) {
        a.N && H(a, 0);
        var c = O(a);
        c = a.K[0] & -16 | c & 15;
        a.ta && (c |= 1);
        he(a, c)
    } else switch (192 <= a.f && t(a), c = F(a, a.f), b) {
        case 0:
            Cb(a, c, 6);
            u(a, c, a.ie);
            b = Bb(a) ? -1 : 16777215;
            w(a, c + 2, a.Qc & b);
            break;
        case 1:
            Cb(a, c, 6);
            u(a, c, a.je);
            b = Bb(a) ? -1 : 16777215;
            w(a, c + 2, a.Rc & b);
            break;
        case 2:
            a.N && H(a, 0);
            b = x(a, c);
            c = y(a, c + 2);
            a.ie = b;
            a.Qc = c;
            Bb(a) || (a.Qc &= 16777215);
            break;
        case 3:
            a.N && H(a, 0);
            b = x(a, c);
            c = y(a, c + 2);
            a.je = b;
            a.Rc = c;
            Bb(a) || (a.Rc &= 16777215);
            break;
        case 7:
            a.N && H(a, 0);
            c >>>= 12;
            a.oc[c] = 0;
            a.jf[c] = 0;
            a.jc = -1;
            a.me = -1;
            break;
        default:
            t(a)
    }
};
X[2] = function(a) {
    D(a);
    a.ta && !ye(a) || t(a);
    var b = O(a); of (a, vf(a, b, mf(a)))
};
Z[2] = function(a) {
    D(a);
    a.ta && !ye(a) || t(a);
    var b = O(a);
    pf(a, vf(a, b, S(a)))
};
X[3] = function(a) {
    D(a);
    a.ta && !ye(a) || t(a);
    var b = O(a); of (a, wf(a, b, mf(a)))
};
Z[3] = function(a) {
    D(a);
    a.ta && !ye(a) || t(a);
    var b = O(a);
    pf(a, wf(a, b, S(a)))
};
W[4] = function(a) {
    t(a)
};
W[5] = function(a) {
    t(a)
};
W[6] = function(a) {
    a.N ? H(a, 0) : a.K[0] &= -9
};
W[7] = function(a) {
    t(a)
};
W[8] = function(a) {
    t(a)
};
W[9] = function(a) {
    a.N && H(a, 0)
};
W[10] = function(a) {
    t(a)
};
W[11] = function(a) {
    t(a)
};
W[12] = function(a) {
    t(a)
};
W[13] = function(a) {
    t(a)
};
W[14] = function(a) {
    t(a)
};
W[15] = function(a) {
    t(a)
};
W[16] = function(a) {
    t(a)
};
W[17] = function(a) {
    t(a)
};
W[18] = function(a) {
    K(a);
    D(a);
    var b = Xe(a),
        c = b[1],
        d = (a.f >> 3 & 7) << 2;
    a.na[d] = b[0];
    a.na[d + 1] = c
};
W[19] = function(a) {
    K(a);
    D(a);
    var b = qf(a),
        c = F(a, a.f);
    te(a, c, b[0], b[1])
};
W[20] = function(a) {
    t(a)
};
W[21] = function(a) {
    t(a)
};
W[22] = function(a) {
    t(a)
};
W[23] = function(a) {
    t(a)
};
W[24] = function(a) {
    D(a);
    192 > a.f && F(a, a.f)
};
W[25] = function(a) {
    t(a)
};
W[26] = function(a) {
    t(a)
};
W[27] = function(a) {
    t(a)
};
W[28] = function(a) {
    t(a)
};
W[29] = function(a) {
    t(a)
};
W[30] = function(a) {
    t(a)
};
W[31] = function(a) {
    D(a);
    192 > a.f && F(a, a.f)
};
W[32] = function(a) {
    D(a);
    a.N && H(a, 0);
    switch (a.f >> 3 & 7) {
        case 0:
            jf(a, a.K[0]);
            break;
        case 2:
            jf(a, a.K[2]);
            break;
        case 3:
            jf(a, a.K[3]);
            break;
        case 4:
            jf(a, a.K[4]);
            break;
        default:
            t(a)
    }
};
W[33] = function(a) {
    D(a);
    a.N && H(a, 0);
    var b = a.f >> 3 & 7;
    a.K[4] & 8 && (4 === b || 5 === b) && t(a);
    a.b[a.f & 7] = a.md[b]
};
W[34] = function(a) {
    D(a);
    a.N && H(a, 0);
    var b = hf(a);
    switch (a.f >> 3 & 7) {
        case 0:
            he(a, b);
            break;
        case 2:
            a.K[2] = b;
            break;
        case 3:
            a.K[3] = b & -4072;
            Ke(a);
            break;
        case 4:
            b & -3565568 && H(a, 0);
            (a.K[4] ^ b) & 128 && (b & 128 ? Ke(a) : Yd(a));
            a.K[4] = b;
            a.af = b & 16 ? 128 : 0;
            if (b & 32) throw a.debug.P("PAE");
            b & 4294965504 && t(a);
            break;
        default:
            t(a)
    }
};
W[35] = function(a) {
    D(a);
    a.N && H(a, 0);
    var b = a.f >> 3 & 7;
    a.K[4] & 8 && (4 === b || 5 === b) && t(a);
    a.md[b] = hf(a)
};
W[36] = function(a) {
    t(a)
};
W[37] = function(a) {
    t(a)
};
W[38] = function(a) {
    t(a)
};
W[39] = function(a) {
    t(a)
};
W[40] = function(a) {
    K(a);
    D(a);
    var b = Ye(a);
    tf(a, b[0], b[1], b[2], b[3])
};
W[41] = function(a) {
    K(a);
    D(a);
    if (32 === (a.H & 56)) {
        var b = rf(a),
            c = F(a, a.f);
        ue(a, c, b[0], b[1], b[2], b[3])
    } else b = rf(a), c = F(a, a.f), ue(a, c, b[0], b[1], b[2], b[3])
};
W[42] = function(a) {
    t(a)
};
W[43] = function(a) {
    t(a)
};
W[44] = function(a) {
    t(a)
};
W[45] = function(a) {
    t(a)
};
W[46] = function(a) {
    t(a)
};
W[47] = function(a) {
    t(a)
};
W[48] = function(a) {
    a.N && H(a, 0);
    var b = a.b[0],
        c = a.b[2];
    switch (a.b[1]) {
        case 372:
            a.Kd = b & 65535;
            break;
        case 374:
            a.xe = b;
            break;
        case 373:
            a.ye = b;
            break;
        case 27:
            a.Oh = 2048 === (b & 2048);
            break;
        case 16:
            b = (b >>> 0) + 4294967296 * (c >>> 0), a.kf = $a() - b / 8192
    }
};
W[49] = function(a) {
    if (a.N && a.K[4] & 4) H(a, 0);
    else {
        var b = $a() - a.kf;
        a.b[0] = 8192 * b;
        a.b[2] = 1.9073486328125E-6 * b
    }
};
W[50] = function(a) {
    a.N && H(a, 0);
    var b = 0,
        c = 0;
    switch (a.b[1]) {
        case 372:
            b = a.Kd;
            break;
        case 374:
            b = a.xe;
            break;
        case 373:
            b = a.ye;
            break;
        case 16:
            c = $a() - a.kf;
            b = 8192 * c;
            c *= 1.9073486328125E-6;
            break;
        case 44:
            b = 16777216
    }
    a.b[0] = b;
    a.b[2] = c
};
W[51] = function(a) {
    t(a)
};
W[52] = function(a) {
    var b = a.Kd & 65532;
    a.ta && 0 !== b || H(a, 0);
    a.flags &= -131585;
    a.A = a.xe;
    a.b[4] = a.ye;
    a.M[1] = b;
    a.eb[1] = 0;
    a.La[1] = -1;
    a.xa[1] = 0;
    ce(a, !0);
    a.N = 0;
    ie(a);
    a.M[2] = b + 8;
    a.eb[2] = 0;
    a.La[2] = -1;
    a.xa[2] = 0;
    a.qb = !0
};
W[53] = function(a) {
    var b = a.Kd & 65532;
    a.ta && !a.N && 0 !== b || H(a, 0);
    a.A = a.b[2];
    a.b[4] = a.b[1];
    a.M[1] = b + 16 | 3;
    a.eb[1] = 0;
    a.La[1] = -1;
    a.xa[1] = 0;
    ce(a, !0);
    a.N = 3;
    ie(a);
    a.M[2] = b + 24 | 3;
    a.eb[2] = 0;
    a.La[2] = -1;
    a.xa[2] = 0;
    a.qb = !0
};
W[54] = function(a) {
    t(a)
};
W[55] = function(a) {
    t(a)
};
W[56] = function(a) {
    t(a)
};
W[57] = function(a) {
    t(a)
};
W[58] = function(a) {
    t(a)
};
W[59] = function(a) {
    t(a)
};
W[60] = function(a) {
    t(a)
};
W[61] = function(a) {
    t(a)
};
W[62] = function(a) {
    t(a)
};
W[63] = function(a) {
    t(a)
};
X[64] = function(a) {
    D(a);
    hh(a, a.Qb())
};
Z[64] = function(a) {
    D(a);
    ih(a, a.Qb())
};
X[65] = function(a) {
    D(a);
    hh(a, !a.Qb())
};
Z[65] = function(a) {
    D(a);
    ih(a, !a.Qb())
};
X[66] = function(a) {
    D(a);
    hh(a, a.yb())
};
Z[66] = function(a) {
    D(a);
    ih(a, a.yb())
};
X[67] = function(a) {
    D(a);
    hh(a, !a.yb())
};
Z[67] = function(a) {
    D(a);
    ih(a, !a.yb())
};
X[68] = function(a) {
    D(a);
    hh(a, a.Ab())
};
Z[68] = function(a) {
    D(a);
    ih(a, a.Ab())
};
X[69] = function(a) {
    D(a);
    hh(a, !a.Ab())
};
Z[69] = function(a) {
    D(a);
    ih(a, !a.Ab())
};
X[70] = function(a) {
    D(a);
    hh(a, kh(a))
};
Z[70] = function(a) {
    D(a);
    ih(a, kh(a))
};
X[71] = function(a) {
    D(a);
    hh(a, !kh(a))
};
Z[71] = function(a) {
    D(a);
    ih(a, !kh(a))
};
X[72] = function(a) {
    D(a);
    hh(a, a.Rb())
};
Z[72] = function(a) {
    D(a);
    ih(a, a.Rb())
};
X[73] = function(a) {
    D(a);
    hh(a, !a.Rb())
};
Z[73] = function(a) {
    D(a);
    ih(a, !a.Rb())
};
X[74] = function(a) {
    D(a);
    hh(a, a.zb())
};
Z[74] = function(a) {
    D(a);
    ih(a, a.zb())
};
X[75] = function(a) {
    D(a);
    hh(a, !a.zb())
};
Z[75] = function(a) {
    D(a);
    ih(a, !a.zb())
};
X[76] = function(a) {
    D(a);
    hh(a, lh(a))
};
Z[76] = function(a) {
    D(a);
    ih(a, lh(a))
};
X[77] = function(a) {
    D(a);
    hh(a, !lh(a))
};
Z[77] = function(a) {
    D(a);
    ih(a, !lh(a))
};
X[78] = function(a) {
    D(a);
    hh(a, mh(a))
};
Z[78] = function(a) {
    D(a);
    ih(a, mh(a))
};
X[79] = function(a) {
    D(a);
    hh(a, !mh(a))
};
Z[79] = function(a) {
    D(a);
    ih(a, !mh(a))
};
W[80] = function(a) {
    t(a)
};
W[81] = function(a) {
    t(a)
};
W[82] = function(a) {
    t(a)
};
W[83] = function(a) {
    t(a)
};
W[84] = function(a) {
    t(a)
};
W[85] = function(a) {
    t(a)
};
W[86] = function(a) {
    t(a)
};
W[87] = function(a) {
    K(a);
    D(a);
    var b = Ye(a),
        c = rf(a);
    tf(a, b[0] ^ c[0], b[1] ^ c[1], b[2] ^ c[2], b[3] ^ c[3])
};
W[88] = function(a) {
    t(a)
};
W[89] = function(a) {
    t(a)
};
W[90] = function(a) {
    t(a)
};
W[91] = function(a) {
    t(a)
};
W[92] = function(a) {
    t(a)
};
W[93] = function(a) {
    t(a)
};
W[94] = function(a) {
    t(a)
};
W[95] = function(a) {
    t(a)
};
W[96] = function(a) {
    K(a);
    D(a);
    if (32 == (a.H & 56)) {
        var b = Xe(a);
        b = new Uint8Array(b.buffer);
        var c = qf(a);
        c = new Uint8Array(c.buffer);
        tf(a, c[0] | b[0] << 8 | c[1] << 16 | b[1] << 24, c[2] | b[2] << 8 | c[3] << 16 | b[3] << 24, c[4] | b[4] << 8 | c[5] << 16 | b[5] << 24, c[6] | b[6] << 8 | c[7] << 16 | b[7] << 24)
    } else b = We(a), c = a.s[2 * (a.f >> 3 & 7)], T(a, c & 255 | (b & 255) << 8 | (c >> 8 & 255) << 16 | (b >> 8 & 255) << 24, c >> 16 & 255 | (b >> 16 & 255) << 8 | c >>> 24 << 16 | b >>> 24 << 24)
};
W[97] = function(a) {
    K(a);
    D(a);
    if (32 == (a.H & 56)) {
        var b = Xe(a);
        b = new Uint16Array(b.buffer);
        var c = qf(a);
        c = new Uint16Array(c.buffer);
        tf(a, c[0] | b[0] << 16, c[1] | b[1] << 16, c[2] | b[2] << 16, c[3] | b[3] << 16)
    } else b = We(a), c = a.s[2 * (a.f >> 3 & 7)], T(a, c & 65535 | (b & 65535) << 16, c >>> 16 | b >>> 16 << 16)
};
W[98] = function(a) {
    K(a);
    D(a);
    var b = We(a);
    T(a, a.s[2 * (a.f >> 3 & 7)], b)
};
W[99] = function(a) {
    K(a);
    D(a);
    var b = P(a),
        c = a.s[2 * (a.f >> 3 & 7)],
        d = a.s[2 * (a.f >> 3 & 7) + 1];
    var e = 0 | Yg(c & 65535);
    e |= Yg(c >>> 16) << 8;
    e |= Yg(d & 65535) << 16;
    e |= Yg(d >>> 16) << 24;
    c = 0 | Yg(b[0] & 65535);
    c |= Yg(b[0] >>> 16) << 8;
    c |= Yg(b[1] & 65535) << 16;
    c |= Yg(b[1] >>> 16) << 24;
    T(a, e, c)
};
W[100] = function(a) {
    K(a);
    D(a);
    var b = P(a);
    b = new Int8Array(b.buffer);
    var c = 8 * (a.f >> 3 & 7),
        d = a.Gd;
    T(a, (d[c] > b[0] ? 255 : 0) | (d[c + 1] > b[1] ? 255 : 0) << 8 | (d[c + 2] > b[2] ? 255 : 0) << 16 | (d[c + 3] > b[3] ? 255 : 0) << 24, (d[c + 4] > b[4] ? 255 : 0) | (d[c + 5] > b[5] ? 255 : 0) << 8 | (d[c + 6] > b[6] ? 255 : 0) << 16 | (d[c + 7] > b[7] ? 255 : 0) << 24)
};
W[101] = function(a) {
    K(a);
    D(a);
    var b = P(a),
        c = a.s[2 * (a.f >> 3 & 7)],
        d = a.s[2 * (a.f >> 3 & 7) + 1];
    T(a, (c << 16 >> 16 > b[0] << 16 >> 16 ? 65535 : 0) | (c >> 16 > b[0] >> 16 ? 65535 : 0) << 16, (d << 16 >> 16 > b[1] << 16 >> 16 ? 65535 : 0) | (d >> 16 > b[1] >> 16 ? 65535 : 0) << 16)
};
W[102] = function(a) {
    K(a);
    D(a);
    var b = P(a);
    T(a, a.s[2 * (a.f >> 3 & 7)] > b[0] ? -1 : 0, a.s[2 * (a.f >> 3 & 7) + 1] > b[1] ? -1 : 0)
};
W[103] = function(a) {
    K(a);
    D(a);
    if (32 == (a.H & 56)) {
        var b = Ye(a);
        b = new Int16Array(b.buffer);
        var c = rf(a);
        c = new Int16Array(c.buffer);
        for (var d = le(0, 0, 0, 0), e = new Uint8Array(d.buffer), f = 0; 8 > f; f++) e[f] = Xg(c[f]), e[f | 8] = Xg(b[f]);
        tf(a, d[0], d[1], d[2], d[3])
    } else b = P(a), d = a.s[2 * (a.f >> 3 & 7)], e = a.s[2 * (a.f >> 3 & 7) + 1], c = 0 | Xg(d & 65535), c |= Xg(d >>> 16) << 8, c |= Xg(e & 65535) << 16, c |= Xg(e >>> 16) << 24, d = 0 | Xg(b[0] & 65535), d |= Xg(b[0] >>> 16) << 8, d |= Xg(b[1] & 65535) << 16, d |= Xg(b[1] >>> 16) << 24, T(a, c, d)
};
W[104] = function(a) {
    K(a);
    D(a);
    if (32 == (a.H & 56)) {
        var b = Ye(a);
        b = new Uint8Array(b.buffer);
        var c = rf(a);
        c = new Uint8Array(c.buffer);
        tf(a, c[8] | b[8] << 8 | c[9] << 16 | b[9] << 24, c[10] | b[10] << 8 | c[11] << 16 | b[11] << 24, c[12] | b[12] << 8 | c[13] << 16 | b[13] << 24, c[14] | b[14] << 8 | c[15] << 16 | b[15] << 24)
    } else b = P(a), c = a.s[2 * (a.f >> 3 & 7) + 1], T(a, c & 255 | (b[1] & 255) << 8 | (c >> 8 & 255) << 16 | (b[1] >> 8 & 255) << 24, c >> 16 & 255 | (b[1] >> 16 & 255) << 8 | c >>> 24 << 16 | b[1] >>> 24 << 24)
};
W[105] = function(a) {
    K(a);
    D(a);
    var b = P(a),
        c = a.s[2 * (a.f >> 3 & 7) + 1];
    T(a, c & 65535 | (b[1] & 65535) << 16, c >>> 16 | b[1] >>> 16 << 16)
};
W[106] = function(a) {
    K(a);
    D(a);
    var b = P(a);
    T(a, a.s[2 * (a.f >> 3 & 7) + 1], b[1])
};
W[107] = function(a) {
    K(a);
    D(a);
    var b = P(a),
        c = a.s[2 * (a.f >> 3 & 7) + 1];
    var d = 0 | Zg(a.s[2 * (a.f >> 3 & 7)]);
    d |= Zg(c) << 16;
    c = 0 | Zg(b[0]);
    c |= Zg(b[1]) << 16;
    T(a, d, c)
};
W[108] = function(a) {
    t(a)
};
W[109] = function(a) {
    t(a)
};
W[110] = function(a) {
    K(a);
    D(a);
    if (32 === (a.H & 56)) {
        var b = Ve(a);
        tf(a, b, 0, 0, 0)
    } else b = Ve(a), T(a, b, 0)
};
W[111] = function(a) {
    K(a);
    D(a);
    if (32 == (a.H & 56)) {
        var b = Ye(a);
        tf(a, b[0], b[1], b[2], b[3])
    } else 8 == (a.H & 56) ? (192 > a.f ? (b = F(a, a.f), b = le(y(a, b), y(a, b + 4 | 0), y(a, b + 8 | 0), y(a, b + 12 | 0))) : (b = (a.f & 7) << 2, b = le(a.na[b], a.na[b | 1], a.na[b | 2], a.na[b | 3])), tf(a, b[0], b[1], b[2], b[3])) : (b = P(a), T(a, b[0], b[1]))
};
W[112] = function(a) {
    K(a);
    D(a);
    if (32 === (a.H & 56)) {
        var b = Ye(a),
            c = a.L();
        tf(a, b[c & 3], b[c >> 2 & 3], b[c >> 4 & 3], b[c >> 6 & 3])
    } else if (16 === (a.H & 56)) {
        b = Ye(a);
        c = new Uint16Array(b.buffer);
        var d = a.L();
        tf(a, c[d & 3] | c[d >> 2 & 3] << 16, c[d >> 4 & 3] | c[d >> 6 & 3] << 16, b[2], b[3])
    } else if (8 === (a.H & 56)) b = Ye(a), c = new Uint16Array(b.buffer), d = a.L(), tf(a, b[0], b[1], c[d & 3 | 4] | c[d >> 2 & 3 | 4] << 16, c[d >> 4 & 3 | 4] | c[d >> 6 & 3 | 4] << 16);
    else {
        b = P(a);
        var e = a.L();
        c = e & 3;
        d = e >> 2 & 3;
        var f = e >> 4 & 3;
        e >>>= 6;
        T(a, b[c >> 1] >>> 16 * (c & 1) & 65535 | b[d >> 1] >>> 16 * (d & 1) << 16, b[f >> 1] >>> 16 * (f &
            1) & 65535 | b[e >> 1] >>> 16 * (e & 1) << 16)
    }
};
W[113] = function(a) {
    D(a);
    K(a);
    192 > a.f && t(a);
    switch (a.f >> 3 & 7) {
        case 2:
            var b = a.L(),
                c = a.f & 7,
                d = a.s[2 * c],
                e = a.s[2 * c + 1],
                f = 0,
                h = 0;
            15 >= b && (f = (d & 65535) >>> b | d >>> 16 >>> b << 16, h = (e & 65535) >>> b | e >>> 16 >>> b << 16);
            a.s[2 * c] = f;
            a.s[2 * c + 1] = h;
            break;
        case 4:
            b = a.L();
            c = a.f & 7;
            d = a.s[2 * c];
            e = a.s[2 * c + 1];
            15 < b && (b = 16);
            a.s[2 * c] = d << 16 >> 16 >> b & 65535 | (d >> 16 >> b & 65535) << 16;
            a.s[2 * c + 1] = e << 16 >> 16 >> b & 65535 | (e >> 16 >> b & 65535) << 16;
            break;
        case 6:
            b = a.L();
            c = a.f & 7;
            d = a.s[2 * c];
            e = a.s[2 * c + 1];
            h = f = 0;
            15 >= b && (f = (d & 65535) << b & 65535 | d >>> 16 << b << 16, h = (e & 65535) << b & 65535 |
                e >>> 16 << b << 16);
            a.s[2 * c] = f;
            a.s[2 * c + 1] = h;
            break;
        default:
            t(a)
    }
};
W[114] = function(a) {
    D(a);
    K(a);
    192 > a.f && t(a);
    switch (a.f >> 3 & 7) {
        case 2:
            var b = a.L(),
                c = a.f & 7,
                d = a.s[2 * c],
                e = a.s[2 * c + 1],
                f = 0,
                h = 0;
            31 >= b && (f = d >>> b, h = e >>> b);
            a.s[2 * c] = f;
            a.s[2 * c + 1] = h;
            break;
        case 4:
            b = a.L();
            c = a.f & 7;
            d = a.s[2 * c];
            e = a.s[2 * c + 1];
            31 < b && (b = 31);
            a.s[2 * c] = d >> b;
            a.s[2 * c + 1] = e >> b;
            break;
        case 6:
            b = a.L();
            c = a.f & 7;
            d = a.s[2 * c];
            e = a.s[2 * c + 1];
            h = f = 0;
            31 >= b && (f = d << b, h = e << b);
            a.s[2 * c] = f;
            a.s[2 * c + 1] = h;
            break;
        default:
            t(a)
    }
};
W[115] = function(a) {
    D(a);
    K(a);
    192 > a.f && t(a);
    switch (a.f >> 3 & 7) {
        case 2:
            var b = a.L(),
                c = a.f & 7,
                d = a.s[2 * c],
                e = a.s[2 * c + 1],
                f = 0,
                h = 0;
            31 >= b ? (f = d >>> b | e << 32 - b, h = e >>> b) : 63 >= b && (f = e >>> (b & 31), h = 0);
            a.s[2 * c] = f;
            a.s[2 * c + 1] = h;
            break;
        case 6:
            b = a.L();
            c = a.f & 7;
            d = a.s[2 * c];
            e = a.s[2 * c + 1];
            h = f = 0;
            31 >= b ? (f = d << b, h = e << b | d >>> 32 - b) : 63 >= b && (h = d << (b & 31), f = 0);
            a.s[2 * c] = f;
            a.s[2 * c + 1] = h;
            break;
        default:
            t(a)
    }
};
W[116] = function(a) {
    K(a);
    D(a);
    if (32 == (a.H & 56)) {
        var b = Ye(a);
        b = new Uint8Array(b.buffer);
        var c = rf(a);
        c = new Uint8Array(c.buffer);
        for (var d = le(0, 0, 0, 0), e = new Uint8Array(d.buffer), f = 0; 16 > f; f++) e[f] = b[f] === c[f] ? 255 : 0;
        tf(a, d[0], d[1], d[2], d[3])
    } else b = P(a), b = new Int8Array(b.buffer), c = 8 * (a.f >> 3 & 7), d = a.Gd, T(a, (d[c] === b[0] ? 255 : 0) | (d[c + 1] === b[1] ? 255 : 0) << 8 | (d[c + 2] === b[2] ? 255 : 0) << 16 | (d[c + 3] === b[3] ? 255 : 0) << 24, (d[c + 4] === b[4] ? 255 : 0) | (d[c + 5] === b[5] ? 255 : 0) << 8 | (d[c + 6] === b[6] ? 255 : 0) << 16 | (d[c + 7] === b[7] ? 255 : 0) << 24)
};
W[117] = function(a) {
    K(a);
    D(a);
    var b = P(a),
        c = a.s[2 * (a.f >> 3 & 7)],
        d = a.s[2 * (a.f >> 3 & 7) + 1];
    T(a, ((c & 65535) === (b[0] & 65535) ? 65535 : 0) | ((c & 4294901760) === (b[0] & 4294901760) ? 65535 : 0) << 16, ((d & 65535) === (b[1] & 65535) ? 65535 : 0) | ((d & 4294901760) === (b[1] & 4294901760) ? 65535 : 0) << 16)
};
W[118] = function(a) {
    K(a);
    D(a);
    if (32 == (a.H & 56)) {
        var b = Ye(a),
            c = rf(a);
        tf(a, b[0] === c[0] ? -1 : 0, b[1] === c[1] ? -1 : 0, b[2] === c[2] ? -1 : 0, b[3] === c[3] ? -1 : 0)
    } else b = P(a), T(a, a.s[2 * (a.f >> 3 & 7)] === b[0] ? -1 : 0, a.s[2 * (a.f >> 3 & 7) + 1] === b[1] ? -1 : 0)
};
W[119] = function(a) {
    K(a);
    a.T.fa = 255
};
W[120] = function(a) {
    t(a)
};
W[121] = function(a) {
    t(a)
};
W[122] = function(a) {
    t(a)
};
W[123] = function(a) {
    t(a)
};
W[124] = function(a) {
    t(a)
};
W[125] = function(a) {
    t(a)
};
W[126] = function(a) {
    K(a);
    D(a);
    if (8 === (a.H & 56)) {
        var b = Xe(a);
        tf(a, b[0], b[1], 0, 0)
    } else 32 == (a.H & 56) ? (b = qf(a), af(a, b[0])) : (b = sf(a), af(a, b[0]))
};
W[127] = function(a) {
    K(a);
    D(a);
    if (8 == (a.H & 56)) {
        var b = rf(a),
            c = F(a, a.f);
        ue(a, c, b[0], b[1], b[2], b[3])
    } else if (32 == (a.H & 56)) b = rf(a), c = F(a, a.f), ue(a, c, b[0], b[1], b[2], b[3]);
    else if (c = sf(a), b = c[0], c = c[1], 192 > a.f) {
        var d = F(a, a.f);
        te(a, d, b, c)
    } else a.s[2 * (a.f & 7)] = b, a.s[2 * (a.f & 7) + 1] = c
};
X[128] = function(a) {
    fh(a, a.Qb())
};
Z[128] = function(a) {
    gh(a, a.Qb())
};
X[129] = function(a) {
    fh(a, !a.Qb())
};
Z[129] = function(a) {
    gh(a, !a.Qb())
};
X[130] = function(a) {
    fh(a, a.yb())
};
Z[130] = function(a) {
    gh(a, a.yb())
};
X[131] = function(a) {
    fh(a, !a.yb())
};
Z[131] = function(a) {
    gh(a, !a.yb())
};
X[132] = function(a) {
    fh(a, a.Ab())
};
Z[132] = function(a) {
    gh(a, a.Ab())
};
X[133] = function(a) {
    fh(a, !a.Ab())
};
Z[133] = function(a) {
    gh(a, !a.Ab())
};
X[134] = function(a) {
    fh(a, kh(a))
};
Z[134] = function(a) {
    gh(a, kh(a))
};
X[135] = function(a) {
    fh(a, !kh(a))
};
Z[135] = function(a) {
    gh(a, !kh(a))
};
X[136] = function(a) {
    fh(a, a.Rb())
};
Z[136] = function(a) {
    gh(a, a.Rb())
};
X[137] = function(a) {
    fh(a, !a.Rb())
};
Z[137] = function(a) {
    gh(a, !a.Rb())
};
X[138] = function(a) {
    fh(a, a.zb())
};
Z[138] = function(a) {
    gh(a, a.zb())
};
X[139] = function(a) {
    fh(a, !a.zb())
};
Z[139] = function(a) {
    gh(a, !a.zb())
};
X[140] = function(a) {
    fh(a, lh(a))
};
Z[140] = function(a) {
    gh(a, lh(a))
};
X[141] = function(a) {
    fh(a, !lh(a))
};
Z[141] = function(a) {
    gh(a, !lh(a))
};
X[142] = function(a) {
    fh(a, mh(a))
};
Z[142] = function(a) {
    gh(a, mh(a))
};
X[143] = function(a) {
    fh(a, !mh(a))
};
Z[143] = function(a) {
    gh(a, !mh(a))
};
W[144] = function(a) {
    D(a);
    jh(a, a.Qb())
};
W[145] = function(a) {
    D(a);
    jh(a, !a.Qb())
};
W[146] = function(a) {
    D(a);
    jh(a, a.yb())
};
W[147] = function(a) {
    D(a);
    jh(a, !a.yb())
};
W[148] = function(a) {
    D(a);
    jh(a, a.Ab())
};
W[149] = function(a) {
    D(a);
    jh(a, !a.Ab())
};
W[150] = function(a) {
    D(a);
    jh(a, kh(a))
};
W[151] = function(a) {
    D(a);
    jh(a, !kh(a))
};
W[152] = function(a) {
    D(a);
    jh(a, a.Rb())
};
W[153] = function(a) {
    D(a);
    jh(a, !a.Rb())
};
W[154] = function(a) {
    D(a);
    jh(a, a.zb())
};
W[155] = function(a) {
    D(a);
    jh(a, !a.zb())
};
W[156] = function(a) {
    D(a);
    jh(a, lh(a))
};
W[157] = function(a) {
    D(a);
    jh(a, !lh(a))
};
W[158] = function(a) {
    D(a);
    jh(a, mh(a))
};
W[159] = function(a) {
    D(a);
    jh(a, !mh(a))
};
X[160] = function(a) {
    I(a, a.M[4])
};
Z[160] = function(a) {
    J(a, a.M[4])
};
X[161] = function(a) {
    $d(a, 4, x(a, G(a, 0)));
    Ee(a, 2)
};
Z[161] = function(a) {
    $d(a, 4, y(a, G(a, 0)) & 65535);
    Ee(a, 4)
};
W[162] = function(a) {
    var b = 0,
        c = 0,
        d = 0,
        e = 0;
    switch (a.b[0]) {
        case 0:
            b = 5;
            e = 1970169159;
            d = 1231384169;
            c = 1818588270;
            break;
        case 1:
            b = 3939;
            e = 67584;
            c = -1065353216;
            d = (a.T ? 1 : 0) | 43320;
            break;
        case 2:
            b = 1717260289;
            c = e = 0;
            d = 8024064;
            break;
        case 4:
            switch (a.b[1]) {
                case 0:
                    b = 289;
                    e = 29360191;
                    c = 63;
                    d = 1;
                    break;
                case 1:
                    b = 290;
                    e = 29360191;
                    c = 63;
                    d = 1;
                    break;
                case 2:
                    b = 323, e = 96469055, c = 4095, d = 1
            }
            break;
        case 5:
            e = b = 64;
            c = 3;
            d = 1319200;
            break;
        case -2147483648:
            b = 5;
            break;
        case 1073741824:
            e = 1635208534, c = 1297507698, d = 1701994871
    }
    a.b[0] = b;
    a.b[1] = c;
    a.b[2] = d;
    a.b[3] =
        e
};
X[163] = function(a) {
    D(a);
    192 > a.f ? Sg(a, F(a, a.f), nf(a)) : Og(a, ff(a), mf(a) & 15)
};
Z[163] = function(a) {
    D(a);
    192 > a.f ? Sg(a, F(a, a.f), S(a)) : Og(a, hf(a), S(a) & 31)
};
X[164] = function(a) {
    D(a);
    var b = Q(a);
    R(a, Mg(a, b, mf(a), a.L() & 31))
};
Z[164] = function(a) {
    D(a);
    var b = df(a);
    ef(a, Ng(a, b, S(a), a.L() & 31))
};
X[165] = function(a) {
    D(a);
    var b = Q(a);
    R(a, Mg(a, b, mf(a), a.D[4] & 31))
};
Z[165] = function(a) {
    D(a);
    var b = df(a);
    ef(a, Ng(a, b, S(a), a.D[4] & 31))
};
W[166] = function(a) {
    t(a)
};
W[167] = function(a) {
    t(a)
};
X[168] = function(a) {
    I(a, a.M[5])
};
Z[168] = function(a) {
    J(a, a.M[5])
};
X[169] = function(a) {
    $d(a, 5, x(a, G(a, 0)));
    Ee(a, 2)
};
Z[169] = function(a) {
    $d(a, 5, y(a, G(a, 0)) & 65535);
    Ee(a, 4)
};
W[170] = function(a) {
    t(a)
};
X[171] = function(a) {
    D(a);
    192 > a.f ? Vg(a, F(a, a.f), nf(a)) : gf(a, Qg(a, ff(a), nf(a) & 15))
};
Z[171] = function(a) {
    D(a);
    192 > a.f ? Vg(a, F(a, a.f), S(a)) : jf(a, Qg(a, hf(a), S(a) & 31))
};
X[172] = function(a) {
    D(a);
    var b = Q(a);
    R(a, Kg(a, b, mf(a), a.L() & 31))
};
Z[172] = function(a) {
    D(a);
    var b = df(a);
    ef(a, Lg(a, b, S(a), a.L() & 31))
};
X[173] = function(a) {
    D(a);
    var b = Q(a);
    R(a, Kg(a, b, mf(a), a.D[4] & 31))
};
Z[173] = function(a) {
    D(a);
    var b = df(a);
    ef(a, Lg(a, b, S(a), a.D[4] & 31))
};
W[174] = function(a) {
    D(a);
    a.H & 56 && t(a);
    switch (a.f >> 3 & 7) {
        case 0:
            192 <= a.f && t(a);
            var b = F(a, a.f);
            Cb(a, b, 512);
            u(a, b + 0 | 0, a.T.ec);
            u(a, b + 2 | 0, zb(a.T));
            re(a, b + 4 | 0, ~a.T.fa & 255);
            u(a, b + 6 | 0, a.T.pd);
            w(a, b + 8 | 0, a.T.Oc);
            u(a, b + 12 | 0, a.T.Qe);
            w(a, b + 16 | 0, a.T.nd);
            u(a, b + 20 | 0, a.T.od);
            w(a, b + 24 | 0, a.$e);
            w(a, b + 28 | 0, 65471);
            for (var c = 0; 8 > c; c++) Jb(a.T, b + 32 + (c << 4) | 0, a.T.I[a.T.B + c & 7]);
            for (c = 0; 8 > c; c++) w(a, b + 160 + (c << 4) + 0 | 0, a.na[c << 2 | 0]), w(a, b + 160 + (c << 4) + 4 | 0, a.na[c << 2 | 1]), w(a, b + 160 + (c << 4) + 8 | 0, a.na[c << 2 | 2]), w(a, b + 160 + (c << 4) + 12 | 0, a.na[c <<
                2 | 3]);
            break;
        case 1:
            192 <= a.f && t(a);
            b = F(a, a.f);
            je(a, b | 0);
            je(a, b + 511 | 0);
            c = y(a, b + 24 | 0);
            c & -65472 && H(a, 0);
            a.T.ec = x(a, b + 0 | 0);
            var d = a.T,
                e = x(a, b + 2 | 0);
            d.a = e & -14337;
            d.B = e >> 11 & 7;
            a.T.fa = ~pe(a, b + 4 | 0) & 255;
            a.T.pd = x(a, b + 6 | 0);
            a.T.Oc = y(a, b + 8 | 0);
            a.T.Oc = x(a, b + 12 | 0);
            a.T.nd = y(a, b + 16 | 0);
            a.T.od = x(a, b + 20 | 0);
            a.$e = c;
            for (c = 0; 8 > c; c++) a.T.I[a.T.B + c & 7] = Ib(a.T, b + 32 + (c << 4) | 0);
            for (c = 0; 8 > c; c++) a.na[c << 2 | 0] = y(a, b + 160 + (c << 4) + 0 | 0), a.na[c << 2 | 1] = y(a, b + 160 + (c << 4) + 4 | 0), a.na[c << 2 | 2] = y(a, b + 160 + (c << 4) + 8 | 0), a.na[c << 2 | 3] = y(a, b + 160 + (c << 4) + 12 | 0);
            break;
        case 2:
            192 <= a.f && t(a);
            b = F(a, a.f);
            b = y(a, b);
            b & -65472 && H(a, 0);
            a.$e = b;
            break;
        case 3:
            192 <= a.f && t(a);
            b = F(a, a.f);
            w(a, b, a.$e);
            break;
        case 5:
            192 > a.f && t(a);
            break;
        case 6:
            192 > a.f && t(a);
            break;
        case 7:
            192 > a.f && t(a);
            break;
        default:
            t(a)
    }
};
X[175] = function(a) {
    D(a);
    var b = O(a) << 16 >> 16; of (a, bg(a, nf(a), b))
};
Z[175] = function(a) {
    D(a);
    var b = Ve(a);
    pf(a, eg(a, S(a), b))
};
W[176] = function(a) {
    D(a);
    if (192 > a.f) {
        var b = F(a, a.f);
        Cb(a, b, 1);
        var c = pe(a, b)
    } else c = a.D[a.f << 2 & 12 | a.f >> 2 & 1];
    a.sub(a.D[0], c, 7);
    a.Ac() ? 192 > a.f ? re(a, b, kf(a)) : a.D[a.f << 2 & 12 | a.f >> 2 & 1] = kf(a) : (192 > a.f && re(a, b, c), a.D[0] = c)
};
X[177] = function(a) {
    D(a);
    if (192 > a.f) {
        var b = F(a, a.f);
        Cb(a, b, 2);
        var c = x(a, b)
    } else c = ff(a);
    a.sub(a.h[0], c, 15);
    a.Ac() ? 192 > a.f ? u(a, b, mf(a)) : gf(a, mf(a)) : (192 > a.f && u(a, b, c), a.h[0] = c)
};
Z[177] = function(a) {
    D(a);
    if (192 > a.f) {
        var b = F(a, a.f);
        Cb(a, b, 4);
        var c = y(a, b)
    } else c = hf(a);
    a.sub(a.b[0], c, 31);
    a.Ac() ? 192 > a.f ? w(a, b, S(a)) : jf(a, S(a)) : (192 > a.f && w(a, b, c), a.b[0] = c)
};
X[178] = function(a) {
    D(a);
    rh(a, 2)
};
Z[178] = function(a) {
    D(a);
    sh(a, 2)
};
X[179] = function(a) {
    D(a);
    192 > a.f ? Ug(a, F(a, a.f), nf(a)) : gf(a, Rg(a, ff(a), nf(a) & 15))
};
Z[179] = function(a) {
    D(a);
    192 > a.f ? Ug(a, F(a, a.f), S(a)) : jf(a, Rg(a, hf(a), S(a) & 31))
};
X[180] = function(a) {
    D(a);
    rh(a, 4)
};
Z[180] = function(a) {
    D(a);
    sh(a, 4)
};
X[181] = function(a) {
    D(a);
    rh(a, 5)
};
Z[181] = function(a) {
    D(a);
    sh(a, 5)
};
X[182] = function(a) {
    D(a);
    var b = Ue(a); of (a, b)
};
Z[182] = function(a) {
    D(a);
    var b = Ue(a);
    pf(a, b)
};
X[183] = function(a) {
    D(a);
    var b = O(a); of (a, b)
};
Z[183] = function(a) {
    D(a);
    var b = O(a);
    pf(a, b)
};
X[184] = function(a) {
    D(a);
    0 === (a.H & 8) && t(a);
    var b = O(a); of (a, Wg(a, b))
};
Z[184] = function(a) {
    D(a);
    0 === (a.H & 8) && t(a);
    var b = Ve(a);
    pf(a, Wg(a, b))
};
W[185] = function(a) {
    t(a)
};
X[186] = function(a) {
    D(a);
    switch (a.f >> 3 & 7) {
        case 4:
            192 > a.f ? Sg(a, F(a, a.f), a.L() & 15) : Og(a, ff(a), a.L() & 15);
            break;
        case 5:
            192 > a.f ? Vg(a, F(a, a.f), a.L() & 15) : gf(a, Qg(a, ff(a), a.L() & 15));
            break;
        case 6:
            192 > a.f ? Ug(a, F(a, a.f), a.L() & 15) : gf(a, Rg(a, ff(a), a.L() & 15));
            break;
        case 7:
            192 > a.f ? Tg(a, F(a, a.f), a.L() & 15) : gf(a, Pg(a, ff(a), a.L() & 15));
            break;
        default:
            t(a)
    }
};
Z[186] = function(a) {
    D(a);
    switch (a.f >> 3 & 7) {
        case 4:
            192 > a.f ? Sg(a, F(a, a.f), a.L() & 31) : Og(a, hf(a), a.L() & 31);
            break;
        case 5:
            192 > a.f ? Vg(a, F(a, a.f), a.L() & 31) : jf(a, Qg(a, hf(a), a.L() & 31));
            break;
        case 6:
            192 > a.f ? Ug(a, F(a, a.f), a.L() & 31) : jf(a, Rg(a, hf(a), a.L() & 31));
            break;
        case 7:
            192 > a.f ? Tg(a, F(a, a.f), a.L() & 31) : jf(a, Pg(a, hf(a), a.L() & 31));
            break;
        default:
            t(a)
    }
};
X[187] = function(a) {
    D(a);
    192 > a.f ? Tg(a, F(a, a.f), nf(a)) : gf(a, Pg(a, ff(a), nf(a) & 15))
};
Z[187] = function(a) {
    D(a);
    192 > a.f ? Tg(a, F(a, a.f), S(a)) : jf(a, Pg(a, hf(a), S(a) & 31))
};
X[188] = function(a) {
    D(a);
    var b = O(a);
    var c = mf(a);
    a.u = 2197;
    a.S = 15;
    0 === b ? (a.flags |= 64, a.F = b, b = c) : (a.flags &= -65, b = a.F = fb(-b & b)); of (a, b)
};
Z[188] = function(a) {
    D(a);
    var b = Ve(a);
    var c = S(a);
    a.u = 2197;
    a.S = 31;
    0 === b ? (a.flags |= 64, a.F = b, b = c) : (a.flags &= -65, b = a.F = fb((-b & b) >>> 0));
    pf(a, b)
};
X[189] = function(a) {
    D(a);
    var b = O(a);
    var c = mf(a);
    a.u = 2197;
    a.S = 15;
    0 === b ? (a.flags |= 64, a.F = b, b = c) : (a.flags &= -65, b = a.F = fb(b)); of (a, b)
};
Z[189] = function(a) {
    D(a);
    var b = Ve(a);
    var c = S(a);
    a.u = 2197;
    a.S = 31;
    0 === b ? (a.flags |= 64, a.F = b, b = c) : (a.flags &= -65, b = a.F = fb(b >>> 0));
    pf(a, b)
};
X[190] = function(a) {
    D(a);
    var b = Ue(a) << 24 >> 24; of (a, b)
};
Z[190] = function(a) {
    D(a);
    var b = Ue(a) << 24 >> 24;
    pf(a, b)
};
X[191] = function(a) {
    D(a);
    var b = O(a); of (a, b)
};
Z[191] = function(a) {
    D(a);
    var b = O(a) << 16 >> 16;
    pf(a, b)
};
W[192] = function(a) {
    D(a);
    var b = bf(a),
        c = a.f >> 1 & 12 | a.f >> 5 & 1,
        d = a.D[c];
    a.D[c] = b;
    b = a.add(b, d, 7);
    cf(a, b)
};
X[193] = function(a) {
    D(a);
    var b = Q(a),
        c = a.f >> 2 & 14,
        d = a.h[c];
    a.h[c] = b;
    b = a.add(b, d, 15);
    R(a, b)
};
Z[193] = function(a) {
    D(a);
    var b = df(a),
        c = a.f >> 3 & 7,
        d = a.b[c];
    a.b[c] = b;
    b = a.add(b, d, 31);
    ef(a, b)
};
W[194] = function(a) {
    t(a)
};
W[195] = function(a) {
    D(a);
    192 <= a.f && t(a);
    af(a, S(a))
};
W[196] = function(a) {
    t(a)
};
W[197] = function(a) {
    t(a)
};
W[198] = function(a) {
    t(a)
};
W[199] = function(a) {
    D(a);
    switch (a.f >> 3 & 7) {
        case 1:
            192 <= a.f && t(a);
            var b = F(a, a.f);
            Cb(a, b, 8);
            var c = y(a, b),
                d = y(a, b + 4 | 0);
            a.b[0] === c && a.b[2] === d ? (a.flags |= 64, w(a, b, a.b[3]), w(a, b + 4 | 0, a.b[1])) : (a.flags &= -65, a.b[0] = c, a.b[2] = d, w(a, b, c), w(a, b + 4 | 0, d));
            a.u &= -65;
            break;
        case 6:
            c = (b = lb()) ? mb() : 0;
            Bb(a) ? af(a, c) : $e(a, c);
            a.flags &= -2262;
            a.flags |= b;
            a.u = 0;
            break;
        default:
            t(a)
    }
};
W[200] = function(a) {
    th(a, 0)
};
W[201] = function(a) {
    th(a, 1)
};
W[202] = function(a) {
    th(a, 2)
};
W[203] = function(a) {
    th(a, 3)
};
W[204] = function(a) {
    th(a, 4)
};
W[205] = function(a) {
    th(a, 5)
};
W[206] = function(a) {
    th(a, 6)
};
W[207] = function(a) {
    th(a, 7)
};
W[208] = function(a) {
    t(a)
};
W[209] = function(a) {
    K(a);
    D(a);
    var b = P(a),
        c = a.s[2 * (a.f >> 3 & 7)],
        d = a.s[2 * (a.f >> 3 & 7) + 1];
    b = b[0] >>> 0;
    var e = 0,
        f = 0;
    15 >= b && (e = (c & 65535) >>> b | c >>> 16 >>> b << 16, f = (d & 65535) >>> b | d >>> 16 >>> b << 16);
    T(a, e, f)
};
W[210] = function(a) {
    K(a);
    D(a);
    var b = P(a),
        c = a.s[2 * (a.f >> 3 & 7)],
        d = a.s[2 * (a.f >> 3 & 7) + 1];
    b = b[0] >>> 0;
    var e = 0,
        f = 0;
    31 >= b && (e = c >>> b, f = d >>> b);
    T(a, e, f)
};
W[211] = function(a) {
    K(a);
    D(a);
    var b = P(a),
        c = a.s[2 * (a.f >> 3 & 7)],
        d = a.s[2 * (a.f >> 3 & 7) + 1];
    b = b[0] >>> 0;
    if (0 !== b) {
        var e = 0,
            f = 0;
        31 >= b ? (e = c >>> b | d << 32 - b, f = d >>> b) : 63 >= b && (e = d >>> (b & 31), f = 0);
        T(a, e, f)
    }
};
W[212] = function(a) {
    t(a)
};
W[213] = function(a) {
    K(a);
    D(a);
    if (32 == (a.H & 56)) {
        var b = Ye(a);
        b = new Int16Array(b.buffer);
        var c = rf(a);
        c = new Int16Array(c.buffer);
        tf(a, b[0] * c[0] & 65535 | b[1] * c[1] << 16, b[2] * c[2] & 65535 | b[3] * c[3] << 16, b[4] * c[4] & 65535 | b[5] * c[5] << 16, b[6] * c[6] & 65535 | b[7] * c[7] << 16)
    } else {
        b = P(a);
        c = a.s[2 * (a.f >> 3 & 7)];
        var d = a.s[2 * (a.f >> 3 & 7) + 1];
        T(a, (c & 65535) * (b[0] & 65535) & 65535 | ((c >>> 16) * (b[0] >>> 16) & 65535) << 16, (d & 65535) * (b[1] & 65535) & 65535 | ((d >>> 16) * (b[1] >>> 16) & 65535) << 16)
    }
};
W[214] = function(a) {
    K(a);
    D(a);
    var b = qf(a),
        c = F(a, a.f);
    te(a, c, b[0], b[1])
};
W[215] = function(a) {
    K(a);
    D(a);
    192 > a.f && t(a);
    var b = Ye(a);
    b = new Uint8Array(b.buffer);
    pf(a, b[0] >> 7 << 0 | b[1] >> 7 << 1 | b[2] >> 7 << 2 | b[3] >> 7 << 3 | b[4] >> 7 << 4 | b[5] >> 7 << 5 | b[6] >> 7 << 6 | b[7] >> 7 << 7 | b[8] >> 7 << 8 | b[9] >> 7 << 9 | b[10] >> 7 << 10 | b[11] >> 7 << 11 | b[12] >> 7 << 12 | b[13] >> 7 << 13 | b[14] >> 7 << 14 | b[15] >> 7 << 15)
};
W[216] = function(a) {
    K(a);
    D(a);
    var b = P(a),
        c = new Uint8Array(b.buffer),
        d = 8 * (a.f >> 3 & 7),
        e = a.tg;
    b = ah(e[d] - c[0]);
    var f = ah(e[d + 1] - c[1]),
        h = ah(e[d + 2] - c[2]),
        g = ah(e[d + 3] - c[3]),
        p = ah(e[d + 4] - c[4]),
        r = ah(e[d + 5] - c[5]),
        v = ah(e[d + 6] - c[6]);
    c = ah(e[d + 7] - c[7]);
    T(a, b | f << 8 | h << 16 | g << 24, p | r << 8 | v << 16 | c << 24)
};
W[217] = function(a) {
    K(a);
    D(a);
    var b = P(a),
        c = a.s[2 * (a.f >> 3 & 7)],
        d = a.s[2 * (a.f >> 3 & 7) + 1],
        e = (c & 65535) - (b[0] & 65535);
    c = (c >>> 16) - (b[0] >>> 16);
    0 > e && (e = 0);
    0 > c && (c = 0);
    var f = (d & 65535) - (b[1] & 65535);
    b = (d >>> 16) - (b[1] >>> 16);
    0 > f && (f = 0);
    0 > b && (b = 0);
    T(a, e | c << 16, f | b << 16)
};
W[218] = function(a) {
    K(a);
    D(a);
    var b = Ye(a);
    b = new Uint8Array(b.buffer);
    var c = rf(a);
    c = new Uint8Array(c.buffer);
    for (var d = le(0, 0, 0, 0), e = new Uint8Array(d.buffer), f = 0; 16 > f; f++) e[f] = b[f] < c[f] ? b[f] : c[f];
    tf(a, d[0], d[1], d[2], d[3])
};
W[219] = function(a) {
    K(a);
    D(a);
    var b = P(a);
    T(a, b[0] & a.s[2 * (a.f >> 3 & 7)], b[1] & a.s[2 * (a.f >> 3 & 7) + 1])
};
W[220] = function(a) {
    K(a);
    D(a);
    if (32 == (a.H & 56)) {
        var b = Ye(a);
        b = new Uint8Array(b.buffer);
        var c = rf(a);
        c = new Uint8Array(c.buffer);
        for (var d = le(0, 0, 0, 0), e = new Uint8Array(d.buffer), f = 0; 16 > f; f++) e[f] = bh(b[f] + c[f]);
        tf(a, d[0], d[1], d[2], d[3])
    } else {
        b = P(a);
        var h = new Uint8Array(b.buffer),
            g = 8 * (a.f >> 3 & 7),
            p = a.tg;
        b = bh(p[g] + h[0]);
        c = bh(p[g + 1] + h[1]);
        d = bh(p[g + 2] + h[2]);
        e = bh(p[g + 3] + h[3]);
        f = bh(p[g + 4] + h[4]);
        var r = bh(p[g + 5] + h[5]),
            v = bh(p[g + 6] + h[6]);
        h = bh(p[g + 7] + h[7]);
        T(a, b | c << 8 | d << 16 | e << 24, f | r << 8 | v << 16 | h << 24)
    }
};
W[221] = function(a) {
    K(a);
    D(a);
    if (32 == (a.H & 56)) {
        var b = Ye(a);
        b = new Uint16Array(b.buffer);
        var c = rf(a);
        c = new Uint16Array(c.buffer);
        tf(a, ch(b[0] + c[0]) | ch(b[1] + c[1]) << 16, ch(b[2] + c[2]) | ch(b[3] + c[3]) << 16, ch(b[4] + c[4]) | ch(b[5] + c[5]) << 16, ch(b[6] + c[6]) | ch(b[7] + c[7]) << 16)
    } else {
        c = P(a);
        var d = a.s[2 * (a.f >> 3 & 7)],
            e = a.s[2 * (a.f >> 3 & 7) + 1];
        b = ch((d & 65535) + (c[0] & 65535));
        d = ch((d >>> 16) + (c[0] >>> 16));
        var f = ch((e & 65535) + (c[1] & 65535));
        c = ch((e >>> 16) + (c[1] >>> 16));
        T(a, b | d << 16, f | c << 16)
    }
};
W[222] = function(a) {
    K(a);
    D(a);
    if (32 == (a.H & 56)) {
        var b = Ye(a);
        b = new Uint8Array(b.buffer);
        var c = rf(a);
        c = new Uint8Array(c.buffer);
        for (var d = le(0, 0, 0, 0), e = new Uint8Array(d.buffer), f = 0; 16 > f; f++) e[f] = b[f] > c[f] ? b[f] : c[f];
        tf(a, d[0], d[1], d[2], d[3])
    }
};
W[223] = function(a) {
    K(a);
    D(a);
    var b = P(a);
    T(a, b[0] & ~a.s[2 * (a.f >> 3 & 7)], b[1] & ~a.s[2 * (a.f >> 3 & 7) + 1])
};
W[224] = function(a) {
    t(a)
};
W[225] = function(a) {
    K(a);
    D(a);
    var b = P(a),
        c = a.s[2 * (a.f >> 3 & 7)],
        d = a.s[2 * (a.f >> 3 & 7) + 1];
    b = b[0] >>> 0;
    15 < b && (b = 16);
    T(a, c << 16 >> 16 >> b & 65535 | (c >> 16 >> b & 65535) << 16, d << 16 >> 16 >> b & 65535 | (d >> 16 >> b & 65535) << 16)
};
W[226] = function(a) {
    K(a);
    D(a);
    var b = P(a),
        c = a.s[2 * (a.f >> 3 & 7)],
        d = a.s[2 * (a.f >> 3 & 7) + 1];
    b = b[0] >>> 0;
    31 < b && (b = 31);
    T(a, c >> b, d >> b)
};
W[227] = function(a) {
    t(a)
};
W[228] = function(a) {
    K(a);
    D(a);
    var b = Ye(a);
    b = new Uint16Array(b.buffer);
    var c = rf(a);
    c = new Uint16Array(c.buffer);
    tf(a, b[0] * c[0] >>> 16 | b[1] * c[1] & 4294901760, b[2] * c[2] >>> 16 | b[3] * c[3] & 4294901760, b[4] * c[4] >>> 16 | b[5] * c[5] & 4294901760, b[6] * c[6] >>> 16 | b[7] * c[7] & 4294901760)
};
W[229] = function(a) {
    K(a);
    D(a);
    var b = P(a),
        c = a.s[2 * (a.f >> 3 & 7)],
        d = a.s[2 * (a.f >> 3 & 7) + 1];
    T(a, (c << 16 >> 16) * (b[0] << 16 >> 16) >>> 16 | (c >> 16) * (b[0] >> 16) >>> 16 << 16, (d << 16 >> 16) * (b[1] << 16 >> 16) >>> 16 | (d >> 16) * (b[1] >> 16) >>> 16 << 16)
};
W[230] = function(a) {
    t(a)
};
W[231] = function(a) {
    K(a);
    D(a);
    192 <= a.f && t(a);
    if (32 == (a.H & 56)) {
        var b = rf(a),
            c = F(a, a.f);
        ue(a, c, b[0], b[1], b[2], b[3])
    }
};
W[232] = function(a) {
    K(a);
    D(a);
    var b = P(a),
        c = new Int8Array(b.buffer),
        d = 8 * (a.f >> 3 & 7),
        e = a.Gd;
    b = $g(e[d] - c[0]);
    var f = $g(e[d + 1] - c[1]),
        h = $g(e[d + 2] - c[2]),
        g = $g(e[d + 3] - c[3]),
        p = $g(e[d + 4] - c[4]),
        r = $g(e[d + 5] - c[5]),
        v = $g(e[d + 6] - c[6]);
    c = $g(e[d + 7] - c[7]);
    T(a, b | f << 8 | h << 16 | g << 24, p | r << 8 | v << 16 | c << 24)
};
W[233] = function(a) {
    K(a);
    D(a);
    var b = P(a),
        c = a.s[2 * (a.f >> 3 & 7)],
        d = a.s[2 * (a.f >> 3 & 7) + 1],
        e = Zg((c << 16 >> 16) - (b[0] << 16 >> 16));
    c = Zg((c >> 16) - (b[0] >> 16));
    var f = Zg((d << 16 >> 16) - (b[1] << 16 >> 16));
    b = Zg((d >> 16) - (b[1] >> 16));
    T(a, e | c << 16, f | b << 16)
};
W[234] = function(a) {
    t(a)
};
W[235] = function(a) {
    K(a);
    D(a);
    if (32 === (a.H & 56)) {
        var b = Ye(a),
            c = rf(a);
        tf(a, b[0] | c[0], b[1] | c[1], b[2] | c[2], b[3] | c[3])
    } else b = P(a), T(a, b[0] | a.s[2 * (a.f >> 3 & 7)], b[1] | a.s[2 * (a.f >> 3 & 7) + 1])
};
W[236] = function(a) {
    K(a);
    D(a);
    var b = P(a),
        c = new Int8Array(b.buffer),
        d = 8 * (a.f >> 3 & 7),
        e = a.Gd;
    b = $g(e[d] + c[0]);
    var f = $g(e[d + 1] + c[1]),
        h = $g(e[d + 2] + c[2]),
        g = $g(e[d + 3] + c[3]),
        p = $g(e[d + 4] + c[4]),
        r = $g(e[d + 5] + c[5]),
        v = $g(e[d + 6] + c[6]);
    c = $g(e[d + 7] + c[7]);
    T(a, b | f << 8 | h << 16 | g << 24, p | r << 8 | v << 16 | c << 24)
};
W[237] = function(a) {
    K(a);
    D(a);
    var b = P(a),
        c = a.s[2 * (a.f >> 3 & 7)],
        d = a.s[2 * (a.f >> 3 & 7) + 1],
        e = Zg((c << 16 >> 16) + (b[0] << 16 >> 16));
    c = Zg((c >> 16) + (b[0] >> 16));
    var f = Zg((d << 16 >> 16) + (b[1] << 16 >> 16));
    b = Zg((d >> 16) + (b[1] >> 16));
    T(a, e | c << 16, f | b << 16)
};
W[238] = function(a) {
    t(a)
};
W[239] = function(a) {
    K(a);
    D(a);
    if (32 == (a.H & 56)) {
        var b = Ye(a),
            c = rf(a);
        tf(a, b[0] ^ c[0], b[1] ^ c[1], b[2] ^ c[2], b[3] ^ c[3])
    } else b = P(a), T(a, b[0] ^ a.s[2 * (a.f >> 3 & 7)], b[1] ^ a.s[2 * (a.f >> 3 & 7) + 1])
};
W[240] = function(a) {
    t(a)
};
W[241] = function(a) {
    K(a);
    D(a);
    var b = P(a),
        c = a.s[2 * (a.f >> 3 & 7)],
        d = a.s[2 * (a.f >> 3 & 7) + 1];
    b = b[0] >>> 0;
    var e = 0,
        f = 0;
    15 >= b && (e = (c & 65535) << b & 65535 | c >>> 16 << b << 16, f = (d & 65535) << b & 65535 | d >>> 16 << b << 16);
    T(a, e, f)
};
W[242] = function(a) {
    K(a);
    D(a);
    var b = P(a),
        c = a.s[2 * (a.f >> 3 & 7)],
        d = a.s[2 * (a.f >> 3 & 7) + 1];
    b = b[0] >>> 0;
    var e = 0,
        f = 0;
    31 >= b && (e = c << b, f = d << b);
    T(a, e, f)
};
W[243] = function(a) {
    K(a);
    D(a);
    var b = P(a),
        c = a.s[2 * (a.f >> 3 & 7)],
        d = a.s[2 * (a.f >> 3 & 7) + 1];
    b = b[0] >>> 0;
    if (0 !== b) {
        var e = 0,
            f = 0;
        31 >= b ? (e = c << b, f = d << b | c >>> 32 - b) : 63 >= b && (f = c << (b & 31), e = 0);
        T(a, e, f)
    }
};
W[244] = function(a) {
    t(a)
};
W[245] = function(a) {
    K(a);
    D(a);
    var b = P(a),
        c = a.s[2 * (a.f >> 3 & 7)],
        d = a.s[2 * (a.f >> 3 & 7) + 1];
    T(a, (c << 16 >> 16) * (b[0] << 16 >> 16) + (c >> 16) * (b[0] >> 16) | 0, (d << 16 >> 16) * (b[1] << 16 >> 16) + (d >> 16) * (b[1] >> 16) | 0)
};
W[246] = function(a) {
    t(a)
};
W[247] = function(a) {
    t(a)
};
W[248] = function(a) {
    K(a);
    D(a);
    var b = P(a);
    b = new Int8Array(b.buffer);
    var c = 8 * (a.f >> 3 & 7),
        d = a.Gd;
    T(a, d[c] - b[0] & 255 | (d[c + 1] - b[1] & 255) << 8 | (d[c + 2] - b[2] & 255) << 16 | (d[c + 3] - b[3] & 255) << 24, d[c + 4] - b[4] & 255 | (d[c + 5] - b[5] & 255) << 8 | (d[c + 6] - b[6] & 255) << 16 | (d[c + 7] - b[7] & 255) << 24)
};
W[249] = function(a) {
    K(a);
    D(a);
    var b = P(a),
        c = a.s[2 * (a.f >> 3 & 7)],
        d = a.s[2 * (a.f >> 3 & 7) + 1];
    T(a, c - b[0] & 65535 | ((c >>> 16) - (b[0] >>> 16) & 65535) << 16, d - b[1] & 65535 | ((d >>> 16) - (b[1] >>> 16) & 65535) << 16)
};
W[250] = function(a) {
    K(a);
    D(a);
    var b = P(a);
    T(a, a.s[2 * (a.f >> 3 & 7)] - b[0], a.s[2 * (a.f >> 3 & 7) + 1] - b[1])
};
W[251] = function(a) {
    t(a)
};
W[252] = function(a) {
    K(a);
    D(a);
    var b = P(a);
    b = new Int8Array(b.buffer);
    var c = 8 * (a.f >> 3 & 7),
        d = a.Gd;
    T(a, d[c] + b[0] & 255 | (d[c + 1] + b[1] & 255) << 8 | (d[c + 2] + b[2] & 255) << 16 | (d[c + 3] + b[3] & 255) << 24, d[c + 4] + b[4] & 255 | (d[c + 5] + b[5] & 255) << 8 | (d[c + 6] + b[6] & 255) << 16 | (d[c + 7] + b[7] & 255) << 24)
};
W[253] = function(a) {
    K(a);
    D(a);
    var b = P(a),
        c = a.s[2 * (a.f >> 3 & 7)],
        d = a.s[2 * (a.f >> 3 & 7) + 1];
    T(a, c + b[0] & 65535 | ((c >>> 16) + (b[0] >>> 16) & 65535) << 16, d + b[1] & 65535 | ((d >>> 16) + (b[1] >>> 16) & 65535) << 16)
};
W[254] = function(a) {
    K(a);
    D(a);
    var b = P(a);
    T(a, a.s[2 * (a.f >> 3 & 7)] + b[0] | 0, a.s[2 * (a.f >> 3 & 7) + 1] + b[1] | 0)
};
W[255] = function(a) {
    t(a)
};
var xh = [],
    yh = [];
q.prototype.qk = xh;
q.prototype.rk = yh;
for (wh = 0; 256 > wh; wh++) W[wh] ? xh[wh] = yh[wh] = W[wh] : X[wh] && (xh[wh] = X[wh], yh[wh] = Z[wh]);

function Xd(a) {
    var b = {};
    a.debug = b;
    b.Zk = !1;
    b.Tk = void 0;
    b.Bk = [];
    b.$k = !1;
    b.show = function(a) {
        if ("undefined" !== typeof document) {
            var b = document.getElementById("log");
            if (b) {
                b.textContent += a + "\n";
                b.style.display = "block";
                b.scrollTop = 1E9;
                return
            }
        }
        console.log(a)
    };
    b.Ob = function() {};
    b.Nk = function() {
        for (var b = {
                eax: 0,
                ecx: 1,
                edx: 2,
                ebx: 3,
                esp: 4,
                ebp: 5,
                esi: 6,
                edi: 7
            }, d = "eax ecx edx ebx esp ebp esi edi".split(" "), e = "", f = "", h = 0; 4 > h; h++) e += d[h] + "=" + jb(a.Fd[b[d[h]]], 8) + " ", f += d[h + 4] + "=" + jb(a.Fd[b[d[h + 4]]], 8) + " ";
        e += "  ds=" +
            jb(a.M[3], 4) + " es=" + jb(a.M[0], 4) + " fs=" + jb(a.M[4], 4);
        f += "  gs=" + jb(a.M[5], 4) + " cs=" + jb(a.M[1], 4) + " ss=" + jb(a.M[2], 4);
        return [e, f]
    };
    b.Hk = function() {};
    b.Fk = function() {};
    b.Lk = function() {};
    b.Sa = function() {
        var b = a.flags & 131072 ? 1 : 0;
        b = a.ta ? b ? "vm86" : "prot" : "real";
        var d = ze(a),
            e = xe(a),
            f = a.N,
            h = jb(a.M[1], 4) + ":" + jb(Fe(a) >>> 0, 8),
            g = jb(a.M[2], 4) + ":" + jb(Ce(a) >>> 0, 8),
            p = a.C ? "32" : "16",
            r = a.flags & 512 ? 1 : 0,
            v = {};
        v = (v[1] = "c", v[4] = "p", v[16] = "a", v[64] = "z", v[128] = "s", v[256] = "t", v[512] = "i", v[1024] = "d", v[2048] = "o", v);
        for (var E =
                "", z = 0; 16 > z; z++) v[1 << z] && (d & 1 << z ? E += v[1 << z] : E += " ");
        return "mode=" + b + "/" + p + " paging=" + +a.V + " iopl=" + e + " cpl=" + f + " if=" + r + " cs:eip=" + h + " cs_off=" + jb(C(a, 1) >>> 0, 8) + " flgs=" + jb(ze(a) >>> 0, 6) + " (" + E + ") ss:esp=" + g + " ssize=" + +a.qb
    };
    b.Jk = function() {};
    b.Ik = function() {};
    b.Gk = function() {};
    b.Dk = function() {};
    b.Ek = function() {};
    b.Mk = function() {};
    b.Rk = function() {};
    b.al = function() {};
    b.step = function() {};
    b.Wk = function() {};
    b.P = function(a) {
        a = "Unimplemented" + (a ? ": " + a : "");
        b.show(a);
        b.show("Execution stopped");
        return a
    };
    b.Pk = function() {};
    b.Ck = function() {}
};
var zh = DataView.prototype,
    Ah = {
        size: 1,
        get: zh.getUint8,
        set: zh.setUint8
    },
    Eh = {
        size: 2,
        get: zh.getUint16,
        set: zh.setUint16
    },
    Fh = {
        size: 4,
        get: zh.getUint32,
        set: zh.setUint32
    },
    Hh = Gh([{
        zi: Fh
    }, {
        Rh: Ah
    }, {
        data: Ah
    }, {
        uk: Ah
    }, {
        Uk: Ah
    }, {
        yk: Ah
    }, {
        Vk: function(a) {
            return {
                size: a,
                get: function() {
                    return -1
                }
            }
        }(7)
    }, {
        type: Eh
    }, {
        Qk: Eh
    }, {
        vk: Fh
    }, {
        ii: Fh
    }, {
        Fi: Fh
    }, {
        mk: Fh
    }, {
        flags: Fh
    }, {
        di: Eh
    }, {
        hh: Eh
    }, {
        ih: Eh
    }, {
        Gh: Eh
    }, {
        Hh: Eh
    }, {
        Yk: Eh
    }]);
console.assert(52 === Hh.reduce(function(a, b) {
    return a + b.size
}, 0));
var Ih = Gh([{
    type: Fh
}, {
    offset: Fh
}, {
    bl: Fh
}, {
    Di: Fh
}, {
    ki: Fh
}, {
    Sk: Fh
}, {
    flags: Fh
}, {
    align: Fh
}]);
console.assert(32 === Ih.reduce(function(a, b) {
    return a + b.size
}, 0));
var Jh = Gh([{
    name: Fh
}, {
    type: Fh
}, {
    flags: Fh
}, {
    zk: Fh
}, {
    offset: Fh
}, {
    size: Fh
}, {
    link: Fh
}, {
    info: Fh
}, {
    Ak: Fh
}, {
    Kk: Fh
}]);
console.assert(40 === Jh.reduce(function(a, b) {
    return a + b.size
}, 0));

function Gh(a) {
    return a.map(function(a) {
        var b = Object.keys(a);
        console.assert(1 === b.length);
        b = b[0];
        a = a[b];
        console.assert(0 < a.size);
        return {
            name: b,
            type: a,
            size: a.size,
            get: a.get,
            set: a.set
        }
    })
}

function de(a) {
    var b = new DataView(a),
        c = ia(Kh(b, Hh));
    a = c.next().value;
    c = c.next().value;
    console.assert(52 === c);
    console.assert(1179403647 === a.zi, "Bad magic");
    console.assert(1 === a.Rh, "Unimplemented: 64 bit elf");
    console.assert(1 === a.data, "Unimplemented: big endian");
    console.assert(1 === a.uk, "Bad version0");
    console.assert(2 === a.type, "Unimplemented type");
    console.assert(1 === a.vk, "Bad version1");
    console.assert(52 === a.di, "Bad header size");
    console.assert(32 === a.hh, "Bad program header size");
    console.assert(40 ===
        a.Gh, "Bad section header size");
    var d = ia(Lh(new DataView(b.buffer, b.byteOffset + a.Fi, a.hh * a.ih), Ih, a.ih));
    c = d.next().value;
    d.next();
    b = ia(Lh(new DataView(b.buffer, b.byteOffset + a.mk, a.Gh * a.Hh), Jh, a.Hh));
    d = b.next().value;
    b.next();
    return {
        jg: a,
        ek: c,
        Xk: d
    }
}

function Kh(a, b) {
    var c = {},
        d = 0;
    b = ia(b);
    for (var e = b.next(); !e.done; e = b.next()) {
        e = e.value;
        var f = e.get.call(a, d, !0);
        console.assert(void 0 === c[e.name]);
        c[e.name] = f;
        d += e.size
    }
    return [c, d]
}

function Lh(a, b, c) {
    for (var d = [], e = 0, f = 0; f < c; f++) {
        var h = ia(Kh(new DataView(a.buffer, a.byteOffset + e, void 0), b)),
            g = h.next().value;
        h = h.next().value;
        d.push(g);
        e += h
    }
    return [d, e]
};
var Aa = 16384,
    Ca = 4;

function Mh(a) {
    this.a = [];
    this.i = [];
    this.v = a;
    this.l = this.J = 0;
    this.m = function() {};
    this.g = {};
    this.C = 0;
    za(this, "", -1)
}

function ua(a, b, c) {
    0 == sa(a, b).status ? c() : a.i.push({
        id: b,
        Lh: c
    })
}

function Nh(a, b) {
    0 == a.l && (a.m = function() {});
    for (var c = [], d = 0; d < a.i.length; d++) a.i[d].id == b ? a.i[d].Lh() : c.push(a.i[d]);
    a.i = c
}

function Oh(a, b) {
    b = JSON.parse(b);
    if (2 !== b.version) throw "The filesystem JSON format has changed. Please update your fs2json (https://github.com/copy/fs2json) and recreate the filesystem JSON.";
    var c = b.fsroot;
    a.C = b.size;
    setTimeout(function() {
        for (var b = 0; b < c.length; b++) Ph(a, c[b], 0);
        a.m = function() {}
    }, 0)
}

function Ph(a, b, c) {
    var d = va(a);
    d.name = b[0];
    d.size = b[1];
    d.ne = b[2];
    d.dg = d.ne;
    d.mf = d.ne;
    d.mode = b[3];
    d.uid = b[4];
    d.pb = b[5];
    d.va = c;
    a.a[d.va].Pb++;
    c = d.mode & 61440;
    if (c === Aa)
        for (b = b[6], d.dd = !0, d.Pb = 2, c = a.a.length, wa(a, d), d = 0; d < b.length; d++) Ph(a, b[d], c);
    else 32768 === c ? (d.status = 2, wa(a, d)) : 40960 === c && (d.ff = b[6], wa(a, d))
}

function Qh(a, b) {
    var c = a.a[b];
    2 == c.status && (c.status = 3, a.l++, a.v && Rh(a.v + Sh(a, c.Pg), function(a) {
        a = this.g[b] = new Uint8Array(a);
        c.size = a.length;
        c.status = 0;
        this.l--;
        Nh(this, b)
    }.bind(a), function(a) {
        throw a;
    }))
}

function wa(a, b) {
    if (-1 != b.va) {
        a.a.push(b);
        b.Pg = a.a.length - 1;
        var c = a.a[b.va];
        c.dd = !0;
        b.vb = c.ub;
        c.ub = a.a.length - 1
    } else 0 == a.a.length && a.a.push(b)
}

function Th(a) {
    this.dd = !1;
    this.vb = this.ub = this.va = -1;
    this.status = 0;
    this.name = "";
    this.ah = this.$g = this.ne = this.mf = this.dg = this.Pg = this.pb = this.uid = this.size = 0;
    this.ff = "";
    this.Pb = 1;
    this.mode = 493;
    this.lb = {
        type: 0,
        version: 0,
        path: a
    };
    this.Pa = void 0
}

function va(a) {
    return new Th(++a.J)
}

function za(a, b, c) {
    var d = va(a);
    d.name = b;
    d.va = c;
    d.mode = 511 | Aa;
    d.dd = !0;
    d.Pb = 2;
    0 <= c && (d.uid = a.a[c].uid, d.pb = a.a[c].pb, d.mode = a.a[c].mode & 511 | Aa, a.a[c].Pb++);
    d.lb.type = Aa >> 8;
    wa(a, d);
    return a.a.length - 1
}

function Ba(a, b, c) {
    var d = va(a);
    d.name = b;
    d.va = c;
    d.uid = a.a[c].uid;
    d.pb = a.a[c].pb;
    a.a[c].Pb++;
    d.lb.type = 128;
    d.mode = a.a[c].mode & 438 | 32768;
    wa(a, d);
    return a.a.length - 1
}

function ya(a, b, c, d, e) {
    var f = va(a);
    f.name = b;
    f.va = c;
    f.$g = d;
    f.ah = e;
    f.uid = a.a[c].uid;
    f.pb = a.a[c].pb;
    a.a[c].Pb++;
    f.lb.type = 192;
    f.mode = a.a[c].mode & 438;
    wa(a, f);
    return a.a.length - 1
}

function xa(a, b, c, d) {
    var e = va(a);
    e.name = b;
    e.va = c;
    e.uid = a.a[c].uid;
    e.pb = a.a[c].pb;
    a.a[c].Pb++;
    e.lb.type = 160;
    e.ff = d;
    e.mode = 40960;
    wa(a, e);
    return a.a.length - 1
}

function Uh(a, b, c, d) {
    b = Ba(a, b, c);
    c = a.a[b];
    (a.g[b] = new Uint8Array(d.length)).set(d);
    c.size = d.length
}

function ta(a, b) {
    var c = sa(a, b);
    if ((c.mode & 61440) == Aa) {
        var d = sa(a, b);
        if (d.dd) {
            var e = d.va; - 1 == e && (e = 0);
            for (var f = 0, h = a.a[b].ub; - 1 != h;) f += 24 + Vh(a.a[h].name), h = a.a[h].vb;
            f = f + 25 + 26;
            var g = a.g[b] = new Uint8Array(f);
            d.size = f;
            f = 0;
            f += oa(["Q", "d", "b", "s"], [a.a[b].lb, f + 25, a.a[b].mode >> 12, "."], g, f);
            f += oa(["Q", "d", "b", "s"], [a.a[e].lb, f + 13 + 8 + 1 + 2 + 2, a.a[e].mode >> 12, ".."], g, f);
            for (h = a.a[b].ub; - 1 != h;) f += oa(["Q", "d", "b", "s"], [a.a[h].lb, f + 13 + 8 + 1 + 2 + Vh(a.a[h].name), a.a[h].mode >> 12, a.a[h].name], g, f), h = a.a[h].vb;
            d.dd = !1
        }
    }
    return 2 ==
        c.status ? (Qh(a, b), !1) : !0
}

function Ia(a, b) {
    var c = sa(a, b);
    c.status == Ca && (c.status = -1, delete a.g[b], c.size = 0)
}

function Fa(a, b, c, d, e) {
    if (b == d && c == e) return !0;
    c = Ga(a, b, c);
    if (-1 == c) return !1;
    var f = Ga(a, d, e); - 1 != f && Ha(a, f);
    f = a.a[c];
    if (a.a[f.va].ub == c) a.a[f.va].ub = f.vb;
    else {
        var h = Wh(a, c);
        a.a[h].vb = f.vb
    }
    f.va = d;
    f.name = e;
    f.lb.version++;
    f.vb = a.a[f.va].ub;
    a.a[f.va].ub = c;
    a.a[b].dd = !0;
    a.a[d].dd = !0;
    a.a[b].Pb--;
    a.a[d].Pb++;
    return !0
}

function Ea(a, b, c, d, e) {
    var f = a.a[b],
        h = a.g[b];
    !h || h.length < c + d ? (Da(a, b, Math.floor(3 * (c + d) / 2)), f.size = c + d, h = a.g[b]) : f.size < c + d && (f.size = c + d);
    for (a = 0; a < d; a++) h[c + a] = e()
}

function Ga(a, b, c) {
    for (b = a.a[b].ub; - 1 != b;) {
        if (a.a[b].name == c) return b;
        b = a.a[b].vb
    }
    return -1
}

function Sh(a, b) {
    for (var c = ""; 0 != b;) c = "/" + a.a[b].name + c, b = a.a[b].va;
    return c.substring(1)
}

function Wh(a, b) {
    var c = sa(a, b);
    for (c = a.a[c.va].ub; - 1 != c && a.a[c].vb != b;) c = a.a[c].vb;
    return c
}

function Ha(a, b) {
    if (0 == b) return !1;
    var c = sa(a, b);
    if ((c.mode & 61440) == Aa && -1 != c.ub) return !1;
    a.a[c.va].ub == b ? a.a[c.va].ub = c.vb : (b = Wh(a, b), a.a[b].vb = c.vb);
    a.a[c.va].dd = !0;
    a.a[c.va].Pb--;
    c.status = Ca;
    c.vb = -1;
    c.ub = -1;
    c.va = -1;
    c.Pb--;
    return !0
}

function sa(a, b) {
    return isNaN(b) || 0 > b || b > a.a.length ? 0 : a.a[b]
}

function Da(a, b, c) {
    var d = sa(a, b),
        e = a.g[b];
    if (c != d.size && (a = a.g[b] = new Uint8Array(c), d.size = c, e))
        for (c = Math.min(e.length, d.size), d = 0; d < c; d++) a[d] = e[d]
}

function Xh(a, b) {
    b = b.replace("//", "/");
    b = b.split("/");
    var c = b.length;
    0 == b[c - 1].length && b.pop();
    0 == b[0].length && b.shift();
    c = b.length;
    for (var d = 0, e = -1, f = 0; f < c; f++) {
        e = Ga(a, d, b[f]);
        if (-1 == e) return f < c - 1 ? {
            id: -1,
            va: -1,
            name: b[f]
        } : {
            id: -1,
            va: d,
            name: b[f]
        };
        d = e
    }
    return {
        id: e,
        va: d,
        name: b[f]
    }
}

function Ja(a, b) {
    a = sa(a, b);
    if (a.Pa) return a.Pa.length;
    a.Pa = new Uint8Array(12);
    a.Pa[0] = 0;
    a.Pa[1] = 0;
    a.Pa[2] = 0;
    a.Pa[3] = 1;
    a.Pa[4] = 255;
    a.Pa[5] = 255;
    a.Pa[6] = 255;
    a.Pa[7] = 255;
    a.Pa[8] = 255;
    a.Pa[9] = 255;
    a.Pa[10] = 255;
    a.Pa[11] = 255;
    return a.Pa.length
};
var Rh;
Rh = "undefined" !== typeof XMLHttpRequest ? function(a, b, c) {
    var d = new XMLHttpRequest;
    d.open("GET", a, !0);
    d.responseType = "arraybuffer";
    d.onreadystatechange = function() {
        if (4 == d.readyState)
            if (200 != d.status && 0 != d.status) c("Error: Could not load file " + a);
            else {
                var e = d.response;
                e ? b(e) : c("Error: No data received from: " + a)
            }
    };
    d.send(null)
} : function(a, b, c) {
    require("fs").readFile(a, function(a, e) {
        a ? c(a) : b((new Uint8Array(e)).buffer)
    })
};

function oa(a, b, c, d) {
    for (var e, f = 0, h = 0; h < a.length; h++) switch (e = b[h], a[h]) {
        case "w":
            c[d++] = e & 255;
            c[d++] = e >> 8 & 255;
            c[d++] = e >> 16 & 255;
            c[d++] = e >> 24 & 255;
            f += 4;
            break;
        case "d":
            c[d++] = e & 255;
            c[d++] = e >> 8 & 255;
            c[d++] = e >> 16 & 255;
            c[d++] = e >> 24 & 255;
            c[d++] = 0;
            c[d++] = 0;
            c[d++] = 0;
            c[d++] = 0;
            f += 8;
            break;
        case "h":
            c[d++] = e & 255;
            c[d++] = e >> 8;
            f += 2;
            break;
        case "b":
            c[d++] = e;
            f += 1;
            break;
        case "s":
            var g = d,
                p = 0;
            c[d++] = 0;
            c[d++] = 0;
            f += 2;
            for (var r in e) Yh(e.charCodeAt(r)).forEach(function(a) {
                c[d++] = a;
                f += 1;
                p++
            });
            c[g + 0] = p & 255;
            c[g + 1] = p >> 8 & 255;
            break;
        case "Q":
            oa(["b", "w", "d"], [e.type, e.version, e.path], c, d), d += 13, f += 13
    }
    return f
}

function ra(a, b) {
    for (var c = [], d = 0; d < a.length; d++) switch (a[d]) {
        case "w":
            var e = b();
            e += b() << 8;
            e += b() << 16;
            e += b() << 24 >>> 0;
            c.push(e);
            break;
        case "d":
            e = b();
            e += b() << 8;
            e += b() << 16;
            e += b() << 24 >>> 0;
            b();
            b();
            b();
            b();
            c.push(e);
            break;
        case "h":
            e = b();
            c.push(e + (b() << 8));
            break;
        case "b":
            c.push(b());
            break;
        case "s":
            e = b();
            e += b() << 8;
            for (var f = "", h = new Zh, g = 0; g < e; g++) {
                var p = h.i(b()); - 1 != p && (f += String.fromCharCode(p))
            }
            c.push(f)
    }
    return c
};

function Zh() {
    this.a = new Uint8Array(5);
    this.g = 0;
    this.i = function(a) {
        this.a[this.g] = a;
        this.g++;
        switch (this.g) {
            case 1:
                if (128 > this.a[0]) return this.g = 0, this.a[0];
                break;
            case 2:
                if (192 == (this.a[0] & 224) && 128 == (this.a[1] & 192)) return this.g = 0, (this.a[0] & 31) << 6 | this.a[1] & 63
        }
        return -1
    }
}

function Yh(a) {
    if (128 > a) return [a];
    if (2048 > a) return [192 | a >> 6 & 31, 128 | a & 63]
}

function Vh(a) {
    for (var b = 0, c = 0; c < a.length; c++) b += 128 > a.charCodeAt(c) ? 1 : 2;
    return b
};

function $h(a) {
    function b(a) {
        !a.altKey && g[56] && f(56, !1);
        return e(a, !1)
    }

    function c(a) {
        !a.altKey && g[56] && f(56, !1);
        return e(a, !0)
    }

    function d() {
        for (var a = Object.keys(g), b, c = 0; c < a.length; c++) b = +a[c], g[b] && f(b, !1);
        g = {}
    }

    function e(a, b) {
        if (p.w && (a.shiftKey && a.ctrlKey && (74 === a.keyCode || 75 === a.keyCode) || !p.g ? 0 : a.target ? "phone_keyboard" === a.target.className || "INPUT" !== a.target.nodeName && "TEXTAREA" !== a.target.nodeName : 1)) {
            a: {
                if (void 0 !== a.code) {
                    var c = z[a.code];
                    if (void 0 !== c) break a
                }
                c = r[a.keyCode]
            }
            if (c) return f(c,
                b), a.preventDefault && a.preventDefault(), !1;console.log("Missing char in map: " + a.keyCode.toString(16))
        }
    }

    function f(a, b) {
        if (b) g[a] && f(a, !1);
        else if (!g[a]) return;
        (g[a] = b) || (a |= 128);
        255 < a ? (h(a >> 8), h(a & 255)) : h(a)
    }

    function h(a) {
        p.w.send("keyboard-code", a)
    }
    var g = {},
        p = this;
    this.g = !0;
    var r = new Uint16Array([0, 0, 0, 0, 0, 0, 0, 0, 14, 15, 0, 0, 0, 28, 0, 0, 42, 29, 56, 0, 58, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 57, 57417, 57425, 57423, 57415, 57419, 57416, 57421, 80, 0, 0, 0, 0, 82, 83, 0, 11, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0, 39, 0, 13, 0, 0, 0, 30, 48, 46, 32, 18, 33, 34, 35, 23, 36,
            37, 38, 50, 49, 24, 25, 16, 19, 31, 20, 22, 47, 17, 45, 21, 44, 57435, 57436, 57437, 0, 0, 82, 79, 80, 81, 75, 76, 77, 71, 72, 73, 0, 0, 0, 0, 0, 0, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 87, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 13, 51, 12, 52, 53, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 43, 27, 40, 0, 57435, 57400, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
        ]),
        v = {
            10: 13,
            32: 32,
            39: 222,
            44: 188,
            45: 189,
            46: 190,
            47: 191,
            48: 48,
            49: 49,
            50: 50,
            51: 51,
            52: 52,
            53: 53,
            54: 54,
            55: 55,
            56: 56,
            57: 57,
            59: 186,
            61: 187,
            91: 219,
            92: 220,
            93: 221,
            96: 192,
            97: 65,
            98: 66,
            99: 67,
            100: 68,
            101: 69,
            102: 70,
            103: 71,
            104: 72,
            105: 73,
            106: 74,
            107: 75,
            108: 76,
            109: 77,
            110: 78,
            111: 79,
            112: 80,
            113: 81,
            114: 82,
            115: 83,
            116: 84,
            117: 85,
            118: 86,
            119: 87,
            120: 88,
            121: 89,
            122: 90
        },
        E = {
            33: 49,
            34: 222,
            35: 51,
            36: 52,
            37: 53,
            38: 55,
            40: 57,
            41: 48,
            42: 56,
            43: 187,
            58: 186,
            60: 188,
            62: 190,
            63: 191,
            64: 50,
            65: 65,
            66: 66,
            67: 67,
            68: 68,
            69: 69,
            70: 70,
            71: 71,
            72: 72,
            73: 73,
            74: 74,
            75: 75,
            76: 76,
            77: 77,
            78: 78,
            79: 79,
            80: 80,
            81: 81,
            82: 82,
            83: 83,
            84: 84,
            85: 85,
            86: 86,
            87: 87,
            88: 88,
            89: 89,
            90: 90,
            94: 54,
            95: 189,
            123: 219,
            124: 220,
            125: 221,
            126: 192
        },
        z = {
            Escape: 1,
            Digit1: 2,
            Digit2: 3,
            Digit3: 4,
            Digit4: 5,
            Digit5: 6,
            Digit6: 7,
            Digit7: 8,
            Digit8: 9,
            Digit9: 10,
            Digit0: 11,
            Minus: 12,
            Equal: 13,
            Backspace: 14,
            Tab: 15,
            KeyQ: 16,
            KeyW: 17,
            KeyE: 18,
            KeyR: 19,
            KeyT: 20,
            KeyY: 21,
            KeyU: 22,
            KeyI: 23,
            KeyO: 24,
            KeyP: 25,
            BracketLeft: 26,
            BracketRight: 27,
            Enter: 28,
            ControlLeft: 29,
            KeyA: 30,
            KeyS: 31,
            KeyD: 32,
            KeyF: 33,
            KeyG: 34,
            KeyH: 35,
            KeyJ: 36,
            KeyK: 37,
            KeyL: 38,
            Semicolon: 39,
            Quote: 40,
            Backquote: 41,
            ShiftLeft: 42,
            Backslash: 43,
            KeyZ: 44,
            KeyX: 45,
            KeyC: 46,
            KeyV: 47,
            KeyB: 48,
            KeyN: 49,
            KeyM: 50,
            Comma: 51,
            Period: 52,
            Slash: 53,
            ShiftRight: 54,
            NumpadMultiply: 55,
            AltLeft: 56,
            Space: 57,
            CapsLock: 58,
            F1: 59,
            F2: 60,
            F3: 61,
            F4: 62,
            F5: 63,
            F6: 64,
            F7: 65,
            F8: 66,
            F9: 67,
            F10: 68,
            NumLock: 69,
            ScrollLock: 70,
            Numpad7: 71,
            Numpad8: 72,
            Numpad9: 73,
            NumpadSubtract: 74,
            Numpad4: 75,
            Numpad5: 76,
            Numpad6: 77,
            NumpadAdd: 78,
            Numpad1: 79,
            Numpad2: 80,
            Numpad3: 81,
            Numpad0: 82,
            NumpadDecimal: 83,
            IntlBackslash: 86,
            F11: 87,
            F12: 88,
            NumpadEnter: 57372,
            ControlRight: 57373,
            NumpadDivide: 57397,
            AltRight: 57400,
            Home: 57423,
            ArrowUp: 57416,
            PageUp: 57417,
            ArrowLeft: 57419,
            ArrowRight: 57421,
            End: 57423,
            ArrowDown: 57424,
            PageDown: 57425,
            Insert: 57426,
            Delete: 57427,
            OSLeft: 57435,
            OSRight: 57436,
            ContextMenu: 57437
        };
    this.w = a;
    this.Mb = function() {
        "undefined" !== typeof window && (window.removeEventListener("keyup", b, !1), window.removeEventListener("keydown", c, !1), window.removeEventListener("blur", d, !1))
    };
    this.Ob = function() {
        "undefined" !== typeof window && (this.Mb(), window.addEventListener("keyup", b, !1), window.addEventListener("keydown", c, !1), window.addEventListener("blur", d, !1))
    };
    this.Ob();
    this.a = function(a) {
        a = {
            keyCode: a
        };
        e(a, !0);
        e(a, !1)
    };
    this.i = function(a) {
        var b = a.charCodeAt(0);
        b in v ? this.a(v[b]) : b in E ? (h(42), this.a(E[b]), h(170)) : console.log("ascii -> keyCode not found: ", b, a)
    }
};

function ai(a, b) {
    function c(a) {
        if (Y.enabled && Y.a)
            if ("mousemove" === a.type || "touchmove" === a.type) a = !0;
            else if ("mousewheel" === a.type || "DOMMouseScroll" === a.type) a: {
            for (a = a.target; a.parentNode;) {
                if (a === (b || document.body)) {
                    a = !0;
                    break a
                }
                a = a.parentNode
            }
            a = !1
        }
        else a = !a.target || "INPUT" !== a.target.nodeName && "TEXTAREA" !== a.target.nodeName;
        else a = !1;
        return a
    }

    function d(a) {
        c(a) && (a = a.changedTouches) && a.length && (a = a[a.length - 1], A = a.clientX, M = a.clientY)
    }

    function e() {
        if (v || z || E) Y.w.send("mouse-click", [!1, !1, !1]), v =
            z = E = !1
    }

    function f(a) {
        if (Y.w && c(a)) {
            var d = 0,
                e = 0,
                f = a.changedTouches;
            f ? f.length && (f = f[f.length - 1], d = f.clientX - A, e = f.clientY - M, A = f.clientX, M = f.clientY, a.preventDefault()) : "number" === typeof a.movementX ? (d = a.movementX, e = a.movementY) : "number" === typeof a.webkitMovementX ? (d = a.webkitMovementX, e = a.webkitMovementY) : "number" === typeof a.mozMovementX ? (d = a.mozMovementX, e = a.mozMovementY) : (d = a.clientX - A, e = a.clientY - M, A = a.clientX, M = a.clientY);
            Y.w.send("mouse-delta", [.15 * d, -(.15 * e)]);
            Y.w.send("mouse-absolute", [a.pageX -
                b.offsetLeft, a.pageY - b.offsetTop, b.offsetWidth, b.offsetHeight
            ])
        }
    }

    function h(a) {
        c(a) && p(a, !0)
    }

    function g(a) {
        c(a) && p(a, !1)
    }

    function p(a, b) {
        Y.w && (1 === a.which ? v = b : 2 === a.which ? z = b : 3 === a.which ? E = b : console.log("Unknown event.which: " + a.which), Y.w.send("mouse-click", [v, z, E]))
    }

    function r(a) {
        if (c(a)) {
            var b = a.wheelDelta || -a.detail;
            0 > b ? b = -1 : 0 < b && (b = 1);
            Y.w.send("mouse-wheel", [b, 0]);
            a.preventDefault()
        }
    }
    var v = !1,
        E = !1,
        z = !1,
        A = 0,
        M = 0,
        Y = this;
    this.enabled = !1;
    this.a = !0;
    this.w = a;
    this.w.register("mouse-enable", function(a) {
        this.enabled =
            a
    }, this);
    this.Mb = function() {
        window.removeEventListener("touchstart", d, !1);
        window.removeEventListener("touchend", e, !1);
        window.removeEventListener("touchmove", f, !1);
        window.removeEventListener("mousemove", f, !1);
        window.removeEventListener("mousedown", h, !1);
        window.removeEventListener("mouseup", g, !1);
        window.removeEventListener("DOMMouseScroll", r, !1);
        window.removeEventListener("mousewheel", r, !1)
    };
    this.Ob = function() {
        "undefined" !== typeof window && (this.Mb(), window.addEventListener("touchstart", d, !1), window.addEventListener("touchend",
            e, !1), window.addEventListener("touchmove", f, !1), window.addEventListener("mousemove", f, !1), window.addEventListener("mousedown", h, !1), window.addEventListener("mouseup", g, !1), window.addEventListener("DOMMouseScroll", r, !1), window.addEventListener("mousewheel", r, !1))
    };
    this.Ob()
};

function bi(a) {
    "undefined" !== typeof window && (window.AudioContext || window.webkitAudioContext ? (this.w = a, this.Kb = new(window.AudioContext || window.webkitAudioContext), this.a = this.Kb.createGain(), this.a.gain.setValueAtTime(0, this.Kb.currentTime), this.a.connect(this.Kb.destination), this.Zd = this.Kb.createOscillator(), this.Zd.type = "square", this.Zd.frequency.setValueAtTime(440, this.Kb.currentTime), this.Zd.connect(this.a), this.Zd.start(), this.zg = this.g = !1, this.Yd = 440, this.jh = !1, this.cg = !0, this.de = this.Kb.createScriptProcessor(2048,
        0, 2), this.de.onaudioprocess = this.i.bind(this), this.de.connect(this.Kb.destination), this.Gg = new Float32Array(this.de.bufferSize), this.Hg = new Float32Array(this.de.bufferSize), this.Ie = !0, a.register("emulator-stopped", function() {
        this.cg = !1;
        ci(this)
    }, this), a.register("emulator-started", function() {
        this.cg = !0;
        ci(this)
    }, this), a.register("pcspeaker-enable", function(a) {
        this.zg = a;
        ci(this)
    }, this), a.register("pcspeaker-update", function(a) {
        var b = a[1];
        this.jh = 3 == a[0];
        this.Yd = 1193181.6665999999 / b;
        this.Yd = Math.min(this.Yd,
            this.Zd.frequency.maxValue);
        this.Yd = Math.max(this.Yd, 0);
        ci(this)
    }, this), a.register("speaker-update-data", function(a) {
        this.Gg = a[0];
        this.Hg = a[1]
    }, this), a.register("speaker-request-samplerate", function() {
        a.send("speaker-tell-samplerate", this.Kb.sampleRate)
    }, this), a.send("speaker-tell-samplerate", this.Kb.sampleRate), a.register("speaker-update-enable", function(a) {
        this.Ie && !a ? (this.de.disconnect(this.Kb.destination), this.Ie = !1) : !this.Ie && a && (this.de.connect(this.Kb.destination), this.Ie = !0)
    }, this)) : console.warn("Web browser doesn't support Web Audio API"))
}

function ci(a) {
    var b = a.Kb.currentTime;
    a.jh && a.zg && a.cg ? (a.Zd.frequency.setValueAtTime(a.Yd, b), a.g || (a.a.gain.setValueAtTime(.05, b), a.g = !0)) : a.g && (a.a.gain.setValueAtTime(0, b), a.g = !1)
}
bi.prototype.i = function(a) {
    this.Ie && (a = a.outputBuffer, a.copyToChannel(this.Gg, 0), a.copyToChannel(this.Hg, 1), this.w.send("speaker-request-data", a.length))
};

function di(a, b) {
    function c(a) {
        h.w && h.enabled && (h.i(a.which), a.preventDefault())
    }

    function d(a) {
        var b = a.which;
        8 === b ? (h.i(127), a.preventDefault()) : 9 === b && (h.i(9), a.preventDefault())
    }

    function e(a) {
        if (h.enabled) {
            for (var b = a.clipboardData.getData("text/plain"), c = 0; c < b.length; c++) h.i(b.charCodeAt(c));
            a.preventDefault()
        }
    }

    function f(b) {
        b.target !== a && a.blur()
    }
    var h = this;
    this.enabled = !0;
    this.w = b;
    this.a = "";
    this.m = !1;
    this.l = 0;
    this.w.register("serial0-output-char", function(a) {
        this.nk(a)
    }, this);
    this.Mb = function() {
        a.removeEventListener("keypress",
            c, !1);
        a.removeEventListener("keydown", d, !1);
        a.removeEventListener("paste", e, !1);
        window.removeEventListener("mousedown", f, !1)
    };
    this.Ob = function() {
        this.Mb();
        a.addEventListener("keypress", c, !1);
        a.addEventListener("keydown", d, !1);
        a.addEventListener("paste", e, !1);
        window.addEventListener("mousedown", f, !1)
    };
    this.Ob();
    this.nk = function(a) {
        "\b" === a ? (this.a = this.a.slice(0, -1), this.v()) : "\r" !== a && (this.a += a, "\n" === a && (this.m = !0), this.v())
    };
    this.v = function() {
        var a = this,
            b = Date.now(),
            c = b - this.l;
        16 > c ? void 0 === this.g &&
            (this.g = setTimeout(function() {
                a.g = void 0;
                a.l = Date.now();
                a.C()
            }, 16 - c)) : (void 0 !== this.g && (clearTimeout(this.g), this.g = void 0), this.l = b, this.C())
    };
    this.C = function() {
        a.value = this.a;
        this.m && (this.m = !1, a.scrollTop = 1E9)
    };
    this.i = function(a) {
        h.w && h.w.send("serial0-input", a)
    }
};

function ei(a, b) {
    this.w = b;
    this.a = void 0;
    this.g = [];
    this.url = a;
    this.i = Date.now() - 1E4;
    this.w.register("net0-send", function(a) {
        this.send(a)
    }, this)
}
k = ei.prototype;
k.pi = function(a) {
    this.w && this.w.send("net0-receive", new Uint8Array(a.data))
};
k.Vg = function() {
    this.connect();
    setTimeout(this.connect.bind(this), 1E4)
};
k.ri = function() {
    for (var a = 0; a < this.g.length; a++) this.send(this.g[a]);
    this.g = []
};
k.oi = function() {};
k.Mb = function() {
    this.a && this.a.close()
};
k.connect = function() {
    if (this.a) {
        var a = this.a.readyState;
        if (0 === a || 1 === a) return
    }
    if (!(this.i + 1E4 > Date.now())) {
        this.i = Date.now();
        try {
            this.a = new WebSocket(this.url)
        } catch (b) {
            this.Vg(void 0);
            return
        }
        this.a.binaryType = "arraybuffer";
        this.a.onopen = this.ri.bind(this);
        this.a.onmessage = this.pi.bind(this);
        this.a.onclose = this.Vg.bind(this);
        this.a.onerror = this.oi.bind(this)
    }
};
k.send = function(a) {
    this.a && 1 === this.a.readyState ? this.a.send(a) : (this.g.push(a), 128 < this.g.length && (this.g = this.g.slice(-64)), this.connect())
};
(function() {
    function a(a, b) {
        var c = new XMLHttpRequest;
        c.open(b.method || "get", a, !0);
        b.De || (c.responseType = "arraybuffer");
        if (b.headers)
            for (var d = Object.keys(b.headers), e = 0; e < d.length; e++) {
                var f = d[e];
                c.setRequestHeader(f, b.headers[f])
            }
        b.re && (d = b.re.start, c.setRequestHeader("Range", "bytes=" + d + "-" + (d + b.re.length - 1)));
        c.onload = function() {
            4 === c.readyState && (200 !== c.status && 206 !== c.status ? console.error("Loading the image `" + a + "` failed (status %d)", c.status) : c.response && b.done && b.done(c.response, c))
        };
        b.sh &&
            (c.onprogress = function(a) {
                b.sh(a)
            });
        c.send(null)
    }

    function b(a, b) {
        var c = require("fs");
        b.re ? c.open(a, "r", function(a, d) {
            if (a) throw a;
            a = b.re.length;
            var e = new global.Buffer(a);
            c.read(d, e, 0, a, b.re.start, function(a) {
                if (a) throw a;
                b.done && b.done(new Uint8Array(e));
                c.close(d, function(a) {
                    if (a) throw a;
                })
            })
        }) : c.readFile(a, {
            encoding: b.De ? "utf-8" : null
        }, function(c, d) {
            c ? console.log("Could not read file:", a, c) : (c = d, b.De || (c = (new Uint8Array(c)).buffer), b.done(c))
        })
    }

    function c(a, b) {
        this.filename = a;
        this.a = 256;
        this.byteLength =
            b;
        this.g = {};
        this.onload = void 0
    }

    function d(a) {
        this.a = a;
        this.byteLength = a.size;
        1073741824 < a.size && console.warn("SyncFileBuffer: Allocating buffer of " + (a.size >> 20) + " MB ...");
        this.buffer = new ArrayBuffer(a.size);
        this.onload = void 0
    }

    function e(a) {
        this.i = a;
        this.byteLength = a.size;
        this.a = 256;
        this.g = {};
        this.onload = void 0
    }
    "undefined" === typeof XMLHttpRequest ? gb = b : gb = a;
    hb = c;
    ib = e;
    Ma = d;
    var f = "undefined" === typeof XMLHttpRequest ? function(a, b) {
        require("fs").stat(a, function(a, c) {
            a ? b(a) : b(null, c.size)
        })
    } : function(a,
        b) {
        gb(a, {
            done: function(a, c) {
                a = c.getResponseHeader("Content-Range") || "";
                (c = a.match(/\/(\d+)\s*$/)) ? b(null, +c[1]): b({
                    jg: a
                })
            },
            headers: {
                Range: "bytes=0-0"
            }
        })
    };
    c.prototype.load = function() {
        var a = this;
        void 0 !== this.byteLength ? this.onload && this.onload({}) : f(this.filename, function(b, c) {
            b ? console.assert(!1, "Cannot use: " + a.filename + ". `Range: bytes=...` header not supported (Got `" + b.jg + "`)") : (a.byteLength = c, a.onload && a.onload({}))
        })
    };
    c.prototype.i = function(a, b) {
        var c = b / this.a;
        a /= this.a;
        for (var d = 0; d < c; d++)
            if (!this.g[a +
                    d]) return;
        if (1 === c) return this.g[a];
        b = new Uint8Array(b);
        for (d = 0; d < c; d++) b.set(this.g[a + d], d * this.a);
        return b
    };
    c.prototype.get = function(a, b, c) {
        console.assert(a + b <= this.byteLength);
        console.assert(0 === a % this.a);
        console.assert(0 === b % this.a);
        console.assert(b);
        var d = this.i(a, b, c);
        d ? c(d) : gb(this.filename, {
            done: function(d) {
                d = new Uint8Array(d);
                this.l(a, b, d);
                c(d)
            }.bind(this),
            re: {
                start: a,
                length: b
            }
        })
    };
    c.prototype.set = function(a, b, c) {
        console.assert(a + b.byteLength <= this.byteLength);
        var d = b.length;
        console.assert(0 ===
            a % this.a);
        console.assert(0 === d % this.a);
        console.assert(d);
        a /= this.a;
        d /= this.a;
        for (var e = 0; e < d; e++) {
            var f = this.g[a + e];
            void 0 === f && (f = this.g[a + e] = new Uint8Array(this.a));
            var g = b.subarray(e * this.a, (e + 1) * this.a);
            f.set(g);
            console.assert(f.byteLength === g.length)
        }
        c()
    };
    c.prototype.l = function(a, b, c) {
        a /= this.a;
        b /= this.a;
        for (var d = 0; d < b; d++) {
            var e = this.g[a + d];
            e && c.set(e, d * this.a)
        }
    };
    c.prototype.Se = function(a) {
        a()
    };
    d.prototype.load = function() {
        this.g(0)
    };
    d.prototype.g = function(a) {
        var b = new FileReader;
        b.onload = function(b) {
            b =
                new Uint8Array(b.target.result);
            (new Uint8Array(this.buffer, a)).set(b);
            this.g(a + 4194304)
        }.bind(this);
        a < this.byteLength ? b.readAsArrayBuffer(this.a.slice(a, Math.min(a + 4194304, this.byteLength))) : (this.a = void 0, this.onload && this.onload({
            buffer: this.buffer
        }))
    };
    d.prototype.get = function(a, b, c) {
        console.assert(a + b <= this.byteLength);
        c(new Uint8Array(this.buffer, a, b))
    };
    d.prototype.set = function(a, b, c) {
        console.assert(a + b.byteLength <= this.byteLength);
        (new Uint8Array(this.buffer, a, b.byteLength)).set(b);
        c()
    };
    d.prototype.Se =
        function(a) {
            a(this.buffer)
        };
    e.prototype.load = function() {
        this.onload && this.onload({})
    };
    e.prototype.get = function(a, b, c) {
        console.assert(0 === a % this.a);
        console.assert(0 === b % this.a);
        console.assert(b);
        var d = this.l(a, b, c);
        d ? c(d) : (d = new FileReader, d.onload = function(d) {
            d = new Uint8Array(d.target.result);
            this.m(a, b, d);
            c(d)
        }.bind(this), d.readAsArrayBuffer(this.i.slice(a, a + b)))
    };
    e.prototype.l = c.prototype.i;
    e.prototype.set = c.prototype.set;
    e.prototype.m = c.prototype.l;
    e.prototype.Se = function(a) {
        a()
    };
    e.prototype.Tg =
        function(a) {
            for (var b = [], c = Object.keys(this.g).map(Number).sort(function(a, b) {
                    return a - b
                }), d = 0, e = 0; e < c.length; e++) {
                var f = c[e],
                    h = this.g[f];
                f *= this.a;
                console.assert(f >= d);
                f !== d && (b.push(this.i.slice(d, f)), d = f);
                b.push(h);
                d += h.length
            }
            d !== this.i.size && b.push(this.i.slice(d));
            a = new File(b, a);
            console.assert(a.size === this.i.size);
            return a
        }
})();

function l(a) {
    function b(a, b) {
        switch (a) {
            case "hda":
                g.Ma = this.kd.hda = b;
                break;
            case "hdb":
                g.zf = this.kd.hdb = b;
                break;
            case "cdrom":
                g.Qa = this.kd.cdrom = b;
                break;
            case "fda":
                g.Ra = this.kd.fda = b;
                break;
            case "fdb":
                g.Ng = this.kd.fdb = b;
                break;
            case "multiboot":
                g.oe = this.kd.multiboot = b;
                break;
            case "bios":
                g.$d = b.buffer;
                break;
            case "vga_bios":
                g.wk = b.buffer;
                break;
            case "initial_state":
                g.ke = b.buffer;
                break;
            case "fs9p_json":
                g.Rg = b.buffer
        }
    }

    function c(a, b) {
        if (b)
            if (b.get && b.set && b.load) p.push({
                name: a,
                vd: b
            });
            else {
                b = {
                    buffer: b.buffer,
                    async: b.async,
                    url: b.url,
                    size: b.size
                };
                if ("bios" === a || "vga_bios" === a || "initial_state" === a || "multiboot" === a) b.async = !1;
                b.buffer instanceof ArrayBuffer ? (b = new nb(b.buffer), p.push({
                    name: a,
                    vd: b
                })) : "undefined" !== typeof File && b.buffer instanceof File ? (void 0 === b.async && (b.async = 268435456 <= b.buffer.size), b = b.async ? new ib(b.buffer) : new Ma(b.buffer), p.push({
                    name: a,
                    vd: b
                })) : b.url && (b.async ? (b = new hb(b.url, b.size), p.push({
                    name: a,
                    vd: b
                })) : p.push({
                    name: a,
                    url: b.url,
                    size: b.size
                }))
            }
    }

    function d() {
        g.ke && (g.Ia = 0);
        this.w.send("cpu-init",
            g);
        setTimeout(function() {
            g.ke && h.Hd(g.ke);
            setTimeout(function() {
                g.Pc && g.Rg && Oh(g.Pc, g.Rg);
                a.autostart && this.w.send("cpu-run")
            }.bind(this), 0)
        }.bind(this), 0)
    }
    this.Ge = !1;
    var e = Vd(),
        f = this.w = e[0];
    this.l = e[1];
    var h = this.a = new Ya(this.l);
    this.w.register("emulator-stopped", function() {
        this.Ge = !1
    }, this);
    this.w.register("emulator-started", function() {
        this.Ge = !0
    }, this);
    var g = {};
    this.kd = {
        fda: void 0,
        fdb: void 0,
        hda: void 0,
        hdb: void 0,
        cdrom: void 0
    };
    g.yi = !0;
    g.Ia = a.memory_size || 67108864;
    g.Ja = a.vga_memory_size || 8388608;
    g.ae = a.boot_order || 531;
    g.ji = a.fastboot || !1;
    g.Ra = void 0;
    g.Ng = void 0;
    a.network_relay_url && (new ei(a.network_relay_url, f), g.hi = !0);
    a.disable_keyboard || (this.i = new $h(f));
    a.disable_mouse || (this.m = new ai(f, a.screen_container));
    a.screen_container ? this.g = new Ka(a.screen_container, f) : a.screen_dummy && (this.g = new fi(f));
    a.serial_container && new di(a.serial_container, f);
    a.disable_speaker || new bi(f);
    var p = [];
    e = "bios vga_bios cdrom hda hdb fda fdb initial_state multiboot".split(" ");
    for (f = 0; f < e.length; f++) c(e[f],
        a[e[f]]);
    if (a.filesystem && (e = a.filesystem.basefs, f = a.filesystem.baseurl, this.Pc = new Mh(f), g.Pc = this.Pc, e)) {
        console.assert(f, "Filesystem: baseurl must be specified");
        if ("object" === typeof e) {
            var r = e.size;
            e = e.url
        }
        p.push({
            name: "fs9p_json",
            url: e,
            size: r,
            De: !0
        })
    }
    var v = this,
        E = p.length,
        z = function(a) {
            if (a === E) setTimeout(d.bind(this), 0);
            else {
                var c = p[a];
                c.vd ? (c.vd.onload = function() {
                    b.call(this, c.name, c.vd);
                    z(a + 1)
                }.bind(this), c.vd.load()) : gb(c.url, {
                    done: function(d) {
                        b.call(this, c.name, new nb(d));
                        z(a + 1)
                    }.bind(this),
                    sh: function(b) {
                        200 === b.target.status ? v.l.send("download-progress", {
                            vf: a,
                            uf: E,
                            Qg: c.url,
                            lengthComputable: b.lengthComputable,
                            total: b.total || c.size,
                            loaded: b.loaded
                        }) : v.l.send("download-error", {
                            vf: a,
                            uf: E,
                            Qg: c.url,
                            request: b.target
                        })
                    },
                    De: c.De
                })
            }
        }.bind(this);
    z(0)
}
l.prototype.cf = function() {
    this.w.send("cpu-run")
};
l.prototype.run = l.prototype.cf;
l.prototype.stop = function() {
    this.w.send("cpu-stop")
};
l.prototype.stop = l.prototype.stop;
l.prototype.Mb = function() {
    this.i.Mb()
};
l.prototype.destroy = l.prototype.Mb;
l.prototype.Sf = function() {
    this.w.send("cpu-restart")
};
l.prototype.restart = l.prototype.Sf;
l.prototype.$a = function(a, b) {
    this.w.register(a, b, this)
};
l.prototype.add_listener = l.prototype.$a;
l.prototype.ik = function(a, b) {
    this.w.unregister(a, b)
};
l.prototype.remove_listener = l.prototype.ik;
l.prototype.Hd = function(a) {
    this.a.Hd(a)
};
l.prototype.restore_state = l.prototype.Hd;
l.prototype.we = function(a) {
    setTimeout(function() {
        try {
            a(null, this.a.we())
        } catch (b) {
            a(b, null)
        }
    }.bind(this), 0)
};
l.prototype.save_state = l.prototype.we;
l.prototype.ni = function() {
    console.warn("V86Starter.prototype.get_statistics is deprecated. Use events instead.");
    var a = {
        j: {
            Ok: this.ig()
        }
    };
    if (!this.a) return a;
    var b = this.a.j.G;
    b.Ma && (a.Ma = b.Ma.Oa);
    b.Qa && (a.Qa = b.Qa.Oa);
    b.Of && (a.mouse = {
        enabled: b.Of.ed
    });
    b.Pd && (a.vga = {
        is_graphical: b.Pd.Oa.lg
    });
    return a
};
l.prototype.get_statistics = l.prototype.ni;
l.prototype.ig = function() {
    return this.a ? this.a.j.Y : 0
};
l.prototype.get_instruction_counter = l.prototype.ig;
l.prototype.vi = function() {
    return this.Ge
};
l.prototype.is_running = l.prototype.vi;
l.prototype.Cf = function(a) {
    for (var b = 0; b < a.length; b++) this.w.send("keyboard-code", a[b])
};
l.prototype.keyboard_send_scancodes = l.prototype.Cf;
l.prototype.wi = function(a) {
    for (var b = 0; b < a.length; b++) this.i.a(a[b])
};
l.prototype.keyboard_send_keys = l.prototype.wi;
l.prototype.Xg = function(a) {
    for (var b = 0; b < a.length; b++) this.i.i(a[b])
};
l.prototype.keyboard_send_text = l.prototype.Xg;
l.prototype.Ch = function() {
    this.g && this.g.i()
};
l.prototype.screen_make_screenshot = l.prototype.Ch;
l.prototype.Dh = function(a, b) {
    this.g && this.g.a(a, b)
};
l.prototype.screen_set_scale = l.prototype.Dh;
l.prototype.Bh = function() {
    if (this.g) {
        var a = document.getElementById("screen_container");
        if (a) {
            var b = a.requestFullScreen || a.webkitRequestFullscreen || a.mozRequestFullScreen || a.msRequestFullScreen;
            b && (b.call(a), (a = document.getElementsByClassName("phone_keyboard")[0]) && a.focus());
            this.Df()
        }
    }
};
l.prototype.screen_go_fullscreen = l.prototype.Bh;
l.prototype.Df = function() {
    var a = document.body,
        b = a.requestPointerLock || a.mozRequestPointerLock || a.webkitRequestPointerLock;
    b && b.call(a)
};
l.prototype.lock_mouse = l.prototype.Df;
l.prototype.xi = function(a) {
    this.i && (this.i.g = a)
};
l.prototype.keyboard_set_status = l.prototype.xi;
l.prototype.lk = function(a) {
    for (var b = 0; b < a.length; b++) this.w.send("serial0-input", a.charCodeAt(b))
};
l.prototype.serial0_send = l.prototype.lk;
l.prototype.Eg = function(a, b, c) {
    var d = this.Pc;
    if (d) {
        var e = a.split("/");
        e = e[e.length - 1];
        a = Xh(d, a).va;
        var f = "" === e || -1 === a;
        f || Uh(d, e, a, b);
        c && setTimeout(function() {
            f ? c(new gi) : c(null)
        }, 0)
    }
};
l.prototype.create_file = l.prototype.Eg;
l.prototype.vh = function(a, b) {
    var c = this.Pc;
    if (c) {
        var d = Xh(c, a).id; - 1 === d ? b(new gi, null) : (ta(c, d), ua(c, d, function() {
            var a = c.g[d];
            a ? b(null, a.subarray(0, c.a[d].size)) : b(new gi, null)
        }))
    }
};
l.prototype.read_file = l.prototype.vh;

function gi() {
    this.message = "File not found"
}
gi.prototype = Error.prototype;
"undefined" !== typeof window ? (window.V86Starter = l, window.V86 = l) : "undefined" !== typeof module && "undefined" !== typeof module.exports ? (module.exports.V86Starter = l, module.exports.V86 = l) : "function" === typeof importScripts && (self.V86Starter = l, self.V86 = l);

function fi(a) {
    var b, c, d, e, f, h, g;
    this.w = a;
    a.register("screen-set-mode", function(a) {
        this.wg(a)
    }, this);
    a.register("screen-fill-buffer-end", function(a) {
        this.yg(a[0])
    }, this);
    a.register("screen-put-char", function(a) {
        this.qg(a[0], a[1], a[2], a[3], a[4])
    }, this);
    a.register("screen-text-scroll", function(a) {
        console.log("scroll", a)
    }, this);
    a.register("screen-update-cursor", function(a) {
        this.Nd(a[0], a[1])
    }, this);
    a.register("screen-update-cursor-scanline", function(a) {
        this.Od(a[0], a[1])
    }, this);
    a.register("screen-set-size-text",
        function(a) {
            this.Jd(a[0], a[1])
        }, this);
    a.register("screen-set-size-graphical", function(a) {
        this.Id(a[0], a[1])
    }, this);
    this.qg = function(a, b, c, d, e) {
        a < g && b < h && (a = 3 * (a * h + b), f[a] = c, f[a + 1] = d, f[a + 2] = e)
    };
    this.Mb = function() {};
    this.wg = function() {};
    this.Dg = function() {};
    this.Jd = function(a, b) {
        if (a !== h || b !== g) f = new Int32Array(a * b * 3), h = a, g = b
    };
    this.Id = function(a, d) {
        b = new Uint8Array(4 * a * d);
        c = new Int32Array(b.buffer);
        this.w.send("screen-tell-buffer", [c], [c.buffer])
    };
    this.a = function() {};
    this.Od = function() {};
    this.Nd = function(a,
        b) {
        if (a !== d || b !== e) d = a, e = b
    };
    this.yg = function() {}
};
//# sourceMappingURL=v86_all.js.map