package j$.time.zone;

import j$.time.Instant;
import j$.time.LocalDate;
import j$.time.LocalDateTime;
import j$.time.ZoneOffset;
import java.io.IOException;
import java.io.InvalidObjectException;
import java.io.ObjectInput;
import java.io.ObjectInputStream;
import java.io.ObjectOutput;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.TimeZone;
import java.util.concurrent.ConcurrentHashMap;

/* JADX INFO: loaded from: classes2.dex */
public final class f implements Serializable {

    /* JADX INFO: renamed from: i, reason: collision with root package name */
    private static final long[] f19406i = new long[0];

    /* JADX INFO: renamed from: j, reason: collision with root package name */
    private static final e[] f19407j = new e[0];

    /* JADX INFO: renamed from: k, reason: collision with root package name */
    private static final LocalDateTime[] f19408k = new LocalDateTime[0];
    private static final b[] l = new b[0];
    private static final long serialVersionUID = 3044319355680032515L;

    /* JADX INFO: renamed from: a, reason: collision with root package name */
    private final long[] f19409a;

    /* JADX INFO: renamed from: b, reason: collision with root package name */
    private final ZoneOffset[] f19410b;

    /* JADX INFO: renamed from: c, reason: collision with root package name */
    private final long[] f19411c;

    /* JADX INFO: renamed from: d, reason: collision with root package name */
    private final LocalDateTime[] f19412d;

    /* JADX INFO: renamed from: e, reason: collision with root package name */
    private final ZoneOffset[] f19413e;

    /* JADX INFO: renamed from: f, reason: collision with root package name */
    private final e[] f19414f;

    /* JADX INFO: renamed from: g, reason: collision with root package name */
    private final TimeZone f19415g;

    /* JADX INFO: renamed from: h, reason: collision with root package name */
    private final transient ConcurrentHashMap f19416h = new ConcurrentHashMap();

    public static f i(ZoneOffset zoneOffset) {
        Objects.requireNonNull(zoneOffset, "offset");
        return new f(zoneOffset);
    }

    private f(long[] jArr, ZoneOffset[] zoneOffsetArr, long[] jArr2, ZoneOffset[] zoneOffsetArr2, e[] eVarArr) {
        this.f19409a = jArr;
        this.f19410b = zoneOffsetArr;
        this.f19411c = jArr2;
        this.f19413e = zoneOffsetArr2;
        this.f19414f = eVarArr;
        if (jArr2.length == 0) {
            this.f19412d = f19408k;
        } else {
            ArrayList arrayList = new ArrayList();
            int i6 = 0;
            while (i6 < jArr2.length) {
                int i7 = i6 + 1;
                b bVar = new b(jArr2[i6], zoneOffsetArr2[i6], zoneOffsetArr2[i7]);
                if (bVar.Y()) {
                    arrayList.add(bVar.r());
                    arrayList.add(bVar.p());
                } else {
                    arrayList.add(bVar.p());
                    arrayList.add(bVar.r());
                }
                i6 = i7;
            }
            this.f19412d = (LocalDateTime[]) arrayList.toArray(new LocalDateTime[arrayList.size()]);
        }
        this.f19415g = null;
    }

    private f(ZoneOffset zoneOffset) {
        ZoneOffset[] zoneOffsetArr = {zoneOffset};
        this.f19410b = zoneOffsetArr;
        long[] jArr = f19406i;
        this.f19409a = jArr;
        this.f19411c = jArr;
        this.f19412d = f19408k;
        this.f19413e = zoneOffsetArr;
        this.f19414f = f19407j;
        this.f19415g = null;
    }

    f(TimeZone timeZone) {
        ZoneOffset[] zoneOffsetArr = {j(timeZone.getRawOffset())};
        this.f19410b = zoneOffsetArr;
        long[] jArr = f19406i;
        this.f19409a = jArr;
        this.f19411c = jArr;
        this.f19412d = f19408k;
        this.f19413e = zoneOffsetArr;
        this.f19414f = f19407j;
        this.f19415g = timeZone;
    }

    private static ZoneOffset j(int i6) {
        return ZoneOffset.f0(i6 / 1000);
    }

