package okhttp3.internal.http2;

import com.google.firebase.sessions.settings.RemoteSettings;
import com.revenuecat.purchases.common.diagnostics.DiagnosticsTracker;
import java.io.EOFException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.Map;
import kotlin.jvm.internal.o;
import okhttp3.internal.Util;
import okhttp3.internal.http2.Http2Reader;
import okhttp3.internal.http2.Huffman;
import p5.AbstractC2732b;
import p5.C2740j;
import p5.C2743m;
import p5.J;
import x4.AbstractC3250p;

/* JADX INFO: loaded from: classes3.dex */
public final class Hpack {

    /* JADX INFO: renamed from: a, reason: collision with root package name */
    public static final Hpack f22445a = new Hpack();

    /* JADX INFO: renamed from: b, reason: collision with root package name */
    public static final Header[] f22446b;

    /* JADX INFO: renamed from: c, reason: collision with root package name */
    public static final Map f22447c;

    public static final class Reader {

        /* JADX INFO: renamed from: c, reason: collision with root package name */
        public final J f22450c;

        /* JADX INFO: renamed from: f, reason: collision with root package name */
        public int f22453f;

        /* JADX INFO: renamed from: g, reason: collision with root package name */
        public int f22454g;

        /* JADX INFO: renamed from: a, reason: collision with root package name */
        public int f22448a = 4096;

        /* JADX INFO: renamed from: b, reason: collision with root package name */
        public final ArrayList f22449b = new ArrayList();

        /* JADX INFO: renamed from: d, reason: collision with root package name */
        public Header[] f22451d = new Header[8];

        /* JADX INFO: renamed from: e, reason: collision with root package name */
        public int f22452e = 7;

        public Reader(Http2Reader.ContinuationSource continuationSource) {
            this.f22450c = AbstractC2732b.c(continuationSource);
        }

        public final int a(int i6) {
            int i7;
            int i8 = 0;
            if (i6 > 0) {
                int length = this.f22451d.length;
                while (true) {
                    length--;
                    i7 = this.f22452e;
                    if (length < i7 || i6 <= 0) {
                        break;
                    }
                    Header header = this.f22451d[length];
                    o.e(header);
                    int i9 = header.f22444c;
                    i6 -= i9;
                    this.f22454g -= i9;
                    this.f22453f--;
                    i8++;
                }
                Header[] headerArr = this.f22451d;
                System.arraycopy(headerArr, i7 + 1, headerArr, i7 + 1 + i8, this.f22453f);
                this.f22452e += i8;
            }
            return i8;
        }

        public final C2743m b(int i6) throws IOException {
            if (i6 >= 0) {
                Hpack hpack = Hpack.f22445a;
                hpack.getClass();
                Header[] headerArr = Hpack.f22446b;
                if (i6 <= headerArr.length - 1) {
                    hpack.getClass();
                    return headerArr[i6].f22442a;
                }
            }
            Hpack.f22445a.getClass();
            int length = this.f22452e + 1 + (i6 - Hpack.f22446b.length);
            if (length >= 0) {
                Header[] headerArr2 = this.f22451d;
                if (length < headerArr2.length) {
                    Header header = headerArr2[length];
                    o.e(header);
                    return header.f22442a;
                }
            }
            throw new IOException("Header index too large " + (i6 + 1));
        }

        public final void c(Header header) {
            this.f22449b.add(header);
            int i6 = this.f22448a;
            int i7 = header.f22444c;
            if (i7 > i6) {
                AbstractC3250p.J(this.f22451d, null);
                this.f22452e = this.f22451d.length - 1;
                this.f22453f = 0;
                this.f22454g = 0;
                return;
            }
            a((this.f22454g + i7) - i6);
            int i8 = this.f22453f + 1;
            Header[] headerArr = this.f22451d;
            if (i8 > headerArr.length) {
                Header[] headerArr2 = new Header[headerArr.length * 2];
                System.arraycopy(headerArr, 0, headerArr2, headerArr.length, headerArr.length);
                this.f22452e = this.f22451d.length - 1;
                this.f22451d = headerArr2;
            }
            int i9 = this.f22452e;
            this.f22452e = i9 - 1;
            this.f22451d[i9] = header;
            this.f22453f++;
            this.f22454g += i7;
        }

