package kotlinx.coroutines.scheduling;

import F1.AbstractC0113c;
import F1.L;
import androidx.core.location.LocationRequestCompat;
import androidx.media3.session.legacy.PlaybackStateCompat;
import java.io.Closeable;
import java.util.ArrayList;
import java.util.concurrent.Executor;
import java.util.concurrent.RejectedExecutionException;
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import java.util.concurrent.atomic.AtomicReferenceArray;
import java.util.concurrent.locks.LockSupport;
import kotlinx.coroutines.internal.r;
import n1.s;

/* JADX INFO: loaded from: classes2.dex */
public final class a implements Executor, Closeable {

    /* JADX INFO: renamed from: H, reason: collision with root package name */
    public final kotlinx.coroutines.scheduling.d f5193H;

    /* JADX INFO: renamed from: I, reason: collision with root package name */
    public final AtomicReferenceArray f5194I;
    private volatile /* synthetic */ int _isTerminated;

    /* JADX INFO: renamed from: b, reason: collision with root package name */
    public final int f5195b;
    volatile /* synthetic */ long controlState;

    /* JADX INFO: renamed from: g, reason: collision with root package name */
    public final int f5196g;
    private volatile /* synthetic */ long parkedWorkersStack;

    /* JADX INFO: renamed from: r, reason: collision with root package name */
    public final long f5197r;

    /* JADX INFO: renamed from: x, reason: collision with root package name */
    public final String f5198x;

    /* JADX INFO: renamed from: y, reason: collision with root package name */
    public final kotlinx.coroutines.scheduling.d f5199y;

    /* JADX INFO: renamed from: L, reason: collision with root package name */
    public static final C0080a f5188L = new C0080a(null);

    /* JADX INFO: renamed from: a0, reason: collision with root package name */
    public static final r f5192a0 = new r("NOT_IN_STACK");

    /* JADX INFO: renamed from: M, reason: collision with root package name */
    private static final /* synthetic */ AtomicLongFieldUpdater f5189M = AtomicLongFieldUpdater.newUpdater(a.class, "parkedWorkersStack");

    /* JADX INFO: renamed from: Q, reason: collision with root package name */
    static final /* synthetic */ AtomicLongFieldUpdater f5190Q = AtomicLongFieldUpdater.newUpdater(a.class, "controlState");

    /* JADX INFO: renamed from: Z, reason: collision with root package name */
    private static final /* synthetic */ AtomicIntegerFieldUpdater f5191Z = AtomicIntegerFieldUpdater.newUpdater(a.class, "_isTerminated");

    /* JADX INFO: renamed from: kotlinx.coroutines.scheduling.a$a, reason: collision with other inner class name */
    public static final class C0080a {
        public /* synthetic */ C0080a(kotlin.jvm.internal.g gVar) {
            this();
        }

        private C0080a() {
        }
    }

    public /* synthetic */ class b {

        /* JADX INFO: renamed from: a, reason: collision with root package name */
        public static final /* synthetic */ int[] f5200a;

        static {
            int[] iArr = new int[d.values().length];
            iArr[d.PARKING.ordinal()] = 1;
            iArr[d.BLOCKING.ordinal()] = 2;
            iArr[d.CPU_ACQUIRED.ordinal()] = 3;
            iArr[d.DORMANT.ordinal()] = 4;
            iArr[d.TERMINATED.ordinal()] = 5;
            f5200a = iArr;
        }
    }

    public enum d {
        CPU_ACQUIRED,
        BLOCKING,
        PARKING,
        DORMANT,
        TERMINATED
    }