    private void readObject(ObjectInputStream objectInputStream) throws InvalidObjectException {
        throw new InvalidObjectException("Deserialization via serialization delegate");
    }

    private Object writeReplace() {
        return new a(this.f19415g != null ? (byte) 100 : (byte) 1, this);
    }

    final void writeExternal(ObjectOutput objectOutput) throws IOException {
        long[] jArr = this.f19409a;
        objectOutput.writeInt(jArr.length);
        for (long j4 : jArr) {
            a.c(j4, objectOutput);
        }
        for (ZoneOffset zoneOffset : this.f19410b) {
            a.d(zoneOffset, objectOutput);
        }
        long[] jArr2 = this.f19411c;
        objectOutput.writeInt(jArr2.length);
        for (long j6 : jArr2) {
            a.c(j6, objectOutput);
        }
        for (ZoneOffset zoneOffset2 : this.f19413e) {
            a.d(zoneOffset2, objectOutput);
        }
        e[] eVarArr = this.f19414f;
        objectOutput.writeByte(eVarArr.length);
        for (e eVar : eVarArr) {
            eVar.writeExternal(objectOutput);
        }
    }

    final void l(ObjectOutput objectOutput) throws IOException {
        objectOutput.writeUTF(this.f19415g.getID());
    }

    static f k(ObjectInput objectInput) throws IOException {
        int i6 = objectInput.readInt();
        long[] jArr = f19406i;
        long[] jArr2 = i6 == 0 ? jArr : new long[i6];
        for (int i7 = 0; i7 < i6; i7++) {
            jArr2[i7] = a.a(objectInput);
        }
        int i8 = i6 + 1;
        ZoneOffset[] zoneOffsetArr = new ZoneOffset[i8];
        for (int i9 = 0; i9 < i8; i9++) {
            zoneOffsetArr[i9] = a.b(objectInput);
        }
        int i10 = objectInput.readInt();
        if (i10 != 0) {
            jArr = new long[i10];
        }
        long[] jArr3 = jArr;
        for (int i11 = 0; i11 < i10; i11++) {
            jArr3[i11] = a.a(objectInput);
        }
        int i12 = i10 + 1;
        ZoneOffset[] zoneOffsetArr2 = new ZoneOffset[i12];
        for (int i13 = 0; i13 < i12; i13++) {
            zoneOffsetArr2[i13] = a.b(objectInput);
        }
        int i14 = objectInput.readByte();
        e[] eVarArr = i14 == 0 ? f19407j : new e[i14];
        for (int i15 = 0; i15 < i14; i15++) {
            eVarArr[i15] = e.b(objectInput);
        }
        return new f(jArr2, zoneOffsetArr, jArr3, zoneOffsetArr2, eVarArr);
    }

    public final ZoneOffset d(Instant instant) {
        TimeZone timeZone = this.f19415g;
        if (timeZone != null) {
            return j(timeZone.getOffset(instant.Y()));
        }
        long[] jArr = this.f19411c;
        if (jArr.length == 0) {
            return this.f19410b[0];
        }
        long epochSecond = instant.getEpochSecond();
        int length = this.f19414f.length;
        ZoneOffset[] zoneOffsetArr = this.f19413e;
        if (length > 0 && epochSecond > jArr[jArr.length - 1]) {
            b[] bVarArrB = b(c(epochSecond, zoneOffsetArr[zoneOffsetArr.length - 1]));
            b bVar = null;
            for (int i6 = 0; i6 < bVarArrB.length; i6++) {
                bVar = bVarArrB[i6];
                if (epochSecond < bVar.Q()) {
                    return bVar.U();
                }
            }
            return bVar.J();
        }
        int iBinarySearch = Arrays.binarySearch(jArr, epochSecond);
        if (iBinarySearch < 0) {
            iBinarySearch = (-iBinarySearch) - 2;
        }
        return zoneOffsetArr[iBinarySearch + 1];
    }

    public final List g(LocalDateTime localDateTime) {
        Object objE = e(localDateTime);
        if (objE instanceof b) {
            return ((b) objE).V();
        }
        return Collections.singletonList((ZoneOffset) objE);
    }

