package kotlin.collections.builders;

import androidx.media3.exoplayer.rtsp.SessionDescription;
import androidx.media3.exoplayer.upstream.CmcdData;
import hb.a;
import java.io.NotSerializableException;
import java.io.Serializable;
import java.util.Arrays;
import java.util.Collection;
import java.util.Map;
import java.util.NoSuchElementException;
import java.util.Set;
import kotlin.Metadata;
import ld.e;
import ld.f;
import ld.g;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import td.c;
import xd.b;
import xyz.stream.download.config.InnerConstant;

/* JADX INFO: loaded from: classes.dex */
@Metadata(d1 = {"\u0000R\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010%\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\u0011\n\u0002\b\u0003\n\u0002\u0010\u0015\n\u0002\b\u0003\n\u0002\u0010\b\n\u0002\b\b\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u000b\n\u0002\b\u000b\b\u0000\u0018\u0000*\u0004\b\u0000\u0010\u0001*\u0004\b\u0001\u0010\u00022\u000e\u0012\u0004\u0012\u00028\u0000\u0012\u0004\u0012\u00028\u00010\u00032\u00060\u0004j\u0002`\u0005:\u0006)*+,**B\t\b\u0016¢\u0006\u0004\b'\u0010(J\b\u0010\u0007\u001a\u00020\u0006H\u0002R\u001c\u0010\t\u001a\b\u0012\u0004\u0012\u00028\u00000\b8\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\b\t\u0010\nR\u001e\u0010\u000b\u001a\n\u0012\u0004\u0012\u00028\u0001\u0018\u00010\b8\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\b\u000b\u0010\nR\u0016\u0010\r\u001a\u00020\f8\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\b\r\u0010\u000eR\u0016\u0010\u000f\u001a\u00020\f8\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\b\u000f\u0010\u000eR\u0016\u0010\u0011\u001a\u00020\u00108\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\b\u0011\u0010\u0012R\u0016\u0010\u0013\u001a\u00020\u00108\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\b\u0013\u0010\u0012R\u0016\u0010\u0014\u001a\u00020\u00108\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\b\u0014\u0010\u0012R$\u0010\u0016\u001a\u00020\u00102\u0006\u0010\u0015\u001a\u00020\u00108\u0016@RX\u0096\u000e¢\u0006\f\n\u0004\b\u0016\u0010\u0012\u001a\u0004\b\u0017\u0010\u0018R\u001e\u0010\u001a\u001a\n\u0012\u0004\u0012\u00028\u0000\u0018\u00010\u00198\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\b\u001a\u0010\u001bR\u001e\u0010\u001d\u001a\n\u0012\u0004\u0012\u00028\u0001\u0018\u00010\u001c8\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\b\u001d\u0010\u001eR$\u0010 \u001a\u0010\u0012\u0004\u0012\u00028\u0000\u0012\u0004\u0012\u00028\u0001\u0018\u00010\u001f8\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\b \u0010!R$\u0010#\u001a\u00020\"2\u0006\u0010\u0015\u001a\u00020\"8\u0000@BX\u0080\u000e¢\u0006\f\n\u0004\b#\u0010$\u001a\u0004\b%\u0010&¨\u0006-"}, d2 = {"Lkotlin/collections/builders/MapBuilder;", "K", "V", "", "Ljava/io/Serializable;", "Lkotlin/io/Serializable;", "", "writeReplace", "", "keysArray", "[Ljava/lang/Object;", "valuesArray", "", "presenceArray", "[I", "hashArray", "", "maxProbeDistance", "I", SessionDescription.ATTR_LENGTH, "hashShift", "<set-?>", InnerConstant.Db.size, "getSize", "()I", "Lld/f;", "keysView", "Lld/f;", "Lld/g;", "valuesView", "Lld/g;", "Lld/e;", "entriesView", "Lld/e;", "", "isReadOnly", "Z", "r", "()Z", "<init>", "()V", "com/google/android/gms/measurement/internal/c0", "ld/b", "ld/c", "ld/d", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0})
public final class MapBuilder<K, V> implements Map<K, V>, Serializable, c {

    @Nullable
    private e entriesView;

