=9'com/ustadmobile/libcache/UstadCacheImpljava/lang/Object#com/ustadmobile/libcache/UstadCache(Lkotlinx/io/files/FileSystem;Ljava/lang/String;Lcom/ustadmobile/libcache/CachePathsProvider;Lcom/ustadmobile/libcache/db/UstadCacheDb;Lkotlin/jvm/functions/Function0;Lcom/ustadmobile/libcache/logging/UstadCacheLogger;Lcom/ustadmobile/libcache/UstadCache$CacheListener;IILcom/ustadmobile/libcache/cachecontrol/ResponseValidityChecker;Lcom/ustadmobile/libcache/UstadCacheTrimmer;Lcom/ustadmobile/libcache/CacheStorageCompressionFilter;)V(Lkotlinx/io/files/FileSystem;Ljava/lang/String;Lcom/ustadmobile/libcache/CachePathsProvider;Lcom/ustadmobile/libcache/db/UstadCacheDb;Lkotlin/jvm/functions/Function0;Lcom/ustadmobile/libcache/logging/UstadCacheLogger;Lcom/ustadmobile/libcache/UstadCache$CacheListener;IILcom/ustadmobile/libcache/cachecontrol/ResponseValidityChecker;Lcom/ustadmobile/libcache/UstadCacheTrimmer;Lcom/ustadmobile/libcache/CacheStorageCompressionFilter;)V#Lorg/jetbrains/annotations/NotNull;$Lorg/jetbrains/annotations/Nullable; fileSystem kotlin/jvm/internal/IntrinsicscheckNotNullParameter'(Ljava/lang/Object;Ljava/lang/String;)V   cacheName pathsProviderdb sizeLimitresponseValidityCheckertrimmerstorageCompressionFilter ()V " #Lkotlinx/io/files/FileSystem; % &-Lcom/ustadmobile/libcache/CachePathsProvider; ( )*Lcom/ustadmobile/libcache/db/UstadCacheDb; + ,logger3Lcom/ustadmobile/libcache/logging/UstadCacheLogger; ./ 0listener3Lcom/ustadmobile/libcache/UstadCache$CacheListener; 23 4databaseCommitIntervalI 67 8 trimInterval :7 ;?Lcom/ustadmobile/libcache/cachecontrol/ResponseValidityChecker; = >,Lcom/ustadmobile/libcache/UstadCacheTrimmer; @ A8Lcom/ustadmobile/libcache/CacheStorageCompressionFilter; C Dkotlinx/coroutines/DispatchersFgetIO*()Lkotlinx/coroutines/CoroutineDispatcher; HI GJkotlinx/coroutines/JobKtL Job$defaultP(Lkotlinx/coroutines/Job;ILjava/lang/Object;)Lkotlinx/coroutines/CompletableJob; NO MP"kotlin/coroutines/CoroutineContextR&kotlinx/coroutines/CoroutineDispatcherTplusJ(Lkotlin/coroutines/CoroutineContext;)Lkotlin/coroutines/CoroutineContext; VW UX#kotlinx/coroutines/CoroutineScopeKtZCoroutineScopeI(Lkotlin/coroutines/CoroutineContext;)Lkotlinx/coroutines/CoroutineScope; \] [^scope#Lkotlinx/coroutines/CoroutineScope; `a bkotlinx/atomicfu/AtomicFUdatomic(I)Lkotlinx/atomicfu/AtomicInt; fg eh tmpCounterLkotlinx/atomicfu/AtomicInt; jk l batchIdAtomic nk o&com/ustadmobile/door/util/SystemTimeKtqsystemTimeInMillis()J st ru (J)Lkotlinx/atomicfu/AtomicLong; fw ex lockIdAtomicLkotlinx/atomicfu/AtomicLong; z{ |UstadCache():~$java/lang/invoke/StringConcatFactorymakeConcatWithConstants(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; &(Ljava/lang/String;)Ljava/lang/String;  logPrefixLjava/lang/String;  kotlin/collections/CollectionsKt emptyList()Ljava/util/List; 0(Ljava/lang/Object;)Lkotlinx/atomicfu/AtomicRef; f ependingLastAccessedUpdatesLkotlinx/atomicfu/AtomicRef; pendingLockRemovals pendingLockUpserts pendingCacheEntryUpdates pendingCacheEntryDeletes $com/ustadmobile/libcache/util/LruMap kotlin/Pair!com/ustadmobile/door/ext/MapExtKtconcurrentSafeMapOf([Lkotlin/Pair;)Ljava/util/Map; B(Ljava/util/Map;IILkotlin/jvm/internal/DefaultConstructorMarker;)V  lruMap&Lcom/ustadmobile/libcache/util/LruMap; )com/ustadmobile/libcache/UstadCacheImpl$2L(Lcom/ustadmobile/libcache/UstadCacheImpl;Lkotlin/coroutines/Continuation;)V  kotlin/jvm/functions/Function2kotlinx/coroutines/BuildersKtlaunch$default(Lkotlinx/coroutines/CoroutineScope;Lkotlin/coroutines/CoroutineContext;Lkotlinx/coroutines/CoroutineStart;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlinx/coroutines/Job; )com/ustadmobile/libcache/UstadCacheImpl$3 )com/ustadmobile/libcache/UstadCacheImpl$4 this)Lcom/ustadmobile/libcache/UstadCacheImpl; Lkotlin/jvm/functions/Function0;(Lkotlinx/io/files/FileSystem;Ljava/lang/String;Lcom/ustadmobile/libcache/CachePathsProvider;Lcom/ustadmobile/libcache/db/UstadCacheDb;Lkotlin/jvm/functions/Function0;Lcom/ustadmobile/libcache/logging/UstadCacheLogger;Lcom/ustadmobile/libcache/UstadCache$CacheListener;IILcom/ustadmobile/libcache/cachecontrol/ResponseValidityChecker;Lcom/ustadmobile/libcache/UstadCacheTrimmer;Lcom/ustadmobile/libcache/CacheStorageCompressionFilter;ILkotlin/jvm/internal/DefaultConstructorMarker;)V kotlinx/io/files/FileSystemJvmKtSystemFileSystem % )com/ustadmobile/libcache/UstadCacheImpl$1INSTANCE+Lcom/ustadmobile/libcache/UstadCacheImpl$1; kotlin/jvm/functions/Function0=com/ustadmobile/libcache/cachecontrol/ResponseValidityChecker #*com/ustadmobile/libcache/UstadCacheTrimmer(Lcom/ustadmobile/libcache/db/UstadCacheDb;Lkotlinx/io/files/FileSystem;Lcom/ustadmobile/libcache/logging/UstadCacheLogger;Lkotlin/jvm/functions/Function0;)V  6com/ustadmobile/libcache/DefaultCacheCompressionFilter #6com/ustadmobile/libcache/CacheStorageCompressionFilter  getStorageCompressionFilter:()Lcom/ustadmobile/libcache/CacheStorageCompressionFilter; loadEntriesN(Ljava/util/List;Z)Lcom/ustadmobile/libcache/UstadCacheImpl$LoadEntriesResult;(Ljava/util/List;Z)Lcom/ustadmobile/libcache/UstadCacheImpl$LoadEntriesResult;java/lang/Iterablejava/util/ArrayList #iterator()Ljava/util/Iterator; java/util/IteratorhasNext()Z next()Ljava/lang/Object;  3com/ustadmobile/libcache/db/entities/RequestedEntrygetRequestedKey()Ljava/lang/String;    containsKey(Ljava/lang/Object;)Z    add  '(Ljava/lang/Object;Ljava/lang/Object;)V   component1  java/util/List component2  java/util/Collectionget&(Ljava/lang/Object;)Ljava/lang/Object;  !7com/ustadmobile/libcache/db/entities/CacheEntryAndLocks# isEmpty & '9com/ustadmobile/libcache/UstadCacheImpl$LoadEntriesResult)$(Ljava/util/List;Ljava/util/List;Z)V + *,androidx/room/RoomDatabase.5com/ustadmobile/libcache/UstadCacheImpl$loadEntries$20L(Lcom/ustadmobile/libcache/UstadCacheImpl;Ljava/util/List;Ljava/util/List;)V 2 13kotlin/jvm/functions/Function15*com/ustadmobile/door/ext/DoorDatabaseExtKt7withDoorTransaction$default(Landroidx/room/RoomDatabase;Lcom/ustadmobile/door/util/TransactionMode;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Ljava/lang/Object; 9: 8;,$i$a$-partition-UstadCacheImpl$loadEntries$1it5Lcom/ustadmobile/libcache/db/entities/RequestedEntry; element$ivLjava/lang/Object;$i$f$partitionfirst$ivLjava/util/ArrayList; second$iv$this$partition$ivLjava/lang/Iterable;@$i$a$-mapNotNull-UstadCacheImpl$loadEntries$entriesFromLruList$1>$i$a$-let-CollectionsKt___CollectionsKt$mapNotNullTo$1$1$iv$ivit$iv$iv@$i$a$-forEach-CollectionsKt___CollectionsKt$mapNotNullTo$1$iv$iv element$iv$ivelement$iv$iv$iv $i$f$forEach$this$forEach$iv$iv$iv$i$f$mapNotNullTo$this$mapNotNullTo$iv$ivdestination$iv$ivLjava/util/Collection;$i$f$mapNotNull$this$mapNotNull$iv entriesInLruLjava/util/List;entriesNotInLruentriesFromLruListrequestEntries loadFromDbZloadEntries$default(Lcom/ustadmobile/libcache/UstadCacheImpl;Ljava/util/List;ZILjava/lang/Object;)Lcom/ustadmobile/libcache/UstadCacheImpl$LoadEntriesResult; _ loadEntryE(Ljava/lang/String;)Lcom/ustadmobile/libcache/db/entities/CacheEntry;loadEntryAndLocksM(Ljava/lang/String;)Lcom/ustadmobile/libcache/db/entities/CacheEntryAndLocks; cd egetEntry3()Lcom/ustadmobile/libcache/db/entities/CacheEntry; gh $iurlKey;com/ustadmobile/libcache/UstadCacheImpl$loadEntryAndLocks$1l>(Lcom/ustadmobile/libcache/UstadCacheImpl;Ljava/lang/String;)V n mo loadEntryAndLocks$lambda$2m(Lkotlin/jvm/functions/Function1;Ljava/lang/Object;)Lcom/ustadmobile/libcache/db/entities/CacheEntryAndLocks; rs tuM(Ljava/lang/Object;)Lcom/ustadmobile/libcache/db/entities/CacheEntryAndLocks;w"java/lang/invoke/LambdaMetafactoryy metafactory(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; {| z}~apply?(Lkotlin/jvm/functions/Function1;)Ljava/util/function/Function; computeIfAbsentC(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;  computeIfAbsent(...)checkNotNullExpressionValue   upsertEntries(Ljava/util/List;)VF(Ljava/util/List;)V/com/ustadmobile/libcache/db/entities/CacheEntrygetKey  9com/ustadmobile/libcache/UstadCacheImpl$upsertEntries$1$14(Lcom/ustadmobile/libcache/db/entities/CacheEntry;)V  8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;upsertEntries$lambda$4$lambda$3(Lkotlin/jvm/functions/Function2;Ljava/lang/Object;Ljava/lang/Object;)Lcom/ustadmobile/libcache/db/entities/CacheEntryAndLocks;  _(Ljava/lang/Object;Ljava/lang/Object;)Lcom/ustadmobile/libcache/db/entities/CacheEntryAndLocks;A(Lkotlin/jvm/functions/Function2;)Ljava/util/function/BiFunction; computeE(Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;  kotlinx/atomicfu/AtomicRefgetValue  <(Ljava/util/Collection;Ljava/lang/Iterable;)Ljava/util/List; V  compareAndSet'(Ljava/lang/Object;Ljava/lang/Object;)Z  ,$i$a$-forEach-UstadCacheImpl$upsertEntries$11Lcom/ustadmobile/libcache/db/entities/CacheEntry;$this$forEach$iv+$i$a$-update-UstadCacheImpl$upsertEntries$2prevcur$ivupd$iv $i$f$update$this$update$iventriesstoreR(Ljava/util/List;Lcom/ustadmobile/libcache/StoreProgressListener;)Ljava/util/List;(Ljava/util/List;Lcom/ustadmobile/libcache/StoreProgressListener;)Ljava/util/List;java/lang/Throwable storeRequest/com/ustadmobile/libcache/md5/Md5DigestCreatorKt Md5Digest*()Lcom/ustadmobile/libcache/md5/Md5Digest;  +com/ustadmobile/libcache/CachePathsProviderinvoke'()Lcom/ustadmobile/libcache/CachePaths;   UstadCache/com/ustadmobile/libcache/UstadCacheImpl$store$1<(Lcom/ustadmobile/libcache/UstadCacheImpl;Ljava/util/List;)V  >com/ustadmobile/libcache/logging/UstadCacheLogger$DefaultImpls d$default(Lcom/ustadmobile/libcache/logging/UstadCacheLogger;Ljava/lang/String;Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)V  collectionSizeOrDefault(Ljava/lang/Iterable;I)I  (I)V  *com/ustadmobile/libcache/CacheEntryToStore getResponse0()Lcom/ustadmobile/ihttp/response/IHttpResponse;  #com/ustadmobile/libcache/CachePathsgetTmpWorkPath()Lkotlinx/io/files/Path;  kotlinx/io/files/FileSystemcreateDirectories$defaultK(Lkotlinx/io/files/FileSystem;Lkotlinx/io/files/Path;ZILjava/lang/Object;)V  java/lang/Stringkotlinx/atomicfu/AtomicIntincrementAndGet()I  .tmp(I)Ljava/lang/String; kotlinx/io/files/PathsKtPathC(Lkotlinx/io/files/Path;[Ljava/lang/String;)Lkotlinx/io/files/Path;    getRequest.()Lcom/ustadmobile/ihttp/request/IHttpRequest;   *com/ustadmobile/ihttp/request/IHttpRequestgetUrl    getHeaders.()Lcom/ustadmobile/ihttp/headers/IHttpHeaders;  ,com/ustadmobile/ihttp/response/IHttpResponse (Ljava/lang/String;Lcom/ustadmobile/ihttp/headers/IHttpHeaders;Lcom/ustadmobile/ihttp/headers/IHttpHeaders;)Lcom/ustadmobile/libcache/CompressionType;  (com/ustadmobile/libcache/CompressionType! Companion4Lcom/ustadmobile/libcache/CompressionType$Companion; #$ "%content-encoding'*com/ustadmobile/ihttp/headers/IHttpHeaders)  *+2com/ustadmobile/libcache/CompressionType$Companion- byHeaderVal>(Ljava/lang/String;)Lcom/ustadmobile/libcache/CompressionType; /0 .1java/util/LinkedHashMap3 4# java/util/Map6getResponseBodyTmpLocalPath 8 9+com/ustadmobile/libcache/io/FileSystemExtKt;moveWithFallbackN(Lkotlinx/io/files/FileSystem;Lkotlinx/io/files/Path;Lkotlinx/io/files/Path;)V => <?NONE*Lcom/ustadmobile/libcache/CompressionType; AB "C1com/ustadmobile/libcache/io/FileSystemCommonExtKtErequireMetadataU(Lkotlinx/io/files/FileSystem;Lkotlinx/io/files/Path;)Lkotlinx/io/files/FileMetadata; GH FIkotlinx/io/files/FileMetadataKgetSize Mt LNsource/(Lkotlinx/io/files/Path;)Lkotlinx/io/RawSource; PQ Rkotlinx/io/CoreKtTbuffered+(Lkotlinx/io/RawSource;)Lkotlinx/io/Source; VW UX'com/ustadmobile/libcache/io/SourceExtKtZ uncompressR(Lkotlinx/io/Source;Lcom/ustadmobile/libcache/CompressionType;)Lkotlinx/io/Source; \] [^*com/ustadmobile/door/util/NullOutputStream` a#java/io/OutputStreamckotlinx/io/JvmCoreKteasSink,(Ljava/io/OutputStream;)Lkotlinx/io/RawSink; gh fikotlinx/io/Sourcek transferTo(Lkotlinx/io/RawSink;)J mn logcom/ustadmobile/libcache/UstadCacheImpl$store$entriesWithTmpFileAndIntegrityInfo$1$Sha256AndInflateSizeq([BJ)V s rt bodyAsSource()Lkotlinx/io/Source; vw x"java/lang/IllegalArgumentExceptionz]Response for  has no body. That should not have been stored in cache. Something badly wrong.|(Ljava/lang/String;)V  { BodySource for  is null8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; 1com/ustadmobile/libcache/logging/UstadCacheLoggere<(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V  transferToAndGetSha256(Lkotlinx/io/Source;Lkotlinx/io/files/Path;Lcom/ustadmobile/libcache/CompressionType;Lcom/ustadmobile/libcache/CompressionType;)Lcom/ustadmobile/libcache/io/TransferResult;  [ getHeaderVal  "listOf$(Ljava/lang/Object;)Ljava/util/List;  put  7content-lengthvalueOf(J)Ljava/lang/String;  *com/ustadmobile/libcache/io/TransferResult getSha256()[B  getTransferred t   r t rgetSkipChecksumIfProvided  1com/ustadmobile/libcache/headers/HttpHeadersExtKt integrity@(Lcom/ustadmobile/ihttp/headers/IHttpHeaders;)Ljava/lang/String;  4com/ustadmobile/libcache/integrity/Sha256IntegrityKtsha256Integrity([B)Ljava/lang/String;  useAndReadSha256(Lkotlinx/io/Source;)[B  [ 7'+com/ustadmobile/ihttp/headers/MergedHeaders6Lcom/ustadmobile/ihttp/headers/IHttpHeaders$Companion; # *4com/ustadmobile/ihttp/headers/IHttpHeaders$CompanionfromMap=(Ljava/util/Map;)Lcom/ustadmobile/ihttp/headers/IHttpHeaders;  0([Lcom/ustadmobile/ihttp/headers/IHttpHeaders;)V  . copied request data for  to  (integrity=)a(Ljava/lang/String;Ljava/lang/String;Lkotlinx/io/files/Path;Ljava/lang/String;)Ljava/lang/String;  v$default(Lcom/ustadmobile/libcache/logging/UstadCacheLogger;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;ILjava/lang/Object;)V  Lcom/ustadmobile/libcache/UstadCacheImpl$CacheEntryInProgress;4$i$a$-filter-UstadCacheImpl$store$tmpFilesToDelete$1 $i$f$filterTo$this$filterTo$iv$iv $i$f$filter$this$filter$iv1$i$a$-map-UstadCacheImpl$store$tmpFilesToDelete$2;$i$a$-let-UstadCacheImpl$store$oldVersionBodiesToDelete$1$1@$i$a$-mapNotNull-UstadCacheImpl$store$oldVersionBodiesToDelete$1entry$$i$a$-forEach-UstadCacheImpl$store$3 $i$a$-map-UstadCacheImpl$store$4"entriesWithTmpFileAndIntegrityInfobatchIdloadedEntriesLruResult;Lcom/ustadmobile/libcache/UstadCacheImpl$LoadEntriesResult;processEntriesFndbProcessedEntriestmpFilesToDeleteoldVersionBodiesToDeleteLjava/lang/Throwable; md5Digest(Lcom/ustadmobile/libcache/md5/Md5Digest;timeNow entryPaths%Lcom/ustadmobile/libcache/CachePaths;progressListener0Lcom/ustadmobile/libcache/StoreProgressListener;.com/ustadmobile/libcache/StoreProgressListener&com/ustadmobile/libcache/md5/Md5DigestTretrieve\(Lcom/ustadmobile/ihttp/request/IHttpRequest;)Lcom/ustadmobile/ihttp/response/IHttpResponse;request  Retrieve   i$default   getStorageUri  exists(Lkotlinx/io/files/Path;)Z    FOUND  :com/ustadmobile/libcache/UstadCacheImpl$LastAccessedUpdate(Ljava/lang/String;J)V  :(Ljava/util/Collection;Ljava/lang/Object;)Ljava/util/List; V 2com/ustadmobile/libcache/UstadCacheImpl$retrieve$2 /com/ustadmobile/ihttp/headers/IHeadersBuilderKtiHeadersBuilderN(Lkotlin/jvm/functions/Function1;)Lcom/ustadmobile/ihttp/headers/IHttpHeaders;   getStatusCode  getUncompressedSize t /com/ustadmobile/libcache/response/CacheResponse(Lkotlinx/io/files/FileSystem;Lcom/ustadmobile/ihttp/request/IHttpRequest;Lcom/ustadmobile/ihttp/headers/IHttpHeaders;Ljava/lang/String;JI)V   Entry deleted externally:  getLocks  $D Entry deleted externally:  - has no locks, so removing from cache 2com/ustadmobile/libcache/UstadCacheImpl$retrieve$34Lcom/ustadmobile/libcache/UstadCacheImpl$retrieve$3;  retrieve$lambda$16   computeIfPresent  areEqual  = Entry deleted externally:  - BUT IT HAD LOCKS!!! Not good! w$default   MISS &$i$a$-update-UstadCacheImpl$retrieve$1($i$a$-filter-UstadCacheImpl$retrieve$4$1&$i$a$-update-UstadCacheImpl$retrieve$4&$i$a$-update-UstadCacheImpl$retrieve$5key entryAndLocks9Lcom/ustadmobile/libcache/db/entities/CacheEntryAndLocks;,Lcom/ustadmobile/ihttp/request/IHttpRequest;updateLastValidated,(Lcom/ustadmobile/libcache/ValidatedEntry;)VvalidatedEntry'com/ustadmobile/libcache/ValidatedEntry  ab =com/ustadmobile/libcache/UstadCacheImpl$updateLastValidated$1V(Lcom/ustadmobile/libcache/ValidatedEntry;JLcom/ustadmobile/libcache/UstadCacheImpl;)V  updateLastValidated$lambda$20  md5)Lcom/ustadmobile/libcache/ValidatedEntry;Z copy$default(Lcom/ustadmobile/libcache/db/entities/CacheEntry;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IIIJJLjava/lang/String;Ljava/lang/String;Ljava/lang/String;JJILjava/lang/Object;)Lcom/ustadmobile/libcache/db/entities/CacheEntry;  $(Ljava/lang/String;)Ljava/util/List;Z(Ljava/lang/String;)Ljava/util/List; getEntries (Ljava/util/Set;)Ljava/util/Map;y(Ljava/util/Set;)Ljava/util/Map;urls ]^   *  getUrlKey   $ kotlin/TuplesKtto3(Ljava/lang/Object;Ljava/lang/Object;)Lkotlin/Pair;  kotlin/collections/MapsKttoMap%(Ljava/lang/Iterable;)Ljava/util/Map;  5$i$a$-map-UstadCacheImpl$getEntries$entryLoadResult$1'$i$a$-let-UstadCacheImpl$getEntries$1$1,$i$a$-mapNotNull-UstadCacheImpl$getEntries$1entryLoadResultLjava/util/Set; java/util/Set  isStoredInK(Lcom/ustadmobile/libcache/db/entities/CacheEntry;Lkotlinx/io/files/Path;)ZtoString $ &%kotlin/text/StringsKt'startsWith$default;(Ljava/lang/String;Ljava/lang/String;ZILjava/lang/Object;)Z )* (+ currentPath$this$isStoredInparent moveToNewPath{(Lcom/ustadmobile/libcache/db/entities/CacheEntry;Lkotlinx/io/files/Path;)Lcom/ustadmobile/libcache/db/entities/CacheEntry;getName 2 &3 moveToNewPath ()  -> 5f(Ljava/lang/String;Ljava/lang/String;Lkotlinx/io/files/Path;Lkotlinx/io/files/Path;)Ljava/lang/String; 78 newDestPath$this$moveToNewPath destParent[Ljava/lang/String;=addLockToLruMapo(Lcom/ustadmobile/libcache/db/entities/RetentionLock;)Lcom/ustadmobile/libcache/db/entities/CacheEntryAndLocks;2com/ustadmobile/libcache/db/entities/RetentionLockA getLockKey C BD9com/ustadmobile/libcache/UstadCacheImpl$addLockToLruMap$1F`(Lcom/ustadmobile/libcache/db/entities/RetentionLock;Lcom/ustadmobile/libcache/UstadCacheImpl;)V H GIaddLockToLruMap$lambda$24 K LM Can't happenP F retentionLock4Lcom/ustadmobile/libcache/db/entities/RetentionLock;addRetentionLocks"(Ljava/util/List;)Ljava/util/List;(Ljava/util/List;)Ljava/util/List;>;locksX;com/ustadmobile/libcache/UstadCacheImpl$addRetentionLocks$1Z [)com/ustadmobile/libcache/EntryLockRequest] ^kotlinx/atomicfu/AtomicLong` t ab getRemark d ^e((JLjava/lang/String;Ljava/lang/String;)V g Bh kotlin/Triplej ?@ l9(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V n ko getSecond q krgetThird t kugetFirst w kx,$i$a$-map-UstadCacheImpl$addRetentionLocks$2+Lcom/ustadmobile/libcache/EntryLockRequest;,$i$a$-map-UstadCacheImpl$addRetentionLocks$3lock lockRequest=$i$a$-map-UstadCacheImpl$addRetentionLocks$4$newLockUpserts$1Lkotlin/Triple;1$i$a$-update-UstadCacheImpl$addRetentionLocks$4$1J$i$a$-mapNotNull-UstadCacheImpl$addRetentionLocks$4$cacheEntriesToUpsert$11$i$a$-update-UstadCacheImpl$addRetentionLocks$4$2-$i$a$-also-UstadCacheImpl$addRetentionLocks$4newLockUpsertscacheEntriesToUpsertrequestsAndLocks,$i$a$-map-UstadCacheImpl$addRetentionLocks$5removeRetentionLocksA(Ljava/util/List;)V locksToRemove>com/ustadmobile/libcache/UstadCacheImpl$removeRetentionLocks$1 *com/ustadmobile/libcache/RemoveLockRequest @java/lang/Long(J)Ljava/lang/Long;   @com/ustadmobile/libcache/UstadCacheImpl$removeRetentionLocks$3$1h(Lcom/ustadmobile/libcache/UstadCacheImpl;Lcom/ustadmobile/libcache/RemoveLockRequest;Ljava/util/List;)V  (removeRetentionLocks$lambda$36$lambda$35  1$i$a$-map-UstadCacheImpl$removeRetentionLocks$2$1,Lcom/ustadmobile/libcache/RemoveLockRequest;2$i$a$-update-UstadCacheImpl$removeRetentionLocks$23$i$a$-forEach-UstadCacheImpl$removeRetentionLocks$3 removeRequest2$i$a$-update-UstadCacheImpl$removeRetentionLocks$4entriesWithLostLockcommit  getAccessTime t 0com/ustadmobile/libcache/UstadCacheImpl$commit$2{(Lcom/ustadmobile/libcache/UstadCacheImpl;Ljava/util/List;Ljava/util/List;Ljava/util/Map;Ljava/util/List;Ljava/util/List;)V  <$i$a$-getAndUpdate-UstadCacheImpl$commit$lastAccessUpdates$1$i$f$getAndUpdate$this$getAndUpdate$iv=$i$a$-getAndUpdate-UstadCacheImpl$commit$lockUpsertsPending$1>$i$a$-getAndUpdate-UstadCacheImpl$commit$lockRemovalsPending$1<$i$a$-getAndUpdate-UstadCacheImpl$commit$cacheEntryUpserts$1<$i$a$-getAndUpdate-UstadCacheImpl$commit$cacheEntryDeletes$1%$i$a$-forEach-UstadCacheImpl$commit$11com/ustadmobile/libcache/UstadCacheImpl$Companion1(Lkotlin/jvm/internal/DefaultConstructorMarker;)V  3Lcom/ustadmobile/libcache/UstadCacheImpl$Companion; # %([Ljava/lang/Object;)Ljava/util/List;   lLkotlinx/atomicfu/AtomicRef;>;@Lkotlinx/atomicfu/AtomicRef;>;dLkotlinx/atomicfu/AtomicRef;>;aLkotlinx/atomicfu/AtomicRef;>;sLcom/ustadmobile/libcache/util/LruMap;LOG_TAG$Ljava/util/List;Lkotlin/Metadata;mv kxi0d1&þ                                    $ "                 c20:bcdeBƒ0000  0 0   0 000000¢J20"230,HJ(4060,050%2 7060%HJ809HJ:09J;0&2<0HJ"=00&0>2 ?00@HJA0,0%2<0HJ B0C2 D0E0%2F0GHJH0&2I0HJJ0"2I0HJK092 L0M0%HJN0O2P0QHJ&R0S0%2 T0U0%2V0WHJX092Y0ZHJ[092 \0&0%HJ]0G*0&2^0_HJ`0&*0&2a0_HR0X‚¢ R0X‚¢ R0 X‚¢ R0X‚¢ R0X‚¢ R0X‚¢ R0X‚¢ R 0X‚¢ R 00"0!X‚¢ R0X‚¢ R# 0&0%0$X‚¢ R' 0&0%0$X‚¢ R( 0)0%0$X‚¢ R* 0 0%0$X‚¢ R+ 0,0%0$X‚¢ R0X‚¢ R-0.X‚¢ R0X–¢ /0R10X‚¢ R0X‚¢ R0X‚¢ ¨fd2%Lcom/ustadmobile/libcache/UstadCache;Lkotlin/Function0; Lkotlin/Pair;&Lcom/ustadmobile/libcache/StoreResult;CacheEntryInProgressLastAccessedUpdateLoadEntriesResultlib-cache_debug CacheListenerSha256AndInflateSize DefaultImplsUstadCacheImpl.kt*Lkotlin/jvm/internal/SourceDebugExtension;valueZSMAP UstadCacheImpl.kt Kotlin *S Kotlin *F + 1 UstadCacheImpl.kt com/ustadmobile/libcache/UstadCacheImpl + 2 _Collections.kt kotlin/collections/CollectionsKt___CollectionsKt + 3 fake.kt kotlin/jvm/internal/FakeKt + 4 AtomicFU.common.kt kotlinx/atomicfu/AtomicFU_commonKt *L 1#1,875:1 3190#2,10:876 1603#2,9:886 1855#2:895 1856#2:897 1612#2:898 1855#2,2:899 1549#2:905 1620#2,2:906 1622#2:909 1549#2:910 1620#2,3:911 766#2:914 857#2,2:915 1549#2:917 1620#2,3:918 1603#2,9:921 1855#2:930 1856#2:932 1612#2:933 1855#2,2:934 1549#2:936 1620#2,3:937 766#2:947 857#2,2:948 1549#2:955 1620#2,3:956 1603#2,9:959 1855#2:968 1856#2:970 1612#2:971 1549#2:972 1620#2,3:973 1549#2:976 1620#2,3:977 1549#2:980 1620#2,3:981 1603#2,9:988 1855#2:997 1856#2:999 1612#2:1000 1549#2:1005 1620#2,3:1006 1549#2:1012 1620#2,3:1013 1855#2,2:1017 1855#2,2:1043 1#3:896 1#3:908 1#3:931 1#3:969 1#3:998 163#4,4:901 163#4,4:940 163#4,3:944 166#4:950 163#4,4:951 163#4,4:984 163#4,4:1001 163#4,3:1009 166#4:1016 163#4,4:1019 174#4,4:1023 174#4,4:1027 174#4,4:1031 174#4,4:1035 174#4,4:1039 *S KotlinDebug *F + 1 UstadCacheImpl.kt com/ustadmobile/libcache/UstadCacheImpl *L 190#1:876,10 194#1:886,9 194#1:895 194#1:897 194#1:898 256#1:899,2 291#1:905 291#1:906,2 291#1:909 386#1:910 386#1:911,3 525#1:914 525#1:915,2 527#1:917 527#1:918,3 531#1:921,9 531#1:930 531#1:932 531#1:933 536#1:934,2 543#1:936 543#1:937,3 602#1:947 602#1:948,2 671#1:955 671#1:956,3 679#1:959,9 679#1:968 679#1:970 679#1:971 743#1:972 743#1:973,3 746#1:976 746#1:977,3 756#1:980 756#1:981,3 761#1:988,9 761#1:997 761#1:999 761#1:1000 767#1:1005 767#1:1006,3 781#1:1012 781#1:1013,3 786#1:1017,2 835#1:1043,2 194#1:896 531#1:931 679#1:969 761#1:998 268#1:901,4 574#1:940,4 601#1:944,3 601#1:950 605#1:951,4 757#1:984,4 764#1:1001,4 780#1:1009,3 780#1:1016 804#1:1019,4 810#1:1023,4 814#1:1027,4 816#1:1031,4 820#1:1035,4 824#1:1039,4 *E RuntimeInvisibleAnnotations Signature ConstantValueCodeLineNumberTableLocalVariableTable$RuntimeInvisibleParameterAnnotations StackMapTable InnerClasses SourceFileSourceDebugExtensionRuntimeVisibleAnnotationsBootstrapMethods1#,  %, (, +, ./, 23, 67:7=, @,  C, `a, jk, nk, z{, , - , - , - , -, -, -, ., W-, ./M ?+ ,-   !*$*+'*-**-*1*5*9* <* ?* B* E*KQSY_c*im*ip*vy}*,******Y*cY*W*cY*W*cY*W0r599:><C=I?O@UA[BaCgDmJsMOQSUWY[]_k %=>91 ?? %??(?+??./?23?67?:7 ?= ?@ ? C - 2A           /C  ~L ~M ~ :  ~: @~: ~6 ~u06  ~ Y:  ~Y+:  ~Y: *+,-    3  0n9: 9;9>%9-?098@;9DAI9RBW9`Ci9rDvExFyG{H}D9J9k//*E0J1 , /B+:6Y:Y::;:  : 6 *   W WYN-:-::6: Y: 6  : 6  :G::6:6* "$Y:6 %WW : (*Y-*-/1Y*+46<*3 $ 6 JH$ 0z lmn7oAMoPp[rfuqv~~~~~~v#1A =7 >>? 7,@A hB7_CDVEDkFGH7>? I7 JA0K73LA8MAXN7 [OG aP7 dQG dRS xT7{UG{VWXW:YWBBZWB[\-]^/8~=*+`30ab/= *+fj01 kcd/X$*+mY*+p6Y$01$$k/+M>,:9::6*YW*M>,::6+:,ٱ3!?0:,J KOP WX^h tv1 ,7)">"*@AIN7KGh 7eW^#Av AW*7U,W-/&+ƸNv7**:*1YY*+ߧW+:6 : Y : 6  :   : ::%6:*':*mS ::* :&(,2:4Y57::c\*':@D*'JO(*'SY_aYbdjp7rYuy:B{Y~:*1Y&*ĹW:(W*'JOWrYu::7:Y:6 YWYW*'SY:!/Y*:""S"S"* :#*1Y*!اWY-:":6 #:$Y" !$  4 p%_%W :*1YY*W*p6: 6  : Y  : 6 :M: ::%6YYW-%_%W : * `: Y*+-:  "*-/Y  6<   :  :6:Y:6:+::6%W:6:Y :6:+:::%6%_%W:  :6:Y:6:6:P::6:6Y:6WY:6%WW:*1Y* "$W :6:':&:6*')*1Y*,$W*5Y +1W :6:Y :6:^:::%63Y77Y;>AD%_%W:FYHK3"3<+ %&""7dH%&""7l{%&""7lM%&""7r$$&""7r@$&""7r[$&""7r@.F*$$&""7r*u ( 54%8*@!I'*1114*9*A&U&*,**-]P.,*d0 =#F`|$&'(')*+,-*/0 /2278,=:>B?QB_Cv>xFHJKMNQRQSTV 70Y8ZE\FYH^PS^X^Y^e`y^{bbcebhjlmopklm!k"o$k&r(q*n,p.k0s2k9u;v=wGjS\ab#d{|!45JMl vx #+49:: <FY`)56:;Yku !"#$%& )*1]x LM/NOPAQRSS7 P>TU7VWXYZY[B?\B3]^)'_T0 `MHa{!bc#de|fA`g7 ]hG ]RS Fi7 CjG'k7*>l>fA_g7bhG bRS }i7 jG m7>lLA=n7@oG@RSTp7WqG#r7 >lfA=g7@hG@RS[i7^jGs7>t7ul I7 JA9K7<LA|AMA`aN7]dOGYjP7VmQGVmRSFT7CUG) v7&>Y@A8N7;G8w7;>lOfApg7shGsRSui7rjGdxWuy7ZW !z{ 4| x}W <~W ;W  MW-, 2   /Z {+*1Y*+W+M*,fN-j:*'*1Y*+$W*:6::6 Y,v:*':Y6::67 Y+ *1Y*+$W-¹(*1Y*+$W*,W*:6::6 : 6  : Y: 6 :7::6,՚ %W :x*:6::6 :٧'*1Y*+ۧW*1Y*+$W3jT$tbn7$,@,$bb0;6+889>:D;I<]=>?CEIJKBCDEIKJBN#O/P>QIPSSgYpqxZZZ] ^ "1a@bKaUgyh187 W+A A3767>(LAIn7LoG LRS `p7 cqG k7 nWxA Ap7m 7  W "A" A*7-8C>=D7u{{, 2 /=+MvB,+:*W*Y+!*W0l mnp q<14 2.M$k==2 b/t0+*+߷Y  W3 mA0100Z, 2 /0++M*,W*,"$Y YW3+C01 !k00Z-, 2 /0+*p=N*+::6:Y :6 :  < :  : :6 - :Y_%W_ : :6:Y:6 : 6  :  U :  :6$:6jY:6WY:6%WW3B!B@!*>!*$AU!*0$9Uckqst| "#(,/1$c7 `Z U-fA 9Ng7 6QhG6QRSli7ojG 7 >7  I7 JA>K7ALAFMA fN7 iOG oP7 rQGrRST7UG!y7{00-, 2 "#/c+N-&,&,0 1*-Y./Y01/T+N*'-*',*',-&,&,d,:-4S :*1Y*+-9$W*'-@+ & +3-&J&&&>%@02 $/@V{14VH:Y-Y;<Y?@/x0*+EGY+*JO$YWFYQR3o$0$/100STUV/+Y*1Y[Y*+\WM*+N:6-:Y- :6:<:  ^: :6 Y, _ _%W_ W+N6-:Y- :6:Y:  ^: :6 , _: BY*}c  fi: kY  * mp_%WN-:6:6:Y : 6 :  . :   k: :6 sB_%W :*:6:: 6  :  :6: Y: 6  : 6  :C::6k:6v$jY:6 %WW :*:6:  : 6  :   -N6-:Y- :6:3:  k: :6  y s_%W3g/B8_94YDkW906M(,-7Oky  +49;AKe(2=CFPSTXY^_ajkr|1Cyz7 v>{ k-fA ONg7LQhGLQRS7ji74mjG3|7 ( }T 6~{ JfA kg7nhGnRSi7jG7 > fA e@g7 bChGbCRS K^i7HajG 7 W %A A -702 7/>F I7C JA(,K7%/LA!4MATN7 WOG ]P7 `QG `RS tT7wUG| 7 yW r%A  A j-7g0AW7Wa7W>ZW 7 > $fA Eg7HhGHRSai7djG,XW-W, 2 /b+*1YY*+W*M>,::6+::6 : Y : 6  :  . : ::6_%W _:,nMYN+:6:?::6 *,߻Y*-W*:6::6-:ױ3gC4<E 0! ( /06@ Pj  &"'+,$56=G%SUa'1$7>fAj@g7 gChG gCRS P^i7 MajG@w7=zW6A A/7-%7 (0@APN7SGG 7DW=$AU A5,72/WbbW-2 "/ *M>,::6:,L*N6-::6:-M*:6::6:N*:6::6 ::*:6:: 6 :  :+(*-(!(,((4Y57:+:6:  0 :  : 6   W*-/Y*,-6$@%B/B1C:`DuEvz{GS1*7>WA A#7%G7D>W=AL A6#73&x7u>WnA}Af%7c(7 >WAA%7(7 >W AA %7(`7 ]> V!@A :AN77DG.oW]@WWWW1l^"/A*c*ɱ0V WX1 rs/F*˸*+$01A/Q*˸*+,$01 AA/Q*˸*+,$0S1 AA/Q*˸*+,$0q1 AAK/Q*˸*+,$01 AA/Q*˸*+,$01 AA//*p091 //*-091 //*091 /:*+ݱ091W/09//*?091 //**091 //*'091 /:*+m091ST//*}091 //*091 //*091 /E*+,091 /Y/E*+,091 <Y//*9091 //*<091 //*B091 //*091 "/<$YK*S*(S* 0 h4*#."#.% !#"*#G[1mr&'5(6ZSMAP UstadCacheImpl.kt Kotlin *S Kotlin *F + 1 UstadCacheImpl.kt com/ustadmobile/libcache/UstadCacheImpl + 2 _Collections.kt kotlin/collections/CollectionsKt___CollectionsKt + 3 fake.kt kotlin/jvm/internal/FakeKt + 4 AtomicFU.common.kt kotlinx/atomicfu/AtomicFU_commonKt *L 1#1,875:1 3190#2,10:876 1603#2,9:886 1855#2:895 1856#2:897 1612#2:898 1855#2,2:899 1549#2:905 1620#2,2:906 1622#2:909 1549#2:910 1620#2,3:911 766#2:914 857#2,2:915 1549#2:917 1620#2,3:918 1603#2,9:921 1855#2:930 1856#2:932 1612#2:933 1855#2,2:934 1549#2:936 1620#2,3:937 766#2:947 857#2,2:948 1549#2:955 1620#2,3:956 1603#2,9:959 1855#2:968 1856#2:970 1612#2:971 1549#2:972 1620#2,3:973 1549#2:976 1620#2,3:977 1549#2:980 1620#2,3:981 1603#2,9:988 1855#2:997 1856#2:999 1612#2:1000 1549#2:1005 1620#2,3:1006 1549#2:1012 1620#2,3:1013 1855#2,2:1017 1855#2,2:1043 1#3:896 1#3:908 1#3:931 1#3:969 1#3:998 163#4,4:901 163#4,4:940 163#4,3:944 166#4:950 163#4,4:951 163#4,4:984 163#4,4:1001 163#4,3:1009 166#4:1016 163#4,4:1019 174#4,4:1023 174#4,4:1027 174#4,4:1031 174#4,4:1035 174#4,4:1039 *S KotlinDebug *F + 1 UstadCacheImpl.kt com/ustadmobile/libcache/UstadCacheImpl *L 190#1:876,10 194#1:886,9 194#1:895 194#1:897 194#1:898 256#1:899,2 291#1:905 291#1:906,2 291#1:909 386#1:910 386#1:911,3 525#1:914 525#1:915,2 527#1:917 527#1:918,3 531#1:921,9 531#1:930 531#1:932 531#1:933 536#1:934,2 543#1:936 543#1:937,3 602#1:947 602#1:948,2 671#1:955 671#1:956,3 679#1:959,9 679#1:968 679#1:970 679#1:971 743#1:972 743#1:973,3 746#1:976 746#1:977,3 756#1:980 756#1:981,3 761#1:988,9 761#1:997 761#1:999 761#1:1000 767#1:1005 767#1:1006,3 781#1:1012 781#1:1013,3 786#1:1017,2 835#1:1043,2 194#1:896 531#1:931 679#1:969 761#1:998 268#1:901,4 574#1:940,4 601#1:944,3 601#1:950 605#1:951,4 757#1:984,4 764#1:1001,4 780#1:1009,3 780#1:1016 804#1:1019,4 810#1:1023,4 814#1:1027,4 816#1:1031,4 820#1:1035,4 824#1:1039,4 *E 7`[IIIII[s[gsss s%ssss(ss+ssss.s/s2s3s6ss:ss=ss@s sCssnskszs{ssssssssssssssTs`sasssjs?sSsUss{sXsssssZsssssss{sZs?s[ssaskscsssssWssss ssessssssss"s/sYs0s