    public a(int i2, int i3, long j2, String str) {
        this.f5195b = i2;
        this.f5196g = i3;
        this.f5197r = j2;
        this.f5198x = str;
        if (!(i2 >= 1)) {
            throw new IllegalArgumentException(("Core pool size " + i2 + " should be at least 1").toString());
        }
        if (!(i3 >= i2)) {
            throw new IllegalArgumentException(("Max pool size " + i3 + " should be greater than or equals to core pool size " + i2).toString());
        }
        if (!(i3 <= 2097150)) {
            throw new IllegalArgumentException(("Max pool size " + i3 + " should not exceed maximal supported number of threads 2097150").toString());
        }
        if (!(j2 > 0)) {
            throw new IllegalArgumentException(("Idle worker keep alive time " + j2 + " must be positive").toString());
        }
        this.f5199y = new kotlinx.coroutines.scheduling.d();
        this.f5193H = new kotlinx.coroutines.scheduling.d();
        this.parkedWorkersStack = 0L;
        this.f5194I = new AtomicReferenceArray(i3 + 1);
        this.controlState = ((long) i2) << 42;
        this._isTerminated = 0;
    }

    private final boolean A() {
        c cVarL;
        do {
            cVarL = l();
            if (cVarL == null) {
                return false;
            }
        } while (!c.f5201L.compareAndSet(cVarL, -1, 0));
        LockSupport.unpark(cVarL);
        return true;
    }

    private final boolean a(i iVar) {
        return iVar.f5226g.i() == 1 ? this.f5193H.a(iVar) : this.f5199y.a(iVar);
    }

    private final int b() {
        synchronized (this.f5194I) {
            try {
                if (i()) {
                    return -1;
                }
                long j2 = this.controlState;
                int i2 = (int) (j2 & 2097151);
                int iB = kotlin.ranges.m.b(i2 - ((int) ((j2 & 4398044413952L) >> 21)), 0);
                if (iB >= this.f5195b) {
                    return 0;
                }
                if (i2 >= this.f5196g) {
                    return 0;
                }
                int i3 = ((int) (this.controlState & 2097151)) + 1;
                if (!(i3 > 0 && this.f5194I.get(i3) == null)) {
                    throw new IllegalArgumentException("Failed requirement.");
                }
                c cVar = new c(i3);
                this.f5194I.set(i3, cVar);
                if (!(i3 == ((int) (2097151 & f5190Q.incrementAndGet(this))))) {
                    throw new IllegalArgumentException("Failed requirement.");
                }
                cVar.start();
                return iB + 1;
            } catch (Throwable th) {
                throw th;
            }
        }
    }

    private final c e() {
        Thread threadCurrentThread = Thread.currentThread();
        c cVar = threadCurrentThread instanceof c ? (c) threadCurrentThread : null;
        if (cVar != null && kotlin.jvm.internal.l.a(a.this, this)) {
            return cVar;
        }
        return null;
    }

    public static /* synthetic */ void h(a aVar, Runnable runnable, j jVar, boolean z2, int i2, Object obj) {
        if ((i2 & 2) != 0) {
            jVar = g.f5223b;
        }
        if ((i2 & 4) != 0) {
            z2 = false;
        }
        aVar.f(runnable, jVar, z2);
    }

    private final int j(c cVar) {
        Object objG = cVar.g();
        while (objG != f5192a0) {
            if (objG == null) {
                return 0;
            }
            c cVar2 = (c) objG;
            int iF = cVar2.f();
            if (iF != 0) {
                return iF;
            }
            objG = cVar2.g();
        }
        return -1;
    }

    private final c l() {
        while (true) {
            long j2 = this.parkedWorkersStack;
            c cVar = (c) this.f5194I.get((int) (2097151 & j2));
            if (cVar == null) {
                return null;
            }
            long j3 = (PlaybackStateCompat.ACTION_SET_SHUFFLE_MODE + j2) & (-2097152);
            int iJ = j(cVar);
            if (iJ >= 0 && f5189M.compareAndSet(this, j2, ((long) iJ) | j3)) {
                cVar.o(f5192a0);
                return cVar;
            }
        }
    }

    private final void t(boolean z2) {
        long jAddAndGet = f5190Q.addAndGet(this, PlaybackStateCompat.ACTION_SET_SHUFFLE_MODE);
        if (z2 || A() || w(jAddAndGet)) {
            return;
        }
        A();
    }