    @NotNull
    private int[] hashArray;
    private int hashShift;
    private boolean isReadOnly;

    @NotNull
    private K[] keysArray;

    @Nullable
    private f keysView;
    private int length;
    private int maxProbeDistance;

    @NotNull
    private int[] presenceArray;
    private int size;

    @Nullable
    private V[] valuesArray;

    @Nullable
    private g valuesView;

    public MapBuilder() {
        this(8);
    }

    private final Object writeReplace() throws NotSerializableException {
        if (this.isReadOnly) {
            return new SerializedMap(this);
        }
        throw new NotSerializableException("The map cannot be serialized while it is being built.");
    }

    @Override // java.util.Map
    public final void clear() {
        k();
        xd.c cVar = new xd.c(0, this.length - 1, 1);
        b bVar = new b(0, cVar.f34808b, cVar.f34809c);
        while (bVar.f34812c) {
            int iB = bVar.b();
            int[] iArr = this.presenceArray;
            int i10 = iArr[iB];
            if (i10 >= 0) {
                this.hashArray[i10] = 0;
                iArr[iB] = -1;
            }
        }
        a.x0(this.keysArray, 0, this.length);
        V[] vArr = this.valuesArray;
        if (vArr != null) {
            a.x0(vArr, 0, this.length);
        }
        this.size = 0;
        this.length = 0;
    }

    @Override // java.util.Map
    public final boolean containsKey(Object obj) {
        return o(obj) >= 0;
    }

    @Override // java.util.Map
    public final boolean containsValue(Object obj) {
        return p(obj) >= 0;
    }

    @Override // java.util.Map
    public final Set entrySet() {
        e eVar = this.entriesView;
        if (eVar != null) {
            return eVar;
        }
        e eVar2 = new e(this);
        this.entriesView = eVar2;
        return eVar2;
    }

    @Override // java.util.Map
    public final boolean equals(Object obj) {
        if (obj != this) {
            if (obj instanceof Map) {
                Map map = (Map) obj;
                if (this.size != map.size() || !l(map.entrySet())) {
                }
            }
            return false;
        }
        return true;
    }

    public final int g(Object obj) {
        k();
        while (true) {
            int iQ = q(obj);
            int i10 = this.maxProbeDistance * 2;
            int length = this.hashArray.length / 2;
            if (i10 > length) {
                i10 = length;
            }
            int i11 = 0;
            while (true) {
                int[] iArr = this.hashArray;
                int i12 = iArr[iQ];
                if (i12 <= 0) {
                    int i13 = this.length;
                    Object[] objArr = (K[]) this.keysArray;
                    if (i13 < objArr.length) {
                        int i14 = i13 + 1;
                        this.length = i14;
                        objArr[i13] = obj;
                        this.presenceArray[i13] = iQ;
                        iArr[iQ] = i14;
                        this.size++;
                        if (i11 > this.maxProbeDistance) {
                            this.maxProbeDistance = i11;
                        }
                        return i13;
                    }
                    n(1);
                } else {
                    if (nb.g.c(this.keysArray[i12 - 1], obj)) {
                        return -i12;
                    }
                    i11++;
                    if (i11 > i10) {
                        s(this.hashArray.length * 2);
                        break;
                    }
                    iQ = iQ == 0 ? this.hashArray.length - 1 : iQ - 1;
                }
            }
        }
    }

    @Override // java.util.Map
    public final Object get(Object obj) {
        int iO = o(obj);
        if (iO < 0) {
            return null;
        }
        V[] vArr = this.valuesArray;
        nb.g.f(vArr);
        return vArr[iO];
    }

    @Override // java.util.Map
    public final int hashCode() {
        ld.b bVar = new ld.b(this, 0);
        int i10 = 0;
        while (bVar.hasNext()) {
            int i11 = bVar.f30219b;
            MapBuilder mapBuilder = bVar.f30218a;
            if (i11 >= mapBuilder.length) {
                throw new NoSuchElementException();
            }
            bVar.f30219b = i11 + 1;
            bVar.f30220c = i11;
            K k6 = mapBuilder.keysArray[i11];
            int iHashCode = k6 != null ? k6.hashCode() : 0;
            V[] vArr = mapBuilder.valuesArray;
            nb.g.f(vArr);
            V v10 = vArr[bVar.f30220c];
            int iHashCode2 = v10 != null ? v10.hashCode() : 0;
            bVar.a();
            i10 += iHashCode ^ iHashCode2;
        }
        return i10;
    }