        public final C2743m d() {
            int i6;
            J source = this.f22450c;
            byte b5 = source.b();
            byte[] bArr = Util.f22179a;
            int i7 = b5 & 255;
            int i8 = 0;
            boolean z6 = (b5 & 128) == 128;
            long jE = e(i7, 127);
            if (!z6) {
                return source.c(jE);
            }
            C2740j c2740j = new C2740j();
            Huffman.f22583a.getClass();
            o.h(source, "source");
            Huffman.Node node = Huffman.f22586d;
            Huffman.Node node2 = node;
            int i9 = 0;
            for (long j4 = 0; j4 < jE; j4++) {
                byte b6 = source.b();
                byte[] bArr2 = Util.f22179a;
                i8 = (i8 << 8) | (b6 & 255);
                i9 += 8;
                while (i9 >= 8) {
                    Huffman.Node[] nodeArr = node2.f22587a;
                    o.e(nodeArr);
                    node2 = nodeArr[(i8 >>> (i9 - 8)) & 255];
                    o.e(node2);
                    if (node2.f22587a == null) {
                        c2740j.Q(node2.f22588b);
                        i9 -= node2.f22589c;
                        node2 = node;
                    } else {
                        i9 -= 8;
                    }
                }
            }
            while (i9 > 0) {
                Huffman.Node[] nodeArr2 = node2.f22587a;
                o.e(nodeArr2);
                Huffman.Node node3 = nodeArr2[(i8 << (8 - i9)) & 255];
                o.e(node3);
                if (node3.f22587a != null || (i6 = node3.f22589c) > i9) {
                    break;
                }
                c2740j.Q(node3.f22588b);
                i9 -= i6;
                node2 = node;
            }
            return c2740j.A(c2740j.f23100b);
        }

        public final int e(int i6, int i7) {
            int i8 = i6 & i7;
            if (i8 < i7) {
                return i8;
            }
            int i9 = 0;
            while (true) {
                byte b5 = this.f22450c.b();
                byte[] bArr = Util.f22179a;
                int i10 = b5 & 255;
                if ((b5 & 128) == 0) {
                    return i7 + (i10 << i9);
                }
                i7 += (b5 & 127) << i9;
                i9 += 7;
            }
        }
    }

    public static final class Writer {

        /* JADX INFO: renamed from: a, reason: collision with root package name */
        public final C2740j f22455a;

        /* JADX INFO: renamed from: c, reason: collision with root package name */
        public boolean f22457c;

        /* JADX INFO: renamed from: g, reason: collision with root package name */
        public int f22461g;

        /* JADX INFO: renamed from: h, reason: collision with root package name */
        public int f22462h;

        /* JADX INFO: renamed from: b, reason: collision with root package name */
        public int f22456b = Integer.MAX_VALUE;

        /* JADX INFO: renamed from: d, reason: collision with root package name */
        public int f22458d = 4096;

        /* JADX INFO: renamed from: e, reason: collision with root package name */
        public Header[] f22459e = new Header[8];

        /* JADX INFO: renamed from: f, reason: collision with root package name */
        public int f22460f = 7;

        public Writer(C2740j c2740j) {
            this.f22455a = c2740j;
        }

        public final void a(int i6) {
            int i7;
            if (i6 > 0) {
                int length = this.f22459e.length - 1;
                int i8 = 0;
                while (true) {
                    i7 = this.f22460f;
                    if (length < i7 || i6 <= 0) {
                        break;
                    }
                    Header header = this.f22459e[length];
                    o.e(header);
                    i6 -= header.f22444c;
                    int i9 = this.f22462h;
                    Header header2 = this.f22459e[length];
                    o.e(header2);
                    this.f22462h = i9 - header2.f22444c;
                    this.f22461g--;
                    i8++;
                    length--;
                }
                Header[] headerArr = this.f22459e;
                int i10 = i7 + 1;
                System.arraycopy(headerArr, i10, headerArr, i10 + i8, this.f22461g);
                Header[] headerArr2 = this.f22459e;
                int i11 = this.f22460f + 1;
                Arrays.fill(headerArr2, i11, i11 + i8, (Object) null);
                this.f22460f += i8;
            }
        }

