# {"id":"partitionSourceFiles","fileNameMappings":{"kotlinx.coroutines.ThreadLocalEventLoop":"EventLoop.common.kt","kotlinx.coroutines.EventLoopImplBase$DelayedTask":"EventLoop.common.kt","kotlinx.coroutines.internal.LockFreeTaskQueueCore":"LockFreeTaskQueue.kt","kotlinx.coroutines.internal.ThreadSafeHeap":"ThreadSafeHeap.kt","kotlinx.coroutines.EventLoopImplBase$DelayedTaskQueue":"EventLoop.common.kt","kotlinx.coroutines.CancellableContinuationImpl":"CancellableContinuationImpl.kt","kotlinx.coroutines.EventLoop":"EventLoop.common.kt","kotlinx.coroutines.EventLoopImplPlatform":"EventLoop.kt"}}
kotlinx.coroutines.EventLoopImplBase -> wm0:
# {"id":"sourceFile","fileName":"EventLoop.common.kt"}
    java.util.concurrent.atomic.AtomicReferenceFieldUpdater _queue$volatile$FU -> l
    java.util.concurrent.atomic.AtomicReferenceFieldUpdater _delayed$volatile$FU -> m
    java.util.concurrent.atomic.AtomicIntegerFieldUpdater _isCompleted$volatile$FU -> n
    long _delayed$volatile$FU$offset -> o
      # {"id":"com.android.tools.r8.synthesized"}
    long _queue$volatile$FU$offset -> p
      # {"id":"com.android.tools.r8.synthesized"}
    1:51:void <clinit>():0:0 -> <clinit>
    1:19:void schedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):367:367 -> A0
      # {"id":"com.android.tools.r8.residualsignature","signature":"(JLum0;)V"}
    20:23:void schedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):365:365 -> A0
    24:29:void schedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):364:364 -> A0
    30:33:void kotlinx.coroutines.EventLoopImplPlatform.unpark():8:8 -> A0
    30:33:void schedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):364 -> A0
    34:39:void kotlinx.coroutines.EventLoopImplPlatform.unpark():9:9 -> A0
    34:39:void schedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):364 -> A0
    40:43:void kotlinx.coroutines.EventLoopImplPlatform.unpark():10:10 -> A0
    40:43:void schedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):364 -> A0
    1:2:java.util.concurrent.atomic.AtomicIntegerFieldUpdater get_isCompleted$volatile$FU():0:0 -> B0
    1:2:boolean isCompleted():179 -> B0
    1:2:int scheduleImpl(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):374 -> B0
      # {"id":"com.android.tools.r8.residualsignature","signature":"(JLum0;)I"}
    3:10:boolean isCompleted():179:179 -> B0
    3:10:int scheduleImpl(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):374 -> B0
    11:27:int scheduleImpl(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):375:375 -> B0
    28:29:int scheduleImpl(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):376:376 -> B0
    30:32:void kotlinx.coroutines.internal.ThreadSafeHeap.<init>():19:19 -> B0
    30:32:void kotlinx.coroutines.EventLoopImplBase$DelayedTaskQueue.<init>(long):517 -> B0
    30:32:int scheduleImpl(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):376 -> B0
    33:34:void kotlinx.coroutines.EventLoopImplBase$DelayedTaskQueue.<init>(long):518:518 -> B0
    33:34:int scheduleImpl(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):376 -> B0
    35:53:boolean java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet(java.lang.Object,java.lang.Object,java.lang.Object):0:0 -> B0
    35:53:int scheduleImpl(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):376 -> B0
    54:67:int scheduleImpl(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):377:377 -> B0
    68:72:int scheduleImpl(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):379:379 -> B0
    1:2:java.util.concurrent.atomic.AtomicReferenceFieldUpdater get_delayed$volatile$FU():0:0 -> C0
    1:2:boolean shouldUnpark(kotlinx.coroutines.EventLoopImplBase$DelayedTask):371 -> C0
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lum0;)Z"}
    3:19:boolean shouldUnpark(kotlinx.coroutines.EventLoopImplBase$DelayedTask):371:371 -> C0
    20:20:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.peek():163:163 -> C0
    20:20:boolean shouldUnpark(kotlinx.coroutines.EventLoopImplBase$DelayedTask):371 -> C0
    21:29:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.firstImpl():84:84 -> C0
    21:29:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.peek():41 -> C0
    21:29:boolean shouldUnpark(kotlinx.coroutines.EventLoopImplBase$DelayedTask):371 -> C0
    30:38:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.peek():163:163 -> C0
    30:38:boolean shouldUnpark(kotlinx.coroutines.EventLoopImplBase$DelayedTask):371 -> C0
    1:4:void dispatch(kotlin.coroutines.CoroutineContext,java.lang.Runnable):262:262 -> g0
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lp60;Ljava/lang/Runnable;)V"}
    1:9:long processNextEvent():250:250 -> n0
    10:12:long processNextEvent():252:252 -> n0
    13:18:long processNextEvent():254:254 -> n0
    19:22:long processNextEvent():256:256 -> n0
    23:27:long processNextEvent():259:259 -> n0
    36:39:void scheduleResumeAfterDelay(long,kotlinx.coroutines.CancellableContinuation):223:223 -> p
      # {"id":"com.android.tools.r8.residualsignature","signature":"(JLmt;)V"}
    40:45:void scheduleResumeAfterDelay(long,kotlinx.coroutines.CancellableContinuation):224:224 -> p
    46:48:void scheduleResumeAfterDelay(long,kotlinx.coroutines.CancellableContinuation):230:230 -> p
    49:54:void kotlinx.coroutines.CancellableContinuationKt.disposeOnCancellation(kotlinx.coroutines.CancellableContinuation,kotlinx.coroutines.DisposableHandle):500:500 -> p
    49:54:void scheduleResumeAfterDelay(long,kotlinx.coroutines.CancellableContinuation):231 -> p
    55:58:void kotlinx.coroutines.CancellableContinuationImpl.invokeOnCancellationInternal$kotlinx_coroutines_core(kotlinx.coroutines.CancelHandler):398:398 -> p
    55:58:void kotlinx.coroutines.CancellableContinuationKt.invokeOnCancellation(kotlinx.coroutines.CancellableContinuation,kotlinx.coroutines.CancelHandler):319 -> p
    55:58:void kotlinx.coroutines.CancellableContinuationKt.disposeOnCancellation(kotlinx.coroutines.CancellableContinuation,kotlinx.coroutines.DisposableHandle):500 -> p
    55:58:void scheduleResumeAfterDelay(long,kotlinx.coroutines.CancellableContinuation):231 -> p
    1:17:void closeQueue():341:341 -> p0
    18:40:boolean java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet(java.lang.Object,java.lang.Object,java.lang.Object):0:0 -> p0
    18:40:void closeQueue():343 -> p0
    41:44:void closeQueue():344:344 -> p0
    45:53:void closeQueue():345:345 -> p0
    54:61:void closeQueue():352:352 -> p0
    62:67:void closeQueue():353:353 -> p0
    68:87:boolean java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet(java.lang.Object,java.lang.Object,java.lang.Object):0:0 -> p0
    68:87:void closeQueue():354 -> p0
    1:16:java.lang.Runnable dequeue():304:304 -> q0
    17:20:java.lang.Runnable dequeue():307:307 -> q0
    21:27:java.lang.Runnable dequeue():308:308 -> q0
    28:34:java.lang.Runnable dequeue():309:309 -> q0
    35:38:java.lang.Runnable dequeue():310:310 -> q0
    39:60:boolean java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet(java.lang.Object,java.lang.Object,java.lang.Object):0:0 -> q0
    39:60:java.lang.Runnable dequeue():310 -> q0
    61:66:java.lang.Runnable dequeue():313:313 -> q0
    67:77:boolean java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet(java.lang.Object,java.lang.Object,java.lang.Object):0:0 -> q0
    67:77:java.lang.Runnable dequeue():314 -> q0
    78:80:java.lang.Runnable dequeue():314:314 -> q0
    81:88:boolean java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet(java.lang.Object,java.lang.Object,java.lang.Object):0:0 -> q0
    81:88:java.lang.Runnable dequeue():314 -> q0
    1:3:void enqueue(java.lang.Runnable):266:266 -> r0
    4:9:void enqueue(java.lang.Runnable):267:267 -> r0
    10:13:void kotlinx.coroutines.EventLoopImplPlatform.unpark():8:8 -> r0
    10:13:void enqueue(java.lang.Runnable):269 -> r0
    14:19:void kotlinx.coroutines.EventLoopImplPlatform.unpark():9:9 -> r0
    14:19:void enqueue(java.lang.Runnable):269 -> r0
    20:23:void kotlinx.coroutines.EventLoopImplPlatform.unpark():10:10 -> r0
    20:23:void enqueue(java.lang.Runnable):269 -> r0
    24:29:void enqueue(java.lang.Runnable):271:271 -> r0
    1:2:java.util.concurrent.atomic.AtomicReferenceFieldUpdater get_delayed$volatile$FU():0:0 -> s0
    1:2:void enqueueDelayedTasks():322 -> s0
    3:17:void enqueueDelayedTasks():322:322 -> s0
    18:19:java.util.concurrent.atomic.AtomicIntegerFieldUpdater kotlinx.coroutines.internal.ThreadSafeHeap.get_size$volatile$FU():0:0 -> s0
    18:19:int kotlinx.coroutines.internal.ThreadSafeHeap.getSize():26 -> s0
    18:19:boolean kotlinx.coroutines.internal.ThreadSafeHeap.isEmpty():29 -> s0
    18:19:void enqueueDelayedTasks():323 -> s0
    20:26:int kotlinx.coroutines.internal.ThreadSafeHeap.getSize():26:26 -> s0
    20:26:boolean kotlinx.coroutines.internal.ThreadSafeHeap.isEmpty():29 -> s0
    20:26:void enqueueDelayedTasks():323 -> s0
    27:30:void enqueueDelayedTasks():324:324 -> s0
    31:31:void enqueueDelayedTasks():544:544 -> s0
    32:43:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.firstImpl():84:84 -> s0
    32:43:void enqueueDelayedTasks():545 -> s0
    44:45:void enqueueDelayedTasks():544:544 -> s0
    46:55:boolean kotlinx.coroutines.EventLoopImplBase$DelayedTask.timeToExecute(long):432:432 -> s0
    46:55:void enqueueDelayedTasks():330 -> s0
    56:65:void enqueueDelayedTasks():331:331 -> s0
    66:73:void enqueueDelayedTasks():547:547 -> s0
    74:76:void enqueueDelayedTasks():544:544 -> s0
    1:7:void kotlinx.coroutines.ThreadLocalEventLoop.resetEventLoop$kotlinx_coroutines_core():125:125 -> shutdown
    1:7:void shutdown():209 -> shutdown
    8:9:java.util.concurrent.atomic.AtomicIntegerFieldUpdater get_isCompleted$volatile$FU():0:0 -> shutdown
    8:9:void setCompleted(boolean):180 -> shutdown
    8:9:void shutdown():212 -> shutdown
    10:12:void setCompleted(boolean):180:180 -> shutdown
    10:12:void shutdown():212 -> shutdown
    13:15:void shutdown():213:213 -> shutdown
    16:25:void shutdown():215:215 -> shutdown
    26:29:void shutdown():217:217 -> shutdown
    1:13:boolean enqueueImpl(java.lang.Runnable):277:277 -> t0
    14:15:java.util.concurrent.atomic.AtomicIntegerFieldUpdater get_isCompleted$volatile$FU():0:0 -> t0
    14:15:boolean isCompleted():179 -> t0
    14:15:boolean enqueueImpl(java.lang.Runnable):278 -> t0
    16:25:boolean isCompleted():179:179 -> t0
    16:25:boolean enqueueImpl(java.lang.Runnable):278 -> t0
    26:46:boolean java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet(java.lang.Object,java.lang.Object,java.lang.Object):0:0 -> t0
    26:46:boolean enqueueImpl(java.lang.Runnable):280 -> t0
    47:50:boolean enqueueImpl(java.lang.Runnable):281:281 -> t0
    51:65:boolean enqueueImpl(java.lang.Runnable):282:282 -> t0
    66:69:boolean enqueueImpl(java.lang.Runnable):285:285 -> t0
    70:88:boolean java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet(java.lang.Object,java.lang.Object,java.lang.Object):0:0 -> t0
    70:88:boolean enqueueImpl(java.lang.Runnable):285 -> t0
    89:94:boolean enqueueImpl(java.lang.Runnable):289:289 -> t0
    95:101:boolean enqueueImpl(java.lang.Runnable):292:292 -> t0
    102:107:boolean enqueueImpl(java.lang.Runnable):293:293 -> t0
    108:110:boolean enqueueImpl(java.lang.Runnable):294:294 -> t0
    111:129:boolean java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet(java.lang.Object,java.lang.Object,java.lang.Object):0:0 -> t0
    111:129:boolean enqueueImpl(java.lang.Runnable):295 -> t0
    1:13:long kotlinx.coroutines.EventLoop.getNextTime():58:58 -> u0
    1:13:long getNextTime():195 -> u0
    14:26:long kotlinx.coroutines.EventLoop.getNextTime():59:59 -> u0
    14:26:long getNextTime():195 -> u0
    27:28:java.util.concurrent.atomic.AtomicReferenceFieldUpdater get_queue$volatile$FU():0:0 -> u0
    27:28:long getNextTime():196 -> u0
    29:41:long getNextTime():196:196 -> u0
    42:47:long getNextTime():199:199 -> u0
    48:49:java.util.concurrent.atomic.AtomicLongFieldUpdater kotlinx.coroutines.internal.LockFreeTaskQueueCore.get_state$volatile$FU():0:0 -> u0
    48:49:boolean kotlinx.coroutines.internal.LockFreeTaskQueueCore.isEmpty():87 -> u0
    48:49:long getNextTime():199 -> u0
    50:72:boolean kotlinx.coroutines.internal.LockFreeTaskQueueCore.isEmpty():87:87 -> u0
    50:72:long getNextTime():199 -> u0
    73:77:long getNextTime():200:200 -> u0
    78:79:java.util.concurrent.atomic.AtomicReferenceFieldUpdater get_delayed$volatile$FU():0:0 -> u0
    78:79:long getNextTime():203 -> u0
    80:92:long getNextTime():203:203 -> u0
    93:93:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.peek():163:163 -> u0
    93:93:long getNextTime():203 -> u0
    94:104:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.firstImpl():84:84 -> u0
    94:104:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.peek():41 -> u0
    94:104:long getNextTime():203 -> u0
    105:108:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.peek():163:163 -> u0
    105:108:long getNextTime():203 -> u0
    109:121:long getNextTime():204:204 -> u0
    122:124:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.peek():163:163 -> u0
    122:124:long getNextTime():203 -> u0
    java.lang.Thread kotlinx.coroutines.EventLoopImplPlatform.getThread() -> v0
    1:15:boolean kotlinx.coroutines.EventLoop.isUnconfinedQueueEmpty():87:87 -> w0
    1:15:boolean isEmpty():183 -> w0
    16:17:java.util.concurrent.atomic.AtomicReferenceFieldUpdater get_delayed$volatile$FU():0:0 -> w0
    16:17:boolean isEmpty():184 -> w0
    18:32:boolean isEmpty():184:184 -> w0
    33:34:java.util.concurrent.atomic.AtomicIntegerFieldUpdater kotlinx.coroutines.internal.ThreadSafeHeap.get_size$volatile$FU():0:0 -> w0
    33:34:int kotlinx.coroutines.internal.ThreadSafeHeap.getSize():26 -> w0
    33:34:boolean kotlinx.coroutines.internal.ThreadSafeHeap.isEmpty():29 -> w0
    33:34:boolean isEmpty():185 -> w0
    35:42:int kotlinx.coroutines.internal.ThreadSafeHeap.getSize():26:26 -> w0
    35:42:boolean kotlinx.coroutines.internal.ThreadSafeHeap.isEmpty():29 -> w0
    35:42:boolean isEmpty():185 -> w0
    43:44:java.util.concurrent.atomic.AtomicReferenceFieldUpdater get_queue$volatile$FU():0:0 -> w0
    43:44:boolean isEmpty():186 -> w0
    45:56:boolean isEmpty():186:186 -> w0
    57:62:boolean isEmpty():188:188 -> w0
    63:64:java.util.concurrent.atomic.AtomicLongFieldUpdater kotlinx.coroutines.internal.LockFreeTaskQueueCore.get_state$volatile$FU():0:0 -> w0
    63:64:boolean kotlinx.coroutines.internal.LockFreeTaskQueueCore.isEmpty():87 -> w0
    63:64:boolean isEmpty():188 -> w0
    65:87:boolean kotlinx.coroutines.internal.LockFreeTaskQueueCore.isEmpty():87:87 -> w0
    65:87:boolean isEmpty():188 -> w0
    88:93:boolean isEmpty():189:189 -> w0
    1:6:void kotlinx.coroutines.EventLoopImplPlatform.reschedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):14:14 -> x0
      # {"id":"com.android.tools.r8.residualsignature","signature":"(JLum0;)V"}
    1:4:void rescheduleAllDelayed():390:390 -> y0
    5:6:java.util.concurrent.atomic.AtomicReferenceFieldUpdater get_delayed$volatile$FU():0:0 -> y0
    5:6:void rescheduleAllDelayed():399 -> y0
    7:21:void rescheduleAllDelayed():399:399 -> y0
    22:22:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.removeFirstOrNull():165:165 -> y0
    22:22:void rescheduleAllDelayed():399 -> y0
    23:24:java.util.concurrent.atomic.AtomicIntegerFieldUpdater kotlinx.coroutines.internal.ThreadSafeHeap.get_size$volatile$FU():0:0 -> y0
    23:24:int kotlinx.coroutines.internal.ThreadSafeHeap.getSize():26 -> y0
    23:24:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.removeFirstOrNull():44 -> y0
    23:24:void rescheduleAllDelayed():399 -> y0
    25:31:int kotlinx.coroutines.internal.ThreadSafeHeap.getSize():26:26 -> y0
    25:31:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.removeFirstOrNull():44 -> y0
    25:31:void rescheduleAllDelayed():399 -> y0
    32:39:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.removeFirstOrNull():45:45 -> y0
    32:39:void rescheduleAllDelayed():399 -> y0
    40:43:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.removeFirstOrNull():165:165 -> y0
    40:43:void rescheduleAllDelayed():399 -> y0
    44:47:void rescheduleAllDelayed():400:400 -> y0
    48:50:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.removeFirstOrNull():165:165 -> y0
    48:50:void rescheduleAllDelayed():399 -> y0
    1:13:void resetAll():384:384 -> z0
    14:15:java.util.concurrent.atomic.AtomicReferenceFieldUpdater get_delayed$volatile$FU():0:0 -> z0
    14:15:void resetAll():385 -> z0
    16:24:void resetAll():385:385 -> z0