    public final Object[] i() {
        V[] vArr = this.valuesArray;
        if (vArr != null) {
            return vArr;
        }
        int length = this.keysArray.length;
        if (length < 0) {
            throw new IllegalArgumentException("capacity must be non-negative.".toString());
        }
        V[] vArr2 = (V[]) new Object[length];
        this.valuesArray = vArr2;
        return vArr2;
    }

    @Override // java.util.Map
    public final boolean isEmpty() {
        return this.size == 0;
    }

    public final void j() {
        k();
        this.isReadOnly = true;
    }

    public final void k() {
        if (this.isReadOnly) {
            throw new UnsupportedOperationException();
        }
    }

    @Override // java.util.Map
    public final Set keySet() {
        f fVar = this.keysView;
        if (fVar != null) {
            return fVar;
        }
        f fVar2 = new f(this);
        this.keysView = fVar2;
        return fVar2;
    }

    public final boolean l(Collection collection) {
        nb.g.i(collection, CmcdData.OBJECT_TYPE_MANIFEST);
        for (Object obj : collection) {
            if (obj != null) {
                try {
                    if (!m((Map.Entry) obj)) {
                    }
                } catch (ClassCastException unused) {
                }
            }
            return false;
        }
        return true;
    }

    public final boolean m(Map.Entry entry) {
        nb.g.i(entry, "entry");
        int iO = o(entry.getKey());
        if (iO < 0) {
            return false;
        }
        V[] vArr = this.valuesArray;
        nb.g.f(vArr);
        return nb.g.c(vArr[iO], entry.getValue());
    }

    public final void n(int i10) {
        V[] vArr;
        K[] kArr = this.keysArray;
        int length = kArr.length;
        int i11 = this.length;
        int i12 = length - i11;
        int i13 = i11 - this.size;
        if (i12 < i10 && i12 + i13 >= i10 && i13 >= kArr.length / 4) {
            s(this.hashArray.length);
            return;
        }
        int i14 = i11 + i10;
        if (i14 < 0) {
            throw new OutOfMemoryError();
        }
        if (i14 > kArr.length) {
            int length2 = (kArr.length * 3) / 2;
            if (i14 <= length2) {
                i14 = length2;
            }
            K[] kArr2 = (K[]) Arrays.copyOf(kArr, i14);
            nb.g.h(kArr2, "copyOf(this, newSize)");
            this.keysArray = kArr2;
            V[] vArr2 = this.valuesArray;
            if (vArr2 != null) {
                vArr = (V[]) Arrays.copyOf(vArr2, i14);
                nb.g.h(vArr, "copyOf(this, newSize)");
            } else {
                vArr = null;
            }
            this.valuesArray = vArr;
            int[] iArrCopyOf = Arrays.copyOf(this.presenceArray, i14);
            nb.g.h(iArrCopyOf, "copyOf(this, newSize)");
            this.presenceArray = iArrCopyOf;
            if (i14 < 1) {
                i14 = 1;
            }
            int iHighestOneBit = Integer.highestOneBit(i14 * 3);
            if (iHighestOneBit > this.hashArray.length) {
                s(iHighestOneBit);
            }
        }
    }

    public final int o(Object obj) {
        int iQ = q(obj);
        int i10 = this.maxProbeDistance;
        while (true) {
            int i11 = this.hashArray[iQ];
            if (i11 == 0) {
                return -1;
            }
            if (i11 > 0) {
                int i12 = i11 - 1;
                if (nb.g.c(this.keysArray[i12], obj)) {
                    return i12;
                }
            }
            i10--;
            if (i10 < 0) {
                return -1;
            }
            iQ = iQ == 0 ? this.hashArray.length - 1 : iQ - 1;
        }
    }