        public final void b(Header header) {
            int i6 = this.f22458d;
            int i7 = header.f22444c;
            if (i7 > i6) {
                Header[] headerArr = this.f22459e;
                AbstractC3250p.H(headerArr, null, 0, headerArr.length);
                this.f22460f = this.f22459e.length - 1;
                this.f22461g = 0;
                this.f22462h = 0;
                return;
            }
            a((this.f22462h + i7) - i6);
            int i8 = this.f22461g + 1;
            Header[] headerArr2 = this.f22459e;
            if (i8 > headerArr2.length) {
                Header[] headerArr3 = new Header[headerArr2.length * 2];
                System.arraycopy(headerArr2, 0, headerArr3, headerArr2.length, headerArr2.length);
                this.f22460f = this.f22459e.length - 1;
                this.f22459e = headerArr3;
            }
            int i9 = this.f22460f;
            this.f22460f = i9 - 1;
            this.f22459e[i9] = header;
            this.f22461g++;
            this.f22462h += i7;
        }

        public final void c(C2743m data) throws EOFException {
            o.h(data, "data");
            C2740j c2740j = this.f22455a;
            Huffman.f22583a.getClass();
            int iD = data.d();
            long j4 = 0;
            for (int i6 = 0; i6 < iD; i6++) {
                byte bI = data.i(i6);
                byte[] bArr = Util.f22179a;
                j4 += (long) Huffman.f22585c[bI & 255];
            }
            if (((int) ((j4 + ((long) 7)) >> 3)) >= data.d()) {
                e(data.d(), 127, 0);
                c2740j.N(data);
                return;
            }
            C2740j c2740j2 = new C2740j();
            Huffman.f22583a.getClass();
            int iD2 = data.d();
            long j6 = 0;
            int i7 = 0;
            for (int i8 = 0; i8 < iD2; i8++) {
                byte bI2 = data.i(i8);
                byte[] bArr2 = Util.f22179a;
                int i9 = bI2 & 255;
                int i10 = Huffman.f22584b[i9];
                byte b5 = Huffman.f22585c[i9];
                j6 = (j6 << b5) | ((long) i10);
                i7 += b5;
                while (i7 >= 8) {
                    i7 -= 8;
                    c2740j2.Q((int) (j6 >> i7));
                }
            }
            if (i7 > 0) {
                c2740j2.Q((int) ((255 >>> i7) | (j6 << (8 - i7))));
            }
            C2743m c2743mA = c2740j2.A(c2740j2.f23100b);
            e(c2743mA.d(), 127, 128);
            c2740j.N(c2743mA);
        }

        /* JADX WARN: Removed duplicated region for block: B:22:0x006e  */
        /*
            Code decompiled incorrectly, please refer to instructions dump.
        */
        public final void d(ArrayList arrayList) throws EOFException {
            int length;
            int length2;
            if (this.f22457c) {
                int i6 = this.f22456b;
                if (i6 < this.f22458d) {
                    e(i6, 31, 32);
                }
                this.f22457c = false;
                this.f22456b = Integer.MAX_VALUE;
                e(this.f22458d, 31, 32);
            }
            int size = arrayList.size();
            for (int i7 = 0; i7 < size; i7++) {
                Header header = (Header) arrayList.get(i7);
                C2743m c2743mR = header.f22442a.r();
                Hpack.f22445a.getClass();
                Integer num = (Integer) Hpack.f22447c.get(c2743mR);
                C2743m c2743m = header.f22443b;
                if (num != null) {
                    int iIntValue = num.intValue();
                    length2 = iIntValue + 1;
                    if (2 > length2 || length2 >= 8) {
                        length = length2;
                        length2 = -1;
                    } else {
                        Header[] headerArr = Hpack.f22446b;
                        if (o.c(headerArr[iIntValue].f22443b, c2743m)) {
                            length = length2;
                        } else if (o.c(headerArr[length2].f22443b, c2743m)) {
                            length2 = iIntValue + 2;
                            length = length2;
                        }
                    }
                } else {
                    length = -1;
                    length2 = -1;
                }
                if (length2 == -1) {
                    int i8 = this.f22460f + 1;
                    int length3 = this.f22459e.length;
                    while (true) {
                        if (i8 >= length3) {
                            break;
                        }
                        Header header2 = this.f22459e[i8];
                        o.e(header2);
                        if (o.c(header2.f22442a, c2743mR)) {
                            Header header3 = this.f22459e[i8];
                            o.e(header3);
                            if (o.c(header3.f22443b, c2743m)) {
                                int i9 = i8 - this.f22460f;
                                Hpack.f22445a.getClass();
                                length2 = Hpack.f22446b.length + i9;
                                break;
                            } else if (length == -1) {
                                int i10 = i8 - this.f22460f;
                                Hpack.f22445a.getClass();
                                length = i10 + Hpack.f22446b.length;
                            }
                        }
                        i8++;
                    }
                }
                if (length2 != -1) {
                    e(length2, 127, 128);
                } else if (length == -1) {
                    this.f22455a.Q(64);
                    c(c2743mR);
                    c(c2743m);
                    b(header);
                } else if (!c2743mR.o(Header.f22436d) || o.c(Header.f22441i, c2743mR)) {
                    e(length, 63, 64);
                    c(c2743m);
                    b(header);
                } else {
                    e(length, 15, 0);
                    c(c2743m);
                }
            }
        }