    public final b f(LocalDateTime localDateTime) {
        Object objE = e(localDateTime);
        if (objE instanceof b) {
            return (b) objE;
        }
        return null;
    }

    private Object e(LocalDateTime localDateTime) {
        Object obj = null;
        ZoneOffset[] zoneOffsetArr = this.f19410b;
        int i6 = 0;
        TimeZone timeZone = this.f19415g;
        if (timeZone != null) {
            b[] bVarArrB = b(localDateTime.J());
            if (bVarArrB.length == 0) {
                return j(timeZone.getOffset(localDateTime.a0(zoneOffsetArr[0]) * 1000));
            }
            int length = bVarArrB.length;
            while (i6 < length) {
                b bVar = bVarArrB[i6];
                Object objA = a(localDateTime, bVar);
                if ((objA instanceof b) || objA.equals(bVar.U())) {
                    return objA;
                }
                i6++;
                obj = objA;
            }
            return obj;
        }
        if (this.f19411c.length == 0) {
            return zoneOffsetArr[0];
        }
        int length2 = this.f19414f.length;
        LocalDateTime[] localDateTimeArr = this.f19412d;
        if (length2 > 0 && localDateTime.U(localDateTimeArr[localDateTimeArr.length - 1])) {
            b[] bVarArrB2 = b(localDateTime.J());
            int length3 = bVarArrB2.length;
            while (i6 < length3) {
                b bVar2 = bVarArrB2[i6];
                Object objA2 = a(localDateTime, bVar2);
                if ((objA2 instanceof b) || objA2.equals(bVar2.U())) {
                    return objA2;
                }
                i6++;
                obj = objA2;
            }
            return obj;
        }
        int iBinarySearch = Arrays.binarySearch(localDateTimeArr, localDateTime);
        ZoneOffset[] zoneOffsetArr2 = this.f19413e;
        if (iBinarySearch == -1) {
            return zoneOffsetArr2[0];
        }
        if (iBinarySearch < 0) {
            iBinarySearch = (-iBinarySearch) - 2;
        } else if (iBinarySearch < localDateTimeArr.length - 1) {
            int i7 = iBinarySearch + 1;
            if (localDateTimeArr[iBinarySearch].equals(localDateTimeArr[i7])) {
                iBinarySearch = i7;
            }
        }
        if ((iBinarySearch & 1) == 0) {
            LocalDateTime localDateTime2 = localDateTimeArr[iBinarySearch];
            LocalDateTime localDateTime3 = localDateTimeArr[iBinarySearch + 1];
            int i8 = iBinarySearch / 2;
            ZoneOffset zoneOffset = zoneOffsetArr2[i8];
            ZoneOffset zoneOffset2 = zoneOffsetArr2[i8 + 1];
            if (zoneOffset2.c0() > zoneOffset.c0()) {
                return new b(localDateTime2, zoneOffset, zoneOffset2);
            }
            return new b(localDateTime3, zoneOffset, zoneOffset2);
        }
        return zoneOffsetArr2[(iBinarySearch / 2) + 1];
    }

    private static Object a(LocalDateTime localDateTime, b bVar) {
        LocalDateTime localDateTimeR = bVar.r();
        if (bVar.Y()) {
            if (localDateTime.V(localDateTimeR)) {
                return bVar.U();
            }
            if (!localDateTime.V(bVar.p())) {
                return bVar.J();
            }
        } else {
            if (!localDateTime.V(localDateTimeR)) {
                return bVar.J();
            }
            if (localDateTime.V(bVar.p())) {
                return bVar.U();
            }
        }
        return bVar;
    }