    private final i v(c cVar, i iVar, boolean z2) {
        if (cVar == null || cVar.f5205g == d.TERMINATED) {
            return iVar;
        }
        if (iVar.f5226g.i() == 0 && cVar.f5205g == d.BLOCKING) {
            return iVar;
        }
        cVar.f5202H = true;
        return cVar.f5204b.a(iVar, z2);
    }

    private final boolean w(long j2) {
        if (kotlin.ranges.m.b(((int) (2097151 & j2)) - ((int) ((j2 & 4398044413952L) >> 21)), 0) < this.f5195b) {
            int iB = b();
            if (iB == 1 && this.f5195b > 1) {
                b();
            }
            if (iB > 0) {
                return true;
            }
        }
        return false;
    }

    static /* synthetic */ boolean z(a aVar, long j2, int i2, Object obj) {
        if ((i2 & 1) != 0) {
            j2 = aVar.controlState;
        }
        return aVar.w(j2);
    }

    @Override // java.io.Closeable, java.lang.AutoCloseable
    public void close() throws InterruptedException {
        s(10000L);
    }

    public final i d(Runnable runnable, j jVar) {
        long jA = l.f5233f.a();
        if (!(runnable instanceof i)) {
            return new k(runnable, jA, jVar);
        }
        i iVar = (i) runnable;
        iVar.f5225b = jA;
        iVar.f5226g = jVar;
        return iVar;
    }

    @Override // java.util.concurrent.Executor
    public void execute(Runnable runnable) {
        h(this, runnable, null, false, 6, null);
    }

    public final void f(Runnable runnable, j jVar, boolean z2) {
        AbstractC0113c.a();
        i iVarD = d(runnable, jVar);
        c cVarE = e();
        i iVarV = v(cVarE, iVarD, z2);
        if (iVarV != null && !a(iVarV)) {
            throw new RejectedExecutionException(kotlin.jvm.internal.l.l(this.f5198x, " was terminated"));
        }
        boolean z3 = z2 && cVarE != null;
        if (iVarD.f5226g.i() != 0) {
            t(z3);
        } else {
            if (z3) {
                return;
            }
            u();
        }
    }

    /* JADX WARN: Type inference failed for: r0v0, types: [boolean, int] */
    public final boolean i() {
        return this._isTerminated;
    }

    public final boolean m(c cVar) {
        long j2;
        long j3;
        int iF;
        if (cVar.g() != f5192a0) {
            return false;
        }
        do {
            j2 = this.parkedWorkersStack;
            j3 = (PlaybackStateCompat.ACTION_SET_SHUFFLE_MODE + j2) & (-2097152);
            iF = cVar.f();
            cVar.o(this.f5194I.get((int) (2097151 & j2)));
        } while (!f5189M.compareAndSet(this, j2, j3 | ((long) iF)));
        return true;
    }

    public final void n(c cVar, int i2, int i3) {
        while (true) {
            long j2 = this.parkedWorkersStack;
            int iJ = (int) (2097151 & j2);
            long j3 = (PlaybackStateCompat.ACTION_SET_SHUFFLE_MODE + j2) & (-2097152);
            if (iJ == i2) {
                iJ = i3 == 0 ? j(cVar) : i3;
            }
            if (iJ >= 0 && f5189M.compareAndSet(this, j2, j3 | ((long) iJ))) {
                return;
            }
        }
    }

    public final void q(i iVar) {
        try {
            iVar.run();
        } finally {
            try {
            } finally {
            }
        }
    }

