text:
0) {
                    c[e >> 2] = k + 1;
                    m = a + 344 | 0;
                    l = m;
                    l = Za(c[l >> 2] | 0, c[l + 4 >> 2] | 0, 1, 0) | 0;
                    c[m >> 2] = l;
                    c[m + 4 >> 2] = D;
                    m = -1;
                    i = f;
                    return m | 0
                }
                g = (b | 0) != 0;
                d = (d | 0) == 0;
                if (d & (g ^ 1)) {
                    m = 1;
                    i = f;
                    return m | 0
                }
                l = h & 255;
                m = h & 512;
                h = h & 256;
                if ((l | 0) == 255) {
                    l = 255;
                    do {
                        k = k + 1 | 0;
                        o = c[j + (k << 2) >> 2] | 0;
                        n = o & 255;
                        m = (o & 512 | 0) == 0 ? m : 512;
                        l = n + l | 0
                    } while ((n | 0) == 255)
                }
                if (g) {
                    c[b + 12 >> 2] = m;
                    c[b + 8 >> 2] = h;
                    c[b >> 2] = (c[a >> 2] | 0) + (c[a + 12 >> 2] | 0);
                    o = a + 344 | 0;
                    n = c[o + 4 >> 2] | 0;
                    m = b + 24 | 0;
                    c[m >> 2] = c[o >> 2];
                    c[m + 4 >> 2] = n;
                    m = (c[a + 20 >> 2] | 0) + (k << 3) | 0;
                    n = c[m + 4 >> 2] | 0;
                    o = b + 16 | 0;
                    c[o >> 2] = c[m >> 2];
                    c[o + 4 >> 2] = n;
                    c[b + 4 >> 2] = l
                }
                if (d) {
                    o = 1;
                    i = f;
                    return o | 0
                }
                o = a + 12 | 0;
                c[o >> 2] = (c[o >> 2] | 0) + l;
                c[e >> 2] = k + 1;
                o = a + 344 | 0;
                n = o;
                n = Za(c[n >> 2] | 0, c[n + 4 >> 2] | 0, 1, 0) | 0;
                c[o >> 2] = n;
                c[o + 4 >> 2] = D;
                o = 1;
                i = f;
                return o | 0
            }

            function Na() {
                var a = 0, b = 0;
                b = i;
                a = Sa(1, 440) | 0;
                if ((Ea(a) | 0) == 0) {
                    i = b;
                    return a | 0
                } else {
                    oa(1040, 1072, 17, 1088)
                }
                return 0
            }

            function Oa(a, b, d, e) {
                a = a | 0;
                b = b | 0;
                d = d | 0;
                e = e | 0;
                var f = 0, g = 0, h = 0, j = 0;
                f = i;
                _a(Ga(a, d) | 0, b | 0, d | 0) | 0;
                if ((Ha(a, d) | 0) != 0) {
                    oa(1104, 1072, 25, 1144)
                }
                g = a + 28 | 0;
                if ((Ja(a, g) | 0) != 1) {
                    i = f;
                    return 0
                }
                d = a + 48 | 0;
                h = a + 408 | 0;
                j = a + 412 | 0;
                while (1) {
                    b = Ba(g) | 0;
                    if ((Aa(g) | 0) != 0 ? (Ca(d, b) | 0) != 0 : 0) {
                        e = 8;
                        break
                    }
                    if ((Ka(d, g) | 0) != 0) {
                        e = 11;
                        break
                    }
                    if ((La(d, h) | 0) == 1) {
                        do {
                            ra[e & 127](c[h >> 2] | 0, c[j >> 2] | 0)
                        } while ((La(d, h) | 0) == 1)
                    }
                    if ((Ja(a, g) | 0) != 1) {
                        e = 13;
                        break
                    }
                }
                if ((e | 0) == 8) {
                    oa(1160, 1072, 32, 1144)
                } else if ((e | 0) == 11) {
                    oa(1200, 1072, 34, 1144)
                } else if ((e | 0) == 13) {
                    i = f;
                    return 0
                }
                return 0
            }

            function Pa(a) {
                a = a | 0;
                var b = 0;
                b = i;
                Fa(a) | 0;
                Ra(a);
                i = b;
                return
            }

            function Qa(a) {
                a = a | 0;
                var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0;
                b = i;
                do {
                    if (a >>> 0 < 245) {
                        if (a >>> 0 < 11) {
                            a = 16
                        } else {
                            a = a + 11 & -8
                        }
                        v = a >>> 3;
                        p = c[312] | 0;
                        w = p >>> v;
                        if ((w & 3 | 0) != 0) {
                            h = (w & 1 ^ 1) + v | 0;
                            g = h << 1;
                            e = 1288 + (g << 2) | 0;
                            g = 1288 + (g + 2 << 2) | 0;
                            j = c[g >> 2] | 0;
                            d = j + 8 | 0;
                            f = c[d >> 2] | 0;
                            do {
                                if ((e | 0) != (f | 0)) {
                                    if (f >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                        ja()
                                    }
                                    k = f + 12 | 0;
                                    if ((c[k >> 2] | 0) == (j | 0)) {
                                        c[k >> 2] = e;
                                        c[g >> 2] = f;
                                        break
                                    } else {
                                        ja()
                                    }
                                } else {
                                    c[312] = p & ~(1 << h)
                                }
                            } while (0);
                            H = h << 3;
                            c[j + 4 >> 2] = H | 3;
                            H = j + (H | 4) | 0;
                            c[H >> 2] = c[H >> 2] | 1;
                            H = d;
                            i = b;
                            return H | 0
                        }
                        if (a >>> 0 > (c[1256 >> 2] | 0) >>> 0) {
                            if ((w | 0) != 0) {
                                h = 2 << v;
                                h = w << v & (h | 0 - h);
                                h = (h & 0 - h) + -1 | 0;
                                d = h >>> 12 & 16;
                                h = h >>> d;
                                f = h >>> 5 & 8;
                                h = h >>> f;
                                g = h >>> 2 & 4;
                                h = h >>> g;
                                e = h >>> 1 & 2;
                                h = h >>> e;
                                j = h >>> 1 & 1;
                                j = (f | d | g | e | j) + (h >>> j) | 0;
                                h = j << 1;
                                e = 1288 + (h << 2) | 0;
                                h = 1288 + (h + 2 << 2) | 0;
                                g = c[h >> 2] | 0;
                                d = g + 8 | 0;
                                f = c[d >> 2] | 0;
                                do {
                                    if ((e | 0) != (f | 0)) {
                                        if (f >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                            ja()
                                        }
                                        k = f + 12 | 0;
                                        if ((c[k >> 2] | 0) == (g | 0)) {
                                            c[k >> 2] = e;
                                            c[h >> 2] = f;
                                            break
                                        } else {
                                            ja()
                                        }
                                    } else {
                                        c[312] = p & ~(1 << j)
                                    }
                                } while (0);
                                h = j << 3;
                                f = h - a | 0;
                                c[g + 4 >> 2] = a | 3;
                                e = g + a | 0;
                                c[g + (a | 4) >> 2] = f | 1;
                                c[g + h >> 2] = f;
                                h = c[1256 >> 2] | 0;
                                if ((h | 0) != 0) {
                                    g = c[1268 >> 2] | 0;
                                    k = h >>> 3;
                                    j = k << 1;
                                    h = 1288 + (j << 2) | 0;
                                    l = c[312] | 0;
                                    k = 1 << k;
                                    if ((l & k | 0) != 0) {
                                        j = 1288 + (j + 2 << 2) | 0;
                                        k = c[j >> 2] | 0;
                                        if (k >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                            ja()
                                        } else {
                                            D = j;
                                            C = k
                                        }
                                    } else {
                                        c[312] = l | k;
                                        D = 1288 + (j + 2 << 2) | 0;
                                        C = h
                                    }
                                    c[D >> 2] = g;
                                    c[C + 12 >> 2] = g;
                                    c[g + 8 >> 2] = C;
                                    c[g + 12 >> 2] = h
                                }
                                c[1256 >> 2] = f;
                                c[1268 >> 2] = e;
                                H = d;
                                i = b;
                                return H | 0
                            }
                            p = c[1252 >> 2] | 0;
                            if ((p | 0) != 0) {
                                e = (p & 0 - p) + -1 | 0;
                                G = e >>> 12 & 16;
                                e = e >>> G;
                                F = e >>> 5 & 8;
                                e = e >>> F;
                                H = e >>> 2 & 4;
                                e = e >>> H;
                                f = e >>> 1 & 2;
                                e = e >>> f;
                                d = e >>> 1 & 1;
                                d = c[1552 + ((F | G | H | f | d) + (e >>> d) << 2) >> 2] | 0;
                                e = (c[d + 4 >> 2] & -8) - a | 0;
                                f = d;
                                while (1) {
                                    g = c[f + 16 >> 2] | 0;
                                    if ((g | 0) == 0) {
                                        g = c[f + 20 >> 2] | 0;
                                        if ((g | 0) == 0) {
                                            break
                                        }
                                    }
                                    f = (c[g + 4 >> 2] & -8) - a | 0;
                                    H = f >>> 0 < e >>> 0;
                                    e = H ? f : e;
                                    f = g;
                                    d = H ? g : d
                                }
                                h = c[1264 >> 2] | 0;
                                if (d >>> 0 < h >>> 0) {
                                    ja()
                                }
                                f = d + a | 0;
                                if (!(d >>> 0 < f >>> 0)) {
                                    ja()
                                }
                                g = c[d + 24 >> 2] | 0;
                                k = c[d + 12 >> 2] | 0;
                                do {
                                    if ((k | 0) == (d | 0)) {
                                        k = d + 20 | 0;
                                        j = c[k >> 2] | 0;
                                        if ((j | 0) == 0) {
                                            k = d + 16 | 0;
                                            j = c[k >> 2] | 0;
                                            if ((j | 0) == 0) {
                                                B = 0;
                                                break
                                            }
                                        }
                                        while (1) {
                                            l = j + 20 | 0;
                                            m = c[l >> 2] | 0;
                                            if ((m | 0) != 0) {
                                                j = m;
                                                k = l;
                                                continue
                                            }
                                            m = j + 16 | 0;
                                            l = c[m >> 2] | 0;
                                            if ((l | 0) == 0) {
                                                break
                                            } else {
                                                j = l;
                                                k = m
                                            }
                                        }
                                        if (k >>> 0 < h >>> 0) {
                                            ja()
                                        } else {
                                            c[k >> 2] = 0;
                                            B = j;
                                            break
                                        }
                                    } else {
                                        j = c[d + 8 >> 2] | 0;
                                        if (j >>> 0 < h >>> 0) {
                                            ja()
                                        }
                                        h = j + 12 | 0;
                                        if ((c[h >> 2] | 0) != (d | 0)) {
                                            ja()
                                        }
                                        l = k + 8 | 0;
                                        if ((c[l >> 2] | 0) == (d | 0)) {
                                            c[h >> 2] = k;
                                            c[l >> 2] = j;
                                            B = k;
                                            break
                                        } else {
                                            ja()
                                        }
                                    }
                                } while (0);
                                do {
                                    if ((g | 0) != 0) {
                                        h = c[d + 28 >> 2] | 0;
                                        j = 1552 + (h << 2) | 0;
                                        if ((d | 0) == (c[j >> 2] | 0)) {
                                            c[j >> 2] = B;
                                            if ((B | 0) == 0) {
                                                c[1252 >> 2] = c[1252 >> 2] & ~(1 << h);
                                                break
                                            }
                                        } else {
                                            if (g >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                                ja()
                                            }
                                            h = g + 16 | 0;
                                            if ((c[h >> 2] | 0) == (d | 0)) {
                                                c[h >> 2] = B
                                            } else {
                                                c[g + 20 >> 2] = B
                                            }
                                            if ((B | 0) == 0) {
                                                break
                                            }
                                        }
                                        if (B >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                            ja()
                                        }
                                        c[B + 24 >> 2] = g;
                                        g = c[d + 16 >> 2] | 0;
                                        do {
                                            if ((g | 0) != 0) {
                                                if (g >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                                    ja()
                                                } else {
                                                    c[B + 16 >> 2] = g;
                                                    c[g + 24 >> 2] = B;
                                                    break
                                                }
                                            }
                                        } while (0);
                                        g = c[d + 20 >> 2] | 0;
                                        if ((g | 0) != 0) {
                                            if (g >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                                ja()
                                            } else {
                                                c[B + 20 >> 2] = g;
                                                c[g + 24 >> 2] = B;
                                                break
                                            }
                                        }
                                    }
                                } while (0);
                                if (e >>> 0 < 16) {
                                    H = e + a | 0;
                                    c[d + 4 >> 2] = H | 3;
                                    H = d + (H + 4) | 0;
                                    c[H >> 2] = c[H >> 2] | 1
                                } else {
                                    c[d + 4 >> 2] = a | 3;
                                    c[d + (a | 4) >> 2] = e | 1;
                                    c[d + (e + a) >> 2] = e;
                                    h = c[1256 >> 2] | 0;
                                    if ((h | 0) != 0) {
                                        g = c[1268 >> 2] | 0;
                                        l = h >>> 3;
                                        j = l << 1;
                                        h = 1288 + (j << 2) | 0;
                                        k = c[312] | 0;
                                        l = 1 << l;
                                        if ((k & l | 0) != 0) {
                                            j = 1288 + (j + 2 << 2) | 0;
                                            k = c[j >> 2] | 0;
                                            if (k >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                                ja()
                                            } else {
                                                A = j;
                                                z = k
                                            }
                                        } else {
                                            c[312] = k | l;
                                            A = 1288 + (j + 2 << 2) | 0;
                                            z = h
                                        }
                                        c[A >> 2] = g;
                                        c[z + 12 >> 2] = g;
                                        c[g + 8 >> 2] = z;
                                        c[g + 12 >> 2] = h
                                    }
                                    c[1256 >> 2] = e;
                                    c[1268 >> 2] = f
                                }
                                H = d + 8 | 0;
                                i = b;
                                return H | 0
                            }
                        }
                    } else {
                        if (!(a >>> 0 > 4294967231)) {
                            z = a + 11 | 0;
                            a = z & -8;
                            B = c[1252 >> 2] | 0;
                            if ((B | 0) != 0) {
                                A = 0 - a | 0;
                                z = z >>> 8;
                                if ((z | 0) != 0) {
                                    if (a >>> 0 > 16777215) {
                                        C = 31
                                    } else {
                                        G = (z + 1048320 | 0) >>> 16 & 8;
                                        H = z << G;
                                        F = (H + 520192 | 0) >>> 16 & 4;
                                        H = H << F;
                                        C = (H + 245760 | 0) >>> 16 & 2;
                                        C = 14 - (F | G | C) + (H << C >>> 15) | 0;
                                        C = a >>> (C + 7 | 0) & 1 | C << 1
                                    }
                                } else {
                                    C = 0
                                }
                                D = c[1552 + (C << 2) >> 2] | 0;
                                a:do {
                                    if ((D | 0) == 0) {
                                        F = 0;
                                        z = 0
                                    } else {
                                        if ((C | 0) == 31) {
                                            z = 0
                                        } else {
                                            z = 25 - (C >>> 1) | 0
                                        }
                                        F = 0;
                                        E = a << z;
                                        z = 0;
                                        while (1) {
                                            H = c[D + 4 >> 2] & -8;
                                            G = H - a | 0;
                                            if (G >>> 0 < A >>> 0) {
                                                if ((H | 0) == (a | 0)) {
                                                    A = G;
                                                    F = D;
                                                    z = D;
                                                    break a
                                                } else {
                                                    A = G;
                                                    z = D
                                                }
                                            }
                                            H = c[D + 20 >> 2] | 0;
                                            D = c[D + (E >>> 31 << 2) + 16 >> 2] | 0;
                                            F = (H | 0) == 0 | (H | 0) == (D | 0) ? F : H;
                                            if ((D | 0) == 0) {
                                                break
                                            } else {
                                                E = E << 1
                                            }
                                        }
                                    }
                                } while (0);
                                if ((F | 0) == 0 & (z | 0) == 0) {
                                    H = 2 << C;
                                    B = B & (H | 0 - H);
                                    if ((B | 0) == 0) {
                                        break
                                    }
                                    H = (B & 0 - B) + -1 | 0;
                                    D = H >>> 12 & 16;
                                    H = H >>> D;
                                    C = H >>> 5 & 8;
                                    H = H >>> C;
                                    E = H >>> 2 & 4;
                                    H = H >>> E;
                                    G = H >>> 1 & 2;
                                    H = H >>> G;
                                    F = H >>> 1 & 1;
                                    F = c[1552 + ((C | D | E | G | F) + (H >>> F) << 2) >> 2] | 0
                                }
                                if ((F | 0) != 0) {
                                    while (1) {
                                        H = (c[F + 4 >> 2] & -8) - a | 0;
                                        B = H >>> 0 < A >>> 0;
                                        A = B ? H : A;
                                        z = B ? F : z;
                                        B = c[F + 16 >> 2] | 0;
                                        if ((B | 0) != 0) {
                                            F = B;
                                            continue
                                        }
                                        F = c[F + 20 >> 2] | 0;
                                        if ((F | 0) == 0) {
                                            break
                                        }
                                    }
                                }
                                if ((z | 0) != 0 ? A >>> 0 < ((c[1256 >> 2] | 0) - a | 0) >>> 0 : 0) {
                                    f = c[1264 >> 2] | 0;
                                    if (z >>> 0 < f >>> 0) {
                                        ja()
                                    }
                                    d = z + a | 0;
                                    if (!(z >>> 0 < d >>> 0)) {
                                        ja()
                                    }
                                    e = c[z + 24 >> 2] | 0;
                                    h = c[z + 12 >> 2] | 0;
                                    do {
                                        if ((h | 0) == (z | 0)) {
                                            h = z + 20 | 0;
                                            g = c[h >> 2] | 0;
                                            if ((g | 0) == 0) {
                                                h = z + 16 | 0;
                                                g = c[h >> 2] | 0;
                                                if ((g | 0) == 0) {
                                                    x = 0;
                                                    break
                                                }
                                            }
                                            while (1) {
                                                j = g + 20 | 0;
                                                k = c[j >> 2] | 0;
                                                if ((k | 0) != 0) {
                                                    g = k;
                                                    h = j;
                                                    continue
                                                }
                                                j = g + 16 | 0;
                                                k = c[j >> 2] | 0;
                                                if ((k | 0) == 0) {
                                                    break
                                                } else {
                                                    g = k;
                                                    h = j
                                                }
                                            }
                                            if (h >>> 0 < f >>> 0) {
                                                ja()
                                            } else {
                                                c[h >> 2] = 0;
                                                x = g;
                                                break
                                            }
                                        } else {
                                            g = c[z + 8 >> 2] | 0;
                                            if (g >>> 0 < f >>> 0) {
                                                ja()
                                            }
                                            f = g + 12 | 0;
                                            if ((c[f >> 2] | 0) != (z | 0)) {
                                                ja()
                                            }
                                            j = h + 8 | 0;
                                            if ((c[j >> 2] | 0) == (z | 0)) {
                                                c[f >> 2] = h;
                                                c[j >> 2] = g;
                                                x = h;
                                                break
                                            } else {
                                                ja()
                                            }
                                        }
                                    } while (0);
                                    do {
                                        if ((e | 0) != 0) {
                                            g = c[z + 28 >> 2] | 0;
                                            f = 1552 + (g << 2) | 0;
                                            if ((z | 0) == (c[f >> 2] | 0)) {
                                                c[f >> 2] = x;
                                                if ((x | 0) == 0) {
                                                    c[1252 >> 2] = c[1252 >> 2] & ~(1 << g);
                                                    break
                                                }
                                            } else {
                                                if (e >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                                    ja()
                                                }
                                                f = e + 16 | 0;
                                                if ((c[f >> 2] | 0) == (z | 0)) {
                                                    c[f >> 2] = x
                                                } else {
                                                    c[e + 20 >> 2] = x
                                                }
                                                if ((x | 0) == 0) {
                                                    break
                                                }
                                            }
                                            if (x >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                                ja()
                                            }
                                            c[x + 24 >> 2] = e;
                                            e = c[z + 16 >> 2] | 0;
                                            do {
                                                if ((e | 0) != 0) {
                                                    if (e >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                                        ja()
                                                    } else {
                                                        c[x + 16 >> 2] = e;
                                                        c[e + 24 >> 2] = x;
                                                        break
                                                    }
                                                }
                                            } while (0);
                                            e = c[z + 20 >> 2] | 0;
                                            if ((e | 0) != 0) {
                                                if (e >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                                    ja()
                                                } else {
                                                    c[x + 20 >> 2] = e;
                                                    c[e + 24 >> 2] = x;
                                                    break
                                                }
                                            }
                                        }
                                    } while (0);
                                    b:do {
                                        if (!(A >>> 0 < 16)) {
                                            c[z + 4 >> 2] = a | 3;
                                            c[z + (a | 4) >> 2] = A | 1;
                                            c[z + (A + a) >> 2] = A;
                                            f = A >>> 3;
                                            if (A >>> 0 < 256) {
                                                h = f << 1;
                                                e = 1288 + (h << 2) | 0;
                                                g = c[312] | 0;
                                                f = 1 << f;
                                                do {
                                                    if ((g & f | 0) == 0) {
                                                        c[312] = g | f;
                                                        w = 1288 + (h + 2 << 2) | 0;
                                                        v = e
                                                    } else {
                                                        f = 1288 + (h + 2 << 2) | 0;
                                                        g = c[f >> 2] | 0;
                                                        if (!(g >>> 0 < (c[1264 >> 2] | 0) >>> 0)) {
                                                            w = f;
                                                            v = g;
                                                            break
                                                        }
                                                        ja()
                                                    }
                                                } while (0);
                                                c[w >> 2] = d;
                                                c[v + 12 >> 2] = d;
                                                c[z + (a + 8) >> 2] = v;
                                                c[z + (a + 12) >> 2] = e;
                                                break
                                            }
                                            e = A >>> 8;
                                            if ((e | 0) != 0) {
                                                if (A >>> 0 > 16777215) {
                                                    e = 31
                                                } else {
                                                    G = (e + 1048320 | 0) >>> 16 & 8;
                                                    H = e << G;
                                                    F = (H + 520192 | 0) >>> 16 & 4;
                                                    H = H << F;
                                                    e = (H + 245760 | 0) >>> 16 & 2;
                                                    e = 14 - (F | G | e) + (H << e >>> 15) | 0;
                                                    e = A >>> (e + 7 | 0) & 1 | e << 1
                                                }
                                            } else {
                                                e = 0
                                            }
                                            f = 1552 + (e << 2) | 0;
                                            c[z + (a + 28) >> 2] = e;
                                            c[z + (a + 20) >> 2] = 0;
                                            c[z + (a + 16) >> 2] = 0;
                                            h = c[1252 >> 2] | 0;
                                            g = 1 << e;
                                            if ((h & g | 0) == 0) {
                                                c[1252 >> 2] = h | g;
                                                c[f >> 2] = d;
                                                c[z + (a + 24) >> 2] = f;
                                                c[z + (a + 12) >> 2] = d;
                                                c[z + (a + 8) >> 2] = d;
                                                break
                                            }
                                            f = c[f >> 2] | 0;
                                            if ((e | 0) == 31) {
                                                e = 0
                                            } else {
                                                e = 25 - (e >>> 1) | 0
                                            }
                                            c:do {
                                                if ((c[f + 4 >> 2] & -8 | 0) != (A | 0)) {
                                                    e = A << e;
                                                    while (1) {
                                                        g = f + (e >>> 31 << 2) + 16 | 0;
                                                        h = c[g >> 2] | 0;
                                                        if ((h | 0) == 0) {
                                                            break
                                                        }
                                                        if ((c[h + 4 >> 2] & -8 | 0) == (A | 0)) {
                                                            p = h;
                                                            break c
                                                        } else {
                                                            e = e << 1;
                                                            f = h
                                                        }
                                                    }
                                                    if (g >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                                        ja()
                                                    } else {
                                                        c[g >> 2] = d;
                                                        c[z + (a + 24) >> 2] = f;
                                                        c[z + (a + 12) >> 2] = d;
                                                        c[z + (a + 8) >> 2] = d;
                                                        break b
                                                    }
                                                } else {
                                                    p = f
                                                }
                                            } while (0);
                                            f = p + 8 | 0;
                                            e = c[f >> 2] | 0;
                                            g = c[1264 >> 2] | 0;
                                            if (p >>> 0 < g >>> 0) {
                                                ja()
                                            }
                                            if (e >>> 0 < g >>> 0) {
                                                ja()
                                            } else {
                                                c[e + 12 >> 2] = d;
                                                c[f >> 2] = d;
                                                c[z + (a + 8) >> 2] = e;
                                                c[z + (a + 12) >> 2] = p;
                                                c[z + (a + 24) >> 2] = 0;
                                                break
                                            }
                                        } else {
                                            H = A + a | 0;
                                            c[z + 4 >> 2] = H | 3;
                                            H = z + (H + 4) | 0;
                                            c[H >> 2] = c[H >> 2] | 1
                                        }
                                    } while (0);
                                    H = z + 8 | 0;
                                    i = b;
                                    return H | 0
                                }
                            }
                        } else {
                            a = -1
                        }
                    }
                } while (0);
                p = c[1256 >> 2] | 0;
                if (!(a >>> 0 > p >>> 0)) {
                    e = p - a | 0;
                    d = c[1268 >> 2] | 0;
                    if (e >>> 0 > 15) {
                        c[1268 >> 2] = d + a;
                        c[1256 >> 2] = e;
                        c[d + (a + 4) >> 2] = e | 1;
                        c[d + p >> 2] = e;
                        c[d + 4 >> 2] = a | 3
                    } else {
                        c[1256 >> 2] = 0;
                        c[1268 >> 2] = 0;
                        c[d + 4 >> 2] = p | 3;
                        H = d + (p + 4) | 0;
                        c[H >> 2] = c[H >> 2] | 1
                    }
                    H = d + 8 | 0;
                    i = b;
                    return H | 0
                }
                p = c[1260 >> 2] | 0;
                if (a >>> 0 < p >>> 0) {
                    G = p - a | 0;
                    c[1260 >> 2] = G;
                    H = c[1272 >> 2] | 0;
                    c[1272 >> 2] = H + a;
                    c[H + (a + 4) >> 2] = G | 1;
                    c[H + 4 >> 2] = a | 3;
                    H = H + 8 | 0;
                    i = b;
                    return H | 0
                }
                do {
                    if ((c[430] | 0) == 0) {
                        p = ia(30) | 0;
                        if ((p + -1 & p | 0) == 0) {
                            c[1728 >> 2] = p;
                            c[1724 >> 2] = p;
                            c[1732 >> 2] = -1;
                            c[1736 >> 2] = -1;
                            c[1740 >> 2] = 0;
                            c[1692 >> 2] = 0;
                            c[430] = (ma(0) | 0) & -16 ^ 1431655768;
                            break
                        } else {
                            ja()
                        }
                    }
                } while (0);
                w = a + 48 | 0;
                p = c[1728 >> 2] | 0;
                x = a + 47 | 0;
                z = p + x | 0;
                p = 0 - p | 0;
                v = z & p;
                if (!(v >>> 0 > a >>> 0)) {
                    H = 0;
                    i = b;
                    return H | 0
                }
                A = c[1688 >> 2] | 0;
                if ((A | 0) != 0 ? (G = c[1680 >> 2] | 0, H = G + v | 0, H >>> 0 <= G >>> 0 | H >>> 0 > A >>> 0) : 0) {
                    H = 0;
                    i = b;
                    return H | 0
                }
                d:do {
                    if ((c[1692 >> 2] & 4 | 0) == 0) {
                        B = c[1272 >> 2] | 0;
                        e:do {
                            if ((B | 0) != 0) {
                                A = 1696 | 0;
                                while (1) {
                                    C = c[A >> 2] | 0;
                                    if (!(C >>> 0 > B >>> 0) ? (y = A + 4 | 0, (C + (c[y >> 2] | 0) | 0) >>> 0 > B >>> 0) : 0) {
                                        break
                                    }
                                    A = c[A + 8 >> 2] | 0;
                                    if ((A | 0) == 0) {
                                        o = 182;
                                        break e
                                    }
                                }
                                if ((A | 0) != 0) {
                                    B = z - (c[1260 >> 2] | 0) & p;
                                    if (B >>> 0 < 2147483647) {
                                        p = la(B | 0) | 0;
                                        A = (p | 0) == ((c[A >> 2] | 0) + (c[y >> 2] | 0) | 0);
                                        y = p;
                                        z = B;
                                        p = A ? p : -1;
                                        A = A ? B : 0;
                                        o = 191
                                    } else {
                                        A = 0
                                    }
                                } else {
                                    o = 182
                                }
                            } else {
                                o = 182
                            }
                        } while (0);
                        do {
                            if ((o | 0) == 182) {
                                p = la(0) | 0;
                                if ((p | 0) != (-1 | 0)) {
                                    z = p;
                                    A = c[1724 >> 2] | 0;
                                    y = A + -1 | 0;
                                    if ((y & z | 0) == 0) {
                                        A = v
                                    } else {
                                        A = v - z + (y + z & 0 - A) | 0
                                    }
                                    y = c[1680 >> 2] | 0;
                                    z = y + A | 0;
                                    if (A >>> 0 > a >>> 0 & A >>> 0 < 2147483647) {
                                        H = c[1688 >> 2] | 0;
                                        if ((H | 0) != 0 ? z >>> 0 <= y >>> 0 | z >>> 0 > H >>> 0 : 0) {
                                            A = 0;
                                            break
                                        }
                                        y = la(A | 0) | 0;
                                        o = (y | 0) == (p | 0);
                                        z = A;
                                        p = o ? p : -1;
                                        A = o ? A : 0;
                                        o = 191
                                    } else {
                                        A = 0
                                    }
                                } else {
                                    A = 0
                                }
                            }
                        } while (0);
                        f:do {
                            if ((o | 0) == 191) {
                                o = 0 - z | 0;
                                if ((p | 0) != (-1 | 0)) {
                                    q = A;
                                    o = 202;
                                    break d
                                }
                                do {
                                    if ((y | 0) != (-1 | 0) & z >>> 0 < 2147483647 & z >>> 0 < w >>> 0 ? (u = c[1728 >> 2] | 0, u = x - z + u & 0 - u, u >>> 0 < 2147483647) : 0) {
                                        if ((la(u | 0) | 0) == (-1 | 0)) {
                                            la(o | 0) | 0;
                                            break f
                                        } else {
                                            z = u + z | 0;
                                            break
                                        }
                                    }
                                } while (0);
                                if ((y | 0) != (-1 | 0)) {
                                    p = y;
                                    q = z;
                                    o = 202;
                                    break d
                                }
                            }
                        } while (0);
                        c[1692 >> 2] = c[1692 >> 2] | 4;
                        o = 199
                    } else {
                        A = 0;
                        o = 199
                    }
                } while (0);
                if ((((o | 0) == 199 ? v >>> 0 < 2147483647 : 0) ? (t = la(v | 0) | 0, s = la(0) | 0, (s | 0) != (-1 | 0) & (t | 0) != (-1 | 0) & t >>> 0 < s >>> 0) : 0) ? (r = s - t | 0, q = r >>> 0 > (a + 40 | 0) >>> 0, q) : 0) {
                    p = t;
                    q = q ? r : A;
                    o = 202
                }
                if ((o | 0) == 202) {
                    r = (c[1680 >> 2] | 0) + q | 0;
                    c[1680 >> 2] = r;
                    if (r >>> 0 > (c[1684 >> 2] | 0) >>> 0) {
                        c[1684 >> 2] = r
                    }
                    r = c[1272 >> 2] | 0;
                    g:do {
                        if ((r | 0) != 0) {
                            v = 1696 | 0;
                            while (1) {
                                t = c[v >> 2] | 0;
                                u = v + 4 | 0;
                                s = c[u >> 2] | 0;
                                if ((p | 0) == (t + s | 0)) {
                                    o = 214;
                                    break
                                }
                                w = c[v + 8 >> 2] | 0;
                                if ((w | 0) == 0) {
                                    break
                                } else {
                                    v = w
                                }
                            }
                            if (((o | 0) == 214 ? (c[v + 12 >> 2] & 8 | 0) == 0 : 0) ? r >>> 0 >= t >>> 0 & r >>> 0 < p >>> 0 : 0) {
                                c[u >> 2] = s + q;
                                d = (c[1260 >> 2] | 0) + q | 0;
                                e = r + 8 | 0;
                                if ((e & 7 | 0) == 0) {
                                    e = 0
                                } else {
                                    e = 0 - e & 7
                                }
                                H = d - e | 0;
                                c[1272 >> 2] = r + e;
                                c[1260 >> 2] = H;
                                c[r + (e + 4) >> 2] = H | 1;
                                c[r + (d + 4) >> 2] = 40;
                                c[1276 >> 2] = c[1736 >> 2];
                                break
                            }
                            if (p >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                c[1264 >> 2] = p
                            }
                            t = p + q | 0;
                            s = 1696 | 0;
                            while (1) {
                                if ((c[s >> 2] | 0) == (t | 0)) {
                                    o = 224;
                                    break
                                }
                                u = c[s + 8 >> 2] | 0;
                                if ((u | 0) == 0) {
                                    break
                                } else {
                                    s = u
                                }
                            }
                            if ((o | 0) == 224 ? (c[s + 12 >> 2] & 8 | 0) == 0 : 0) {
                                c[s >> 2] = p;
                                h = s + 4 | 0;
                                c[h >> 2] = (c[h >> 2] | 0) + q;
                                h = p + 8 | 0;
                                if ((h & 7 | 0) == 0) {
                                    h = 0
                                } else {
                                    h = 0 - h & 7
                                }
                                j = p + (q + 8) | 0;
                                if ((j & 7 | 0) == 0) {
                                    n = 0
                                } else {
                                    n = 0 - j & 7
                                }
                                o = p + (n + q) | 0;
                                j = h + a | 0;
                                k = p + j | 0;
                                m = o - (p + h) - a | 0;
                                c[p + (h + 4) >> 2] = a | 3;
                                h:do {
                                    if ((o | 0) != (c[1272 >> 2] | 0)) {
                                        if ((o | 0) == (c[1268 >> 2] | 0)) {
                                            H = (c[1256 >> 2] | 0) + m | 0;
                                            c[1256 >> 2] = H;
                                            c[1268 >> 2] = k;
                                            c[p + (j + 4) >> 2] = H | 1;
                                            c[p + (H + j) >> 2] = H;
                                            break
                                        }
                                        r = q + 4 | 0;
                                        t = c[p + (r + n) >> 2] | 0;
                                        if ((t & 3 | 0) == 1) {
                                            a = t & -8;
                                            s = t >>> 3;
                                            i:do {
                                                if (!(t >>> 0 < 256)) {
                                                    l = c[p + ((n | 24) + q) >> 2] | 0;
                                                    u = c[p + (q + 12 + n) >> 2] | 0;
                                                    do {
                                                        if ((u | 0) == (o | 0)) {
                                                            u = n | 16;
                                                            t = p + (r + u) | 0;
                                                            s = c[t >> 2] | 0;
                                                            if ((s | 0) == 0) {
                                                                t = p + (u + q) | 0;
                                                                s = c[t >> 2] | 0;
                                                                if ((s | 0) == 0) {
                                                                    g = 0;
                                                                    break
                                                                }
                                                            }
                                                            while (1) {
                                                                u = s + 20 | 0;
                                                                v = c[u >> 2] | 0;
                                                                if ((v | 0) != 0) {
                                                                    s = v;
                                                                    t = u;
                                                                    continue
                                                                }
                                                                u = s + 16 | 0;
                                                                v = c[u >> 2] | 0;
                                                                if ((v | 0) == 0) {
                                                                    break
                                                                } else {
                                                                    s = v;
                                                                    t = u
                                                                }
                                                            }
                                                            if (t >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                                                ja()
                                                            } else {
                                                                c[t >> 2] = 0;
                                                                g = s;
                                                                break
                                                            }
                                                        } else {
                                                            t = c[p + ((n | 8) + q) >> 2] | 0;
                                                            if (t >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                                                ja()
                                                            }
                                                            v = t + 12 | 0;
                                                            if ((c[v >> 2] | 0) != (o | 0)) {
                                                                ja()
                                                            }
                                                            s = u + 8 | 0;
                                                            if ((c[s >> 2] | 0) == (o | 0)) {
                                                                c[v >> 2] = u;
                                                                c[s >> 2] = t;
                                                                g = u;
                                                                break
                                                            } else {
                                                                ja()
                                                            }
                                                        }
                                                    } while (0);
                                                    if ((l | 0) == 0) {
                                                        break
                                                    }
                                                    t = c[p + (q + 28 + n) >> 2] | 0;
                                                    s = 1552 + (t << 2) | 0;
                                                    do {
                                                        if ((o | 0) != (c[s >> 2] | 0)) {
                                                            if (l >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                                                ja()
                                                            }
                                                            s = l + 16 | 0;
                                                            if ((c[s >> 2] | 0) == (o | 0)) {
                                                                c[s >> 2] = g
                                                            } else {
                                                                c[l + 20 >> 2] = g
                                                            }
                                                            if ((g | 0) == 0) {
                                                                break i
                                                            }
                                                        } else {
                                                            c[s >> 2] = g;
                                                            if ((g | 0) != 0) {
                                                                break
                                                            }
                                                            c[1252 >> 2] = c[1252 >> 2] & ~(1 << t);
                                                            break i
                                                        }
                                                    } while (0);
                                                    if (g >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                                        ja()
                                                    }
                                                    c[g + 24 >> 2] = l;
                                                    l = n | 16;
                                                    o = c[p + (l + q) >> 2] | 0;
                                                    do {
                                                        if ((o | 0) != 0) {
                                                            if (o >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                                                ja()
                                                            } else {
                                                                c[g + 16 >> 2] = o;
                                                                c[o + 24 >> 2] = g;
                                                                break
                                                            }
                                                        }
                                                    } while (0);
                                                    l = c[p + (r + l) >> 2] | 0;
                                                    if ((l | 0) == 0) {
                                                        break
                                                    }
                                                    if (l >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                                        ja()
                                                    } else {
                                                        c[g + 20 >> 2] = l;
                                                        c[l + 24 >> 2] = g;
                                                        break
                                                    }
                                                } else {
                                                    r = c[p + ((n | 8) + q) >> 2] | 0;
                                                    g = c[p + (q + 12 + n) >> 2] | 0;
                                                    t = 1288 + (s << 1 << 2) | 0;
                                                    do {
                                                        if ((r | 0) != (t | 0)) {
                                                            if (r >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                                                ja()
                                                            }
                                                            if ((c[r + 12 >> 2] | 0) == (o | 0)) {
                                                                break
                                                            }
                                                            ja()
                                                        }
                                                    } while (0);
                                                    if ((g | 0) == (r | 0)) {
                                                        c[312] = c[312] & ~(1 << s);
                                                        break
                                                    }
                                                    do {
                                                        if ((g | 0) == (t | 0)) {
                                                            l = g + 8 | 0
                                                        } else {
                                                            if (g >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                                                ja()
                                                            }
                                                            s = g + 8 | 0;
                                                            if ((c[s >> 2] | 0) == (o | 0)) {
                                                                l = s;
                                                                break
                                                            }
                                                            ja()
                                                        }
                                                    } while (0);
                                                    c[r + 12 >> 2] = g;
                                                    c[l >> 2] = r
                                                }
                                            } while (0);
                                            o = p + ((a | n) + q) | 0;
                                            m = a + m | 0
                                        }
                                        g = o + 4 | 0;
                                        c[g >> 2] = c[g >> 2] & -2;
                                        c[p + (j + 4) >> 2] = m | 1;
                                        c[p + (m + j) >> 2] = m;
                                        g = m >>> 3;
                                        if (m >>> 0 < 256) {
                                            m = g << 1;
                                            d = 1288 + (m << 2) | 0;
                                            l = c[312] | 0;
                                            g = 1 << g;
                                            do {
                                                if ((l & g | 0) == 0) {
                                                    c[312] = l | g;
                                                    f = 1288 + (m + 2 << 2) | 0;
                                                    e = d
                                                } else {
                                                    l = 1288 + (m + 2 << 2) | 0;
                                                    g = c[l >> 2] | 0;
                                                    if (!(g >>> 0 < (c[1264 >> 2] | 0) >>> 0)) {
                                                        f = l;
                                                        e = g;
                                                        break
                                                    }
                                                    ja()
                                                }
                                            } while (0);
                                            c[f >> 2] = k;
                                            c[e + 12 >> 2] = k;
                                            c[p + (j + 8) >> 2] = e;
                                            c[p + (j + 12) >> 2] = d;
                                            break
                                        }
                                        e = m >>> 8;
                                        do {
                                            if ((e | 0) == 0) {
                                                e = 0
                                            } else {
                                                if (m >>> 0 > 16777215) {
                                                    e = 31;
                                                    break
                                                }
                                                G = (e + 1048320 | 0) >>> 16 & 8;
                                                H = e << G;
                                                F = (H + 520192 | 0) >>> 16 & 4;
                                                H = H << F;
                                                e = (H + 245760 | 0) >>> 16 & 2;
                                                e = 14 - (F | G | e) + (H << e >>> 15) | 0;
                                                e = m >>> (e + 7 | 0) & 1 | e << 1
                                            }
                                        } while (0);
                                        l = 1552 + (e << 2) | 0;
                                        c[p + (j + 28) >> 2] = e;
                                        c[p + (j + 20) >> 2] = 0;
                                        c[p + (j + 16) >> 2] = 0;
                                        f = c[1252 >> 2] | 0;
                                        g = 1 << e;
                                        if ((f & g | 0) == 0) {
                                            c[1252 >> 2] = f | g;
                                            c[l >> 2] = k;
                                            c[p + (j + 24) >> 2] = l;
                                            c[p + (j + 12) >> 2] = k;
                                            c[p + (j + 8) >> 2] = k;
                                            break
                                        }
                                        l = c[l >> 2] | 0;
                                        if ((e | 0) == 31) {
                                            e = 0
                                        } else {
                                            e = 25 - (e >>> 1) | 0
                                        }
                                        j:do {
                                            if ((c[l + 4 >> 2] & -8 | 0) != (m | 0)) {
                                                e = m << e;
                                                while (1) {
                                                    g = l + (e >>> 31 << 2) + 16 | 0;
                                                    f = c[g >> 2] | 0;
                                                    if ((f | 0) == 0) {
                                                        break
                                                    }
                                                    if ((c[f + 4 >> 2] & -8 | 0) == (m | 0)) {
                                                        d = f;
                                                        break j
                                                    } else {
                                                        e = e << 1;
                                                        l = f
                                                    }
                                                }
                                                if (g >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                                    ja()
                                                } else {
                                                    c[g >> 2] = k;
                                                    c[p + (j + 24) >> 2] = l;
                                                    c[p + (j + 12) >> 2] = k;
                                                    c[p + (j + 8) >> 2] = k;
                                                    break h
                                                }
                                            } else {
                                                d = l
                                            }
                                        } while (0);
                                        f = d + 8 | 0;
                                        e = c[f >> 2] | 0;
                                        g = c[1264 >> 2] | 0;
                                        if (d >>> 0 < g >>> 0) {
                                            ja()
                                        }
                                        if (e >>> 0 < g >>> 0) {
                                            ja()
                                        } else {
                                            c[e + 12 >> 2] = k;
                                            c[f >> 2] = k;
                                            c[p + (j + 8) >> 2] = e;
                                            c[p + (j + 12) >> 2] = d;
                                            c[p + (j + 24) >> 2] = 0;
                                            break
                                        }
                                    } else {
                                        H = (c[1260 >> 2] | 0) + m | 0;
                                        c[1260 >> 2] = H;
                                        c[1272 >> 2] = k;
                                        c[p + (j + 4) >> 2] = H | 1
                                    }
                                } while (0);
                                H = p + (h | 8) | 0;
                                i = b;
                                return H | 0
                            }
                            e = 1696 | 0;
                            while (1) {
                                d = c[e >> 2] | 0;
                                if (!(d >>> 0 > r >>> 0) ? (n = c[e + 4 >> 2] | 0, m = d + n | 0, m >>> 0 > r >>> 0) : 0) {
                                    break
                                }
                                e = c[e + 8 >> 2] | 0
                            }
                            e = d + (n + -39) | 0;
                            if ((e & 7 | 0) == 0) {
                                e = 0
                            } else {
                                e = 0 - e & 7
                            }
                            d = d + (n + -47 + e) | 0;
                            d = d >>> 0 < (r + 16 | 0) >>> 0 ? r : d;
                            e = d + 8 | 0;
                            f = p + 8 | 0;
                            if ((f & 7 | 0) == 0) {
                                f = 0
                            } else {
                                f = 0 - f & 7
                            }
                            H = q + -40 - f | 0;
                            c[1272 >> 2] = p + f;
                            c[1260 >> 2] = H;
                            c[p + (f + 4) >> 2] = H | 1;
                            c[p + (q + -36) >> 2] = 40;
                            c[1276 >> 2] = c[1736 >> 2];
                            c[d + 4 >> 2] = 27;
                            c[e + 0 >> 2] = c[1696 >> 2];
                            c[e + 4 >> 2] = c[1700 >> 2];
                            c[e + 8 >> 2] = c[1704 >> 2];
                            c[e + 12 >> 2] = c[1708 >> 2];
                            c[1696 >> 2] = p;
                            c[1700 >> 2] = q;
                            c[1708 >> 2] = 0;
                            c[1704 >> 2] = e;
                            e = d + 28 | 0;
                            c[e >> 2] = 7;
                            if ((d + 32 | 0) >>> 0 < m >>> 0) {
                                do {
                                    H = e;
                                    e = e + 4 | 0;
                                    c[e >> 2] = 7
                                } while ((H + 8 | 0) >>> 0 < m >>> 0)
                            }
                            if ((d | 0) != (r | 0)) {
                                d = d - r | 0;
                                e = r + (d + 4) | 0;
                                c[e >> 2] = c[e >> 2] & -2;
                                c[r + 4 >> 2] = d | 1;
                                c[r + d >> 2] = d;
                                e = d >>> 3;
                                if (d >>> 0 < 256) {
                                    g = e << 1;
                                    d = 1288 + (g << 2) | 0;
                                    f = c[312] | 0;
                                    e = 1 << e;
                                    do {
                                        if ((f & e | 0) == 0) {
                                            c[312] = f | e;
                                            k = 1288 + (g + 2 << 2) | 0;
                                            j = d
                                        } else {
                                            f = 1288 + (g + 2 << 2) | 0;
                                            e = c[f >> 2] | 0;
                                            if (!(e >>> 0 < (c[1264 >> 2] | 0) >>> 0)) {
                                                k = f;
                                                j = e;
                                                break
                                            }
                                            ja()
                                        }
                                    } while (0);
                                    c[k >> 2] = r;
                                    c[j + 12 >> 2] = r;
                                    c[r + 8 >> 2] = j;
                                    c[r + 12 >> 2] = d;
                                    break
                                }
                                e = d >>> 8;
                                if ((e | 0) != 0) {
                                    if (d >>> 0 > 16777215) {
                                        e = 31
                                    } else {
                                        G = (e + 1048320 | 0) >>> 16 & 8;
                                        H = e << G;
                                        F = (H + 520192 | 0) >>> 16 & 4;
                                        H = H << F;
                                        e = (H + 245760 | 0) >>> 16 & 2;
                                        e = 14 - (F | G | e) + (H << e >>> 15) | 0;
                                        e = d >>> (e + 7 | 0) & 1 | e << 1
                                    }
                                } else {
                                    e = 0
                                }
                                j = 1552 + (e << 2) | 0;
                                c[r + 28 >> 2] = e;
                                c[r + 20 >> 2] = 0;
                                c[r + 16 >> 2] = 0;
                                f = c[1252 >> 2] | 0;
                                g = 1 << e;
                                if ((f & g | 0) == 0) {
                                    c[1252 >> 2] = f | g;
                                    c[j >> 2] = r;
                                    c[r + 24 >> 2] = j;
                                    c[r + 12 >> 2] = r;
                                    c[r + 8 >> 2] = r;
                                    break
                                }
                                f = c[j >> 2] | 0;
                                if ((e | 0) == 31) {
                                    e = 0
                                } else {
                                    e = 25 - (e >>> 1) | 0
                                }
                                k:do {
                                    if ((c[f + 4 >> 2] & -8 | 0) != (d | 0)) {
                                        e = d << e;
                                        while (1) {
                                            j = f + (e >>> 31 << 2) + 16 | 0;
                                            g = c[j >> 2] | 0;
                                            if ((g | 0) == 0) {
                                                break
                                            }
                                            if ((c[g + 4 >> 2] & -8 | 0) == (d | 0)) {
                                                h = g;
                                                break k
                                            } else {
                                                e = e << 1;
                                                f = g
                                            }
                                        }
                                        if (j >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                            ja()
                                        } else {
                                            c[j >> 2] = r;
                                            c[r + 24 >> 2] = f;
                                            c[r + 12 >> 2] = r;
                                            c[r + 8 >> 2] = r;
                                            break g
                                        }
                                    } else {
                                        h = f
                                    }
                                } while (0);
                                f = h + 8 | 0;
                                e = c[f >> 2] | 0;
                                d = c[1264 >> 2] | 0;
                                if (h >>> 0 < d >>> 0) {
                                    ja()
                                }
                                if (e >>> 0 < d >>> 0) {
                                    ja()
                                } else {
                                    c[e + 12 >> 2] = r;
                                    c[f >> 2] = r;
                                    c[r + 8 >> 2] = e;
                                    c[r + 12 >> 2] = h;
                                    c[r + 24 >> 2] = 0;
                                    break
                                }
                            }
                        } else {
                            H = c[1264 >> 2] | 0;
                            if ((H | 0) == 0 | p >>> 0 < H >>> 0) {
                                c[1264 >> 2] = p
                            }
                            c[1696 >> 2] = p;
                            c[1700 >> 2] = q;
                            c[1708 >> 2] = 0;
                            c[1284 >> 2] = c[430];
                            c[1280 >> 2] = -1;
                            d = 0;
                            do {
                                H = d << 1;
                                G = 1288 + (H << 2) | 0;
                                c[1288 + (H + 3 << 2) >> 2] = G;
                                c[1288 + (H + 2 << 2) >> 2] = G;
                                d = d + 1 | 0
                            } while ((d | 0) != 32);
                            d = p + 8 | 0;
                            if ((d & 7 | 0) == 0) {
                                d = 0
                            } else {
                                d = 0 - d & 7
                            }
                            H = q + -40 - d | 0;
                            c[1272 >> 2] = p + d;
                            c[1260 >> 2] = H;
                            c[p + (d + 4) >> 2] = H | 1;
                            c[p + (q + -36) >> 2] = 40;
                            c[1276 >> 2] = c[1736 >> 2]
                        }
                    } while (0);
                    d = c[1260 >> 2] | 0;
                    if (d >>> 0 > a >>> 0) {
                        G = d - a | 0;
                        c[1260 >> 2] = G;
                        H = c[1272 >> 2] | 0;
                        c[1272 >> 2] = H + a;
                        c[H + (a + 4) >> 2] = G | 1;
                        c[H + 4 >> 2] = a | 3;
                        H = H + 8 | 0;
                        i = b;
                        return H | 0
                    }
                }
                c[(pa() | 0) >> 2] = 12;
                H = 0;
                i = b;
                return H | 0
            }

            function Ra(a) {
                a = a | 0;
                var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0;
                b = i;
                if ((a | 0) == 0) {
                    i = b;
                    return
                }
                q = a + -8 | 0;
                r = c[1264 >> 2] | 0;
                if (q >>> 0 < r >>> 0) {
                    ja()
                }
                o = c[a + -4 >> 2] | 0;
                n = o & 3;
                if ((n | 0) == 1) {
                    ja()
                }
                j = o & -8;
                h = a + (j + -8) | 0;
                do {
                    if ((o & 1 | 0) == 0) {
                        u = c[q >> 2] | 0;
                        if ((n | 0) == 0) {
                            i = b;
                            return
                        }
                        q = -8 - u | 0;
                        o = a + q | 0;
                        n = u + j | 0;
                        if (o >>> 0 < r >>> 0) {
                            ja()
                        }
                        if ((o | 0) == (c[1268 >> 2] | 0)) {
                            d = a + (j + -4) | 0;
                            if ((c[d >> 2] & 3 | 0) != 3) {
                                d = o;
                                m = n;
                                break
                            }
                            c[1256 >> 2] = n;
                            c[d >> 2] = c[d >> 2] & -2;
                            c[a + (q + 4) >> 2] = n | 1;
                            c[h >> 2] = n;
                            i = b;
                            return
                        }
                        t = u >>> 3;
                        if (u >>> 0 < 256) {
                            d = c[a + (q + 8) >> 2] | 0;
                            m = c[a + (q + 12) >> 2] | 0;
                            p = 1288 + (t << 1 << 2) | 0;
                            if ((d | 0) != (p | 0)) {
                                if (d >>> 0 < r >>> 0) {
                                    ja()
                                }
                                if ((c[d + 12 >> 2] | 0) != (o | 0)) {
                                    ja()
                                }
                            }
                            if ((m | 0) == (d | 0)) {
                                c[312] = c[312] & ~(1 << t);
                                d = o;
                                m = n;
                                break
                            }
                            if ((m | 0) != (p | 0)) {
                                if (m >>> 0 < r >>> 0) {
                                    ja()
                                }
                                p = m + 8 | 0;
                                if ((c[p >> 2] | 0) == (o | 0)) {
                                    s = p
                                } else {
                                    ja()
                                }
                            } else {
                                s = m + 8 | 0
                            }
                            c[d + 12 >> 2] = m;
                            c[s >> 2] = d;
                            d = o;
                            m = n;
                            break
                        }
                        s = c[a + (q + 24) >> 2] | 0;
                        t = c[a + (q + 12) >> 2] | 0;
                        do {
                            if ((t | 0) == (o | 0)) {
                                u = a + (q + 20) | 0;
                                t = c[u >> 2] | 0;
                                if ((t | 0) == 0) {
                                    u = a + (q + 16) | 0;
                                    t = c[u >> 2] | 0;
                                    if ((t | 0) == 0) {
                                        p = 0;
                                        break
                                    }
                                }
                                while (1) {
                                    w = t + 20 | 0;
                                    v = c[w >> 2] | 0;
                                    if ((v | 0) != 0) {
                                        t = v;
                                        u = w;
                                        continue
                                    }
                                    v = t + 16 | 0;
                                    w = c[v >> 2] | 0;
                                    if ((w | 0) == 0) {
                                        break
                                    } else {
                                        t = w;
                                        u = v
                                    }
                                }
                                if (u >>> 0 < r >>> 0) {
                                    ja()
                                } else {
                                    c[u >> 2] = 0;
                                    p = t;
                                    break
                                }
                            } else {
                                u = c[a + (q + 8) >> 2] | 0;
                                if (u >>> 0 < r >>> 0) {
                                    ja()
                                }
                                r = u + 12 | 0;
                                if ((c[r >> 2] | 0) != (o | 0)) {
                                    ja()
                                }
                                v = t + 8 | 0;
                                if ((c[v >> 2] | 0) == (o | 0)) {
                                    c[r >> 2] = t;
                                    c[v >> 2] = u;
                                    p = t;
                                    break
                                } else {
                                    ja()
                                }
                            }
                        } while (0);
                        if ((s | 0) != 0) {
                            t = c[a + (q + 28) >> 2] | 0;
                            r = 1552 + (t << 2) | 0;
                            if ((o | 0) == (c[r >> 2] | 0)) {
                                c[r >> 2] = p;
                                if ((p | 0) == 0) {
                                    c[1252 >> 2] = c[1252 >> 2] & ~(1 << t);
                                    d = o;
                                    m = n;
                                    break
                                }
                            } else {
                                if (s >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                    ja()
                                }
                                r = s + 16 | 0;
                                if ((c[r >> 2] | 0) == (o | 0)) {
                                    c[r >> 2] = p
                                } else {
                                    c[s + 20 >> 2] = p
                                }
                                if ((p | 0) == 0) {
                                    d = o;
                                    m = n;
                                    break
                                }
                            }
                            if (p >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                ja()
                            }
                            c[p + 24 >> 2] = s;
                            r = c[a + (q + 16) >> 2] | 0;
                            do {
                                if ((r | 0) != 0) {
                                    if (r >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                        ja()
                                    } else {
                                        c[p + 16 >> 2] = r;
                                        c[r + 24 >> 2] = p;
                                        break
                                    }
                                }
                            } while (0);
                            q = c[a + (q + 20) >> 2] | 0;
                            if ((q | 0) != 0) {
                                if (q >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                    ja()
                                } else {
                                    c[p + 20 >> 2] = q;
                                    c[q + 24 >> 2] = p;
                                    d = o;
                                    m = n;
                                    break
                                }
                            } else {
                                d = o;
                                m = n
                            }
                        } else {
                            d = o;
                            m = n
                        }
                    } else {
                        d = q;
                        m = j
                    }
                } while (0);
                if (!(d >>> 0 < h >>> 0)) {
                    ja()
                }
                n = a + (j + -4) | 0;
                o = c[n >> 2] | 0;
                if ((o & 1 | 0) == 0) {
                    ja()
                }
                if ((o & 2 | 0) == 0) {
                    if ((h | 0) == (c[1272 >> 2] | 0)) {
                        w = (c[1260 >> 2] | 0) + m | 0;
                        c[1260 >> 2] = w;
                        c[1272 >> 2] = d;
                        c[d + 4 >> 2] = w | 1;
                        if ((d | 0) != (c[1268 >> 2] | 0)) {
                            i = b;
                            return
                        }
                        c[1268 >> 2] = 0;
                        c[1256 >> 2] = 0;
                        i = b;
                        return
                    }
                    if ((h | 0) == (c[1268 >> 2] | 0)) {
                        w = (c[1256 >> 2] | 0) + m | 0;
                        c[1256 >> 2] = w;
                        c[1268 >> 2] = d;
                        c[d + 4 >> 2] = w | 1;
                        c[d + w >> 2] = w;
                        i = b;
                        return
                    }
                    m = (o & -8) + m | 0;
                    n = o >>> 3;
                    do {
                        if (!(o >>> 0 < 256)) {
                            l = c[a + (j + 16) >> 2] | 0;
                            q = c[a + (j | 4) >> 2] | 0;
                            do {
                                if ((q | 0) == (h | 0)) {
                                    o = a + (j + 12) | 0;
                                    n = c[o >> 2] | 0;
                                    if ((n | 0) == 0) {
                                        o = a + (j + 8) | 0;
                                        n = c[o >> 2] | 0;
                                        if ((n | 0) == 0) {
                                            k = 0;
                                            break
                                        }
                                    }
                                    while (1) {
                                        p = n + 20 | 0;
                                        q = c[p >> 2] | 0;
                                        if ((q | 0) != 0) {
                                            n = q;
                                            o = p;
                                            continue
                                        }
                                        p = n + 16 | 0;
                                        q = c[p >> 2] | 0;
                                        if ((q | 0) == 0) {
                                            break
                                        } else {
                                            n = q;
                                            o = p
                                        }
                                    }
                                    if (o >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                        ja()
                                    } else {
                                        c[o >> 2] = 0;
                                        k = n;
                                        break
                                    }
                                } else {
                                    o = c[a + j >> 2] | 0;
                                    if (o >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                        ja()
                                    }
                                    p = o + 12 | 0;
                                    if ((c[p >> 2] | 0) != (h | 0)) {
                                        ja()
                                    }
                                    n = q + 8 | 0;
                                    if ((c[n >> 2] | 0) == (h | 0)) {
                                        c[p >> 2] = q;
                                        c[n >> 2] = o;
                                        k = q;
                                        break
                                    } else {
                                        ja()
                                    }
                                }
                            } while (0);
                            if ((l | 0) != 0) {
                                n = c[a + (j + 20) >> 2] | 0;
                                o = 1552 + (n << 2) | 0;
                                if ((h | 0) == (c[o >> 2] | 0)) {
                                    c[o >> 2] = k;
                                    if ((k | 0) == 0) {
                                        c[1252 >> 2] = c[1252 >> 2] & ~(1 << n);
                                        break
                                    }
                                } else {
                                    if (l >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                        ja()
                                    }
                                    n = l + 16 | 0;
                                    if ((c[n >> 2] | 0) == (h | 0)) {
                                        c[n >> 2] = k
                                    } else {
                                        c[l + 20 >> 2] = k
                                    }
                                    if ((k | 0) == 0) {
                                        break
                                    }
                                }
                                if (k >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                    ja()
                                }
                                c[k + 24 >> 2] = l;
                                h = c[a + (j + 8) >> 2] | 0;
                                do {
                                    if ((h | 0) != 0) {
                                        if (h >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                            ja()
                                        } else {
                                            c[k + 16 >> 2] = h;
                                            c[h + 24 >> 2] = k;
                                            break
                                        }
                                    }
                                } while (0);
                                h = c[a + (j + 12) >> 2] | 0;
                                if ((h | 0) != 0) {
                                    if (h >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                        ja()
                                    } else {
                                        c[k + 20 >> 2] = h;
                                        c[h + 24 >> 2] = k;
                                        break
                                    }
                                }
                            }
                        } else {
                            k = c[a + j >> 2] | 0;
                            a = c[a + (j | 4) >> 2] | 0;
                            j = 1288 + (n << 1 << 2) | 0;
                            if ((k | 0) != (j | 0)) {
                                if (k >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                    ja()
                                }
                                if ((c[k + 12 >> 2] | 0) != (h | 0)) {
                                    ja()
                                }
                            }
                            if ((a | 0) == (k | 0)) {
                                c[312] = c[312] & ~(1 << n);
                                break
                            }
                            if ((a | 0) != (j | 0)) {
                                if (a >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                    ja()
                                }
                                j = a + 8 | 0;
                                if ((c[j >> 2] | 0) == (h | 0)) {
                                    l = j
                                } else {
                                    ja()
                                }
                            } else {
                                l = a + 8 | 0
                            }
                            c[k + 12 >> 2] = a;
                            c[l >> 2] = k
                        }
                    } while (0);
                    c[d + 4 >> 2] = m | 1;
                    c[d + m >> 2] = m;
                    if ((d | 0) == (c[1268 >> 2] | 0)) {
                        c[1256 >> 2] = m;
                        i = b;
                        return
                    }
                } else {
                    c[n >> 2] = o & -2;
                    c[d + 4 >> 2] = m | 1;
                    c[d + m >> 2] = m
                }
                h = m >>> 3;
                if (m >>> 0 < 256) {
                    a = h << 1;
                    e = 1288 + (a << 2) | 0;
                    j = c[312] | 0;
                    h = 1 << h;
                    if ((j & h | 0) != 0) {
                        h = 1288 + (a + 2 << 2) | 0;
                        a = c[h >> 2] | 0;
                        if (a >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                            ja()
                        } else {
                            f = h;
                            g = a
                        }
                    } else {
                        c[312] = j | h;
                        f = 1288 + (a + 2 << 2) | 0;
                        g = e
                    }
                    c[f >> 2] = d;
                    c[g + 12 >> 2] = d;
                    c[d + 8 >> 2] = g;
                    c[d + 12 >> 2] = e;
                    i = b;
                    return
                }
                f = m >>> 8;
                if ((f | 0) != 0) {
                    if (m >>> 0 > 16777215) {
                        f = 31
                    } else {
                        v = (f + 1048320 | 0) >>> 16 & 8;
                        w = f << v;
                        u = (w + 520192 | 0) >>> 16 & 4;
                        w = w << u;
                        f = (w + 245760 | 0) >>> 16 & 2;
                        f = 14 - (u | v | f) + (w << f >>> 15) | 0;
                        f = m >>> (f + 7 | 0) & 1 | f << 1
                    }
                } else {
                    f = 0
                }
                g = 1552 + (f << 2) | 0;
                c[d + 28 >> 2] = f;
                c[d + 20 >> 2] = 0;
                c[d + 16 >> 2] = 0;
                a = c[1252 >> 2] | 0;
                h = 1 << f;
                a:do {
                    if ((a & h | 0) != 0) {
                        g = c[g >> 2] | 0;
                        if ((f | 0) == 31) {
                            f = 0
                        } else {
                            f = 25 - (f >>> 1) | 0
                        }
                        b:do {
                            if ((c[g + 4 >> 2] & -8 | 0) != (m | 0)) {
                                f = m << f;
                                a = g;
                                while (1) {
                                    h = a + (f >>> 31 << 2) + 16 | 0;
                                    g = c[h >> 2] | 0;
                                    if ((g | 0) == 0) {
                                        break
                                    }
                                    if ((c[g + 4 >> 2] & -8 | 0) == (m | 0)) {
                                        e = g;
                                        break b
                                    } else {
                                        f = f << 1;
                                        a = g
                                    }
                                }
                                if (h >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                    ja()
                                } else {
                                    c[h >> 2] = d;
                                    c[d + 24 >> 2] = a;
                                    c[d + 12 >> 2] = d;
                                    c[d + 8 >> 2] = d;
                                    break a
                                }
                            } else {
                                e = g
                            }
                        } while (0);
                        g = e + 8 | 0;
                        f = c[g >> 2] | 0;
                        h = c[1264 >> 2] | 0;
                        if (e >>> 0 < h >>> 0) {
                            ja()
                        }
                        if (f >>> 0 < h >>> 0) {
                            ja()
                        } else {
                            c[f + 12 >> 2] = d;
                            c[g >> 2] = d;
                            c[d + 8 >> 2] = f;
                            c[d + 12 >> 2] = e;
                            c[d + 24 >> 2] = 0;
                            break
                        }
                    } else {
                        c[1252 >> 2] = a | h;
                        c[g >> 2] = d;
                        c[d + 24 >> 2] = g;
                        c[d + 12 >> 2] = d;
                        c[d + 8 >> 2] = d
                    }
                } while (0);
                w = (c[1280 >> 2] | 0) + -1 | 0;
                c[1280 >> 2] = w;
                if ((w | 0) == 0) {
                    d = 1704 | 0
                } else {
                    i = b;
                    return
                }
                while (1) {
                    d = c[d >> 2] | 0;
                    if ((d | 0) == 0) {
                        break
                    } else {
                        d = d + 8 | 0
                    }
                }
                c[1280 >> 2] = -1;
                i = b;
                return
            }

            function Sa(a, b) {
                a = a | 0;
                b = b | 0;
                var d = 0, e = 0;
                d = i;
                if ((a | 0) != 0) {
                    e = $(b, a) | 0;
                    if ((b | a) >>> 0 > 65535) {
                        e = ((e >>> 0) / (a >>> 0) | 0 | 0) == (b | 0) ? e : -1
                    }
                } else {
                    e = 0
                }
                a = Qa(e) | 0;
                if ((a | 0) == 0) {
                    i = d;
                    return a | 0
                }
                if ((c[a + -4 >> 2] & 3 | 0) == 0) {
                    i = d;
                    return a | 0
                }
                ab(a | 0, 0, e | 0) | 0;
                i = d;
                return a | 0
            }

            function Ta(a, b) {
                a = a | 0;
                b = b | 0;
                var d = 0, e = 0, f = 0;
                d = i;
                do {
                    if ((a | 0) != 0) {
                        if (b >>> 0 > 4294967231) {
                            c[(pa() | 0) >> 2] = 12;
                            e = 0;
                            break
                        }
                        if (b >>> 0 < 11) {
                            e = 16
                        } else {
                            e = b + 11 & -8
                        }
                        e = Ua(a + -8 | 0, e) | 0;
                        if ((e | 0) != 0) {
                            e = e + 8 | 0;
                            break
                        }
                        e = Qa(b) | 0;
                        if ((e | 0) == 0) {
                            e = 0
                        } else {
                            f = c[a + -4 >> 2] | 0;
                            f = (f & -8) - ((f & 3 | 0) == 0 ? 8 : 4) | 0;
                            _a(e | 0, a | 0, (f >>> 0 < b >>> 0 ? f : b) | 0) | 0;
                            Ra(a)
                        }
                    } else {
                        e = Qa(b) | 0
                    }
                } while (0);
                i = d;
                return e | 0
            }

            function Ua(a, b) {
                a = a | 0;
                b = b | 0;
                var d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0;
                d = i;
                e = a + 4 | 0;
                g = c[e >> 2] | 0;
                j = g & -8;
                f = a + j | 0;
                l = c[1264 >> 2] | 0;
                if (a >>> 0 < l >>> 0) {
                    ja()
                }
                n = g & 3;
                if (!((n | 0) != 1 & a >>> 0 < f >>> 0)) {
                    ja()
                }
                h = a + (j | 4) | 0;
                o = c[h >> 2] | 0;
                if ((o & 1 | 0) == 0) {
                    ja()
                }
                if ((n | 0) == 0) {
                    if (b >>> 0 < 256) {
                        q = 0;
                        i = d;
                        return q | 0
                    }
                    if (!(j >>> 0 < (b + 4 | 0) >>> 0) ? !((j - b | 0) >>> 0 > c[1728 >> 2] << 1 >>> 0) : 0) {
                        q = a;
                        i = d;
                        return q | 0
                    }
                    q = 0;
                    i = d;
                    return q | 0
                }
                if (!(j >>> 0 < b >>> 0)) {
                    f = j - b | 0;
                    if (!(f >>> 0 > 15)) {
                        q = a;
                        i = d;
                        return q | 0
                    }
                    c[e >> 2] = g & 1 | b | 2;
                    c[a + (b + 4) >> 2] = f | 3;
                    c[h >> 2] = c[h >> 2] | 1;
                    Va(a + b | 0, f);
                    q = a;
                    i = d;
                    return q | 0
                }
                if ((f | 0) == (c[1272 >> 2] | 0)) {
                    f = (c[1260 >> 2] | 0) + j | 0;
                    if (!(f >>> 0 > b >>> 0)) {
                        q = 0;
                        i = d;
                        return q | 0
                    }
                    q = f - b | 0;
                    c[e >> 2] = g & 1 | b | 2;
                    c[a + (b + 4) >> 2] = q | 1;
                    c[1272 >> 2] = a + b;
                    c[1260 >> 2] = q;
                    q = a;
                    i = d;
                    return q | 0
                }
                if ((f | 0) == (c[1268 >> 2] | 0)) {
                    h = (c[1256 >> 2] | 0) + j | 0;
                    if (h >>> 0 < b >>> 0) {
                        q = 0;
                        i = d;
                        return q | 0
                    }
                    f = h - b | 0;
                    if (f >>> 0 > 15) {
                        c[e >> 2] = g & 1 | b | 2;
                        c[a + (b + 4) >> 2] = f | 1;
                        c[a + h >> 2] = f;
                        q = a + (h + 4) | 0;
                        c[q >> 2] = c[q >> 2] & -2;
                        b = a + b | 0
                    } else {
                        c[e >> 2] = g & 1 | h | 2;
                        b = a + (h + 4) | 0;
                        c[b >> 2] = c[b >> 2] | 1;
                        b = 0;
                        f = 0
                    }
                    c[1256 >> 2] = f;
                    c[1268 >> 2] = b;
                    q = a;
                    i = d;
                    return q | 0
                }
                if ((o & 2 | 0) != 0) {
                    q = 0;
                    i = d;
                    return q | 0
                }
                h = (o & -8) + j | 0;
                if (h >>> 0 < b >>> 0) {
                    q = 0;
                    i = d;
                    return q | 0
                }
                g = h - b | 0;
                n = o >>> 3;
                do {
                    if (!(o >>> 0 < 256)) {
                        m = c[a + (j + 24) >> 2] | 0;
                        o = c[a + (j + 12) >> 2] | 0;
                        do {
                            if ((o | 0) == (f | 0)) {
                                o = a + (j + 20) | 0;
                                n = c[o >> 2] | 0;
                                if ((n | 0) == 0) {
                                    o = a + (j + 16) | 0;
                                    n = c[o >> 2] | 0;
                                    if ((n | 0) == 0) {
                                        k = 0;
                                        break
                                    }
                                }
                                while (1) {
                                    q = n + 20 | 0;
                                    p = c[q >> 2] | 0;
                                    if ((p | 0) != 0) {
                                        n = p;
                                        o = q;
                                        continue
                                    }
                                    q = n + 16 | 0;
                                    p = c[q >> 2] | 0;
                                    if ((p | 0) == 0) {
                                        break
                                    } else {
                                        n = p;
                                        o = q
                                    }
                                }
                                if (o >>> 0 < l >>> 0) {
                                    ja()
                                } else {
                                    c[o >> 2] = 0;
                                    k = n;
                                    break
                                }
                            } else {
                                n = c[a + (j + 8) >> 2] | 0;
                                if (n >>> 0 < l >>> 0) {
                                    ja()
                                }
                                p = n + 12 | 0;
                                if ((c[p >> 2] | 0) != (f | 0)) {
                                    ja()
                                }
                                l = o + 8 | 0;
                                if ((c[l >> 2] | 0) == (f | 0)) {
                                    c[p >> 2] = o;
                                    c[l >> 2] = n;
                                    k = o;
                                    break
                                } else {
                                    ja()
                                }
                            }
                        } while (0);
                        if ((m | 0) != 0) {
                            l = c[a + (j + 28) >> 2] | 0;
                            n = 1552 + (l << 2) | 0;
                            if ((f | 0) == (c[n >> 2] | 0)) {
                                c[n >> 2] = k;
                                if ((k | 0) == 0) {
                                    c[1252 >> 2] = c[1252 >> 2] & ~(1 << l);
                                    break
                                }
                            } else {
                                if (m >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                    ja()
                                }
                                l = m + 16 | 0;
                                if ((c[l >> 2] | 0) == (f | 0)) {
                                    c[l >> 2] = k
                                } else {
                                    c[m + 20 >> 2] = k
                                }
                                if ((k | 0) == 0) {
                                    break
                                }
                            }
                            if (k >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                ja()
                            }
                            c[k + 24 >> 2] = m;
                            f = c[a + (j + 16) >> 2] | 0;
                            do {
                                if ((f | 0) != 0) {
                                    if (f >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                        ja()
                                    } else {
                                        c[k + 16 >> 2] = f;
                                        c[f + 24 >> 2] = k;
                                        break
                                    }
                                }
                            } while (0);
                            f = c[a + (j + 20) >> 2] | 0;
                            if ((f | 0) != 0) {
                                if (f >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                    ja()
                                } else {
                                    c[k + 20 >> 2] = f;
                                    c[f + 24 >> 2] = k;
                                    break
                                }
                            }
                        }
                    } else {
                        k = c[a + (j + 8) >> 2] | 0;
                        j = c[a + (j + 12) >> 2] | 0;
                        o = 1288 + (n << 1 << 2) | 0;
                        if ((k | 0) != (o | 0)) {
                            if (k >>> 0 < l >>> 0) {
                                ja()
                            }
                            if ((c[k + 12 >> 2] | 0) != (f | 0)) {
                                ja()
                            }
                        }
                        if ((j | 0) == (k | 0)) {
                            c[312] = c[312] & ~(1 << n);
                            break
                        }
                        if ((j | 0) != (o | 0)) {
                            if (j >>> 0 < l >>> 0) {
                                ja()
                            }
                            l = j + 8 | 0;
                            if ((c[l >> 2] | 0) == (f | 0)) {
                                m = l
                            } else {
                                ja()
                            }
                        } else {
                            m = j + 8 | 0
                        }
                        c[k + 12 >> 2] = j;
                        c[m >> 2] = k
                    }
                } while (0);
                if (g >>> 0 < 16) {
                    c[e >> 2] = h | c[e >> 2] & 1 | 2;
                    q = a + (h | 4) | 0;
                    c[q >> 2] = c[q >> 2] | 1;
                    q = a;
                    i = d;
                    return q | 0
                } else {
                    c[e >> 2] = c[e >> 2] & 1 | b | 2;
                    c[a + (b + 4) >> 2] = g | 3;
                    q = a + (h | 4) | 0;
                    c[q >> 2] = c[q >> 2] | 1;
                    Va(a + b | 0, g);
                    q = a;
                    i = d;
                    return q | 0
                }
                return 0
            }

            function Va(a, b) {
                a = a | 0;
                b = b | 0;
                var d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0;
                d = i;
                h = a + b | 0;
                l = c[a + 4 >> 2] | 0;
                do {
                    if ((l & 1 | 0) == 0) {
                        p = c[a >> 2] | 0;
                        if ((l & 3 | 0) == 0) {
                            i = d;
                            return
                        }
                        l = a + (0 - p) | 0;
                        m = p + b | 0;
                        q = c[1264 >> 2] | 0;
                        if (l >>> 0 < q >>> 0) {
                            ja()
                        }
                        if ((l | 0) == (c[1268 >> 2] | 0)) {
                            e = a + (b + 4) | 0;
                            if ((c[e >> 2] & 3 | 0) != 3) {
                                e = l;
                                n = m;
                                break
                            }
                            c[1256 >> 2] = m;
                            c[e >> 2] = c[e >> 2] & -2;
                            c[a + (4 - p) >> 2] = m | 1;
                            c[h >> 2] = m;
                            i = d;
                            return
                        }
                        s = p >>> 3;
                        if (p >>> 0 < 256) {
                            e = c[a + (8 - p) >> 2] | 0;
                            n = c[a + (12 - p) >> 2] | 0;
                            o = 1288 + (s << 1 << 2) | 0;
                            if ((e | 0) != (o | 0)) {
                                if (e >>> 0 < q >>> 0) {
                                    ja()
                                }
                                if ((c[e + 12 >> 2] | 0) != (l | 0)) {
                                    ja()
                                }
                            }
                            if ((n | 0) == (e | 0)) {
                                c[312] = c[312] & ~(1 << s);
                                e = l;
                                n = m;
                                break
                            }
                            if ((n | 0) != (o | 0)) {
                                if (n >>> 0 < q >>> 0) {
                                    ja()
                                }
                                o = n + 8 | 0;
                                if ((c[o >> 2] | 0) == (l | 0)) {
                                    r = o
                                } else {
                                    ja()
                                }
                            } else {
                                r = n + 8 | 0
                            }
                            c[e + 12 >> 2] = n;
                            c[r >> 2] = e;
                            e = l;
                            n = m;
                            break
                        }
                        r = c[a + (24 - p) >> 2] | 0;
                        t = c[a + (12 - p) >> 2] | 0;
                        do {
                            if ((t | 0) == (l | 0)) {
                                u = 16 - p | 0;
                                t = a + (u + 4) | 0;
                                s = c[t >> 2] | 0;
                                if ((s | 0) == 0) {
                                    t = a + u | 0;
                                    s = c[t >> 2] | 0;
                                    if ((s | 0) == 0) {
                                        o = 0;
                                        break
                                    }
                                }
                                while (1) {
                                    u = s + 20 | 0;
                                    v = c[u >> 2] | 0;
                                    if ((v | 0) != 0) {
                                        s = v;
                                        t = u;
                                        continue
                                    }
                                    v = s + 16 | 0;
                                    u = c[v >> 2] | 0;
                                    if ((u | 0) == 0) {
                                        break
                                    } else {
                                        s = u;
                                        t = v
                                    }
                                }
                                if (t >>> 0 < q >>> 0) {
                                    ja()
                                } else {
                                    c[t >> 2] = 0;
                                    o = s;
                                    break
                                }
                            } else {
                                s = c[a + (8 - p) >> 2] | 0;
                                if (s >>> 0 < q >>> 0) {
                                    ja()
                                }
                                u = s + 12 | 0;
                                if ((c[u >> 2] | 0) != (l | 0)) {
                                    ja()
                                }
                                q = t + 8 | 0;
                                if ((c[q >> 2] | 0) == (l | 0)) {
                                    c[u >> 2] = t;
                                    c[q >> 2] = s;
                                    o = t;
                                    break
                                } else {
                                    ja()
                                }
                            }
                        } while (0);
                        if ((r | 0) != 0) {
                            q = c[a + (28 - p) >> 2] | 0;
                            s = 1552 + (q << 2) | 0;
                            if ((l | 0) == (c[s >> 2] | 0)) {
                                c[s >> 2] = o;
                                if ((o | 0) == 0) {
                                    c[1252 >> 2] = c[1252 >> 2] & ~(1 << q);
                                    e = l;
                                    n = m;
                                    break
                                }
                            } else {
                                if (r >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                    ja()
                                }
                                q = r + 16 | 0;
                                if ((c[q >> 2] | 0) == (l | 0)) {
                                    c[q >> 2] = o
                                } else {
                                    c[r + 20 >> 2] = o
                                }
                                if ((o | 0) == 0) {
                                    e = l;
                                    n = m;
                                    break
                                }
                            }
                            if (o >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                ja()
                            }
                            c[o + 24 >> 2] = r;
                            p = 16 - p | 0;
                            q = c[a + p >> 2] | 0;
                            do {
                                if ((q | 0) != 0) {
                                    if (q >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                        ja()
                                    } else {
                                        c[o + 16 >> 2] = q;
                                        c[q + 24 >> 2] = o;
                                        break
                                    }
                                }
                            } while (0);
                            p = c[a + (p + 4) >> 2] | 0;
                            if ((p | 0) != 0) {
                                if (p >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                    ja()
                                } else {
                                    c[o + 20 >> 2] = p;
                                    c[p + 24 >> 2] = o;
                                    e = l;
                                    n = m;
                                    break
                                }
                            } else {
                                e = l;
                                n = m
                            }
                        } else {
                            e = l;
                            n = m
                        }
                    } else {
                        e = a;
                        n = b
                    }
                } while (0);
                l = c[1264 >> 2] | 0;
                if (h >>> 0 < l >>> 0) {
                    ja()
                }
                m = a + (b + 4) | 0;
                o = c[m >> 2] | 0;
                if ((o & 2 | 0) == 0) {
                    if ((h | 0) == (c[1272 >> 2] | 0)) {
                        v = (c[1260 >> 2] | 0) + n | 0;
                        c[1260 >> 2] = v;
                        c[1272 >> 2] = e;
                        c[e + 4 >> 2] = v | 1;
                        if ((e | 0) != (c[1268 >> 2] | 0)) {
                            i = d;
                            return
                        }
                        c[1268 >> 2] = 0;
                        c[1256 >> 2] = 0;
                        i = d;
                        return
                    }
                    if ((h | 0) == (c[1268 >> 2] | 0)) {
                        v = (c[1256 >> 2] | 0) + n | 0;
                        c[1256 >> 2] = v;
                        c[1268 >> 2] = e;
                        c[e + 4 >> 2] = v | 1;
                        c[e + v >> 2] = v;
                        i = d;
                        return
                    }
                    n = (o & -8) + n | 0;
                    m = o >>> 3;
                    do {
                        if (!(o >>> 0 < 256)) {
                            k = c[a + (b + 24) >> 2] | 0;
                            m = c[a + (b + 12) >> 2] | 0;
                            do {
                                if ((m | 0) == (h | 0)) {
                                    o = a + (b + 20) | 0;
                                    m = c[o >> 2] | 0;
                                    if ((m | 0) == 0) {
                                        o = a + (b + 16) | 0;
                                        m = c[o >> 2] | 0;
                                        if ((m | 0) == 0) {
                                            j = 0;
                                            break
                                        }
                                    }
                                    while (1) {
                                        q = m + 20 | 0;
                                        p = c[q >> 2] | 0;
                                        if ((p | 0) != 0) {
                                            m = p;
                                            o = q;
                                            continue
                                        }
                                        p = m + 16 | 0;
                                        q = c[p >> 2] | 0;
                                        if ((q | 0) == 0) {
                                            break
                                        } else {
                                            m = q;
                                            o = p
                                        }
                                    }
                                    if (o >>> 0 < l >>> 0) {
                                        ja()
                                    } else {
                                        c[o >> 2] = 0;
                                        j = m;
                                        break
                                    }
                                } else {
                                    o = c[a + (b + 8) >> 2] | 0;
                                    if (o >>> 0 < l >>> 0) {
                                        ja()
                                    }
                                    l = o + 12 | 0;
                                    if ((c[l >> 2] | 0) != (h | 0)) {
                                        ja()
                                    }
                                    p = m + 8 | 0;
                                    if ((c[p >> 2] | 0) == (h | 0)) {
                                        c[l >> 2] = m;
                                        c[p >> 2] = o;
                                        j = m;
                                        break
                                    } else {
                                        ja()
                                    }
                                }
                            } while (0);
                            if ((k | 0) != 0) {
                                l = c[a + (b + 28) >> 2] | 0;
                                m = 1552 + (l << 2) | 0;
                                if ((h | 0) == (c[m >> 2] | 0)) {
                                    c[m >> 2] = j;
                                    if ((j | 0) == 0) {
                                        c[1252 >> 2] = c[1252 >> 2] & ~(1 << l);
                                        break
                                    }
                                } else {
                                    if (k >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                        ja()
                                    }
                                    l = k + 16 | 0;
                                    if ((c[l >> 2] | 0) == (h | 0)) {
                                        c[l >> 2] = j
                                    } else {
                                        c[k + 20 >> 2] = j
                                    }
                                    if ((j | 0) == 0) {
                                        break
                                    }
                                }
                                if (j >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                    ja()
                                }
                                c[j + 24 >> 2] = k;
                                h = c[a + (b + 16) >> 2] | 0;
                                do {
                                    if ((h | 0) != 0) {
                                        if (h >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                            ja()
                                        } else {
                                            c[j + 16 >> 2] = h;
                                            c[h + 24 >> 2] = j;
                                            break
                                        }
                                    }
                                } while (0);
                                h = c[a + (b + 20) >> 2] | 0;
                                if ((h | 0) != 0) {
                                    if (h >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                                        ja()
                                    } else {
                                        c[j + 20 >> 2] = h;
                                        c[h + 24 >> 2] = j;
                                        break
                                    }
                                }
                            }
                        } else {
                            j = c[a + (b + 8) >> 2] | 0;
                            a = c[a + (b + 12) >> 2] | 0;
                            b = 1288 + (m << 1 << 2) | 0;
                            if ((j | 0) != (b | 0)) {
                                if (j >>> 0 < l >>> 0) {
                                    ja()
                                }
                                if ((c[j + 12 >> 2] | 0) != (h | 0)) {
                                    ja()
                                }
                            }
                            if ((a | 0) == (j | 0)) {
                                c[312] = c[312] & ~(1 << m);
                                break
                            }
                            if ((a | 0) != (b | 0)) {
                                if (a >>> 0 < l >>> 0) {
                                    ja()
                                }
                                b = a + 8 | 0;
                                if ((c[b >> 2] | 0) == (h | 0)) {
                                    k = b
                                } else {
                                    ja()
                                }
                            } else {
                                k = a + 8 | 0
                            }
                            c[j + 12 >> 2] = a;
                            c[k >> 2] = j
                        }
                    } while (0);
                    c[e + 4 >> 2] = n | 1;
                    c[e + n >> 2] = n;
                    if ((e | 0) == (c[1268 >> 2] | 0)) {
                        c[1256 >> 2] = n;
                        i = d;
                        return
                    }
                } else {
                    c[m >> 2] = o & -2;
                    c[e + 4 >> 2] = n | 1;
                    c[e + n >> 2] = n
                }
                a = n >>> 3;
                if (n >>> 0 < 256) {
                    b = a << 1;
                    h = 1288 + (b << 2) | 0;
                    j = c[312] | 0;
                    a = 1 << a;
                    if ((j & a | 0) != 0) {
                        b = 1288 + (b + 2 << 2) | 0;
                        a = c[b >> 2] | 0;
                        if (a >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                            ja()
                        } else {
                            g = b;
                            f = a
                        }
                    } else {
                        c[312] = j | a;
                        g = 1288 + (b + 2 << 2) | 0;
                        f = h
                    }
                    c[g >> 2] = e;
                    c[f + 12 >> 2] = e;
                    c[e + 8 >> 2] = f;
                    c[e + 12 >> 2] = h;
                    i = d;
                    return
                }
                f = n >>> 8;
                if ((f | 0) != 0) {
                    if (n >>> 0 > 16777215) {
                        f = 31
                    } else {
                        u = (f + 1048320 | 0) >>> 16 & 8;
                        v = f << u;
                        t = (v + 520192 | 0) >>> 16 & 4;
                        v = v << t;
                        f = (v + 245760 | 0) >>> 16 & 2;
                        f = 14 - (t | u | f) + (v << f >>> 15) | 0;
                        f = n >>> (f + 7 | 0) & 1 | f << 1
                    }
                } else {
                    f = 0
                }
                a = 1552 + (f << 2) | 0;
                c[e + 28 >> 2] = f;
                c[e + 20 >> 2] = 0;
                c[e + 16 >> 2] = 0;
                h = c[1252 >> 2] | 0;
                g = 1 << f;
                if ((h & g | 0) == 0) {
                    c[1252 >> 2] = h | g;
                    c[a >> 2] = e;
                    c[e + 24 >> 2] = a;
                    c[e + 12 >> 2] = e;
                    c[e + 8 >> 2] = e;
                    i = d;
                    return
                }
                g = c[a >> 2] | 0;
                if ((f | 0) == 31) {
                    f = 0
                } else {
                    f = 25 - (f >>> 1) | 0
                }
                a:do {
                    if ((c[g + 4 >> 2] & -8 | 0) != (n | 0)) {
                        f = n << f;
                        a = g;
                        while (1) {
                            h = a + (f >>> 31 << 2) + 16 | 0;
                            g = c[h >> 2] | 0;
                            if ((g | 0) == 0) {
                                break
                            }
                            if ((c[g + 4 >> 2] & -8 | 0) == (n | 0)) {
                                break a
                            } else {
                                f = f << 1;
                                a = g
                            }
                        }
                        if (h >>> 0 < (c[1264 >> 2] | 0) >>> 0) {
                            ja()
                        }
                        c[h >> 2] = e;
                        c[e + 24 >> 2] = a;
                        c[e + 12 >> 2] = e;
                        c[e + 8 >> 2] = e;
                        i = d;
                        return
                    }
                } while (0);
                f = g + 8 | 0;
                a = c[f >> 2] | 0;
                h = c[1264 >> 2] | 0;
                if (g >>> 0 < h >>> 0) {
                    ja()
                }
                if (a >>> 0 < h >>> 0) {
                    ja()
                }
                c[a + 12 >> 2] = e;
                c[f >> 2] = e;
                c[e + 8 >> 2] = a;
                c[e + 12 >> 2] = g;
                c[e + 24 >> 2] = 0;
                i = d;
                return
            }

            function Wa(b, d, e) {
                b = b | 0;
                d = d | 0;
                e = e | 0;
                var f = 0, g = 0, h = 0, j = 0;
                f = i;
                g = d & 255;
                j = (e | 0) == 0;
                a:do {
                    if ((b & 3 | 0) == 0 | j) {
                        h = 5
                    } else {
                        h = d & 255;
                        while (1) {
                            if ((a[b >> 0] | 0) == h << 24 >> 24) {
                                h = 6;
                                break a
                            }
                            b = b + 1 | 0;
                            e = e + -1 | 0;
                            j = (e | 0) == 0;
                            if ((b & 3 | 0) == 0 | j) {
                                h = 5;
                                break
                            }
                        }
                    }
                } while (0);
                if ((h | 0) == 5) {
                    if (j) {
                        e = 0
                    } else {
                        h = 6
                    }
                }
                b:do {
                    if ((h | 0) == 6) {
                        d = d & 255;
                        if (!((a[b >> 0] | 0) == d << 24 >> 24)) {
                            g = $(g, 16843009) | 0;
                            c:do {
                                if (e >>> 0 > 3) {
                                    do {
                                        j = c[b >> 2] ^ g;
                                        if (((j & -2139062144 ^ -2139062144) & j + -16843009 | 0) != 0)

license: MIT

repository: michaelxlm/PCitem

license_type: permissive

repo_name: michaelxlm/PCitem

branch_name: refs/heads/master

extension: js