package o; import java.io.ByteArrayInputStream; import java.io.EOFException; import java.io.FilterInputStream; import java.io.IOException; import java.io.InputStream; import org.spongycastle.asn1.ASN1Exception; import org.spongycastle.asn1.ASN1Integer; /* renamed from: o.gnx, reason: case insensitive filesystem */ /* loaded from: classes6.dex */ public final class C15348gnx extends FilterInputStream { final int a; private final byte[][] c; private final boolean e; public C15348gnx(InputStream inputStream) { this(inputStream, goV.c(inputStream)); } public C15348gnx(byte[] bArr) { this(new ByteArrayInputStream(bArr), bArr.length); } public C15348gnx(byte[] bArr, byte b) { this(new ByteArrayInputStream(bArr), bArr.length, true); } private C15348gnx(InputStream inputStream, int i) { this(inputStream, i, false); } public C15348gnx(InputStream inputStream, byte b) { this(inputStream, goV.c(inputStream), true); } private C15348gnx(InputStream inputStream, int i, boolean z) { super(inputStream); this.a = i; this.e = z; this.c = new byte[11]; } private static C15343gns b(C15359goT c15359goT) throws IOException { C15348gnx c15348gnx = new C15348gnx(c15359goT); C15343gns c15343gns = new C15343gns(); while (true) { AbstractC15315gnE b = c15348gnx.b(); if (b == null) { return c15343gns; } c15343gns.a.addElement(b); } } public final AbstractC15315gnE b() throws IOException { int read = read(); if (read <= 0) { if (read != 0) { return null; } throw new IOException("unexpected end-of-contents marker"); } int a = a(this, read); int i = read & 32; boolean z = i != 0; int d = d(this, this.a); if (d < 0) { if (!z) { throw new IOException("indefinite-length primitive encoding encountered"); } gnK gnk = new gnK(new goS(this, this.a), this.a); if ((read & 64) != 0) { return new gnW(a, gnk).a(); } if ((read & 128) != 0) { return new gnZ(true, a, gnk).a(); } if (a == 4) { return new C15324gnU(gnk).a(); } if (a == 8) { return new C15375goo(gnk).a(); } if (a == 16) { return new C15366gof(gnk).a(); } if (a == 17) { return new C15365goe(gnk).a(); } throw new IOException("unknown BER object encountered"); } boolean z2 = i != 0; try { C15359goT c15359goT = new C15359goT(this, d); if ((read & 64) != 0) { return new C15368goh(z2, a, c15359goT.a()); } if ((read & 128) != 0) { return new gnK(c15359goT).b(z2, a); } if (!z2) { return a(a, c15359goT, this.c); } if (a == 4) { C15343gns b = b(c15359goT); int size = b.a.size(); gnD[] gndArr = new gnD[size]; for (int i2 = 0; i2 != size; i2++) { gndArr[i2] = (gnD) ((InterfaceC15342gnr) b.a.elementAt(i2)); } return new gnV(gndArr); } if (a == 8) { return new C15371gok(b(c15359goT)); } if (a == 16) { if (this.e) { return new C15360goX(c15359goT.a()); } return C15373gom.c(b(c15359goT)); } if (a == 17) { return C15373gom.e(b(c15359goT)); } StringBuilder sb = new StringBuilder("unknown tag "); sb.append(a); sb.append(" encountered"); throw new IOException(sb.toString()); } catch (IllegalArgumentException e) { throw new ASN1Exception("corrupted stream detected", e); } } /* JADX INFO: Access modifiers changed from: package-private */ public static int a(InputStream inputStream, int i) throws IOException { int i2 = i & 31; if (i2 != 31) { return i2; } int read = inputStream.read(); if ((read & 127) == 0) { throw new IOException("corrupted stream - invalid high tag number found"); } int i3 = 0; while (read >= 0 && (read & 128) != 0) { i3 = ((read & 127) | i3) << 7; read = inputStream.read(); } if (read >= 0) { return i3 | (read & 127); } throw new EOFException("EOF found inside tag value."); } /* JADX INFO: Access modifiers changed from: package-private */ public static int d(InputStream inputStream, int i) throws IOException { int read = inputStream.read(); if (read < 0) { throw new EOFException("EOF found when length expected"); } if (read == 128) { return -1; } if (read <= 127) { return read; } int i2 = read & 127; if (i2 > 4) { throw new IOException("DER length more than 4 bytes: ".concat(String.valueOf(i2))); } int i3 = 0; for (int i4 = 0; i4 < i2; i4++) { int read2 = inputStream.read(); if (read2 < 0) { throw new EOFException("EOF found reading length"); } i3 = (i3 << 8) + read2; } if (i3 < 0) { throw new IOException("corrupted stream - negative length found"); } if (i3 < i) { return i3; } throw new IOException("corrupted stream - out of bounds length found"); } /* JADX INFO: Access modifiers changed from: package-private */ public static AbstractC15315gnE a(int i, C15359goT c15359goT, byte[][] bArr) throws IOException { if (i == 10) { return C15350gnz.d(e(c15359goT, bArr)); } if (i == 12) { return new goD(c15359goT.a()); } if (i == 30) { return new C15372gol(e(c15359goT)); } switch (i) { case 1: return C15345gnu.d(e(c15359goT, bArr)); case 2: return new ASN1Integer(c15359goT.a(), false); case 3: return AbstractC15344gnt.b(c15359goT.b, c15359goT); case 4: return new C15382gov(c15359goT.a()); case 5: return C15380got.a; case 6: return C15314gnC.a(e(c15359goT, bArr)); default: switch (i) { case 18: return new C15379gos(c15359goT.a()); case 19: return new goA(c15359goT.a()); case 20: return new C15353goE(c15359goT.a()); case 21: return new goC(c15359goT.a()); case 22: return new C15376gop(c15359goT.a()); case 23: return new C15320gnN(c15359goT.a()); case 24: return new C15349gny(c15359goT.a()); case 25: return new C15374gon(c15359goT.a()); case 26: return new C15357goM(c15359goT.a()); case 27: return new C15378gor(c15359goT.a()); case 28: return new goH(c15359goT.a()); default: StringBuilder sb = new StringBuilder("unknown tag "); sb.append(i); sb.append(" encountered"); throw new IOException(sb.toString()); } } } private static char[] e(C15359goT c15359goT) throws IOException { int read; int i = c15359goT.b / 2; char[] cArr = new char[i]; for (int i2 = 0; i2 < i; i2++) { int read2 = c15359goT.read(); if (read2 < 0 || (read = c15359goT.read()) < 0) { break; } cArr[i2] = (char) ((read2 << 8) | (read & 255)); } return cArr; } private static byte[] e(C15359goT c15359goT, byte[][] bArr) throws IOException { int i = c15359goT.b; if (c15359goT.b < bArr.length) { byte[] bArr2 = bArr[i]; if (bArr2 == null) { bArr2 = new byte[i]; bArr[i] = bArr2; } int length = bArr2.length; int i2 = 0; while (i2 < length) { int read = c15359goT.read(bArr2, i2, length - i2); if (read < 0) { break; } i2 += read; } return bArr2; } return c15359goT.a(); } }