    public final void s(long j2) throws InterruptedException {
        int i2;
        if (f5191Z.compareAndSet(this, 0, 1)) {
            c cVarE = e();
            synchronized (this.f5194I) {
                i2 = (int) (this.controlState & 2097151);
            }
            if (1 <= i2) {
                int i3 = 1;
                while (true) {
                    int i4 = i3 + 1;
                    Object obj = this.f5194I.get(i3);
                    kotlin.jvm.internal.l.b(obj);
                    c cVar = (c) obj;
                    if (cVar != cVarE) {
                        while (cVar.isAlive()) {
                            LockSupport.unpark(cVar);
                            cVar.join(j2);
                        }
                        cVar.f5204b.g(this.f5193H);
                    }
                    if (i3 == i2) {
                        break;
                    } else {
                        i3 = i4;
                    }
                }
            }
            this.f5193H.b();
            this.f5199y.b();
            while (true) {
                i iVarE = cVarE == null ? null : cVarE.e(true);
                if (iVarE == null && (iVarE = (i) this.f5199y.d()) == null && (iVarE = (i) this.f5193H.d()) == null) {
                    break;
                } else {
                    q(iVarE);
                }
            }
            if (cVarE != null) {
                cVarE.r(d.TERMINATED);
            }
            this.parkedWorkersStack = 0L;
            this.controlState = 0L;
        }
    }

    public String toString() {
        int i2;
        int i3;
        int i4;
        int i5;
        ArrayList arrayList = new ArrayList();
        int length = this.f5194I.length();
        int i6 = 0;
        if (1 < length) {
            i3 = 0;
            int i7 = 0;
            i4 = 0;
            i5 = 0;
            int i8 = 1;
            while (true) {
                int i9 = i8 + 1;
                c cVar = (c) this.f5194I.get(i8);
                if (cVar != null) {
                    int iF = cVar.f5204b.f();
                    int i10 = b.f5200a[cVar.f5205g.ordinal()];
                    if (i10 == 1) {
                        i6++;
                    } else if (i10 == 2) {
                        i3++;
                        StringBuilder sb = new StringBuilder();
                        sb.append(iF);
                        sb.append('b');
                        arrayList.add(sb.toString());
                    } else if (i10 == 3) {
                        i7++;
                        StringBuilder sb2 = new StringBuilder();
                        sb2.append(iF);
                        sb2.append('c');
                        arrayList.add(sb2.toString());
                    } else if (i10 == 4) {
                        i4++;
                        if (iF > 0) {
                            StringBuilder sb3 = new StringBuilder();
                            sb3.append(iF);
                            sb3.append('d');
                            arrayList.add(sb3.toString());
                        }
                    } else if (i10 == 5) {
                        i5++;
                    }
                }
                if (i9 >= length) {
                    break;
                }
                i8 = i9;
            }
            i2 = i6;
            i6 = i7;
        } else {
            i2 = 0;
            i3 = 0;
            i4 = 0;
            i5 = 0;
        }
        long j2 = this.controlState;
        return this.f5198x + '@' + L.b(this) + "[Pool Size {core = " + this.f5195b + ", max = " + this.f5196g + "}, Worker States {CPU = " + i6 + ", blocking = " + i3 + ", parked = " + i2 + ", dormant = " + i4 + ", terminated = " + i5 + "}, running workers queues = " + arrayList + ", global CPU queue size = " + this.f5199y.c() + ", global blocking queue size = " + this.f5193H.c() + ", Control State {created workers= " + ((int) (2097151 & j2)) + ", blocking tasks = " + ((int) ((4398044413952L & j2) >> 21)) + ", CPUs acquired = " + (this.f5195b - ((int) ((9223367638808264704L & j2) >> 42))) + "}]";
    }

    public final void u() {
        if (A() || z(this, 0L, 1, null)) {
            return;
        }
        A();
    }

    public final class c extends Thread {

        /* JADX INFO: renamed from: L, reason: collision with root package name */
        static final /* synthetic */ AtomicIntegerFieldUpdater f5201L = AtomicIntegerFieldUpdater.newUpdater(c.class, "workerCtl");

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

        /* JADX INFO: renamed from: b, reason: collision with root package name */
        public final n f5204b;

        /* JADX INFO: renamed from: g, reason: collision with root package name */
        public d f5205g;
        private volatile int indexInArray;
        private volatile Object nextParkedWorker;