        public final void e(int i6, int i7, int i8) {
            C2740j c2740j = this.f22455a;
            if (i6 < i7) {
                c2740j.Q(i6 | i8);
                return;
            }
            c2740j.Q(i8 | i7);
            int i9 = i6 - i7;
            while (i9 >= 128) {
                c2740j.Q(128 | (i9 & 127));
                i9 >>>= 7;
            }
            c2740j.Q(i9);
        }
    }

    static {
        Header header = new Header(Header.f22441i, "");
        C2743m c2743m = Header.f22438f;
        Header header2 = new Header(c2743m, "GET");
        Header header3 = new Header(c2743m, "POST");
        C2743m c2743m2 = Header.f22439g;
        Header header4 = new Header(c2743m2, RemoteSettings.FORWARD_SLASH_STRING);
        Header header5 = new Header(c2743m2, "/index.html");
        C2743m c2743m3 = Header.f22440h;
        Header header6 = new Header(c2743m3, "http");
        Header header7 = new Header(c2743m3, "https");
        C2743m c2743m4 = Header.f22437e;
        Header[] headerArr = {header, header2, header3, header4, header5, header6, header7, new Header(c2743m4, "200"), new Header(c2743m4, "204"), new Header(c2743m4, "206"), new Header(c2743m4, "304"), new Header(c2743m4, "400"), new Header(c2743m4, "404"), new Header(c2743m4, "500"), new Header("accept-charset", ""), new Header("accept-encoding", "gzip, deflate"), new Header("accept-language", ""), new Header("accept-ranges", ""), new Header("accept", ""), new Header("access-control-allow-origin", ""), new Header("age", ""), new Header("allow", ""), new Header("authorization", ""), new Header("cache-control", ""), new Header("content-disposition", ""), new Header("content-encoding", ""), new Header("content-language", ""), new Header("content-length", ""), new Header("content-location", ""), new Header("content-range", ""), new Header("content-type", ""), new Header("cookie", ""), new Header("date", ""), new Header("etag", ""), new Header("expect", ""), new Header("expires", ""), new Header("from", ""), new Header(DiagnosticsTracker.HOST_KEY, ""), new Header("if-match", ""), new Header("if-modified-since", ""), new Header("if-none-match", ""), new Header("if-range", ""), new Header("if-unmodified-since", ""), new Header("last-modified", ""), new Header("link", ""), new Header("location", ""), new Header("max-forwards", ""), new Header("proxy-authenticate", ""), new Header("proxy-authorization", ""), new Header("range", ""), new Header("referer", ""), new Header("refresh", ""), new Header("retry-after", ""), new Header("server", ""), new Header("set-cookie", ""), new Header("strict-transport-security", ""), new Header("transfer-encoding", ""), new Header("user-agent", ""), new Header("vary", ""), new Header("via", ""), new Header("www-authenticate", "")};
        f22446b = headerArr;
        LinkedHashMap linkedHashMap = new LinkedHashMap(headerArr.length);
        int length = headerArr.length;
        for (int i6 = 0; i6 < length; i6++) {
            if (!linkedHashMap.containsKey(headerArr[i6].f22442a)) {
                linkedHashMap.put(headerArr[i6].f22442a, Integer.valueOf(i6));
            }
        }
        Map mapUnmodifiableMap = Collections.unmodifiableMap(linkedHashMap);
        o.g(mapUnmodifiableMap, "unmodifiableMap(result)");
        f22447c = mapUnmodifiableMap;
    }

    private Hpack() {
    }

    public static void a(C2743m name) {
        o.h(name, "name");
        int iD = name.d();
        for (int i6 = 0; i6 < iD; i6++) {
            byte bI = name.i(i6);
            if (65 <= bI && bI < 91) {
                throw new IOException("PROTOCOL_ERROR response malformed: mixed case name: ".concat(name.t()));
            }
        }
    }
}
