Add Discord community version (64-bit only)

- Added realracing3-community.apk (71.57 MB)
- Removed 32-bit support (armeabi-v7a)
- Only includes arm64-v8a libraries
- Decompiled source code included
- Added README-community.md with analysis
This commit is contained in:
2026-02-18 15:48:36 -08:00
parent c19eb3d7ff
commit c080f0d97f
26930 changed files with 2529574 additions and 0 deletions

View File

@@ -0,0 +1,756 @@
package androidx.collection;
import java.util.Collection;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import kotlin.Pair;
import kotlin.ULong;
import kotlin.collections.ArraysKt___ArraysJvmKt;
import kotlin.jvm.functions.Function0;
import kotlin.jvm.functions.Function2;
import kotlin.jvm.internal.DefaultConstructorMarker;
import kotlin.jvm.internal.Intrinsics;
import kotlin.jvm.internal.SourceDebugExtension;
import kotlin.jvm.internal.markers.KMutableMap;
import kotlin.sequences.Sequence;
@SourceDebugExtension({"SMAP\nScatterMap.kt\nKotlin\n*S Kotlin\n*F\n+ 1 ScatterMap.kt\nandroidx/collection/MutableScatterMap\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n+ 3 ScatterMap.kt\nandroidx/collection/ScatterMapKt\n+ 4 _Maps.kt\nkotlin/collections/MapsKt___MapsKt\n+ 5 ScatterMap.kt\nandroidx/collection/ScatterMap\n+ 6 ScatterSet.kt\nandroidx/collection/ScatterSet\n+ 7 ObjectList.kt\nandroidx/collection/ObjectList\n*L\n1#1,1850:1\n1284#1,2:2019\n1288#1,5:2027\n1284#1,2:2058\n1288#1,5:2066\n1284#1,2:2083\n1288#1,5:2091\n1284#1,2:2097\n1288#1,5:2105\n1#2:1851\n1672#3,6:1852\n1826#3:1870\n1688#3:1874\n1605#3,3:1887\n1619#3:1891\n1615#3:1894\n1795#3,3:1899\n1809#3,3:1903\n1733#3:1907\n1721#3:1909\n1715#3:1910\n1728#3:1915\n1818#3:1917\n1605#3,3:1927\n1619#3:1931\n1615#3:1934\n1795#3,3:1939\n1809#3,3:1943\n1733#3:1947\n1721#3:1949\n1715#3:1950\n1728#3:1955\n1818#3:1957\n1826#3:1972\n1688#3:1976\n1826#3:1997\n1688#3:2001\n1672#3,6:2021\n1672#3,6:2032\n1605#3,3:2038\n1615#3:2041\n1619#3:2042\n1795#3,3:2043\n1809#3,3:2046\n1733#3:2049\n1721#3:2050\n1715#3:2051\n1728#3:2052\n1818#3:2053\n1682#3:2054\n1661#3:2055\n1680#3:2056\n1661#3:2057\n1672#3,6:2060\n1795#3,3:2071\n1826#3:2074\n1715#3:2075\n1685#3:2076\n1661#3:2077\n1605#3,3:2078\n1615#3:2081\n1619#3:2082\n1672#3,6:2085\n1661#3:2096\n1672#3,6:2099\n1672#3,6:2110\n1672#3,6:2116\n215#4,2:1858\n391#5,4:1860\n363#5,6:1864\n373#5,3:1871\n376#5,2:1875\n396#5,2:1877\n379#5,6:1879\n398#5:1885\n633#5:1886\n634#5:1890\n636#5,2:1892\n638#5,4:1895\n642#5:1902\n643#5:1906\n644#5:1908\n645#5,4:1911\n651#5:1916\n652#5,8:1918\n633#5:1926\n634#5:1930\n636#5,2:1932\n638#5,4:1935\n642#5:1942\n643#5:1946\n644#5:1948\n645#5,4:1951\n651#5:1956\n652#5,8:1958\n363#5,6:1966\n373#5,3:1973\n376#5,9:1977\n267#6,4:1986\n237#6,7:1990\n248#6,3:1998\n251#6,2:2002\n272#6,2:2004\n254#6,6:2006\n274#6:2012\n305#7,6:2013\n*S KotlinDebug\n*F\n+ 1 ScatterMap.kt\nandroidx/collection/MutableScatterMap\n*L\n1113#1:2019,2\n1113#1:2027,5\n1180#1:2058,2\n1180#1:2066,5\n1254#1:2083,2\n1254#1:2091,5\n1270#1:2097,2\n1270#1:2105,5\n848#1:1852,6\n972#1:1870\n972#1:1874\n1021#1:1887,3\n1021#1:1891\n1021#1:1894\n1021#1:1899,3\n1021#1:1903,3\n1021#1:1907\n1021#1:1909\n1021#1:1910\n1021#1:1915\n1021#1:1917\n1033#1:1927,3\n1033#1:1931\n1033#1:1934\n1033#1:1939,3\n1033#1:1943,3\n1033#1:1947\n1033#1:1949\n1033#1:1950\n1033#1:1955\n1033#1:1957\n1047#1:1972\n1047#1:1976\n1093#1:1997\n1093#1:2001\n1113#1:2021,6\n1129#1:2032,6\n1145#1:2038,3\n1146#1:2041\n1147#1:2042\n1154#1:2043,3\n1155#1:2046,3\n1156#1:2049\n1157#1:2050\n1157#1:2051\n1161#1:2052\n1164#1:2053\n1173#1:2054\n1173#1:2055\n1179#1:2056\n1179#1:2057\n1180#1:2060,6\n1195#1:2071,3\n1196#1:2074\n1198#1:2075\n1249#1:2076\n1249#1:2077\n1251#1:2078,3\n1252#1:2081\n1254#1:2082\n1254#1:2085,6\n1268#1:2096\n1270#1:2099,6\n1285#1:2110,6\n1291#1:2116,6\n963#1:1858,2\n972#1:1860,4\n972#1:1864,6\n972#1:1871,3\n972#1:1875,2\n972#1:1877,2\n972#1:1879,6\n972#1:1885\n1021#1:1886\n1021#1:1890\n1021#1:1892,2\n1021#1:1895,4\n1021#1:1902\n1021#1:1906\n1021#1:1908\n1021#1:1911,4\n1021#1:1916\n1021#1:1918,8\n1033#1:1926\n1033#1:1930\n1033#1:1932,2\n1033#1:1935,4\n1033#1:1942\n1033#1:1946\n1033#1:1948\n1033#1:1951,4\n1033#1:1956\n1033#1:1958,8\n1047#1:1966,6\n1047#1:1973,3\n1047#1:1977,9\n1093#1:1986,4\n1093#1:1990,7\n1093#1:1998,3\n1093#1:2002,2\n1093#1:2004,2\n1093#1:2006,6\n1093#1:2012\n1102#1:2013,6\n*E\n"})
/* loaded from: classes.dex */
public final class MutableScatterMap<K, V> extends ScatterMap<K, V> {
private int growthLimit;
public MutableScatterMap() {
this(0, 1, null);
}
@SourceDebugExtension({"SMAP\nScatterMap.kt\nKotlin\n*S Kotlin\n*F\n+ 1 ScatterMap.kt\nandroidx/collection/MutableScatterMap$MutableMapWrapper\n+ 2 _Maps.kt\nkotlin/collections/MapsKt___MapsKt\n*L\n1#1,1850:1\n215#2,2:1851\n*S KotlinDebug\n*F\n+ 1 ScatterMap.kt\nandroidx/collection/MutableScatterMap$MutableMapWrapper\n*L\n1590#1:1851,2\n*E\n"})
public final class MutableMapWrapper extends ScatterMap<K, V>.MapWrapper implements Map<K, V>, KMutableMap {
@Override // androidx.collection.ScatterMap.MapWrapper, java.util.Map
public void putAll(Map<? extends K, ? extends V> from) {
Intrinsics.checkNotNullParameter(from, "from");
for (Map.Entry<? extends K, ? extends V> entry : from.entrySet()) {
put(entry.getKey(), entry.getValue());
}
}
public MutableMapWrapper() {
super();
}
@Override // androidx.collection.ScatterMap.MapWrapper
public Set<Map.Entry<K, V>> getEntries() {
return new MutableScatterMap$MutableMapWrapper$entries$1(MutableScatterMap.this);
}
@Override // androidx.collection.ScatterMap.MapWrapper
public Set<K> getKeys() {
return new MutableScatterMap$MutableMapWrapper$keys$1(MutableScatterMap.this);
}
@Override // androidx.collection.ScatterMap.MapWrapper
public Collection<V> getValues() {
return new MutableScatterMap$MutableMapWrapper$values$1(MutableScatterMap.this);
}
@Override // androidx.collection.ScatterMap.MapWrapper, java.util.Map
public void clear() {
MutableScatterMap.this.clear();
}
@Override // androidx.collection.ScatterMap.MapWrapper, java.util.Map
public V remove(Object obj) {
return MutableScatterMap.this.remove(obj);
}
@Override // androidx.collection.ScatterMap.MapWrapper, java.util.Map
public V put(K k, V v) {
return MutableScatterMap.this.put(k, v);
}
}
public final void putAll(Map<K, ? extends V> from) {
Intrinsics.checkNotNullParameter(from, "from");
for (Map.Entry<K, ? extends V> entry : from.entrySet()) {
set(entry.getKey(), entry.getValue());
}
}
/* JADX WARN: Multi-variable type inference failed */
public final void minusAssign(ScatterSet<K> keys) {
Intrinsics.checkNotNullParameter(keys, "keys");
Object[] objArr = keys.elements;
long[] jArr = keys.metadata;
int length = jArr.length - 2;
if (length < 0) {
return;
}
int i = 0;
while (true) {
long j = jArr[i];
if ((((~j) << 7) & j & (-9187201950435737472L)) != -9187201950435737472L) {
int i2 = 8 - ((~(i - length)) >>> 31);
for (int i3 = 0; i3 < i2; i3++) {
if ((255 & j) < 128) {
remove(objArr[(i << 3) + i3]);
}
j >>= 8;
}
if (i2 != 8) {
return;
}
}
if (i == length) {
return;
} else {
i++;
}
}
}
/* JADX WARN: Multi-variable type inference failed */
public final void minusAssign(ObjectList<K> keys) {
Intrinsics.checkNotNullParameter(keys, "keys");
Object[] objArr = keys.content;
int i = keys._size;
for (int i2 = 0; i2 < i; i2++) {
remove(objArr[i2]);
}
}
public final void removeIf(Function2 predicate) {
Intrinsics.checkNotNullParameter(predicate, "predicate");
long[] jArr = this.metadata;
int length = jArr.length - 2;
if (length < 0) {
return;
}
int i = 0;
while (true) {
long j = jArr[i];
if ((((~j) << 7) & j & (-9187201950435737472L)) != -9187201950435737472L) {
int i2 = 8 - ((~(i - length)) >>> 31);
for (int i3 = 0; i3 < i2; i3++) {
if ((255 & j) < 128) {
int i4 = (i << 3) + i3;
if (((Boolean) predicate.invoke(this.keys[i4], this.values[i4])).booleanValue()) {
removeValueAt(i4);
}
}
j >>= 8;
}
if (i2 != 8) {
return;
}
}
if (i == length) {
return;
} else {
i++;
}
}
}
/* JADX WARN: Multi-variable type inference failed */
public final void putAll(ScatterMap<K, V> from) {
Intrinsics.checkNotNullParameter(from, "from");
Object[] objArr = from.keys;
Object[] objArr2 = from.values;
long[] jArr = from.metadata;
int length = jArr.length - 2;
if (length < 0) {
return;
}
int i = 0;
while (true) {
long j = jArr[i];
if ((((~j) << 7) & j & (-9187201950435737472L)) != -9187201950435737472L) {
int i2 = 8 - ((~(i - length)) >>> 31);
for (int i3 = 0; i3 < i2; i3++) {
if ((255 & j) < 128) {
int i4 = (i << 3) + i3;
set(objArr[i4], objArr2[i4]);
}
j >>= 8;
}
if (i2 != 8) {
return;
}
}
if (i == length) {
return;
} else {
i++;
}
}
}
public /* synthetic */ MutableScatterMap(int i, int i2, DefaultConstructorMarker defaultConstructorMarker) {
this((i2 & 1) != 0 ? 6 : i);
}
public MutableScatterMap(int i) {
super(null);
if (i < 0) {
throw new IllegalArgumentException("Capacity must be a positive value.".toString());
}
initializeStorage(ScatterMapKt.unloadedCapacity(i));
}
private final void initializeStorage(int i) {
int max = i > 0 ? Math.max(7, ScatterMapKt.normalizeCapacity(i)) : 0;
this._capacity = max;
initializeMetadata(max);
this.keys = new Object[max];
this.values = new Object[max];
}
private final void initializeMetadata(int i) {
long[] jArr;
if (i == 0) {
jArr = ScatterMapKt.EmptyGroup;
} else {
jArr = new long[((i + 15) & (-8)) >> 3];
ArraysKt___ArraysJvmKt.fill$default(jArr, -9187201950435737472L, 0, 0, 6, (Object) null);
}
this.metadata = jArr;
int i2 = i >> 3;
long j = 255 << ((i & 7) << 3);
jArr[i2] = (jArr[i2] & (~j)) | j;
initializeGrowth();
}
private final void initializeGrowth() {
this.growthLimit = ScatterMapKt.loadedCapacity(getCapacity()) - this._size;
}
public final V getOrPut(K k, Function0 defaultValue) {
Intrinsics.checkNotNullParameter(defaultValue, "defaultValue");
V v = get(k);
if (v != null) {
return v;
}
V v2 = (V) defaultValue.invoke();
set(k, v2);
return v2;
}
public final V compute(K k, Function2 computeBlock) {
Intrinsics.checkNotNullParameter(computeBlock, "computeBlock");
int findInsertIndex = findInsertIndex(k);
boolean z = findInsertIndex < 0;
V v = (V) computeBlock.invoke(k, z ? null : this.values[findInsertIndex]);
if (z) {
int i = ~findInsertIndex;
this.keys[i] = k;
this.values[i] = v;
} else {
this.values[findInsertIndex] = v;
}
return v;
}
public final void set(K k, V v) {
int findInsertIndex = findInsertIndex(k);
if (findInsertIndex < 0) {
findInsertIndex = ~findInsertIndex;
}
this.keys[findInsertIndex] = k;
this.values[findInsertIndex] = v;
}
public final V put(K k, V v) {
int findInsertIndex = findInsertIndex(k);
if (findInsertIndex < 0) {
findInsertIndex = ~findInsertIndex;
}
Object[] objArr = this.values;
V v2 = (V) objArr[findInsertIndex];
this.keys[findInsertIndex] = k;
objArr[findInsertIndex] = v;
return v2;
}
/* JADX WARN: Multi-variable type inference failed */
public final void putAll(Pair[] pairs) {
Intrinsics.checkNotNullParameter(pairs, "pairs");
for (Pair pair : pairs) {
set(pair.component1(), pair.component2());
}
}
/* JADX WARN: Multi-variable type inference failed */
public final void putAll(Iterable<? extends Pair> pairs) {
Intrinsics.checkNotNullParameter(pairs, "pairs");
for (Pair pair : pairs) {
set(pair.component1(), pair.component2());
}
}
/* JADX WARN: Multi-variable type inference failed */
public final void putAll(Sequence pairs) {
Intrinsics.checkNotNullParameter(pairs, "pairs");
Iterator it = pairs.iterator();
while (it.hasNext()) {
Pair pair = (Pair) it.next();
set(pair.component1(), pair.component2());
}
}
/* JADX WARN: Multi-variable type inference failed */
public final void plusAssign(Pair pair) {
Intrinsics.checkNotNullParameter(pair, "pair");
set(pair.getFirst(), pair.getSecond());
}
public final void plusAssign(Pair[] pairs) {
Intrinsics.checkNotNullParameter(pairs, "pairs");
putAll(pairs);
}
public final void plusAssign(Iterable<? extends Pair> pairs) {
Intrinsics.checkNotNullParameter(pairs, "pairs");
putAll(pairs);
}
public final void plusAssign(Sequence pairs) {
Intrinsics.checkNotNullParameter(pairs, "pairs");
putAll(pairs);
}
public final void plusAssign(Map<K, ? extends V> from) {
Intrinsics.checkNotNullParameter(from, "from");
putAll(from);
}
public final void plusAssign(ScatterMap<K, V> from) {
Intrinsics.checkNotNullParameter(from, "from");
putAll(from);
}
public final void minusAssign(K k) {
remove(k);
}
public final void minusAssign(K[] keys) {
Intrinsics.checkNotNullParameter(keys, "keys");
for (K k : keys) {
remove(k);
}
}
public final void minusAssign(Iterable<? extends K> keys) {
Intrinsics.checkNotNullParameter(keys, "keys");
Iterator<? extends K> it = keys.iterator();
while (it.hasNext()) {
remove(it.next());
}
}
/* JADX WARN: Multi-variable type inference failed */
public final void minusAssign(Sequence keys) {
Intrinsics.checkNotNullParameter(keys, "keys");
Iterator it = keys.iterator();
while (it.hasNext()) {
remove(it.next());
}
}
public final void clear() {
this._size = 0;
long[] jArr = this.metadata;
if (jArr != ScatterMapKt.EmptyGroup) {
ArraysKt___ArraysJvmKt.fill$default(jArr, -9187201950435737472L, 0, 0, 6, (Object) null);
long[] jArr2 = this.metadata;
int i = this._capacity;
int i2 = i >> 3;
long j = 255 << ((i & 7) << 3);
jArr2[i2] = (jArr2[i2] & (~j)) | j;
}
ArraysKt___ArraysJvmKt.fill(this.values, (Object) null, 0, this._capacity);
ArraysKt___ArraysJvmKt.fill(this.keys, (Object) null, 0, this._capacity);
initializeGrowth();
}
public final int trim() {
int i = this._capacity;
int normalizeCapacity = ScatterMapKt.normalizeCapacity(ScatterMapKt.unloadedCapacity(this._size));
if (normalizeCapacity >= i) {
return 0;
}
resizeStorage(normalizeCapacity);
return i - this._capacity;
}
private final void adjustStorage() {
if (this._capacity > 8 && Long.compareUnsigned(ULong.m4068constructorimpl(ULong.m4068constructorimpl(this._size) * 32), ULong.m4068constructorimpl(ULong.m4068constructorimpl(this._capacity) * 25)) <= 0) {
resizeStorage(this._capacity);
} else {
resizeStorage(ScatterMapKt.nextCapacity(this._capacity));
}
}
private final void resizeStorage(int i) {
int i2;
long[] jArr = this.metadata;
Object[] objArr = this.keys;
Object[] objArr2 = this.values;
int i3 = this._capacity;
initializeStorage(i);
Object[] objArr3 = this.keys;
Object[] objArr4 = this.values;
int i4 = 0;
while (i4 < i3) {
if (((jArr[i4 >> 3] >> ((i4 & 7) << 3)) & 255) < 128) {
Object obj = objArr[i4];
int hashCode = (obj != null ? obj.hashCode() : 0) * ScatterMapKt.MurmurHashC1;
int i5 = hashCode ^ (hashCode << 16);
int findFirstAvailableSlot = findFirstAvailableSlot(i5 >>> 7);
long j = i5 & 127;
long[] jArr2 = this.metadata;
int i6 = findFirstAvailableSlot >> 3;
int i7 = (findFirstAvailableSlot & 7) << 3;
i2 = i4;
jArr2[i6] = (jArr2[i6] & (~(255 << i7))) | (j << i7);
int i8 = this._capacity;
int i9 = ((findFirstAvailableSlot - 7) & i8) + (i8 & 7);
int i10 = i9 >> 3;
int i11 = (i9 & 7) << 3;
jArr2[i10] = (jArr2[i10] & (~(255 << i11))) | (j << i11);
objArr3[findFirstAvailableSlot] = obj;
objArr4[findFirstAvailableSlot] = objArr2[i2];
} else {
i2 = i4;
}
i4 = i2 + 1;
}
}
public final Map<K, V> asMutableMap() {
return new MutableMapWrapper();
}
public final int findInsertIndex(K k) {
int hashCode = (k != null ? k.hashCode() : 0) * ScatterMapKt.MurmurHashC1;
int i = hashCode ^ (hashCode << 16);
int i2 = i >>> 7;
int i3 = i & 127;
int i4 = this._capacity;
int i5 = i2 & i4;
int i6 = 0;
while (true) {
long[] jArr = this.metadata;
int i7 = i5 >> 3;
int i8 = (i5 & 7) << 3;
long j = ((jArr[i7 + 1] << (64 - i8)) & ((-i8) >> 63)) | (jArr[i7] >>> i8);
long j2 = i3;
int i9 = i3;
long j3 = j ^ (j2 * ScatterMapKt.BitmaskLsb);
for (long j4 = (~j3) & (j3 - ScatterMapKt.BitmaskLsb) & (-9187201950435737472L); j4 != 0; j4 &= j4 - 1) {
int numberOfTrailingZeros = (i5 + (Long.numberOfTrailingZeros(j4) >> 3)) & i4;
if (Intrinsics.areEqual(this.keys[numberOfTrailingZeros], k)) {
return numberOfTrailingZeros;
}
}
if ((((~j) << 6) & j & (-9187201950435737472L)) != 0) {
int findFirstAvailableSlot = findFirstAvailableSlot(i2);
if (this.growthLimit == 0 && ((this.metadata[findFirstAvailableSlot >> 3] >> ((findFirstAvailableSlot & 7) << 3)) & 255) != 254) {
adjustStorage();
findFirstAvailableSlot = findFirstAvailableSlot(i2);
}
this._size++;
int i10 = this.growthLimit;
long[] jArr2 = this.metadata;
int i11 = findFirstAvailableSlot >> 3;
long j5 = jArr2[i11];
int i12 = (findFirstAvailableSlot & 7) << 3;
this.growthLimit = i10 - (((j5 >> i12) & 255) == 128 ? 1 : 0);
jArr2[i11] = (j5 & (~(255 << i12))) | (j2 << i12);
int i13 = this._capacity;
int i14 = ((findFirstAvailableSlot - 7) & i13) + (i13 & 7);
int i15 = i14 >> 3;
int i16 = (i14 & 7) << 3;
jArr2[i15] = ((~(255 << i16)) & jArr2[i15]) | (j2 << i16);
return ~findFirstAvailableSlot;
}
i6 += 8;
i5 = (i5 + i6) & i4;
i3 = i9;
}
}
/* JADX WARN: Code restructure failed: missing block: B:19:0x0069, code lost:
if (((r4 & ((~r4) << 6)) & (-9187201950435737472L)) == 0) goto L22;
*/
/* JADX WARN: Code restructure failed: missing block: B:22:0x006b, code lost:
r10 = -1;
*/
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct add '--show-bad-code' argument
*/
public final V remove(K r14) {
/*
r13 = this;
r0 = 0
if (r14 == 0) goto L8
int r1 = r14.hashCode()
goto L9
L8:
r1 = r0
L9:
r2 = -862048943(0xffffffffcc9e2d51, float:-8.293031E7)
int r1 = r1 * r2
int r2 = r1 << 16
r1 = r1 ^ r2
r2 = r1 & 127(0x7f, float:1.78E-43)
int r3 = r13._capacity
int r1 = r1 >>> 7
L16:
r1 = r1 & r3
long[] r4 = r13.metadata
int r5 = r1 >> 3
r6 = r1 & 7
int r6 = r6 << 3
r7 = r4[r5]
long r7 = r7 >>> r6
int r5 = r5 + 1
r9 = r4[r5]
int r4 = 64 - r6
long r4 = r9 << r4
long r9 = (long) r6
long r9 = -r9
r6 = 63
long r9 = r9 >> r6
long r4 = r4 & r9
long r4 = r4 | r7
long r6 = (long) r2
r8 = 72340172838076673(0x101010101010101, double:7.748604185489348E-304)
long r6 = r6 * r8
long r6 = r6 ^ r4
long r8 = r6 - r8
long r6 = ~r6
long r6 = r6 & r8
r8 = -9187201950435737472(0x8080808080808080, double:-2.937446524422997E-306)
long r6 = r6 & r8
L43:
r10 = 0
int r12 = (r6 > r10 ? 1 : (r6 == r10 ? 0 : -1))
if (r12 == 0) goto L62
int r10 = java.lang.Long.numberOfTrailingZeros(r6)
int r10 = r10 >> 3
int r10 = r10 + r1
r10 = r10 & r3
java.lang.Object[] r11 = r13.keys
r11 = r11[r10]
boolean r11 = kotlin.jvm.internal.Intrinsics.areEqual(r11, r14)
if (r11 == 0) goto L5c
goto L6c
L5c:
r10 = 1
long r10 = r6 - r10
long r6 = r6 & r10
goto L43
L62:
long r6 = ~r4
r12 = 6
long r6 = r6 << r12
long r4 = r4 & r6
long r4 = r4 & r8
int r4 = (r4 > r10 ? 1 : (r4 == r10 ? 0 : -1))
if (r4 == 0) goto L75
r10 = -1
L6c:
if (r10 < 0) goto L73
java.lang.Object r14 = r13.removeValueAt(r10)
return r14
L73:
r14 = 0
return r14
L75:
int r0 = r0 + 8
int r1 = r1 + r0
goto L16
*/
throw new UnsupportedOperationException("Method not decompiled: androidx.collection.MutableScatterMap.remove(java.lang.Object):java.lang.Object");
}
/* JADX WARN: Code restructure failed: missing block: B:21:0x006e, code lost:
if (((r7 & ((~r7) << 6)) & (-9187201950435737472L)) == 0) goto L23;
*/
/* JADX WARN: Code restructure failed: missing block: B:24:0x0070, code lost:
r11 = -1;
*/
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct add '--show-bad-code' argument
*/
public final boolean remove(K r18, V r19) {
/*
r17 = this;
r0 = r17
r1 = r18
r2 = 0
if (r1 == 0) goto Lc
int r3 = r18.hashCode()
goto Ld
Lc:
r3 = r2
Ld:
r4 = -862048943(0xffffffffcc9e2d51, float:-8.293031E7)
int r3 = r3 * r4
int r4 = r3 << 16
r3 = r3 ^ r4
r4 = r3 & 127(0x7f, float:1.78E-43)
int r5 = r0._capacity
int r3 = r3 >>> 7
r3 = r3 & r5
r6 = r2
L1c:
long[] r7 = r0.metadata
int r8 = r3 >> 3
r9 = r3 & 7
int r9 = r9 << 3
r10 = r7[r8]
long r10 = r10 >>> r9
r12 = 1
int r8 = r8 + r12
r13 = r7[r8]
int r7 = 64 - r9
long r7 = r13 << r7
long r13 = (long) r9
long r13 = -r13
r9 = 63
long r13 = r13 >> r9
long r7 = r7 & r13
long r7 = r7 | r10
long r9 = (long) r4
r13 = 72340172838076673(0x101010101010101, double:7.748604185489348E-304)
long r9 = r9 * r13
long r9 = r9 ^ r7
long r13 = r9 - r13
long r9 = ~r9
long r9 = r9 & r13
r13 = -9187201950435737472(0x8080808080808080, double:-2.937446524422997E-306)
long r9 = r9 & r13
L48:
r15 = 0
int r11 = (r9 > r15 ? 1 : (r9 == r15 ? 0 : -1))
if (r11 == 0) goto L67
int r11 = java.lang.Long.numberOfTrailingZeros(r9)
int r11 = r11 >> 3
int r11 = r11 + r3
r11 = r11 & r5
java.lang.Object[] r15 = r0.keys
r15 = r15[r11]
boolean r15 = kotlin.jvm.internal.Intrinsics.areEqual(r15, r1)
if (r15 == 0) goto L61
goto L71
L61:
r15 = 1
long r15 = r9 - r15
long r9 = r9 & r15
goto L48
L67:
long r9 = ~r7
r11 = 6
long r9 = r9 << r11
long r7 = r7 & r9
long r7 = r7 & r13
int r7 = (r7 > r15 ? 1 : (r7 == r15 ? 0 : -1))
if (r7 == 0) goto L84
r11 = -1
L71:
if (r11 < 0) goto L83
java.lang.Object[] r1 = r0.values
r1 = r1[r11]
r7 = r19
boolean r1 = kotlin.jvm.internal.Intrinsics.areEqual(r1, r7)
if (r1 == 0) goto L83
r0.removeValueAt(r11)
return r12
L83:
return r2
L84:
r7 = r19
int r6 = r6 + 8
int r3 = r3 + r6
r3 = r3 & r5
goto L1c
*/
throw new UnsupportedOperationException("Method not decompiled: androidx.collection.MutableScatterMap.remove(java.lang.Object, java.lang.Object):boolean");
}
private final void removeDeletedMarkers() {
long[] jArr = this.metadata;
int i = this._capacity;
int i2 = 0;
for (int i3 = 0; i3 < i; i3++) {
int i4 = i3 >> 3;
int i5 = (i3 & 7) << 3;
if (((jArr[i4] >> i5) & 255) == 254) {
long[] jArr2 = this.metadata;
jArr2[i4] = (128 << i5) | (jArr2[i4] & (~(255 << i5)));
int i6 = this._capacity;
int i7 = ((i3 - 7) & i6) + (i6 & 7);
int i8 = i7 >> 3;
int i9 = (i7 & 7) << 3;
jArr2[i8] = ((~(255 << i9)) & jArr2[i8]) | (128 << i9);
i2++;
}
}
this.growthLimit += i2;
}
private final void writeMetadata(int i, long j) {
long[] jArr = this.metadata;
int i2 = i >> 3;
int i3 = (i & 7) << 3;
jArr[i2] = (jArr[i2] & (~(255 << i3))) | (j << i3);
int i4 = this._capacity;
int i5 = ((i - 7) & i4) + (i4 & 7);
int i6 = i5 >> 3;
int i7 = (i5 & 7) << 3;
jArr[i6] = (j << i7) | (jArr[i6] & (~(255 << i7)));
}
public final V removeValueAt(int i) {
this._size--;
long[] jArr = this.metadata;
int i2 = i >> 3;
int i3 = (i & 7) << 3;
jArr[i2] = (jArr[i2] & (~(255 << i3))) | (254 << i3);
int i4 = this._capacity;
int i5 = ((i - 7) & i4) + (i4 & 7);
int i6 = i5 >> 3;
int i7 = (i5 & 7) << 3;
jArr[i6] = (jArr[i6] & (~(255 << i7))) | (254 << i7);
this.keys[i] = null;
Object[] objArr = this.values;
V v = (V) objArr[i];
objArr[i] = null;
return v;
}
private final int findFirstAvailableSlot(int i) {
int i2 = this._capacity;
int i3 = i & i2;
int i4 = 0;
while (true) {
long[] jArr = this.metadata;
int i5 = i3 >> 3;
int i6 = (i3 & 7) << 3;
long j = ((jArr[i5 + 1] << (64 - i6)) & ((-i6) >> 63)) | (jArr[i5] >>> i6);
long j2 = j & ((~j) << 7) & (-9187201950435737472L);
if (j2 != 0) {
return (i3 + (Long.numberOfTrailingZeros(j2) >> 3)) & i2;
}
i4 += 8;
i3 = (i3 + i4) & i2;
}
}
}