        /* JADX INFO: renamed from: r, reason: collision with root package name */
        private long f5206r;
        volatile /* synthetic */ int workerCtl;

        /* JADX INFO: renamed from: x, reason: collision with root package name */
        private long f5207x;

        /* JADX INFO: renamed from: y, reason: collision with root package name */
        private int f5208y;

        private c() {
            setDaemon(true);
            this.f5204b = new n();
            this.f5205g = d.DORMANT;
            this.workerCtl = 0;
            this.nextParkedWorker = a.f5192a0;
            this.f5208y = A1.c.f189b.b();
        }

        private final void a(int i2) {
            if (i2 == 0) {
                return;
            }
            a.f5190Q.addAndGet(a.this, -2097152L);
            if (this.f5205g != d.TERMINATED) {
                this.f5205g = d.DORMANT;
            }
        }

        private final void b(int i2) {
            if (i2 != 0 && r(d.BLOCKING)) {
                a.this.u();
            }
        }

        private final void c(i iVar) {
            int i2 = iVar.f5226g.i();
            h(i2);
            b(i2);
            a.this.q(iVar);
            a(i2);
        }

        private final i d(boolean z2) {
            i iVarL;
            i iVarL2;
            if (z2) {
                boolean z3 = j(a.this.f5195b * 2) == 0;
                if (z3 && (iVarL2 = l()) != null) {
                    return iVarL2;
                }
                i iVarH = this.f5204b.h();
                if (iVarH != null) {
                    return iVarH;
                }
                if (!z3 && (iVarL = l()) != null) {
                    return iVarL;
                }
            } else {
                i iVarL3 = l();
                if (iVarL3 != null) {
                    return iVarL3;
                }
            }
            return s(false);
        }

        private final void h(int i2) {
            this.f5206r = 0L;
            if (this.f5205g == d.PARKING) {
                this.f5205g = d.BLOCKING;
            }
        }

        private final boolean i() {
            return this.nextParkedWorker != a.f5192a0;
        }

        private final void k() {
            if (this.f5206r == 0) {
                this.f5206r = System.nanoTime() + a.this.f5197r;
            }
            LockSupport.parkNanos(a.this.f5197r);
            if (System.nanoTime() - this.f5206r >= 0) {
                this.f5206r = 0L;
                t();
            }
        }

        private final i l() {
            if (j(2) == 0) {
                i iVar = (i) a.this.f5199y.d();
                return iVar == null ? (i) a.this.f5193H.d() : iVar;
            }
            i iVar2 = (i) a.this.f5193H.d();
            return iVar2 == null ? (i) a.this.f5199y.d() : iVar2;
        }

        private final void m() {
            loop0: while (true) {
                boolean z2 = false;
                while (!a.this.i() && this.f5205g != d.TERMINATED) {
                    i iVarE = e(this.f5202H);
                    if (iVarE != null) {
                        this.f5207x = 0L;
                        c(iVarE);
                    } else {
                        this.f5202H = false;
                        if (this.f5207x == 0) {
                            q();
                        } else if (z2) {
                            r(d.PARKING);
                            Thread.interrupted();
                            LockSupport.parkNanos(this.f5207x);
                            this.f5207x = 0L;
                        } else {
                            z2 = true;
                        }
                    }
                }
                break loop0;
            }
            r(d.TERMINATED);
        }

        private final boolean p() {
            long j2;
            if (this.f5205g == d.CPU_ACQUIRED) {
                return true;
            }
            a aVar = a.this;
            do {
                j2 = aVar.controlState;
                if (((int) ((9223367638808264704L & j2) >> 42)) == 0) {
                    return false;
                }
            } while (!a.f5190Q.compareAndSet(aVar, j2, j2 - 4398046511104L));
            this.f5205g = d.CPU_ACQUIRED;
            return true;
        }