    public final int p(Object obj) {
        int i10 = this.length;
        while (true) {
            i10--;
            if (i10 < 0) {
                return -1;
            }
            if (this.presenceArray[i10] >= 0) {
                V[] vArr = this.valuesArray;
                nb.g.f(vArr);
                if (nb.g.c(vArr[i10], obj)) {
                    return i10;
                }
            }
        }
    }

    @Override // java.util.Map
    public final Object put(Object obj, Object obj2) {
        k();
        int iG = g(obj);
        Object[] objArrI = i();
        if (iG >= 0) {
            objArrI[iG] = obj2;
            return null;
        }
        int i10 = (-iG) - 1;
        Object obj3 = objArrI[i10];
        objArrI[i10] = obj2;
        return obj3;
    }

    @Override // java.util.Map
    public final void putAll(Map map) {
        nb.g.i(map, "from");
        k();
        Set<Map.Entry<K, V>> setEntrySet = map.entrySet();
        if (setEntrySet.isEmpty()) {
            return;
        }
        n(setEntrySet.size());
        for (Map.Entry<K, V> entry : setEntrySet) {
            int iG = g(entry.getKey());
            Object[] objArrI = i();
            if (iG >= 0) {
                objArrI[iG] = entry.getValue();
            } else {
                int i10 = (-iG) - 1;
                if (!nb.g.c(entry.getValue(), objArrI[i10])) {
                    objArrI[i10] = entry.getValue();
                }
            }
        }
    }

    public final int q(Object obj) {
        return ((obj != null ? obj.hashCode() : 0) * (-1640531527)) >>> this.hashShift;
    }

    /* JADX INFO: renamed from: r, reason: from getter */
    public final boolean getIsReadOnly() {
        return this.isReadOnly;
    }

    @Override // java.util.Map
    public final Object remove(Object obj) {
        k();
        int iO = o(obj);
        if (iO < 0) {
            iO = -1;
        } else {
            u(iO);
        }
        if (iO < 0) {
            return null;
        }
        V[] vArr = this.valuesArray;
        nb.g.f(vArr);
        V v10 = vArr[iO];
        vArr[iO] = null;
        return v10;
    }

    /* JADX WARN: Code restructure failed: missing block: B:27:0x0060, code lost:
    
        r3[r0] = r7;
        r6.presenceArray[r2] = r0;
        r2 = r7;
     */
    /*
        Code decompiled incorrectly, please refer to instructions dump.
    */
    public final void s(int i10) {
        int i11;
        int i12 = 0;
        if (this.length > this.size) {
            V[] vArr = this.valuesArray;
            int i13 = 0;
            int i14 = 0;
            while (true) {
                i11 = this.length;
                if (i13 >= i11) {
                    break;
                }
                if (this.presenceArray[i13] >= 0) {
                    K[] kArr = this.keysArray;
                    kArr[i14] = kArr[i13];
                    if (vArr != null) {
                        vArr[i14] = vArr[i13];
                    }
                    i14++;
                }
                i13++;
            }
            a.x0(this.keysArray, i14, i11);
            if (vArr != null) {
                a.x0(vArr, i14, this.length);
            }
            this.length = i14;
        }
        int[] iArr = this.hashArray;
        if (i10 != iArr.length) {
            this.hashArray = new int[i10];
            this.hashShift = Integer.numberOfLeadingZeros(i10) + 1;
        } else {
            Arrays.fill(iArr, 0, iArr.length, 0);
        }
        while (i12 < this.length) {
            int i15 = i12 + 1;
            int iQ = q(this.keysArray[i12]);
            int i16 = this.maxProbeDistance;
            while (true) {
                int[] iArr2 = this.hashArray;
                if (iArr2[iQ] == 0) {
                    break;
                }
                i16--;
                if (i16 < 0) {
                    throw new IllegalStateException("This cannot happen with fixed magic multiplier and grow-only hash array. Have object hashCodes changed?");
                }
                iQ = iQ == 0 ? iArr2.length - 1 : iQ - 1;
            }
        }
    }

    @Override // java.util.Map
    public final int size() {
        return this.size;
    }