    private b[] b(int i6) {
        Integer numValueOf = Integer.valueOf(i6);
        ConcurrentHashMap concurrentHashMap = this.f19416h;
        b[] bVarArr = (b[]) concurrentHashMap.get(numValueOf);
        if (bVarArr != null) {
            return bVarArr;
        }
        TimeZone timeZone = this.f19415g;
        if (timeZone != null) {
            b[] bVarArr2 = l;
            if (i6 < 1800) {
                return bVarArr2;
            }
            long jA0 = LocalDateTime.Y(i6 - 1).a0(this.f19410b[0]);
            long j4 = 1000;
            int offset = timeZone.getOffset(jA0 * 1000);
            long j6 = 31968000 + jA0;
            while (jA0 < j6) {
                long j7 = 7776000 + jA0;
                long j8 = j4;
                if (offset != timeZone.getOffset(j7 * j8)) {
                    while (j7 - jA0 > 1) {
                        int i7 = offset;
                        long jFloorDiv = Math.floorDiv(j7 + jA0, 2L);
                        if (timeZone.getOffset(jFloorDiv * j8) == i7) {
                            jA0 = jFloorDiv;
                        } else {
                            j7 = jFloorDiv;
                        }
                        offset = i7;
                    }
                    int i8 = offset;
                    if (timeZone.getOffset(jA0 * j8) == i8) {
                        jA0 = j7;
                    }
                    ZoneOffset zoneOffsetJ = j(i8);
                    offset = timeZone.getOffset(jA0 * j8);
                    ZoneOffset zoneOffsetJ2 = j(offset);
                    if (c(jA0, zoneOffsetJ2) == i6) {
                        bVarArr2 = (b[]) Arrays.copyOf(bVarArr2, bVarArr2.length + 1);
                        bVarArr2[bVarArr2.length - 1] = new b(jA0, zoneOffsetJ, zoneOffsetJ2);
                    }
                } else {
                    jA0 = j7;
                }
                j4 = j8;
            }
            if (1916 <= i6 && i6 < 2100) {
                concurrentHashMap.putIfAbsent(numValueOf, bVarArr2);
            }
            return bVarArr2;
        }
        e[] eVarArr = this.f19414f;
        b[] bVarArr3 = new b[eVarArr.length];
        for (int i9 = 0; i9 < eVarArr.length; i9++) {
            bVarArr3[i9] = eVarArr[i9].a(i6);
        }
        if (i6 < 2100) {
            concurrentHashMap.putIfAbsent(numValueOf, bVarArr3);
        }
        return bVarArr3;
    }

    public final boolean h(Instant instant) {
        ZoneOffset zoneOffsetJ;
        TimeZone timeZone = this.f19415g;
        if (timeZone != null) {
            zoneOffsetJ = j(timeZone.getRawOffset());
        } else {
            int length = this.f19411c.length;
            ZoneOffset[] zoneOffsetArr = this.f19410b;
            if (length == 0) {
                zoneOffsetJ = zoneOffsetArr[0];
            } else {
                int iBinarySearch = Arrays.binarySearch(this.f19409a, instant.getEpochSecond());
                if (iBinarySearch < 0) {
                    iBinarySearch = (-iBinarySearch) - 2;
                }
                zoneOffsetJ = zoneOffsetArr[iBinarySearch + 1];
            }
        }
        return !zoneOffsetJ.equals(d(instant));
    }

    private static int c(long j4, ZoneOffset zoneOffset) {
        return LocalDate.j0(Math.floorDiv(j4 + ((long) zoneOffset.c0()), 86400)).c0();
    }

    public final boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (obj instanceof f) {
            f fVar = (f) obj;
            if (Objects.equals(this.f19415g, fVar.f19415g) && Arrays.equals(this.f19409a, fVar.f19409a) && Arrays.equals(this.f19410b, fVar.f19410b) && Arrays.equals(this.f19411c, fVar.f19411c) && Arrays.equals(this.f19413e, fVar.f19413e) && Arrays.equals(this.f19414f, fVar.f19414f)) {
                return true;
            }
        }
        return false;
    }

    public final int hashCode() {
        return ((((Objects.hashCode(this.f19415g) ^ Arrays.hashCode(this.f19409a)) ^ Arrays.hashCode(this.f19410b)) ^ Arrays.hashCode(this.f19411c)) ^ Arrays.hashCode(this.f19413e)) ^ Arrays.hashCode(this.f19414f);
    }

    public final String toString() {
        TimeZone timeZone = this.f19415g;
        if (timeZone != null) {
            return "ZoneRules[timeZone=" + timeZone.getID() + "]";
        }
        return "ZoneRules[currentStandardOffset=" + this.f19410b[r1.length - 1] + "]";
    }
}