        private final void q() {
            if (!i()) {
                a.this.m(this);
                return;
            }
            this.workerCtl = -1;
            while (i() && this.workerCtl == -1 && !a.this.i() && this.f5205g != d.TERMINATED) {
                r(d.PARKING);
                Thread.interrupted();
                k();
            }
        }

        private final i s(boolean z2) {
            int i2 = (int) (a.this.controlState & 2097151);
            if (i2 < 2) {
                return null;
            }
            int iJ = j(i2);
            a aVar = a.this;
            long jMin = Long.MAX_VALUE;
            for (int i3 = 0; i3 < i2; i3++) {
                iJ++;
                if (iJ > i2) {
                    iJ = 1;
                }
                c cVar = (c) aVar.f5194I.get(iJ);
                if (cVar != null && cVar != this) {
                    long jK = z2 ? this.f5204b.k(cVar.f5204b) : this.f5204b.l(cVar.f5204b);
                    if (jK == -1) {
                        return this.f5204b.h();
                    }
                    if (jK > 0) {
                        jMin = Math.min(jMin, jK);
                    }
                }
            }
            if (jMin == LocationRequestCompat.PASSIVE_INTERVAL) {
                jMin = 0;
            }
            this.f5207x = jMin;
            return null;
        }

        private final void t() {
            a aVar = a.this;
            synchronized (aVar.f5194I) {
                try {
                    if (aVar.i()) {
                        return;
                    }
                    if (((int) (aVar.controlState & 2097151)) <= aVar.f5195b) {
                        return;
                    }
                    if (f5201L.compareAndSet(this, -1, 1)) {
                        int iF = f();
                        n(0);
                        aVar.n(this, iF, 0);
                        int andDecrement = (int) (a.f5190Q.getAndDecrement(aVar) & 2097151);
                        if (andDecrement != iF) {
                            Object obj = aVar.f5194I.get(andDecrement);
                            kotlin.jvm.internal.l.b(obj);
                            c cVar = (c) obj;
                            aVar.f5194I.set(iF, cVar);
                            cVar.n(iF);
                            aVar.n(cVar, andDecrement, iF);
                        }
                        aVar.f5194I.set(andDecrement, null);
                        s sVar = s.f5871a;
                        this.f5205g = d.TERMINATED;
                    }
                } catch (Throwable th) {
                    throw th;
                }
            }
        }

        public final i e(boolean z2) {
            i iVarH;
            if (p()) {
                return d(z2);
            }
            if (!z2 || (iVarH = this.f5204b.h()) == null) {
                iVarH = (i) a.this.f5193H.d();
            }
            return iVarH == null ? s(true) : iVarH;
        }

        public final int f() {
            return this.indexInArray;
        }

        public final Object g() {
            return this.nextParkedWorker;
        }

        public final int j(int i2) {
            int i3 = this.f5208y;
            int i4 = i3 ^ (i3 << 13);
            int i5 = i4 ^ (i4 >> 17);
            int i6 = i5 ^ (i5 << 5);
            this.f5208y = i6;
            int i7 = i2 - 1;
            return (i7 & i2) == 0 ? i6 & i7 : (i6 & Integer.MAX_VALUE) % i2;
        }

        public final void n(int i2) {
            StringBuilder sb = new StringBuilder();
            sb.append(a.this.f5198x);
            sb.append("-worker-");
            sb.append(i2 == 0 ? "TERMINATED" : String.valueOf(i2));
            setName(sb.toString());
            this.indexInArray = i2;
        }

        public final void o(Object obj) {
            this.nextParkedWorker = obj;
        }

        public final boolean r(d dVar) {
            d dVar2 = this.f5205g;
            boolean z2 = dVar2 == d.CPU_ACQUIRED;
            if (z2) {
                a.f5190Q.addAndGet(a.this, 4398046511104L);
            }
            if (dVar2 != dVar) {
                this.f5205g = dVar;
            }
            return z2;
        }

        @Override // java.lang.Thread, java.lang.Runnable
        public void run() {
            m();
        }

        public c(int i2) {
            this();
            n(i2);
        }
    }
}