    public final boolean t(Map.Entry entry) {
        nb.g.i(entry, "entry");
        k();
        int iO = o(entry.getKey());
        if (iO < 0) {
            return false;
        }
        V[] vArr = this.valuesArray;
        nb.g.f(vArr);
        if (!nb.g.c(vArr[iO], entry.getValue())) {
            return false;
        }
        u(iO);
        return true;
    }

    public final String toString() {
        StringBuilder sb = new StringBuilder((this.size * 3) + 2);
        sb.append("{");
        int i10 = 0;
        ld.b bVar = new ld.b(this, 0);
        while (bVar.hasNext()) {
            if (i10 > 0) {
                sb.append(", ");
            }
            int i11 = bVar.f30219b;
            MapBuilder mapBuilder = bVar.f30218a;
            if (i11 >= mapBuilder.length) {
                throw new NoSuchElementException();
            }
            bVar.f30219b = i11 + 1;
            bVar.f30220c = i11;
            K k6 = mapBuilder.keysArray[i11];
            if (nb.g.c(k6, mapBuilder)) {
                sb.append("(this Map)");
            } else {
                sb.append(k6);
            }
            sb.append('=');
            V[] vArr = mapBuilder.valuesArray;
            nb.g.f(vArr);
            V v10 = vArr[bVar.f30220c];
            if (nb.g.c(v10, mapBuilder)) {
                sb.append("(this Map)");
            } else {
                sb.append(v10);
            }
            bVar.a();
            i10++;
        }
        sb.append("}");
        String string = sb.toString();
        nb.g.h(string, "sb.toString()");
        return string;
    }

    /* JADX WARN: Removed duplicated region for block: B:29:0x0062 A[SYNTHETIC] */
    /* JADX WARN: Removed duplicated region for block: B:30:? A[LOOP:0: B:6:0x001e->B:30:?, LOOP_END, SYNTHETIC] */
    /*
        Code decompiled incorrectly, please refer to instructions dump.
    */
    public final void u(int i10) {
        K[] kArr = this.keysArray;
        nb.g.i(kArr, "<this>");
        kArr[i10] = null;
        int length = this.presenceArray[i10];
        int i11 = this.maxProbeDistance * 2;
        int length2 = this.hashArray.length / 2;
        if (i11 > length2) {
            i11 = length2;
        }
        int i12 = i11;
        int i13 = 0;
        int i14 = length;
        while (true) {
            length = length == 0 ? this.hashArray.length - 1 : length - 1;
            i13++;
            if (i13 > this.maxProbeDistance) {
                this.hashArray[i14] = 0;
                break;
            }
            int[] iArr = this.hashArray;
            int i15 = iArr[length];
            if (i15 == 0) {
                iArr[i14] = 0;
                break;
            }
            if (i15 < 0) {
                iArr[i14] = -1;
            } else {
                int i16 = i15 - 1;
                int iQ = q(this.keysArray[i16]) - length;
                int[] iArr2 = this.hashArray;
                if ((iQ & (iArr2.length - 1)) >= i13) {
                    iArr2[i14] = i15;
                    this.presenceArray[i16] = i14;
                }
                i12--;
                if (i12 >= 0) {
                    this.hashArray[i14] = -1;
                    break;
                }
            }
            i14 = length;
            i13 = 0;
            i12--;
            if (i12 >= 0) {
            }
        }
        this.presenceArray[i10] = -1;
        this.size--;
    }

    @Override // java.util.Map
    public final Collection values() {
        g gVar = this.valuesView;
        if (gVar != null) {
            return gVar;
        }
        g gVar2 = new g(this);
        this.valuesView = gVar2;
        return gVar2;
    }

    public MapBuilder(int i10) {
        if (i10 < 0) {
            throw new IllegalArgumentException("capacity must be non-negative.".toString());
        }
        K[] kArr = (K[]) new Object[i10];
        int[] iArr = new int[i10];
        int iHighestOneBit = Integer.highestOneBit((i10 < 1 ? 1 : i10) * 3);
        this.keysArray = kArr;
        this.valuesArray = null;
        this.presenceArray = iArr;
        this.hashArray = new int[iHighestOneBit];
        this.maxProbeDistance = 2;
        this.length = 0;
        this.hashShift = Integer.numberOfLeadingZeros(iHighestOneBit) + 1;
    }
}
