diff --git a/r8.jar b/r8.jar
index 62fe89d..2424a4b 100644
--- a/r8.jar
+++ b/r8.jar
Binary files differ
diff --git a/r8.jar.map b/r8.jar.map
index c0368c7..13607c2 100644
--- a/r8.jar.map
+++ b/r8.jar.map
@@ -1,10 +1,10 @@
 # compiler: R8
-# compiler_version: 3.3.4-dev
+# compiler_version: 3.3.6-dev
 # compiler_hash: engineering
 # common_typos_disable
 # {"id":"com.android.tools.r8.mapping","version":"2.0"}
-# pg_map_id: 3.3.4-dev
-# pg_map_hash: SHA-256 7b857942d4cf80424bcd3939a8f7b318b35e6c8273a4d815583db313f5ade73e
+# pg_map_id: 3.3.6-dev
+# pg_map_hash: SHA-256 859928a61c49f7d206a7c6ad77c0a4de0fcb80da0c711f8372897b08ed594950
 com.android.tools.r8.ApiLevelException -> com.android.tools.r8.internal.g2:
     boolean $assertionsDisabled -> d
     1:1:void <clinit>():10:10 -> <clinit>
@@ -22,13 +22,13 @@
     6:6:java.lang.String makeMessage(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):24 -> a
     7:9:java.lang.String makeMessage(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):24:26 -> a
     10:10:java.lang.String makeMessage(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):0:0 -> a
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":14,"2":15,"3":16,"4":17,"5":18,"6":19}}
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":11,"2":12,"3":13,"4":14,"5":15,"6":16}}
+    11:11:java.lang.String makeMessage(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):28:28 -> a
+    12:12:java.lang.String makeMessage(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):28:28 -> a
+    13:13:java.lang.String makeMessage(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):28:28 -> a
     14:14:java.lang.String makeMessage(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):28:28 -> a
     15:15:java.lang.String makeMessage(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):28:28 -> a
     16:16:java.lang.String makeMessage(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):28:28 -> a
-    17:17:java.lang.String makeMessage(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):28:28 -> a
-    18:18:java.lang.String makeMessage(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):28:28 -> a
-    19:19:java.lang.String makeMessage(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):28:28 -> a
 com.android.tools.r8.ArchiveClassFileProvider -> com.android.tools.r8.ArchiveClassFileProvider:
     com.android.tools.r8.origin.Origin origin -> b
     java.util.Set descriptors -> d
@@ -215,51 +215,51 @@
     472:472:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):133:133 -> parse
     146:146:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):133:133 -> parse
     147:147:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):0:0 -> parse
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":473,"2":474,"3":475}}
-    473:473:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):133:133 -> parse
-    474:474:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):133:133 -> parse
-    475:475:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):133:133 -> parse
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":470,"2":471,"3":472}}
+    470:470:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):133:133 -> parse
+    471:471:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):133:133 -> parse
+    472:472:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):133:133 -> parse
     280:290:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):133:143 -> parse
     291:297:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):164:170 -> parse
     291:297:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):145 -> parse
     298:298:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):0:0 -> parse
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":476,"2":477,"3":478,"4":479,"5":480}}
-    476:476:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):170:170 -> parse
-    476:476:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):145 -> parse
-    477:477:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):170:170 -> parse
-    477:477:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):145 -> parse
-    478:478:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):170:170 -> parse
-    478:478:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):145 -> parse
-    479:479:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):170:170 -> parse
-    479:479:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):145 -> parse
-    480:480:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):170:170 -> parse
-    480:480:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):145 -> parse
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":470,"2":471,"3":472,"4":473,"5":474}}
+    470:470:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):170:170 -> parse
+    470:470:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):145 -> parse
+    471:471:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):170:170 -> parse
+    471:471:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):145 -> parse
+    472:472:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):170:170 -> parse
+    472:472:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):145 -> parse
+    473:473:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):170:170 -> parse
+    473:473:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):145 -> parse
+    474:474:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):170:170 -> parse
+    474:474:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):145 -> parse
     299:302:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):170:173 -> parse
     299:302:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):145 -> parse
     303:303:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):166:166 -> parse
     303:303:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):145 -> parse
     304:304:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):0:0 -> parse
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":481,"2":482,"3":483,"4":484,"5":485}}
-    481:481:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):166:166 -> parse
-    481:481:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):145 -> parse
-    482:482:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):166:166 -> parse
-    482:482:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):145 -> parse
-    483:483:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):166:166 -> parse
-    483:483:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):145 -> parse
-    484:484:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):166:166 -> parse
-    484:484:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):145 -> parse
-    485:485:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):166:166 -> parse
-    485:485:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):145 -> parse
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":470,"2":471,"3":472,"4":473,"5":474}}
+    470:470:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):166:166 -> parse
+    470:470:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):145 -> parse
+    471:471:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):166:166 -> parse
+    471:471:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):145 -> parse
+    472:472:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):166:166 -> parse
+    472:472:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):145 -> parse
+    473:473:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):166:166 -> parse
+    473:473:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):145 -> parse
+    474:474:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):166:166 -> parse
+    474:474:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):145 -> parse
     305:305:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):166:166 -> parse
     305:305:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):145 -> parse
     306:313:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):148:155 -> parse
     314:314:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):0:0 -> parse
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":486,"2":487,"3":488,"4":489,"5":490}}
-    486:486:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):155:155 -> parse
-    487:487:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):155:155 -> parse
-    488:488:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):155:155 -> parse
-    489:489:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):155:155 -> parse
-    490:490:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):155:155 -> parse
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":470,"2":471,"3":472,"4":473,"5":474}}
+    470:470:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):155:155 -> parse
+    471:471:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):155:155 -> parse
+    472:472:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):155:155 -> parse
+    473:473:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):155:155 -> parse
+    474:474:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):155:155 -> parse
     469:469:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):155:155 -> parse
 com.android.tools.r8.BackportedMethodListCommand$1 -> com.android.tools.r8.b:
 com.android.tools.r8.BackportedMethodListCommand$Builder -> com.android.tools.r8.BackportedMethodListCommand$Builder:
@@ -393,10 +393,10 @@
     1:2:void <init>(java.lang.String,java.nio.file.Path):75:76 -> <init>
     1:1:java.lang.String part():81:81 -> part
     2:2:java.lang.String part():0:0 -> part
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":83,"2":84,"3":85}}
-    83:83:java.lang.String part():81:81 -> part
-    84:84:java.lang.String part():81:81 -> part
-    85:85:java.lang.String part():81:81 -> part
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
+    3:3:java.lang.String part():81:81 -> part
+    4:4:java.lang.String part():81:81 -> part
+    5:5:java.lang.String part():81:81 -> part
 com.android.tools.r8.BaseCommand$LibraryInputOrigin -> com.android.tools.r8.g:
     1:1:void <init>(java.nio.file.Path):95:95 -> <init>
 com.android.tools.r8.BaseCommand$ProgramInputOrigin -> com.android.tools.r8.h:
@@ -752,16 +752,16 @@
     774:774:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):186:186 -> d
     193:194:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):186:187 -> d
     195:195:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):0:0 -> d
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":775,"2":776,"3":777}}
-    775:775:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):187:187 -> d
-    776:776:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):187:187 -> d
-    777:777:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):187:187 -> d
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":772,"2":773,"3":774}}
+    772:772:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):187:187 -> d
+    773:773:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):187:187 -> d
+    774:774:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):187:187 -> d
     382:383:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):187:188 -> d
     384:384:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):0:0 -> d
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":778,"2":779,"3":780}}
-    778:778:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):188:188 -> d
-    779:779:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):188:188 -> d
-    780:780:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):188:188 -> d
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":772,"2":773,"3":774}}
+    772:772:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):188:188 -> d
+    773:773:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):188:188 -> d
+    774:774:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):188:188 -> d
     572:580:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):188:196 -> d
     581:581:boolean com.android.tools.r8.utils.AssertionUtils.forTesting(com.android.tools.r8.utils.InternalOptions,java.util.function.Supplier):17:17 -> d
     581:581:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):196 -> d
@@ -1014,7 +1014,7 @@
     1:1:com.android.tools.r8.DataEntryResource fromZip(java.util.zip.ZipFile,java.util.zip.ZipEntry):44:44 -> fromZip
     1:1:com.android.tools.r8.DataEntryResource withName(java.lang.String):48:48 -> withName
 com.android.tools.r8.DataEntryResource$1 -> com.android.tools.r8.v:
-com.android.tools.r8.DataEntryResource$ByteDataEntryResource -> com.android.tools.r8.internal.ve:
+com.android.tools.r8.DataEntryResource$ByteDataEntryResource -> com.android.tools.r8.internal.we:
     byte[] bytes -> a
     com.android.tools.r8.origin.Origin origin -> c
     java.lang.String name -> b
@@ -1032,7 +1032,7 @@
     1:3:java.io.InputStream getByteStream():134:136 -> getByteStream
     1:1:java.lang.String getName():128:128 -> getName
     1:1:com.android.tools.r8.origin.Origin getOrigin():123:123 -> getOrigin
-com.android.tools.r8.DataEntryResource$NestedDataEntryResource -> com.android.tools.r8.internal.we:
+com.android.tools.r8.DataEntryResource$NestedDataEntryResource -> com.android.tools.r8.internal.xe:
     com.android.tools.r8.DataEntryResource resource -> b
     java.lang.String name -> a
     1:4:void <init>(java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.DataEntryResource):150:153 -> <init>
@@ -1510,16 +1510,16 @@
     26:26:void main(java.lang.String[]):111 -> main
     27:48:void main(java.lang.String[]):112:133 -> main
     49:49:void main(java.lang.String[]):0:0 -> main
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":619,"2":620,"3":621}}
-    619:619:void main(java.lang.String[]):133:133 -> main
-    620:620:void main(java.lang.String[]):133:133 -> main
-    621:621:void main(java.lang.String[]):133:133 -> main
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":614,"2":615,"3":616}}
+    614:614:void main(java.lang.String[]):133:133 -> main
+    615:615:void main(java.lang.String[]):133:133 -> main
+    616:616:void main(java.lang.String[]):133:133 -> main
     182:183:void main(java.lang.String[]):133:134 -> main
     184:184:void main(java.lang.String[]):0:0 -> main
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":622,"2":623,"3":624}}
-    622:622:void main(java.lang.String[]):134:134 -> main
-    623:623:void main(java.lang.String[]):134:134 -> main
-    624:624:void main(java.lang.String[]):134:134 -> main
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":614,"2":615,"3":616}}
+    614:614:void main(java.lang.String[]):134:134 -> main
+    615:615:void main(java.lang.String[]):134:134 -> main
+    616:616:void main(java.lang.String[]):134:134 -> main
     185:191:int extractDexSize(java.nio.file.Path):58:64 -> main
     185:191:void main(java.lang.String[]):134 -> main
     192:192:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):65:65 -> main
@@ -1534,10 +1534,10 @@
     195:195:void main(java.lang.String[]):134 -> main
     196:216:void main(java.lang.String[]):134:154 -> main
     217:217:void main(java.lang.String[]):0:0 -> main
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":644,"2":645,"3":646}}
-    644:644:void main(java.lang.String[]):154:154 -> main
-    645:645:void main(java.lang.String[]):154:154 -> main
-    646:646:void main(java.lang.String[]):154:154 -> main
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":614,"2":615,"3":616}}
+    614:614:void main(java.lang.String[]):154:154 -> main
+    615:615:void main(java.lang.String[]):154:154 -> main
+    616:616:void main(java.lang.String[]):154:154 -> main
     371:374:void main(java.lang.String[]):154:157 -> main
     375:381:int extractDexSize(java.nio.file.Path):58:64 -> main
     375:381:void main(java.lang.String[]):157 -> main
@@ -1555,12 +1555,12 @@
     395:397:void main(java.lang.String[]):129:129 -> main
     436:440:void main(java.lang.String[]):168:172 -> main
     441:441:void main(java.lang.String[]):0:0 -> main
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":664,"2":665,"3":666}}
-    664:664:void main(java.lang.String[]):172:172 -> main
-    665:665:void main(java.lang.String[]):172:172 -> main
-    666:666:void main(java.lang.String[]):172:172 -> main
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":614,"2":615,"3":616}}
+    614:614:void main(java.lang.String[]):172:172 -> main
+    615:615:void main(java.lang.String[]):172:172 -> main
+    616:616:void main(java.lang.String[]):172:172 -> main
     613:613:void main(java.lang.String[]):172:172 -> main
-com.android.tools.r8.ExtractMarker$VdexOrigin -> com.android.tools.r8.internal.oj:
+com.android.tools.r8.ExtractMarker$VdexOrigin -> com.android.tools.r8.internal.qj:
     int index -> f
     1:2:void <init>(com.android.tools.r8.origin.Origin,int):35:36 -> <init>
     1:1:java.lang.String part():41:41 -> part
@@ -1746,24 +1746,24 @@
     1:1:void decreaseIndent():618:618 -> a
     1:1:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):644 -> a
     2:2:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):0:0 -> a
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":9,"3":10}}
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":9,"3":11}}
     9:9:void decreaseIndent():618:618 -> a
     9:9:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):644 -> a
-    10:10:void decreaseIndent():618:618 -> a
-    10:10:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):644 -> a
+    11:11:void decreaseIndent():618:618 -> a
+    11:11:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):644 -> a
     3:3:void decreaseIndent():618:618 -> a
     3:3:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):644 -> a
     4:4:com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent.indent(java.lang.String):410:410 -> a
     4:4:void decreaseIndent():619 -> a
     4:4:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):644 -> a
     5:5:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):0:0 -> a
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":11,"2":12,"3":13,"4":14,"5":15,"6":16}}
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":9,"2":10,"3":11,"4":12,"5":13,"6":14}}
+    9:9:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):645:645 -> a
+    10:10:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):645:645 -> a
     11:11:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):645:645 -> a
     12:12:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):645:645 -> a
     13:13:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):645:645 -> a
     14:14:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):645:645 -> a
-    15:15:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):645:645 -> a
-    16:16:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):645:645 -> a
     6:8:com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent.appendLine(java.lang.String):415:417 -> a
     6:8:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):645 -> a
     1:1:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):0:0 -> b
@@ -1779,13 +1779,13 @@
     5:5:void increaseIndent():613:613 -> b
     5:5:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):639 -> b
     6:6:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):0:0 -> b
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":15,"2":16,"3":17}}
-    15:15:void increaseIndent():613:613 -> b
-    15:15:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):639 -> b
-    16:16:void increaseIndent():613:613 -> b
-    16:16:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):639 -> b
-    17:17:void increaseIndent():613:613 -> b
-    17:17:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):639 -> b
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":9,"2":10,"3":11}}
+    9:9:void increaseIndent():613:613 -> b
+    9:9:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):639 -> b
+    10:10:void increaseIndent():613:613 -> b
+    10:10:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):639 -> b
+    11:11:void increaseIndent():613:613 -> b
+    11:11:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):639 -> b
     7:7:void increaseIndent():613:613 -> b
     7:7:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):639 -> b
     8:8:com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent.indent(java.lang.String):410:410 -> b
@@ -1888,19 +1888,19 @@
     21:21:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):486:486 -> toString
     21:21:java.lang.String toString():670 -> toString
     22:22:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":149,"2":150,"3":151,"4":152,"5":153,"6":154}}
-    149:149:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):623:623 -> toString
-    149:149:java.lang.String toString():670 -> toString
-    150:150:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):623:623 -> toString
-    150:150:java.lang.String toString():670 -> toString
-    151:151:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):623:623 -> toString
-    151:151:java.lang.String toString():670 -> toString
-    152:152:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):623:623 -> toString
-    152:152:java.lang.String toString():670 -> toString
-    153:153:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):623:623 -> toString
-    153:153:java.lang.String toString():670 -> toString
-    154:154:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):623:623 -> toString
-    154:154:java.lang.String toString():670 -> toString
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":143,"2":144,"3":145,"4":146,"5":147,"6":148}}
+    143:143:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):623:623 -> toString
+    143:143:java.lang.String toString():670 -> toString
+    144:144:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):623:623 -> toString
+    144:144:java.lang.String toString():670 -> toString
+    145:145:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):623:623 -> toString
+    145:145:java.lang.String toString():670 -> toString
+    146:146:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):623:623 -> toString
+    146:146:java.lang.String toString():670 -> toString
+    147:147:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):623:623 -> toString
+    147:147:java.lang.String toString():670 -> toString
+    148:148:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):623:623 -> toString
+    148:148:java.lang.String toString():670 -> toString
     23:25:com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent.appendLine(java.lang.String):415:417 -> toString
     23:25:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):623 -> toString
     23:25:java.lang.String toString():670 -> toString
@@ -1923,19 +1923,19 @@
     49:49:java.lang.String toString():678 -> toString
     50:52:java.lang.String toString():678:680 -> toString
     53:53:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":155,"2":156,"3":157,"4":158,"5":159,"6":160}}
-    155:155:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
-    155:155:java.lang.String toString():675 -> toString
-    156:156:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
-    156:156:java.lang.String toString():675 -> toString
-    157:157:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
-    157:157:java.lang.String toString():675 -> toString
-    158:158:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
-    158:158:java.lang.String toString():675 -> toString
-    159:159:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
-    159:159:java.lang.String toString():675 -> toString
-    160:160:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
-    160:160:java.lang.String toString():675 -> toString
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":143,"2":144,"3":145,"4":146,"5":147,"6":148}}
+    143:143:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
+    143:143:java.lang.String toString():675 -> toString
+    144:144:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
+    144:144:java.lang.String toString():675 -> toString
+    145:145:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
+    145:145:java.lang.String toString():675 -> toString
+    146:146:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
+    146:146:java.lang.String toString():675 -> toString
+    147:147:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
+    147:147:java.lang.String toString():675 -> toString
+    148:148:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
+    148:148:java.lang.String toString():675 -> toString
     54:56:com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent.appendLine(java.lang.String):415:417 -> toString
     54:56:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633 -> toString
     54:56:java.lang.String toString():675 -> toString
@@ -1952,19 +1952,19 @@
     72:72:java.lang.String toString():688 -> toString
     73:74:java.lang.String toString():688:689 -> toString
     75:75:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":161,"2":162,"3":163,"4":164,"5":165,"6":166}}
-    161:161:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
-    161:161:java.lang.String toString():685 -> toString
-    162:162:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
-    162:162:java.lang.String toString():685 -> toString
-    163:163:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
-    163:163:java.lang.String toString():685 -> toString
-    164:164:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
-    164:164:java.lang.String toString():685 -> toString
-    165:165:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
-    165:165:java.lang.String toString():685 -> toString
-    166:166:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
-    166:166:java.lang.String toString():685 -> toString
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":143,"2":144,"3":145,"4":146,"5":147,"6":148}}
+    143:143:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
+    143:143:java.lang.String toString():685 -> toString
+    144:144:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
+    144:144:java.lang.String toString():685 -> toString
+    145:145:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
+    145:145:java.lang.String toString():685 -> toString
+    146:146:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
+    146:146:java.lang.String toString():685 -> toString
+    147:147:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
+    147:147:java.lang.String toString():685 -> toString
+    148:148:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
+    148:148:java.lang.String toString():685 -> toString
     76:78:com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent.appendLine(java.lang.String):415:417 -> toString
     76:78:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633 -> toString
     76:78:java.lang.String toString():685 -> toString
@@ -1987,37 +1987,37 @@
     101:101:java.lang.String toString():698 -> toString
     102:105:java.lang.String toString():698:701 -> toString
     106:106:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":167,"2":168,"3":169,"4":170,"5":171,"6":172}}
-    167:167:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
-    167:167:java.lang.String toString():695 -> toString
-    168:168:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
-    168:168:java.lang.String toString():695 -> toString
-    169:169:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
-    169:169:java.lang.String toString():695 -> toString
-    170:170:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
-    170:170:java.lang.String toString():695 -> toString
-    171:171:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
-    171:171:java.lang.String toString():695 -> toString
-    172:172:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
-    172:172:java.lang.String toString():695 -> toString
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":143,"2":144,"3":145,"4":146,"5":147,"6":148}}
+    143:143:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
+    143:143:java.lang.String toString():695 -> toString
+    144:144:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
+    144:144:java.lang.String toString():695 -> toString
+    145:145:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
+    145:145:java.lang.String toString():695 -> toString
+    146:146:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
+    146:146:java.lang.String toString():695 -> toString
+    147:147:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
+    147:147:java.lang.String toString():695 -> toString
+    148:148:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
+    148:148:java.lang.String toString():695 -> toString
     107:109:com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent.appendLine(java.lang.String):415:417 -> toString
     107:109:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633 -> toString
     107:109:java.lang.String toString():695 -> toString
     110:136:java.lang.String toString():702:728 -> toString
     137:137:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":173,"2":174,"3":175,"4":176,"5":177,"6":178}}
-    173:173:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdP(java.lang.String):628:628 -> toString
-    173:173:java.lang.String toString():728 -> toString
-    174:174:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdP(java.lang.String):628:628 -> toString
-    174:174:java.lang.String toString():728 -> toString
-    175:175:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdP(java.lang.String):628:628 -> toString
-    175:175:java.lang.String toString():728 -> toString
-    176:176:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdP(java.lang.String):628:628 -> toString
-    176:176:java.lang.String toString():728 -> toString
-    177:177:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdP(java.lang.String):628:628 -> toString
-    177:177:java.lang.String toString():728 -> toString
-    178:178:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdP(java.lang.String):628:628 -> toString
-    178:178:java.lang.String toString():728 -> toString
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":143,"2":144,"3":145,"4":146,"5":147,"6":148}}
+    143:143:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdP(java.lang.String):628:628 -> toString
+    143:143:java.lang.String toString():728 -> toString
+    144:144:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdP(java.lang.String):628:628 -> toString
+    144:144:java.lang.String toString():728 -> toString
+    145:145:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdP(java.lang.String):628:628 -> toString
+    145:145:java.lang.String toString():728 -> toString
+    146:146:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdP(java.lang.String):628:628 -> toString
+    146:146:java.lang.String toString():728 -> toString
+    147:147:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdP(java.lang.String):628:628 -> toString
+    147:147:java.lang.String toString():728 -> toString
+    148:148:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdP(java.lang.String):628:628 -> toString
+    148:148:java.lang.String toString():728 -> toString
     138:140:com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent.appendLine(java.lang.String):415:417 -> toString
     138:140:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdP(java.lang.String):628 -> toString
     138:140:java.lang.String toString():728 -> toString
@@ -2049,7 +2049,7 @@
     1:1:void <init>():407:407 -> <init>
     2:4:void <init>():403:405 -> <init>
     1:1:java.lang.String toString():428:428 -> toString
-com.android.tools.r8.GenerateLintFiles$SupportedMethods -> com.android.tools.r8.internal.El:
+com.android.tools.r8.GenerateLintFiles$SupportedMethods -> com.android.tools.r8.internal.Gl:
     java.util.Map supportedMethods -> b
     java.util.Set classesWithAllMethodsSupported -> a
     1:3:void <init>(java.util.Set,java.util.Map):200:202 -> <init>
@@ -3117,14 +3117,14 @@
     1:3:void <init>(com.android.tools.r8.origin.Origin,java.io.Writer,com.android.tools.r8.StringConsumer):192:194 -> <init>
     1:5:void accept(java.lang.String,com.android.tools.r8.DiagnosticsHandler):199:203 -> accept
     1:5:void finished(com.android.tools.r8.DiagnosticsHandler):209:213 -> finished
-com.android.tools.r8.StringResource -> com.android.tools.r8.internal.DX:
+com.android.tools.r8.StringResource -> com.android.tools.r8.internal.IX:
     java.lang.String getString() -> a
     1:1:com.android.tools.r8.StringResource fromString(java.lang.String,com.android.tools.r8.origin.Origin):26:26 -> a
     2:2:com.android.tools.r8.StringResource fromFile(java.nio.file.Path):37:37 -> a
     3:3:com.android.tools.r8.StringResource com.android.tools.r8.StringResource.fromFile(java.nio.file.Path,java.nio.charset.Charset):49:49 -> a
     3:3:com.android.tools.r8.StringResource fromFile(java.nio.file.Path):37 -> a
-com.android.tools.r8.StringResource$1 -> com.android.tools.r8.internal.AX:
-com.android.tools.r8.StringResource$FileResource -> com.android.tools.r8.internal.BX:
+com.android.tools.r8.StringResource$1 -> com.android.tools.r8.internal.FX:
+com.android.tools.r8.StringResource$FileResource -> com.android.tools.r8.internal.GX:
     java.nio.charset.Charset charset -> b
     com.android.tools.r8.origin.Origin origin -> c
     java.nio.file.Path file -> a
@@ -3134,7 +3134,7 @@
     2:7:void <init>(java.nio.file.Path,java.nio.charset.Charset):87:92 -> <init>
     1:3:java.lang.String getString():103:105 -> a
     1:1:com.android.tools.r8.origin.Origin getOrigin():97:97 -> getOrigin
-com.android.tools.r8.StringResource$StringContentResource -> com.android.tools.r8.internal.CX:
+com.android.tools.r8.StringResource$StringContentResource -> com.android.tools.r8.internal.HX:
     com.android.tools.r8.origin.Origin origin -> a
     java.lang.String content -> b
     boolean $assertionsDisabled -> c
@@ -3160,7 +3160,7 @@
     25:25:java.lang.String getVersionString():21:21 -> getVersionString
     22:22:java.lang.String getVersionString():21:21 -> getVersionString
     1:1:boolean isDevelopmentVersion():106:106 -> isDevelopmentVersion
-com.android.tools.r8.algorithms.scc.SCC -> com.android.tools.r8.internal.HU:
+com.android.tools.r8.algorithms.scc.SCC -> com.android.tools.r8.internal.MU:
     java.util.Deque unassignedStack -> d
     java.util.Set unassignedSet -> c
     java.util.List components -> f
@@ -3347,7 +3347,7 @@
     294:301:void lambda$mockMissingLibraryClass$4(com.android.tools.r8.graph.DexLibraryClass,java.util.Set,com.android.tools.r8.graph.ThrowExceptionCode,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):246:253 -> a
     302:302:void lambda$mockMissingLibraryClass$4(com.android.tools.r8.graph.DexLibraryClass,java.util.Set,com.android.tools.r8.graph.ThrowExceptionCode,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):252:252 -> a
     303:310:void lambda$mockMissingLibraryClass$4(com.android.tools.r8.graph.DexLibraryClass,java.util.Set,com.android.tools.r8.graph.ThrowExceptionCode,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):251:258 -> a
-    311:311:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.createClassInitializer(com.android.tools.r8.graph.DexType):2381:2381 -> a
+    311:311:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.createClassInitializer(com.android.tools.r8.graph.DexType):2383:2383 -> a
     311:311:void lambda$mockMissingLibraryClass$4(com.android.tools.r8.graph.DexLibraryClass,java.util.Set,com.android.tools.r8.graph.ThrowExceptionCode,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):258 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     312:312:void lambda$mockMissingLibraryClass$4(com.android.tools.r8.graph.DexLibraryClass,java.util.Set,com.android.tools.r8.graph.ThrowExceptionCode,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):257:257 -> a
@@ -4254,7 +4254,7 @@
     3672:3672:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):400:400 -> a
     3673:3673:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):400:400 -> a
     2989:2989:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):401:401 -> a
-com.android.tools.r8.androidapi.ComputedApiLevel -> com.android.tools.r8.internal.Qc:
+com.android.tools.r8.androidapi.ComputedApiLevel -> com.android.tools.r8.internal.Rc:
     int $r8$clinit -> a
     1:1:void <clinit>():15:15 -> <clinit>
     boolean isUnknownApiLevel() -> C
@@ -4268,10 +4268,10 @@
     1:1:com.android.tools.r8.androidapi.ComputedApiLevel$UnknownApiLevel unknown():22:22 -> j
     1:1:com.android.tools.r8.androidapi.ComputedApiLevel$NotSetApiLevel notSet():18:18 -> t
     boolean isKnownApiLevel() -> u
-com.android.tools.r8.androidapi.ComputedApiLevel$1 -> com.android.tools.r8.internal.Pc:
+com.android.tools.r8.androidapi.ComputedApiLevel$1 -> com.android.tools.r8.internal.Qc:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():42:42 -> <clinit>
-com.android.tools.r8.androidapi.ComputedApiLevel$KnownApiLevel -> com.android.tools.r8.internal.Qc$a:
+com.android.tools.r8.androidapi.ComputedApiLevel$KnownApiLevel -> com.android.tools.r8.internal.Rc$a:
     com.android.tools.r8.androidapi.ComputedApiLevel$KnownApiLevel PLATFORM_INSTANCE -> c
     com.android.tools.r8.utils.AndroidApiLevel apiLevel -> b
     1:1:void <clinit>():124:124 -> <clinit>
@@ -4283,14 +4283,14 @@
     1:1:int hashCode():166:166 -> hashCode
     1:1:java.lang.String toString():149:149 -> toString
     boolean isKnownApiLevel() -> u
-com.android.tools.r8.androidapi.ComputedApiLevel$NotSetApiLevel -> com.android.tools.r8.internal.Rc:
+com.android.tools.r8.androidapi.ComputedApiLevel$NotSetApiLevel -> com.android.tools.r8.internal.Sc:
     com.android.tools.r8.androidapi.ComputedApiLevel$NotSetApiLevel INSTANCE -> b
     1:1:void <clinit>():75:75 -> <clinit>
     1:1:void <init>():77:77 -> <init>
     boolean isNotSetApiLevel() -> E
     1:1:com.android.tools.r8.androidapi.ComputedApiLevel$NotSetApiLevel access$000():73:73 -> a
     1:1:int hashCode():91:91 -> hashCode
-com.android.tools.r8.androidapi.ComputedApiLevel$UnknownApiLevel -> com.android.tools.r8.internal.Sc:
+com.android.tools.r8.androidapi.ComputedApiLevel$UnknownApiLevel -> com.android.tools.r8.internal.Tc:
     com.android.tools.r8.androidapi.ComputedApiLevel$UnknownApiLevel INSTANCE -> b
     1:1:void <clinit>():97:97 -> <clinit>
     1:1:void <init>():99:99 -> <init>
@@ -4298,20 +4298,20 @@
     1:1:com.android.tools.r8.androidapi.ComputedApiLevel$UnknownApiLevel access$100():95:95 -> a
     1:1:int hashCode():118:118 -> hashCode
     1:1:java.lang.String toString():108:108 -> toString
-com.android.tools.r8.bisect.Bisect -> com.android.tools.r8.internal.W4:
+com.android.tools.r8.bisect.Bisect -> com.android.tools.r8.internal.X4:
     1:4:com.android.tools.r8.graph.DexProgramClass run(com.android.tools.r8.bisect.BisectState,com.android.tools.r8.bisect.Bisect$Command,java.nio.file.Path,java.util.concurrent.ExecutorService):80:83 -> a
     5:22:void com.android.tools.r8.bisect.Bisect.writeApp(com.android.tools.r8.graph.DexApplication,java.nio.file.Path,java.util.concurrent.ExecutorService):186:203 -> a
     5:22:com.android.tools.r8.graph.DexProgramClass run(com.android.tools.r8.bisect.BisectState,com.android.tools.r8.bisect.Bisect$Command,java.nio.file.Path,java.util.concurrent.ExecutorService):86 -> a
     23:29:com.android.tools.r8.graph.DexProgramClass run(com.android.tools.r8.bisect.BisectState,com.android.tools.r8.bisect.Bisect$Command,java.nio.file.Path,java.util.concurrent.ExecutorService):87:93 -> a
-com.android.tools.r8.bisect.Bisect$Command -> com.android.tools.r8.internal.W4$a:
+com.android.tools.r8.bisect.Bisect$Command -> com.android.tools.r8.internal.X4$a:
     com.android.tools.r8.bisect.BisectOptions$Result apply(com.android.tools.r8.graph.DexApplication) -> a
-com.android.tools.r8.bisect.BisectOptions$Result -> com.android.tools.r8.internal.X4:
+com.android.tools.r8.bisect.BisectOptions$Result -> com.android.tools.r8.internal.Y4:
     com.android.tools.r8.bisect.BisectOptions$Result UNKNOWN -> b
     com.android.tools.r8.bisect.BisectOptions$Result GOOD -> c
     com.android.tools.r8.bisect.BisectOptions$Result BAD -> d
     1:1:void <clinit>():33:33 -> <clinit>
     1:1:void <init>(java.lang.String,int):33:33 -> <init>
-com.android.tools.r8.bisect.BisectState -> com.android.tools.r8.internal.b5:
+com.android.tools.r8.bisect.BisectState -> com.android.tools.r8.internal.c5:
     java.nio.file.Path stateFile -> e
     com.android.tools.r8.graph.DexApplication badApp -> b
     java.util.Map indexMap -> d
@@ -4451,7 +4451,7 @@
     24:24:void com.android.tools.r8.bisect.BisectState.$closeResource(java.lang.Throwable,java.lang.AutoCloseable):189:189 -> d
     24:24:void write():321 -> d
     25:25:void write():321:321 -> d
-com.android.tools.r8.bisect.BisectState$Range -> com.android.tools.r8.internal.Z4:
+com.android.tools.r8.bisect.BisectState$Range -> com.android.tools.r8.internal.a5:
     int end -> b
     boolean $assertionsDisabled -> c
     int start -> a
@@ -4468,24 +4468,24 @@
     1:5:boolean equals(java.lang.Object):99:103 -> equals
     1:1:int hashCode():108:108 -> hashCode
     1:1:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":190,"2":191,"3":192}}
-    190:190:java.lang.String toString():94:94 -> toString
-    191:191:java.lang.String toString():94:94 -> toString
-    192:192:java.lang.String toString():94:94 -> toString
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":97,"2":98,"3":99}}
+    97:97:java.lang.String toString():94:94 -> toString
+    98:98:java.lang.String toString():94:94 -> toString
+    99:99:java.lang.String toString():94:94 -> toString
     95:95:java.lang.String toString():94:94 -> toString
     96:96:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":193,"2":194,"3":195}}
-    193:193:java.lang.String toString():94:94 -> toString
-    194:194:java.lang.String toString():94:94 -> toString
-    195:195:java.lang.String toString():94:94 -> toString
-com.android.tools.r8.bisect.BisectState$Run -> com.android.tools.r8.internal.a5:
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":97,"2":98,"3":99}}
+    97:97:java.lang.String toString():94:94 -> toString
+    98:98:java.lang.String toString():94:94 -> toString
+    99:99:java.lang.String toString():94:94 -> toString
+com.android.tools.r8.bisect.BisectState$Run -> com.android.tools.r8.internal.b5:
     boolean good -> a
     com.android.tools.r8.bisect.BisectState$Range range -> b
     boolean $assertionsDisabled -> c
     1:1:void <clinit>():116:116 -> <clinit>
     1:4:void <init>(com.android.tools.r8.bisect.BisectOptions$Result,com.android.tools.r8.bisect.BisectState$Range):120:123 -> <init>
     5:9:void <init>(java.lang.String):126:130 -> <init>
-com.android.tools.r8.cf.CfCodePrinter -> com.android.tools.r8.internal.Q6:
+com.android.tools.r8.cf.CfCodePrinter -> com.android.tools.r8.internal.R6:
     java.util.Map knownTypeFields -> r
     java.util.Set imports -> j
     boolean pendingComma -> p
@@ -4923,7 +4923,7 @@
     1:2:java.util.List getImports():104:105 -> i
     1:1:java.util.List getMethods():110:110 -> j
     1:1:java.util.Set getSynthesizedTypes():644:644 -> k
-com.android.tools.r8.cf.CfPrinter -> com.android.tools.r8.internal.n8:
+com.android.tools.r8.cf.CfPrinter -> com.android.tools.r8.internal.o8:
     java.util.List sortedLabels -> b
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap labelToIndex -> c
     com.android.tools.r8.naming.ClassNameMapper mapper -> f
@@ -5175,7 +5175,7 @@
     1:1:void print(com.android.tools.r8.cf.code.CfReturnVoid):356:356 -> f
     1:1:void print(com.android.tools.r8.cf.code.CfArrayLength):557:557 -> g
     1:1:java.lang.String toString():816:816 -> toString
-com.android.tools.r8.cf.CfPrinter$1 -> com.android.tools.r8.internal.m8:
+com.android.tools.r8.cf.CfPrinter$1 -> com.android.tools.r8.internal.n8:
     int[] $SwitchMap$com$android$tools$r8$ir$code$ValueType -> b
     int[] $SwitchMap$com$android$tools$r8$ir$code$MemberType -> c
     int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> d
@@ -5184,7 +5184,7 @@
     2:2:void <clinit>():673:673 -> <clinit>
     3:3:void <clinit>():319:319 -> <clinit>
     4:4:void <clinit>():275:275 -> <clinit>
-com.android.tools.r8.cf.CfRegisterAllocator -> com.android.tools.r8.internal.q8:
+com.android.tools.r8.cf.CfRegisterAllocator -> com.android.tools.r8.internal.r8:
     boolean $assertionsDisabled -> n
     int maxRegisterNumber -> l
     com.android.tools.r8.graph.AppView appView -> a
@@ -5317,7 +5317,7 @@
     47:47:void com.android.tools.r8.cf.CfRegisterAllocator.updateFirstStackByJoiningTheSecond(java.util.List,java.util.List):605:605 -> b
     47:47:void mergeBlocks(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):394 -> b
     1:1:int registersUsed():123:123 -> c
-com.android.tools.r8.cf.CfRegisterAllocator$TypesAtBlockEntry -> com.android.tools.r8.internal.p8:
+com.android.tools.r8.cf.CfRegisterAllocator$TypesAtBlockEntry -> com.android.tools.r8.internal.q8:
     java.util.List stack -> b
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap registers -> a
     1:3:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,java.util.List):71:73 -> <init>
@@ -5327,7 +5327,7 @@
     91:91:java.lang.String toString():78:78 -> toString
     92:92:java.lang.String toString():79:79 -> toString
     81:89:java.lang.String toString():80:88 -> toString
-com.android.tools.r8.cf.CfVersion -> com.android.tools.r8.internal.Y8:
+com.android.tools.r8.cf.CfVersion -> com.android.tools.r8.internal.Z8:
     com.android.tools.r8.cf.CfVersion V17 -> n
     com.android.tools.r8.cf.CfVersion V12 -> l
     com.android.tools.r8.cf.CfVersion V15 -> m
@@ -5375,12 +5375,12 @@
     256:256:java.lang.String toString():125:125 -> toString
     127:127:java.lang.String toString():125:125 -> toString
     128:128:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":257,"2":258,"3":259}}
-    257:257:java.lang.String toString():125:125 -> toString
-    258:258:java.lang.String toString():125:125 -> toString
-    259:259:java.lang.String toString():125:125 -> toString
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":254,"2":255,"3":256}}
+    254:254:java.lang.String toString():125:125 -> toString
+    255:255:java.lang.String toString():125:125 -> toString
+    256:256:java.lang.String toString():125:125 -> toString
     253:253:java.lang.String toString():125:125 -> toString
-com.android.tools.r8.cf.FixedLocalValue -> com.android.tools.r8.internal.uk:
+com.android.tools.r8.cf.FixedLocalValue -> com.android.tools.r8.internal.wk:
     com.android.tools.r8.ir.code.Phi phi -> r
     1:2:void <init>(com.android.tools.r8.ir.code.Phi):21:22 -> <init>
     boolean isConstant() -> J
@@ -5396,7 +5396,7 @@
     48:48:java.lang.String toString():45:45 -> toString
     49:49:java.lang.String toString():45:45 -> toString
     46:46:java.lang.String toString():45:45 -> toString
-com.android.tools.r8.cf.LoadStoreHelper -> com.android.tools.r8.internal.zC:
+com.android.tools.r8.cf.LoadStoreHelper -> com.android.tools.r8.internal.EC:
     com.android.tools.r8.graph.AppView appView -> a
     java.util.Map clonableConstants -> d
     boolean $assertionsDisabled -> f
@@ -5554,14 +5554,14 @@
     99:101:void com.android.tools.r8.cf.LoadStoreHelper.add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Position,com.android.tools.r8.ir.code.InstructionListIterator):287:289 -> b
     99:101:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):205 -> b
     102:104:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):206:208 -> b
-com.android.tools.r8.cf.LoadStoreHelper$1 -> com.android.tools.r8.internal.xC:
+com.android.tools.r8.cf.LoadStoreHelper$1 -> com.android.tools.r8.internal.CC:
     int[] $SwitchMap$com$android$tools$r8$ir$code$ValueType -> a
     1:1:void <clinit>():64:64 -> <clinit>
-com.android.tools.r8.cf.LoadStoreHelper$PhiMove -> com.android.tools.r8.internal.yC:
+com.android.tools.r8.cf.LoadStoreHelper$PhiMove -> com.android.tools.r8.internal.DC:
     com.android.tools.r8.ir.code.Phi phi -> a
     com.android.tools.r8.ir.code.Value operand -> b
     1:3:void <init>(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):235:237 -> <init>
-com.android.tools.r8.cf.TypeVerificationHelper -> com.android.tools.r8.internal.i10:
+com.android.tools.r8.cf.TypeVerificationHelper -> com.android.tools.r8.internal.o10:
     boolean computingVerificationTypes -> i
     boolean $assertionsDisabled -> j
     com.android.tools.r8.graph.AppView appView -> e
@@ -5607,20 +5607,20 @@
     144:149:void addUsers(com.android.tools.r8.ir.code.Value,java.util.Set):320:325 -> a
     1:19:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo getTypeInfo(com.android.tools.r8.ir.code.Value):155:173 -> b
     20:20:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo getTypeInfo(com.android.tools.r8.ir.code.Value):0:0 -> b
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":208,"2":209,"3":210}}
-    208:208:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo getTypeInfo(com.android.tools.r8.ir.code.Value):173:173 -> b
-    209:209:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo getTypeInfo(com.android.tools.r8.ir.code.Value):173:173 -> b
-    210:210:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo getTypeInfo(com.android.tools.r8.ir.code.Value):173:173 -> b
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":199,"2":200,"3":201}}
+    199:199:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo getTypeInfo(com.android.tools.r8.ir.code.Value):173:173 -> b
+    200:200:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo getTypeInfo(com.android.tools.r8.ir.code.Value):173:173 -> b
+    201:201:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo getTypeInfo(com.android.tools.r8.ir.code.Value):173:173 -> b
     193:193:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo getTypeInfo(com.android.tools.r8.ir.code.Value):173:173 -> b
     194:194:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo getTypeInfo(com.android.tools.r8.ir.code.Value):171:171 -> b
     195:195:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo getTypeInfo(com.android.tools.r8.ir.code.Value):169:169 -> b
     196:196:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo getTypeInfo(com.android.tools.r8.ir.code.Value):167:167 -> b
     197:197:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo getTypeInfo(com.android.tools.r8.ir.code.Value):165:165 -> b
     198:198:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo getTypeInfo(com.android.tools.r8.ir.code.Value):163:163 -> b
-com.android.tools.r8.cf.TypeVerificationHelper$1 -> com.android.tools.r8.internal.d10:
+com.android.tools.r8.cf.TypeVerificationHelper$1 -> com.android.tools.r8.internal.j10:
     int[] $SwitchMap$com$android$tools$r8$ir$code$ValueType -> a
     1:1:void <clinit>():161:161 -> <clinit>
-com.android.tools.r8.cf.TypeVerificationHelper$InitializedTypeInfo -> com.android.tools.r8.internal.e10:
+com.android.tools.r8.cf.TypeVerificationHelper$InitializedTypeInfo -> com.android.tools.r8.internal.k10:
     com.android.tools.r8.graph.DexType type -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():41:41 -> <clinit>
@@ -5628,7 +5628,7 @@
     2:4:void <init>(com.android.tools.r8.graph.DexType):44:46 -> <init>
     1:1:com.android.tools.r8.graph.DexType getDexType():51:51 -> a
     1:1:java.lang.String toString():56:56 -> toString
-com.android.tools.r8.cf.TypeVerificationHelper$NewInstanceInfo -> com.android.tools.r8.internal.f10:
+com.android.tools.r8.cf.TypeVerificationHelper$NewInstanceInfo -> com.android.tools.r8.internal.l10:
     com.android.tools.r8.ir.code.NewInstance newInstance -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():60:60 -> <clinit>
@@ -5642,7 +5642,7 @@
     2:2:com.android.tools.r8.graph.DexType com.android.tools.r8.cf.TypeVerificationHelper$NewInstanceInfo.getDexType():70:70 -> toString
     2:2:java.lang.String toString():75 -> toString
     3:3:java.lang.String toString():75:75 -> toString
-com.android.tools.r8.cf.TypeVerificationHelper$ThisInstanceInfo -> com.android.tools.r8.internal.g10:
+com.android.tools.r8.cf.TypeVerificationHelper$ThisInstanceInfo -> com.android.tools.r8.internal.m10:
     com.android.tools.r8.ir.code.Argument thisArgument -> b
     com.android.tools.r8.graph.DexType type -> a
     boolean $assertionsDisabled -> c
@@ -5657,9 +5657,9 @@
     2:2:com.android.tools.r8.graph.DexType com.android.tools.r8.cf.TypeVerificationHelper$ThisInstanceInfo.getDexType():92:92 -> toString
     2:2:java.lang.String toString():97 -> toString
     3:3:java.lang.String toString():97:97 -> toString
-com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo -> com.android.tools.r8.internal.h10:
+com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo -> com.android.tools.r8.internal.n10:
     com.android.tools.r8.graph.DexType getDexType() -> a
-com.android.tools.r8.cf.code.CfArithmeticBinop -> com.android.tools.r8.internal.A6:
+com.android.tools.r8.cf.code.CfArithmeticBinop -> com.android.tools.r8.internal.B6:
     com.android.tools.r8.ir.code.NumericType type -> c
     com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode opcode -> b
     int $r8$clinit -> e
@@ -5668,10 +5668,10 @@
     1:5:void <init>(com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode,com.android.tools.r8.ir.code.NumericType):43:47 -> <init>
     1:13:int getAsmOpcode():117:129 -> F
     14:14:int getAsmOpcode():0:0 -> F
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":158,"2":159,"3":160}}
-    158:158:int getAsmOpcode():129:129 -> F
-    159:159:int getAsmOpcode():129:129 -> F
-    160:160:int getAsmOpcode():129:129 -> F
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":149,"2":150,"3":151}}
+    149:149:int getAsmOpcode():129:129 -> F
+    150:150:int getAsmOpcode():129:129 -> F
+    151:151:int getAsmOpcode():129:129 -> F
     143:143:int getAsmOpcode():129:129 -> F
     144:144:int getAsmOpcode():127:127 -> F
     145:145:int getAsmOpcode():125:125 -> F
@@ -5699,17 +5699,17 @@
     222:222:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):180:180 -> a
     223:223:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):177:177 -> a
     241:241:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):211:211 -> a
-    242:242:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.fromNumericType(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.graph.DexItemFactory):138:138 -> a
+    242:242:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.fromNumericType(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.graph.DexItemFactory):156:156 -> a
     242:242:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):211 -> a
     243:243:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):212:212 -> a
     1:1:boolean canThrow():166:166 -> q
     1:1:int getCompareToId():52:52 -> s
-com.android.tools.r8.cf.code.CfArithmeticBinop$1 -> com.android.tools.r8.internal.z6:
+com.android.tools.r8.cf.code.CfArithmeticBinop$1 -> com.android.tools.r8.internal.A6:
     int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> b
     int[] $SwitchMap$com$android$tools$r8$cf$code$CfArithmeticBinop$Opcode -> a
     1:1:void <clinit>():134:134 -> <clinit>
     2:2:void <clinit>():117:117 -> <clinit>
-com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode -> com.android.tools.r8.internal.A6$a:
+com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode -> com.android.tools.r8.internal.B6$a:
     com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode[] $VALUES -> g
     com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode Add -> b
     com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode Rem -> f
@@ -5720,7 +5720,7 @@
     6:6:void <clinit>():32:32 -> <clinit>
     1:1:void <init>(java.lang.String,int):32:32 -> <init>
     1:1:com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode[] values():32:32 -> a
-com.android.tools.r8.cf.code.CfArrayLength -> com.android.tools.r8.internal.B6:
+com.android.tools.r8.cf.code.CfArrayLength -> com.android.tools.r8.internal.C6:
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():27:27 -> <clinit>
     1:1:void <init>():27:27 -> <init>
@@ -5735,7 +5735,7 @@
     11:11:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):167:167 -> a
     11:11:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):86 -> a
     int getCompareToId() -> s
-com.android.tools.r8.cf.code.CfArrayLoad -> com.android.tools.r8.internal.C6:
+com.android.tools.r8.cf.code.CfArrayLoad -> com.android.tools.r8.internal.D6:
     com.android.tools.r8.ir.code.MemberType type -> b
     boolean $assertionsDisabled -> c
     1:1:void <clinit>():31:31 -> <clinit>
@@ -5770,7 +5770,7 @@
     49:50:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):132:133 -> a
     boolean canThrow() -> q
     1:1:int getCompareToId():42:42 -> s
-com.android.tools.r8.cf.code.CfArrayStore -> com.android.tools.r8.internal.D6:
+com.android.tools.r8.cf.code.CfArrayStore -> com.android.tools.r8.internal.E6:
     com.android.tools.r8.ir.code.MemberType type -> b
     1:2:void <init>(com.android.tools.r8.ir.code.MemberType):34:35 -> <init>
     1:19:int getStoreType():54:72 -> F
@@ -5790,7 +5790,7 @@
     9:11:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):122:124 -> a
     boolean canThrow() -> q
     1:1:int getCompareToId():44:44 -> s
-com.android.tools.r8.cf.code.CfCheckCast -> com.android.tools.r8.internal.H6:
+com.android.tools.r8.cf.code.CfCheckCast -> com.android.tools.r8.internal.I6:
     com.android.tools.r8.graph.DexType type -> b
     boolean ignoreCompatRules -> c
     1:1:void <init>(com.android.tools.r8.graph.DexType):36:36 -> <init>
@@ -5818,7 +5818,7 @@
     com.android.tools.r8.cf.code.CfTypeInstruction asTypeInstruction() -> p
     boolean canThrow() -> q
     int getCompareToId() -> s
-com.android.tools.r8.cf.code.CfCmp -> com.android.tools.r8.internal.O6:
+com.android.tools.r8.cf.code.CfCmp -> com.android.tools.r8.internal.P6:
     com.android.tools.r8.ir.code.Cmp$Bias bias -> b
     com.android.tools.r8.ir.code.NumericType type -> c
     boolean $assertionsDisabled -> d
@@ -5826,10 +5826,10 @@
     1:8:void <init>(com.android.tools.r8.ir.code.Cmp$Bias,com.android.tools.r8.ir.code.NumericType):37:44 -> <init>
     1:9:int getAsmOpcode():84:92 -> F
     10:10:int getAsmOpcode():0:0 -> F
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":107,"2":108,"3":109}}
-    107:107:int getAsmOpcode():92:92 -> F
-    108:108:int getAsmOpcode():92:92 -> F
-    109:109:int getAsmOpcode():92:92 -> F
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":104,"2":105,"3":106}}
+    104:104:int getAsmOpcode():92:92 -> F
+    105:105:int getAsmOpcode():92:92 -> F
+    106:106:int getAsmOpcode():92:92 -> F
     102:102:int getAsmOpcode():92:92 -> F
     103:103:int getAsmOpcode():88:88 -> F
     1:1:com.android.tools.r8.ir.code.Cmp$Bias getBias():59:59 -> G
@@ -5841,16 +5841,16 @@
     4:4:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):111:111 -> a
     5:7:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):116:118 -> a
     8:8:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):136:136 -> a
-    9:9:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.fromNumericType(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.graph.DexItemFactory):138:138 -> a
+    9:9:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.fromNumericType(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.graph.DexItemFactory):156:156 -> a
     9:9:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):136 -> a
     10:10:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):137:137 -> a
     11:11:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):167:167 -> a
     11:11:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):137 -> a
     1:1:int getCompareToId():49:49 -> s
-com.android.tools.r8.cf.code.CfCmp$1 -> com.android.tools.r8.internal.N6:
+com.android.tools.r8.cf.code.CfCmp$1 -> com.android.tools.r8.internal.O6:
     int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> a
     1:1:void <clinit>():84:84 -> <clinit>
-com.android.tools.r8.cf.code.CfConstClass -> com.android.tools.r8.internal.T6:
+com.android.tools.r8.cf.code.CfConstClass -> com.android.tools.r8.internal.U6:
     com.android.tools.r8.graph.DexType type -> b
     boolean ignoreCompatRules -> c
     1:3:void <init>(com.android.tools.r8.graph.DexType,boolean):39:41 -> <init>
@@ -5911,7 +5911,7 @@
     com.android.tools.r8.cf.code.CfTypeInstruction asTypeInstruction() -> p
     boolean canThrow() -> q
     int getCompareToId() -> s
-com.android.tools.r8.cf.code.CfConstDynamic -> com.android.tools.r8.internal.U6:
+com.android.tools.r8.cf.code.CfConstDynamic -> com.android.tools.r8.internal.V6:
     com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicReference reference -> b
     boolean $assertionsDisabled -> c
     1:1:void <clinit>():40:40 -> <clinit>
@@ -5967,7 +5967,7 @@
     com.android.tools.r8.cf.code.CfTypeInstruction asTypeInstruction() -> p
     boolean canThrow() -> q
     int getCompareToId() -> s
-com.android.tools.r8.cf.code.CfConstMethodHandle -> com.android.tools.r8.internal.V6:
+com.android.tools.r8.cf.code.CfConstMethodHandle -> com.android.tools.r8.internal.W6:
     com.android.tools.r8.graph.DexMethodHandle handle -> b
     1:2:void <init>(com.android.tools.r8.graph.DexMethodHandle):34:35 -> <init>
     1:1:com.android.tools.r8.graph.DexMethodHandle getHandle():39:39 -> F
@@ -5989,7 +5989,7 @@
     27:27:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):95 -> a
     boolean canThrow() -> q
     int getCompareToId() -> s
-com.android.tools.r8.cf.code.CfConstMethodType -> com.android.tools.r8.internal.W6:
+com.android.tools.r8.cf.code.CfConstMethodType -> com.android.tools.r8.internal.X6:
     com.android.tools.r8.graph.DexProto type -> b
     1:2:void <init>(com.android.tools.r8.graph.DexProto):34:35 -> <init>
     1:1:com.android.tools.r8.graph.DexProto getType():39:39 -> F
@@ -6013,7 +6013,7 @@
     26:26:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):93 -> a
     boolean canThrow() -> q
     int getCompareToId() -> s
-com.android.tools.r8.cf.code.CfConstNull -> com.android.tools.r8.internal.X6:
+com.android.tools.r8.cf.code.CfConstNull -> com.android.tools.r8.internal.Y6:
     1:1:void <init>():27:27 -> <init>
     1:1:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):39:39 -> a
     2:2:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):50:50 -> a
@@ -6027,7 +6027,7 @@
     8:8:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forConstInstruction():106:106 -> a
     8:8:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):66 -> a
     int getCompareToId() -> s
-com.android.tools.r8.cf.code.CfConstNumber -> com.android.tools.r8.internal.Z6:
+com.android.tools.r8.cf.code.CfConstNumber -> com.android.tools.r8.internal.a7:
     com.android.tools.r8.ir.code.ValueType type -> c
     long value -> b
     int $r8$clinit -> e
@@ -6070,10 +6070,10 @@
     285:285:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):167:167 -> a
     285:285:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):181 -> a
     int getCompareToId() -> s
-com.android.tools.r8.cf.code.CfConstNumber$1 -> com.android.tools.r8.internal.Y6:
+com.android.tools.r8.cf.code.CfConstNumber$1 -> com.android.tools.r8.internal.Z6:
     int[] $SwitchMap$com$android$tools$r8$ir$code$ValueType -> a
     1:1:void <clinit>():92:92 -> <clinit>
-com.android.tools.r8.cf.code.CfConstString -> com.android.tools.r8.internal.a7:
+com.android.tools.r8.cf.code.CfConstString -> com.android.tools.r8.internal.b7:
     com.android.tools.r8.graph.DexString string -> b
     1:2:void <init>(com.android.tools.r8.graph.DexString):30:31 -> <init>
     1:1:com.android.tools.r8.graph.DexString getString():46:46 -> F
@@ -6094,7 +6094,7 @@
     com.android.tools.r8.cf.code.CfConstString asConstString() -> d
     boolean canThrow() -> q
     int getCompareToId() -> s
-com.android.tools.r8.cf.code.CfDexItemBasedConstString -> com.android.tools.r8.internal.b7:
+com.android.tools.r8.cf.code.CfDexItemBasedConstString -> com.android.tools.r8.internal.c7:
     com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo nameComputationInfo -> c
     com.android.tools.r8.graph.DexReference item -> b
     boolean $assertionsDisabled -> d
@@ -6120,7 +6120,7 @@
     com.android.tools.r8.cf.code.CfDexItemBasedConstString asDexItemBasedConstString() -> e
     boolean canThrow() -> q
     int getCompareToId() -> s
-com.android.tools.r8.cf.code.CfFieldInstruction -> com.android.tools.r8.internal.c7:
+com.android.tools.r8.cf.code.CfFieldInstruction -> com.android.tools.r8.internal.d7:
     boolean $assertionsDisabled -> e
     int $r8$clinit -> f
     com.android.tools.r8.graph.DexField declaringField -> d
@@ -6189,71 +6189,79 @@
     boolean canThrow() -> q
     1:1:int getCompareToId():78:78 -> s
     boolean isFieldInstruction() -> v
-com.android.tools.r8.cf.code.CfFrame -> com.android.tools.r8.internal.l7:
+com.android.tools.r8.cf.code.CfFrame -> com.android.tools.r8.internal.m7:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap locals -> b
     java.util.Deque stack -> c
     boolean $assertionsDisabled -> d
     1:1:void <clinit>():38:38 -> <clinit>
-    1:5:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque):340:344 -> <init>
-    1:2:int computeStackSize():394:395 -> F
-    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap getLocals():358:358 -> G
-    1:1:java.util.Deque getStack():368:368 -> H
+    1:5:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque):358:362 -> <init>
+    1:2:int computeStackSize():412:413 -> F
+    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap getLocals():376:376 -> G
+    1:1:java.util.Deque getStack():386:386 -> H
     1:1:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isInitialized():0:0 -> a
-    1:1:com.android.tools.r8.cf.code.CfFrame markInstantiated(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):485 -> a
-    2:10:com.android.tools.r8.cf.code.CfFrame markInstantiated(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):489:497 -> a
-    11:11:com.android.tools.r8.cf.code.CfFrame markInstantiated(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):486:486 -> a
-    12:12:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):162:162 -> a
-    13:13:int com.android.tools.r8.cf.code.CfFrame.computeStackCount():389:389 -> a
-    13:13:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):381 -> a
-    14:21:java.lang.Object[] com.android.tools.r8.cf.code.CfFrame.computeStackTypes(int,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):401:408 -> a
-    14:21:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):382 -> a
-    22:31:int com.android.tools.r8.cf.code.CfFrame.computeLocalsCount():414:423 -> a
-    22:31:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):383 -> a
-    32:39:java.lang.Object[] com.android.tools.r8.cf.code.CfFrame.computeLocalsTypes(int,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):434:441 -> a
-    32:39:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):384 -> a
-    40:40:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):385:385 -> a
-    41:41:void print(com.android.tools.r8.cf.CfPrinter):455:455 -> a
-    42:42:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):460:460 -> a
-    43:43:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):471:471 -> a
-    44:44:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):481:481 -> a
-    45:45:com.android.tools.r8.cf.code.CfFrame$FrameType getInitializedFrameType(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):501:501 -> a
+    1:1:com.android.tools.r8.cf.code.CfFrame markInstantiated(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):503 -> a
+    2:10:com.android.tools.r8.cf.code.CfFrame markInstantiated(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):507:515 -> a
+    11:11:com.android.tools.r8.cf.code.CfFrame markInstantiated(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):504:504 -> a
+    12:12:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):180:180 -> a
+    13:13:int com.android.tools.r8.cf.code.CfFrame.computeStackCount():407:407 -> a
+    13:13:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):399 -> a
+    14:21:java.lang.Object[] com.android.tools.r8.cf.code.CfFrame.computeStackTypes(int,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):419:426 -> a
+    14:21:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):400 -> a
+    22:31:int com.android.tools.r8.cf.code.CfFrame.computeLocalsCount():432:441 -> a
+    22:31:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):401 -> a
+    32:39:java.lang.Object[] com.android.tools.r8.cf.code.CfFrame.computeLocalsTypes(int,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):452:459 -> a
+    32:39:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):402 -> a
+    40:40:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):403:403 -> a
+    41:41:void print(com.android.tools.r8.cf.CfPrinter):473:473 -> a
+    42:42:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):478:478 -> a
+    43:43:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):489:489 -> a
+    44:44:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):499:499 -> a
+    45:45:com.android.tools.r8.cf.code.CfFrame$FrameType getInitializedFrameType(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):519:519 -> a
     46:46:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isInitialized():0:0 -> a
-    46:46:com.android.tools.r8.cf.code.CfFrame$FrameType getInitializedFrameType(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):501 -> a
-    47:48:com.android.tools.r8.cf.code.CfFrame$FrameType getInitializedFrameType(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):501:502 -> a
+    46:46:com.android.tools.r8.cf.code.CfFrame$FrameType getInitializedFrameType(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):519 -> a
+    47:48:com.android.tools.r8.cf.code.CfFrame$FrameType getInitializedFrameType(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):519:520 -> a
     49:49:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isInitialized():0:0 -> a
-    49:49:com.android.tools.r8.cf.code.CfFrame$FrameType getInitializedFrameType(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):502 -> a
+    49:49:com.android.tools.r8.cf.code.CfFrame$FrameType getInitializedFrameType(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):520 -> a
     50:50:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isUninitializedThis():0:0 -> a
-    50:50:com.android.tools.r8.cf.code.CfFrame$FrameType getInitializedFrameType(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):505 -> a
-    51:51:com.android.tools.r8.cf.code.CfFrame$FrameType getInitializedFrameType(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):506:506 -> a
+    50:50:com.android.tools.r8.cf.code.CfFrame$FrameType getInitializedFrameType(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):523 -> a
+    51:51:com.android.tools.r8.cf.code.CfFrame$FrameType getInitializedFrameType(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):524:524 -> a
     52:52:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isUninitializedNew():0:0 -> a
-    52:52:com.android.tools.r8.cf.code.CfFrame$FrameType getInitializedFrameType(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):508 -> a
+    52:52:com.android.tools.r8.cf.code.CfFrame$FrameType getInitializedFrameType(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):526 -> a
     53:53:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isUninitializedNew():0:0 -> a
-    53:53:com.android.tools.r8.cf.code.CfFrame$FrameType getInitializedFrameType(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):509 -> a
-    54:55:com.android.tools.r8.cf.code.CfFrame$FrameType getInitializedFrameType(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):510:511 -> a
+    53:53:com.android.tools.r8.cf.code.CfFrame$FrameType getInitializedFrameType(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):527 -> a
+    54:55:com.android.tools.r8.cf.code.CfFrame$FrameType getInitializedFrameType(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):528:529 -> a
+    56:84:com.android.tools.r8.cf.code.CfFrame map(java.util.function.Function):536:564 -> a
     com.android.tools.r8.cf.code.CfFrame asFrame() -> g
     int getCompareToId() -> s
-    1:1:java.lang.String toString():450:450 -> toString
-com.android.tools.r8.cf.code.CfFrame$1 -> com.android.tools.r8.internal.d7:
-com.android.tools.r8.cf.code.CfFrame$FrameType -> com.android.tools.r8.internal.e7:
+    1:1:java.lang.String toString():468:468 -> toString
+    boolean isFrame() -> w
+com.android.tools.r8.cf.code.CfFrame$1 -> com.android.tools.r8.internal.e7:
+com.android.tools.r8.cf.code.CfFrame$FrameType -> com.android.tools.r8.internal.f7:
     1:1:void <init>(com.android.tools.r8.cf.code.CfFrame$1):40:40 -> <init>
-    2:2:void <init>():108:108 -> <init>
+    2:2:void <init>():126:126 -> <init>
     com.android.tools.r8.graph.DexType getInitializedType() -> a
     java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens) -> a
-    1:1:com.android.tools.r8.cf.code.CfFrame$FrameType initialized(com.android.tools.r8.graph.DexType):43:43 -> a
-    2:2:com.android.tools.r8.cf.code.CfFrame$FrameType uninitializedNew(com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.graph.DexType):47:47 -> a
-    3:25:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):111:133 -> a
-    26:26:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.twoWord():63:63 -> a
-    26:26:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):131 -> a
-    27:27:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():59:59 -> a
-    27:27:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):129 -> a
-    28:28:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):127:127 -> a
-    29:29:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):125:125 -> a
-    30:30:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):123:123 -> a
-    31:31:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):121:121 -> a
-    32:32:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):119:119 -> a
-    33:33:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):117:117 -> a
-    34:34:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):115:115 -> a
-    35:35:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):113:113 -> a
+    1:1:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isInitialized():0:0 -> a
+    1:1:com.android.tools.r8.cf.code.CfFrame$FrameType map(java.util.function.Function):109 -> a
+    2:5:com.android.tools.r8.cf.code.CfFrame$FrameType map(java.util.function.Function):110:113 -> a
+    6:6:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isUninitializedNew():0:0 -> a
+    6:6:com.android.tools.r8.cf.code.CfFrame$FrameType map(java.util.function.Function):116 -> a
+    7:10:com.android.tools.r8.cf.code.CfFrame$FrameType map(java.util.function.Function):117:120 -> a
+    11:11:com.android.tools.r8.cf.code.CfFrame$FrameType initialized(com.android.tools.r8.graph.DexType):43:43 -> a
+    12:12:com.android.tools.r8.cf.code.CfFrame$FrameType uninitializedNew(com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.graph.DexType):47:47 -> a
+    13:35:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):129:151 -> a
+    36:36:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.twoWord():63:63 -> a
+    36:36:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):149 -> a
+    37:37:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():59:59 -> a
+    37:37:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):147 -> a
+    38:38:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):145:145 -> a
+    39:39:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):143:143 -> a
+    40:40:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):141:141 -> a
+    41:41:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):139:139 -> a
+    42:42:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):137:137 -> a
+    43:43:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):135:135 -> a
+    44:44:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):133:133 -> a
+    45:45:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):131:131 -> a
     com.android.tools.r8.cf.code.CfLabel getUninitializedLabel() -> b
     com.android.tools.r8.graph.DexType getUninitializedNewType() -> c
     boolean isInitialized() -> d
@@ -6263,75 +6271,75 @@
     boolean isWide() -> h
     1:1:com.android.tools.r8.cf.code.CfFrame$FrameType top():55:55 -> i
     1:1:com.android.tools.r8.cf.code.CfFrame$FrameType uninitializedThis():51:51 -> j
-com.android.tools.r8.cf.code.CfFrame$InitializedType -> com.android.tools.r8.internal.f7:
+com.android.tools.r8.cf.code.CfFrame$InitializedType -> com.android.tools.r8.internal.g7:
     com.android.tools.r8.graph.DexType type -> a
     boolean $assertionsDisabled -> b
-    1:1:void <clinit>():165:165 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.cf.code.CfFrame$1):165:165 -> <init>
-    2:4:void <init>(com.android.tools.r8.graph.DexType):169:171 -> <init>
-    1:1:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):181:181 -> a
+    1:1:void <clinit>():183:183 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.cf.code.CfFrame$1):183:183 -> <init>
+    2:4:void <init>(com.android.tools.r8.graph.DexType):187:189 -> <init>
+    1:1:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):199:199 -> a
     2:2:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):0:0 -> a
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":408,"2":409,"3":410}}
-    408:408:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):181:181 -> a
-    409:409:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):393:393 -> a
-    409:409:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):181 -> a
-    410:410:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):393:393 -> a
-    410:410:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):181 -> a
-    184:199:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):182:197 -> a
-    200:200:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):0:0 -> a
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":411,"2":412,"3":413,"4":414,"5":415}}
-    411:411:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):197:197 -> a
-    412:412:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):197:197 -> a
-    413:413:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):197:197 -> a
-    414:414:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):197:197 -> a
-    415:415:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):197:197 -> a
-    397:397:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):197:197 -> a
-    398:398:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):189:189 -> a
-    399:407:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):187:195 -> a
-    416:416:com.android.tools.r8.graph.DexType getInitializedType():213:213 -> a
-    1:1:boolean isWide():203:203 -> h
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":444,"2":445,"3":446}}
+    444:444:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):199:199 -> a
+    445:445:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):393:393 -> a
+    445:445:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):199 -> a
+    446:446:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):393:393 -> a
+    446:446:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):199 -> a
+    202:217:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):200:215 -> a
+    218:218:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):0:0 -> a
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":447,"2":448,"3":449,"4":450,"5":451}}
+    447:447:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):215:215 -> a
+    448:448:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):215:215 -> a
+    449:449:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):215:215 -> a
+    450:450:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):215:215 -> a
+    451:451:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):215:215 -> a
+    433:433:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):215:215 -> a
+    434:434:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):207:207 -> a
+    435:443:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):205:213 -> a
+    452:452:com.android.tools.r8.graph.DexType getInitializedType():231:231 -> a
+    1:1:boolean isWide():221:221 -> h
     1:1:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":178,"2":179,"3":180}}
-    178:178:java.lang.String toString():176:176 -> toString
-    179:179:java.lang.String toString():176:176 -> toString
-    180:180:java.lang.String toString():176:176 -> toString
-    177:177:java.lang.String toString():176:176 -> toString
-com.android.tools.r8.cf.code.CfFrame$OneWord -> com.android.tools.r8.internal.g7:
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":196,"2":197,"3":198}}
+    196:196:java.lang.String toString():194:194 -> toString
+    197:197:java.lang.String toString():194:194 -> toString
+    198:198:java.lang.String toString():194:194 -> toString
+    195:195:java.lang.String toString():194:194 -> toString
+com.android.tools.r8.cf.code.CfFrame$OneWord -> com.android.tools.r8.internal.h7:
     com.android.tools.r8.cf.code.CfFrame$OneWord SINGLETON -> a
-    1:1:void <clinit>():294:294 -> <clinit>
-    1:1:void <init>():292:292 -> <init>
-    1:1:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):298:298 -> a
-    1:1:com.android.tools.r8.cf.code.CfFrame$OneWord access$400():292:292 -> k
-    1:1:java.lang.String toString():308:308 -> toString
-com.android.tools.r8.cf.code.CfFrame$Top -> com.android.tools.r8.internal.h7:
+    1:1:void <clinit>():312:312 -> <clinit>
+    1:1:void <init>():310:310 -> <init>
+    1:1:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):316:316 -> a
+    1:1:com.android.tools.r8.cf.code.CfFrame$OneWord access$400():310:310 -> k
+    1:1:java.lang.String toString():326:326 -> toString
+com.android.tools.r8.cf.code.CfFrame$Top -> com.android.tools.r8.internal.i7:
     com.android.tools.r8.cf.code.CfFrame$Top SINGLETON -> a
-    1:1:void <clinit>():219:219 -> <clinit>
-    1:1:void <init>():217:217 -> <init>
-    1:1:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):228:228 -> a
-    1:1:com.android.tools.r8.cf.code.CfFrame$Top access$300():217:217 -> k
-    1:1:java.lang.String toString():223:223 -> toString
-com.android.tools.r8.cf.code.CfFrame$TwoWord -> com.android.tools.r8.internal.i7:
+    1:1:void <clinit>():237:237 -> <clinit>
+    1:1:void <init>():235:235 -> <init>
+    1:1:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):246:246 -> a
+    1:1:com.android.tools.r8.cf.code.CfFrame$Top access$300():235:235 -> k
+    1:1:java.lang.String toString():241:241 -> toString
+com.android.tools.r8.cf.code.CfFrame$TwoWord -> com.android.tools.r8.internal.j7:
     com.android.tools.r8.cf.code.CfFrame$TwoWord SINGLETON -> a
-    1:1:void <clinit>():314:314 -> <clinit>
-    1:1:void <init>():312:312 -> <init>
-    1:1:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):318:318 -> a
-    1:1:com.android.tools.r8.cf.code.CfFrame$TwoWord access$500():312:312 -> k
-    1:1:java.lang.String toString():333:333 -> toString
-com.android.tools.r8.cf.code.CfFrame$UninitializedNew -> com.android.tools.r8.internal.j7:
+    1:1:void <clinit>():332:332 -> <clinit>
+    1:1:void <init>():330:330 -> <init>
+    1:1:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):336:336 -> a
+    1:1:com.android.tools.r8.cf.code.CfFrame$TwoWord access$500():330:330 -> k
+    1:1:java.lang.String toString():351:351 -> toString
+com.android.tools.r8.cf.code.CfFrame$UninitializedNew -> com.android.tools.r8.internal.k7:
     com.android.tools.r8.cf.code.CfLabel label -> a
     com.android.tools.r8.graph.DexType type -> b
-    1:1:void <init>(com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.graph.DexType,com.android.tools.r8.cf.code.CfFrame$1):237:237 -> <init>
-    2:4:void <init>(com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.graph.DexType):241:243 -> <init>
-    1:1:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):253:253 -> a
-    1:1:com.android.tools.r8.cf.code.CfLabel getUninitializedLabel():263:263 -> b
-    1:1:com.android.tools.r8.graph.DexType getUninitializedNewType():268:268 -> c
-    1:1:java.lang.String toString():248:248 -> toString
-com.android.tools.r8.cf.code.CfFrame$UninitializedThis -> com.android.tools.r8.internal.k7:
-    1:1:void <init>(com.android.tools.r8.cf.code.CfFrame$1):272:272 -> <init>
-    2:2:void <init>():274:274 -> <init>
-    1:1:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):278:278 -> a
-    1:1:java.lang.String toString():283:283 -> toString
-com.android.tools.r8.cf.code.CfFrameVerificationHelper -> com.android.tools.r8.internal.m7:
+    1:1:void <init>(com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.graph.DexType,com.android.tools.r8.cf.code.CfFrame$1):255:255 -> <init>
+    2:4:void <init>(com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.graph.DexType):259:261 -> <init>
+    1:1:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):271:271 -> a
+    1:1:com.android.tools.r8.cf.code.CfLabel getUninitializedLabel():281:281 -> b
+    1:1:com.android.tools.r8.graph.DexType getUninitializedNewType():286:286 -> c
+    1:1:java.lang.String toString():266:266 -> toString
+com.android.tools.r8.cf.code.CfFrame$UninitializedThis -> com.android.tools.r8.internal.l7:
+    1:1:void <init>(com.android.tools.r8.cf.code.CfFrame$1):290:290 -> <init>
+    2:2:void <init>():292:292 -> <init>
+    1:1:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):296:296 -> a
+    1:1:java.lang.String toString():301:301 -> toString
+com.android.tools.r8.cf.code.CfFrameVerificationHelper -> com.android.tools.r8.internal.n7:
     java.util.Map stateMap -> d
     com.android.tools.r8.graph.GraphLens graphLens -> g
     java.util.Set tryCatchRangeLabels -> j
@@ -6511,7 +6519,7 @@
     10:10:boolean isUninitializedThisAndTarget(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):261 -> c
     11:11:boolean isUninitializedThisAndTarget(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):261:261 -> c
     1:1:void setNoFrame():254:254 -> d
-com.android.tools.r8.cf.code.CfGoto -> com.android.tools.r8.internal.n7:
+com.android.tools.r8.cf.code.CfGoto -> com.android.tools.r8.internal.o7:
     com.android.tools.r8.cf.code.CfLabel target -> b
     1:2:void <init>(com.android.tools.r8.cf.code.CfLabel):30:31 -> <init>
     1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):42:42 -> a
@@ -6526,7 +6534,7 @@
     8:8:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):91 -> a
     int getCompareToId() -> s
     1:1:com.android.tools.r8.cf.code.CfLabel getTarget():62:62 -> t
-com.android.tools.r8.cf.code.CfIf -> com.android.tools.r8.internal.p7:
+com.android.tools.r8.cf.code.CfIf -> com.android.tools.r8.internal.q7:
     com.android.tools.r8.ir.code.ValueType type -> c
     com.android.tools.r8.ir.code.If$Type kind -> b
     boolean $assertionsDisabled -> e
@@ -6537,10 +6545,10 @@
     1:1:com.android.tools.r8.ir.code.If$Type getKind():61:61 -> F
     1:15:int getOpcode():70:84 -> G
     16:16:int getOpcode():0:0 -> G
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":114,"2":115,"3":116}}
-    114:114:int getOpcode():84:84 -> G
-    115:115:int getOpcode():84:84 -> G
-    116:116:int getOpcode():84:84 -> G
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":103,"2":104,"3":105}}
+    103:103:int getOpcode():84:84 -> G
+    104:104:int getOpcode():84:84 -> G
+    105:105:int getOpcode():84:84 -> G
     100:100:int getOpcode():84:84 -> G
     101:101:int getOpcode():82:82 -> G
     102:102:int getOpcode():72:72 -> G
@@ -6562,10 +6570,10 @@
     19:19:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):127 -> a
     1:1:int getCompareToId():44:44 -> s
     1:1:com.android.tools.r8.cf.code.CfLabel getTarget():66:66 -> t
-com.android.tools.r8.cf.code.CfIf$1 -> com.android.tools.r8.internal.o7:
+com.android.tools.r8.cf.code.CfIf$1 -> com.android.tools.r8.internal.p7:
     int[] $SwitchMap$com$android$tools$r8$ir$code$If$Type -> a
     1:1:void <clinit>():70:70 -> <clinit>
-com.android.tools.r8.cf.code.CfIfCmp -> com.android.tools.r8.internal.r7:
+com.android.tools.r8.cf.code.CfIfCmp -> com.android.tools.r8.internal.s7:
     com.android.tools.r8.ir.code.ValueType type -> c
     com.android.tools.r8.ir.code.If$Type kind -> b
     boolean $assertionsDisabled -> e
@@ -6576,10 +6584,10 @@
     1:1:com.android.tools.r8.ir.code.If$Type getKind():57:57 -> F
     1:15:int getOpcode():70:84 -> G
     16:16:int getOpcode():0:0 -> G
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":114,"2":115,"3":116}}
-    114:114:int getOpcode():84:84 -> G
-    115:115:int getOpcode():84:84 -> G
-    116:116:int getOpcode():84:84 -> G
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":103,"2":104,"3":105}}
+    103:103:int getOpcode():84:84 -> G
+    104:104:int getOpcode():84:84 -> G
+    105:105:int getOpcode():84:84 -> G
     100:100:int getOpcode():84:84 -> G
     101:101:int getOpcode():82:82 -> G
     102:102:int getOpcode():72:72 -> G
@@ -6601,10 +6609,10 @@
     1:1:int getCompareToId():44:44 -> s
     1:1:com.android.tools.r8.cf.code.CfLabel getTarget():66:66 -> t
     boolean isConditionalJump() -> u
-com.android.tools.r8.cf.code.CfIfCmp$1 -> com.android.tools.r8.internal.q7:
+com.android.tools.r8.cf.code.CfIfCmp$1 -> com.android.tools.r8.internal.r7:
     int[] $SwitchMap$com$android$tools$r8$ir$code$If$Type -> a
     1:1:void <clinit>():70:70 -> <clinit>
-com.android.tools.r8.cf.code.CfIinc -> com.android.tools.r8.internal.s7:
+com.android.tools.r8.cf.code.CfIinc -> com.android.tools.r8.internal.t7:
     int var -> b
     int increment -> c
     1:3:void <init>(int,int):37:39 -> <init>
@@ -6618,7 +6626,7 @@
     7:7:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):88:88 -> a
     8:8:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):98:98 -> a
     int getCompareToId() -> s
-com.android.tools.r8.cf.code.CfInitClass -> com.android.tools.r8.internal.t7:
+com.android.tools.r8.cf.code.CfInitClass -> com.android.tools.r8.internal.u7:
     com.android.tools.r8.graph.DexType clazz -> b
     1:2:void <init>(com.android.tools.r8.graph.DexType):35:36 -> <init>
     1:1:com.android.tools.r8.graph.DexType getClassValue():40:40 -> F
@@ -6638,13 +6646,13 @@
     16:16:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):120 -> a
     boolean canThrow() -> q
     int getCompareToId() -> s
-com.android.tools.r8.cf.code.CfInstanceFieldRead -> com.android.tools.r8.internal.u7:
+com.android.tools.r8.cf.code.CfInstanceFieldRead -> com.android.tools.r8.internal.v7:
     1:1:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):21:21 -> <init>
     1:1:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):27:27 -> a
-com.android.tools.r8.cf.code.CfInstanceFieldWrite -> com.android.tools.r8.internal.v7:
+com.android.tools.r8.cf.code.CfInstanceFieldWrite -> com.android.tools.r8.internal.w7:
     1:1:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):20:20 -> <init>
     1:1:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):26:26 -> a
-com.android.tools.r8.cf.code.CfInstanceOf -> com.android.tools.r8.internal.w7:
+com.android.tools.r8.cf.code.CfInstanceOf -> com.android.tools.r8.internal.x7:
     com.android.tools.r8.graph.DexType type -> b
     1:2:void <init>(com.android.tools.r8.graph.DexType):33:34 -> <init>
     boolean isTypeInstruction() -> E
@@ -6668,7 +6676,7 @@
     com.android.tools.r8.cf.code.CfTypeInstruction asTypeInstruction() -> p
     boolean canThrow() -> q
     int getCompareToId() -> s
-com.android.tools.r8.cf.code.CfInstruction -> com.android.tools.r8.internal.x7:
+com.android.tools.r8.cf.code.CfInstruction -> com.android.tools.r8.internal.y7:
     1:1:void <init>():31:31 -> <init>
     boolean isInvokeStatic() -> A
     boolean isInvokeVirtual() -> B
@@ -6711,7 +6719,7 @@
     boolean isInvoke() -> x
     boolean isInvokeInterface() -> y
     boolean isInvokeSpecial() -> z
-com.android.tools.r8.cf.code.CfInvoke -> com.android.tools.r8.internal.E7:
+com.android.tools.r8.cf.code.CfInvoke -> com.android.tools.r8.internal.F7:
     boolean $assertionsDisabled -> e
     com.android.tools.r8.graph.DexMethod method -> b
     int opcode -> c
@@ -6835,7 +6843,7 @@
     1004:1004:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):270:270 -> a
     1005:1005:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.cf.code.CfInvoke.computeInvokeTypeForInvokeSpecial(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):336:336 -> a
     1005:1005:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):270 -> a
-    1006:1006:boolean com.android.tools.r8.graph.DexItemFactory.isConstructor(com.android.tools.r8.graph.DexMethod):2790:2790 -> a
+    1006:1006:boolean com.android.tools.r8.graph.DexItemFactory.isConstructor(com.android.tools.r8.graph.DexMethod):2796:2796 -> a
     1006:1006:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.cf.code.CfInvoke.computeInvokeTypeForInvokeSpecial(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):336 -> a
     1006:1006:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):270 -> a
     1007:1012:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.cf.code.CfInvoke.computeInvokeTypeForInvokeSpecial(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):337:342 -> a
@@ -6886,54 +6894,51 @@
     boolean isInvoke() -> x
     1:1:boolean isInvokeInterface():169:169 -> y
     1:1:boolean isInvokeSpecial():154:154 -> z
-com.android.tools.r8.cf.code.CfInvokeDynamic -> com.android.tools.r8.internal.F7:
+com.android.tools.r8.cf.code.CfInvokeDynamic -> com.android.tools.r8.internal.G7:
     com.android.tools.r8.graph.DexCallSite callSite -> b
     1:2:void <init>(com.android.tools.r8.graph.DexCallSite):43:44 -> <init>
-    1:1:com.android.tools.r8.graph.DexCallSite getCallSite():128:128 -> F
-    1:1:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexClassAndMember.getName():53:53 -> a
-    1:1:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):78 -> a
-      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    2:10:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):78:86 -> a
-    11:30:java.lang.Object com.android.tools.r8.cf.code.CfInvokeDynamic.decodeBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.naming.NamingLens):98:117 -> a
-    11:30:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):86 -> a
-    31:31:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):0:0 -> a
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":55,"2":56,"3":57}}
-    55:55:java.lang.Object com.android.tools.r8.cf.code.CfInvokeDynamic.decodeBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.naming.NamingLens):117:117 -> a
-    55:55:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):86 -> a
-    56:56:java.lang.Object com.android.tools.r8.cf.code.CfInvokeDynamic.decodeBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.naming.NamingLens):117:117 -> a
-    56:56:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):86 -> a
-    57:57:java.lang.Object com.android.tools.r8.cf.code.CfInvokeDynamic.decodeBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.naming.NamingLens):117:117 -> a
-    57:57:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):86 -> a
-    32:32:java.lang.Object com.android.tools.r8.cf.code.CfInvokeDynamic.decodeBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.naming.NamingLens):118:118 -> a
-    32:32:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):86 -> a
-    33:33:java.lang.Object com.android.tools.r8.cf.code.CfInvokeDynamic.decodeBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.naming.NamingLens):115:115 -> a
-    33:33:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):86 -> a
-    34:35:java.lang.Object com.android.tools.r8.cf.code.CfInvokeDynamic.decodeBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.naming.NamingLens):112:113 -> a
-    34:35:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):86 -> a
-    36:38:java.lang.Object com.android.tools.r8.cf.code.CfInvokeDynamic.decodeBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.naming.NamingLens):108:110 -> a
-    36:38:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):86 -> a
-    39:45:java.lang.Object com.android.tools.r8.cf.code.CfInvokeDynamic.decodeBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.naming.NamingLens):100:106 -> a
-    39:45:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):86 -> a
-    46:46:java.lang.Object com.android.tools.r8.cf.code.CfInvokeDynamic.decodeBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.naming.NamingLens):104:104 -> a
-    46:46:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):86 -> a
-    47:53:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):86:92 -> a
-    54:54:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90:90 -> a
-    58:58:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):65:65 -> a
-    59:59:void print(com.android.tools.r8.cf.CfPrinter):124:124 -> a
-    60:60:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):134:134 -> a
-    61:63:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):144:146 -> a
-    64:66:int[] com.android.tools.r8.ir.conversion.CfState.popReverse(int):193:195 -> a
-    64:66:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):146 -> a
-    67:76:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):146:155 -> a
-    77:77:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forInvokeCustom():168:168 -> a
-    77:77:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):162 -> a
-    78:79:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):174:175 -> a
-    80:80:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):167:167 -> a
-    80:80:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):176 -> a
+    1:1:com.android.tools.r8.graph.DexCallSite getCallSite():125:125 -> F
+    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):65:65 -> a
+    2:7:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):78:83 -> a
+    8:27:java.lang.Object com.android.tools.r8.cf.code.CfInvokeDynamic.decodeBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.naming.NamingLens):95:114 -> a
+    8:27:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):83 -> a
+    28:28:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):0:0 -> a
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":52,"2":53,"3":54}}
+    52:52:java.lang.Object com.android.tools.r8.cf.code.CfInvokeDynamic.decodeBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.naming.NamingLens):114:114 -> a
+    52:52:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):83 -> a
+    53:53:java.lang.Object com.android.tools.r8.cf.code.CfInvokeDynamic.decodeBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.naming.NamingLens):114:114 -> a
+    53:53:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):83 -> a
+    54:54:java.lang.Object com.android.tools.r8.cf.code.CfInvokeDynamic.decodeBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.naming.NamingLens):114:114 -> a
+    54:54:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):83 -> a
+    29:29:java.lang.Object com.android.tools.r8.cf.code.CfInvokeDynamic.decodeBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.naming.NamingLens):115:115 -> a
+    29:29:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):83 -> a
+    30:30:java.lang.Object com.android.tools.r8.cf.code.CfInvokeDynamic.decodeBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.naming.NamingLens):112:112 -> a
+    30:30:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):83 -> a
+    31:32:java.lang.Object com.android.tools.r8.cf.code.CfInvokeDynamic.decodeBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.naming.NamingLens):109:110 -> a
+    31:32:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):83 -> a
+    33:35:java.lang.Object com.android.tools.r8.cf.code.CfInvokeDynamic.decodeBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.naming.NamingLens):105:107 -> a
+    33:35:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):83 -> a
+    36:42:java.lang.Object com.android.tools.r8.cf.code.CfInvokeDynamic.decodeBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.naming.NamingLens):97:103 -> a
+    36:42:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):83 -> a
+    43:43:java.lang.Object com.android.tools.r8.cf.code.CfInvokeDynamic.decodeBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.naming.NamingLens):101:101 -> a
+    43:43:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):83 -> a
+    44:50:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):83:89 -> a
+    51:51:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):87:87 -> a
+    55:55:void print(com.android.tools.r8.cf.CfPrinter):121:121 -> a
+    56:56:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):131:131 -> a
+    57:59:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):141:143 -> a
+    60:62:int[] com.android.tools.r8.ir.conversion.CfState.popReverse(int):193:195 -> a
+    60:62:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):143 -> a
+    63:72:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):143:152 -> a
+    73:73:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forInvokeCustom():168:168 -> a
+    73:73:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):159 -> a
+    74:75:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):171:172 -> a
+    76:76:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):167:167 -> a
+    76:76:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):173 -> a
     com.android.tools.r8.cf.code.CfInvokeDynamic asInvokeDynamic() -> j
     boolean canThrow() -> q
     int getCompareToId() -> s
-com.android.tools.r8.cf.code.CfJsrRet -> com.android.tools.r8.internal.G7:
+com.android.tools.r8.cf.code.CfJsrRet -> com.android.tools.r8.internal.H7:
     int local -> b
     1:2:void <init>(int):36:37 -> <init>
     1:1:int getLocal():93:93 -> F
@@ -6974,7 +6979,7 @@
     2:2:int getCompareToId():42 -> s
     3:3:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30:30 -> s
     3:3:int getCompareToId():42 -> s
-com.android.tools.r8.cf.code.CfLabel -> com.android.tools.r8.internal.H7:
+com.android.tools.r8.cf.code.CfLabel -> com.android.tools.r8.internal.I7:
     com.android.tools.r8.org.objectweb.asm.Label label -> b
     1:3:void <init>():26:28 -> <init>
     1:4:com.android.tools.r8.org.objectweb.asm.Label getLabel():31:34 -> F
@@ -6990,7 +6995,7 @@
     com.android.tools.r8.cf.code.CfLabel asLabel() -> k
     boolean emitsIR() -> r
     int getCompareToId() -> s
-com.android.tools.r8.cf.code.CfLoad -> com.android.tools.r8.internal.N7:
+com.android.tools.r8.cf.code.CfLoad -> com.android.tools.r8.internal.O7:
     com.android.tools.r8.ir.code.ValueType type -> c
     int var -> b
     1:3:void <init>(com.android.tools.r8.ir.code.ValueType,int):34:36 -> <init>
@@ -7035,10 +7040,10 @@
     18:18:int getCompareToId():41 -> s
     15:15:int com.android.tools.r8.cf.code.CfLoad.getLoadType():63:63 -> s
     15:15:int getCompareToId():41 -> s
-com.android.tools.r8.cf.code.CfLoad$1 -> com.android.tools.r8.internal.M7:
+com.android.tools.r8.cf.code.CfLoad$1 -> com.android.tools.r8.internal.N7:
     int[] $SwitchMap$com$android$tools$r8$ir$code$ValueType -> a
     1:1:void <clinit>():51:51 -> <clinit>
-com.android.tools.r8.cf.code.CfLogicalBinop -> com.android.tools.r8.internal.P7:
+com.android.tools.r8.cf.code.CfLogicalBinop -> com.android.tools.r8.internal.Q7:
     com.android.tools.r8.ir.code.NumericType type -> c
     com.android.tools.r8.cf.code.CfLogicalBinop$Opcode opcode -> b
     boolean $assertionsDisabled -> d
@@ -7046,10 +7051,10 @@
     1:6:void <init>(com.android.tools.r8.cf.code.CfLogicalBinop$Opcode,com.android.tools.r8.ir.code.NumericType):44:49 -> <init>
     1:15:int getAsmOpcode():103:117 -> F
     16:16:int getAsmOpcode():0:0 -> F
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":151,"2":152,"3":153}}
-    151:151:int getAsmOpcode():117:117 -> F
-    152:152:int getAsmOpcode():117:117 -> F
-    153:153:int getAsmOpcode():117:117 -> F
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":140,"2":141,"3":142}}
+    140:140:int getAsmOpcode():117:117 -> F
+    141:141:int getAsmOpcode():117:117 -> F
+    142:142:int getAsmOpcode():117:117 -> F
     133:133:int getAsmOpcode():117:117 -> F
     134:134:int getAsmOpcode():115:115 -> F
     135:135:int getAsmOpcode():113:113 -> F
@@ -7078,11 +7083,11 @@
     198:198:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):149:149 -> a
     199:199:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):146:146 -> a
     220:220:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):183:183 -> a
-    221:221:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.fromNumericType(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.graph.DexItemFactory):138:138 -> a
+    221:221:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.fromNumericType(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.graph.DexItemFactory):156:156 -> a
     221:221:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):183 -> a
     222:231:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):185:194 -> a
     1:1:int getCompareToId():54:54 -> s
-com.android.tools.r8.cf.code.CfLogicalBinop$Opcode -> com.android.tools.r8.internal.O7:
+com.android.tools.r8.cf.code.CfLogicalBinop$Opcode -> com.android.tools.r8.internal.P7:
     com.android.tools.r8.cf.code.CfLogicalBinop$Opcode[] $VALUES -> h
     com.android.tools.r8.cf.code.CfLogicalBinop$Opcode Ushr -> d
     com.android.tools.r8.cf.code.CfLogicalBinop$Opcode And -> e
@@ -7093,7 +7098,7 @@
     1:6:void <clinit>():33:38 -> <clinit>
     7:7:void <clinit>():32:32 -> <clinit>
     1:1:void <init>(java.lang.String,int):32:32 -> <init>
-com.android.tools.r8.cf.code.CfMonitor -> com.android.tools.r8.internal.Q7:
+com.android.tools.r8.cf.code.CfMonitor -> com.android.tools.r8.internal.R7:
     com.android.tools.r8.ir.code.Monitor$Type type -> b
     1:2:void <init>(com.android.tools.r8.ir.code.Monitor$Type):33:34 -> <init>
     1:1:com.android.tools.r8.ir.code.Monitor$Type getType():38:38 -> F
@@ -7115,7 +7120,7 @@
     boolean canThrow() -> q
     1:1:int com.android.tools.r8.cf.code.CfMonitor.getAsmOpcode():66:66 -> s
     1:1:int getCompareToId():43 -> s
-com.android.tools.r8.cf.code.CfMultiANewArray -> com.android.tools.r8.internal.R7:
+com.android.tools.r8.cf.code.CfMultiANewArray -> com.android.tools.r8.internal.S7:
     com.android.tools.r8.graph.DexType type -> b
     int dimensions -> c
     boolean $assertionsDisabled -> d
@@ -7145,7 +7150,7 @@
     com.android.tools.r8.cf.code.CfTypeInstruction asTypeInstruction() -> p
     boolean canThrow() -> q
     int getCompareToId() -> s
-com.android.tools.r8.cf.code.CfNeg -> com.android.tools.r8.internal.T7:
+com.android.tools.r8.cf.code.CfNeg -> com.android.tools.r8.internal.U7:
     com.android.tools.r8.ir.code.NumericType type -> b
     1:2:void <init>(com.android.tools.r8.ir.code.NumericType):34:35 -> <init>
     1:14:int getAsmOpcode():72:85 -> F
@@ -7161,16 +7166,16 @@
     3:3:void print(com.android.tools.r8.cf.CfPrinter):68:68 -> a
     4:5:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):106:107 -> a
     6:6:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):125:125 -> a
-    7:7:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.fromNumericType(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.graph.DexItemFactory):138:138 -> a
+    7:7:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.fromNumericType(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.graph.DexItemFactory):156:156 -> a
     7:7:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):125 -> a
     8:8:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):126:126 -> a
     9:9:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forUnop():339:339 -> a
     9:9:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):113 -> a
     1:1:int getCompareToId():44:44 -> s
-com.android.tools.r8.cf.code.CfNeg$1 -> com.android.tools.r8.internal.S7:
+com.android.tools.r8.cf.code.CfNeg$1 -> com.android.tools.r8.internal.T7:
     int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> a
     1:1:void <clinit>():72:72 -> <clinit>
-com.android.tools.r8.cf.code.CfNew -> com.android.tools.r8.internal.U7:
+com.android.tools.r8.cf.code.CfNew -> com.android.tools.r8.internal.V7:
     com.android.tools.r8.graph.DexType type -> b
     1:2:void <init>(com.android.tools.r8.graph.DexType):34:35 -> <init>
     boolean isTypeInstruction() -> E
@@ -7190,7 +7195,7 @@
     com.android.tools.r8.cf.code.CfTypeInstruction asTypeInstruction() -> p
     boolean canThrow() -> q
     int getCompareToId() -> s
-com.android.tools.r8.cf.code.CfNewArray -> com.android.tools.r8.internal.V7:
+com.android.tools.r8.cf.code.CfNewArray -> com.android.tools.r8.internal.W7:
     com.android.tools.r8.graph.DexType type -> b
     boolean $assertionsDisabled -> c
     1:1:void <clinit>():32:32 -> <clinit>
@@ -7234,7 +7239,7 @@
     com.android.tools.r8.cf.code.CfTypeInstruction asTypeInstruction() -> p
     boolean canThrow() -> q
     1:1:int getCompareToId():63:63 -> s
-com.android.tools.r8.cf.code.CfNewUnboxedEnum -> com.android.tools.r8.internal.W7:
+com.android.tools.r8.cf.code.CfNewUnboxedEnum -> com.android.tools.r8.internal.X7:
     com.android.tools.r8.graph.DexType type -> b
     int ordinal -> c
     1:3:void <init>(com.android.tools.r8.graph.DexType,int):37:39 -> <init>
@@ -7256,7 +7261,7 @@
     com.android.tools.r8.cf.code.CfTypeInstruction asTypeInstruction() -> p
     boolean canThrow() -> q
     int getCompareToId() -> s
-com.android.tools.r8.cf.code.CfNop -> com.android.tools.r8.internal.X7:
+com.android.tools.r8.cf.code.CfNop -> com.android.tools.r8.internal.Y7:
     1:1:void <init>():26:26 -> <init>
     void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens) -> a
     1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):36:36 -> a
@@ -7266,7 +7271,7 @@
     5:5:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):70:70 -> a
     boolean emitsIR() -> r
     int getCompareToId() -> s
-com.android.tools.r8.cf.code.CfNumberConversion -> com.android.tools.r8.internal.Z7:
+com.android.tools.r8.cf.code.CfNumberConversion -> com.android.tools.r8.internal.a8:
     com.android.tools.r8.ir.code.NumericType to -> c
     com.android.tools.r8.ir.code.NumericType from -> b
     boolean $assertionsDisabled -> d
@@ -7274,37 +7279,37 @@
     1:7:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.NumericType):35:41 -> <init>
     1:53:int getAsmOpcode():82:134 -> F
     54:54:int getAsmOpcode():0:0 -> F
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":741,"2":742,"3":743}}
-    741:741:int getAsmOpcode():134:134 -> F
-    742:742:int getAsmOpcode():134:134 -> F
-    743:743:int getAsmOpcode():134:134 -> F
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":717,"2":718,"3":719}}
+    717:717:int getAsmOpcode():134:134 -> F
+    718:718:int getAsmOpcode():134:134 -> F
+    719:719:int getAsmOpcode():134:134 -> F
     188:188:int getAsmOpcode():134:134 -> F
     189:203:int getAsmOpcode():84:98 -> F
     204:204:int getAsmOpcode():0:0 -> F
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":744,"2":745,"3":746}}
-    744:744:int getAsmOpcode():98:98 -> F
-    745:745:int getAsmOpcode():98:98 -> F
-    746:746:int getAsmOpcode():98:98 -> F
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":717,"2":718,"3":719}}
+    717:717:int getAsmOpcode():98:98 -> F
+    718:718:int getAsmOpcode():98:98 -> F
+    719:719:int getAsmOpcode():98:98 -> F
     302:335:int getAsmOpcode():98:131 -> F
     336:336:int getAsmOpcode():0:0 -> F
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":779,"2":780,"3":781}}
-    779:779:int getAsmOpcode():131:131 -> F
-    780:780:int getAsmOpcode():131:131 -> F
-    781:781:int getAsmOpcode():131:131 -> F
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":717,"2":718,"3":719}}
+    717:717:int getAsmOpcode():131:131 -> F
+    718:718:int getAsmOpcode():131:131 -> F
+    719:719:int getAsmOpcode():131:131 -> F
     467:467:int getAsmOpcode():131:131 -> F
     468:476:int getAsmOpcode():112:120 -> F
     477:477:int getAsmOpcode():0:0 -> F
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":782,"2":783,"3":784}}
-    782:782:int getAsmOpcode():120:120 -> F
-    783:783:int getAsmOpcode():120:120 -> F
-    784:784:int getAsmOpcode():120:120 -> F
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":717,"2":718,"3":719}}
+    717:717:int getAsmOpcode():120:120 -> F
+    718:718:int getAsmOpcode():120:120 -> F
+    719:719:int getAsmOpcode():120:120 -> F
     597:597:int getAsmOpcode():120:120 -> F
     598:606:int getAsmOpcode():101:109 -> F
     607:607:int getAsmOpcode():0:0 -> F
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":785,"2":786,"3":787}}
-    785:785:int getAsmOpcode():109:109 -> F
-    786:786:int getAsmOpcode():109:109 -> F
-    787:787:int getAsmOpcode():109:109 -> F
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":717,"2":718,"3":719}}
+    717:717:int getAsmOpcode():109:109 -> F
+    718:718:int getAsmOpcode():109:109 -> F
+    719:719:int getAsmOpcode():109:109 -> F
     716:716:int getAsmOpcode():109:109 -> F
     1:1:com.android.tools.r8.ir.code.NumericType getFromType():56:56 -> G
     1:1:com.android.tools.r8.ir.code.NumericType getToType():60:60 -> H
@@ -7313,19 +7318,19 @@
     3:3:void print(com.android.tools.r8.cf.CfPrinter):78:78 -> a
     4:5:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):177:178 -> a
     6:6:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):196:196 -> a
-    7:7:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.fromNumericType(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.graph.DexItemFactory):138:138 -> a
+    7:7:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.fromNumericType(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.graph.DexItemFactory):156:156 -> a
     7:7:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):197 -> a
     8:8:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):197:197 -> a
-    9:9:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.fromNumericType(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.graph.DexItemFactory):138:138 -> a
+    9:9:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.fromNumericType(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.graph.DexItemFactory):156:156 -> a
     9:9:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):198 -> a
     10:10:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):198:198 -> a
     11:11:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forUnop():339:339 -> a
     11:11:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):184 -> a
     1:1:int getCompareToId():46:46 -> s
-com.android.tools.r8.cf.code.CfNumberConversion$1 -> com.android.tools.r8.internal.Y7:
+com.android.tools.r8.cf.code.CfNumberConversion$1 -> com.android.tools.r8.internal.Z7:
     int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> a
     1:1:void <clinit>():84:84 -> <clinit>
-com.android.tools.r8.cf.code.CfPosition -> com.android.tools.r8.internal.d8:
+com.android.tools.r8.cf.code.CfPosition -> com.android.tools.r8.internal.e8:
     com.android.tools.r8.cf.code.CfLabel label -> b
     com.android.tools.r8.ir.code.Position position -> c
     1:3:void <init>(com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.ir.code.Position):31:33 -> <init>
@@ -7346,7 +7351,7 @@
     com.android.tools.r8.cf.code.CfPosition asPosition() -> m
     boolean emitsIR() -> r
     int getCompareToId() -> s
-com.android.tools.r8.cf.code.CfRecordFieldValues -> com.android.tools.r8.internal.o8:
+com.android.tools.r8.cf.code.CfRecordFieldValues -> com.android.tools.r8.internal.p8:
     com.android.tools.r8.graph.DexField[] fields -> b
     1:2:void <init>(com.android.tools.r8.graph.DexField[]):35:36 -> <init>
     1:1:com.android.tools.r8.graph.DexField[] getFields():67:67 -> F
@@ -7379,7 +7384,7 @@
     39:39:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):103 -> a
     com.android.tools.r8.cf.code.CfRecordFieldValues asRecordFieldValues() -> n
     int getCompareToId() -> s
-com.android.tools.r8.cf.code.CfReturn -> com.android.tools.r8.internal.s8:
+com.android.tools.r8.cf.code.CfReturn -> com.android.tools.r8.internal.t8:
     com.android.tools.r8.ir.code.ValueType type -> b
     boolean $assertionsDisabled -> c
     1:1:void <clinit>():29:29 -> <clinit>
@@ -7417,10 +7422,10 @@
     18:18:int getCompareToId():43 -> s
     15:15:int com.android.tools.r8.cf.code.CfReturn.getOpcode():65:65 -> s
     15:15:int getCompareToId():43 -> s
-com.android.tools.r8.cf.code.CfReturn$1 -> com.android.tools.r8.internal.r8:
+com.android.tools.r8.cf.code.CfReturn$1 -> com.android.tools.r8.internal.s8:
     int[] $SwitchMap$com$android$tools$r8$ir$code$ValueType -> a
     1:1:void <clinit>():53:53 -> <clinit>
-com.android.tools.r8.cf.code.CfReturnVoid -> com.android.tools.r8.internal.t8:
+com.android.tools.r8.cf.code.CfReturnVoid -> com.android.tools.r8.internal.u8:
     1:1:void <init>():26:26 -> <init>
     boolean isJump() -> C
     boolean isReturn() -> D
@@ -7432,11 +7437,11 @@
     6:6:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forReturn():315:315 -> a
     6:6:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):80 -> a
     int getCompareToId() -> s
-com.android.tools.r8.cf.code.CfSafeCheckCast -> com.android.tools.r8.internal.u8:
+com.android.tools.r8.cf.code.CfSafeCheckCast -> com.android.tools.r8.internal.v8:
     1:1:void <init>(com.android.tools.r8.graph.DexType):17:17 -> <init>
     1:1:void addCheckCast(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState$Slot):22:22 -> a
     2:2:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):28:28 -> a
-com.android.tools.r8.cf.code.CfStackInstruction -> com.android.tools.r8.internal.C8:
+com.android.tools.r8.cf.code.CfStackInstruction -> com.android.tools.r8.internal.D8:
     com.android.tools.r8.cf.code.CfStackInstruction$Opcode opcode -> b
     boolean $assertionsDisabled -> c
     1:1:void <clinit>():31:31 -> <clinit>
@@ -7698,10 +7703,10 @@
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     boolean emitsIR() -> r
     1:1:int getCompareToId():88:88 -> s
-com.android.tools.r8.cf.code.CfStackInstruction$1 -> com.android.tools.r8.internal.B8:
+com.android.tools.r8.cf.code.CfStackInstruction$1 -> com.android.tools.r8.internal.C8:
     int[] $SwitchMap$com$android$tools$r8$cf$code$CfStackInstruction$Opcode -> a
     1:1:void <clinit>():121:121 -> <clinit>
-com.android.tools.r8.cf.code.CfStackInstruction$Opcode -> com.android.tools.r8.internal.C8$a:
+com.android.tools.r8.cf.code.CfStackInstruction$Opcode -> com.android.tools.r8.internal.D8$a:
     com.android.tools.r8.cf.code.CfStackInstruction$Opcode Dup2X2 -> j
     com.android.tools.r8.cf.code.CfStackInstruction$Opcode Dup2X1 -> i
     com.android.tools.r8.cf.code.CfStackInstruction$Opcode[] $VALUES -> l
@@ -7718,15 +7723,15 @@
     1:2:void <init>(java.lang.String,int,int):46:47 -> <init>
     1:1:int access$000(com.android.tools.r8.cf.code.CfStackInstruction$Opcode):33:33 -> a
     2:2:com.android.tools.r8.cf.code.CfStackInstruction$Opcode[] values():33:33 -> a
-com.android.tools.r8.cf.code.CfStaticFieldRead -> com.android.tools.r8.internal.O8:
+com.android.tools.r8.cf.code.CfStaticFieldRead -> com.android.tools.r8.internal.P8:
     1:1:void <init>(com.android.tools.r8.graph.DexField):17:17 -> <init>
     2:2:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):21:21 -> <init>
     1:1:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):27:27 -> a
-com.android.tools.r8.cf.code.CfStaticFieldWrite -> com.android.tools.r8.internal.P8:
+com.android.tools.r8.cf.code.CfStaticFieldWrite -> com.android.tools.r8.internal.Q8:
     1:1:void <init>(com.android.tools.r8.graph.DexField):16:16 -> <init>
     2:2:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):20:20 -> <init>
     1:1:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):26:26 -> a
-com.android.tools.r8.cf.code.CfStore -> com.android.tools.r8.internal.R8:
+com.android.tools.r8.cf.code.CfStore -> com.android.tools.r8.internal.S8:
     com.android.tools.r8.ir.code.ValueType type -> c
     int var -> b
     1:3:void <init>(com.android.tools.r8.ir.code.ValueType,int):37:39 -> <init>
@@ -7779,10 +7784,10 @@
     18:18:int getCompareToId():44 -> s
     15:15:int com.android.tools.r8.cf.code.CfStore.getStoreType():66:66 -> s
     15:15:int getCompareToId():44 -> s
-com.android.tools.r8.cf.code.CfStore$1 -> com.android.tools.r8.internal.Q8:
+com.android.tools.r8.cf.code.CfStore$1 -> com.android.tools.r8.internal.R8:
     int[] $SwitchMap$com$android$tools$r8$ir$code$ValueType -> a
     1:1:void <clinit>():54:54 -> <clinit>
-com.android.tools.r8.cf.code.CfSwitch -> com.android.tools.r8.internal.T8:
+com.android.tools.r8.cf.code.CfSwitch -> com.android.tools.r8.internal.U8:
     java.util.List targets -> e
     int[] keys -> d
     com.android.tools.r8.cf.code.CfSwitch$Kind kind -> b
@@ -7810,17 +7815,17 @@
     35:35:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forJumpInstruction():267:267 -> a
     35:35:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):141 -> a
     1:1:int getCompareToId():50:50 -> s
-com.android.tools.r8.cf.code.CfSwitch$1 -> com.android.tools.r8.internal.S8:
+com.android.tools.r8.cf.code.CfSwitch$1 -> com.android.tools.r8.internal.T8:
     int[] $SwitchMap$com$android$tools$r8$cf$code$CfSwitch$Kind -> a
     1:1:void <clinit>():111:111 -> <clinit>
-com.android.tools.r8.cf.code.CfSwitch$Kind -> com.android.tools.r8.internal.T8$a:
+com.android.tools.r8.cf.code.CfSwitch$Kind -> com.android.tools.r8.internal.U8$a:
     com.android.tools.r8.cf.code.CfSwitch$Kind TABLE -> c
     com.android.tools.r8.cf.code.CfSwitch$Kind[] $VALUES -> d
     com.android.tools.r8.cf.code.CfSwitch$Kind LOOKUP -> b
     1:1:void <clinit>():32:32 -> <clinit>
     1:1:void <init>(java.lang.String,int):32:32 -> <init>
     1:1:com.android.tools.r8.cf.code.CfSwitch$Kind[] values():32:32 -> a
-com.android.tools.r8.cf.code.CfThrow -> com.android.tools.r8.internal.U8:
+com.android.tools.r8.cf.code.CfThrow -> com.android.tools.r8.internal.V8:
     1:1:void <init>():27:27 -> <init>
     boolean isJump() -> C
     1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):42:42 -> a
@@ -7832,7 +7837,7 @@
     9:9:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):87 -> a
     boolean canThrow() -> q
     int getCompareToId() -> s
-com.android.tools.r8.cf.code.CfTryCatch -> com.android.tools.r8.internal.V8:
+com.android.tools.r8.cf.code.CfTryCatch -> com.android.tools.r8.internal.W8:
     com.android.tools.r8.cf.code.CfLabel start -> a
     com.android.tools.r8.cf.code.CfLabel end -> b
     java.util.List targets -> d
@@ -7857,7 +7862,7 @@
     1:1:com.android.tools.r8.cf.code.CfLabel lambda$acceptCompareTo$1(com.android.tools.r8.cf.code.CfTryCatch):57:57 -> b
     1:1:java.util.Collection lambda$acceptCompareTo$2(com.android.tools.r8.cf.code.CfTryCatch):58:58 -> c
     1:1:java.util.Collection lambda$acceptCompareTo$3(com.android.tools.r8.cf.code.CfTryCatch):59:59 -> d
-com.android.tools.r8.cf.code.CfTypeInstruction -> com.android.tools.r8.internal.W8:
+com.android.tools.r8.cf.code.CfTypeInstruction -> com.android.tools.r8.internal.X8:
 com.android.tools.r8.code.AddDouble -> com.android.tools.r8.code.b:
     1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
     2:2:void <init>(int,int,int):19:19 -> <init>
@@ -8136,12 +8141,12 @@
     1:1:void <init>():10:10 -> <init>
     2:2:void <init>(com.android.tools.r8.code.BytecodeStream):13:13 -> <init>
     int getSize() -> x
-com.android.tools.r8.code.BytecodeStream -> com.android.tools.r8.internal.j6:
-com.android.tools.r8.code.CfOrDexInstanceFieldRead -> com.android.tools.r8.internal.a8:
-com.android.tools.r8.code.CfOrDexInstruction -> com.android.tools.r8.internal.b8:
+com.android.tools.r8.code.BytecodeStream -> com.android.tools.r8.internal.k6:
+com.android.tools.r8.code.CfOrDexInstanceFieldRead -> com.android.tools.r8.internal.b8:
+com.android.tools.r8.code.CfOrDexInstruction -> com.android.tools.r8.internal.c8:
     com.android.tools.r8.cf.code.CfInstruction asCfInstruction() -> b
     com.android.tools.r8.code.Instruction asDexInstruction() -> c
-com.android.tools.r8.code.CfOrDexStaticFieldRead -> com.android.tools.r8.internal.c8:
+com.android.tools.r8.code.CfOrDexStaticFieldRead -> com.android.tools.r8.internal.d8:
 com.android.tools.r8.code.CheckCast -> com.android.tools.r8.code.K:
     boolean ignoreCompatRules -> i
     1:2:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):27:28 -> <init>
@@ -12587,10 +12592,10 @@
     1:1:void <init>():34:34 -> <init>
     1:1:java.lang.Object or(java.lang.Object):48:48 -> a
     1:1:java.lang.String toString():91:91 -> toString
-com.android.tools.r8.com.google.common.base.CharMatcher -> com.android.tools.r8.internal.g9:
+com.android.tools.r8.com.google.common.base.CharMatcher -> com.android.tools.r8.internal.h9:
     1:1:void <init>():359:359 -> <init>
     boolean matches(char) -> a
-com.android.tools.r8.com.google.common.base.CharMatcher$Any -> com.android.tools.r8.internal.d9:
+com.android.tools.r8.com.google.common.base.CharMatcher$Any -> com.android.tools.r8.internal.e9:
     com.android.tools.r8.com.google.common.base.CharMatcher$Any INSTANCE -> c
     1:1:void <clinit>():1011:1011 -> <clinit>
     1:1:void <init>():1014:1014 -> <init>
@@ -12598,7 +12603,7 @@
     1:1:com.android.tools.r8.com.google.common.base.CharMatcher com.android.tools.r8.com.google.common.base.CharMatcher.none():127:127 -> negate
     1:1:com.android.tools.r8.com.google.common.base.CharMatcher com.android.tools.r8.com.google.common.base.CharMatcher$Any.negate():1101 -> negate
     1:1:java.util.function.Predicate negate():1009 -> negate
-com.android.tools.r8.com.google.common.base.CharMatcher$NamedFastMatcher -> com.android.tools.r8.internal.e9:
+com.android.tools.r8.com.google.common.base.CharMatcher$NamedFastMatcher -> com.android.tools.r8.internal.f9:
     java.lang.String description -> b
     1:1:void com.android.tools.r8.com.google.common.base.CharMatcher$FastMatcher.<init>():939:939 -> <init>
     1:1:void <init>(java.lang.String):957 -> <init>
@@ -12611,7 +12616,7 @@
     2:2:boolean com.android.tools.r8.com.google.common.base.CharMatcher$FastMatcher.apply(java.lang.Object):0 -> apply
       # {"id":"com.android.tools.r8.synthesized"}
     1:1:java.lang.String toString():963:963 -> toString
-com.android.tools.r8.com.google.common.base.CharMatcher$None -> com.android.tools.r8.internal.f9:
+com.android.tools.r8.com.google.common.base.CharMatcher$None -> com.android.tools.r8.internal.g9:
     com.android.tools.r8.com.google.common.base.CharMatcher$None INSTANCE -> c
     1:1:void <clinit>():1108:1108 -> <clinit>
     1:1:void <init>():1111:1111 -> <init>
@@ -12619,13 +12624,13 @@
     1:1:com.android.tools.r8.com.google.common.base.CharMatcher com.android.tools.r8.com.google.common.base.CharMatcher.any():118:118 -> negate
     1:1:com.android.tools.r8.com.google.common.base.CharMatcher com.android.tools.r8.com.google.common.base.CharMatcher$None.negate():1204 -> negate
     1:1:java.util.function.Predicate negate():1106 -> negate
-com.android.tools.r8.com.google.common.base.Charsets -> com.android.tools.r8.internal.n9:
+com.android.tools.r8.com.google.common.base.Charsets -> com.android.tools.r8.internal.o9:
     java.nio.charset.Charset UTF_8 -> a
     1:50:void <clinit>():45:94 -> <clinit>
-com.android.tools.r8.com.google.common.base.CommonPattern -> com.android.tools.r8.internal.sc:
+com.android.tools.r8.com.google.common.base.CommonPattern -> com.android.tools.r8.internal.tc:
     1:1:void <init>():25:25 -> <init>
     com.android.tools.r8.com.google.common.base.CommonMatcher matcher(java.lang.CharSequence) -> a
-com.android.tools.r8.com.google.common.base.Equivalence -> com.android.tools.r8.internal.Xi:
+com.android.tools.r8.com.google.common.base.Equivalence -> com.android.tools.r8.internal.Zi:
     1:1:void <init>():39:39 -> <init>
     boolean doEquivalent(java.lang.Object,java.lang.Object) -> a
     int doHash(java.lang.Object) -> a
@@ -12633,8 +12638,8 @@
     2:2:int hash(java.lang.Object):112:112 -> b
     1:1:com.android.tools.r8.com.google.common.base.Equivalence$Wrapper wrap(java.lang.Object):162:162 -> c
     1:1:boolean test(java.lang.Object,java.lang.Object):76:76 -> test
-com.android.tools.r8.com.google.common.base.Equivalence$1 -> com.android.tools.r8.internal.Vi:
-com.android.tools.r8.com.google.common.base.Equivalence$Wrapper -> com.android.tools.r8.internal.Wi:
+com.android.tools.r8.com.google.common.base.Equivalence$1 -> com.android.tools.r8.internal.Xi:
+com.android.tools.r8.com.google.common.base.Equivalence$Wrapper -> com.android.tools.r8.internal.Yi:
     com.android.tools.r8.com.google.common.base.Equivalence equivalence -> b
     java.lang.Object reference -> c
     1:1:void <init>(com.android.tools.r8.com.google.common.base.Equivalence,java.lang.Object,com.android.tools.r8.com.google.common.base.Equivalence$1):185:185 -> <init>
@@ -12643,27 +12648,27 @@
     1:11:boolean equals(java.lang.Object):209:219 -> equals
     1:1:int hashCode():228:228 -> hashCode
     1:1:java.lang.String toString():237:237 -> toString
-com.android.tools.r8.com.google.common.base.Function -> com.android.tools.r8.internal.Bl:
-com.android.tools.r8.com.google.common.base.Java8Usage -> com.android.tools.r8.internal.tv:
+com.android.tools.r8.com.google.common.base.Function -> com.android.tools.r8.internal.Dl:
+com.android.tools.r8.com.google.common.base.Java8Usage -> com.android.tools.r8.internal.vv:
     void lambda$performCheck$0() -> a
     1:2:java.lang.String performCheck():39:40 -> b
-com.android.tools.r8.com.google.common.base.JdkPattern -> com.android.tools.r8.internal.Cv:
+com.android.tools.r8.com.google.common.base.JdkPattern -> com.android.tools.r8.internal.Ev:
     java.util.regex.Pattern pattern -> b
     1:2:void <init>(java.util.regex.Pattern):27:28 -> <init>
     1:1:com.android.tools.r8.com.google.common.base.CommonMatcher matcher(java.lang.CharSequence):33:33 -> a
     1:1:java.lang.String toString():48:48 -> toString
-com.android.tools.r8.com.google.common.base.JdkPattern$JdkMatcher -> com.android.tools.r8.internal.Bv:
+com.android.tools.r8.com.google.common.base.JdkPattern$JdkMatcher -> com.android.tools.r8.internal.Dv:
     java.util.regex.Matcher matcher -> a
     1:1:void com.android.tools.r8.com.google.common.base.CommonMatcher.<init>():25:25 -> <init>
     1:1:void <init>(java.util.regex.Matcher):54 -> <init>
     2:2:void <init>(java.util.regex.Matcher):55:55 -> <init>
-com.android.tools.r8.com.google.common.base.Objects -> com.android.tools.r8.internal.EK:
+com.android.tools.r8.com.google.common.base.Objects -> com.android.tools.r8.internal.JK:
     1:1:boolean equal(java.lang.Object,java.lang.Object):52:52 -> a
-com.android.tools.r8.com.google.common.base.Optional -> com.android.tools.r8.internal.VK:
+com.android.tools.r8.com.google.common.base.Optional -> com.android.tools.r8.internal.aL:
     1:1:void <init>():161:161 -> <init>
     java.lang.Object or(java.lang.Object) -> a
     1:1:com.android.tools.r8.com.google.common.base.Optional absent():93:93 -> a
-com.android.tools.r8.com.google.common.base.Platform -> com.android.tools.r8.internal.eM:
+com.android.tools.r8.com.google.common.base.Platform -> com.android.tools.r8.internal.jM:
     com.android.tools.r8.com.google.common.base.PatternCompiler patternCompiler -> a
     1:1:void <clinit>():33:33 -> <clinit>
     2:2:com.android.tools.r8.com.google.common.base.PatternCompiler com.android.tools.r8.com.google.common.base.Platform.loadPatternCompiler():91:91 -> <clinit>
@@ -12672,11 +12677,11 @@
     1:2:com.android.tools.r8.com.google.common.base.CommonPattern compilePattern(java.lang.String):82:83 -> a
     3:3:com.android.tools.r8.com.google.common.base.CommonPattern com.android.tools.r8.com.google.common.base.Platform$JdkPatternCompiler.compile(java.lang.String):101:101 -> a
     3:3:com.android.tools.r8.com.google.common.base.CommonPattern compilePattern(java.lang.String):83 -> a
-com.android.tools.r8.com.google.common.base.Platform$1 -> com.android.tools.r8.internal.bM:
-com.android.tools.r8.com.google.common.base.Platform$JdkPatternCompiler -> com.android.tools.r8.internal.cM:
+com.android.tools.r8.com.google.common.base.Platform$1 -> com.android.tools.r8.internal.gM:
+com.android.tools.r8.com.google.common.base.Platform$JdkPatternCompiler -> com.android.tools.r8.internal.hM:
     1:1:void <init>():98:98 -> <init>
     2:2:void <init>(com.android.tools.r8.com.google.common.base.Platform$1):98:98 -> <init>
-com.android.tools.r8.com.google.common.base.Preconditions -> com.android.tools.r8.internal.tM:
+com.android.tools.r8.com.google.common.base.Preconditions -> com.android.tools.r8.internal.yM:
     int $r8$clinit -> a
     1:9:void <clinit>():1439:1447 -> <clinit>
     1:1:void checkArgument(boolean):130:130 -> a
@@ -12713,9 +12718,9 @@
     2:2:int checkPositionIndex(int,int):1374:1374 -> b
     3:3:int com.android.tools.r8.com.google.common.base.Preconditions.checkPositionIndex(int,int,java.lang.String):1392:1392 -> b
     3:3:int checkPositionIndex(int,int):1374 -> b
-com.android.tools.r8.com.google.common.base.Predicate -> com.android.tools.r8.internal.uM:
+com.android.tools.r8.com.google.common.base.Predicate -> com.android.tools.r8.internal.zM:
     1:1:boolean test(java.lang.Object):79:79 -> test
-com.android.tools.r8.com.google.common.base.Predicates -> com.android.tools.r8.internal.FM:
+com.android.tools.r8.com.google.common.base.Predicates -> com.android.tools.r8.internal.KM:
     1:1:com.android.tools.r8.com.google.common.base.Predicate alwaysFalse():57:57 -> a
     2:2:com.android.tools.r8.com.google.common.base.Predicate not(com.android.tools.r8.com.google.common.base.Predicate):83:83 -> a
     3:3:com.android.tools.r8.com.google.common.base.Predicate or(com.android.tools.r8.com.google.common.base.Predicate,com.android.tools.r8.com.google.common.base.Predicate):147:147 -> a
@@ -12725,15 +12730,15 @@
     6:6:com.android.tools.r8.com.google.common.base.Predicate or(com.android.tools.r8.com.google.common.base.Predicate,com.android.tools.r8.com.google.common.base.Predicate):147 -> a
     7:7:com.android.tools.r8.com.google.common.base.Predicate or(com.android.tools.r8.com.google.common.base.Predicate,com.android.tools.r8.com.google.common.base.Predicate):147:147 -> a
     1:1:com.android.tools.r8.com.google.common.base.Predicate alwaysTrue():51:51 -> b
-com.android.tools.r8.com.google.common.base.Predicates$1 -> com.android.tools.r8.internal.xM:
-com.android.tools.r8.com.google.common.base.Predicates$NotPredicate -> com.android.tools.r8.internal.yM:
+com.android.tools.r8.com.google.common.base.Predicates$1 -> com.android.tools.r8.internal.CM:
+com.android.tools.r8.com.google.common.base.Predicates$NotPredicate -> com.android.tools.r8.internal.DM:
     com.android.tools.r8.com.google.common.base.Predicate predicate -> b
     1:2:void <init>(com.android.tools.r8.com.google.common.base.Predicate):310:311 -> <init>
     1:1:boolean apply(java.lang.Object):316:316 -> apply
     1:3:boolean equals(java.lang.Object):326:328 -> equals
     1:1:int hashCode():321:321 -> hashCode
     1:1:java.lang.String toString():335:335 -> toString
-com.android.tools.r8.com.google.common.base.Predicates$ObjectPredicate -> com.android.tools.r8.internal.DM:
+com.android.tools.r8.com.google.common.base.Predicates$ObjectPredicate -> com.android.tools.r8.internal.IM:
     com.android.tools.r8.com.google.common.base.Predicates$ObjectPredicate IS_NULL -> d
     com.android.tools.r8.com.google.common.base.Predicates$ObjectPredicate NOT_NULL -> e
     com.android.tools.r8.com.google.common.base.Predicates$ObjectPredicate ALWAYS_TRUE -> b
@@ -12741,19 +12746,19 @@
     1:37:void <clinit>():252:288 -> <clinit>
     1:1:void <init>(java.lang.String,int):250:250 -> <init>
     2:2:void <init>(java.lang.String,int,com.android.tools.r8.com.google.common.base.Predicates$1):250:250 -> <init>
-com.android.tools.r8.com.google.common.base.Predicates$ObjectPredicate$1 -> com.android.tools.r8.internal.zM:
+com.android.tools.r8.com.google.common.base.Predicates$ObjectPredicate$1 -> com.android.tools.r8.internal.EM:
     1:1:void <init>(java.lang.String,int):252:252 -> <init>
     1:1:java.lang.String toString():260:260 -> toString
-com.android.tools.r8.com.google.common.base.Predicates$ObjectPredicate$2 -> com.android.tools.r8.internal.AM:
+com.android.tools.r8.com.google.common.base.Predicates$ObjectPredicate$2 -> com.android.tools.r8.internal.FM:
     1:1:void <init>(java.lang.String,int):264:264 -> <init>
     1:1:java.lang.String toString():272:272 -> toString
-com.android.tools.r8.com.google.common.base.Predicates$ObjectPredicate$3 -> com.android.tools.r8.internal.BM:
+com.android.tools.r8.com.google.common.base.Predicates$ObjectPredicate$3 -> com.android.tools.r8.internal.GM:
     1:1:void <init>(java.lang.String,int):276:276 -> <init>
     1:1:java.lang.String toString():284:284 -> toString
-com.android.tools.r8.com.google.common.base.Predicates$ObjectPredicate$4 -> com.android.tools.r8.internal.CM:
+com.android.tools.r8.com.google.common.base.Predicates$ObjectPredicate$4 -> com.android.tools.r8.internal.HM:
     1:1:void <init>(java.lang.String,int):288:288 -> <init>
     1:1:java.lang.String toString():296:296 -> toString
-com.android.tools.r8.com.google.common.base.Predicates$OrPredicate -> com.android.tools.r8.internal.EM:
+com.android.tools.r8.com.google.common.base.Predicates$OrPredicate -> com.android.tools.r8.internal.JM:
     java.util.List components -> b
     1:1:void <init>(java.util.List,com.android.tools.r8.com.google.common.base.Predicates$1):384:384 -> <init>
     2:3:void <init>(java.util.List):387:388 -> <init>
@@ -12764,7 +12769,7 @@
     2:11:java.lang.String com.android.tools.r8.com.google.common.base.Predicates.toStringHelper(java.lang.String,java.lang.Iterable):426:435 -> toString
     2:11:java.lang.String com.android.tools.r8.com.google.common.base.Predicates.access$800(java.lang.String,java.lang.Iterable):42 -> toString
     2:11:java.lang.String toString():419 -> toString
-com.android.tools.r8.com.google.common.base.Splitter -> com.android.tools.r8.internal.iW:
+com.android.tools.r8.com.google.common.base.Splitter -> com.android.tools.r8.internal.nW:
     1:1:void <init>(com.android.tools.r8.com.google.common.base.Splitter$Strategy,boolean,com.android.tools.r8.com.google.common.base.CharMatcher,int):112:112 -> <init>
     1:1:com.android.tools.r8.com.google.common.base.Splitter onPattern(java.lang.String):260:260 -> a
     2:2:com.android.tools.r8.com.google.common.base.Splitter com.android.tools.r8.com.google.common.base.Splitter.on(com.android.tools.r8.com.google.common.base.CommonPattern):222:222 -> a
@@ -12781,7 +12786,7 @@
     11:11:void com.android.tools.r8.com.google.common.base.Splitter.<init>(com.android.tools.r8.com.google.common.base.Splitter$Strategy):109:109 -> a
     11:11:com.android.tools.r8.com.google.common.base.Splitter com.android.tools.r8.com.google.common.base.Splitter.on(com.android.tools.r8.com.google.common.base.CommonPattern):226 -> a
     11:11:com.android.tools.r8.com.google.common.base.Splitter onPattern(java.lang.String):260 -> a
-com.android.tools.r8.com.google.common.base.Strings -> com.android.tools.r8.internal.VX:
+com.android.tools.r8.com.google.common.base.Strings -> com.android.tools.r8.internal.aY:
     1:5:java.lang.String repeat(java.lang.String,int):144:148 -> a
     6:6:void com.android.tools.r8.com.google.common.base.Preconditions.checkArgument(boolean,java.lang.String,int):192:192 -> a
     6:6:java.lang.String repeat(java.lang.String,int):147 -> a
@@ -12791,24 +12796,24 @@
     25:36:java.lang.String com.android.tools.r8.com.google.common.base.Strings.lenientToString(java.lang.Object):302:313 -> a
     25:36:java.lang.String lenientFormat(java.lang.String,java.lang.Object[]):267 -> a
     37:67:java.lang.String lenientFormat(java.lang.String,java.lang.Object[]):267:297 -> a
-com.android.tools.r8.com.google.common.base.Supplier -> com.android.tools.r8.internal.oY:
-com.android.tools.r8.com.google.common.base.Suppliers -> com.android.tools.r8.internal.sY:
+com.android.tools.r8.com.google.common.base.Supplier -> com.android.tools.r8.internal.tY:
+com.android.tools.r8.com.google.common.base.Suppliers -> com.android.tools.r8.internal.xY:
     1:7:com.android.tools.r8.com.google.common.base.Supplier memoize(com.android.tools.r8.com.google.common.base.Supplier):102:108 -> a
-com.android.tools.r8.com.google.common.base.Suppliers$MemoizingSupplier -> com.android.tools.r8.internal.qY:
+com.android.tools.r8.com.google.common.base.Suppliers$MemoizingSupplier -> com.android.tools.r8.internal.vY:
     java.lang.Object value -> d
     com.android.tools.r8.com.google.common.base.Supplier delegate -> b
     boolean initialized -> c
     1:2:void <init>(com.android.tools.r8.com.google.common.base.Supplier):119:120 -> <init>
     1:11:java.lang.Object get():126:136 -> get
     1:1:java.lang.String toString():142:142 -> toString
-com.android.tools.r8.com.google.common.base.Suppliers$NonSerializableMemoizingSupplier -> com.android.tools.r8.internal.rY:
+com.android.tools.r8.com.google.common.base.Suppliers$NonSerializableMemoizingSupplier -> com.android.tools.r8.internal.wY:
     java.lang.Object value -> d
     com.android.tools.r8.com.google.common.base.Supplier delegate -> b
     boolean initialized -> c
     1:2:void <init>(com.android.tools.r8.com.google.common.base.Supplier):157:158 -> <init>
     1:13:java.lang.Object get():164:176 -> get
     1:3:java.lang.String toString():181:183 -> toString
-com.android.tools.r8.com.google.common.base.Throwables -> com.android.tools.r8.internal.ZY:
+com.android.tools.r8.com.google.common.base.Throwables -> com.android.tools.r8.internal.eZ:
     java.lang.Object jla -> a
     int $r8$clinit -> b
     1:3:java.lang.Object com.android.tools.r8.com.google.common.base.Throwables.getJLA():480:482 -> <clinit>
@@ -13545,12 +13550,12 @@
     1:1:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractListMultimap.get(java.lang.Object):35:35 -> get
     1:1:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractListMultimap.get(java.lang.Object):0 -> get
       # {"id":"com.android.tools.r8.synthesized"}
-com.android.tools.r8.com.google.common.collect.BaseImmutableMultimap -> com.android.tools.r8.internal.o4:
+com.android.tools.r8.com.google.common.collect.BaseImmutableMultimap -> com.android.tools.r8.internal.p4:
     1:1:void <init>():25:25 -> <init>
-com.android.tools.r8.com.google.common.collect.BiMap -> com.android.tools.r8.internal.G4:
+com.android.tools.r8.com.google.common.collect.BiMap -> com.android.tools.r8.internal.H4:
     java.lang.Object forcePut(java.lang.Object,java.lang.Object) -> a
     com.android.tools.r8.com.google.common.collect.BiMap inverse() -> g
-com.android.tools.r8.com.google.common.collect.ByFunctionOrdering -> com.android.tools.r8.internal.V5:
+com.android.tools.r8.com.google.common.collect.ByFunctionOrdering -> com.android.tools.r8.internal.W5:
     com.android.tools.r8.com.google.common.collect.Ordering ordering -> c
     com.android.tools.r8.com.google.common.base.Function function -> b
     1:3:void <init>(com.android.tools.r8.com.google.common.base.Function,com.android.tools.r8.com.google.common.collect.Ordering):36:38 -> <init>
@@ -13560,11 +13565,11 @@
     2:2:int com.android.tools.r8.com.google.common.base.Objects.hashCode(java.lang.Object[]):77:77 -> hashCode
     2:2:int hashCode():60 -> hashCode
     1:1:java.lang.String toString():65:65 -> toString
-com.android.tools.r8.com.google.common.collect.CollectPreconditions -> com.android.tools.r8.internal.Wb:
+com.android.tools.r8.com.google.common.collect.CollectPreconditions -> com.android.tools.r8.internal.Xb:
     1:1:void checkEntryNotNull(java.lang.Object,java.lang.Object):32:32 -> a
     2:2:void checkEntryNotNull(java.lang.Object,java.lang.Object):30:30 -> a
     3:3:int checkNonnegative(int,java.lang.String):39:39 -> a
-com.android.tools.r8.com.google.common.collect.CollectSpliterators -> com.android.tools.r8.internal.dc:
+com.android.tools.r8.com.google.common.collect.CollectSpliterators -> com.android.tools.r8.internal.ec:
     1:1:java.util.Spliterator com.android.tools.r8.com.google.common.collect.CollectSpliterators.indexed(int,int,java.util.function.IntFunction,java.util.Comparator):98:98 -> a
     1:1:java.util.Spliterator indexed(int,int,java.util.function.IntFunction):42 -> a
     2:2:java.util.Spliterator map(java.util.Spliterator,java.util.function.Function):108:108 -> a
@@ -13579,7 +13584,7 @@
     11:11:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
     11:11:java.util.Spliterator flatMap(java.util.Spliterator,java.util.function.Function,int,long):213 -> a
     12:12:java.util.Spliterator flatMap(java.util.Spliterator,java.util.function.Function,int,long):214:214 -> a
-com.android.tools.r8.com.google.common.collect.CollectSpliterators$1 -> com.android.tools.r8.internal.Xb:
+com.android.tools.r8.com.google.common.collect.CollectSpliterators$1 -> com.android.tools.r8.internal.Yb:
     java.util.Spliterator val$fromSpliterator -> a
     java.util.function.Function val$function -> b
     1:1:void <init>(java.util.Spliterator,java.util.function.Function):110:110 -> <init>
@@ -13590,7 +13595,7 @@
     1:1:void forEachRemaining(java.util.function.Consumer):120:120 -> forEachRemaining
     1:1:boolean tryAdvance(java.util.function.Consumer):114:114 -> tryAdvance
     1:2:java.util.Spliterator trySplit():125:126 -> trySplit
-com.android.tools.r8.com.google.common.collect.CollectSpliterators$1Splitr -> com.android.tools.r8.internal.Yb:
+com.android.tools.r8.com.google.common.collect.CollectSpliterators$1Splitr -> com.android.tools.r8.internal.Zb:
     java.util.function.Predicate val$predicate -> c
     java.lang.Object holder -> a
     java.util.Spliterator val$fromSpliterator -> b
@@ -13608,7 +13613,7 @@
     4:4:java.util.Spliterator trySplit():172 -> trySplit
     5:5:java.util.Spliterator com.android.tools.r8.com.google.common.collect.CollectSpliterators.filter(java.util.Spliterator,java.util.function.Predicate):194:194 -> trySplit
     5:5:java.util.Spliterator trySplit():172 -> trySplit
-com.android.tools.r8.com.google.common.collect.CollectSpliterators$1WithCharacteristics -> com.android.tools.r8.internal.Zb:
+com.android.tools.r8.com.google.common.collect.CollectSpliterators$1WithCharacteristics -> com.android.tools.r8.internal.ac:
     java.util.function.IntFunction val$function -> b
     java.util.Spliterator$OfInt delegate -> a
     java.util.Comparator val$comparator -> d
@@ -13622,7 +13627,7 @@
     1:4:java.util.Comparator getComparator():91:94 -> getComparator
     1:1:boolean tryAdvance(java.util.function.Consumer):62:62 -> tryAdvance
     1:2:java.util.Spliterator trySplit():72:73 -> trySplit
-com.android.tools.r8.com.google.common.collect.CollectSpliterators$FlatMapSpliterator -> com.android.tools.r8.internal.bc:
+com.android.tools.r8.com.google.common.collect.CollectSpliterators$FlatMapSpliterator -> com.android.tools.r8.internal.cc:
     long estimatedSize -> f
     java.util.function.Function function -> c
     java.util.Spliterator from -> b
@@ -13637,18 +13642,18 @@
     1:12:void forEachRemaining(java.util.function.Consumer):353:364 -> forEachRemaining
     1:9:boolean tryAdvance(java.util.function.Consumer):337:345 -> tryAdvance
     1:17:java.util.Spliterator trySplit():369:385 -> trySplit
-com.android.tools.r8.com.google.common.collect.CollectSpliterators$FlatMapSpliterator$Factory -> com.android.tools.r8.internal.ac:
+com.android.tools.r8.com.google.common.collect.CollectSpliterators$FlatMapSpliterator$Factory -> com.android.tools.r8.internal.bc:
     java.util.Spliterator newFlatMapSpliterator(java.util.Spliterator,java.util.Spliterator,java.util.function.Function,int,long) -> a
-com.android.tools.r8.com.google.common.collect.CollectSpliterators$FlatMapSpliteratorOfObject -> com.android.tools.r8.internal.cc:
+com.android.tools.r8.com.google.common.collect.CollectSpliterators$FlatMapSpliteratorOfObject -> com.android.tools.r8.internal.dc:
     1:1:void <init>(java.util.Spliterator,java.util.Spliterator,java.util.function.Function,int,long):425:425 -> <init>
-com.android.tools.r8.com.google.common.collect.ComparatorOrdering -> com.android.tools.r8.internal.tc:
+com.android.tools.r8.com.google.common.collect.ComparatorOrdering -> com.android.tools.r8.internal.uc:
     java.util.Comparator comparator -> b
     1:2:void <init>(java.util.Comparator):31:32 -> <init>
     1:1:int compare(java.lang.Object,java.lang.Object):37:37 -> compare
     1:3:boolean equals(java.lang.Object):45:47 -> equals
     1:1:int hashCode():54:54 -> hashCode
     1:1:java.lang.String toString():59:59 -> toString
-com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset -> com.android.tools.r8.internal.rd:
+com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset -> com.android.tools.r8.internal.sd:
     java.util.concurrent.ConcurrentMap countMap -> d
     1:3:void <init>(java.util.concurrent.ConcurrentMap):126:128 -> <init>
     1:1:java.util.concurrent.ConcurrentMap access$100(com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset):59:59 -> a
@@ -13723,7 +13728,7 @@
     22:25:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset.snapshot():181:184 -> toArray
     22:25:java.lang.Object[] toArray(java.lang.Object[]):172 -> toArray
     26:26:java.lang.Object[] toArray(java.lang.Object[]):172:172 -> toArray
-com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1 -> com.android.tools.r8.internal.nd:
+com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1 -> com.android.tools.r8.internal.od:
     java.util.Set val$delegate -> b
     1:1:void <init>(com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset,java.util.Set):450:450 -> <init>
     1:1:boolean contains(java.lang.Object):458:458 -> contains
@@ -13752,7 +13757,7 @@
     2:2:boolean removeAll(java.util.Collection):473 -> removeAll
     3:3:boolean com.android.tools.r8.com.google.common.collect.ForwardingSet.standardRemoveAll(java.util.Collection):77:77 -> removeAll
     3:3:boolean removeAll(java.util.Collection):473 -> removeAll
-com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$2 -> com.android.tools.r8.internal.od:
+com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$2 -> com.android.tools.r8.internal.pd:
     java.util.Iterator mapEntries -> d
     1:3:void <init>(com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset):505:507 -> <init>
     1:7:com.android.tools.r8.com.google.common.collect.Multiset$Entry com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$2.computeNext():512:518 -> l
@@ -13760,7 +13765,7 @@
     8:8:com.android.tools.r8.com.google.common.collect.Multiset$Entry com.android.tools.r8.com.google.common.collect.Multisets.immutableEntry(java.lang.Object,int):235:235 -> l
     8:8:com.android.tools.r8.com.google.common.collect.Multiset$Entry com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$2.computeNext():518 -> l
     8:8:java.lang.Object computeNext():505 -> l
-com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$3 -> com.android.tools.r8.internal.pd:
+com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$3 -> com.android.tools.r8.internal.qd:
     java.util.Iterator val$readOnlyIterator -> c
     com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset this$0 -> d
     com.android.tools.r8.com.google.common.collect.Multiset$Entry last -> b
@@ -13773,7 +13778,7 @@
     2:2:void com.android.tools.r8.com.google.common.collect.CollectPreconditions.checkRemove(boolean):63:63 -> remove
     2:2:void remove():540 -> remove
     3:4:void remove():541:542 -> remove
-com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$EntrySet -> com.android.tools.r8.internal.qd:
+com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$EntrySet -> com.android.tools.r8.internal.rd:
     com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset this$0 -> c
     1:1:void <init>(com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset):558:558 -> <init>
     2:2:void <init>(com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset,com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1):558:558 -> <init>
@@ -13817,7 +13822,7 @@
     19:19:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$EntrySet.snapshot():582:582 -> toArray
     19:19:java.lang.Object[] toArray(java.lang.Object[]):576 -> toArray
     20:20:java.lang.Object[] toArray(java.lang.Object[]):576:576 -> toArray
-com.android.tools.r8.com.google.common.collect.Count -> com.android.tools.r8.internal.he:
+com.android.tools.r8.com.google.common.collect.Count -> com.android.tools.r8.internal.ie:
     int value -> b
     1:2:void <init>(int):30:31 -> <init>
     1:1:void add(int):39:39 -> a
@@ -13828,11 +13833,11 @@
     1:1:boolean equals(java.lang.Object):63:63 -> equals
     1:1:int hashCode():58:58 -> hashCode
     1:1:java.lang.String toString():68:68 -> toString
-com.android.tools.r8.com.google.common.collect.EmptyImmutableListMultimap -> com.android.tools.r8.internal.Nh:
+com.android.tools.r8.com.google.common.collect.EmptyImmutableListMultimap -> com.android.tools.r8.internal.Ph:
     com.android.tools.r8.com.google.common.collect.EmptyImmutableListMultimap INSTANCE -> h
     1:1:void <clinit>():28:28 -> <clinit>
     1:1:void <init>():31:31 -> <init>
-com.android.tools.r8.com.google.common.collect.FluentIterable -> com.android.tools.r8.internal.Nk:
+com.android.tools.r8.com.google.common.collect.FluentIterable -> com.android.tools.r8.internal.Pk:
     com.android.tools.r8.com.google.common.base.Optional iterableDelegate -> b
     1:2:void <init>():118:119 -> <init>
     1:1:com.android.tools.r8.com.google.common.collect.FluentIterable concat(java.lang.Iterable,java.lang.Iterable):191:191 -> a
@@ -13874,7 +13879,7 @@
     3:12:java.lang.String com.android.tools.r8.com.google.common.collect.Iterators.toString(java.util.Iterator):281:290 -> toString
     3:12:java.lang.String com.android.tools.r8.com.google.common.collect.Iterables.toString(java.lang.Iterable):241 -> toString
     3:12:java.lang.String toString():337 -> toString
-com.android.tools.r8.com.google.common.collect.FluentIterable$2 -> com.android.tools.r8.internal.Kk:
+com.android.tools.r8.com.google.common.collect.FluentIterable$2 -> com.android.tools.r8.internal.Mk:
     java.lang.Iterable val$inputs -> c
     1:1:void <init>(java.lang.Iterable):274:274 -> <init>
     1:1:java.util.Iterator iterator():277:277 -> iterator
@@ -13884,18 +13889,18 @@
     3:4:java.util.Iterator iterator():277 -> iterator
     5:5:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators.concat(java.util.Iterator):546:546 -> iterator
     5:5:java.util.Iterator iterator():277 -> iterator
-com.android.tools.r8.com.google.common.collect.FluentIterable$3 -> com.android.tools.r8.internal.Mk:
+com.android.tools.r8.com.google.common.collect.FluentIterable$3 -> com.android.tools.r8.internal.Ok:
     java.lang.Iterable[] val$inputs -> c
     1:1:void <init>(java.lang.Iterable[]):288:288 -> <init>
     1:1:java.util.Iterator iterator():291:291 -> iterator
     2:2:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators.concat(java.util.Iterator):546:546 -> iterator
     2:2:java.util.Iterator iterator():291 -> iterator
-com.android.tools.r8.com.google.common.collect.FluentIterable$3$1 -> com.android.tools.r8.internal.Lk:
+com.android.tools.r8.com.google.common.collect.FluentIterable$3$1 -> com.android.tools.r8.internal.Nk:
     com.android.tools.r8.com.google.common.collect.FluentIterable$3 this$0 -> d
     1:1:void <init>(com.android.tools.r8.com.google.common.collect.FluentIterable$3,int):293:293 -> <init>
     1:1:java.util.Iterator com.android.tools.r8.com.google.common.collect.FluentIterable$3$1.get(int):296:296 -> a
     1:1:java.lang.Object get(int):293 -> a
-com.android.tools.r8.com.google.common.collect.ForwardingIterator -> com.android.tools.r8.internal.Wk:
+com.android.tools.r8.com.google.common.collect.ForwardingIterator -> com.android.tools.r8.internal.Yk:
     1:1:void <init>():42:42 -> <init>
     1:1:boolean hasNext():49:49 -> hasNext
     2:2:java.util.Iterator com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$3.delegate():529:529 -> hasNext
@@ -13905,11 +13910,11 @@
     2:2:java.util.Iterator com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$3.delegate():529:529 -> next
     2:2:java.lang.Object next():55 -> next
     3:3:java.lang.Object next():55:55 -> next
-com.android.tools.r8.com.google.common.collect.ForwardingObject -> com.android.tools.r8.internal.Xk:
+com.android.tools.r8.com.google.common.collect.ForwardingObject -> com.android.tools.r8.internal.Zk:
     1:1:void <init>():50:50 -> <init>
     java.lang.Object delegate() -> l
     1:1:java.lang.String toString():63:63 -> toString
-com.android.tools.r8.com.google.common.collect.ForwardingSet -> com.android.tools.r8.internal.Yk:
+com.android.tools.r8.com.google.common.collect.ForwardingSet -> com.android.tools.r8.internal.al:
     1:1:void com.android.tools.r8.com.google.common.collect.ForwardingCollection.<init>():53:53 -> <init>
     1:1:void <init>():53 -> <init>
     boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.standardContainsAll(java.util.Collection) -> a
@@ -14023,7 +14028,7 @@
     6:6:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ForwardingCollection.toArray(java.lang.Object[]):126:126 -> toArray
     6:6:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ForwardingCollection.toArray(java.lang.Object[]):0 -> toArray
       # {"id":"com.android.tools.r8.synthesized"}
-com.android.tools.r8.com.google.common.collect.HashBiMap -> com.android.tools.r8.internal.ym:
+com.android.tools.r8.com.google.common.collect.HashBiMap -> com.android.tools.r8.internal.Am:
     com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry firstInKeyInsertionOrder -> d
     com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry lastInKeyInsertionOrder -> e
     com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry[] hashTableKToV -> b
@@ -14106,19 +14111,19 @@
     1:1:java.util.Set com.android.tools.r8.com.google.common.collect.HashBiMap.values():493:493 -> values
     1:1:java.util.Collection values():58 -> values
     2:2:java.util.Set values():493:493 -> values
-com.android.tools.r8.com.google.common.collect.HashBiMap$1 -> com.android.tools.r8.internal.om:
+com.android.tools.r8.com.google.common.collect.HashBiMap$1 -> com.android.tools.r8.internal.qm:
     com.android.tools.r8.com.google.common.collect.HashBiMap this$0 -> g
     1:1:void <init>(com.android.tools.r8.com.google.common.collect.HashBiMap):498:498 -> <init>
     1:1:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.HashBiMap$1.output(com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry):501:501 -> a
     1:1:java.lang.Object output(com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry):498 -> a
-com.android.tools.r8.com.google.common.collect.HashBiMap$1$MapEntry -> com.android.tools.r8.internal.nm:
+com.android.tools.r8.com.google.common.collect.HashBiMap$1$MapEntry -> com.android.tools.r8.internal.pm:
     com.android.tools.r8.com.google.common.collect.HashBiMap$1 this$1 -> c
     com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry delegate -> b
     1:2:void <init>(com.android.tools.r8.com.google.common.collect.HashBiMap$1,com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry):507:508 -> <init>
     1:1:java.lang.Object getKey():513:513 -> getKey
     1:1:java.lang.Object getValue():518:518 -> getValue
     1:16:java.lang.Object setValue(java.lang.Object):523:538 -> setValue
-com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry -> com.android.tools.r8.internal.pm:
+com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry -> com.android.tools.r8.internal.rm:
     com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry nextInKToVBucket -> f
     int keyHash -> d
     int valueHash -> e
@@ -14126,7 +14131,7 @@
     com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry nextInKeyInsertionOrder -> h
     com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry prevInKeyInsertionOrder -> i
     1:3:void <init>(java.lang.Object,int,java.lang.Object,int):104:106 -> <init>
-com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse -> com.android.tools.r8.internal.um:
+com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse -> com.android.tools.r8.internal.wm:
     com.android.tools.r8.com.google.common.collect.HashBiMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.com.google.common.collect.HashBiMap):573:573 -> <init>
     2:2:void <init>(com.android.tools.r8.com.google.common.collect.HashBiMap,com.android.tools.r8.com.google.common.collect.HashBiMap$1):573:573 -> <init>
@@ -14173,27 +14178,27 @@
     4:4:java.util.Set values():662:662 -> values
     5:5:java.util.Set com.android.tools.r8.com.google.common.collect.HashBiMap.keySet():459:459 -> values
     5:5:java.util.Set values():662 -> values
-com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse$1 -> com.android.tools.r8.internal.rm:
+com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse$1 -> com.android.tools.r8.internal.tm:
     com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse this$1 -> g
     1:1:void <init>(com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse):667:667 -> <init>
     1:1:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse$1.output(com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry):670:670 -> a
     1:1:java.lang.Object output(com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry):667 -> a
-com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse$1$InverseEntry -> com.android.tools.r8.internal.qm:
+com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse$1$InverseEntry -> com.android.tools.r8.internal.sm:
     com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse$1 this$2 -> c
     com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry delegate -> b
     1:2:void <init>(com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse$1,com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry):676:677 -> <init>
     1:1:java.lang.Object getKey():682:682 -> getKey
     1:1:java.lang.Object getValue():687:687 -> getValue
     1:12:java.lang.Object setValue(java.lang.Object):692:703 -> setValue
-com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse$InverseKeySet -> com.android.tools.r8.internal.tm:
+com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse$InverseKeySet -> com.android.tools.r8.internal.vm:
     com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse this$1 -> c
     1:2:void <init>(com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse):634:635 -> <init>
     1:1:java.util.Iterator iterator():651:651 -> iterator
     1:5:boolean remove(java.lang.Object):640:644 -> remove
-com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse$InverseKeySet$1 -> com.android.tools.r8.internal.sm:
+com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse$InverseKeySet$1 -> com.android.tools.r8.internal.um:
     1:1:void <init>(com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse$InverseKeySet):651:651 -> <init>
     1:1:java.lang.Object output(com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry):654:654 -> a
-com.android.tools.r8.com.google.common.collect.HashBiMap$Itr -> com.android.tools.r8.internal.vm:
+com.android.tools.r8.com.google.common.collect.HashBiMap$Itr -> com.android.tools.r8.internal.xm:
     com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry toRemove -> c
     com.android.tools.r8.com.google.common.collect.HashBiMap this$0 -> f
     com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry next -> b
@@ -14210,33 +14215,33 @@
     5:5:void remove():448 -> remove
     6:8:void remove():449:451 -> remove
     9:9:void remove():446:446 -> remove
-com.android.tools.r8.com.google.common.collect.HashBiMap$KeySet -> com.android.tools.r8.internal.xm:
+com.android.tools.r8.com.google.common.collect.HashBiMap$KeySet -> com.android.tools.r8.internal.zm:
     com.android.tools.r8.com.google.common.collect.HashBiMap this$0 -> c
     1:2:void <init>(com.android.tools.r8.com.google.common.collect.HashBiMap):463:464 -> <init>
     1:1:java.util.Iterator iterator():469:469 -> iterator
     1:7:boolean remove(java.lang.Object):479:485 -> remove
-com.android.tools.r8.com.google.common.collect.HashBiMap$KeySet$1 -> com.android.tools.r8.internal.wm:
+com.android.tools.r8.com.google.common.collect.HashBiMap$KeySet$1 -> com.android.tools.r8.internal.ym:
     1:1:void <init>(com.android.tools.r8.com.google.common.collect.HashBiMap$KeySet):469:469 -> <init>
     1:1:java.lang.Object output(com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry):472:472 -> a
-com.android.tools.r8.com.google.common.collect.HashMultiset -> com.android.tools.r8.internal.Em:
+com.android.tools.r8.com.google.common.collect.HashMultiset -> com.android.tools.r8.internal.Gm:
     1:1:void <init>():66:66 -> <init>
     1:1:com.android.tools.r8.com.google.common.collect.HashMultiset create():38:38 -> f
     1:1:boolean com.android.tools.r8.com.google.common.collect.AbstractMultiset.isEmpty():50:50 -> isEmpty
     1:1:boolean isEmpty():33 -> isEmpty
     1:1:java.util.Iterator com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset.iterator():185:185 -> iterator
     1:1:java.util.Iterator iterator():33 -> iterator
-com.android.tools.r8.com.google.common.collect.Hashing -> com.android.tools.r8.internal.Km:
+com.android.tools.r8.com.google.common.collect.Hashing -> com.android.tools.r8.internal.Mm:
     1:1:int smear(int):50:50 -> a
     2:2:int smearedHash(java.lang.Object):54:54 -> a
     3:4:int closedTableSize(int,double):62:63 -> a
-com.android.tools.r8.com.google.common.collect.ImmutableAsList -> com.android.tools.r8.internal.Nn:
+com.android.tools.r8.com.google.common.collect.ImmutableAsList -> com.android.tools.r8.internal.Pn:
     1:1:void <init>():34:34 -> <init>
     1:1:boolean contains(java.lang.Object):41:41 -> contains
     1:1:boolean isPartialView():56:56 -> e
     1:1:boolean isEmpty():51:51 -> isEmpty
     com.android.tools.r8.com.google.common.collect.ImmutableCollection delegateCollection() -> j
     1:1:int size():46:46 -> size
-com.android.tools.r8.com.google.common.collect.ImmutableBiMap -> com.android.tools.r8.internal.Pn:
+com.android.tools.r8.com.google.common.collect.ImmutableBiMap -> com.android.tools.r8.internal.Rn:
     1:1:void com.android.tools.r8.com.google.common.collect.ImmutableBiMapFauxverideShim.<init>():32:32 -> <init>
     1:1:void <init>():372 -> <init>
     1:1:java.lang.Object forcePut(java.lang.Object,java.lang.Object):407:407 -> a
@@ -14250,7 +14255,7 @@
     1:1:java.util.Collection values():41 -> values
     2:2:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableBiMap.values():388:388 -> values
     2:2:java.util.Set values():41 -> values
-com.android.tools.r8.com.google.common.collect.ImmutableBiMap$Builder -> com.android.tools.r8.internal.On:
+com.android.tools.r8.com.google.common.collect.ImmutableBiMap$Builder -> com.android.tools.r8.internal.Qn:
     1:1:void <init>():176:176 -> <init>
     1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap build():170:170 -> a
     2:2:com.android.tools.r8.com.google.common.collect.ImmutableBiMap$Builder com.android.tools.r8.com.google.common.collect.ImmutableBiMap$Builder.put(java.lang.Object,java.lang.Object):189:189 -> a
@@ -14270,7 +14275,7 @@
     34:34:com.android.tools.r8.com.google.common.collect.ImmutableBiMap build():272 -> b
     35:35:com.android.tools.r8.com.google.common.collect.ImmutableBiMap com.android.tools.r8.com.google.common.collect.ImmutableBiMap.of():67:67 -> b
     35:35:com.android.tools.r8.com.google.common.collect.ImmutableBiMap build():270 -> b
-com.android.tools.r8.com.google.common.collect.ImmutableCollection -> com.android.tools.r8.internal.Rn:
+com.android.tools.r8.com.google.common.collect.ImmutableCollection -> com.android.tools.r8.internal.Tn:
     java.lang.Object[] EMPTY_ARRAY -> b
     1:1:void <clinit>():187:187 -> <clinit>
     1:1:void <init>():176:176 -> <init>
@@ -14307,18 +14312,18 @@
     3:3:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> toArray
     3:3:java.lang.Object[] toArray(java.lang.Object[]):197 -> toArray
     4:15:java.lang.Object[] toArray(java.lang.Object[]):198:209 -> toArray
-com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder -> com.android.tools.r8.internal.Qn:
+com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder -> com.android.tools.r8.internal.Sn:
     1:1:void <init>():404:404 -> <init>
     1:1:int expandedCapacity(int,int):395:395 -> a
     2:2:int expandedCapacity(int,int):390:390 -> a
-com.android.tools.r8.com.google.common.collect.ImmutableEntry -> com.android.tools.r8.internal.Tn:
+com.android.tools.r8.com.google.common.collect.ImmutableEntry -> com.android.tools.r8.internal.Vn:
     java.lang.Object key -> b
     java.lang.Object value -> c
     1:3:void <init>(java.lang.Object,java.lang.Object):29:31 -> <init>
     1:1:java.lang.Object getKey():36:36 -> getKey
     1:1:java.lang.Object getValue():41:41 -> getValue
     1:1:java.lang.Object setValue(java.lang.Object):46:46 -> setValue
-com.android.tools.r8.com.google.common.collect.ImmutableEnumMap -> com.android.tools.r8.internal.Un:
+com.android.tools.r8.com.google.common.collect.ImmutableEnumMap -> com.android.tools.r8.internal.Wn:
     java.util.EnumMap delegate -> f
     1:3:void <init>(java.util.EnumMap):51:53 -> <init>
     1:8:com.android.tools.r8.com.google.common.collect.ImmutableMap asImmutable(java.util.EnumMap):38:45 -> a
@@ -14346,7 +14351,7 @@
     1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator entryIterator():94:94 -> u
     2:2:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.Maps.unmodifiableEntryIterator(java.util.Iterator):1361:1361 -> u
     2:2:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator entryIterator():94 -> u
-com.android.tools.r8.com.google.common.collect.ImmutableEnumSet -> com.android.tools.r8.internal.Vn:
+com.android.tools.r8.com.google.common.collect.ImmutableEnumSet -> com.android.tools.r8.internal.Xn:
     java.util.EnumSet delegate -> e
     int hashCode -> f
     1:2:void <init>(java.util.EnumSet):57:58 -> <init>
@@ -14374,7 +14379,7 @@
     1:1:int size():83:83 -> size
     1:1:java.util.Spliterator spliterator():73:73 -> spliterator
     1:1:java.lang.String toString():130:130 -> toString
-com.android.tools.r8.com.google.common.collect.ImmutableList -> com.android.tools.r8.internal.do:
+com.android.tools.r8.com.google.common.collect.ImmutableList -> com.android.tools.r8.internal.fo:
     int $r8$clinit -> c
     1:1:void <init>():377:377 -> <init>
     com.android.tools.r8.com.google.common.collect.ImmutableList asList() -> a
@@ -14502,11 +14507,11 @@
     1:1:void sort(java.util.Comparator):565:565 -> sort
     1:1:java.util.Spliterator spliterator():580:580 -> spliterator
     1:1:java.util.List subList(int,int):60:60 -> subList
-com.android.tools.r8.com.google.common.collect.ImmutableList$1 -> com.android.tools.r8.internal.Zn:
+com.android.tools.r8.com.google.common.collect.ImmutableList$1 -> com.android.tools.r8.internal.bo:
     com.android.tools.r8.com.google.common.collect.ImmutableList this$0 -> d
     1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableList,int,int):393:393 -> <init>
     1:1:java.lang.Object get(int):396:396 -> a
-com.android.tools.r8.com.google.common.collect.ImmutableList$Builder -> com.android.tools.r8.internal.ao:
+com.android.tools.r8.com.google.common.collect.ImmutableList$Builder -> com.android.tools.r8.internal.co:
     java.lang.Object[] contents -> a
     int size -> b
     boolean forceCopy -> c
@@ -14528,7 +14533,7 @@
     2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> b
     2:2:com.android.tools.r8.com.google.common.collect.ImmutableList$Builder add(java.lang.Object):793 -> b
     3:4:com.android.tools.r8.com.google.common.collect.ImmutableList$Builder add(java.lang.Object):794:795 -> b
-com.android.tools.r8.com.google.common.collect.ImmutableList$ReverseImmutableList -> com.android.tools.r8.internal.bo:
+com.android.tools.r8.com.google.common.collect.ImmutableList$ReverseImmutableList -> com.android.tools.r8.internal.do:
     com.android.tools.r8.com.google.common.collect.ImmutableList forwardList -> d
     1:2:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableList):607:608 -> <init>
     1:1:boolean contains(java.lang.Object):626:626 -> contains
@@ -14564,7 +14569,7 @@
     2:2:java.util.ListIterator listIterator(int):604:604 -> listIterator
     1:1:int size():655:655 -> size
     1:1:java.util.List subList(int,int):604:604 -> subList
-com.android.tools.r8.com.google.common.collect.ImmutableList$SubList -> com.android.tools.r8.internal.co:
+com.android.tools.r8.com.google.common.collect.ImmutableList$SubList -> com.android.tools.r8.internal.eo:
     com.android.tools.r8.com.google.common.collect.ImmutableList this$0 -> f
     int offset -> d
     int length -> e
@@ -14580,14 +14585,14 @@
     2:2:java.util.ListIterator listIterator(int):455:455 -> listIterator
     1:1:int size():466:466 -> size
     1:1:java.util.List subList(int,int):455:455 -> subList
-com.android.tools.r8.com.google.common.collect.ImmutableListMultimap -> com.android.tools.r8.internal.fo:
+com.android.tools.r8.com.google.common.collect.ImmutableListMultimap -> com.android.tools.r8.internal.ho:
     1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMap,int):377:377 -> <init>
     1:2:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableListMultimap.get(java.lang.Object):390:391 -> get
     1:2:java.util.Collection get(java.lang.Object):50 -> get
     3:3:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.of():83:83 -> get
     3:3:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableListMultimap.get(java.lang.Object):391 -> get
     3:3:java.util.Collection get(java.lang.Object):50 -> get
-com.android.tools.r8.com.google.common.collect.ImmutableListMultimap$Builder -> com.android.tools.r8.internal.eo:
+com.android.tools.r8.com.google.common.collect.ImmutableListMultimap$Builder -> com.android.tools.r8.internal.go:
     1:1:void <init>():213:213 -> <init>
     1:4:com.android.tools.r8.com.google.common.collect.ImmutableMultimap$Builder com.android.tools.r8.com.google.common.collect.ImmutableMultimap$Builder.put(java.lang.Object,java.lang.Object):162:165 -> a
     1:4:com.android.tools.r8.com.google.common.collect.ImmutableListMultimap$Builder put(java.lang.Object,java.lang.Object):218 -> a
@@ -14608,7 +14613,7 @@
     12:29:com.android.tools.r8.com.google.common.collect.ImmutableListMultimap com.android.tools.r8.com.google.common.collect.ImmutableListMultimap.fromMapEntries(java.util.Collection,java.util.Comparator):356:373 -> a
     12:29:com.android.tools.r8.com.google.common.collect.ImmutableMultimap com.android.tools.r8.com.google.common.collect.ImmutableMultimap$Builder.build():292 -> a
     12:29:com.android.tools.r8.com.google.common.collect.ImmutableListMultimap build():302 -> a
-com.android.tools.r8.com.google.common.collect.ImmutableMap -> com.android.tools.r8.internal.ko:
+com.android.tools.r8.com.google.common.collect.ImmutableMap -> com.android.tools.r8.internal.mo:
     java.util.Map$Entry[] EMPTY_ENTRY_ARRAY -> e
     com.android.tools.r8.com.google.common.collect.ImmutableCollection values -> d
     com.android.tools.r8.com.google.common.collect.ImmutableSet entrySet -> b
@@ -14635,20 +14640,20 @@
     231:235:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMap.copyOfEnumMap(java.util.EnumMap):466:470 -> a
     231:235:com.android.tools.r8.com.google.common.collect.ImmutableMap copyOf(java.util.Map):430 -> a
     236:236:com.android.tools.r8.com.google.common.collect.ImmutableMap copyOf(java.util.Map):433:433 -> a
-    237:249:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMap.copyOf(java.lang.Iterable):448:460 -> a
-    237:249:com.android.tools.r8.com.google.common.collect.ImmutableMap copyOf(java.util.Map):433 -> a
-    250:250:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.RegularImmutableMap.fromEntries(java.util.Map$Entry[]):73:73 -> a
-    250:250:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMap.copyOf(java.lang.Iterable):460 -> a
-    250:250:com.android.tools.r8.com.google.common.collect.ImmutableMap copyOf(java.util.Map):433 -> a
-    251:252:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMap.copyOf(java.lang.Iterable):453:454 -> a
-    251:252:com.android.tools.r8.com.google.common.collect.ImmutableMap copyOf(java.util.Map):433 -> a
-    253:253:com.android.tools.r8.com.google.common.collect.ImmutableBiMap com.android.tools.r8.com.google.common.collect.ImmutableBiMap.of(java.lang.Object,java.lang.Object):72:72 -> a
-    253:253:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMap.of(java.lang.Object,java.lang.Object):119 -> a
-    253:253:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMap.copyOf(java.lang.Iterable):454 -> a
-    253:253:com.android.tools.r8.com.google.common.collect.ImmutableMap copyOf(java.util.Map):433 -> a
-    254:254:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMap.of():110:110 -> a
-    254:254:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMap.copyOf(java.lang.Iterable):451 -> a
-    254:254:com.android.tools.r8.com.google.common.collect.ImmutableMap copyOf(java.util.Map):433 -> a
+    237:238:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMap.copyOf(java.lang.Iterable):448:449 -> a
+    237:238:com.android.tools.r8.com.google.common.collect.ImmutableMap copyOf(java.util.Map):433 -> a
+    239:239:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.RegularImmutableMap.fromEntries(java.util.Map$Entry[]):73:73 -> a
+    239:239:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMap.copyOf(java.lang.Iterable):460 -> a
+    239:239:com.android.tools.r8.com.google.common.collect.ImmutableMap copyOf(java.util.Map):433 -> a
+    240:241:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMap.copyOf(java.lang.Iterable):453:454 -> a
+    240:241:com.android.tools.r8.com.google.common.collect.ImmutableMap copyOf(java.util.Map):433 -> a
+    242:242:com.android.tools.r8.com.google.common.collect.ImmutableBiMap com.android.tools.r8.com.google.common.collect.ImmutableBiMap.of(java.lang.Object,java.lang.Object):72:72 -> a
+    242:242:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMap.of(java.lang.Object,java.lang.Object):119 -> a
+    242:242:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMap.copyOf(java.lang.Iterable):454 -> a
+    242:242:com.android.tools.r8.com.google.common.collect.ImmutableMap copyOf(java.util.Map):433 -> a
+    243:243:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMap.of():110:110 -> a
+    243:243:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMap.copyOf(java.lang.Iterable):451 -> a
+    243:243:com.android.tools.r8.com.google.common.collect.ImmutableMap copyOf(java.util.Map):433 -> a
     1:1:com.android.tools.r8.com.google.common.collect.ImmutableBiMap com.android.tools.r8.com.google.common.collect.ImmutableBiMap.of(java.lang.Object,java.lang.Object):72:72 -> b
     1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap of(java.lang.Object,java.lang.Object):119 -> b
     1:1:void clear():684:684 -> clear
@@ -14694,12 +14699,12 @@
     4:13:java.lang.String com.android.tools.r8.com.google.common.collect.Maps.toStringImpl(java.util.Map):3607:3616 -> toString
     4:13:java.lang.String toString():894 -> toString
     1:1:java.util.Collection values():63:63 -> values
-com.android.tools.r8.com.google.common.collect.ImmutableMap$1 -> com.android.tools.r8.internal.go:
+com.android.tools.r8.com.google.common.collect.ImmutableMap$1 -> com.android.tools.r8.internal.io:
     com.android.tools.r8.com.google.common.collect.UnmodifiableIterator val$entryIterator -> b
     1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.com.google.common.collect.UnmodifiableIterator):752:752 -> <init>
     1:1:boolean hasNext():755:755 -> hasNext
     1:1:java.lang.Object next():760:760 -> next
-com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder -> com.android.tools.r8.internal.ho:
+com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder -> com.android.tools.r8.internal.jo:
     java.util.Map$Entry[] entries -> b
     int size -> c
     java.util.Comparator valueComparator -> a
@@ -14728,7 +14733,7 @@
     36:36:com.android.tools.r8.com.google.common.collect.ImmutableMap build():386 -> a
     37:37:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMap.of():110:110 -> a
     37:37:com.android.tools.r8.com.google.common.collect.ImmutableMap build():384 -> a
-com.android.tools.r8.com.google.common.collect.ImmutableMap$IteratorBasedImmutableMap -> com.android.tools.r8.internal.jo:
+com.android.tools.r8.com.google.common.collect.ImmutableMap$IteratorBasedImmutableMap -> com.android.tools.r8.internal.lo:
     1:1:void <init>():475:475 -> <init>
     1:1:java.util.Set entrySet():475:475 -> entrySet
     1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet createEntrySet():503:503 -> k
@@ -14737,28 +14742,28 @@
     1:1:com.android.tools.r8.com.google.common.collect.ImmutableCollection createValues():508:508 -> m
     com.android.tools.r8.com.google.common.collect.UnmodifiableIterator entryIterator() -> u
     1:1:java.util.Collection values():475:475 -> values
-com.android.tools.r8.com.google.common.collect.ImmutableMap$IteratorBasedImmutableMap$1EntrySetImpl -> com.android.tools.r8.internal.io:
+com.android.tools.r8.com.google.common.collect.ImmutableMap$IteratorBasedImmutableMap$1EntrySetImpl -> com.android.tools.r8.internal.ko:
     com.android.tools.r8.com.google.common.collect.ImmutableMap$IteratorBasedImmutableMap this$0 -> e
     1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMap$IteratorBasedImmutableMap):492:492 -> <init>
     1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():500:500 -> f
     1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.ImmutableMap$IteratorBasedImmutableMap$1EntrySetImpl.iterator():500:500 -> iterator
     1:1:java.util.Iterator iterator():492 -> iterator
     1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap map():495:495 -> k
-com.android.tools.r8.com.google.common.collect.ImmutableMapEntry -> com.android.tools.r8.internal.no:
+com.android.tools.r8.com.google.common.collect.ImmutableMapEntry -> com.android.tools.r8.internal.po:
     1:2:void <init>(java.lang.Object,java.lang.Object):47:48 -> <init>
     com.android.tools.r8.com.google.common.collect.ImmutableMapEntry getNextInKeyBucket() -> b
     com.android.tools.r8.com.google.common.collect.ImmutableMapEntry getNextInValueBucket() -> c
     boolean isReusable() -> d
-com.android.tools.r8.com.google.common.collect.ImmutableMapEntry$NonTerminalImmutableBiMapEntry -> com.android.tools.r8.internal.lo:
+com.android.tools.r8.com.google.common.collect.ImmutableMapEntry$NonTerminalImmutableBiMapEntry -> com.android.tools.r8.internal.no:
     com.android.tools.r8.com.google.common.collect.ImmutableMapEntry nextInValueBucket -> e
     1:2:void <init>(java.lang.Object,java.lang.Object,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry):102:103 -> <init>
     1:1:com.android.tools.r8.com.google.common.collect.ImmutableMapEntry getNextInValueBucket():109:109 -> c
-com.android.tools.r8.com.google.common.collect.ImmutableMapEntry$NonTerminalImmutableMapEntry -> com.android.tools.r8.internal.mo:
+com.android.tools.r8.com.google.common.collect.ImmutableMapEntry$NonTerminalImmutableMapEntry -> com.android.tools.r8.internal.oo:
     com.android.tools.r8.com.google.common.collect.ImmutableMapEntry nextInKeyBucket -> d
     1:2:void <init>(java.lang.Object,java.lang.Object,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry):78:79 -> <init>
     1:1:com.android.tools.r8.com.google.common.collect.ImmutableMapEntry getNextInKeyBucket():84:84 -> b
     boolean isReusable() -> d
-com.android.tools.r8.com.google.common.collect.ImmutableMapEntrySet -> com.android.tools.r8.internal.po:
+com.android.tools.r8.com.google.common.collect.ImmutableMapEntrySet -> com.android.tools.r8.internal.ro:
     1:1:void <init>():80:80 -> <init>
     1:4:boolean contains(java.lang.Object):91:94 -> contains
     1:1:boolean isPartialView():101:101 -> e
@@ -14768,7 +14773,7 @@
     2:2:boolean isHashCodeFast():107 -> i
     com.android.tools.r8.com.google.common.collect.ImmutableMap map() -> k
     1:1:int size():86:86 -> size
-com.android.tools.r8.com.google.common.collect.ImmutableMapEntrySet$RegularEntrySet -> com.android.tools.r8.internal.oo:
+com.android.tools.r8.com.google.common.collect.ImmutableMapEntrySet$RegularEntrySet -> com.android.tools.r8.internal.qo:
     com.android.tools.r8.com.google.common.collect.ImmutableMap map -> e
     com.android.tools.r8.com.google.common.collect.ImmutableList entries -> f
     1:3:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.com.google.common.collect.ImmutableList):43:45 -> <init>
@@ -14780,7 +14785,7 @@
     1:1:java.util.Iterator iterator():35 -> iterator
     1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap map():50:50 -> k
     1:1:java.util.Spliterator spliterator():66:66 -> spliterator
-com.android.tools.r8.com.google.common.collect.ImmutableMapKeySet -> com.android.tools.r8.internal.qo:
+com.android.tools.r8.com.google.common.collect.ImmutableMapKeySet -> com.android.tools.r8.internal.so:
     com.android.tools.r8.com.google.common.collect.ImmutableMap map -> e
     1:2:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMap):38:39 -> <init>
     1:1:void lambda$forEach$0(java.util.function.Consumer,java.lang.Object,java.lang.Object):70:70 -> a
@@ -14796,7 +14801,7 @@
     1:1:java.util.Iterator iterator():34 -> iterator
     1:1:int size():44:44 -> size
     1:1:java.util.Spliterator spliterator():54:54 -> spliterator
-com.android.tools.r8.com.google.common.collect.ImmutableMapValues -> com.android.tools.r8.internal.to:
+com.android.tools.r8.com.google.common.collect.ImmutableMapValues -> com.android.tools.r8.internal.vo:
     com.android.tools.r8.com.google.common.collect.ImmutableMap map -> c
     1:2:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMap):39:40 -> <init>
     1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap access$000(com.android.tools.r8.com.google.common.collect.ImmutableMapValues):36:36 -> a
@@ -14823,18 +14828,18 @@
     1:1:java.util.Iterator iterator():35 -> iterator
     1:1:int size():45:45 -> size
     1:1:java.util.Spliterator spliterator():67:67 -> spliterator
-com.android.tools.r8.com.google.common.collect.ImmutableMapValues$1 -> com.android.tools.r8.internal.ro:
+com.android.tools.r8.com.google.common.collect.ImmutableMapValues$1 -> com.android.tools.r8.internal.to:
     com.android.tools.r8.com.google.common.collect.UnmodifiableIterator entryItr -> b
     1:2:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMapValues):50:51 -> <init>
     1:1:boolean hasNext():55:55 -> hasNext
     1:1:java.lang.Object next():60:60 -> next
-com.android.tools.r8.com.google.common.collect.ImmutableMapValues$2 -> com.android.tools.r8.internal.so:
+com.android.tools.r8.com.google.common.collect.ImmutableMapValues$2 -> com.android.tools.r8.internal.uo:
     com.android.tools.r8.com.google.common.collect.ImmutableMapValues this$0 -> e
     com.android.tools.r8.com.google.common.collect.ImmutableList val$entryList -> d
     1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMapValues,com.android.tools.r8.com.google.common.collect.ImmutableList):83:83 -> <init>
     1:1:java.lang.Object get(int):86:86 -> get
     1:1:com.android.tools.r8.com.google.common.collect.ImmutableCollection delegateCollection():91:91 -> j
-com.android.tools.r8.com.google.common.collect.ImmutableMultimap -> com.android.tools.r8.internal.yo:
+com.android.tools.r8.com.google.common.collect.ImmutableMultimap -> com.android.tools.r8.internal.Ao:
     com.android.tools.r8.com.google.common.collect.ImmutableMap map -> f
     int size -> g
     1:3:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMap,int):345:347 -> <init>
@@ -14874,7 +14879,7 @@
     1:1:int size():482:482 -> size
     1:1:java.lang.String com.android.tools.r8.com.google.common.collect.AbstractMultimap.toString():263:263 -> toString
     1:1:java.lang.String toString():68 -> toString
-com.android.tools.r8.com.google.common.collect.ImmutableMultimap$1 -> com.android.tools.r8.internal.uo:
+com.android.tools.r8.com.google.common.collect.ImmutableMultimap$1 -> com.android.tools.r8.internal.wo:
     java.util.Iterator valueItr -> d
     java.util.Iterator asMapItr -> b
     java.lang.Object currentKey -> c
@@ -14885,10 +14890,10 @@
     7:7:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.Maps.immutableEntry(java.lang.Object,java.lang.Object):1320:1320 -> next
     7:7:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.ImmutableMultimap$1.next():581 -> next
     7:7:java.lang.Object next():563 -> next
-com.android.tools.r8.com.google.common.collect.ImmutableMultimap$Builder -> com.android.tools.r8.internal.vo:
+com.android.tools.r8.com.google.common.collect.ImmutableMultimap$Builder -> com.android.tools.r8.internal.xo:
     java.util.Map builderMap -> a
     1:2:void <init>():151:152 -> <init>
-com.android.tools.r8.com.google.common.collect.ImmutableMultimap$EntryCollection -> com.android.tools.r8.internal.wo:
+com.android.tools.r8.com.google.common.collect.ImmutableMultimap$EntryCollection -> com.android.tools.r8.internal.yo:
     com.android.tools.r8.com.google.common.collect.ImmutableMultimap multimap -> c
     1:2:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMultimap):530:531 -> <init>
     1:3:boolean contains(java.lang.Object):551:553 -> contains
@@ -14903,7 +14908,7 @@
     2:2:int com.android.tools.r8.com.google.common.collect.ImmutableMultimap.size():482:482 -> size
     2:2:int size():546 -> size
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-com.android.tools.r8.com.google.common.collect.ImmutableMultimap$Keys -> com.android.tools.r8.internal.xo:
+com.android.tools.r8.com.google.common.collect.ImmutableMultimap$Keys -> com.android.tools.r8.internal.zo:
     com.android.tools.r8.com.google.common.collect.ImmutableMultimap this$0 -> f
     1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMultimap):625:625 -> <init>
     1:1:boolean contains(java.lang.Object):628:628 -> contains
@@ -14923,7 +14928,7 @@
     2:2:int com.android.tools.r8.com.google.common.collect.ImmutableMultimap.size():482:482 -> size
     2:2:int size():644 -> size
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-com.android.tools.r8.com.google.common.collect.ImmutableMultiset -> com.android.tools.r8.internal.Do:
+com.android.tools.r8.com.google.common.collect.ImmutableMultiset -> com.android.tools.r8.internal.Fo:
     int $r8$clinit -> e
     com.android.tools.r8.com.google.common.collect.ImmutableSet entrySet -> d
     com.android.tools.r8.com.google.common.collect.ImmutableList asList -> c
@@ -14956,14 +14961,14 @@
     4:4:com.android.tools.r8.com.google.common.collect.ImmutableSet entrySet():353 -> i
     5:5:com.android.tools.r8.com.google.common.collect.ImmutableSet entrySet():353:353 -> i
     1:1:java.lang.String toString():341:341 -> toString
-com.android.tools.r8.com.google.common.collect.ImmutableMultiset$1 -> com.android.tools.r8.internal.zo:
+com.android.tools.r8.com.google.common.collect.ImmutableMultiset$1 -> com.android.tools.r8.internal.Bo:
     java.util.Iterator val$entryIterator -> d
     java.lang.Object element -> c
     int remaining -> b
     1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMultiset,java.util.Iterator):228:228 -> <init>
     1:1:boolean hasNext():234:234 -> hasNext
     1:7:java.lang.Object next():239:245 -> next
-com.android.tools.r8.com.google.common.collect.ImmutableMultiset$Builder -> com.android.tools.r8.internal.Ao:
+com.android.tools.r8.com.google.common.collect.ImmutableMultiset$Builder -> com.android.tools.r8.internal.Co:
     com.android.tools.r8.com.google.common.collect.Multiset contents -> a
     1:2:void <init>(com.android.tools.r8.com.google.common.collect.Multiset):463:464 -> <init>
     1:1:com.android.tools.r8.com.google.common.collect.ImmutableMultiset$Builder add(java.lang.Object):477:477 -> a
@@ -14983,7 +14988,7 @@
     21:21:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.ImmutableMultiset.copyFromEntries(java.util.Collection):219:219 -> a
     21:21:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.ImmutableMultiset.copyOf(java.lang.Iterable):193 -> a
     21:21:com.android.tools.r8.com.google.common.collect.ImmutableMultiset build():567 -> a
-com.android.tools.r8.com.google.common.collect.ImmutableMultiset$ElementSet -> com.android.tools.r8.internal.Bo:
+com.android.tools.r8.com.google.common.collect.ImmutableMultiset$ElementSet -> com.android.tools.r8.internal.Do:
     java.util.List entries -> e
     com.android.tools.r8.com.google.common.collect.Multiset delegate -> f
     1:3:void <init>(java.util.List,com.android.tools.r8.com.google.common.collect.Multiset):584:586 -> <init>
@@ -14991,7 +14996,7 @@
     boolean isPartialView() -> e
     1:1:java.lang.Object get(int):591:591 -> get
     1:1:int size():606:606 -> size
-com.android.tools.r8.com.google.common.collect.ImmutableMultiset$EntrySet -> com.android.tools.r8.internal.Co:
+com.android.tools.r8.com.google.common.collect.ImmutableMultiset$EntrySet -> com.android.tools.r8.internal.Eo:
     com.android.tools.r8.com.google.common.collect.ImmutableMultiset this$0 -> e
     1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMultiset):363:363 -> <init>
     2:2:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMultiset,com.android.tools.r8.com.google.common.collect.ImmutableMultiset$1):363:363 -> <init>
@@ -15001,7 +15006,7 @@
     1:1:java.lang.Object get(int):362 -> get
     1:1:int hashCode():394:394 -> hashCode
     1:1:int size():376:376 -> size
-com.android.tools.r8.com.google.common.collect.ImmutableSet -> com.android.tools.r8.internal.Ko:
+com.android.tools.r8.com.google.common.collect.ImmutableSet -> com.android.tools.r8.internal.Mo:
     int $r8$clinit -> d
     com.android.tools.r8.com.google.common.collect.ImmutableList asList -> c
     1:1:void <init>():302:302 -> <init>
@@ -15052,7 +15057,7 @@
     1:1:int access$000(int):53 -> i
     1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet of():75:75 -> j
     2:14:int chooseTableSize(int):643:655 -> j
-com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder -> com.android.tools.r8.internal.Eo:
+com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder -> com.android.tools.r8.internal.Go:
     com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl impl -> a
     boolean forceCopy -> b
     1:1:void <init>():481:481 -> <init>
@@ -15077,7 +15082,7 @@
     5:5:void com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.copyIfNecessary():500:500 -> b
     5:5:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder add(java.lang.Object):512 -> b
     6:6:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder add(java.lang.Object):513:513 -> b
-com.android.tools.r8.com.google.common.collect.ImmutableSet$Indexed -> com.android.tools.r8.internal.Go:
+com.android.tools.r8.com.google.common.collect.ImmutableSet$Indexed -> com.android.tools.r8.internal.Io:
     1:1:void <init>():345:345 -> <init>
     1:1:int copyIntoArray(java.lang.Object[],int):369:369 -> a
     1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():350:350 -> f
@@ -15089,13 +15094,13 @@
     1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.ImmutableSet$Indexed.iterator():350:350 -> iterator
     1:1:java.util.Iterator iterator():345 -> iterator
     1:1:java.util.Spliterator spliterator():355:355 -> spliterator
-com.android.tools.r8.com.google.common.collect.ImmutableSet$Indexed$1 -> com.android.tools.r8.internal.Fo:
+com.android.tools.r8.com.google.common.collect.ImmutableSet$Indexed$1 -> com.android.tools.r8.internal.Ho:
     com.android.tools.r8.com.google.common.collect.ImmutableSet$Indexed this$0 -> d
     1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableSet$Indexed):374:374 -> <init>
     1:1:java.lang.Object get(int):377:377 -> get
     1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet$Indexed com.android.tools.r8.com.google.common.collect.ImmutableSet$Indexed$1.delegateCollection():382:382 -> j
     1:1:com.android.tools.r8.com.google.common.collect.ImmutableCollection delegateCollection():374 -> j
-com.android.tools.r8.com.google.common.collect.ImmutableSet$JdkBackedSetBuilderImpl -> com.android.tools.r8.internal.Ho:
+com.android.tools.r8.com.google.common.collect.ImmutableSet$JdkBackedSetBuilderImpl -> com.android.tools.r8.internal.Jo:
     java.util.Set delegate -> c
     1:4:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl):847:850 -> <init>
     1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl add(java.lang.Object):856:856 -> a
@@ -15110,7 +15115,7 @@
     16:16:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.of():75:75 -> a
     16:16:com.android.tools.r8.com.google.common.collect.ImmutableSet build():872 -> a
     1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl copy():865:865 -> b
-com.android.tools.r8.com.google.common.collect.ImmutableSet$RegularSetBuilderImpl -> com.android.tools.r8.internal.Io:
+com.android.tools.r8.com.google.common.collect.ImmutableSet$RegularSetBuilderImpl -> com.android.tools.r8.internal.Ko:
     java.lang.Object[] hashTable -> c
     int hashCode -> f
     int maxRunBeforeFallback -> d
@@ -15141,7 +15146,7 @@
     4:12:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ImmutableSet.rebuildHashTable(int,java.lang.Object[],int):442:450 -> c
     4:12:com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl review():816 -> c
     13:17:com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl review():816:820 -> c
-com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl -> com.android.tools.r8.internal.Jo:
+com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl -> com.android.tools.r8.internal.Lo:
     java.lang.Object[] dedupedElements -> a
     int distinct -> b
     1:3:void <init>(int):566:568 -> <init>
@@ -15154,7 +15159,7 @@
     2:5:void addDedupedElement(java.lang.Object):591 -> b
     6:6:void addDedupedElement(java.lang.Object):592:592 -> b
     com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl review() -> c
-com.android.tools.r8.com.google.common.collect.IndexedImmutableSet -> com.android.tools.r8.internal.So:
+com.android.tools.r8.com.google.common.collect.IndexedImmutableSet -> com.android.tools.r8.internal.Uo:
     1:1:void <init>():27:27 -> <init>
     1:1:int copyIntoArray(java.lang.Object[],int):52:52 -> a
     1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():32:32 -> f
@@ -15164,14 +15169,14 @@
     3:5:void forEach(java.util.function.Consumer):43:45 -> forEach
     1:1:com.android.tools.r8.com.google.common.collect.ImmutableList createAsList():57:57 -> h
     1:1:java.util.Spliterator spliterator():37:37 -> spliterator
-com.android.tools.r8.com.google.common.collect.IndexedImmutableSet$1 -> com.android.tools.r8.internal.Ro:
+com.android.tools.r8.com.google.common.collect.IndexedImmutableSet$1 -> com.android.tools.r8.internal.To:
     com.android.tools.r8.com.google.common.collect.IndexedImmutableSet this$0 -> d
     1:1:void <init>(com.android.tools.r8.com.google.common.collect.IndexedImmutableSet):57:57 -> <init>
     1:1:boolean isPartialView():65:65 -> e
     1:1:java.lang.Object get(int):60:60 -> get
     1:1:com.android.tools.r8.com.google.common.collect.ImmutableCollection delegateCollection():75:75 -> j
     1:1:int size():70:70 -> size
-com.android.tools.r8.com.google.common.collect.Iterables -> com.android.tools.r8.internal.av:
+com.android.tools.r8.com.google.common.collect.Iterables -> com.android.tools.r8.internal.cv:
     1:2:boolean contains(java.lang.Iterable,java.lang.Object):136:137 -> a
     3:5:boolean com.android.tools.r8.com.google.common.collect.Collections2.safeContains(java.util.Collection,java.lang.Object):101:103 -> a
     3:5:boolean contains(java.lang.Iterable,java.lang.Object):138 -> a
@@ -15235,12 +15240,12 @@
     9:9:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> d
     9:9:java.lang.Iterable skip(java.lang.Iterable,int):852 -> d
     10:12:java.lang.Iterable skip(java.lang.Iterable,int):853:855 -> d
-com.android.tools.r8.com.google.common.collect.Iterables$10 -> com.android.tools.r8.internal.Vu:
+com.android.tools.r8.com.google.common.collect.Iterables$10 -> com.android.tools.r8.internal.Xu:
     1:1:void <init>():1023:1023 -> <init>
     1:1:java.lang.Object apply(java.lang.Object):1023:1023 -> apply
     2:2:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterables$10.apply(java.lang.Iterable):1026:1026 -> apply
     2:2:java.lang.Object apply(java.lang.Object):1023 -> apply
-com.android.tools.r8.com.google.common.collect.Iterables$4 -> com.android.tools.r8.internal.Wu:
+com.android.tools.r8.com.google.common.collect.Iterables$4 -> com.android.tools.r8.internal.Yu:
     com.android.tools.r8.com.google.common.base.Predicate val$retainIfTrue -> d
     java.lang.Iterable val$unfiltered -> c
     1:1:void <init>(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):556:556 -> <init>
@@ -15271,7 +15276,7 @@
     4:4:java.util.Spliterator spliterator():575 -> spliterator
     5:5:java.util.Spliterator com.android.tools.r8.com.google.common.collect.CollectSpliterators.filter(java.util.Spliterator,java.util.function.Predicate):194:194 -> spliterator
     5:5:java.util.Spliterator spliterator():575 -> spliterator
-com.android.tools.r8.com.google.common.collect.Iterables$5 -> com.android.tools.r8.internal.Xu:
+com.android.tools.r8.com.google.common.collect.Iterables$5 -> com.android.tools.r8.internal.Zu:
     java.lang.Iterable val$fromIterable -> c
     com.android.tools.r8.com.google.common.base.Function val$function -> d
     1:1:void <init>(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Function):695:695 -> <init>
@@ -15289,7 +15294,7 @@
     4:4:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators.transform(java.util.Iterator,com.android.tools.r8.com.google.common.base.Function):780:780 -> iterator
     4:4:java.util.Iterator iterator():698 -> iterator
     1:1:java.util.Spliterator spliterator():709:709 -> spliterator
-com.android.tools.r8.com.google.common.collect.Iterables$6 -> com.android.tools.r8.internal.Zu:
+com.android.tools.r8.com.google.common.collect.Iterables$6 -> com.android.tools.r8.internal.bv:
     int val$numberToSkip -> d
     java.lang.Iterable val$iterable -> c
     1:1:void <init>(java.lang.Iterable,int):855:855 -> <init>
@@ -15303,7 +15308,7 @@
     11:15:java.util.Iterator iterator():865 -> iterator
     16:16:java.util.Iterator iterator():872:872 -> iterator
     1:6:java.util.Spliterator spliterator():897:902 -> spliterator
-com.android.tools.r8.com.google.common.collect.Iterables$6$1 -> com.android.tools.r8.internal.Yu:
+com.android.tools.r8.com.google.common.collect.Iterables$6$1 -> com.android.tools.r8.internal.av:
     java.util.Iterator val$iterator -> c
     boolean atStart -> b
     1:2:void <init>(com.android.tools.r8.com.google.common.collect.Iterables$6,java.util.Iterator):872:873 -> <init>
@@ -15313,7 +15318,7 @@
     2:2:void com.android.tools.r8.com.google.common.collect.CollectPreconditions.checkRemove(boolean):63:63 -> remove
     2:2:void remove():889 -> remove
     3:3:void remove():890:890 -> remove
-com.android.tools.r8.com.google.common.collect.Iterators -> com.android.tools.r8.internal.ov:
+com.android.tools.r8.com.google.common.collect.Iterators -> com.android.tools.r8.internal.qv:
     1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator com.android.tools.r8.com.google.common.collect.Iterators.emptyListIterator():88:88 -> a
     1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator emptyIterator():77 -> a
     2:6:boolean removeAll(java.util.Iterator,java.util.Collection):198:202 -> a
@@ -15352,35 +15357,35 @@
     37:37:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator com.android.tools.r8.com.google.common.collect.Iterators.forArray(java.lang.Object[],int,int,int):1022:1022 -> a
     37:37:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator forArray(java.lang.Object[]):1001 -> a
     38:38:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator singletonIterator(java.lang.Object):1049:1049 -> a
-com.android.tools.r8.com.google.common.collect.Iterators$1 -> com.android.tools.r8.internal.ev:
+com.android.tools.r8.com.google.common.collect.Iterators$1 -> com.android.tools.r8.internal.gv:
     java.util.Iterator val$iterator -> b
     1:1:void <init>(java.util.Iterator):133:133 -> <init>
     1:1:boolean hasNext():136:136 -> hasNext
     1:1:java.lang.Object next():141:141 -> next
-com.android.tools.r8.com.google.common.collect.Iterators$2 -> com.android.tools.r8.internal.fv:
+com.android.tools.r8.com.google.common.collect.Iterators$2 -> com.android.tools.r8.internal.hv:
     java.util.Iterator iterator -> b
     java.lang.Iterable val$iterable -> c
     1:2:void <init>(java.lang.Iterable):391:392 -> <init>
     1:1:boolean hasNext():405:405 -> hasNext
     1:7:java.lang.Object next():410:416 -> next
     1:1:void remove():421:421 -> remove
-com.android.tools.r8.com.google.common.collect.Iterators$3 -> com.android.tools.r8.internal.gv:
+com.android.tools.r8.com.google.common.collect.Iterators$3 -> com.android.tools.r8.internal.iv:
     java.lang.Object[] val$elements -> c
     int index -> b
     1:2:void <init>(java.lang.Object[]):450:451 -> <init>
     1:1:boolean hasNext():455:455 -> hasNext
     1:6:java.lang.Object next():460:465 -> next
     7:7:java.lang.Object next():461:461 -> next
-com.android.tools.r8.com.google.common.collect.Iterators$5 -> com.android.tools.r8.internal.hv:
+com.android.tools.r8.com.google.common.collect.Iterators$5 -> com.android.tools.r8.internal.jv:
     java.util.Iterator val$unfiltered -> d
     com.android.tools.r8.com.google.common.base.Predicate val$retainIfTrue -> e
     1:1:void <init>(java.util.Iterator,com.android.tools.r8.com.google.common.base.Predicate):632:632 -> <init>
     1:7:java.lang.Object computeNext():635:641 -> l
-com.android.tools.r8.com.google.common.collect.Iterators$6 -> com.android.tools.r8.internal.iv:
+com.android.tools.r8.com.google.common.collect.Iterators$6 -> com.android.tools.r8.internal.kv:
     com.android.tools.r8.com.google.common.base.Function val$function -> c
     1:1:void <init>(java.util.Iterator,com.android.tools.r8.com.google.common.base.Function):780:780 -> <init>
     1:1:java.lang.Object transform(java.lang.Object):783:783 -> a
-com.android.tools.r8.com.google.common.collect.Iterators$7 -> com.android.tools.r8.internal.jv:
+com.android.tools.r8.com.google.common.collect.Iterators$7 -> com.android.tools.r8.internal.lv:
     java.util.Iterator val$iterator -> d
     int count -> b
     int val$limitSize -> c
@@ -15389,21 +15394,21 @@
     1:5:java.lang.Object next():917:921 -> next
     6:6:java.lang.Object next():918:918 -> next
     1:1:void remove():926:926 -> remove
-com.android.tools.r8.com.google.common.collect.Iterators$9 -> com.android.tools.r8.internal.kv:
+com.android.tools.r8.com.google.common.collect.Iterators$9 -> com.android.tools.r8.internal.mv:
     java.lang.Object val$value -> c
     boolean done -> b
     1:1:void <init>(java.lang.Object):1049:1049 -> <init>
     1:1:boolean hasNext():1054:1054 -> hasNext
     1:5:java.lang.Object next():1059:1063 -> next
     6:6:java.lang.Object next():1060:1060 -> next
-com.android.tools.r8.com.google.common.collect.Iterators$ArrayItr -> com.android.tools.r8.internal.lv:
+com.android.tools.r8.com.google.common.collect.Iterators$ArrayItr -> com.android.tools.r8.internal.nv:
     java.lang.Object[] array -> d
     com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator EMPTY -> f
     int offset -> e
     1:1:void <clinit>():1026:1026 -> <clinit>
     1:3:void <init>(java.lang.Object[],int,int,int):1032:1034 -> <init>
     1:1:java.lang.Object get(int):1039:1039 -> a
-com.android.tools.r8.com.google.common.collect.Iterators$ConcatenatedIterator -> com.android.tools.r8.internal.mv:
+com.android.tools.r8.com.google.common.collect.Iterators$ConcatenatedIterator -> com.android.tools.r8.internal.ov:
     java.util.Iterator topMetaIterator -> d
     java.util.Iterator iterator -> c
     java.util.Iterator toRemove -> b
@@ -15423,14 +15428,14 @@
     2:2:void com.android.tools.r8.com.google.common.collect.CollectPreconditions.checkRemove(boolean):63:63 -> remove
     2:2:void remove():1372 -> remove
     3:4:void remove():1373:1374 -> remove
-com.android.tools.r8.com.google.common.collect.Iterators$EmptyModifiableIterator -> com.android.tools.r8.internal.nv:
+com.android.tools.r8.com.google.common.collect.Iterators$EmptyModifiableIterator -> com.android.tools.r8.internal.pv:
     com.android.tools.r8.com.google.common.collect.Iterators$EmptyModifiableIterator INSTANCE -> b
     1:1:void <clinit>():96:96 -> <clinit>
     1:1:void <init>(java.lang.String,int):95:95 -> <init>
     1:1:java.lang.Object next():105:105 -> next
     1:1:void com.android.tools.r8.com.google.common.collect.CollectPreconditions.checkRemove(boolean):63:63 -> remove
     1:1:void remove():110 -> remove
-com.android.tools.r8.com.google.common.collect.JdkBackedImmutableBiMap -> com.android.tools.r8.internal.xv:
+com.android.tools.r8.com.google.common.collect.JdkBackedImmutableBiMap -> com.android.tools.r8.internal.zv:
     com.android.tools.r8.com.google.common.collect.JdkBackedImmutableBiMap inverse -> i
     com.android.tools.r8.com.google.common.collect.ImmutableList entries -> f
     java.util.Map forwardDelegate -> g
@@ -15467,8 +15472,8 @@
     boolean isPartialView() -> o
     1:1:int size():65:65 -> size
     1:7:com.android.tools.r8.com.google.common.collect.ImmutableBiMap inverse():72:78 -> u
-com.android.tools.r8.com.google.common.collect.JdkBackedImmutableBiMap$1 -> com.android.tools.r8.internal.vv:
-com.android.tools.r8.com.google.common.collect.JdkBackedImmutableBiMap$InverseEntries -> com.android.tools.r8.internal.wv:
+com.android.tools.r8.com.google.common.collect.JdkBackedImmutableBiMap$1 -> com.android.tools.r8.internal.xv:
+com.android.tools.r8.com.google.common.collect.JdkBackedImmutableBiMap$InverseEntries -> com.android.tools.r8.internal.yv:
     com.android.tools.r8.com.google.common.collect.JdkBackedImmutableBiMap this$0 -> d
     1:1:void <init>(com.android.tools.r8.com.google.common.collect.JdkBackedImmutableBiMap):84:84 -> <init>
     2:2:void <init>(com.android.tools.r8.com.google.common.collect.JdkBackedImmutableBiMap,com.android.tools.r8.com.google.common.collect.JdkBackedImmutableBiMap$1):84:84 -> <init>
@@ -15479,7 +15484,7 @@
     3:3:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.JdkBackedImmutableBiMap$InverseEntries.get(int):88 -> get
     3:3:java.lang.Object get(int):83 -> get
     1:1:int size():98:98 -> size
-com.android.tools.r8.com.google.common.collect.JdkBackedImmutableMap -> com.android.tools.r8.internal.yv:
+com.android.tools.r8.com.google.common.collect.JdkBackedImmutableMap -> com.android.tools.r8.internal.Av:
     com.android.tools.r8.com.google.common.collect.ImmutableList entries -> g
     java.util.Map delegateMap -> f
     1:3:void <init>(java.util.Map,com.android.tools.r8.com.google.common.collect.ImmutableList):53:55 -> <init>
@@ -15501,7 +15506,7 @@
     1:1:com.android.tools.r8.com.google.common.collect.ImmutableCollection createValues():86:86 -> m
     boolean isPartialView() -> o
     1:1:int size():60:60 -> size
-com.android.tools.r8.com.google.common.collect.JdkBackedImmutableMultiset -> com.android.tools.r8.internal.zv:
+com.android.tools.r8.com.google.common.collect.JdkBackedImmutableMultiset -> com.android.tools.r8.internal.Bv:
     com.android.tools.r8.com.google.common.collect.ImmutableSet elementSet -> i
     long size -> h
     com.android.tools.r8.com.google.common.collect.ImmutableList entries -> g
@@ -15522,7 +15527,7 @@
     1:2:com.android.tools.r8.com.google.common.collect.ImmutableSet elementSet():72:73 -> h
     1:1:com.android.tools.r8.com.google.common.collect.Multiset$Entry getEntry(int):78:78 -> i
     1:1:int size():88:88 -> size
-com.android.tools.r8.com.google.common.collect.JdkBackedImmutableSet -> com.android.tools.r8.internal.Av:
+com.android.tools.r8.com.google.common.collect.JdkBackedImmutableSet -> com.android.tools.r8.internal.Cv:
     java.util.Set delegate -> e
     com.android.tools.r8.com.google.common.collect.ImmutableList delegateList -> f
     1:3:void <init>(java.util.Set,com.android.tools.r8.com.google.common.collect.ImmutableList):33:35 -> <init>
@@ -15530,7 +15535,7 @@
     boolean isPartialView() -> e
     1:1:java.lang.Object get(int):40:40 -> get
     1:1:int size():55:55 -> size
-com.android.tools.r8.com.google.common.collect.LinkedHashMultiset -> com.android.tools.r8.internal.aC:
+com.android.tools.r8.com.google.common.collect.LinkedHashMultiset -> com.android.tools.r8.internal.fC:
     1:1:void <init>():74:74 -> <init>
     2:2:void <init>(int):78:78 -> <init>
     1:2:int com.android.tools.r8.com.google.common.collect.Multisets.inferDistinctElements(java.lang.Iterable):378:379 -> a
@@ -15543,7 +15548,7 @@
     1:1:boolean isEmpty():41 -> isEmpty
     1:1:java.util.Iterator com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset.iterator():185:185 -> iterator
     1:1:java.util.Iterator iterator():41 -> iterator
-com.android.tools.r8.com.google.common.collect.Lists -> com.android.tools.r8.internal.oC:
+com.android.tools.r8.com.google.common.collect.Lists -> com.android.tools.r8.internal.tC:
     1:1:java.util.ArrayList newArrayList(java.lang.Object[]):103:103 -> a
     2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
     2:2:java.util.ArrayList newArrayList(java.lang.Object[]):103 -> a
@@ -15567,9 +15572,9 @@
     27:44:boolean equalsImpl(java.util.List,java.lang.Object):969:986 -> a
     45:55:boolean com.android.tools.r8.com.google.common.collect.Iterators.elementsEqual(java.util.Iterator,java.util.Iterator):263:273 -> a
     45:55:boolean equalsImpl(java.util.List,java.lang.Object):986 -> a
-com.android.tools.r8.com.google.common.collect.Lists$RandomAccessReverseList -> com.android.tools.r8.internal.lC:
+com.android.tools.r8.com.google.common.collect.Lists$RandomAccessReverseList -> com.android.tools.r8.internal.qC:
     1:1:void <init>(java.util.List):947:947 -> <init>
-com.android.tools.r8.com.google.common.collect.Lists$ReverseList -> com.android.tools.r8.internal.nC:
+com.android.tools.r8.com.google.common.collect.Lists$ReverseList -> com.android.tools.r8.internal.sC:
     java.util.List forwardList -> b
     1:2:void <init>(java.util.List):810:811 -> <init>
     1:1:java.util.List getForwardList():815:815 -> a
@@ -15632,7 +15637,7 @@
     7:7:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.reversePosition(int):826:826 -> subList
     7:7:java.util.List subList(int,int):868 -> subList
     8:8:java.util.List subList(int,int):868:868 -> subList
-com.android.tools.r8.com.google.common.collect.Lists$ReverseList$1 -> com.android.tools.r8.internal.mC:
+com.android.tools.r8.com.google.common.collect.Lists$ReverseList$1 -> com.android.tools.r8.internal.rC:
     java.util.ListIterator val$forwardIterator -> c
     com.android.tools.r8.com.google.common.collect.Lists$ReverseList this$0 -> d
     boolean canRemoveOrSet -> b
@@ -15657,7 +15662,7 @@
     1:2:void set(java.lang.Object):938:939 -> set
     3:3:void com.android.tools.r8.com.google.common.base.Preconditions.checkState(boolean):494:494 -> set
     3:3:void set(java.lang.Object):938 -> set
-com.android.tools.r8.com.google.common.collect.Maps -> com.android.tools.r8.internal.LD:
+com.android.tools.r8.com.google.common.collect.Maps -> com.android.tools.r8.internal.QD:
     1:1:java.util.HashMap newHashMap():226:226 -> a
     2:2:int capacity(int):268:268 -> a
     3:3:java.lang.Object safeGet(java.util.Map,java.lang.Object):3513:3513 -> a
@@ -15667,22 +15672,22 @@
     1:1:java.util.HashMap newHashMapWithExpectedSize(int):259:259 -> b
     2:2:java.util.IdentityHashMap newIdentityHashMap():431:431 -> b
     1:1:java.util.LinkedHashMap newLinkedHashMapWithExpectedSize(int):325:325 -> c
-com.android.tools.r8.com.google.common.collect.Maps$1 -> com.android.tools.r8.internal.zD:
+com.android.tools.r8.com.google.common.collect.Maps$1 -> com.android.tools.r8.internal.ED:
     1:1:void <init>(java.util.Iterator):117:117 -> <init>
     1:1:java.lang.Object transform(java.lang.Object):117:117 -> a
     2:2:java.lang.Object com.android.tools.r8.com.google.common.collect.Maps$1.transform(java.util.Map$Entry):120:120 -> a
     2:2:java.lang.Object transform(java.lang.Object):117 -> a
-com.android.tools.r8.com.google.common.collect.Maps$2 -> com.android.tools.r8.internal.AD:
+com.android.tools.r8.com.google.common.collect.Maps$2 -> com.android.tools.r8.internal.FD:
     1:1:void <init>(java.util.Iterator):126:126 -> <init>
     1:1:java.lang.Object transform(java.lang.Object):126:126 -> a
     2:2:java.lang.Object com.android.tools.r8.com.google.common.collect.Maps$2.transform(java.util.Map$Entry):129:129 -> a
     2:2:java.lang.Object transform(java.lang.Object):126 -> a
-com.android.tools.r8.com.google.common.collect.Maps$7 -> com.android.tools.r8.internal.BD:
+com.android.tools.r8.com.google.common.collect.Maps$7 -> com.android.tools.r8.internal.GD:
     java.util.Map$Entry val$entry -> b
     1:1:void <init>(java.util.Map$Entry):1346:1346 -> <init>
     1:1:java.lang.Object getKey():1349:1349 -> getKey
     1:1:java.lang.Object getValue():1354:1354 -> getValue
-com.android.tools.r8.com.google.common.collect.Maps$8 -> com.android.tools.r8.internal.CD:
+com.android.tools.r8.com.google.common.collect.Maps$8 -> com.android.tools.r8.internal.HD:
     java.util.Iterator val$entryIterator -> b
     1:1:void <init>(java.util.Iterator):1361:1361 -> <init>
     1:1:boolean hasNext():1364:1364 -> hasNext
@@ -15698,23 +15703,23 @@
     4:4:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.Maps.unmodifiableEntry(java.util.Map$Entry):1346:1346 -> next
     4:4:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.Maps$8.next():1369 -> next
     4:4:java.lang.Object next():1361 -> next
-com.android.tools.r8.com.google.common.collect.Maps$EntryFunction -> com.android.tools.r8.internal.FD:
+com.android.tools.r8.com.google.common.collect.Maps$EntryFunction -> com.android.tools.r8.internal.KD:
     com.android.tools.r8.com.google.common.collect.Maps$EntryFunction VALUE -> c
     com.android.tools.r8.com.google.common.collect.Maps$EntryFunction KEY -> b
     1:7:void <clinit>():92:98 -> <clinit>
     1:1:void <init>(java.lang.String,int):91:91 -> <init>
     2:2:void <init>(java.lang.String,int,com.android.tools.r8.com.google.common.collect.Maps$1):91:91 -> <init>
-com.android.tools.r8.com.google.common.collect.Maps$EntryFunction$1 -> com.android.tools.r8.internal.DD:
+com.android.tools.r8.com.google.common.collect.Maps$EntryFunction$1 -> com.android.tools.r8.internal.ID:
     1:1:void <init>(java.lang.String,int):92:92 -> <init>
     1:1:java.lang.Object apply(java.lang.Object):92:92 -> apply
     2:2:java.lang.Object com.android.tools.r8.com.google.common.collect.Maps$EntryFunction$1.apply(java.util.Map$Entry):95:95 -> apply
     2:2:java.lang.Object apply(java.lang.Object):92 -> apply
-com.android.tools.r8.com.google.common.collect.Maps$EntryFunction$2 -> com.android.tools.r8.internal.ED:
+com.android.tools.r8.com.google.common.collect.Maps$EntryFunction$2 -> com.android.tools.r8.internal.JD:
     1:1:void <init>(java.lang.String,int):98:98 -> <init>
     1:1:java.lang.Object apply(java.lang.Object):98:98 -> apply
     2:2:java.lang.Object com.android.tools.r8.com.google.common.collect.Maps$EntryFunction$2.apply(java.util.Map$Entry):101:101 -> apply
     2:2:java.lang.Object apply(java.lang.Object):98 -> apply
-com.android.tools.r8.com.google.common.collect.Maps$EntrySet -> com.android.tools.r8.internal.GD:
+com.android.tools.r8.com.google.common.collect.Maps$EntrySet -> com.android.tools.r8.internal.LD:
     1:1:void <init>():3900:3900 -> <init>
     java.util.Map map() -> a
     1:1:void clear():3910:3910 -> clear
@@ -15732,21 +15737,21 @@
     2:2:boolean retainAll(java.util.Collection):3951 -> retainAll
     3:13:boolean retainAll(java.util.Collection):3951:3961 -> retainAll
     1:1:int size():3905:3905 -> size
-com.android.tools.r8.com.google.common.collect.Maps$IteratorBasedAbstractMap -> com.android.tools.r8.internal.ID:
+com.android.tools.r8.com.google.common.collect.Maps$IteratorBasedAbstractMap -> com.android.tools.r8.internal.ND:
     1:1:void <init>():3462:3462 -> <init>
     1:1:void forEachEntry(java.util.function.Consumer):3499:3499 -> a
     java.util.Iterator entryIterator() -> e
     1:1:java.util.Set entrySet():3475:3475 -> entrySet
     1:1:java.util.Spliterator entrySpliterator():3470:3470 -> k
     2:2:java.util.Spliterator entrySpliterator():3469:3469 -> k
-com.android.tools.r8.com.google.common.collect.Maps$IteratorBasedAbstractMap$1 -> com.android.tools.r8.internal.HD:
+com.android.tools.r8.com.google.common.collect.Maps$IteratorBasedAbstractMap$1 -> com.android.tools.r8.internal.MD:
     com.android.tools.r8.com.google.common.collect.Maps$IteratorBasedAbstractMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.com.google.common.collect.Maps$IteratorBasedAbstractMap):3475:3475 -> <init>
     1:1:java.util.Map map():3478:3478 -> a
     1:1:void forEach(java.util.function.Consumer):3493:3493 -> forEach
     1:1:java.util.Iterator iterator():3483:3483 -> iterator
     1:1:java.util.Spliterator spliterator():3488:3488 -> spliterator
-com.android.tools.r8.com.google.common.collect.Maps$KeySet -> com.android.tools.r8.internal.JD:
+com.android.tools.r8.com.google.common.collect.Maps$KeySet -> com.android.tools.r8.internal.OD:
     java.util.Map map -> b
     1:2:void <init>(java.util.Map):3629:3630 -> <init>
     1:1:void lambda$forEach$0(java.util.function.Consumer,java.lang.Object,java.lang.Object):3646:3646 -> a
@@ -15766,7 +15771,7 @@
     1:1:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$KeySet.map():3634:3634 -> size
     1:1:int size():3651 -> size
     2:2:int size():3651:3651 -> size
-com.android.tools.r8.com.google.common.collect.Maps$Values -> com.android.tools.r8.internal.KD:
+com.android.tools.r8.com.google.common.collect.Maps$Values -> com.android.tools.r8.internal.PD:
     java.util.Map map -> b
     1:2:void <init>(java.util.Map):3814:3815 -> <init>
     1:1:void lambda$forEach$0(java.util.function.Consumer,java.lang.Object,java.lang.Object):3831:3831 -> a
@@ -15822,12 +15827,12 @@
     1:1:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$Values.map():3819:3819 -> size
     1:1:int size():3881 -> size
     2:2:int size():3881:3881 -> size
-com.android.tools.r8.com.google.common.collect.Multimap -> com.android.tools.r8.internal.fG:
+com.android.tools.r8.com.google.common.collect.Multimap -> com.android.tools.r8.internal.kG:
     boolean containsEntry(java.lang.Object,java.lang.Object) -> a
     java.util.Collection entries() -> a
     java.util.Map asMap() -> b
     com.android.tools.r8.com.google.common.collect.Multiset keys() -> c
-com.android.tools.r8.com.google.common.collect.Multimaps$Keys -> com.android.tools.r8.internal.iG:
+com.android.tools.r8.com.google.common.collect.Multimaps$Keys -> com.android.tools.r8.internal.nG:
     com.android.tools.r8.com.google.common.collect.Multimap multimap -> d
     1:2:void <init>(com.android.tools.r8.com.google.common.collect.Multimap):1664:1665 -> <init>
     1:1:java.util.Set elementSet():1759:1759 -> D
@@ -15848,17 +15853,17 @@
     2:2:java.util.Iterator iterator():1717 -> iterator
     1:1:int size():1707:1707 -> size
     1:1:java.util.Spliterator spliterator():1691:1691 -> spliterator
-com.android.tools.r8.com.google.common.collect.Multimaps$Keys$1 -> com.android.tools.r8.internal.hG:
+com.android.tools.r8.com.google.common.collect.Multimaps$Keys$1 -> com.android.tools.r8.internal.mG:
     1:1:void <init>(com.android.tools.r8.com.google.common.collect.Multimaps$Keys,java.util.Iterator):1671:1671 -> <init>
     1:1:java.lang.Object transform(java.lang.Object):1671:1671 -> a
     2:2:com.android.tools.r8.com.google.common.collect.Multiset$Entry com.android.tools.r8.com.google.common.collect.Multimaps$Keys$1.transform(java.util.Map$Entry):1674:1674 -> a
     2:2:java.lang.Object transform(java.lang.Object):1671 -> a
-com.android.tools.r8.com.google.common.collect.Multimaps$Keys$1$1 -> com.android.tools.r8.internal.gG:
+com.android.tools.r8.com.google.common.collect.Multimaps$Keys$1$1 -> com.android.tools.r8.internal.lG:
     java.util.Map$Entry val$backingEntry -> b
     1:1:void <init>(com.android.tools.r8.com.google.common.collect.Multimaps$Keys$1,java.util.Map$Entry):1674:1674 -> <init>
     1:1:int getCount():1682:1682 -> a
     1:1:java.lang.Object getElement():1677:1677 -> b
-com.android.tools.r8.com.google.common.collect.Multiset -> com.android.tools.r8.internal.kG:
+com.android.tools.r8.com.google.common.collect.Multiset -> com.android.tools.r8.internal.pG:
     java.util.Set elementSet() -> D
     int setCount(java.lang.Object,int) -> a
     boolean setCount(java.lang.Object,int,int) -> a
@@ -15876,10 +15881,10 @@
     2:2:void forEach(java.util.function.Consumer):459 -> forEach
     3:4:void forEach(java.util.function.Consumer):460:461 -> forEach
     1:1:java.util.Spliterator spliterator():473:473 -> spliterator
-com.android.tools.r8.com.google.common.collect.Multiset$Entry -> com.android.tools.r8.internal.jG:
+com.android.tools.r8.com.google.common.collect.Multiset$Entry -> com.android.tools.r8.internal.oG:
     int getCount() -> a
     java.lang.Object getElement() -> b
-com.android.tools.r8.com.google.common.collect.Multisets -> com.android.tools.r8.internal.pG:
+com.android.tools.r8.com.google.common.collect.Multisets -> com.android.tools.r8.internal.uG:
     1:13:boolean equalsImpl(com.android.tools.r8.com.google.common.collect.Multiset,java.lang.Object):858:870 -> a
     14:14:boolean addAllImpl(com.android.tools.r8.com.google.common.collect.Multiset,java.util.Collection):881:881 -> a
     15:15:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
@@ -15902,26 +15907,26 @@
     34:34:com.android.tools.r8.com.google.common.collect.ImmutableMultiset copyHighestCountFirst(com.android.tools.r8.com.google.common.collect.Multiset):1131 -> a
     1:8:java.util.Spliterator spliteratorImpl(com.android.tools.r8.com.google.common.collect.Multiset):1097:1104 -> b
     9:9:java.util.Spliterator spliteratorImpl(com.android.tools.r8.com.google.common.collect.Multiset):1098:1098 -> b
-com.android.tools.r8.com.google.common.collect.Multisets$AbstractEntry -> com.android.tools.r8.internal.lG:
+com.android.tools.r8.com.google.common.collect.Multisets$AbstractEntry -> com.android.tools.r8.internal.qG:
     1:1:void <init>():814:814 -> <init>
     1:4:boolean equals(java.lang.Object):821:824 -> equals
     1:2:int hashCode():835:836 -> hashCode
     1:3:java.lang.String toString():847:849 -> toString
-com.android.tools.r8.com.google.common.collect.Multisets$DecreasingCount -> com.android.tools.r8.internal.mG:
+com.android.tools.r8.com.google.common.collect.Multisets$DecreasingCount -> com.android.tools.r8.internal.rG:
     com.android.tools.r8.com.google.common.collect.Multisets$DecreasingCount INSTANCE -> b
     1:1:void <clinit>():1135:1135 -> <clinit>
     1:1:void <init>():1134:1134 -> <init>
     1:1:int compare(java.lang.Object,java.lang.Object):1134:1134 -> compare
     2:2:int com.android.tools.r8.com.google.common.collect.Multisets$DecreasingCount.compare(com.android.tools.r8.com.google.common.collect.Multiset$Entry,com.android.tools.r8.com.google.common.collect.Multiset$Entry):1139:1139 -> compare
     2:2:int compare(java.lang.Object,java.lang.Object):1134 -> compare
-com.android.tools.r8.com.google.common.collect.Multisets$ImmutableEntry -> com.android.tools.r8.internal.nG:
+com.android.tools.r8.com.google.common.collect.Multisets$ImmutableEntry -> com.android.tools.r8.internal.sG:
     java.lang.Object element -> b
     int count -> c
     1:4:void <init>(java.lang.Object,int):242:245 -> <init>
     1:1:int getCount():255:255 -> a
     1:1:java.lang.Object getElement():250:250 -> b
     com.android.tools.r8.com.google.common.collect.Multisets$ImmutableEntry nextInBucket() -> c
-com.android.tools.r8.com.google.common.collect.Multisets$MultisetIteratorImpl -> com.android.tools.r8.internal.oG:
+com.android.tools.r8.com.google.common.collect.Multisets$MultisetIteratorImpl -> com.android.tools.r8.internal.tG:
     java.util.Iterator entryIterator -> c
     com.android.tools.r8.com.google.common.collect.Multiset$Entry currentEntry -> d
     int totalCount -> f
@@ -15936,7 +15941,7 @@
     2:2:void com.android.tools.r8.com.google.common.collect.CollectPreconditions.checkRemove(boolean):63:63 -> remove
     2:2:void remove():1085 -> remove
     3:9:void remove():1086:1092 -> remove
-com.android.tools.r8.com.google.common.collect.NaturalOrdering -> com.android.tools.r8.internal.BG:
+com.android.tools.r8.com.google.common.collect.NaturalOrdering -> com.android.tools.r8.internal.GG:
     com.android.tools.r8.com.google.common.collect.NaturalOrdering INSTANCE -> b
     1:1:void <clinit>():29:29 -> <clinit>
     1:1:void <init>():74:74 -> <init>
@@ -15952,7 +15957,7 @@
     5:5:int com.android.tools.r8.com.google.common.collect.NaturalOrdering.compare(java.lang.Comparable,java.lang.Comparable):38:38 -> compare
     5:5:int compare(java.lang.Object,java.lang.Object):26 -> compare
     1:1:java.lang.String toString():71:71 -> toString
-com.android.tools.r8.com.google.common.collect.ObjectArrays -> com.android.tools.r8.internal.ZJ:
+com.android.tools.r8.com.google.common.collect.ObjectArrays -> com.android.tools.r8.internal.eK:
     1:1:java.lang.Object[] newArray(java.lang.Object[],int):59:59 -> a
     2:7:java.lang.Object[] com.android.tools.r8.com.google.common.collect.Platform.newArray(java.lang.Object[],int):84:89 -> a
     2:7:java.lang.Object[] newArray(java.lang.Object[],int):59 -> a
@@ -15962,10 +15967,10 @@
     10:10:java.lang.Object com.android.tools.r8.com.google.common.collect.ObjectArrays.checkElementNotNull(java.lang.Object,int):225:225 -> a
     10:10:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ObjectArrays.checkElementsNotNull(java.lang.Object[],int):215 -> a
     10:10:java.lang.Object[] checkElementsNotNull(java.lang.Object[]):209 -> a
-com.android.tools.r8.com.google.common.collect.Ordering -> com.android.tools.r8.internal.gL:
+com.android.tools.r8.com.google.common.collect.Ordering -> com.android.tools.r8.internal.lL:
     1:1:void <init>():391:391 -> <init>
     1:1:com.android.tools.r8.com.google.common.collect.Ordering natural():162:162 -> a
-com.android.tools.r8.com.google.common.collect.Platform -> com.android.tools.r8.internal.dM:
+com.android.tools.r8.com.google.common.collect.Platform -> com.android.tools.r8.internal.iM:
 # {"id":"sourceFile","fileName":"Platform.java"}
     int $r8$clinit -> a
     1:1:void <clinit>():33:33 -> <clinit>
@@ -15973,7 +15978,7 @@
     2:2:java.lang.Object[] copy(java.lang.Object[],int,int,java.lang.Object[]):95:95 -> a
     1:1:java.util.LinkedHashMap com.android.tools.r8.com.google.common.collect.Maps.newLinkedHashMap():292:292 -> b
     1:1:java.util.Map preservesInsertionOrderOnPutsMap():66 -> b
-com.android.tools.r8.com.google.common.collect.RegularImmutableAsList -> com.android.tools.r8.internal.FS:
+com.android.tools.r8.com.google.common.collect.RegularImmutableAsList -> com.android.tools.r8.internal.KS:
     com.android.tools.r8.com.google.common.collect.ImmutableCollection delegate -> d
     com.android.tools.r8.com.google.common.collect.ImmutableList delegateList -> e
     1:3:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableCollection,com.android.tools.r8.com.google.common.collect.ImmutableList):35:37 -> <init>
@@ -15987,7 +15992,7 @@
     1:1:com.android.tools.r8.com.google.common.collect.ImmutableCollection delegateCollection():46:46 -> j
     1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator com.android.tools.r8.com.google.common.collect.RegularImmutableAsList.listIterator(int):56:56 -> listIterator
     1:1:java.util.ListIterator listIterator(int):29 -> listIterator
-com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap -> com.android.tools.r8.internal.KS:
+com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap -> com.android.tools.r8.internal.PS:
     com.android.tools.r8.com.google.common.collect.ImmutableBiMap inverse -> k
     com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[] keyTable -> f
     com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[] valueTable -> g
@@ -16065,8 +16070,8 @@
     2:2:com.android.tools.r8.com.google.common.collect.ImmutableBiMap com.android.tools.r8.com.google.common.collect.ImmutableBiMap.of():67:67 -> u
     2:2:com.android.tools.r8.com.google.common.collect.ImmutableBiMap inverse():186 -> u
     3:4:com.android.tools.r8.com.google.common.collect.ImmutableBiMap inverse():188:189 -> u
-com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap$1 -> com.android.tools.r8.internal.GS:
-com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap$Inverse -> com.android.tools.r8.internal.JS:
+com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap$1 -> com.android.tools.r8.internal.LS:
+com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap$Inverse -> com.android.tools.r8.internal.OS:
     com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap this$0 -> f
     1:1:void <init>(com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap):192:192 -> <init>
     2:2:void <init>(com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap,com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap$1):192:192 -> <init>
@@ -16093,7 +16098,7 @@
     2:2:int size():196 -> size
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     1:1:com.android.tools.r8.com.google.common.collect.ImmutableBiMap inverse():201:201 -> u
-com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet -> com.android.tools.r8.internal.IS:
+com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet -> com.android.tools.r8.internal.NS:
     com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap$Inverse this$1 -> e
     1:1:void <init>(com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap$Inverse):236:236 -> <init>
     1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():254:254 -> f
@@ -16104,7 +16109,7 @@
     1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet.iterator():254:254 -> iterator
     1:1:java.util.Iterator iterator():236 -> iterator
     1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap map():239:239 -> k
-com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet$1 -> com.android.tools.r8.internal.HS:
+com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet$1 -> com.android.tools.r8.internal.MS:
     com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet this$2 -> d
     1:1:void <init>(com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet):264:264 -> <init>
     1:2:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet$1.get(int):267:268 -> get
@@ -16113,7 +16118,7 @@
     3:3:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet$1.get(int):268 -> get
     3:3:java.lang.Object get(int):264 -> get
     1:1:com.android.tools.r8.com.google.common.collect.ImmutableCollection delegateCollection():273:273 -> j
-com.android.tools.r8.com.google.common.collect.RegularImmutableList -> com.android.tools.r8.internal.LS:
+com.android.tools.r8.com.google.common.collect.RegularImmutableList -> com.android.tools.r8.internal.QS:
     java.lang.Object[] array -> d
     com.android.tools.r8.com.google.common.collect.ImmutableList EMPTY -> e
     1:1:void <clinit>():32:32 -> <clinit>
@@ -16135,7 +16140,7 @@
     1:1:java.util.ListIterator listIterator(int):29:29 -> listIterator
     1:1:int size():42:42 -> size
     1:1:java.util.Spliterator spliterator():88:88 -> spliterator
-com.android.tools.r8.com.google.common.collect.RegularImmutableMap -> com.android.tools.r8.internal.OS:
+com.android.tools.r8.com.google.common.collect.RegularImmutableMap -> com.android.tools.r8.internal.TS:
     com.android.tools.r8.com.google.common.collect.ImmutableMap EMPTY -> i
     java.util.Map$Entry[] entries -> f
     com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[] table -> g
@@ -16187,7 +16192,7 @@
     1:1:com.android.tools.r8.com.google.common.collect.ImmutableCollection createValues():257:257 -> m
     boolean isPartialView() -> o
     1:1:int size():191:191 -> size
-com.android.tools.r8.com.google.common.collect.RegularImmutableMap$KeySet -> com.android.tools.r8.internal.MS:
+com.android.tools.r8.com.google.common.collect.RegularImmutableMap$KeySet -> com.android.tools.r8.internal.RS:
     com.android.tools.r8.com.google.common.collect.RegularImmutableMap map -> e
     1:2:void <init>(com.android.tools.r8.com.google.common.collect.RegularImmutableMap):213:214 -> <init>
     1:1:boolean contains(java.lang.Object):224:224 -> contains
@@ -16197,7 +16202,7 @@
     2:2:int com.android.tools.r8.com.google.common.collect.RegularImmutableMap.size():191:191 -> size
     2:2:int size():234 -> size
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-com.android.tools.r8.com.google.common.collect.RegularImmutableMap$Values -> com.android.tools.r8.internal.NS:
+com.android.tools.r8.com.google.common.collect.RegularImmutableMap$Values -> com.android.tools.r8.internal.SS:
     com.android.tools.r8.com.google.common.collect.RegularImmutableMap map -> d
     1:2:void <init>(com.android.tools.r8.com.google.common.collect.RegularImmutableMap):264:265 -> <init>
     boolean isPartialView() -> e
@@ -16206,7 +16211,7 @@
     2:2:int com.android.tools.r8.com.google.common.collect.RegularImmutableMap.size():191:191 -> size
     2:2:int size():275 -> size
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-com.android.tools.r8.com.google.common.collect.RegularImmutableMultiset -> com.android.tools.r8.internal.QS:
+com.android.tools.r8.com.google.common.collect.RegularImmutableMultiset -> com.android.tools.r8.internal.VS:
     com.android.tools.r8.com.google.common.collect.ImmutableSet elementSet -> j
     com.android.tools.r8.com.google.common.collect.Multisets$ImmutableEntry[] entries -> f
     com.android.tools.r8.com.google.common.collect.Multisets$ImmutableEntry[] hashTable -> g
@@ -16236,11 +16241,11 @@
     1:1:int hashCode():193:193 -> hashCode
     1:1:com.android.tools.r8.com.google.common.collect.Multiset$Entry getEntry(int):188:188 -> i
     1:1:int size():177:177 -> size
-com.android.tools.r8.com.google.common.collect.RegularImmutableMultiset$NonTerminalEntry -> com.android.tools.r8.internal.PS:
+com.android.tools.r8.com.google.common.collect.RegularImmutableMultiset$NonTerminalEntry -> com.android.tools.r8.internal.US:
     com.android.tools.r8.com.google.common.collect.Multisets$ImmutableEntry nextInBucket -> d
     1:2:void <init>(java.lang.Object,int,com.android.tools.r8.com.google.common.collect.Multisets$ImmutableEntry):142:143 -> <init>
     1:1:com.android.tools.r8.com.google.common.collect.Multisets$ImmutableEntry nextInBucket():148:148 -> c
-com.android.tools.r8.com.google.common.collect.RegularImmutableSet -> com.android.tools.r8.internal.RS:
+com.android.tools.r8.com.google.common.collect.RegularImmutableSet -> com.android.tools.r8.internal.WS:
     java.lang.Object[] elements -> e
     int hashCode -> h
     com.android.tools.r8.com.google.common.collect.RegularImmutableSet EMPTY -> i
@@ -16267,7 +16272,7 @@
     1:1:java.util.Iterator iterator():30 -> iterator
     1:1:int size():69:69 -> size
     1:1:java.util.Spliterator spliterator():79:79 -> spliterator
-com.android.tools.r8.com.google.common.collect.Sets -> com.android.tools.r8.internal.hV:
+com.android.tools.r8.com.google.common.collect.Sets -> com.android.tools.r8.internal.mV:
     1:1:java.util.HashSet newHashSetWithExpectedSize(int):255:255 -> a
     2:2:java.util.Set newConcurrentHashSet():269:269 -> a
     3:6:com.android.tools.r8.com.google.common.collect.Sets$SetView difference(java.util.Set,java.util.Set):859:862 -> a
@@ -16296,8 +16301,8 @@
     1:1:java.util.Set newIdentityHashSet():423 -> c
     2:2:java.util.Set newIdentityHashSet():423:423 -> c
     1:1:java.util.LinkedHashSet newLinkedHashSet():305:305 -> d
-com.android.tools.r8.com.google.common.collect.Sets$1 -> com.android.tools.r8.internal.WU:
-com.android.tools.r8.com.google.common.collect.Sets$2 -> com.android.tools.r8.internal.YU:
+com.android.tools.r8.com.google.common.collect.Sets$1 -> com.android.tools.r8.internal.bV:
+com.android.tools.r8.com.google.common.collect.Sets$2 -> com.android.tools.r8.internal.dV:
     java.util.Set val$set2 -> c
     java.util.Set val$set1 -> b
     1:1:void <init>(java.util.Set,java.util.Set):791:791 -> <init>
@@ -16309,12 +16314,12 @@
     1:1:java.util.stream.Stream parallelStream():817:817 -> parallelStream
     1:2:int size():823:824 -> size
     1:1:java.util.stream.Stream stream():812:812 -> stream
-com.android.tools.r8.com.google.common.collect.Sets$2$1 -> com.android.tools.r8.internal.XU:
+com.android.tools.r8.com.google.common.collect.Sets$2$1 -> com.android.tools.r8.internal.cV:
     java.util.Iterator itr -> d
     com.android.tools.r8.com.google.common.collect.Sets$2 this$0 -> e
     1:2:void <init>(com.android.tools.r8.com.google.common.collect.Sets$2):794:795 -> <init>
     1:7:java.lang.Object computeNext():799:805 -> l
-com.android.tools.r8.com.google.common.collect.Sets$3 -> com.android.tools.r8.internal.aV:
+com.android.tools.r8.com.google.common.collect.Sets$3 -> com.android.tools.r8.internal.fV:
     java.util.Set val$set2 -> c
     java.util.Set val$set1 -> b
     1:1:void <init>(java.util.Set,java.util.Set):862:862 -> <init>
@@ -16327,12 +16332,12 @@
     1:1:java.util.stream.Stream parallelStream():888:888 -> parallelStream
     1:2:int size():894:895 -> size
     1:1:java.util.stream.Stream stream():883:883 -> stream
-com.android.tools.r8.com.google.common.collect.Sets$3$1 -> com.android.tools.r8.internal.ZU:
+com.android.tools.r8.com.google.common.collect.Sets$3$1 -> com.android.tools.r8.internal.eV:
     java.util.Iterator itr -> d
     com.android.tools.r8.com.google.common.collect.Sets$3 this$0 -> e
     1:2:void <init>(com.android.tools.r8.com.google.common.collect.Sets$3):865:866 -> <init>
     1:7:java.lang.Object computeNext():870:876 -> l
-com.android.tools.r8.com.google.common.collect.Sets$5 -> com.android.tools.r8.internal.eV:
+com.android.tools.r8.com.google.common.collect.Sets$5 -> com.android.tools.r8.internal.jV:
     com.android.tools.r8.com.google.common.collect.ImmutableMap val$index -> c
     int val$size -> b
     1:1:void <init>(int,com.android.tools.r8.com.google.common.collect.ImmutableMap):1618:1618 -> <init>
@@ -16340,32 +16345,32 @@
     1:1:java.util.Iterator iterator():1630:1630 -> iterator
     1:1:int size():1697:1697 -> size
     1:1:java.lang.String toString():1702:1702 -> toString
-com.android.tools.r8.com.google.common.collect.Sets$5$1 -> com.android.tools.r8.internal.dV:
+com.android.tools.r8.com.google.common.collect.Sets$5$1 -> com.android.tools.r8.internal.iV:
     java.util.BitSet bits -> d
     com.android.tools.r8.com.google.common.collect.Sets$5 this$0 -> e
     1:2:void <init>(com.android.tools.r8.com.google.common.collect.Sets$5):1630:1631 -> <init>
     1:29:java.util.Set com.android.tools.r8.com.google.common.collect.Sets$5$1.computeNext():1635:1663 -> l
     1:29:java.lang.Object computeNext():1630 -> l
-com.android.tools.r8.com.google.common.collect.Sets$5$1$1 -> com.android.tools.r8.internal.cV:
+com.android.tools.r8.com.google.common.collect.Sets$5$1$1 -> com.android.tools.r8.internal.hV:
     com.android.tools.r8.com.google.common.collect.Sets$5$1 this$1 -> c
     java.util.BitSet val$copy -> b
     1:1:void <init>(com.android.tools.r8.com.google.common.collect.Sets$5$1,java.util.BitSet):1663:1663 -> <init>
     1:2:boolean contains(java.lang.Object):1666:1667 -> contains
     1:1:java.util.Iterator iterator():1672:1672 -> iterator
     1:1:int size():1688:1688 -> size
-com.android.tools.r8.com.google.common.collect.Sets$5$1$1$1 -> com.android.tools.r8.internal.bV:
+com.android.tools.r8.com.google.common.collect.Sets$5$1$1$1 -> com.android.tools.r8.internal.gV:
     com.android.tools.r8.com.google.common.collect.Sets$5$1$1 this$2 -> e
     int i -> d
     1:2:void <init>(com.android.tools.r8.com.google.common.collect.Sets$5$1$1):1672:1673 -> <init>
     1:5:java.lang.Object computeNext():1677:1681 -> l
-com.android.tools.r8.com.google.common.collect.Sets$ImprovedAbstractSet -> com.android.tools.r8.internal.fV:
+com.android.tools.r8.com.google.common.collect.Sets$ImprovedAbstractSet -> com.android.tools.r8.internal.kV:
     1:1:void <init>():76:76 -> <init>
     1:1:boolean removeAll(java.util.Collection):79:79 -> removeAll
     1:1:boolean retainAll(java.util.Collection):84:84 -> retainAll
     2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> retainAll
     2:2:boolean retainAll(java.util.Collection):84 -> retainAll
     3:3:boolean retainAll(java.util.Collection):84:84 -> retainAll
-com.android.tools.r8.com.google.common.collect.Sets$SetView -> com.android.tools.r8.internal.gV:
+com.android.tools.r8.com.google.common.collect.Sets$SetView -> com.android.tools.r8.internal.lV:
     1:1:void <init>(com.android.tools.r8.com.google.common.collect.Sets$1):549:549 -> <init>
     2:2:void <init>():550:550 -> <init>
     1:1:boolean add(java.lang.Object):589:589 -> add
@@ -16375,7 +16380,7 @@
     1:1:boolean removeAll(java.util.Collection):628:628 -> removeAll
     1:1:boolean removeIf(java.util.function.Predicate):641:641 -> removeIf
     1:1:boolean retainAll(java.util.Collection):654:654 -> retainAll
-com.android.tools.r8.com.google.common.collect.SingletonImmutableBiMap -> com.android.tools.r8.internal.NV:
+com.android.tools.r8.com.google.common.collect.SingletonImmutableBiMap -> com.android.tools.r8.internal.SV:
     com.android.tools.r8.com.google.common.collect.ImmutableBiMap lazyInverse -> i
     com.android.tools.r8.com.google.common.collect.ImmutableBiMap inverse -> h
     java.lang.Object singleKey -> f
@@ -16400,7 +16405,7 @@
     2:2:com.android.tools.r8.com.google.common.collect.ImmutableSet createKeySet():91 -> l
     boolean isPartialView() -> o
     1:7:com.android.tools.r8.com.google.common.collect.ImmutableBiMap inverse():99:105 -> u
-com.android.tools.r8.com.google.common.collect.SingletonImmutableList -> com.android.tools.r8.internal.OV:
+com.android.tools.r8.com.google.common.collect.SingletonImmutableList -> com.android.tools.r8.internal.TV:
     java.lang.Object element -> d
     1:2:void <init>(java.lang.Object):37:38 -> <init>
     boolean isPartialView() -> e
@@ -16415,7 +16420,7 @@
     1:1:java.util.Spliterator spliterator():54:54 -> spliterator
     1:1:java.util.List subList(int,int):31:31 -> subList
     1:1:java.lang.String toString():70:70 -> toString
-com.android.tools.r8.com.google.common.collect.SingletonImmutableSet -> com.android.tools.r8.internal.PV:
+com.android.tools.r8.com.google.common.collect.SingletonImmutableSet -> com.android.tools.r8.internal.UV:
     java.lang.Object element -> e
     int cachedHashCode -> f
     1:2:void <init>(java.lang.Object):43:44 -> <init>
@@ -16431,7 +16436,7 @@
     1:3:int hashCode():87:89 -> hashCode
     1:1:boolean isHashCodeFast():96:96 -> i
     1:1:java.lang.String toString():101:101 -> toString
-com.android.tools.r8.com.google.common.collect.Streams -> com.android.tools.r8.internal.pX:
+com.android.tools.r8.com.google.common.collect.Streams -> com.android.tools.r8.internal.uX:
     java.util.Spliterator lambda$concat$0(java.util.Spliterator) -> a
     1:3:java.util.stream.Stream stream(java.lang.Iterable):62:64 -> a
     4:15:java.util.stream.Stream concat(java.util.stream.Stream[]):162:173 -> a
@@ -16455,27 +16460,27 @@
     68:116:java.util.stream.Stream mapWithIndex(java.util.stream.Stream,com.android.tools.r8.com.google.common.collect.Streams$FunctionWithIndex):423:471 -> a
     1:3:void com.android.tools.r8.com.google.common.collect.Streams.closeAll(java.util.stream.BaseStream[]):141:143 -> b
     1:3:void lambda$concat$1(java.util.stream.Stream[]):178 -> b
-com.android.tools.r8.com.google.common.collect.Streams$1 -> com.android.tools.r8.internal.kX:
+com.android.tools.r8.com.google.common.collect.Streams$1 -> com.android.tools.r8.internal.pX:
     java.util.function.BiFunction val$function -> c
     java.util.Iterator val$itrB -> b
     java.util.Iterator val$itrA -> a
     1:1:void <init>(long,int,java.util.Iterator,java.util.Iterator,java.util.function.BiFunction):319:319 -> <init>
     1:2:boolean tryAdvance(java.util.function.Consumer):322:323 -> tryAdvance
-com.android.tools.r8.com.google.common.collect.Streams$1Splitr -> com.android.tools.r8.internal.lX:
+com.android.tools.r8.com.google.common.collect.Streams$1Splitr -> com.android.tools.r8.internal.qX:
     com.android.tools.r8.com.google.common.collect.Streams$FunctionWithIndex val$function -> d
     java.lang.Object holder -> c
     1:2:void <init>(java.util.Spliterator,long,com.android.tools.r8.com.google.common.collect.Streams$FunctionWithIndex):444:445 -> <init>
     1:1:void accept(java.lang.Object):450:450 -> accept
     1:7:boolean tryAdvance(java.util.function.Consumer):455:461 -> tryAdvance
-com.android.tools.r8.com.google.common.collect.Streams$2 -> com.android.tools.r8.internal.mX:
+com.android.tools.r8.com.google.common.collect.Streams$2 -> com.android.tools.r8.internal.rX:
     java.util.Iterator val$fromIterator -> b
     long index -> a
     com.android.tools.r8.com.google.common.collect.Streams$FunctionWithIndex val$function -> c
     1:2:void <init>(long,int,java.util.Iterator,com.android.tools.r8.com.google.common.collect.Streams$FunctionWithIndex):426:427 -> <init>
     1:2:boolean tryAdvance(java.util.function.Consumer):431:432 -> tryAdvance
-com.android.tools.r8.com.google.common.collect.Streams$FunctionWithIndex -> com.android.tools.r8.internal.nX:
+com.android.tools.r8.com.google.common.collect.Streams$FunctionWithIndex -> com.android.tools.r8.internal.sX:
     java.lang.Object apply(java.lang.Object,long) -> a
-com.android.tools.r8.com.google.common.collect.Streams$MapWithIndexSpliterator -> com.android.tools.r8.internal.oX:
+com.android.tools.r8.com.google.common.collect.Streams$MapWithIndexSpliterator -> com.android.tools.r8.internal.tX:
     long index -> b
     java.util.Spliterator fromSpliterator -> a
     1:3:void <init>(java.util.Spliterator,long):732:734 -> <init>
@@ -16489,17 +16494,17 @@
     6:6:java.util.Spliterator trySplit():726 -> trySplit
     7:7:com.android.tools.r8.com.google.common.collect.Streams$MapWithIndexSpliterator com.android.tools.r8.com.google.common.collect.Streams$MapWithIndexSpliterator.trySplit():747:747 -> trySplit
     7:7:java.util.Spliterator trySplit():726 -> trySplit
-com.android.tools.r8.com.google.common.collect.TransformedIterator -> com.android.tools.r8.internal.MZ:
+com.android.tools.r8.com.google.common.collect.TransformedIterator -> com.android.tools.r8.internal.SZ:
     java.util.Iterator backingIterator -> b
     1:2:void <init>(java.util.Iterator):34:35 -> <init>
     java.lang.Object transform(java.lang.Object) -> a
     1:1:boolean hasNext():42:42 -> hasNext
     1:1:java.lang.Object next():47:47 -> next
     1:1:void remove():52:52 -> remove
-com.android.tools.r8.com.google.common.collect.UnmodifiableIterator -> com.android.tools.r8.internal.B10:
+com.android.tools.r8.com.google.common.collect.UnmodifiableIterator -> com.android.tools.r8.internal.H10:
     1:1:void <init>():36:36 -> <init>
     1:1:void remove():48:48 -> remove
-com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator -> com.android.tools.r8.internal.C10:
+com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator -> com.android.tools.r8.internal.I10:
     1:1:void <init>():33:33 -> <init>
     1:1:void add(java.lang.Object):45:45 -> add
     1:1:void set(java.lang.Object):58:58 -> set
@@ -16554,7 +16559,7 @@
     3:3:com.android.tools.r8.com.google.common.hash.Hasher putFloat(float):42:42 -> a
     4:4:com.android.tools.r8.com.google.common.hash.Hasher putString(java.lang.CharSequence,java.nio.charset.Charset):55:55 -> a
     5:5:com.android.tools.r8.com.google.common.hash.Hasher putBytes(byte[]):60:60 -> a
-com.android.tools.r8.com.google.common.hash.HashCode -> com.android.tools.r8.internal.Am:
+com.android.tools.r8.com.google.common.hash.HashCode -> com.android.tools.r8.internal.Cm:
     char[] hexDigits -> b
     int $r8$clinit -> c
     1:1:void <clinit>():420:420 -> <clinit>
@@ -16581,7 +16586,7 @@
     2:2:byte[] com.android.tools.r8.com.google.common.hash.HashCode$BytesHashCode.getBytesInternal():304:304 -> toString
     2:2:java.lang.String toString():412 -> toString
     3:7:java.lang.String toString():413:417 -> toString
-com.android.tools.r8.com.google.common.hash.HashCode$BytesHashCode -> com.android.tools.r8.internal.zm:
+com.android.tools.r8.com.google.common.hash.HashCode$BytesHashCode -> com.android.tools.r8.internal.Bm:
     byte[] bytes -> d
     1:2:void <init>(byte[]):253:254 -> <init>
     1:1:boolean equalsSameBits(com.android.tools.r8.com.google.common.hash.HashCode):311:311 -> a
@@ -16592,10 +16597,10 @@
     10:10:byte[] com.android.tools.r8.com.google.common.hash.HashCode$BytesHashCode.getBytesInternal():304:304 -> a
     10:10:boolean equalsSameBits(com.android.tools.r8.com.google.common.hash.HashCode):317 -> a
     11:11:boolean equalsSameBits(com.android.tools.r8.com.google.common.hash.HashCode):317:317 -> a
-com.android.tools.r8.com.google.common.hash.HashFunction -> com.android.tools.r8.internal.Dm:
+com.android.tools.r8.com.google.common.hash.HashFunction -> com.android.tools.r8.internal.Fm:
     com.android.tools.r8.com.google.common.hash.HashCode hashString(java.lang.CharSequence,java.nio.charset.Charset) -> a
     com.android.tools.r8.com.google.common.hash.Hasher newHasher() -> a
-com.android.tools.r8.com.google.common.hash.Hasher -> com.android.tools.r8.internal.Fm:
+com.android.tools.r8.com.google.common.hash.Hasher -> com.android.tools.r8.internal.Hm:
     com.android.tools.r8.com.google.common.hash.HashCode hash() -> a
     com.android.tools.r8.com.google.common.hash.Hasher putBoolean(boolean) -> a
     com.android.tools.r8.com.google.common.hash.Hasher putByte(byte) -> a
@@ -16605,16 +16610,16 @@
     com.android.tools.r8.com.google.common.hash.Hasher putInt(int) -> a
     com.android.tools.r8.com.google.common.hash.Hasher putLong(long) -> a
     com.android.tools.r8.com.google.common.hash.Hasher putString(java.lang.CharSequence,java.nio.charset.Charset) -> a
-com.android.tools.r8.com.google.common.hash.Hashing -> com.android.tools.r8.internal.Jm:
+com.android.tools.r8.com.google.common.hash.Hashing -> com.android.tools.r8.internal.Lm:
 # {"id":"sourceFile","fileName":"Hashing.java"}
     int GOOD_FAST_HASH_SEED -> a
     1:1:void <clinit>():91:91 -> <clinit>
     1:1:com.android.tools.r8.com.google.common.hash.HashFunction murmur3_128():134:134 -> a
     1:1:com.android.tools.r8.com.google.common.hash.HashFunction sha256():201:201 -> b
-com.android.tools.r8.com.google.common.hash.Hashing$Sha256Holder -> com.android.tools.r8.internal.Im:
+com.android.tools.r8.com.google.common.hash.Hashing$Sha256Holder -> com.android.tools.r8.internal.Km:
     com.android.tools.r8.com.google.common.hash.HashFunction SHA_256 -> a
     1:1:void <clinit>():205:205 -> <clinit>
-com.android.tools.r8.com.google.common.hash.MessageDigestHashFunction -> com.android.tools.r8.internal.oE:
+com.android.tools.r8.com.google.common.hash.MessageDigestHashFunction -> com.android.tools.r8.internal.tE:
     java.security.MessageDigest prototype -> b
     int bytes -> c
     java.lang.String toString -> e
@@ -16624,8 +16629,8 @@
     2:4:java.security.MessageDigest getMessageDigest(java.lang.String):82:84 -> a
     5:12:com.android.tools.r8.com.google.common.hash.Hasher newHasher():90:97 -> a
     1:1:java.lang.String toString():77:77 -> toString
-com.android.tools.r8.com.google.common.hash.MessageDigestHashFunction$1 -> com.android.tools.r8.internal.mE:
-com.android.tools.r8.com.google.common.hash.MessageDigestHashFunction$MessageDigestHasher -> com.android.tools.r8.internal.nE:
+com.android.tools.r8.com.google.common.hash.MessageDigestHashFunction$1 -> com.android.tools.r8.internal.rE:
+com.android.tools.r8.com.google.common.hash.MessageDigestHashFunction$MessageDigestHasher -> com.android.tools.r8.internal.sE:
     java.security.MessageDigest digest -> b
     int bytes -> c
     boolean done -> d
@@ -16645,7 +16650,7 @@
     3:3:void com.android.tools.r8.com.google.common.hash.MessageDigestHashFunction$MessageDigestHasher.checkNotDone():152:152 -> b
     3:3:void update(byte[],int,int):141 -> b
     4:4:void update(byte[],int,int):142:142 -> b
-com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction -> com.android.tools.r8.internal.rG:
+com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction -> com.android.tools.r8.internal.wG:
     com.android.tools.r8.com.google.common.hash.HashFunction MURMUR3_128 -> b
     1:3:void <clinit>():45:47 -> <clinit>
     1:1:void <init>(int):53:53 -> <init>
@@ -16653,7 +16658,7 @@
     1:3:boolean equals(java.lang.Object):74:76 -> equals
     1:1:int hashCode():83:83 -> hashCode
     1:1:java.lang.String toString():69:69 -> toString
-com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction$Murmur3_128Hasher -> com.android.tools.r8.internal.qG:
+com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction$Murmur3_128Hasher -> com.android.tools.r8.internal.vG:
     long h2 -> e
     int length -> f
     long h1 -> d
@@ -16871,7 +16876,7 @@
     185:185:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():187 -> a
     185:185:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():0 -> a
       # {"id":"com.android.tools.r8.synthesized"}
-com.android.tools.r8.com.google.common.io.BaseEncoding -> com.android.tools.r8.internal.n4:
+com.android.tools.r8.com.google.common.io.BaseEncoding -> com.android.tools.r8.internal.o4:
     com.android.tools.r8.com.google.common.io.BaseEncoding BASE64_URL -> a
     1:45:void <clinit>():320:364 -> <clinit>
     46:46:void com.android.tools.r8.com.google.common.io.BaseEncoding$StandardBaseEncoding.<init>(java.lang.String,java.lang.String,java.lang.Character):571:571 -> <clinit>
@@ -16894,7 +16899,7 @@
     12:12:java.lang.String encode(byte[]):148 -> a
     13:13:com.android.tools.r8.com.google.common.io.BaseEncoding base64Url():360:360 -> a
     com.android.tools.r8.com.google.common.io.BaseEncoding omitPadding() -> b
-com.android.tools.r8.com.google.common.io.BaseEncoding$Alphabet -> com.android.tools.r8.internal.j4:
+com.android.tools.r8.com.google.common.io.BaseEncoding$Alphabet -> com.android.tools.r8.internal.k4:
     char[] chars -> b
     int bytesPerChunk -> f
     byte[] decodabet -> g
@@ -16911,19 +16916,19 @@
     1:3:boolean equals(java.lang.Object):551:553 -> equals
     1:1:int hashCode():560:560 -> hashCode
     1:1:java.lang.String toString():546:546 -> toString
-com.android.tools.r8.com.google.common.io.BaseEncoding$Base16Encoding -> com.android.tools.r8.internal.k4:
+com.android.tools.r8.com.google.common.io.BaseEncoding$Base16Encoding -> com.android.tools.r8.internal.l4:
     char[] encoding -> d
     1:1:void <init>(java.lang.String,java.lang.String):893:893 -> <init>
     2:2:void <init>(com.android.tools.r8.com.google.common.io.BaseEncoding$Alphabet):897:897 -> <init>
     3:14:void <init>(com.android.tools.r8.com.google.common.io.BaseEncoding$Alphabet):890:901 -> <init>
     1:6:void encodeTo(java.lang.Appendable,byte[],int,int):907:912 -> a
     7:7:com.android.tools.r8.com.google.common.io.BaseEncoding newInstance(com.android.tools.r8.com.google.common.io.BaseEncoding$Alphabet,java.lang.Character):932:932 -> a
-com.android.tools.r8.com.google.common.io.BaseEncoding$Base64Encoding -> com.android.tools.r8.internal.l4:
+com.android.tools.r8.com.google.common.io.BaseEncoding$Base64Encoding -> com.android.tools.r8.internal.m4:
     1:1:void <init>(java.lang.String,java.lang.String,java.lang.Character):938:938 -> <init>
     2:3:void <init>(com.android.tools.r8.com.google.common.io.BaseEncoding$Alphabet,java.lang.Character):942:943 -> <init>
     1:12:void encodeTo(java.lang.Appendable,byte[],int,int):948:959 -> a
     13:13:com.android.tools.r8.com.google.common.io.BaseEncoding newInstance(com.android.tools.r8.com.google.common.io.BaseEncoding$Alphabet,java.lang.Character):989:989 -> a
-com.android.tools.r8.com.google.common.io.BaseEncoding$StandardBaseEncoding -> com.android.tools.r8.internal.m4:
+com.android.tools.r8.com.google.common.io.BaseEncoding$StandardBaseEncoding -> com.android.tools.r8.internal.n4:
     java.lang.Character paddingChar -> c
     com.android.tools.r8.com.google.common.io.BaseEncoding$Alphabet alphabet -> b
     1:4:void <init>(com.android.tools.r8.com.google.common.io.BaseEncoding$Alphabet,java.lang.Character):574:577 -> <init>
@@ -16938,7 +16943,7 @@
     2:2:int com.android.tools.r8.com.google.common.base.Objects.hashCode(java.lang.Object[]):77:77 -> hashCode
     2:2:int hashCode():885 -> hashCode
     1:10:java.lang.String toString():861:870 -> toString
-com.android.tools.r8.com.google.common.io.ByteStreams -> com.android.tools.r8.internal.Y5:
+com.android.tools.r8.com.google.common.io.ByteStreams -> com.android.tools.r8.internal.Z5:
     java.io.OutputStream NULL_OUTPUT_STREAM -> a
     int $r8$clinit -> b
     1:1:void <clinit>():640:640 -> <clinit>
@@ -16961,7 +16966,7 @@
     19:25:byte[] toByteArray(java.io.InputStream):221 -> a
     26:26:byte[] com.android.tools.r8.com.google.common.io.ByteStreams.toByteArrayInternal(java.io.InputStream,java.util.Queue,int):195:195 -> a
     26:26:byte[] toByteArray(java.io.InputStream):221 -> a
-com.android.tools.r8.com.google.common.io.ByteStreams$1 -> com.android.tools.r8.internal.X5:
+com.android.tools.r8.com.google.common.io.ByteStreams$1 -> com.android.tools.r8.internal.Y5:
     1:1:void <init>():641:641 -> <init>
     1:1:java.lang.String toString():660:660 -> toString
     1:1:void write(byte[]):649:649 -> write
@@ -16970,7 +16975,7 @@
     3:3:void write(byte[],int,int):655:655 -> write
     4:4:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> write
     4:4:void write(byte[],int,int):655 -> write
-com.android.tools.r8.com.google.common.io.CharSequenceReader -> com.android.tools.r8.internal.h9:
+com.android.tools.r8.com.google.common.io.CharSequenceReader -> com.android.tools.r8.internal.i9:
     java.lang.CharSequence seq -> b
     int mark -> d
     int pos -> c
@@ -17011,11 +17016,11 @@
     4:5:long skip(long):97:98 -> skip
     6:6:void com.android.tools.r8.com.google.common.base.Preconditions.checkArgument(boolean,java.lang.String,long):205:205 -> skip
     6:6:long skip(long):95 -> skip
-com.android.tools.r8.com.google.common.io.CharSource -> com.android.tools.r8.internal.k9:
+com.android.tools.r8.com.google.common.io.CharSource -> com.android.tools.r8.internal.l9:
     1:1:void <init>():75:75 -> <init>
     java.io.Reader openStream() -> a
     1:3:com.android.tools.r8.com.google.common.io.CharSource wrap(java.lang.CharSequence):480:482 -> a
-com.android.tools.r8.com.google.common.io.CharSource$CharSequenceCharSource -> com.android.tools.r8.internal.i9:
+com.android.tools.r8.com.google.common.io.CharSource$CharSequenceCharSource -> com.android.tools.r8.internal.j9:
     java.lang.CharSequence seq -> a
     1:1:void <clinit>():524:524 -> <clinit>
     1:2:void <init>(java.lang.CharSequence):528:529 -> <init>
@@ -17029,10 +17034,10 @@
     4:16:java.lang.String com.android.tools.r8.com.google.common.base.Ascii.truncate(java.lang.CharSequence,int,java.lang.String):563:575 -> toString
     4:16:java.lang.String toString():608 -> toString
     17:17:java.lang.String toString():608:608 -> toString
-com.android.tools.r8.com.google.common.io.CharSource$StringCharSource -> com.android.tools.r8.internal.j9:
+com.android.tools.r8.com.google.common.io.CharSource$StringCharSource -> com.android.tools.r8.internal.k9:
     1:1:void <init>(java.lang.String):629:629 -> <init>
     1:1:java.io.Reader openStream():634:634 -> a
-com.android.tools.r8.com.google.common.io.CharStreams -> com.android.tools.r8.internal.l9:
+com.android.tools.r8.com.google.common.io.CharStreams -> com.android.tools.r8.internal.m9:
     1:3:java.lang.StringBuilder com.android.tools.r8.com.google.common.io.CharStreams.toStringBuilder(java.lang.Readable):176:178 -> a
     1:3:java.lang.String toString(java.lang.Readable):164 -> a
     4:4:long com.android.tools.r8.com.google.common.io.CharStreams.copyReaderToBuilder(java.io.Reader,java.lang.StringBuilder):115:115 -> a
@@ -17087,10 +17092,10 @@
     26:26:java.lang.StringBuilder com.android.tools.r8.com.google.common.io.CharStreams.toStringBuilder(java.lang.Readable):180 -> a
     26:26:java.lang.String toString(java.lang.Readable):164 -> a
     27:27:java.lang.String toString(java.lang.Readable):164:164 -> a
-com.android.tools.r8.com.google.common.io.Closeables -> com.android.tools.r8.internal.xb:
+com.android.tools.r8.com.google.common.io.Closeables -> com.android.tools.r8.internal.yb:
     java.util.logging.Logger logger -> a
     1:1:void <clinit>():37:37 -> <clinit>
-com.android.tools.r8.com.google.common.io.Closer -> com.android.tools.r8.internal.Bb:
+com.android.tools.r8.com.google.common.io.Closer -> com.android.tools.r8.internal.Cb:
     com.android.tools.r8.com.google.common.io.Closer$Suppressor suppressor -> b
     java.util.Deque stack -> c
     com.android.tools.r8.com.google.common.io.Closer$Suppressor SUPPRESSOR -> d
@@ -17123,12 +17128,12 @@
     25:25:void com.android.tools.r8.com.google.common.base.Throwables.propagateIfInstanceOf(java.lang.Throwable,java.lang.Class):104 -> close
     25:25:void com.android.tools.r8.com.google.common.base.Throwables.propagateIfPossible(java.lang.Throwable,java.lang.Class):184 -> close
     25:25:void close():224 -> close
-com.android.tools.r8.com.google.common.io.Closer$LoggingSuppressor -> com.android.tools.r8.internal.yb:
+com.android.tools.r8.com.google.common.io.Closer$LoggingSuppressor -> com.android.tools.r8.internal.zb:
     com.android.tools.r8.com.google.common.io.Closer$LoggingSuppressor INSTANCE -> a
     1:1:void <clinit>():244:244 -> <clinit>
     1:1:void <init>():242:242 -> <init>
     1:1:void suppress(java.io.Closeable,java.lang.Throwable,java.lang.Throwable):249:249 -> a
-com.android.tools.r8.com.google.common.io.Closer$SuppressingSuppressor -> com.android.tools.r8.internal.zb:
+com.android.tools.r8.com.google.common.io.Closer$SuppressingSuppressor -> com.android.tools.r8.internal.Ab:
     com.android.tools.r8.com.google.common.io.Closer$SuppressingSuppressor INSTANCE -> a
     java.lang.reflect.Method addSuppressed -> b
     1:1:void <clinit>():261:261 -> <clinit>
@@ -17139,9 +17144,9 @@
     1:1:void suppress(java.io.Closeable,java.lang.Throwable,java.lang.Throwable):284:284 -> a
     2:2:void com.android.tools.r8.com.google.common.io.Closer$LoggingSuppressor.suppress(java.io.Closeable,java.lang.Throwable,java.lang.Throwable):249:249 -> a
     2:2:void suppress(java.io.Closeable,java.lang.Throwable,java.lang.Throwable):287 -> a
-com.android.tools.r8.com.google.common.io.Closer$Suppressor -> com.android.tools.r8.internal.Ab:
+com.android.tools.r8.com.google.common.io.Closer$Suppressor -> com.android.tools.r8.internal.Bb:
     void suppress(java.io.Closeable,java.lang.Throwable,java.lang.Throwable) -> a
-com.android.tools.r8.com.google.common.math.IntMath -> com.android.tools.r8.internal.st:
+com.android.tools.r8.com.google.common.math.IntMath -> com.android.tools.r8.internal.ut:
     int[] biggestBinomials -> a
     1:1:void <clinit>():676:676 -> <clinit>
     boolean isPowerOfTwo(int) -> a
@@ -17173,27 +17178,27 @@
     31:31:int checkedAdd(int,int):456:456 -> b
     32:32:void com.android.tools.r8.com.google.common.math.MathPreconditions.checkNoOverflow(boolean,java.lang.String,int,int):95:95 -> b
     32:32:int checkedAdd(int,int):456 -> b
-com.android.tools.r8.com.google.common.math.IntMath$1 -> com.android.tools.r8.internal.rt:
+com.android.tools.r8.com.google.common.math.IntMath$1 -> com.android.tools.r8.internal.tt:
     int[] $SwitchMap$java$math$RoundingMode -> a
     1:1:void <clinit>():120:120 -> <clinit>
-com.android.tools.r8.com.google.common.math.MathPreconditions -> com.android.tools.r8.internal.SD:
+com.android.tools.r8.com.google.common.math.MathPreconditions -> com.android.tools.r8.internal.XD:
     1:1:int checkNonNegative(java.lang.String,int):54:54 -> a
-com.android.tools.r8.com.google.common.primitives.Ints -> com.android.tools.r8.internal.ru:
+com.android.tools.r8.com.google.common.primitives.Ints -> com.android.tools.r8.internal.tu:
     int saturatedCast(long) -> a
-com.android.tools.r8.com.google.gson.ExclusionStrategy -> com.android.tools.r8.internal.gj:
+com.android.tools.r8.com.google.gson.ExclusionStrategy -> com.android.tools.r8.internal.ij:
     boolean shouldSkipClass(java.lang.Class) -> a
     boolean shouldSkipField(com.android.tools.r8.com.google.gson.FieldAttributes) -> b
-com.android.tools.r8.com.google.gson.FieldNamingPolicy -> com.android.tools.r8.internal.Oj:
+com.android.tools.r8.com.google.gson.FieldNamingPolicy -> com.android.tools.r8.internal.Qj:
     com.android.tools.r8.com.google.gson.FieldNamingPolicy IDENTITY -> b
     1:1:void <clinit>():37:37 -> <clinit>
     1:1:void <init>(java.lang.String,int):31:31 -> <init>
     2:2:void <init>(java.lang.String,int,com.android.tools.r8.com.google.gson.FieldNamingPolicy$1):31:31 -> <init>
-com.android.tools.r8.com.google.gson.FieldNamingPolicy$1 -> com.android.tools.r8.internal.Nj:
+com.android.tools.r8.com.google.gson.FieldNamingPolicy$1 -> com.android.tools.r8.internal.Pj:
     1:1:void <init>(java.lang.String,int):37:37 -> <init>
     1:1:java.lang.String translateName(java.lang.reflect.Field):39:39 -> a
-com.android.tools.r8.com.google.gson.FieldNamingStrategy -> com.android.tools.r8.internal.Pj:
+com.android.tools.r8.com.google.gson.FieldNamingStrategy -> com.android.tools.r8.internal.Rj:
     java.lang.String translateName(java.lang.reflect.Field) -> a
-com.android.tools.r8.com.google.gson.Gson -> com.android.tools.r8.internal.jm:
+com.android.tools.r8.com.google.gson.Gson -> com.android.tools.r8.internal.lm:
     com.android.tools.r8.com.google.gson.reflect.TypeToken NULL_KEY_SURROGATE -> j
     java.util.Map typeTokenCache -> b
     java.lang.ThreadLocal calls -> a
@@ -17226,9 +17231,9 @@
     3:3:com.android.tools.r8.com.google.gson.TypeAdapter atomicLongArrayAdapter(com.android.tools.r8.com.google.gson.TypeAdapter):388 -> b
     1:1:com.android.tools.r8.com.google.gson.TypeAdapter longAdapter(com.android.tools.r8.com.google.gson.LongSerializationPolicy):332:332 -> c
     1:6:java.lang.String toString():982:987 -> toString
-com.android.tools.r8.com.google.gson.Gson$1 -> com.android.tools.r8.internal.dm:
+com.android.tools.r8.com.google.gson.Gson$1 -> com.android.tools.r8.internal.fm:
     1:1:void <init>():112:112 -> <init>
-com.android.tools.r8.com.google.gson.Gson$2 -> com.android.tools.r8.internal.em:
+com.android.tools.r8.com.google.gson.Gson$2 -> com.android.tools.r8.internal.gm:
     1:1:void <init>(com.android.tools.r8.com.google.gson.Gson):278:278 -> <init>
     1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):278:278 -> a
     2:5:void com.android.tools.r8.com.google.gson.Gson$2.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Number):288:291 -> a
@@ -17243,7 +17248,7 @@
     8:8:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):278 -> a
     9:13:java.lang.Double com.android.tools.r8.com.google.gson.Gson$2.read(com.android.tools.r8.com.google.gson.stream.JsonReader):280:284 -> a
     9:13:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):278 -> a
-com.android.tools.r8.com.google.gson.Gson$3 -> com.android.tools.r8.internal.fm:
+com.android.tools.r8.com.google.gson.Gson$3 -> com.android.tools.r8.internal.hm:
     1:1:void <init>(com.android.tools.r8.com.google.gson.Gson):302:302 -> <init>
     1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):302:302 -> a
     2:5:void com.android.tools.r8.com.google.gson.Gson$3.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Number):312:315 -> a
@@ -17258,7 +17263,7 @@
     8:8:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):302 -> a
     9:13:java.lang.Float com.android.tools.r8.com.google.gson.Gson$3.read(com.android.tools.r8.com.google.gson.stream.JsonReader):304:308 -> a
     9:13:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):302 -> a
-com.android.tools.r8.com.google.gson.Gson$5 -> com.android.tools.r8.internal.gm:
+com.android.tools.r8.com.google.gson.Gson$5 -> com.android.tools.r8.internal.im:
     com.android.tools.r8.com.google.gson.TypeAdapter val$longAdapter -> a
     1:1:void <init>(com.android.tools.r8.com.google.gson.TypeAdapter):353:353 -> <init>
     1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):353:353 -> a
@@ -17266,7 +17271,7 @@
     2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):353 -> a
     3:4:java.util.concurrent.atomic.AtomicLong com.android.tools.r8.com.google.gson.Gson$5.read(com.android.tools.r8.com.google.gson.stream.JsonReader):358:359 -> a
     3:4:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):353 -> a
-com.android.tools.r8.com.google.gson.Gson$6 -> com.android.tools.r8.internal.hm:
+com.android.tools.r8.com.google.gson.Gson$6 -> com.android.tools.r8.internal.jm:
     com.android.tools.r8.com.google.gson.TypeAdapter val$longAdapter -> a
     1:1:void <init>(com.android.tools.r8.com.google.gson.TypeAdapter):365:365 -> <init>
     1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):365:365 -> a
@@ -17274,7 +17279,7 @@
     2:6:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):365 -> a
     7:17:java.util.concurrent.atomic.AtomicLongArray com.android.tools.r8.com.google.gson.Gson$6.read(com.android.tools.r8.com.google.gson.stream.JsonReader):374:384 -> a
     7:17:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):365 -> a
-com.android.tools.r8.com.google.gson.Gson$FutureTypeAdapter -> com.android.tools.r8.internal.im:
+com.android.tools.r8.com.google.gson.Gson$FutureTypeAdapter -> com.android.tools.r8.internal.km:
     com.android.tools.r8.com.google.gson.TypeAdapter delegate -> a
     1:1:void <init>():955:955 -> <init>
     1:4:void setDelegate(com.android.tools.r8.com.google.gson.TypeAdapter):959:962 -> a
@@ -17283,9 +17288,9 @@
     10:10:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):967:967 -> a
     11:14:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):973:976 -> a
     15:15:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):974:974 -> a
-com.android.tools.r8.com.google.gson.InstanceCreator -> com.android.tools.r8.internal.Hp:
+com.android.tools.r8.com.google.gson.InstanceCreator -> com.android.tools.r8.internal.Jp:
     java.lang.Object createInstance(java.lang.reflect.Type) -> a
-com.android.tools.r8.com.google.gson.JsonArray -> com.android.tools.r8.internal.Gv:
+com.android.tools.r8.com.google.gson.JsonArray -> com.android.tools.r8.internal.Iv:
     java.util.List elements -> b
     1:2:void <init>():39:40 -> <init>
     1:1:void add(java.lang.String):85:85 -> a
@@ -17299,7 +17304,7 @@
     1:1:com.android.tools.r8.com.google.gson.JsonElement get(int):183:183 -> i
     1:1:java.util.Iterator iterator():171:171 -> iterator
     1:1:int size():161:161 -> size
-com.android.tools.r8.com.google.gson.JsonElement -> com.android.tools.r8.internal.Hv:
+com.android.tools.r8.com.google.gson.JsonElement -> com.android.tools.r8.internal.Jv:
     1:1:void <init>():33:33 -> <init>
     1:1:boolean getAsBoolean():152:152 -> a
     1:1:int getAsInt():243:243 -> b
@@ -17315,17 +17320,17 @@
     4:4:void com.android.tools.r8.com.google.gson.internal.Streams.write(com.android.tools.r8.com.google.gson.JsonElement,com.android.tools.r8.com.google.gson.stream.JsonWriter):72:72 -> toString
     4:4:java.lang.String toString():324 -> toString
     5:7:java.lang.String toString():325:327 -> toString
-com.android.tools.r8.com.google.gson.JsonIOException -> com.android.tools.r8.internal.Iv:
+com.android.tools.r8.com.google.gson.JsonIOException -> com.android.tools.r8.internal.Kv:
     1:1:void <init>(java.lang.String):29:29 -> <init>
     2:2:void <init>(java.lang.Throwable):43:43 -> <init>
-com.android.tools.r8.com.google.gson.JsonNull -> com.android.tools.r8.internal.Jv:
-    com.android.tools.r8.com.google.gson.JsonNull INSTANCE -> a
+com.android.tools.r8.com.google.gson.JsonNull -> com.android.tools.r8.internal.Lv:
+    com.android.tools.r8.com.google.gson.JsonNull INSTANCE -> b
     1:1:void <clinit>():32:32 -> <clinit>
     1:1:void <init>():39:39 -> <init>
     1:1:boolean equals(java.lang.Object):61:61 -> equals
     1:1:int hashCode():53:53 -> hashCode
-com.android.tools.r8.com.google.gson.JsonObject -> com.android.tools.r8.internal.Kv:
-    com.android.tools.r8.com.google.gson.internal.LinkedTreeMap members -> a
+com.android.tools.r8.com.google.gson.JsonObject -> com.android.tools.r8.internal.Mv:
+    com.android.tools.r8.com.google.gson.internal.LinkedTreeMap members -> b
     1:2:void <init>():32:33 -> <init>
     1:3:void add(java.lang.String,com.android.tools.r8.com.google.gson.JsonElement):55:57 -> a
     4:4:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.com.google.gson.JsonObject.createJsonElement(java.lang.Object):122:122 -> a
@@ -17346,11 +17351,11 @@
     1:2:boolean equals(java.lang.Object):196:197 -> equals
     1:1:com.android.tools.r8.com.google.gson.JsonObject getAsJsonObject(java.lang.String):191:191 -> g
     1:1:int hashCode():202:202 -> hashCode
-com.android.tools.r8.com.google.gson.JsonParseException -> com.android.tools.r8.internal.Lv:
+com.android.tools.r8.com.google.gson.JsonParseException -> com.android.tools.r8.internal.Nv:
     1:1:void <init>(java.lang.String):42:42 -> <init>
     2:2:void <init>(java.lang.String,java.lang.Throwable):52:52 -> <init>
     3:3:void <init>(java.lang.Throwable):62:62 -> <init>
-com.android.tools.r8.com.google.gson.JsonParser -> com.android.tools.r8.internal.Mv:
+com.android.tools.r8.com.google.gson.JsonParser -> com.android.tools.r8.internal.Ov:
     1:1:void <init>():34:34 -> <init>
     1:1:com.android.tools.r8.com.google.gson.JsonElement parse(java.lang.String):45:45 -> a
     2:4:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.com.google.gson.JsonParser.parse(java.io.Reader):58:60 -> a
@@ -17378,9 +17383,9 @@
     43:43:com.android.tools.r8.com.google.gson.JsonElement parse(com.android.tools.r8.com.google.gson.stream.JsonReader):84 -> a
     44:44:com.android.tools.r8.com.google.gson.JsonElement parse(com.android.tools.r8.com.google.gson.stream.JsonReader):88:88 -> a
     45:49:com.android.tools.r8.com.google.gson.JsonElement parse(com.android.tools.r8.com.google.gson.stream.JsonReader):86:90 -> a
-com.android.tools.r8.com.google.gson.JsonPrimitive -> com.android.tools.r8.internal.Nv:
-    java.lang.Class[] PRIMITIVE_TYPES -> b
-    java.lang.Object value -> a
+com.android.tools.r8.com.google.gson.JsonPrimitive -> com.android.tools.r8.internal.Pv:
+    java.lang.Class[] PRIMITIVE_TYPES -> c
+    java.lang.Object value -> b
     1:1:void <clinit>():35:35 -> <clinit>
     1:2:void <init>(java.lang.Boolean):46:47 -> <init>
     3:4:void <init>(java.lang.Number):55:56 -> <init>
@@ -17416,24 +17421,24 @@
     1:13:int hashCode():289:301 -> hashCode
     1:1:boolean isNumber():146:146 -> i
     1:1:boolean isString():166:166 -> j
-com.android.tools.r8.com.google.gson.JsonSyntaxException -> com.android.tools.r8.internal.Rv:
+com.android.tools.r8.com.google.gson.JsonSyntaxException -> com.android.tools.r8.internal.Tv:
     1:1:void <init>(java.lang.String):30:30 -> <init>
     2:2:void <init>(java.lang.String,java.lang.Throwable):34:34 -> <init>
     3:3:void <init>(java.lang.Throwable):45:45 -> <init>
-com.android.tools.r8.com.google.gson.TypeAdapter -> com.android.tools.r8.internal.b00:
+com.android.tools.r8.com.google.gson.TypeAdapter -> com.android.tools.r8.internal.h00:
     1:1:void <init>():119:119 -> <init>
     java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader) -> a
     void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object) -> a
     1:1:com.android.tools.r8.com.google.gson.TypeAdapter nullSafe():186:186 -> a
-com.android.tools.r8.com.google.gson.TypeAdapter$1 -> com.android.tools.r8.internal.a00:
+com.android.tools.r8.com.google.gson.TypeAdapter$1 -> com.android.tools.r8.internal.g00:
     com.android.tools.r8.com.google.gson.TypeAdapter this$0 -> a
     1:1:void <init>(com.android.tools.r8.com.google.gson.TypeAdapter):186:186 -> <init>
     1:3:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):189:191 -> a
     4:8:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):195:199 -> a
-com.android.tools.r8.com.google.gson.TypeAdapterFactory -> com.android.tools.r8.internal.c00:
+com.android.tools.r8.com.google.gson.TypeAdapterFactory -> com.android.tools.r8.internal.i00:
     com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken) -> a
-com.android.tools.r8.com.google.gson.annotations.JsonAdapter -> com.android.tools.r8.internal.Ev:
-com.android.tools.r8.com.google.gson.annotations.SerializedName -> com.android.tools.r8.internal.SU:
+com.android.tools.r8.com.google.gson.annotations.JsonAdapter -> com.android.tools.r8.internal.Gv:
+com.android.tools.r8.com.google.gson.annotations.SerializedName -> com.android.tools.r8.internal.XU:
 com.android.tools.r8.com.google.gson.internal.$Gson$Preconditions -> com.android.tools.r8.internal.a:
 # {"id":"sourceFile","fileName":"$Gson$Preconditions.java"}
     1:1:java.lang.Object checkNotNull(java.lang.Object):39:39 -> a
@@ -17531,12 +17536,12 @@
     1168:1168:java.lang.String toString():578:578 -> toString
     580:582:java.lang.String toString():578:580 -> toString
     583:583:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1172,"2":1173,"3":1174}}
-    1172:1172:java.lang.String toString():582:582 -> toString
-    1173:1173:java.lang.String toString():582:582 -> toString
-    1174:1174:java.lang.String toString():582:582 -> toString
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1166,"2":1167,"3":1168}}
+    1166:1166:java.lang.String toString():582:582 -> toString
+    1167:1167:java.lang.String toString():582:582 -> toString
+    1168:1168:java.lang.String toString():582:582 -> toString
     1165:1165:java.lang.String toString():582:582 -> toString
-com.android.tools.r8.com.google.gson.internal.ConstructorConstructor -> com.android.tools.r8.internal.be:
+com.android.tools.r8.com.google.gson.internal.ConstructorConstructor -> com.android.tools.r8.internal.ce:
     java.util.Map instanceCreators -> a
     1:2:void <init>(java.util.Map):51:52 -> <init>
     1:21:com.android.tools.r8.com.google.gson.internal.ObjectConstructor get(com.android.tools.r8.com.google.gson.reflect.TypeToken):56:76 -> a
@@ -17549,24 +17554,24 @@
     101:101:com.android.tools.r8.com.google.gson.internal.ObjectConstructor com.android.tools.r8.com.google.gson.internal.ConstructorConstructor.newUnsafeAllocator(java.lang.reflect.Type,java.lang.Class):218:218 -> a
     101:101:com.android.tools.r8.com.google.gson.internal.ObjectConstructor get(com.android.tools.r8.com.google.gson.reflect.TypeToken):94 -> a
     1:1:java.lang.String toString():234:234 -> toString
-com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$1 -> com.android.tools.r8.internal.Sd:
+com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$1 -> com.android.tools.r8.internal.Td:
     com.android.tools.r8.com.google.gson.InstanceCreator val$typeCreator -> a
     java.lang.reflect.Type val$type -> b
     1:1:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor,com.android.tools.r8.com.google.gson.InstanceCreator,java.lang.reflect.Type):64:64 -> <init>
     1:1:java.lang.Object construct():66:66 -> a
-com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$10 -> com.android.tools.r8.internal.Nd:
+com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$10 -> com.android.tools.r8.internal.Od:
     1:1:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor):186:186 -> <init>
     1:1:java.lang.Object construct():188:188 -> a
-com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$11 -> com.android.tools.r8.internal.Od:
+com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$11 -> com.android.tools.r8.internal.Pd:
     1:1:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor):192:192 -> <init>
     1:1:java.lang.Object construct():194:194 -> a
-com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$12 -> com.android.tools.r8.internal.Pd:
+com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$12 -> com.android.tools.r8.internal.Qd:
     1:1:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor):199:199 -> <init>
     1:1:java.lang.Object construct():201:201 -> a
-com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$13 -> com.android.tools.r8.internal.Qd:
+com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$13 -> com.android.tools.r8.internal.Rd:
     1:1:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor):205:205 -> <init>
     1:1:java.lang.Object construct():207:207 -> a
-com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$14 -> com.android.tools.r8.internal.Rd:
+com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$14 -> com.android.tools.r8.internal.Sd:
     com.android.tools.r8.com.google.gson.internal.UnsafeAllocator unsafeAllocator -> a
     java.lang.reflect.Type val$type -> c
     java.lang.Class val$rawType -> b
@@ -17578,33 +17583,33 @@
     233:233:java.lang.Object construct():226:226 -> a
     234:234:java.lang.Object construct():226:226 -> a
     231:231:java.lang.Object construct():226:226 -> a
-com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$2 -> com.android.tools.r8.internal.Td:
+com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$2 -> com.android.tools.r8.internal.Ud:
     com.android.tools.r8.com.google.gson.InstanceCreator val$rawTypeCreator -> a
     java.lang.reflect.Type val$type -> b
     1:1:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor,com.android.tools.r8.com.google.gson.InstanceCreator,java.lang.reflect.Type):76:76 -> <init>
     1:1:java.lang.Object construct():78:78 -> a
-com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$3 -> com.android.tools.r8.internal.Ud:
+com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$3 -> com.android.tools.r8.internal.Vd:
     java.lang.reflect.Constructor val$constructor -> a
     1:1:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor,java.lang.reflect.Constructor):103:103 -> <init>
     1:11:java.lang.Object construct():108:118 -> a
     12:12:java.lang.Object construct():115:115 -> a
     13:13:java.lang.Object construct():0:0 -> a
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":246,"2":247,"3":248}}
-    246:246:java.lang.Object construct():115:115 -> a
-    247:247:java.lang.Object construct():115:115 -> a
-    248:248:java.lang.Object construct():115:115 -> a
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":243,"2":244,"3":245}}
+    243:243:java.lang.Object construct():115:115 -> a
+    244:244:java.lang.Object construct():115:115 -> a
+    245:245:java.lang.Object construct():115:115 -> a
     128:129:java.lang.Object construct():115:116 -> a
     130:130:java.lang.Object construct():111:111 -> a
     131:131:java.lang.Object construct():0:0 -> a
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":249,"2":250,"3":251}}
-    249:249:java.lang.Object construct():111:111 -> a
-    250:250:java.lang.Object construct():111:111 -> a
-    251:251:java.lang.Object construct():111:111 -> a
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":243,"2":244,"3":245}}
+    243:243:java.lang.Object construct():111:111 -> a
+    244:244:java.lang.Object construct():111:111 -> a
+    245:245:java.lang.Object construct():111:111 -> a
     242:242:java.lang.Object construct():111:111 -> a
-com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$4 -> com.android.tools.r8.internal.Vd:
+com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$4 -> com.android.tools.r8.internal.Wd:
     1:1:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor):136:136 -> <init>
     1:1:java.lang.Object construct():138:138 -> a
-com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$5 -> com.android.tools.r8.internal.Wd:
+com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$5 -> com.android.tools.r8.internal.Xd:
     java.lang.reflect.Type val$type -> a
     1:1:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor,java.lang.reflect.Type):142:142 -> <init>
     1:6:java.lang.Object construct():145:150 -> a
@@ -17615,24 +17620,24 @@
     317:317:java.lang.Object construct():150:150 -> a
     157:160:java.lang.Object construct():150:153 -> a
     161:161:java.lang.Object construct():0:0 -> a
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":320,"2":321,"3":322}}
-    320:320:java.lang.Object construct():153:153 -> a
-    321:321:java.lang.Object construct():153:153 -> a
-    322:322:java.lang.Object construct():153:153 -> a
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":315,"2":316,"3":317}}
+    315:315:java.lang.Object construct():153:153 -> a
+    316:316:java.lang.Object construct():153:153 -> a
+    317:317:java.lang.Object construct():153:153 -> a
     314:314:java.lang.Object construct():153:153 -> a
-com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$6 -> com.android.tools.r8.internal.Xd:
+com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$6 -> com.android.tools.r8.internal.Yd:
     1:1:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor):158:158 -> <init>
     1:1:java.lang.Object construct():160:160 -> a
-com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$7 -> com.android.tools.r8.internal.Yd:
+com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$7 -> com.android.tools.r8.internal.Zd:
     1:1:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor):164:164 -> <init>
     1:1:java.lang.Object construct():166:166 -> a
-com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$8 -> com.android.tools.r8.internal.Zd:
+com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$8 -> com.android.tools.r8.internal.ae:
     1:1:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor):170:170 -> <init>
     1:1:java.lang.Object construct():172:172 -> a
-com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$9 -> com.android.tools.r8.internal.ae:
+com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$9 -> com.android.tools.r8.internal.be:
     1:1:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor):180:180 -> <init>
     1:1:java.lang.Object construct():182:182 -> a
-com.android.tools.r8.com.google.gson.internal.Excluder -> com.android.tools.r8.internal.fj:
+com.android.tools.r8.com.google.gson.internal.Excluder -> com.android.tools.r8.internal.hj:
     java.util.List serializationStrategies -> b
     java.util.List deserializationStrategies -> c
     com.android.tools.r8.com.google.gson.internal.Excluder DEFAULT -> d
@@ -17651,7 +17656,7 @@
     44:46:boolean excludeClass(java.lang.Class,boolean):205:207 -> a
     1:3:com.android.tools.r8.com.google.gson.internal.Excluder com.android.tools.r8.com.google.gson.internal.Excluder.clone():63:65 -> clone
     1:3:java.lang.Object clone():50 -> clone
-com.android.tools.r8.com.google.gson.internal.Excluder$1 -> com.android.tools.r8.internal.ej:
+com.android.tools.r8.com.google.gson.internal.Excluder$1 -> com.android.tools.r8.internal.gj:
     com.android.tools.r8.com.google.gson.TypeAdapter delegate -> a
     com.android.tools.r8.com.google.gson.reflect.TypeToken val$type -> e
     com.android.tools.r8.com.google.gson.internal.Excluder this$0 -> f
@@ -17667,11 +17672,11 @@
     10:13:com.android.tools.r8.com.google.gson.TypeAdapter com.android.tools.r8.com.google.gson.internal.Excluder$1.delegate():141:144 -> a
     10:13:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):137 -> a
     14:14:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):137:137 -> a
-com.android.tools.r8.com.google.gson.internal.JsonReaderInternalAccess -> com.android.tools.r8.internal.Qv:
+com.android.tools.r8.com.google.gson.internal.JsonReaderInternalAccess -> com.android.tools.r8.internal.Sv:
     com.android.tools.r8.com.google.gson.internal.JsonReaderInternalAccess INSTANCE -> a
     1:1:void <init>():25:25 -> <init>
     void promoteNameToValue(com.android.tools.r8.com.google.gson.stream.JsonReader) -> a
-com.android.tools.r8.com.google.gson.internal.LazilyParsedNumber -> com.android.tools.r8.internal.dB:
+com.android.tools.r8.com.google.gson.internal.LazilyParsedNumber -> com.android.tools.r8.internal.fB:
     java.lang.String value -> b
     1:2:void <init>(java.lang.String):30:31 -> <init>
     1:1:double doubleValue():63:63 -> doubleValue
@@ -17681,7 +17686,7 @@
     1:6:int intValue():37:42 -> intValue
     1:3:long longValue():50:52 -> longValue
     1:1:java.lang.String toString():68:68 -> toString
-com.android.tools.r8.com.google.gson.internal.LinkedTreeMap -> com.android.tools.r8.internal.iC:
+com.android.tools.r8.com.google.gson.internal.LinkedTreeMap -> com.android.tools.r8.internal.nC:
     com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node root -> c
     com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node header -> f
     boolean $assertionsDisabled -> j
@@ -17726,12 +17731,12 @@
     2:2:java.lang.Object remove(java.lang.Object):111 -> remove
     3:3:java.lang.Object remove(java.lang.Object):112:112 -> remove
     1:1:int size():78:78 -> size
-com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$1 -> com.android.tools.r8.internal.bC:
+com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$1 -> com.android.tools.r8.internal.gC:
     1:1:void <init>():40:40 -> <init>
     1:1:int compare(java.lang.Object,java.lang.Object):40:40 -> compare
     2:2:int com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$1.compare(java.lang.Comparable,java.lang.Comparable):42:42 -> compare
     2:2:int compare(java.lang.Object,java.lang.Object):40 -> compare
-com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$EntrySet -> com.android.tools.r8.internal.dC:
+com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$EntrySet -> com.android.tools.r8.internal.iC:
     com.android.tools.r8.com.google.gson.internal.LinkedTreeMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.com.google.gson.internal.LinkedTreeMap):560:560 -> <init>
     1:1:void clear():591:591 -> clear
@@ -17760,7 +17765,7 @@
     9:9:boolean remove(java.lang.Object):582 -> remove
     10:10:boolean remove(java.lang.Object):586:586 -> remove
     1:1:int size():562:562 -> size
-com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$EntrySet$1 -> com.android.tools.r8.internal.cC:
+com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$EntrySet$1 -> com.android.tools.r8.internal.hC:
     1:1:void <init>(com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$EntrySet):566:566 -> <init>
     1:9:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$LinkedTreeMapIterator.nextNode():539:547 -> next
     1:9:java.util.Map$Entry com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$EntrySet$1.next():568 -> next
@@ -17771,7 +17776,7 @@
     11:11:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$LinkedTreeMapIterator.nextNode():541:541 -> next
     11:11:java.util.Map$Entry com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$EntrySet$1.next():568 -> next
     11:11:java.lang.Object next():566 -> next
-com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$KeySet -> com.android.tools.r8.internal.fC:
+com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$KeySet -> com.android.tools.r8.internal.kC:
     com.android.tools.r8.com.google.gson.internal.LinkedTreeMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.com.google.gson.internal.LinkedTreeMap):595:595 -> <init>
     1:1:void clear():617:617 -> clear
@@ -17784,7 +17789,7 @@
     3:3:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.removeInternalByKey(java.lang.Object):279:279 -> remove
     3:3:boolean remove(java.lang.Object):613 -> remove
     1:1:int size():597:597 -> size
-com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$KeySet$1 -> com.android.tools.r8.internal.eC:
+com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$KeySet$1 -> com.android.tools.r8.internal.jC:
     1:1:void <init>(com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$KeySet):601:601 -> <init>
     1:9:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$LinkedTreeMapIterator.nextNode():539:547 -> next
     1:9:java.lang.Object next():603 -> next
@@ -17793,7 +17798,7 @@
     11:11:java.lang.Object next():603 -> next
     12:12:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$LinkedTreeMapIterator.nextNode():541:541 -> next
     12:12:java.lang.Object next():603 -> next
-com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$LinkedTreeMapIterator -> com.android.tools.r8.internal.gC:
+com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$LinkedTreeMapIterator -> com.android.tools.r8.internal.lC:
     com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node lastReturned -> c
     com.android.tools.r8.com.google.gson.internal.LinkedTreeMap this$0 -> e
     com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node next -> b
@@ -17803,7 +17808,7 @@
     1:1:boolean hasNext():535:535 -> hasNext
     1:6:void remove():551:556 -> remove
     7:7:void remove():552:552 -> remove
-com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node -> com.android.tools.r8.internal.hC:
+com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node -> com.android.tools.r8.internal.mC:
     com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node right -> d
     com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node left -> c
     com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node prev -> f
@@ -17820,9 +17825,9 @@
     1:2:int hashCode():491:492 -> hashCode
     1:2:java.lang.Object setValue(java.lang.Object):475:476 -> setValue
     1:1:java.lang.String toString():496:496 -> toString
-com.android.tools.r8.com.google.gson.internal.ObjectConstructor -> com.android.tools.r8.internal.fK:
+com.android.tools.r8.com.google.gson.internal.ObjectConstructor -> com.android.tools.r8.internal.kK:
     java.lang.Object construct() -> a
-com.android.tools.r8.com.google.gson.internal.Primitives -> com.android.tools.r8.internal.fN:
+com.android.tools.r8.com.google.gson.internal.Primitives -> com.android.tools.r8.internal.kN:
     java.util.Map PRIMITIVE_TO_WRAPPER_TYPE -> a
     1:4:void <clinit>():45:48 -> <clinit>
     5:6:void com.android.tools.r8.com.google.gson.internal.Primitives.add(java.util.Map,java.util.Map,java.lang.Class,java.lang.Class):64:65 -> <clinit>
@@ -17853,7 +17858,7 @@
     29:30:void <clinit>():56 -> <clinit>
     31:32:void <clinit>():58:59 -> <clinit>
     1:1:boolean isPrimitive(java.lang.reflect.Type):72:72 -> a
-com.android.tools.r8.com.google.gson.internal.UnsafeAllocator -> com.android.tools.r8.internal.J10:
+com.android.tools.r8.com.google.gson.internal.UnsafeAllocator -> com.android.tools.r8.internal.P10:
     1:1:void <init>():31:31 -> <init>
     1:62:com.android.tools.r8.com.google.gson.internal.UnsafeAllocator create():40:101 -> a
     63:68:void com.android.tools.r8.com.google.gson.internal.UnsafeAllocator.assertInstantiable(java.lang.Class):115:120 -> a
@@ -17881,21 +17886,21 @@
     73:73:void com.android.tools.r8.com.google.gson.internal.UnsafeAllocator.assertInstantiable(java.lang.Class):117:117 -> a
     73:73:void access$000(java.lang.Class):31 -> a
     java.lang.Object newInstance(java.lang.Class) -> b
-com.android.tools.r8.com.google.gson.internal.UnsafeAllocator$1 -> com.android.tools.r8.internal.F10:
+com.android.tools.r8.com.google.gson.internal.UnsafeAllocator$1 -> com.android.tools.r8.internal.L10:
     java.lang.Object val$unsafe -> b
     java.lang.reflect.Method val$allocateInstance -> a
     1:1:void <init>(java.lang.reflect.Method,java.lang.Object):45:45 -> <init>
     1:2:java.lang.Object newInstance(java.lang.Class):49:50 -> b
-com.android.tools.r8.com.google.gson.internal.UnsafeAllocator$2 -> com.android.tools.r8.internal.G10:
+com.android.tools.r8.com.google.gson.internal.UnsafeAllocator$2 -> com.android.tools.r8.internal.M10:
     int val$constructorId -> b
     java.lang.reflect.Method val$newInstance -> a
     1:1:void <init>(java.lang.reflect.Method,int):69:69 -> <init>
     1:2:java.lang.Object newInstance(java.lang.Class):73:74 -> b
-com.android.tools.r8.com.google.gson.internal.UnsafeAllocator$3 -> com.android.tools.r8.internal.H10:
+com.android.tools.r8.com.google.gson.internal.UnsafeAllocator$3 -> com.android.tools.r8.internal.N10:
     java.lang.reflect.Method val$newInstance -> a
     1:1:void <init>(java.lang.reflect.Method):89:89 -> <init>
     1:2:java.lang.Object newInstance(java.lang.Class):93:94 -> b
-com.android.tools.r8.com.google.gson.internal.UnsafeAllocator$4 -> com.android.tools.r8.internal.I10:
+com.android.tools.r8.com.google.gson.internal.UnsafeAllocator$4 -> com.android.tools.r8.internal.O10:
     1:1:void <init>():101:101 -> <init>
     1:1:java.lang.Object newInstance(java.lang.Class):104:104 -> b
 com.android.tools.r8.com.google.gson.internal.bind.ArrayTypeAdapter -> com.android.tools.r8.internal.l3:
@@ -17912,11 +17917,11 @@
     3:5:java.lang.reflect.Type com.android.tools.r8.com.google.gson.internal.$Gson$Types.getArrayComponentType(java.lang.reflect.Type):280:282 -> a
     3:5:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):47 -> a
     6:8:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):48:50 -> a
-com.android.tools.r8.com.google.gson.internal.bind.CollectionTypeAdapterFactory -> com.android.tools.r8.internal.jc:
+com.android.tools.r8.com.google.gson.internal.bind.CollectionTypeAdapterFactory -> com.android.tools.r8.internal.kc:
     com.android.tools.r8.com.google.gson.internal.ConstructorConstructor constructorConstructor -> b
     1:2:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor):39:40 -> <init>
     1:13:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):45:57 -> a
-com.android.tools.r8.com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter -> com.android.tools.r8.internal.ic:
+com.android.tools.r8.com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter -> com.android.tools.r8.internal.jc:
     com.android.tools.r8.com.google.gson.TypeAdapter elementTypeAdapter -> a
     com.android.tools.r8.com.google.gson.internal.ObjectConstructor constructor -> b
     1:4:void <init>(com.android.tools.r8.com.google.gson.Gson,java.lang.reflect.Type,com.android.tools.r8.com.google.gson.TypeAdapter,com.android.tools.r8.com.google.gson.internal.ObjectConstructor):67:70 -> <init>
@@ -17925,7 +17930,7 @@
     2:10:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):61 -> a
     11:22:java.util.Collection com.android.tools.r8.com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(com.android.tools.r8.com.google.gson.stream.JsonReader):74:85 -> a
     11:22:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):61 -> a
-com.android.tools.r8.com.google.gson.internal.bind.DateTypeAdapter -> com.android.tools.r8.internal.Be:
+com.android.tools.r8.com.google.gson.internal.bind.DateTypeAdapter -> com.android.tools.r8.internal.Ce:
     com.android.tools.r8.com.google.gson.TypeAdapterFactory FACTORY -> c
     java.text.DateFormat localFormat -> b
     java.text.DateFormat enUsFormat -> a
@@ -17942,16 +17947,16 @@
     31:31:java.util.Date com.android.tools.r8.com.google.gson.internal.bind.DateTypeAdapter.deserializeToDate(java.lang.String):74:74 -> a
     31:31:java.util.Date com.android.tools.r8.com.google.gson.internal.bind.DateTypeAdapter.read(com.android.tools.r8.com.google.gson.stream.JsonReader):59 -> a
     31:31:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):41 -> a
-com.android.tools.r8.com.google.gson.internal.bind.DateTypeAdapter$1 -> com.android.tools.r8.internal.Ae:
+com.android.tools.r8.com.google.gson.internal.bind.DateTypeAdapter$1 -> com.android.tools.r8.internal.Be:
     1:1:void <init>():42:42 -> <init>
     1:1:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):45:45 -> a
-com.android.tools.r8.com.google.gson.internal.bind.JsonAdapterAnnotationTypeAdapterFactory -> com.android.tools.r8.internal.Fv:
+com.android.tools.r8.com.google.gson.internal.bind.JsonAdapterAnnotationTypeAdapterFactory -> com.android.tools.r8.internal.Hv:
     com.android.tools.r8.com.google.gson.internal.ConstructorConstructor constructorConstructor -> b
     1:2:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor):37:38 -> <init>
     1:6:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):44:49 -> a
     7:29:com.android.tools.r8.com.google.gson.TypeAdapter getTypeAdapter(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor,com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken,com.android.tools.r8.com.google.gson.annotations.JsonAdapter):55:77 -> a
     30:30:com.android.tools.r8.com.google.gson.TypeAdapter getTypeAdapter(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor,com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken,com.android.tools.r8.com.google.gson.annotations.JsonAdapter):71:71 -> a
-com.android.tools.r8.com.google.gson.internal.bind.JsonTreeWriter -> com.android.tools.r8.internal.Uv:
+com.android.tools.r8.com.google.gson.internal.bind.JsonTreeWriter -> com.android.tools.r8.internal.Wv:
     java.io.Writer UNWRITABLE_WRITER -> p
     com.android.tools.r8.com.google.gson.JsonPrimitive SENTINEL_CLOSED -> q
     java.lang.String pendingName -> n
@@ -18009,12 +18014,12 @@
     74:74:com.android.tools.r8.com.google.gson.JsonElement get():66:66 -> m
     75:75:com.android.tools.r8.com.google.gson.JsonElement get():66:66 -> m
     72:72:com.android.tools.r8.com.google.gson.JsonElement get():66:66 -> m
-com.android.tools.r8.com.google.gson.internal.bind.JsonTreeWriter$1 -> com.android.tools.r8.internal.Tv:
+com.android.tools.r8.com.google.gson.internal.bind.JsonTreeWriter$1 -> com.android.tools.r8.internal.Vv:
     1:1:void <init>():34:34 -> <init>
     1:1:void close():42:42 -> close
     1:1:void flush():39:39 -> flush
     1:1:void write(char[],int,int):36:36 -> write
-com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory -> com.android.tools.r8.internal.wD:
+com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory -> com.android.tools.r8.internal.BD:
     com.android.tools.r8.com.google.gson.internal.ConstructorConstructor constructorConstructor -> b
     boolean complexMapKeySerialization -> c
     1:3:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor,boolean):110:112 -> <init>
@@ -18022,7 +18027,7 @@
     11:14:com.android.tools.r8.com.google.gson.TypeAdapter com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory.getKeyAdapter(com.android.tools.r8.com.google.gson.Gson,java.lang.reflect.Type):140:140 -> a
     11:14:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):125 -> a
     15:20:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):126:131 -> a
-com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter -> com.android.tools.r8.internal.vD:
+com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter -> com.android.tools.r8.internal.AD:
     com.android.tools.r8.com.google.gson.TypeAdapter keyTypeAdapter -> a
     com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory this$0 -> d
     com.android.tools.r8.com.google.gson.TypeAdapter valueTypeAdapter -> b
@@ -18088,7 +18093,7 @@
     62:80:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):145 -> a
     81:97:java.util.Map com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(com.android.tools.r8.com.google.gson.stream.JsonReader):177:193 -> a
     81:97:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):145 -> a
-com.android.tools.r8.com.google.gson.internal.bind.ObjectTypeAdapter -> com.android.tools.r8.internal.CK:
+com.android.tools.r8.com.google.gson.internal.bind.ObjectTypeAdapter -> com.android.tools.r8.internal.HK:
     com.android.tools.r8.com.google.gson.TypeAdapterFactory FACTORY -> b
     com.android.tools.r8.com.google.gson.Gson gson -> a
     1:1:void <clinit>():38:38 -> <clinit>
@@ -18104,10 +18109,10 @@
     57:57:com.android.tools.r8.com.google.gson.TypeAdapter com.android.tools.r8.com.google.gson.Gson.getAdapter(java.lang.Class):521:521 -> a
     57:57:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):100 -> a
     58:64:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):101:107 -> a
-com.android.tools.r8.com.google.gson.internal.bind.ObjectTypeAdapter$1 -> com.android.tools.r8.internal.BK:
+com.android.tools.r8.com.google.gson.internal.bind.ObjectTypeAdapter$1 -> com.android.tools.r8.internal.GK:
     1:1:void <init>():38:38 -> <init>
     1:2:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):41:42 -> a
-com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory -> com.android.tools.r8.internal.BS:
+com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory -> com.android.tools.r8.internal.GS:
     com.android.tools.r8.com.google.gson.internal.ConstructorConstructor constructorConstructor -> b
     com.android.tools.r8.com.google.gson.internal.Excluder excluder -> d
     com.android.tools.r8.com.google.gson.internal.bind.JsonAdapterAnnotationTypeAdapterFactory jsonAdapterFactory -> e
@@ -18130,7 +18135,7 @@
     61:70:java.util.Map com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken,java.lang.Class):166:175 -> a
     61:70:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):100 -> a
     71:71:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):100:100 -> a
-com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1 -> com.android.tools.r8.internal.zS:
+com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1 -> com.android.tools.r8.internal.ES:
     com.android.tools.r8.com.google.gson.reflect.TypeToken val$fieldType -> h
     boolean val$isPrimitive -> i
     java.lang.reflect.Field val$field -> d
@@ -18143,7 +18148,7 @@
     1:1:void <init>(com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory,java.lang.String,boolean,boolean,java.lang.reflect.Field,boolean,com.android.tools.r8.com.google.gson.TypeAdapter,com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken,boolean):118:118 -> <init>
     2:5:void com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$BoundField.<init>(java.lang.String,boolean,boolean):185:188 -> <init>
     2:5:void <init>(com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory,java.lang.String,boolean,boolean,java.lang.reflect.Field,boolean,com.android.tools.r8.com.google.gson.TypeAdapter,com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken,boolean):118 -> <init>
-com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter -> com.android.tools.r8.internal.AS:
+com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter -> com.android.tools.r8.internal.FS:
     java.util.Map boundFields -> b
     com.android.tools.r8.com.google.gson.internal.ObjectConstructor constructor -> a
     1:3:void <init>(com.android.tools.r8.com.google.gson.internal.ObjectConstructor,java.util.Map):199:201 -> <init>
@@ -18162,7 +18167,7 @@
     40:43:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):243 -> a
     44:44:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):249:249 -> a
     45:45:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):247:247 -> a
-com.android.tools.r8.com.google.gson.internal.bind.SqlDateTypeAdapter -> com.android.tools.r8.internal.kW:
+com.android.tools.r8.com.google.gson.internal.bind.SqlDateTypeAdapter -> com.android.tools.r8.internal.pW:
     com.android.tools.r8.com.google.gson.TypeAdapterFactory FACTORY -> b
     java.text.DateFormat format -> a
     1:1:void <clinit>():39:39 -> <clinit>
@@ -18173,10 +18178,10 @@
     11:11:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):38:38 -> a
     12:12:void com.android.tools.r8.com.google.gson.internal.bind.SqlDateTypeAdapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.sql.Date):65:65 -> a
     12:12:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):38 -> a
-com.android.tools.r8.com.google.gson.internal.bind.SqlDateTypeAdapter$1 -> com.android.tools.r8.internal.jW:
+com.android.tools.r8.com.google.gson.internal.bind.SqlDateTypeAdapter$1 -> com.android.tools.r8.internal.oW:
     1:1:void <init>():39:39 -> <init>
     1:1:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):42:42 -> a
-com.android.tools.r8.com.google.gson.internal.bind.TimeTypeAdapter -> com.android.tools.r8.internal.oZ:
+com.android.tools.r8.com.google.gson.internal.bind.TimeTypeAdapter -> com.android.tools.r8.internal.tZ:
     com.android.tools.r8.com.google.gson.TypeAdapterFactory FACTORY -> b
     java.text.DateFormat format -> a
     1:1:void <clinit>():41:41 -> <clinit>
@@ -18187,10 +18192,10 @@
     11:11:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):40:40 -> a
     12:12:void com.android.tools.r8.com.google.gson.internal.bind.TimeTypeAdapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.sql.Time):64:64 -> a
     12:12:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):40 -> a
-com.android.tools.r8.com.google.gson.internal.bind.TimeTypeAdapter$1 -> com.android.tools.r8.internal.nZ:
+com.android.tools.r8.com.google.gson.internal.bind.TimeTypeAdapter$1 -> com.android.tools.r8.internal.sZ:
     1:1:void <init>():41:41 -> <init>
     1:1:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):44:44 -> a
-com.android.tools.r8.com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper -> com.android.tools.r8.internal.d00:
+com.android.tools.r8.com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper -> com.android.tools.r8.internal.j00:
     java.lang.reflect.Type type -> c
     com.android.tools.r8.com.google.gson.TypeAdapter delegate -> b
     com.android.tools.r8.com.google.gson.Gson context -> a
@@ -18200,7 +18205,7 @@
     4:6:java.lang.reflect.Type com.android.tools.r8.com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.getRuntimeTypeIfMoreSpecific(java.lang.reflect.Type,java.lang.Object):76:78 -> a
     4:6:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):54 -> a
     7:21:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):55:69 -> a
-com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters -> com.android.tools.r8.internal.P00:
+com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters -> com.android.tools.r8.internal.V00:
     com.android.tools.r8.com.google.gson.TypeAdapter FLOAT -> l
     com.android.tools.r8.com.google.gson.TypeAdapterFactory URL_FACTORY -> u
     com.android.tools.r8.com.google.gson.TypeAdapterFactory STRING_BUILDER_FACTORY -> s
@@ -18301,7 +18306,7 @@
     361:398:void <clinit>():787:824 -> <clinit>
     1:1:com.android.tools.r8.com.google.gson.TypeAdapterFactory newFactory(java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):850:850 -> a
     2:2:com.android.tools.r8.com.google.gson.TypeAdapterFactory newFactory(java.lang.Class,java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):863:863 -> a
-com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$1 -> com.android.tools.r8.internal.o00:
+com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$1 -> com.android.tools.r8.internal.u00:
     1:1:void <init>():69:69 -> <init>
     1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):69:69 -> a
     2:4:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$1.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Class):73:75 -> a
@@ -18318,35 +18323,35 @@
     6:6:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):69 -> a
     10:14:java.lang.Class com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$1.read(com.android.tools.r8.com.google.gson.stream.JsonReader):81:85 -> a
     10:14:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):69 -> a
-com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$10 -> com.android.tools.r8.internal.e00:
+com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$10 -> com.android.tools.r8.internal.k00:
     1:1:void <init>():282:282 -> <init>
     1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):282:282 -> a
     2:6:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$10.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.concurrent.atomic.AtomicIntegerArray):303:307 -> a
     2:6:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):282 -> a
     7:21:java.util.concurrent.atomic.AtomicIntegerArray com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$10.read(com.android.tools.r8.com.google.gson.stream.JsonReader):284:298 -> a
     7:21:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):282 -> a
-com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$11 -> com.android.tools.r8.internal.f00:
+com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$11 -> com.android.tools.r8.internal.l00:
     1:1:void <init>():313:313 -> <init>
     1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):313:313 -> a
     2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$11.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Number):328:328 -> a
     2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):313 -> a
     3:10:java.lang.Number com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$11.read(com.android.tools.r8.com.google.gson.stream.JsonReader):316:323 -> a
     3:10:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):313 -> a
-com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$12 -> com.android.tools.r8.internal.g00:
+com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$12 -> com.android.tools.r8.internal.m00:
     1:1:void <init>():332:332 -> <init>
     1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):332:332 -> a
     2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$12.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Number):343:343 -> a
     2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):332 -> a
     3:7:java.lang.Number com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$12.read(com.android.tools.r8.com.google.gson.stream.JsonReader):335:339 -> a
     3:7:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):332 -> a
-com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$13 -> com.android.tools.r8.internal.h00:
+com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$13 -> com.android.tools.r8.internal.n00:
     1:1:void <init>():347:347 -> <init>
     1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):347:347 -> a
     2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$13.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Number):358:358 -> a
     2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):347 -> a
     3:7:java.lang.Number com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$13.read(com.android.tools.r8.com.google.gson.stream.JsonReader):350:354 -> a
     3:7:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):347 -> a
-com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$14 -> com.android.tools.r8.internal.i00:
+com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$14 -> com.android.tools.r8.internal.o00:
     1:1:void <init>():362:362 -> <init>
     1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):362:362 -> a
     2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$14.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Number):378:378 -> a
@@ -18365,7 +18370,7 @@
     13:13:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):362 -> a
     14:14:java.lang.Number com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$14.read(com.android.tools.r8.com.google.gson.stream.JsonReader):371:371 -> a
     14:14:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):362 -> a
-com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$15 -> com.android.tools.r8.internal.j00:
+com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$15 -> com.android.tools.r8.internal.p00:
     1:1:void <init>():384:384 -> <init>
     1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):384:384 -> a
     2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$15.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Character):399:399 -> a
@@ -18388,35 +18393,35 @@
     19:19:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):384 -> a
     14:14:java.lang.Character com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$15.read(com.android.tools.r8.com.google.gson.stream.JsonReader):393:393 -> a
     14:14:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):384 -> a
-com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$16 -> com.android.tools.r8.internal.k00:
+com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$16 -> com.android.tools.r8.internal.q00:
     1:1:void <init>():406:406 -> <init>
     1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):406:406 -> a
     2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$16.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.String):422:422 -> a
     2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):406 -> a
     3:12:java.lang.String com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$16.read(com.android.tools.r8.com.google.gson.stream.JsonReader):409:418 -> a
     3:12:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):406 -> a
-com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$17 -> com.android.tools.r8.internal.l00:
+com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$17 -> com.android.tools.r8.internal.r00:
     1:1:void <init>():426:426 -> <init>
     1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):426:426 -> a
     2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$17.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.math.BigDecimal):440:440 -> a
     2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):426 -> a
     3:10:java.math.BigDecimal com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$17.read(com.android.tools.r8.com.google.gson.stream.JsonReader):428:435 -> a
     3:10:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):426 -> a
-com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$18 -> com.android.tools.r8.internal.m00:
+com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$18 -> com.android.tools.r8.internal.s00:
     1:1:void <init>():444:444 -> <init>
     1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):444:444 -> a
     2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$18.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.math.BigInteger):458:458 -> a
     2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):444 -> a
     3:10:java.math.BigInteger com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$18.read(com.android.tools.r8.com.google.gson.stream.JsonReader):446:453 -> a
     3:10:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):444 -> a
-com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$19 -> com.android.tools.r8.internal.n00:
+com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$19 -> com.android.tools.r8.internal.t00:
     1:1:void <init>():464:464 -> <init>
     1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):464:464 -> a
     2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$19.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.StringBuilder):475:475 -> a
     2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):464 -> a
     3:7:java.lang.StringBuilder com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$19.read(com.android.tools.r8.com.google.gson.stream.JsonReader):467:471 -> a
     3:7:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):464 -> a
-com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$2 -> com.android.tools.r8.internal.A00:
+com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$2 -> com.android.tools.r8.internal.G00:
     1:1:void <init>():92:92 -> <init>
     1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):92:92 -> a
     2:11:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$2.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.BitSet):136:145 -> a
@@ -18453,55 +18458,55 @@
     89:89:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):92 -> a
     68:81:java.util.BitSet com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$2.read(com.android.tools.r8.com.google.gson.stream.JsonReader):117:130 -> a
     68:81:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):92 -> a
-com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$20 -> com.android.tools.r8.internal.p00:
+com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$20 -> com.android.tools.r8.internal.v00:
     1:1:void <init>():482:482 -> <init>
     1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):482:482 -> a
     2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$20.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.StringBuffer):493:493 -> a
     2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):482 -> a
     3:7:java.lang.StringBuffer com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$20.read(com.android.tools.r8.com.google.gson.stream.JsonReader):485:489 -> a
     3:7:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):482 -> a
-com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$21 -> com.android.tools.r8.internal.q00:
+com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$21 -> com.android.tools.r8.internal.w00:
     1:1:void <init>():500:500 -> <init>
     1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):500:500 -> a
     2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$21.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.net.URL):512:512 -> a
     2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):500 -> a
     3:8:java.net.URL com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$21.read(com.android.tools.r8.com.google.gson.stream.JsonReader):503:508 -> a
     3:8:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):500 -> a
-com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$22 -> com.android.tools.r8.internal.r00:
+com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$22 -> com.android.tools.r8.internal.x00:
     1:1:void <init>():518:518 -> <init>
     1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):518:518 -> a
     2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$22.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.net.URI):534:534 -> a
     2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):518 -> a
     3:11:java.net.URI com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$22.read(com.android.tools.r8.com.google.gson.stream.JsonReader):521:529 -> a
     3:11:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):518 -> a
-com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$23 -> com.android.tools.r8.internal.s00:
+com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$23 -> com.android.tools.r8.internal.y00:
     1:1:void <init>():540:540 -> <init>
     1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):540:540 -> a
     2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$23.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.net.InetAddress):552:552 -> a
     2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):540 -> a
     3:8:java.net.InetAddress com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$23.read(com.android.tools.r8.com.google.gson.stream.JsonReader):543:548 -> a
     3:8:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):540 -> a
-com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$24 -> com.android.tools.r8.internal.t00:
+com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$24 -> com.android.tools.r8.internal.z00:
     1:1:void <init>():559:559 -> <init>
     1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):559:559 -> a
     2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$24.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.UUID):570:570 -> a
     2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):559 -> a
     3:7:java.util.UUID com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$24.read(com.android.tools.r8.com.google.gson.stream.JsonReader):562:566 -> a
     3:7:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):559 -> a
-com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$25 -> com.android.tools.r8.internal.u00:
+com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$25 -> com.android.tools.r8.internal.A00:
     1:1:void <init>():576:576 -> <init>
     1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):576:576 -> a
     2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$25.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Currency):583:583 -> a
     2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):576 -> a
     3:3:java.util.Currency com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$25.read(com.android.tools.r8.com.google.gson.stream.JsonReader):579:579 -> a
     3:3:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):576 -> a
-com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$26 -> com.android.tools.r8.internal.w00:
+com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$26 -> com.android.tools.r8.internal.C00:
     1:1:void <init>():588:588 -> <init>
     1:5:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):591:595 -> a
     6:6:com.android.tools.r8.com.google.gson.TypeAdapter com.android.tools.r8.com.google.gson.Gson.getAdapter(java.lang.Class):521:521 -> a
     6:6:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):595 -> a
     7:7:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):596:596 -> a
-com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$26$1 -> com.android.tools.r8.internal.v00:
+com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$26$1 -> com.android.tools.r8.internal.B00:
     com.android.tools.r8.com.google.gson.TypeAdapter val$dateTypeAdapter -> a
     1:1:void <init>(com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$26,com.android.tools.r8.com.google.gson.TypeAdapter):596:596 -> <init>
     1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):596:596 -> a
@@ -18509,21 +18514,21 @@
     2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):596 -> a
     3:4:java.sql.Timestamp com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$26$1.read(com.android.tools.r8.com.google.gson.stream.JsonReader):598:599 -> a
     3:4:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):596 -> a
-com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$27 -> com.android.tools.r8.internal.x00:
+com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$27 -> com.android.tools.r8.internal.D00:
     1:1:void <init>():609:609 -> <init>
     1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):609:609 -> a
     2:18:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$27.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Calendar):654:670 -> a
     2:18:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):609 -> a
     19:48:java.util.Calendar com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$27.read(com.android.tools.r8.com.google.gson.stream.JsonReader):619:648 -> a
     19:48:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):609 -> a
-com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$28 -> com.android.tools.r8.internal.y00:
+com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$28 -> com.android.tools.r8.internal.E00:
     1:1:void <init>():677:677 -> <init>
     1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):677:677 -> a
     2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$28.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Locale):708:708 -> a
     2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):677 -> a
     3:26:java.util.Locale com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$28.read(com.android.tools.r8.com.google.gson.stream.JsonReader):680:703 -> a
     3:26:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):677 -> a
-com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$29 -> com.android.tools.r8.internal.z00:
+com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$29 -> com.android.tools.r8.internal.F00:
     1:1:void <init>():714:714 -> <init>
     1:1:boolean com.android.tools.r8.com.google.gson.JsonElement.isJsonNull():74:74 -> a
     1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,com.android.tools.r8.com.google.gson.JsonElement):753 -> a
@@ -18555,17 +18560,17 @@
     37:38:com.android.tools.r8.com.google.gson.JsonElement read(com.android.tools.r8.com.google.gson.stream.JsonReader):720:721 -> b
     39:62:com.android.tools.r8.com.google.gson.JsonElement read(com.android.tools.r8.com.google.gson.stream.JsonReader):718:741 -> b
     63:68:com.android.tools.r8.com.google.gson.JsonElement read(com.android.tools.r8.com.google.gson.stream.JsonReader):728:733 -> b
-com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$3 -> com.android.tools.r8.internal.H00:
+com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$3 -> com.android.tools.r8.internal.N00:
     1:1:void <init>():151:151 -> <init>
     1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):151:151 -> a
     2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$3.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Boolean):165:165 -> a
     2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):151 -> a
     3:10:java.lang.Boolean com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$3.read(com.android.tools.r8.com.google.gson.stream.JsonReader):154:161 -> a
     3:10:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):151 -> a
-com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$30 -> com.android.tools.r8.internal.B00:
+com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$30 -> com.android.tools.r8.internal.H00:
     1:1:void <init>():824:824 -> <init>
     1:8:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):827:834 -> a
-com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$32 -> com.android.tools.r8.internal.C00:
+com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$32 -> com.android.tools.r8.internal.I00:
     com.android.tools.r8.com.google.gson.TypeAdapter val$typeAdapter -> c
     java.lang.Class val$type -> b
     1:1:void <init>(java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):850:850 -> <init>
@@ -18576,7 +18581,7 @@
     859:859:java.lang.String toString():856:856 -> toString
     860:860:java.lang.String toString():856:856 -> toString
     857:857:java.lang.String toString():856:856 -> toString
-com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$33 -> com.android.tools.r8.internal.D00:
+com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$33 -> com.android.tools.r8.internal.J00:
     com.android.tools.r8.com.google.gson.TypeAdapter val$typeAdapter -> d
     java.lang.Class val$unboxed -> b
     java.lang.Class val$boxed -> c
@@ -18588,7 +18593,7 @@
     874:874:java.lang.String toString():870:870 -> toString
     875:875:java.lang.String toString():870:870 -> toString
     871:872:java.lang.String toString():870:871 -> toString
-com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$34 -> com.android.tools.r8.internal.E00:
+com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$34 -> com.android.tools.r8.internal.K00:
     com.android.tools.r8.com.google.gson.TypeAdapter val$typeAdapter -> d
     java.lang.Class val$base -> b
     java.lang.Class val$sub -> c
@@ -18600,7 +18605,7 @@
     889:889:java.lang.String toString():885:885 -> toString
     890:890:java.lang.String toString():885:885 -> toString
     886:887:java.lang.String toString():885:886 -> toString
-com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$35 -> com.android.tools.r8.internal.G00:
+com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$35 -> com.android.tools.r8.internal.M00:
     com.android.tools.r8.com.google.gson.TypeAdapter val$typeAdapter -> c
     java.lang.Class val$clazz -> b
     1:1:void <init>(java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):897:897 -> <init>
@@ -18611,7 +18616,7 @@
     923:923:java.lang.String toString():920:920 -> toString
     924:924:java.lang.String toString():920:920 -> toString
     921:921:java.lang.String toString():920:920 -> toString
-com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$35$1 -> com.android.tools.r8.internal.F00:
+com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$35$1 -> com.android.tools.r8.internal.L00:
     com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$35 this$0 -> b
     java.lang.Class val$requestedType -> a
     1:1:void <init>(com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$35,java.lang.Class):904:904 -> <init>
@@ -18623,49 +18628,49 @@
     920:920:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):912:912 -> a
     921:921:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):912:912 -> a
     917:918:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):912:913 -> a
-com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$4 -> com.android.tools.r8.internal.I00:
+com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$4 -> com.android.tools.r8.internal.O00:
     1:1:void <init>():173:173 -> <init>
     1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):173:173 -> a
     2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$4.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Boolean):183:183 -> a
     2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):173 -> a
     3:7:java.lang.Boolean com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$4.read(com.android.tools.r8.com.google.gson.stream.JsonReader):175:179 -> a
     3:7:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):173 -> a
-com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$5 -> com.android.tools.r8.internal.J00:
+com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$5 -> com.android.tools.r8.internal.P00:
     1:1:void <init>():190:190 -> <init>
     1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):190:190 -> a
     2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$5.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Number):206:206 -> a
     2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):190 -> a
     3:11:java.lang.Number com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$5.read(com.android.tools.r8.com.google.gson.stream.JsonReader):193:201 -> a
     3:11:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):190 -> a
-com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$6 -> com.android.tools.r8.internal.K00:
+com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$6 -> com.android.tools.r8.internal.Q00:
     1:1:void <init>():213:213 -> <init>
     1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):213:213 -> a
     2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$6.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Number):228:228 -> a
     2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):213 -> a
     3:10:java.lang.Number com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$6.read(com.android.tools.r8.com.google.gson.stream.JsonReader):216:223 -> a
     3:10:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):213 -> a
-com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$7 -> com.android.tools.r8.internal.L00:
+com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$7 -> com.android.tools.r8.internal.R00:
     1:1:void <init>():235:235 -> <init>
     1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):235:235 -> a
     2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$7.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Number):250:250 -> a
     2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):235 -> a
     3:10:java.lang.Number com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$7.read(com.android.tools.r8.com.google.gson.stream.JsonReader):238:245 -> a
     3:10:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):235 -> a
-com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$8 -> com.android.tools.r8.internal.M00:
+com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$8 -> com.android.tools.r8.internal.S00:
     1:1:void <init>():256:256 -> <init>
     1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):256:256 -> a
     2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$8.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.concurrent.atomic.AtomicInteger):265:265 -> a
     2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):256 -> a
     3:5:java.util.concurrent.atomic.AtomicInteger com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$8.read(com.android.tools.r8.com.google.gson.stream.JsonReader):259:261 -> a
     3:5:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):256 -> a
-com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$9 -> com.android.tools.r8.internal.N00:
+com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$9 -> com.android.tools.r8.internal.T00:
     1:1:void <init>():271:271 -> <init>
     1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):271:271 -> a
     2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$9.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.concurrent.atomic.AtomicBoolean):276:276 -> a
     2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):271 -> a
     3:3:java.util.concurrent.atomic.AtomicBoolean com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$9.read(com.android.tools.r8.com.google.gson.stream.JsonReader):273:273 -> a
     3:3:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):271 -> a
-com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$EnumTypeAdapter -> com.android.tools.r8.internal.O00:
+com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$EnumTypeAdapter -> com.android.tools.r8.internal.U00:
     java.util.Map nameToConstant -> a
     java.util.Map constantToName -> b
     1:1:void <init>(java.lang.Class):793:793 -> <init>
@@ -18675,7 +18680,7 @@
     2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):789 -> a
     3:7:java.lang.Enum com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$EnumTypeAdapter.read(com.android.tools.r8.com.google.gson.stream.JsonReader):812:816 -> a
     3:7:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):789 -> a
-com.android.tools.r8.com.google.gson.internal.bind.util.ISO8601Utils -> com.android.tools.r8.internal.zn:
+com.android.tools.r8.com.google.gson.internal.bind.util.ISO8601Utils -> com.android.tools.r8.internal.Bn:
     java.util.TimeZone TIMEZONE_UTC -> a
     1:1:void <clinit>():30:30 -> <clinit>
     1:52:java.util.Date parse(java.lang.String,java.text.ParsePosition):126:177 -> a
@@ -18706,7 +18711,7 @@
     1216:1216:int parseInt(java.lang.String,int,int):318:318 -> a
     1195:1195:int parseInt(java.lang.String,int,int):318:318 -> a
     1196:1196:int parseInt(java.lang.String,int,int):302:302 -> a
-com.android.tools.r8.com.google.gson.reflect.TypeToken -> com.android.tools.r8.internal.c10:
+com.android.tools.r8.com.google.gson.reflect.TypeToken -> com.android.tools.r8.internal.i10:
     java.lang.reflect.Type type -> b
     java.lang.Class rawType -> a
     int hashCode -> c
@@ -18721,7 +18726,7 @@
     1:2:boolean equals(java.lang.Object):284:285 -> equals
     1:1:int hashCode():280:280 -> hashCode
     1:1:java.lang.String toString():289:289 -> toString
-com.android.tools.r8.com.google.gson.stream.JsonReader -> com.android.tools.r8.internal.Pv:
+com.android.tools.r8.com.google.gson.stream.JsonReader -> com.android.tools.r8.internal.Rv:
     long peekedLong -> j
     int stackSize -> n
     char[] buffer -> d
@@ -18876,18 +18881,18 @@
     3620:3620:int nextInt():1164:1164 -> l
     1179:1204:int nextInt():1164:1189 -> l
     1205:1205:int nextInt():0:0 -> l
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3645,"2":3646,"3":3647}}
-    3645:3645:int nextInt():1189:1189 -> l
-    3646:3646:int nextInt():1189:1189 -> l
-    3647:3647:int nextInt():1189:1189 -> l
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3618,"2":3619,"3":3620}}
+    3618:3618:int nextInt():1189:1189 -> l
+    3619:3619:int nextInt():1189:1189 -> l
+    3620:3620:int nextInt():1189:1189 -> l
     2394:2394:int nextInt():1189:1189 -> l
     2395:2419:int nextInt():1176:1200 -> l
     2420:2420:int nextInt():1196:1196 -> l
     2421:2421:int nextInt():0:0 -> l
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3654,"2":3655,"3":3656}}
-    3654:3654:int nextInt():1196:1196 -> l
-    3655:3655:int nextInt():1196:1196 -> l
-    3656:3656:int nextInt():1196:1196 -> l
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3618,"2":3619,"3":3620}}
+    3618:3618:int nextInt():1196:1196 -> l
+    3619:3619:int nextInt():1196:1196 -> l
+    3620:3620:int nextInt():1196:1196 -> l
     3617:3617:int nextInt():1196:1196 -> l
     1:30:long nextLong():931:960 -> m
     31:31:long nextLong():0:0 -> m
@@ -18899,10 +18904,10 @@
     992:1016:long nextLong():947:971 -> m
     1017:1017:long nextLong():967:967 -> m
     1018:1018:long nextLong():0:0 -> m
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1995,"2":1996,"3":1997}}
-    1995:1995:long nextLong():967:967 -> m
-    1996:1996:long nextLong():967:967 -> m
-    1997:1997:long nextLong():967:967 -> m
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1986,"2":1987,"3":1988}}
+    1986:1986:long nextLong():967:967 -> m
+    1987:1987:long nextLong():967:967 -> m
+    1988:1988:long nextLong():967:967 -> m
     1985:1985:long nextLong():967:967 -> m
     1:16:java.lang.String nextName():777:792 -> n
     17:17:java.lang.String nextName():789:789 -> n
@@ -18944,7 +18949,7 @@
     28:52:void skipValue():1240 -> t
     53:57:void skipValue():1248:1252 -> t
     1:1:java.lang.String toString():1445:1445 -> toString
-com.android.tools.r8.com.google.gson.stream.JsonReader$1 -> com.android.tools.r8.internal.Ov:
+com.android.tools.r8.com.google.gson.stream.JsonReader$1 -> com.android.tools.r8.internal.Qv:
     1:1:void <init>():1585:1585 -> <init>
     1:12:void promoteNameToValue(com.android.tools.r8.com.google.gson.stream.JsonReader):1591:1602 -> a
     13:13:void promoteNameToValue(com.android.tools.r8.com.google.gson.stream.JsonReader):0:0 -> a
@@ -18953,12 +18958,12 @@
     1618:1618:void promoteNameToValue(com.android.tools.r8.com.google.gson.stream.JsonReader):1602:1602 -> a
     1619:1619:void promoteNameToValue(com.android.tools.r8.com.google.gson.stream.JsonReader):1602:1602 -> a
     1616:1616:void promoteNameToValue(com.android.tools.r8.com.google.gson.stream.JsonReader):1603:1603 -> a
-com.android.tools.r8.com.google.gson.stream.JsonToken$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.Sv:
+com.android.tools.r8.com.google.gson.stream.JsonToken$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.Uv:
 # {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
 # {"id":"com.android.tools.r8.synthesized"}
     java.lang.String stringValueOf(int) -> a
       # {"id":"com.android.tools.r8.synthesized"}
-com.android.tools.r8.com.google.gson.stream.JsonWriter -> com.android.tools.r8.internal.Vv:
+com.android.tools.r8.com.google.gson.stream.JsonWriter -> com.android.tools.r8.internal.Xv:
     java.lang.String separator -> f
     java.lang.String[] HTML_SAFE_REPLACEMENT_CHARS -> l
     java.lang.String deferredName -> i
@@ -19048,7 +19053,7 @@
     15:15:int com.android.tools.r8.com.google.gson.stream.JsonWriter.peek():367:367 -> l
     15:15:void com.android.tools.r8.com.google.gson.stream.JsonWriter.beforeName():612 -> l
     15:15:void writeDeferredName():401 -> l
-com.android.tools.r8.com.google.gson.stream.MalformedJsonException -> com.android.tools.r8.internal.tD:
+com.android.tools.r8.com.google.gson.stream.MalformedJsonException -> com.android.tools.r8.internal.yD:
     1:1:void <init>(java.lang.String):29:29 -> <init>
 com.android.tools.r8.compatproguard.CompatProguard -> com.android.tools.r8.compatproguard.CompatProguard:
     1:23:void run(java.lang.String[]):210:232 -> a
@@ -19114,7 +19119,7 @@
     83:103:com.android.tools.r8.compatproguard.CompatProguard$CompatProguardOptions parse(java.lang.String[]):146:166 -> a
 com.android.tools.r8.compatproguard.CompatProguard$CompatProguardOptions$1 -> com.android.tools.r8.compatproguard.a:
     1:1:void <init>():83:83 -> <init>
-com.android.tools.r8.contexts.CompilationContext -> com.android.tools.r8.internal.Kc:
+com.android.tools.r8.contexts.CompilationContext -> com.android.tools.r8.internal.Lc:
     java.util.Map seenSetForTesting -> c
     java.lang.Thread mainThread -> b
     java.util.function.Consumer testingConsumer -> a
@@ -19135,13 +19140,13 @@
     68:68:boolean verifyContext(com.android.tools.r8.contexts.CompilationContext$ContextDescriptorProvider):53:53 -> a
     63:63:boolean verifyContext(com.android.tools.r8.contexts.CompilationContext$ContextDescriptorProvider):53:53 -> a
     69:71:com.android.tools.r8.contexts.CompilationContext$ProcessorContext createProcessorContext():66:68 -> a
-com.android.tools.r8.contexts.CompilationContext$1 -> com.android.tools.r8.internal.Fc:
-com.android.tools.r8.contexts.CompilationContext$ContextDescriptorProvider -> com.android.tools.r8.internal.Gc:
+com.android.tools.r8.contexts.CompilationContext$1 -> com.android.tools.r8.internal.Gc:
+com.android.tools.r8.contexts.CompilationContext$ContextDescriptorProvider -> com.android.tools.r8.internal.Hc:
     1:1:void <init>():17:17 -> <init>
     2:2:void <init>(com.android.tools.r8.contexts.CompilationContext$1):17:17 -> <init>
     java.lang.StringBuilder buildContextDescriptorForTesting(java.lang.StringBuilder) -> a
     java.lang.StringBuilder buildSyntheticSuffix(java.lang.StringBuilder) -> b
-com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext -> com.android.tools.r8.internal.Hc:
+com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext -> com.android.tools.r8.internal.Ic:
     com.android.tools.r8.graph.ProgramMethod method -> b
     int nextId -> c
     com.android.tools.r8.contexts.CompilationContext$ProcessorContext parent -> a
@@ -19160,7 +19165,7 @@
     2:2:java.lang.StringBuilder buildSyntheticSuffix(java.lang.StringBuilder):162:162 -> b
     3:5:java.lang.StringBuilder com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext.buildSuffix(java.lang.StringBuilder):148:150 -> b
     3:5:java.lang.StringBuilder buildSyntheticSuffix(java.lang.StringBuilder):162 -> b
-com.android.tools.r8.contexts.CompilationContext$ProcessorContext -> com.android.tools.r8.internal.Ic:
+com.android.tools.r8.contexts.CompilationContext$ProcessorContext -> com.android.tools.r8.internal.Jc:
     com.android.tools.r8.contexts.CompilationContext parent -> a
     int processorId -> b
     boolean $assertionsDisabled -> c
@@ -19177,7 +19182,7 @@
     6:6:java.lang.StringBuilder buildContextDescriptorForTesting(java.lang.StringBuilder):105 -> a
     1:1:java.lang.StringBuilder com.android.tools.r8.contexts.CompilationContext$ProcessorContext.buildSuffix(java.lang.StringBuilder):100:100 -> b
     1:1:java.lang.StringBuilder buildSyntheticSuffix(java.lang.StringBuilder):110 -> b
-com.android.tools.r8.contexts.CompilationContext$UniqueContext -> com.android.tools.r8.internal.Jc:
+com.android.tools.r8.contexts.CompilationContext$UniqueContext -> com.android.tools.r8.internal.Kc:
     com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext parent -> a
     int positionId -> b
     1:1:void <init>(com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,int,com.android.tools.r8.contexts.CompilationContext$1):166:166 -> <init>
@@ -19196,7 +19201,7 @@
     5:5:java.lang.StringBuilder com.android.tools.r8.contexts.CompilationContext$UniqueContext.buildSyntheticSuffix(java.lang.StringBuilder):186 -> b
     5:5:java.lang.String getSyntheticSuffix():194 -> b
     6:6:java.lang.String getSyntheticSuffix():194:194 -> b
-com.android.tools.r8.desugar.desugaredlibrary.DesugaredLibraryKeepRuleGenerator -> com.android.tools.r8.internal.Lf:
+com.android.tools.r8.desugar.desugaredlibrary.DesugaredLibraryKeepRuleGenerator -> com.android.tools.r8.internal.Mf:
     com.android.tools.r8.utils.InternalOptions options -> b
     com.android.tools.r8.naming.NamingLens namingLens -> a
     1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):53:56 -> <init>
@@ -19551,15 +19556,17 @@
     1410:1410:void lambda$setCallSiteContexts$6(com.android.tools.r8.graph.ProgramMethod):749:749 -> a
     1411:1423:void rewriteCodeWithJumboStrings(com.android.tools.r8.graph.ObjectToOffsetMapping,java.util.Collection,com.android.tools.r8.graph.DexApplication):764:776 -> a
     1424:1431:void lambda$rewriteCodeWithJumboStrings$7(com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.ProgramMethod):779:786 -> a
-    1432:1433:java.lang.String com.android.tools.r8.dex.ApplicationWriter.mapMainDexListName(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.NamingLens):809:810 -> a
-    1432:1433:void lambda$writeMainDexList$8(java.lang.StringBuilder,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexType):821 -> a
-    1434:1434:void lambda$writeMainDexList$8(java.lang.StringBuilder,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexType):821:821 -> a
-    1435:1442:java.lang.String writeMainDexList(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):815:822 -> a
+    1432:1443:com.android.tools.r8.dex.FileWriter$ByteBufferResult writeDexFile(com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ByteBufferProvider,com.android.tools.r8.utils.Timing):793:804 -> a
+    1444:1444:com.android.tools.r8.dex.FileWriter lambda$writeDexFile$8(com.android.tools.r8.dex.FileWriter):802:802 -> a
+    1445:1446:java.lang.String com.android.tools.r8.dex.ApplicationWriter.mapMainDexListName(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.NamingLens):808:809 -> a
+    1445:1446:void lambda$writeMainDexList$10(java.lang.StringBuilder,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexType):820 -> a
+    1447:1447:void lambda$writeMainDexList$10(java.lang.StringBuilder,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexType):820:820 -> a
+    1448:1455:java.lang.String writeMainDexList(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):814:821 -> a
     1:1:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):0:0 -> b
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":392,"2":393,"3":394}}
-    392:392:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):328:328 -> b
-    393:393:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):328:328 -> b
-    394:394:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):328:328 -> b
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":381,"2":382,"3":383}}
+    381:381:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):328:328 -> b
+    382:382:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):328:328 -> b
+    383:383:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):328:328 -> b
     329:329:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):328:328 -> b
     330:340:void com.android.tools.r8.dex.ApplicationWriter.writeVirtualFile(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.Timing,java.util.List):461:471 -> b
     330:340:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):329 -> b
@@ -19571,18 +19578,14 @@
     349:349:com.android.tools.r8.DexIndexedConsumer com.android.tools.r8.utils.InternalOptions.getDexIndexedConsumer():484:484 -> b
     349:349:void com.android.tools.r8.dex.ApplicationWriter.writeVirtualFile(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.Timing,java.util.List):480 -> b
     349:349:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):329 -> b
-    350:355:void com.android.tools.r8.dex.ApplicationWriter.writeVirtualFile(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.Timing,java.util.List):485:490 -> b
-    350:355:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):329 -> b
-    356:367:com.android.tools.r8.dex.FileWriter$ByteBufferResult com.android.tools.r8.dex.ApplicationWriter.writeDexFile(com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ByteBufferProvider):794:805 -> b
-    356:367:void com.android.tools.r8.dex.ApplicationWriter.writeVirtualFile(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.Timing,java.util.List):491 -> b
-    356:367:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):329 -> b
-    368:377:void com.android.tools.r8.dex.ApplicationWriter.writeVirtualFile(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.Timing,java.util.List):492:501 -> b
-    368:377:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):329 -> b
-    378:390:void com.android.tools.r8.dex.ApplicationWriter.writeVirtualFile(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.Timing,java.util.List):498:510 -> b
-    378:390:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):329 -> b
-    391:391:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):330:330 -> b
-    395:400:com.android.tools.r8.graph.DexString rewriteSourceFile(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):435:440 -> b
-    401:403:void setCallSiteContexts(java.util.concurrent.ExecutorService):742:742 -> b
+    350:366:void com.android.tools.r8.dex.ApplicationWriter.writeVirtualFile(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.Timing,java.util.List):485:501 -> b
+    350:366:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):329 -> b
+    367:379:void com.android.tools.r8.dex.ApplicationWriter.writeVirtualFile(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.Timing,java.util.List):498:510 -> b
+    367:379:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):329 -> b
+    380:380:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):330:330 -> b
+    384:389:com.android.tools.r8.graph.DexString rewriteSourceFile(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):435:440 -> b
+    390:392:void setCallSiteContexts(java.util.concurrent.ExecutorService):742:742 -> b
+    393:393:com.android.tools.r8.dex.FileWriter$ByteBufferResult lambda$writeDexFile$9(com.android.tools.r8.dex.FileWriter):804:804 -> b
     1:1:void write(java.util.concurrent.ExecutorService):236:236 -> c
     2:2:boolean com.android.tools.r8.dex.ApplicationWriter.willComputeProguardMap():231:231 -> c
     2:2:void write(java.util.concurrent.ExecutorService):236 -> c
@@ -19627,18 +19630,18 @@
 com.android.tools.r8.dex.ApplicationWriter$LazyDexString -> com.android.tools.r8.internal.z2:
     boolean computed -> a
     boolean $assertionsDisabled -> b
-    1:1:void <clinit>():825:825 -> <clinit>
-    1:2:void <init>():825:826 -> <init>
-    1:3:com.android.tools.r8.graph.DexString compute():831:833 -> a
+    1:1:void <clinit>():824:824 -> <clinit>
+    1:2:void <init>():824:825 -> <init>
+    1:3:com.android.tools.r8.graph.DexString compute():830:832 -> a
     com.android.tools.r8.graph.DexString internalCompute() -> b
 com.android.tools.r8.dex.ApplicationWriter$SortAnnotations -> com.android.tools.r8.internal.A2:
     com.android.tools.r8.naming.NamingLens namingLens -> a
     1:2:void <init>(com.android.tools.r8.naming.NamingLens):97:98 -> <init>
-    boolean add(com.android.tools.r8.graph.DexDebugInfo) -> a
     boolean add(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexWritableCode) -> a
     boolean add(com.android.tools.r8.graph.DexProgramClass) -> a
     boolean add(com.android.tools.r8.graph.DexTypeList) -> a
     boolean add(com.android.tools.r8.graph.ParameterAnnotationsList) -> a
+    boolean add(com.android.tools.r8.graph.DexDebugInfoForWriting) -> a
     boolean setAnnotationsDirectoryForClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexAnnotationDirectory) -> a
     1:1:boolean add(com.android.tools.r8.graph.DexAnnotationSet):104:104 -> a
     2:2:boolean add(com.android.tools.r8.graph.DexAnnotation):111:111 -> a
@@ -19657,7 +19660,7 @@
     1:1:int getUleb128():44:44 -> d
     1:1:int getUleb128p1():52 -> d
     1:2:int getUshort():62:63 -> e
-com.android.tools.r8.dex.ClassesChecksum -> com.android.tools.r8.internal.rb:
+com.android.tools.r8.dex.ClassesChecksum -> com.android.tools.r8.internal.sb:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongMap dictionary -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():14:14 -> <clinit>
@@ -19674,7 +19677,7 @@
     15:15:boolean com.android.tools.r8.com.google.gson.JsonElement.isJsonObject():55:55 -> b
     15:15:void tryParseAndAppend(com.android.tools.r8.graph.DexString):65 -> b
     16:16:void tryParseAndAppend(com.android.tools.r8.graph.DexString):66:66 -> b
-com.android.tools.r8.dex.CodeToKeep -> com.android.tools.r8.internal.Sb:
+com.android.tools.r8.dex.CodeToKeep -> com.android.tools.r8.internal.Tb:
     1:1:void <init>():24:24 -> <init>
     void generateKeepRules(com.android.tools.r8.utils.InternalOptions) -> a
     boolean isNop() -> a
@@ -19688,8 +19691,8 @@
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     4:8:com.android.tools.r8.dex.CodeToKeep createCodeToKeep(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.naming.NamingLens):29:33 -> a
     9:9:com.android.tools.r8.dex.CodeToKeep createCodeToKeep(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.naming.NamingLens):31:31 -> a
-com.android.tools.r8.dex.CodeToKeep$1 -> com.android.tools.r8.internal.Nb:
-com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep -> com.android.tools.r8.internal.Qb:
+com.android.tools.r8.dex.CodeToKeep$1 -> com.android.tools.r8.internal.Ob:
+com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep -> com.android.tools.r8.internal.Rb:
     java.util.Map toKeep -> c
     com.android.tools.r8.naming.NamingLens namingLens -> a
     com.android.tools.r8.utils.InternalOptions options -> d
@@ -19746,18 +19749,18 @@
     90:90:boolean shouldKeep(com.android.tools.r8.graph.DexType):77:77 -> c
     82:86:boolean shouldKeep(com.android.tools.r8.graph.DexType):77:81 -> c
     87:87:boolean shouldKeep(com.android.tools.r8.graph.DexType):78:78 -> c
-com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep$2 -> com.android.tools.r8.internal.Ob:
+com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep$2 -> com.android.tools.r8.internal.Pb:
     1:1:void <init>():209:209 -> <init>
     1:1:int compare(java.lang.Object,java.lang.Object):209:209 -> compare
     2:2:int com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep$2.compare(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):212:212 -> compare
     2:2:int compare(java.lang.Object,java.lang.Object):209 -> compare
-com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep$KeepStruct -> com.android.tools.r8.internal.Pb:
+com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep$KeepStruct -> com.android.tools.r8.internal.Qb:
     java.util.Set fields -> a
     java.util.Set methods -> b
     boolean all -> c
     1:5:void <init>():52:56 -> <init>
     6:6:void <init>(com.android.tools.r8.dex.CodeToKeep$1):52:52 -> <init>
-com.android.tools.r8.dex.CodeToKeep$NopCodeToKeep -> com.android.tools.r8.internal.Rb:
+com.android.tools.r8.dex.CodeToKeep$NopCodeToKeep -> com.android.tools.r8.internal.Sb:
     1:1:void <init>():218:218 -> <init>
     boolean isNop() -> a
     void recordClass(com.android.tools.r8.graph.DexType) -> a
@@ -19765,7 +19768,7 @@
     void recordHierarchyOf(com.android.tools.r8.graph.DexProgramClass) -> a
     void recordMethod(com.android.tools.r8.graph.DexMethod) -> a
     1:1:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):242:242 -> a
-com.android.tools.r8.dex.CompatByteBuffer -> com.android.tools.r8.internal.Ec:
+com.android.tools.r8.dex.CompatByteBuffer -> com.android.tools.r8.internal.Fc:
     java.nio.ByteBuffer buffer -> a
     1:2:void <init>(java.nio.ByteBuffer):21:22 -> <init>
     1:1:java.nio.ByteBuffer com.android.tools.r8.dex.CompatByteBuffer.asByteBuffer():34:34 -> a
@@ -19833,39 +19836,39 @@
     1:1:java.nio.Buffer com.android.tools.r8.dex.CompatByteBuffer.asBuffer():30:30 -> m
     1:1:void rewind():48 -> m
     2:2:void rewind():48:48 -> m
-com.android.tools.r8.dex.Constants -> com.android.tools.r8.internal.Md:
+com.android.tools.r8.dex.Constants -> com.android.tools.r8.internal.Nd:
     byte[] VDEX_FILE_MAGIC_PREFIX -> b
     byte[] DEX_FILE_MAGIC_PREFIX -> a
     com.android.tools.r8.cf.CfVersion CORRESPONDING_CLASS_FILE_VERSION -> c
     1:12:void <clinit>():10:21 -> <clinit>
-com.android.tools.r8.dex.DebugBytecodeWriter -> com.android.tools.r8.internal.Ie:
+com.android.tools.r8.dex.DebugBytecodeWriter -> com.android.tools.r8.internal.Je:
     com.android.tools.r8.graph.ObjectToOffsetMapping mapping -> a
-    com.android.tools.r8.graph.DexDebugInfo info -> c
     java.nio.ByteBuffer buffer -> d
+    com.android.tools.r8.graph.DexDebugInfoForWriting info -> c
     com.android.tools.r8.graph.GraphLens graphLens -> b
-    1:7:void <init>(com.android.tools.r8.graph.DexDebugInfo,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):24:30 -> <init>
-    1:12:byte[] generate():35:46 -> a
-    13:16:void com.android.tools.r8.dex.DebugBytecodeWriter.maybeGrow(int):50:53 -> a
-    13:16:void putByte(int):58 -> a
-    17:17:void putByte(int):59:59 -> a
-    18:18:void com.android.tools.r8.dex.DebugBytecodeWriter.putNoIndex():79:79 -> a
-    18:18:void putString(com.android.tools.r8.graph.DexString):93 -> a
-    19:19:void putString(com.android.tools.r8.graph.DexString):95:95 -> a
-    20:20:void com.android.tools.r8.dex.DebugBytecodeWriter.putUleb128p1(int):75:75 -> a
-    20:20:void putString(com.android.tools.r8.graph.DexString):96 -> a
-    21:21:void com.android.tools.r8.dex.DebugBytecodeWriter.putNoIndex():79:79 -> a
-    21:21:void putType(com.android.tools.r8.graph.DexType):84 -> a
-    22:22:void putType(com.android.tools.r8.graph.DexType):86:86 -> a
-    23:23:void com.android.tools.r8.dex.DebugBytecodeWriter.putUleb128p1(int):75:75 -> a
-    23:23:void putType(com.android.tools.r8.graph.DexType):87 -> a
-    1:2:void putSleb128(int):63:64 -> b
-    3:6:void com.android.tools.r8.dex.DebugBytecodeWriter.maybeGrow(int):50:53 -> b
-    3:6:void putSleb128(int):64 -> b
-    7:7:void putSleb128(int):65:65 -> b
-    1:2:void putUleb128(int):69:70 -> c
-    3:6:void com.android.tools.r8.dex.DebugBytecodeWriter.maybeGrow(int):50:53 -> c
-    3:6:void putUleb128(int):70 -> c
-    7:7:void putUleb128(int):71:71 -> c
+    1:5:void <init>(com.android.tools.r8.graph.DexDebugInfoForWriting,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):23:27 -> <init>
+    1:2:byte[] generate():31:32 -> a
+    3:6:void com.android.tools.r8.dex.DebugBytecodeWriter.maybeGrow(int):36:39 -> a
+    3:6:void putByte(int):44 -> a
+    7:7:void putByte(int):45:45 -> a
+    8:8:void com.android.tools.r8.dex.DebugBytecodeWriter.putNoIndex():65:65 -> a
+    8:8:void putString(com.android.tools.r8.graph.DexString):79 -> a
+    9:9:void putString(com.android.tools.r8.graph.DexString):81:81 -> a
+    10:10:void com.android.tools.r8.dex.DebugBytecodeWriter.putUleb128p1(int):61:61 -> a
+    10:10:void putString(com.android.tools.r8.graph.DexString):82 -> a
+    11:11:void com.android.tools.r8.dex.DebugBytecodeWriter.putNoIndex():65:65 -> a
+    11:11:void putType(com.android.tools.r8.graph.DexType):70 -> a
+    12:12:void putType(com.android.tools.r8.graph.DexType):72:72 -> a
+    13:13:void com.android.tools.r8.dex.DebugBytecodeWriter.putUleb128p1(int):61:61 -> a
+    13:13:void putType(com.android.tools.r8.graph.DexType):73 -> a
+    1:2:void putSleb128(int):49:50 -> b
+    3:6:void com.android.tools.r8.dex.DebugBytecodeWriter.maybeGrow(int):36:39 -> b
+    3:6:void putSleb128(int):50 -> b
+    7:7:void putSleb128(int):51:51 -> b
+    1:2:void putUleb128(int):55:56 -> c
+    3:6:void com.android.tools.r8.dex.DebugBytecodeWriter.maybeGrow(int):36:39 -> c
+    3:6:void putUleb128(int):56 -> c
+    7:7:void putUleb128(int):57:57 -> c
 com.android.tools.r8.dex.DexOutputBuffer -> com.android.tools.r8.dex.e:
     com.android.tools.r8.dex.CompatByteBuffer byteBuffer -> b
     com.android.tools.r8.ByteBufferProvider byteBufferProvider -> a
@@ -19931,598 +19934,598 @@
     boolean $assertionsDisabled -> l
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> k
     com.android.tools.r8.utils.InternalOptions options -> f
-    1:1:void <clinit>():86:86 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.dex.DexReader,com.android.tools.r8.graph.ClassKind,com.android.tools.r8.utils.InternalOptions):132:132 -> <init>
-    2:22:void <init>(com.android.tools.r8.dex.DexReader,com.android.tools.r8.graph.ClassKind,com.android.tools.r8.utils.InternalOptions):121:141 -> <init>
-    1:1:com.android.tools.r8.dex.DexSection[] parseMapFrom(java.nio.file.Path):98:98 -> a
-    2:2:com.android.tools.r8.dex.DexSection[] parseMapFrom(java.io.InputStream,com.android.tools.r8.origin.Origin):102:102 -> a
-    3:5:com.android.tools.r8.dex.DexSection[] parseMapFrom(com.android.tools.r8.dex.DexReader):106:108 -> a
-    3:5:com.android.tools.r8.dex.DexSection[] parseMapFrom(java.io.InputStream,com.android.tools.r8.origin.Origin):102 -> a
-    6:15:java.lang.Object cacheAt(int,java.util.function.Supplier):435:444 -> a
-    16:17:com.android.tools.r8.graph.DexAnnotation parseAnnotation():449:450 -> a
+    1:1:void <clinit>():89:89 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.dex.DexReader,com.android.tools.r8.graph.ClassKind,com.android.tools.r8.utils.InternalOptions):135:135 -> <init>
+    2:22:void <init>(com.android.tools.r8.dex.DexReader,com.android.tools.r8.graph.ClassKind,com.android.tools.r8.utils.InternalOptions):124:144 -> <init>
+    1:1:com.android.tools.r8.dex.DexSection[] parseMapFrom(java.nio.file.Path):101:101 -> a
+    2:2:com.android.tools.r8.dex.DexSection[] parseMapFrom(java.io.InputStream,com.android.tools.r8.origin.Origin):105:105 -> a
+    3:5:com.android.tools.r8.dex.DexSection[] parseMapFrom(com.android.tools.r8.dex.DexReader):109:111 -> a
+    3:5:com.android.tools.r8.dex.DexSection[] parseMapFrom(java.io.InputStream,com.android.tools.r8.origin.Origin):105 -> a
+    6:15:java.lang.Object cacheAt(int,java.util.function.Supplier):438:447 -> a
+    16:17:com.android.tools.r8.graph.DexAnnotation parseAnnotation():452:453 -> a
     18:18:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> a
-    18:18:com.android.tools.r8.graph.DexAnnotation parseAnnotation():450 -> a
+    18:18:com.android.tools.r8.graph.DexAnnotation parseAnnotation():453 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     19:19:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
-    19:19:com.android.tools.r8.graph.DexAnnotation parseAnnotation():450 -> a
-    20:20:com.android.tools.r8.graph.DexAnnotation parseAnnotation():452:452 -> a
+    19:19:com.android.tools.r8.graph.DexAnnotation parseAnnotation():453 -> a
+    20:20:com.android.tools.r8.graph.DexAnnotation parseAnnotation():455:455 -> a
     21:21:byte com.android.tools.r8.dex.BinaryReader.get():97:97 -> a
-    21:21:com.android.tools.r8.graph.DexAnnotation parseAnnotation():452 -> a
+    21:21:com.android.tools.r8.graph.DexAnnotation parseAnnotation():455 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    22:22:com.android.tools.r8.graph.DexAnnotation parseAnnotation():453:453 -> a
-    23:23:com.android.tools.r8.graph.DexAnnotation annotationAt(int):457:457 -> a
-    24:29:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):629:634 -> a
+    22:22:com.android.tools.r8.graph.DexAnnotation parseAnnotation():456:456 -> a
+    23:23:com.android.tools.r8.graph.DexAnnotation annotationAt(int):460:460 -> a
+    24:29:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):655:660 -> a
     30:30:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
-    30:30:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):634 -> a
-    31:32:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):635:636 -> a
+    30:30:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):660 -> a
+    31:32:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):661:662 -> a
     33:33:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
-    33:33:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):636 -> a
-    34:44:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):636:646 -> a
+    33:33:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):662 -> a
+    34:44:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):662:672 -> a
     45:46:java.lang.String com.android.tools.r8.graph.DexAnnotation.getSignature(com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexItemFactory):286:287 -> a
-    45:46:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):646 -> a
-    47:50:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):648:651 -> a
-    51:61:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):650:660 -> a
+    45:46:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):672 -> a
+    47:50:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):674:677 -> a
+    51:61:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):676:686 -> a
     62:62:com.android.tools.r8.graph.DexEncodedField$Builder com.android.tools.r8.graph.DexEncodedField$Builder.disableAndroidApiLevelCheck():475:475 -> a
-    62:62:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):661 -> a
-    63:63:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):662:662 -> a
-    64:71:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):672:679 -> a
+    62:62:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):687 -> a
+    63:63:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):688:688 -> a
+    64:71:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):698:705 -> a
     72:72:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
-    72:72:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):679 -> a
-    73:73:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):680:680 -> a
+    72:72:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):705 -> a
+    73:73:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):706:706 -> a
     74:74:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
-    74:74:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):680 -> a
-    75:76:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):680:681 -> a
+    74:74:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):706 -> a
+    75:76:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):706:707 -> a
     77:77:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
-    77:77:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):681 -> a
-    78:92:void ensureCodesInited(int):149:163 -> a
-    78:92:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):684 -> a
+    77:77:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):707 -> a
+    78:92:void ensureCodesInited(int):152:166 -> a
+    78:92:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
     93:93:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> a
-    93:93:void ensureCodesInited(int):163 -> a
-    93:93:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):684 -> a
-    94:95:void ensureCodesInited(int):164:165 -> a
-    94:95:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):684 -> a
+    93:93:void ensureCodesInited(int):166 -> a
+    93:93:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
+    94:95:void ensureCodesInited(int):167:168 -> a
+    94:95:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
     96:99:void com.android.tools.r8.dex.BinaryReader.align(int):90:93 -> a
-    96:99:void ensureCodesInited(int):165 -> a
-    96:99:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):684 -> a
-    100:112:com.android.tools.r8.graph.DexCode parseCodeItem():902:914 -> a
-    100:112:void ensureCodesInited(int):166 -> a
-    100:112:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):684 -> a
+    96:99:void ensureCodesInited(int):168 -> a
+    96:99:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
+    100:112:com.android.tools.r8.graph.DexCode parseCodeItem():928:940 -> a
+    100:112:void ensureCodesInited(int):169 -> a
+    100:112:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
     113:113:short com.android.tools.r8.dex.BinaryReader.getShort():68:68 -> a
-    113:113:com.android.tools.r8.graph.DexCode parseCodeItem():914 -> a
-    113:113:void ensureCodesInited(int):166 -> a
-    113:113:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):684 -> a
-    114:129:com.android.tools.r8.graph.DexCode parseCodeItem():914:929 -> a
-    114:129:void ensureCodesInited(int):166 -> a
-    114:129:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):684 -> a
+    113:113:com.android.tools.r8.graph.DexCode parseCodeItem():940 -> a
+    113:113:void ensureCodesInited(int):169 -> a
+    113:113:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
+    114:129:com.android.tools.r8.graph.DexCode parseCodeItem():940:955 -> a
+    114:129:void ensureCodesInited(int):169 -> a
+    114:129:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
     130:130:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> a
-    130:130:com.android.tools.r8.graph.DexCode parseCodeItem():929 -> a
-    130:130:void ensureCodesInited(int):166 -> a
-    130:130:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):684 -> a
-    131:131:com.android.tools.r8.graph.DexCode parseCodeItem():931:931 -> a
-    131:131:void ensureCodesInited(int):166 -> a
-    131:131:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):684 -> a
+    130:130:com.android.tools.r8.graph.DexCode parseCodeItem():955 -> a
+    130:130:void ensureCodesInited(int):169 -> a
+    130:130:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
+    131:131:com.android.tools.r8.graph.DexCode parseCodeItem():957:957 -> a
+    131:131:void ensureCodesInited(int):169 -> a
+    131:131:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
     132:132:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
-    132:132:com.android.tools.r8.graph.DexCode parseCodeItem():931 -> a
-    132:132:void ensureCodesInited(int):166 -> a
-    132:132:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):684 -> a
-    133:137:com.android.tools.r8.graph.DexCode parseCodeItem():932:936 -> a
-    133:137:void ensureCodesInited(int):166 -> a
-    133:137:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):684 -> a
+    132:132:com.android.tools.r8.graph.DexCode parseCodeItem():957 -> a
+    132:132:void ensureCodesInited(int):169 -> a
+    132:132:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
+    133:137:com.android.tools.r8.graph.DexCode parseCodeItem():958:962 -> a
+    133:137:void ensureCodesInited(int):169 -> a
+    133:137:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
     138:138:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> a
-    138:138:com.android.tools.r8.graph.DexCode parseCodeItem():936 -> a
-    138:138:void ensureCodesInited(int):166 -> a
-    138:138:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):684 -> a
-    139:141:com.android.tools.r8.graph.DexCode parseCodeItem():937:939 -> a
-    139:141:void ensureCodesInited(int):166 -> a
-    139:141:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):684 -> a
+    138:138:com.android.tools.r8.graph.DexCode parseCodeItem():962 -> a
+    138:138:void ensureCodesInited(int):169 -> a
+    138:138:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
+    139:141:com.android.tools.r8.graph.DexCode parseCodeItem():963:965 -> a
+    139:141:void ensureCodesInited(int):169 -> a
+    139:141:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
     142:142:int com.android.tools.r8.dex.BinaryReader.getSleb128():48:48 -> a
-    142:142:com.android.tools.r8.graph.DexCode parseCodeItem():939 -> a
-    142:142:void ensureCodesInited(int):166 -> a
-    142:142:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):684 -> a
-    143:147:com.android.tools.r8.graph.DexCode parseCodeItem():940:944 -> a
-    143:147:void ensureCodesInited(int):166 -> a
-    143:147:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):684 -> a
+    142:142:com.android.tools.r8.graph.DexCode parseCodeItem():965 -> a
+    142:142:void ensureCodesInited(int):169 -> a
+    142:142:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
+    143:147:com.android.tools.r8.graph.DexCode parseCodeItem():966:970 -> a
+    143:147:void ensureCodesInited(int):169 -> a
+    143:147:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
     148:148:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
-    148:148:com.android.tools.r8.graph.DexCode parseCodeItem():944 -> a
-    148:148:void ensureCodesInited(int):166 -> a
-    148:148:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):684 -> a
-    149:149:com.android.tools.r8.graph.DexCode parseCodeItem():945:945 -> a
-    149:149:void ensureCodesInited(int):166 -> a
-    149:149:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):684 -> a
+    148:148:com.android.tools.r8.graph.DexCode parseCodeItem():970 -> a
+    148:148:void ensureCodesInited(int):169 -> a
+    148:148:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
+    149:149:com.android.tools.r8.graph.DexCode parseCodeItem():971:971 -> a
+    149:149:void ensureCodesInited(int):169 -> a
+    149:149:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
     150:150:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
-    150:150:com.android.tools.r8.graph.DexCode parseCodeItem():945 -> a
-    150:150:void ensureCodesInited(int):166 -> a
-    150:150:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):684 -> a
-    151:155:com.android.tools.r8.graph.DexCode parseCodeItem():946:950 -> a
-    151:155:void ensureCodesInited(int):166 -> a
-    151:155:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):684 -> a
+    150:150:com.android.tools.r8.graph.DexCode parseCodeItem():971 -> a
+    150:150:void ensureCodesInited(int):169 -> a
+    150:150:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
+    151:155:com.android.tools.r8.graph.DexCode parseCodeItem():972:976 -> a
+    151:155:void ensureCodesInited(int):169 -> a
+    151:155:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
     156:156:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
-    156:156:com.android.tools.r8.graph.DexCode parseCodeItem():950 -> a
-    156:156:void ensureCodesInited(int):166 -> a
-    156:156:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):684 -> a
-    157:160:com.android.tools.r8.graph.DexCode parseCodeItem():952:955 -> a
-    157:160:void ensureCodesInited(int):166 -> a
-    157:160:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):684 -> a
-    161:161:void com.android.tools.r8.graph.DexCode$Try.setHandlerIndex(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap):716:716 -> a
-    161:161:com.android.tools.r8.graph.DexCode parseCodeItem():956 -> a
-    161:161:void ensureCodesInited(int):166 -> a
-    161:161:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):684 -> a
-    162:162:com.android.tools.r8.graph.DexCode parseCodeItem():961:961 -> a
-    162:162:void ensureCodesInited(int):166 -> a
-    162:162:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):684 -> a
+    156:156:com.android.tools.r8.graph.DexCode parseCodeItem():976 -> a
+    156:156:void ensureCodesInited(int):169 -> a
+    156:156:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
+    157:160:com.android.tools.r8.graph.DexCode parseCodeItem():978:981 -> a
+    157:160:void ensureCodesInited(int):169 -> a
+    157:160:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
+    161:161:void com.android.tools.r8.graph.DexCode$Try.setHandlerIndex(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap):734:734 -> a
+    161:161:com.android.tools.r8.graph.DexCode parseCodeItem():982 -> a
+    161:161:void ensureCodesInited(int):169 -> a
+    161:161:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
+    162:162:com.android.tools.r8.graph.DexCode parseCodeItem():987:987 -> a
+    162:162:void ensureCodesInited(int):169 -> a
+    162:162:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
     163:163:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> a
-    163:163:com.android.tools.r8.graph.DexCode parseCodeItem():961 -> a
-    163:163:void ensureCodesInited(int):166 -> a
-    163:163:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):684 -> a
-    164:169:com.android.tools.r8.graph.DexCode parseCodeItem():962:967 -> a
-    164:169:void ensureCodesInited(int):166 -> a
-    164:169:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):684 -> a
-    170:171:void ensureCodesInited(int):167:168 -> a
-    170:171:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):684 -> a
-    172:180:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):685:693 -> a
+    163:163:com.android.tools.r8.graph.DexCode parseCodeItem():987 -> a
+    163:163:void ensureCodesInited(int):169 -> a
+    163:163:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
+    164:169:com.android.tools.r8.graph.DexCode parseCodeItem():988:993 -> a
+    164:169:void ensureCodesInited(int):169 -> a
+    164:169:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
+    170:171:void ensureCodesInited(int) -> a
+    170:171:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
+    172:180:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):711:719 -> a
     181:182:java.lang.String com.android.tools.r8.graph.DexAnnotation.getSignature(com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexItemFactory):286:287 -> a
-    181:182:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):693 -> a
-    183:186:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):695:698 -> a
-    187:204:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):697:714 -> a
-    205:224:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):720:739 -> a
+    181:182:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):719 -> a
+    183:186:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):721:724 -> a
+    187:204:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):723:740 -> a
+    205:224:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):746:765 -> a
     225:225:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> a
-    225:225:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):739 -> a
+    225:225:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):765 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     226:226:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
-    226:226:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):739 -> a
-    227:229:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):741:743 -> a
+    226:226:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):765 -> a
+    227:229:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):767:769 -> a
     230:230:int com.android.tools.r8.dex.BinaryReader.getInt():78:78 -> a
-    230:230:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):743 -> a
+    230:230:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):769 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    231:233:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):743:745 -> a
+    231:233:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):769:771 -> a
     234:234:int com.android.tools.r8.dex.BinaryReader.getInt():78:78 -> a
-    234:234:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):745 -> a
+    234:234:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):771 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    235:273:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):745:783 -> a
+    235:273:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):771:809 -> a
     274:274:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
-    274:274:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):783 -> a
-    275:275:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):784:784 -> a
+    274:274:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):809 -> a
+    275:275:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):810:810 -> a
     276:276:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
-    276:276:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):784 -> a
-    277:277:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):785:785 -> a
+    276:276:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):810 -> a
+    277:277:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):811:811 -> a
     278:278:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
-    278:278:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):785 -> a
-    279:279:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):786:786 -> a
+    278:278:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):811 -> a
+    279:279:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):812:812 -> a
     280:280:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
-    280:280:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):786 -> a
-    281:283:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):788:788 -> a
-    285:326:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):790:831 -> a
-    327:348:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):813:834 -> a
-    349:349:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):761:761 -> a
+    280:280:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):812 -> a
+    281:283:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):814:814 -> a
+    285:326:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):816:857 -> a
+    327:348:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):839:860 -> a
+    349:349:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):787:787 -> a
     350:350:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):0:0 -> a
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1114,"2":1115,"3":1116}}
-    1114:1114:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):761:761 -> a
-    1115:1115:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):761:761 -> a
-    1116:1116:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):761:761 -> a
-    1111:1111:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):761:761 -> a
-    1112:1112:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
-    1112:1112:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
-    1112:1112:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):761 -> a
-    1113:1113:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):761:761 -> a
-    1117:1117:long lambda$addClassDefsTo$0(java.lang.Long,com.android.tools.r8.graph.DexProgramClass):810:810 -> a
-    1:2:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():461:462 -> b
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1140,"2":1141,"3":1142}}
+    1140:1140:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):787:787 -> a
+    1141:1141:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):787:787 -> a
+    1142:1142:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):787:787 -> a
+    1137:1137:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):787:787 -> a
+    1138:1138:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
+    1138:1138:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
+    1138:1138:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):787 -> a
+    1139:1139:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):787:787 -> a
+    1143:1143:long lambda$addClassDefsTo$0(java.lang.Long,com.android.tools.r8.graph.DexProgramClass):836:836 -> a
+    1:2:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():464:465 -> b
     3:3:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> b
-    3:3:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():462 -> b
+    3:3:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():465 -> b
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     4:4:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> b
-    4:4:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():462 -> b
-    5:13:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():464:472 -> b
-    14:15:boolean retainAnnotation(com.android.tools.r8.graph.DexAnnotation):491:492 -> b
-    14:15:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():473 -> b
-    16:24:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():474:482 -> b
+    4:4:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():465 -> b
+    5:13:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():467:475 -> b
+    14:15:boolean retainAnnotation(com.android.tools.r8.graph.DexAnnotation):494:495 -> b
+    14:15:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():476 -> b
+    16:24:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():477:485 -> b
     25:25:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexAnnotationSet.findDuplicateEntryType(com.android.tools.r8.graph.DexAnnotation[]):74:74 -> b
-    25:25:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():482 -> b
+    25:25:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():485 -> b
     26:29:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexAnnotationSet.findDuplicateEntryType(java.util.List):78:81 -> b
     26:29:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexAnnotationSet.findDuplicateEntryType(com.android.tools.r8.graph.DexAnnotation[]):74 -> b
-    26:29:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():482 -> b
-    30:30:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():487:487 -> b
-    31:31:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():484:484 -> b
+    26:29:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():485 -> b
+    30:30:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():490:490 -> b
+    31:31:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():487:487 -> b
     32:32:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():0:0 -> b
       # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":37,"2":38,"3":39}}
-    37:37:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():484:484 -> b
-    38:38:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():484:484 -> b
-    39:39:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():484:484 -> b
+    37:37:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():487:487 -> b
+    38:38:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():487:487 -> b
+    39:39:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():487:487 -> b
     33:33:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():0:0 -> b
       # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":40,"2":41,"3":42,"4":43}}
-    40:40:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():485:485 -> b
-    41:41:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():485:485 -> b
-    42:42:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():485:485 -> b
-    43:43:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():485:485 -> b
+    40:40:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():488:488 -> b
+    41:41:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():488:488 -> b
+    42:42:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():488:488 -> b
+    43:43:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():488:488 -> b
     34:34:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> b
-    34:34:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():485 -> b
+    34:34:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():488 -> b
     35:35:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> b
     35:35:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> b
-    35:35:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():485 -> b
-    36:36:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():485:485 -> b
-    44:44:com.android.tools.r8.graph.DexAnnotationSet annotationSetAt(int):496:496 -> b
-    45:47:java.lang.Object cacheAt(int,java.util.function.Supplier,java.util.function.Supplier):426:428 -> b
-    45:47:com.android.tools.r8.graph.DexAnnotationSet annotationSetAt(int):496 -> b
-    48:48:com.android.tools.r8.graph.DexAnnotationSet annotationSetAt(int):496:496 -> b
-    1:1:com.android.tools.r8.graph.ParameterAnnotationsList annotationSetRefListAt(int):385:385 -> c
-    2:9:com.android.tools.r8.graph.ParameterAnnotationsList parseAnnotationSetRefList():389:396 -> c
+    35:35:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():488 -> b
+    36:36:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():488:488 -> b
+    44:44:com.android.tools.r8.graph.DexAnnotationSet annotationSetAt(int):499:499 -> b
+    45:47:java.lang.Object cacheAt(int,java.util.function.Supplier,java.util.function.Supplier):429:431 -> b
+    45:47:com.android.tools.r8.graph.DexAnnotationSet annotationSetAt(int):499 -> b
+    48:48:com.android.tools.r8.graph.DexAnnotationSet annotationSetAt(int):499:499 -> b
+    1:1:com.android.tools.r8.graph.ParameterAnnotationsList annotationSetRefListAt(int):388:388 -> c
+    2:9:com.android.tools.r8.graph.ParameterAnnotationsList parseAnnotationSetRefList():392:399 -> c
     10:10:com.android.tools.r8.graph.ParameterAnnotationsList com.android.tools.r8.graph.ParameterAnnotationsList.create(com.android.tools.r8.graph.DexAnnotationSet[]):72:72 -> c
-    10:10:com.android.tools.r8.graph.ParameterAnnotationsList parseAnnotationSetRefList():398 -> c
-    1:1:com.android.tools.r8.dex.DexParser$AnnotationsDirectory annotationsDirectoryAt(int):500:500 -> d
-    2:4:java.lang.Object cacheAt(int,java.util.function.Supplier,java.util.function.Supplier):426:428 -> d
-    2:4:com.android.tools.r8.dex.DexParser$AnnotationsDirectory annotationsDirectoryAt(int):500 -> d
-    5:5:com.android.tools.r8.dex.DexParser$AnnotationsDirectory annotationsDirectoryAt(int):500:500 -> d
-    6:9:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():505:508 -> d
-    10:16:com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[] parseFieldAnnotations(int):346:352 -> d
-    10:16:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():509 -> d
+    10:10:com.android.tools.r8.graph.ParameterAnnotationsList parseAnnotationSetRefList():401 -> c
+    1:1:com.android.tools.r8.dex.DexParser$AnnotationsDirectory annotationsDirectoryAt(int):503:503 -> d
+    2:4:java.lang.Object cacheAt(int,java.util.function.Supplier,java.util.function.Supplier):429:431 -> d
+    2:4:com.android.tools.r8.dex.DexParser$AnnotationsDirectory annotationsDirectoryAt(int):503 -> d
+    5:5:com.android.tools.r8.dex.DexParser$AnnotationsDirectory annotationsDirectoryAt(int):503:503 -> d
+    6:9:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():508:511 -> d
+    10:16:com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[] parseFieldAnnotations(int):349:355 -> d
+    10:16:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():512 -> d
     17:17:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> d
-    17:17:com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[] parseFieldAnnotations(int):352 -> d
-    17:17:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():509 -> d
-    18:24:com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[] parseFieldAnnotations(int):353:359 -> d
-    18:24:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():509 -> d
-    25:31:com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[] parseMethodAnnotations(int):367:373 -> d
-    25:31:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():510 -> d
+    17:17:com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[] parseFieldAnnotations(int):355 -> d
+    17:17:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():512 -> d
+    18:24:com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[] parseFieldAnnotations(int):356:362 -> d
+    18:24:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():512 -> d
+    25:31:com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[] parseMethodAnnotations(int):370:376 -> d
+    25:31:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():513 -> d
     32:32:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> d
-    32:32:com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[] parseMethodAnnotations(int):373 -> d
-    32:32:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():510 -> d
-    33:39:com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[] parseMethodAnnotations(int):374:380 -> d
-    33:39:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():510 -> d
-    40:46:com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[] parseParameterAnnotations(int):405:411 -> d
-    40:46:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():511 -> d
+    32:32:com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[] parseMethodAnnotations(int):376 -> d
+    32:32:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():513 -> d
+    33:39:com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[] parseMethodAnnotations(int):377:383 -> d
+    33:39:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():513 -> d
+    40:46:com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[] parseParameterAnnotations(int):408:414 -> d
+    40:46:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():514 -> d
     47:47:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> d
-    47:47:com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[] parseParameterAnnotations(int):411 -> d
-    47:47:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():511 -> d
-    48:56:com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[] parseParameterAnnotations(int):412:420 -> d
-    48:56:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():511 -> d
-    57:58:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():512:513 -> d
-    1:1:com.android.tools.r8.graph.DexDebugInfo debugInfoAt(int):520:520 -> e
-    2:2:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():524:524 -> e
+    47:47:com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[] parseParameterAnnotations(int):414 -> d
+    47:47:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():514 -> d
+    48:56:com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[] parseParameterAnnotations(int):415:423 -> d
+    48:56:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():514 -> d
+    57:58:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():515:516 -> d
+    1:1:com.android.tools.r8.graph.DexDebugInfo debugInfoAt(int):523:523 -> e
+    2:2:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():527:527 -> e
     3:3:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> e
-    3:3:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():524 -> e
-    4:4:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():525:525 -> e
+    3:3:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():527 -> e
+    4:4:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():529:529 -> e
     5:5:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> e
-    5:5:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():525 -> e
-    6:14:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():526:534 -> e
-    15:16:int com.android.tools.r8.dex.BinaryReader.getUbyte():101:102 -> e
-    15:16:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():534 -> e
+    5:5:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():529 -> e
+    6:15:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():530:539 -> e
+    16:17:int com.android.tools.r8.dex.BinaryReader.getUbyte():101:102 -> e
+    16:17:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():539 -> e
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    17:17:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():590:590 -> e
-    18:21:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():582:585 -> e
-    22:22:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():578:578 -> e
-    23:23:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():574:574 -> e
-    24:24:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():570:570 -> e
-    25:25:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> e
-    25:25:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():570 -> e
-    26:26:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():570:570 -> e
-    27:27:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():566:566 -> e
-    28:28:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> e
-    28:28:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():566 -> e
-    29:29:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():566:566 -> e
-    30:30:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():554:554 -> e
-    31:31:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> e
-    31:31:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():554 -> e
-    32:39:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():555:562 -> e
-    40:40:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():558:558 -> e
-    41:41:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():543:543 -> e
-    42:42:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> e
-    42:42:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():543 -> e
-    43:48:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():544:549 -> e
-    49:49:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():546:546 -> e
-    50:50:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():540:540 -> e
-    51:51:int com.android.tools.r8.dex.BinaryReader.getSleb128():48:48 -> e
-    51:51:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():540 -> e
-    52:52:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():540:540 -> e
-    53:53:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():537:537 -> e
-    54:54:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> e
-    54:54:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():537 -> e
-    55:109:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():537:591 -> e
-    110:110:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():534:534 -> e
-    111:112:int com.android.tools.r8.dex.BinaryReader.getUbyte():101:102 -> e
-    111:112:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():534 -> e
+    18:18:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():606:606 -> e
+    19:22:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():597:600 -> e
+    23:23:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():592:592 -> e
+    24:24:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():587:587 -> e
+    25:25:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():582:582 -> e
+    26:26:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> e
+    26:26:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():582 -> e
+    27:27:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():582:582 -> e
+    28:28:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():577:577 -> e
+    29:29:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> e
+    29:29:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():577 -> e
+    30:30:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():577:577 -> e
+    31:31:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():564:564 -> e
+    32:32:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> e
+    32:32:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():564 -> e
+    33:40:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():565:572 -> e
+    41:41:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():568:568 -> e
+    42:42:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():552:552 -> e
+    43:43:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> e
+    43:43:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():552 -> e
+    44:49:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():553:558 -> e
+    50:50:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():555:555 -> e
+    51:51:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():548:548 -> e
+    52:52:int com.android.tools.r8.dex.BinaryReader.getSleb128():48:48 -> e
+    52:52:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():548 -> e
+    53:53:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():548:548 -> e
+    54:54:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():544:544 -> e
+    55:55:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> e
+    55:55:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():544 -> e
+    56:125:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():544:613 -> e
+    126:126:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():541:541 -> e
+    127:128:int com.android.tools.r8.dex.BinaryReader.getUbyte():101:102 -> e
+    127:128:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():541 -> e
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    113:113:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():595:595 -> e
-    1:1:com.android.tools.r8.graph.DexEncodedAnnotation parseEncodedAnnotation():313:313 -> f
+    129:130:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():620:621 -> e
+    1:1:com.android.tools.r8.graph.DexEncodedAnnotation parseEncodedAnnotation():316:316 -> f
     2:2:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> f
-    2:2:com.android.tools.r8.graph.DexEncodedAnnotation parseEncodedAnnotation():313 -> f
-    3:3:com.android.tools.r8.graph.DexEncodedAnnotation parseEncodedAnnotation():314:314 -> f
+    2:2:com.android.tools.r8.graph.DexEncodedAnnotation parseEncodedAnnotation():316 -> f
+    3:3:com.android.tools.r8.graph.DexEncodedAnnotation parseEncodedAnnotation():317:317 -> f
     4:4:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> f
-    4:4:com.android.tools.r8.graph.DexEncodedAnnotation parseEncodedAnnotation():314 -> f
-    5:7:com.android.tools.r8.graph.DexEncodedAnnotation parseEncodedAnnotation():315:317 -> f
+    4:4:com.android.tools.r8.graph.DexEncodedAnnotation parseEncodedAnnotation():317 -> f
+    5:7:com.android.tools.r8.graph.DexEncodedAnnotation parseEncodedAnnotation():318:320 -> f
     8:8:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> f
-    8:8:com.android.tools.r8.graph.DexEncodedAnnotation parseEncodedAnnotation():317 -> f
-    9:12:com.android.tools.r8.graph.DexEncodedAnnotation parseEncodedAnnotation():318:321 -> f
-    13:13:com.android.tools.r8.graph.DexEncodedArray encodedArrayAt(int):339:339 -> f
-    1:1:com.android.tools.r8.graph.DexEncodedArray parseEncodedArray():335:335 -> g
-    2:2:com.android.tools.r8.graph.DexValue[] parseEncodedArrayValues():325:325 -> g
-    2:2:com.android.tools.r8.graph.DexEncodedArray parseEncodedArray():335 -> g
+    8:8:com.android.tools.r8.graph.DexEncodedAnnotation parseEncodedAnnotation():320 -> f
+    9:12:com.android.tools.r8.graph.DexEncodedAnnotation parseEncodedAnnotation():321:324 -> f
+    13:13:com.android.tools.r8.graph.DexEncodedArray encodedArrayAt(int):342:342 -> f
+    1:1:com.android.tools.r8.graph.DexEncodedArray parseEncodedArray():338:338 -> g
+    2:2:com.android.tools.r8.graph.DexValue[] parseEncodedArrayValues():328:328 -> g
+    2:2:com.android.tools.r8.graph.DexEncodedArray parseEncodedArray():338 -> g
     3:3:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> g
-    3:3:com.android.tools.r8.graph.DexValue[] parseEncodedArrayValues():325 -> g
-    3:3:com.android.tools.r8.graph.DexEncodedArray parseEncodedArray():335 -> g
-    4:6:com.android.tools.r8.graph.DexValue[] parseEncodedArrayValues():326:328 -> g
-    4:6:com.android.tools.r8.graph.DexEncodedArray parseEncodedArray():335 -> g
-    7:7:com.android.tools.r8.graph.DexEncodedArray parseEncodedArray():335:335 -> g
-    8:14:com.android.tools.r8.dex.DexSection lookupSection(int):851:857 -> g
-    1:3:com.android.tools.r8.graph.DexTypeList typeListAt(int):182:184 -> h
-    4:4:com.android.tools.r8.graph.DexValue parseEncodedValue():188:188 -> h
+    3:3:com.android.tools.r8.graph.DexValue[] parseEncodedArrayValues():328 -> g
+    3:3:com.android.tools.r8.graph.DexEncodedArray parseEncodedArray():338 -> g
+    4:6:com.android.tools.r8.graph.DexValue[] parseEncodedArrayValues():329:331 -> g
+    4:6:com.android.tools.r8.graph.DexEncodedArray parseEncodedArray():338 -> g
+    7:7:com.android.tools.r8.graph.DexEncodedArray parseEncodedArray():338:338 -> g
+    8:14:com.android.tools.r8.dex.DexSection lookupSection(int):877:883 -> g
+    1:3:com.android.tools.r8.graph.DexTypeList typeListAt(int):185:187 -> h
+    4:4:com.android.tools.r8.graph.DexValue parseEncodedValue():191:191 -> h
     5:5:byte com.android.tools.r8.dex.BinaryReader.get():97:97 -> h
-    5:5:com.android.tools.r8.graph.DexValue parseEncodedValue():188 -> h
+    5:5:com.android.tools.r8.graph.DexValue parseEncodedValue():191 -> h
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    6:6:com.android.tools.r8.graph.DexValue parseEncodedValue():191:191 -> h
+    6:6:com.android.tools.r8.graph.DexValue parseEncodedValue():194:194 -> h
     7:7:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):95:95 -> h
-    7:7:com.android.tools.r8.graph.DexValue parseEncodedValue():191 -> h
+    7:7:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
     8:8:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):93:93 -> h
-    8:8:com.android.tools.r8.graph.DexValue parseEncodedValue():191 -> h
+    8:8:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
     9:9:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):91:91 -> h
-    9:9:com.android.tools.r8.graph.DexValue parseEncodedValue():191 -> h
+    9:9:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
     10:10:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):89:89 -> h
-    10:10:com.android.tools.r8.graph.DexValue parseEncodedValue():191 -> h
+    10:10:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
     11:11:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):87:87 -> h
-    11:11:com.android.tools.r8.graph.DexValue parseEncodedValue():191 -> h
+    11:11:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
     12:12:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):85:85 -> h
-    12:12:com.android.tools.r8.graph.DexValue parseEncodedValue():191 -> h
+    12:12:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
     13:13:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):83:83 -> h
-    13:13:com.android.tools.r8.graph.DexValue parseEncodedValue():191 -> h
+    13:13:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
     14:14:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):81:81 -> h
-    14:14:com.android.tools.r8.graph.DexValue parseEncodedValue():191 -> h
+    14:14:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
     15:15:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):79:79 -> h
-    15:15:com.android.tools.r8.graph.DexValue parseEncodedValue():191 -> h
+    15:15:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
     16:16:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):77:77 -> h
-    16:16:com.android.tools.r8.graph.DexValue parseEncodedValue():191 -> h
+    16:16:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
     17:17:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):75:75 -> h
-    17:17:com.android.tools.r8.graph.DexValue parseEncodedValue():191 -> h
+    17:17:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
     18:18:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):73:73 -> h
-    18:18:com.android.tools.r8.graph.DexValue parseEncodedValue():191 -> h
+    18:18:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
     19:19:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):71:71 -> h
-    19:19:com.android.tools.r8.graph.DexValue parseEncodedValue():191 -> h
+    19:19:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
     20:20:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):69:69 -> h
-    20:20:com.android.tools.r8.graph.DexValue parseEncodedValue():191 -> h
+    20:20:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
     21:21:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):65:65 -> h
-    21:21:com.android.tools.r8.graph.DexValue parseEncodedValue():191 -> h
+    21:21:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
     22:22:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):63:63 -> h
-    22:22:com.android.tools.r8.graph.DexValue parseEncodedValue():191 -> h
+    22:22:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
     23:29:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):61:67 -> h
-    23:29:com.android.tools.r8.graph.DexValue parseEncodedValue():191 -> h
+    23:29:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
     30:30:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):59:59 -> h
-    30:30:com.android.tools.r8.graph.DexValue parseEncodedValue():191 -> h
-    31:139:com.android.tools.r8.graph.DexValue parseEncodedValue():191:299 -> h
-    140:140:com.android.tools.r8.graph.DexValue parseEncodedValue():283:283 -> h
-    141:142:com.android.tools.r8.graph.DexValue parseEncodedValue():277:278 -> h
-    143:144:com.android.tools.r8.graph.DexValue parseEncodedValue():272:273 -> h
-    145:146:com.android.tools.r8.graph.DexValue parseEncodedValue():267:268 -> h
-    147:147:com.android.tools.r8.graph.DexValue[] parseEncodedArrayValues():325:325 -> h
-    147:147:com.android.tools.r8.graph.DexValue parseEncodedValue():268 -> h
+    30:30:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
+    31:139:com.android.tools.r8.graph.DexValue parseEncodedValue():194:302 -> h
+    140:140:com.android.tools.r8.graph.DexValue parseEncodedValue():286:286 -> h
+    141:142:com.android.tools.r8.graph.DexValue parseEncodedValue():280:281 -> h
+    143:144:com.android.tools.r8.graph.DexValue parseEncodedValue():275:276 -> h
+    145:146:com.android.tools.r8.graph.DexValue parseEncodedValue():270:271 -> h
+    147:147:com.android.tools.r8.graph.DexValue[] parseEncodedArrayValues():328:328 -> h
+    147:147:com.android.tools.r8.graph.DexValue parseEncodedValue():271 -> h
     148:148:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> h
-    148:148:com.android.tools.r8.graph.DexValue[] parseEncodedArrayValues():325 -> h
-    148:148:com.android.tools.r8.graph.DexValue parseEncodedValue():268 -> h
-    149:151:com.android.tools.r8.graph.DexValue[] parseEncodedArrayValues():326:328 -> h
-    149:151:com.android.tools.r8.graph.DexValue parseEncodedValue():268 -> h
-    152:152:com.android.tools.r8.graph.DexValue parseEncodedValue():268:268 -> h
-    153:154:com.android.tools.r8.graph.DexValue parseEncodedValue():262:263 -> h
-    155:156:com.android.tools.r8.graph.DexValue parseEncodedValue():255:256 -> h
-    157:159:void checkName(com.android.tools.r8.graph.DexString):304:306 -> h
-    157:159:com.android.tools.r8.graph.DexValue parseEncodedValue():256 -> h
+    148:148:com.android.tools.r8.graph.DexValue[] parseEncodedArrayValues():328 -> h
+    148:148:com.android.tools.r8.graph.DexValue parseEncodedValue():271 -> h
+    149:151:com.android.tools.r8.graph.DexValue[] parseEncodedArrayValues():329:331 -> h
+    149:151:com.android.tools.r8.graph.DexValue parseEncodedValue():271 -> h
+    152:152:com.android.tools.r8.graph.DexValue parseEncodedValue():271:271 -> h
+    153:154:com.android.tools.r8.graph.DexValue parseEncodedValue():265:266 -> h
+    155:156:com.android.tools.r8.graph.DexValue parseEncodedValue():258:259 -> h
+    157:159:void checkName(com.android.tools.r8.graph.DexString):307:309 -> h
+    157:159:com.android.tools.r8.graph.DexValue parseEncodedValue():259 -> h
     160:160:com.android.tools.r8.graph.DexValue parseEncodedValue():0:0 -> h
       # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":254,"2":255,"3":256}}
-    254:254:void checkName(com.android.tools.r8.graph.DexString):306:306 -> h
-    254:254:com.android.tools.r8.graph.DexValue parseEncodedValue():256 -> h
-    255:255:void checkName(com.android.tools.r8.graph.DexString):306:306 -> h
-    255:255:com.android.tools.r8.graph.DexValue parseEncodedValue():256 -> h
-    256:256:void checkName(com.android.tools.r8.graph.DexString):306:306 -> h
-    256:256:com.android.tools.r8.graph.DexValue parseEncodedValue():256 -> h
-    161:161:void checkName(com.android.tools.r8.graph.DexString):307:307 -> h
-    161:161:com.android.tools.r8.graph.DexValue parseEncodedValue():256 -> h
+    254:254:void checkName(com.android.tools.r8.graph.DexString):309:309 -> h
+    254:254:com.android.tools.r8.graph.DexValue parseEncodedValue():259 -> h
+    255:255:void checkName(com.android.tools.r8.graph.DexString):309:309 -> h
+    255:255:com.android.tools.r8.graph.DexValue parseEncodedValue():259 -> h
+    256:256:void checkName(com.android.tools.r8.graph.DexString):309:309 -> h
+    256:256:com.android.tools.r8.graph.DexValue parseEncodedValue():259 -> h
+    161:161:void checkName(com.android.tools.r8.graph.DexString):310:310 -> h
+    161:161:com.android.tools.r8.graph.DexValue parseEncodedValue():259 -> h
     162:162:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> h
-    162:162:void checkName(com.android.tools.r8.graph.DexString):307 -> h
-    162:162:com.android.tools.r8.graph.DexValue parseEncodedValue():256 -> h
-    163:163:void checkName(com.android.tools.r8.graph.DexString):307:307 -> h
-    163:163:com.android.tools.r8.graph.DexValue parseEncodedValue():256 -> h
-    164:164:com.android.tools.r8.graph.DexValue parseEncodedValue():257:257 -> h
-    165:166:com.android.tools.r8.graph.DexValue parseEncodedValue():248:249 -> h
-    167:169:void checkName(com.android.tools.r8.graph.DexString):304:306 -> h
-    167:169:com.android.tools.r8.graph.DexValue parseEncodedValue():249 -> h
+    162:162:void checkName(com.android.tools.r8.graph.DexString):310 -> h
+    162:162:com.android.tools.r8.graph.DexValue parseEncodedValue():259 -> h
+    163:163:void checkName(com.android.tools.r8.graph.DexString):310:310 -> h
+    163:163:com.android.tools.r8.graph.DexValue parseEncodedValue():259 -> h
+    164:164:com.android.tools.r8.graph.DexValue parseEncodedValue():260:260 -> h
+    165:166:com.android.tools.r8.graph.DexValue parseEncodedValue():251:252 -> h
+    167:169:void checkName(com.android.tools.r8.graph.DexString):307:309 -> h
+    167:169:com.android.tools.r8.graph.DexValue parseEncodedValue():252 -> h
     170:170:com.android.tools.r8.graph.DexValue parseEncodedValue():0:0 -> h
       # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":257,"2":258,"3":259}}
-    257:257:void checkName(com.android.tools.r8.graph.DexString):306:306 -> h
-    257:257:com.android.tools.r8.graph.DexValue parseEncodedValue():249 -> h
-    258:258:void checkName(com.android.tools.r8.graph.DexString):306:306 -> h
-    258:258:com.android.tools.r8.graph.DexValue parseEncodedValue():249 -> h
-    259:259:void checkName(com.android.tools.r8.graph.DexString):306:306 -> h
-    259:259:com.android.tools.r8.graph.DexValue parseEncodedValue():249 -> h
-    171:171:void checkName(com.android.tools.r8.graph.DexString):307:307 -> h
-    171:171:com.android.tools.r8.graph.DexValue parseEncodedValue():249 -> h
+    257:257:void checkName(com.android.tools.r8.graph.DexString):309:309 -> h
+    257:257:com.android.tools.r8.graph.DexValue parseEncodedValue():252 -> h
+    258:258:void checkName(com.android.tools.r8.graph.DexString):309:309 -> h
+    258:258:com.android.tools.r8.graph.DexValue parseEncodedValue():252 -> h
+    259:259:void checkName(com.android.tools.r8.graph.DexString):309:309 -> h
+    259:259:com.android.tools.r8.graph.DexValue parseEncodedValue():252 -> h
+    171:171:void checkName(com.android.tools.r8.graph.DexString):310:310 -> h
+    171:171:com.android.tools.r8.graph.DexValue parseEncodedValue():252 -> h
     172:172:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> h
-    172:172:void checkName(com.android.tools.r8.graph.DexString):307 -> h
-    172:172:com.android.tools.r8.graph.DexValue parseEncodedValue():249 -> h
-    173:173:void checkName(com.android.tools.r8.graph.DexString):307:307 -> h
-    173:173:com.android.tools.r8.graph.DexValue parseEncodedValue():249 -> h
-    174:174:com.android.tools.r8.graph.DexValue parseEncodedValue():250:250 -> h
-    175:176:com.android.tools.r8.graph.DexValue parseEncodedValue():242:243 -> h
-    177:238:com.android.tools.r8.graph.DexValue parseEncodedValue():235:296 -> h
-    239:240:com.android.tools.r8.graph.DexValue parseEncodedValue():288:289 -> h
-    241:241:com.android.tools.r8.graph.DexValue parseEncodedValue():230:230 -> h
-    242:242:com.android.tools.r8.graph.DexValue parseEncodedValue():225:225 -> h
-    243:244:com.android.tools.r8.graph.DexValue parseEncodedValue():219:220 -> h
-    245:246:com.android.tools.r8.graph.DexValue parseEncodedValue():213:214 -> h
-    247:248:com.android.tools.r8.graph.DexValue parseEncodedValue():207:208 -> h
-    249:250:com.android.tools.r8.graph.DexValue parseEncodedValue():201:202 -> h
-    251:253:com.android.tools.r8.graph.DexValue parseEncodedValue():194:196 -> h
-    1:1:com.android.tools.r8.dex.DexSection[] parseMap():862:862 -> i
+    172:172:void checkName(com.android.tools.r8.graph.DexString):310 -> h
+    172:172:com.android.tools.r8.graph.DexValue parseEncodedValue():252 -> h
+    173:173:void checkName(com.android.tools.r8.graph.DexString):310:310 -> h
+    173:173:com.android.tools.r8.graph.DexValue parseEncodedValue():252 -> h
+    174:174:com.android.tools.r8.graph.DexValue parseEncodedValue():253:253 -> h
+    175:176:com.android.tools.r8.graph.DexValue parseEncodedValue():245:246 -> h
+    177:238:com.android.tools.r8.graph.DexValue parseEncodedValue():238:299 -> h
+    239:240:com.android.tools.r8.graph.DexValue parseEncodedValue():291:292 -> h
+    241:241:com.android.tools.r8.graph.DexValue parseEncodedValue():233:233 -> h
+    242:242:com.android.tools.r8.graph.DexValue parseEncodedValue():228:228 -> h
+    243:244:com.android.tools.r8.graph.DexValue parseEncodedValue():222:223 -> h
+    245:246:com.android.tools.r8.graph.DexValue parseEncodedValue():216:217 -> h
+    247:248:com.android.tools.r8.graph.DexValue parseEncodedValue():210:211 -> h
+    249:250:com.android.tools.r8.graph.DexValue parseEncodedValue():204:205 -> h
+    251:253:com.android.tools.r8.graph.DexValue parseEncodedValue():197:199 -> h
+    1:1:com.android.tools.r8.dex.DexSection[] parseMap():888:888 -> i
     2:3:int com.android.tools.r8.dex.BinaryReader.getUint(int):72:73 -> i
-    2:3:com.android.tools.r8.dex.DexSection[] parseMap():862 -> i
+    2:3:com.android.tools.r8.dex.DexSection[] parseMap():888 -> i
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    4:12:com.android.tools.r8.dex.DexSection[] parseMap():863:871 -> i
+    4:12:com.android.tools.r8.dex.DexSection[] parseMap():889:897 -> i
     13:13:int com.android.tools.r8.dex.BinaryReader.end():107:107 -> i
-    13:13:com.android.tools.r8.dex.DexSection[] parseMap():871 -> i
+    13:13:com.android.tools.r8.dex.DexSection[] parseMap():897 -> i
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    14:14:com.android.tools.r8.dex.DexSection[] parseMap():884:884 -> i
-    15:15:com.android.tools.r8.dex.DexSection[] parseMap():872:872 -> i
+    14:14:com.android.tools.r8.dex.DexSection[] parseMap():910:910 -> i
+    15:15:com.android.tools.r8.dex.DexSection[] parseMap():898:898 -> i
     16:16:com.android.tools.r8.dex.DexSection[] parseMap():0:0 -> i
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":916,"2":917,"3":918}}
-    916:916:com.android.tools.r8.dex.DexSection[] parseMap():872:872 -> i
-    917:917:com.android.tools.r8.dex.DexSection[] parseMap():872:872 -> i
-    918:918:com.android.tools.r8.dex.DexSection[] parseMap():872:872 -> i
-    891:891:com.android.tools.r8.dex.DexSection[] parseMap():875:875 -> i
-    892:892:int com.android.tools.r8.dex.BinaryReader.end():107:107 -> i
-    892:892:com.android.tools.r8.dex.DexSection[] parseMap():881 -> i
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":942,"2":943,"3":944}}
+    942:942:com.android.tools.r8.dex.DexSection[] parseMap():898:898 -> i
+    943:943:com.android.tools.r8.dex.DexSection[] parseMap():898:898 -> i
+    944:944:com.android.tools.r8.dex.DexSection[] parseMap():898:898 -> i
+    917:917:com.android.tools.r8.dex.DexSection[] parseMap():901:901 -> i
+    918:918:int com.android.tools.r8.dex.BinaryReader.end():107:107 -> i
+    918:918:com.android.tools.r8.dex.DexSection[] parseMap():907 -> i
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    893:893:com.android.tools.r8.dex.DexSection[] parseMap():881:881 -> i
-    894:894:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> i
-    894:894:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> i
-    894:894:com.android.tools.r8.dex.DexSection[] parseMap():881 -> i
-    895:905:com.android.tools.r8.dex.DexSection[] parseMap():881:891 -> i
-    906:913:com.android.tools.r8.dex.DexSection[] parseMap():890:897 -> i
-    914:914:int com.android.tools.r8.dex.BinaryReader.end():107:107 -> i
-    914:914:com.android.tools.r8.dex.DexSection[] parseMap():897 -> i
+    919:919:com.android.tools.r8.dex.DexSection[] parseMap():907:907 -> i
+    920:920:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> i
+    920:920:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> i
+    920:920:com.android.tools.r8.dex.DexSection[] parseMap():907 -> i
+    921:931:com.android.tools.r8.dex.DexSection[] parseMap():907:917 -> i
+    932:939:com.android.tools.r8.dex.DexSection[] parseMap():916:923 -> i
+    940:940:int com.android.tools.r8.dex.BinaryReader.end():107:107 -> i
+    940:940:com.android.tools.r8.dex.DexSection[] parseMap():923 -> i
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    915:915:com.android.tools.r8.dex.DexSection[] parseMap():897:897 -> i
-    1:8:void parseStringIDs():839:846 -> j
-    1:5:com.android.tools.r8.graph.DexTypeList parseTypeList():173:177 -> k
-    1:3:void populateStrings():983:985 -> l
-    1:3:void populateIndexTables():972 -> l
-    4:6:com.android.tools.r8.graph.DexString stringAt(int):1212:1214 -> l
-    4:6:void populateStrings():985 -> l
-    4:6:void populateIndexTables():972 -> l
+    941:941:com.android.tools.r8.dex.DexSection[] parseMap():923:923 -> i
+    1:8:void parseStringIDs():865:872 -> j
+    1:5:com.android.tools.r8.graph.DexTypeList parseTypeList():176:180 -> k
+    1:3:void populateStrings():1009:1011 -> l
+    1:3:void populateIndexTables():998 -> l
+    4:6:com.android.tools.r8.graph.DexString stringAt(int):1238:1240 -> l
+    4:6:void populateStrings():1011 -> l
+    4:6:void populateIndexTables():998 -> l
     7:7:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> l
-    7:7:com.android.tools.r8.graph.DexString stringAt(int):1214 -> l
-    7:7:void populateStrings():985 -> l
-    7:7:void populateIndexTables():972 -> l
-    8:11:com.android.tools.r8.graph.DexString stringAt(int):1215:1218 -> l
-    8:11:void populateStrings():985 -> l
-    8:11:void populateIndexTables():972 -> l
+    7:7:com.android.tools.r8.graph.DexString stringAt(int):1240 -> l
+    7:7:void populateStrings():1011 -> l
+    7:7:void populateIndexTables():998 -> l
+    8:11:com.android.tools.r8.graph.DexString stringAt(int):1241:1244 -> l
+    8:11:void populateStrings():1011 -> l
+    8:11:void populateIndexTables():998 -> l
     12:12:byte com.android.tools.r8.dex.BinaryReader.get():97:97 -> l
-    12:12:com.android.tools.r8.graph.DexString stringAt(int):1218 -> l
-    12:12:void populateStrings():985 -> l
-    12:12:void populateIndexTables():972 -> l
-    13:15:com.android.tools.r8.graph.DexString stringAt(int):1219:1221 -> l
-    13:15:void populateStrings():985 -> l
-    13:15:void populateIndexTables():972 -> l
-    16:16:void populateStrings():985:985 -> l
-    16:16:void populateIndexTables():972 -> l
-    17:25:void populateChecksums():1018:1026 -> l
-    17:25:void populateIndexTables():973 -> l
-    26:27:void populateTypes():1006:1007 -> l
-    26:27:void populateIndexTables():974 -> l
-    28:47:boolean verifyOrderOfTypeIds(com.android.tools.r8.dex.DexSection):1035:1054 -> l
-    28:47:void populateTypes():1007 -> l
-    28:47:void populateIndexTables():974 -> l
-    48:48:boolean verifyOrderOfTypeIds(com.android.tools.r8.dex.DexSection):1049:1049 -> l
-    48:48:void populateTypes():1007 -> l
-    48:48:void populateIndexTables():974 -> l
-    49:51:void populateTypes():1008:1010 -> l
-    49:51:void populateIndexTables():974 -> l
-    52:57:com.android.tools.r8.graph.DexType typeAt(int):1225:1230 -> l
-    52:57:void populateTypes():1011 -> l
-    52:57:void populateIndexTables():974 -> l
+    12:12:com.android.tools.r8.graph.DexString stringAt(int):1244 -> l
+    12:12:void populateStrings():1011 -> l
+    12:12:void populateIndexTables():998 -> l
+    13:15:com.android.tools.r8.graph.DexString stringAt(int):1245:1247 -> l
+    13:15:void populateStrings():1011 -> l
+    13:15:void populateIndexTables():998 -> l
+    16:16:void populateStrings():1011:1011 -> l
+    16:16:void populateIndexTables():998 -> l
+    17:25:void populateChecksums():1044:1052 -> l
+    17:25:void populateIndexTables():999 -> l
+    26:27:void populateTypes():1032:1033 -> l
+    26:27:void populateIndexTables():1000 -> l
+    28:47:boolean verifyOrderOfTypeIds(com.android.tools.r8.dex.DexSection):1061:1080 -> l
+    28:47:void populateTypes():1033 -> l
+    28:47:void populateIndexTables():1000 -> l
+    48:48:boolean verifyOrderOfTypeIds(com.android.tools.r8.dex.DexSection):1075:1075 -> l
+    48:48:void populateTypes():1033 -> l
+    48:48:void populateIndexTables():1000 -> l
+    49:51:void populateTypes():1034:1036 -> l
+    49:51:void populateIndexTables():1000 -> l
+    52:57:com.android.tools.r8.graph.DexType typeAt(int):1251:1256 -> l
+    52:57:void populateTypes():1037 -> l
+    52:57:void populateIndexTables():1000 -> l
     58:59:int com.android.tools.r8.dex.BinaryReader.getUint(int):72:73 -> l
-    58:59:com.android.tools.r8.graph.DexType typeAt(int):1230 -> l
+    58:59:com.android.tools.r8.graph.DexType typeAt(int):1256 -> l
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    58:59:void populateTypes():1011 -> l
-    58:59:void populateIndexTables():974 -> l
-    60:60:com.android.tools.r8.graph.DexType typeAt(int):1231:1231 -> l
-    60:60:void populateTypes():1011 -> l
-    60:60:void populateIndexTables():974 -> l
-    61:62:void populateTypes():1012:1013 -> l
-    61:62:void populateIndexTables():974 -> l
-    63:64:void populateFields():1063:1064 -> l
-    63:64:void populateIndexTables():975 -> l
-    65:100:boolean verifyOrderOfFieldIds(com.android.tools.r8.dex.DexSection):1079:1114 -> l
-    65:100:void populateFields():1064 -> l
-    65:100:void populateIndexTables():975 -> l
-    101:111:boolean verifyOrderOfFieldIds(com.android.tools.r8.dex.DexSection):1111:1121 -> l
-    101:111:void populateFields():1064 -> l
-    101:111:void populateIndexTables():975 -> l
-    112:116:boolean verifyOrderOfFieldIds(com.android.tools.r8.dex.DexSection):1118:1122 -> l
-    112:116:void populateFields():1064 -> l
-    112:116:void populateIndexTables():975 -> l
-    117:117:boolean verifyOrderOfFieldIds(com.android.tools.r8.dex.DexSection):1107:1107 -> l
-    117:117:void populateFields():1064 -> l
-    117:117:void populateIndexTables():975 -> l
-    118:120:void populateFields():1065:1067 -> l
-    118:120:void populateIndexTables():975 -> l
-    121:133:com.android.tools.r8.graph.DexField fieldAt(int):1235:1247 -> l
-    121:133:void populateFields():1067 -> l
-    121:133:void populateIndexTables():975 -> l
-    134:134:void populateFields():1067:1067 -> l
-    134:134:void populateIndexTables():975 -> l
-    135:138:void populateProtos():1133:1136 -> l
-    135:138:void populateIndexTables():976 -> l
-    139:151:com.android.tools.r8.graph.DexProto protoAt(int):1308:1320 -> l
-    139:151:void populateProtos():1136 -> l
-    139:151:void populateIndexTables():976 -> l
-    152:152:void populateProtos():1136:1136 -> l
-    152:152:void populateIndexTables():976 -> l
-    153:154:void populateMethods():1141:1142 -> l
-    153:154:void populateIndexTables():977 -> l
-    155:190:boolean verifyOrderOfMethodIds(com.android.tools.r8.dex.DexSection):1158:1193 -> l
-    155:190:void populateMethods():1142 -> l
-    155:190:void populateIndexTables():977 -> l
-    191:201:boolean verifyOrderOfMethodIds(com.android.tools.r8.dex.DexSection):1190:1200 -> l
-    191:201:void populateMethods():1142 -> l
-    191:201:void populateIndexTables():977 -> l
-    202:206:boolean verifyOrderOfMethodIds(com.android.tools.r8.dex.DexSection):1197:1201 -> l
-    202:206:void populateMethods():1142 -> l
-    202:206:void populateIndexTables():977 -> l
-    207:207:boolean verifyOrderOfMethodIds(com.android.tools.r8.dex.DexSection):1186:1186 -> l
-    207:207:void populateMethods():1142 -> l
-    207:207:void populateIndexTables():977 -> l
-    208:210:void populateMethods():1143:1145 -> l
-    208:210:void populateIndexTables():977 -> l
-    211:223:com.android.tools.r8.graph.DexMethod methodAt(int):1324:1336 -> l
-    211:223:void populateMethods():1145 -> l
-    211:223:void populateIndexTables():977 -> l
-    224:224:com.android.tools.r8.graph.DexMethod methodAt(int):1333:1333 -> l
-    224:224:void populateMethods():1145 -> l
-    224:224:void populateIndexTables():977 -> l
-    225:225:void populateMethods():1145:1145 -> l
-    225:225:void populateIndexTables():977 -> l
-    226:229:void populateMethodHandles():990:993 -> l
-    226:229:void populateIndexTables():978 -> l
-    230:257:com.android.tools.r8.graph.DexMethodHandle methodHandleAt(int):1251:1278 -> l
-    230:257:void populateMethodHandles():993 -> l
-    230:257:void populateIndexTables():978 -> l
-    258:258:com.android.tools.r8.graph.DexMethodHandle methodHandleAt(int):1274:1274 -> l
-    258:258:void populateMethodHandles():993 -> l
-    258:258:void populateIndexTables():978 -> l
-    259:275:com.android.tools.r8.graph.DexMethodHandle methodHandleAt(int):1266:1282 -> l
-    259:275:void populateMethodHandles():993 -> l
-    259:275:void populateIndexTables():978 -> l
-    276:276:com.android.tools.r8.graph.DexMethodHandle com.android.tools.r8.graph.DexItemFactory.createMethodHandle(com.android.tools.r8.graph.DexMethodHandle$MethodHandleType,com.android.tools.r8.graph.DexMember,boolean):2684:2684 -> l
-    276:276:com.android.tools.r8.graph.DexMethodHandle methodHandleAt(int):1282 -> l
-    276:276:void populateMethodHandles():993 -> l
-    276:276:void populateIndexTables():978 -> l
-    277:277:void populateMethodHandles():993:993 -> l
-    277:277:void populateIndexTables():978 -> l
-    278:281:void populateCallSites():998:1001 -> l
-    278:281:void populateIndexTables():979 -> l
-    282:286:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1287:1291 -> l
-    282:286:void populateCallSites():1001 -> l
-    282:286:void populateIndexTables():979 -> l
+    58:59:void populateTypes():1037 -> l
+    58:59:void populateIndexTables():1000 -> l
+    60:60:com.android.tools.r8.graph.DexType typeAt(int):1257:1257 -> l
+    60:60:void populateTypes():1037 -> l
+    60:60:void populateIndexTables():1000 -> l
+    61:62:void populateTypes():1038:1039 -> l
+    61:62:void populateIndexTables():1000 -> l
+    63:64:void populateFields():1089:1090 -> l
+    63:64:void populateIndexTables():1001 -> l
+    65:100:boolean verifyOrderOfFieldIds(com.android.tools.r8.dex.DexSection):1105:1140 -> l
+    65:100:void populateFields():1090 -> l
+    65:100:void populateIndexTables():1001 -> l
+    101:111:boolean verifyOrderOfFieldIds(com.android.tools.r8.dex.DexSection):1137:1147 -> l
+    101:111:void populateFields():1090 -> l
+    101:111:void populateIndexTables():1001 -> l
+    112:116:boolean verifyOrderOfFieldIds(com.android.tools.r8.dex.DexSection):1144:1148 -> l
+    112:116:void populateFields():1090 -> l
+    112:116:void populateIndexTables():1001 -> l
+    117:117:boolean verifyOrderOfFieldIds(com.android.tools.r8.dex.DexSection):1133:1133 -> l
+    117:117:void populateFields():1090 -> l
+    117:117:void populateIndexTables():1001 -> l
+    118:120:void populateFields():1091:1093 -> l
+    118:120:void populateIndexTables():1001 -> l
+    121:133:com.android.tools.r8.graph.DexField fieldAt(int):1261:1273 -> l
+    121:133:void populateFields():1093 -> l
+    121:133:void populateIndexTables():1001 -> l
+    134:134:void populateFields():1093:1093 -> l
+    134:134:void populateIndexTables():1001 -> l
+    135:138:void populateProtos():1159:1162 -> l
+    135:138:void populateIndexTables():1002 -> l
+    139:151:com.android.tools.r8.graph.DexProto protoAt(int):1334:1346 -> l
+    139:151:void populateProtos():1162 -> l
+    139:151:void populateIndexTables():1002 -> l
+    152:152:void populateProtos():1162:1162 -> l
+    152:152:void populateIndexTables():1002 -> l
+    153:154:void populateMethods():1167:1168 -> l
+    153:154:void populateIndexTables():1003 -> l
+    155:190:boolean verifyOrderOfMethodIds(com.android.tools.r8.dex.DexSection):1184:1219 -> l
+    155:190:void populateMethods():1168 -> l
+    155:190:void populateIndexTables():1003 -> l
+    191:201:boolean verifyOrderOfMethodIds(com.android.tools.r8.dex.DexSection):1216:1226 -> l
+    191:201:void populateMethods():1168 -> l
+    191:201:void populateIndexTables():1003 -> l
+    202:206:boolean verifyOrderOfMethodIds(com.android.tools.r8.dex.DexSection):1223:1227 -> l
+    202:206:void populateMethods():1168 -> l
+    202:206:void populateIndexTables():1003 -> l
+    207:207:boolean verifyOrderOfMethodIds(com.android.tools.r8.dex.DexSection):1212:1212 -> l
+    207:207:void populateMethods():1168 -> l
+    207:207:void populateIndexTables():1003 -> l
+    208:210:void populateMethods():1169:1171 -> l
+    208:210:void populateIndexTables():1003 -> l
+    211:223:com.android.tools.r8.graph.DexMethod methodAt(int):1350:1362 -> l
+    211:223:void populateMethods():1171 -> l
+    211:223:void populateIndexTables():1003 -> l
+    224:224:com.android.tools.r8.graph.DexMethod methodAt(int):1359:1359 -> l
+    224:224:void populateMethods():1171 -> l
+    224:224:void populateIndexTables():1003 -> l
+    225:225:void populateMethods():1171:1171 -> l
+    225:225:void populateIndexTables():1003 -> l
+    226:229:void populateMethodHandles():1016:1019 -> l
+    226:229:void populateIndexTables():1004 -> l
+    230:257:com.android.tools.r8.graph.DexMethodHandle methodHandleAt(int):1277:1304 -> l
+    230:257:void populateMethodHandles():1019 -> l
+    230:257:void populateIndexTables():1004 -> l
+    258:258:com.android.tools.r8.graph.DexMethodHandle methodHandleAt(int):1300:1300 -> l
+    258:258:void populateMethodHandles():1019 -> l
+    258:258:void populateIndexTables():1004 -> l
+    259:275:com.android.tools.r8.graph.DexMethodHandle methodHandleAt(int):1292:1308 -> l
+    259:275:void populateMethodHandles():1019 -> l
+    259:275:void populateIndexTables():1004 -> l
+    276:276:com.android.tools.r8.graph.DexMethodHandle com.android.tools.r8.graph.DexItemFactory.createMethodHandle(com.android.tools.r8.graph.DexMethodHandle$MethodHandleType,com.android.tools.r8.graph.DexMember,boolean):2686:2686 -> l
+    276:276:com.android.tools.r8.graph.DexMethodHandle methodHandleAt(int):1308 -> l
+    276:276:void populateMethodHandles():1019 -> l
+    276:276:void populateIndexTables():1004 -> l
+    277:277:void populateMethodHandles():1019:1019 -> l
+    277:277:void populateIndexTables():1004 -> l
+    278:281:void populateCallSites():1024:1027 -> l
+    278:281:void populateIndexTables():1005 -> l
+    282:286:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1313:1317 -> l
+    282:286:void populateCallSites():1027 -> l
+    282:286:void populateIndexTables():1005 -> l
     287:288:int com.android.tools.r8.dex.BinaryReader.getUint(int):72:73 -> l
-    287:288:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1292 -> l
+    287:288:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1318 -> l
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    287:288:void populateCallSites():1001 -> l
-    287:288:void populateIndexTables():979 -> l
-    289:291:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1293:1295 -> l
-    289:291:void populateCallSites():1001 -> l
-    289:291:void populateIndexTables():979 -> l
+    287:288:void populateCallSites():1027 -> l
+    287:288:void populateIndexTables():1005 -> l
+    289:291:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1319:1321 -> l
+    289:291:void populateCallSites():1027 -> l
+    289:291:void populateIndexTables():1005 -> l
     292:292:boolean com.android.tools.r8.graph.DexValue.isDexValueMethodHandle():0:0 -> l
-    292:292:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1295 -> l
-    292:292:void populateCallSites():1001 -> l
-    292:292:void populateIndexTables():979 -> l
-    293:295:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1295:1297 -> l
-    293:295:void populateCallSites():1001 -> l
-    293:295:void populateIndexTables():979 -> l
+    292:292:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1321 -> l
+    292:292:void populateCallSites():1027 -> l
+    292:292:void populateIndexTables():1005 -> l
+    293:295:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1321:1323 -> l
+    293:295:void populateCallSites():1027 -> l
+    293:295:void populateIndexTables():1005 -> l
     296:296:boolean com.android.tools.r8.graph.DexValue.isDexValueMethodType():0:0 -> l
-    296:296:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1297 -> l
-    296:296:void populateCallSites():1001 -> l
-    296:296:void populateIndexTables():979 -> l
-    297:304:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1297:1304 -> l
-    297:304:void populateCallSites():1001 -> l
-    297:304:void populateIndexTables():979 -> l
-    305:305:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1299:1299 -> l
-    305:305:void populateCallSites():1001 -> l
-    305:305:void populateIndexTables():979 -> l
-    306:306:void populateCallSites():1001:1001 -> l
-    306:306:void populateIndexTables():979 -> l
+    296:296:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1323 -> l
+    296:296:void populateCallSites():1027 -> l
+    296:296:void populateIndexTables():1005 -> l
+    297:304:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1323:1330 -> l
+    297:304:void populateCallSites():1027 -> l
+    297:304:void populateIndexTables():1005 -> l
+    305:305:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1325:1325 -> l
+    305:305:void populateCallSites():1027 -> l
+    305:305:void populateIndexTables():1005 -> l
+    306:306:void populateCallSites():1027:1027 -> l
+    306:306:void populateIndexTables():1005 -> l
 com.android.tools.r8.dex.DexParser$1 -> com.android.tools.r8.dex.f:
 com.android.tools.r8.dex.DexParser$AnnotationsDirectory -> com.android.tools.r8.dex.g:
     com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[] NO_METHOD_ANNOTATIONS -> g
@@ -20533,9 +20536,9 @@
     com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[] methods -> c
     com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[] parameters -> d
     com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[] NO_FIELD_ANNOTATIONS -> f
-    1:11:void <clinit>():1341:1351 -> <clinit>
-    1:5:void <init>(com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[]):1363:1367 -> <init>
-    1:1:com.android.tools.r8.dex.DexParser$AnnotationsDirectory empty():1371:1371 -> a
+    1:11:void <clinit>():1367:1377 -> <clinit>
+    1:5:void <init>(com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[]):1389:1393 -> <init>
+    1:1:com.android.tools.r8.dex.DexParser$AnnotationsDirectory empty():1397:1397 -> a
 com.android.tools.r8.dex.DexParser$AttributesAndAnnotations -> com.android.tools.r8.dex.h:
     com.android.tools.r8.graph.EnclosingMethodAttribute enclosingMethodAttribute -> b
     java.util.List lazyAnnotations -> d
@@ -20543,27 +20546,27 @@
     java.util.List innerClasses -> c
     boolean $assertionsDisabled -> f
     com.android.tools.r8.graph.GenericSignature$ClassSignature classSignature -> e
-    1:1:void <clinit>():1375:1375 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.utils.InternalOptions):1406:1406 -> <init>
-    2:53:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.utils.InternalOptions):1378:1429 -> <init>
-    54:70:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.utils.InternalOptions):1428:1444 -> <init>
-    71:108:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.utils.InternalOptions):1443:1480 -> <init>
-    109:124:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.utils.InternalOptions):1475:1490 -> <init>
-    1:1:com.android.tools.r8.graph.GenericSignature$ClassSignature access$100(com.android.tools.r8.dex.DexParser$AttributesAndAnnotations):1375:1375 -> a
-    2:8:com.android.tools.r8.graph.DexAnnotationSet getAnnotations():1384:1390 -> a
-    9:11:void ensureAnnotations(int):1496:1498 -> a
-    12:13:void copyAnnotation(com.android.tools.r8.graph.DexAnnotation):1503:1504 -> a
-    1:1:com.android.tools.r8.graph.EnclosingMethodAttribute getEnclosingMethodAttribute():1398:1398 -> b
-    1:1:java.util.List getInnerClasses():1394:1394 -> c
+    1:1:void <clinit>():1401:1401 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.utils.InternalOptions):1432:1432 -> <init>
+    2:53:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.utils.InternalOptions):1404:1455 -> <init>
+    54:70:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.utils.InternalOptions):1454:1470 -> <init>
+    71:108:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.utils.InternalOptions):1469:1506 -> <init>
+    109:124:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.utils.InternalOptions):1501:1516 -> <init>
+    1:1:com.android.tools.r8.graph.GenericSignature$ClassSignature access$100(com.android.tools.r8.dex.DexParser$AttributesAndAnnotations):1401:1401 -> a
+    2:8:com.android.tools.r8.graph.DexAnnotationSet getAnnotations():1410:1416 -> a
+    9:11:void ensureAnnotations(int):1522:1524 -> a
+    12:13:void copyAnnotation(com.android.tools.r8.graph.DexAnnotation):1529:1530 -> a
+    1:1:com.android.tools.r8.graph.EnclosingMethodAttribute getEnclosingMethodAttribute():1424:1424 -> b
+    1:1:java.util.List getInnerClasses():1420:1420 -> c
 com.android.tools.r8.dex.DexParser$MemberAnnotationIterator -> com.android.tools.r8.dex.i:
     java.util.function.Supplier emptyValue -> c
     com.android.tools.r8.graph.DexMemberAnnotation[] annotations -> b
     int index -> a
-    1:1:void <init>(com.android.tools.r8.graph.DexMemberAnnotation[],java.util.function.Supplier,com.android.tools.r8.dex.DexParser$1):598:598 -> <init>
-    2:2:void <init>(com.android.tools.r8.graph.DexMemberAnnotation[],java.util.function.Supplier):605:605 -> <init>
-    3:10:void <init>(com.android.tools.r8.graph.DexMemberAnnotation[],java.util.function.Supplier):600:607 -> <init>
-    1:7:com.android.tools.r8.graph.DexItem getNextFor(com.android.tools.r8.graph.DexMember):617:623 -> a
-    8:8:com.android.tools.r8.graph.DexItem getNextFor(com.android.tools.r8.graph.DexMember):621:621 -> a
+    1:1:void <init>(com.android.tools.r8.graph.DexMemberAnnotation[],java.util.function.Supplier,com.android.tools.r8.dex.DexParser$1):624:624 -> <init>
+    2:2:void <init>(com.android.tools.r8.graph.DexMemberAnnotation[],java.util.function.Supplier):631:631 -> <init>
+    3:10:void <init>(com.android.tools.r8.graph.DexMemberAnnotation[],java.util.function.Supplier):626:633 -> <init>
+    1:7:com.android.tools.r8.graph.DexItem getNextFor(com.android.tools.r8.graph.DexMember):643:649 -> a
+    8:8:com.android.tools.r8.graph.DexItem getNextFor(com.android.tools.r8.graph.DexMember):647:647 -> a
 com.android.tools.r8.dex.DexReader -> com.android.tools.r8.dex.k:
     com.android.tools.r8.utils.DexVersion version -> d
     1:2:void <init>(com.android.tools.r8.ProgramResource):27:28 -> <init>
@@ -20622,7 +20625,7 @@
     2:2:java.lang.String typeName():33:33 -> toString
     2:2:java.lang.String toString():83 -> toString
     3:3:java.lang.String toString():83:83 -> toString
-com.android.tools.r8.dex.FileWriter -> com.android.tools.r8.internal.pk:
+com.android.tools.r8.dex.FileWriter -> com.android.tools.r8.internal.rk:
     com.android.tools.r8.graph.GraphLens graphLens -> d
     com.android.tools.r8.graph.ObjectToOffsetMapping mapping -> a
     com.android.tools.r8.graph.DexApplication application -> b
@@ -20633,328 +20636,328 @@
     com.android.tools.r8.dex.CodeToKeep desugaredLibraryCodeToKeep -> h
     com.android.tools.r8.naming.NamingLens namingLens -> e
     com.android.tools.r8.dex.FileWriter$MixedSectionOffsets mixedSectionOffsets -> g
-    1:1:void <clinit>():85:85 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.ByteBufferProvider,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.AppInfo,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.dex.CodeToKeep):116:116 -> <init>
-    2:18:void <init>(com.android.tools.r8.ByteBufferProvider,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.AppInfo,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.dex.CodeToKeep):108:124 -> <init>
-    1:1:com.android.tools.r8.dex.FileWriter$MixedSectionOffsets access$300(com.android.tools.r8.dex.FileWriter):85:85 -> a
-    2:3:void writeEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation,com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):129:130 -> a
+    1:1:void <clinit>():84:84 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.ByteBufferProvider,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.AppInfo,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.dex.CodeToKeep):115:115 -> <init>
+    2:18:void <init>(com.android.tools.r8.ByteBufferProvider,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.AppInfo,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.dex.CodeToKeep):107:123 -> <init>
+    1:1:com.android.tools.r8.dex.FileWriter$MixedSectionOffsets access$300(com.android.tools.r8.dex.FileWriter):84:84 -> a
+    2:3:void writeEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation,com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):128:129 -> a
     4:4:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
-    4:4:void writeEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation,com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):130 -> a
-    5:7:void writeEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation,com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):132:134 -> a
+    4:4:void writeEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation,com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):129 -> a
+    5:7:void writeEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation,com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):131:133 -> a
     8:8:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
-    8:8:void writeEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation,com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):134 -> a
-    9:9:void writeEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation,com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):135:135 -> a
+    8:8:void writeEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation,com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):133 -> a
+    9:9:void writeEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation,com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):134:134 -> a
     10:10:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
-    10:10:void writeEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation,com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):135 -> a
-    11:12:void writeEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation,com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):136:137 -> a
+    10:10:void writeEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation,com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):134 -> a
+    11:12:void writeEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation,com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):135:136 -> a
     13:13:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
-    13:13:void writeEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation,com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):137 -> a
-    14:14:void writeEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation,com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):138:138 -> a
-    15:15:int lambda$writeEncodedAnnotation$0(com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.DexAnnotationElement,com.android.tools.r8.graph.DexAnnotationElement):133:133 -> a
+    13:13:void writeEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation,com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):136 -> a
+    14:14:void writeEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation,com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):137:137 -> a
+    15:15:int lambda$writeEncodedAnnotation$0(com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.DexAnnotationElement,com.android.tools.r8.graph.DexAnnotationElement):132:132 -> a
     16:16:int com.android.tools.r8.graph.DexString.acceptCompareTo(com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.structural.CompareToVisitor):65:65 -> a
-    16:16:int lambda$writeEncodedAnnotation$0(com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.DexAnnotationElement,com.android.tools.r8.graph.DexAnnotationElement):133 -> a
-    17:35:com.android.tools.r8.dex.FileWriter collect():144:162 -> a
-    36:36:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):269:269 -> a
-    37:37:boolean com.android.tools.r8.graph.DexItemFactory.isClassConstructor(com.android.tools.r8.graph.DexMethod):2794:2794 -> a
-    37:37:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):269 -> a
-    38:42:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):272:276 -> a
-    43:55:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):275:287 -> a
-    56:66:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):286:296 -> a
-    67:72:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):295:300 -> a
+    16:16:int lambda$writeEncodedAnnotation$0(com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.DexAnnotationElement,com.android.tools.r8.graph.DexAnnotationElement):132 -> a
+    17:35:com.android.tools.r8.dex.FileWriter collect():143:161 -> a
+    36:36:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):268:268 -> a
+    37:37:boolean com.android.tools.r8.graph.DexItemFactory.isClassConstructor(com.android.tools.r8.graph.DexMethod):2800:2800 -> a
+    37:37:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):268 -> a
+    38:42:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):271:275 -> a
+    43:55:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):274:286 -> a
+    56:66:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):285:295 -> a
+    67:72:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):294:299 -> a
     73:73:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):0:0 -> a
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":684,"2":685,"3":686}}
-    684:684:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):300:300 -> a
-    685:685:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):300:300 -> a
-    686:686:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):300:300 -> a
-    376:376:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):303:303 -> a
-    377:377:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
-    377:377:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):303 -> a
-    378:378:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
-    378:378:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
-    378:378:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):303 -> a
-    379:379:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):303:303 -> a
-    380:380:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):281:281 -> a
-    381:381:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):0:0 -> a
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":687,"2":688,"3":689}}
-    687:687:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):281:281 -> a
-    688:688:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):281:281 -> a
-    689:689:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):281:281 -> a
-    663:663:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):282:282 -> a
-    664:664:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
-    664:664:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):282 -> a
-    665:665:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
-    665:665:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
-    665:665:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):282 -> a
-    666:666:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):282:282 -> a
-    690:696:void lambda$sortDexCodesByClassName$1(java.util.List,java.util.Map,com.android.tools.r8.graph.ProgramMethod):335:341 -> a
-    697:703:java.lang.String com.android.tools.r8.dex.FileWriter.getKeyForDexCodeSorting(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.naming.ClassNameMapper):354:360 -> a
-    697:703:void lambda$sortDexCodesByClassName$1(java.util.List,java.util.Map,com.android.tools.r8.graph.ProgramMethod):341 -> a
-    704:704:void lambda$sortDexCodesByClassName$1(java.util.List,java.util.Map,com.android.tools.r8.graph.ProgramMethod):340:340 -> a
-    705:707:void writeFixedSectionItems(java.util.Collection,int,java.util.function.Consumer):365:367 -> a
-    708:712:void writeItems(java.util.Collection,java.util.function.Consumer,java.util.function.Consumer,int):386:390 -> a
-    713:714:void writeTypeItem(com.android.tools.r8.graph.DexType):435:436 -> a
-    715:717:void writeProtoItem(com.android.tools.r8.graph.DexProto):440:442 -> a
-    718:725:void writeFieldItem(com.android.tools.r8.graph.DexField):446:453 -> a
-    726:733:void writeMethodItem(com.android.tools.r8.graph.DexMethod):457:464 -> a
-    734:734:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):489:489 -> a
-    735:749:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):493:507 -> a
-    735:749:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):489 -> a
-    750:750:void com.android.tools.r8.dex.DexOutputBuffer.rewind(int):154:154 -> a
-    750:750:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):507 -> a
-    750:750:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):489 -> a
-    751:759:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):508:516 -> a
-    751:759:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):489 -> a
-    760:760:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
-    760:760:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):516 -> a
-    760:760:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):489 -> a
-    761:766:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):517:522 -> a
-    761:766:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):489 -> a
-    767:767:void com.android.tools.r8.dex.DexOutputBuffer.putSleb128(int):83:83 -> a
-    767:767:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):522 -> a
-    767:767:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):489 -> a
-    768:769:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):523:524 -> a
-    768:769:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):489 -> a
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":682,"2":683,"3":684}}
+    682:682:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):299:299 -> a
+    683:683:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):299:299 -> a
+    684:684:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):299:299 -> a
+    375:375:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):302:302 -> a
+    376:376:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
+    376:376:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):302 -> a
+    377:377:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
+    377:377:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
+    377:377:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):302 -> a
+    378:378:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):302:302 -> a
+    379:379:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):280:280 -> a
+    380:380:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):0:0 -> a
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":685,"2":686,"3":687}}
+    685:685:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):280:280 -> a
+    686:686:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):280:280 -> a
+    687:687:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):280:280 -> a
+    661:661:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):281:281 -> a
+    662:662:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
+    662:662:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):281 -> a
+    663:663:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
+    663:663:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
+    663:663:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):281 -> a
+    664:664:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):281:281 -> a
+    688:694:void lambda$sortDexCodesByClassName$1(java.util.List,java.util.Map,com.android.tools.r8.graph.ProgramMethod):334:340 -> a
+    695:701:java.lang.String com.android.tools.r8.dex.FileWriter.getKeyForDexCodeSorting(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.naming.ClassNameMapper):353:359 -> a
+    695:701:void lambda$sortDexCodesByClassName$1(java.util.List,java.util.Map,com.android.tools.r8.graph.ProgramMethod):340 -> a
+    702:702:void lambda$sortDexCodesByClassName$1(java.util.List,java.util.Map,com.android.tools.r8.graph.ProgramMethod):339:339 -> a
+    703:705:void writeFixedSectionItems(java.util.Collection,int,java.util.function.Consumer):364:366 -> a
+    706:710:void writeItems(java.util.Collection,java.util.function.Consumer,java.util.function.Consumer,int):385:389 -> a
+    711:712:void writeTypeItem(com.android.tools.r8.graph.DexType):434:435 -> a
+    713:715:void writeProtoItem(com.android.tools.r8.graph.DexProto):439:441 -> a
+    716:723:void writeFieldItem(com.android.tools.r8.graph.DexField):445:452 -> a
+    724:731:void writeMethodItem(com.android.tools.r8.graph.DexMethod):456:463 -> a
+    732:732:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):488:488 -> a
+    733:747:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):492:506 -> a
+    733:747:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):488 -> a
+    748:748:void com.android.tools.r8.dex.DexOutputBuffer.rewind(int):154:154 -> a
+    748:748:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):506 -> a
+    748:748:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):488 -> a
+    749:757:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):507:515 -> a
+    749:757:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):488 -> a
+    758:758:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
+    758:758:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):515 -> a
+    758:758:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):488 -> a
+    759:764:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):516:521 -> a
+    759:764:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):488 -> a
+    765:765:void com.android.tools.r8.dex.DexOutputBuffer.putSleb128(int):83:83 -> a
+    765:765:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):521 -> a
+    765:765:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):488 -> a
+    766:767:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):522:523 -> a
+    766:767:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):488 -> a
+    768:768:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
+    768:768:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):523 -> a
+    768:768:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):488 -> a
+    769:769:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):524:524 -> a
+    769:769:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):488 -> a
     770:770:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
     770:770:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):524 -> a
-    770:770:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):489 -> a
-    771:771:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):525:525 -> a
-    771:771:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):489 -> a
-    772:772:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
-    772:772:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):525 -> a
-    772:772:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):489 -> a
-    773:776:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):526:529 -> a
-    773:776:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):489 -> a
-    777:777:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
-    777:777:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):529 -> a
-    777:777:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):489 -> a
-    778:787:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):532:541 -> a
-    778:787:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):489 -> a
-    788:793:void writeTypeList(com.android.tools.r8.graph.DexTypeList):546:551 -> a
-    794:795:void writeStringData(com.android.tools.r8.graph.DexString):556:557 -> a
-    796:796:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
-    796:796:void writeStringData(com.android.tools.r8.graph.DexString):557 -> a
-    797:797:void writeStringData(com.android.tools.r8.graph.DexString):558:558 -> a
-    798:800:void writeAnnotation(com.android.tools.r8.graph.DexAnnotation):562:564 -> a
-    801:801:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
-    801:801:void writeAnnotation(com.android.tools.r8.graph.DexAnnotation):564 -> a
-    802:803:void writeAnnotation(com.android.tools.r8.graph.DexAnnotation):566:567 -> a
-    804:806:void writeAnnotationSet(com.android.tools.r8.graph.DexAnnotationSet):571:573 -> a
-    807:807:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
-    807:807:void writeAnnotationSet(com.android.tools.r8.graph.DexAnnotationSet):573 -> a
-    808:814:void writeAnnotationSet(com.android.tools.r8.graph.DexAnnotationSet):575:581 -> a
-    815:815:int lambda$writeAnnotationSet$2(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation):578:578 -> a
-    816:816:int com.android.tools.r8.graph.DexType.acceptCompareTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.structural.CompareToVisitor):99:99 -> a
-    816:816:int lambda$writeAnnotationSet$2(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation):578 -> a
-    817:826:void writeAnnotationSetRefList(com.android.tools.r8.graph.ParameterAnnotationsList):586:595 -> a
-    827:838:void writeAnnotationDirectory(com.android.tools.r8.graph.DexAnnotationDirectory):608:619 -> a
-    839:841:void com.android.tools.r8.dex.FileWriter.writeMemberAnnotations(java.util.List,java.util.function.ToIntFunction):601:603 -> a
-    839:841:void writeAnnotationDirectory(com.android.tools.r8.graph.DexAnnotationDirectory):619 -> a
-    842:842:void writeAnnotationDirectory(com.android.tools.r8.graph.DexAnnotationDirectory):621:621 -> a
-    843:845:void com.android.tools.r8.dex.FileWriter.writeMemberAnnotations(java.util.List,java.util.function.ToIntFunction):601:603 -> a
-    843:845:void writeAnnotationDirectory(com.android.tools.r8.graph.DexAnnotationDirectory):621 -> a
-    846:846:void writeAnnotationDirectory(com.android.tools.r8.graph.DexAnnotationDirectory):623:623 -> a
-    847:849:void com.android.tools.r8.dex.FileWriter.writeMemberAnnotations(java.util.List,java.util.function.ToIntFunction):601:603 -> a
-    847:849:void writeAnnotationDirectory(com.android.tools.r8.graph.DexAnnotationDirectory):623 -> a
-    850:850:int lambda$writeAnnotationDirectory$3(com.android.tools.r8.graph.DexEncodedField):620:620 -> a
-    851:860:void writeEncodedFields(java.util.List):628:637 -> a
+    770:770:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):488 -> a
+    771:774:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):525:528 -> a
+    771:774:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):488 -> a
+    775:775:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
+    775:775:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):528 -> a
+    775:775:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):488 -> a
+    776:785:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):531:540 -> a
+    776:785:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):488 -> a
+    786:791:void writeTypeList(com.android.tools.r8.graph.DexTypeList):545:550 -> a
+    792:793:void writeStringData(com.android.tools.r8.graph.DexString):555:556 -> a
+    794:794:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
+    794:794:void writeStringData(com.android.tools.r8.graph.DexString):556 -> a
+    795:795:void writeStringData(com.android.tools.r8.graph.DexString):557:557 -> a
+    796:798:void writeAnnotation(com.android.tools.r8.graph.DexAnnotation):561:563 -> a
+    799:799:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
+    799:799:void writeAnnotation(com.android.tools.r8.graph.DexAnnotation):563 -> a
+    800:801:void writeAnnotation(com.android.tools.r8.graph.DexAnnotation):565:566 -> a
+    802:804:void writeAnnotationSet(com.android.tools.r8.graph.DexAnnotationSet):570:572 -> a
+    805:805:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
+    805:805:void writeAnnotationSet(com.android.tools.r8.graph.DexAnnotationSet):572 -> a
+    806:812:void writeAnnotationSet(com.android.tools.r8.graph.DexAnnotationSet):574:580 -> a
+    813:813:int lambda$writeAnnotationSet$2(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation):577:577 -> a
+    814:814:int com.android.tools.r8.graph.DexType.acceptCompareTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.structural.CompareToVisitor):99:99 -> a
+    814:814:int lambda$writeAnnotationSet$2(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation):577 -> a
+    815:824:void writeAnnotationSetRefList(com.android.tools.r8.graph.ParameterAnnotationsList):585:594 -> a
+    825:836:void writeAnnotationDirectory(com.android.tools.r8.graph.DexAnnotationDirectory):607:618 -> a
+    837:839:void com.android.tools.r8.dex.FileWriter.writeMemberAnnotations(java.util.List,java.util.function.ToIntFunction):600:602 -> a
+    837:839:void writeAnnotationDirectory(com.android.tools.r8.graph.DexAnnotationDirectory):618 -> a
+    840:840:void writeAnnotationDirectory(com.android.tools.r8.graph.DexAnnotationDirectory):620:620 -> a
+    841:843:void com.android.tools.r8.dex.FileWriter.writeMemberAnnotations(java.util.List,java.util.function.ToIntFunction):600:602 -> a
+    841:843:void writeAnnotationDirectory(com.android.tools.r8.graph.DexAnnotationDirectory):620 -> a
+    844:844:void writeAnnotationDirectory(com.android.tools.r8.graph.DexAnnotationDirectory):622:622 -> a
+    845:847:void com.android.tools.r8.dex.FileWriter.writeMemberAnnotations(java.util.List,java.util.function.ToIntFunction):600:602 -> a
+    845:847:void writeAnnotationDirectory(com.android.tools.r8.graph.DexAnnotationDirectory):622 -> a
+    848:848:int lambda$writeAnnotationDirectory$3(com.android.tools.r8.graph.DexEncodedField):619:619 -> a
+    849:858:void writeEncodedFields(java.util.List):627:636 -> a
+    859:859:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
+    859:859:void writeEncodedFields(java.util.List):636 -> a
+    860:860:void writeEncodedFields(java.util.List):638:638 -> a
     861:861:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
-    861:861:void writeEncodedFields(java.util.List):637 -> a
+    861:861:void writeEncodedFields(java.util.List):638 -> a
     862:862:void writeEncodedFields(java.util.List):639:639 -> a
-    863:863:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
-    863:863:void writeEncodedFields(java.util.List):639 -> a
-    864:864:void writeEncodedFields(java.util.List):640:640 -> a
-    865:865:int lambda$writeEncodedFields$6(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField):631:631 -> a
-    866:866:int com.android.tools.r8.graph.DexField.acceptCompareTo(com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.structural.CompareToVisitor):176:176 -> a
-    866:866:int lambda$writeEncodedFields$6(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField):631 -> a
-    867:875:void writeEncodedMethods(java.lang.Iterable):645:653 -> a
+    863:863:int lambda$writeEncodedFields$6(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField):630:630 -> a
+    864:864:int com.android.tools.r8.graph.DexField.acceptCompareTo(com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.structural.CompareToVisitor):176:176 -> a
+    864:864:int lambda$writeEncodedFields$6(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField):630 -> a
+    865:873:void writeEncodedMethods(java.lang.Iterable):644:652 -> a
+    874:874:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
+    874:874:void writeEncodedMethods(java.lang.Iterable):652 -> a
+    875:875:void writeEncodedMethods(java.lang.Iterable):654:654 -> a
     876:876:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
-    876:876:void writeEncodedMethods(java.lang.Iterable):653 -> a
-    877:877:void writeEncodedMethods(java.lang.Iterable):655:655 -> a
-    878:878:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
-    878:878:void writeEncodedMethods(java.lang.Iterable):655 -> a
-    879:883:void writeEncodedMethods(java.lang.Iterable):656:660 -> a
+    876:876:void writeEncodedMethods(java.lang.Iterable):654 -> a
+    877:881:void writeEncodedMethods(java.lang.Iterable):655:659 -> a
+    882:882:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
+    882:882:void writeEncodedMethods(java.lang.Iterable):659 -> a
+    883:883:void writeEncodedMethods(java.lang.Iterable):661:661 -> a
     884:884:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
-    884:884:void writeEncodedMethods(java.lang.Iterable):660 -> a
-    885:885:void writeEncodedMethods(java.lang.Iterable):662:662 -> a
-    886:886:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
-    886:886:void writeEncodedMethods(java.lang.Iterable):662 -> a
-    887:887:void writeEncodedMethods(java.lang.Iterable):665:665 -> a
-    888:888:int lambda$writeEncodedMethods$7(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):648:648 -> a
-    889:889:int com.android.tools.r8.graph.DexMethod.acceptCompareTo(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.structural.CompareToVisitor):61:61 -> a
-    889:889:int lambda$writeEncodedMethods$7(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):648 -> a
-    890:893:void addStaticFieldValues(com.android.tools.r8.graph.DexProgramClass):687:690 -> a
-    894:896:void writeEncodedArray(com.android.tools.r8.graph.DexEncodedArray):727:729 -> a
-    897:897:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
-    897:897:void writeEncodedArray(com.android.tools.r8.graph.DexEncodedArray):729 -> a
-    898:898:void writeEncodedArray(com.android.tools.r8.graph.DexEncodedArray):731:731 -> a
-    899:899:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
-    899:899:void writeEncodedArray(com.android.tools.r8.graph.DexEncodedArray):731 -> a
-    900:901:void writeEncodedArray(com.android.tools.r8.graph.DexEncodedArray):732:733 -> a
-    902:908:int writeMapItem(int,int,int):741:747 -> a
-    909:909:void com.android.tools.r8.dex.FileWriter.checkThatInvokeCustomIsAllowed():1385:1385 -> a
+    884:884:void writeEncodedMethods(java.lang.Iterable):661 -> a
+    885:885:void writeEncodedMethods(java.lang.Iterable):664:664 -> a
+    886:886:int lambda$writeEncodedMethods$7(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):647:647 -> a
+    887:887:int com.android.tools.r8.graph.DexMethod.acceptCompareTo(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.structural.CompareToVisitor):61:61 -> a
+    887:887:int lambda$writeEncodedMethods$7(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):647 -> a
+    888:891:void addStaticFieldValues(com.android.tools.r8.graph.DexProgramClass):686:689 -> a
+    892:894:void writeEncodedArray(com.android.tools.r8.graph.DexEncodedArray):726:728 -> a
+    895:895:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
+    895:895:void writeEncodedArray(com.android.tools.r8.graph.DexEncodedArray):728 -> a
+    896:896:void writeEncodedArray(com.android.tools.r8.graph.DexEncodedArray):730:730 -> a
+    897:897:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
+    897:897:void writeEncodedArray(com.android.tools.r8.graph.DexEncodedArray):730 -> a
+    898:899:void writeEncodedArray(com.android.tools.r8.graph.DexEncodedArray):731:732 -> a
+    900:906:int writeMapItem(int,int,int):740:746 -> a
+    907:907:void com.android.tools.r8.dex.FileWriter.checkThatInvokeCustomIsAllowed():1384:1384 -> a
+    907:907:void writeCallSite(com.android.tools.r8.graph.DexCallSite):720 -> a
+    908:908:void writeCallSite(com.android.tools.r8.graph.DexCallSite):721:721 -> a
+    909:909:boolean com.android.tools.r8.dex.DexOutputBuffer.isAligned(int):163:163 -> a
     909:909:void writeCallSite(com.android.tools.r8.graph.DexCallSite):721 -> a
-    910:910:void writeCallSite(com.android.tools.r8.graph.DexCallSite):722:722 -> a
-    911:911:boolean com.android.tools.r8.dex.DexOutputBuffer.isAligned(int):163:163 -> a
-    911:911:void writeCallSite(com.android.tools.r8.graph.DexCallSite):722 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    912:913:void writeCallSite(com.android.tools.r8.graph.DexCallSite):722:723 -> a
-    914:914:void com.android.tools.r8.dex.FileWriter.checkThatInvokeCustomIsAllowed():1386:1386 -> a
-    914:914:void writeCallSite(com.android.tools.r8.graph.DexCallSite):721 -> a
-    915:915:void com.android.tools.r8.dex.FileWriter.checkThatInvokeCustomIsAllowed():1385:1385 -> a
-    915:915:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):695 -> a
-    916:921:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):697:702 -> a
-    922:928:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):699:705 -> a
-    929:929:boolean com.android.tools.r8.dex.DexOutputBuffer.isAligned(int):163:163 -> a
-    929:929:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):705 -> a
+    910:911:void writeCallSite(com.android.tools.r8.graph.DexCallSite):721:722 -> a
+    912:912:void com.android.tools.r8.dex.FileWriter.checkThatInvokeCustomIsAllowed():1385:1385 -> a
+    912:912:void writeCallSite(com.android.tools.r8.graph.DexCallSite):720 -> a
+    913:913:void com.android.tools.r8.dex.FileWriter.checkThatInvokeCustomIsAllowed():1384:1384 -> a
+    913:913:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):694 -> a
+    914:919:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):696:701 -> a
+    920:926:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):698:704 -> a
+    927:927:boolean com.android.tools.r8.dex.DexOutputBuffer.isAligned(int):163:163 -> a
+    927:927:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):704 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    930:932:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):705:707 -> a
-    933:933:boolean com.android.tools.r8.graph.DexMethodHandle.isMethodHandle():294:294 -> a
-    933:933:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):709 -> a
-    934:934:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):710:710 -> a
-    935:935:boolean com.android.tools.r8.graph.DexMethodHandle.isFieldHandle():290:290 -> a
-    935:935:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):712 -> a
-    936:941:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):712:717 -> a
-    942:942:void com.android.tools.r8.dex.FileWriter.checkThatInvokeCustomIsAllowed():1386:1386 -> a
-    942:942:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):695 -> a
-    1:7:void com.android.tools.r8.dex.FileWriter.checkInterfaceMethods():250:256 -> b
-    1:7:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():169 -> b
-    8:8:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():172:172 -> b
-    9:22:boolean com.android.tools.r8.dex.FileWriter.verifyNames():308:321 -> b
-    9:22:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():172 -> b
+    928:930:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):704:706 -> a
+    931:931:boolean com.android.tools.r8.graph.DexMethodHandle.isMethodHandle():294:294 -> a
+    931:931:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):708 -> a
+    932:932:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):709:709 -> a
+    933:933:boolean com.android.tools.r8.graph.DexMethodHandle.isFieldHandle():290:290 -> a
+    933:933:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):711 -> a
+    934:939:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):711:716 -> a
+    940:940:void com.android.tools.r8.dex.FileWriter.checkThatInvokeCustomIsAllowed():1385:1385 -> a
+    940:940:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):694 -> a
+    1:7:void com.android.tools.r8.dex.FileWriter.checkInterfaceMethods():249:255 -> b
+    1:7:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():168 -> b
+    8:8:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():171:171 -> b
+    9:22:boolean com.android.tools.r8.dex.FileWriter.verifyNames():307:320 -> b
+    9:22:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():171 -> b
     23:30:boolean com.android.tools.r8.graph.DexString.isValidSimpleName(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):404:411 -> b
-    23:30:boolean com.android.tools.r8.dex.FileWriter.verifyNames():321 -> b
-    23:30:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():172 -> b
-    31:32:boolean com.android.tools.r8.dex.FileWriter.verifyNames():321:322 -> b
-    31:32:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():172 -> b
-    33:33:boolean com.android.tools.r8.synthesis.SyntheticNaming.verifyNotInternalSynthetic(com.android.tools.r8.graph.DexType):208:208 -> b
-    33:33:boolean com.android.tools.r8.dex.FileWriter.verifyNames():322 -> b
-    33:33:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():172 -> b
-    34:41:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():174:181 -> b
-    42:44:int com.android.tools.r8.dex.FileWriter.sizeOfCodeItems(java.lang.Iterable):396:398 -> b
-    42:44:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():181 -> b
-    45:64:int com.android.tools.r8.dex.FileWriter.sizeOfCodeItem(com.android.tools.r8.graph.DexWritableCode):405:424 -> b
-    45:64:int com.android.tools.r8.dex.FileWriter.sizeOfCodeItems(java.lang.Iterable):398 -> b
-    45:64:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():181 -> b
+    23:30:boolean com.android.tools.r8.dex.FileWriter.verifyNames():320 -> b
+    23:30:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():171 -> b
+    31:32:boolean com.android.tools.r8.dex.FileWriter.verifyNames():320:321 -> b
+    31:32:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():171 -> b
+    33:33:boolean com.android.tools.r8.synthesis.SyntheticNaming.verifyNotInternalSynthetic(com.android.tools.r8.graph.DexType):209:209 -> b
+    33:33:boolean com.android.tools.r8.dex.FileWriter.verifyNames():321 -> b
+    33:33:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():171 -> b
+    34:41:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():173:180 -> b
+    42:44:int com.android.tools.r8.dex.FileWriter.sizeOfCodeItems(java.lang.Iterable):395:397 -> b
+    42:44:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():180 -> b
+    45:64:int com.android.tools.r8.dex.FileWriter.sizeOfCodeItem(com.android.tools.r8.graph.DexWritableCode):404:423 -> b
+    45:64:int com.android.tools.r8.dex.FileWriter.sizeOfCodeItems(java.lang.Iterable):397 -> b
+    45:64:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():180 -> b
     65:65:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> b
-    65:65:int com.android.tools.r8.dex.FileWriter.sizeOfCodeItem(com.android.tools.r8.graph.DexWritableCode):425 -> b
-    65:65:int com.android.tools.r8.dex.FileWriter.sizeOfCodeItems(java.lang.Iterable):398 -> b
-    65:65:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():181 -> b
-    66:76:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():181:191 -> b
-    77:78:void com.android.tools.r8.dex.FileWriter.writeDebugItem(com.android.tools.r8.graph.DexDebugInfo,com.android.tools.r8.graph.GraphLens):484:485 -> b
-    77:78:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():191 -> b
-    79:83:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():197:201 -> b
+    65:65:int com.android.tools.r8.dex.FileWriter.sizeOfCodeItem(com.android.tools.r8.graph.DexWritableCode):424 -> b
+    65:65:int com.android.tools.r8.dex.FileWriter.sizeOfCodeItems(java.lang.Iterable):397 -> b
+    65:65:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():180 -> b
+    66:76:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():180:190 -> b
+    77:78:void com.android.tools.r8.dex.FileWriter.writeDebugItem(com.android.tools.r8.graph.DexDebugInfoForWriting,com.android.tools.r8.graph.GraphLens):483:484 -> b
+    77:78:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():190 -> b
+    79:83:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():196:200 -> b
     84:84:boolean com.android.tools.r8.dex.DexOutputBuffer.isAligned(int):163:163 -> b
-    84:84:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():201 -> b
+    84:84:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():200 -> b
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    85:91:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():201:207 -> b
-    92:92:void com.android.tools.r8.dex.FileWriter.writeItems(java.util.Collection,java.util.function.Consumer,java.util.function.Consumer):381:381 -> b
-    92:92:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():207 -> b
-    93:93:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():208:208 -> b
-    94:94:void com.android.tools.r8.dex.FileWriter.writeItems(java.util.Collection,java.util.function.Consumer,java.util.function.Consumer):381:381 -> b
-    94:94:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():208 -> b
-    95:95:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():210:210 -> b
-    96:96:void com.android.tools.r8.dex.FileWriter.writeItems(java.util.Collection,java.util.function.Consumer,java.util.function.Consumer):381:381 -> b
-    96:96:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():210 -> b
-    97:97:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():212:212 -> b
-    98:98:void com.android.tools.r8.dex.FileWriter.writeItems(java.util.Collection,java.util.function.Consumer,java.util.function.Consumer):381:381 -> b
-    98:98:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():212 -> b
-    99:99:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():214:214 -> b
-    100:100:void com.android.tools.r8.dex.FileWriter.writeItems(java.util.Collection,java.util.function.Consumer,java.util.function.Consumer):381:381 -> b
-    100:100:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():214 -> b
-    101:109:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():216:224 -> b
-    110:115:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):752:757 -> b
-    110:115:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():225 -> b
-    116:119:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):756:759 -> b
-    116:119:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():225 -> b
-    120:123:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):758:761 -> b
-    120:123:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():225 -> b
-    124:127:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):760:763 -> b
-    124:127:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():225 -> b
-    128:131:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):762:765 -> b
-    128:131:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():225 -> b
-    132:135:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):764:767 -> b
-    132:135:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():225 -> b
-    136:139:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):766:769 -> b
-    136:139:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():225 -> b
-    140:143:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):768:771 -> b
-    140:143:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():225 -> b
-    144:147:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):770:773 -> b
-    144:147:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():225 -> b
-    148:151:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):772:775 -> b
-    148:151:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():225 -> b
-    152:155:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):774:777 -> b
-    152:155:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():225 -> b
-    156:159:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):776:779 -> b
-    156:159:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():225 -> b
-    160:163:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):778:781 -> b
-    160:163:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():225 -> b
-    164:167:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):780:783 -> b
-    164:167:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():225 -> b
-    168:171:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):782:785 -> b
-    168:171:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():225 -> b
-    172:175:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):784:787 -> b
-    172:175:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():225 -> b
-    176:180:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):786:790 -> b
-    176:180:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():225 -> b
-    181:186:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):788:793 -> b
-    181:186:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():225 -> b
-    187:193:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):791:797 -> b
-    187:193:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():225 -> b
-    194:203:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():226:235 -> b
-    204:206:void com.android.tools.r8.dex.FileWriter.writeFixedSectionItems(com.android.tools.r8.graph.DexProgramClass[],int,java.util.function.Consumer):373:375 -> b
-    204:206:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():235 -> b
-    207:209:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():236:238 -> b
-    210:210:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():237:237 -> b
-    211:216:void com.android.tools.r8.dex.FileWriter.writeHeader(com.android.tools.r8.dex.FileWriter$Layout):801:806 -> b
-    211:216:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():241 -> b
-    217:250:void com.android.tools.r8.dex.FileWriter.writeHeader(com.android.tools.r8.dex.FileWriter$Layout):803:836 -> b
-    217:250:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():241 -> b
-    251:253:void com.android.tools.r8.dex.FileWriter.writeSignature(com.android.tools.r8.dex.FileWriter$Layout):841:843 -> b
-    251:253:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():242 -> b
-    254:256:void com.android.tools.r8.dex.FileWriter.writeSignature(com.android.tools.r8.dex.FileWriter$Layout):842:844 -> b
-    254:256:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():242 -> b
-    257:259:void com.android.tools.r8.dex.FileWriter.writeChecksum(com.android.tools.r8.dex.FileWriter$Layout):851:853 -> b
-    257:259:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():243 -> b
-    260:263:void com.android.tools.r8.dex.FileWriter.writeChecksum(com.android.tools.r8.dex.FileWriter$Layout):852:855 -> b
-    260:263:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():243 -> b
-    264:264:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():246:246 -> b
-    265:265:void com.android.tools.r8.dex.FileWriter.writeSignature(com.android.tools.r8.dex.FileWriter$Layout):846:846 -> b
-    265:265:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():242 -> b
-    266:266:void writeStringItem(com.android.tools.r8.graph.DexString):431:431 -> b
-    267:267:int lambda$writeAnnotationDirectory$4(com.android.tools.r8.graph.DexEncodedMethod):622:622 -> b
-    268:268:void writeClassData(com.android.tools.r8.graph.DexProgramClass):671:671 -> b
+    85:91:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():200:206 -> b
+    92:92:void com.android.tools.r8.dex.FileWriter.writeItems(java.util.Collection,java.util.function.Consumer,java.util.function.Consumer):380:380 -> b
+    92:92:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():206 -> b
+    93:93:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():207:207 -> b
+    94:94:void com.android.tools.r8.dex.FileWriter.writeItems(java.util.Collection,java.util.function.Consumer,java.util.function.Consumer):380:380 -> b
+    94:94:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():207 -> b
+    95:95:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():209:209 -> b
+    96:96:void com.android.tools.r8.dex.FileWriter.writeItems(java.util.Collection,java.util.function.Consumer,java.util.function.Consumer):380:380 -> b
+    96:96:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():209 -> b
+    97:97:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():211:211 -> b
+    98:98:void com.android.tools.r8.dex.FileWriter.writeItems(java.util.Collection,java.util.function.Consumer,java.util.function.Consumer):380:380 -> b
+    98:98:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():211 -> b
+    99:99:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():213:213 -> b
+    100:100:void com.android.tools.r8.dex.FileWriter.writeItems(java.util.Collection,java.util.function.Consumer,java.util.function.Consumer):380:380 -> b
+    100:100:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():213 -> b
+    101:109:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():215:223 -> b
+    110:115:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):751:756 -> b
+    110:115:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
+    116:119:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):755:758 -> b
+    116:119:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
+    120:123:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):757:760 -> b
+    120:123:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
+    124:127:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):759:762 -> b
+    124:127:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
+    128:131:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):761:764 -> b
+    128:131:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
+    132:135:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):763:766 -> b
+    132:135:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
+    136:139:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):765:768 -> b
+    136:139:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
+    140:143:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):767:770 -> b
+    140:143:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
+    144:147:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):769:772 -> b
+    144:147:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
+    148:151:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):771:774 -> b
+    148:151:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
+    152:155:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):773:776 -> b
+    152:155:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
+    156:159:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):775:778 -> b
+    156:159:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
+    160:163:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):777:780 -> b
+    160:163:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
+    164:167:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):779:782 -> b
+    164:167:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
+    168:171:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):781:784 -> b
+    168:171:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
+    172:175:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):783:786 -> b
+    172:175:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
+    176:180:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):785:789 -> b
+    176:180:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
+    181:186:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):787:792 -> b
+    181:186:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
+    187:193:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):790:796 -> b
+    187:193:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
+    194:203:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():225:234 -> b
+    204:206:void com.android.tools.r8.dex.FileWriter.writeFixedSectionItems(com.android.tools.r8.graph.DexProgramClass[],int,java.util.function.Consumer):372:374 -> b
+    204:206:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():234 -> b
+    207:209:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():235:237 -> b
+    210:210:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():236:236 -> b
+    211:216:void com.android.tools.r8.dex.FileWriter.writeHeader(com.android.tools.r8.dex.FileWriter$Layout):800:805 -> b
+    211:216:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():240 -> b
+    217:250:void com.android.tools.r8.dex.FileWriter.writeHeader(com.android.tools.r8.dex.FileWriter$Layout):802:835 -> b
+    217:250:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():240 -> b
+    251:253:void com.android.tools.r8.dex.FileWriter.writeSignature(com.android.tools.r8.dex.FileWriter$Layout):840:842 -> b
+    251:253:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():241 -> b
+    254:256:void com.android.tools.r8.dex.FileWriter.writeSignature(com.android.tools.r8.dex.FileWriter$Layout):841:843 -> b
+    254:256:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():241 -> b
+    257:259:void com.android.tools.r8.dex.FileWriter.writeChecksum(com.android.tools.r8.dex.FileWriter$Layout):850:852 -> b
+    257:259:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():242 -> b
+    260:263:void com.android.tools.r8.dex.FileWriter.writeChecksum(com.android.tools.r8.dex.FileWriter$Layout):851:854 -> b
+    260:263:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():242 -> b
+    264:264:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():245:245 -> b
+    265:265:void com.android.tools.r8.dex.FileWriter.writeSignature(com.android.tools.r8.dex.FileWriter$Layout):845:845 -> b
+    265:265:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():241 -> b
+    266:266:void writeStringItem(com.android.tools.r8.graph.DexString):430:430 -> b
+    267:267:int lambda$writeAnnotationDirectory$4(com.android.tools.r8.graph.DexEncodedMethod):621:621 -> b
+    268:268:void writeClassData(com.android.tools.r8.graph.DexProgramClass):670:670 -> b
     269:269:boolean com.android.tools.r8.graph.DexProgramClass.hasMethodsOrFields():601:601 -> b
-    269:269:void writeClassData(com.android.tools.r8.graph.DexProgramClass):671 -> b
+    269:269:void writeClassData(com.android.tools.r8.graph.DexProgramClass):670 -> b
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    270:272:void writeClassData(com.android.tools.r8.graph.DexProgramClass):671:673 -> b
+    270:272:void writeClassData(com.android.tools.r8.graph.DexProgramClass):670:672 -> b
     273:273:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> b
-    273:273:void writeClassData(com.android.tools.r8.graph.DexProgramClass):673 -> b
-    274:274:void writeClassData(com.android.tools.r8.graph.DexProgramClass):674:674 -> b
+    273:273:void writeClassData(com.android.tools.r8.graph.DexProgramClass):672 -> b
+    274:274:void writeClassData(com.android.tools.r8.graph.DexProgramClass):673:673 -> b
     275:275:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> b
-    275:275:void writeClassData(com.android.tools.r8.graph.DexProgramClass):674 -> b
-    276:276:void writeClassData(com.android.tools.r8.graph.DexProgramClass):675:675 -> b
+    275:275:void writeClassData(com.android.tools.r8.graph.DexProgramClass):673 -> b
+    276:276:void writeClassData(com.android.tools.r8.graph.DexProgramClass):674:674 -> b
     277:277:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> b
-    277:277:void writeClassData(com.android.tools.r8.graph.DexProgramClass):675 -> b
-    278:278:void writeClassData(com.android.tools.r8.graph.DexProgramClass):676:676 -> b
+    277:277:void writeClassData(com.android.tools.r8.graph.DexProgramClass):674 -> b
+    278:278:void writeClassData(com.android.tools.r8.graph.DexProgramClass):675:675 -> b
     279:279:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> b
-    279:279:void writeClassData(com.android.tools.r8.graph.DexProgramClass):676 -> b
-    280:283:void writeClassData(com.android.tools.r8.graph.DexProgramClass):677:680 -> b
-    1:16:java.util.List sortDexCodesByClassName():330:345 -> c
-    17:22:void writeClassDefItem(com.android.tools.r8.graph.DexProgramClass):468:473 -> c
-    23:27:void writeClassDefItem(com.android.tools.r8.graph.DexProgramClass):472:476 -> c
-    28:31:void writeClassDefItem(com.android.tools.r8.graph.DexProgramClass):475:478 -> c
+    279:279:void writeClassData(com.android.tools.r8.graph.DexProgramClass):675 -> b
+    280:283:void writeClassData(com.android.tools.r8.graph.DexProgramClass):676:679 -> b
+    1:16:java.util.List sortDexCodesByClassName():329:344 -> c
+    17:22:void writeClassDefItem(com.android.tools.r8.graph.DexProgramClass):467:472 -> c
+    23:27:void writeClassDefItem(com.android.tools.r8.graph.DexProgramClass):471:475 -> c
+    28:31:void writeClassDefItem(com.android.tools.r8.graph.DexProgramClass):474:477 -> c
     32:32:boolean com.android.tools.r8.graph.DexProgramClass.hasMethodsOrFields():601:601 -> c
-    32:32:void writeClassDefItem(com.android.tools.r8.graph.DexProgramClass):479 -> c
-    33:33:void writeClassDefItem(com.android.tools.r8.graph.DexProgramClass):479:479 -> c
-    34:36:void writeClassDefItem(com.android.tools.r8.graph.DexProgramClass):478:480 -> c
-    37:37:int lambda$writeAnnotationDirectory$5(com.android.tools.r8.graph.DexEncodedMethod):624:624 -> c
-com.android.tools.r8.dex.FileWriter$1 -> com.android.tools.r8.internal.kk:
-com.android.tools.r8.dex.FileWriter$ByteBufferResult -> com.android.tools.r8.internal.lk:
+    32:32:void writeClassDefItem(com.android.tools.r8.graph.DexProgramClass):478 -> c
+    33:33:void writeClassDefItem(com.android.tools.r8.graph.DexProgramClass):478:478 -> c
+    34:36:void writeClassDefItem(com.android.tools.r8.graph.DexProgramClass):477:479 -> c
+    37:37:int lambda$writeAnnotationDirectory$5(com.android.tools.r8.graph.DexEncodedMethod):623:623 -> c
+com.android.tools.r8.dex.FileWriter$1 -> com.android.tools.r8.internal.mk:
+com.android.tools.r8.dex.FileWriter$ByteBufferResult -> com.android.tools.r8.internal.nk:
     com.android.tools.r8.dex.CompatByteBuffer buffer -> a
     int length -> b
-    1:1:void <init>(com.android.tools.r8.dex.CompatByteBuffer,int,com.android.tools.r8.dex.FileWriter$1):88:88 -> <init>
-    2:4:void <init>(com.android.tools.r8.dex.CompatByteBuffer,int):94:96 -> <init>
-com.android.tools.r8.dex.FileWriter$Layout -> com.android.tools.r8.internal.mk:
+    1:1:void <init>(com.android.tools.r8.dex.CompatByteBuffer,int,com.android.tools.r8.dex.FileWriter$1):87:87 -> <init>
+    2:4:void <init>(com.android.tools.r8.dex.CompatByteBuffer,int):93:95 -> <init>
+com.android.tools.r8.dex.FileWriter$Layout -> com.android.tools.r8.internal.ok:
     int annotationSetsOffset -> n
     int annotationSetRefListsOffset -> o
     int stringDataOffsets -> l
@@ -20976,40 +20979,40 @@
     int mapOffset -> s
     int annotationDirectoriesOffset -> p
     int classDataOffset -> q
-    1:1:void <clinit>():863:863 -> <clinit>
-    1:1:void <init>(int,int,int,int,int,int,int,int,int):895:895 -> <init>
-    2:35:void <init>(int,int,int,int,int,int,int,int,int):879:912 -> <init>
+    1:1:void <clinit>():862:862 -> <clinit>
+    1:1:void <init>(int,int,int,int,int,int,int,int,int):894:894 -> <init>
+    2:35:void <init>(int,int,int,int,int,int,int,int,int):878:911 -> <init>
     void alreadySetOffset(int) -> a
-    1:10:com.android.tools.r8.dex.FileWriter$Layout from(com.android.tools.r8.graph.ObjectToOffsetMapping):917:926 -> a
-    11:11:boolean isValidOffset(int,boolean):936:936 -> a
-    12:13:int getAnnotationDirectoriesOffset():1014:1015 -> a
-    1:2:int getAnnotationSetRefListsOffset():1004:1005 -> b
-    3:4:void setAnnotationDirectoriesOffset(int):1019:1020 -> b
-    1:2:int getAnnotationSetsOffset():990:991 -> c
-    3:4:void setAnnotationSetRefListsOffset(int):1009:1010 -> c
-    1:2:int getAnnotationsOffset():980:981 -> d
-    3:4:void setAnnotationSetsOffset(int):999:1000 -> d
-    1:2:void setAnnotationsOffset(int):985:986 -> e
-    3:4:int getClassDataOffset():1024:1025 -> e
-    1:2:int getCodesOffset():940:941 -> f
-    3:4:void setClassDataOffset(int):1029:1030 -> f
-    1:2:void setCodesOffset(int):945:946 -> g
-    3:3:int com.android.tools.r8.dex.FileWriter$Layout.getEndOfFile():1052:1052 -> g
-    3:3:int getDataSectionSize():930 -> g
-    4:5:int getDataSectionSize():930:931 -> g
-    1:2:int getDebugInfosOffset():950:951 -> h
-    3:4:void setDebugInfosOffset(int):955:956 -> h
-    1:2:int getEncodedArrarysOffset():1034:1035 -> i
-    3:4:void setEncodedArrarysOffset(int):1039:1040 -> i
-    1:1:int getEndOfFile():1052:1052 -> j
-    2:2:void setEndOfFile(int):1056:1056 -> j
-    1:1:int getMapOffset():1044:1044 -> k
-    2:2:void setMapOffset(int):1048:1048 -> k
-    1:2:int getStringDataOffsets():970:971 -> l
-    3:4:void setStringDataOffsets(int):975:976 -> l
-    1:2:int getTypeListsOffset():960:961 -> m
-    3:4:void setTypeListsOffset(int):965:966 -> m
-com.android.tools.r8.dex.FileWriter$MixedSectionOffsets -> com.android.tools.r8.internal.nk:
+    1:10:com.android.tools.r8.dex.FileWriter$Layout from(com.android.tools.r8.graph.ObjectToOffsetMapping):916:925 -> a
+    11:11:boolean isValidOffset(int,boolean):935:935 -> a
+    12:13:int getAnnotationDirectoriesOffset():1013:1014 -> a
+    1:2:int getAnnotationSetRefListsOffset():1003:1004 -> b
+    3:4:void setAnnotationDirectoriesOffset(int):1018:1019 -> b
+    1:2:int getAnnotationSetsOffset():989:990 -> c
+    3:4:void setAnnotationSetRefListsOffset(int):1008:1009 -> c
+    1:2:int getAnnotationsOffset():979:980 -> d
+    3:4:void setAnnotationSetsOffset(int):998:999 -> d
+    1:2:void setAnnotationsOffset(int):984:985 -> e
+    3:4:int getClassDataOffset():1023:1024 -> e
+    1:2:int getCodesOffset():939:940 -> f
+    3:4:void setClassDataOffset(int):1028:1029 -> f
+    1:2:void setCodesOffset(int):944:945 -> g
+    3:3:int com.android.tools.r8.dex.FileWriter$Layout.getEndOfFile():1051:1051 -> g
+    3:3:int getDataSectionSize():929 -> g
+    4:5:int getDataSectionSize():929:930 -> g
+    1:2:int getDebugInfosOffset():949:950 -> h
+    3:4:void setDebugInfosOffset(int):954:955 -> h
+    1:2:int getEncodedArrarysOffset():1033:1034 -> i
+    3:4:void setEncodedArrarysOffset(int):1038:1039 -> i
+    1:1:int getEndOfFile():1051:1051 -> j
+    2:2:void setEndOfFile(int):1055:1055 -> j
+    1:1:int getMapOffset():1043:1043 -> k
+    2:2:void setMapOffset(int):1047:1047 -> k
+    1:2:int getStringDataOffsets():969:970 -> l
+    3:4:void setStringDataOffsets(int):974:975 -> l
+    1:2:int getTypeListsOffset():959:960 -> m
+    3:4:void setTypeListsOffset(int):964:965 -> m
+com.android.tools.r8.dex.FileWriter$MixedSectionOffsets -> com.android.tools.r8.internal.pk:
     boolean $assertionsDisabled -> m
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap debugInfos -> b
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap typeLists -> c
@@ -21023,106 +21026,106 @@
     java.util.Map clazzToAnnotationDirectory -> k
     com.android.tools.r8.utils.AndroidApiLevel minApiLevel -> l
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap encodedArrays -> j
-    1:1:void <clinit>():1067:1067 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.dex.FileWriter$1):1067:1067 -> <init>
-    2:2:void <init>(com.android.tools.r8.utils.InternalOptions):1101:1101 -> <init>
-    3:33:void <init>(com.android.tools.r8.utils.InternalOptions):1072:1102 -> <init>
-    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap access$100(com.android.tools.r8.dex.FileWriter$MixedSectionOffsets):1067:1067 -> a
-    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap createObject2IntMap():1090:1091 -> a
-    4:5:boolean add(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap,java.lang.Object):1106:1107 -> a
-    6:6:boolean add(com.android.tools.r8.graph.DexProgramClass):1123:1123 -> a
-    7:7:boolean add(com.android.tools.r8.graph.DexEncodedArray):1128:1128 -> a
-    8:11:boolean add(com.android.tools.r8.graph.DexAnnotationSet):1135:1138 -> a
-    12:12:boolean add(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexWritableCode):1148:1148 -> a
-    13:14:boolean com.android.tools.r8.dex.FileWriter$MixedSectionOffsets.add(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,java.lang.Object):1114:1115 -> a
-    13:14:boolean add(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexWritableCode):1148 -> a
-    15:15:boolean add(com.android.tools.r8.graph.DexDebugInfo):1153:1153 -> a
-    16:19:boolean add(com.android.tools.r8.graph.DexTypeList):1158:1161 -> a
-    20:23:boolean add(com.android.tools.r8.graph.ParameterAnnotationsList):1166:1169 -> a
-    24:24:boolean add(com.android.tools.r8.graph.DexAnnotation):1174:1174 -> a
-    25:27:boolean setAnnotationsDirectoryForClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexAnnotationDirectory):1180:1182 -> a
-    28:28:boolean add(com.android.tools.r8.graph.DexString):1186:1186 -> a
-    29:30:boolean com.android.tools.r8.dex.FileWriter$MixedSectionOffsets.add(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,java.lang.Object):1114:1115 -> a
-    29:30:boolean add(com.android.tools.r8.graph.DexString):1186 -> a
-    31:32:int lookup(java.lang.Object,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap):1233:1234 -> a
-    33:34:void setOffsetFor(java.lang.Object,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap):1305:1306 -> a
-    35:35:void setOffsetFor(com.android.tools.r8.graph.DexDebugInfo,int):1315:1315 -> a
-    36:36:void setOffsetFor(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexWritableCode,int):1319:1319 -> a
-    37:38:void com.android.tools.r8.dex.FileWriter$MixedSectionOffsets.setOffsetFor(java.lang.Object,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1310:1311 -> a
-    37:38:void setOffsetFor(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexWritableCode,int):1319 -> a
-    39:40:void setOffsetFor(com.android.tools.r8.graph.DexTypeList,int):1323:1324 -> a
-    41:41:void setOffsetFor(com.android.tools.r8.graph.DexString,int):1328:1328 -> a
-    42:43:void com.android.tools.r8.dex.FileWriter$MixedSectionOffsets.setOffsetFor(java.lang.Object,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1310:1311 -> a
-    42:43:void setOffsetFor(com.android.tools.r8.graph.DexString,int):1328 -> a
-    44:44:void setOffsetFor(com.android.tools.r8.graph.DexAnnotation,int):1332:1332 -> a
-    45:46:void setOffsetFor(com.android.tools.r8.graph.DexAnnotationSet,int):1338:1339 -> a
-    47:47:void setOffsetForAnnotationsDirectory(com.android.tools.r8.graph.DexAnnotationDirectory,int):1343:1343 -> a
-    48:48:void setOffsetFor(com.android.tools.r8.graph.DexProgramClass,int):1347:1347 -> a
-    49:49:void setOffsetFor(com.android.tools.r8.graph.DexEncodedArray,int):1351:1351 -> a
-    50:51:void setOffsetFor(com.android.tools.r8.graph.ParameterAnnotationsList,int):1355:1356 -> a
-    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap createReference2IntMap():1096:1097 -> b
-    3:3:void visit(com.android.tools.r8.graph.DexEncodedMethod):1143:1143 -> b
-    4:4:int getOffsetFor(com.android.tools.r8.graph.DexString):1248:1248 -> b
-    5:6:int com.android.tools.r8.dex.FileWriter$MixedSectionOffsets.lookup(java.lang.Object,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1242:1243 -> b
-    5:6:int getOffsetFor(com.android.tools.r8.graph.DexString):1248 -> b
-    7:10:int getOffsetFor(com.android.tools.r8.graph.DexTypeList):1252:1255 -> b
-    11:11:int getOffsetFor(com.android.tools.r8.graph.DexProgramClass):1259:1259 -> b
-    12:12:int getOffsetFor(com.android.tools.r8.graph.DexEncodedArray):1263:1263 -> b
-    13:13:int getOffsetFor(com.android.tools.r8.graph.DexDebugInfo):1267:1267 -> b
-    14:14:int getOffsetFor(com.android.tools.r8.graph.DexAnnotation):1281:1281 -> b
-    15:18:int getOffsetFor(com.android.tools.r8.graph.DexAnnotationSet):1287:1290 -> b
-    19:22:int getOffsetFor(com.android.tools.r8.graph.ParameterAnnotationsList):1294:1297 -> b
-    1:1:java.util.Collection getAnnotationDirectories():1222:1222 -> c
+    1:1:void <clinit>():1066:1066 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.dex.FileWriter$1):1066:1066 -> <init>
+    2:2:void <init>(com.android.tools.r8.utils.InternalOptions):1100:1100 -> <init>
+    3:33:void <init>(com.android.tools.r8.utils.InternalOptions):1071:1101 -> <init>
+    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap access$100(com.android.tools.r8.dex.FileWriter$MixedSectionOffsets):1066:1066 -> a
+    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap createObject2IntMap():1089:1090 -> a
+    4:5:boolean add(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap,java.lang.Object):1105:1106 -> a
+    6:6:boolean add(com.android.tools.r8.graph.DexProgramClass):1122:1122 -> a
+    7:7:boolean add(com.android.tools.r8.graph.DexEncodedArray):1127:1127 -> a
+    8:11:boolean add(com.android.tools.r8.graph.DexAnnotationSet):1134:1137 -> a
+    12:12:boolean add(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexWritableCode):1147:1147 -> a
+    13:14:boolean com.android.tools.r8.dex.FileWriter$MixedSectionOffsets.add(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,java.lang.Object):1113:1114 -> a
+    13:14:boolean add(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexWritableCode):1147 -> a
+    15:15:boolean add(com.android.tools.r8.graph.DexDebugInfoForWriting):1152:1152 -> a
+    16:19:boolean add(com.android.tools.r8.graph.DexTypeList):1157:1160 -> a
+    20:23:boolean add(com.android.tools.r8.graph.ParameterAnnotationsList):1165:1168 -> a
+    24:24:boolean add(com.android.tools.r8.graph.DexAnnotation):1173:1173 -> a
+    25:27:boolean setAnnotationsDirectoryForClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexAnnotationDirectory):1179:1181 -> a
+    28:28:boolean add(com.android.tools.r8.graph.DexString):1185:1185 -> a
+    29:30:boolean com.android.tools.r8.dex.FileWriter$MixedSectionOffsets.add(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,java.lang.Object):1113:1114 -> a
+    29:30:boolean add(com.android.tools.r8.graph.DexString):1185 -> a
+    31:32:int lookup(java.lang.Object,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap):1232:1233 -> a
+    33:34:void setOffsetFor(java.lang.Object,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap):1304:1305 -> a
+    35:35:void setOffsetFor(com.android.tools.r8.graph.DexDebugInfoForWriting,int):1314:1314 -> a
+    36:36:void setOffsetFor(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexWritableCode,int):1318:1318 -> a
+    37:38:void com.android.tools.r8.dex.FileWriter$MixedSectionOffsets.setOffsetFor(java.lang.Object,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1309:1310 -> a
+    37:38:void setOffsetFor(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexWritableCode,int):1318 -> a
+    39:40:void setOffsetFor(com.android.tools.r8.graph.DexTypeList,int):1322:1323 -> a
+    41:41:void setOffsetFor(com.android.tools.r8.graph.DexString,int):1327:1327 -> a
+    42:43:void com.android.tools.r8.dex.FileWriter$MixedSectionOffsets.setOffsetFor(java.lang.Object,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1309:1310 -> a
+    42:43:void setOffsetFor(com.android.tools.r8.graph.DexString,int):1327 -> a
+    44:44:void setOffsetFor(com.android.tools.r8.graph.DexAnnotation,int):1331:1331 -> a
+    45:46:void setOffsetFor(com.android.tools.r8.graph.DexAnnotationSet,int):1337:1338 -> a
+    47:47:void setOffsetForAnnotationsDirectory(com.android.tools.r8.graph.DexAnnotationDirectory,int):1342:1342 -> a
+    48:48:void setOffsetFor(com.android.tools.r8.graph.DexProgramClass,int):1346:1346 -> a
+    49:49:void setOffsetFor(com.android.tools.r8.graph.DexEncodedArray,int):1350:1350 -> a
+    50:51:void setOffsetFor(com.android.tools.r8.graph.ParameterAnnotationsList,int):1354:1355 -> a
+    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap createReference2IntMap():1095:1096 -> b
+    3:3:void visit(com.android.tools.r8.graph.DexEncodedMethod):1142:1142 -> b
+    4:4:int getOffsetFor(com.android.tools.r8.graph.DexString):1247:1247 -> b
+    5:6:int com.android.tools.r8.dex.FileWriter$MixedSectionOffsets.lookup(java.lang.Object,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1241:1242 -> b
+    5:6:int getOffsetFor(com.android.tools.r8.graph.DexString):1247 -> b
+    7:10:int getOffsetFor(com.android.tools.r8.graph.DexTypeList):1251:1254 -> b
+    11:11:int getOffsetFor(com.android.tools.r8.graph.DexProgramClass):1258:1258 -> b
+    12:12:int getOffsetFor(com.android.tools.r8.graph.DexEncodedArray):1262:1262 -> b
+    13:13:int getOffsetFor(com.android.tools.r8.graph.DexDebugInfoForWriting):1266:1266 -> b
+    14:14:int getOffsetFor(com.android.tools.r8.graph.DexAnnotation):1280:1280 -> b
+    15:18:int getOffsetFor(com.android.tools.r8.graph.DexAnnotationSet):1286:1289 -> b
+    19:22:int getOffsetFor(com.android.tools.r8.graph.ParameterAnnotationsList):1293:1296 -> b
+    1:1:java.util.Collection getAnnotationDirectories():1221:1221 -> c
     2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.keySet():87:87 -> c
-    2:2:java.util.Collection getAnnotationDirectories():1222 -> c
+    2:2:java.util.Collection getAnnotationDirectories():1221 -> c
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    3:7:int getOffsetForAnnotationsDirectory(com.android.tools.r8.graph.DexProgramClass):1272:1276 -> c
-    8:8:int getOffsetFor(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexWritableCode):1301:1301 -> c
-    9:10:int com.android.tools.r8.dex.FileWriter$MixedSectionOffsets.lookup(java.lang.Object,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1242:1243 -> c
-    9:10:int getOffsetFor(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexWritableCode):1301 -> c
-    1:1:java.util.Collection getAnnotationSetRefLists():1214:1214 -> d
+    3:7:int getOffsetForAnnotationsDirectory(com.android.tools.r8.graph.DexProgramClass):1271:1275 -> c
+    8:8:int getOffsetFor(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexWritableCode):1300:1300 -> c
+    9:10:int com.android.tools.r8.dex.FileWriter$MixedSectionOffsets.lookup(java.lang.Object,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1241:1242 -> c
+    9:10:int getOffsetFor(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexWritableCode):1300 -> c
+    1:1:java.util.Collection getAnnotationSetRefLists():1213:1213 -> d
     2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.keySet():87:87 -> d
-    2:2:java.util.Collection getAnnotationSetRefLists():1214 -> d
+    2:2:java.util.Collection getAnnotationSetRefLists():1213 -> d
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    1:1:java.util.Collection getAnnotationSets():1210:1210 -> e
+    1:1:java.util.Collection getAnnotationSets():1209:1209 -> e
     2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.keySet():87:87 -> e
-    2:2:java.util.Collection getAnnotationSets():1210 -> e
+    2:2:java.util.Collection getAnnotationSets():1209 -> e
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    1:1:java.util.Collection getAnnotations():1206:1206 -> f
+    1:1:java.util.Collection getAnnotations():1205:1205 -> f
     2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.keySet():87:87 -> f
-    2:2:java.util.Collection getAnnotations():1206 -> f
+    2:2:java.util.Collection getAnnotations():1205 -> f
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    1:1:java.util.Collection getClassesWithData():1218:1218 -> g
+    1:1:java.util.Collection getClassesWithData():1217:1217 -> g
     2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.keySet():87:87 -> g
-    2:2:java.util.Collection getClassesWithData():1218 -> g
+    2:2:java.util.Collection getClassesWithData():1217 -> g
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    1:1:java.util.Collection getCodes():1190:1190 -> h
+    1:1:java.util.Collection getCodes():1189:1189 -> h
     2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.keySet():87:87 -> h
-    2:2:java.util.Collection getCodes():1190 -> h
+    2:2:java.util.Collection getCodes():1189 -> h
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    1:1:java.util.Collection getDebugInfos():1194:1194 -> i
+    1:1:java.util.Collection getDebugInfos():1193:1193 -> i
     2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.keySet():87:87 -> i
-    2:2:java.util.Collection getDebugInfos():1194 -> i
+    2:2:java.util.Collection getDebugInfos():1193 -> i
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    1:1:java.util.Collection getEncodedArrays():1226:1226 -> j
+    1:1:java.util.Collection getEncodedArrays():1225:1225 -> j
     2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.keySet():87:87 -> j
-    2:2:java.util.Collection getEncodedArrays():1226 -> j
+    2:2:java.util.Collection getEncodedArrays():1225 -> j
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    1:1:java.util.Collection getStringData():1202:1202 -> k
+    1:1:java.util.Collection getStringData():1201:1201 -> k
     2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.keySet():87:87 -> k
-    2:2:java.util.Collection getStringData():1202 -> k
+    2:2:java.util.Collection getStringData():1201 -> k
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    1:1:java.util.Collection getTypeLists():1198:1198 -> l
+    1:1:java.util.Collection getTypeLists():1197:1197 -> l
     2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.keySet():87:87 -> l
-    2:2:java.util.Collection getTypeLists():1198 -> l
+    2:2:java.util.Collection getTypeLists():1197 -> l
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-com.android.tools.r8.dex.FileWriter$ProgramClassDependencyCollector -> com.android.tools.r8.internal.ok:
+com.android.tools.r8.dex.FileWriter$ProgramClassDependencyCollector -> com.android.tools.r8.internal.qk:
     java.util.Set includedClasses -> c
     com.android.tools.r8.dex.FileWriter this$0 -> d
-    1:2:void <init>(com.android.tools.r8.dex.FileWriter,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexProgramClass[]):1364:1365 -> <init>
-    3:7:void <init>(com.android.tools.r8.dex.FileWriter,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexProgramClass[]):1362:1366 -> <init>
-    1:4:void visit(com.android.tools.r8.graph.DexClass):1377:1380 -> b
-com.android.tools.r8.dex.IndexedItemCollection -> com.android.tools.r8.internal.To:
+    1:2:void <init>(com.android.tools.r8.dex.FileWriter,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexProgramClass[]):1363:1364 -> <init>
+    3:7:void <init>(com.android.tools.r8.dex.FileWriter,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexProgramClass[]):1361:1365 -> <init>
+    1:4:void visit(com.android.tools.r8.graph.DexClass):1376:1379 -> b
+com.android.tools.r8.dex.IndexedItemCollection -> com.android.tools.r8.internal.Vo:
     boolean addCallSite(com.android.tools.r8.graph.DexCallSite) -> a
     boolean addClass(com.android.tools.r8.graph.DexProgramClass) -> a
     boolean addMethodHandle(com.android.tools.r8.graph.DexMethodHandle) -> a
@@ -21135,7 +21138,7 @@
     boolean addField(com.android.tools.r8.graph.DexField) -> b
     boolean addMethod(com.android.tools.r8.graph.DexMethod) -> b
     boolean addType(com.android.tools.r8.graph.DexType) -> b
-com.android.tools.r8.dex.InheritanceClassInDexDistributor -> com.android.tools.r8.internal.ap:
+com.android.tools.r8.dex.InheritanceClassInDexDistributor -> com.android.tools.r8.internal.cp:
     java.util.Comparator DEX_PROGRAM_CLASS_COMPARATOR -> l
     boolean $assertionsDisabled -> m
     com.android.tools.r8.graph.InitClassLens initClassLens -> i
@@ -21328,7 +21331,7 @@
     1:1:com.android.tools.r8.graph.InitClassLens access$200(com.android.tools.r8.dex.InheritanceClassInDexDistributor):45:45 -> c
     1:1:com.android.tools.r8.naming.NamingLens access$300(com.android.tools.r8.dex.InheritanceClassInDexDistributor):45:45 -> d
     1:1:com.android.tools.r8.dex.VirtualFile access$600(com.android.tools.r8.dex.InheritanceClassInDexDistributor):45:45 -> e
-com.android.tools.r8.dex.InheritanceClassInDexDistributor$CategorizedInheritanceGroupWithMainDexDependency -> com.android.tools.r8.internal.Xo:
+com.android.tools.r8.dex.InheritanceClassInDexDistributor$CategorizedInheritanceGroupWithMainDexDependency -> com.android.tools.r8.internal.Zo:
     com.android.tools.r8.dex.InheritanceClassInDexDistributor this$0 -> d
     java.util.Set dependentsOfMainDexIndependents -> c
     boolean $assertionsDisabled -> e
@@ -21384,7 +21387,7 @@
     62:62:boolean isDependingOnMainDexIndependents(com.android.tools.r8.graph.DexProgramClass):222 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     63:73:boolean isDependingOnMainDexIndependents(com.android.tools.r8.graph.DexProgramClass):222:232 -> a
-com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup -> com.android.tools.r8.internal.Yo:
+com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup -> com.android.tools.r8.internal.ap:
     com.android.tools.r8.dex.InheritanceClassInDexDistributor this$0 -> f
     boolean dependsOnMainDexClasses -> e
     int numberOfMethodIds -> d
@@ -21404,7 +21407,7 @@
     12:25:int compareTo(java.lang.Object):56 -> compareTo
     26:29:int com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup.compareTo(com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup):109:112 -> compareTo
     26:29:int compareTo(java.lang.Object):56 -> compareTo
-com.android.tools.r8.dex.InheritanceClassInDexDistributor$DirectSubClassesInfo -> com.android.tools.r8.internal.Zo:
+com.android.tools.r8.dex.InheritanceClassInDexDistributor$DirectSubClassesInfo -> com.android.tools.r8.internal.bp:
     java.util.Map directSubClasses -> a
     java.util.Set classes -> b
     boolean $assertionsDisabled -> c
@@ -21423,87 +21426,88 @@
     4:7:void addDirectSubClass(com.android.tools.r8.graph.AppView,java.util.Set,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):274:277 -> a
     8:9:java.util.Collection getDirectSubClasses(com.android.tools.r8.graph.DexProgramClass):262:263 -> a
     1:1:java.util.Collection lambda$addDirectSubClass$0(com.android.tools.r8.graph.DexProgramClass):276:276 -> b
-com.android.tools.r8.dex.JumboStringRewriter -> com.android.tools.r8.internal.Yv:
+com.android.tools.r8.dex.JumboStringRewriter -> com.android.tools.r8.internal.aw:
     com.android.tools.r8.graph.DexItemFactory factory -> c
     com.android.tools.r8.graph.DexString firstJumboString -> b
     java.util.Map instructionTargets -> d
     com.android.tools.r8.graph.DexEncodedMethod method -> a
-    boolean $assertionsDisabled -> j
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap tryRangeStartAndEndTargets -> h
-    java.util.Map handlerTargets -> i
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap debugEventTargets -> e
-    java.util.Map payloadToSwitch -> f
-    java.util.Map tryTargets -> g
-    1:1:void <clinit>():56:56 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexItemFactory):105:105 -> <init>
-    2:15:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexItemFactory):95:108 -> <init>
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap tryRangeStartAndEndTargets -> i
+    boolean $assertionsDisabled -> k
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap debugEventTargets -> f
+    java.util.Map handlerTargets -> j
+    java.util.Map payloadToSwitch -> g
+    com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo debugEventBasedInfo -> e
+    java.util.Map tryTargets -> h
+    1:1:void <clinit>():57:57 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexItemFactory):106:106 -> <init>
+    2:15:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexItemFactory):96:109 -> <init>
     com.android.tools.r8.code.Instruction lambda$replaceTarget$0(com.android.tools.r8.code.Instruction,com.android.tools.r8.code.Instruction,com.android.tools.r8.code.Instruction) -> a
-    1:12:int rewriteIfToIfAndGoto(int,java.util.ListIterator,com.android.tools.r8.code.Instruction,com.android.tools.r8.code.Instruction):400:411 -> a
-    13:25:void replaceTarget(com.android.tools.r8.code.Instruction,com.android.tools.r8.code.Instruction):416:428 -> a
-    26:41:void com.android.tools.r8.dex.JumboStringRewriter.recordTargets():542:557 -> a
-    26:41:com.android.tools.r8.graph.DexCode rewrite():114 -> a
-    42:72:void com.android.tools.r8.dex.JumboStringRewriter.recordInstructionTargets(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):433:463 -> a
-    42:72:void com.android.tools.r8.dex.JumboStringRewriter.recordTargets():561 -> a
-    42:72:com.android.tools.r8.graph.DexCode rewrite():114 -> a
-    73:87:void com.android.tools.r8.dex.JumboStringRewriter.recordInstructionTargets(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):462:476 -> a
-    73:87:void com.android.tools.r8.dex.JumboStringRewriter.recordTargets():561 -> a
-    73:87:com.android.tools.r8.graph.DexCode rewrite():114 -> a
-    88:103:void com.android.tools.r8.dex.JumboStringRewriter.recordDebugEventTargets(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):482:497 -> a
-    88:103:void com.android.tools.r8.dex.JumboStringRewriter.recordTargets():562 -> a
-    88:103:com.android.tools.r8.graph.DexCode rewrite():114 -> a
-    104:104:void com.android.tools.r8.dex.JumboStringRewriter.recordTargets():563:563 -> a
-    104:104:com.android.tools.r8.graph.DexCode rewrite():114 -> a
-    105:136:void com.android.tools.r8.dex.JumboStringRewriter.recordTryAndHandlerTargets(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.code.Instruction):506:537 -> a
-    105:136:void com.android.tools.r8.dex.JumboStringRewriter.recordTargets():564 -> a
-    105:136:com.android.tools.r8.graph.DexCode rewrite():114 -> a
-    137:179:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():252:294 -> a
-    137:179:com.android.tools.r8.graph.DexCode rewrite():116 -> a
-    180:180:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():291:291 -> a
-    180:180:com.android.tools.r8.graph.DexCode rewrite():116 -> a
-    181:181:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():288:288 -> a
-    181:181:com.android.tools.r8.graph.DexCode rewrite():116 -> a
-    182:182:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():285:285 -> a
-    182:182:com.android.tools.r8.graph.DexCode rewrite():116 -> a
-    183:183:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():282:282 -> a
-    183:183:com.android.tools.r8.graph.DexCode rewrite():116 -> a
-    184:227:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():279:322 -> a
-    184:227:com.android.tools.r8.graph.DexCode rewrite():116 -> a
-    228:228:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():319:319 -> a
-    228:228:com.android.tools.r8.graph.DexCode rewrite():116 -> a
-    229:229:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():316:316 -> a
-    229:229:com.android.tools.r8.graph.DexCode rewrite():116 -> a
-    230:230:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():313:313 -> a
-    230:230:com.android.tools.r8.graph.DexCode rewrite():116 -> a
-    231:231:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():310:310 -> a
-    231:231:com.android.tools.r8.graph.DexCode rewrite():116 -> a
-    232:261:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():307:336 -> a
-    232:261:com.android.tools.r8.graph.DexCode rewrite():116 -> a
-    262:314:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():334:386 -> a
-    262:314:com.android.tools.r8.graph.DexCode rewrite():116 -> a
-    315:352:void com.android.tools.r8.dex.JumboStringRewriter.rewriteInstructionOffsets(java.util.List):141:178 -> a
-    315:352:com.android.tools.r8.graph.DexCode rewrite():119 -> a
-    353:359:com.android.tools.r8.graph.DexCode$Try[] com.android.tools.r8.dex.JumboStringRewriter.rewriteTryOffsets():185:191 -> a
-    353:359:com.android.tools.r8.graph.DexCode rewrite():120 -> a
-    360:375:com.android.tools.r8.graph.DexCode$TryHandler[] com.android.tools.r8.dex.JumboStringRewriter.rewriteHandlerOffsets():197:212 -> a
-    360:375:com.android.tools.r8.graph.DexCode rewrite():121 -> a
-    376:406:com.android.tools.r8.graph.DexDebugInfo com.android.tools.r8.dex.JumboStringRewriter.rewriteDebugInfoOffsets():218:248 -> a
-    376:406:com.android.tools.r8.graph.DexCode rewrite():122 -> a
-    407:419:com.android.tools.r8.graph.DexCode rewrite():124:136 -> a
+    1:12:int rewriteIfToIfAndGoto(int,java.util.ListIterator,com.android.tools.r8.code.Instruction,com.android.tools.r8.code.Instruction):402:413 -> a
+    13:25:void replaceTarget(com.android.tools.r8.code.Instruction,com.android.tools.r8.code.Instruction):418:430 -> a
+    26:41:void com.android.tools.r8.dex.JumboStringRewriter.recordTargets():551:566 -> a
+    26:41:com.android.tools.r8.graph.DexCode rewrite():115 -> a
+    42:72:void com.android.tools.r8.dex.JumboStringRewriter.recordInstructionTargets(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):435:465 -> a
+    42:72:void com.android.tools.r8.dex.JumboStringRewriter.recordTargets():570 -> a
+    42:72:com.android.tools.r8.graph.DexCode rewrite():115 -> a
+    73:87:void com.android.tools.r8.dex.JumboStringRewriter.recordInstructionTargets(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):464:478 -> a
+    73:87:void com.android.tools.r8.dex.JumboStringRewriter.recordTargets():570 -> a
+    73:87:com.android.tools.r8.graph.DexCode rewrite():115 -> a
+    88:107:void com.android.tools.r8.dex.JumboStringRewriter.recordDebugEventTargets(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):488:507 -> a
+    88:107:void com.android.tools.r8.dex.JumboStringRewriter.recordTargets():571 -> a
+    88:107:com.android.tools.r8.graph.DexCode rewrite():115 -> a
+    108:108:void com.android.tools.r8.dex.JumboStringRewriter.recordTargets():572:572 -> a
+    108:108:com.android.tools.r8.graph.DexCode rewrite():115 -> a
+    109:140:void com.android.tools.r8.dex.JumboStringRewriter.recordTryAndHandlerTargets(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.code.Instruction):515:546 -> a
+    109:140:void com.android.tools.r8.dex.JumboStringRewriter.recordTargets():573 -> a
+    109:140:com.android.tools.r8.graph.DexCode rewrite():115 -> a
+    141:183:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():254:296 -> a
+    141:183:com.android.tools.r8.graph.DexCode rewrite():117 -> a
+    184:184:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():293:293 -> a
+    184:184:com.android.tools.r8.graph.DexCode rewrite():117 -> a
+    185:185:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():290:290 -> a
+    185:185:com.android.tools.r8.graph.DexCode rewrite():117 -> a
+    186:186:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():287:287 -> a
+    186:186:com.android.tools.r8.graph.DexCode rewrite():117 -> a
+    187:187:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():284:284 -> a
+    187:187:com.android.tools.r8.graph.DexCode rewrite():117 -> a
+    188:231:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():281:324 -> a
+    188:231:com.android.tools.r8.graph.DexCode rewrite():117 -> a
+    232:232:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():321:321 -> a
+    232:232:com.android.tools.r8.graph.DexCode rewrite():117 -> a
+    233:233:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():318:318 -> a
+    233:233:com.android.tools.r8.graph.DexCode rewrite():117 -> a
+    234:234:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():315:315 -> a
+    234:234:com.android.tools.r8.graph.DexCode rewrite():117 -> a
+    235:235:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():312:312 -> a
+    235:235:com.android.tools.r8.graph.DexCode rewrite():117 -> a
+    236:265:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():309:338 -> a
+    236:265:com.android.tools.r8.graph.DexCode rewrite():117 -> a
+    266:318:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():336:388 -> a
+    266:318:com.android.tools.r8.graph.DexCode rewrite():117 -> a
+    319:356:void com.android.tools.r8.dex.JumboStringRewriter.rewriteInstructionOffsets(java.util.List):142:179 -> a
+    319:356:com.android.tools.r8.graph.DexCode rewrite():120 -> a
+    357:363:com.android.tools.r8.graph.DexCode$Try[] com.android.tools.r8.dex.JumboStringRewriter.rewriteTryOffsets():186:192 -> a
+    357:363:com.android.tools.r8.graph.DexCode rewrite():121 -> a
+    364:379:com.android.tools.r8.graph.DexCode$TryHandler[] com.android.tools.r8.dex.JumboStringRewriter.rewriteHandlerOffsets():198:213 -> a
+    364:379:com.android.tools.r8.graph.DexCode rewrite():122 -> a
+    380:411:com.android.tools.r8.graph.DexDebugInfo com.android.tools.r8.dex.JumboStringRewriter.rewriteDebugInfoOffsets():219:250 -> a
+    380:411:com.android.tools.r8.graph.DexCode rewrite():123 -> a
+    412:424:com.android.tools.r8.graph.DexCode rewrite():125:137 -> a
     com.android.tools.r8.code.Instruction lambda$replaceTarget$1(com.android.tools.r8.code.Instruction,com.android.tools.r8.code.Instruction,com.android.tools.r8.code.Instruction) -> b
-com.android.tools.r8.dex.JumboStringRewriter$1 -> com.android.tools.r8.internal.Wv:
+com.android.tools.r8.dex.JumboStringRewriter$1 -> com.android.tools.r8.internal.Yv:
     int[] $SwitchMap$com$android$tools$r8$ir$code$If$Type -> a
-    1:1:void <clinit>():277:277 -> <clinit>
-com.android.tools.r8.dex.JumboStringRewriter$TryTargets -> com.android.tools.r8.internal.Xv:
+    1:1:void <clinit>():279:279 -> <clinit>
+com.android.tools.r8.dex.JumboStringRewriter$TryTargets -> com.android.tools.r8.internal.Zv:
     com.android.tools.r8.code.Instruction start -> a
     com.android.tools.r8.code.Instruction end -> b
     boolean endsAfterLastInstruction -> c
     boolean $assertionsDisabled -> d
-    1:1:void <clinit>():58:58 -> <clinit>
-    1:6:void <init>(com.android.tools.r8.code.Instruction,com.android.tools.r8.code.Instruction,boolean):63:68 -> <init>
-    1:5:void replaceTarget(com.android.tools.r8.code.Instruction,com.android.tools.r8.code.Instruction):72:76 -> a
-    6:6:int getStartOffset():81:81 -> a
-    1:4:int getStartToEndDelta():85:88 -> b
-com.android.tools.r8.dex.Marker -> com.android.tools.r8.internal.QD:
+    1:1:void <clinit>():59:59 -> <clinit>
+    1:6:void <init>(com.android.tools.r8.code.Instruction,com.android.tools.r8.code.Instruction,boolean):64:69 -> <init>
+    1:5:void replaceTarget(com.android.tools.r8.code.Instruction,com.android.tools.r8.code.Instruction):73:77 -> a
+    6:6:int getStartOffset():82:82 -> a
+    1:4:int getStartToEndDelta():86:89 -> b
+com.android.tools.r8.dex.Marker -> com.android.tools.r8.internal.VD:
     com.android.tools.r8.dex.Marker$Tool tool -> b
     boolean $assertionsDisabled -> f
     java.lang.String D8_PREFIX -> c
@@ -21518,16 +21522,16 @@
     172:172:void <clinit>():54:54 -> <clinit>
     56:56:void <clinit>():54:54 -> <clinit>
     57:57:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":173,"2":174,"3":175}}
-    173:173:void <clinit>():55:55 -> <clinit>
-    174:174:void <clinit>():55:55 -> <clinit>
-    175:175:void <clinit>():55:55 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":170,"2":171,"3":172}}
+    170:170:void <clinit>():55:55 -> <clinit>
+    171:171:void <clinit>():55:55 -> <clinit>
+    172:172:void <clinit>():55:55 -> <clinit>
     112:112:void <clinit>():55:55 -> <clinit>
     113:113:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":176,"2":177,"3":178}}
-    176:176:void <clinit>():56:56 -> <clinit>
-    177:177:void <clinit>():56:56 -> <clinit>
-    178:178:void <clinit>():56:56 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":170,"2":171,"3":172}}
+    170:170:void <clinit>():56:56 -> <clinit>
+    171:171:void <clinit>():56:56 -> <clinit>
+    172:172:void <clinit>():56:56 -> <clinit>
     169:169:void <clinit>():56:56 -> <clinit>
     1:1:void <init>(com.android.tools.r8.dex.Marker$Tool):62:62 -> <init>
     2:4:void <init>(com.android.tools.r8.dex.Marker$Tool,com.android.tools.r8.com.google.gson.JsonObject):65:67 -> <init>
@@ -21597,12 +21601,12 @@
     1:1:boolean isL8():132:132 -> n
     1:1:boolean isRelocator():136:136 -> o
     1:5:java.lang.String toString():274:278 -> toString
-com.android.tools.r8.dex.Marker$Backend$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.PD:
+com.android.tools.r8.dex.Marker$Backend$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.UD:
 # {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
 # {"id":"com.android.tools.r8.synthesized"}
     java.lang.String name(int) -> a
       # {"id":"com.android.tools.r8.synthesized"}
-com.android.tools.r8.dex.Marker$Tool -> com.android.tools.r8.internal.QD$a:
+com.android.tools.r8.dex.Marker$Tool -> com.android.tools.r8.internal.VD$a:
     com.android.tools.r8.dex.Marker$Tool D8 -> b
     com.android.tools.r8.dex.Marker$Tool Relocator -> e
     com.android.tools.r8.dex.Marker$Tool L8 -> d
@@ -21610,19 +21614,19 @@
     1:4:void <clinit>():37:40 -> <clinit>
     1:1:void <init>(java.lang.String,int):36:36 -> <init>
     1:1:com.android.tools.r8.dex.Marker$Tool[] valuesR8andD8():43:43 -> a
-com.android.tools.r8.dex.MixedSectionCollection -> com.android.tools.r8.internal.AF:
+com.android.tools.r8.dex.MixedSectionCollection -> com.android.tools.r8.internal.FF:
     1:1:void <init>():27:27 -> <init>
     boolean add(com.android.tools.r8.graph.DexAnnotation) -> a
     boolean add(com.android.tools.r8.graph.DexAnnotationSet) -> a
-    boolean add(com.android.tools.r8.graph.DexDebugInfo) -> a
     boolean add(com.android.tools.r8.graph.DexEncodedArray) -> a
     boolean add(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexWritableCode) -> a
     boolean add(com.android.tools.r8.graph.DexProgramClass) -> a
     boolean add(com.android.tools.r8.graph.DexTypeList) -> a
     boolean add(com.android.tools.r8.graph.ParameterAnnotationsList) -> a
+    boolean add(com.android.tools.r8.graph.DexDebugInfoForWriting) -> a
     boolean setAnnotationsDirectoryForClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexAnnotationDirectory) -> a
     1:1:void visit(com.android.tools.r8.graph.DexEncodedMethod):62:62 -> b
-com.android.tools.r8.dex.ResourceAdapter -> com.android.tools.r8.internal.sT:
+com.android.tools.r8.dex.ResourceAdapter -> com.android.tools.r8.internal.xT:
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.utils.InternalOptions options -> e
@@ -21663,31 +21667,31 @@
     1:1:com.android.tools.r8.graph.GraphLens access$100(com.android.tools.r8.dex.ResourceAdapter):32:32 -> b
     1:1:com.android.tools.r8.naming.NamingLens access$200(com.android.tools.r8.dex.ResourceAdapter):32:32 -> c
     1:1:com.android.tools.r8.graph.AppView access$300(com.android.tools.r8.dex.ResourceAdapter):32:32 -> d
-com.android.tools.r8.dex.ResourceAdapter$DefaultFileNameAdapter -> com.android.tools.r8.internal.mT:
+com.android.tools.r8.dex.ResourceAdapter$DefaultFileNameAdapter -> com.android.tools.r8.internal.rT:
     1:1:void <init>(com.android.tools.r8.dex.ResourceAdapter,java.lang.String):420:420 -> <init>
     1:1:boolean isRenamingCandidate(int,int):425:425 -> b
-com.android.tools.r8.dex.ResourceAdapter$DirectoryNameAdapter -> com.android.tools.r8.internal.nT:
+com.android.tools.r8.dex.ResourceAdapter$DirectoryNameAdapter -> com.android.tools.r8.internal.sT:
     1:1:void <init>(com.android.tools.r8.dex.ResourceAdapter,java.lang.String):452:452 -> <init>
     boolean isRenamingCandidate(int,int) -> b
-com.android.tools.r8.dex.ResourceAdapter$FileContentsAdapter -> com.android.tools.r8.internal.oT:
+com.android.tools.r8.dex.ResourceAdapter$FileContentsAdapter -> com.android.tools.r8.internal.tT:
     1:1:void <init>(com.android.tools.r8.dex.ResourceAdapter,java.lang.String):354:354 -> <init>
     boolean allowRenamingOfPrefixes() -> a
     1:1:boolean shouldRecordPrefix(char):369:369 -> a
     2:2:boolean handlePrefix(int,int):374:374 -> a
     char getClassNameSeparator() -> b
     1:2:boolean isRenamingCandidate(int,int):380:381 -> b
-com.android.tools.r8.dex.ResourceAdapter$FileNameAdapter -> com.android.tools.r8.internal.pT:
+com.android.tools.r8.dex.ResourceAdapter$FileNameAdapter -> com.android.tools.r8.internal.uT:
     1:1:void <init>(com.android.tools.r8.dex.ResourceAdapter,java.lang.String):391:391 -> <init>
     boolean allowRenamingOfPrefixes() -> a
     1:1:boolean shouldRecordPrefix(char):406:406 -> a
     2:5:boolean handlePrefix(int,int):411:414 -> a
     6:6:boolean handlePrefix(int,int):412:412 -> a
     char getClassNameSeparator() -> b
-com.android.tools.r8.dex.ResourceAdapter$ServiceFileNameAdapter -> com.android.tools.r8.internal.qT:
+com.android.tools.r8.dex.ResourceAdapter$ServiceFileNameAdapter -> com.android.tools.r8.internal.vT:
     1:1:void <init>(com.android.tools.r8.dex.ResourceAdapter,java.lang.String):431:431 -> <init>
     char getClassNameSeparator() -> b
     1:1:boolean isRenamingCandidate(int,int):446:446 -> b
-com.android.tools.r8.dex.ResourceAdapter$StringAdapter -> com.android.tools.r8.internal.rT:
+com.android.tools.r8.dex.ResourceAdapter$StringAdapter -> com.android.tools.r8.internal.wT:
     java.lang.StringBuilder result -> b
     java.lang.String contents -> a
     int outputFrom -> d
@@ -21836,7 +21840,7 @@
     15:15:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> f
     15:15:void setByteOrder():87 -> f
     16:16:void setByteOrder():87:87 -> f
-com.android.tools.r8.dex.VirtualFile -> com.android.tools.r8.internal.X20:
+com.android.tools.r8.dex.VirtualFile -> com.android.tools.r8.internal.d30:
     com.android.tools.r8.dex.VirtualFile$VirtualFileIndexedItemCollection indexedItems -> b
     com.android.tools.r8.graph.ObjectToOffsetMapping objectMapping -> f
     boolean $assertionsDisabled -> g
@@ -21907,15 +21911,15 @@
     1:2:com.android.tools.r8.graph.ObjectToOffsetMapping getObjectMapping():215:216 -> j
     1:1:java.lang.String getPrimaryClassDescriptor():150:150 -> k
     1:1:boolean isEmpty():302:302 -> l
-com.android.tools.r8.dex.VirtualFile$1 -> com.android.tools.r8.internal.N20:
-com.android.tools.r8.dex.VirtualFile$Distributor -> com.android.tools.r8.internal.O20:
+com.android.tools.r8.dex.VirtualFile$1 -> com.android.tools.r8.internal.T20:
+com.android.tools.r8.dex.VirtualFile$Distributor -> com.android.tools.r8.internal.U20:
     com.android.tools.r8.graph.AppView appView -> a
     java.util.List virtualFiles -> c
     com.android.tools.r8.dex.ApplicationWriter writer -> b
     1:1:void <init>(com.android.tools.r8.dex.ApplicationWriter):314:314 -> <init>
     2:6:void <init>(com.android.tools.r8.dex.ApplicationWriter):312:316 -> <init>
     java.util.List run() -> a
-com.android.tools.r8.dex.VirtualFile$DistributorBase -> com.android.tools.r8.internal.P20:
+com.android.tools.r8.dex.VirtualFile$DistributorBase -> com.android.tools.r8.internal.V20:
     com.android.tools.r8.dex.VirtualFile mainDexFile -> f
     java.util.Set classes -> d
     com.android.tools.r8.utils.InternalOptions options -> g
@@ -21940,7 +21944,7 @@
     499:521:int lambda$sortClassesByPackage$1(java.util.Map,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):442:464 -> a
     522:554:void addFeatureSplitFiles(java.util.Map,com.android.tools.r8.dex.VirtualFile$FillStrategy):501:533 -> a
     1:17:java.util.Map removeFeatureSplitClassesGetMapping():471:487 -> b
-com.android.tools.r8.dex.VirtualFile$FilePerInputClassDistributor -> com.android.tools.r8.internal.Q20:
+com.android.tools.r8.dex.VirtualFile$FilePerInputClassDistributor -> com.android.tools.r8.internal.W20:
     boolean $assertionsDisabled -> e
     boolean combineSyntheticClassesWithPrimaryClass -> d
     1:1:void <clinit>():328:328 -> <clinit>
@@ -21953,7 +21957,7 @@
     10:10:java.util.List run():346 -> a
     11:11:java.util.List run():362:362 -> a
     12:40:java.util.List run():347:375 -> a
-com.android.tools.r8.dex.VirtualFile$FillFilesDistributor -> com.android.tools.r8.internal.R20:
+com.android.tools.r8.dex.VirtualFile$FillFilesDistributor -> com.android.tools.r8.internal.X20:
     com.android.tools.r8.dex.VirtualFile$FillStrategy fillStrategy -> i
     java.util.concurrent.ExecutorService executorService -> j
     boolean $assertionsDisabled -> k
@@ -21961,7 +21965,7 @@
     1:3:void <init>(com.android.tools.r8.dex.ApplicationWriter,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):544:546 -> <init>
     1:58:java.util.List run():551:608 -> a
     1:1:int lambda$run$0(com.android.tools.r8.dex.VirtualFile):607:607 -> b
-com.android.tools.r8.dex.VirtualFile$IndexedItemTransaction -> com.android.tools.r8.internal.S20:
+com.android.tools.r8.dex.VirtualFile$IndexedItemTransaction -> com.android.tools.r8.internal.Y20:
     com.android.tools.r8.ir.conversion.LensCodeRewriterUtils rewriter -> e
     boolean $assertionsDisabled -> n
     com.android.tools.r8.naming.NamingLens namingLens -> d
@@ -21998,7 +22002,7 @@
     3:3:boolean addField(com.android.tools.r8.graph.DexField):789:789 -> b
     4:4:boolean addMethod(com.android.tools.r8.graph.DexMethod):794:794 -> b
     5:5:boolean addType(com.android.tools.r8.graph.DexType):809:809 -> b
-    6:6:boolean com.android.tools.r8.synthesis.SyntheticNaming.verifyNotInternalSynthetic(com.android.tools.r8.graph.DexType):208:208 -> b
+    6:6:boolean com.android.tools.r8.synthesis.SyntheticNaming.verifyNotInternalSynthetic(com.android.tools.r8.graph.DexType):209:209 -> b
     6:6:boolean addType(com.android.tools.r8.graph.DexType):809 -> b
     7:7:boolean addType(com.android.tools.r8.graph.DexType):810:810 -> b
     8:13:void abort():881:886 -> b
@@ -22007,13 +22011,13 @@
     1:1:int getNumberOfFields():858:858 -> e
     1:1:int getNumberOfMethods():850:850 -> f
     1:2:boolean isEmpty():890:891 -> g
-com.android.tools.r8.dex.VirtualFile$MonoDexDistributor -> com.android.tools.r8.internal.T20:
+com.android.tools.r8.dex.VirtualFile$MonoDexDistributor -> com.android.tools.r8.internal.Z20:
     1:1:void <init>(com.android.tools.r8.dex.ApplicationWriter,com.android.tools.r8.utils.InternalOptions):614:614 -> <init>
     1:9:java.util.List run():620:628 -> a
     10:10:void com.android.tools.r8.dex.VirtualFile$DistributorBase.addFeatureSplitFiles(java.util.Map):495:495 -> a
     10:10:java.util.List run():630 -> a
     11:11:java.util.List run():633:633 -> a
-com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator -> com.android.tools.r8.internal.U20:
+com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator -> com.android.tools.r8.internal.a30:
     java.util.List classes -> a
     java.util.Map originalNames -> b
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> c
@@ -22098,7 +22102,7 @@
     1281:1281:boolean com.android.tools.r8.dex.VirtualFile.isFull():257:257 -> a
     1281:1281:boolean isFullEnough(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.InternalOptions):1173 -> a
     1:1:java.lang.Object call():1014:1014 -> call
-com.android.tools.r8.dex.VirtualFile$VirtualFileCycler -> com.android.tools.r8.internal.V20:
+com.android.tools.r8.dex.VirtualFile$VirtualFileCycler -> com.android.tools.r8.internal.b30:
     java.util.List files -> a
     com.android.tools.r8.FeatureSplit featuresplit -> i
     com.android.tools.r8.graph.AppView appView -> b
@@ -22122,7 +22126,7 @@
     1:1:com.android.tools.r8.dex.VirtualFile next():951:951 -> c
     1:2:void reset():942:943 -> d
     1:1:void restart():990:990 -> e
-com.android.tools.r8.dex.VirtualFile$VirtualFileIndexedItemCollection -> com.android.tools.r8.internal.W20:
+com.android.tools.r8.dex.VirtualFile$VirtualFileIndexedItemCollection -> com.android.tools.r8.internal.c30:
     java.util.Set methods -> g
     java.util.Set fields -> h
     java.util.Set strings -> i
@@ -22156,7 +22160,7 @@
     2:2:boolean addField(com.android.tools.r8.graph.DexField):666:666 -> b
     3:3:boolean addMethod(com.android.tools.r8.graph.DexMethod):671:671 -> b
     4:4:boolean addType(com.android.tools.r8.graph.DexType):686:686 -> b
-    5:5:boolean com.android.tools.r8.synthesis.SyntheticNaming.verifyNotInternalSynthetic(com.android.tools.r8.graph.DexType):208:208 -> b
+    5:5:boolean com.android.tools.r8.synthesis.SyntheticNaming.verifyNotInternalSynthetic(com.android.tools.r8.graph.DexType):209:209 -> b
     5:5:boolean addType(com.android.tools.r8.graph.DexType):686 -> b
     6:6:boolean addType(com.android.tools.r8.graph.DexType):687:687 -> b
     7:7:int getNumberOfFields():705:705 -> b
@@ -22224,7 +22228,7 @@
     66:69:void splitNonClassResources(com.android.tools.r8.dexsplitter.DexSplitter$Options,com.android.tools.r8.utils.FeatureClassMapping):347:350 -> run
     66:69:void run(com.android.tools.r8.dexsplitter.DexSplitter$Options):322 -> run
     70:70:void run(com.android.tools.r8.dexsplitter.DexSplitter$Options):300:300 -> run
-com.android.tools.r8.dexsplitter.DexSplitter$FeatureJar -> com.android.tools.r8.internal.bh:
+com.android.tools.r8.dexsplitter.DexSplitter$FeatureJar -> com.android.tools.r8.internal.dh:
     java.lang.String jar -> a
     java.lang.String outputName -> b
     1:3:void <init>(java.lang.String,java.lang.String):49:51 -> <init>
@@ -22281,16 +22285,16 @@
 com.android.tools.r8.dexsplitter.DexSplitter$ZipFileOrigin -> com.android.tools.r8.dexsplitter.b:
     1:1:void <init>(java.nio.file.Path):79:79 -> <init>
     1:1:java.lang.String part():0:0 -> part
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":170,"2":171,"3":172}}
-    170:170:java.lang.String part():84:84 -> part
-    171:171:java.lang.String part():84:84 -> part
-    172:172:java.lang.String part():84:84 -> part
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":87,"2":88,"3":89}}
+    87:87:java.lang.String part():84:84 -> part
+    88:88:java.lang.String part():84:84 -> part
+    89:89:java.lang.String part():84:84 -> part
     85:85:java.lang.String part():84:84 -> part
     86:86:java.lang.String part():0:0 -> part
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":173,"2":174,"3":175}}
-    173:173:java.lang.String part():84:84 -> part
-    174:174:java.lang.String part():84:84 -> part
-    175:175:java.lang.String part():84:84 -> part
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":87,"2":88,"3":89}}
+    87:87:java.lang.String part():84:84 -> part
+    88:88:java.lang.String part():84:84 -> part
+    89:89:java.lang.String part():84:84 -> part
 com.android.tools.r8.diagnostic.internal.DefinitionClassContextImpl -> com.android.tools.r8.diagnostic.internal.b:
     com.android.tools.r8.references.ClassReference classReference -> b
     1:1:void <init>(com.android.tools.r8.references.ClassReference,com.android.tools.r8.origin.Origin,com.android.tools.r8.diagnostic.internal.DefinitionClassContextImpl$1):11:11 -> <init>
@@ -22385,33 +22389,33 @@
     3:3:boolean validate():55:55 -> c
     3:3:com.android.tools.r8.diagnostic.internal.DefinitionMethodContextImpl build():48 -> c
     4:4:com.android.tools.r8.diagnostic.internal.DefinitionMethodContextImpl build():49:49 -> c
-com.android.tools.r8.diagnostic.internal.MissingClassInfoImpl -> com.android.tools.r8.internal.kF:
+com.android.tools.r8.diagnostic.internal.MissingClassInfoImpl -> com.android.tools.r8.internal.pF:
     com.android.tools.r8.references.ClassReference classReference -> b
     1:1:void <init>(com.android.tools.r8.references.ClassReference,java.util.Collection,com.android.tools.r8.diagnostic.internal.MissingClassInfoImpl$1):13:13 -> <init>
     2:3:void <init>(com.android.tools.r8.references.ClassReference,java.util.Collection):19:20 -> <init>
     1:1:com.android.tools.r8.diagnostic.internal.MissingClassInfoImpl$Builder builder():24:24 -> a
     1:1:com.android.tools.r8.references.ClassReference getClassReference():29:29 -> getClassReference
-com.android.tools.r8.diagnostic.internal.MissingClassInfoImpl$1 -> com.android.tools.r8.internal.iF:
-com.android.tools.r8.diagnostic.internal.MissingClassInfoImpl$Builder -> com.android.tools.r8.internal.jF:
+com.android.tools.r8.diagnostic.internal.MissingClassInfoImpl$1 -> com.android.tools.r8.internal.nF:
+com.android.tools.r8.diagnostic.internal.MissingClassInfoImpl$Builder -> com.android.tools.r8.internal.oF:
     com.android.tools.r8.references.ClassReference classReference -> b
     1:1:void <init>(com.android.tools.r8.diagnostic.internal.MissingClassInfoImpl$1):32:32 -> <init>
     2:2:void <init>():36:36 -> <init>
     com.android.tools.r8.diagnostic.internal.MissingDefinitionInfoBase$Builder self() -> a
     1:1:com.android.tools.r8.diagnostic.internal.MissingClassInfoImpl$Builder setClass(com.android.tools.r8.references.ClassReference):39:39 -> a
     1:1:com.android.tools.r8.diagnostic.MissingDefinitionInfo build():44:44 -> b
-com.android.tools.r8.diagnostic.internal.MissingDefinitionInfoBase -> com.android.tools.r8.internal.pF:
+com.android.tools.r8.diagnostic.internal.MissingDefinitionInfoBase -> com.android.tools.r8.internal.uF:
     java.util.Collection referencedFromContexts -> a
     1:2:void <init>(java.util.Collection):16:17 -> <init>
     1:3:java.lang.String getDiagnosticMessage():22:24 -> getDiagnosticMessage
     1:1:java.util.Collection getReferencedFromContexts():29:29 -> getReferencedFromContexts
-com.android.tools.r8.diagnostic.internal.MissingDefinitionInfoBase$Builder -> com.android.tools.r8.internal.oF:
+com.android.tools.r8.diagnostic.internal.MissingDefinitionInfoBase$Builder -> com.android.tools.r8.internal.tF:
     com.android.tools.r8.com.google.common.collect.ImmutableList$Builder referencedFromContextsBuilder -> a
     1:1:void <init>():37:37 -> <init>
     2:2:void <init>():35:35 -> <init>
     com.android.tools.r8.diagnostic.internal.MissingDefinitionInfoBase$Builder self() -> a
     1:2:com.android.tools.r8.diagnostic.internal.MissingDefinitionInfoBase$Builder addReferencedFromContext(com.android.tools.r8.diagnostic.DefinitionContext):40:41 -> a
     3:4:com.android.tools.r8.diagnostic.internal.MissingDefinitionInfoBase$Builder addReferencedFromContexts(java.lang.Iterable):45:46 -> a
-com.android.tools.r8.diagnostic.internal.MissingDefinitionInfoUtils -> com.android.tools.r8.internal.qF:
+com.android.tools.r8.diagnostic.internal.MissingDefinitionInfoUtils -> com.android.tools.r8.internal.vF:
     boolean $assertionsDisabled -> b
     java.util.Comparator COMPARATOR -> a
     1:3:void <clinit>():26:28 -> <clinit>
@@ -22465,7 +22469,7 @@
     1:23:void writeReferencedFromSuffix(java.lang.StringBuilder,com.android.tools.r8.diagnostic.MissingDefinitionInfo):110:132 -> b
     24:28:void writeReferencedFromSuffix(java.lang.StringBuilder,com.android.tools.r8.diagnostic.MissingDefinitionInfo):131:135 -> b
     29:32:void writeReferencedFromSuffix(java.lang.StringBuilder,com.android.tools.r8.diagnostic.MissingDefinitionInfo):134:137 -> b
-com.android.tools.r8.diagnostic.internal.MissingDefinitionsDiagnosticImpl -> com.android.tools.r8.internal.tF:
+com.android.tools.r8.diagnostic.internal.MissingDefinitionsDiagnosticImpl -> com.android.tools.r8.internal.yF:
     java.util.Collection missingDefinitions -> b
     boolean $assertionsDisabled -> c
     1:1:void <clinit>():17:17 -> <clinit>
@@ -22482,36 +22486,36 @@
     1:3:java.util.Collection getMissingDefinitions():32 -> getMissingDefinitions
     1:1:com.android.tools.r8.origin.Origin getOrigin():45:45 -> getOrigin
     1:1:com.android.tools.r8.position.Position getPosition():51:51 -> getPosition
-com.android.tools.r8.diagnostic.internal.MissingDefinitionsDiagnosticImpl$1 -> com.android.tools.r8.internal.rF:
-com.android.tools.r8.diagnostic.internal.MissingDefinitionsDiagnosticImpl$Builder -> com.android.tools.r8.internal.sF:
+com.android.tools.r8.diagnostic.internal.MissingDefinitionsDiagnosticImpl$1 -> com.android.tools.r8.internal.wF:
+com.android.tools.r8.diagnostic.internal.MissingDefinitionsDiagnosticImpl$Builder -> com.android.tools.r8.internal.xF:
     com.android.tools.r8.com.google.common.collect.ImmutableList$Builder missingDefinitionsBuilder -> a
     1:1:void <init>(com.android.tools.r8.diagnostic.internal.MissingDefinitionsDiagnosticImpl$1):75:75 -> <init>
     2:2:void <init>():80:80 -> <init>
     3:3:void <init>():78:78 -> <init>
     1:1:com.android.tools.r8.diagnostic.internal.MissingDefinitionsDiagnosticImpl$Builder addMissingDefinitionInfo(com.android.tools.r8.diagnostic.MissingDefinitionInfo):83:83 -> a
     2:2:com.android.tools.r8.diagnostic.MissingDefinitionsDiagnostic build():88:88 -> a
-com.android.tools.r8.diagnostic.internal.MissingFieldInfoImpl -> com.android.tools.r8.internal.wF:
+com.android.tools.r8.diagnostic.internal.MissingFieldInfoImpl -> com.android.tools.r8.internal.BF:
     com.android.tools.r8.references.FieldReference fieldReference -> b
     1:1:void <init>(com.android.tools.r8.references.FieldReference,java.util.Collection,com.android.tools.r8.diagnostic.internal.MissingFieldInfoImpl$1):13:13 -> <init>
     2:3:void <init>(com.android.tools.r8.references.FieldReference,java.util.Collection):19:20 -> <init>
     1:1:com.android.tools.r8.diagnostic.internal.MissingFieldInfoImpl$Builder builder():24:24 -> a
     1:1:com.android.tools.r8.references.FieldReference getFieldReference():29:29 -> getFieldReference
-com.android.tools.r8.diagnostic.internal.MissingFieldInfoImpl$1 -> com.android.tools.r8.internal.uF:
-com.android.tools.r8.diagnostic.internal.MissingFieldInfoImpl$Builder -> com.android.tools.r8.internal.vF:
+com.android.tools.r8.diagnostic.internal.MissingFieldInfoImpl$1 -> com.android.tools.r8.internal.zF:
+com.android.tools.r8.diagnostic.internal.MissingFieldInfoImpl$Builder -> com.android.tools.r8.internal.AF:
     com.android.tools.r8.references.FieldReference fieldReference -> b
     1:1:void <init>(com.android.tools.r8.diagnostic.internal.MissingFieldInfoImpl$1):32:32 -> <init>
     2:2:void <init>():36:36 -> <init>
     com.android.tools.r8.diagnostic.internal.MissingDefinitionInfoBase$Builder self() -> a
     1:1:com.android.tools.r8.diagnostic.internal.MissingFieldInfoImpl$Builder setField(com.android.tools.r8.references.FieldReference):39:39 -> a
     1:1:com.android.tools.r8.diagnostic.MissingDefinitionInfo build():44:44 -> b
-com.android.tools.r8.diagnostic.internal.MissingMethodInfoImpl -> com.android.tools.r8.internal.zF:
+com.android.tools.r8.diagnostic.internal.MissingMethodInfoImpl -> com.android.tools.r8.internal.EF:
     com.android.tools.r8.references.MethodReference methodReference -> b
     1:1:void <init>(com.android.tools.r8.references.MethodReference,java.util.Collection,com.android.tools.r8.diagnostic.internal.MissingMethodInfoImpl$1):13:13 -> <init>
     2:3:void <init>(com.android.tools.r8.references.MethodReference,java.util.Collection):19:20 -> <init>
     1:1:com.android.tools.r8.diagnostic.internal.MissingMethodInfoImpl$Builder builder():24:24 -> a
     1:1:com.android.tools.r8.references.MethodReference getMethodReference():29:29 -> getMethodReference
-com.android.tools.r8.diagnostic.internal.MissingMethodInfoImpl$1 -> com.android.tools.r8.internal.xF:
-com.android.tools.r8.diagnostic.internal.MissingMethodInfoImpl$Builder -> com.android.tools.r8.internal.yF:
+com.android.tools.r8.diagnostic.internal.MissingMethodInfoImpl$1 -> com.android.tools.r8.internal.CF:
+com.android.tools.r8.diagnostic.internal.MissingMethodInfoImpl$Builder -> com.android.tools.r8.internal.DF:
     com.android.tools.r8.references.MethodReference methodReference -> b
     1:1:void <init>(com.android.tools.r8.diagnostic.internal.MissingMethodInfoImpl$1):32:32 -> <init>
     2:2:void <init>():36:36 -> <init>
@@ -22588,7 +22592,7 @@
     50:50:java.lang.String getDiagnosticMessage():42:42 -> getDiagnosticMessage
     43:47:java.lang.String getDiagnosticMessage():42:46 -> getDiagnosticMessage
     1:1:com.android.tools.r8.position.Position getPosition():37:37 -> getPosition
-com.android.tools.r8.errors.CompilationError -> com.android.tools.r8.internal.Lc:
+com.android.tools.r8.errors.CompilationError -> com.android.tools.r8.internal.Mc:
     com.android.tools.r8.origin.Origin origin -> b
     com.android.tools.r8.position.Position position -> c
     1:1:void <init>(java.lang.String):22:22 -> <init>
@@ -22610,14 +22614,14 @@
     40:40:java.lang.String getDiagnosticMessage():33:33 -> getDiagnosticMessage
     41:41:java.lang.String getDiagnosticMessage():33:33 -> getDiagnosticMessage
     34:38:java.lang.String getDiagnosticMessage():33:37 -> getDiagnosticMessage
-com.android.tools.r8.errors.DefaultInterfaceMethodDiagnostic -> com.android.tools.r8.internal.Ze:
+com.android.tools.r8.errors.DefaultInterfaceMethodDiagnostic -> com.android.tools.r8.internal.af:
     com.android.tools.r8.position.MethodPosition position -> b
     boolean $assertionsDisabled -> c
     1:1:void <clinit>():11:11 -> <clinit>
     1:3:void <init>(com.android.tools.r8.position.MethodPosition):15:17 -> <init>
     1:3:java.lang.String getDiagnosticMessage():27:27 -> getDiagnosticMessage
     1:1:com.android.tools.r8.position.Position getPosition():22:22 -> getPosition
-com.android.tools.r8.errors.DesugaredLibraryMismatchDiagnostic -> com.android.tools.r8.internal.Mf:
+com.android.tools.r8.errors.DesugaredLibraryMismatchDiagnostic -> com.android.tools.r8.internal.Nf:
     java.util.Set markers -> c
     java.util.Set desugaredLibraryIdentifiers -> b
     1:3:void <init>(java.util.Set,java.util.Set):20:22 -> <init>
@@ -22650,7 +22654,7 @@
     1:1:java.util.Collection getOrigins():43:43 -> getOrigins
     1:1:com.android.tools.r8.position.Position getPosition():61:61 -> getPosition
     1:1:com.android.tools.r8.references.ClassReference getType():30:30 -> getType
-com.android.tools.r8.errors.ExperimentalClassFileVersionDiagnostic -> com.android.tools.r8.internal.hj:
+com.android.tools.r8.errors.ExperimentalClassFileVersionDiagnostic -> com.android.tools.r8.internal.jj:
     com.android.tools.r8.origin.Origin origin -> c
     java.lang.String message -> b
     1:3:void <init>(com.android.tools.r8.origin.Origin,java.lang.String):16:18 -> <init>
@@ -22677,22 +22681,22 @@
     1:11:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,com.android.tools.r8.references.ClassReference,com.android.tools.r8.references.ClassReference,com.android.tools.r8.references.ClassReference):31:41 -> <init>
     1:1:com.android.tools.r8.references.ClassReference getContextType():63:63 -> getContextType
     1:1:java.lang.String getDiagnosticMessage():0:0 -> getDiagnosticMessage
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":88,"2":89,"3":91}}
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":88,"2":89,"3":90}}
     88:88:java.lang.String getDiagnosticMessage():68:68 -> getDiagnosticMessage
     89:89:java.lang.String getDiagnosticMessage():68:68 -> getDiagnosticMessage
-    91:91:java.lang.String getDiagnosticMessage():70:70 -> getDiagnosticMessage
+    90:90:java.lang.String getDiagnosticMessage():70:70 -> getDiagnosticMessage
     71:87:java.lang.String getDiagnosticMessage():70:86 -> getDiagnosticMessage
     1:1:com.android.tools.r8.references.ClassReference getMissingType():58:58 -> getMissingType
     1:1:com.android.tools.r8.origin.Origin getOrigin():47:47 -> getOrigin
     1:1:com.android.tools.r8.position.Position getPosition():53:53 -> getPosition
-com.android.tools.r8.errors.InternalCompilerError -> com.android.tools.r8.internal.bu:
+com.android.tools.r8.errors.InternalCompilerError -> com.android.tools.r8.internal.du:
     1:1:void <init>():17:17 -> <init>
     2:2:void <init>(java.lang.String):21:21 -> <init>
     3:3:void <init>(java.lang.String,java.lang.Throwable):25:25 -> <init>
     4:4:void <init>(java.lang.Throwable):29:29 -> <init>
-com.android.tools.r8.errors.InvalidDebugInfoException -> com.android.tools.r8.internal.su:
+com.android.tools.r8.errors.InvalidDebugInfoException -> com.android.tools.r8.internal.uu:
     1:1:void <init>(java.lang.String):9:9 -> <init>
-com.android.tools.r8.errors.InvalidDescriptorException -> com.android.tools.r8.internal.tu:
+com.android.tools.r8.errors.InvalidDescriptorException -> com.android.tools.r8.internal.vu:
     1:1:void <init>(java.lang.String):8:8 -> <init>
 com.android.tools.r8.errors.InvalidLibrarySuperclassDiagnostic -> com.android.tools.r8.errors.InvalidLibrarySuperclassDiagnostic:
     com.android.tools.r8.references.ClassReference invalidSuperType -> e
@@ -22704,14 +22708,14 @@
     1:1:void <clinit>():19:19 -> <clinit>
     1:10:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.references.ClassReference,com.android.tools.r8.references.ClassReference,java.lang.String,java.util.List):33:42 -> <init>
     1:1:java.lang.String getDiagnosticMessage():0:0 -> getDiagnosticMessage
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":71,"2":72,"3":74}}
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":71,"2":72,"3":73}}
     71:71:java.lang.String getDiagnosticMessage():57:57 -> getDiagnosticMessage
     72:72:java.lang.String getDiagnosticMessage():57:57 -> getDiagnosticMessage
-    74:74:java.lang.String getDiagnosticMessage():59:59 -> getDiagnosticMessage
+    73:73:java.lang.String getDiagnosticMessage():59:59 -> getDiagnosticMessage
     60:70:java.lang.String getDiagnosticMessage():59:69 -> getDiagnosticMessage
     1:1:com.android.tools.r8.origin.Origin getOrigin():47:47 -> getOrigin
     1:1:com.android.tools.r8.position.Position getPosition():52:52 -> getPosition
-com.android.tools.r8.errors.InvokeCustomDiagnostic -> com.android.tools.r8.internal.yu:
+com.android.tools.r8.errors.InvokeCustomDiagnostic -> com.android.tools.r8.internal.Au:
     1:1:void <init>():9:9 -> <init>
     1:1:java.lang.String getDiagnosticMessage():13:13 -> getDiagnosticMessage
 com.android.tools.r8.errors.MissingNestHostNestDesugarDiagnostic -> com.android.tools.r8.errors.MissingNestHostNestDesugarDiagnostic:
@@ -22724,24 +22728,24 @@
     1:1:java.lang.String getDiagnosticMessage():36:36 -> getDiagnosticMessage
     1:1:com.android.tools.r8.origin.Origin getOrigin():26:26 -> getOrigin
     1:1:com.android.tools.r8.position.Position getPosition():31:31 -> getPosition
-com.android.tools.r8.errors.PrivateInterfaceMethodDiagnostic -> com.android.tools.r8.internal.hN:
+com.android.tools.r8.errors.PrivateInterfaceMethodDiagnostic -> com.android.tools.r8.internal.mN:
     com.android.tools.r8.position.MethodPosition position -> b
     boolean $assertionsDisabled -> c
     1:1:void <clinit>():11:11 -> <clinit>
     1:3:void <init>(com.android.tools.r8.position.MethodPosition):15:17 -> <init>
     1:3:java.lang.String getDiagnosticMessage():27:27 -> getDiagnosticMessage
     1:1:com.android.tools.r8.position.Position getPosition():22:22 -> getPosition
-com.android.tools.r8.errors.StaticInterfaceMethodDiagnostic -> com.android.tools.r8.internal.cX:
+com.android.tools.r8.errors.StaticInterfaceMethodDiagnostic -> com.android.tools.r8.internal.hX:
     com.android.tools.r8.position.MethodPosition position -> b
     boolean $assertionsDisabled -> c
     1:1:void <clinit>():11:11 -> <clinit>
     1:3:void <init>(com.android.tools.r8.position.MethodPosition):15:17 -> <init>
     1:3:java.lang.String getDiagnosticMessage():27:27 -> getDiagnosticMessage
     1:1:com.android.tools.r8.position.Position getPosition():22:22 -> getPosition
-com.android.tools.r8.errors.Unimplemented -> com.android.tools.r8.internal.l10:
+com.android.tools.r8.errors.Unimplemented -> com.android.tools.r8.internal.r10:
     1:1:void <init>():11:11 -> <init>
     2:2:void <init>(java.lang.String):15:15 -> <init>
-com.android.tools.r8.errors.Unreachable -> com.android.tools.r8.internal.E10:
+com.android.tools.r8.errors.Unreachable -> com.android.tools.r8.internal.K10:
     1:1:void <init>():19:19 -> <init>
     2:2:void <init>(java.lang.String):23:23 -> <init>
     3:3:void <init>(java.lang.Throwable):27:27 -> <init>
@@ -22751,22 +22755,22 @@
     1:1:java.lang.String getDiagnosticMessage():36:36 -> getDiagnosticMessage
     1:1:com.android.tools.r8.origin.Origin getOrigin():26:26 -> getOrigin
     1:1:com.android.tools.r8.position.Position getPosition():31:31 -> getPosition
-com.android.tools.r8.errors.dontwarn.DontWarnConfiguration -> com.android.tools.r8.internal.uh:
+com.android.tools.r8.errors.dontwarn.DontWarnConfiguration -> com.android.tools.r8.internal.wh:
     1:1:void <init>():12:12 -> <init>
     boolean matches(com.android.tools.r8.graph.DexType) -> a
     boolean validate(com.android.tools.r8.utils.InternalOptions) -> a
     1:3:com.android.tools.r8.errors.dontwarn.DontWarnConfiguration create(com.android.tools.r8.shaking.ProguardConfiguration):15:17 -> a
     4:4:com.android.tools.r8.errors.dontwarn.EmptyDontWarnConfiguration com.android.tools.r8.errors.dontwarn.DontWarnConfiguration.empty():23:23 -> a
     4:4:com.android.tools.r8.errors.dontwarn.DontWarnConfiguration create(com.android.tools.r8.shaking.ProguardConfiguration):19 -> a
-com.android.tools.r8.errors.dontwarn.DontWarnConfiguration$1 -> com.android.tools.r8.internal.sh:
-com.android.tools.r8.errors.dontwarn.DontWarnConfiguration$Witness -> com.android.tools.r8.internal.th:
+com.android.tools.r8.errors.dontwarn.DontWarnConfiguration$1 -> com.android.tools.r8.internal.uh:
+com.android.tools.r8.errors.dontwarn.DontWarnConfiguration$Witness -> com.android.tools.r8.internal.vh:
     1:1:void <init>(com.android.tools.r8.errors.dontwarn.DontWarnConfiguration$1):36:36 -> <init>
     2:2:void <init>():38:38 -> <init>
-com.android.tools.r8.errors.dontwarn.EmptyDontWarnConfiguration -> com.android.tools.r8.internal.Kh:
+com.android.tools.r8.errors.dontwarn.EmptyDontWarnConfiguration -> com.android.tools.r8.internal.Mh:
     1:1:void <init>():10:10 -> <init>
     boolean matches(com.android.tools.r8.graph.DexType) -> a
     boolean validate(com.android.tools.r8.utils.InternalOptions) -> a
-com.android.tools.r8.errors.dontwarn.NonEmptyDontWarnConfiguration -> com.android.tools.r8.internal.CH:
+com.android.tools.r8.errors.dontwarn.NonEmptyDontWarnConfiguration -> com.android.tools.r8.internal.HH:
     java.util.List dontWarnPatterns -> a
     java.util.Map matchedDontWarnPatterns -> b
     boolean $assertionsDisabled -> c
@@ -22838,7 +22842,7 @@
     1:1:com.android.tools.r8.references.FieldReference getReference():21:21 -> getReference
     1:1:int hashCode():32:32 -> hashCode
     1:1:java.lang.String toString():37:37 -> toString
-com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo -> com.android.tools.r8.internal.bm:
+com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo -> com.android.tools.r8.internal.dm:
     com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo UNKNOWN -> b
     com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind kind -> a
     boolean $assertionsDisabled -> c
@@ -22879,10 +22883,10 @@
     101:101:java.lang.String toString():98:98 -> toString
     102:102:java.lang.String toString():98:98 -> toString
     99:99:java.lang.String toString():98:98 -> toString
-com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$1 -> com.android.tools.r8.internal.am:
+com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$1 -> com.android.tools.r8.internal.cm:
     int[] $SwitchMap$com$android$tools$r8$experimental$graphinfo$GraphEdgeInfo$EdgeKind -> a
     1:1:void <clinit>():50:50 -> <clinit>
-com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind -> com.android.tools.r8.internal.bm$a:
+com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind -> com.android.tools.r8.internal.dm$a:
     com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind[] $VALUES -> t
     com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind ReflectiveUseFrom -> m
     com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind ReferencedFrom -> l
@@ -22945,7 +22949,7 @@
     1:1:com.android.tools.r8.references.MethodReference getReference():21:21 -> getReference
     1:1:int hashCode():32:32 -> hashCode
     1:1:java.lang.String toString():37:37 -> toString
-com.android.tools.r8.experimental.startup.StartupConfiguration -> com.android.tools.r8.internal.MW:
+com.android.tools.r8.experimental.startup.StartupConfiguration -> com.android.tools.r8.internal.RW:
     java.util.List startupClasses -> a
     1:2:void <init>(java.util.List):23:24 -> <init>
     1:23:com.android.tools.r8.experimental.startup.StartupConfiguration createStartupConfiguration(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):29:51 -> a
@@ -22960,7 +22964,7 @@
     84:84:com.android.tools.r8.experimental.startup.StartupConfiguration createStartupConfiguration(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):38:38 -> a
     102:102:java.util.List getStartupClasses():67:67 -> a
     1:1:boolean hasStartupClasses():63:63 -> b
-com.android.tools.r8.features.ClassToFeatureSplitMap -> com.android.tools.r8.internal.bb:
+com.android.tools.r8.features.ClassToFeatureSplitMap -> com.android.tools.r8.internal.cb:
     java.util.Map classToFeatureSplitMap -> b
     java.util.Map representativeStringsForFeatureSplit -> c
     com.android.tools.r8.FeatureSplit baseStartup -> a
@@ -22991,12 +22995,12 @@
     328:329:void lambda$withoutPrunedItems$2(com.android.tools.r8.graph.PrunedItems,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.FeatureSplit):228:229 -> a
     1:1:com.android.tools.r8.FeatureSplit getBaseStartup():140:140 -> b
     1:1:boolean isEmpty():175:175 -> c
-com.android.tools.r8.features.FeatureSplitConfiguration -> com.android.tools.r8.internal.rj:
+com.android.tools.r8.features.FeatureSplitConfiguration -> com.android.tools.r8.internal.tj:
     java.util.List featureSplits -> a
     1:2:void <init>(java.util.List):20:21 -> <init>
     1:16:java.util.Collection getDataResourceProvidersAndConsumers():44:59 -> a
     1:1:java.util.List getFeatureSplits():68:68 -> b
-com.android.tools.r8.features.FeatureSplitConfiguration$DataResourceProvidersAndConsumer -> com.android.tools.r8.internal.qj:
+com.android.tools.r8.features.FeatureSplitConfiguration$DataResourceProvidersAndConsumer -> com.android.tools.r8.internal.sj:
     com.android.tools.r8.DataResourceConsumer consumer -> b
     java.util.Set providers -> a
     1:3:void <init>(java.util.Set,com.android.tools.r8.DataResourceConsumer):29:31 -> <init>
@@ -23838,7 +23842,7 @@
     9:9:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):309:309 -> c
     10:11:java.lang.Object withProtoShrinker(java.util.function.Function,java.lang.Object):377:378 -> c
     12:12:java.lang.Object withProtoEnumShrinker(java.util.function.Function,java.lang.Object):384:384 -> c
-    13:13:boolean com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions.isEnumLiteProtoShrinkingEnabled():1564:1564 -> c
+    13:13:boolean com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions.isEnumLiteProtoShrinkingEnabled():1568:1568 -> c
     13:13:java.lang.Object withProtoEnumShrinker(java.util.function.Function,java.lang.Object):384 -> c
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     14:14:java.lang.Object withProtoEnumShrinker(java.util.function.Function,java.lang.Object):385:385 -> c
@@ -24007,7 +24011,7 @@
     610:615:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):110:115 -> c
     658:658:void writeFieldsFooter(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):147:147 -> c
     1:4:void writeFieldsHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):120:123 -> d
-com.android.tools.r8.graph.BottomUpClassHierarchyTraversal -> com.android.tools.r8.internal.N5:
+com.android.tools.r8.graph.BottomUpClassHierarchyTraversal -> com.android.tools.r8.internal.O5:
     java.util.function.Function immediateSubtypesProvider -> g
     1:2:void <init>(com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.graph.ClassHierarchyTraversal$Scope):18:19 -> <init>
     1:1:com.android.tools.r8.graph.BottomUpClassHierarchyTraversal forAllClasses(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo):28:28 -> a
@@ -24024,8 +24028,8 @@
     1:1:void <clinit>():9:9 -> <clinit>
     1:5:void <init>():9:13 -> <init>
     1:1:boolean equals(java.lang.Object):51:51 -> equals
-    int computeHashCode() -> f0
     boolean computeEquals(java.lang.Object) -> g
+    int computeHashCode() -> g0
     1:9:int hashCode():21:29 -> hashCode
     10:14:boolean verifyHashCodeConsistent(int):34:38 -> hashCode
     10:14:int hashCode():29 -> hashCode
@@ -24045,6 +24049,7 @@
     4:4:void <init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> <init>
     5:5:void <init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):189:189 -> <init>
     6:51:void <init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):151:196 -> <init>
+    1:1:java.util.List getTryCatchRanges():244:244 -> A0
     com.android.tools.r8.graph.CfCode asCfCode() -> F
     com.android.tools.r8.utils.structural.StructuralItem self() -> L
     1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):65:65 -> a
@@ -24166,211 +24171,201 @@
     684:684:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):772 -> a
     685:685:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):772:772 -> a
     686:695:void addFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):778:787 -> a
-    696:699:int com.android.tools.r8.graph.DexCode.getLargestPrefix(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexString):303:306 -> a
+    696:699:int com.android.tools.r8.graph.DexCode.getLargestPrefix(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexString):307:310 -> a
     696:699:void addFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):787 -> a
     700:715:void addFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):787:802 -> a
     716:717:void com.android.tools.r8.graph.CfCode$LocalVariableInfo.<init>(int,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel):96:97 -> a
     716:717:void addFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):802 -> a
     718:718:void addFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):799:799 -> a
-    719:722:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):807:810 -> a
+    719:722:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):807:810 -> a
     723:723:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
-    723:723:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):810 -> a
-    724:731:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):811:818 -> a
+    723:723:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):810 -> a
+    724:731:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):811:818 -> a
     732:732:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
-    732:732:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):818 -> a
-    733:737:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):820:824 -> a
-    738:738:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):821:821 -> a
+    732:732:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):818 -> a
+    733:737:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):820:824 -> a
+    738:738:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):821:821 -> a
     739:739:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
-    739:739:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):826 -> a
-    740:746:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):827:833 -> a
+    739:739:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):826 -> a
+    740:746:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):827:833 -> a
     747:747:void <init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> a
-    747:747:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):833 -> a
+    747:747:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):833 -> a
     748:758:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):846:856 -> a
     759:759:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
     759:759:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):856 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    760:769:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):857:866 -> a
-    770:770:boolean com.android.tools.r8.cf.code.CfInstruction.isFrame():0:0 -> a
-    770:770:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):866 -> a
-    771:778:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):867:874 -> a
-    779:779:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
-    779:779:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):874 -> a
+    760:777:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):857:874 -> a
+    778:778:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
+    778:778:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):874 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    780:780:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):872:872 -> a
-    781:785:com.android.tools.r8.graph.CfCodeDiagnostics com.android.tools.r8.graph.CfCodeStackMapValidatingException.multipleFramesForLabel(com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView):31:35 -> a
-    781:785:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):872 -> a
-    786:786:com.android.tools.r8.graph.CfCode$StackMapStatus reportStackMapError(com.android.tools.r8.graph.CfCodeDiagnostics,com.android.tools.r8.graph.AppView):965:965 -> a
-    786:786:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):871 -> a
-    787:794:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):878:885 -> a
-    795:795:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
-    795:795:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):885 -> a
+    779:779:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):872:872 -> a
+    780:784:com.android.tools.r8.graph.CfCodeDiagnostics com.android.tools.r8.graph.CfCodeStackMapValidatingException.multipleFramesForLabel(com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView):31:35 -> a
+    780:784:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):872 -> a
+    785:785:com.android.tools.r8.graph.CfCode$StackMapStatus reportStackMapError(com.android.tools.r8.graph.CfCodeDiagnostics,com.android.tools.r8.graph.AppView):965:965 -> a
+    785:785:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):871 -> a
+    786:793:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):878:885 -> a
+    794:794:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
+    794:794:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):885 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    796:796:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):883:883 -> a
-    797:801:com.android.tools.r8.graph.CfCodeDiagnostics com.android.tools.r8.graph.CfCodeStackMapValidatingException.unexpectedStackMapFrame(com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView):22:26 -> a
-    797:801:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):883 -> a
-    802:802:com.android.tools.r8.graph.CfCode$StackMapStatus reportStackMapError(com.android.tools.r8.graph.CfCodeDiagnostics,com.android.tools.r8.graph.AppView):965:965 -> a
-    802:802:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):882 -> a
-    803:803:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
-    803:803:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):892 -> a
-    804:804:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
-    804:804:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):894 -> a
-    805:810:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):895:900 -> a
-    811:811:boolean com.android.tools.r8.cf.code.CfInstruction.isThrow():0:0 -> a
-    811:811:boolean finalAndExitInstruction(com.android.tools.r8.cf.code.CfInstruction):970 -> a
-    811:811:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):900 -> a
-    812:821:boolean finalAndExitInstruction(com.android.tools.r8.cf.code.CfInstruction):970:979 -> a
-    812:821:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):900 -> a
-    822:822:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
+    795:795:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):883:883 -> a
+    796:800:com.android.tools.r8.graph.CfCodeDiagnostics com.android.tools.r8.graph.CfCodeStackMapValidatingException.unexpectedStackMapFrame(com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView):22:26 -> a
+    796:800:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):883 -> a
+    801:801:com.android.tools.r8.graph.CfCode$StackMapStatus reportStackMapError(com.android.tools.r8.graph.CfCodeDiagnostics,com.android.tools.r8.graph.AppView):965:965 -> a
+    801:801:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):882 -> a
+    802:802:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
+    802:802:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):892 -> a
+    803:803:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
+    803:803:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):894 -> a
+    804:809:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):895:900 -> a
+    810:810:boolean com.android.tools.r8.cf.code.CfInstruction.isThrow():0:0 -> a
+    810:810:boolean finalAndExitInstruction(com.android.tools.r8.cf.code.CfInstruction):970 -> a
+    810:810:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):900 -> a
+    811:820:boolean finalAndExitInstruction(com.android.tools.r8.cf.code.CfInstruction):970:979 -> a
+    811:820:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):900 -> a
+    821:821:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
+    821:821:boolean finalAndExitInstruction(com.android.tools.r8.cf.code.CfInstruction):979 -> a
+    821:821:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):900 -> a
+    822:822:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
     822:822:boolean finalAndExitInstruction(com.android.tools.r8.cf.code.CfInstruction):979 -> a
     822:822:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):900 -> a
-    823:823:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
-    823:823:boolean finalAndExitInstruction(com.android.tools.r8.cf.code.CfInstruction):979 -> a
+    823:823:boolean finalAndExitInstruction(com.android.tools.r8.cf.code.CfInstruction):984:984 -> a
     823:823:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):900 -> a
-    824:824:boolean finalAndExitInstruction(com.android.tools.r8.cf.code.CfInstruction):984:984 -> a
-    824:824:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):900 -> a
-    825:829:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):904:908 -> a
-    830:830:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
-    830:830:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):908 -> a
+    824:828:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):904:908 -> a
+    829:829:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
+    829:829:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):908 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    831:831:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):906:906 -> a
-    832:837:com.android.tools.r8.graph.CfCodeDiagnostics com.android.tools.r8.graph.CfCodeStackMapValidatingException.noFramesForMethodWithJumps(com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView):40:45 -> a
-    832:837:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):906 -> a
-    838:838:com.android.tools.r8.graph.CfCode$StackMapStatus reportStackMapError(com.android.tools.r8.graph.CfCodeDiagnostics,com.android.tools.r8.graph.AppView):965:965 -> a
-    838:838:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):905 -> a
-    839:839:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):912:912 -> a
-    840:840:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):0:0 -> a
+    830:830:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):906:906 -> a
+    831:836:com.android.tools.r8.graph.CfCodeDiagnostics com.android.tools.r8.graph.CfCodeStackMapValidatingException.noFramesForMethodWithJumps(com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView):40:45 -> a
+    831:836:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):906 -> a
+    837:837:com.android.tools.r8.graph.CfCode$StackMapStatus reportStackMapError(com.android.tools.r8.graph.CfCodeDiagnostics,com.android.tools.r8.graph.AppView):965:965 -> a
+    837:837:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):905 -> a
+    838:838:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):912:912 -> a
+    839:839:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):0:0 -> a
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2770,"2":2771,"3":2772}}
+    2770:2770:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):912:912 -> a
+    2771:2771:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):393:393 -> a
+    2771:2771:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):912 -> a
+    2772:2772:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):393:393 -> a
+    2772:2772:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):912 -> a
+    1752:1752:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):913:913 -> a
+    1753:1753:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):0:0 -> a
       # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2773,"2":2774,"3":2775}}
-    2773:2773:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):912:912 -> a
+    2773:2773:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):913:913 -> a
     2774:2774:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):393:393 -> a
-    2774:2774:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):912 -> a
+    2774:2774:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):913 -> a
     2775:2775:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):393:393 -> a
-    2775:2775:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):912 -> a
-    1753:1753:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):913:913 -> a
-    1754:1754:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):0:0 -> a
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2776,"2":2777,"3":2778}}
-    2776:2776:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):913:913 -> a
-    2777:2777:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):393:393 -> a
-    2777:2777:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):913 -> a
-    2778:2778:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):393:393 -> a
-    2778:2778:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):913 -> a
-    2668:2681:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):914:927 -> a
-    2682:2683:boolean shouldComputeInitialFrame():988:989 -> a
-    2682:2683:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):927 -> a
-    2684:2684:boolean com.android.tools.r8.cf.code.CfInstruction.isFrame():0:0 -> a
-    2684:2684:boolean shouldComputeInitialFrame():989 -> a
+    2775:2775:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):913 -> a
+    2667:2680:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):914:927 -> a
+    2681:2682:boolean shouldComputeInitialFrame():988:989 -> a
+    2681:2682:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):927 -> a
+    2683:2683:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
+    2683:2683:boolean shouldComputeInitialFrame():991 -> a
+    2683:2683:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):927 -> a
+    2684:2684:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
+    2684:2684:boolean shouldComputeInitialFrame():991 -> a
     2684:2684:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):927 -> a
-    2685:2685:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
-    2685:2685:boolean shouldComputeInitialFrame():991 -> a
+    2685:2685:boolean shouldComputeInitialFrame():996:996 -> a
     2685:2685:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):927 -> a
-    2686:2686:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
-    2686:2686:boolean shouldComputeInitialFrame():991 -> a
-    2686:2686:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):927 -> a
+    2686:2686:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):927:927 -> a
     2687:2687:boolean shouldComputeInitialFrame():996:996 -> a
     2687:2687:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):927 -> a
-    2688:2688:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):927:927 -> a
-    2689:2689:boolean shouldComputeInitialFrame():996:996 -> a
-    2689:2689:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):927 -> a
-    2690:2690:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):928:928 -> a
-    2691:2692:boolean shouldComputeInitialFrame():988:989 -> a
-    2691:2692:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):929 -> a
-    2693:2693:boolean com.android.tools.r8.cf.code.CfInstruction.isFrame():0:0 -> a
-    2693:2693:boolean shouldComputeInitialFrame():989 -> a
+    2688:2688:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):928:928 -> a
+    2689:2690:boolean shouldComputeInitialFrame():988:989 -> a
+    2689:2690:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):929 -> a
+    2691:2691:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
+    2691:2691:boolean shouldComputeInitialFrame():991 -> a
+    2691:2691:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):929 -> a
+    2692:2692:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
+    2692:2692:boolean shouldComputeInitialFrame():991 -> a
+    2692:2692:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):929 -> a
+    2693:2693:boolean shouldComputeInitialFrame():996:996 -> a
     2693:2693:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):929 -> a
-    2694:2694:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
-    2694:2694:boolean shouldComputeInitialFrame():991 -> a
-    2694:2694:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):929 -> a
-    2695:2695:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
-    2695:2695:boolean shouldComputeInitialFrame():991 -> a
-    2695:2695:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):929 -> a
-    2696:2696:boolean shouldComputeInitialFrame():996:996 -> a
-    2696:2696:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):929 -> a
-    2697:2697:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):930:930 -> a
-    2698:2717:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap computeInitialLocals(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.RewrittenPrototypeDescription):1002:1021 -> a
-    2698:2717:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):931 -> a
-    2718:2718:boolean com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo.isRemovedArgumentInfo():0:0 -> a
-    2718:2718:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap computeInitialLocals(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.RewrittenPrototypeDescription):1021 -> a
-    2718:2718:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):931 -> a
-    2719:2719:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap computeInitialLocals(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.RewrittenPrototypeDescription):1022:1022 -> a
-    2719:2719:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):931 -> a
-    2720:2720:boolean com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo.isRewrittenTypeInfo():0:0 -> a
-    2720:2720:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap computeInitialLocals(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.RewrittenPrototypeDescription):1024 -> a
-    2720:2720:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):931 -> a
-    2721:2731:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap computeInitialLocals(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.RewrittenPrototypeDescription):1025:1035 -> a
-    2721:2731:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):931 -> a
-    2732:2732:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):931:931 -> a
-    2733:2743:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):930:940 -> a
-    2744:2744:boolean com.android.tools.r8.cf.code.CfInstruction.isStore():0:0 -> a
-    2744:2744:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):940 -> a
-    2745:2749:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):940:944 -> a
-    2750:2756:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):943:949 -> a
-    2757:2757:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
-    2757:2757:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):949 -> a
+    2694:2694:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):930:930 -> a
+    2695:2714:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap computeInitialLocals(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.RewrittenPrototypeDescription):1002:1021 -> a
+    2695:2714:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):931 -> a
+    2715:2715:boolean com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo.isRemovedArgumentInfo():0:0 -> a
+    2715:2715:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap computeInitialLocals(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.RewrittenPrototypeDescription):1021 -> a
+    2715:2715:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):931 -> a
+    2716:2716:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap computeInitialLocals(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.RewrittenPrototypeDescription):1022:1022 -> a
+    2716:2716:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):931 -> a
+    2717:2717:boolean com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo.isRewrittenTypeInfo():0:0 -> a
+    2717:2717:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap computeInitialLocals(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.RewrittenPrototypeDescription):1024 -> a
+    2717:2717:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):931 -> a
+    2718:2728:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap computeInitialLocals(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.RewrittenPrototypeDescription):1025:1035 -> a
+    2718:2728:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):931 -> a
+    2729:2729:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):931:931 -> a
+    2730:2740:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):930:940 -> a
+    2741:2741:boolean com.android.tools.r8.cf.code.CfInstruction.isStore():0:0 -> a
+    2741:2741:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):940 -> a
+    2742:2746:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):940:944 -> a
+    2747:2753:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):943:949 -> a
+    2754:2754:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
+    2754:2754:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):949 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    2758:2758:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):952:952 -> a
-    2759:2770:com.android.tools.r8.graph.CfCodeDiagnostics com.android.tools.r8.graph.CfCodeStackMapValidatingException.toDiagnostics(com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexMethod,int,com.android.tools.r8.cf.code.CfInstruction,java.lang.String,com.android.tools.r8.graph.AppView):55:66 -> a
-    2759:2770:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):947 -> a
-    2771:2771:com.android.tools.r8.graph.CfCode$StackMapStatus reportStackMapError(com.android.tools.r8.graph.CfCodeDiagnostics,com.android.tools.r8.graph.AppView):965:965 -> a
-    2771:2771:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):946 -> a
-    2772:2772:boolean shouldComputeInitialFrame():996:996 -> a
-    2772:2772:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):929 -> a
-    2779:2779:java.util.function.BiPredicate isAssignablePredicate(com.android.tools.r8.graph.AppView):1042:1042 -> a
-    2780:2780:boolean lambda$isAssignablePredicate$6(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):1042:1042 -> a
-    2781:2781:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1047:1047 -> a
-    2782:2782:boolean com.android.tools.r8.graph.DexType.isByteType():284:284 -> a
-    2782:2782:com.android.tools.r8.graph.DexType byteCharShortOrBooleanToInt(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1078 -> a
-    2782:2782:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1048 -> a
-    2783:2783:boolean com.android.tools.r8.graph.DexType.isCharType():288:288 -> a
-    2783:2783:com.android.tools.r8.graph.DexType byteCharShortOrBooleanToInt(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1078 -> a
-    2783:2783:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1048 -> a
-    2784:2784:boolean com.android.tools.r8.graph.DexType.isShortType():292:292 -> a
+    2755:2755:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):952:952 -> a
+    2756:2767:com.android.tools.r8.graph.CfCodeDiagnostics com.android.tools.r8.graph.CfCodeStackMapValidatingException.toDiagnostics(com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexMethod,int,com.android.tools.r8.cf.code.CfInstruction,java.lang.String,com.android.tools.r8.graph.AppView):55:66 -> a
+    2756:2767:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):947 -> a
+    2768:2768:com.android.tools.r8.graph.CfCode$StackMapStatus reportStackMapError(com.android.tools.r8.graph.CfCodeDiagnostics,com.android.tools.r8.graph.AppView):965:965 -> a
+    2768:2768:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):946 -> a
+    2769:2769:boolean shouldComputeInitialFrame():996:996 -> a
+    2769:2769:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):929 -> a
+    2776:2776:java.util.function.BiPredicate isAssignablePredicate(com.android.tools.r8.graph.AppView):1042:1042 -> a
+    2777:2777:boolean lambda$isAssignablePredicate$6(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):1042:1042 -> a
+    2778:2778:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1047:1047 -> a
+    2779:2779:boolean com.android.tools.r8.graph.DexType.isByteType():284:284 -> a
+    2779:2779:com.android.tools.r8.graph.DexType byteCharShortOrBooleanToInt(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1078 -> a
+    2779:2779:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1048 -> a
+    2780:2780:boolean com.android.tools.r8.graph.DexType.isCharType():288:288 -> a
+    2780:2780:com.android.tools.r8.graph.DexType byteCharShortOrBooleanToInt(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1078 -> a
+    2780:2780:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1048 -> a
+    2781:2781:boolean com.android.tools.r8.graph.DexType.isShortType():292:292 -> a
+    2781:2781:com.android.tools.r8.graph.DexType byteCharShortOrBooleanToInt(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1078 -> a
+    2781:2781:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1048 -> a
+    2782:2783:com.android.tools.r8.graph.DexType byteCharShortOrBooleanToInt(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1078:1079 -> a
+    2782:2783:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1048 -> a
+    2784:2784:boolean com.android.tools.r8.graph.DexType.isByteType():284:284 -> a
     2784:2784:com.android.tools.r8.graph.DexType byteCharShortOrBooleanToInt(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1078 -> a
-    2784:2784:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1048 -> a
-    2785:2786:com.android.tools.r8.graph.DexType byteCharShortOrBooleanToInt(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1078:1079 -> a
-    2785:2786:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1048 -> a
-    2787:2787:boolean com.android.tools.r8.graph.DexType.isByteType():284:284 -> a
-    2787:2787:com.android.tools.r8.graph.DexType byteCharShortOrBooleanToInt(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1078 -> a
-    2787:2787:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1049 -> a
-    2788:2788:boolean com.android.tools.r8.graph.DexType.isCharType():288:288 -> a
-    2788:2788:com.android.tools.r8.graph.DexType byteCharShortOrBooleanToInt(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1078 -> a
-    2788:2788:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1049 -> a
-    2789:2789:boolean com.android.tools.r8.graph.DexType.isShortType():292:292 -> a
-    2789:2789:com.android.tools.r8.graph.DexType byteCharShortOrBooleanToInt(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1078 -> a
-    2789:2789:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1049 -> a
-    2790:2791:com.android.tools.r8.graph.DexType byteCharShortOrBooleanToInt(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1078:1079 -> a
-    2790:2791:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1049 -> a
-    2792:2809:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1053:1070 -> a
-    2810:2814:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1069:1073 -> a
+    2784:2784:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1049 -> a
+    2785:2785:boolean com.android.tools.r8.graph.DexType.isCharType():288:288 -> a
+    2785:2785:com.android.tools.r8.graph.DexType byteCharShortOrBooleanToInt(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1078 -> a
+    2785:2785:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1049 -> a
+    2786:2786:boolean com.android.tools.r8.graph.DexType.isShortType():292:292 -> a
+    2786:2786:com.android.tools.r8.graph.DexType byteCharShortOrBooleanToInt(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1078 -> a
+    2786:2786:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1049 -> a
+    2787:2788:com.android.tools.r8.graph.DexType byteCharShortOrBooleanToInt(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1078:1079 -> a
+    2787:2788:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1049 -> a
+    2789:2806:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1053:1070 -> a
+    2807:2811:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1069:1073 -> a
     1:1:java.util.Collection lambda$acceptCompareTo$2(com.android.tools.r8.graph.CfCode):328:328 -> b
     2:6:void verifyFramesOrRemove(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):505:509 -> b
     com.android.tools.r8.graph.CfWritableCode$CfWritableCodeKind getCfWritableCodeKind() -> b0
     1:1:java.util.Collection lambda$acceptCompareTo$3(com.android.tools.r8.graph.CfCode):329:329 -> c
-    1:1:int computeHashCode():447:447 -> f0
     1:1:boolean computeEquals(java.lang.Object):452:452 -> g
-    com.android.tools.r8.graph.CfWritableCode asCfWritableCode() -> g0
+    1:1:int computeHashCode():447:447 -> g0
+    com.android.tools.r8.graph.CfWritableCode asCfWritableCode() -> h0
     1:2:int countNonStackOperations(int):276:277 -> i
     1:2:boolean estimatedSizeForInliningAtMost(int):266 -> i
     1:1:void setMaxLocals(int):236:236 -> j
-    1:2:int countNonStackOperations(int):276:277 -> j0
-    1:2:int estimatedSizeForInlining():261 -> j0
-    1:2:int estimatedDexCodeSizeUpperBoundInBytes():271 -> j0
     1:1:void setMaxStack(int):240:240 -> k
     1:2:int countNonStackOperations(int):276:277 -> k0
     1:2:int estimatedSizeForInlining():261 -> k0
-    boolean isCfCode() -> l0
-    boolean isCfWritableCode() -> m0
+    1:2:int estimatedDexCodeSizeUpperBoundInBytes():271 -> k0
+    1:2:int countNonStackOperations(int):276:277 -> l0
+    1:2:int estimatedSizeForInlining():261 -> l0
+    boolean isCfCode() -> m0
     1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():211:211 -> n
-    1:1:com.android.tools.r8.position.Position getDiagnosticPosition():232:232 -> s0
-    1:1:java.util.List getInstructions():248:248 -> t0
+    boolean isCfWritableCode() -> n0
+    1:1:com.android.tools.r8.position.Position getDiagnosticPosition():232:232 -> t0
     1:1:java.lang.String toString():731:731 -> toString
     2:2:void com.android.tools.r8.cf.CfPrinter.<init>(com.android.tools.r8.graph.CfCode):132:132 -> toString
     2:2:java.lang.String toString():731 -> toString
     3:3:java.lang.String toString():731:731 -> toString
-    1:1:java.util.List getLocalVariables():256:256 -> u0
-    1:1:int getMaxLocals():223:223 -> v0
-    1:1:int getMaxStack():219:219 -> w0
-    1:1:com.android.tools.r8.graph.DexType getOriginalHolder():215:215 -> x0
-    1:2:com.android.tools.r8.graph.CfCode$StackMapStatus getStackMapStatus():227:228 -> y0
-    1:1:java.util.List getTryCatchRanges():244:244 -> z0
+    1:1:java.util.List getInstructions():248:248 -> u0
+    1:1:java.util.List getLocalVariables():256:256 -> v0
+    1:1:int getMaxLocals():223:223 -> w0
+    1:1:int getMaxStack():219:219 -> x0
+    1:1:com.android.tools.r8.graph.DexType getOriginalHolder():215:215 -> y0
+    1:2:com.android.tools.r8.graph.CfCode$StackMapStatus getStackMapStatus():227:228 -> z0
 com.android.tools.r8.graph.CfCode$LocalVariableInfo -> com.android.tools.r8.graph.l$a:
     com.android.tools.r8.graph.DebugLocalInfo local -> b
     boolean $assertionsDisabled -> e
@@ -24404,7 +24399,7 @@
     139:139:java.lang.String toString():136:136 -> toString
     140:140:java.lang.String toString():136:136 -> toString
     137:137:java.lang.String toString():136:136 -> toString
-com.android.tools.r8.graph.CfCodeDiagnostics -> com.android.tools.r8.internal.P6:
+com.android.tools.r8.graph.CfCodeDiagnostics -> com.android.tools.r8.internal.Q6:
     com.android.tools.r8.position.MethodPosition methodPosition -> c
     com.android.tools.r8.origin.Origin origin -> b
     java.lang.String diagnosticMessage -> d
@@ -24412,7 +24407,7 @@
     1:1:java.lang.String getDiagnosticMessage():26:26 -> getDiagnosticMessage
     1:1:com.android.tools.r8.origin.Origin getOrigin():16:16 -> getOrigin
     1:1:com.android.tools.r8.position.Position getPosition():21:21 -> getPosition
-com.android.tools.r8.graph.CfCodeStackMapValidatingException -> com.android.tools.r8.internal.R6:
+com.android.tools.r8.graph.CfCodeStackMapValidatingException -> com.android.tools.r8.internal.S6:
     int $r8$clinit -> b
     1:1:void <init>(java.lang.String):13:13 -> <init>
     1:1:com.android.tools.r8.graph.CfCodeStackMapValidatingException error(java.lang.String):17:17 -> a
@@ -24475,7 +24470,7 @@
     3:3:void acceptHashing(java.lang.Object,com.android.tools.r8.utils.structural.HashingVisitor):137:137 -> a
     4:4:void acceptHashing(com.android.tools.r8.graph.CfCode$LocalVariableInfo,com.android.tools.r8.utils.structural.HashingVisitor):146:146 -> a
     4:4:void acceptHashing(java.lang.Object,com.android.tools.r8.utils.structural.HashingVisitor):137 -> a
-com.android.tools.r8.graph.CfWritableCode -> com.android.tools.r8.internal.Z8:
+com.android.tools.r8.graph.CfWritableCode -> com.android.tools.r8.internal.a9:
     com.android.tools.r8.graph.CfCode asCfCode() -> F
     void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor) -> a
     void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor) -> a
@@ -24525,11 +24520,11 @@
     2:2:com.android.tools.r8.graph.ClassAccessFlags fromDexAccessFlags(int):73 -> j
     1:3:com.android.tools.r8.graph.ClassAccessFlags fromSharedAccessFlags(int):67:69 -> k
     com.android.tools.r8.graph.AccessFlags self() -> y
-com.android.tools.r8.graph.ClassDefinition -> com.android.tools.r8.internal.P9:
+com.android.tools.r8.graph.ClassDefinition -> com.android.tools.r8.internal.Q9:
     com.android.tools.r8.graph.MethodCollection getMethodCollection() -> P
     com.android.tools.r8.graph.DexLibraryClass asLibraryClass() -> T
     com.android.tools.r8.graph.DexClasspathClass asClasspathClass() -> l
-com.android.tools.r8.graph.ClassHierarchyTraversal -> com.android.tools.r8.internal.R9:
+com.android.tools.r8.graph.ClassHierarchyTraversal -> com.android.tools.r8.internal.S9:
     java.util.Deque worklist -> d
     com.android.tools.r8.graph.AppView appView -> a
     java.util.Set visited -> c
@@ -24557,7 +24552,7 @@
     1:1:com.android.tools.r8.graph.DexLibraryClass lambda$static$2(com.android.tools.r8.graph.DexType,com.android.tools.r8.ProgramResource$Kind,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],boolean,com.android.tools.r8.graph.DexProgramClass$ChecksumSupplier,com.android.tools.r8.synthesis.SyntheticMarker):125:125 -> d
 com.android.tools.r8.graph.ClassKind$Factory -> com.android.tools.r8.graph.s:
     com.android.tools.r8.graph.DexClass create(com.android.tools.r8.graph.DexType,com.android.tools.r8.ProgramResource$Kind,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],boolean,com.android.tools.r8.graph.DexProgramClass$ChecksumSupplier,com.android.tools.r8.synthesis.SyntheticMarker) -> a
-com.android.tools.r8.graph.ClasspathDefinition -> com.android.tools.r8.internal.tb:
+com.android.tools.r8.graph.ClasspathDefinition -> com.android.tools.r8.internal.ub:
     1:1:com.android.tools.r8.graph.ProgramDerivedContext asProgramDerivedContext(com.android.tools.r8.graph.ProgramDerivedContext):21:21 -> a
 com.android.tools.r8.graph.ClasspathField -> com.android.tools.r8.graph.u:
     boolean $assertionsDisabled -> f
@@ -24580,15 +24575,15 @@
     4:5:com.android.tools.r8.graph.DexClasspathClass getHolder():44:45 -> F
     com.android.tools.r8.graph.ClasspathMethod asClasspathMethod() -> a0
     1:1:com.android.tools.r8.graph.DexClass getHolder():9:9 -> r
-com.android.tools.r8.graph.ClasspathOrLibraryClass -> com.android.tools.r8.internal.ub:
-com.android.tools.r8.graph.ClasspathOrLibraryContext -> com.android.tools.r8.internal.vb:
+com.android.tools.r8.graph.ClasspathOrLibraryClass -> com.android.tools.r8.internal.vb:
+com.android.tools.r8.graph.ClasspathOrLibraryContext -> com.android.tools.r8.internal.wb:
     com.android.tools.r8.graph.Definition context -> b
     com.android.tools.r8.graph.ProgramDerivedContext programDerivedContext -> c
     1:3:void <init>(com.android.tools.r8.graph.Definition,com.android.tools.r8.graph.ProgramDerivedContext):17:19 -> <init>
     1:1:com.android.tools.r8.graph.ClasspathOrLibraryContext create(com.android.tools.r8.graph.ClasspathDefinition,com.android.tools.r8.graph.ProgramDerivedContext):24:24 -> a
     2:2:com.android.tools.r8.graph.ClasspathOrLibraryContext create(com.android.tools.r8.graph.LibraryDefinition,com.android.tools.r8.graph.ProgramDerivedContext):29:29 -> a
     1:1:com.android.tools.r8.graph.Definition getContext():34:34 -> getContext
-com.android.tools.r8.graph.ClasspathOrLibraryDefinition -> com.android.tools.r8.internal.wb:
+com.android.tools.r8.graph.ClasspathOrLibraryDefinition -> com.android.tools.r8.internal.xb:
     com.android.tools.r8.graph.ClasspathOrLibraryDefinition asClasspathOrLibraryDefinition() -> e
 com.android.tools.r8.graph.Code -> com.android.tools.r8.graph.w:
     1:1:void <init>():17:17 -> <init>
@@ -24608,22 +24603,22 @@
     33:33:com.android.tools.r8.ir.code.IRCode buildInliningIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):31:31 -> a
     37:37:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap collectParameterInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView):49:49 -> a
     38:38:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):143:143 -> a
-    39:39:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):153:153 -> a
-    1:1:com.android.tools.r8.graph.CfWritableCode asCfWritableCode():126:126 -> g0
-    1:1:com.android.tools.r8.graph.DexWritableCode asDexWritableCode():138:138 -> h0
+    39:39:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):153:153 -> a
+    1:1:com.android.tools.r8.graph.CfWritableCode asCfWritableCode():126:126 -> h0
     1:1:boolean estimatedSizeForInliningAtMost(int):116:116 -> i
-    1:1:com.android.tools.r8.graph.LazyCfCode asLazyCfCode():130:130 -> i0
-    int estimatedDexCodeSizeUpperBoundInBytes() -> j0
-    int estimatedSizeForInlining() -> k0
-    boolean isCfCode() -> l0
-    boolean isCfWritableCode() -> m0
-    boolean isDexCode() -> n0
-    boolean isDexWritableCode() -> o0
-    boolean isHorizontalClassMergingCode() -> p0
-    boolean isSharedCodeObject() -> q0
-    boolean verifyNoInputReaders() -> r0
+    1:1:com.android.tools.r8.graph.DexWritableCode asDexWritableCode():138:138 -> i0
+    1:1:com.android.tools.r8.graph.LazyCfCode asLazyCfCode():130:130 -> j0
+    int estimatedDexCodeSizeUpperBoundInBytes() -> k0
+    int estimatedSizeForInlining() -> l0
+    boolean isCfCode() -> m0
+    boolean isCfWritableCode() -> n0
+    boolean isDexCode() -> o0
+    boolean isDexWritableCode() -> p0
+    boolean isHorizontalClassMergingCode() -> q0
+    boolean isSharedCodeObject() -> r0
     com.android.tools.r8.graph.ThrowExceptionCode asThrowExceptionCode() -> s
-com.android.tools.r8.graph.DebugLocalInfo -> com.android.tools.r8.internal.Je:
+    boolean verifyNoInputReaders() -> s0
+com.android.tools.r8.graph.DebugLocalInfo -> com.android.tools.r8.internal.Ke:
     com.android.tools.r8.graph.DexString name -> b
     com.android.tools.r8.graph.DexString signature -> d
     com.android.tools.r8.graph.DexType type -> c
@@ -24747,15 +24742,15 @@
     com.android.tools.r8.graph.CfWritableCode$CfWritableCodeKind getCfWritableCodeKind() -> b0
     void setCallSiteContexts(com.android.tools.r8.graph.ProgramMethod) -> c
     1:3:int getMaxLocals(com.android.tools.r8.graph.ProgramMethod):232:234 -> d
-    1:1:int computeHashCode():184:184 -> f0
     boolean computeEquals(java.lang.Object) -> g
-    com.android.tools.r8.graph.CfWritableCode asCfWritableCode() -> g0
-    com.android.tools.r8.graph.DexWritableCode asDexWritableCode() -> h0
-    int estimatedDexCodeSizeUpperBoundInBytes() -> j0
+    1:1:int computeHashCode():184:184 -> g0
+    com.android.tools.r8.graph.CfWritableCode asCfWritableCode() -> h0
+    com.android.tools.r8.graph.DexWritableCode asDexWritableCode() -> i0
+    int estimatedDexCodeSizeUpperBoundInBytes() -> k0
     1:1:com.android.tools.r8.graph.DexWritableCode$DexWritableCodeKind getDexWritableCodeKind():204:204 -> m
     1:1:com.android.tools.r8.graph.DexCode$Try[] getTries():255:255 -> p
     com.android.tools.r8.graph.Code asCode() -> q
-    1:1:com.android.tools.r8.graph.DefaultInstanceInitializerCode get():63:63 -> s0
+    1:1:com.android.tools.r8.graph.DefaultInstanceInitializerCode get():63:63 -> t0
     1:1:java.lang.String toString():377:377 -> toString
     1:1:com.android.tools.r8.graph.DexCode$TryHandler[] getHandlers():214:214 -> v
     com.android.tools.r8.graph.DexString getHighestSortingString() -> x
@@ -24781,7 +24776,7 @@
     13:14:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):409:410 -> d
     15:15:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):404:404 -> d
     1:1:java.util.List getInstructionBuilders():402:402 -> f
-com.android.tools.r8.graph.Definition -> com.android.tools.r8.internal.gf:
+com.android.tools.r8.graph.Definition -> com.android.tools.r8.internal.hf:
     com.android.tools.r8.graph.ClasspathOrLibraryClass asClasspathOrLibraryClass() -> H
     com.android.tools.r8.graph.ProgramField asProgramField() -> K
     com.android.tools.r8.graph.LibraryMethod asLibraryMethod() -> N
@@ -24843,7 +24838,7 @@
     85:87:com.android.tools.r8.graph.DexAnnotation createSystemValueAnnotation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexValue):298:300 -> a
     88:92:com.android.tools.r8.graph.DexValue getSystemValueAnnotationValue(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexAnnotation):305:309 -> a
     93:114:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind getSynthesizedClassAnnotationInfo(com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexItemFactory):410:431 -> a
-    115:116:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind.fromDescriptor(java.lang.String):103:104 -> a
+    115:116:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind.fromDescriptor(java.lang.String):104:105 -> a
     115:116:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind getSynthesizedClassAnnotationInfo(com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexItemFactory):430 -> a
     117:124:com.android.tools.r8.graph.DexAnnotation rewrite(java.util.function.Function):436:443 -> a
     1:1:com.android.tools.r8.graph.DexEncodedAnnotation lambda$specify$0(com.android.tools.r8.graph.DexAnnotation):60:60 -> b
@@ -24854,14 +24849,14 @@
     1:1:boolean isEnclosingClassAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexItemFactory):164:164 -> e
     1:3:boolean equals(java.lang.Object):92:94 -> equals
     1:1:boolean isEnclosingMethodAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexItemFactory):169:169 -> f
-    1:1:com.android.tools.r8.graph.DexType getAnnotationType():79:79 -> f0
     1:1:boolean isInnerClassAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexItemFactory):173:173 -> g
+    1:1:com.android.tools.r8.graph.DexType getAnnotationType():79:79 -> g0
     1:1:boolean isMemberClassesAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexItemFactory):178:178 -> h
     1:1:int hashCode():84:84 -> hashCode
     1:1:boolean isSignatureAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexItemFactory):319:319 -> i
     1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():75:75 -> n
     1:1:java.lang.String toString():101:101 -> toString
-com.android.tools.r8.graph.DexAnnotation$AnnotatedKind -> com.android.tools.r8.internal.Zf:
+com.android.tools.r8.graph.DexAnnotation$AnnotatedKind -> com.android.tools.r8.internal.ag:
     com.android.tools.r8.graph.DexAnnotation$AnnotatedKind FIELD -> b
     com.android.tools.r8.graph.DexAnnotation$AnnotatedKind METHOD -> c
     com.android.tools.r8.graph.DexAnnotation$AnnotatedKind TYPE -> d
@@ -24874,11 +24869,11 @@
     4:4:com.android.tools.r8.graph.DexAnnotation$AnnotatedKind lambda$from$1(com.android.tools.r8.graph.DexField):44:44 -> a
     5:5:com.android.tools.r8.graph.DexAnnotation$AnnotatedKind lambda$from$2(com.android.tools.r8.graph.DexMethod):44:44 -> a
 com.android.tools.r8.graph.DexAnnotationDirectory -> com.android.tools.r8.graph.A:
-    java.util.List methodAnnotations -> b
-    java.util.List fieldAnnotations -> d
-    com.android.tools.r8.graph.DexProgramClass clazz -> a
-    java.util.List parameterAnnotations -> c
-    boolean classHasOnlyInternalizableAnnotations -> e
+    java.util.List fieldAnnotations -> e
+    com.android.tools.r8.graph.DexProgramClass clazz -> b
+    java.util.List parameterAnnotations -> d
+    java.util.List methodAnnotations -> c
+    boolean classHasOnlyInternalizableAnnotations -> f
     1:20:void <init>(com.android.tools.r8.graph.DexProgramClass):20:39 -> <init>
     1:5:void lambda$new$0(com.android.tools.r8.graph.DexEncodedMethod):30:34 -> a
     6:6:int lambda$sortMethodAnnotations$1(com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):49:49 -> a
@@ -24895,7 +24890,7 @@
     4:4:int lambda$sortParameterAnnotations$2(com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):55 -> b
     1:3:java.util.List sortParameterAnnotations(com.android.tools.r8.utils.structural.CompareToVisitor):54:56 -> c
     1:11:boolean equals(java.lang.Object):73:83 -> equals
-    1:1:com.android.tools.r8.graph.DexAnnotationSet getClazzAnnotations():45:45 -> f0
+    1:1:com.android.tools.r8.graph.DexAnnotationSet getClazzAnnotations():45:45 -> g0
     1:4:int hashCode():88:91 -> hashCode
 com.android.tools.r8.graph.DexAnnotationElement -> com.android.tools.r8.graph.B:
     com.android.tools.r8.graph.DexValue value -> c
@@ -24910,7 +24905,7 @@
     3:3:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):71:71 -> a
     1:1:com.android.tools.r8.graph.DexValue lambda$specify$1(com.android.tools.r8.graph.DexAnnotationElement):19:19 -> b
     1:3:boolean equals(java.lang.Object):51:53 -> equals
-    1:1:com.android.tools.r8.graph.DexValue getValue():38:38 -> f0
+    1:1:com.android.tools.r8.graph.DexValue getValue():38:38 -> g0
     1:1:int hashCode():43:43 -> hashCode
     1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():34:34 -> n
     1:1:java.lang.String toString():60:60 -> toString
@@ -24945,12 +24940,12 @@
     31:54:com.android.tools.r8.graph.DexAnnotationSet methodParametersWithFakeThisArguments(com.android.tools.r8.graph.DexItemFactory):217:240 -> a
     55:65:com.android.tools.r8.graph.DexAnnotationSet methodParametersWithFakeThisArguments(com.android.tools.r8.graph.DexItemFactory):239:249 -> a
     1:8:com.android.tools.r8.graph.DexAnnotationSet getWithout(com.android.tools.r8.graph.DexType):160:167 -> b
-    1:1:int computeHashCode():107:107 -> f0
     1:2:void forEach(java.util.function.Consumer):92:93 -> forEach
     1:3:boolean computeEquals(java.lang.Object):112:114 -> g
-    1:1:com.android.tools.r8.graph.DexAnnotationSet empty():88:88 -> g0
-    1:1:com.android.tools.r8.graph.DexAnnotation get(int):56:56 -> h0
-    1:1:com.android.tools.r8.graph.DexAnnotation getFirst():60 -> h0
+    1:1:int computeHashCode():107:107 -> g0
+    1:1:com.android.tools.r8.graph.DexAnnotationSet empty():88:88 -> h0
+    1:1:com.android.tools.r8.graph.DexAnnotation get(int):56:56 -> i0
+    1:1:com.android.tools.r8.graph.DexAnnotation getFirst():60 -> i0
     1:1:boolean isEmpty():132:132 -> isEmpty
     1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():70:70 -> n
     1:1:int size():102:102 -> size
@@ -25022,7 +25017,7 @@
     1:2:void <init>(java.util.List):90:91 -> <init>
     1:1:java.util.List getClasses():104:104 -> a
     1:3:boolean reorderClasses():96:98 -> b
-com.android.tools.r8.graph.DexApplicationReadFlags -> com.android.tools.r8.internal.ag:
+com.android.tools.r8.graph.DexApplicationReadFlags -> com.android.tools.r8.internal.bg:
     boolean hasReadProgramClassFromDex -> a
     boolean hasReadProgramClassFromCf -> b
     boolean hasReadRecordReferenceFromProgramClass -> c
@@ -25030,7 +25025,7 @@
     1:1:boolean hasReadProgramClassFromCf():24:24 -> a
     1:1:boolean hasReadProgramClassFromDex():28:28 -> b
     1:1:boolean hasReadRecordReferenceFromProgramClass():32:32 -> c
-com.android.tools.r8.graph.DexByteCodeWriter -> com.android.tools.r8.internal.og:
+com.android.tools.r8.graph.DexByteCodeWriter -> com.android.tools.r8.internal.pg:
     com.android.tools.r8.graph.DexApplication application -> a
     com.android.tools.r8.utils.InternalOptions options -> b
     1:3:void <init>(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.InternalOptions):27:29 -> <init>
@@ -25069,7 +25064,7 @@
     void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream) -> c
     void writeFieldsFooter(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream) -> c
     void writeFieldsHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream) -> d
-com.android.tools.r8.graph.DexByteCodeWriter$OutputStreamProvider -> com.android.tools.r8.internal.ng:
+com.android.tools.r8.graph.DexByteCodeWriter$OutputStreamProvider -> com.android.tools.r8.internal.og:
     java.io.PrintStream get(com.android.tools.r8.graph.DexClass) -> a
 com.android.tools.r8.graph.DexCallSite -> com.android.tools.r8.graph.I:
     com.android.tools.r8.graph.DexString methodName -> e
@@ -25092,13 +25087,13 @@
     1:1:int lambda$specify$1(com.android.tools.r8.graph.DexCallSite):50:50 -> b
     1:1:com.android.tools.r8.graph.DexString lambda$specify$2(com.android.tools.r8.graph.DexCallSite):52:52 -> c
     1:1:com.android.tools.r8.graph.DexProto lambda$specify$3(com.android.tools.r8.graph.DexCallSite):53:53 -> d
-    1:1:java.lang.String toSmaliString():187:187 -> d0
     1:1:com.android.tools.r8.graph.DexMethodHandle lambda$specify$4(com.android.tools.r8.graph.DexCallSite):54:54 -> e
+    1:1:java.lang.String toSmaliString():187:187 -> e0
     1:1:java.util.Collection lambda$specify$5(com.android.tools.r8.graph.DexCallSite):55:55 -> f
-    1:1:int computeHashCode():137:137 -> f0
     boolean computeEquals(java.lang.Object) -> g
-    1:14:com.android.tools.r8.graph.DexEncodedArray getEncodedArray():297:310 -> g0
-    1:1:java.lang.String getHash():191:191 -> h0
+    1:1:int computeHashCode():137:137 -> g0
+    1:14:com.android.tools.r8.graph.DexEncodedArray getEncodedArray():297:310 -> h0
+    1:1:java.lang.String getHash():191:191 -> i0
     1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():120:120 -> n
     1:11:java.lang.String toString():150:160 -> toString
 com.android.tools.r8.graph.DexCallSite$1 -> com.android.tools.r8.graph.G:
@@ -25221,52 +25216,52 @@
     1:1:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):102:102 -> <init>
     2:72:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):56:126 -> <init>
     73:73:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):0:0 -> <init>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":464,"2":465,"3":466}}
-    464:464:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):126:126 -> <init>
-    465:465:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):126:126 -> <init>
-    466:466:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):126:126 -> <init>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":461,"2":462,"3":463}}
+    461:461:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):126:126 -> <init>
+    462:462:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):126:126 -> <init>
+    463:463:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):126:126 -> <init>
     199:203:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):126:130 -> <init>
     204:204:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):0:0 -> <init>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":470,"2":471,"3":472}}
-    470:470:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):130:130 -> <init>
-    471:471:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):130:130 -> <init>
-    472:472:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):130:130 -> <init>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":461,"2":462,"3":463}}
+    461:461:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):130:130 -> <init>
+    462:462:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):130:130 -> <init>
+    463:463:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):130:130 -> <init>
     334:336:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):130:132 -> <init>
     337:337:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):122:122 -> <init>
     338:338:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):0:0 -> <init>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":473,"2":474,"3":475}}
-    473:473:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):122:122 -> <init>
-    474:474:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):122:122 -> <init>
-    475:475:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):122:122 -> <init>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":461,"2":462,"3":463}}
+    461:461:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):122:122 -> <init>
+    462:462:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):122:122 -> <init>
+    463:463:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):122:122 -> <init>
     460:460:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):122:122 -> <init>
-    1:1:void clearNestHost():1095:1095 -> A0
-    1:1:void clearNestMembers():1099:1099 -> B0
-    1:2:com.android.tools.r8.graph.DexEncodedField[] clearStaticFields():387:388 -> C0
-    1:2:boolean defaultValuesForStaticFieldsMayTriggerAllocation():994:995 -> D0
-    1:1:java.lang.Iterable directMethods():229:229 -> E0
-    1:1:java.lang.Iterable fields():189:189 -> F0
-    1:1:com.android.tools.r8.graph.ClassAccessFlags getAccessFlags():165:165 -> G0
-    1:2:com.android.tools.r8.graph.DexEncodedMethod getClassInitializer():739:740 -> H0
-    1:1:com.android.tools.r8.references.ClassReference getClassReference():746:746 -> I0
-    1:1:com.android.tools.r8.graph.GenericSignature$ClassSignature getClassSignature():1063:1063 -> J0
-    1:1:com.android.tools.r8.graph.EnclosingMethodAttribute getEnclosingMethodAttribute():1012:1012 -> K0
-    1:2:com.android.tools.r8.graph.InnerClassAttribute getInnerClassAttributeForThisClass():1042:1043 -> L0
-    1:1:java.util.List getInnerClasses():1000:1000 -> M0
-    1:1:com.android.tools.r8.graph.DexTypeList getInterfaces():169:169 -> N0
-    1:5:com.android.tools.r8.graph.DexType getNestHost():1120:1124 -> O0
+    1:2:com.android.tools.r8.graph.DexEncodedField[] clearInstanceFields():479:480 -> A0
+    1:1:void clearNestHost():1095:1095 -> B0
+    1:1:void clearNestMembers():1099:1099 -> C0
+    1:2:com.android.tools.r8.graph.DexEncodedField[] clearStaticFields():387:388 -> D0
+    1:2:boolean defaultValuesForStaticFieldsMayTriggerAllocation():994:995 -> E0
+    1:1:java.lang.Iterable directMethods():229:229 -> F0
+    1:1:java.lang.Iterable fields():189:189 -> G0
+    1:1:com.android.tools.r8.graph.ClassAccessFlags getAccessFlags():165:165 -> H0
+    1:2:com.android.tools.r8.graph.DexEncodedMethod getClassInitializer():739:740 -> I0
+    1:1:com.android.tools.r8.references.ClassReference getClassReference():746:746 -> J0
+    1:1:com.android.tools.r8.graph.GenericSignature$ClassSignature getClassSignature():1063:1063 -> K0
+    1:1:com.android.tools.r8.graph.EnclosingMethodAttribute getEnclosingMethodAttribute():1012:1012 -> L0
+    1:2:com.android.tools.r8.graph.InnerClassAttribute getInnerClassAttributeForThisClass():1042:1043 -> M0
+    1:1:java.util.List getInnerClasses():1000:1000 -> N0
+    1:1:com.android.tools.r8.graph.DexTypeList getInterfaces():169:169 -> O0
     1:1:com.android.tools.r8.graph.MethodCollection getMethodCollection():208:208 -> P
-    1:1:com.android.tools.r8.graph.NestHostClassAttribute getNestHostClassAttribute():1135:1135 -> P0
-    1:1:java.util.List getNestMembersClassAttributes():1143:1143 -> Q0
-    1:1:java.lang.String getSimpleName():1158:1158 -> R0
-    1:1:com.android.tools.r8.graph.DexString getSourceFile():177:177 -> S0
+    1:5:com.android.tools.r8.graph.DexType getNestHost():1120:1124 -> P0
+    1:1:com.android.tools.r8.graph.NestHostClassAttribute getNestHostClassAttribute():1135:1135 -> Q0
+    1:1:java.util.List getNestMembersClassAttributes():1143:1143 -> R0
+    1:1:java.lang.String getSimpleName():1158:1158 -> S0
     com.android.tools.r8.graph.DexLibraryClass asLibraryClass() -> T
-    1:1:com.android.tools.r8.graph.DexType getSuperType():770:770 -> T0
-    1:1:java.lang.String getTypeName():1162:1162 -> U0
-    1:1:boolean hasClassInitializer():774:774 -> V0
-    1:1:boolean hasEnclosingMethodAttribute():1008:1008 -> W0
-    1:1:boolean hasInstanceFields():1170:1170 -> X0
-    1:1:boolean hasNestMemberAttributes():1139:1139 -> Y0
-    1:1:boolean hasStaticFields():1166:1166 -> Z0
+    1:1:com.android.tools.r8.graph.DexString getSourceFile():177:177 -> T0
+    1:1:com.android.tools.r8.graph.DexType getSuperType():770:770 -> U0
+    1:1:java.lang.String getTypeName():1162:1162 -> V0
+    1:1:boolean hasClassInitializer():774:774 -> W0
+    1:1:boolean hasEnclosingMethodAttribute():1008:1008 -> X0
+    1:1:boolean hasInstanceFields():1170:1170 -> Y0
+    1:1:boolean hasNestMemberAttributes():1139:1139 -> Z0
     void accept(java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer) -> a
     boolean internalClassOrInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set) -> a
     java.util.Iterator lambda$allImmediateSupertypes$8(java.util.Iterator) -> a
@@ -25389,7 +25384,7 @@
     174:175:boolean verifyCorrectnessOfFieldHolders(java.lang.Iterable):495:496 -> a
     174:175:boolean isValid(com.android.tools.r8.utils.InternalOptions):1197 -> a
     176:177:boolean isValid(com.android.tools.r8.utils.InternalOptions):1198:1199 -> a
-    1:5:java.util.List instanceFields():425:429 -> a1
+    1:1:boolean hasStaticFields():1166:1166 -> a1
     void addDependencies(com.android.tools.r8.dex.MixedSectionCollection) -> b
     com.android.tools.r8.graph.DexClass getContextClass() -> b
     1:1:void forEachClassMethodMatching(java.util.function.Predicate,java.util.function.Consumer):159:159 -> b
@@ -25419,7 +25414,7 @@
     35:37:void forEachImmediateSupertypeWithAppliedTypeArguments(java.util.List,java.util.function.BiConsumer):941:943 -> b
     38:41:void forEachImmediateSupertypeWithAppliedTypeArguments(java.util.List,java.util.function.BiConsumer):942:945 -> b
     42:42:void setNestMemberAttributes(java.util.List):1147:1147 -> b
-    1:1:boolean isAbstract():648:648 -> b1
+    1:5:java.util.List instanceFields():425:429 -> b1
     1:1:com.android.tools.r8.graph.DexClassAndField lambda$classFields$2(com.android.tools.r8.graph.DexEncodedField):185:185 -> c
     2:4:java.lang.Iterable fields(java.util.function.Predicate):193:195 -> c
     5:5:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> c
@@ -25443,7 +25438,7 @@
     35:36:boolean com.android.tools.r8.graph.DexType.isResolvable(com.android.tools.r8.graph.AppView):379:380 -> c
     35:36:boolean isResolvable(com.android.tools.r8.graph.AppView):815 -> c
     37:40:boolean isResolvable(com.android.tools.r8.graph.AppView):821:824 -> c
-    1:1:boolean isAnnotation():652:652 -> c1
+    1:1:boolean isAbstract():648:648 -> c1
     1:1:void setDirectMethods(java.util.Collection):249:249 -> d
     2:2:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):253:253 -> d
     2:2:void setDirectMethods(java.util.Collection):249 -> d
@@ -25454,7 +25449,7 @@
     5:5:java.lang.Iterable instanceFields(java.util.function.Predicate):433:433 -> d
     6:6:com.android.tools.r8.graph.DexEncodedMethod lookupVirtualMethod(com.android.tools.r8.graph.DexMethod):560:560 -> d
     7:7:boolean lambda$defaultValuesForStaticFieldsMayTriggerAllocation$9(com.android.tools.r8.graph.DexEncodedField):996:996 -> d
-    1:4:boolean isAnonymousClass():1084:1087 -> d1
+    1:1:boolean isAnnotation():652:652 -> d1
     1:1:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):245:245 -> e
     2:2:boolean verifyCorrectnessOfFieldHolder(com.android.tools.r8.graph.DexEncodedField):485:485 -> e
     3:3:boolean verifyCorrectnessOfFieldHolder(com.android.tools.r8.graph.DexEncodedField):0:0 -> e
@@ -25472,7 +25467,7 @@
     980:980:boolean verifyCorrectnessOfFieldHolder(com.android.tools.r8.graph.DexEncodedField):489:489 -> e
     991:991:com.android.tools.r8.graph.DexEncodedMethod lookupDirectMethod(java.util.function.Predicate):555:555 -> e
     992:993:void forEachNestMember(java.util.function.Consumer):1130:1131 -> e
-    boolean isClasspathClass() -> e1
+    1:4:boolean isAnonymousClass():1084:1087 -> e1
     1:1:void forEachStaticField(java.util.function.Consumer):335:335 -> f
     2:2:java.lang.Iterable staticFields(java.util.function.Predicate):361:361 -> f
     2:2:void forEachStaticFieldMatching(java.util.function.Predicate,java.util.function.Consumer):340 -> f
@@ -25480,64 +25475,64 @@
     3:3:void forEachStaticFieldMatching(java.util.function.Predicate,java.util.function.Consumer):340:340 -> f
     3:3:void forEachStaticField(java.util.function.Consumer):335 -> f
     4:4:com.android.tools.r8.graph.DexEncodedMethod lookupVirtualMethod(java.util.function.Predicate):565:565 -> f
-    1:1:boolean isEnum():669:669 -> f1
+    boolean isClasspathClass() -> f1
     1:1:java.lang.Iterable members(java.util.function.Predicate):203:203 -> g
     2:2:java.lang.Iterable methods(java.util.function.Predicate):220:220 -> g
     2:2:java.lang.Iterable members(java.util.function.Predicate):203 -> g
     3:3:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> g
     3:3:java.lang.Iterable members(java.util.function.Predicate):203 -> g
-    com.android.tools.r8.graph.DexClass asDexClass() -> g0
-    1:1:boolean isFinal():656:656 -> g1
+    1:1:boolean isEnum():669:669 -> g1
     1:1:com.android.tools.r8.graph.AccessFlags getAccessFlags():43:43 -> getAccessFlags
     1:1:com.android.tools.r8.origin.Origin getOrigin():761:761 -> getOrigin
     1:1:com.android.tools.r8.graph.DexReference getReference():680:680 -> getReference
     1:1:com.android.tools.r8.graph.DexType getType():766:766 -> getType
     1:1:java.lang.Iterable methods(java.util.function.Predicate):220:220 -> h
-    1:1:boolean isInANest():1091:1091 -> h1
+    com.android.tools.r8.graph.DexClass asDexClass() -> h0
+    1:1:boolean isFinal():656:656 -> h1
     1:2:void removeEnclosingMethodAttribute(java.util.function.Predicate):1024:1025 -> i
-    boolean isLibraryClass() -> i1
+    1:1:boolean isInANest():1091:1091 -> i1
     1:1:boolean isInterface():665:665 -> isInterface
     1:1:void removeInnerClasses(java.util.function.Predicate):1038:1038 -> j
-    1:3:boolean isLocalClass():1071:1073 -> j1
+    boolean isLibraryClass() -> j1
     1:1:void removeNestMemberAttributes(java.util.function.Predicate):1151:1151 -> k
-    1:3:boolean isMemberClass():1077:1079 -> k1
+    1:3:boolean isLocalClass():1071:1073 -> k1
     com.android.tools.r8.graph.DexClasspathClass asClasspathClass() -> l
     1:1:java.lang.Iterable virtualMethods(java.util.function.Predicate):261:261 -> l
-    1:1:boolean isNestHost():1112:1112 -> l1
-    1:1:boolean isNestMember():1116:1116 -> m1
-    boolean isDexClass() -> n0
-    boolean isNotProgramClass() -> n1
-    1:1:boolean isPublic():725:725 -> o1
-    1:1:boolean isRecord():673:673 -> p1
-    1:1:java.lang.Iterable members():199:199 -> q1
-    2:2:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> q1
-    2:2:java.lang.Iterable members():199 -> q1
-    boolean isStaticMember() -> r0
-    1:1:java.lang.Iterable methods():216:216 -> r1
-    1:3:java.lang.Iterable allImmediateSupertypes():982:984 -> s0
-    4:7:java.lang.Iterable allImmediateSupertypes():983:986 -> s0
-    1:5:java.util.List staticFields():353:357 -> s1
-    1:1:java.util.List allMethodsSorted():294:294 -> t0
-    1:1:boolean validInterfaceSignatures():872:872 -> t1
-    2:2:java.util.List com.android.tools.r8.graph.GenericSignature$ClassSignature.superInterfaceSignatures():233:233 -> t1
-    2:2:boolean validInterfaceSignatures():872 -> t1
+    1:3:boolean isMemberClass():1077:1079 -> l1
+    1:1:boolean isNestHost():1112:1112 -> m1
+    1:1:boolean isNestMember():1116:1116 -> n1
+    boolean isDexClass() -> o0
+    boolean isNotProgramClass() -> o1
+    1:1:boolean isPublic():725:725 -> p1
+    1:1:boolean isRecord():673:673 -> q1
+    1:1:java.lang.Iterable members():199:199 -> r1
+    2:2:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> r1
+    2:2:java.lang.Iterable members():199 -> r1
+    boolean isStaticMember() -> s0
+    1:1:java.lang.Iterable methods():216:216 -> s1
+    1:3:java.lang.Iterable allImmediateSupertypes():982:984 -> t0
+    4:7:java.lang.Iterable allImmediateSupertypes():983:986 -> t0
+    1:5:java.util.List staticFields():353:357 -> t1
+    1:1:java.util.List allMethodsSorted():294:294 -> u0
+    1:1:boolean validInterfaceSignatures():872:872 -> u1
+    2:2:java.util.List com.android.tools.r8.graph.GenericSignature$ClassSignature.superInterfaceSignatures():233:233 -> u1
+    2:2:boolean validInterfaceSignatures():872 -> u1
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    3:4:boolean validInterfaceSignatures():872:873 -> t1
-    1:1:java.lang.Iterable classFields():185:185 -> u0
-    1:4:boolean verifyNoDuplicateFields():502:505 -> u1
-    5:5:boolean verifyNoDuplicateFields():0:0 -> u1
+    3:4:boolean validInterfaceSignatures():872:873 -> u1
+    1:1:java.lang.Iterable classFields():185:185 -> v0
+    1:4:boolean verifyNoDuplicateFields():502:505 -> v1
+    5:5:boolean verifyNoDuplicateFields():0:0 -> v1
       # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":511,"2":512,"3":513}}
-    511:511:boolean verifyNoDuplicateFields():505:505 -> u1
-    512:512:boolean verifyNoDuplicateFields():505:505 -> u1
-    513:513:boolean verifyNoDuplicateFields():505:505 -> u1
-    510:510:boolean verifyNoDuplicateFields():505:505 -> u1
-    1:1:java.lang.Iterable classMethods():212:212 -> v0
-    1:1:java.lang.Iterable virtualMethods():257:257 -> v1
-    1:1:void clearClassSignature():1034:1034 -> w0
-    1:1:void clearEnclosingMethodAttribute():1020:1020 -> x0
-    1:1:void clearInnerClasses():1030:1030 -> y0
-    1:2:com.android.tools.r8.graph.DexEncodedField[] clearInstanceFields():479:480 -> z0
-com.android.tools.r8.graph.DexClass$FieldSetter -> com.android.tools.r8.internal.pg:
+    511:511:boolean verifyNoDuplicateFields():505:505 -> v1
+    512:512:boolean verifyNoDuplicateFields():505:505 -> v1
+    513:513:boolean verifyNoDuplicateFields():505:505 -> v1
+    510:510:boolean verifyNoDuplicateFields():505:505 -> v1
+    1:1:java.lang.Iterable classMethods():212:212 -> w0
+    1:1:java.lang.Iterable virtualMethods():257:257 -> w1
+    1:1:void clearClassSignature():1034:1034 -> x0
+    1:1:void clearEnclosingMethodAttribute():1020:1020 -> y0
+    1:1:void clearInnerClasses():1030:1030 -> z0
+com.android.tools.r8.graph.DexClass$FieldSetter -> com.android.tools.r8.internal.qg:
     void setField(int,com.android.tools.r8.graph.DexEncodedField) -> a
 com.android.tools.r8.graph.DexClassAndField -> com.android.tools.r8.graph.K:
     boolean $assertionsDisabled -> e
@@ -25628,7 +25623,7 @@
     1:1:void forEachClasspathMethodMatching(java.util.function.Predicate,java.util.function.Consumer):81:81 -> d
     com.android.tools.r8.graph.DexClasspathClass asClasspathClass() -> l
     1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():149:149 -> n
-    boolean isNotProgramClass() -> n1
+    boolean isNotProgramClass() -> o1
     1:1:java.lang.String toString():87:87 -> toString
 com.android.tools.r8.graph.DexCode -> com.android.tools.r8.graph.O:
     boolean $assertionsDisabled -> n
@@ -25642,206 +25637,195 @@
     com.android.tools.r8.graph.DexCode$TryHandler[] handlers -> h
     com.android.tools.r8.graph.DexCode$Try[] tries -> g
     com.android.tools.r8.graph.DexDebugInfo debugInfo -> k
-    1:1:void <clinit>():49:49 -> <clinit>
-    1:1:void <init>(int,int,int,com.android.tools.r8.code.Instruction[],com.android.tools.r8.graph.DexCode$Try[],com.android.tools.r8.graph.DexCode$TryHandler[],com.android.tools.r8.graph.DexDebugInfo):93:93 -> <init>
-    2:2:void <init>(int,int,int,com.android.tools.r8.code.Instruction[],com.android.tools.r8.graph.DexCode$Try[],com.android.tools.r8.graph.DexCode$TryHandler[],com.android.tools.r8.graph.DexDebugInfo):85:85 -> <init>
-    3:15:void <init>(int,int,int,com.android.tools.r8.code.Instruction[],com.android.tools.r8.graph.DexCode$Try[],com.android.tools.r8.graph.DexCode$TryHandler[],com.android.tools.r8.graph.DexDebugInfo,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadata):104:116 -> <init>
-    1:7:com.android.tools.r8.graph.DexDebugInfoForWriting getDebugInfoForWriting():576:582 -> B
+    1:1:void <clinit>():51:51 -> <clinit>
+    1:1:void <init>(int,int,int,com.android.tools.r8.code.Instruction[],com.android.tools.r8.graph.DexCode$Try[],com.android.tools.r8.graph.DexCode$TryHandler[],com.android.tools.r8.graph.DexDebugInfo):95:95 -> <init>
+    2:2:void <init>(int,int,int,com.android.tools.r8.code.Instruction[],com.android.tools.r8.graph.DexCode$Try[],com.android.tools.r8.graph.DexCode$TryHandler[],com.android.tools.r8.graph.DexDebugInfo):87:87 -> <init>
+    3:15:void <init>(int,int,int,com.android.tools.r8.code.Instruction[],com.android.tools.r8.graph.DexCode$Try[],com.android.tools.r8.graph.DexCode$TryHandler[],com.android.tools.r8.graph.DexDebugInfo,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadata):106:118 -> <init>
+    1:4:com.android.tools.r8.graph.DexDebugInfoForWriting getDebugInfoForWriting():601:604 -> B
     com.android.tools.r8.graph.DexCode asDexCode() -> J
     com.android.tools.r8.utils.structural.StructuralItem self() -> L
-    1:3:int codeSizeInBytes():635:637 -> M
-    4:5:int computeCodeSizeInBytes():644:645 -> M
-    4:5:int codeSizeInBytes():638 -> M
-    6:6:int codeSizeInBytes():638:638 -> M
-    1:1:int lambda$specify$0(com.android.tools.r8.graph.DexCode):68:68 -> a
-    2:8:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):68:74 -> a
-    9:9:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata getMetadata(com.android.tools.r8.code.CfOrDexInstruction):126:126 -> a
-    10:10:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata getMetadata(com.android.tools.r8.code.Instruction):130:130 -> a
-    10:10:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata getMetadata(com.android.tools.r8.code.CfOrDexInstruction):126 -> a
-    11:14:com.android.tools.r8.graph.DexWritableCode rewriteCodeWithJumboStrings(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.DexItemFactory,boolean):148:151 -> a
-    15:24:com.android.tools.r8.graph.DexWritableCode rewriteCodeWithJumboStrings(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.DexItemFactory,boolean):150:159 -> a
-    25:27:void setDebugInfo(com.android.tools.r8.graph.DexDebugInfo):225:227 -> a
-    28:34:com.android.tools.r8.graph.DexDebugInfo debugInfoWithFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):232:238 -> a
-    35:38:int getLargestPrefix(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexString):303:306 -> a
-    35:38:com.android.tools.r8.graph.DexDebugInfo debugInfoWithFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):239 -> a
-    39:43:com.android.tools.r8.graph.DexDebugInfo debugInfoWithFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):239:243 -> a
-    44:47:int getLargestPrefix(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexString):303:306 -> a
-    44:47:com.android.tools.r8.graph.DexDebugInfo debugInfoWithFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):244 -> a
-    48:57:com.android.tools.r8.graph.DexDebugInfo debugInfoWithFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):244:253 -> a
-    58:58:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):258:258 -> a
-    59:89:com.android.tools.r8.graph.DexDebugInfo debugInfoAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):269:299 -> a
-    59:89:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):265 -> a
-    90:90:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):265:265 -> a
-    91:91:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):329:329 -> a
-    92:96:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):360:364 -> a
-    97:97:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
-    97:97:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):364 -> a
+    1:3:int codeSizeInBytes():653:655 -> M
+    4:5:int computeCodeSizeInBytes():662:663 -> M
+    4:5:int codeSizeInBytes():656 -> M
+    6:6:int codeSizeInBytes():656:656 -> M
+    1:1:int lambda$specify$0(com.android.tools.r8.graph.DexCode):70:70 -> a
+    2:8:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):70:76 -> a
+    9:9:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata getMetadata(com.android.tools.r8.code.CfOrDexInstruction):128:128 -> a
+    10:10:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata getMetadata(com.android.tools.r8.code.Instruction):132:132 -> a
+    10:10:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata getMetadata(com.android.tools.r8.code.CfOrDexInstruction):128 -> a
+    11:14:com.android.tools.r8.graph.DexWritableCode rewriteCodeWithJumboStrings(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.DexItemFactory,boolean):150:153 -> a
+    15:24:com.android.tools.r8.graph.DexWritableCode rewriteCodeWithJumboStrings(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.DexItemFactory,boolean):152:161 -> a
+    25:27:void setDebugInfo(com.android.tools.r8.graph.DexDebugInfo):227:229 -> a
+    28:35:com.android.tools.r8.graph.DexDebugInfo debugInfoWithFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):234:241 -> a
+    36:39:int getLargestPrefix(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexString):307:310 -> a
+    36:39:com.android.tools.r8.graph.DexDebugInfo debugInfoWithFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):242 -> a
+    40:44:com.android.tools.r8.graph.DexDebugInfo debugInfoWithFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):242:246 -> a
+    45:48:int getLargestPrefix(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexString):307:310 -> a
+    45:48:com.android.tools.r8.graph.DexDebugInfo debugInfoWithFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):247 -> a
+    49:58:com.android.tools.r8.graph.DexDebugInfo debugInfoWithFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):247:256 -> a
+    59:59:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):261:261 -> a
+    60:90:com.android.tools.r8.graph.DexDebugInfo debugInfoAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):273:303 -> a
+    60:90:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):268 -> a
+    91:91:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):268:268 -> a
+    92:92:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):334:334 -> a
+    93:97:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):365:369 -> a
+    98:98:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
+    98:98:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):369 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    98:100:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):364:366 -> a
-    101:105:com.android.tools.r8.ir.code.IRCode buildInliningIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):379:383 -> a
+    99:100:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):371:372 -> a
+    101:105:com.android.tools.r8.ir.code.IRCode buildInliningIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):385:389 -> a
     106:106:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
-    106:106:com.android.tools.r8.ir.code.IRCode buildInliningIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):383 -> a
+    106:106:com.android.tools.r8.ir.code.IRCode buildInliningIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):389 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    107:111:com.android.tools.r8.ir.code.IRCode buildInliningIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):383:387 -> a
-    112:112:void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry):392:392 -> a
-    113:113:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):397:397 -> a
-    114:124:void internalRegisterCodeReferences(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.UseRegistry):401:411 -> a
-    125:188:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):425:488 -> a
-    189:189:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):471:471 -> a
-    190:192:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):556:558 -> a
-    193:193:boolean com.android.tools.r8.code.Instruction.isDexItemBasedConstString():0:0 -> a
-    193:193:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):558 -> a
-    194:197:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):558:561 -> a
-    198:200:void updateHighestSortingString(com.android.tools.r8.graph.DexString):616:618 -> a
-    198:200:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):561 -> a
-    201:201:boolean com.android.tools.r8.code.Instruction.isConstStringJumbo():0:0 -> a
-    201:201:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):562 -> a
-    202:202:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):563:563 -> a
-    203:205:void updateHighestSortingString(com.android.tools.r8.graph.DexString):616:618 -> a
-    203:205:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):563 -> a
-    206:207:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):566:567 -> a
-    208:208:void com.android.tools.r8.graph.DexDebugInfo.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):68:68 -> a
-    208:208:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):567 -> a
+    107:110:com.android.tools.r8.ir.code.IRCode buildInliningIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription):391:394 -> a
+    111:111:void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry):399:399 -> a
+    112:112:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):404:404 -> a
+    113:123:void internalRegisterCodeReferences(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.UseRegistry):408:418 -> a
+    124:153:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):432:461 -> a
+    154:155:com.android.tools.r8.graph.DexDebugEntry advanceToOffset(int,com.android.tools.r8.graph.DexDebugEntry,java.util.Iterator):510:511 -> a
+    154:155:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):461 -> a
+    156:177:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):462:483 -> a
+    178:179:com.android.tools.r8.graph.DexDebugEntry advanceToOffset(int,com.android.tools.r8.graph.DexDebugEntry,java.util.Iterator):510:511 -> a
+    178:179:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):483 -> a
+    180:180:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):487:487 -> a
+    181:201:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):485:505 -> a
+    202:204:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):581:583 -> a
+    205:205:boolean com.android.tools.r8.code.Instruction.isDexItemBasedConstString():0:0 -> a
+    205:205:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):583 -> a
+    206:209:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):583:586 -> a
+    210:212:void updateHighestSortingString(com.android.tools.r8.graph.DexString):638:640 -> a
+    210:212:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):586 -> a
+    213:213:boolean com.android.tools.r8.code.Instruction.isConstStringJumbo():0:0 -> a
+    213:213:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):587 -> a
+    214:214:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):588:588 -> a
+    215:217:void updateHighestSortingString(com.android.tools.r8.graph.DexString):638:640 -> a
+    215:217:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):588 -> a
+    218:221:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):591:594 -> a
+    222:223:void com.android.tools.r8.graph.DexCode$TryHandler.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):802:803 -> a
+    222:223:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):595 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    209:209:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
-    209:209:void com.android.tools.r8.graph.DexDebugInfo.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):70 -> a
-    209:209:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):567 -> a
-      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
-    210:211:void com.android.tools.r8.graph.DexDebugInfo.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):73:74 -> a
-    210:211:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):567 -> a
-      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    212:212:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):569:569 -> a
-    213:214:void com.android.tools.r8.graph.DexCode$TryHandler.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):784:785 -> a
-    213:214:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):570 -> a
-      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    215:215:int getRegisterSize(com.android.tools.r8.graph.ProgramMethod):602:602 -> a
-    216:217:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):628:629 -> a
-    218:218:void com.android.tools.r8.graph.DexDebugInfo.collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):80:80 -> a
-    218:218:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):629 -> a
-    219:226:void writeKeepRulesForDesugaredLibrary(com.android.tools.r8.dex.CodeToKeep):652:659 -> a
-    227:227:boolean com.android.tools.r8.code.Instruction.isConstClass():0:0 -> a
-    227:227:void writeKeepRulesForDesugaredLibrary(com.android.tools.r8.dex.CodeToKeep):660 -> a
-    228:228:void writeKeepRulesForDesugaredLibrary(com.android.tools.r8.dex.CodeToKeep):661:661 -> a
-    229:229:boolean com.android.tools.r8.code.Instruction.isInstanceOf():0:0 -> a
-    229:229:void writeKeepRulesForDesugaredLibrary(com.android.tools.r8.dex.CodeToKeep):662 -> a
-    230:232:void writeKeepRulesForDesugaredLibrary(com.android.tools.r8.dex.CodeToKeep):663:665 -> a
-    233:234:void writeDex(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.graph.ObjectToOffsetMapping):677:678 -> a
-    1:1:int lambda$specify$1(com.android.tools.r8.graph.DexCode):69:69 -> b
-    2:2:int getIncomingRegisterSize(com.android.tools.r8.graph.ProgramMethod):607:607 -> b
-    1:1:int lambda$specify$2(com.android.tools.r8.graph.DexCode):70:70 -> c
-    2:5:void setCallSiteContexts(com.android.tools.r8.graph.ProgramMethod):165:168 -> c
-    1:1:com.android.tools.r8.graph.DexCode$Try[] lambda$specify$3(com.android.tools.r8.graph.DexCode):71:71 -> d
-    1:1:com.android.tools.r8.graph.DexCode$TryHandler[] lambda$specify$4(com.android.tools.r8.graph.DexCode):72:72 -> e
-    1:1:com.android.tools.r8.graph.DexDebugInfo lambda$specify$5(com.android.tools.r8.graph.DexCode):73:73 -> f
-    1:7:int computeHashCode():334:340 -> f0
-    1:1:com.android.tools.r8.code.Instruction[] lambda$specify$6(com.android.tools.r8.graph.DexCode):74:74 -> g
-    2:2:boolean computeEquals(java.lang.Object):345:345 -> g
-    com.android.tools.r8.graph.DexWritableCode asDexWritableCode() -> h0
-    1:1:int estimatedDexCodeSizeUpperBoundInBytes():212:212 -> j0
-    1:1:int estimatedSizeForInlining():207:207 -> k0
-    1:1:com.android.tools.r8.graph.DexWritableCode$DexWritableCodeKind getDexWritableCodeKind():135:135 -> m
-    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():140:140 -> n
-    boolean isDexCode() -> n0
-    boolean isDexWritableCode() -> o0
-    1:1:com.android.tools.r8.graph.DexCode$Try[] getTries():597:597 -> p
+    224:224:int getRegisterSize(com.android.tools.r8.graph.ProgramMethod):624:624 -> a
+    225:226:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):646:647 -> a
+    227:234:void writeKeepRulesForDesugaredLibrary(com.android.tools.r8.dex.CodeToKeep):670:677 -> a
+    235:235:boolean com.android.tools.r8.code.Instruction.isConstClass():0:0 -> a
+    235:235:void writeKeepRulesForDesugaredLibrary(com.android.tools.r8.dex.CodeToKeep):678 -> a
+    236:236:void writeKeepRulesForDesugaredLibrary(com.android.tools.r8.dex.CodeToKeep):679:679 -> a
+    237:237:boolean com.android.tools.r8.code.Instruction.isInstanceOf():0:0 -> a
+    237:237:void writeKeepRulesForDesugaredLibrary(com.android.tools.r8.dex.CodeToKeep):680 -> a
+    238:240:void writeKeepRulesForDesugaredLibrary(com.android.tools.r8.dex.CodeToKeep):681:683 -> a
+    241:242:void writeDex(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.graph.ObjectToOffsetMapping):695:696 -> a
+    1:1:int lambda$specify$1(com.android.tools.r8.graph.DexCode):71:71 -> b
+    2:2:int getIncomingRegisterSize(com.android.tools.r8.graph.ProgramMethod):629:629 -> b
+    1:1:int lambda$specify$2(com.android.tools.r8.graph.DexCode):72:72 -> c
+    2:5:void setCallSiteContexts(com.android.tools.r8.graph.ProgramMethod):167:170 -> c
+    1:1:com.android.tools.r8.graph.DexCode$Try[] lambda$specify$3(com.android.tools.r8.graph.DexCode):73:73 -> d
+    1:1:com.android.tools.r8.graph.DexCode$TryHandler[] lambda$specify$4(com.android.tools.r8.graph.DexCode):74:74 -> e
+    1:1:com.android.tools.r8.graph.DexDebugInfo lambda$specify$5(com.android.tools.r8.graph.DexCode):75:75 -> f
+    1:1:com.android.tools.r8.code.Instruction[] lambda$specify$6(com.android.tools.r8.graph.DexCode):76:76 -> g
+    2:2:boolean computeEquals(java.lang.Object):350:350 -> g
+    1:7:int computeHashCode():339:345 -> g0
+    com.android.tools.r8.graph.DexWritableCode asDexWritableCode() -> i0
+    1:1:int estimatedDexCodeSizeUpperBoundInBytes():214:214 -> k0
+    1:1:int estimatedSizeForInlining():209:209 -> l0
+    1:1:com.android.tools.r8.graph.DexWritableCode$DexWritableCodeKind getDexWritableCodeKind():137:137 -> m
+    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():142:142 -> n
+    boolean isDexCode() -> o0
+    1:1:com.android.tools.r8.graph.DexCode$Try[] getTries():619:619 -> p
+    boolean isDexWritableCode() -> p0
     com.android.tools.r8.graph.Code asCode() -> q
-    1:1:com.android.tools.r8.graph.DexDebugInfo getDebugInfo():221:221 -> s0
-    1:1:boolean isEmptyVoidMethod():350:350 -> t0
-    1:1:java.lang.String toString():420:420 -> toString
-    1:1:com.android.tools.r8.graph.DexCode withoutThisParameter():180:180 -> u0
-    2:11:com.android.tools.r8.graph.DexDebugInfo debugInfoWithoutFirstParameter():315:324 -> u0
-    2:11:com.android.tools.r8.graph.DexCode withoutThisParameter():187 -> u0
-    12:12:com.android.tools.r8.graph.DexCode withoutThisParameter():187:187 -> u0
-    1:1:com.android.tools.r8.graph.DexCode$TryHandler[] getHandlers():587:587 -> v
-    1:1:com.android.tools.r8.graph.DexString getHighestSortingString():592:592 -> x
-    1:1:int getOutgoingRegisterSize():612:612 -> z
+    1:1:com.android.tools.r8.graph.DexDebugInfo getDebugInfo():223:223 -> t0
+    1:1:java.lang.String toString():427:427 -> toString
+    1:1:boolean isEmptyVoidMethod():355:355 -> u0
+    1:1:com.android.tools.r8.graph.DexCode$TryHandler[] getHandlers():609:609 -> v
+    1:1:com.android.tools.r8.graph.DexString getHighestSortingString():614:614 -> x
+    1:1:int getOutgoingRegisterSize():634:634 -> z
 com.android.tools.r8.graph.DexCode$Try -> com.android.tools.r8.graph.O$a:
     boolean $assertionsDisabled -> f
     int instructionCount -> d
     int handlerIndex -> e
     int handlerOffset -> b
     int startAddress -> c
-    1:1:void <clinit>():682:682 -> <clinit>
-    1:5:void <init>(int,int,int):698:702 -> <init>
+    1:1:void <clinit>():700:700 -> <clinit>
+    1:5:void <init>(int,int,int):716:720 -> <init>
     com.android.tools.r8.utils.structural.StructuralItem self() -> L
-    1:1:int lambda$specify$0(com.android.tools.r8.graph.DexCode$Try):693:693 -> a
-    2:4:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):693:695 -> a
-    5:5:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):742:742 -> a
-    1:1:int lambda$specify$1(com.android.tools.r8.graph.DexCode$Try):694:694 -> b
-    1:1:int lambda$specify$2(com.android.tools.r8.graph.DexCode$Try):695:695 -> c
-    1:1:boolean equals(java.lang.Object):726:726 -> equals
-    1:1:int hashCode():721:721 -> hashCode
-    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():712:712 -> n
+    1:1:int lambda$specify$0(com.android.tools.r8.graph.DexCode$Try):711:711 -> a
+    2:4:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):711:713 -> a
+    5:5:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):760:760 -> a
+    1:1:int lambda$specify$1(com.android.tools.r8.graph.DexCode$Try):712:712 -> b
+    1:1:int lambda$specify$2(com.android.tools.r8.graph.DexCode$Try):713:713 -> c
+    1:1:boolean equals(java.lang.Object):744:744 -> equals
+    1:1:int hashCode():739:739 -> hashCode
+    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():730:730 -> n
     1:1:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":736,"2":737,"3":738}}
-    736:736:java.lang.String toString():731:731 -> toString
-    737:737:java.lang.String toString():731:731 -> toString
-    738:738:java.lang.String toString():731:731 -> toString
-    732:735:java.lang.String toString():731:734 -> toString
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":754,"2":755,"3":756}}
+    754:754:java.lang.String toString():749:749 -> toString
+    755:755:java.lang.String toString():749:749 -> toString
+    756:756:java.lang.String toString():749:749 -> toString
+    750:753:java.lang.String toString():749:752 -> toString
 com.android.tools.r8.graph.DexCode$TryHandler -> com.android.tools.r8.graph.O$b:
     com.android.tools.r8.graph.DexCode$TryHandler$TypeAddrPair[] pairs -> b
     int catchAllAddr -> c
     boolean $assertionsDisabled -> d
-    1:1:void <clinit>():747:747 -> <clinit>
-    1:3:void <init>(com.android.tools.r8.graph.DexCode$TryHandler$TypeAddrPair[],int):758:760 -> <init>
+    1:1:void <clinit>():765:765 -> <clinit>
+    1:3:void <init>(com.android.tools.r8.graph.DexCode$TryHandler$TypeAddrPair[],int):776:778 -> <init>
     com.android.tools.r8.utils.structural.StructuralItem self() -> L
-    1:1:int lambda$specify$0(com.android.tools.r8.graph.DexCode$TryHandler):755:755 -> a
-    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):755:755 -> a
-    3:3:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):792:792 -> a
-    1:1:com.android.tools.r8.graph.DexCode$TryHandler$TypeAddrPair[] lambda$specify$1(com.android.tools.r8.graph.DexCode$TryHandler):755:755 -> b
-    1:1:boolean equals(java.lang.Object):780:780 -> equals
-    1:1:int hashCode():775:775 -> hashCode
+    1:1:int lambda$specify$0(com.android.tools.r8.graph.DexCode$TryHandler):773:773 -> a
+    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):773:773 -> a
+    3:3:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):810:810 -> a
+    1:1:com.android.tools.r8.graph.DexCode$TryHandler$TypeAddrPair[] lambda$specify$1(com.android.tools.r8.graph.DexCode$TryHandler):773:773 -> b
+    1:1:boolean equals(java.lang.Object):798:798 -> equals
+    1:1:int hashCode():793:793 -> hashCode
     2:2:int com.android.tools.r8.utils.structural.HashCodeVisitor.run(com.android.tools.r8.utils.structural.StructuralItem):28:28 -> hashCode
-    2:2:int hashCode():775 -> hashCode
-    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():770:770 -> n
+    2:2:int hashCode():793 -> hashCode
+    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():788:788 -> n
     1:1:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":814,"2":815,"3":816}}
-    814:814:java.lang.String toString():797:797 -> toString
-    815:815:java.lang.String toString():797:797 -> toString
-    816:816:java.lang.String toString():798:798 -> toString
-    800:813:java.lang.String toString():799:812 -> toString
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":832,"2":833,"3":834}}
+    832:832:java.lang.String toString():815:815 -> toString
+    833:833:java.lang.String toString():815:815 -> toString
+    834:834:java.lang.String toString():816:816 -> toString
+    818:831:java.lang.String toString():817:830 -> toString
 com.android.tools.r8.graph.DexCode$TryHandler$TypeAddrPair -> com.android.tools.r8.graph.O$b$a:
     com.android.tools.r8.graph.DexType type -> b
     int addr -> c
     boolean $assertionsDisabled -> d
-    1:1:void <clinit>():815:815 -> <clinit>
-    1:3:void <init>(com.android.tools.r8.graph.DexType,int):824:826 -> <init>
+    1:1:void <clinit>():833:833 -> <clinit>
+    1:3:void <init>(com.android.tools.r8.graph.DexType,int):842:844 -> <init>
     com.android.tools.r8.utils.structural.StructuralItem self() -> L
-    1:1:com.android.tools.r8.graph.DexType access$000(com.android.tools.r8.graph.DexCode$TryHandler$TypeAddrPair):815:815 -> a
-    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):821:821 -> a
-    3:3:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.GraphLens):844:844 -> a
-    3:3:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):848 -> a
+    1:1:com.android.tools.r8.graph.DexType access$000(com.android.tools.r8.graph.DexCode$TryHandler$TypeAddrPair):833:833 -> a
+    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):839:839 -> a
+    3:3:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.GraphLens):862:862 -> a
+    3:3:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):866 -> a
     4:4:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):393:393 -> a
-    4:4:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.GraphLens):844 -> a
-    4:4:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):848 -> a
-    5:5:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):849:849 -> a
+    4:4:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.GraphLens):862 -> a
+    4:4:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):866 -> a
+    5:5:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):867:867 -> a
     6:6:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):245:245 -> a
-    6:6:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):849 -> a
+    6:6:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):867 -> a
     7:7:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):0:0 -> a
       # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":8,"2":9,"3":10}}
     8:8:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
-    8:8:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):849 -> a
+    8:8:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):867 -> a
     9:9:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
-    9:9:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):849 -> a
+    9:9:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):867 -> a
     10:10:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
     10:10:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246 -> a
-    10:10:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):849 -> a
-    11:11:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.GraphLens):844:844 -> a
+    10:10:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):867 -> a
+    11:11:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.GraphLens):862:862 -> a
     12:12:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.GraphLens):0:0 -> a
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":856,"2":857,"3":858}}
-    856:856:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.GraphLens):844:844 -> a
-    857:857:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):393:393 -> a
-    857:857:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.GraphLens):844 -> a
-    858:858:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):393:393 -> a
-    858:858:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.GraphLens):844 -> a
-    859:859:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):855:855 -> a
-    1:1:com.android.tools.r8.graph.DexType lambda$specify$0(com.android.tools.r8.graph.DexCode$TryHandler$TypeAddrPair):821:821 -> b
-    1:1:int lambda$specify$1(com.android.tools.r8.graph.DexCode$TryHandler$TypeAddrPair):821:821 -> c
-    1:1:boolean equals(java.lang.Object):865:865 -> equals
-    1:1:com.android.tools.r8.graph.DexType getType():840:840 -> getType
-    1:1:int hashCode():860:860 -> hashCode
-    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():836:836 -> n
-com.android.tools.r8.graph.DexDebugEntry -> com.android.tools.r8.internal.sg:
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":874,"2":875,"3":876}}
+    874:874:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.GraphLens):862:862 -> a
+    875:875:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):393:393 -> a
+    875:875:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.GraphLens):862 -> a
+    876:876:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):393:393 -> a
+    876:876:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.GraphLens):862 -> a
+    877:877:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):873:873 -> a
+    1:1:com.android.tools.r8.graph.DexType lambda$specify$0(com.android.tools.r8.graph.DexCode$TryHandler$TypeAddrPair):839:839 -> b
+    1:1:int lambda$specify$1(com.android.tools.r8.graph.DexCode$TryHandler$TypeAddrPair):839:839 -> c
+    1:1:boolean equals(java.lang.Object):883:883 -> equals
+    1:1:com.android.tools.r8.graph.DexType getType():858:858 -> getType
+    1:1:int hashCode():878:878 -> hashCode
+    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():854:854 -> n
+com.android.tools.r8.graph.DexDebugEntry -> com.android.tools.r8.internal.tg:
     com.android.tools.r8.ir.code.Position callerPosition -> i
     com.android.tools.r8.graph.DexString sourceFile -> d
     boolean $assertionsDisabled -> j
@@ -25866,317 +25850,312 @@
     boolean prologueEnd -> a
     boolean epilogueBegin -> b
     java.util.Map canonicalizedLocals -> f
-    1:1:void <clinit>():24:24 -> <clinit>
-    1:1:void <init>(int,com.android.tools.r8.graph.DexMethod):61:61 -> <init>
-    2:21:void <init>(int,com.android.tools.r8.graph.DexMethod):45:64 -> <init>
-    22:22:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexItemFactory):67:67 -> <init>
-    23:71:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexItemFactory):45:93 -> <init>
-    1:2:void visit(com.android.tools.r8.graph.DexDebugEvent$AdvancePC):103:104 -> a
-    3:3:void visit(com.android.tools.r8.graph.DexDebugEvent$AdvanceLine):109:109 -> a
-    4:4:void visit(com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame):114:114 -> a
-    5:5:void visit(com.android.tools.r8.graph.DexDebugEvent$SetOutlineFrame):119:119 -> a
-    6:6:void visit(com.android.tools.r8.graph.DexDebugEvent$SetOutlineCallerFrame):124:124 -> a
-    7:8:void visit(com.android.tools.r8.graph.DexDebugEvent$Default):129:130 -> a
-    9:9:void visit(com.android.tools.r8.graph.DexDebugEvent$SetFile):135:135 -> a
-    10:10:void visit(com.android.tools.r8.graph.DexDebugEvent$SetPrologueEnd):140:140 -> a
-    11:11:void visit(com.android.tools.r8.graph.DexDebugEvent$SetEpilogueBegin):145:145 -> a
-    12:12:void visit(com.android.tools.r8.graph.DexDebugEvent$StartLocal):156:156 -> a
-    13:16:com.android.tools.r8.graph.DexDebugEntryBuilder$LocalEntry getEntry(int):218:221 -> a
-    13:16:void visit(com.android.tools.r8.graph.DexDebugEvent$StartLocal):156 -> a
-    17:17:void visit(com.android.tools.r8.graph.DexDebugEvent$StartLocal):156:156 -> a
-    18:19:com.android.tools.r8.graph.DebugLocalInfo canonicalize(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):212:213 -> a
-    18:19:void visit(com.android.tools.r8.graph.DexDebugEvent$StartLocal):157 -> a
-    20:21:void com.android.tools.r8.graph.DexDebugEntryBuilder$LocalEntry.set(com.android.tools.r8.graph.DebugLocalInfo):31:32 -> a
-    20:21:void visit(com.android.tools.r8.graph.DexDebugEvent$StartLocal):157 -> a
-    22:22:void visit(com.android.tools.r8.graph.DexDebugEvent$EndLocal):162:162 -> a
-    23:26:com.android.tools.r8.graph.DexDebugEntryBuilder$LocalEntry getEntry(int):218:221 -> a
-    23:26:void visit(com.android.tools.r8.graph.DexDebugEvent$EndLocal):162 -> a
-    27:27:void com.android.tools.r8.graph.DexDebugEntryBuilder$LocalEntry.unset():36:36 -> a
-    27:27:void visit(com.android.tools.r8.graph.DexDebugEvent$EndLocal):162 -> a
-    28:28:void visit(com.android.tools.r8.graph.DexDebugEvent$RestartLocal):167:167 -> a
-    29:32:com.android.tools.r8.graph.DexDebugEntryBuilder$LocalEntry getEntry(int):218:221 -> a
-    29:32:void visit(com.android.tools.r8.graph.DexDebugEvent$RestartLocal):167 -> a
-    33:33:void com.android.tools.r8.graph.DexDebugEntryBuilder$LocalEntry.reset():40:40 -> a
-    33:33:void visit(com.android.tools.r8.graph.DexDebugEvent$RestartLocal):167 -> a
-    34:36:void entryEventReceived(boolean):171:173 -> a
-    37:45:com.android.tools.r8.com.google.common.collect.ImmutableMap getLocals():227:235 -> a
-    37:45:void entryEventReceived(boolean):181 -> a
-    46:46:void entryEventReceived(boolean):181:181 -> a
-    47:71:void entryEventReceived(boolean):173:197 -> a
-    72:77:java.util.List build():202:207 -> a
-    78:79:com.android.tools.r8.graph.DebugLocalInfo canonicalize(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):212:213 -> a
-    78:79:void startArgument(int,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):149 -> a
-    80:80:void startArgument(int,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):150:150 -> a
-    81:84:com.android.tools.r8.graph.DexDebugEntryBuilder$LocalEntry getEntry(int):218:221 -> a
-    81:84:void startArgument(int,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):151 -> a
-    85:86:void com.android.tools.r8.graph.DexDebugEntryBuilder$LocalEntry.set(com.android.tools.r8.graph.DebugLocalInfo):31:32 -> a
-    85:86:void startArgument(int,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):151 -> a
+    1:1:void <clinit>():25:25 -> <clinit>
+    1:1:void <init>(int,com.android.tools.r8.graph.DexMethod):62:62 -> <init>
+    2:21:void <init>(int,com.android.tools.r8.graph.DexMethod):46:65 -> <init>
+    22:22:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexItemFactory):68:68 -> <init>
+    23:71:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexItemFactory):46:94 -> <init>
+    1:2:void visit(com.android.tools.r8.graph.DexDebugEvent$AdvancePC):104:105 -> a
+    3:3:void visit(com.android.tools.r8.graph.DexDebugEvent$AdvanceLine):110:110 -> a
+    4:4:void visit(com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame):115:115 -> a
+    5:5:void visit(com.android.tools.r8.graph.DexDebugEvent$SetOutlineFrame):120:120 -> a
+    6:6:void visit(com.android.tools.r8.graph.DexDebugEvent$SetOutlineCallerFrame):125:125 -> a
+    7:8:void visit(com.android.tools.r8.graph.DexDebugEvent$Default):130:131 -> a
+    9:9:void visit(com.android.tools.r8.graph.DexDebugEvent$SetFile):136:136 -> a
+    10:10:void visit(com.android.tools.r8.graph.DexDebugEvent$SetPrologueEnd):141:141 -> a
+    11:11:void visit(com.android.tools.r8.graph.DexDebugEvent$SetEpilogueBegin):146:146 -> a
+    12:12:void visit(com.android.tools.r8.graph.DexDebugEvent$StartLocal):157:157 -> a
+    13:16:com.android.tools.r8.graph.DexDebugEntryBuilder$LocalEntry getEntry(int):219:222 -> a
+    13:16:void visit(com.android.tools.r8.graph.DexDebugEvent$StartLocal):157 -> a
+    17:17:void visit(com.android.tools.r8.graph.DexDebugEvent$StartLocal):157:157 -> a
+    18:19:com.android.tools.r8.graph.DebugLocalInfo canonicalize(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):213:214 -> a
+    18:19:void visit(com.android.tools.r8.graph.DexDebugEvent$StartLocal):158 -> a
+    20:21:void com.android.tools.r8.graph.DexDebugEntryBuilder$LocalEntry.set(com.android.tools.r8.graph.DebugLocalInfo):32:33 -> a
+    20:21:void visit(com.android.tools.r8.graph.DexDebugEvent$StartLocal):158 -> a
+    22:22:void visit(com.android.tools.r8.graph.DexDebugEvent$EndLocal):163:163 -> a
+    23:26:com.android.tools.r8.graph.DexDebugEntryBuilder$LocalEntry getEntry(int):219:222 -> a
+    23:26:void visit(com.android.tools.r8.graph.DexDebugEvent$EndLocal):163 -> a
+    27:27:void com.android.tools.r8.graph.DexDebugEntryBuilder$LocalEntry.unset():37:37 -> a
+    27:27:void visit(com.android.tools.r8.graph.DexDebugEvent$EndLocal):163 -> a
+    28:28:void visit(com.android.tools.r8.graph.DexDebugEvent$RestartLocal):168:168 -> a
+    29:32:com.android.tools.r8.graph.DexDebugEntryBuilder$LocalEntry getEntry(int):219:222 -> a
+    29:32:void visit(com.android.tools.r8.graph.DexDebugEvent$RestartLocal):168 -> a
+    33:33:void com.android.tools.r8.graph.DexDebugEntryBuilder$LocalEntry.reset():41:41 -> a
+    33:33:void visit(com.android.tools.r8.graph.DexDebugEvent$RestartLocal):168 -> a
+    34:36:void entryEventReceived(boolean):172:174 -> a
+    37:45:com.android.tools.r8.com.google.common.collect.ImmutableMap getLocals():228:236 -> a
+    37:45:void entryEventReceived(boolean):182 -> a
+    46:46:void entryEventReceived(boolean):182:182 -> a
+    47:71:void entryEventReceived(boolean):174:198 -> a
+    72:77:java.util.List build():203:208 -> a
+    78:79:com.android.tools.r8.graph.DebugLocalInfo canonicalize(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):213:214 -> a
+    78:79:void startArgument(int,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):150 -> a
+    80:80:void startArgument(int,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):151:151 -> a
+    81:84:com.android.tools.r8.graph.DexDebugEntryBuilder$LocalEntry getEntry(int):219:222 -> a
+    81:84:void startArgument(int,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):152 -> a
+    85:86:void com.android.tools.r8.graph.DexDebugEntryBuilder$LocalEntry.set(com.android.tools.r8.graph.DebugLocalInfo):32:33 -> a
+    85:86:void startArgument(int,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):152 -> a
 com.android.tools.r8.graph.DexDebugEntryBuilder$1 -> com.android.tools.r8.graph.P:
 com.android.tools.r8.graph.DexDebugEntryBuilder$LocalEntry -> com.android.tools.r8.graph.Q:
     com.android.tools.r8.graph.DebugLocalInfo current -> a
     com.android.tools.r8.graph.DebugLocalInfo last -> b
-    1:1:void <init>():26:26 -> <init>
-    2:2:void <init>(com.android.tools.r8.graph.DexDebugEntryBuilder$1):26:26 -> <init>
+    1:1:void <init>():27:27 -> <init>
+    2:2:void <init>(com.android.tools.r8.graph.DexDebugEntryBuilder$1):27:27 -> <init>
 com.android.tools.r8.graph.DexDebugEvent -> com.android.tools.r8.graph.U:
-    com.android.tools.r8.graph.DexDebugEvent$Default ZERO_CHANGE_DEFAULT_EVENT -> c
     com.android.tools.r8.graph.DexDebugEvent[] EMPTY_ARRAY -> b
-    boolean $assertionsDisabled -> d
+    boolean $assertionsDisabled -> c
     1:8:void <clinit>():20:27 -> <clinit>
-    9:9:com.android.tools.r8.graph.DexDebugEvent$Default com.android.tools.r8.graph.DexDebugEvent$Default.create(int,int):756:756 -> <clinit>
-    9:9:void <clinit>():29 -> <clinit>
-    10:10:void <clinit>():29:29 -> <clinit>
     1:1:void <init>():20:20 -> <init>
     com.android.tools.r8.utils.structural.StructuralItem self() -> L
     void accept(com.android.tools.r8.graph.DexDebugEventVisitor) -> a
     void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens) -> a
     void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection) -> a
     1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):20:20 -> a
-    2:3:int acceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):70:71 -> a
-    4:5:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):76:77 -> a
-    6:7:void writeOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):82:83 -> a
-    8:8:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):92:92 -> a
+    2:3:int acceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):68:69 -> a
+    4:5:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):74:75 -> a
+    6:6:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):90:90 -> a
     int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor) -> b
     void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor) -> b
-    1:1:boolean equals(java.lang.Object):49:49 -> equals
-    com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame asSetInlineFrame() -> f0
-    int getCompareToId() -> g0
-    boolean isWritableEvent() -> h0
-    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():65:65 -> n
+    1:1:boolean equals(java.lang.Object):47:47 -> equals
+    com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame asSetInlineFrame() -> g0
+    int getCompareToId() -> h0
+    boolean isWritableEvent() -> i0
+    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():63:63 -> n
 com.android.tools.r8.graph.DexDebugEvent$AdvanceLine -> com.android.tools.r8.graph.T:
-    int delta -> e
-    1:2:void <init>(int):273:274 -> <init>
+    int delta -> d
+    1:2:void <init>(int):271:272 -> <init>
     com.android.tools.r8.utils.structural.StructuralItem self() -> L
-    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):269:269 -> a
-    2:3:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):285:286 -> a
-    4:4:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):291:291 -> a
-    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):312:312 -> b
-    2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):317:317 -> b
-    int getCompareToId() -> g0
-    1:1:int hashCode():301:301 -> hashCode
+    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):267:267 -> a
+    2:3:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):283:284 -> a
+    4:4:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):289:289 -> a
+    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):310:310 -> b
+    2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):315:315 -> b
+    int getCompareToId() -> h0
+    1:1:int hashCode():299:299 -> hashCode
     1:1:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":298,"2":299,"3":300}}
-    298:298:java.lang.String toString():296:296 -> toString
-    299:299:java.lang.String toString():296:296 -> toString
-    300:300:java.lang.String toString():296:296 -> toString
-    297:297:java.lang.String toString():296:296 -> toString
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":296,"2":297,"3":298}}
+    296:296:java.lang.String toString():294:294 -> toString
+    297:297:java.lang.String toString():294:294 -> toString
+    298:298:java.lang.String toString():294:294 -> toString
+    295:295:java.lang.String toString():294:294 -> toString
 com.android.tools.r8.graph.DexDebugEvent$AdvancePC -> com.android.tools.r8.graph.U$a:
-    boolean $assertionsDisabled -> f
-    int delta -> e
-    1:1:void <clinit>():117:117 -> <clinit>
-    1:2:void <init>(int):133:134 -> <init>
+    boolean $assertionsDisabled -> e
+    int delta -> d
+    1:1:void <clinit>():115:115 -> <clinit>
+    1:2:void <init>(int):131:132 -> <init>
     com.android.tools.r8.utils.structural.StructuralItem self() -> L
-    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):117:117 -> a
-    2:3:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):129:130 -> a
-    4:5:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):139:140 -> a
-    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):162:162 -> b
-    2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):167:167 -> b
-    int getCompareToId() -> g0
-    boolean isWritableEvent() -> h0
-    1:1:int hashCode():151:151 -> hashCode
+    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):115:115 -> a
+    2:3:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):127:128 -> a
+    4:5:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):137:138 -> a
+    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):160:160 -> b
+    2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):165:165 -> b
+    int getCompareToId() -> h0
+    1:1:int hashCode():149:149 -> hashCode
+    boolean isWritableEvent() -> i0
     1:1:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":148,"2":149,"3":150}}
-    148:148:java.lang.String toString():146:146 -> toString
-    149:149:java.lang.String toString():146:146 -> toString
-    150:150:java.lang.String toString():146:146 -> toString
-    147:147:java.lang.String toString():146:146 -> toString
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":146,"2":147,"3":148}}
+    146:146:java.lang.String toString():144:144 -> toString
+    147:147:java.lang.String toString():144:144 -> toString
+    148:148:java.lang.String toString():144:144 -> toString
+    145:145:java.lang.String toString():144:144 -> toString
 com.android.tools.r8.graph.DexDebugEvent$Default -> com.android.tools.r8.graph.U$b:
-    boolean $assertionsDisabled -> f
-    int value -> e
-    1:1:void <clinit>():740:740 -> <clinit>
-    1:3:void <init>(int):744:746 -> <init>
+    boolean $assertionsDisabled -> e
+    int value -> d
+    1:1:void <clinit>():738:738 -> <clinit>
+    1:3:void <init>(int):742:744 -> <init>
     com.android.tools.r8.utils.structural.StructuralItem self() -> L
-    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):740:740 -> a
+    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):738:738 -> a
     2:2:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):767:767 -> a
     3:3:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):772:772 -> a
     1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):803:803 -> b
     2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):808:808 -> b
-    int getCompareToId() -> g0
-    boolean isWritableEvent() -> h0
+    int getCompareToId() -> h0
     1:1:int hashCode():792:792 -> hashCode
-    1:2:int getLineDelta():781:782 -> i0
-    1:2:int getPCDelta():776:777 -> j0
+    boolean isWritableEvent() -> i0
+    1:2:int getLineDelta():781:782 -> j0
+    1:2:int getPCDelta():776:777 -> k0
     1:1:java.lang.String toString():787:787 -> toString
 com.android.tools.r8.graph.DexDebugEvent$EndLocal -> com.android.tools.r8.graph.V:
-    int registerNum -> e
-    1:2:void <init>(int):422:423 -> <init>
+    int registerNum -> d
+    1:2:void <init>(int):420:421 -> <init>
     com.android.tools.r8.utils.structural.StructuralItem self() -> L
-    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):418:418 -> a
-    2:3:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):434:435 -> a
-    4:4:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):440:440 -> a
-    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):461:461 -> b
-    2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):466:466 -> b
-    int getCompareToId() -> g0
-    boolean isWritableEvent() -> h0
-    1:1:int hashCode():450:450 -> hashCode
+    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):416:416 -> a
+    2:3:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):432:433 -> a
+    4:4:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):438:438 -> a
+    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):459:459 -> b
+    2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):464:464 -> b
+    int getCompareToId() -> h0
+    1:1:int hashCode():448:448 -> hashCode
+    boolean isWritableEvent() -> i0
     1:1:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":447,"2":448,"3":449}}
-    447:447:java.lang.String toString():445:445 -> toString
-    448:448:java.lang.String toString():445:445 -> toString
-    449:449:java.lang.String toString():445:445 -> toString
-    446:446:java.lang.String toString():445:445 -> toString
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":445,"2":446,"3":447}}
+    445:445:java.lang.String toString():443:443 -> toString
+    446:446:java.lang.String toString():443:443 -> toString
+    447:447:java.lang.String toString():443:443 -> toString
+    444:444:java.lang.String toString():443:443 -> toString
 com.android.tools.r8.graph.DexDebugEvent$RestartLocal -> com.android.tools.r8.graph.W:
-    int registerNum -> e
-    1:2:void <init>(int):474:475 -> <init>
+    int registerNum -> d
+    1:2:void <init>(int):472:473 -> <init>
     com.android.tools.r8.utils.structural.StructuralItem self() -> L
-    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):470:470 -> a
-    2:3:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):486:487 -> a
-    4:4:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):492:492 -> a
-    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):513:513 -> b
-    2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):518:518 -> b
-    int getCompareToId() -> g0
-    boolean isWritableEvent() -> h0
-    1:1:int hashCode():502:502 -> hashCode
+    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):468:468 -> a
+    2:3:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):484:485 -> a
+    4:4:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):490:490 -> a
+    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):511:511 -> b
+    2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):516:516 -> b
+    int getCompareToId() -> h0
+    1:1:int hashCode():500:500 -> hashCode
+    boolean isWritableEvent() -> i0
     1:1:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":499,"2":500,"3":501}}
-    499:499:java.lang.String toString():497:497 -> toString
-    500:500:java.lang.String toString():497:497 -> toString
-    501:501:java.lang.String toString():497:497 -> toString
-    498:498:java.lang.String toString():497:497 -> toString
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":497,"2":498,"3":499}}
+    497:497:java.lang.String toString():495:495 -> toString
+    498:498:java.lang.String toString():495:495 -> toString
+    499:499:java.lang.String toString():495:495 -> toString
+    496:496:java.lang.String toString():495:495 -> toString
 com.android.tools.r8.graph.DexDebugEvent$SetEpilogueBegin -> com.android.tools.r8.graph.X:
-    boolean $assertionsDisabled -> e
-    1:1:void <clinit>():221:221 -> <clinit>
-    1:1:void <init>():223:223 -> <init>
+    boolean $assertionsDisabled -> d
+    1:1:void <clinit>():219:219 -> <clinit>
+    1:1:void <init>():221:221 -> <init>
     com.android.tools.r8.utils.structural.StructuralItem self() -> L
-    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):221:221 -> a
-    2:2:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):234:234 -> a
-    3:3:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):239:239 -> a
+    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):219:219 -> a
+    2:2:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):232:232 -> a
+    3:3:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):237:237 -> a
     void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor) -> b
-    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):259:259 -> b
-    int getCompareToId() -> g0
-    boolean isWritableEvent() -> h0
-    1:1:java.lang.String toString():244:244 -> toString
+    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):257:257 -> b
+    int getCompareToId() -> h0
+    boolean isWritableEvent() -> i0
+    1:1:java.lang.String toString():242:242 -> toString
 com.android.tools.r8.graph.DexDebugEvent$SetFile -> com.android.tools.r8.graph.U$c:
-    com.android.tools.r8.graph.DexString fileName -> e
-    1:2:void <init>(com.android.tools.r8.graph.DexString):533:534 -> <init>
+    com.android.tools.r8.graph.DexString fileName -> d
+    1:2:void <init>(com.android.tools.r8.graph.DexString):531:532 -> <init>
     com.android.tools.r8.utils.structural.StructuralItem self() -> L
-    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):529:529 -> a
-    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):545:545 -> a
+    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):527:527 -> a
+    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):543:543 -> a
     3:3:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
-    3:3:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):545 -> a
-    4:4:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):550:550 -> a
-    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):571:571 -> b
+    3:3:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):543 -> a
+    4:4:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):548:548 -> a
+    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):569:569 -> b
     2:2:int com.android.tools.r8.graph.DexString.acceptCompareTo(com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.structural.CompareToVisitor):65:65 -> b
-    2:2:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):571 -> b
-    3:3:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):576:576 -> b
-    int getCompareToId() -> g0
-    boolean isWritableEvent() -> h0
-    1:2:int hashCode():560:561 -> hashCode
+    2:2:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):569 -> b
+    3:3:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):574:574 -> b
+    int getCompareToId() -> h0
+    1:2:int hashCode():558:559 -> hashCode
+    boolean isWritableEvent() -> i0
     1:1:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":557,"2":558,"3":559}}
-    557:557:java.lang.String toString():555:555 -> toString
-    558:558:java.lang.String toString():555:555 -> toString
-    559:559:java.lang.String toString():555:555 -> toString
-    556:556:java.lang.String toString():555:555 -> toString
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":555,"2":556,"3":557}}
+    555:555:java.lang.String toString():553:553 -> toString
+    556:556:java.lang.String toString():553:553 -> toString
+    557:557:java.lang.String toString():553:553 -> toString
+    554:554:java.lang.String toString():553:553 -> toString
 com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame -> com.android.tools.r8.graph.Y:
-    com.android.tools.r8.graph.DexMethod callee -> e
-    boolean $assertionsDisabled -> g
-    com.android.tools.r8.ir.code.Position caller -> f
-    1:1:void <clinit>():580:580 -> <clinit>
-    1:4:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position):589:592 -> <init>
+    boolean $assertionsDisabled -> f
+    com.android.tools.r8.graph.DexMethod callee -> d
+    com.android.tools.r8.ir.code.Position caller -> e
+    1:1:void <clinit>():578:578 -> <clinit>
+    1:4:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position):587:590 -> <init>
     com.android.tools.r8.utils.structural.StructuralItem self() -> L
-    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):580:580 -> a
-    2:2:com.android.tools.r8.graph.DexMethod lambda$specify$0(com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame):586:586 -> a
-    3:3:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):586:586 -> a
-    4:4:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):597:597 -> a
-    5:6:boolean hasOuterPosition(com.android.tools.r8.graph.DexMethod):636:637 -> a
-    1:1:com.android.tools.r8.ir.code.Position lambda$specify$1(com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame):586:586 -> b
-    2:2:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):617:617 -> b
-    3:3:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):622:622 -> b
-    com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame asSetInlineFrame() -> f0
-    int getCompareToId() -> g0
-    1:1:int hashCode():607:607 -> hashCode
-    1:1:java.lang.String toString():602:602 -> toString
+    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):578:578 -> a
+    2:2:com.android.tools.r8.graph.DexMethod lambda$specify$0(com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame):584:584 -> a
+    3:3:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):584:584 -> a
+    4:4:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):595:595 -> a
+    5:6:boolean hasOuterPosition(com.android.tools.r8.graph.DexMethod):634:635 -> a
+    1:1:com.android.tools.r8.ir.code.Position lambda$specify$1(com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame):584:584 -> b
+    2:2:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):615:615 -> b
+    3:3:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):620:620 -> b
+    com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame asSetInlineFrame() -> g0
+    int getCompareToId() -> h0
+    1:1:int hashCode():605:605 -> hashCode
+    1:1:java.lang.String toString():600:600 -> toString
 com.android.tools.r8.graph.DexDebugEvent$SetOutlineCallerFrame -> com.android.tools.r8.graph.Z:
-    com.android.tools.r8.graph.DexMethod outlineCallee -> e
-    boolean $assertionsDisabled -> g
-    com.android.tools.r8.utils.Int2StructuralItemArrayMap outlinePositions -> f
-    1:1:void <clinit>():674:674 -> <clinit>
-    1:5:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.Int2StructuralItemArrayMap):684:688 -> <init>
+    boolean $assertionsDisabled -> f
+    com.android.tools.r8.graph.DexMethod outlineCallee -> d
+    com.android.tools.r8.utils.Int2StructuralItemArrayMap outlinePositions -> e
+    1:1:void <clinit>():672:672 -> <clinit>
+    1:5:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.Int2StructuralItemArrayMap):682:686 -> <init>
     com.android.tools.r8.utils.structural.StructuralItem self() -> L
-    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):674:674 -> a
-    2:2:com.android.tools.r8.graph.DexMethod lambda$specify$0(com.android.tools.r8.graph.DexDebugEvent$SetOutlineCallerFrame):680:680 -> a
-    3:3:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):680:680 -> a
-    4:4:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):701:701 -> a
-    1:1:com.android.tools.r8.utils.Int2StructuralItemArrayMap lambda$specify$1(com.android.tools.r8.graph.DexDebugEvent$SetOutlineCallerFrame):680:680 -> b
-    2:2:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):721:721 -> b
-    3:3:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):726:726 -> b
-    int getCompareToId() -> g0
-    1:1:int hashCode():711:711 -> hashCode
-    1:1:com.android.tools.r8.graph.DexMethod getOutlineCallee():692:692 -> i0
-    1:1:com.android.tools.r8.utils.Int2StructuralItemArrayMap getOutlinePositions():696:696 -> j0
-    1:1:java.lang.String toString():706:706 -> toString
+    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):672:672 -> a
+    2:2:com.android.tools.r8.graph.DexMethod lambda$specify$0(com.android.tools.r8.graph.DexDebugEvent$SetOutlineCallerFrame):678:678 -> a
+    3:3:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):678:678 -> a
+    4:4:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):699:699 -> a
+    1:1:com.android.tools.r8.utils.Int2StructuralItemArrayMap lambda$specify$1(com.android.tools.r8.graph.DexDebugEvent$SetOutlineCallerFrame):678:678 -> b
+    2:2:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):719:719 -> b
+    3:3:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):724:724 -> b
+    int getCompareToId() -> h0
+    1:1:int hashCode():709:709 -> hashCode
+    1:1:com.android.tools.r8.graph.DexMethod getOutlineCallee():690:690 -> j0
+    1:1:com.android.tools.r8.utils.Int2StructuralItemArrayMap getOutlinePositions():694:694 -> k0
+    1:1:java.lang.String toString():704:704 -> toString
 com.android.tools.r8.graph.DexDebugEvent$SetOutlineFrame -> com.android.tools.r8.graph.a0:
-    1:1:void <init>():641:641 -> <init>
+    1:1:void <init>():639:639 -> <init>
     com.android.tools.r8.utils.structural.StructuralItem self() -> L
-    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):641:641 -> a
-    2:2:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):670:670 -> a
+    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):639:639 -> a
+    2:2:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):668:668 -> a
     int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor) -> b
     void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor) -> b
-    int getCompareToId() -> g0
-    1:1:java.lang.String toString():645:645 -> toString
+    int getCompareToId() -> h0
+    1:1:java.lang.String toString():643:643 -> toString
 com.android.tools.r8.graph.DexDebugEvent$SetPrologueEnd -> com.android.tools.r8.graph.b0:
-    boolean $assertionsDisabled -> e
-    1:1:void <clinit>():171:171 -> <clinit>
-    1:1:void <init>():173:173 -> <init>
+    boolean $assertionsDisabled -> d
+    1:1:void <clinit>():169:169 -> <clinit>
+    1:1:void <init>():171:171 -> <init>
     com.android.tools.r8.utils.structural.StructuralItem self() -> L
-    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):171:171 -> a
-    2:2:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):184:184 -> a
-    3:3:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):189:189 -> a
+    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):169:169 -> a
+    2:2:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):182:182 -> a
+    3:3:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):187:187 -> a
     void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor) -> b
-    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):210:210 -> b
-    int getCompareToId() -> g0
-    boolean isWritableEvent() -> h0
-    1:1:java.lang.String toString():194:194 -> toString
+    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):208:208 -> b
+    int getCompareToId() -> h0
+    boolean isWritableEvent() -> i0
+    1:1:java.lang.String toString():192:192 -> toString
 com.android.tools.r8.graph.DexDebugEvent$StartLocal -> com.android.tools.r8.graph.U$d:
-    com.android.tools.r8.graph.DexString name -> f
-    com.android.tools.r8.graph.DexString signature -> h
-    int registerNum -> e
-    com.android.tools.r8.graph.DexType type -> g
-    1:5:void <init>(int,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):339:343 -> <init>
+    com.android.tools.r8.graph.DexString name -> e
+    com.android.tools.r8.graph.DexString signature -> g
+    int registerNum -> d
+    com.android.tools.r8.graph.DexType type -> f
+    1:5:void <init>(int,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):337:341 -> <init>
     com.android.tools.r8.utils.structural.StructuralItem self() -> L
-    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):321:321 -> a
-    2:2:int lambda$spec$0(com.android.tools.r8.graph.DexDebugEvent$StartLocal):329:329 -> a
-    3:6:void spec(com.android.tools.r8.utils.structural.StructuralSpecification):329:332 -> a
-    7:12:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):358:363 -> a
+    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):319:319 -> a
+    2:2:int lambda$spec$0(com.android.tools.r8.graph.DexDebugEvent$StartLocal):327:327 -> a
+    3:6:void spec(com.android.tools.r8.utils.structural.StructuralSpecification):327:330 -> a
+    7:12:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):356:361 -> a
     13:13:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):393:393 -> a
-    13:13:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):363 -> a
-    14:16:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):363:365 -> a
-    17:18:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):371:372 -> a
+    13:13:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):361 -> a
+    14:16:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):361:363 -> a
+    17:18:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):369:370 -> a
     19:19:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
-    19:19:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):372 -> a
-    20:21:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):374:375 -> a
+    19:19:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):370 -> a
+    20:21:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):372:373 -> a
     22:22:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):393:393 -> a
-    22:22:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):375 -> a
-    23:23:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):376:376 -> a
+    22:22:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):373 -> a
+    23:23:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):374:374 -> a
     24:24:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):245:245 -> a
-    24:24:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):376 -> a
+    24:24:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):374 -> a
     25:25:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):0:0 -> a
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":406,"2":407,"3":408}}
-    406:406:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
-    406:406:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):376 -> a
-    407:407:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
-    407:407:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):376 -> a
-    408:408:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
-    408:408:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246 -> a
-    408:408:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):376 -> a
-    403:404:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):378:379 -> a
-    405:405:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
-    405:405:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):379 -> a
-    409:409:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):385:385 -> a
-    1:1:com.android.tools.r8.graph.DexString lambda$spec$1(com.android.tools.r8.graph.DexDebugEvent$StartLocal):330:330 -> b
-    2:2:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):409:409 -> b
-    3:3:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):414:414 -> b
-    1:1:com.android.tools.r8.graph.DexType lambda$spec$2(com.android.tools.r8.graph.DexDebugEvent$StartLocal):331:331 -> c
-    1:1:com.android.tools.r8.graph.DexString lambda$spec$3(com.android.tools.r8.graph.DexDebugEvent$StartLocal):332:332 -> d
-    int getCompareToId() -> g0
-    boolean isWritableEvent() -> h0
-    1:5:int hashCode():395:399 -> hashCode
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":404,"2":405,"3":406}}
+    404:404:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
+    404:404:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):374 -> a
+    405:405:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
+    405:405:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):374 -> a
+    406:406:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
+    406:406:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246 -> a
+    406:406:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):374 -> a
+    401:402:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):376:377 -> a
+    403:403:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
+    403:403:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):377 -> a
+    407:407:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):383:383 -> a
+    1:1:com.android.tools.r8.graph.DexString lambda$spec$1(com.android.tools.r8.graph.DexDebugEvent$StartLocal):328:328 -> b
+    2:2:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):407:407 -> b
+    3:3:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):412:412 -> b
+    1:1:com.android.tools.r8.graph.DexType lambda$spec$2(com.android.tools.r8.graph.DexDebugEvent$StartLocal):329:329 -> c
+    1:1:com.android.tools.r8.graph.DexString lambda$spec$3(com.android.tools.r8.graph.DexDebugEvent$StartLocal):330:330 -> d
+    int getCompareToId() -> h0
+    1:5:int hashCode():393:397 -> hashCode
+    boolean isWritableEvent() -> i0
     1:1:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":392,"2":393,"3":394}}
-    392:392:java.lang.String toString():390:390 -> toString
-    393:393:java.lang.String toString():390:390 -> toString
-    394:394:java.lang.String toString():390:390 -> toString
-    391:391:java.lang.String toString():390:390 -> toString
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":390,"2":391,"3":392}}
+    390:390:java.lang.String toString():388:388 -> toString
+    391:391:java.lang.String toString():388:388 -> toString
+    392:392:java.lang.String toString():388:388 -> toString
+    389:389:java.lang.String toString():388:388 -> toString
 com.android.tools.r8.graph.DexDebugEventBuilder -> com.android.tools.r8.graph.c0:
     com.android.tools.r8.graph.DexItemFactory factory -> b
     boolean $assertionsDisabled -> m
@@ -26191,67 +26170,67 @@
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap lastKnownLocals -> e
     boolean pendingLocalChanges -> g
     java.util.List events -> k
-    1:1:void <clinit>():30:30 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):63:63 -> <init>
-    2:22:void <init>(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):46:66 -> <init>
-    1:2:void add(int,int,com.android.tools.r8.ir.code.Instruction):71:72 -> a
-    3:9:void updateBlockEntry(com.android.tools.r8.ir.code.Instruction):127:133 -> a
-    3:9:void add(int,int,com.android.tools.r8.ir.code.Instruction):76 -> a
+    1:1:void <clinit>():31:31 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):64:64 -> <init>
+    2:22:void <init>(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):47:67 -> <init>
+    1:2:void add(int,int,com.android.tools.r8.ir.code.Instruction):72:73 -> a
+    3:9:void updateBlockEntry(com.android.tools.r8.ir.code.Instruction):128:134 -> a
+    3:9:void add(int,int,com.android.tools.r8.ir.code.Instruction):77 -> a
     10:11:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,float):155:156 -> a
     10:11:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):167 -> a
-    10:11:void updateBlockEntry(com.android.tools.r8.ir.code.Instruction):133 -> a
-    10:11:void add(int,int,com.android.tools.r8.ir.code.Instruction):76 -> a
-    12:15:void updateBlockEntry(com.android.tools.r8.ir.code.Instruction):133:136 -> a
-    12:15:void add(int,int,com.android.tools.r8.ir.code.Instruction):76 -> a
-    16:32:void initialize(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):142:158 -> a
-    16:32:void updateBlockEntry(com.android.tools.r8.ir.code.Instruction):137 -> a
-    16:32:void add(int,int,com.android.tools.r8.ir.code.Instruction):76 -> a
+    10:11:void updateBlockEntry(com.android.tools.r8.ir.code.Instruction):134 -> a
+    10:11:void add(int,int,com.android.tools.r8.ir.code.Instruction):77 -> a
+    12:15:void updateBlockEntry(com.android.tools.r8.ir.code.Instruction):134:137 -> a
+    12:15:void add(int,int,com.android.tools.r8.ir.code.Instruction):77 -> a
+    16:32:void initialize(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):143:159 -> a
+    16:32:void updateBlockEntry(com.android.tools.r8.ir.code.Instruction):138 -> a
+    16:32:void add(int,int,com.android.tools.r8.ir.code.Instruction):77 -> a
     33:33:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):167:167 -> a
-    33:33:void initialize(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):158 -> a
-    33:33:void updateBlockEntry(com.android.tools.r8.ir.code.Instruction):137 -> a
-    33:33:void add(int,int,com.android.tools.r8.ir.code.Instruction):76 -> a
-    34:34:void initialize(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):158:158 -> a
-    34:34:void updateBlockEntry(com.android.tools.r8.ir.code.Instruction):137 -> a
-    34:34:void add(int,int,com.android.tools.r8.ir.code.Instruction):76 -> a
-    35:44:void add(int,int,com.android.tools.r8.ir.code.Instruction):78:87 -> a
-    45:49:void startArgument(com.android.tools.r8.ir.code.Argument):162:166 -> a
-    45:49:void add(int,int,com.android.tools.r8.ir.code.Instruction):87 -> a
+    33:33:void initialize(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):159 -> a
+    33:33:void updateBlockEntry(com.android.tools.r8.ir.code.Instruction):138 -> a
+    33:33:void add(int,int,com.android.tools.r8.ir.code.Instruction):77 -> a
+    34:34:void initialize(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):159:159 -> a
+    34:34:void updateBlockEntry(com.android.tools.r8.ir.code.Instruction):138 -> a
+    34:34:void add(int,int,com.android.tools.r8.ir.code.Instruction):77 -> a
+    35:44:void add(int,int,com.android.tools.r8.ir.code.Instruction):79:88 -> a
+    45:49:void startArgument(com.android.tools.r8.ir.code.Argument):163:167 -> a
+    45:49:void add(int,int,com.android.tools.r8.ir.code.Instruction):88 -> a
     50:50:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalsChange():0:0 -> a
-    50:50:void add(int,int,com.android.tools.r8.ir.code.Instruction):88 -> a
-    51:51:void add(int,int,com.android.tools.r8.ir.code.Instruction):89:89 -> a
-    52:53:void updateLocals(com.android.tools.r8.ir.code.DebugLocalsChange):171:172 -> a
-    52:53:void add(int,int,com.android.tools.r8.ir.code.Instruction):89 -> a
-    54:55:void add(int,int,com.android.tools.r8.ir.code.Instruction):91:92 -> a
-    56:58:void emitDebugPosition(int,com.android.tools.r8.ir.code.Position):184:186 -> a
-    56:58:void add(int,int,com.android.tools.r8.ir.code.Instruction):93 -> a
+    50:50:void add(int,int,com.android.tools.r8.ir.code.Instruction):89 -> a
+    51:51:void add(int,int,com.android.tools.r8.ir.code.Instruction):90:90 -> a
+    52:53:void updateLocals(com.android.tools.r8.ir.code.DebugLocalsChange):172:173 -> a
+    52:53:void add(int,int,com.android.tools.r8.ir.code.Instruction):90 -> a
+    54:55:void add(int,int,com.android.tools.r8.ir.code.Instruction):92:93 -> a
+    56:58:void emitDebugPosition(int,com.android.tools.r8.ir.code.Position):185:187 -> a
+    56:58:void add(int,int,com.android.tools.r8.ir.code.Instruction):94 -> a
     59:59:boolean com.android.tools.r8.ir.code.Position.isSyntheticPosition():0:0 -> a
-    59:59:void emitDebugPosition(int,com.android.tools.r8.ir.code.Position):187 -> a
-    59:59:void add(int,int,com.android.tools.r8.ir.code.Instruction):93 -> a
-    60:82:void emitDebugPosition(int,com.android.tools.r8.ir.code.Position):187:209 -> a
-    60:82:void add(int,int,com.android.tools.r8.ir.code.Instruction):93 -> a
-    83:83:void add(int,int,com.android.tools.r8.ir.code.Instruction):96:96 -> a
-    84:94:void emitLocalChanges(int):214:224 -> a
-    84:94:void add(int,int,com.android.tools.r8.ir.code.Instruction):97 -> a
-    95:96:void add(int,int,com.android.tools.r8.ir.code.Instruction):103:104 -> a
-    97:110:com.android.tools.r8.graph.DexDebugInfo build():110:123 -> a
-    111:124:void emitAdvancementEvents(int,com.android.tools.r8.ir.code.Position,int,com.android.tools.r8.ir.code.Position,java.util.List,com.android.tools.r8.graph.DexItemFactory,boolean):236:249 -> a
-    125:132:void emitAdvancementEvents(int,com.android.tools.r8.ir.code.Position,int,com.android.tools.r8.ir.code.Position,java.util.List,com.android.tools.r8.graph.DexItemFactory,boolean):247:254 -> a
-    133:142:void emitAdvancementEvents(int,com.android.tools.r8.ir.code.Position,int,com.android.tools.r8.ir.code.Position,java.util.List,com.android.tools.r8.graph.DexItemFactory,boolean):253:262 -> a
-    143:143:void emitAdvancementEvents(int,com.android.tools.r8.ir.code.Position,int,com.android.tools.r8.ir.code.Position,java.util.List,com.android.tools.r8.graph.DexItemFactory,boolean):261:261 -> a
-    144:144:com.android.tools.r8.graph.DexDebugEvent$SetOutlineCallerFrame com.android.tools.r8.graph.DexItemFactory.createSetOutlineCallerFrame(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.Int2StructuralItemArrayMap):2786:2786 -> a
-    144:144:void emitAdvancementEvents(int,com.android.tools.r8.ir.code.Position,int,com.android.tools.r8.ir.code.Position,java.util.List,com.android.tools.r8.graph.DexItemFactory,boolean):261 -> a
-    145:149:void emitAdvancementEvents(int,com.android.tools.r8.ir.code.Position,int,com.android.tools.r8.ir.code.Position,java.util.List,com.android.tools.r8.graph.DexItemFactory,boolean):260:264 -> a
-    150:162:void addDefaultEventWithAdvancePcIfNecessary(int,int,java.util.List,com.android.tools.r8.graph.DexItemFactory):271:283 -> a
-    163:163:void emitLocalChangeEvents(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,java.util.List,com.android.tools.r8.graph.DexItemFactory):293:293 -> a
+    59:59:void emitDebugPosition(int,com.android.tools.r8.ir.code.Position):188 -> a
+    59:59:void add(int,int,com.android.tools.r8.ir.code.Instruction):94 -> a
+    60:82:void emitDebugPosition(int,com.android.tools.r8.ir.code.Position):188:210 -> a
+    60:82:void add(int,int,com.android.tools.r8.ir.code.Instruction):94 -> a
+    83:83:void add(int,int,com.android.tools.r8.ir.code.Instruction):97:97 -> a
+    84:94:void emitLocalChanges(int):215:225 -> a
+    84:94:void add(int,int,com.android.tools.r8.ir.code.Instruction):98 -> a
+    95:96:void add(int,int,com.android.tools.r8.ir.code.Instruction):104:105 -> a
+    97:110:com.android.tools.r8.graph.DexDebugInfo build():111:124 -> a
+    111:124:void emitAdvancementEvents(int,com.android.tools.r8.ir.code.Position,int,com.android.tools.r8.ir.code.Position,java.util.List,com.android.tools.r8.graph.DexItemFactory,boolean):237:250 -> a
+    125:132:void emitAdvancementEvents(int,com.android.tools.r8.ir.code.Position,int,com.android.tools.r8.ir.code.Position,java.util.List,com.android.tools.r8.graph.DexItemFactory,boolean):248:255 -> a
+    133:142:void emitAdvancementEvents(int,com.android.tools.r8.ir.code.Position,int,com.android.tools.r8.ir.code.Position,java.util.List,com.android.tools.r8.graph.DexItemFactory,boolean):254:263 -> a
+    143:143:void emitAdvancementEvents(int,com.android.tools.r8.ir.code.Position,int,com.android.tools.r8.ir.code.Position,java.util.List,com.android.tools.r8.graph.DexItemFactory,boolean):262:262 -> a
+    144:144:com.android.tools.r8.graph.DexDebugEvent$SetOutlineCallerFrame com.android.tools.r8.graph.DexItemFactory.createSetOutlineCallerFrame(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.Int2StructuralItemArrayMap):2792:2792 -> a
+    144:144:void emitAdvancementEvents(int,com.android.tools.r8.ir.code.Position,int,com.android.tools.r8.ir.code.Position,java.util.List,com.android.tools.r8.graph.DexItemFactory,boolean):262 -> a
+    145:149:void emitAdvancementEvents(int,com.android.tools.r8.ir.code.Position,int,com.android.tools.r8.ir.code.Position,java.util.List,com.android.tools.r8.graph.DexItemFactory,boolean):261:265 -> a
+    150:162:void addDefaultEventWithAdvancePcIfNecessary(int,int,java.util.List,com.android.tools.r8.graph.DexItemFactory):272:284 -> a
+    163:163:void emitLocalChangeEvents(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,java.util.List,com.android.tools.r8.graph.DexItemFactory):294:294 -> a
     164:169:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap com.android.tools.r8.graph.DebugLocalInfo.endingLocals(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):74:79 -> a
-    164:169:void emitLocalChangeEvents(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,java.util.List,com.android.tools.r8.graph.DexItemFactory):293 -> a
+    164:169:void emitLocalChangeEvents(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,java.util.List,com.android.tools.r8.graph.DexItemFactory):294 -> a
     170:175:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap com.android.tools.r8.graph.DebugLocalInfo.startingLocals(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):88:93 -> a
-    170:175:void emitLocalChangeEvents(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,java.util.List,com.android.tools.r8.graph.DexItemFactory):295 -> a
-    176:191:void emitLocalChangeEvents(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,java.util.List,com.android.tools.r8.graph.DexItemFactory):296:311 -> a
-    192:192:void com.android.tools.r8.graph.DexDebugEvent$StartLocal.<init>(int,com.android.tools.r8.graph.DebugLocalInfo):347:347 -> a
-    192:192:void emitLocalChangeEvents(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,java.util.List,com.android.tools.r8.graph.DexItemFactory):311 -> a
-    193:194:void emitLocalChangeEvents(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,java.util.List,com.android.tools.r8.graph.DexItemFactory):311:312 -> a
-    1:4:boolean localsChanged():176:179 -> b
+    170:175:void emitLocalChangeEvents(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,java.util.List,com.android.tools.r8.graph.DexItemFactory):296 -> a
+    176:191:void emitLocalChangeEvents(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,java.util.List,com.android.tools.r8.graph.DexItemFactory):297:312 -> a
+    192:192:void com.android.tools.r8.graph.DexDebugEvent$StartLocal.<init>(int,com.android.tools.r8.graph.DebugLocalInfo):345:345 -> a
+    192:192:void emitLocalChangeEvents(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,java.util.List,com.android.tools.r8.graph.DexItemFactory):312 -> a
+    193:194:void emitLocalChangeEvents(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,java.util.List,com.android.tools.r8.graph.DexItemFactory):312:313 -> a
+    1:4:boolean localsChanged():177:180 -> b
 com.android.tools.r8.graph.DexDebugEventVisitor -> com.android.tools.r8.graph.d0:
     void visit(com.android.tools.r8.graph.DexDebugEvent$AdvanceLine) -> a
     void visit(com.android.tools.r8.graph.DexDebugEvent$AdvancePC) -> a
@@ -26265,41 +26244,133 @@
     void visit(com.android.tools.r8.graph.DexDebugEvent$SetOutlineFrame) -> a
     void visit(com.android.tools.r8.graph.DexDebugEvent$SetPrologueEnd) -> a
     void visit(com.android.tools.r8.graph.DexDebugEvent$StartLocal) -> a
-com.android.tools.r8.graph.DexDebugInfo -> com.android.tools.r8.graph.e0:
-    com.android.tools.r8.graph.DexDebugEvent[] events -> f
-    int startLine -> d
-    boolean $assertionsDisabled -> g
-    com.android.tools.r8.graph.DexString[] parameters -> e
-    1:1:void <clinit>():15:15 -> <clinit>
-    1:8:void <init>(int,com.android.tools.r8.graph.DexString[],com.android.tools.r8.graph.DexDebugEvent[]):27:34 -> <init>
-    com.android.tools.r8.utils.structural.StructuralItem self() -> L
-    1:1:int lambda$specify$0(com.android.tools.r8.graph.DexDebugInfo):22:22 -> a
-    2:4:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):22:24 -> a
-    5:9:java.util.List computeEntries(com.android.tools.r8.graph.DexMethod):48:52 -> a
-    10:10:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):80:80 -> a
-    1:1:com.android.tools.r8.graph.DexString[] lambda$specify$1(com.android.tools.r8.graph.DexDebugInfo):23:23 -> b
-    1:1:com.android.tools.r8.graph.DexDebugEvent[] lambda$specify$2(com.android.tools.r8.graph.DexDebugInfo):24:24 -> c
-    1:3:int computeHashCode():57:59 -> f0
-    1:1:boolean computeEquals(java.lang.Object):64:64 -> g
-    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():44:44 -> n
-    1:1:java.lang.String toString():85:85 -> toString
-    2:2:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":95,"2":96,"3":97}}
-    95:95:java.lang.String toString():86:86 -> toString
-    96:96:java.lang.String toString():86:86 -> toString
-    97:97:java.lang.String toString():86:86 -> toString
-    88:94:java.lang.String toString():86:92 -> toString
-com.android.tools.r8.graph.DexDebugInfoForSingleLineMethod -> com.android.tools.r8.graph.f0:
-    com.android.tools.r8.graph.DexDebugInfoForSingleLineMethod INSTANCE -> h
-    1:1:void <clinit>():9:9 -> <clinit>
-    1:1:void <init>(int,com.android.tools.r8.graph.DexString[],com.android.tools.r8.graph.DexDebugEvent[]):14:14 -> <init>
-    1:1:com.android.tools.r8.graph.DexDebugInfoForSingleLineMethod getInstance():18:18 -> g0
-com.android.tools.r8.graph.DexDebugInfoForWriting -> com.android.tools.r8.graph.g0:
+com.android.tools.r8.graph.DexDebugInfo -> com.android.tools.r8.graph.f0:
+    boolean $assertionsDisabled -> d
+    1:1:void <clinit>():26:26 -> <clinit>
+    1:1:void <init>():26:26 -> <init>
+    1:1:com.android.tools.r8.utils.structural.StructuralItem self():26:26 -> L
+    int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugInfo,com.android.tools.r8.utils.structural.CompareToVisitor) -> a
+    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):26:26 -> a
+    2:6:int acceptCompareTo(com.android.tools.r8.graph.DexDebugInfo,com.android.tools.r8.utils.structural.CompareToVisitor):74:78 -> a
+    2:6:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):26 -> a
+    7:10:com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo convertToEventBased(com.android.tools.r8.graph.DexCode,com.android.tools.r8.graph.DexItemFactory):285:288 -> a
+    11:11:boolean isEventBasedInfo():43:43 -> a
+    11:11:com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo convertToEventBased(com.android.tools.r8.graph.DexCode,com.android.tools.r8.graph.DexItemFactory):288 -> a
+      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
+    12:33:com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo convertToEventBased(com.android.tools.r8.graph.DexCode,com.android.tools.r8.graph.DexItemFactory):289:310 -> a
+    34:41:com.android.tools.r8.graph.DexDebugInfoForWriting convertToWritable(com.android.tools.r8.graph.DexDebugInfo):317:324 -> a
+    1:1:boolean computeEquals(java.lang.Object):83:83 -> g
+    com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo asEventBasedInfo() -> h0
+    com.android.tools.r8.graph.DexDebugInfo$PcBasedDebugInfo asPcBasedInfo() -> i0
+    com.android.tools.r8.graph.DexDebugInfo$DebugInfoKind getKind() -> j0
+    int getStartLine() -> k0
+    1:1:boolean isPcBasedInfo():47:47 -> l0
+    com.android.tools.r8.graph.DexDebugInfo self() -> m0
+    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():66:66 -> n
+com.android.tools.r8.graph.DexDebugInfo$1 -> com.android.tools.r8.graph.e0:
+com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo -> com.android.tools.r8.graph.f0$a:
+    com.android.tools.r8.graph.DexString[] parameters -> f
+    com.android.tools.r8.graph.DexDebugEvent[] events -> g
+    int startLine -> e
     boolean $assertionsDisabled -> h
+    1:1:void <clinit>():186:186 -> <clinit>
+    1:5:void <init>(int,com.android.tools.r8.graph.DexString[],com.android.tools.r8.graph.DexDebugEvent[]):198:202 -> <init>
+    com.android.tools.r8.utils.structural.StructuralItem self() -> L
+    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):186:186 -> a
+    2:6:int com.android.tools.r8.graph.DexDebugInfo.acceptCompareTo(com.android.tools.r8.graph.DexDebugInfo,com.android.tools.r8.utils.structural.CompareToVisitor):74:78 -> a
+    2:6:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):186 -> a
+    7:7:int lambda$specify$0(com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo):193:193 -> a
+    8:10:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):193:195 -> a
+    11:15:java.util.List computeEntries(com.android.tools.r8.graph.DexMethod):231:235 -> a
+    16:16:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):245:245 -> a
+    17:17:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugInfo,com.android.tools.r8.utils.structural.CompareToVisitor):250:250 -> a
+    18:18:boolean com.android.tools.r8.graph.DexDebugInfo.isEventBasedInfo():43:43 -> a
+    18:18:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugInfo,com.android.tools.r8.utils.structural.CompareToVisitor):250 -> a
+      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
+    19:20:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugInfo,com.android.tools.r8.utils.structural.CompareToVisitor):250:251 -> a
+    21:21:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):268:268 -> a
+    1:1:com.android.tools.r8.graph.DexString[] lambda$specify$1(com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo):194:194 -> b
+    1:1:com.android.tools.r8.graph.DexDebugEvent[] lambda$specify$2(com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo):195:195 -> c
+    1:1:int computeHashCode():240:240 -> g0
+    com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo asEventBasedInfo() -> h0
+    com.android.tools.r8.graph.DexDebugInfo$DebugInfoKind getKind() -> j0
+    1:1:int getStartLine():222:222 -> k0
+    com.android.tools.r8.graph.DexDebugInfo self() -> m0
+    1:1:java.lang.String toString():273:273 -> toString
+    2:2:java.lang.String toString():0:0 -> toString
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":283,"2":284,"3":285}}
+    283:283:java.lang.String toString():274:274 -> toString
+    284:284:java.lang.String toString():274:274 -> toString
+    285:285:java.lang.String toString():274:274 -> toString
+    276:282:java.lang.String toString():274:280 -> toString
+com.android.tools.r8.graph.DexDebugInfo$PcBasedDebugInfo -> com.android.tools.r8.graph.g0:
+    int maxPc -> f
+    boolean $assertionsDisabled -> g
+    int parameterCount -> e
+    1:1:void <clinit>():86:86 -> <clinit>
+    1:3:void <init>(int,int):95:97 -> <init>
+    com.android.tools.r8.utils.structural.StructuralItem self() -> L
+    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens) -> a
+    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):86:86 -> a
+    2:6:int com.android.tools.r8.graph.DexDebugInfo.acceptCompareTo(com.android.tools.r8.graph.DexDebugInfo,com.android.tools.r8.utils.structural.CompareToVisitor):74:78 -> a
+    2:6:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):86 -> a
+    7:7:int access$000(com.android.tools.r8.graph.DexDebugInfo$PcBasedDebugInfo):86:86 -> a
+    8:8:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):92:92 -> a
+    9:9:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):132:132 -> a
+    10:11:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugInfo,com.android.tools.r8.utils.structural.CompareToVisitor):137:138 -> a
+    12:12:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):143:143 -> a
+    13:18:void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):164:169 -> a
+    19:20:void com.android.tools.r8.graph.DexDebugEvent.writeOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):80:81 -> a
+    19:20:void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):169 -> a
+      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
+    21:22:void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):170:171 -> a
+    23:24:void com.android.tools.r8.graph.DexDebugEvent.writeOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):80:81 -> a
+    23:24:void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):171 -> a
+      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
+    25:25:void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):173:173 -> a
+    1:1:int lambda$specify$0(com.android.tools.r8.graph.DexDebugInfo$PcBasedDebugInfo):92:92 -> b
+    1:1:int lambda$specify$1(com.android.tools.r8.graph.DexDebugInfo$PcBasedDebugInfo):92:92 -> c
+    1:3:int estimatedWriteSize():153:155 -> d0
+    1:1:int computeHashCode():127:127 -> g0
+    com.android.tools.r8.graph.DexDebugInfo$PcBasedDebugInfo asPcBasedInfo() -> i0
+    com.android.tools.r8.graph.DexDebugInfo$DebugInfoKind getKind() -> j0
+    int getStartLine() -> k0
+    com.android.tools.r8.graph.DexDebugInfo self() -> m0
+    1:1:int getParameterCount():107:107 -> n0
+    1:1:java.lang.String toString():0:0 -> toString
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":183,"2":184,"3":185}}
+    183:183:java.lang.String toString():178:178 -> toString
+    184:184:java.lang.String toString():178:178 -> toString
+    185:185:java.lang.String toString():178:178 -> toString
+    179:182:java.lang.String toString():178:181 -> toString
+com.android.tools.r8.graph.DexDebugInfo$WritableEventBasedDebugInfo -> com.android.tools.r8.graph.h0:
+    1:1:void <init>(int,com.android.tools.r8.graph.DexString[],com.android.tools.r8.graph.DexDebugEvent[],com.android.tools.r8.graph.DexDebugInfo$1):328:328 -> <init>
+    2:2:void <init>(int,com.android.tools.r8.graph.DexString[],com.android.tools.r8.graph.DexDebugEvent[]):333:333 -> <init>
+    1:1:void com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):255:255 -> a
+    1:1:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):338 -> a
+    2:2:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
+    2:2:void com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):257 -> a
+    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):338 -> a
+    3:4:void com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):260:261 -> a
+    3:4:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):338 -> a
+    5:5:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):343:343 -> a
+    6:11:void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):359:364 -> a
+    12:13:void com.android.tools.r8.graph.DexDebugEvent.writeOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):80:81 -> a
+    12:13:void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):365 -> a
+      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
+    14:14:void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):367:367 -> a
+    1:2:int estimatedWriteSize():348:349 -> d0
+com.android.tools.r8.graph.DexDebugInfoForSingleLineMethod -> com.android.tools.r8.graph.i0:
+    com.android.tools.r8.graph.DexDebugInfoForSingleLineMethod INSTANCE -> i
     1:1:void <clinit>():11:11 -> <clinit>
-    1:1:void <init>(int,com.android.tools.r8.graph.DexString[],com.android.tools.r8.graph.DexDebugEvent[]):14:14 -> <init>
-    1:20:com.android.tools.r8.graph.DexDebugInfoForWriting create(com.android.tools.r8.graph.DexDebugInfo):18:37 -> d
-com.android.tools.r8.graph.DexDebugPositionState -> com.android.tools.r8.graph.h0:
+    1:1:void <init>(int,com.android.tools.r8.graph.DexString[],com.android.tools.r8.graph.DexDebugEvent[]):16:16 -> <init>
+    1:1:com.android.tools.r8.graph.DexDebugInfoForSingleLineMethod getInstance():20:20 -> n0
+com.android.tools.r8.graph.DexDebugInfoForWriting -> com.android.tools.r8.internal.ug:
+    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens) -> a
+    void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection) -> a
+    void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens) -> a
+    int estimatedWriteSize() -> d0
+com.android.tools.r8.graph.DexDebugPositionState -> com.android.tools.r8.graph.j0:
     com.android.tools.r8.graph.DexString currentFile -> c
     boolean $assertionsDisabled -> i
     com.android.tools.r8.graph.DexMethod outlineCallee -> g
@@ -26333,7 +26404,7 @@
     1:1:com.android.tools.r8.utils.Int2StructuralItemArrayMap getOutlineCallerPositions():136:136 -> g
     1:1:boolean isOutline():128:128 -> h
     1:3:void resetOutlineInformation():140:142 -> i
-com.android.tools.r8.graph.DexDefinition -> com.android.tools.r8.graph.i0:
+com.android.tools.r8.graph.DexDefinition -> com.android.tools.r8.graph.k0:
     com.android.tools.r8.graph.DexAnnotationSet annotations -> b
     boolean $assertionsDisabled -> c
     1:1:void <clinit>():15:15 -> <clinit>
@@ -26363,23 +26434,23 @@
     2:2:java.util.stream.Stream filter(java.util.stream.Stream,java.util.function.Predicate,java.util.function.Function):109:109 -> b
     2:2:java.util.stream.Stream filterDexEncodedMethod(java.util.stream.Stream,java.util.function.Function):130 -> b
     3:3:java.lang.Object lambda$filterDexEncodedMethod$2(java.util.function.Function,com.android.tools.r8.graph.DexDefinition):133:133 -> b
-    1:1:com.android.tools.r8.graph.DexAnnotationSet annotations():34:34 -> f0
-    com.android.tools.r8.graph.DexClass asDexClass() -> g0
-    com.android.tools.r8.graph.DexEncodedField asDexEncodedField() -> h0
-    com.android.tools.r8.graph.DexEncodedMember asDexEncodedMember() -> i0
-    com.android.tools.r8.graph.DexEncodedMethod asDexEncodedMethod() -> j0
-    1:1:void clearAnnotations():40:40 -> k0
-    2:2:void setAnnotations(com.android.tools.r8.graph.DexAnnotationSet):48:48 -> k0
-    2:2:void clearAnnotations():40 -> k0
-    1:1:boolean hasAnnotations():25:25 -> l0
-    1:1:boolean hasAnyAnnotations():30:30 -> m0
-    boolean isDexClass() -> n0
-    boolean isDexEncodedField() -> o0
-    boolean isDexEncodedMember() -> p0
-    boolean isDexEncodedMethod() -> q0
-    boolean isStaticMember() -> r0
+    1:1:com.android.tools.r8.graph.DexAnnotationSet annotations():34:34 -> g0
+    com.android.tools.r8.graph.DexClass asDexClass() -> h0
+    com.android.tools.r8.graph.DexEncodedField asDexEncodedField() -> i0
+    com.android.tools.r8.graph.DexEncodedMember asDexEncodedMember() -> j0
+    com.android.tools.r8.graph.DexEncodedMethod asDexEncodedMethod() -> k0
+    1:1:void clearAnnotations():40:40 -> l0
+    2:2:void setAnnotations(com.android.tools.r8.graph.DexAnnotationSet):48:48 -> l0
+    2:2:void clearAnnotations():40 -> l0
+    1:1:boolean hasAnnotations():25:25 -> m0
+    1:1:boolean hasAnyAnnotations():30:30 -> n0
+    boolean isDexClass() -> o0
+    boolean isDexEncodedField() -> p0
+    boolean isDexEncodedMember() -> q0
+    boolean isDexEncodedMethod() -> r0
+    boolean isStaticMember() -> s0
     1:1:com.android.tools.r8.graph.DexType getContextType():149:149 -> y
-com.android.tools.r8.graph.DexDefinitionSupplier -> com.android.tools.r8.internal.tg:
+com.android.tools.r8.graph.DexDefinitionSupplier -> com.android.tools.r8.internal.vg:
     com.android.tools.r8.graph.DexItemFactory dexItemFactory() -> a
     1:1:com.android.tools.r8.graph.DexClass contextIndependentDefinitionFor(com.android.tools.r8.graph.DexType):18:18 -> a
     2:2:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):35:35 -> a
@@ -26388,7 +26459,7 @@
     1:1:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):31:31 -> b
     2:2:com.android.tools.r8.graph.DexProgramClass definitionForProgramType(com.android.tools.r8.graph.DexType):82:82 -> b
     com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType) -> c
-com.android.tools.r8.graph.DexEncodedAnnotation -> com.android.tools.r8.graph.j0:
+com.android.tools.r8.graph.DexEncodedAnnotation -> com.android.tools.r8.graph.l0:
     com.android.tools.r8.graph.DexAnnotationElement[] elements -> c
     boolean $assertionsDisabled -> e
     com.android.tools.r8.graph.DexType type -> b
@@ -26428,14 +26499,14 @@
     62:68:com.android.tools.r8.graph.DexEncodedAnnotation rewrite(java.util.function.Function,java.util.function.Function):113:119 -> a
     1:1:com.android.tools.r8.graph.DexAnnotationElement[] lambda$specify$1(com.android.tools.r8.graph.DexEncodedAnnotation):26:26 -> b
     1:3:boolean equals(java.lang.Object):86:88 -> equals
-    1:1:int getNumberOfElements():62:62 -> f0
-    1:2:void sort():94:95 -> g0
-    3:3:int sortedHashCode():106:106 -> g0
-    3:3:void sort():95 -> g0
-    4:9:void sort():95:100 -> g0
-    10:10:int sortedHashCode():106:106 -> g0
-    10:10:void sort():102 -> g0
-    11:11:void sort():102:102 -> g0
+    1:1:int getNumberOfElements():62:62 -> g0
+    1:2:void sort():94:95 -> h0
+    3:3:int sortedHashCode():106:106 -> h0
+    3:3:void sort():95 -> h0
+    4:9:void sort():95:100 -> h0
+    10:10:int sortedHashCode():106:106 -> h0
+    10:10:void sort():102 -> h0
+    11:11:void sort():102:102 -> h0
     1:1:int hashCode():78:78 -> hashCode
     1:1:com.android.tools.r8.graph.DexAnnotationElement getElement(int):58:58 -> i
     1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():41:41 -> n
@@ -26445,8 +26516,8 @@
     76:76:java.lang.String toString():73:73 -> toString
     77:77:java.lang.String toString():73:73 -> toString
     74:74:java.lang.String toString():73:73 -> toString
-com.android.tools.r8.graph.DexEncodedArray -> com.android.tools.r8.graph.k0:
-    com.android.tools.r8.graph.DexValue[] values -> a
+com.android.tools.r8.graph.DexEncodedArray -> com.android.tools.r8.graph.m0:
+    com.android.tools.r8.graph.DexValue[] values -> b
     1:2:void <init>(com.android.tools.r8.graph.DexValue[]):14:15 -> <init>
     1:1:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):26:26 -> a
     1:1:boolean equals(java.lang.Object):39:39 -> equals
@@ -26457,7 +26528,7 @@
     47:47:java.lang.String toString():44:44 -> toString
     48:48:java.lang.String toString():44:44 -> toString
     45:45:java.lang.String toString():44:44 -> toString
-com.android.tools.r8.graph.DexEncodedField -> com.android.tools.r8.graph.n0:
+com.android.tools.r8.graph.DexEncodedField -> com.android.tools.r8.graph.p0:
     boolean isInlinableByJavaC -> m
     com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo optimizationInfo -> k
     boolean $assertionsDisabled -> o
@@ -26472,25 +26543,25 @@
     2:2:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldAccessFlags,com.android.tools.r8.graph.GenericSignature$FieldTypeSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexValue,com.android.tools.r8.androidapi.ComputedApiLevel,boolean,boolean):70:70 -> <init>
     3:36:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldAccessFlags,com.android.tools.r8.graph.GenericSignature$FieldTypeSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexValue,com.android.tools.r8.androidapi.ComputedApiLevel,boolean,boolean):43:76 -> <init>
     1:1:void clearGenericSignature():351:351 -> A
-    1:1:com.android.tools.r8.graph.DexEncodedField$Builder builder():355:355 -> B0
-    1:2:void clearStaticValue():253:254 -> C0
-    1:1:com.android.tools.r8.graph.FieldAccessFlags getAccessFlags():137:137 -> D0
-    1:1:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature getGenericSignature():341:341 -> E0
-    1:1:com.android.tools.r8.kotlin.KotlinFieldLevelInfo getKotlinInfo():127:127 -> F0
-    1:2:com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo getMutableOptimizationInfo():116:117 -> G0
-    1:1:com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo getOptimizationInfo():107:107 -> H0
-    1:2:com.android.tools.r8.graph.DexValue getStaticValue():258:259 -> I0
-    1:2:boolean hasExplicitStaticValue():242:243 -> J0
-    1:1:boolean isDeprecated():94:94 -> K0
+    1:1:com.android.tools.r8.graph.DexEncodedField$Builder builder():355:355 -> C0
+    1:2:void clearStaticValue():253:254 -> D0
+    1:1:com.android.tools.r8.graph.FieldAccessFlags getAccessFlags():137:137 -> E0
+    1:1:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature getGenericSignature():341:341 -> F0
+    1:1:com.android.tools.r8.kotlin.KotlinFieldLevelInfo getKotlinInfo():127:127 -> G0
+    1:2:com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo getMutableOptimizationInfo():116:117 -> H0
+    1:1:com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo getOptimizationInfo():107:107 -> I0
+    1:2:com.android.tools.r8.graph.DexValue getStaticValue():258:259 -> J0
+    1:2:boolean hasExplicitStaticValue():242:243 -> K0
     com.android.tools.r8.utils.structural.StructuralItem self() -> L
-    1:1:boolean isEnum():204:204 -> L0
-    1:1:boolean isInlinableByJavaC():371:371 -> M0
-    1:1:boolean isStatic():213:213 -> N0
-    1:1:void markAsInlinableByJavaC():367:367 -> O0
-    1:1:com.android.tools.r8.graph.DexEncodedField$Builder syntheticBuilder():363:363 -> P0
+    1:1:boolean isDeprecated():94:94 -> L0
+    1:1:boolean isEnum():204:204 -> M0
+    1:1:boolean isInlinableByJavaC():371:371 -> N0
+    1:1:boolean isStatic():213:213 -> O0
+    1:1:void markAsInlinableByJavaC():367:367 -> P0
     1:1:com.android.tools.r8.kotlin.KotlinFieldLevelInfo getKotlinInfo():127:127 -> Q
     1:1:com.android.tools.r8.kotlin.KotlinMemberLevelInfo getKotlinInfo():32 -> Q
-    1:1:com.android.tools.r8.graph.DexType type():90:90 -> Q0
+    1:1:com.android.tools.r8.graph.DexEncodedField$Builder syntheticBuilder():363:363 -> Q0
+    1:1:com.android.tools.r8.graph.DexType type():90:90 -> R0
     1:1:com.android.tools.r8.graph.DexValue access$200(com.android.tools.r8.graph.DexEncodedField):32:32 -> a
     2:2:com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo access$302(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo):32:32 -> a
     3:8:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):52:57 -> a
@@ -26536,24 +26607,24 @@
     1:1:com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo access$300(com.android.tools.r8.graph.DexEncodedField):32:32 -> b
     1:1:com.android.tools.r8.graph.DexValue lambda$specify$0(com.android.tools.r8.graph.DexEncodedField):54:54 -> c
     1:1:boolean lambda$specify$1(com.android.tools.r8.graph.DexEncodedField):57:57 -> d
-    1:1:java.lang.String toSourceString():162:162 -> e0
+    1:1:java.lang.String toSourceString():162:162 -> f0
     1:1:com.android.tools.r8.graph.AccessFlags getAccessFlags():32:32 -> getAccessFlags
     1:1:com.android.tools.r8.graph.DexType getType():166:166 -> getType
-    com.android.tools.r8.graph.DexEncodedField asDexEncodedField() -> h0
+    com.android.tools.r8.graph.DexEncodedField asDexEncodedField() -> i0
     1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():81:81 -> n
-    1:1:boolean isStaticMember():230:230 -> r0
-    1:1:void clearKotlinInfo():132:132 -> s0
-    1:1:com.android.tools.r8.androidapi.ComputedApiLevel getApiLevel():112:112 -> t0
+    1:1:boolean isStaticMember():230:230 -> s0
+    1:1:void clearKotlinInfo():132:132 -> t0
     1:1:java.lang.String toString():0:0 -> toString
       # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":154,"2":155,"3":156}}
     154:154:java.lang.String toString():152:152 -> toString
     155:155:java.lang.String toString():152:152 -> toString
     156:156:java.lang.String toString():152:152 -> toString
     153:153:java.lang.String toString():152:152 -> toString
-    1:1:com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo getOptimizationInfo():107:107 -> x0
-    1:1:com.android.tools.r8.ir.optimize.info.MemberOptimizationInfo getOptimizationInfo():32 -> x0
-com.android.tools.r8.graph.DexEncodedField$1 -> com.android.tools.r8.graph.l0:
-com.android.tools.r8.graph.DexEncodedField$Builder -> com.android.tools.r8.graph.m0:
+    1:1:com.android.tools.r8.androidapi.ComputedApiLevel getApiLevel():112:112 -> u0
+    1:1:com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo getOptimizationInfo():107:107 -> y0
+    1:1:com.android.tools.r8.ir.optimize.info.MemberOptimizationInfo getOptimizationInfo():32 -> y0
+com.android.tools.r8.graph.DexEncodedField$1 -> com.android.tools.r8.graph.n0:
+com.android.tools.r8.graph.DexEncodedField$Builder -> com.android.tools.r8.graph.o0:
     com.android.tools.r8.graph.DexAnnotationSet annotations -> b
     com.android.tools.r8.graph.FieldAccessFlags accessFlags -> c
     boolean d8R8Synthesized -> i
@@ -26591,13 +26662,14 @@
     3:3:com.android.tools.r8.graph.DexEncodedField$Builder setAnnotations(com.android.tools.r8.graph.DexAnnotationSet):435:435 -> b
     3:3:com.android.tools.r8.graph.DexEncodedField$Builder clearAnnotations():431 -> b
     4:4:com.android.tools.r8.graph.DexEncodedField$Builder setDeprecated(boolean):470:470 -> b
-com.android.tools.r8.graph.DexEncodedMember -> com.android.tools.r8.internal.ug:
+com.android.tools.r8.graph.DexEncodedMember -> com.android.tools.r8.internal.wg:
     com.android.tools.r8.androidapi.ComputedApiLevel apiLevelForDefinition -> e
     boolean d8R8Synthesized -> d
     com.android.tools.r8.graph.DexMember reference -> f
     1:4:void <init>(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.DexAnnotationSet,boolean,com.android.tools.r8.androidapi.ComputedApiLevel):33:36 -> <init>
     void clearGenericSignature() -> A
-    1:1:boolean isPrivate():73:73 -> A0
+    1:1:boolean isD8R8Synthesized():59:59 -> A0
+    1:1:boolean isPrivate():73:73 -> B0
     com.android.tools.r8.kotlin.KotlinMemberLevelInfo getKotlinInfo() -> Q
     java.lang.Object apply(java.util.function.Function,java.util.function.Function) -> a
     1:1:void accept(java.util.function.Consumer,java.util.function.Consumer):83:83 -> a
@@ -26607,17 +26679,16 @@
     1:2:boolean equals(java.lang.Object):115:116 -> equals
     1:1:com.android.tools.r8.graph.DexReference getReference():12:12 -> getReference
     1:1:int hashCode():121:121 -> hashCode
-    com.android.tools.r8.graph.DexEncodedMember asDexEncodedMember() -> i0
-    boolean isDexEncodedMember() -> p0
-    void clearKotlinInfo() -> s0
-    com.android.tools.r8.androidapi.ComputedApiLevel getApiLevel() -> t0
-    1:1:com.android.tools.r8.androidapi.ComputedApiLevel getApiLevelForDefinition():99:99 -> u0
-    1:1:com.android.tools.r8.graph.DexType getHolderType():46:46 -> v0
-    1:1:com.android.tools.r8.graph.DexString getName():50:50 -> w0
-    com.android.tools.r8.ir.optimize.info.MemberOptimizationInfo getOptimizationInfo() -> x0
-    1:1:com.android.tools.r8.graph.DexMember getReference():55:55 -> y0
-    1:1:boolean isD8R8Synthesized():59:59 -> z0
-com.android.tools.r8.graph.DexEncodedMethod -> com.android.tools.r8.graph.p0:
+    com.android.tools.r8.graph.DexEncodedMember asDexEncodedMember() -> j0
+    boolean isDexEncodedMember() -> q0
+    void clearKotlinInfo() -> t0
+    com.android.tools.r8.androidapi.ComputedApiLevel getApiLevel() -> u0
+    1:1:com.android.tools.r8.androidapi.ComputedApiLevel getApiLevelForDefinition():99:99 -> v0
+    1:1:com.android.tools.r8.graph.DexType getHolderType():46:46 -> w0
+    1:1:com.android.tools.r8.graph.DexString getName():50:50 -> x0
+    com.android.tools.r8.ir.optimize.info.MemberOptimizationInfo getOptimizationInfo() -> y0
+    1:1:com.android.tools.r8.graph.DexMember getReference():55:55 -> z0
+com.android.tools.r8.graph.DexEncodedMethod -> com.android.tools.r8.graph.r0:
     com.android.tools.r8.graph.ParameterAnnotationsList parameterAnnotationsList -> i
     com.android.tools.r8.cf.CfVersion classFileVersion -> m
     com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo optimizationInfo -> l
@@ -26640,51 +26711,51 @@
     2:2:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags,com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.ParameterAnnotationsList,com.android.tools.r8.graph.Code,boolean,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo,boolean):241:241 -> <init>
     3:99:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags,com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.ParameterAnnotationsList,com.android.tools.r8.graph.Code,boolean,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo,boolean):158:254 -> <init>
     1:1:void clearGenericSignature():1313:1313 -> A
-    1:2:boolean isVirtualMethod():497:498 -> A1
-    1:1:boolean belongsToDirectPool():578:578 -> B0
-    1:2:void markNotProcessed():722:723 -> B1
-    1:1:boolean belongsToVirtualPool():582:582 -> C0
-    1:2:java.lang.String qualifiedName():832:833 -> C1
-    1:1:com.android.tools.r8.graph.DexEncodedMethod$Builder builder():1331:1331 -> D0
-    1:1:com.android.tools.r8.graph.DexType returnType():343:343 -> D1
-    1:1:void checkIfObsolete():179:179 -> E0
-    1:1:void setObsolete():191:191 -> E1
-    1:1:void clearApiLevelForCode():1266:1266 -> F0
-    1:1:boolean shouldNotHaveCode():792:792 -> F1
+    1:2:boolean isSyntheticMethod():573:574 -> A1
+    1:2:boolean isVirtualMethod():497:498 -> B1
+    1:1:boolean belongsToDirectPool():578:578 -> C0
+    1:2:void markNotProcessed():722:723 -> C1
+    1:1:boolean belongsToVirtualPool():582:582 -> D0
+    1:2:java.lang.String qualifiedName():832:833 -> D1
+    1:1:com.android.tools.r8.graph.DexEncodedMethod$Builder builder():1331:1331 -> E0
+    1:1:com.android.tools.r8.graph.DexType returnType():343:343 -> E1
+    1:1:void checkIfObsolete():179:179 -> F0
+    1:1:void setObsolete():191:191 -> F1
     1:1:void clearAllAnnotations():860:860 -> G
     2:2:void clearParameterAnnotations():875:875 -> G
     2:2:void clearAllAnnotations():861 -> G
-    1:2:java.lang.String codeToString():1235:1236 -> G0
-    1:1:com.android.tools.r8.graph.DexEncodedMethod$Builder syntheticBuilder():1323:1323 -> G1
-    1:2:java.lang.String descriptor():837:838 -> H0
-    1:2:void unsetCode():747:748 -> H1
-    1:1:com.android.tools.r8.graph.MethodAccessFlags getAccessFlags():196:196 -> I0
-    1:1:void unsetObsolete():225:225 -> I1
-    1:1:com.android.tools.r8.androidapi.ComputedApiLevel getApiLevelForCode():1262:1262 -> J0
-    1:3:com.android.tools.r8.cf.CfVersion getClassFileVersion():805:807 -> K0
+    1:1:void clearApiLevelForCode():1266:1266 -> G0
+    1:1:boolean shouldNotHaveCode():792:792 -> G1
+    1:2:java.lang.String codeToString():1235:1236 -> H0
+    1:1:com.android.tools.r8.graph.DexEncodedMethod$Builder syntheticBuilder():1323:1323 -> H1
+    1:2:java.lang.String descriptor():837:838 -> I0
+    1:2:void unsetCode():747:748 -> I1
+    1:1:com.android.tools.r8.graph.MethodAccessFlags getAccessFlags():196:196 -> J0
+    1:1:void unsetObsolete():225:225 -> J1
+    1:1:com.android.tools.r8.androidapi.ComputedApiLevel getApiLevelForCode():1262:1262 -> K0
     com.android.tools.r8.utils.structural.StructuralItem self() -> L
-    1:2:com.android.tools.r8.graph.Code getCode():800:801 -> L0
-    1:1:com.android.tools.r8.graph.DexEncodedMethod$CompilationState getCompilationState():212:212 -> M0
-    1:3:com.android.tools.r8.graph.DexWritableCode getDexWritableCodeOrNull():1317:1319 -> N0
-    1:1:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature getGenericSignature():1303:1303 -> O0
-    1:1:com.android.tools.r8.kotlin.KotlinMethodLevelInfo getKotlinInfo():587:587 -> P0
+    1:3:com.android.tools.r8.cf.CfVersion getClassFileVersion():805:807 -> L0
+    1:2:com.android.tools.r8.graph.Code getCode():800:801 -> M0
+    1:1:com.android.tools.r8.graph.DexEncodedMethod$CompilationState getCompilationState():212:212 -> N0
+    1:3:com.android.tools.r8.graph.DexWritableCode getDexWritableCodeOrNull():1317:1319 -> O0
+    1:1:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature getGenericSignature():1303:1303 -> P0
     1:1:com.android.tools.r8.kotlin.KotlinMethodLevelInfo getKotlinInfo():587:587 -> Q
     1:1:com.android.tools.r8.kotlin.KotlinMemberLevelInfo getKotlinInfo():93 -> Q
-    1:3:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo getMutableOptimizationInfo():1281:1283 -> Q0
-    1:1:int getNumberOfArguments():208:208 -> R0
-    2:2:int com.android.tools.r8.graph.DexMethod.getNumberOfArguments(boolean):82:82 -> R0
-    2:2:int getNumberOfArguments():208 -> R0
+    1:1:com.android.tools.r8.kotlin.KotlinMethodLevelInfo getKotlinInfo():587:587 -> Q0
+    1:3:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo getMutableOptimizationInfo():1281:1283 -> R0
+    1:1:int getNumberOfArguments():208:208 -> S0
+    2:2:int com.android.tools.r8.graph.DexMethod.getNumberOfArguments(boolean):82:82 -> S0
+    2:2:int getNumberOfArguments():208 -> S0
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    1:2:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo getOptimizationInfo():1257:1258 -> S0
-    1:1:com.android.tools.r8.graph.ParameterAnnotationsList getParameterAnnotations():883:883 -> T0
-    1:1:java.util.Map getParameterInfo():768:768 -> U0
-    1:1:com.android.tools.r8.graph.DexTypeList getParameters():331:331 -> V0
-    1:1:com.android.tools.r8.graph.DexProto getProto():323:323 -> W0
-    1:1:com.android.tools.r8.graph.DexMethodSignature getSignature():339:339 -> X0
-    2:2:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.graph.DexMethodSignature.create(com.android.tools.r8.graph.DexMethod):17:17 -> X0
-    2:2:com.android.tools.r8.graph.DexMethodSignature getSignature():339 -> X0
-    1:2:boolean hasClassFileVersion():815:816 -> Y0
-    1:1:boolean hasCode():796:796 -> Z0
+    1:2:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo getOptimizationInfo():1257:1258 -> T0
+    1:1:com.android.tools.r8.graph.ParameterAnnotationsList getParameterAnnotations():883:883 -> U0
+    1:1:java.util.Map getParameterInfo():768:768 -> V0
+    1:1:com.android.tools.r8.graph.DexTypeList getParameters():331:331 -> W0
+    1:1:com.android.tools.r8.graph.DexProto getProto():323:323 -> X0
+    1:1:com.android.tools.r8.graph.DexMethodSignature getSignature():339:339 -> Y0
+    2:2:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.graph.DexMethodSignature.create(com.android.tools.r8.graph.DexMethod):17:17 -> Y0
+    2:2:com.android.tools.r8.graph.DexMethodSignature getSignature():339 -> Y0
+    1:2:boolean hasClassFileVersion():815:816 -> Z0
     1:1:com.android.tools.r8.cf.CfVersion access$200(com.android.tools.r8.graph.DexEncodedMethod):93:93 -> a
     2:2:com.android.tools.r8.graph.DexEncodedMethod$CompilationState access$402(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$CompilationState):93:93 -> a
     3:11:void syntheticSpecify(com.android.tools.r8.utils.structural.StructuralSpecification):278:286 -> a
@@ -26795,11 +26866,13 @@
     4143:4143:java.lang.String com.android.tools.r8.graph.DexProto.toSmaliString():114 -> a
     4143:4143:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):901 -> a
     4144:4150:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):901:907 -> a
-    4151:4206:java.lang.String com.android.tools.r8.graph.DexCode.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):492:547 -> a
+    4151:4206:java.lang.String com.android.tools.r8.graph.DexCode.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):517:572 -> a
     4151:4206:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):908 -> a
     4207:4210:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):908:911 -> a
     4214:4223:com.android.tools.r8.graph.DexCode generateCodeFromTemplate(int,int,com.android.tools.r8.code.Instruction[]):926:935 -> a
-    4224:4228:void setDebugInfoWithFakeThisParameter(com.android.tools.r8.graph.Code,int,com.android.tools.r8.graph.AppView):993:997 -> a
+    4224:4227:void setDebugInfoWithFakeThisParameter(com.android.tools.r8.graph.Code,int,com.android.tools.r8.graph.AppView):993:996 -> a
+    4228:4228:int com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo.getParameterCount():227:227 -> a
+    4228:4228:void setDebugInfoWithFakeThisParameter(com.android.tools.r8.graph.Code,int,com.android.tools.r8.graph.AppView):996 -> a
     4229:4234:void setDebugInfoWithFakeThisParameter(com.android.tools.r8.graph.Code,int,com.android.tools.r8.graph.AppView):996:1001 -> a
     4235:4236:com.android.tools.r8.graph.DexEncodedMethod toTypeSubstitutedMethod(com.android.tools.r8.graph.DexMethod):1086:1087 -> a
     4237:4238:com.android.tools.r8.graph.DexEncodedMethod toTypeSubstitutedMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):1091:1092 -> a
@@ -26903,7 +26976,7 @@
     4523:4523:com.android.tools.r8.graph.DexEncodedMethod$Builder builder(com.android.tools.r8.graph.DexEncodedMethod):1335:1335 -> a
     4523:4523:com.android.tools.r8.graph.DexEncodedMethod toRenamedHolderMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1112 -> a
     4524:4525:com.android.tools.r8.graph.DexEncodedMethod toRenamedHolderMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1113:1114 -> a
-    1:1:boolean hasParameterInfo():764:764 -> a1
+    1:1:boolean hasCode():796:796 -> a1
     1:1:com.android.tools.r8.graph.ParameterAnnotationsList lambda$syntheticSpecify$0(com.android.tools.r8.graph.DexEncodedMethod):281:281 -> b
     2:3:com.android.tools.r8.graph.ProgramMethod asProgramMethod(com.android.tools.r8.graph.DexDefinitionSupplier):400:401 -> b
     2:3:com.android.tools.r8.graph.ProgramMethod asProgramMethodOrNull(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexDefinitionSupplier):415 -> b
@@ -26934,45 +27007,44 @@
     42:45:com.android.tools.r8.graph.DexEncodedMethod toStaticMethodWithoutThis(com.android.tools.r8.graph.AppView):1226:1229 -> b
     46:46:void setObsolete():191:191 -> b
     46:46:com.android.tools.r8.graph.DexEncodedMethod toStaticMethodWithoutThis(com.android.tools.r8.graph.AppView):1230 -> b
-    1:1:boolean isAbstract():424:424 -> b1
+    1:1:boolean hasParameterInfo():764:764 -> b1
     1:1:com.android.tools.r8.cf.CfVersion lambda$syntheticSpecify$1(com.android.tools.r8.graph.DexEncodedMethod):282:282 -> c
     2:2:com.android.tools.r8.graph.DexAnnotation lambda$rewriteAllAnnotations$4(java.util.function.BiFunction,com.android.tools.r8.graph.DexAnnotation):871:871 -> c
-    1:1:boolean isBridge():428:428 -> c1
+    1:1:boolean isAbstract():424:424 -> c1
     1:1:boolean lambda$syntheticSpecify$2(com.android.tools.r8.graph.DexEncodedMethod):285:285 -> d
-    1:2:boolean isClassInitializer():481:482 -> d1
+    1:1:boolean isBridge():428:428 -> d1
     1:1:com.android.tools.r8.graph.DexEncodedMethod$Builder syntheticBuilder(com.android.tools.r8.graph.DexEncodedMethod):1327:1327 -> e
-    1:2:java.lang.String toSourceString():916:917 -> e0
-    1:2:boolean isDefaultInitializer():476:477 -> e1
+    1:2:boolean isClassInitializer():481:482 -> e1
     1:2:void setApiLevelForCode(com.android.tools.r8.androidapi.ComputedApiLevel):1270:1271 -> f
-    1:1:boolean isDefaultMethod():487:487 -> f1
-    1:1:boolean isDeprecated():262:262 -> g1
+    1:2:java.lang.String toSourceString():916:917 -> f0
+    1:2:boolean isDefaultInitializer():476:477 -> f1
+    1:1:boolean isDefaultMethod():487:487 -> g1
     1:1:com.android.tools.r8.graph.AccessFlags getAccessFlags():93:93 -> getAccessFlags
-    1:2:boolean isDirectMethod():549:550 -> h1
+    1:1:boolean isDeprecated():262:262 -> h1
     1:1:com.android.tools.r8.graph.DexAnnotationSet getParameterAnnotation(int):879:879 -> i
-    1:1:boolean isFinal():432:432 -> i1
-    1:1:com.android.tools.r8.graph.DexEncodedMethod asDexEncodedMethod():1247:1247 -> j0
-    1:2:boolean isInitializer():448:449 -> j1
-    1:2:boolean isInstanceInitializer():453:454 -> k1
-    1:1:com.android.tools.r8.utils.OptionalBool isLibraryMethodOverride():347:347 -> l1
-    1:1:boolean hasAnyAnnotations():855:855 -> m0
-    2:2:boolean hasParameterAnnotations():887:887 -> m0
-    2:2:boolean hasAnyAnnotations():855 -> m0
-    1:1:boolean isNative():436:436 -> m1
+    1:2:boolean isDirectMethod():549:550 -> i1
+    1:1:boolean isFinal():432:432 -> j1
+    1:1:com.android.tools.r8.graph.DexEncodedMethod asDexEncodedMethod():1247:1247 -> k0
+    1:2:boolean isInitializer():448:449 -> k1
+    1:2:boolean isInstanceInitializer():453:454 -> l1
+    1:1:com.android.tools.r8.utils.OptionalBool isLibraryMethodOverride():347:347 -> m1
     1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():272:272 -> n
-    1:2:boolean isNonAbstractNonNativeMethod():521:522 -> n1
-    1:2:boolean isNonAbstractVirtualMethod():516:517 -> o1
-    1:2:boolean isNonPrivateVirtualMethod():502:503 -> p1
-    1:1:boolean isDexEncodedMethod():1241:1241 -> q0
-    1:1:boolean isNonStaticPrivateMethod():507:507 -> q1
-    2:2:boolean isInstance():554:554 -> q1
-    2:2:boolean isNonStaticPrivateMethod():508 -> q1
-    3:3:boolean isNonStaticPrivateMethod():508:508 -> q1
-    1:2:boolean isStaticMember():565:566 -> r0
-    1:1:boolean isObsolete():185:185 -> r1
-    1:1:void clearKotlinInfo():592:592 -> s0
-    1:1:boolean isOnlyInlinedIntoNestMembers():618:618 -> s1
-    1:2:com.android.tools.r8.androidapi.ComputedApiLevel getApiLevel():1276:1277 -> t0
-    1:2:boolean isPrivateMethod():541:542 -> t1
+    1:1:boolean hasAnyAnnotations():855:855 -> n0
+    2:2:boolean hasParameterAnnotations():887:887 -> n0
+    2:2:boolean hasAnyAnnotations():855 -> n0
+    1:1:boolean isNative():436:436 -> n1
+    1:2:boolean isNonAbstractNonNativeMethod():521:522 -> o1
+    1:2:boolean isNonAbstractVirtualMethod():516:517 -> p1
+    1:2:boolean isNonPrivateVirtualMethod():502:503 -> q1
+    1:1:boolean isDexEncodedMethod():1241:1241 -> r0
+    1:1:boolean isNonStaticPrivateMethod():507:507 -> r1
+    2:2:boolean isInstance():554:554 -> r1
+    2:2:boolean isNonStaticPrivateMethod():508 -> r1
+    3:3:boolean isNonStaticPrivateMethod():508:508 -> r1
+    1:2:boolean isStaticMember():565:566 -> s0
+    1:1:boolean isObsolete():185:185 -> s1
+    1:1:void clearKotlinInfo():592:592 -> t0
+    1:1:boolean isOnlyInlinedIntoNestMembers():618:618 -> t1
     1:1:java.lang.String toString():773:773 -> toString
     2:2:java.lang.String toString():0:0 -> toString
       # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":777,"2":778,"3":779}}
@@ -26980,22 +27052,23 @@
     778:778:java.lang.String toString():774:774 -> toString
     779:779:java.lang.String toString():774:774 -> toString
     776:776:java.lang.String toString():774:774 -> toString
-    1:2:boolean isProcessed():419:420 -> u1
-    1:2:boolean isPublicMethod():531:532 -> v1
-    1:2:boolean isPublicized():526:527 -> w1
-    1:2:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo getOptimizationInfo():1257:1258 -> x0
-    1:2:com.android.tools.r8.ir.optimize.info.MemberOptimizationInfo getOptimizationInfo():93 -> x0
-    1:2:boolean isStatic():559:560 -> x1
-    1:1:boolean isSynchronized():444:444 -> y1
-    1:2:boolean isSyntheticMethod():573:574 -> z1
-com.android.tools.r8.graph.DexEncodedMethod$1 -> com.android.tools.r8.graph.o0:
+    1:2:com.android.tools.r8.androidapi.ComputedApiLevel getApiLevel():1276:1277 -> u0
+    1:2:boolean isPrivateMethod():541:542 -> u1
+    1:2:boolean isProcessed():419:420 -> v1
+    1:2:boolean isPublicMethod():531:532 -> w1
+    1:2:boolean isPublicized():526:527 -> x1
+    1:2:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo getOptimizationInfo():1257:1258 -> y0
+    1:2:com.android.tools.r8.ir.optimize.info.MemberOptimizationInfo getOptimizationInfo():93 -> y0
+    1:2:boolean isStatic():559:560 -> y1
+    1:1:boolean isSynchronized():444:444 -> z1
+com.android.tools.r8.graph.DexEncodedMethod$1 -> com.android.tools.r8.graph.q0:
     int[] $SwitchMap$com$android$tools$r8$ir$optimize$Inliner$Constraint -> b
     int[] $SwitchMap$com$android$tools$r8$graph$DexEncodedMethod$CompilationState -> a
     1:1:void <clinit>():698:698 -> <clinit>
     2:2:com.android.tools.r8.graph.DexEncodedMethod$CompilationState[] com.android.tools.r8.graph.DexEncodedMethod$CompilationState.values():104:104 -> <clinit>
     2:2:void <clinit>():650 -> <clinit>
     3:3:void <clinit>():650:650 -> <clinit>
-com.android.tools.r8.graph.DexEncodedMethod$Builder -> com.android.tools.r8.graph.p0$a:
+com.android.tools.r8.graph.DexEncodedMethod$Builder -> com.android.tools.r8.graph.r0$a:
     com.android.tools.r8.graph.ParameterAnnotationsList parameterAnnotations -> g
     com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo optimizationInfo -> i
     com.android.tools.r8.graph.GenericSignature$MethodTypeSignature genericSignature -> d
@@ -27043,18 +27116,36 @@
     40:40:com.android.tools.r8.graph.DexEncodedMethod$Builder removeParameterAnnotations(java.util.function.IntPredicate):1517:1517 -> a
     41:41:com.android.tools.r8.graph.DexEncodedMethod$Builder setParameterAnnotations(com.android.tools.r8.graph.ParameterAnnotationsList):1489:1489 -> a
     41:41:com.android.tools.r8.graph.DexEncodedMethod$Builder removeParameterAnnotations(java.util.function.IntPredicate):1516 -> a
-    42:42:com.android.tools.r8.graph.DexEncodedMethod$Builder setOptimizationInfo(com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo):1538:1538 -> a
-    43:43:com.android.tools.r8.graph.DexEncodedMethod$Builder modifyOptimizationInfo(java.util.function.BiConsumer):1544:1544 -> a
-    44:44:com.android.tools.r8.graph.DexEncodedMethod$Builder addBuildConsumer(java.util.function.Consumer):1422:1422 -> a
-    44:44:com.android.tools.r8.graph.DexEncodedMethod$Builder modifyOptimizationInfo(java.util.function.BiConsumer):1544 -> a
-    45:46:void lambda$modifyOptimizationInfo$1(java.util.function.BiConsumer,com.android.tools.r8.graph.DexEncodedMethod):1546:1547 -> a
-    47:47:com.android.tools.r8.graph.DexEncodedMethod$Builder setCode(com.android.tools.r8.graph.Code):1553:1553 -> a
-    48:48:com.android.tools.r8.graph.DexEncodedMethod$Builder setGenericSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature):1562:1562 -> a
-    49:49:com.android.tools.r8.graph.DexEncodedMethod$Builder setApiLevelForCode(com.android.tools.r8.androidapi.ComputedApiLevel):1572:1572 -> a
-    50:50:com.android.tools.r8.graph.DexEncodedMethod$Builder setDeprecated(boolean):1577:1577 -> a
-    51:51:com.android.tools.r8.graph.DexEncodedMethod$Builder setClassFileVersion(com.android.tools.r8.cf.CfVersion):1582:1582 -> a
-    52:58:com.android.tools.r8.graph.DexEncodedMethod build():1602:1608 -> a
-    59:83:com.android.tools.r8.graph.DexEncodedMethod build():1606:1630 -> a
+    42:44:com.android.tools.r8.graph.DexEncodedMethod$Builder withoutThisParameter(com.android.tools.r8.graph.DexItemFactory):1528:1530 -> a
+    45:45:com.android.tools.r8.graph.DexCode com.android.tools.r8.graph.DexCode.withoutThisParameter(com.android.tools.r8.graph.DexItemFactory):182:182 -> a
+    45:45:com.android.tools.r8.graph.DexEncodedMethod$Builder withoutThisParameter(com.android.tools.r8.graph.DexItemFactory):1530 -> a
+      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
+    46:56:com.android.tools.r8.graph.DexDebugInfo com.android.tools.r8.graph.DexCode.debugInfoWithoutFirstParameter(com.android.tools.r8.graph.DexItemFactory):319:329 -> a
+    46:56:com.android.tools.r8.graph.DexCode com.android.tools.r8.graph.DexCode.withoutThisParameter(com.android.tools.r8.graph.DexItemFactory):189 -> a
+    46:56:com.android.tools.r8.graph.DexEncodedMethod$Builder withoutThisParameter(com.android.tools.r8.graph.DexItemFactory):1530 -> a
+      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
+    57:57:com.android.tools.r8.graph.DexCode com.android.tools.r8.graph.DexCode.withoutThisParameter(com.android.tools.r8.graph.DexItemFactory):189:189 -> a
+    57:57:com.android.tools.r8.graph.DexEncodedMethod$Builder withoutThisParameter(com.android.tools.r8.graph.DexItemFactory):1530 -> a
+      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
+    58:60:com.android.tools.r8.graph.DexEncodedMethod$Builder withoutThisParameter(com.android.tools.r8.graph.DexItemFactory):1530:1532 -> a
+    61:61:com.android.tools.r8.graph.DexEncodedMethod$Builder withoutThisParameter(com.android.tools.r8.graph.DexItemFactory):0:0 -> a
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1594,"2":1595,"3":1596}}
+    1594:1594:com.android.tools.r8.graph.DexEncodedMethod$Builder withoutThisParameter(com.android.tools.r8.graph.DexItemFactory):1532:1532 -> a
+    1595:1595:com.android.tools.r8.graph.DexEncodedMethod$Builder withoutThisParameter(com.android.tools.r8.graph.DexItemFactory):1532:1532 -> a
+    1596:1596:com.android.tools.r8.graph.DexEncodedMethod$Builder withoutThisParameter(com.android.tools.r8.graph.DexItemFactory):1532:1532 -> a
+    1593:1593:com.android.tools.r8.graph.DexEncodedMethod$Builder withoutThisParameter(com.android.tools.r8.graph.DexItemFactory):1532:1532 -> a
+    1597:1597:com.android.tools.r8.graph.DexEncodedMethod$Builder setOptimizationInfo(com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo):1538:1538 -> a
+    1598:1598:com.android.tools.r8.graph.DexEncodedMethod$Builder modifyOptimizationInfo(java.util.function.BiConsumer):1544:1544 -> a
+    1599:1599:com.android.tools.r8.graph.DexEncodedMethod$Builder addBuildConsumer(java.util.function.Consumer):1422:1422 -> a
+    1599:1599:com.android.tools.r8.graph.DexEncodedMethod$Builder modifyOptimizationInfo(java.util.function.BiConsumer):1544 -> a
+    1600:1601:void lambda$modifyOptimizationInfo$1(java.util.function.BiConsumer,com.android.tools.r8.graph.DexEncodedMethod):1546:1547 -> a
+    1602:1602:com.android.tools.r8.graph.DexEncodedMethod$Builder setCode(com.android.tools.r8.graph.Code):1553:1553 -> a
+    1603:1603:com.android.tools.r8.graph.DexEncodedMethod$Builder setGenericSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature):1562:1562 -> a
+    1604:1604:com.android.tools.r8.graph.DexEncodedMethod$Builder setApiLevelForCode(com.android.tools.r8.androidapi.ComputedApiLevel):1572:1572 -> a
+    1605:1605:com.android.tools.r8.graph.DexEncodedMethod$Builder setDeprecated(boolean):1577:1577 -> a
+    1606:1606:com.android.tools.r8.graph.DexEncodedMethod$Builder setClassFileVersion(com.android.tools.r8.cf.CfVersion):1582:1582 -> a
+    1607:1613:com.android.tools.r8.graph.DexEncodedMethod build():1602:1608 -> a
+    1614:1638:com.android.tools.r8.graph.DexEncodedMethod build():1606:1630 -> a
     1:1:com.android.tools.r8.graph.DexEncodedMethod$Builder modifyAccessFlags(java.util.function.Consumer):1427:1427 -> b
     2:2:com.android.tools.r8.graph.DexEncodedMethod$Builder clearAnnotations():1472:1472 -> b
     2:2:com.android.tools.r8.graph.DexEncodedMethod$Builder clearAllAnnotations():1480 -> b
@@ -27077,19 +27168,12 @@
     2:2:com.android.tools.r8.graph.DexEncodedMethod$Builder promoteToStatic():1523 -> f
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
     1:1:com.android.tools.r8.graph.DexEncodedMethod$Builder unsetIsLibraryMethodOverride():1467:1467 -> g
-    1:5:com.android.tools.r8.graph.DexEncodedMethod$Builder withoutThisParameter():1528:1532 -> h
-    6:6:com.android.tools.r8.graph.DexEncodedMethod$Builder withoutThisParameter():0:0 -> h
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1539,"2":1540,"3":1541}}
-    1539:1539:com.android.tools.r8.graph.DexEncodedMethod$Builder withoutThisParameter():1532:1532 -> h
-    1540:1540:com.android.tools.r8.graph.DexEncodedMethod$Builder withoutThisParameter():1532:1532 -> h
-    1541:1541:com.android.tools.r8.graph.DexEncodedMethod$Builder withoutThisParameter():1532:1532 -> h
-    1538:1538:com.android.tools.r8.graph.DexEncodedMethod$Builder withoutThisParameter():1532:1532 -> h
-com.android.tools.r8.graph.DexEncodedMethod$CompilationState$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.vg:
+com.android.tools.r8.graph.DexEncodedMethod$CompilationState$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.xg:
 # {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
 # {"id":"com.android.tools.r8.synthesized"}
     java.lang.String stringValueOf(int) -> a
       # {"id":"com.android.tools.r8.synthesized"}
-com.android.tools.r8.graph.DexField -> com.android.tools.r8.graph.q0:
+com.android.tools.r8.graph.DexField -> com.android.tools.r8.graph.s0:
     com.android.tools.r8.graph.DexType type -> i
     1:4:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,boolean):27:30 -> <init>
     5:5:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,boolean):0:0 -> <init>
@@ -27154,35 +27238,35 @@
     337:337:com.android.tools.r8.graph.DexClassAndField lookupMemberOnClass(com.android.tools.r8.graph.DexClass):84 -> a
     337:337:com.android.tools.r8.graph.DexClassAndMember lookupMemberOnClass(com.android.tools.r8.graph.DexClass):22 -> a
     1:1:com.android.tools.r8.graph.DexEncodedField lookupOnClass(com.android.tools.r8.graph.DexClass):79:79 -> b
-    1:1:java.lang.String toSmaliString():195:195 -> d0
-    1:1:java.lang.String toSourceString():200:200 -> e0
-    2:2:java.lang.String toSourceString():0:0 -> e0
+    1:1:java.lang.String toSmaliString():195:195 -> e0
+    1:1:java.lang.String toSourceString():200:200 -> f0
+    2:2:java.lang.String toSourceString():0:0 -> f0
       # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":404,"2":405,"3":406}}
-    404:404:java.lang.String toSourceString():200:200 -> e0
-    405:405:java.lang.String toSourceString():200:200 -> e0
-    406:406:java.lang.String toSourceString():200:200 -> e0
-    202:202:java.lang.String toSourceString():200:200 -> e0
-    203:203:java.lang.String toSourceString():0:0 -> e0
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":407,"2":408,"3":409}}
-    407:407:java.lang.String toSourceString():200:200 -> e0
-    408:408:java.lang.String toSourceString():200:200 -> e0
-    409:409:java.lang.String toSourceString():200:200 -> e0
-    403:403:java.lang.String toSourceString():200:200 -> e0
-    1:3:int computeHashCode():124:126 -> f0
+    404:404:java.lang.String toSourceString():200:200 -> f0
+    405:405:java.lang.String toSourceString():200:200 -> f0
+    406:406:java.lang.String toSourceString():200:200 -> f0
+    202:202:java.lang.String toSourceString():200:200 -> f0
+    203:203:java.lang.String toSourceString():0:0 -> f0
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":404,"2":405,"3":406}}
+    404:404:java.lang.String toSourceString():200:200 -> f0
+    405:405:java.lang.String toSourceString():200:200 -> f0
+    406:406:java.lang.String toSourceString():200:200 -> f0
+    403:403:java.lang.String toSourceString():200:200 -> f0
     1:5:boolean computeEquals(java.lang.Object):131:135 -> g
-    com.android.tools.r8.graph.DexField asDexField() -> g0
+    1:3:int computeHashCode():124:126 -> g0
     1:1:com.android.tools.r8.graph.DexType getType():70:70 -> getType
-    boolean isDexField() -> k0
+    com.android.tools.r8.graph.DexField asDexField() -> h0
+    boolean isDexField() -> l0
     1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():66:66 -> n
-    1:1:java.lang.Iterable getReferencedTypes():171:171 -> p0
-    1:5:com.android.tools.r8.references.FieldReference asFieldReference():217:217 -> q0
+    1:1:java.lang.Iterable getReferencedTypes():171:171 -> q0
+    1:5:com.android.tools.r8.references.FieldReference asFieldReference():217:217 -> r0
     1:1:java.lang.String toString():0:0 -> toString
       # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":144,"2":145,"3":146}}
     144:144:java.lang.String toString():142:142 -> toString
     145:145:java.lang.String toString():142:142 -> toString
     146:146:java.lang.String toString():142:142 -> toString
     143:143:java.lang.String toString():142:142 -> toString
-com.android.tools.r8.graph.DexItem -> com.android.tools.r8.graph.r0:
+com.android.tools.r8.graph.DexItem -> com.android.tools.r8.graph.t0:
     1:1:void <init>():11:11 -> <init>
     void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection) -> a
     1:1:void collectAll(com.android.tools.r8.dex.MixedSectionCollection,com.android.tools.r8.graph.DexItem[]):14:14 -> a
@@ -27191,495 +27275,500 @@
     5:5:void lambda$collectAll$0(com.android.tools.r8.dex.MixedSectionCollection,com.android.tools.r8.graph.DexItem):14:14 -> a
     6:6:void collectAll(com.android.tools.r8.dex.MixedSectionCollection,java.util.Collection):19:19 -> a
     1:1:void lambda$collectAll$1(com.android.tools.r8.dex.MixedSectionCollection,com.android.tools.r8.graph.DexItem):19:19 -> b
-    1:1:java.lang.String toSmaliString():44:44 -> d0
-    1:1:java.lang.String toSourceString():48:48 -> e0
-com.android.tools.r8.graph.DexItemFactory -> com.android.tools.r8.graph.v0:
-    com.android.tools.r8.graph.DexString assertionErrorDescriptor -> A0
-    com.android.tools.r8.graph.DexItemFactory$ServiceLoaderMethods serviceLoaderMethods -> M4
-    com.android.tools.r8.graph.DexString equalsMethodName -> Q
-    com.android.tools.r8.graph.DexString throwableArrayDescriptor -> b1
-    com.android.tools.r8.graph.DexType optionalLongType -> F2
-    com.android.tools.r8.graph.DexType javaIoFileType -> g3
-    com.android.tools.r8.graph.DexType booleanType -> f1
-    com.android.tools.r8.graph.DexType serializableType -> G4
-    com.android.tools.r8.graph.DexString constructorDescriptor -> I0
-    java.util.Set libraryMethodsWithReturnValueDependingOnlyOnArguments -> W4
-    com.android.tools.r8.graph.DexString getDeclaredConstructorName -> r0
-    com.android.tools.r8.graph.DexString longDescriptor -> A
+    1:1:java.lang.String toSmaliString():44:44 -> e0
+    1:1:java.lang.String toSourceString():48:48 -> f0
+com.android.tools.r8.graph.DexItemFactory -> com.android.tools.r8.graph.x0:
+    com.android.tools.r8.graph.DexString invokeMethodName -> A0
+    com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods stringBuilderMethods -> C3
+    com.android.tools.r8.graph.DexString startsWithMethodName -> Q
+    com.android.tools.r8.graph.DexString javacLambdaMethodPrefix -> b1
+    com.android.tools.r8.graph.DexType optionalDoubleType -> F2
+    com.android.tools.r8.graph.DexType optionalConversionsJ$Type -> g3
+    com.android.tools.r8.graph.DexType listIteratorType -> G4
+    com.android.tools.r8.graph.DexString classLoaderDescriptor -> I0
+    java.util.Set libraryMethodsReturningReceiver -> W4
+    com.android.tools.r8.graph.DexString getSimpleNameName -> r0
+    com.android.tools.r8.graph.DexString floatDescriptor -> A
     java.util.Map types -> c
-    com.android.tools.r8.kotlin.Kotlin kotlin -> b4
-    com.android.tools.r8.graph.DexType annotationCovariantReturnTypes -> x4
-    com.android.tools.r8.graph.DexType referenceFieldUpdaterType -> V1
-    com.android.tools.r8.graph.DexType abstractMapSimpleEntryType -> w2
-    com.android.tools.r8.graph.DexItemFactory$CharMembers charMembers -> E3
-    com.android.tools.r8.graph.DexProto deserializeLambdaMethodProto -> l4
-    com.android.tools.r8.graph.DexString invokeExactMethodName -> z0
-    com.android.tools.r8.graph.DexType annotationInnerClass -> p4
-    com.android.tools.r8.graph.DexType classArrayType -> N1
-    com.android.tools.r8.graph.DexType invocationHandlerType -> o2
-    com.android.tools.r8.graph.DexType charSequenceType -> F1
-    com.android.tools.r8.graph.DexString substringName -> a0
-    com.android.tools.r8.graph.DexString hashCodeMethodName -> R
-    com.android.tools.r8.graph.DexType stringBufferType -> g2
-    com.android.tools.r8.graph.DexItemFactory$StringMembers stringMembers -> N3
-    com.android.tools.r8.graph.DexString finalizeMethodName -> i0
-    boolean $assertionsDisabled -> d5
-    com.android.tools.r8.graph.DexMethod metafactoryAltMethod -> R4
-    com.android.tools.r8.graph.DexType boxedBooleanType -> w1
-    com.android.tools.r8.graph.DexString intFieldUpdaterDescriptor -> Q0
-    com.android.tools.r8.graph.DexString shortDescriptor -> B
+    com.android.tools.r8.graph.DexType annotationSynthesizedClass -> x4
+    com.android.tools.r8.graph.DexType mathType -> V1
+    com.android.tools.r8.graph.DexType mapType -> w2
+    java.util.IdentityHashMap internalSentinels -> e5
+    com.android.tools.r8.graph.DexString assertionsDisabled -> z0
+    java.util.List typeSpecificBuffers -> K2
+    com.android.tools.r8.graph.DexType annotationEnclosingClass -> p4
+    com.android.tools.r8.com.google.common.collect.BiMap primitiveToBoxed -> Q4
+    com.android.tools.r8.graph.DexType recordTagType -> N1
+    com.android.tools.r8.graph.DexType methodHandleType -> o2
+    com.android.tools.r8.graph.DexItemFactory$LongMembers longMembers -> J3
+    com.android.tools.r8.graph.DexString unknownTypeName -> d5
+    com.android.tools.r8.graph.DexType boxedShortType -> F1
+    com.android.tools.r8.graph.DexString compareToIgnoreCaseMethodName -> a0
+    com.android.tools.r8.graph.DexString endsWithMethodName -> R
+    com.android.tools.r8.graph.DexType zipFileType -> g2
+    com.android.tools.r8.graph.DexString wrapperFieldName -> i0
+    com.android.tools.r8.graph.DexType longArrayType -> w1
+    com.android.tools.r8.graph.DexString throwableDescriptor -> Q0
+    com.android.tools.r8.graph.DexString intDescriptor -> B
     java.util.Map fields -> d
-    com.android.tools.r8.graph.DexType doubleSummaryStatisticsConversionsType -> W2
-    com.android.tools.r8.graph.DexType androidUtilPropertyType -> x3
-    com.android.tools.r8.graph.DexType booleanArrayType -> o1
-    com.android.tools.r8.graph.DexString lambdaInstanceFieldName -> Y0
-    com.android.tools.r8.graph.DexType throwableType -> O2
-    com.android.tools.r8.graph.DexType javaUtilLoggingLoggerType -> p3
-    com.android.tools.r8.graph.DexString identityHashCodeName -> S
-    com.android.tools.r8.graph.DexType timeConversionsJ$Type -> f3
-    com.android.tools.r8.graph.DexType optionalIntType -> E2
-    com.android.tools.r8.graph.DexString classArrayDescriptor -> H0
-    com.android.tools.r8.graph.DexType enumerationType -> F4
-    com.android.tools.r8.graph.DexItemFactory$ByteMembers byteMembers -> D3
-    java.util.Set libraryMethodsReturningNonNull -> V4
-    com.android.tools.r8.graph.DexString npeDescriptor -> P0
-    com.android.tools.r8.graph.DexString getTypeNameName -> q0
-    com.android.tools.r8.graph.DexType strictMathType -> U1
-    com.android.tools.r8.graph.DexType mapEntryType -> v2
-    com.android.tools.r8.graph.DexString voidDescriptor -> C
-    com.android.tools.r8.graph.DexType annotationCovariantReturnType -> w4
-    com.android.tools.r8.graph.DexItemFactory$FloatMembers floatMembers -> F3
-    com.android.tools.r8.graph.DexString invokeMethodName -> y0
-    com.android.tools.r8.graph.DexType objectArrayType -> M1
-    com.android.tools.r8.graph.DexType methodTypeType -> n2
+    com.android.tools.r8.graph.DexType npeType -> W2
+    com.android.tools.r8.graph.DexType androidSystemOsConstantsType -> x3
+    java.util.Map unboxPrimitiveMethod -> R4
+    com.android.tools.r8.graph.DexType shortType -> o1
+    com.android.tools.r8.graph.DexString temporaryConstructorMethodPrefix -> Y0
+    com.android.tools.r8.graph.DexItemFactory$ThrowableMethods throwableMethods -> R3
+    com.android.tools.r8.graph.DexItemFactory$ObjectsMethods objectsMethods -> K3
+    com.android.tools.r8.graph.DexItemFactory$JavaLangSystemMethods javaLangSystemMethods -> Y3
+    com.android.tools.r8.graph.DexType retentionType -> O2
+    com.android.tools.r8.graph.DexType javaUtilLocaleType -> p3
+    com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods stringBufferMethods -> D3
+    com.android.tools.r8.graph.DexString equalsMethodName -> S
+    com.android.tools.r8.graph.DexType longSummaryStatisticsConversionsJ$Type -> f3
+    com.android.tools.r8.graph.DexType optionalType -> E2
+    com.android.tools.r8.graph.DexString classDescriptor -> H0
+    com.android.tools.r8.graph.DexType iteratorType -> F4
+    com.android.tools.r8.graph.DexItemFactory$RecordMembers recordMembers -> N3
+    com.android.tools.r8.graph.DexString arraysDescriptor -> P0
+    com.android.tools.r8.graph.DexString getCanonicalNameName -> q0
+    com.android.tools.r8.graph.DexItemFactory$StringConcatFactoryMembers stringConcatFactoryMembers -> P4
+    com.android.tools.r8.graph.DexType iterableType -> U1
+    com.android.tools.r8.graph.DexType setType -> v2
+    com.android.tools.r8.graph.DexString longDescriptor -> C
+    com.android.tools.r8.graph.DexProto twrCloseResourceMethodProto -> k4
+    com.android.tools.r8.graph.DexType annotationThrows -> w4
+    com.android.tools.r8.graph.DexString newInstanceName -> y0
+    com.android.tools.r8.graph.DexType recordType -> M1
+    com.android.tools.r8.graph.DexType varHandleType -> n2
     java.util.Map protos -> e
-    com.android.tools.r8.graph.DexType annotationEnclosingMethod -> o4
-    com.android.tools.r8.graph.DexString enabledFieldName -> a1
-    com.android.tools.r8.graph.DexItemFactory$IntegerMembers integerMembers -> G3
-    com.android.tools.r8.graph.DexType boxedNumberType -> E1
-    com.android.tools.r8.graph.DexType stringBuilderType -> f2
-    com.android.tools.r8.graph.DexString equalsIgnoreCaseMethodName -> T
-    com.android.tools.r8.graph.DexString deserializeLambdaMethodName -> j4
-    com.android.tools.r8.graph.DexString booleanDescriptor -> u
-    com.android.tools.r8.graph.DexString getClassMethodName -> h0
-    com.android.tools.r8.graph.DexMethod metafactoryMethod -> Q4
-    com.android.tools.r8.graph.DexString getSimpleNameName -> p0
-    com.android.tools.r8.graph.DexType kotlinMetadataType -> V2
-    com.android.tools.r8.graph.DexType androidUtilLogType -> w3
-    com.android.tools.r8.graph.DexType shortArrayType -> v1
-    com.android.tools.r8.graph.DexString descriptorSeparator -> D
+    com.android.tools.r8.graph.DexType annotationDefault -> o4
+    com.android.tools.r8.graph.DexString lambdaInstanceFieldName -> a1
+    com.android.tools.r8.graph.DexType boxedLongType -> E1
+    com.android.tools.r8.graph.DexType closeableType -> f2
+    com.android.tools.r8.graph.DexString hashCodeMethodName -> T
+    com.android.tools.r8.graph.DexString twrCloseResourceMethodName -> j4
+    com.android.tools.r8.graph.DexString convertMethodName -> h0
+    com.android.tools.r8.graph.DexString getNameName -> p0
+    com.android.tools.r8.graph.DexType noSuchMethodErrorType -> V2
+    com.android.tools.r8.graph.DexType androidOsParcelableCreatorType -> w3
+    com.android.tools.r8.graph.DexType intArrayType -> v1
+    com.android.tools.r8.graph.DexString shortDescriptor -> D
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap advanceLines -> h
-    com.android.tools.r8.graph.DexString thisName -> X0
-    com.android.tools.r8.graph.DexType runtimeExceptionType -> N2
-    com.android.tools.r8.graph.DexType javaUtilLoggingLevelType -> o3
-    com.android.tools.r8.graph.DexType voidType -> n1
+    com.android.tools.r8.graph.DexString classConstructorMethodName -> X0
+    com.android.tools.r8.graph.DexType intConsumer -> N2
+    com.android.tools.r8.graph.DexType javaUtilListType -> o3
+    com.android.tools.r8.graph.DexType longType -> n1
     java.util.Map methods -> f
-    com.android.tools.r8.graph.DexString stringDescriptor -> C0
-    com.android.tools.r8.graph.DexString kindString -> d1
-    com.android.tools.r8.graph.DexType optionalConversionsJ$Type -> e3
-    com.android.tools.r8.graph.DexType listIteratorType -> E4
+    com.android.tools.r8.graph.DexString assertionErrorDescriptor -> C0
+    java.util.concurrent.ConcurrentHashMap classTypeInterfaces -> u
+    com.android.tools.r8.graph.DexString throwableArrayDescriptor -> d1
+    com.android.tools.r8.graph.DexItemFactory$ProxyMethods proxyMethods -> f4
+    com.android.tools.r8.graph.DexType intSummaryStatisticsConversionsJ$Type -> e3
+    com.android.tools.r8.graph.DexType typeDescriptorType -> E4
     java.util.Map setFiles -> o
-    com.android.tools.r8.graph.DexType optionalDoubleType -> D2
-    com.android.tools.r8.graph.DexString methodDescriptor -> K0
-    java.util.Set libraryClassesWithoutStaticInitialization -> Y4
-    com.android.tools.r8.graph.DexItemFactory$LongMembers longMembers -> H3
-    com.android.tools.r8.graph.DexString getDeclaredFieldName -> t0
-    com.android.tools.r8.graph.DexType annotationSynthesizedClass -> v4
-    com.android.tools.r8.graph.DexType mathType -> T1
-    com.android.tools.r8.graph.DexType mapType -> u2
-    com.android.tools.r8.com.google.common.collect.BiMap primitiveToBoxed -> O4
-    com.android.tools.r8.graph.DexType annotationEnclosingClass -> n4
-    com.android.tools.r8.graph.DexString concatMethodName -> M
-    com.android.tools.r8.graph.DexType recordTagType -> L1
-    com.android.tools.r8.graph.DexType methodHandleType -> m2
-    com.android.tools.r8.graph.DexString valueOfMethodName -> c0
-    com.android.tools.r8.graph.DexItemFactory$ObjectsMethods objectsMethods -> I3
-    com.android.tools.r8.graph.DexType zipFileType -> e2
-    com.android.tools.r8.graph.DexType boxedShortType -> D1
-    com.android.tools.r8.graph.DexString nameMethodName -> k0
-    java.util.Map libraryMethodsNonNullParamOrThrow -> T4
-    com.android.tools.r8.graph.DexType longArrayType -> u1
-    com.android.tools.r8.graph.DexString referenceFieldUpdaterDescriptor -> S0
+    com.android.tools.r8.graph.DexType runnableType -> D2
+    com.android.tools.r8.graph.DexString constructorDescriptor -> K0
+    com.android.tools.r8.graph.DexItemFactory$AndroidUtilSparseArrayMembers androidUtilSparseArrayMembers -> g4
+    java.util.Set libraryMethodsWithReturnValueDependingOnlyOnArguments -> Y4
+    com.android.tools.r8.graph.DexString getDeclaredConstructorName -> t0
+    com.android.tools.r8.graph.DexType annotationSourceDebugExtension -> v4
+    com.android.tools.r8.graph.DexType collectionsType -> T1
+    com.android.tools.r8.graph.DexType listType -> u2
+    com.android.tools.r8.graph.DexItemFactory$ClassMethods classMethods -> T3
+    com.android.tools.r8.graph.DexItemFactory$AtomicFieldUpdaterMethods atomicFieldUpdaterMethods -> c4
+    com.android.tools.r8.utils.LRUCacheTable leastUpperBoundOfInterfacesTable -> v
+    com.android.tools.r8.graph.DexItemFactory$NullPointerExceptionMethods npeMethods -> Z3
+    com.android.tools.r8.graph.DexItemFactory$ObjectMethodsMembers objectMethodsMembers -> N4
+    com.android.tools.r8.graph.DexString isEmptyMethodName -> M
+    com.android.tools.r8.graph.DexType objectType -> L1
+    com.android.tools.r8.graph.DexType javaIoPrintStreamType -> m2
+    com.android.tools.r8.graph.DexItemFactory$BooleanMembers booleanMembers -> E3
+    com.android.tools.r8.graph.DexString substringName -> c0
+    java.util.Set libraryClassesWithoutStaticInitialization -> a5
+    java.util.concurrent.ConcurrentHashMap referenceTypes -> t
+    com.android.tools.r8.graph.DexItemFactory$StringMembers stringMembers -> P3
+    com.android.tools.r8.graph.DexType autoCloseableType -> e2
+    boolean $assertionsDisabled -> f5
+    com.android.tools.r8.graph.DexType boxedIntType -> D1
+    com.android.tools.r8.graph.DexString finalizeMethodName -> k0
+    com.android.tools.r8.graph.DexMethod metafactoryAltMethod -> T4
+    com.android.tools.r8.graph.DexType floatArrayType -> u1
+    com.android.tools.r8.graph.DexString intFieldUpdaterDescriptor -> S0
     com.android.tools.r8.graph.DexDebugEvent$SetEpilogueBegin setEpilogueBegin -> m
-    com.android.tools.r8.graph.DexType npeType -> U2
-    com.android.tools.r8.graph.DexType androidSystemOsConstantsType -> v3
-    com.android.tools.r8.graph.DexItemFactory$JavaLangSystemMethods javaLangSystemMethods -> W3
-    com.android.tools.r8.graph.DexType shortType -> m1
-    java.util.List libraryMembersCollection -> g4
-    com.android.tools.r8.graph.DexType retentionType -> M2
-    com.android.tools.r8.graph.DexType javaUtilLocaleType -> n3
-    com.android.tools.r8.graph.DexString containsMethodName -> N
-    com.android.tools.r8.graph.DexItemFactory$ThrowableMethods throwableMethods -> P3
+    com.android.tools.r8.graph.DexType noClassDefFoundErrorType -> U2
+    com.android.tools.r8.graph.DexType androidOsBundleType -> v3
+    com.android.tools.r8.graph.DexType intType -> m1
+    com.android.tools.r8.graph.DexType longConsumer -> M2
+    com.android.tools.r8.graph.DexType javaUtilConcurrentTimeUnitType -> n3
+    com.android.tools.r8.graph.DexString lengthMethodName -> N
+    com.android.tools.r8.graph.DexItemFactory$JavaUtilArraysMethods javaUtilArraysMethods -> h4
     java.util.Map setInlineFrames -> q
-    com.android.tools.r8.graph.DexString valueString -> c1
-    com.android.tools.r8.graph.DexString charSequenceDescriptor -> B0
-    com.android.tools.r8.graph.DexType optionalType -> C2
-    java.util.concurrent.ConcurrentHashMap classTypeInterfaces -> s
-    com.android.tools.r8.graph.DexType iteratorType -> D4
-    com.android.tools.r8.graph.DexType longSummaryStatisticsConversionsJ$Type -> d3
-    com.android.tools.r8.graph.DexString fieldDescriptor -> J0
-    com.android.tools.r8.graph.DexProto twrCloseResourceMethodProto -> i4
-    java.util.Set libraryTypesAssumedToBePresent -> X4
-    com.android.tools.r8.graph.DexString getFieldName -> s0
-    com.android.tools.r8.graph.DexItemFactory$StringConcatFactoryMembers stringConcatFactoryMembers -> N4
-    com.android.tools.r8.graph.DexType iterableType -> S1
-    com.android.tools.r8.graph.DexType setType -> t2
-    com.android.tools.r8.graph.DexType annotationThrows -> u4
-    com.android.tools.r8.graph.DexType recordType -> K1
-    com.android.tools.r8.graph.DexType varHandleType -> l2
-    com.android.tools.r8.graph.DexString startsWithMethodName -> O
-    com.android.tools.r8.graph.DexType annotationDefault -> m4
-    com.android.tools.r8.graph.DexString endsWithMethodName -> P
-    com.android.tools.r8.graph.DexString trimName -> b0
+    com.android.tools.r8.graph.DexString enabledFieldName -> c1
+    com.android.tools.r8.graph.DexString invokeExactMethodName -> B0
+    com.android.tools.r8.graph.DexType consumerType -> C2
+    com.android.tools.r8.graph.DexType objectMethodsType -> D4
+    com.android.tools.r8.graph.DexItemFactory$ByteMembers byteMembers -> F3
+    com.android.tools.r8.graph.DexType doubleSummaryStatisticsConversionsJ$Type -> d3
+    com.android.tools.r8.graph.DexString classArrayDescriptor -> J0
+    com.android.tools.r8.graph.DexItemFactory$JavaLangAnnotationRetentionPolicyMembers javaLangAnnotationRetentionPolicyMembers -> X3
+    java.util.Set libraryMethodsReturningNonNull -> X4
+    com.android.tools.r8.graph.DexString getTypeNameName -> s0
+    com.android.tools.r8.graph.DexType objectsType -> S1
+    com.android.tools.r8.graph.DexType serviceLoaderConfigurationErrorType -> t2
+    com.android.tools.r8.graph.DexType annotationSignature -> u4
+    com.android.tools.r8.graph.DexItemFactory$IllegalArgumentExceptionMethods illegalArgumentExceptionMethods -> a4
+    com.android.tools.r8.graph.DexType stringArrayType -> K1
+    com.android.tools.r8.graph.DexType javaLangSystemType -> l2
+    com.android.tools.r8.graph.DexString concatMethodName -> O
+    com.android.tools.r8.graph.DexType serializedLambdaType -> m4
+    com.android.tools.r8.graph.DexString containsMethodName -> P
+    com.android.tools.r8.graph.DexString cloneMethodName -> b0
     com.android.tools.r8.graph.DexDebugEvent$SetPrologueEnd setPrologueEnd -> n
-    com.android.tools.r8.graph.DexType closeableType -> d2
-    java.util.concurrent.ConcurrentHashMap referenceTypes -> r
-    com.android.tools.r8.graph.DexType boxedLongType -> C1
-    com.android.tools.r8.graph.DexItemFactory$PolymorphicMethods polymorphicMethods -> c4
-    com.android.tools.r8.graph.DexString ordinalMethodName -> j0
-    com.android.tools.r8.graph.DexItemFactory$BufferMembers bufferMembers -> K3
-    com.android.tools.r8.graph.DexMethod deserializeLambdaMethod -> S4
-    com.android.tools.r8.graph.DexString longFieldUpdaterDescriptor -> R0
+    com.android.tools.r8.graph.DexType methodType -> d2
+    com.android.tools.r8.graph.DexString deserializeLambdaMethodName -> l4
+    com.android.tools.r8.graph.DexType boxedFloatType -> C1
+    com.android.tools.r8.graph.DexString getClassMethodName -> j0
+    com.android.tools.r8.graph.DexMethod metafactoryMethod -> S4
+    com.android.tools.r8.graph.DexString npeDescriptor -> R0
     java.util.Map strings -> b
-    com.android.tools.r8.graph.DexItemFactory$JavaLangReflectArrayMembers javaLangReflectArrayMembers -> U3
-    com.android.tools.r8.graph.DexType noSuchMethodErrorType -> T2
-    com.android.tools.r8.graph.DexType androidOsParcelableCreatorType -> u3
-    com.android.tools.r8.graph.DexType intArrayType -> t1
-    com.android.tools.r8.graph.DexItemFactory$ConstructorMethods constructorMethods -> S3
-    com.android.tools.r8.graph.DexString javacLambdaMethodPrefix -> Z0
-    com.android.tools.r8.graph.DexType intConsumer -> L2
-    com.android.tools.r8.graph.DexType javaUtilListType -> m3
-    com.android.tools.r8.graph.DexType longType -> l1
-    com.android.tools.r8.graph.DexType unsafeType -> K4
-    com.android.tools.r8.graph.DexString objectArrayDescriptor -> E0
-    com.android.tools.r8.graph.DexItemFactory$AndroidUtilSparseArrayMembers androidUtilSparseArrayMembers -> e4
-    com.android.tools.r8.graph.DexType runnableType -> B2
-    com.android.tools.r8.graph.DexType intSummaryStatisticsConversionsJ$Type -> c3
-    com.android.tools.r8.graph.DexString compareToIgnoreCaseMethodName -> Y
-    com.android.tools.r8.graph.DexString intDescriptor -> z
-    com.android.tools.r8.graph.DexType typeDescriptorType -> C4
-    com.android.tools.r8.graph.DexString listDescriptor -> M0
-    com.android.tools.r8.graph.DexType constructorType -> Z1
-    com.android.tools.r8.graph.DexString getDeclaredMethodName -> v0
-    com.android.tools.r8.graph.DexType annotationSourceDebugExtension -> t4
-    com.android.tools.r8.graph.DexType collectionsType -> R1
-    com.android.tools.r8.graph.DexType listType -> s2
-    com.android.tools.r8.graph.DexItemFactory$ObjectMethodsMembers objectMethodsMembers -> L4
-    com.android.tools.r8.graph.DexString notifyMethodName -> I
-    com.android.tools.r8.graph.DexItemFactory$ClassMethods classMethods -> R3
-    com.android.tools.r8.graph.DexType objectType -> J1
-    com.android.tools.r8.graph.DexItemFactory$ProxyMethods proxyMethods -> d4
-    com.android.tools.r8.graph.DexItemFactory$AtomicFieldUpdaterMethods atomicFieldUpdaterMethods -> a4
-    com.android.tools.r8.graph.DexType javaIoPrintStreamType -> k2
-    com.android.tools.r8.graph.DexItemFactory$NullPointerExceptionMethods npeMethods -> X3
-    com.android.tools.r8.graph.DexItemFactory$BooleanMembers booleanMembers -> C3
-    com.android.tools.r8.graph.DexType boxedIntType -> B1
-    com.android.tools.r8.graph.DexString internMethodName -> e0
-    com.android.tools.r8.graph.DexType autoCloseableType -> c2
-    com.android.tools.r8.graph.DexString cloneMethodName -> Z
-    com.android.tools.r8.graph.DexString forNameMethodName -> m0
-    com.android.tools.r8.graph.DexItemFactory$IllegalArgumentExceptionMethods illegalArgumentExceptionMethods -> Y3
-    com.android.tools.r8.graph.DexType floatArrayType -> s1
-    com.android.tools.r8.graph.DexString constructorMethodName -> U0
-    com.android.tools.r8.graph.DexType noClassDefFoundErrorType -> S2
-    com.android.tools.r8.graph.DexType androidOsBundleType -> t3
-    com.android.tools.r8.graph.DexItemFactory$JavaUtilArraysMethods javaUtilArraysMethods -> f4
-    com.android.tools.r8.graph.DexString notifyAllMethodName -> J
-    com.android.tools.r8.graph.DexType intType -> k1
-    com.android.tools.r8.graph.DexType longConsumer -> K2
-    com.android.tools.r8.graph.DexType javaUtilConcurrentTimeUnitType -> l3
-    com.android.tools.r8.graph.DexType javaUtilCollectionsType -> j3
-    com.android.tools.r8.graph.DexItemFactory$ObjectMembers objectMembers -> J3
-    com.android.tools.r8.graph.DexString dalvikAnnotationOptimizationPrefix -> e1
-    com.android.tools.r8.graph.DexString objectDescriptor -> D0
-    com.android.tools.r8.graph.DexType stringConcatFactoryType -> J4
-    com.android.tools.r8.graph.DexItemFactory$JavaLangAnnotationRetentionPolicyMembers javaLangAnnotationRetentionPolicyMembers -> V3
-    com.android.tools.r8.graph.DexType doubleSummaryStatisticsConversionsJ$Type -> b3
-    com.android.tools.r8.graph.DexString enumDescriptor -> L0
-    com.android.tools.r8.graph.DexType consumerType -> A2
-    com.android.tools.r8.graph.DexType objectMethodsType -> B4
-    com.android.tools.r8.graph.DexType classLoaderType -> Y1
-    com.android.tools.r8.graph.DexType supplierType -> z2
-    com.android.tools.r8.graph.DexString getMethodName -> u0
-    com.android.tools.r8.graph.DexType objectsType -> Q1
-    com.android.tools.r8.graph.DexType serviceLoaderConfigurationErrorType -> r2
-    com.android.tools.r8.graph.DexType annotationSignature -> s4
-    com.android.tools.r8.graph.DexString isEmptyMethodName -> K
-    com.android.tools.r8.graph.DexType stringArrayType -> I1
-    com.android.tools.r8.graph.DexItemFactory$EnumMembers enumMembers -> T3
-    com.android.tools.r8.graph.DexType javaLangSystemType -> j2
-    com.android.tools.r8.graph.DexType serializedLambdaType -> k4
-    com.android.tools.r8.graph.DexString toStringMethodName -> d0
-    com.android.tools.r8.graph.DexType boxedFloatType -> A1
-    com.android.tools.r8.graph.DexType methodType -> b2
-    com.android.tools.r8.utils.LRUCacheTable leastUpperBoundOfInterfacesTable -> t
-    com.android.tools.r8.graph.DexString desiredAssertionStatusMethodName -> l0
-    com.android.tools.r8.graph.DexType optionalConversionsType -> Z2
-    com.android.tools.r8.graph.DexType boxedDoubleType -> z1
-    com.android.tools.r8.graph.DexString newUpdaterName -> T0
-    com.android.tools.r8.graph.DexType icceType -> R2
-    com.android.tools.r8.graph.DexType androidOsBuildVersionType -> s3
-    com.android.tools.r8.graph.DexType doubleArrayType -> r1
-    com.android.tools.r8.graph.DexString lengthMethodName -> L
-    com.android.tools.r8.graph.DexItemFactory$AssertionErrorMethods assertionErrorMethods -> Q3
-    com.android.tools.r8.graph.DexType doubleConsumer -> J2
-    com.android.tools.r8.graph.DexType javaUtilComparatorType -> k3
-    com.android.tools.r8.graph.DexType floatType -> j1
-    com.android.tools.r8.graph.DexType javaNioByteOrderType -> i3
-    com.android.tools.r8.graph.DexType comparableType -> I4
-    com.android.tools.r8.graph.DexType charType -> h1
-    com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods stringBuilderMethods -> A3
-    com.android.tools.r8.graph.DexType bufferType -> H2
-    com.android.tools.r8.graph.DexString contentEqualsMethodName -> U
-    com.android.tools.r8.graph.DexString byteDescriptor -> v
-    com.android.tools.r8.graph.DexString classLoaderDescriptor -> G0
-    com.android.tools.r8.graph.DexType timeConversionsType -> a3
-    com.android.tools.r8.graph.DexType lookupType -> A4
-    java.util.Set libraryMethodsReturningReceiver -> U4
-    com.android.tools.r8.graph.DexString throwableDescriptor -> O0
-    com.android.tools.r8.graph.DexType callSiteType -> z4
-    com.android.tools.r8.graph.DexType packageType -> X1
-    com.android.tools.r8.graph.DexType comparatorType -> y2
-    boolean skipNameValidationForTesting -> Z4
+    com.android.tools.r8.graph.DexType icceType -> T2
+    com.android.tools.r8.graph.DexType androidOsBuildVersionType -> u3
+    com.android.tools.r8.graph.DexType doubleArrayType -> t1
+    com.android.tools.r8.graph.DexString thisName -> Z0
+    com.android.tools.r8.graph.DexType doubleConsumer -> L2
+    com.android.tools.r8.graph.DexType javaUtilComparatorType -> m3
+    com.android.tools.r8.graph.DexType floatType -> l1
+    com.android.tools.r8.graph.DexType unsafeType -> M4
+    com.android.tools.r8.graph.DexType comparableType -> K4
+    com.android.tools.r8.graph.DexString stringDescriptor -> E0
+    com.android.tools.r8.graph.DexString kindString -> f1
+    com.android.tools.r8.graph.DexType supplierType -> B2
+    com.android.tools.r8.graph.DexType timeConversionsType -> c3
+    com.android.tools.r8.graph.DexString lastIndexOfMethodName -> Y
+    com.android.tools.r8.graph.DexString doubleDescriptor -> z
+    com.android.tools.r8.graph.DexType lookupType -> C4
+    com.android.tools.r8.graph.DexString methodDescriptor -> M0
+    com.android.tools.r8.graph.DexType packageType -> Z1
+    com.android.tools.r8.graph.DexString getDeclaredFieldName -> v0
+    com.android.tools.r8.graph.DexType annotationMethodParameters -> t4
+    com.android.tools.r8.graph.DexType annotationType -> R1
+    com.android.tools.r8.graph.DexType serviceLoaderType -> s2
+    com.android.tools.r8.graph.DexString boxedNumberDescriptor -> I
+    com.android.tools.r8.graph.DexType stringType -> J1
+    com.android.tools.r8.graph.DexType javaLangReflectArrayType -> k2
+    com.android.tools.r8.graph.DexType boxedDoubleType -> B1
+    com.android.tools.r8.graph.DexString valueOfMethodName -> e0
+    com.android.tools.r8.graph.DexItemFactory$ShortMembers shortMembers -> O3
+    com.android.tools.r8.graph.DexType fieldType -> c2
+    com.android.tools.r8.graph.DexString compareToMethodName -> Z
+    com.android.tools.r8.graph.DexString nameMethodName -> m0
+    java.util.Map libraryMethodsNonNullParamOrThrow -> V4
+    com.android.tools.r8.graph.DexType charArrayType -> s1
+    com.android.tools.r8.graph.DexString referenceFieldUpdaterDescriptor -> U0
+    com.android.tools.r8.graph.DexType illegalArgumentExceptionType -> S2
+    com.android.tools.r8.graph.DexType androidOsBuildType -> t3
+    com.android.tools.r8.graph.DexString waitMethodName -> J
+    com.android.tools.r8.graph.DexType doubleType -> k1
+    java.util.List libraryMembersCollection -> i4
+    com.android.tools.r8.graph.DexType stringConcatFactoryType -> L4
+    com.android.tools.r8.graph.DexType javaUtilCollectionsType -> l3
+    com.android.tools.r8.graph.DexType javaMathBigIntegerType -> j3
+    com.android.tools.r8.graph.DexString valueString -> e1
+    com.android.tools.r8.graph.DexType streamType -> I2
+    com.android.tools.r8.graph.DexString charSequenceDescriptor -> D0
+    com.android.tools.r8.graph.DexType externalizableType -> J4
+    java.util.Set libraryTypesAssumedToBePresent -> Z4
+    com.android.tools.r8.graph.DexType nullValueType -> c5
+    com.android.tools.r8.graph.DexType optionalConversionsType -> b3
+    com.android.tools.r8.graph.DexString fieldDescriptor -> L0
+    com.android.tools.r8.graph.DexType comparatorType -> A2
+    com.android.tools.r8.graph.DexType callSiteType -> B4
+    com.android.tools.r8.graph.DexDebugEvent$Default zeroChangeDefaultEvent -> r
+    com.android.tools.r8.graph.DexType classType -> Y1
+    com.android.tools.r8.graph.DexType collectionType -> z2
+    com.android.tools.r8.graph.DexDebugEvent$Default oneChangeDefaultEvent -> s
+    com.android.tools.r8.graph.DexString getFieldName -> u0
+    com.android.tools.r8.graph.DexType enumType -> Q1
+    com.android.tools.r8.graph.DexType proxyType -> r2
+    com.android.tools.r8.graph.DexType annotationMemberClasses -> s4
+    com.android.tools.r8.graph.DexString notifyMethodName -> K
+    com.android.tools.r8.graph.DexType charSequenceArrayType -> I1
+    com.android.tools.r8.graph.DexType javaLangAnnotationRetentionPolicyType -> j2
+    com.android.tools.r8.graph.DexString trimName -> d0
+    com.android.tools.r8.graph.DexItemFactory$DoubleMembers doubleMembers -> Q3
+    com.android.tools.r8.graph.DexItemFactory$BufferMembers bufferMembers -> M3
+    com.android.tools.r8.graph.DexType boxedCharType -> A1
+    com.android.tools.r8.graph.DexType constructorType -> b2
+    com.android.tools.r8.graph.DexItemFactory$PolymorphicMethods polymorphicMethods -> e4
+    com.android.tools.r8.graph.DexString ordinalMethodName -> l0
+    com.android.tools.r8.graph.DexType androidUtilSparseArrayType -> B3
+    com.android.tools.r8.graph.DexType intSummaryStatisticsConversionsType -> Z2
+    com.android.tools.r8.graph.DexType boxedByteType -> z1
+    com.android.tools.r8.graph.DexItemFactory$JavaLangReflectArrayMembers javaLangReflectArrayMembers -> W3
+    com.android.tools.r8.graph.DexMethod deserializeLambdaMethod -> U4
+    com.android.tools.r8.graph.DexString longFieldUpdaterDescriptor -> T0
+    com.android.tools.r8.graph.DexItemFactory$ConstructorMethods constructorMethods -> U3
+    com.android.tools.r8.graph.DexType illegalAccessErrorType -> R2
+    com.android.tools.r8.graph.DexType javaUtilSetType -> s3
+    com.android.tools.r8.graph.DexType byteArrayType -> r1
+    com.android.tools.r8.graph.DexString notifyAllMethodName -> L
+    com.android.tools.r8.graph.DexType bufferType -> J2
+    com.android.tools.r8.graph.DexType javaNioByteOrderType -> k3
+    com.android.tools.r8.graph.DexType charType -> j1
+    com.android.tools.r8.graph.DexType javaIoFileType -> i3
+    com.android.tools.r8.graph.DexType serializableType -> I4
+    com.android.tools.r8.graph.DexType booleanType -> h1
+    com.android.tools.r8.graph.DexType optionalLongType -> H2
+    com.android.tools.r8.graph.DexString identityHashCodeName -> U
+    com.android.tools.r8.graph.DexString objectArrayDescriptor -> G0
+    com.android.tools.r8.graph.DexType longSummaryStatisticsConversionsType -> a3
+    com.android.tools.r8.graph.DexType annotationReachabilitySensitive -> A4
+    com.android.tools.r8.graph.DexString listDescriptor -> O0
+    com.android.tools.r8.graph.DexType annotationCovariantReturnTypes -> z4
+    com.android.tools.r8.graph.DexType referenceFieldUpdaterType -> X1
+    com.android.tools.r8.graph.DexType abstractMapSimpleEntryType -> y2
+    com.android.tools.r8.graph.DexProto deserializeLambdaMethodProto -> n4
+    com.android.tools.r8.graph.DexItemFactory$CharMembers charMembers -> G3
+    com.android.tools.r8.kotlin.Kotlin kotlin -> d4
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap advancePCs -> i
-    com.android.tools.r8.graph.DexString boxedDoubleDescriptor -> E
-    com.android.tools.r8.graph.DexString assertionsDisabled -> x0
-    java.util.List typeSpecificBuffers -> I2
-    com.android.tools.r8.graph.DexType annotationMethodParameters -> r4
-    com.android.tools.r8.graph.DexType annotationType -> P1
-    com.android.tools.r8.graph.DexType serviceLoaderType -> q2
-    com.android.tools.r8.graph.DexString unknownTypeName -> b5
+    com.android.tools.r8.graph.DexString voidDescriptor -> E
+    com.android.tools.r8.graph.DexString getDeclaredMethodName -> x0
+    com.android.tools.r8.graph.DexType annotationInnerClass -> r4
+    com.android.tools.r8.graph.DexType classArrayType -> P1
+    com.android.tools.r8.graph.DexType invocationHandlerType -> q2
     java.util.Map methodHandles -> g
-    com.android.tools.r8.graph.DexType javaLangReflectArrayType -> i2
-    com.android.tools.r8.graph.DexType stringType -> H1
-    com.android.tools.r8.graph.DexItemFactory$ShortMembers shortMembers -> M3
-    com.android.tools.r8.graph.DexString indexOfMethodName -> V
-    com.android.tools.r8.graph.DexString charDescriptor -> w
-    com.android.tools.r8.graph.DexString wrapperFieldName -> g0
-    com.android.tools.r8.graph.DexType fieldType -> a2
-    java.util.IdentityHashMap internalSentinels -> c5
-    com.android.tools.r8.graph.DexType boxedCharType -> y1
-    com.android.tools.r8.graph.DexString getCanonicalNameName -> o0
-    com.android.tools.r8.graph.DexType longSummaryStatisticsConversionsType -> Y2
-    com.android.tools.r8.graph.DexType androidUtilSparseArrayType -> z3
+    com.android.tools.r8.graph.DexType stringBufferType -> i2
+    com.android.tools.r8.graph.DexType charSequenceType -> H1
+    com.android.tools.r8.graph.DexString equalsIgnoreCaseMethodName -> V
+    com.android.tools.r8.graph.DexString booleanDescriptor -> w
+    com.android.tools.r8.graph.DexString internMethodName -> g0
+    com.android.tools.r8.graph.DexType classLoaderType -> a2
+    boolean skipNameValidationForTesting -> b5
+    com.android.tools.r8.graph.DexType androidViewViewType -> A3
+    com.android.tools.r8.graph.DexType boxedBooleanType -> y1
+    com.android.tools.r8.graph.DexString forNameMethodName -> o0
+    com.android.tools.r8.graph.DexType doubleSummaryStatisticsConversionsType -> Y2
+    com.android.tools.r8.graph.DexType androidUtilPropertyType -> z3
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap defaults -> j
-    java.util.Map unboxPrimitiveMethod -> P4
-    com.android.tools.r8.graph.DexString boxedLongDescriptor -> F
-    com.android.tools.r8.graph.DexType charArrayType -> q1
-    com.android.tools.r8.graph.DexString temporaryConstructorMethodPrefix -> W0
-    com.android.tools.r8.graph.DexType illegalArgumentExceptionType -> Q2
-    com.android.tools.r8.graph.DexType androidOsBuildType -> r3
+    com.android.tools.r8.graph.DexItemFactory$PrimitiveTypesBoxedTypeFields primitiveTypesBoxedTypeFields -> b4
+    com.android.tools.r8.graph.DexString descriptorSeparator -> F
+    com.android.tools.r8.graph.DexType booleanArrayType -> q1
+    com.android.tools.r8.graph.DexString constructorMethodName -> W0
+    com.android.tools.r8.graph.DexType throwableType -> Q2
+    com.android.tools.r8.graph.DexType javaUtilLoggingLoggerType -> r3
     com.android.tools.r8.graph.DexDebugEvent$SetOutlineFrame setOutlineFrame -> p
-    com.android.tools.r8.graph.DexType doubleType -> i1
-    com.android.tools.r8.graph.DexType byteType -> g1
-    com.android.tools.r8.graph.DexType streamType -> G2
-    com.android.tools.r8.graph.DexType externalizableType -> H4
-    com.android.tools.r8.graph.DexType javaMathBigIntegerType -> h3
-    com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods stringBufferMethods -> B3
-    com.android.tools.r8.graph.DexItemFactory$RecordMembers recordMembers -> L3
-    com.android.tools.r8.graph.DexString classDescriptor -> F0
-    com.android.tools.r8.graph.DexString lastIndexOfMethodName -> W
-    com.android.tools.r8.graph.DexString doubleDescriptor -> x
-    com.android.tools.r8.graph.DexType nullValueType -> a5
-    com.android.tools.r8.graph.DexString arraysDescriptor -> N0
-    com.android.tools.r8.graph.DexType classType -> W1
-    com.android.tools.r8.graph.DexType collectionType -> x2
+    com.android.tools.r8.graph.DexType byteType -> i1
+    com.android.tools.r8.graph.DexItemFactory$ServiceLoaderMethods serviceLoaderMethods -> O4
+    com.android.tools.r8.graph.DexType optionalIntType -> G2
+    com.android.tools.r8.graph.DexType enumerationType -> H4
+    com.android.tools.r8.graph.DexType timeConversionsJ$Type -> h3
+    com.android.tools.r8.graph.DexString dalvikAnnotationOptimizationPrefix -> g1
+    com.android.tools.r8.graph.DexString objectDescriptor -> F0
+    com.android.tools.r8.graph.DexString contentEqualsMethodName -> W
+    com.android.tools.r8.graph.DexString byteDescriptor -> x
+    com.android.tools.r8.graph.DexString enumDescriptor -> N0
+    com.android.tools.r8.graph.DexItemFactory$ObjectMembers objectMembers -> L3
+    com.android.tools.r8.graph.DexType strictMathType -> W1
+    com.android.tools.r8.graph.DexType mapEntryType -> x2
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap endLocals -> k
-    com.android.tools.r8.graph.DexType annotationReachabilitySensitive -> y4
-    com.android.tools.r8.graph.DexString boxedNumberDescriptor -> G
-    com.android.tools.r8.graph.DexString newInstanceName -> w0
-    com.android.tools.r8.graph.DexType enumType -> O1
-    com.android.tools.r8.graph.DexType proxyType -> p2
-    com.android.tools.r8.graph.DexType annotationMemberClasses -> q4
-    com.android.tools.r8.graph.DexItemFactory$PrimitiveTypesBoxedTypeFields primitiveTypesBoxedTypeFields -> Z3
-    com.android.tools.r8.graph.DexType javaLangAnnotationRetentionPolicyType -> h2
-    com.android.tools.r8.graph.DexItemFactory$DoubleMembers doubleMembers -> O3
-    com.android.tools.r8.graph.DexString twrCloseResourceMethodName -> h4
-    com.android.tools.r8.graph.DexType charSequenceArrayType -> G1
-    com.android.tools.r8.graph.DexString convertMethodName -> f0
-    com.android.tools.r8.graph.DexString compareToMethodName -> X
-    com.android.tools.r8.graph.DexString floatDescriptor -> y
+    com.android.tools.r8.graph.DexType annotationCovariantReturnType -> y4
+    com.android.tools.r8.graph.DexString boxedDoubleDescriptor -> G
+    com.android.tools.r8.graph.DexString getMethodName -> w0
+    com.android.tools.r8.graph.DexType objectArrayType -> O1
+    com.android.tools.r8.graph.DexType methodTypeType -> p2
+    com.android.tools.r8.graph.DexType annotationEnclosingMethod -> q4
+    com.android.tools.r8.graph.DexItemFactory$FloatMembers floatMembers -> H3
+    com.android.tools.r8.graph.DexType stringBuilderType -> h2
+    com.android.tools.r8.graph.DexItemFactory$AssertionErrorMethods assertionErrorMethods -> S3
+    com.android.tools.r8.graph.DexType boxedNumberType -> G1
+    com.android.tools.r8.graph.DexItemFactory$EnumMembers enumMembers -> V3
+    com.android.tools.r8.graph.DexString toStringMethodName -> f0
+    com.android.tools.r8.graph.DexItemFactory$IntegerMembers integerMembers -> I3
+    com.android.tools.r8.graph.DexString indexOfMethodName -> X
+    com.android.tools.r8.graph.DexString charDescriptor -> y
     java.util.Set possibleCompilerSynthesizedTypes -> a
-    com.android.tools.r8.graph.DexString getNameName -> n0
-    com.android.tools.r8.graph.DexType intSummaryStatisticsConversionsType -> X2
-    com.android.tools.r8.graph.DexType androidViewViewType -> y3
-    com.android.tools.r8.graph.DexType boxedByteType -> x1
+    com.android.tools.r8.graph.DexString desiredAssertionStatusMethodName -> n0
+    com.android.tools.r8.graph.DexType kotlinMetadataType -> X2
+    com.android.tools.r8.graph.DexType androidUtilLogType -> y3
+    com.android.tools.r8.graph.DexType shortArrayType -> x1
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap restartLocals -> l
-    com.android.tools.r8.graph.DexString classConstructorMethodName -> V0
-    com.android.tools.r8.graph.DexString waitMethodName -> H
-    com.android.tools.r8.graph.DexType illegalAccessErrorType -> P2
-    com.android.tools.r8.graph.DexType javaUtilSetType -> q3
-    com.android.tools.r8.graph.DexType byteArrayType -> p1
-    1:50:void <clinit>():71:120 -> <clinit>
-    1:1:void <init>():124:124 -> <init>
-    2:648:void <init>():81:727 -> <init>
-    649:735:void <init>():717:803 -> <init>
-    736:752:void <init>():793:809 -> <init>
-    753:840:void <init>():806:893 -> <init>
-    841:841:void <init>():125:125 -> <init>
+    com.android.tools.r8.graph.DexString newUpdaterName -> V0
+    com.android.tools.r8.graph.DexString boxedLongDescriptor -> H
+    com.android.tools.r8.graph.DexType runtimeExceptionType -> P2
+    com.android.tools.r8.graph.DexType javaUtilLoggingLevelType -> q3
+    com.android.tools.r8.graph.DexType voidType -> p1
+    1:52:void <clinit>():71:122 -> <clinit>
+    1:1:void <init>():126:126 -> <init>
+    2:650:void <init>():81:729 -> <init>
+    651:737:void <init>():719:805 -> <init>
+    738:754:void <init>():795:811 -> <init>
+    755:842:void <init>():808:895 -> <init>
+    843:843:void <init>():127:127 -> <init>
     com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame lambda$createSetInlineFrame$8(com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame) -> a
-    1:1:boolean isInternalSentinel(com.android.tools.r8.graph.DexItem):129:129 -> a
+    1:1:boolean isInternalSentinel(com.android.tools.r8.graph.DexItem):131:131 -> a
     2:2:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexItemFactory):326:326 -> a
-    2:2:java.util.Optional lambda$createInstanceInitializerWithFreshProto$4(com.android.tools.r8.graph.DexMethod,java.util.function.Predicate,com.android.tools.r8.graph.DexProto):2398 -> a
+    2:2:java.util.Optional lambda$createInstanceInitializerWithFreshProto$4(com.android.tools.r8.graph.DexMethod,java.util.function.Predicate,com.android.tools.r8.graph.DexProto):2400 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    3:3:java.util.Optional lambda$createInstanceInitializerWithFreshProto$4(com.android.tools.r8.graph.DexMethod,java.util.function.Predicate,com.android.tools.r8.graph.DexProto):2398:2398 -> a
-    4:5:com.android.tools.r8.graph.DexMethod createUnboxMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):742:743 -> a
-    6:7:com.android.tools.r8.graph.DexType getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType):768:769 -> a
-    8:19:java.util.Set boxedValueOfMethods():778:789 -> a
-    20:22:com.android.tools.r8.graph.DexMethod lambda$boxedValueOfMethods$0(java.util.Map$Entry):781:783 -> a
-    23:23:void setSkipNameValidationForTesting(boolean):896:896 -> a
-    24:24:com.android.tools.r8.graph.DexItem canonicalize(java.util.Map,com.android.tools.r8.graph.DexItem):2159:2159 -> a
-    25:25:boolean isInternalSentinel(com.android.tools.r8.graph.DexItem):129:129 -> a
-    25:25:com.android.tools.r8.graph.DexItem canonicalize(java.util.Map,com.android.tools.r8.graph.DexItem):2160 -> a
-    26:27:com.android.tools.r8.graph.DexItem canonicalize(java.util.Map,com.android.tools.r8.graph.DexItem):2160:2161 -> a
-    28:28:com.android.tools.r8.graph.DexString createString(int,byte[]):2167:2167 -> a
-    29:29:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):2207:2207 -> a
-    30:30:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):0:0 -> a
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":45,"2":46,"3":47}}
-    45:45:java.lang.String createMemberString(java.lang.String,com.android.tools.r8.graph.DexType,int):2180:2180 -> a
-    45:45:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):2208 -> a
-    46:46:java.lang.String createMemberString(java.lang.String,com.android.tools.r8.graph.DexType,int):2180:2180 -> a
-    46:46:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):2208 -> a
-    47:47:java.lang.String createMemberString(java.lang.String,com.android.tools.r8.graph.DexType,int):2180:2180 -> a
-    47:47:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):2208 -> a
-    31:31:java.lang.String createMemberString(java.lang.String,com.android.tools.r8.graph.DexType,int):2182:2182 -> a
-    31:31:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):2208 -> a
-    32:32:java.lang.String escapeMemberString(java.lang.String):2176:2176 -> a
-    32:32:java.lang.String createMemberString(java.lang.String,com.android.tools.r8.graph.DexType,int):2182 -> a
-    32:32:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):2208 -> a
-    33:40:java.lang.String createMemberString(java.lang.String,com.android.tools.r8.graph.DexType,int):2182:2189 -> a
-    33:40:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):2208 -> a
-    41:44:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):2208:2211 -> a
-    48:48:com.android.tools.r8.graph.DexMethod createFreshMethodNameWithHolder(java.lang.String,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType,java.util.function.Predicate):2279:2279 -> a
-    49:49:com.android.tools.r8.graph.DexMethod internalCreateFreshMethodNameWithHolder(java.lang.String,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType,java.util.function.Predicate):2304:2304 -> a
-    49:49:com.android.tools.r8.graph.DexMethod createFreshMethodNameWithHolder(java.lang.String,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType,java.util.function.Predicate):2280 -> a
-    50:50:com.android.tools.r8.graph.DexMethod createFreshMethodNameWithoutHolder(java.lang.String,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType,java.util.function.Predicate,int):2295:2295 -> a
-    50:50:com.android.tools.r8.graph.DexMethod createFreshMethodNameWithoutHolder(java.lang.String,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType,java.util.function.Predicate):2285 -> a
-    51:51:com.android.tools.r8.graph.DexMethod createFreshMethodNameWithoutHolder(java.lang.String,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType,java.util.function.Predicate,int):2295:2295 -> a
-    52:52:com.android.tools.r8.graph.DexMethod internalCreateFreshMethodNameWithHolder(java.lang.String,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType,java.util.function.Predicate,int):2318:2318 -> a
-    53:57:java.util.Optional lambda$internalCreateFreshMethodNameWithHolder$1(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,java.util.function.Predicate,com.android.tools.r8.graph.DexString):2320:2324 -> a
-    58:58:com.android.tools.r8.graph.DexMethodSignature createFreshMethodSignatureName(java.lang.String,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,java.util.function.Predicate):2342:2342 -> a
-    59:59:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType):2194:2194 -> a
-    59:59:com.android.tools.r8.graph.DexMethodSignature createFreshMethodSignatureName(java.lang.String,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,java.util.function.Predicate):2342 -> a
-    60:60:com.android.tools.r8.graph.DexMethodSignature createFreshMethodSignatureName(java.lang.String,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,java.util.function.Predicate):2342:2342 -> a
-    61:61:java.util.Optional lambda$createFreshMethodSignatureName$2(com.android.tools.r8.graph.DexProto,java.util.function.Predicate,com.android.tools.r8.graph.DexString):2344:2344 -> a
-    62:62:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.graph.DexMethodSignature.create(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto):21:21 -> a
-    62:62:java.util.Optional lambda$createFreshMethodSignatureName$2(com.android.tools.r8.graph.DexProto,java.util.function.Predicate,com.android.tools.r8.graph.DexString):2344 -> a
-    63:66:java.util.Optional lambda$createFreshMethodSignatureName$2(com.android.tools.r8.graph.DexProto,java.util.function.Predicate,com.android.tools.r8.graph.DexString):2345:2348 -> a
-    67:67:com.android.tools.r8.graph.DexField createFreshFieldNameWithoutHolder(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.lang.String,java.util.function.Predicate):2362:2362 -> a
-    68:69:java.util.Optional lambda$internalCreateFreshFieldName$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.util.function.Predicate,com.android.tools.r8.graph.DexString):2373:2374 -> a
-    70:70:com.android.tools.r8.graph.DexMethod createInstanceInitializer(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType[]):2385:2385 -> a
-    71:72:com.android.tools.r8.graph.DexMethod createInstanceInitializerWithFreshProto(com.android.tools.r8.graph.DexMethod,java.util.List,java.util.function.Predicate):2394:2395 -> a
-    73:76:com.android.tools.r8.graph.DexMethod createInstanceInitializerWithFreshProto(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType,java.util.function.Predicate):2403:2406 -> a
-    77:77:com.android.tools.r8.graph.DexMethod createInstanceInitializerWithFreshProto(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType,java.util.function.Predicate):2404:2404 -> a
-    78:96:com.android.tools.r8.graph.DexMethod createInstanceInitializerWithFreshProto(com.android.tools.r8.graph.DexProto,java.util.List,java.util.function.Function):2412:2430 -> a
-    97:97:com.android.tools.r8.graph.DexMethod createInstanceInitializerWithFreshProto(com.android.tools.r8.graph.DexProto,java.util.List,java.util.function.Function):2429:2429 -> a
-    98:98:com.android.tools.r8.graph.DexType createStaticallyKnownType(java.lang.String):2474:2474 -> a
-    99:99:com.android.tools.r8.graph.DexType createStaticallyKnownType(com.android.tools.r8.graph.DexString):2485:2485 -> a
-    99:99:com.android.tools.r8.graph.DexType createStaticallyKnownType(java.lang.String):2474 -> a
-    100:104:void addPossiblySynthesizedType(com.android.tools.r8.graph.DexType):2506:2510 -> a
-    100:104:com.android.tools.r8.graph.DexType createStaticallyKnownType(com.android.tools.r8.graph.DexString):2487 -> a
-    100:104:com.android.tools.r8.graph.DexType createStaticallyKnownType(java.lang.String):2474 -> a
-    105:105:com.android.tools.r8.graph.DexType createStaticallyKnownType(java.lang.Class):2481:2481 -> a
-    106:106:com.android.tools.r8.graph.DexType createStaticallyKnownType(com.android.tools.r8.graph.DexString):2485:2485 -> a
-    106:106:com.android.tools.r8.graph.DexType createStaticallyKnownType(java.lang.Class):2480 -> a
-    107:111:void addPossiblySynthesizedType(com.android.tools.r8.graph.DexType):2506:2510 -> a
-    107:111:com.android.tools.r8.graph.DexType createStaticallyKnownType(com.android.tools.r8.graph.DexString):2487 -> a
-    107:111:com.android.tools.r8.graph.DexType createStaticallyKnownType(java.lang.Class):2480 -> a
-    112:113:com.android.tools.r8.graph.DexType createArrayType(int,com.android.tools.r8.graph.DexType):2536:2537 -> a
-    114:115:com.android.tools.r8.graph.DexField createField(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):2542:2543 -> a
-    116:116:com.android.tools.r8.graph.DexField createField(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.lang.String):2547:2547 -> a
-    117:119:com.android.tools.r8.graph.DexField createField(com.android.tools.r8.references.FieldReference):2552:2554 -> a
-    120:120:com.android.tools.r8.graph.DexField createField(com.android.tools.r8.references.FieldReference):2551:2551 -> a
-    121:122:com.android.tools.r8.graph.DexProto createProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.DexString):2559:2560 -> a
-    123:123:com.android.tools.r8.graph.DexProto createProto(com.android.tools.r8.graph.DexType,java.util.List):2572:2572 -> a
-    124:127:com.android.tools.r8.graph.DexProto prependTypeToProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto):2590:2593 -> a
-    128:130:com.android.tools.r8.graph.DexProto prependTypeToProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto):2592:2594 -> a
-    131:133:com.android.tools.r8.graph.DexProto appendTypeToProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType):2598:2600 -> a
-    131:133:com.android.tools.r8.graph.DexProto lambda$createInstanceInitializerWithFreshProto$6(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType):2430 -> a
-    134:137:com.android.tools.r8.graph.DexProto appendTypeToProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType):2599:2602 -> a
-    134:137:com.android.tools.r8.graph.DexProto lambda$createInstanceInitializerWithFreshProto$6(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType):2430 -> a
-    138:142:com.android.tools.r8.graph.DexProto applyClassMappingToProto(com.android.tools.r8.graph.DexProto,java.util.function.Function,java.util.Map):2612:2616 -> a
-    143:147:com.android.tools.r8.graph.DexType[] applyClassMappingToDexTypes(com.android.tools.r8.graph.DexType[],java.util.function.Function):2633:2637 -> a
-    143:147:com.android.tools.r8.graph.DexProto applyClassMappingToProto(com.android.tools.r8.graph.DexProto,java.util.function.Function,java.util.Map):2616 -> a
-    148:148:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ReferenceFunction.put(java.lang.Object,java.lang.Object):41:41 -> a
-    148:148:com.android.tools.r8.graph.DexType[] applyClassMappingToDexTypes(com.android.tools.r8.graph.DexType[],java.util.function.Function):2637 -> a
-    148:148:com.android.tools.r8.graph.DexProto applyClassMappingToProto(com.android.tools.r8.graph.DexProto,java.util.function.Function,java.util.Map):2616 -> a
-    149:151:com.android.tools.r8.graph.DexType[] applyClassMappingToDexTypes(com.android.tools.r8.graph.DexType[],java.util.function.Function):2640:2642 -> a
-    149:151:com.android.tools.r8.graph.DexProto applyClassMappingToProto(com.android.tools.r8.graph.DexProto,java.util.function.Function,java.util.Map):2616 -> a
-    152:158:com.android.tools.r8.graph.DexProto applyClassMappingToProto(com.android.tools.r8.graph.DexProto,java.util.function.Function,java.util.Map):2617:2623 -> a
-    159:163:com.android.tools.r8.graph.DexProto applyClassMappingToProto(com.android.tools.r8.graph.DexProto,java.util.function.Function,java.util.Map):2622:2626 -> a
-    164:165:com.android.tools.r8.graph.DexMethod createMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):2656:2657 -> a
-    166:166:com.android.tools.r8.graph.DexMethod createMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,java.lang.String):2661:2661 -> a
-    167:169:com.android.tools.r8.graph.DexMethod createMethod(com.android.tools.r8.references.MethodReference):2665:2667 -> a
-    170:180:com.android.tools.r8.graph.DexMethod createMethod(com.android.tools.r8.references.MethodReference):2666:2676 -> a
-    181:181:com.android.tools.r8.graph.DexMethod createMethod(com.android.tools.r8.references.MethodReference):2671:2671 -> a
-    182:182:void lambda$createMethod$7(com.android.tools.r8.graph.DexString[],com.android.tools.r8.references.TypeReference,int):2669:2669 -> a
-    183:185:com.android.tools.r8.graph.DexMethodHandle createMethodHandle(com.android.tools.r8.graph.DexMethodHandle$MethodHandleType,com.android.tools.r8.graph.DexMember,boolean,com.android.tools.r8.graph.DexMethod):2693:2695 -> a
-    186:187:com.android.tools.r8.graph.DexCallSite createCallSite(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexMethodHandle,java.util.List):2704:2705 -> a
-    188:197:com.android.tools.r8.graph.DexMethod createMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString[]):2713:2722 -> a
-    198:200:com.android.tools.r8.graph.DexDebugEvent$AdvanceLine createAdvanceLine(int):2730:2732 -> a
-    201:203:com.android.tools.r8.graph.DexDebugEvent$SetFile createSetFile(com.android.tools.r8.graph.DexString):2768:2770 -> a
-    204:206:com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame createSetInlineFrame(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position):2775:2777 -> a
-    207:207:boolean isConstructor(com.android.tools.r8.graph.DexMethod):2790:2790 -> a
-    208:215:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement createReferenceTypeElement(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.graph.AppView):2827:2834 -> a
-    216:247:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement createReferenceTypeElement(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.graph.AppView):2833:2864 -> a
-    248:259:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement lambda$createReferenceTypeElement$9(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DexType):2841:2852 -> a
-    260:274:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement lambda$createReferenceTypeElement$9(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DexType):2848:2862 -> a
-    275:275:com.android.tools.r8.ir.analysis.type.InterfaceCollection getOrComputeLeastUpperBoundOfImplementedInterfaces(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):2869:2869 -> a
-    276:277:com.android.tools.r8.ir.analysis.type.InterfaceCollection lambda$getOrComputeLeastUpperBoundOfImplementedInterfaces$10(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):2872:2873 -> a
-    278:278:void forAllTypes(java.util.function.Consumer):2879:2879 -> a
+    3:3:java.util.Optional lambda$createInstanceInitializerWithFreshProto$4(com.android.tools.r8.graph.DexMethod,java.util.function.Predicate,com.android.tools.r8.graph.DexProto):2400:2400 -> a
+    4:5:com.android.tools.r8.graph.DexMethod createUnboxMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):744:745 -> a
+    6:6:com.android.tools.r8.graph.DexDebugEvent$Default com.android.tools.r8.graph.DexDebugEvent$Default.create(int,int):756:756 -> a
+    6:6:com.android.tools.r8.graph.DexDebugEvent$Default createDefault(int,int):2750 -> a
+    7:7:com.android.tools.r8.graph.DexDebugEvent$Default createDefault(int,int):2750:2750 -> a
+    8:9:com.android.tools.r8.graph.DexType getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType):770:771 -> a
+    10:21:java.util.Set boxedValueOfMethods():780:791 -> a
+    22:24:com.android.tools.r8.graph.DexMethod lambda$boxedValueOfMethods$0(java.util.Map$Entry):783:785 -> a
+    25:25:void setSkipNameValidationForTesting(boolean):898:898 -> a
+    26:26:com.android.tools.r8.graph.DexItem canonicalize(java.util.Map,com.android.tools.r8.graph.DexItem):2161:2161 -> a
+    27:27:boolean isInternalSentinel(com.android.tools.r8.graph.DexItem):131:131 -> a
+    27:27:com.android.tools.r8.graph.DexItem canonicalize(java.util.Map,com.android.tools.r8.graph.DexItem):2162 -> a
+    28:29:com.android.tools.r8.graph.DexItem canonicalize(java.util.Map,com.android.tools.r8.graph.DexItem):2162:2163 -> a
+    30:30:com.android.tools.r8.graph.DexString createString(int,byte[]):2169:2169 -> a
+    31:31:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):2209:2209 -> a
+    32:32:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):0:0 -> a
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":47,"2":48,"3":49}}
+    47:47:java.lang.String createMemberString(java.lang.String,com.android.tools.r8.graph.DexType,int):2182:2182 -> a
+    47:47:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):2210 -> a
+    48:48:java.lang.String createMemberString(java.lang.String,com.android.tools.r8.graph.DexType,int):2182:2182 -> a
+    48:48:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):2210 -> a
+    49:49:java.lang.String createMemberString(java.lang.String,com.android.tools.r8.graph.DexType,int):2182:2182 -> a
+    49:49:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):2210 -> a
+    33:33:java.lang.String createMemberString(java.lang.String,com.android.tools.r8.graph.DexType,int):2184:2184 -> a
+    33:33:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):2210 -> a
+    34:34:java.lang.String escapeMemberString(java.lang.String):2178:2178 -> a
+    34:34:java.lang.String createMemberString(java.lang.String,com.android.tools.r8.graph.DexType,int):2184 -> a
+    34:34:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):2210 -> a
+    35:42:java.lang.String createMemberString(java.lang.String,com.android.tools.r8.graph.DexType,int):2184:2191 -> a
+    35:42:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):2210 -> a
+    43:46:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):2210:2213 -> a
+    50:50:com.android.tools.r8.graph.DexMethod createFreshMethodNameWithHolder(java.lang.String,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType,java.util.function.Predicate):2281:2281 -> a
+    51:51:com.android.tools.r8.graph.DexMethod internalCreateFreshMethodNameWithHolder(java.lang.String,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType,java.util.function.Predicate):2306:2306 -> a
+    51:51:com.android.tools.r8.graph.DexMethod createFreshMethodNameWithHolder(java.lang.String,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType,java.util.function.Predicate):2282 -> a
+    52:52:com.android.tools.r8.graph.DexMethod createFreshMethodNameWithoutHolder(java.lang.String,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType,java.util.function.Predicate,int):2297:2297 -> a
+    52:52:com.android.tools.r8.graph.DexMethod createFreshMethodNameWithoutHolder(java.lang.String,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType,java.util.function.Predicate):2287 -> a
+    53:53:com.android.tools.r8.graph.DexMethod createFreshMethodNameWithoutHolder(java.lang.String,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType,java.util.function.Predicate,int):2297:2297 -> a
+    54:54:com.android.tools.r8.graph.DexMethod internalCreateFreshMethodNameWithHolder(java.lang.String,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType,java.util.function.Predicate,int):2320:2320 -> a
+    55:59:java.util.Optional lambda$internalCreateFreshMethodNameWithHolder$1(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,java.util.function.Predicate,com.android.tools.r8.graph.DexString):2322:2326 -> a
+    60:60:com.android.tools.r8.graph.DexMethodSignature createFreshMethodSignatureName(java.lang.String,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,java.util.function.Predicate):2344:2344 -> a
+    61:61:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType):2196:2196 -> a
+    61:61:com.android.tools.r8.graph.DexMethodSignature createFreshMethodSignatureName(java.lang.String,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,java.util.function.Predicate):2344 -> a
+    62:62:com.android.tools.r8.graph.DexMethodSignature createFreshMethodSignatureName(java.lang.String,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,java.util.function.Predicate):2344:2344 -> a
+    63:63:java.util.Optional lambda$createFreshMethodSignatureName$2(com.android.tools.r8.graph.DexProto,java.util.function.Predicate,com.android.tools.r8.graph.DexString):2346:2346 -> a
+    64:64:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.graph.DexMethodSignature.create(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto):21:21 -> a
+    64:64:java.util.Optional lambda$createFreshMethodSignatureName$2(com.android.tools.r8.graph.DexProto,java.util.function.Predicate,com.android.tools.r8.graph.DexString):2346 -> a
+    65:68:java.util.Optional lambda$createFreshMethodSignatureName$2(com.android.tools.r8.graph.DexProto,java.util.function.Predicate,com.android.tools.r8.graph.DexString):2347:2350 -> a
+    69:69:com.android.tools.r8.graph.DexField createFreshFieldNameWithoutHolder(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.lang.String,java.util.function.Predicate):2364:2364 -> a
+    70:71:java.util.Optional lambda$internalCreateFreshFieldName$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.util.function.Predicate,com.android.tools.r8.graph.DexString):2375:2376 -> a
+    72:72:com.android.tools.r8.graph.DexMethod createInstanceInitializer(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType[]):2387:2387 -> a
+    73:74:com.android.tools.r8.graph.DexMethod createInstanceInitializerWithFreshProto(com.android.tools.r8.graph.DexMethod,java.util.List,java.util.function.Predicate):2396:2397 -> a
+    75:78:com.android.tools.r8.graph.DexMethod createInstanceInitializerWithFreshProto(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType,java.util.function.Predicate):2405:2408 -> a
+    79:79:com.android.tools.r8.graph.DexMethod createInstanceInitializerWithFreshProto(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType,java.util.function.Predicate):2406:2406 -> a
+    80:98:com.android.tools.r8.graph.DexMethod createInstanceInitializerWithFreshProto(com.android.tools.r8.graph.DexProto,java.util.List,java.util.function.Function):2414:2432 -> a
+    99:99:com.android.tools.r8.graph.DexMethod createInstanceInitializerWithFreshProto(com.android.tools.r8.graph.DexProto,java.util.List,java.util.function.Function):2431:2431 -> a
+    100:100:com.android.tools.r8.graph.DexType createStaticallyKnownType(java.lang.String):2476:2476 -> a
+    101:101:com.android.tools.r8.graph.DexType createStaticallyKnownType(com.android.tools.r8.graph.DexString):2487:2487 -> a
+    101:101:com.android.tools.r8.graph.DexType createStaticallyKnownType(java.lang.String):2476 -> a
+    102:106:void addPossiblySynthesizedType(com.android.tools.r8.graph.DexType):2508:2512 -> a
+    102:106:com.android.tools.r8.graph.DexType createStaticallyKnownType(com.android.tools.r8.graph.DexString):2489 -> a
+    102:106:com.android.tools.r8.graph.DexType createStaticallyKnownType(java.lang.String):2476 -> a
+    107:107:com.android.tools.r8.graph.DexType createStaticallyKnownType(java.lang.Class):2483:2483 -> a
+    108:108:com.android.tools.r8.graph.DexType createStaticallyKnownType(com.android.tools.r8.graph.DexString):2487:2487 -> a
+    108:108:com.android.tools.r8.graph.DexType createStaticallyKnownType(java.lang.Class):2482 -> a
+    109:113:void addPossiblySynthesizedType(com.android.tools.r8.graph.DexType):2508:2512 -> a
+    109:113:com.android.tools.r8.graph.DexType createStaticallyKnownType(com.android.tools.r8.graph.DexString):2489 -> a
+    109:113:com.android.tools.r8.graph.DexType createStaticallyKnownType(java.lang.Class):2482 -> a
+    114:115:com.android.tools.r8.graph.DexType createArrayType(int,com.android.tools.r8.graph.DexType):2538:2539 -> a
+    116:117:com.android.tools.r8.graph.DexField createField(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):2544:2545 -> a
+    118:118:com.android.tools.r8.graph.DexField createField(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.lang.String):2549:2549 -> a
+    119:121:com.android.tools.r8.graph.DexField createField(com.android.tools.r8.references.FieldReference):2554:2556 -> a
+    122:122:com.android.tools.r8.graph.DexField createField(com.android.tools.r8.references.FieldReference):2553:2553 -> a
+    123:124:com.android.tools.r8.graph.DexProto createProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.DexString):2561:2562 -> a
+    125:125:com.android.tools.r8.graph.DexProto createProto(com.android.tools.r8.graph.DexType,java.util.List):2574:2574 -> a
+    126:129:com.android.tools.r8.graph.DexProto prependTypeToProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto):2592:2595 -> a
+    130:132:com.android.tools.r8.graph.DexProto prependTypeToProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto):2594:2596 -> a
+    133:135:com.android.tools.r8.graph.DexProto appendTypeToProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType):2600:2602 -> a
+    133:135:com.android.tools.r8.graph.DexProto lambda$createInstanceInitializerWithFreshProto$6(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType):2432 -> a
+    136:139:com.android.tools.r8.graph.DexProto appendTypeToProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType):2601:2604 -> a
+    136:139:com.android.tools.r8.graph.DexProto lambda$createInstanceInitializerWithFreshProto$6(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType):2432 -> a
+    140:144:com.android.tools.r8.graph.DexProto applyClassMappingToProto(com.android.tools.r8.graph.DexProto,java.util.function.Function,java.util.Map):2614:2618 -> a
+    145:149:com.android.tools.r8.graph.DexType[] applyClassMappingToDexTypes(com.android.tools.r8.graph.DexType[],java.util.function.Function):2635:2639 -> a
+    145:149:com.android.tools.r8.graph.DexProto applyClassMappingToProto(com.android.tools.r8.graph.DexProto,java.util.function.Function,java.util.Map):2618 -> a
+    150:150:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ReferenceFunction.put(java.lang.Object,java.lang.Object):41:41 -> a
+    150:150:com.android.tools.r8.graph.DexType[] applyClassMappingToDexTypes(com.android.tools.r8.graph.DexType[],java.util.function.Function):2639 -> a
+    150:150:com.android.tools.r8.graph.DexProto applyClassMappingToProto(com.android.tools.r8.graph.DexProto,java.util.function.Function,java.util.Map):2618 -> a
+    151:153:com.android.tools.r8.graph.DexType[] applyClassMappingToDexTypes(com.android.tools.r8.graph.DexType[],java.util.function.Function):2642:2644 -> a
+    151:153:com.android.tools.r8.graph.DexProto applyClassMappingToProto(com.android.tools.r8.graph.DexProto,java.util.function.Function,java.util.Map):2618 -> a
+    154:160:com.android.tools.r8.graph.DexProto applyClassMappingToProto(com.android.tools.r8.graph.DexProto,java.util.function.Function,java.util.Map):2619:2625 -> a
+    161:165:com.android.tools.r8.graph.DexProto applyClassMappingToProto(com.android.tools.r8.graph.DexProto,java.util.function.Function,java.util.Map):2624:2628 -> a
+    166:167:com.android.tools.r8.graph.DexMethod createMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):2658:2659 -> a
+    168:168:com.android.tools.r8.graph.DexMethod createMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,java.lang.String):2663:2663 -> a
+    169:171:com.android.tools.r8.graph.DexMethod createMethod(com.android.tools.r8.references.MethodReference):2667:2669 -> a
+    172:182:com.android.tools.r8.graph.DexMethod createMethod(com.android.tools.r8.references.MethodReference):2668:2678 -> a
+    183:183:com.android.tools.r8.graph.DexMethod createMethod(com.android.tools.r8.references.MethodReference):2673:2673 -> a
+    184:184:void lambda$createMethod$7(com.android.tools.r8.graph.DexString[],com.android.tools.r8.references.TypeReference,int):2671:2671 -> a
+    185:187:com.android.tools.r8.graph.DexMethodHandle createMethodHandle(com.android.tools.r8.graph.DexMethodHandle$MethodHandleType,com.android.tools.r8.graph.DexMember,boolean,com.android.tools.r8.graph.DexMethod):2695:2697 -> a
+    188:189:com.android.tools.r8.graph.DexCallSite createCallSite(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexMethodHandle,java.util.List):2706:2707 -> a
+    190:199:com.android.tools.r8.graph.DexMethod createMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString[]):2715:2724 -> a
+    200:202:com.android.tools.r8.graph.DexDebugEvent$AdvanceLine createAdvanceLine(int):2732:2734 -> a
+    203:205:com.android.tools.r8.graph.DexDebugEvent$SetFile createSetFile(com.android.tools.r8.graph.DexString):2774:2776 -> a
+    206:208:com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame createSetInlineFrame(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position):2781:2783 -> a
+    209:209:boolean isConstructor(com.android.tools.r8.graph.DexMethod):2796:2796 -> a
+    210:217:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement createReferenceTypeElement(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.graph.AppView):2833:2840 -> a
+    218:249:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement createReferenceTypeElement(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.graph.AppView):2839:2870 -> a
+    250:261:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement lambda$createReferenceTypeElement$9(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DexType):2847:2858 -> a
+    262:276:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement lambda$createReferenceTypeElement$9(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DexType):2854:2868 -> a
+    277:277:com.android.tools.r8.ir.analysis.type.InterfaceCollection getOrComputeLeastUpperBoundOfImplementedInterfaces(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):2875:2875 -> a
+    278:279:com.android.tools.r8.ir.analysis.type.InterfaceCollection lambda$getOrComputeLeastUpperBoundOfImplementedInterfaces$10(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):2878:2879 -> a
+    280:280:void forAllTypes(java.util.function.Consumer):2885:2885 -> a
     1:1:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexItemFactory):326:326 -> b
-    1:1:java.util.Optional lambda$createInstanceInitializerWithFreshProto$5(com.android.tools.r8.graph.DexMethod,java.util.function.Predicate,com.android.tools.r8.graph.DexProto):2407 -> b
+    1:1:java.util.Optional lambda$createInstanceInitializerWithFreshProto$5(com.android.tools.r8.graph.DexMethod,java.util.function.Predicate,com.android.tools.r8.graph.DexProto):2409 -> b
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    2:2:java.util.Optional lambda$createInstanceInitializerWithFreshProto$5(com.android.tools.r8.graph.DexMethod,java.util.function.Predicate,com.android.tools.r8.graph.DexProto):2407:2407 -> b
-    3:4:java.util.Map buildLibraryMethodsNonNullParamOrThrow():818:819 -> b
-    5:5:java.lang.Iterable com.android.tools.r8.graph.DexItemFactory$ObjectsMethods.requireNonNullMethods():1501:1501 -> b
-    5:5:java.util.Map buildLibraryMethodsNonNullParamOrThrow():819 -> b
+    2:2:java.util.Optional lambda$createInstanceInitializerWithFreshProto$5(com.android.tools.r8.graph.DexMethod,java.util.function.Predicate,com.android.tools.r8.graph.DexProto):2409:2409 -> b
+    3:4:java.util.Map buildLibraryMethodsNonNullParamOrThrow():820:821 -> b
+    5:5:java.lang.Iterable com.android.tools.r8.graph.DexItemFactory$ObjectsMethods.requireNonNullMethods():1503:1503 -> b
+    5:5:java.util.Map buildLibraryMethodsNonNullParamOrThrow():821 -> b
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    6:9:java.util.Map buildLibraryMethodsNonNullParamOrThrow():819:822 -> b
-    10:10:com.android.tools.r8.graph.DexString createString(java.lang.String):2172:2172 -> b
-    11:11:com.android.tools.r8.graph.DexField internalCreateFreshFieldName(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.lang.String,java.util.function.Predicate):2371:2371 -> b
-    12:12:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType):2194:2194 -> b
-    12:12:com.android.tools.r8.graph.DexField internalCreateFreshFieldName(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.lang.String,java.util.function.Predicate):2371 -> b
-    13:13:com.android.tools.r8.graph.DexField internalCreateFreshFieldName(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.lang.String,java.util.function.Predicate):2371:2371 -> b
-    14:14:com.android.tools.r8.graph.DexString lookupString(int,byte[]):2435:2435 -> b
-    15:15:com.android.tools.r8.graph.DexType createStaticallyKnownType(com.android.tools.r8.graph.DexString):2485:2485 -> b
-    16:20:void addPossiblySynthesizedType(com.android.tools.r8.graph.DexType):2506:2510 -> b
-    16:20:com.android.tools.r8.graph.DexType createStaticallyKnownType(com.android.tools.r8.graph.DexString):2487 -> b
-    21:21:boolean isPossiblyCompilerSynthesizedType(com.android.tools.r8.graph.DexType):2515:2515 -> b
-    22:22:void forEachPossiblyCompilerSynthesizedType(java.util.function.Consumer):2519:2519 -> b
-    23:26:com.android.tools.r8.graph.DexProto createProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType[]):2564:2567 -> b
-    27:32:com.android.tools.r8.graph.DexString createShorty(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType[]):2646:2651 -> b
-    27:32:com.android.tools.r8.graph.DexProto createProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType[]):2568 -> b
-    33:33:com.android.tools.r8.graph.DexProto createProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType[]):2565:2565 -> b
-    34:36:com.android.tools.r8.graph.DexDebugEvent$AdvancePC createAdvancePC(int):2736:2738 -> b
-    1:1:com.android.tools.r8.graph.DexType createSynthesizedType(java.lang.String):2494:2494 -> c
-    2:6:void addPossiblySynthesizedType(com.android.tools.r8.graph.DexType):2506:2510 -> c
-    2:6:com.android.tools.r8.graph.DexType createSynthesizedType(java.lang.String):2495 -> c
-    7:11:void addPossiblySynthesizedType(com.android.tools.r8.graph.DexType):2506:2510 -> c
-    7:11:void registerTypeNeededForDesugaring(com.android.tools.r8.graph.DexType):2502 -> c
-    12:12:com.android.tools.r8.graph.DexType createType(com.android.tools.r8.graph.DexString):2524:2524 -> c
-    13:15:com.android.tools.r8.graph.DexDebugEvent$Default createDefault(int):2742:2744 -> c
-    16:18:void clearTypeElementsCache():2798:2800 -> c
-    1:9:com.android.tools.r8.graph.DexType internalCreateType(com.android.tools.r8.graph.DexString):2458:2466 -> d
-    10:10:com.android.tools.r8.graph.DexType internalCreateType(com.android.tools.r8.graph.DexString):2463:2463 -> d
-    11:11:boolean isInternalSentinel(com.android.tools.r8.graph.DexItem):129:129 -> d
-    11:11:com.android.tools.r8.graph.DexType internalCreateType(com.android.tools.r8.graph.DexString):2467 -> d
-    12:13:com.android.tools.r8.graph.DexType internalCreateType(com.android.tools.r8.graph.DexString):2467:2468 -> d
-    14:14:com.android.tools.r8.graph.DexType createType(java.lang.String):2528:2528 -> d
-    15:17:com.android.tools.r8.graph.DexDebugEvent$EndLocal createEndLocal(int):2748:2750 -> d
-    18:18:com.android.tools.r8.graph.DexDebugEvent$SetEpilogueBegin createSetEpilogueBegin():2760:2760 -> d
-    1:1:com.android.tools.r8.graph.DexString lookupString(java.lang.String):2439:2439 -> e
-    2:2:com.android.tools.r8.graph.DexType lookupType(com.android.tools.r8.graph.DexString):2532:2532 -> e
-    3:5:com.android.tools.r8.graph.DexDebugEvent$RestartLocal createRestartLocal(int):2754:2756 -> e
-    6:6:com.android.tools.r8.graph.DexDebugEvent$SetOutlineFrame createSetOutlineFrame():2781:2781 -> e
-    1:1:com.android.tools.r8.graph.DexDebugEvent$SetPrologueEnd createSetPrologueEnd():2764:2764 -> f
-    1:5:java.util.List extractMarkers():2446:2450 -> g
-    1:1:boolean getSkipNameValidationForTesting():900:900 -> h
-    1:3:boolean verifyNoCachedTypeElements():2804:2806 -> i
-com.android.tools.r8.graph.DexItemFactory$1 -> com.android.tools.r8.graph.s0:
-com.android.tools.r8.graph.DexItemFactory$AndroidOsBuildMembers -> com.android.tools.r8.internal.yg:
+    6:9:java.util.Map buildLibraryMethodsNonNullParamOrThrow():821:824 -> b
+    10:10:com.android.tools.r8.graph.DexString createString(java.lang.String):2174:2174 -> b
+    11:11:com.android.tools.r8.graph.DexField internalCreateFreshFieldName(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.lang.String,java.util.function.Predicate):2373:2373 -> b
+    12:12:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType):2196:2196 -> b
+    12:12:com.android.tools.r8.graph.DexField internalCreateFreshFieldName(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.lang.String,java.util.function.Predicate):2373 -> b
+    13:13:com.android.tools.r8.graph.DexField internalCreateFreshFieldName(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.lang.String,java.util.function.Predicate):2373:2373 -> b
+    14:14:com.android.tools.r8.graph.DexString lookupString(int,byte[]):2437:2437 -> b
+    15:15:com.android.tools.r8.graph.DexType createStaticallyKnownType(com.android.tools.r8.graph.DexString):2487:2487 -> b
+    16:20:void addPossiblySynthesizedType(com.android.tools.r8.graph.DexType):2508:2512 -> b
+    16:20:com.android.tools.r8.graph.DexType createStaticallyKnownType(com.android.tools.r8.graph.DexString):2489 -> b
+    21:21:boolean isPossiblyCompilerSynthesizedType(com.android.tools.r8.graph.DexType):2517:2517 -> b
+    22:22:void forEachPossiblyCompilerSynthesizedType(java.util.function.Consumer):2521:2521 -> b
+    23:26:com.android.tools.r8.graph.DexProto createProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType[]):2566:2569 -> b
+    27:32:com.android.tools.r8.graph.DexString createShorty(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType[]):2648:2653 -> b
+    27:32:com.android.tools.r8.graph.DexProto createProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType[]):2570 -> b
+    33:33:com.android.tools.r8.graph.DexProto createProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType[]):2567:2567 -> b
+    34:36:com.android.tools.r8.graph.DexDebugEvent$AdvancePC createAdvancePC(int):2738:2740 -> b
+    1:1:com.android.tools.r8.graph.DexType createSynthesizedType(java.lang.String):2496:2496 -> c
+    2:6:void addPossiblySynthesizedType(com.android.tools.r8.graph.DexType):2508:2512 -> c
+    2:6:com.android.tools.r8.graph.DexType createSynthesizedType(java.lang.String):2497 -> c
+    7:11:void addPossiblySynthesizedType(com.android.tools.r8.graph.DexType):2508:2512 -> c
+    7:11:void registerTypeNeededForDesugaring(com.android.tools.r8.graph.DexType):2504 -> c
+    12:12:com.android.tools.r8.graph.DexType createType(com.android.tools.r8.graph.DexString):2526:2526 -> c
+    13:15:com.android.tools.r8.graph.DexDebugEvent$Default createDefault(int):2744:2746 -> c
+    16:18:void clearTypeElementsCache():2804:2806 -> c
+    1:9:com.android.tools.r8.graph.DexType internalCreateType(com.android.tools.r8.graph.DexString):2460:2468 -> d
+    10:10:com.android.tools.r8.graph.DexType internalCreateType(com.android.tools.r8.graph.DexString):2465:2465 -> d
+    11:11:boolean isInternalSentinel(com.android.tools.r8.graph.DexItem):131:131 -> d
+    11:11:com.android.tools.r8.graph.DexType internalCreateType(com.android.tools.r8.graph.DexString):2469 -> d
+    12:13:com.android.tools.r8.graph.DexType internalCreateType(com.android.tools.r8.graph.DexString):2469:2470 -> d
+    14:14:com.android.tools.r8.graph.DexType createType(java.lang.String):2530:2530 -> d
+    15:17:com.android.tools.r8.graph.DexDebugEvent$EndLocal createEndLocal(int):2754:2756 -> d
+    18:18:com.android.tools.r8.graph.DexDebugEvent$SetEpilogueBegin createSetEpilogueBegin():2766:2766 -> d
+    1:1:com.android.tools.r8.graph.DexString lookupString(java.lang.String):2441:2441 -> e
+    2:2:com.android.tools.r8.graph.DexType lookupType(com.android.tools.r8.graph.DexString):2534:2534 -> e
+    3:5:com.android.tools.r8.graph.DexDebugEvent$RestartLocal createRestartLocal(int):2760:2762 -> e
+    6:6:com.android.tools.r8.graph.DexDebugEvent$SetOutlineFrame createSetOutlineFrame():2787:2787 -> e
+    1:1:com.android.tools.r8.graph.DexDebugEvent$SetPrologueEnd createSetPrologueEnd():2770:2770 -> f
+    1:5:java.util.List extractMarkers():2448:2452 -> g
+    1:1:boolean getSkipNameValidationForTesting():902:902 -> h
+    1:3:boolean verifyNoCachedTypeElements():2810:2812 -> i
+com.android.tools.r8.graph.DexItemFactory$1 -> com.android.tools.r8.graph.u0:
+com.android.tools.r8.graph.DexItemFactory$AndroidOsBuildMembers -> com.android.tools.r8.internal.Ag:
     com.android.tools.r8.graph.DexField TYPE -> q
     com.android.tools.r8.graph.DexField SUPPORTED_64_BIT_ABIS -> n
     com.android.tools.r8.graph.DexField SUPPORTED_32_BIT_ABIS -> m
@@ -27697,50 +27786,50 @@
     com.android.tools.r8.graph.DexField BOOTLOADER -> a
     com.android.tools.r8.graph.DexField CPU_ABI2 -> d
     com.android.tools.r8.graph.DexField CPU_ABI -> c
-    1:23:void <init>(com.android.tools.r8.graph.DexItemFactory):912:934 -> <init>
-    1:17:void forEachFinalField(java.util.function.Consumer):938:954 -> a
-com.android.tools.r8.graph.DexItemFactory$AndroidOsBuildVersionMembers -> com.android.tools.r8.internal.zg:
+    1:23:void <init>(com.android.tools.r8.graph.DexItemFactory):914:936 -> <init>
+    1:17:void forEachFinalField(java.util.function.Consumer):940:956 -> a
+com.android.tools.r8.graph.DexItemFactory$AndroidOsBuildVersionMembers -> com.android.tools.r8.internal.Bg:
     com.android.tools.r8.graph.DexField SECURITY_PATCH -> e
     com.android.tools.r8.graph.DexField RELEASE -> b
     com.android.tools.r8.graph.DexField CODENAME -> a
     com.android.tools.r8.graph.DexField SDK_INT -> d
     com.android.tools.r8.graph.DexField SDK -> c
-    1:8:void <init>(com.android.tools.r8.graph.DexItemFactory):958:965 -> <init>
-    1:5:void forEachFinalField(java.util.function.Consumer):969:973 -> a
-com.android.tools.r8.graph.DexItemFactory$AndroidOsBundleMembers -> com.android.tools.r8.internal.Ag:
+    1:8:void <init>(com.android.tools.r8.graph.DexItemFactory):960:967 -> <init>
+    1:5:void forEachFinalField(java.util.function.Consumer):971:975 -> a
+com.android.tools.r8.graph.DexItemFactory$AndroidOsBundleMembers -> com.android.tools.r8.internal.Cg:
     com.android.tools.r8.graph.DexField EMPTY -> b
     com.android.tools.r8.graph.DexField CREATOR -> a
-    1:5:void <init>(com.android.tools.r8.graph.DexItemFactory):977:981 -> <init>
-    1:2:void forEachFinalField(java.util.function.Consumer):985:986 -> a
-com.android.tools.r8.graph.DexItemFactory$AndroidSystemOsConstantsMembers -> com.android.tools.r8.internal.Bg:
+    1:5:void <init>(com.android.tools.r8.graph.DexItemFactory):979:983 -> <init>
+    1:2:void forEachFinalField(java.util.function.Consumer):987:988 -> a
+com.android.tools.r8.graph.DexItemFactory$AndroidSystemOsConstantsMembers -> com.android.tools.r8.internal.Dg:
     com.android.tools.r8.graph.DexField S_IXUSR -> b
     com.android.tools.r8.graph.DexField S_IRUSR -> a
-    1:4:void <init>(com.android.tools.r8.graph.DexItemFactory):990:993 -> <init>
-    1:2:void forEachFinalField(java.util.function.Consumer):997:998 -> a
-com.android.tools.r8.graph.DexItemFactory$AndroidUtilSparseArrayMembers -> com.android.tools.r8.internal.Cg:
+    1:4:void <init>(com.android.tools.r8.graph.DexItemFactory):992:995 -> <init>
+    1:2:void forEachFinalField(java.util.function.Consumer):999:1000 -> a
+com.android.tools.r8.graph.DexItemFactory$AndroidUtilSparseArrayMembers -> com.android.tools.r8.internal.Eg:
     com.android.tools.r8.graph.DexMethod set -> b
     com.android.tools.r8.graph.DexMethod put -> a
-    1:5:void <init>(com.android.tools.r8.graph.DexItemFactory):1025:1029 -> <init>
-com.android.tools.r8.graph.DexItemFactory$AndroidViewViewMembers -> com.android.tools.r8.internal.Dg:
+    1:5:void <init>(com.android.tools.r8.graph.DexItemFactory):1027:1031 -> <init>
+com.android.tools.r8.graph.DexItemFactory$AndroidViewViewMembers -> com.android.tools.r8.internal.Fg:
     com.android.tools.r8.graph.DexField SELECTED_STATE_SET -> e
     com.android.tools.r8.graph.DexField EMPTY_STATE_SET -> b
     com.android.tools.r8.graph.DexField TRANSLATION_Z -> a
     com.android.tools.r8.graph.DexField PRESSED_ENABLED_STATE_SET -> d
     com.android.tools.r8.graph.DexField ENABLED_STATE_SET -> c
-    1:12:void <init>(com.android.tools.r8.graph.DexItemFactory):1002:1013 -> <init>
-    1:5:void forEachFinalField(java.util.function.Consumer):1017:1021 -> a
-com.android.tools.r8.graph.DexItemFactory$AssertionErrorMethods -> com.android.tools.r8.graph.t0:
+    1:12:void <init>(com.android.tools.r8.graph.DexItemFactory):1004:1015 -> <init>
+    1:5:void forEachFinalField(java.util.function.Consumer):1019:1023 -> a
+com.android.tools.r8.graph.DexItemFactory$AssertionErrorMethods -> com.android.tools.r8.graph.v0:
     com.android.tools.r8.graph.DexMethod initMessageAndCause -> b
     com.android.tools.r8.graph.DexMethod initMessage -> a
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1322:1322 -> <init>
-    2:7:void <init>(com.android.tools.r8.graph.DexItemFactory):1326:1331 -> <init>
-com.android.tools.r8.graph.DexItemFactory$AtomicFieldUpdaterMethods -> com.android.tools.r8.graph.u0:
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1324:1324 -> <init>
+    2:7:void <init>(com.android.tools.r8.graph.DexItemFactory):1328:1333 -> <init>
+com.android.tools.r8.graph.DexItemFactory$AtomicFieldUpdaterMethods -> com.android.tools.r8.graph.w0:
     java.util.Set updaters -> b
     com.android.tools.r8.graph.DexMethod referenceUpdater -> a
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1770:1770 -> <init>
-    2:21:void <init>(com.android.tools.r8.graph.DexItemFactory):1776:1795 -> <init>
-    1:1:boolean isFieldUpdater(com.android.tools.r8.graph.DexMethod):1799:1799 -> a
-com.android.tools.r8.graph.DexItemFactory$BooleanMembers -> com.android.tools.r8.graph.v0$a:
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1772:1772 -> <init>
+    2:21:void <init>(com.android.tools.r8.graph.DexItemFactory):1778:1797 -> <init>
+    1:1:boolean isFieldUpdater(com.android.tools.r8.graph.DexMethod):1801:1801 -> a
+com.android.tools.r8.graph.DexItemFactory$BooleanMembers -> com.android.tools.r8.graph.x0$a:
     com.android.tools.r8.graph.DexField TRUE -> b
     com.android.tools.r8.graph.DexMethod toString -> g
     com.android.tools.r8.graph.DexField FALSE -> a
@@ -27748,26 +27837,26 @@
     com.android.tools.r8.graph.DexMethod parseBoolean -> e
     com.android.tools.r8.graph.DexField TYPE -> c
     com.android.tools.r8.graph.DexMethod booleanValue -> d
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1032:1032 -> <init>
-    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1047:1047 -> <init>
-    3:14:void <init>(com.android.tools.r8.graph.DexItemFactory):1034:1045 -> <init>
-    1:3:void forEachFinalField(java.util.function.Consumer):1051:1053 -> a
-com.android.tools.r8.graph.DexItemFactory$BufferMembers -> com.android.tools.r8.internal.Eg:
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1034:1034 -> <init>
+    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1049:1049 -> <init>
+    3:14:void <init>(com.android.tools.r8.graph.DexItemFactory):1036:1047 -> <init>
+    1:3:void forEachFinalField(java.util.function.Consumer):1053:1055 -> a
+com.android.tools.r8.graph.DexItemFactory$BufferMembers -> com.android.tools.r8.internal.Gg:
     java.util.List bufferCovariantMethods -> a
-    1:12:void <init>(com.android.tools.r8.graph.DexItemFactory):1432:1443 -> <init>
-com.android.tools.r8.graph.DexItemFactory$ByteMembers -> com.android.tools.r8.graph.w0:
+    1:12:void <init>(com.android.tools.r8.graph.DexItemFactory):1434:1445 -> <init>
+com.android.tools.r8.graph.DexItemFactory$ByteMembers -> com.android.tools.r8.graph.y0:
     com.android.tools.r8.graph.DexMethod valueOf -> c
     com.android.tools.r8.graph.DexMethod toString -> b
     com.android.tools.r8.graph.DexMethod byteValue -> a
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1057:1057 -> <init>
-    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1066:1066 -> <init>
-    3:8:void <init>(com.android.tools.r8.graph.DexItemFactory):1059:1064 -> <init>
-com.android.tools.r8.graph.DexItemFactory$CharMembers -> com.android.tools.r8.graph.x0:
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1059:1059 -> <init>
+    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1068:1068 -> <init>
+    3:8:void <init>(com.android.tools.r8.graph.DexItemFactory):1061:1066 -> <init>
+com.android.tools.r8.graph.DexItemFactory$CharMembers -> com.android.tools.r8.graph.z0:
     com.android.tools.r8.graph.DexMethod toString -> a
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1069:1069 -> <init>
-    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1074:1074 -> <init>
-    3:4:void <init>(com.android.tools.r8.graph.DexItemFactory):1071:1072 -> <init>
-com.android.tools.r8.graph.DexItemFactory$ClassMethods -> com.android.tools.r8.graph.y0:
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1071:1071 -> <init>
+    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1076:1076 -> <init>
+    3:4:void <init>(com.android.tools.r8.graph.DexItemFactory):1073:1074 -> <init>
+com.android.tools.r8.graph.DexItemFactory$ClassMethods -> com.android.tools.r8.graph.A0:
     com.android.tools.r8.graph.DexMethod newInstance -> l
     com.android.tools.r8.graph.DexMethod getPackage -> k
     com.android.tools.r8.graph.DexMethod getDeclaredConstructor -> j
@@ -27782,22 +27871,22 @@
     com.android.tools.r8.graph.DexMethod desiredAssertionStatus -> a
     java.util.Set getMembers -> m
     java.util.Set getNames -> n
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1506:1506 -> <init>
-    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1529:1529 -> <init>
-    3:62:void <init>(com.android.tools.r8.graph.DexItemFactory):1511:1570 -> <init>
-    1:1:boolean isReflectiveMemberLookup(com.android.tools.r8.graph.DexMethod):1578:1578 -> a
-com.android.tools.r8.graph.DexItemFactory$ConstructorMethods -> com.android.tools.r8.graph.z0:
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1508:1508 -> <init>
+    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1531:1531 -> <init>
+    3:62:void <init>(com.android.tools.r8.graph.DexItemFactory):1513:1572 -> <init>
+    1:1:boolean isReflectiveMemberLookup(com.android.tools.r8.graph.DexMethod):1580:1580 -> a
+com.android.tools.r8.graph.DexItemFactory$ConstructorMethods -> com.android.tools.r8.graph.B0:
     com.android.tools.r8.graph.DexMethod newInstance -> a
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1586:1586 -> <init>
-    2:4:void <init>(com.android.tools.r8.graph.DexItemFactory):1590:1592 -> <init>
-com.android.tools.r8.graph.DexItemFactory$DoubleMembers -> com.android.tools.r8.graph.A0:
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1588:1588 -> <init>
+    2:4:void <init>(com.android.tools.r8.graph.DexItemFactory):1592:1594 -> <init>
+com.android.tools.r8.graph.DexItemFactory$DoubleMembers -> com.android.tools.r8.graph.C0:
     com.android.tools.r8.graph.DexMethod toString -> b
     com.android.tools.r8.graph.DexMethod isNaN -> a
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1254:1254 -> <init>
-    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1261:1261 -> <init>
-    3:10:void <init>(com.android.tools.r8.graph.DexItemFactory):1258:1265 -> <init>
-    11:11:void <init>(com.android.tools.r8.graph.DexItemFactory):1263:1263 -> <init>
-com.android.tools.r8.graph.DexItemFactory$EnumMembers -> com.android.tools.r8.graph.B0:
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1256:1256 -> <init>
+    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1263:1263 -> <init>
+    3:10:void <init>(com.android.tools.r8.graph.DexItemFactory):1260:1267 -> <init>
+    11:11:void <init>(com.android.tools.r8.graph.DexItemFactory):1265:1265 -> <init>
+com.android.tools.r8.graph.DexItemFactory$EnumMembers -> com.android.tools.r8.graph.D0:
     boolean $assertionsDisabled -> n
     com.android.tools.r8.graph.DexMethod finalize -> l
     com.android.tools.r8.graph.DexMethod constructor -> k
@@ -27812,82 +27901,82 @@
     com.android.tools.r8.graph.DexField ordinalField -> b
     com.android.tools.r8.graph.DexField nameField -> a
     com.android.tools.r8.graph.DexItemFactory this$0 -> m
-    1:1:void <clinit>():1633:1633 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1633:1633 -> <init>
-    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1653:1653 -> <init>
-    3:48:void <init>(com.android.tools.r8.graph.DexItemFactory):1635:1680 -> <init>
-    1:2:void forEachField(java.util.function.Consumer):1684:1685 -> a
-    3:4:boolean isEnumField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexType):1693:1694 -> a
+    1:1:void <clinit>():1635:1635 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1635:1635 -> <init>
+    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1655:1655 -> <init>
+    3:48:void <init>(com.android.tools.r8.graph.DexItemFactory):1637:1682 -> <init>
+    1:2:void forEachField(java.util.function.Consumer):1686:1687 -> a
+    3:4:boolean isEnumField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexType):1695:1696 -> a
     5:5:boolean com.android.tools.r8.graph.DexEncodedField.isEnum():204:204 -> a
-    5:5:boolean isEnumField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexType):1694 -> a
+    5:5:boolean isEnumField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexType):1696 -> a
     6:6:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> a
-    6:6:boolean isEnumField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexType):1694 -> a
-    1:3:boolean isValuesFieldCandidate(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexType):1698:1700 -> b
+    6:6:boolean isEnumField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexType):1696 -> a
+    1:3:boolean isValuesFieldCandidate(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexType):1700:1702 -> b
     4:4:boolean com.android.tools.r8.graph.DexEncodedField.isSynthetic():234:234 -> b
-    4:4:boolean isValuesFieldCandidate(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexType):1701 -> b
+    4:4:boolean isValuesFieldCandidate(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexType):1703 -> b
     5:5:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> b
-    5:5:boolean isValuesFieldCandidate(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexType):1702 -> b
-com.android.tools.r8.graph.DexItemFactory$FloatMembers -> com.android.tools.r8.graph.C0:
+    5:5:boolean isValuesFieldCandidate(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexType):1704 -> b
+com.android.tools.r8.graph.DexItemFactory$FloatMembers -> com.android.tools.r8.graph.E0:
     com.android.tools.r8.graph.DexField TYPE -> a
     com.android.tools.r8.graph.DexMethod toString -> b
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1077:1077 -> <init>
-    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1084:1084 -> <init>
-    3:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1079:1082 -> <init>
-    1:1:void forEachFinalField(java.util.function.Consumer):1088:1088 -> a
-com.android.tools.r8.graph.DexItemFactory$IllegalArgumentExceptionMethods -> com.android.tools.r8.internal.Fg:
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1079:1079 -> <init>
+    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1086:1086 -> <init>
+    3:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1081:1084 -> <init>
+    1:1:void forEachFinalField(java.util.function.Consumer):1090:1090 -> a
+com.android.tools.r8.graph.DexItemFactory$IllegalArgumentExceptionMethods -> com.android.tools.r8.internal.Hg:
     com.android.tools.r8.graph.DexMethod initWithMessage -> a
-    1:5:void <init>(com.android.tools.r8.graph.DexItemFactory):1714:1718 -> <init>
-    6:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1717:1717 -> <init>
-com.android.tools.r8.graph.DexItemFactory$IntegerMembers -> com.android.tools.r8.internal.Gg:
+    1:5:void <init>(com.android.tools.r8.graph.DexItemFactory):1716:1720 -> <init>
+    6:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1719:1719 -> <init>
+com.android.tools.r8.graph.DexItemFactory$IntegerMembers -> com.android.tools.r8.internal.Ig:
     com.android.tools.r8.graph.DexField TYPE -> a
     com.android.tools.r8.graph.DexMethod toString -> b
-    1:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1271:1276 -> <init>
-    1:1:void forEachFinalField(java.util.function.Consumer):1280:1280 -> a
-com.android.tools.r8.graph.DexItemFactory$JavaIoFileMembers -> com.android.tools.r8.internal.Hg:
+    1:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1273:1278 -> <init>
+    1:1:void forEachFinalField(java.util.function.Consumer):1282:1282 -> a
+com.android.tools.r8.graph.DexItemFactory$JavaIoFileMembers -> com.android.tools.r8.internal.Jg:
     com.android.tools.r8.graph.DexField separator -> b
     com.android.tools.r8.graph.DexField pathSeparator -> a
-    1:4:void <init>(com.android.tools.r8.graph.DexItemFactory):1092:1095 -> <init>
-    1:2:void forEachFinalField(java.util.function.Consumer):1099:1100 -> a
-com.android.tools.r8.graph.DexItemFactory$JavaLangAnnotationRetentionPolicyMembers -> com.android.tools.r8.graph.D0:
+    1:4:void <init>(com.android.tools.r8.graph.DexItemFactory):1094:1097 -> <init>
+    1:2:void forEachFinalField(java.util.function.Consumer):1101:1102 -> a
+com.android.tools.r8.graph.DexItemFactory$JavaLangAnnotationRetentionPolicyMembers -> com.android.tools.r8.graph.F0:
     com.android.tools.r8.graph.DexField CLASS -> a
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1600:1600 -> <init>
-    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1606:1606 -> <init>
-    3:4:void <init>(com.android.tools.r8.graph.DexItemFactory):1602:1603 -> <init>
-com.android.tools.r8.graph.DexItemFactory$JavaLangReflectArrayMembers -> com.android.tools.r8.graph.E0:
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1602:1602 -> <init>
+    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1608:1608 -> <init>
+    3:4:void <init>(com.android.tools.r8.graph.DexItemFactory):1604:1605 -> <init>
+com.android.tools.r8.graph.DexItemFactory$JavaLangReflectArrayMembers -> com.android.tools.r8.graph.G0:
     com.android.tools.r8.graph.DexMethod newInstanceMethodWithDimensions -> a
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1609:1609 -> <init>
-    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1617:1617 -> <init>
-    3:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1611:1614 -> <init>
-    7:7:void <init>(com.android.tools.r8.graph.DexItemFactory):1612:1612 -> <init>
-com.android.tools.r8.graph.DexItemFactory$JavaLangSystemMethods -> com.android.tools.r8.graph.F0:
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1611:1611 -> <init>
+    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1619:1619 -> <init>
+    3:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1613:1616 -> <init>
+    7:7:void <init>(com.android.tools.r8.graph.DexItemFactory):1614:1614 -> <init>
+com.android.tools.r8.graph.DexItemFactory$JavaLangSystemMethods -> com.android.tools.r8.graph.H0:
     com.android.tools.r8.graph.DexMethod identityHashCode -> b
     com.android.tools.r8.graph.DexMethod arraycopy -> a
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1620:1620 -> <init>
-    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1630:1630 -> <init>
-    3:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1622:1625 -> <init>
-    7:12:void <init>(com.android.tools.r8.graph.DexItemFactory):1623:1628 -> <init>
-com.android.tools.r8.graph.DexItemFactory$JavaMathBigIntegerMembers -> com.android.tools.r8.internal.Ig:
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1622:1622 -> <init>
+    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1632:1632 -> <init>
+    3:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1624:1627 -> <init>
+    7:12:void <init>(com.android.tools.r8.graph.DexItemFactory):1625:1630 -> <init>
+com.android.tools.r8.graph.DexItemFactory$JavaMathBigIntegerMembers -> com.android.tools.r8.internal.Kg:
     com.android.tools.r8.graph.DexField ZERO -> b
     com.android.tools.r8.graph.DexField ONE -> a
-    1:5:void <init>(com.android.tools.r8.graph.DexItemFactory):1104:1108 -> <init>
-    1:2:void forEachFinalField(java.util.function.Consumer):1112:1113 -> a
-com.android.tools.r8.graph.DexItemFactory$JavaNioByteOrderMembers -> com.android.tools.r8.internal.Jg:
+    1:5:void <init>(com.android.tools.r8.graph.DexItemFactory):1106:1110 -> <init>
+    1:2:void forEachFinalField(java.util.function.Consumer):1114:1115 -> a
+com.android.tools.r8.graph.DexItemFactory$JavaNioByteOrderMembers -> com.android.tools.r8.internal.Lg:
     com.android.tools.r8.graph.DexField BIG_ENDIAN -> b
     com.android.tools.r8.graph.DexField LITTLE_ENDIAN -> a
-    1:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1117:1122 -> <init>
-    1:2:void forEachFinalField(java.util.function.Consumer):1126:1127 -> a
-com.android.tools.r8.graph.DexItemFactory$JavaUtilArraysMethods -> com.android.tools.r8.graph.G0:
+    1:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1119:1124 -> <init>
+    1:2:void forEachFinalField(java.util.function.Consumer):1128:1129 -> a
+com.android.tools.r8.graph.DexItemFactory$JavaUtilArraysMethods -> com.android.tools.r8.graph.I0:
     com.android.tools.r8.graph.DexMethod equalsObjectArray -> b
     com.android.tools.r8.graph.DexMethod asList -> a
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1131:1131 -> <init>
-    2:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1136:1140 -> <init>
-    7:13:void <init>(com.android.tools.r8.graph.DexItemFactory):1138:1144 -> <init>
-com.android.tools.r8.graph.DexItemFactory$JavaUtilComparatorMembers -> com.android.tools.r8.internal.Kg:
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1133:1133 -> <init>
+    2:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1138:1142 -> <init>
+    7:13:void <init>(com.android.tools.r8.graph.DexItemFactory):1140:1146 -> <init>
+com.android.tools.r8.graph.DexItemFactory$JavaUtilComparatorMembers -> com.android.tools.r8.internal.Mg:
     com.android.tools.r8.graph.DexField EMPTY_SET -> b
     com.android.tools.r8.graph.DexField EMPTY_LIST -> a
-    1:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1152:1157 -> <init>
-    1:2:void forEachFinalField(java.util.function.Consumer):1161:1162 -> a
-com.android.tools.r8.graph.DexItemFactory$JavaUtilConcurrentTimeUnitMembers -> com.android.tools.r8.internal.Lg:
+    1:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1154:1159 -> <init>
+    1:2:void forEachFinalField(java.util.function.Consumer):1163:1164 -> a
+com.android.tools.r8.graph.DexItemFactory$JavaUtilConcurrentTimeUnitMembers -> com.android.tools.r8.internal.Ng:
     com.android.tools.r8.graph.DexField NANOSECONDS -> f
     com.android.tools.r8.graph.DexField MINUTES -> e
     com.android.tools.r8.graph.DexField SECONDS -> g
@@ -27895,39 +27984,39 @@
     com.android.tools.r8.graph.DexField DAYS -> a
     com.android.tools.r8.graph.DexField MILLISECONDS -> d
     com.android.tools.r8.graph.DexField MICROSECONDS -> c
-    1:16:void <init>(com.android.tools.r8.graph.DexItemFactory):1166:1181 -> <init>
-    1:7:void forEachFinalField(java.util.function.Consumer):1185:1191 -> a
-com.android.tools.r8.graph.DexItemFactory$JavaUtilLocaleMembers -> com.android.tools.r8.internal.Mg:
+    1:16:void <init>(com.android.tools.r8.graph.DexItemFactory):1168:1183 -> <init>
+    1:7:void forEachFinalField(java.util.function.Consumer):1187:1193 -> a
+com.android.tools.r8.graph.DexItemFactory$JavaUtilLocaleMembers -> com.android.tools.r8.internal.Og:
     com.android.tools.r8.graph.DexField ROOT -> b
     com.android.tools.r8.graph.DexField ENGLISH -> a
     com.android.tools.r8.graph.DexField US -> c
-    1:5:void <init>(com.android.tools.r8.graph.DexItemFactory):1195:1199 -> <init>
-    1:3:void forEachFinalField(java.util.function.Consumer):1203:1205 -> a
-com.android.tools.r8.graph.DexItemFactory$JavaUtilLoggingLevelMembers -> com.android.tools.r8.internal.Ng:
+    1:5:void <init>(com.android.tools.r8.graph.DexItemFactory):1197:1201 -> <init>
+    1:3:void forEachFinalField(java.util.function.Consumer):1205:1207 -> a
+com.android.tools.r8.graph.DexItemFactory$JavaUtilLoggingLevelMembers -> com.android.tools.r8.internal.Pg:
     com.android.tools.r8.graph.DexField WARNING -> f
     com.android.tools.r8.graph.DexField SEVERE -> e
     com.android.tools.r8.graph.DexField FINE -> b
     com.android.tools.r8.graph.DexField CONFIG -> a
     com.android.tools.r8.graph.DexField FINEST -> d
     com.android.tools.r8.graph.DexField FINER -> c
-    1:14:void <init>(com.android.tools.r8.graph.DexItemFactory):1209:1222 -> <init>
-    1:6:void forEachFinalField(java.util.function.Consumer):1226:1231 -> a
-com.android.tools.r8.graph.DexItemFactory$LibraryMembers -> com.android.tools.r8.internal.Og:
-    1:1:void <init>():907:907 -> <init>
+    1:14:void <init>(com.android.tools.r8.graph.DexItemFactory):1211:1224 -> <init>
+    1:6:void forEachFinalField(java.util.function.Consumer):1228:1233 -> a
+com.android.tools.r8.graph.DexItemFactory$LibraryMembers -> com.android.tools.r8.internal.Qg:
+    1:1:void <init>():909:909 -> <init>
     void forEachFinalField(java.util.function.Consumer) -> a
-com.android.tools.r8.graph.DexItemFactory$LongMembers -> com.android.tools.r8.graph.H0:
+com.android.tools.r8.graph.DexItemFactory$LongMembers -> com.android.tools.r8.graph.J0:
     com.android.tools.r8.graph.DexField TYPE -> a
     com.android.tools.r8.graph.DexMethod toString -> b
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1235:1235 -> <init>
-    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1243:1243 -> <init>
-    3:11:void <init>(com.android.tools.r8.graph.DexItemFactory):1237:1245 -> <init>
-    12:12:void <init>(com.android.tools.r8.graph.DexItemFactory):1244:1244 -> <init>
-    1:1:void forEachFinalField(java.util.function.Consumer):1250:1250 -> a
-com.android.tools.r8.graph.DexItemFactory$NullPointerExceptionMethods -> com.android.tools.r8.internal.Pg:
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1237:1237 -> <init>
+    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1245:1245 -> <init>
+    3:11:void <init>(com.android.tools.r8.graph.DexItemFactory):1239:1247 -> <init>
+    12:12:void <init>(com.android.tools.r8.graph.DexItemFactory):1246:1246 -> <init>
+    1:1:void forEachFinalField(java.util.function.Consumer):1252:1252 -> a
+com.android.tools.r8.graph.DexItemFactory$NullPointerExceptionMethods -> com.android.tools.r8.internal.Rg:
     com.android.tools.r8.graph.DexMethod initWithMessage -> b
     com.android.tools.r8.graph.DexMethod init -> a
-    1:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1706:1711 -> <init>
-com.android.tools.r8.graph.DexItemFactory$ObjectMembers -> com.android.tools.r8.graph.v0$b:
+    1:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1708:1713 -> <init>
+com.android.tools.r8.graph.DexItemFactory$ObjectMembers -> com.android.tools.r8.graph.x0$b:
     com.android.tools.r8.graph.DexMethod waitLongInt -> n
     com.android.tools.r8.graph.DexMethod waitLong -> m
     com.android.tools.r8.graph.DexMethod wait -> l
@@ -27942,16 +28031,16 @@
     com.android.tools.r8.graph.DexMethod clone -> c
     com.android.tools.r8.graph.DexField clinitField -> b
     com.android.tools.r8.graph.DexField classIdField -> a
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1359:1359 -> <init>
-    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1388:1388 -> <init>
-    3:47:void <init>(com.android.tools.r8.graph.DexItemFactory):1365:1409 -> <init>
-    1:12:boolean isObjectMember(com.android.tools.r8.graph.DexMethod):1417:1428 -> a
-com.android.tools.r8.graph.DexItemFactory$ObjectMethodsMembers -> com.android.tools.r8.internal.Qg:
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1361:1361 -> <init>
+    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1390:1390 -> <init>
+    3:47:void <init>(com.android.tools.r8.graph.DexItemFactory):1367:1411 -> <init>
+    1:12:boolean isObjectMember(com.android.tools.r8.graph.DexMethod):1419:1430 -> a
+com.android.tools.r8.graph.DexItemFactory$ObjectMethodsMembers -> com.android.tools.r8.internal.Sg:
     com.android.tools.r8.graph.DexMethod bootstrap -> a
-    1:12:void <init>(com.android.tools.r8.graph.DexItemFactory):1344:1355 -> <init>
-    13:13:void <init>(com.android.tools.r8.graph.DexItemFactory):1348:1348 -> <init>
-    14:14:void <init>(com.android.tools.r8.graph.DexItemFactory):1346:1346 -> <init>
-com.android.tools.r8.graph.DexItemFactory$ObjectsMethods -> com.android.tools.r8.graph.v0$c:
+    1:12:void <init>(com.android.tools.r8.graph.DexItemFactory):1346:1357 -> <init>
+    13:13:void <init>(com.android.tools.r8.graph.DexItemFactory):1350:1350 -> <init>
+    14:14:void <init>(com.android.tools.r8.graph.DexItemFactory):1348:1348 -> <init>
+com.android.tools.r8.graph.DexItemFactory$ObjectsMethods -> com.android.tools.r8.graph.x0$c:
     com.android.tools.r8.graph.DexMethod toStringWithObjectAndNullDefault -> k
     com.android.tools.r8.graph.DexMethod toStringWithObject -> j
     com.android.tools.r8.graph.DexMethod requireNonNullElseGet -> i
@@ -27963,14 +28052,14 @@
     com.android.tools.r8.graph.DexMethod isNull -> c
     com.android.tools.r8.graph.DexMethod hashCode -> b
     com.android.tools.r8.graph.DexMethod equals -> a
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1446:1446 -> <init>
-    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1472:1472 -> <init>
-    3:16:void <init>(com.android.tools.r8.graph.DexItemFactory):1448:1461 -> <init>
-    17:22:void <init>(com.android.tools.r8.graph.DexItemFactory):1460:1465 -> <init>
-    23:39:void <init>(com.android.tools.r8.graph.DexItemFactory):1463:1479 -> <init>
-    40:47:void <init>(com.android.tools.r8.graph.DexItemFactory):1477:1484 -> <init>
-    48:48:void <init>(com.android.tools.r8.graph.DexItemFactory):1482:1482 -> <init>
-com.android.tools.r8.graph.DexItemFactory$PolymorphicMethods -> com.android.tools.r8.internal.Rg:
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1448:1448 -> <init>
+    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1474:1474 -> <init>
+    3:16:void <init>(com.android.tools.r8.graph.DexItemFactory):1450:1463 -> <init>
+    17:22:void <init>(com.android.tools.r8.graph.DexItemFactory):1462:1467 -> <init>
+    23:39:void <init>(com.android.tools.r8.graph.DexItemFactory):1465:1481 -> <init>
+    40:47:void <init>(com.android.tools.r8.graph.DexItemFactory):1479:1486 -> <init>
+    48:48:void <init>(com.android.tools.r8.graph.DexItemFactory):1484:1484 -> <init>
+com.android.tools.r8.graph.DexItemFactory$PolymorphicMethods -> com.android.tools.r8.internal.Tg:
     com.android.tools.r8.graph.DexProto compareAndSetSignature -> c
     java.util.Set varHandleMethods -> d
     com.android.tools.r8.graph.DexItemFactory this$0 -> g
@@ -27979,42 +28068,42 @@
     com.android.tools.r8.graph.DexProto signature -> a
     com.android.tools.r8.graph.DexProto setSignature -> b
     boolean $assertionsDisabled -> h
-    1:1:void <clinit>():2033:2033 -> <clinit>
-    1:36:void <init>(com.android.tools.r8.graph.DexItemFactory):2033:2068 -> <init>
-    1:14:com.android.tools.r8.graph.DexMethod canonicalize(com.android.tools.r8.graph.DexMethod):2077:2090 -> a
-    15:20:java.util.Set createStrings(java.lang.String[]):2095:2100 -> a
-    1:7:boolean isPolymorphicInvoke(com.android.tools.r8.graph.DexMethod):2104:2110 -> b
-com.android.tools.r8.graph.DexItemFactory$PrimitiveTypesBoxedTypeFields -> com.android.tools.r8.graph.I0:
+    1:1:void <clinit>():2035:2035 -> <clinit>
+    1:36:void <init>(com.android.tools.r8.graph.DexItemFactory):2035:2070 -> <init>
+    1:14:com.android.tools.r8.graph.DexMethod canonicalize(com.android.tools.r8.graph.DexMethod):2079:2092 -> a
+    15:20:java.util.Set createStrings(java.lang.String[]):2097:2102 -> a
+    1:7:boolean isPolymorphicInvoke(com.android.tools.r8.graph.DexMethod):2106:2112 -> b
+com.android.tools.r8.graph.DexItemFactory$PrimitiveTypesBoxedTypeFields -> com.android.tools.r8.graph.K0:
     java.util.Map boxedFieldTypeToPrimitiveType -> a
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1727:1727 -> <init>
-    2:21:void <init>(com.android.tools.r8.graph.DexItemFactory):1739:1758 -> <init>
-    1:1:com.android.tools.r8.graph.DexType boxedFieldTypeToPrimitiveType(com.android.tools.r8.graph.DexField):1762:1762 -> a
-com.android.tools.r8.graph.DexItemFactory$ProxyMethods -> com.android.tools.r8.graph.J0:
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1729:1729 -> <init>
+    2:21:void <init>(com.android.tools.r8.graph.DexItemFactory):1741:1760 -> <init>
+    1:1:com.android.tools.r8.graph.DexType boxedFieldTypeToPrimitiveType(com.android.tools.r8.graph.DexField):1764:1764 -> a
+com.android.tools.r8.graph.DexItemFactory$ProxyMethods -> com.android.tools.r8.graph.L0:
     com.android.tools.r8.graph.DexMethod newProxyInstance -> a
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):2116:2116 -> <init>
-    2:7:void <init>(com.android.tools.r8.graph.DexItemFactory):2120:2125 -> <init>
-    8:8:void <init>(com.android.tools.r8.graph.DexItemFactory):2122:2122 -> <init>
-com.android.tools.r8.graph.DexItemFactory$RecordMembers -> com.android.tools.r8.internal.Sg:
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):2118:2118 -> <init>
+    2:7:void <init>(com.android.tools.r8.graph.DexItemFactory):2122:2127 -> <init>
+    8:8:void <init>(com.android.tools.r8.graph.DexItemFactory):2124:2124 -> <init>
+com.android.tools.r8.graph.DexItemFactory$RecordMembers -> com.android.tools.r8.internal.Ug:
     com.android.tools.r8.graph.DexMethod toString -> d
     com.android.tools.r8.graph.DexMethod hashCode -> c
     com.android.tools.r8.graph.DexMethod equals -> b
     com.android.tools.r8.graph.DexMethod constructor -> a
-    1:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1336:1341 -> <init>
-com.android.tools.r8.graph.DexItemFactory$ServiceLoaderMethods -> com.android.tools.r8.graph.K0:
+    1:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1338:1343 -> <init>
+com.android.tools.r8.graph.DexItemFactory$ServiceLoaderMethods -> com.android.tools.r8.graph.M0:
     com.android.tools.r8.graph.DexMethod iterator -> d
     com.android.tools.r8.graph.DexMethod loadInstalled -> c
     com.android.tools.r8.graph.DexMethod loadWithClassLoader -> b
     com.android.tools.r8.graph.DexMethod load -> a
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):2129:2129 -> <init>
-    2:8:void <init>(com.android.tools.r8.graph.DexItemFactory):2136:2142 -> <init>
-    9:17:void <init>(com.android.tools.r8.graph.DexItemFactory):2140:2148 -> <init>
-    18:23:void <init>(com.android.tools.r8.graph.DexItemFactory):2145:2150 -> <init>
-com.android.tools.r8.graph.DexItemFactory$ShortMembers -> com.android.tools.r8.graph.L0:
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):2131:2131 -> <init>
+    2:8:void <init>(com.android.tools.r8.graph.DexItemFactory):2138:2144 -> <init>
+    9:17:void <init>(com.android.tools.r8.graph.DexItemFactory):2142:2150 -> <init>
+    18:23:void <init>(com.android.tools.r8.graph.DexItemFactory):2147:2152 -> <init>
+com.android.tools.r8.graph.DexItemFactory$ShortMembers -> com.android.tools.r8.graph.N0:
     com.android.tools.r8.graph.DexMethod toString -> a
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1803:1803 -> <init>
-    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1808:1808 -> <init>
-    3:4:void <init>(com.android.tools.r8.graph.DexItemFactory):1805:1806 -> <init>
-com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods -> com.android.tools.r8.graph.M0:
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1805:1805 -> <init>
+    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1810:1810 -> <init>
+    3:4:void <init>(com.android.tools.r8.graph.DexItemFactory):1807:1808 -> <init>
+com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods -> com.android.tools.r8.graph.O0:
     com.android.tools.r8.graph.DexMethod toString -> m
     com.android.tools.r8.graph.DexMethod stringConstructor -> l
     com.android.tools.r8.graph.DexMethod intConstructor -> k
@@ -28033,26 +28122,26 @@
     java.util.Set constructorMethods -> p
     java.util.Set appendMethods -> n
     com.android.tools.r8.graph.DexItemFactory this$0 -> q
-    1:1:void <clinit>():1897:1897 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory$1):1897:1897 -> <init>
-    2:48:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType):1921:1967 -> <init>
-    1:1:java.util.Set access$2500(com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods):1897:1897 -> a
-    2:2:boolean isAppendMethod(com.android.tools.r8.graph.DexMethod):1974:1974 -> a
-    3:29:boolean constructorInvokeIsSideEffectFree(com.android.tools.r8.graph.DexMethod,java.util.List):1995:2021 -> a
+    1:1:void <clinit>():1899:1899 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory$1):1899:1899 -> <init>
+    2:48:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType):1923:1969 -> <init>
+    1:1:java.util.Set access$2500(com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods):1899:1899 -> a
+    2:2:boolean isAppendMethod(com.android.tools.r8.graph.DexMethod):1976:1976 -> a
+    3:29:boolean constructorInvokeIsSideEffectFree(com.android.tools.r8.graph.DexMethod,java.util.List):1997:2023 -> a
     30:30:boolean constructorInvokeIsSideEffectFree(com.android.tools.r8.graph.DexMethod,java.util.List):0:0 -> a
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2052,"2":2053,"3":2054}}
-    2052:2052:boolean constructorInvokeIsSideEffectFree(com.android.tools.r8.graph.DexMethod,java.util.List):2021:2021 -> a
-    2053:2053:boolean constructorInvokeIsSideEffectFree(com.android.tools.r8.graph.DexMethod,java.util.List):2021:2021 -> a
-    2054:2054:boolean constructorInvokeIsSideEffectFree(com.android.tools.r8.graph.DexMethod,java.util.List):2021:2021 -> a
-    2051:2051:boolean constructorInvokeIsSideEffectFree(com.android.tools.r8.graph.DexMethod,java.util.List):2021:2021 -> a
-    1:1:boolean isAppendPrimitiveMethod(com.android.tools.r8.graph.DexMethod):1982:1982 -> b
-com.android.tools.r8.graph.DexItemFactory$StringConcatFactoryMembers -> com.android.tools.r8.internal.Tg:
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2054,"2":2055,"3":2056}}
+    2054:2054:boolean constructorInvokeIsSideEffectFree(com.android.tools.r8.graph.DexMethod,java.util.List):2023:2023 -> a
+    2055:2055:boolean constructorInvokeIsSideEffectFree(com.android.tools.r8.graph.DexMethod,java.util.List):2023:2023 -> a
+    2056:2056:boolean constructorInvokeIsSideEffectFree(com.android.tools.r8.graph.DexMethod,java.util.List):2023:2023 -> a
+    2053:2053:boolean constructorInvokeIsSideEffectFree(com.android.tools.r8.graph.DexMethod,java.util.List):2023:2023 -> a
+    1:1:boolean isAppendPrimitiveMethod(com.android.tools.r8.graph.DexMethod):1984:1984 -> b
+com.android.tools.r8.graph.DexItemFactory$StringConcatFactoryMembers -> com.android.tools.r8.internal.Vg:
     com.android.tools.r8.graph.DexMethod makeConcatWithConstants -> b
     com.android.tools.r8.graph.DexMethod makeConcat -> a
-    1:7:void <init>(com.android.tools.r8.graph.DexItemFactory):1284:1290 -> <init>
-    8:17:void <init>(com.android.tools.r8.graph.DexItemFactory):1287:1296 -> <init>
-    18:18:void <init>(com.android.tools.r8.graph.DexItemFactory):1292:1292 -> <init>
-com.android.tools.r8.graph.DexItemFactory$StringMembers -> com.android.tools.r8.graph.v0$d:
+    1:7:void <init>(com.android.tools.r8.graph.DexItemFactory):1286:1292 -> <init>
+    8:17:void <init>(com.android.tools.r8.graph.DexItemFactory):1289:1298 -> <init>
+    18:18:void <init>(com.android.tools.r8.graph.DexItemFactory):1294:1294 -> <init>
+com.android.tools.r8.graph.DexItemFactory$StringMembers -> com.android.tools.r8.graph.x0$d:
     com.android.tools.r8.graph.DexMethod lastIndexOfString -> o
     com.android.tools.r8.graph.DexMethod lastIndexOfInt -> n
     com.android.tools.r8.graph.DexMethod indexOfString -> m
@@ -28075,25 +28164,25 @@
     com.android.tools.r8.graph.DexMethod hashCode -> r
     com.android.tools.r8.graph.DexMethod compareToIgnoreCase -> q
     com.android.tools.r8.graph.DexMethod compareTo -> p
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1811:1811 -> <init>
-    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1843:1843 -> <init>
-    3:77:void <init>(com.android.tools.r8.graph.DexItemFactory):1813:1887 -> <init>
-    1:1:void forEachFinalField(java.util.function.Consumer):1893:1893 -> a
-com.android.tools.r8.graph.DexItemFactory$SupplierMembers -> com.android.tools.r8.graph.N0:
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):2026:2026 -> <init>
-    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):2030:2030 -> <init>
-    3:3:void <init>(com.android.tools.r8.graph.DexItemFactory):2028:2028 -> <init>
-com.android.tools.r8.graph.DexItemFactory$ThrowableMethods -> com.android.tools.r8.graph.v0$e:
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1813:1813 -> <init>
+    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1845:1845 -> <init>
+    3:77:void <init>(com.android.tools.r8.graph.DexItemFactory):1815:1889 -> <init>
+    1:1:void forEachFinalField(java.util.function.Consumer):1895:1895 -> a
+com.android.tools.r8.graph.DexItemFactory$SupplierMembers -> com.android.tools.r8.graph.P0:
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):2028:2028 -> <init>
+    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):2032:2032 -> <init>
+    3:3:void <init>(com.android.tools.r8.graph.DexItemFactory):2030:2030 -> <init>
+com.android.tools.r8.graph.DexItemFactory$ThrowableMethods -> com.android.tools.r8.graph.x0$e:
     com.android.tools.r8.graph.DexMethod initCause -> d
     com.android.tools.r8.graph.DexMethod getSuppressed -> c
     com.android.tools.r8.graph.DexMethod getMessage -> b
     com.android.tools.r8.graph.DexMethod addSuppressed -> a
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1299:1299 -> <init>
-    2:4:void <init>(com.android.tools.r8.graph.DexItemFactory):1306:1308 -> <init>
-    5:8:void <init>(com.android.tools.r8.graph.DexItemFactory):1307:1310 -> <init>
-    9:16:void <init>(com.android.tools.r8.graph.DexItemFactory):1309:1316 -> <init>
-    17:17:void <init>(com.android.tools.r8.graph.DexItemFactory):1314:1314 -> <init>
-com.android.tools.r8.graph.DexLibraryClass -> com.android.tools.r8.graph.O0:
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1301:1301 -> <init>
+    2:4:void <init>(com.android.tools.r8.graph.DexItemFactory):1308:1310 -> <init>
+    5:8:void <init>(com.android.tools.r8.graph.DexItemFactory):1309:1312 -> <init>
+    9:16:void <init>(com.android.tools.r8.graph.DexItemFactory):1311:1318 -> <init>
+    17:17:void <init>(com.android.tools.r8.graph.DexItemFactory):1316:1316 -> <init>
+com.android.tools.r8.graph.DexLibraryClass -> com.android.tools.r8.graph.Q0:
     int $r8$clinit -> u
     boolean $assertionsDisabled -> t
     1:1:void <clinit>():22:22 -> <clinit>
@@ -28104,17 +28193,17 @@
     2:7:boolean internalClassOrInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):154:159 -> a
     1:1:void addDependencies(com.android.tools.r8.dex.MixedSectionCollection):115:115 -> b
     1:3:boolean verifyLibraryMethod(com.android.tools.r8.graph.DexEncodedMethod):82:84 -> c
-    1:1:java.lang.String toSourceString():109:109 -> e0
-    2:2:java.lang.String toSourceString():0:0 -> e0
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":111,"2":112,"3":113,"4":114}}
-    111:111:java.lang.String toSourceString():109:109 -> e0
-    112:112:java.lang.String toSourceString():109:109 -> e0
-    113:113:java.lang.String toSourceString():109:109 -> e0
-    114:114:java.lang.String toSourceString():109:109 -> e0
     1:2:boolean verifyLibraryField(com.android.tools.r8.graph.DexEncodedField):89:90 -> f
-    boolean isNotProgramClass() -> n1
+    1:1:java.lang.String toSourceString():109:109 -> f0
+    2:2:java.lang.String toSourceString():0:0 -> f0
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5,"4":6}}
+    3:3:java.lang.String toSourceString():109:109 -> f0
+    4:4:java.lang.String toSourceString():109:109 -> f0
+    5:5:java.lang.String toSourceString():109:109 -> f0
+    6:6:java.lang.String toSourceString():109:109 -> f0
+    boolean isNotProgramClass() -> o1
     1:1:java.lang.String toString():104:104 -> toString
-com.android.tools.r8.graph.DexMember -> com.android.tools.r8.graph.P0:
+com.android.tools.r8.graph.DexMember -> com.android.tools.r8.graph.R0:
     com.android.tools.r8.graph.DexString name -> g
     boolean $assertionsDisabled -> h
     com.android.tools.r8.graph.DexType holder -> f
@@ -28124,25 +28213,25 @@
     com.android.tools.r8.graph.DexClassAndMember lookupMemberOnClass(com.android.tools.r8.graph.DexClass) -> a
     1:1:java.lang.Iterable getReferencedBaseTypes(com.android.tools.r8.graph.DexItemFactory):61:61 -> a
     2:2:com.android.tools.r8.graph.DexType lambda$getReferencedBaseTypes$0(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType):61:61 -> a
-    com.android.tools.r8.graph.DexMember asDexMember() -> h0
-    1:1:com.android.tools.r8.graph.DexType getHolderType():41:41 -> n0
-    1:1:com.android.tools.r8.graph.DexString getName():45:45 -> o0
-    java.lang.Iterable getReferencedTypes() -> p0
+    com.android.tools.r8.graph.DexMember asDexMember() -> i0
+    1:1:com.android.tools.r8.graph.DexType getHolderType():41:41 -> o0
+    1:1:com.android.tools.r8.graph.DexString getName():45:45 -> p0
+    java.lang.Iterable getReferencedTypes() -> q0
     1:1:com.android.tools.r8.graph.DexType getContextType():37:37 -> y
-com.android.tools.r8.graph.DexMemberAnnotation -> com.android.tools.r8.graph.Q0:
-    com.android.tools.r8.graph.DexItem annotations -> b
-    com.android.tools.r8.graph.DexMember item -> a
+com.android.tools.r8.graph.DexMemberAnnotation -> com.android.tools.r8.graph.S0:
+    com.android.tools.r8.graph.DexItem annotations -> c
+    com.android.tools.r8.graph.DexMember item -> b
     1:3:void <init>(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.DexItem):14:16 -> <init>
     1:1:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):21:21 -> a
     1:3:boolean equals(java.lang.Object):34:36 -> equals
     1:1:int hashCode():26:26 -> hashCode
-com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation -> com.android.tools.r8.internal.Ug:
+com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation -> com.android.tools.r8.internal.Wg:
     1:1:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexAnnotationSet):44:44 -> <init>
-com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation -> com.android.tools.r8.internal.Vg:
+com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation -> com.android.tools.r8.internal.Xg:
     1:1:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexAnnotationSet):56:56 -> <init>
-com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation -> com.android.tools.r8.internal.Wg:
+com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation -> com.android.tools.r8.internal.Yg:
     1:1:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ParameterAnnotationsList):69:69 -> <init>
-com.android.tools.r8.graph.DexMethod -> com.android.tools.r8.graph.R0:
+com.android.tools.r8.graph.DexMethod -> com.android.tools.r8.graph.T0:
     com.android.tools.r8.graph.DexProto proto -> i
     1:4:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,boolean):27:30 -> <init>
     5:5:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,boolean):0:0 -> <init>
@@ -28205,7 +28294,7 @@
     195:195:boolean match(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):242:242 -> b
     195:195:boolean match(com.android.tools.r8.graph.DexMethod):234 -> b
     196:196:boolean isInstanceInitializer(com.android.tools.r8.graph.DexItemFactory):296:296 -> b
-    197:197:boolean com.android.tools.r8.graph.DexItemFactory.isConstructor(com.android.tools.r8.graph.DexMethod):2790:2790 -> b
+    197:197:boolean com.android.tools.r8.graph.DexItemFactory.isConstructor(com.android.tools.r8.graph.DexMethod):2796:2796 -> b
     197:197:boolean isInstanceInitializer(com.android.tools.r8.graph.DexItemFactory):296 -> b
     198:198:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.graph.DexClass.lookupClassMethod(com.android.tools.r8.graph.DexMethod):579:579 -> b
     198:198:com.android.tools.r8.graph.DexClassAndMethod lookupMemberOnClass(com.android.tools.r8.graph.DexClass):138 -> b
@@ -28218,43 +28307,43 @@
     2:2:com.android.tools.r8.graph.DexEncodedMember com.android.tools.r8.graph.DexClass.lookupMember(com.android.tools.r8.graph.DexMember):573 -> c
     2:2:com.android.tools.r8.graph.DexEncodedMethod lookupOnClass(com.android.tools.r8.graph.DexClass):133 -> c
     3:3:com.android.tools.r8.graph.DexEncodedMethod lookupOnClass(com.android.tools.r8.graph.DexClass):133:133 -> c
-    1:1:java.lang.String toSmaliString():256:256 -> d0
-    2:2:java.lang.String com.android.tools.r8.graph.DexProto.toDescriptorString():118:118 -> d0
-    2:2:java.lang.String com.android.tools.r8.graph.DexProto.toSmaliString():114 -> d0
-    2:2:java.lang.String toSmaliString():256 -> d0
-    3:3:java.lang.String toSmaliString():256:256 -> d0
-    1:1:java.lang.String toSourceString():261:261 -> e0
-    1:1:int computeHashCode():218:218 -> f0
+    1:1:java.lang.String toSmaliString():256:256 -> e0
+    2:2:java.lang.String com.android.tools.r8.graph.DexProto.toDescriptorString():118:118 -> e0
+    2:2:java.lang.String com.android.tools.r8.graph.DexProto.toSmaliString():114 -> e0
+    2:2:java.lang.String toSmaliString():256 -> e0
+    3:3:java.lang.String toSmaliString():256:256 -> e0
+    1:1:java.lang.String toSourceString():261:261 -> f0
     1:5:boolean computeEquals(java.lang.Object):223:227 -> g
+    1:1:int computeHashCode():218:218 -> g0
     1:1:com.android.tools.r8.graph.DexType getParameter(int):86:86 -> i
-    com.android.tools.r8.graph.DexMethod asDexMethod() -> i0
-    boolean isDexMethod() -> l0
+    com.android.tools.r8.graph.DexMethod asDexMethod() -> j0
+    boolean isDexMethod() -> m0
     1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():51:51 -> n
-    1:1:java.lang.Iterable getReferencedTypes():213:213 -> p0
-    2:2:java.lang.Iterable com.android.tools.r8.graph.DexProto.getTypes():74:74 -> p0
-    2:2:java.lang.Iterable getReferencedTypes():213 -> p0
+    1:1:java.lang.Iterable getReferencedTypes():213:213 -> q0
+    2:2:java.lang.Iterable com.android.tools.r8.graph.DexProto.getTypes():74:74 -> q0
+    2:2:java.lang.Iterable getReferencedTypes():213 -> q0
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    3:3:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> p0
-    3:3:java.lang.Iterable com.android.tools.r8.graph.DexProto.getTypes():74 -> p0
-    3:3:java.lang.Iterable getReferencedTypes():213 -> p0
+    3:3:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> q0
+    3:3:java.lang.Iterable com.android.tools.r8.graph.DexProto.getTypes():74 -> q0
+    3:3:java.lang.Iterable getReferencedTypes():213 -> q0
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
-    1:12:com.android.tools.r8.references.MethodReference asMethodReference():152:163 -> q0
-    13:13:com.android.tools.r8.references.MethodReference asMethodReference():161:161 -> q0
-    1:1:int getArity():169:169 -> r0
-    1:1:com.android.tools.r8.graph.DexTypeList getParameters():90:90 -> s0
-    1:1:com.android.tools.r8.graph.DexProto getProto():94:94 -> t0
+    1:12:com.android.tools.r8.references.MethodReference asMethodReference():152:163 -> r0
+    13:13:com.android.tools.r8.references.MethodReference asMethodReference():161:161 -> r0
+    1:1:int getArity():169:169 -> s0
+    1:1:com.android.tools.r8.graph.DexTypeList getParameters():90:90 -> t0
     1:1:java.lang.String toString():0:0 -> toString
       # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":150,"2":151,"3":152}}
     150:150:java.lang.String toString():148:148 -> toString
     151:151:java.lang.String toString():148:148 -> toString
     152:152:java.lang.String toString():148:148 -> toString
     149:149:java.lang.String toString():148:148 -> toString
-    1:1:com.android.tools.r8.graph.DexType getReturnType():98:98 -> u0
-    1:1:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.graph.DexMethodSignature.create(com.android.tools.r8.graph.DexMethod):17:17 -> v0
-    1:1:com.android.tools.r8.graph.DexMethodSignature getSignature():173 -> v0
-    1:1:java.lang.String qualifiedName():251:251 -> w0
-    1:1:java.lang.String toSourceStringWithoutHolder():265:265 -> x0
-com.android.tools.r8.graph.DexMethodHandle -> com.android.tools.r8.graph.T0:
+    1:1:com.android.tools.r8.graph.DexProto getProto():94:94 -> u0
+    1:1:com.android.tools.r8.graph.DexType getReturnType():98:98 -> v0
+    1:1:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.graph.DexMethodSignature.create(com.android.tools.r8.graph.DexMethod):17:17 -> w0
+    1:1:com.android.tools.r8.graph.DexMethodSignature getSignature():173 -> w0
+    1:1:java.lang.String qualifiedName():251:251 -> x0
+    1:1:java.lang.String toSourceStringWithoutHolder():265:265 -> y0
+com.android.tools.r8.graph.DexMethodHandle -> com.android.tools.r8.graph.V0:
     com.android.tools.r8.graph.DexMethodHandle$MethodHandleType type -> e
     boolean $assertionsDisabled -> i
     com.android.tools.r8.graph.DexMethod rewrittenTarget -> h
@@ -28306,7 +28395,7 @@
     63:63:com.android.tools.r8.graph.DexMethodHandle com.android.tools.r8.graph.JarApplicationReader.getMethodHandle(com.android.tools.r8.graph.DexMethodHandle$MethodHandleType,com.android.tools.r8.graph.DexMember,boolean):115:115 -> a
     63:63:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):226 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    64:64:com.android.tools.r8.graph.DexMethodHandle com.android.tools.r8.graph.DexItemFactory.createMethodHandle(com.android.tools.r8.graph.DexMethodHandle$MethodHandleType,com.android.tools.r8.graph.DexMember,boolean):2684:2684 -> a
+    64:64:com.android.tools.r8.graph.DexMethodHandle com.android.tools.r8.graph.DexItemFactory.createMethodHandle(com.android.tools.r8.graph.DexMethodHandle$MethodHandleType,com.android.tools.r8.graph.DexMember,boolean):2686:2686 -> a
     64:64:com.android.tools.r8.graph.DexMethodHandle com.android.tools.r8.graph.JarApplicationReader.getMethodHandle(com.android.tools.r8.graph.DexMethodHandle$MethodHandleType,com.android.tools.r8.graph.DexMember,boolean):115 -> a
     64:64:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):226 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
@@ -28342,22 +28431,22 @@
     135:139:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):322:326 -> a
     1:1:boolean lambda$specify$1(com.android.tools.r8.graph.DexMethodHandle):325:325 -> b
     1:1:com.android.tools.r8.graph.DexMethod lambda$specify$2(com.android.tools.r8.graph.DexMethodHandle):326:326 -> c
-    1:1:java.lang.String toSmaliString():286:286 -> d0
-    1:1:int computeHashCode():231:231 -> f0
+    1:1:java.lang.String toSmaliString():286:286 -> e0
     1:6:boolean computeEquals(java.lang.Object):236:241 -> g
-    1:1:com.android.tools.r8.graph.DexField asField():307:307 -> g0
-    2:2:boolean isFieldHandle():290:290 -> g0
-    2:2:com.android.tools.r8.graph.DexField asField():307 -> g0
-    3:4:com.android.tools.r8.graph.DexField asField():307:308 -> g0
-    1:1:com.android.tools.r8.graph.DexMethod asMethod():302:302 -> h0
-    2:2:boolean isMethodHandle():294:294 -> h0
-    2:2:com.android.tools.r8.graph.DexMethod asMethod():302 -> h0
-    3:4:com.android.tools.r8.graph.DexMethod asMethod():302:303 -> h0
-    1:1:boolean isFieldHandle():290:290 -> i0
-    1:1:boolean isMethodHandle():294:294 -> j0
+    1:1:int computeHashCode():231:231 -> g0
+    1:1:com.android.tools.r8.graph.DexField asField():307:307 -> h0
+    2:2:boolean isFieldHandle():290:290 -> h0
+    2:2:com.android.tools.r8.graph.DexField asField():307 -> h0
+    3:4:com.android.tools.r8.graph.DexField asField():307:308 -> h0
+    1:1:com.android.tools.r8.graph.DexMethod asMethod():302:302 -> i0
+    2:2:boolean isMethodHandle():294:294 -> i0
+    2:2:com.android.tools.r8.graph.DexMethod asMethod():302 -> i0
+    3:4:com.android.tools.r8.graph.DexMethod asMethod():302:303 -> i0
+    1:1:boolean isFieldHandle():290:290 -> j0
+    1:1:boolean isMethodHandle():294:294 -> k0
     1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():318:318 -> n
     1:7:java.lang.String toString():248:254 -> toString
-com.android.tools.r8.graph.DexMethodHandle$MethodHandleType -> com.android.tools.r8.graph.S0:
+com.android.tools.r8.graph.DexMethodHandle$MethodHandleType -> com.android.tools.r8.graph.U0:
     com.android.tools.r8.graph.DexMethodHandle$MethodHandleType INVOKE_INSTANCE -> h
     com.android.tools.r8.graph.DexMethodHandle$MethodHandleType INVOKE_STATIC -> g
     boolean $assertionsDisabled -> n
@@ -28415,7 +28504,7 @@
     20:20:com.android.tools.r8.ir.code.Invoke$Type toInvokeType():176:176 -> f
     21:21:com.android.tools.r8.ir.code.Invoke$Type toInvokeType():174:174 -> f
     22:22:com.android.tools.r8.ir.code.Invoke$Type toInvokeType():172:172 -> f
-com.android.tools.r8.graph.DexMethodSignature -> com.android.tools.r8.graph.W0:
+com.android.tools.r8.graph.DexMethodSignature -> com.android.tools.r8.graph.Y0:
     int $r8$clinit -> b
     1:1:void <init>():14:14 -> <init>
     com.android.tools.r8.graph.DexString getName() -> a
@@ -28443,20 +28532,20 @@
     11:11:com.android.tools.r8.graph.DexType getParameter(int):33:33 -> toString
     11:11:java.lang.String toString():95 -> toString
     12:14:java.lang.String toString():95:97 -> toString
-com.android.tools.r8.graph.DexMethodSignature$MethodBased -> com.android.tools.r8.graph.U0:
+com.android.tools.r8.graph.DexMethodSignature$MethodBased -> com.android.tools.r8.graph.W0:
     com.android.tools.r8.graph.DexMethod method -> c
     1:2:void <init>(com.android.tools.r8.graph.DexMethod):104:105 -> <init>
     com.android.tools.r8.utils.structural.StructuralItem self() -> L
     1:1:com.android.tools.r8.graph.DexString getName():110:110 -> a
     1:1:com.android.tools.r8.graph.DexProto getProto():115:115 -> b
-com.android.tools.r8.graph.DexMethodSignature$NameAndProtoBased -> com.android.tools.r8.graph.V0:
+com.android.tools.r8.graph.DexMethodSignature$NameAndProtoBased -> com.android.tools.r8.graph.X0:
     com.android.tools.r8.graph.DexString name -> c
     com.android.tools.r8.graph.DexProto proto -> d
     1:3:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto):124:126 -> <init>
     com.android.tools.r8.utils.structural.StructuralItem self() -> L
     1:1:com.android.tools.r8.graph.DexString getName():131:131 -> a
     1:1:com.android.tools.r8.graph.DexProto getProto():136:136 -> b
-com.android.tools.r8.graph.DexProgramClass -> com.android.tools.r8.graph.Y0:
+com.android.tools.r8.graph.DexProgramClass -> com.android.tools.r8.graph.a1:
     com.android.tools.r8.synthesis.SyntheticMarker syntheticMarker -> y
     com.android.tools.r8.graph.DexProgramClass[] EMPTY_ARRAY -> z
     com.android.tools.r8.kotlin.KotlinClassLevelInfo kotlinInfo -> w
@@ -28469,42 +28558,43 @@
     1:1:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.ProgramResource$Kind,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],boolean,com.android.tools.r8.graph.DexProgramClass$ChecksumSupplier,com.android.tools.r8.synthesis.SyntheticMarker):80:80 -> <init>
     2:53:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.ProgramResource$Kind,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],boolean,com.android.tools.r8.graph.DexProgramClass$ChecksumSupplier,com.android.tools.r8.synthesis.SyntheticMarker):51:102 -> <init>
     54:54:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.ProgramResource$Kind,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],boolean,com.android.tools.r8.graph.DexProgramClass$ChecksumSupplier):125:125 -> <init>
-    1:1:com.android.tools.r8.cf.CfVersion getInitialClassFileVersion():747:747 -> A1
-    1:1:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo():483:483 -> B1
-    1:1:com.android.tools.r8.ProgramResource$Kind getOriginKind():365:365 -> C1
-    1:1:com.android.tools.r8.graph.ProgramMethod getProgramClassInitializer():286:286 -> D1
-    2:2:com.android.tools.r8.graph.ProgramMethod toProgramMethodOrNull(com.android.tools.r8.graph.DexEncodedMethod):325:325 -> D1
-    2:2:com.android.tools.r8.graph.ProgramMethod getProgramClassInitializer():286 -> D1
-    1:1:com.android.tools.r8.graph.ProgramMethod getProgramDefaultInitializer():290:290 -> E1
-    2:2:com.android.tools.r8.graph.ProgramMethod getProgramInitializer(com.android.tools.r8.graph.DexType[]):294:294 -> E1
-    2:2:com.android.tools.r8.graph.ProgramMethod getProgramDefaultInitializer():290 -> E1
-    3:3:com.android.tools.r8.graph.ProgramMethod toProgramMethodOrNull(com.android.tools.r8.graph.DexEncodedMethod):325:325 -> E1
-    3:3:com.android.tools.r8.graph.ProgramMethod getProgramInitializer(com.android.tools.r8.graph.DexType[]):294 -> E1
-    3:3:com.android.tools.r8.graph.ProgramMethod getProgramDefaultInitializer():290 -> E1
-    1:1:boolean hasClassFileVersion():743:743 -> F1
-    1:1:boolean hasClassOrMemberAnnotations():606:606 -> G1
-    2:3:boolean hasAnnotations(com.android.tools.r8.graph.MethodCollection):625:626 -> G1
-    2:3:boolean hasClassOrMemberAnnotations():607 -> G1
-    4:6:boolean hasClassOrMemberAnnotations():607:609 -> G1
-    7:7:boolean hasAnnotations(com.android.tools.r8.graph.MethodCollection):627:627 -> G1
-    7:7:boolean hasClassOrMemberAnnotations():607 -> G1
-    1:1:boolean hasFields():593:593 -> H1
-    1:1:boolean hasMethods():597:597 -> I1
-    1:1:boolean hasOnlyInternalizableAnnotations():613:613 -> J1
-    2:3:boolean hasAnnotations(com.android.tools.r8.graph.MethodCollection):625:626 -> J1
-    2:3:boolean hasOnlyInternalizableAnnotations():613 -> J1
-    4:6:boolean hasOnlyInternalizableAnnotations():613:615 -> J1
-    7:7:boolean hasAnnotations(com.android.tools.r8.graph.MethodCollection):627:627 -> J1
-    7:7:boolean hasOnlyInternalizableAnnotations():613 -> J1
-    1:1:boolean isDeprecated():755:755 -> K1
+    1:1:com.android.tools.r8.graph.DexProgramClass$ChecksumSupplier getChecksumSupplier():825:825 -> A1
+    1:1:com.android.tools.r8.cf.CfVersion getInitialClassFileVersion():747:747 -> B1
+    1:1:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo():483:483 -> C1
+    1:1:com.android.tools.r8.ProgramResource$Kind getOriginKind():365:365 -> D1
+    1:1:com.android.tools.r8.graph.ProgramMethod getProgramClassInitializer():286:286 -> E1
+    2:2:com.android.tools.r8.graph.ProgramMethod toProgramMethodOrNull(com.android.tools.r8.graph.DexEncodedMethod):325:325 -> E1
+    2:2:com.android.tools.r8.graph.ProgramMethod getProgramClassInitializer():286 -> E1
+    1:1:com.android.tools.r8.graph.ProgramMethod getProgramDefaultInitializer():290:290 -> F1
+    2:2:com.android.tools.r8.graph.ProgramMethod getProgramInitializer(com.android.tools.r8.graph.DexType[]):294:294 -> F1
+    2:2:com.android.tools.r8.graph.ProgramMethod getProgramDefaultInitializer():290 -> F1
+    3:3:com.android.tools.r8.graph.ProgramMethod toProgramMethodOrNull(com.android.tools.r8.graph.DexEncodedMethod):325:325 -> F1
+    3:3:com.android.tools.r8.graph.ProgramMethod getProgramInitializer(com.android.tools.r8.graph.DexType[]):294 -> F1
+    3:3:com.android.tools.r8.graph.ProgramMethod getProgramDefaultInitializer():290 -> F1
+    1:1:boolean hasClassFileVersion():743:743 -> G1
+    1:1:boolean hasClassOrMemberAnnotations():606:606 -> H1
+    2:3:boolean hasAnnotations(com.android.tools.r8.graph.MethodCollection):625:626 -> H1
+    2:3:boolean hasClassOrMemberAnnotations():607 -> H1
+    4:6:boolean hasClassOrMemberAnnotations():607:609 -> H1
+    7:7:boolean hasAnnotations(com.android.tools.r8.graph.MethodCollection):627:627 -> H1
+    7:7:boolean hasClassOrMemberAnnotations():607 -> H1
+    1:1:boolean hasFields():593:593 -> I1
+    1:1:boolean hasMethods():597:597 -> J1
+    1:1:boolean hasOnlyInternalizableAnnotations():613:613 -> K1
+    2:3:boolean hasAnnotations(com.android.tools.r8.graph.MethodCollection):625:626 -> K1
+    2:3:boolean hasOnlyInternalizableAnnotations():613 -> K1
+    4:6:boolean hasOnlyInternalizableAnnotations():613:615 -> K1
+    7:7:boolean hasAnnotations(com.android.tools.r8.graph.MethodCollection):627:627 -> K1
+    7:7:boolean hasOnlyInternalizableAnnotations():613 -> K1
     com.android.tools.r8.utils.structural.StructuralItem self() -> L
-    1:1:boolean originatesFromClassResource():373:373 -> L1
-    1:1:boolean originatesFromDexResource():369:369 -> M1
-    1:1:java.lang.Iterable programInstanceInitializers():252:252 -> N1
-    1:1:void setDeprecated():751:751 -> O1
-    1:5:com.android.tools.r8.synthesis.SyntheticMarker stripSyntheticInputMarker():172:176 -> P1
-    1:1:java.lang.Iterable virtualProgramMethods():243:243 -> Q1
+    1:1:boolean isDeprecated():755:755 -> L1
+    1:1:boolean originatesFromClassResource():373:373 -> M1
+    1:1:boolean originatesFromDexResource():369:369 -> N1
+    1:1:java.lang.Iterable programInstanceInitializers():252:252 -> O1
+    1:1:void setDeprecated():751:751 -> P1
+    1:5:com.android.tools.r8.synthesis.SyntheticMarker stripSyntheticInputMarker():172:176 -> Q1
     com.android.tools.r8.graph.DexProgramClass asProgramClass() -> R
+    1:1:java.lang.Iterable virtualProgramMethods():243:243 -> R1
     boolean isProgramClass() -> U
     1:3:void com.android.tools.r8.graph.ProgramField.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):18:20 -> a
     1:3:void lambda$collectIndexedItems$24(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramField):399 -> a
@@ -28726,13 +28816,13 @@
     1:1:com.android.tools.r8.graph.ClassAccessFlags lambda$specify$3(com.android.tools.r8.graph.DexProgramClass):184:184 -> e
     2:2:void forEachProgramFieldMatching(java.util.function.Predicate,java.util.function.Consumer):204:204 -> e
     3:3:com.android.tools.r8.graph.ProgramMethod lambda$directProgramMethods$14(com.android.tools.r8.graph.DexEncodedMethod):235:235 -> e
-    1:1:java.lang.String toSourceString():439:439 -> e0
     1:1:com.android.tools.r8.graph.DexString lambda$specify$4(com.android.tools.r8.graph.DexProgramClass):185:185 -> f
     2:2:com.android.tools.r8.graph.ProgramMethod lambda$directProgramMethods$15(com.android.tools.r8.graph.DexEncodedMethod):239:239 -> f
     3:3:void forEachProgramInstanceInitializerMatching(java.util.function.Predicate,java.util.function.Consumer):271:271 -> f
     4:4:com.android.tools.r8.graph.ProgramMethod lookupProgramMethod(com.android.tools.r8.graph.DexMethod):313:313 -> f
     5:5:com.android.tools.r8.graph.ProgramMethod toProgramMethodOrNull(com.android.tools.r8.graph.DexEncodedMethod):325:325 -> f
     5:5:com.android.tools.r8.graph.ProgramMethod lookupProgramMethod(com.android.tools.r8.graph.DexMethod):313 -> f
+    1:1:java.lang.String toSourceString():439:439 -> f0
     1:1:com.android.tools.r8.cf.CfVersion lambda$specify$5(com.android.tools.r8.graph.DexProgramClass):186:186 -> g
     2:2:void forEachProgramInstanceField(java.util.function.Consumer):208:208 -> g
     3:3:void forEachProgramMethodMatching(java.util.function.Predicate,java.util.function.Consumer):226:226 -> g
@@ -28749,14 +28839,13 @@
     1:1:com.android.tools.r8.graph.DexEncodedField[] lambda$specify$9(com.android.tools.r8.graph.DexProgramClass):194:194 -> k
     1:1:java.lang.Iterable directProgramMethods(java.util.function.Predicate):239:239 -> m
     1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():168:168 -> n
-    boolean isNotProgramClass() -> n1
+    boolean isNotProgramClass() -> o1
     1:1:java.lang.String toString():434:434 -> toString
-    1:1:void clearKotlinInfo():493:493 -> w1
-    1:1:java.lang.Iterable directProgramMethods():235:235 -> x1
+    1:1:void clearKotlinInfo():493:493 -> x1
     1:1:com.android.tools.r8.graph.DexType getContextType():723:723 -> y
-    1:1:long getChecksum():821:821 -> y1
-    1:1:com.android.tools.r8.graph.DexProgramClass$ChecksumSupplier getChecksumSupplier():825:825 -> z1
-com.android.tools.r8.graph.DexProgramClass$1 -> com.android.tools.r8.graph.X0:
+    1:1:java.lang.Iterable directProgramMethods():235:235 -> y1
+    1:1:long getChecksum():821:821 -> z1
+com.android.tools.r8.graph.DexProgramClass$1 -> com.android.tools.r8.graph.Z0:
     java.util.Iterator iterator -> c
     com.android.tools.r8.graph.DexProgramClass next -> b
     com.android.tools.r8.graph.DexDefinitionSupplier val$definitions -> d
@@ -28765,9 +28854,9 @@
     1:5:com.android.tools.r8.graph.DexProgramClass findNext():799:803 -> l
     1:2:com.android.tools.r8.graph.DexProgramClass next():793:794 -> next
     1:2:java.lang.Object next():780 -> next
-com.android.tools.r8.graph.DexProgramClass$ChecksumSupplier -> com.android.tools.r8.graph.Y0$a:
+com.android.tools.r8.graph.DexProgramClass$ChecksumSupplier -> com.android.tools.r8.graph.a1$a:
     long getChecksum(com.android.tools.r8.graph.DexProgramClass) -> a
-com.android.tools.r8.graph.DexProto -> com.android.tools.r8.graph.Z0:
+com.android.tools.r8.graph.DexProto -> com.android.tools.r8.graph.b1:
     com.android.tools.r8.graph.DexProto SENTINEL -> h
     com.android.tools.r8.graph.DexString shorty -> e
     com.android.tools.r8.graph.DexTypeList parameters -> g
@@ -28833,11 +28922,11 @@
     1:1:com.android.tools.r8.graph.DexString lambda$specify$1(com.android.tools.r8.graph.DexProto):32:32 -> b
     2:2:java.lang.Iterable getParameterBaseTypes(com.android.tools.r8.graph.DexItemFactory):66:66 -> b
     3:3:com.android.tools.r8.graph.DexType lambda$getParameterBaseTypes$2(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType):66:66 -> b
-    1:1:java.lang.String toDescriptorString():118:118 -> d0
-    1:1:java.lang.String toSmaliString():114 -> d0
-    1:1:int computeHashCode():58:58 -> f0
+    1:1:java.lang.String toDescriptorString():118:118 -> e0
+    1:1:java.lang.String toSmaliString():114 -> e0
     1:5:boolean computeEquals(java.lang.Object):47:51 -> g
-    1:1:com.android.tools.r8.graph.DexType getReturnType():62:62 -> g0
+    1:1:int computeHashCode():58:58 -> g0
+    1:1:com.android.tools.r8.graph.DexType getReturnType():62:62 -> h0
     1:1:com.android.tools.r8.graph.DexType getParameter(int):83:83 -> i
     1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():37:37 -> n
     1:1:java.lang.String toString():0:0 -> toString
@@ -28846,7 +28935,7 @@
     99:99:java.lang.String toString():96:96 -> toString
     100:100:java.lang.String toString():96:96 -> toString
     97:97:java.lang.String toString():96:96 -> toString
-com.android.tools.r8.graph.DexReference -> com.android.tools.r8.graph.a1:
+com.android.tools.r8.graph.DexReference -> com.android.tools.r8.graph.c1:
     boolean $assertionsDisabled -> e
     1:1:void <clinit>():14:14 -> <clinit>
     1:1:void <init>():14:14 -> <init>
@@ -28858,17 +28947,17 @@
     2:2:boolean isDexType():0:0 -> a
     2:2:java.lang.Object applyPair(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference,java.util.function.BiFunction,java.util.function.BiFunction,java.util.function.BiFunction):38 -> a
     3:9:java.lang.Object applyPair(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference,java.util.function.BiFunction,java.util.function.BiFunction,java.util.function.BiFunction):39:45 -> a
-    com.android.tools.r8.graph.DexField asDexField() -> g0
-    com.android.tools.r8.graph.DexMember asDexMember() -> h0
-    com.android.tools.r8.graph.DexMethod asDexMethod() -> i0
-    com.android.tools.r8.graph.DexType asDexType() -> j0
-    boolean isDexField() -> k0
-    boolean isDexMethod() -> l0
-    1:1:boolean isDexType():0:0 -> m0
-    1:1:int referenceTypeOrder():87 -> m0
-    2:5:int referenceTypeOrder():90:93 -> m0
+    com.android.tools.r8.graph.DexField asDexField() -> h0
+    com.android.tools.r8.graph.DexMember asDexMember() -> i0
+    com.android.tools.r8.graph.DexMethod asDexMethod() -> j0
+    com.android.tools.r8.graph.DexType asDexType() -> k0
+    boolean isDexField() -> l0
+    boolean isDexMethod() -> m0
+    1:1:boolean isDexType():0:0 -> n0
+    1:1:int referenceTypeOrder():87 -> n0
+    2:5:int referenceTypeOrder():90:93 -> n0
     com.android.tools.r8.graph.DexType getContextType() -> y
-com.android.tools.r8.graph.DexString -> com.android.tools.r8.graph.c1:
+com.android.tools.r8.graph.DexString -> com.android.tools.r8.graph.e1:
     com.android.tools.r8.graph.DexString[] EMPTY_ARRAY -> g
     int size -> e
     boolean $assertionsDisabled -> h
@@ -28904,32 +28993,32 @@
     110:112:com.android.tools.r8.graph.DexString withoutArray(com.android.tools.r8.graph.DexItemFactory):522:524 -> a
     1:5:boolean endsWith(com.android.tools.r8.graph.DexString):480:484 -> b
     1:1:int compareTo(java.lang.Object):20:20 -> compareTo
-    1:1:int computeHashCode():115:115 -> f0
     1:3:boolean computeEquals(java.lang.Object):120:122 -> g
-    1:3:java.lang.String decode():145:147 -> g0
-    1:32:int decodedHashCode():191:222 -> h0
-    33:46:int decodedHashCode():205:218 -> h0
-    1:11:java.lang.String dump():430:440 -> i0
-    1:1:boolean isValidClassDescriptor():396:396 -> j0
-    2:13:boolean isValidClassDescriptor(java.lang.String):314:325 -> j0
-    2:13:boolean isValidClassDescriptor():396 -> j0
-    14:14:boolean isValidClassDescriptor(java.lang.String):323:323 -> j0
-    14:14:boolean isValidClassDescriptor():396 -> j0
-    1:1:boolean isValidFieldName():388:388 -> k0
-    2:18:boolean isValidFieldName(java.lang.String):355:371 -> k0
-    2:18:boolean isValidFieldName():388 -> k0
-    19:19:boolean isValidFieldName(java.lang.String):369:369 -> k0
-    19:19:boolean isValidFieldName():388 -> k0
-    1:1:boolean isValidMethodName():380:380 -> l0
-    2:16:boolean isValidMethodName(java.lang.String):333:347 -> l0
-    2:16:boolean isValidMethodName():380 -> l0
-    17:17:boolean isValidMethodName(java.lang.String):345:345 -> l0
-    17:17:boolean isValidMethodName():380 -> l0
-    1:1:com.android.tools.r8.utils.ThrowingCharIterator iterator():74:74 -> m0
+    1:1:int computeHashCode():115:115 -> g0
+    1:3:java.lang.String decode():145:147 -> h0
+    1:32:int decodedHashCode():191:222 -> i0
+    33:46:int decodedHashCode():205:218 -> i0
+    1:11:java.lang.String dump():430:440 -> j0
+    1:1:boolean isValidClassDescriptor():396:396 -> k0
+    2:13:boolean isValidClassDescriptor(java.lang.String):314:325 -> k0
+    2:13:boolean isValidClassDescriptor():396 -> k0
+    14:14:boolean isValidClassDescriptor(java.lang.String):323:323 -> k0
+    14:14:boolean isValidClassDescriptor():396 -> k0
+    1:1:boolean isValidFieldName():388:388 -> l0
+    2:18:boolean isValidFieldName(java.lang.String):355:371 -> l0
+    2:18:boolean isValidFieldName():388 -> l0
+    19:19:boolean isValidFieldName(java.lang.String):369:369 -> l0
+    19:19:boolean isValidFieldName():388 -> l0
+    1:1:boolean isValidMethodName():380:380 -> m0
+    2:16:boolean isValidMethodName(java.lang.String):333:347 -> m0
+    2:16:boolean isValidMethodName():380 -> m0
+    17:17:boolean isValidMethodName(java.lang.String):345:345 -> m0
+    17:17:boolean isValidMethodName():380 -> m0
     1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():50:50 -> n
-    1:3:java.lang.String toASCIIString():138:140 -> n0
+    1:1:com.android.tools.r8.utils.ThrowingCharIterator iterator():74:74 -> n0
+    1:3:java.lang.String toASCIIString():138:140 -> o0
     1:3:java.lang.String toString():130:132 -> toString
-com.android.tools.r8.graph.DexString$1 -> com.android.tools.r8.graph.b1:
+com.android.tools.r8.graph.DexString$1 -> com.android.tools.r8.graph.d1:
     com.android.tools.r8.graph.DexString this$0 -> b
     boolean $assertionsDisabled -> c
     int i -> a
@@ -28938,7 +29027,7 @@
     1:24:char nextChar():80:103 -> a
     25:25:char nextChar():81:81 -> a
     1:1:boolean hasNext():108:108 -> hasNext
-com.android.tools.r8.graph.DexType -> com.android.tools.r8.graph.d1:
+com.android.tools.r8.graph.DexType -> com.android.tools.r8.graph.f1:
     java.lang.String toStringCache -> g
     boolean $assertionsDisabled -> j
     com.android.tools.r8.graph.DexString descriptor -> f
@@ -28953,29 +29042,30 @@
     60:60:void <init>(com.android.tools.r8.graph.DexString):51:51 -> <init>
     61:61:void <init>(com.android.tools.r8.graph.DexString):51:51 -> <init>
     57:58:void <init>(com.android.tools.r8.graph.DexString):51:52 -> <init>
-    1:1:boolean isClassType():323:323 -> A0
-    1:1:boolean isDoubleType():308:308 -> B0
-    1:1:boolean isFloatType():300:300 -> C0
-    1:1:boolean isIntType():296:296 -> D0
-    1:1:boolean isLegacySynthesizedTypeAllowedDuplication():353:353 -> E0
-    2:3:boolean oldSynthesizedName(java.lang.String):357:358 -> E0
-    2:3:boolean isLegacySynthesizedTypeAllowedDuplication():353 -> E0
-    1:1:boolean isLongType():304:304 -> F0
-    1:2:boolean isNullValueType():312:313 -> G0
-    1:4:boolean isPrimitiveArrayType():334:337 -> H0
-    1:1:boolean isPrimitiveType():272:272 -> I0
-    1:2:boolean isReferenceType():328:329 -> J0
-    1:1:boolean isVoidType():276:276 -> K0
+    1:1:boolean isBooleanType():280:280 -> A0
+    1:1:boolean isClassType():323:323 -> B0
+    1:1:boolean isDoubleType():308:308 -> C0
+    1:1:boolean isFloatType():300:300 -> D0
+    1:1:boolean isIntType():296:296 -> E0
+    1:1:boolean isLegacySynthesizedTypeAllowedDuplication():353:353 -> F0
+    2:3:boolean oldSynthesizedName(java.lang.String):357:358 -> F0
+    2:3:boolean isLegacySynthesizedTypeAllowedDuplication():353 -> F0
+    1:1:boolean isLongType():304:304 -> G0
+    1:2:boolean isNullValueType():312:313 -> H0
+    1:4:boolean isPrimitiveArrayType():334:337 -> I0
+    1:1:boolean isPrimitiveType():272:272 -> J0
+    1:2:boolean isReferenceType():328:329 -> K0
     com.android.tools.r8.utils.structural.StructuralItem self() -> L
-    1:1:boolean isWideType():341:341 -> L0
-    1:4:java.lang.String toBinaryName():179:182 -> M0
-    5:5:java.lang.String toBinaryName():180:180 -> M0
-    6:6:java.lang.String toBinaryName():0:0 -> M0
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":189,"3":190}}
-    189:189:java.lang.String toBinaryName():183:183 -> M0
-    190:190:java.lang.String toBinaryName():183:183 -> M0
-    1:1:java.lang.String toDescriptorString():175:175 -> N0
-    1:1:char toShorty():229:229 -> O0
+    1:1:boolean isVoidType():276:276 -> L0
+    1:1:boolean isWideType():341:341 -> M0
+    1:4:java.lang.String toBinaryName():179:182 -> N0
+    5:5:java.lang.String toBinaryName():180:180 -> N0
+    6:6:java.lang.String toBinaryName():0:0 -> N0
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":7,"3":9}}
+    7:7:java.lang.String toBinaryName():183:183 -> N0
+    9:9:java.lang.String toBinaryName():183:183 -> N0
+    1:1:java.lang.String toDescriptorString():175:175 -> O0
+    1:1:char toShorty():229:229 -> P0
     1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):30:30 -> a
     2:2:int acceptCompareTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.structural.CompareToVisitor):99:99 -> a
     2:2:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):30 -> a
@@ -29042,36 +29132,35 @@
     471:472:com.android.tools.r8.graph.DexType replacePackage(java.lang.String,com.android.tools.r8.graph.DexItemFactory):452:453 -> b
     1:3:com.android.tools.r8.graph.DexType withSimpleName(java.lang.String,com.android.tools.r8.graph.DexItemFactory):515:517 -> c
     4:4:com.android.tools.r8.graph.DexType withSimpleName(java.lang.String,com.android.tools.r8.graph.DexItemFactory):516:516 -> c
-    1:1:java.lang.String toSmaliString():235:235 -> d0
-    1:9:java.lang.String toSourceString():217:225 -> e0
-    1:1:int computeHashCode():124:124 -> f0
+    1:1:java.lang.String toSmaliString():235:235 -> e0
+    1:9:java.lang.String toSourceString():217:225 -> f0
     1:2:boolean computeEquals(java.lang.Object):129:130 -> g
-    com.android.tools.r8.graph.DexType asDexType() -> j0
+    1:1:int computeHashCode():124:124 -> g0
+    com.android.tools.r8.graph.DexType asDexType() -> k0
     1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():93:93 -> n
-    1:1:com.android.tools.r8.references.ClassReference asClassReference():56:56 -> n0
-    1:16:int elementSizeForPrimitiveArrayType():384:399 -> o0
-    17:17:int elementSizeForPrimitiveArrayType():0:0 -> o0
+    1:1:com.android.tools.r8.references.ClassReference asClassReference():56:56 -> o0
+    1:16:int elementSizeForPrimitiveArrayType():384:399 -> p0
+    17:17:int elementSizeForPrimitiveArrayType():0:0 -> p0
       # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":417,"2":418,"3":419}}
-    417:417:int elementSizeForPrimitiveArrayType():399:399 -> o0
-    418:418:int elementSizeForPrimitiveArrayType():399:399 -> o0
-    419:419:int elementSizeForPrimitiveArrayType():399:399 -> o0
-    416:416:int elementSizeForPrimitiveArrayType():399:399 -> o0
-    1:1:com.android.tools.r8.graph.DexString getDescriptor():114:114 -> p0
-    1:2:java.lang.String getInternalName():522:523 -> q0
-    1:4:java.lang.String getName():503:506 -> r0
-    1:1:int getNumberOfLeadingSquareBrackets():405:405 -> s0
-    1:1:java.lang.String getPackageDescriptor():499:499 -> t0
+    417:417:int elementSizeForPrimitiveArrayType():399:399 -> p0
+    418:418:int elementSizeForPrimitiveArrayType():399:399 -> p0
+    419:419:int elementSizeForPrimitiveArrayType():399:399 -> p0
+    416:416:int elementSizeForPrimitiveArrayType():399:399 -> p0
+    1:1:com.android.tools.r8.graph.DexString getDescriptor():114:114 -> q0
+    1:2:java.lang.String getInternalName():522:523 -> r0
+    1:4:java.lang.String getName():503:506 -> s0
+    1:1:int getNumberOfLeadingSquareBrackets():405:405 -> t0
     1:1:java.lang.String toString():240:240 -> toString
-    1:1:java.lang.String getPackageName():527:527 -> u0
-    2:4:java.lang.String com.android.tools.r8.utils.DescriptorUtils.getPackageNameFromBinaryName(java.lang.String):512:514 -> u0
-    2:4:java.lang.String getPackageName():527 -> u0
-    1:2:int getRequiredRegisters():118:119 -> v0
-    1:2:java.lang.String getSimpleName():510:511 -> w0
-    1:1:java.lang.String getTypeName():212:212 -> x0
+    1:1:java.lang.String getPackageDescriptor():499:499 -> u0
+    1:1:java.lang.String getPackageName():527:527 -> v0
+    2:4:java.lang.String com.android.tools.r8.utils.DescriptorUtils.getPackageNameFromBinaryName(java.lang.String):512:514 -> v0
+    2:4:java.lang.String getPackageName():527 -> v0
+    1:2:int getRequiredRegisters():118:119 -> w0
+    1:2:java.lang.String getSimpleName():510:511 -> x0
     com.android.tools.r8.graph.DexType getContextType() -> y
-    1:1:boolean isArrayType():318:318 -> y0
-    1:1:boolean isBooleanType():280:280 -> z0
-com.android.tools.r8.graph.DexTypeList -> com.android.tools.r8.graph.e1:
+    1:1:java.lang.String getTypeName():212:212 -> y0
+    1:1:boolean isArrayType():318:318 -> z0
+com.android.tools.r8.graph.DexTypeList -> com.android.tools.r8.graph.g1:
     com.android.tools.r8.graph.DexTypeList theEmptyTypeList -> c
     com.android.tools.r8.graph.DexType[] values -> b
     int $r8$clinit -> e
@@ -29086,12 +29175,12 @@
     8:8:com.android.tools.r8.graph.DexTypeList create(com.android.tools.r8.graph.DexType[]):51:51 -> a
     8:8:com.android.tools.r8.graph.DexTypeList map(java.util.function.Function):79 -> a
     9:9:boolean contains(com.android.tools.r8.graph.DexType):97:97 -> a
-    10:11:boolean com.android.tools.r8.utils.ArrayUtils.contains(java.lang.Object[],java.lang.Object):143:144 -> a
+    10:11:boolean com.android.tools.r8.utils.ArrayUtils.contains(java.lang.Object[],java.lang.Object):147:148 -> a
     10:11:boolean contains(com.android.tools.r8.graph.DexType):97 -> a
     12:12:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):120:120 -> a
     1:2:boolean equals(java.lang.Object):128:129 -> equals
-    1:1:com.android.tools.r8.graph.DexTypeList empty():34:34 -> f0
     1:2:void forEach(java.util.function.Consumer):102:103 -> forEach
+    1:1:com.android.tools.r8.graph.DexTypeList empty():34:34 -> g0
     1:1:int hashCode():109:109 -> hashCode
     1:1:com.android.tools.r8.graph.DexType get(int):59:59 -> i
     1:1:boolean isEmpty():133:133 -> isEmpty
@@ -29099,7 +29188,7 @@
     1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():93:93 -> n
     1:1:int size():137:137 -> size
     1:8:java.lang.String toString():146:153 -> toString
-com.android.tools.r8.graph.DexTypeUtils -> com.android.tools.r8.internal.dh:
+com.android.tools.r8.graph.DexTypeUtils -> com.android.tools.r8.internal.fh:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():12:12 -> <clinit>
     1:8:com.android.tools.r8.graph.DexType computeLeastUpperBound(com.android.tools.r8.graph.AppView,java.lang.Iterable):16:23 -> a
@@ -29110,26 +29199,27 @@
     54:64:com.android.tools.r8.graph.DexType computeLeastUpperBound(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):68:78 -> a
     65:75:com.android.tools.r8.graph.DexType computeLeastUpperBound(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):77:87 -> a
     76:76:com.android.tools.r8.graph.DexType computeLeastUpperBound(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):38:38 -> a
-com.android.tools.r8.graph.DexValue -> com.android.tools.r8.graph.i1:
+com.android.tools.r8.graph.DexValue -> com.android.tools.r8.graph.k1:
     com.android.tools.r8.graph.DexValue[] EMPTY_ARRAY -> b
     1:1:void <clinit>():145:145 -> <clinit>
     1:1:void <init>():34:34 -> <init>
-    com.android.tools.r8.graph.DexValue$DexValueKind getValueKind() -> A0
-    boolean isDexValueBoolean() -> B0
-    boolean isDexValueByte() -> C0
-    boolean isDexValueChar() -> D0
-    boolean isDexValueDouble() -> E0
-    boolean isDexValueFloat() -> F0
-    boolean isDexValueInt() -> G0
-    boolean isDexValueLong() -> H0
-    boolean isDexValueNumber() -> I0
-    boolean isDexValueShort() -> J0
-    boolean isDexValueString() -> K0
+    java.lang.Object getBoxedValue() -> A0
+    com.android.tools.r8.graph.DexValue$DexValueKind getValueKind() -> B0
+    boolean isDexValueBoolean() -> C0
+    boolean isDexValueByte() -> D0
+    boolean isDexValueChar() -> E0
+    boolean isDexValueDouble() -> F0
+    boolean isDexValueFloat() -> G0
+    boolean isDexValueInt() -> H0
+    boolean isDexValueLong() -> I0
+    boolean isDexValueNumber() -> J0
+    boolean isDexValueShort() -> K0
     com.android.tools.r8.utils.structural.StructuralItem self() -> L
-    boolean isDexValueType() -> L0
-    boolean isNestedDexValue() -> M0
-    boolean mayHaveSideEffects() -> N0
-    void sort() -> O0
+    boolean isDexValueString() -> L0
+    boolean isDexValueType() -> M0
+    boolean isNestedDexValue() -> N0
+    boolean mayHaveSideEffects() -> O0
+    void sort() -> P0
     com.android.tools.r8.ir.code.ConstInstruction asConstInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DebugLocalInfo) -> a
     void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection) -> a
     com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory) -> a
@@ -29157,38 +29247,37 @@
     455:455:com.android.tools.r8.graph.DexValue defaultForType(com.android.tools.r8.graph.DexType):381:381 -> a
     int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor) -> b
     void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor) -> b
-    java.lang.Object asAsmEncodedObject() -> f0
-    com.android.tools.r8.graph.DexValue$DexItemBasedValueString asDexItemBasedValueString() -> g0
-    com.android.tools.r8.graph.DexValue$DexValueAnnotation asDexValueAnnotation() -> h0
-    com.android.tools.r8.graph.DexValue$DexValueArray asDexValueArray() -> i0
-    com.android.tools.r8.graph.DexValue$DexValueBoolean asDexValueBoolean() -> j0
-    com.android.tools.r8.graph.DexValue$DexValueByte asDexValueByte() -> k0
-    com.android.tools.r8.graph.DexValue$DexValueChar asDexValueChar() -> l0
-    com.android.tools.r8.graph.DexValue$DexValueDouble asDexValueDouble() -> m0
+    java.lang.Object asAsmEncodedObject() -> g0
+    com.android.tools.r8.graph.DexValue$DexItemBasedValueString asDexItemBasedValueString() -> h0
+    com.android.tools.r8.graph.DexValue$DexValueAnnotation asDexValueAnnotation() -> i0
+    com.android.tools.r8.graph.DexValue$DexValueArray asDexValueArray() -> j0
+    com.android.tools.r8.graph.DexValue$DexValueBoolean asDexValueBoolean() -> k0
+    com.android.tools.r8.graph.DexValue$DexValueByte asDexValueByte() -> l0
+    com.android.tools.r8.graph.DexValue$DexValueChar asDexValueChar() -> m0
     1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():121:121 -> n
-    com.android.tools.r8.graph.DexValue$DexValueEnum asDexValueEnum() -> n0
-    com.android.tools.r8.graph.DexValue$DexValueField asDexValueField() -> o0
-    com.android.tools.r8.graph.DexValue$DexValueFloat asDexValueFloat() -> p0
-    com.android.tools.r8.graph.DexValue$DexValueInt asDexValueInt() -> q0
-    com.android.tools.r8.graph.DexValue$DexValueLong asDexValueLong() -> r0
-    com.android.tools.r8.graph.DexValue$DexValueMethod asDexValueMethod() -> s0
-    com.android.tools.r8.graph.DexValue$DexValueMethodHandle asDexValueMethodHandle() -> t0
-    com.android.tools.r8.graph.DexValue$DexValueMethodType asDexValueMethodType() -> u0
-    com.android.tools.r8.graph.DexValue$DexValueNumber asDexValueNumber() -> v0
-    com.android.tools.r8.graph.DexValue$DexValueShort asDexValueShort() -> w0
-    com.android.tools.r8.graph.DexValue$DexValueString asDexValueString() -> x0
-    com.android.tools.r8.graph.DexValue$DexValueType asDexValueType() -> y0
-    java.lang.Object getBoxedValue() -> z0
-com.android.tools.r8.graph.DexValue$1 -> com.android.tools.r8.graph.f1:
-com.android.tools.r8.graph.DexValue$DexItemBasedValueString -> com.android.tools.r8.graph.g1:
+    com.android.tools.r8.graph.DexValue$DexValueDouble asDexValueDouble() -> n0
+    com.android.tools.r8.graph.DexValue$DexValueEnum asDexValueEnum() -> o0
+    com.android.tools.r8.graph.DexValue$DexValueField asDexValueField() -> p0
+    com.android.tools.r8.graph.DexValue$DexValueFloat asDexValueFloat() -> q0
+    com.android.tools.r8.graph.DexValue$DexValueInt asDexValueInt() -> r0
+    com.android.tools.r8.graph.DexValue$DexValueLong asDexValueLong() -> s0
+    com.android.tools.r8.graph.DexValue$DexValueMethod asDexValueMethod() -> t0
+    com.android.tools.r8.graph.DexValue$DexValueMethodHandle asDexValueMethodHandle() -> u0
+    com.android.tools.r8.graph.DexValue$DexValueMethodType asDexValueMethodType() -> v0
+    com.android.tools.r8.graph.DexValue$DexValueNumber asDexValueNumber() -> w0
+    com.android.tools.r8.graph.DexValue$DexValueShort asDexValueShort() -> x0
+    com.android.tools.r8.graph.DexValue$DexValueString asDexValueString() -> y0
+    com.android.tools.r8.graph.DexValue$DexValueType asDexValueType() -> z0
+com.android.tools.r8.graph.DexValue$1 -> com.android.tools.r8.graph.h1:
+com.android.tools.r8.graph.DexValue$DexItemBasedValueString -> com.android.tools.r8.graph.i1:
     boolean $assertionsDisabled -> e
     com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo nameComputationInfo -> d
     1:1:void <clinit>():1274:1274 -> <clinit>
     1:2:void <init>(com.android.tools.r8.graph.DexReference,com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo):1289:1290 -> <init>
-    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1333:1333 -> A0
-    boolean isNestedDexValue() -> M0
-    void sort() -> O0
-    1:1:com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo getNameComputationInfo():1313:1313 -> Q0
+    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1333:1333 -> B0
+    boolean isNestedDexValue() -> N0
+    void sort() -> P0
+    1:1:com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo getNameComputationInfo():1313:1313 -> R0
     1:1:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1309:1309 -> a
     2:2:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):1338:1338 -> a
     3:5:com.android.tools.r8.ir.code.ConstInstruction asConstInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DebugLocalInfo):1344:1346 -> a
@@ -29203,14 +29292,15 @@
     6:6:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1300 -> b
     7:7:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1304:1304 -> b
     8:8:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):1295:1295 -> b
-    1:1:java.lang.Object asAsmEncodedObject():1328:1328 -> f0
-    com.android.tools.r8.graph.DexValue$DexItemBasedValueString asDexItemBasedValueString() -> g0
-com.android.tools.r8.graph.DexValue$DexValueAnnotation -> com.android.tools.r8.graph.h1:
+    1:1:java.lang.Object asAsmEncodedObject():1328:1328 -> g0
+    com.android.tools.r8.graph.DexValue$DexItemBasedValueString asDexItemBasedValueString() -> h0
+com.android.tools.r8.graph.DexValue$DexValueAnnotation -> com.android.tools.r8.graph.j1:
     com.android.tools.r8.graph.DexEncodedAnnotation value -> c
     1:2:void <init>(com.android.tools.r8.graph.DexEncodedAnnotation):1688:1689 -> <init>
-    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1708:1708 -> A0
+    1:1:java.lang.Object getBoxedValue():1744:1744 -> A0
+    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1708:1708 -> B0
     com.android.tools.r8.utils.structural.StructuralItem self() -> L
-    1:1:void sort():1754:1754 -> O0
+    1:1:void sort():1754:1754 -> P0
     1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):1684:1684 -> a
     2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1723:1723 -> a
     3:3:com.android.tools.r8.ir.analysis.value.AbstractValue toAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):1728:1728 -> a
@@ -29219,23 +29309,23 @@
     1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1694:1694 -> b
     2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):1699:1699 -> b
     1:3:boolean equals(java.lang.Object):1767:1769 -> equals
-    1:1:java.lang.Object asAsmEncodedObject():1749:1749 -> f0
-    com.android.tools.r8.graph.DexValue$DexValueAnnotation asDexValueAnnotation() -> h0
+    1:1:java.lang.Object asAsmEncodedObject():1749:1749 -> g0
     1:1:int hashCode():1759:1759 -> hashCode
+    com.android.tools.r8.graph.DexValue$DexValueAnnotation asDexValueAnnotation() -> i0
     1:1:java.lang.String toString():0:0 -> toString
       # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1778,"2":1779,"3":1780}}
     1778:1778:java.lang.String toString():1776:1776 -> toString
     1779:1779:java.lang.String toString():1776:1776 -> toString
     1780:1780:java.lang.String toString():1776:1776 -> toString
     1777:1777:java.lang.String toString():1776:1776 -> toString
-    1:1:java.lang.Object getBoxedValue():1744:1744 -> z0
-com.android.tools.r8.graph.DexValue$DexValueArray -> com.android.tools.r8.graph.i1$a:
+com.android.tools.r8.graph.DexValue$DexValueArray -> com.android.tools.r8.graph.k1$a:
     com.android.tools.r8.graph.DexValue[] values -> c
     1:2:void <init>(com.android.tools.r8.graph.DexValue[]):1579:1580 -> <init>
-    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1605:1605 -> A0
+    1:1:java.lang.Object getBoxedValue():1631:1631 -> A0
+    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1605:1605 -> B0
     com.android.tools.r8.utils.structural.StructuralItem self() -> L
-    1:2:void sort():1646:1647 -> O0
-    1:1:com.android.tools.r8.graph.DexValue[] getValues():1600:1600 -> P0
+    1:2:void sort():1646:1647 -> P0
+    1:1:com.android.tools.r8.graph.DexValue[] getValues():1600:1600 -> Q0
     1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):1575:1575 -> a
     2:3:void forEachElement(java.util.function.Consumer):1594:1595 -> a
     4:5:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1610:1611 -> a
@@ -29252,28 +29342,28 @@
     4:4:void com.android.tools.r8.utils.structural.HashingVisitor.visitItemArray(com.android.tools.r8.utils.structural.StructuralItem[]):32:32 -> b
     4:4:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):1590 -> b
     1:3:boolean equals(java.lang.Object):1661:1663 -> equals
-    1:1:java.lang.Object asAsmEncodedObject():1641:1641 -> f0
+    1:1:java.lang.Object asAsmEncodedObject():1641:1641 -> g0
     1:1:int hashCode():1653:1653 -> hashCode
-    com.android.tools.r8.graph.DexValue$DexValueArray asDexValueArray() -> i0
+    com.android.tools.r8.graph.DexValue$DexValueArray asDexValueArray() -> j0
     1:1:java.lang.String toString():0:0 -> toString
       # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1672,"2":1673,"3":1674}}
     1672:1672:java.lang.String toString():1670:1670 -> toString
     1673:1673:java.lang.String toString():1670:1670 -> toString
     1674:1674:java.lang.String toString():1670:1670 -> toString
     1671:1671:java.lang.String toString():1670:1670 -> toString
-    1:1:java.lang.Object getBoxedValue():1631:1631 -> z0
-com.android.tools.r8.graph.DexValue$DexValueBoolean -> com.android.tools.r8.graph.i1$b:
+com.android.tools.r8.graph.DexValue$DexValueBoolean -> com.android.tools.r8.graph.k1$b:
     com.android.tools.r8.graph.DexValue$DexValueBoolean TRUE -> d
     com.android.tools.r8.graph.DexValue$DexValueBoolean FALSE -> e
     com.android.tools.r8.graph.DexValue$DexValueBoolean DEFAULT -> f
     boolean value -> c
     1:4:void <clinit>():1871:1874 -> <clinit>
     1:2:void <init>(boolean):1878:1879 -> <init>
-    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1902:1902 -> A0
-    boolean isDexValueBoolean() -> B0
-    1:1:long getRawValue():1912:1912 -> P0
-    1:1:com.android.tools.r8.graph.DexValue$DexValueBoolean access$000():1869:1869 -> Q0
-    1:1:boolean getValue():1897:1897 -> R0
+    1:1:java.lang.Object getBoxedValue():1927:1927 -> A0
+    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1902:1902 -> B0
+    boolean isDexValueBoolean() -> C0
+    1:1:long getRawValue():1912:1912 -> Q0
+    1:1:com.android.tools.r8.graph.DexValue$DexValueBoolean access$000():1869:1869 -> R0
+    1:1:boolean getValue():1897:1897 -> S0
     1:1:com.android.tools.r8.graph.DexValue$DexValueBoolean create(boolean):1883:1883 -> a
     2:2:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):1907:1907 -> a
     3:3:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):1932:1932 -> a
@@ -29281,20 +29371,20 @@
     1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1888:1888 -> b
     2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):1893:1893 -> b
     1:1:boolean equals(java.lang.Object):1950:1950 -> equals
-    1:1:java.lang.Object asAsmEncodedObject():1937:1937 -> f0
+    1:1:java.lang.Object asAsmEncodedObject():1937:1937 -> g0
     1:1:int hashCode():1942:1942 -> hashCode
-    com.android.tools.r8.graph.DexValue$DexValueBoolean asDexValueBoolean() -> j0
+    com.android.tools.r8.graph.DexValue$DexValueBoolean asDexValueBoolean() -> k0
     1:1:java.lang.String toString():1955:1955 -> toString
-    1:1:java.lang.Object getBoxedValue():1927:1927 -> z0
-com.android.tools.r8.graph.DexValue$DexValueByte -> com.android.tools.r8.graph.i1$c:
+com.android.tools.r8.graph.DexValue$DexValueByte -> com.android.tools.r8.graph.k1$c:
     byte value -> c
     com.android.tools.r8.graph.DexValue$DexValueByte DEFAULT -> d
     1:1:void <clinit>():471:471 -> <clinit>
     1:2:void <init>(byte):475:476 -> <init>
-    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():499:499 -> A0
-    boolean isDexValueByte() -> C0
-    1:1:long getRawValue():509:509 -> P0
-    1:1:byte getValue():494:494 -> Q0
+    1:1:java.lang.Object getBoxedValue():524:524 -> A0
+    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():499:499 -> B0
+    boolean isDexValueByte() -> D0
+    1:1:long getRawValue():509:509 -> Q0
+    1:1:byte getValue():494:494 -> R0
     1:1:com.android.tools.r8.graph.DexValue$DexValueByte create(byte):480:480 -> a
     2:2:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):504:504 -> a
     3:4:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):529:530 -> a
@@ -29304,25 +29394,25 @@
     1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):485:485 -> b
     2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):490:490 -> b
     1:1:boolean equals(java.lang.Object):548:548 -> equals
-    1:1:java.lang.Object asAsmEncodedObject():535:535 -> f0
+    1:1:java.lang.Object asAsmEncodedObject():535:535 -> g0
     1:1:int hashCode():540:540 -> hashCode
-    com.android.tools.r8.graph.DexValue$DexValueByte asDexValueByte() -> k0
+    com.android.tools.r8.graph.DexValue$DexValueByte asDexValueByte() -> l0
     1:1:java.lang.String toString():0:0 -> toString
       # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":555,"2":556,"3":557}}
     555:555:java.lang.String toString():553:553 -> toString
     556:556:java.lang.String toString():553:553 -> toString
     557:557:java.lang.String toString():553:553 -> toString
     554:554:java.lang.String toString():553:553 -> toString
-    1:1:java.lang.Object getBoxedValue():524:524 -> z0
-com.android.tools.r8.graph.DexValue$DexValueChar -> com.android.tools.r8.graph.i1$d:
+com.android.tools.r8.graph.DexValue$DexValueChar -> com.android.tools.r8.graph.k1$d:
     com.android.tools.r8.graph.DexValue$DexValueChar DEFAULT -> d
     char value -> c
     1:1:void <clinit>():657:657 -> <clinit>
     1:2:void <init>(char):660:661 -> <init>
-    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():684:684 -> A0
-    boolean isDexValueChar() -> D0
-    1:1:long getRawValue():694:694 -> P0
-    1:1:char getValue():679:679 -> Q0
+    1:1:java.lang.Object getBoxedValue():709:709 -> A0
+    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():684:684 -> B0
+    boolean isDexValueChar() -> E0
+    1:1:long getRawValue():694:694 -> Q0
+    1:1:char getValue():679:679 -> R0
     1:1:com.android.tools.r8.graph.DexValue$DexValueChar create(char):665:665 -> a
     2:2:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):689:689 -> a
     3:4:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):714:715 -> a
@@ -29335,25 +29425,25 @@
     1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):670:670 -> b
     2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):675:675 -> b
     1:1:boolean equals(java.lang.Object):736:736 -> equals
-    1:1:java.lang.Object asAsmEncodedObject():723:723 -> f0
+    1:1:java.lang.Object asAsmEncodedObject():723:723 -> g0
     1:1:int hashCode():728:728 -> hashCode
-    com.android.tools.r8.graph.DexValue$DexValueChar asDexValueChar() -> l0
+    com.android.tools.r8.graph.DexValue$DexValueChar asDexValueChar() -> m0
     1:1:java.lang.String toString():0:0 -> toString
       # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":743,"2":744,"3":745}}
     743:743:java.lang.String toString():741:741 -> toString
     744:744:java.lang.String toString():741:741 -> toString
     745:745:java.lang.String toString():741:741 -> toString
     742:742:java.lang.String toString():741:741 -> toString
-    1:1:java.lang.Object getBoxedValue():709:709 -> z0
-com.android.tools.r8.graph.DexValue$DexValueDouble -> com.android.tools.r8.graph.i1$e:
+com.android.tools.r8.graph.DexValue$DexValueDouble -> com.android.tools.r8.graph.k1$e:
     com.android.tools.r8.graph.DexValue$DexValueDouble DEFAULT -> d
     double value -> c
     1:1:void <clinit>():1034:1034 -> <clinit>
     1:2:void <init>(double):1038:1039 -> <init>
-    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1062:1062 -> A0
-    boolean isDexValueDouble() -> E0
-    1:1:long getRawValue():1072:1072 -> P0
-    1:1:double getValue():1057:1057 -> Q0
+    1:1:java.lang.Object getBoxedValue():1087:1087 -> A0
+    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1062:1062 -> B0
+    boolean isDexValueDouble() -> F0
+    1:1:long getRawValue():1072:1072 -> Q0
+    1:1:double getValue():1057:1057 -> R0
     1:1:com.android.tools.r8.graph.DexValue$DexValueDouble create(double):1043:1043 -> a
     2:2:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):1067:1067 -> a
     3:4:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):1092:1093 -> a
@@ -29366,21 +29456,20 @@
     1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1048:1048 -> b
     2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):1053:1053 -> b
     1:2:boolean equals(java.lang.Object):1120:1121 -> equals
-    1:1:java.lang.Object asAsmEncodedObject():1101:1101 -> f0
+    1:1:java.lang.Object asAsmEncodedObject():1101:1101 -> g0
     1:1:int hashCode():1112:1112 -> hashCode
-    com.android.tools.r8.graph.DexValue$DexValueDouble asDexValueDouble() -> m0
+    com.android.tools.r8.graph.DexValue$DexValueDouble asDexValueDouble() -> n0
     1:1:java.lang.String toString():0:0 -> toString
       # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1128,"2":1129,"3":1130}}
     1128:1128:java.lang.String toString():1126:1126 -> toString
     1129:1129:java.lang.String toString():1126:1126 -> toString
     1130:1130:java.lang.String toString():1126:1126 -> toString
     1127:1127:java.lang.String toString():1126:1126 -> toString
-    1:1:java.lang.Object getBoxedValue():1087:1087 -> z0
-com.android.tools.r8.graph.DexValue$DexValueEnum -> com.android.tools.r8.graph.j1:
+com.android.tools.r8.graph.DexValue$DexValueEnum -> com.android.tools.r8.graph.l1:
     1:1:void <init>(com.android.tools.r8.graph.DexField):1494:1494 -> <init>
-    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1509:1509 -> A0
-    boolean isNestedDexValue() -> M0
-    void sort() -> O0
+    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1509:1509 -> B0
+    boolean isNestedDexValue() -> N0
+    void sort() -> P0
     1:1:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexValue$NestedDexValue.getType(com.android.tools.r8.graph.DexItemFactory):1145:1145 -> a
     1:1:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):1491 -> a
     2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1514:1514 -> a
@@ -29389,12 +29478,12 @@
     2:2:int com.android.tools.r8.graph.DexField.acceptCompareTo(com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.structural.CompareToVisitor):176:176 -> b
     2:2:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1499 -> b
     3:3:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):1504:1504 -> b
-    com.android.tools.r8.graph.DexValue$DexValueEnum asDexValueEnum() -> n0
-com.android.tools.r8.graph.DexValue$DexValueField -> com.android.tools.r8.graph.k1:
+    com.android.tools.r8.graph.DexValue$DexValueEnum asDexValueEnum() -> o0
+com.android.tools.r8.graph.DexValue$DexValueField -> com.android.tools.r8.graph.m1:
     1:1:void <init>(com.android.tools.r8.graph.DexField):1410:1410 -> <init>
-    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1425:1425 -> A0
-    boolean isNestedDexValue() -> M0
-    void sort() -> O0
+    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1425:1425 -> B0
+    boolean isNestedDexValue() -> N0
+    void sort() -> P0
     1:1:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexValue$NestedDexValue.getType(com.android.tools.r8.graph.DexItemFactory):1145:1145 -> a
     1:1:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):1407 -> a
     2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1430:1430 -> a
@@ -29403,16 +29492,17 @@
     2:2:int com.android.tools.r8.graph.DexField.acceptCompareTo(com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.structural.CompareToVisitor):176:176 -> b
     2:2:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1415 -> b
     3:3:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):1420:1420 -> b
-    com.android.tools.r8.graph.DexValue$DexValueField asDexValueField() -> o0
-com.android.tools.r8.graph.DexValue$DexValueFloat -> com.android.tools.r8.graph.i1$f:
+    com.android.tools.r8.graph.DexValue$DexValueField asDexValueField() -> p0
+com.android.tools.r8.graph.DexValue$DexValueFloat -> com.android.tools.r8.graph.k1$f:
     float value -> c
     com.android.tools.r8.graph.DexValue$DexValueFloat DEFAULT -> d
     1:1:void <clinit>():937:937 -> <clinit>
     1:2:void <init>(float):940:941 -> <init>
-    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():964:964 -> A0
-    boolean isDexValueFloat() -> F0
-    1:1:long getRawValue():974:974 -> P0
-    1:1:float getValue():959:959 -> Q0
+    1:1:java.lang.Object getBoxedValue():989:989 -> A0
+    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():964:964 -> B0
+    boolean isDexValueFloat() -> G0
+    1:1:long getRawValue():974:974 -> Q0
+    1:1:float getValue():959:959 -> R0
     1:1:com.android.tools.r8.graph.DexValue$DexValueFloat create(float):945:945 -> a
     2:2:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):969:969 -> a
     3:4:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):994:995 -> a
@@ -29425,43 +29515,42 @@
     1:1:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):950:950 -> b
     2:2:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):955:955 -> b
     1:2:boolean equals(java.lang.Object):1022:1023 -> equals
-    1:1:java.lang.Object asAsmEncodedObject():1003:1003 -> f0
+    1:1:java.lang.Object asAsmEncodedObject():1003:1003 -> g0
     1:1:int hashCode():1014:1014 -> hashCode
-    com.android.tools.r8.graph.DexValue$DexValueFloat asDexValueFloat() -> p0
+    com.android.tools.r8.graph.DexValue$DexValueFloat asDexValueFloat() -> q0
     1:1:java.lang.String toString():0:0 -> toString
       # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1030,"2":1031,"3":1032}}
     1030:1030:java.lang.String toString():1028:1028 -> toString
     1031:1031:java.lang.String toString():1028:1028 -> toString
     1032:1032:java.lang.String toString():1028:1028 -> toString
     1029:1029:java.lang.String toString():1028:1028 -> toString
-    1:1:java.lang.Object getBoxedValue():989:989 -> z0
-com.android.tools.r8.graph.DexValue$DexValueInt -> com.android.tools.r8.graph.i1$g:
+com.android.tools.r8.graph.DexValue$DexValueInt -> com.android.tools.r8.graph.k1$g:
     int value -> c
     com.android.tools.r8.graph.DexValue$DexValueInt DEFAULT -> d
     1:1:void <clinit>():753:753 -> <clinit>
     1:2:void <init>(int):756:757 -> <init>
-    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():780:780 -> A0
-    boolean isDexValueInt() -> G0
-    1:1:long getRawValue():790:790 -> P0
-    1:1:int getValue():775:775 -> Q0
+    1:1:java.lang.Object getBoxedValue():795:795 -> A0
+    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():780:780 -> B0
+    boolean isDexValueInt() -> H0
+    1:1:long getRawValue():790:790 -> Q0
+    1:1:int getValue():775:775 -> R0
     1:1:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):785:785 -> a
     2:2:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):800:800 -> a
     3:3:com.android.tools.r8.ir.code.ConstInstruction asConstInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DebugLocalInfo):839:839 -> a
     1:1:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):766:766 -> b
     2:2:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):771:771 -> b
     1:1:boolean equals(java.lang.Object):828:828 -> equals
-    1:1:java.lang.Object asAsmEncodedObject():815:815 -> f0
+    1:1:java.lang.Object asAsmEncodedObject():815:815 -> g0
     1:1:int hashCode():820:820 -> hashCode
     1:1:com.android.tools.r8.graph.DexValue$DexValueInt create(int):761:761 -> i
-    com.android.tools.r8.graph.DexValue$DexValueInt asDexValueInt() -> q0
+    com.android.tools.r8.graph.DexValue$DexValueInt asDexValueInt() -> r0
     1:1:java.lang.String toString():0:0 -> toString
       # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":835,"2":836,"3":837}}
     835:835:java.lang.String toString():833:833 -> toString
     836:836:java.lang.String toString():833:833 -> toString
     837:837:java.lang.String toString():833:833 -> toString
     834:834:java.lang.String toString():833:833 -> toString
-    1:1:java.lang.Object getBoxedValue():795:795 -> z0
-com.android.tools.r8.graph.DexValue$DexValueKind -> com.android.tools.r8.graph.l1:
+com.android.tools.r8.graph.DexValue$DexValueKind -> com.android.tools.r8.graph.n1:
     com.android.tools.r8.graph.DexValue$DexValueKind ENUM -> p
     com.android.tools.r8.graph.DexValue$DexValueKind ARRAY -> q
     com.android.tools.r8.graph.DexValue$DexValueKind ANNOTATION -> r
@@ -29485,15 +29574,16 @@
     19:19:void <clinit>():36:36 -> <clinit>
     1:2:void <init>(java.lang.String,int,int):101:102 -> <init>
     1:1:byte toByte():106:106 -> a
-com.android.tools.r8.graph.DexValue$DexValueLong -> com.android.tools.r8.graph.i1$h:
+com.android.tools.r8.graph.DexValue$DexValueLong -> com.android.tools.r8.graph.k1$h:
     long value -> c
     com.android.tools.r8.graph.DexValue$DexValueLong DEFAULT -> d
     1:1:void <clinit>():845:845 -> <clinit>
     1:2:void <init>(long):848:849 -> <init>
-    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():872:872 -> A0
-    boolean isDexValueLong() -> H0
-    1:1:long getRawValue():882:882 -> P0
-    1:1:long getValue():867:867 -> Q0
+    1:1:java.lang.Object getBoxedValue():897:897 -> A0
+    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():872:872 -> B0
+    boolean isDexValueLong() -> I0
+    1:1:long getRawValue():882:882 -> Q0
+    1:1:long getValue():867:867 -> R0
     1:1:com.android.tools.r8.graph.DexValue$DexValueLong create(long):853:853 -> a
     2:2:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):877:877 -> a
     3:3:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):902:902 -> a
@@ -29503,21 +29593,20 @@
     1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):858:858 -> b
     2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):863:863 -> b
     1:1:boolean equals(java.lang.Object):920:920 -> equals
-    1:1:java.lang.Object asAsmEncodedObject():907:907 -> f0
+    1:1:java.lang.Object asAsmEncodedObject():907:907 -> g0
     1:1:int hashCode():912:912 -> hashCode
-    com.android.tools.r8.graph.DexValue$DexValueLong asDexValueLong() -> r0
+    com.android.tools.r8.graph.DexValue$DexValueLong asDexValueLong() -> s0
     1:1:java.lang.String toString():0:0 -> toString
       # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":927,"2":928,"3":929}}
     927:927:java.lang.String toString():925:925 -> toString
     928:928:java.lang.String toString():925:925 -> toString
     929:929:java.lang.String toString():925:925 -> toString
     926:926:java.lang.String toString():925:925 -> toString
-    1:1:java.lang.Object getBoxedValue():897:897 -> z0
-com.android.tools.r8.graph.DexValue$DexValueMethod -> com.android.tools.r8.graph.m1:
+com.android.tools.r8.graph.DexValue$DexValueMethod -> com.android.tools.r8.graph.o1:
     1:1:void <init>(com.android.tools.r8.graph.DexMethod):1452:1452 -> <init>
-    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1467:1467 -> A0
-    boolean isNestedDexValue() -> M0
-    void sort() -> O0
+    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1467:1467 -> B0
+    boolean isNestedDexValue() -> N0
+    void sort() -> P0
     1:1:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexValue$NestedDexValue.getType(com.android.tools.r8.graph.DexItemFactory):1145:1145 -> a
     1:1:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):1449 -> a
     2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1472:1472 -> a
@@ -29538,38 +29627,39 @@
     2:2:int com.android.tools.r8.graph.DexMethod.acceptCompareTo(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.structural.CompareToVisitor):61:61 -> b
     2:2:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1457 -> b
     3:3:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):1462:1462 -> b
-    com.android.tools.r8.graph.DexValue$DexValueMethod asDexValueMethod() -> s0
-com.android.tools.r8.graph.DexValue$DexValueMethodHandle -> com.android.tools.r8.graph.n1:
+    com.android.tools.r8.graph.DexValue$DexValueMethod asDexValueMethod() -> t0
+com.android.tools.r8.graph.DexValue$DexValueMethodHandle -> com.android.tools.r8.graph.p1:
     1:1:void <init>(com.android.tools.r8.graph.DexMethodHandle):1968:1968 -> <init>
-    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1993:1993 -> A0
-    boolean isNestedDexValue() -> M0
-    void sort() -> O0
+    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1993:1993 -> B0
+    boolean isNestedDexValue() -> N0
+    void sort() -> P0
     1:1:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexValue$NestedDexValue.getType(com.android.tools.r8.graph.DexItemFactory):1145:1145 -> a
     1:1:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):1965 -> a
     2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1998:1998 -> a
     3:3:com.android.tools.r8.ir.analysis.value.AbstractValue toAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):2003:2003 -> a
     1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1973:1973 -> b
     2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):1978:1978 -> b
-    com.android.tools.r8.graph.DexValue$DexValueMethodHandle asDexValueMethodHandle() -> t0
-com.android.tools.r8.graph.DexValue$DexValueMethodType -> com.android.tools.r8.graph.o1:
+    com.android.tools.r8.graph.DexValue$DexValueMethodHandle asDexValueMethodHandle() -> u0
+com.android.tools.r8.graph.DexValue$DexValueMethodType -> com.android.tools.r8.graph.q1:
     1:1:void <init>(com.android.tools.r8.graph.DexProto):1536:1536 -> <init>
-    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1561:1561 -> A0
-    boolean isNestedDexValue() -> M0
-    void sort() -> O0
+    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1561:1561 -> B0
+    boolean isNestedDexValue() -> N0
+    void sort() -> P0
     1:1:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexValue$NestedDexValue.getType(com.android.tools.r8.graph.DexItemFactory):1145:1145 -> a
     1:1:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):1533 -> a
     2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1566:1566 -> a
     3:3:com.android.tools.r8.ir.analysis.value.AbstractValue toAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):1571:1571 -> a
     1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1541:1541 -> b
     2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):1546:1546 -> b
-    com.android.tools.r8.graph.DexValue$DexValueMethodType asDexValueMethodType() -> u0
-com.android.tools.r8.graph.DexValue$DexValueNull -> com.android.tools.r8.graph.p1:
+    com.android.tools.r8.graph.DexValue$DexValueMethodType asDexValueMethodType() -> v0
+com.android.tools.r8.graph.DexValue$DexValueNull -> com.android.tools.r8.graph.r1:
     com.android.tools.r8.graph.DexValue NULL -> c
     boolean $assertionsDisabled -> d
     1:3:void <clinit>():1780:1782 -> <clinit>
     1:1:void <init>():1785:1785 -> <init>
-    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1806:1806 -> A0
-    long getRawValue() -> P0
+    java.lang.Object getBoxedValue() -> A0
+    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1806:1806 -> B0
+    long getRawValue() -> Q0
     1:1:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):1811:1811 -> a
     2:2:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):1821:1821 -> a
     3:3:com.android.tools.r8.ir.code.ConstInstruction asConstInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DebugLocalInfo):1865:1865 -> a
@@ -29578,19 +29668,18 @@
     1:1:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):1790:1790 -> b
     2:3:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1795:1796 -> b
     1:1:boolean equals(java.lang.Object):1854:1854 -> equals
-    java.lang.Object asAsmEncodedObject() -> f0
+    java.lang.Object asAsmEncodedObject() -> g0
     1:1:java.lang.String toString():1859:1859 -> toString
-    java.lang.Object getBoxedValue() -> z0
-com.android.tools.r8.graph.DexValue$DexValueNumber -> com.android.tools.r8.graph.q1:
+com.android.tools.r8.graph.DexValue$DexValueNumber -> com.android.tools.r8.graph.s1:
     1:1:void com.android.tools.r8.graph.DexValue$SimpleDexValue.<init>():427:427 -> <init>
     1:1:void com.android.tools.r8.graph.DexValue$SimpleDexValue.<init>(com.android.tools.r8.graph.DexValue$1):427 -> <init>
     1:1:void <init>():449 -> <init>
-    boolean isDexValueNumber() -> I0
+    boolean isDexValueNumber() -> J0
     com.android.tools.r8.utils.structural.StructuralItem com.android.tools.r8.graph.DexValue$SimpleDexValue.self() -> L
       # {"id":"com.android.tools.r8.synthesized"}
-    boolean mayHaveSideEffects() -> N0
-    void sort() -> O0
-    long getRawValue() -> P0
+    boolean mayHaveSideEffects() -> O0
+    void sort() -> P0
+    long getRawValue() -> Q0
     1:1:int com.android.tools.r8.graph.DexValue$SimpleDexValue.acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):427:427 -> a
     1:1:int com.android.tools.r8.graph.DexValue$SimpleDexValue.acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):0 -> a
       # {"id":"com.android.tools.r8.synthesized"}
@@ -29604,16 +29693,17 @@
     5:5:void com.android.tools.r8.graph.DexValue$SimpleDexValue.writeIntegerTo(com.android.tools.r8.graph.DexValue$DexValueKind,long,int,com.android.tools.r8.dex.DexOutputBuffer):444 -> a
     6:6:void com.android.tools.r8.graph.DexValue$SimpleDexValue.writeIntegerTo(com.android.tools.r8.graph.DexValue$DexValueKind,long,int,com.android.tools.r8.dex.DexOutputBuffer):445:445 -> a
     7:7:com.android.tools.r8.ir.analysis.value.AbstractValue toAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):465:465 -> a
-    com.android.tools.r8.graph.DexValue$DexValueNumber asDexValueNumber() -> v0
-com.android.tools.r8.graph.DexValue$DexValueShort -> com.android.tools.r8.graph.i1$i:
+    com.android.tools.r8.graph.DexValue$DexValueNumber asDexValueNumber() -> w0
+com.android.tools.r8.graph.DexValue$DexValueShort -> com.android.tools.r8.graph.k1$i:
     com.android.tools.r8.graph.DexValue$DexValueShort DEFAULT -> d
     short value -> c
     1:1:void <clinit>():565:565 -> <clinit>
     1:2:void <init>(short):568:569 -> <init>
-    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():592:592 -> A0
-    boolean isDexValueShort() -> J0
-    1:1:long getRawValue():602:602 -> P0
-    1:1:short getValue():587:587 -> Q0
+    1:1:java.lang.Object getBoxedValue():617:617 -> A0
+    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():592:592 -> B0
+    boolean isDexValueShort() -> K0
+    1:1:long getRawValue():602:602 -> Q0
+    1:1:short getValue():587:587 -> R0
     1:1:com.android.tools.r8.graph.DexValue$DexValueShort create(short):573:573 -> a
     2:2:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):597:597 -> a
     3:3:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):622:622 -> a
@@ -29621,7 +29711,7 @@
     1:1:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):578:578 -> b
     2:2:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):583:583 -> b
     1:1:boolean equals(java.lang.Object):640:640 -> equals
-    1:1:java.lang.Object asAsmEncodedObject():627:627 -> f0
+    1:1:java.lang.Object asAsmEncodedObject():627:627 -> g0
     1:1:int hashCode():632:632 -> hashCode
     1:1:java.lang.String toString():0:0 -> toString
       # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":647,"2":648,"3":649}}
@@ -29629,14 +29719,13 @@
     648:648:java.lang.String toString():645:645 -> toString
     649:649:java.lang.String toString():645:645 -> toString
     646:646:java.lang.String toString():645:645 -> toString
-    com.android.tools.r8.graph.DexValue$DexValueShort asDexValueShort() -> w0
-    1:1:java.lang.Object getBoxedValue():617:617 -> z0
-com.android.tools.r8.graph.DexValue$DexValueString -> com.android.tools.r8.graph.i1$j:
+    com.android.tools.r8.graph.DexValue$DexValueShort asDexValueShort() -> x0
+com.android.tools.r8.graph.DexValue$DexValueString -> com.android.tools.r8.graph.k1$j:
     1:1:void <init>(com.android.tools.r8.graph.DexString):1203:1203 -> <init>
-    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1242:1242 -> A0
-    boolean isDexValueString() -> K0
-    boolean isNestedDexValue() -> M0
-    void sort() -> O0
+    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1242:1242 -> B0
+    boolean isDexValueString() -> L0
+    boolean isNestedDexValue() -> N0
+    void sort() -> P0
     1:1:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1222:1222 -> a
     2:2:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
     2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1222 -> a
@@ -29659,14 +29748,14 @@
     8:8:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1217:1217 -> b
     9:9:int com.android.tools.r8.graph.DexString.acceptCompareTo(com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.structural.CompareToVisitor):65:65 -> b
     9:9:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1217 -> b
-    1:1:java.lang.Object asAsmEncodedObject():1237:1237 -> f0
-    com.android.tools.r8.graph.DexValue$DexValueString asDexValueString() -> x0
-com.android.tools.r8.graph.DexValue$DexValueType -> com.android.tools.r8.graph.i1$k:
+    1:1:java.lang.Object asAsmEncodedObject():1237:1237 -> g0
+    com.android.tools.r8.graph.DexValue$DexValueString asDexValueString() -> y0
+com.android.tools.r8.graph.DexValue$DexValueType -> com.android.tools.r8.graph.k1$k:
     1:1:void <init>(com.android.tools.r8.graph.DexType):1368:1368 -> <init>
-    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1383:1383 -> A0
-    boolean isDexValueType() -> L0
-    boolean isNestedDexValue() -> M0
-    void sort() -> O0
+    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1383:1383 -> B0
+    boolean isDexValueType() -> M0
+    boolean isNestedDexValue() -> N0
+    void sort() -> P0
     1:1:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexValue$NestedDexValue.getType(com.android.tools.r8.graph.DexItemFactory):1145:1145 -> a
     1:1:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):1365 -> a
     2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1388:1388 -> a
@@ -29686,15 +29775,22 @@
     2:2:int com.android.tools.r8.graph.DexType.acceptCompareTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.structural.CompareToVisitor):99:99 -> b
     2:2:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1373 -> b
     3:3:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):1378:1378 -> b
-    com.android.tools.r8.graph.DexValue$DexValueType asDexValueType() -> y0
-com.android.tools.r8.graph.DexValue$NestedDexValue -> com.android.tools.r8.graph.i1$l:
+    com.android.tools.r8.graph.DexValue$DexValueType asDexValueType() -> z0
+com.android.tools.r8.graph.DexValue$NestedDexValue -> com.android.tools.r8.graph.k1$l:
     com.android.tools.r8.graph.IndexedDexItem value -> c
     1:1:void <init>(com.android.tools.r8.graph.IndexedDexItem,com.android.tools.r8.graph.DexValue$1):1130:1130 -> <init>
     2:3:void <init>(com.android.tools.r8.graph.IndexedDexItem):1134:1135 -> <init>
+    1:1:java.lang.Object getBoxedValue():1164:1164 -> A0
+    2:2:java.lang.Object getBoxedValue():0:0 -> A0
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1167,"2":1168,"3":1169}}
+    1167:1167:java.lang.Object getBoxedValue():1164:1164 -> A0
+    1168:1168:java.lang.Object getBoxedValue():1164:1164 -> A0
+    1169:1169:java.lang.Object getBoxedValue():1164:1164 -> A0
+    1166:1166:java.lang.Object getBoxedValue():1164:1164 -> A0
     com.android.tools.r8.utils.structural.StructuralItem self() -> L
-    boolean isNestedDexValue() -> M0
-    void sort() -> O0
-    1:1:com.android.tools.r8.graph.IndexedDexItem getValue():1149:1149 -> P0
+    boolean isNestedDexValue() -> N0
+    void sort() -> P0
+    1:1:com.android.tools.r8.graph.IndexedDexItem getValue():1149:1149 -> Q0
     1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):1130:1130 -> a
     2:2:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):1145:1145 -> a
     3:4:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):1154:1155 -> a
@@ -29704,13 +29800,13 @@
     6:6:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):1157 -> a
     7:8:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):1158:1159 -> a
     1:3:boolean equals(java.lang.Object):1187:1189 -> equals
-    1:1:java.lang.Object asAsmEncodedObject():1169:1169 -> f0
-    2:2:java.lang.Object asAsmEncodedObject():0:0 -> f0
+    1:1:java.lang.Object asAsmEncodedObject():1169:1169 -> g0
+    2:2:java.lang.Object asAsmEncodedObject():0:0 -> g0
       # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1172,"2":1173,"3":1174}}
-    1172:1172:java.lang.Object asAsmEncodedObject():1169:1169 -> f0
-    1173:1173:java.lang.Object asAsmEncodedObject():1169:1169 -> f0
-    1174:1174:java.lang.Object asAsmEncodedObject():1169:1169 -> f0
-    1171:1171:java.lang.Object asAsmEncodedObject():1169:1169 -> f0
+    1172:1172:java.lang.Object asAsmEncodedObject():1169:1169 -> g0
+    1173:1173:java.lang.Object asAsmEncodedObject():1169:1169 -> g0
+    1174:1174:java.lang.Object asAsmEncodedObject():1169:1169 -> g0
+    1171:1171:java.lang.Object asAsmEncodedObject():1169:1169 -> g0
     1:1:int hashCode():1179:1179 -> hashCode
     1:1:java.lang.String toString():0:0 -> toString
       # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1198,"2":1199,"3":1200}}
@@ -29718,14 +29814,7 @@
     1199:1199:java.lang.String toString():1196:1196 -> toString
     1200:1200:java.lang.String toString():1196:1196 -> toString
     1197:1197:java.lang.String toString():1196:1196 -> toString
-    1:1:java.lang.Object getBoxedValue():1164:1164 -> z0
-    2:2:java.lang.Object getBoxedValue():0:0 -> z0
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1167,"2":1168,"3":1169}}
-    1167:1167:java.lang.Object getBoxedValue():1164:1164 -> z0
-    1168:1168:java.lang.Object getBoxedValue():1164:1164 -> z0
-    1169:1169:java.lang.Object getBoxedValue():1164:1164 -> z0
-    1166:1166:java.lang.Object getBoxedValue():1164:1164 -> z0
-com.android.tools.r8.graph.DexWritableCode -> com.android.tools.r8.graph.s1:
+com.android.tools.r8.graph.DexWritableCode -> com.android.tools.r8.graph.u1:
     1:1:void <clinit>():18:18 -> <clinit>
     com.android.tools.r8.graph.DexDebugInfoForWriting getDebugInfoForWriting() -> B
     com.android.tools.r8.graph.DexCode asDexCode() -> J
@@ -29752,11 +29841,11 @@
     com.android.tools.r8.graph.DexCode$TryHandler[] getHandlers() -> v
     com.android.tools.r8.graph.DexString getHighestSortingString() -> x
     int getOutgoingRegisterSize() -> z
-com.android.tools.r8.graph.DexWritableCode$1 -> com.android.tools.r8.graph.r1:
+com.android.tools.r8.graph.DexWritableCode$1 -> com.android.tools.r8.graph.t1:
     int[] $SwitchMap$com$android$tools$r8$graph$DexWritableCode$DexWritableCodeKind -> b
     boolean $assertionsDisabled -> a
     1:9:void <clinit>():37:45 -> <clinit>
-com.android.tools.r8.graph.DexWritableCode$DexWritableCodeKind -> com.android.tools.r8.internal.hh:
+com.android.tools.r8.graph.DexWritableCode$DexWritableCodeKind -> com.android.tools.r8.internal.jh:
     com.android.tools.r8.graph.DexWritableCode$DexWritableCodeKind THROW_EXCEPTION -> e
     com.android.tools.r8.graph.DexWritableCode$DexWritableCodeKind THROW_NULL -> d
     com.android.tools.r8.graph.DexWritableCode$DexWritableCodeKind[] $VALUES -> f
@@ -29766,7 +29855,7 @@
     5:5:void <clinit>():20:20 -> <clinit>
     1:1:void <init>(java.lang.String,int):20:20 -> <init>
     1:1:com.android.tools.r8.graph.DexWritableCode$DexWritableCodeKind[] values():20:20 -> a
-com.android.tools.r8.graph.DirectMappedDexApplication -> com.android.tools.r8.graph.v1:
+com.android.tools.r8.graph.DirectMappedDexApplication -> com.android.tools.r8.graph.x1:
     com.android.tools.r8.com.google.common.collect.ImmutableList libraryClasses -> m
     boolean $assertionsDisabled -> n
     com.android.tools.r8.com.google.common.collect.ImmutableList classpathClasses -> l
@@ -29834,8 +29923,8 @@
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     6:16:boolean verifyCodeObjectsOwners():165:175 -> n
     1:1:java.lang.String toString():105:105 -> toString
-com.android.tools.r8.graph.DirectMappedDexApplication$1 -> com.android.tools.r8.graph.t1:
-com.android.tools.r8.graph.DirectMappedDexApplication$Builder -> com.android.tools.r8.graph.u1:
+com.android.tools.r8.graph.DirectMappedDexApplication$1 -> com.android.tools.r8.graph.v1:
+com.android.tools.r8.graph.DirectMappedDexApplication$Builder -> com.android.tools.r8.graph.w1:
     com.android.tools.r8.com.google.common.collect.ImmutableList libraryClasses -> j
     com.android.tools.r8.com.google.common.collect.ImmutableList classpathClasses -> i
     boolean $assertionsDisabled -> l
@@ -29887,7 +29976,7 @@
     38:38:java.util.List getClasspathClasses():273:273 -> e
     38:38:com.android.tools.r8.graph.DirectMappedDexApplication build():311 -> e
     39:41:com.android.tools.r8.graph.DirectMappedDexApplication build():311:313 -> e
-com.android.tools.r8.graph.EnclosingMethodAttribute -> com.android.tools.r8.graph.w1:
+com.android.tools.r8.graph.EnclosingMethodAttribute -> com.android.tools.r8.graph.y1:
     int $r8$clinit -> d
     com.android.tools.r8.graph.DexType enclosingClass -> a
     com.android.tools.r8.graph.DexMethod enclosingMethod -> b
@@ -29929,17 +30018,17 @@
     1:1:boolean equals(java.lang.Object):79:79 -> equals
     1:2:int hashCode():73:74 -> hashCode
     1:1:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":195,"2":196,"3":197}}
-    195:195:java.lang.String toString():95:95 -> toString
-    196:196:java.lang.String toString():95:95 -> toString
-    197:197:java.lang.String toString():95:95 -> toString
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":101,"2":102,"3":103}}
+    101:101:java.lang.String toString():95:95 -> toString
+    102:102:java.lang.String toString():95:95 -> toString
+    103:103:java.lang.String toString():95:95 -> toString
     97:99:java.lang.String toString():96:98 -> toString
     100:100:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":200,"2":201,"3":202}}
-    200:200:java.lang.String toString():98:98 -> toString
-    201:201:java.lang.String toString():98:98 -> toString
-    202:202:java.lang.String toString():98:98 -> toString
-com.android.tools.r8.graph.FieldAccessFlags -> com.android.tools.r8.graph.y1:
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":101,"2":102,"3":103}}
+    101:101:java.lang.String toString():98:98 -> toString
+    102:102:java.lang.String toString():98:98 -> toString
+    103:103:java.lang.String toString():98:98 -> toString
+com.android.tools.r8.graph.FieldAccessFlags -> com.android.tools.r8.graph.A1:
     boolean $assertionsDisabled -> f
     int $r8$clinit -> g
     1:1:void <clinit>():11:11 -> <clinit>
@@ -29968,7 +30057,7 @@
     3:3:void <init>(int):40:40 -> k
     3:3:com.android.tools.r8.graph.FieldAccessFlags fromSharedAccessFlags(int):90 -> k
     com.android.tools.r8.graph.AccessFlags self() -> y
-com.android.tools.r8.graph.FieldAccessFlags$Builder -> com.android.tools.r8.graph.x1:
+com.android.tools.r8.graph.FieldAccessFlags$Builder -> com.android.tools.r8.graph.z1:
     1:1:void <init>():138:138 -> <init>
     1:1:com.android.tools.r8.graph.AccessFlags com.android.tools.r8.graph.AccessFlags$BuilderBase.build():365:365 -> a
     1:1:com.android.tools.r8.graph.AccessFlags build():0 -> a
@@ -29983,9 +30072,9 @@
     1:2:com.android.tools.r8.graph.AccessFlags$BuilderBase com.android.tools.r8.graph.AccessFlags$BuilderBase.setSynthetic():360:361 -> e
     1:2:com.android.tools.r8.graph.AccessFlags$BuilderBase setSynthetic():0 -> e
       # {"id":"com.android.tools.r8.synthesized"}
-com.android.tools.r8.graph.FieldAccessInfo -> com.android.tools.r8.internal.uj:
-com.android.tools.r8.graph.FieldAccessInfoCollection -> com.android.tools.r8.internal.vj:
-com.android.tools.r8.graph.FieldAccessInfoCollectionImpl -> com.android.tools.r8.internal.wj:
+com.android.tools.r8.graph.FieldAccessInfo -> com.android.tools.r8.internal.wj:
+com.android.tools.r8.graph.FieldAccessInfoCollection -> com.android.tools.r8.internal.xj:
+com.android.tools.r8.graph.FieldAccessInfoCollectionImpl -> com.android.tools.r8.internal.yj:
     java.util.Map infos -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():15:15 -> <clinit>
@@ -30006,7 +30095,7 @@
     1:1:void flattenAccessContexts():35:35 -> b
     2:2:com.android.tools.r8.graph.FieldAccessInfoImpl get(com.android.tools.r8.graph.DexField):50:50 -> b
     1:1:boolean verifyMappingIsOneToOne():95:95 -> c
-com.android.tools.r8.graph.FieldAccessInfoImpl -> com.android.tools.r8.internal.xj:
+com.android.tools.r8.graph.FieldAccessInfoImpl -> com.android.tools.r8.internal.zj:
     com.android.tools.r8.graph.AbstractAccessContexts readsWithContexts -> c
     com.android.tools.r8.graph.DexField field -> a
     com.android.tools.r8.graph.FieldAccessInfoImpl MISSING_FIELD_ACCESS_INFO -> e
@@ -30080,7 +30169,7 @@
     1:1:void setReadFromMethodHandle():219:219 -> r
     1:1:void setReadFromRecordInvokeDynamic():223:223 -> s
     1:1:void setWrittenFromMethodHandle():242:242 -> t
-com.android.tools.r8.graph.FieldResolutionResult -> com.android.tools.r8.internal.Zj:
+com.android.tools.r8.graph.FieldResolutionResult -> com.android.tools.r8.internal.bk:
     1:1:void <init>():9:9 -> <init>
     com.android.tools.r8.graph.DexClass getInitialResolutionHolder() -> a
     1:1:com.android.tools.r8.graph.DexClassAndMember com.android.tools.r8.graph.FieldResolutionResult$SuccessfulFieldResolutionResult.getResolutionPair():73:73 -> c
@@ -30096,7 +30185,7 @@
     com.android.tools.r8.graph.DexField getResolvedFieldReference() -> p
     boolean isFailedOrUnknownResolution() -> q
     boolean isSuccessfulResolution() -> r
-com.android.tools.r8.graph.FieldResolutionResult$FailedFieldResolutionResult -> com.android.tools.r8.graph.z1:
+com.android.tools.r8.graph.FieldResolutionResult$FailedFieldResolutionResult -> com.android.tools.r8.graph.B1:
     com.android.tools.r8.graph.FieldResolutionResult$FailedFieldResolutionResult INSTANCE -> a
     1:1:void <clinit>():154:154 -> <clinit>
     1:1:void <init>():152:152 -> <init>
@@ -30104,7 +30193,7 @@
     com.android.tools.r8.graph.SuccessfulMemberResolutionResult asSuccessfulMemberResolutionResult() -> g
     boolean isFailedResolution() -> h
     1:1:com.android.tools.r8.graph.FieldResolutionResult$FailedFieldResolutionResult access$000():152:152 -> s
-com.android.tools.r8.graph.FieldResolutionResult$SuccessfulFieldResolutionResult -> com.android.tools.r8.graph.A1:
+com.android.tools.r8.graph.FieldResolutionResult$SuccessfulFieldResolutionResult -> com.android.tools.r8.graph.C1:
     com.android.tools.r8.graph.DexClass initialResolutionHolder -> a
     com.android.tools.r8.graph.DexClass resolvedHolder -> b
     com.android.tools.r8.graph.DexEncodedField resolvedField -> c
@@ -30127,7 +30216,7 @@
     1:1:com.android.tools.r8.graph.DexEncodedField getResolvedField():100:100 -> o
     1:1:com.android.tools.r8.graph.DexField getResolvedFieldReference():105:105 -> p
     boolean isSuccessfulResolution() -> r
-com.android.tools.r8.graph.FieldResolutionResult$UnknownFieldResolutionResult -> com.android.tools.r8.graph.B1:
+com.android.tools.r8.graph.FieldResolutionResult$UnknownFieldResolutionResult -> com.android.tools.r8.graph.D1:
     com.android.tools.r8.graph.FieldResolutionResult$UnknownFieldResolutionResult INSTANCE -> a
     1:1:void <clinit>():179:179 -> <clinit>
     1:1:void <init>():177:177 -> <init>
@@ -30135,7 +30224,7 @@
     com.android.tools.r8.graph.SuccessfulMemberResolutionResult asSuccessfulMemberResolutionResult() -> g
     boolean isFailedOrUnknownResolution() -> q
     1:1:com.android.tools.r8.graph.FieldResolutionResult$UnknownFieldResolutionResult access$100():177:177 -> s
-com.android.tools.r8.graph.FinalInitClassLens -> com.android.tools.r8.internal.rk:
+com.android.tools.r8.graph.FinalInitClassLens -> com.android.tools.r8.internal.tk:
     java.util.Map mapping -> a
     1:2:void <init>(java.util.Map):14:15 -> <init>
     1:1:void lambda$rewrittenWithLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens$Builder,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):0:0 -> a
@@ -30164,7 +30253,7 @@
     51:51:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):24:24 -> a
     52:52:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):24:24 -> a
     45:45:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):24:24 -> a
-com.android.tools.r8.graph.GenericSignature -> com.android.tools.r8.graph.D1:
+com.android.tools.r8.graph.GenericSignature -> com.android.tools.r8.graph.F1:
     java.util.List EMPTY_TYPE_ARGUMENTS -> b
     java.util.List EMPTY_TYPE_PARAMS -> a
     com.android.tools.r8.graph.GenericSignature$ClassTypeSignature NO_FIELD_TYPE_SIGNATURE -> e
@@ -30187,8 +30276,8 @@
     1:1:java.util.List access$600():100:100 -> e
     1:1:java.util.List getEmptySuperInterfaces():116:116 -> f
     1:1:java.util.List getEmptyTypeArguments():112:112 -> g
-com.android.tools.r8.graph.GenericSignature$1 -> com.android.tools.r8.graph.C1:
-com.android.tools.r8.graph.GenericSignature$ArrayTypeSignature -> com.android.tools.r8.graph.D1$a:
+com.android.tools.r8.graph.GenericSignature$1 -> com.android.tools.r8.graph.E1:
+com.android.tools.r8.graph.GenericSignature$ArrayTypeSignature -> com.android.tools.r8.graph.F1$a:
     com.android.tools.r8.graph.GenericSignature$TypeSignature elementSignature -> b
     boolean $assertionsDisabled -> c
     1:1:void <clinit>():660:660 -> <clinit>
@@ -30201,14 +30290,14 @@
     2:2:com.android.tools.r8.graph.GenericSignature$ArrayTypeSignature toArrayTypeSignature():696 -> g
     com.android.tools.r8.graph.GenericSignature$ArrayTypeSignature asArrayTypeSignature() -> h
     boolean isArrayTypeSignature() -> m
-com.android.tools.r8.graph.GenericSignature$BaseTypeSignature -> com.android.tools.r8.graph.E1:
+com.android.tools.r8.graph.GenericSignature$BaseTypeSignature -> com.android.tools.r8.graph.G1:
     com.android.tools.r8.graph.DexType type -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():752:752 -> <clinit>
     1:4:void <init>(com.android.tools.r8.graph.DexType):755:758 -> <init>
     com.android.tools.r8.graph.GenericSignature$BaseTypeSignature asBaseTypeSignature() -> d
     1:2:com.android.tools.r8.graph.GenericSignature$ArrayTypeSignature toArrayTypeSignature():773:774 -> g
-com.android.tools.r8.graph.GenericSignature$ClassSignature -> com.android.tools.r8.graph.D1$b:
+com.android.tools.r8.graph.GenericSignature$ClassSignature -> com.android.tools.r8.graph.F1$b:
     java.util.List formalTypeParameters -> a
     com.android.tools.r8.graph.GenericSignature$ClassTypeSignature superClassSignature -> b
     java.util.List superInterfaceSignatures -> c
@@ -30231,7 +30320,7 @@
     1:1:java.lang.String toString():287:287 -> toString
     2:8:java.lang.String toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):276:282 -> toString
     2:8:java.lang.String toString():287 -> toString
-com.android.tools.r8.graph.GenericSignature$ClassSignature$ClassSignatureBuilder -> com.android.tools.r8.graph.F1:
+com.android.tools.r8.graph.GenericSignature$ClassSignature$ClassSignatureBuilder -> com.android.tools.r8.graph.H1:
     java.util.List formalTypeParameters -> a
     com.android.tools.r8.graph.GenericSignature$ClassTypeSignature superClassSignature -> b
     java.util.List superInterfaceSignatures -> c
@@ -30242,7 +30331,7 @@
     2:2:com.android.tools.r8.graph.GenericSignature$ClassSignature$ClassSignatureBuilder addInterface(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):334:334 -> a
     3:3:com.android.tools.r8.graph.GenericSignature$ClassSignature build():339:339 -> a
     1:1:com.android.tools.r8.graph.GenericSignature$ClassSignature$ClassSignatureBuilder setSuperClassSignature(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):329:329 -> b
-com.android.tools.r8.graph.GenericSignature$ClassTypeSignature -> com.android.tools.r8.graph.D1$c:
+com.android.tools.r8.graph.GenericSignature$ClassTypeSignature -> com.android.tools.r8.graph.F1$c:
     com.android.tools.r8.graph.GenericSignature$ClassTypeSignature enclosingTypeSignature -> d
     java.util.List typeArguments -> c
     boolean $assertionsDisabled -> e
@@ -30260,11 +30349,11 @@
     boolean isClassTypeSignature() -> n
     1:1:com.android.tools.r8.graph.DexType type():601:601 -> r
     1:1:java.util.List typeArguments():605:605 -> s
-com.android.tools.r8.graph.GenericSignature$DexDefinitionSignature -> com.android.tools.r8.graph.D1$d:
+com.android.tools.r8.graph.GenericSignature$DexDefinitionSignature -> com.android.tools.r8.graph.F1$d:
     1:1:boolean hasNoSignature():152:152 -> a
     boolean isInvalid() -> b
     boolean hasSignature() -> c
-com.android.tools.r8.graph.GenericSignature$FieldTypeSignature -> com.android.tools.r8.graph.D1$e:
+com.android.tools.r8.graph.GenericSignature$FieldTypeSignature -> com.android.tools.r8.graph.F1$e:
     com.android.tools.r8.graph.GenericSignature$WildcardIndicator wildcardIndicator -> a
     1:1:void <init>(com.android.tools.r8.graph.GenericSignature$WildcardIndicator,com.android.tools.r8.graph.GenericSignature$1):413:413 -> <init>
     2:3:void <init>(com.android.tools.r8.graph.GenericSignature$WildcardIndicator):418:419 -> <init>
@@ -30285,7 +30374,7 @@
     1:1:java.lang.String toString():487:487 -> toString
     2:8:java.lang.String toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):476:482 -> toString
     2:8:java.lang.String toString():487 -> toString
-com.android.tools.r8.graph.GenericSignature$FormalTypeParameter -> com.android.tools.r8.graph.D1$f:
+com.android.tools.r8.graph.GenericSignature$FormalTypeParameter -> com.android.tools.r8.graph.F1$f:
     java.util.List interfaceBounds -> c
     java.lang.String name -> a
     com.android.tools.r8.graph.GenericSignature$FieldTypeSignature classBound -> b
@@ -30294,7 +30383,7 @@
     1:6:void <init>(java.lang.String,com.android.tools.r8.graph.GenericSignature$FieldTypeSignature,java.util.List):173:178 -> <init>
     1:1:java.lang.String getName():182:182 -> a
     2:10:com.android.tools.r8.graph.GenericSignature$FormalTypeParameter visit(com.android.tools.r8.graph.GenericSignatureVisitor):194:202 -> a
-com.android.tools.r8.graph.GenericSignature$MethodTypeSignature -> com.android.tools.r8.graph.D1$g:
+com.android.tools.r8.graph.GenericSignature$MethodTypeSignature -> com.android.tools.r8.graph.F1$g:
     java.util.List typeSignatures -> b
     com.android.tools.r8.graph.GenericSignature$MethodTypeSignature NO_METHOD_TYPE_SIGNATURE -> e
     java.util.List formalTypeParameters -> a
@@ -30313,7 +30402,7 @@
     1:1:java.lang.String toString():889:889 -> toString
     2:8:java.lang.String toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):878:884 -> toString
     2:8:java.lang.String toString():889 -> toString
-com.android.tools.r8.graph.GenericSignature$Parser -> com.android.tools.r8.graph.G1:
+com.android.tools.r8.graph.GenericSignature$Parser -> com.android.tools.r8.graph.I1:
     char[] buffer -> d
     com.android.tools.r8.graph.DexItemFactory factory -> f
     boolean $assertionsDisabled -> g
@@ -30432,27 +30521,27 @@
     35:35:void scanIdentifier():1402 -> f
     36:36:void scanIdentifier():1405:1405 -> f
     1:11:void scanSymbol():1335:1345 -> g
-com.android.tools.r8.graph.GenericSignature$ReturnType -> com.android.tools.r8.graph.D1$h:
+com.android.tools.r8.graph.GenericSignature$ReturnType -> com.android.tools.r8.graph.F1$h:
     com.android.tools.r8.graph.GenericSignature$ReturnType VOID -> b
     com.android.tools.r8.graph.GenericSignature$TypeSignature typeSignature -> a
     1:1:void <clinit>():779:779 -> <clinit>
     1:2:void <init>(com.android.tools.r8.graph.GenericSignature$TypeSignature):784:785 -> <init>
     1:1:boolean isVoidDescriptor():789:789 -> a
     1:1:com.android.tools.r8.graph.GenericSignature$TypeSignature typeSignature():793:793 -> b
-com.android.tools.r8.graph.GenericSignature$StarFieldTypeSignature -> com.android.tools.r8.graph.H1:
+com.android.tools.r8.graph.GenericSignature$StarFieldTypeSignature -> com.android.tools.r8.graph.J1:
     com.android.tools.r8.graph.GenericSignature$StarFieldTypeSignature STAR_FIELD_TYPE_SIGNATURE -> b
     1:1:void <clinit>():534:534 -> <clinit>
     1:1:void <init>():538:538 -> <init>
     1:1:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature asArgument(com.android.tools.r8.graph.GenericSignature$WildcardIndicator):543:543 -> a
     boolean isStar() -> o
     1:1:com.android.tools.r8.graph.GenericSignature$StarFieldTypeSignature access$1000():532:532 -> r
-com.android.tools.r8.graph.GenericSignature$TypeSignature -> com.android.tools.r8.graph.D1$i:
+com.android.tools.r8.graph.GenericSignature$TypeSignature -> com.android.tools.r8.graph.F1$i:
     1:1:void <init>():383:383 -> <init>
     com.android.tools.r8.graph.GenericSignature$BaseTypeSignature asBaseTypeSignature() -> d
     com.android.tools.r8.graph.GenericSignature$FieldTypeSignature asFieldTypeSignature() -> e
     boolean isFieldTypeSignature() -> f
     com.android.tools.r8.graph.GenericSignature$ArrayTypeSignature toArrayTypeSignature() -> g
-com.android.tools.r8.graph.GenericSignature$TypeVariableSignature -> com.android.tools.r8.graph.D1$j:
+com.android.tools.r8.graph.GenericSignature$TypeVariableSignature -> com.android.tools.r8.graph.F1$j:
     java.lang.String typeVariable -> b
     boolean $assertionsDisabled -> c
     1:1:void <clinit>():711:711 -> <clinit>
@@ -30463,14 +30552,14 @@
     1:1:com.android.tools.r8.graph.GenericSignature$ArrayTypeSignature toArrayTypeSignature():743:743 -> g
     com.android.tools.r8.graph.GenericSignature$TypeVariableSignature asTypeVariableSignature() -> j
     boolean isTypeVariableSignature() -> p
-com.android.tools.r8.graph.GenericSignature$WildcardIndicator -> com.android.tools.r8.graph.D1$k:
+com.android.tools.r8.graph.GenericSignature$WildcardIndicator -> com.android.tools.r8.graph.F1$k:
     com.android.tools.r8.graph.GenericSignature$WildcardIndicator NONE -> c
     com.android.tools.r8.graph.GenericSignature$WildcardIndicator NOT_AN_ARGUMENT -> b
     com.android.tools.r8.graph.GenericSignature$WildcardIndicator POSITIVE -> e
     com.android.tools.r8.graph.GenericSignature$WildcardIndicator NEGATIVE -> d
     1:4:void <clinit>():407:410 -> <clinit>
     1:1:void <init>(java.lang.String,int):406:406 -> <init>
-com.android.tools.r8.graph.GenericSignatureContextBuilder -> com.android.tools.r8.graph.I1:
+com.android.tools.r8.graph.GenericSignatureContextBuilder -> com.android.tools.r8.graph.K1:
     java.util.Map formalsInfo -> a
     java.util.Map enclosingInfo -> b
     int $r8$clinit -> d
@@ -30532,7 +30621,7 @@
     167:167:boolean hasGenericTypeVariables(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,java.util.function.Predicate):297 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     168:168:boolean hasGenericTypeVariables(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,java.util.function.Predicate):297:297 -> a
-com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext -> com.android.tools.r8.graph.I1$a:
+com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext -> com.android.tools.r8.graph.K1$a:
     java.util.Map prunedParametersWithBounds -> a
     com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext EMPTY -> c
     java.util.Set liveParameters -> b
@@ -30549,7 +30638,7 @@
     22:35:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext addPrunedSubstitutions(java.util.Map):110:123 -> a
     36:37:void lambda$addPrunedSubstitutions$1(java.util.Map,java.util.HashSet,java.lang.String):119:120 -> a
     1:1:boolean isLiveParameter(java.lang.String):83:83 -> b
-com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterSubstitutions -> com.android.tools.r8.graph.J1:
+com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterSubstitutions -> com.android.tools.r8.graph.L1:
     java.util.Map parametersWithBounds -> a
     1:2:void <init>(java.util.Map):32:33 -> <init>
     1:1:java.util.Map access$000(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterSubstitutions):28:28 -> a
@@ -30581,7 +30670,7 @@
     17:17:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):48 -> a
     18:18:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):48:48 -> a
     1:15:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterSubstitutions create(java.util.List):37:51 -> b
-com.android.tools.r8.graph.GenericSignatureCorrectnessHelper -> com.android.tools.r8.graph.M1:
+com.android.tools.r8.graph.GenericSignatureCorrectnessHelper -> com.android.tools.r8.graph.O1:
     com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$Mode mode -> b
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.graph.GenericSignatureContextBuilder contextBuilder -> c
@@ -30644,10 +30733,10 @@
     114:116:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluate(java.util.function.Supplier,java.util.function.Function,java.util.function.Consumer):225:227 -> a
     117:117:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluate(java.util.function.Supplier,java.util.function.Function,java.util.function.Consumer):222:222 -> a
     1:1:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper createForVerification(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GenericSignatureContextBuilder):106:106 -> b
-com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$1 -> com.android.tools.r8.graph.K1:
+com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$1 -> com.android.tools.r8.graph.M1:
     int[] $SwitchMap$com$android$tools$r8$graph$GenericSignatureCorrectnessHelper$SignatureEvaluationResult -> a
     1:1:void <clinit>():70:70 -> <clinit>
-com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator -> com.android.tools.r8.graph.L1:
+com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator -> com.android.tools.r8.graph.N1:
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.graph.DexProgramClass context -> b
     com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$Mode mode -> c
@@ -30803,11 +30892,11 @@
     189:189:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgumentsAppliedToType(java.util.List,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):427 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     190:193:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgumentsAppliedToType(java.util.List,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):427:430 -> a
-com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$Mode$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.Ul:
+com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$Mode$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.Wl:
 # {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
 # {"id":"com.android.tools.r8.synthesized"}
     boolean com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$Mode.clearIfInvalid() -> a
-com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult -> com.android.tools.r8.graph.M1$a:
+com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult -> com.android.tools.r8.graph.O1$a:
     com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult[] $VALUES -> g
     com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult INVALID_SUPER_TYPE -> b
     boolean $assertionsDisabled -> h
@@ -30819,7 +30908,7 @@
     1:1:void <init>(java.lang.String,int):49:49 -> <init>
     1:1:boolean isInvalid():62:62 -> a
     1:1:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult[] values():49:49 -> b
-com.android.tools.r8.graph.GenericSignatureEnqueuerAnalysis -> com.android.tools.r8.graph.N1:
+com.android.tools.r8.graph.GenericSignatureEnqueuerAnalysis -> com.android.tools.r8.graph.P1:
     com.android.tools.r8.shaking.Enqueuer$EnqueuerDefinitionSupplier enqueuerDefinitionSupplier -> a
     java.util.Set processedSignatures -> b
     boolean $assertionsDisabled -> c
@@ -30839,7 +30928,7 @@
     21:24:void processSignature(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.ProgramDefinition):57 -> a
     25:27:void processSignature(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.ProgramDefinition):60:62 -> a
     28:28:void processSignature(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.ProgramDefinition):61:61 -> a
-com.android.tools.r8.graph.GenericSignatureFormatDiagnostic -> com.android.tools.r8.graph.O1:
+com.android.tools.r8.graph.GenericSignatureFormatDiagnostic -> com.android.tools.r8.graph.Q1:
     com.android.tools.r8.origin.Origin origin -> b
     com.android.tools.r8.position.Position position -> c
     java.lang.String message -> d
@@ -30851,7 +30940,7 @@
     1:1:java.lang.String getDiagnosticMessage():36:36 -> getDiagnosticMessage
     1:1:com.android.tools.r8.origin.Origin getOrigin():26:26 -> getOrigin
     1:1:com.android.tools.r8.position.Position getPosition():31:31 -> getPosition
-com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier -> com.android.tools.r8.graph.P1:
+com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier -> com.android.tools.r8.graph.R1:
     java.util.function.BiPredicate enclosingPruned -> b
     com.android.tools.r8.graph.GenericSignature$ClassTypeSignature objectArgument -> e
     com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext typeParameterContext -> a
@@ -30932,7 +31021,7 @@
     5:5:java.util.List visitSuperInterfaces(java.util.List):124 -> e
     1:7:com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier buildForMethod(java.util.List):57:63 -> f
     8:8:com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier buildForMethod(java.util.List):62:62 -> f
-com.android.tools.r8.graph.GenericSignaturePrinter -> com.android.tools.r8.graph.Q1:
+com.android.tools.r8.graph.GenericSignaturePrinter -> com.android.tools.r8.graph.S1:
     com.android.tools.r8.naming.NamingLens namingLens -> a
     java.util.function.Predicate isTypeMissing -> b
     java.lang.StringBuilder sb -> c
@@ -30966,7 +31055,7 @@
     1:3:java.util.List visitMethodTypeSignatures(java.util.List):50:52 -> d
     1:1:java.util.List visitSuperInterfaces(java.util.List):119:119 -> e
     1:1:java.lang.String toString():226:226 -> toString
-com.android.tools.r8.graph.GenericSignatureTypeRewriter -> com.android.tools.r8.graph.T1:
+com.android.tools.r8.graph.GenericSignatureTypeRewriter -> com.android.tools.r8.graph.V1:
     com.android.tools.r8.graph.GenericSignature$ClassTypeSignature objectTypeSignature -> e
     java.util.function.Predicate wasPruned -> b
     java.util.function.Function lookupType -> c
@@ -30994,8 +31083,8 @@
     1:1:java.util.function.Predicate access$400(com.android.tools.r8.graph.GenericSignatureTypeRewriter):24:24 -> d
     1:1:java.util.function.Predicate access$500(com.android.tools.r8.graph.GenericSignatureTypeRewriter):24:24 -> e
     1:1:java.util.function.Function access$600(com.android.tools.r8.graph.GenericSignatureTypeRewriter):24:24 -> f
-com.android.tools.r8.graph.GenericSignatureTypeRewriter$1 -> com.android.tools.r8.graph.R1:
-com.android.tools.r8.graph.GenericSignatureTypeRewriter$GenericSignatureRewriter -> com.android.tools.r8.graph.S1:
+com.android.tools.r8.graph.GenericSignatureTypeRewriter$1 -> com.android.tools.r8.graph.T1:
+com.android.tools.r8.graph.GenericSignatureTypeRewriter$GenericSignatureRewriter -> com.android.tools.r8.graph.U1:
     com.android.tools.r8.graph.GenericSignatureTypeRewriter this$0 -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():83:83 -> <clinit>
@@ -31063,7 +31152,7 @@
     5:5:java.util.List com.android.tools.r8.utils.ListUtils.mapOrElse(java.util.List,java.util.function.Function):176:176 -> e
     5:5:java.util.List visitSuperInterfaces(java.util.List):162 -> e
     6:7:java.util.List visitSuperInterfaces(java.util.List):165:166 -> e
-com.android.tools.r8.graph.GenericSignatureTypeVisitor -> com.android.tools.r8.graph.U1:
+com.android.tools.r8.graph.GenericSignatureTypeVisitor -> com.android.tools.r8.graph.W1:
     java.util.function.BiConsumer visitedTypeConsumer -> b
     com.android.tools.r8.graph.ProgramDefinition context -> a
     boolean $assertionsDisabled -> c
@@ -31088,12 +31177,12 @@
     2:2:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature visitInterfaceBound(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):86:86 -> c
     1:1:java.util.List visitMethodTypeSignatures(java.util.List):135:135 -> d
     1:1:java.util.List visitSuperInterfaces(java.util.List):100:100 -> e
-com.android.tools.r8.graph.GenericSignatureUtils -> com.android.tools.r8.graph.V1:
+com.android.tools.r8.graph.GenericSignatureUtils -> com.android.tools.r8.graph.X1:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():9:9 -> <clinit>
     1:11:boolean verifyNoDuplicateGenericDefinitions(com.android.tools.r8.graph.GenericSignature$DexDefinitionSignature,com.android.tools.r8.graph.DexAnnotationSet):13:23 -> a
     12:12:boolean verifyNoDuplicateGenericDefinitions(com.android.tools.r8.graph.GenericSignature$DexDefinitionSignature,com.android.tools.r8.graph.DexAnnotationSet):19:19 -> a
-com.android.tools.r8.graph.GenericSignatureValidationDiagnostic -> com.android.tools.r8.graph.W1:
+com.android.tools.r8.graph.GenericSignatureValidationDiagnostic -> com.android.tools.r8.graph.Y1:
     com.android.tools.r8.origin.Origin origin -> b
     com.android.tools.r8.position.Position position -> c
     java.lang.String message -> d
@@ -31121,7 +31210,7 @@
     1:1:java.lang.String getDiagnosticMessage():36:36 -> getDiagnosticMessage
     1:1:com.android.tools.r8.origin.Origin getOrigin():26:26 -> getOrigin
     1:1:com.android.tools.r8.position.Position getPosition():31:31 -> getPosition
-com.android.tools.r8.graph.GenericSignatureVisitor -> com.android.tools.r8.graph.X1:
+com.android.tools.r8.graph.GenericSignatureVisitor -> com.android.tools.r8.graph.Z1:
     com.android.tools.r8.graph.GenericSignature$FieldTypeSignature visitClassBound(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature) -> a
     com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitEnclosing(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature) -> a
     java.util.List visitInterfaceBounds(java.util.List) -> a
@@ -31134,7 +31223,7 @@
     java.util.List visitFormalTypeParameters(java.util.List) -> c
     java.util.List visitMethodTypeSignatures(java.util.List) -> d
     java.util.List visitSuperInterfaces(java.util.List) -> e
-com.android.tools.r8.graph.GraphLens -> com.android.tools.r8.graph.k2:
+com.android.tools.r8.graph.GraphLens -> com.android.tools.r8.graph.m2:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():54:54 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.GraphLens$1):54:54 -> <init>
@@ -31244,15 +31333,15 @@
     boolean isContextFreeForMethods() -> f
     boolean isIdentityLens() -> g
     boolean isNonIdentityLens() -> h
-com.android.tools.r8.graph.GraphLens$1 -> com.android.tools.r8.graph.Y1:
-com.android.tools.r8.graph.GraphLens$Builder -> com.android.tools.r8.internal.cm:
+com.android.tools.r8.graph.GraphLens$1 -> com.android.tools.r8.graph.a2:
+com.android.tools.r8.graph.GraphLens$Builder -> com.android.tools.r8.internal.em:
     com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap methodMap -> b
     java.util.Map typeMap -> c
     com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap fieldMap -> a
     1:1:void <init>():269:269 -> <init>
     2:5:void <init>():264:267 -> <init>
     1:1:void move(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):282:282 -> a
-com.android.tools.r8.graph.GraphLens$ClearCodeRewritingGraphLens -> com.android.tools.r8.graph.Z1:
+com.android.tools.r8.graph.GraphLens$ClearCodeRewritingGraphLens -> com.android.tools.r8.graph.b2:
     boolean $assertionsDisabled -> f
     1:1:void <clinit>():1006:1006 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens):1009:1009 -> <init>
@@ -31269,7 +31358,7 @@
     1:1:com.android.tools.r8.graph.RewrittenPrototypeDescription lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod):1047:1047 -> d
     com.android.tools.r8.graph.DexMethod internalGetPreviousMethodSignature(com.android.tools.r8.graph.DexMethod) -> f
     1:1:boolean isContextFreeForMethods():1092:1092 -> f
-com.android.tools.r8.graph.GraphLens$FieldLookupResult -> com.android.tools.r8.graph.b2:
+com.android.tools.r8.graph.GraphLens$FieldLookupResult -> com.android.tools.r8.graph.d2:
     com.android.tools.r8.graph.DexType writeCastType -> d
     com.android.tools.r8.graph.DexType readCastType -> c
     1:1:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens$1):119:119 -> <init>
@@ -31281,7 +31370,7 @@
     1:1:com.android.tools.r8.graph.DexType getWriteCastType():155:155 -> e
     1:1:boolean hasReadCastType():139:139 -> f
     1:1:boolean hasWriteCastType():151:151 -> g
-com.android.tools.r8.graph.GraphLens$FieldLookupResult$Builder -> com.android.tools.r8.graph.a2:
+com.android.tools.r8.graph.GraphLens$FieldLookupResult$Builder -> com.android.tools.r8.graph.c2:
     com.android.tools.r8.graph.DexType writeCastType -> d
     com.android.tools.r8.graph.DexType readCastType -> c
     1:1:void <init>(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens$1):162:162 -> <init>
@@ -31296,7 +31385,7 @@
     1:2:com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder setReference(com.android.tools.r8.graph.DexMember):0 -> b
       # {"id":"com.android.tools.r8.synthesized"}
     3:3:com.android.tools.r8.graph.GraphLens$FieldLookupResult$Builder setWriteCastType(com.android.tools.r8.graph.DexType):178:178 -> b
-com.android.tools.r8.graph.GraphLens$IdentityGraphLens -> com.android.tools.r8.graph.c2:
+com.android.tools.r8.graph.GraphLens$IdentityGraphLens -> com.android.tools.r8.graph.e2:
     com.android.tools.r8.graph.GraphLens$IdentityGraphLens INSTANCE -> b
     boolean $assertionsDisabled -> c
     1:3:void <clinit>():898:900 -> <clinit>
@@ -31325,11 +31414,11 @@
     boolean isIdentityLens() -> g
     boolean isNonIdentityLens() -> h
     1:1:com.android.tools.r8.graph.GraphLens$IdentityGraphLens access$400():898:898 -> i
-com.android.tools.r8.graph.GraphLens$LookupFieldContinuation -> com.android.tools.r8.graph.d2:
+com.android.tools.r8.graph.GraphLens$LookupFieldContinuation -> com.android.tools.r8.graph.f2:
     com.android.tools.r8.graph.GraphLens$FieldLookupResult lookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult) -> a
-com.android.tools.r8.graph.GraphLens$LookupMethodContinuation -> com.android.tools.r8.graph.e2:
+com.android.tools.r8.graph.GraphLens$LookupMethodContinuation -> com.android.tools.r8.graph.g2:
     com.android.tools.r8.graph.GraphLens$MethodLookupResult lookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult) -> a
-com.android.tools.r8.graph.GraphLens$MemberLookupResult -> com.android.tools.r8.graph.g2:
+com.android.tools.r8.graph.GraphLens$MemberLookupResult -> com.android.tools.r8.graph.i2:
     com.android.tools.r8.graph.DexMember reference -> a
     com.android.tools.r8.graph.DexMember reboundReference -> b
     1:1:void <init>(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.GraphLens$1):56:56 -> <init>
@@ -31340,18 +31429,18 @@
     1:1:com.android.tools.r8.graph.DexMember getReference():67:67 -> b
     2:2:com.android.tools.r8.graph.DexMember getRewrittenReference(com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap):71:71 -> b
     1:1:boolean hasReboundReference():79:79 -> c
-com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder -> com.android.tools.r8.graph.f2:
+com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder -> com.android.tools.r8.graph.h2:
     com.android.tools.r8.graph.DexMember reference -> a
     com.android.tools.r8.graph.DexMember reboundReference -> b
     1:1:void <init>():96:96 -> <init>
-com.android.tools.r8.graph.GraphLens$MethodLookupResult -> com.android.tools.r8.graph.i2:
+com.android.tools.r8.graph.GraphLens$MethodLookupResult -> com.android.tools.r8.graph.k2:
     com.android.tools.r8.graph.RewrittenPrototypeDescription prototypeChanges -> d
     com.android.tools.r8.ir.code.Invoke$Type type -> c
     1:3:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.RewrittenPrototypeDescription):211:213 -> <init>
     1:1:com.android.tools.r8.graph.GraphLens$MethodLookupResult$Builder builder(com.android.tools.r8.graph.GraphLens):217:217 -> a
     1:1:com.android.tools.r8.graph.RewrittenPrototypeDescription getPrototypeChanges():225:225 -> d
     1:1:com.android.tools.r8.ir.code.Invoke$Type getType():221:221 -> e
-com.android.tools.r8.graph.GraphLens$MethodLookupResult$Builder -> com.android.tools.r8.graph.h2:
+com.android.tools.r8.graph.GraphLens$MethodLookupResult$Builder -> com.android.tools.r8.graph.j2:
     com.android.tools.r8.graph.RewrittenPrototypeDescription prototypeChanges -> c
     com.android.tools.r8.ir.code.Invoke$Type type -> d
     boolean $assertionsDisabled -> e
@@ -31369,7 +31458,7 @@
     1:2:com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder.setReference(com.android.tools.r8.graph.DexMember):102:103 -> b
     1:2:com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder setReference(com.android.tools.r8.graph.DexMember):0 -> b
       # {"id":"com.android.tools.r8.synthesized"}
-com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens -> com.android.tools.r8.graph.j2:
+com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens -> com.android.tools.r8.graph.l2:
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
     java.util.Map arrayTypeCache -> d
     boolean $assertionsDisabled -> e
@@ -31447,7 +31536,7 @@
     boolean isNonIdentityLens() -> h
     1:1:com.android.tools.r8.graph.DexItemFactory dexItemFactory():762:762 -> i
     1:1:com.android.tools.r8.graph.GraphLens getPrevious():766:766 -> j
-com.android.tools.r8.graph.ImmediateProgramSubtypingInfo -> com.android.tools.r8.internal.Mn:
+com.android.tools.r8.graph.ImmediateProgramSubtypingInfo -> com.android.tools.r8.internal.On:
     java.util.Map immediateSubtypes -> b
     com.android.tools.r8.graph.AppView appView -> a
     1:3:void <init>(com.android.tools.r8.graph.AppView,java.util.Map):28:30 -> <init>
@@ -31466,26 +31555,26 @@
     29:29:java.util.List getSubclasses(com.android.tools.r8.graph.DexProgramClass):121:121 -> a
     1:3:void lambda$forEachImmediateSuperClassMatching$5(java.util.function.Predicate,java.util.function.Consumer,com.android.tools.r8.graph.DexType):77:79 -> b
     4:5:void forEachImmediateSubClassMatching(com.android.tools.r8.graph.DexProgramClass,java.util.function.Predicate,java.util.function.Consumer):111:112 -> b
-com.android.tools.r8.graph.IndexedDexItem -> com.android.tools.r8.graph.l2:
+com.android.tools.r8.graph.IndexedDexItem -> com.android.tools.r8.graph.n2:
     boolean $assertionsDisabled -> d
     1:1:void <clinit>():9:9 -> <clinit>
     1:1:void <init>():9:9 -> <init>
     int getOffset(com.android.tools.r8.graph.ObjectToOffsetMapping) -> a
     1:1:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):14:14 -> a
-com.android.tools.r8.graph.InitClassLens -> com.android.tools.r8.internal.fp:
+com.android.tools.r8.graph.InitClassLens -> com.android.tools.r8.internal.hp:
     1:1:void <init>():10:10 -> <init>
     com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType) -> a
     com.android.tools.r8.graph.InitClassLens rewrittenWithLens(com.android.tools.r8.graph.GraphLens) -> a
     1:1:com.android.tools.r8.graph.InitClassLens$Builder builder():13:13 -> a
     1:1:com.android.tools.r8.graph.ThrowingInitClassLens getThrowingInstance():17:17 -> b
-com.android.tools.r8.graph.InitClassLens$Builder -> com.android.tools.r8.internal.ep:
+com.android.tools.r8.graph.InitClassLens$Builder -> com.android.tools.r8.internal.gp:
     java.util.Map mapping -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():28:28 -> <clinit>
     1:3:void <init>():28:30 -> <init>
     1:2:void map(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):33:34 -> a
     3:3:com.android.tools.r8.graph.FinalInitClassLens build():38:38 -> a
-com.android.tools.r8.graph.InnerClassAttribute -> com.android.tools.r8.internal.Bp:
+com.android.tools.r8.graph.InnerClassAttribute -> com.android.tools.r8.internal.Dp:
     com.android.tools.r8.graph.DexString innerName -> d
     boolean $assertionsDisabled -> e
     int $r8$clinit -> f
@@ -31532,19 +31621,19 @@
     1:1:boolean isAnonymous():62:62 -> e
     1:1:boolean isNamed():58:58 -> f
     1:1:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":253,"2":254,"3":255}}
-    253:253:java.lang.String toString():124:124 -> toString
-    254:254:java.lang.String toString():124:124 -> toString
-    255:255:java.lang.String toString():124:124 -> toString
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":130,"2":131,"3":132}}
+    130:130:java.lang.String toString():124:124 -> toString
+    131:131:java.lang.String toString():124:124 -> toString
+    132:132:java.lang.String toString():124:124 -> toString
     125:128:java.lang.String toString():124:127 -> toString
     129:129:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":258,"2":259,"3":260}}
-    258:258:java.lang.String toString():127:127 -> toString
-    259:259:java.lang.String toString():127:127 -> toString
-    260:260:java.lang.String toString():127:127 -> toString
-com.android.tools.r8.graph.InstantiatedSubTypeInfo -> com.android.tools.r8.internal.bq:
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":130,"2":131,"3":132}}
+    130:130:java.lang.String toString():127:127 -> toString
+    131:131:java.lang.String toString():127:127 -> toString
+    132:132:java.lang.String toString():127:127 -> toString
+com.android.tools.r8.graph.InstantiatedSubTypeInfo -> com.android.tools.r8.internal.dq:
     void forEachInstantiatedSubType(com.android.tools.r8.graph.DexType,java.util.function.Consumer,java.util.function.Consumer) -> a
-com.android.tools.r8.graph.InvalidCode -> com.android.tools.r8.graph.m2:
+com.android.tools.r8.graph.InvalidCode -> com.android.tools.r8.graph.o2:
     com.android.tools.r8.graph.InvalidCode INSTANCE -> d
     1:1:void <clinit>():13:13 -> <clinit>
     1:1:void <init>():23:23 -> <init>
@@ -31553,12 +31642,12 @@
     3:3:void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry):32:32 -> a
     4:4:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):37:37 -> a
     5:9:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):47:51 -> a
-    1:1:int computeHashCode():66:66 -> f0
     boolean computeEquals(java.lang.Object) -> g
-    1:1:int estimatedDexCodeSizeUpperBoundInBytes():56:56 -> j0
-    1:1:com.android.tools.r8.graph.Code getInstance():16:16 -> s0
+    1:1:int computeHashCode():66:66 -> g0
+    1:1:int estimatedDexCodeSizeUpperBoundInBytes():56:56 -> k0
+    1:1:com.android.tools.r8.graph.Code getInstance():16:16 -> t0
     1:1:java.lang.String toString():42:42 -> toString
-com.android.tools.r8.graph.JarApplicationReader -> com.android.tools.r8.internal.rv:
+com.android.tools.r8.graph.JarApplicationReader -> com.android.tools.r8.internal.tv:
     com.android.tools.r8.graph.ApplicationReaderMap applicationReaderMap -> e
     java.util.concurrent.ConcurrentHashMap stringCache -> d
     com.android.tools.r8.utils.InternalOptions options -> a
@@ -31612,7 +31701,7 @@
     3:4:com.android.tools.r8.graph.DexType getTypeFromName(java.lang.String):57:58 -> f
     5:5:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.JarApplicationReader.getType(com.android.tools.r8.org.objectweb.asm.Type):53:53 -> f
     5:5:com.android.tools.r8.graph.DexType getTypeFromName(java.lang.String):58 -> f
-com.android.tools.r8.graph.JarClassFileReader -> com.android.tools.r8.graph.r2:
+com.android.tools.r8.graph.JarClassFileReader -> com.android.tools.r8.graph.t2:
     java.util.function.Consumer classConsumer -> b
     com.android.tools.r8.graph.JarApplicationReader application -> a
     boolean $assertionsDisabled -> e
@@ -31701,7 +31790,7 @@
     7:7:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor createAnnotationVisitor(java.lang.String,boolean,java.util.List,com.android.tools.r8.graph.JarApplicationReader):166:166 -> b
     8:10:com.android.tools.r8.graph.DexEncodedAnnotation createEncodedAnnotation(java.lang.String,java.util.List,java.util.List,com.android.tools.r8.graph.JarApplicationReader):184:184 -> b
     12:16:com.android.tools.r8.graph.DexEncodedAnnotation createEncodedAnnotation(java.lang.String,java.util.List,java.util.List,com.android.tools.r8.graph.JarApplicationReader):186:190 -> b
-com.android.tools.r8.graph.JarClassFileReader$CreateAnnotationVisitor -> com.android.tools.r8.graph.n2:
+com.android.tools.r8.graph.JarClassFileReader$CreateAnnotationVisitor -> com.android.tools.r8.graph.p2:
     java.util.List values -> e
     java.util.List names -> d
     com.android.tools.r8.graph.JarApplicationReader application -> b
@@ -31730,7 +31819,7 @@
     98:98:com.android.tools.r8.graph.DexValue$DexValueArray getDexValueArray(java.lang.Object):1080:1080 -> a
     98:98:com.android.tools.r8.graph.DexValue getDexValue(java.lang.Object):1108 -> a
     98:98:void visit(java.lang.String,java.lang.Object):983 -> a
-com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor -> com.android.tools.r8.graph.o2:
+com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor -> com.android.tools.r8.graph.q2:
     com.android.tools.r8.graph.ClassKind classKind -> d
     com.android.tools.r8.graph.DexType superType -> l
     com.android.tools.r8.graph.DexType type -> j
@@ -31994,7 +32083,7 @@
     1:1:java.util.List access$700(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):193:193 -> j
     1:1:java.util.List access$800(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):193:193 -> k
     1:1:com.android.tools.r8.graph.ClassKind access$900(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):193:193 -> l
-com.android.tools.r8.graph.JarClassFileReader$CreateFieldVisitor -> com.android.tools.r8.graph.p2:
+com.android.tools.r8.graph.JarClassFileReader$CreateFieldVisitor -> com.android.tools.r8.graph.r2:
     java.lang.String desc -> f
     java.lang.Object value -> g
     boolean $assertionsDisabled -> j
@@ -32042,7 +32131,7 @@
     68:71:java.util.List getAnnotations():733:736 -> a
     68:71:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):653 -> a
     72:72:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):653:653 -> a
-com.android.tools.r8.graph.JarClassFileReader$CreateMethodVisitor -> com.android.tools.r8.graph.q2:
+com.android.tools.r8.graph.JarClassFileReader$CreateMethodVisitor -> com.android.tools.r8.graph.s2:
     java.util.List parameterFlags -> r
     int annotableParameterCount -> o
     java.util.List parameterNames -> q
@@ -32087,7 +32176,7 @@
     1:3:void visitEnd():884:886 -> c
     4:5:boolean classRequiresCode():876:877 -> c
     4:5:void visitEnd():886 -> c
-    6:6:boolean com.android.tools.r8.utils.InternalOptions.canUseNestBasedAccess():1824:1824 -> c
+    6:6:boolean com.android.tools.r8.utils.InternalOptions.canUseNestBasedAccess():1828:1828 -> c
     6:6:boolean classRequiresCode():877 -> c
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     6:6:void visitEnd():886 -> c
@@ -32121,12 +32210,12 @@
     70:80:void visitEnd():927:937 -> c
     81:81:void visitEnd():934:934 -> c
     82:90:void visitEnd():932:940 -> c
-com.android.tools.r8.graph.JarClassFileReader$ReparseContext -> com.android.tools.r8.internal.sv:
+com.android.tools.r8.graph.JarClassFileReader$ReparseContext -> com.android.tools.r8.internal.uv:
     com.android.tools.r8.graph.DexClass owner -> b
     byte[] classCache -> a
     java.util.List codeList -> c
     1:8:void <init>():1112:1119 -> <init>
-com.android.tools.r8.graph.LazyCfCode -> com.android.tools.r8.graph.x2:
+com.android.tools.r8.graph.LazyCfCode -> com.android.tools.r8.graph.z2:
     com.android.tools.r8.graph.CfCode code -> f
     com.android.tools.r8.graph.JarApplicationReader application -> e
     boolean $assertionsDisabled -> i
@@ -32140,7 +32229,7 @@
     3:3:void com.android.tools.r8.utils.ExceptionUtils.withOriginAttachmentHandler(com.android.tools.r8.origin.Origin,java.lang.Runnable):225:225 -> F
     3:3:com.android.tools.r8.graph.CfCode asCfCode():138 -> F
     4:5:com.android.tools.r8.graph.CfCode asCfCode():140:141 -> F
-    1:1:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):174:174 -> a
+    1:1:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):174:174 -> a
     2:2:void parseCode(com.android.tools.r8.graph.JarClassFileReader$ReparseContext,boolean):190:190 -> a
     3:25:com.android.tools.r8.graph.LazyCfCode$DebugParsingOptions getParsingOptions(com.android.tools.r8.graph.JarApplicationReader,boolean):1057:1079 -> a
     3:25:void parseCode(com.android.tools.r8.graph.JarClassFileReader$ReparseContext,boolean):190 -> a
@@ -32157,24 +32246,24 @@
     43:43:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):275:275 -> a
     44:44:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):290:290 -> a
     45:45:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap collectParameterInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView):1103:1103 -> a
-    1:1:int computeHashCode():213:213 -> f0
     1:1:boolean computeEquals(java.lang.Object):218:218 -> g
-    1:1:com.android.tools.r8.graph.CfWritableCode asCfWritableCode():146:146 -> g0
+    1:1:int computeHashCode():213:213 -> g0
+    1:1:com.android.tools.r8.graph.CfWritableCode asCfWritableCode():146:146 -> h0
     1:1:boolean estimatedSizeForInliningAtMost(int):233:233 -> i
-    com.android.tools.r8.graph.LazyCfCode asLazyCfCode() -> i0
-    1:1:int estimatedDexCodeSizeUpperBoundInBytes():238:238 -> j0
-    1:1:int estimatedSizeForInlining():228:228 -> k0
-    boolean isCfCode() -> l0
-    boolean isCfWritableCode() -> m0
-    1:1:boolean verifyNoInputReaders():1084:1084 -> r0
-    1:20:void internalParseCode():150:169 -> s0
-    21:27:boolean verifyNoReparseContext(com.android.tools.r8.graph.DexClass):1089:1095 -> s0
-    21:27:void internalParseCode():169 -> s0
-    28:28:void internalParseCode():166:166 -> s0
-    1:2:void markReachabilitySensitive():116:117 -> t0
+    com.android.tools.r8.graph.LazyCfCode asLazyCfCode() -> j0
+    1:1:int estimatedDexCodeSizeUpperBoundInBytes():238:238 -> k0
+    1:1:int estimatedSizeForInlining():228:228 -> l0
+    boolean isCfCode() -> m0
+    boolean isCfWritableCode() -> n0
+    1:1:boolean verifyNoInputReaders():1084:1084 -> s0
+    1:20:void internalParseCode():150:169 -> t0
+    21:27:boolean verifyNoReparseContext(com.android.tools.r8.graph.DexClass):1089:1095 -> t0
+    21:27:void internalParseCode():169 -> t0
+    28:28:void internalParseCode():166:166 -> t0
     1:1:java.lang.String toString():285:285 -> toString
-com.android.tools.r8.graph.LazyCfCode$1 -> com.android.tools.r8.graph.s2:
-com.android.tools.r8.graph.LazyCfCode$ClassCodeVisitor -> com.android.tools.r8.graph.t2:
+    1:2:void markReachabilitySensitive():116:117 -> u0
+com.android.tools.r8.graph.LazyCfCode$1 -> com.android.tools.r8.graph.u2:
+com.android.tools.r8.graph.LazyCfCode$ClassCodeVisitor -> com.android.tools.r8.graph.v2:
     java.util.function.BiFunction codeLocator -> d
     com.android.tools.r8.graph.JarApplicationReader application -> e
     com.android.tools.r8.graph.LazyCfCode$DebugParsingOptions debugParsingOptions -> h
@@ -32183,12 +32272,12 @@
     com.android.tools.r8.graph.DexClass clazz -> c
     1:7:void <init>(com.android.tools.r8.graph.DexClass,java.util.function.BiFunction,com.android.tools.r8.graph.JarApplicationReader,boolean,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.LazyCfCode$DebugParsingOptions):329:335 -> <init>
     1:11:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):341:351 -> a
-com.android.tools.r8.graph.LazyCfCode$DebugParsingOptions -> com.android.tools.r8.internal.gB:
+com.android.tools.r8.graph.LazyCfCode$DebugParsingOptions -> com.android.tools.r8.internal.iB:
     boolean lineInfo -> a
     boolean localInfo -> b
     int asmReaderOptions -> c
     1:4:void <init>(boolean,boolean,int):182:185 -> <init>
-com.android.tools.r8.graph.LazyCfCode$DefaultCodeLocator -> com.android.tools.r8.graph.u2:
+com.android.tools.r8.graph.LazyCfCode$DefaultCodeLocator -> com.android.tools.r8.graph.w2:
     com.android.tools.r8.graph.JarClassFileReader$ReparseContext context -> a
     int methodIndex -> b
     1:1:void <init>(com.android.tools.r8.graph.JarClassFileReader$ReparseContext,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.LazyCfCode$1):297:297 -> <init>
@@ -32197,9 +32286,9 @@
     1:1:java.lang.Object apply(java.lang.Object,java.lang.Object):297:297 -> apply
     2:2:com.android.tools.r8.graph.LazyCfCode apply(java.lang.String,java.lang.String):309:309 -> apply
     2:2:java.lang.Object apply(java.lang.Object,java.lang.Object):297 -> apply
-com.android.tools.r8.graph.LazyCfCode$JsrEncountered -> com.android.tools.r8.graph.v2:
+com.android.tools.r8.graph.LazyCfCode$JsrEncountered -> com.android.tools.r8.graph.x2:
     1:1:void <init>(java.lang.String):97:97 -> <init>
-com.android.tools.r8.graph.LazyCfCode$MethodCodeVisitor -> com.android.tools.r8.graph.w2:
+com.android.tools.r8.graph.LazyCfCode$MethodCodeVisitor -> com.android.tools.r8.graph.y2:
     int maxLocals -> n
     java.util.List localVariables -> r
     java.util.List tryCatchRanges -> q
@@ -32559,7 +32648,7 @@
     1272:1272:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):818 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     1273:1273:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):818:818 -> a
-    1274:1274:boolean com.android.tools.r8.graph.DexItemFactory.isClassConstructor(com.android.tools.r8.graph.DexMethod):2794:2794 -> a
+    1274:1274:boolean com.android.tools.r8.graph.DexItemFactory.isClassConstructor(com.android.tools.r8.graph.DexMethod):2800:2800 -> a
     1274:1274:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):818 -> a
     1275:1275:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):821:821 -> a
     1276:1276:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):819:819 -> a
@@ -32957,19 +33046,19 @@
     35:38:void visitMaxs(int,int):1046:1049 -> c
     1:1:void visitVarInsn(int,int):776:776 -> d
     2:2:void visitVarInsn(int,int):0:0 -> d
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":820,"2":821,"3":822,"4":823,"5":824}}
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":817,"2":818,"3":819,"4":820,"5":821}}
+    817:817:void visitVarInsn(int,int):776:776 -> d
+    818:818:void visitVarInsn(int,int):776:776 -> d
+    819:819:void visitVarInsn(int,int):776:776 -> d
     820:820:void visitVarInsn(int,int):776:776 -> d
     821:821:void visitVarInsn(int,int):776:776 -> d
-    822:822:void visitVarInsn(int,int):776:776 -> d
-    823:823:void visitVarInsn(int,int):776:776 -> d
-    824:824:void visitVarInsn(int,int):776:776 -> d
     778:778:void visitVarInsn(int,int):776:776 -> d
     779:779:void visitVarInsn(int,int):768:768 -> d
     780:780:void visitVarInsn(int,int):764:764 -> d
     781:785:void visitVarInsn(int,int):756:760 -> d
     786:815:void visitVarInsn(int,int):752:781 -> d
     816:816:void visitVarInsn(int,int):772:772 -> d
-com.android.tools.r8.graph.LazyLoadedDexApplication -> com.android.tools.r8.graph.A2:
+com.android.tools.r8.graph.LazyLoadedDexApplication -> com.android.tools.r8.graph.C2:
     com.android.tools.r8.utils.LibraryClassCollection libraryClasses -> k
     boolean $assertionsDisabled -> l
     com.android.tools.r8.utils.ClasspathClassCollection classpathClasses -> j
@@ -33022,8 +33111,8 @@
     296:296:java.lang.String toString():293:293 -> toString
     297:297:java.lang.String toString():293:293 -> toString
     294:294:java.lang.String toString():293:293 -> toString
-com.android.tools.r8.graph.LazyLoadedDexApplication$1 -> com.android.tools.r8.graph.y2:
-com.android.tools.r8.graph.LazyLoadedDexApplication$AllClasses -> com.android.tools.r8.graph.z2:
+com.android.tools.r8.graph.LazyLoadedDexApplication$1 -> com.android.tools.r8.graph.A2:
+com.android.tools.r8.graph.LazyLoadedDexApplication$AllClasses -> com.android.tools.r8.graph.B2:
     com.android.tools.r8.com.google.common.collect.ImmutableList classpathClasses -> b
     com.android.tools.r8.com.google.common.collect.ImmutableList programClasses -> a
     com.android.tools.r8.com.google.common.collect.ImmutableList libraryClasses -> c
@@ -33037,7 +33126,7 @@
     1:1:com.android.tools.r8.com.google.common.collect.ImmutableList getLibraryClasses():164:164 -> b
     boolean lambda$new$2(com.android.tools.r8.graph.DexType) -> c
     1:1:com.android.tools.r8.com.google.common.collect.ImmutableList getProgramClasses():156:156 -> c
-com.android.tools.r8.graph.LazyLoadedDexApplication$Builder -> com.android.tools.r8.graph.A2$a:
+com.android.tools.r8.graph.LazyLoadedDexApplication$Builder -> com.android.tools.r8.graph.C2$a:
     com.android.tools.r8.utils.LibraryClassCollection libraryClasses -> j
     com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver resolver -> k
     com.android.tools.r8.utils.ClasspathClassCollection classpathClasses -> i
@@ -33050,9 +33139,9 @@
     2:4:void addProgramClassPotentiallyOverridingNonProgramClass(com.android.tools.r8.graph.DexProgramClass):256:258 -> b
     com.android.tools.r8.graph.DexApplication$Builder self() -> d
     1:5:com.android.tools.r8.graph.LazyLoadedDexApplication build():263:267 -> e
-com.android.tools.r8.graph.LibraryDefinition -> com.android.tools.r8.internal.xB:
+com.android.tools.r8.graph.LibraryDefinition -> com.android.tools.r8.internal.zB:
     1:1:com.android.tools.r8.graph.ProgramDerivedContext asProgramDerivedContext(com.android.tools.r8.graph.ProgramDerivedContext):21:21 -> a
-com.android.tools.r8.graph.LibraryField -> com.android.tools.r8.graph.B2:
+com.android.tools.r8.graph.LibraryField -> com.android.tools.r8.graph.D2:
     boolean $assertionsDisabled -> f
     1:1:void <clinit>():7:7 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.DexEncodedField):11:11 -> <init>
@@ -33062,7 +33151,7 @@
     3:3:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> z
     3:3:com.android.tools.r8.graph.DexLibraryClass getHolder():17 -> z
     4:5:com.android.tools.r8.graph.DexLibraryClass getHolder():17:18 -> z
-com.android.tools.r8.graph.LibraryMethod -> com.android.tools.r8.graph.C2:
+com.android.tools.r8.graph.LibraryMethod -> com.android.tools.r8.graph.E2:
     boolean $assertionsDisabled -> f
     1:1:void <clinit>():7:7 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.DexEncodedMethod):11:11 -> <init>
@@ -33072,7 +33161,7 @@
     4:5:com.android.tools.r8.graph.DexLibraryClass getHolder():17:18 -> F
     com.android.tools.r8.graph.LibraryMethod asLibraryMethod() -> N
     1:1:com.android.tools.r8.graph.DexClass getHolder():7:7 -> r
-com.android.tools.r8.graph.LookupCompletenessHelper -> com.android.tools.r8.graph.D2:
+com.android.tools.r8.graph.LookupCompletenessHelper -> com.android.tools.r8.graph.F2:
     java.util.Set pinnedMethods -> c
     com.android.tools.r8.graph.PinnedPredicate pinnedPredicate -> a
     java.util.Set pinnedInstantiations -> b
@@ -33094,7 +33183,7 @@
     32:33:void com.android.tools.r8.utils.WorkList.addIfNotSeen(java.lang.Object[]):82:83 -> a
     32:33:boolean isMethodKeptInSuperTypeOrIsLibrary(com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppInfoWithClassHierarchy):79 -> a
     32:33:com.android.tools.r8.graph.LookupResult$LookupResultSuccess$LookupResultCollectionState computeCollectionState(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppInfoWithClassHierarchy):57 -> a
-com.android.tools.r8.graph.LookupLambdaTarget -> com.android.tools.r8.internal.jD:
+com.android.tools.r8.graph.LookupLambdaTarget -> com.android.tools.r8.internal.oD:
     com.android.tools.r8.graph.DexClassAndMethod method -> b
     boolean $assertionsDisabled -> c
     1:1:void <clinit>():9:9 -> <clinit>
@@ -33103,15 +33192,15 @@
     2:2:com.android.tools.r8.graph.DexClassAndMethod getImplementationMethod():38:38 -> a
     boolean isLambdaTarget() -> j
     com.android.tools.r8.graph.LookupLambdaTarget asLambdaTarget() -> n
-com.android.tools.r8.graph.LookupResult -> com.android.tools.r8.graph.H2:
+com.android.tools.r8.graph.LookupResult -> com.android.tools.r8.graph.J2:
     1:1:void <init>():14:14 -> <init>
     com.android.tools.r8.graph.LookupResult$LookupResultSuccess asLookupResultSuccess() -> a
     void forEach(java.util.function.Consumer,java.util.function.Consumer) -> a
     void forEachFailureDependency(java.util.function.Consumer) -> a
     boolean isLookupResultFailure() -> b
     boolean isLookupResultSuccess() -> c
-com.android.tools.r8.graph.LookupResult$1 -> com.android.tools.r8.graph.E2:
-com.android.tools.r8.graph.LookupResult$LookupResultFailure -> com.android.tools.r8.graph.F2:
+com.android.tools.r8.graph.LookupResult$1 -> com.android.tools.r8.graph.G2:
+com.android.tools.r8.graph.LookupResult$LookupResultFailure -> com.android.tools.r8.graph.H2:
     com.android.tools.r8.graph.LookupResult$LookupResultFailure INSTANCE -> a
     1:1:void <clinit>():195:195 -> <clinit>
     1:1:void <init>():197:197 -> <init>
@@ -33119,7 +33208,7 @@
     void forEachFailureDependency(java.util.function.Consumer) -> a
     boolean isLookupResultFailure() -> b
     1:1:com.android.tools.r8.graph.LookupResult$LookupResultFailure access$100():193:193 -> d
-com.android.tools.r8.graph.LookupResult$LookupResultSuccess -> com.android.tools.r8.graph.H2$a:
+com.android.tools.r8.graph.LookupResult$LookupResultSuccess -> com.android.tools.r8.graph.J2$a:
     java.util.List lambdaTargets -> b
     com.android.tools.r8.graph.LookupResult$LookupResultSuccess$LookupResultCollectionState state -> d
     java.util.List methodsCausingFailure -> c
@@ -33140,7 +33229,7 @@
     1:1:boolean isComplete():134:134 -> g
     1:1:boolean isIncomplete():130:130 -> h
     1:1:void setIncomplete():139:139 -> i
-com.android.tools.r8.graph.LookupResult$LookupResultSuccess$Builder -> com.android.tools.r8.graph.G2:
+com.android.tools.r8.graph.LookupResult$LookupResultSuccess$Builder -> com.android.tools.r8.graph.I2:
     java.util.List lambdaTargets -> b
     com.android.tools.r8.graph.LookupResult$LookupResultSuccess$LookupResultCollectionState state -> d
     java.util.List methodsCausingFailure -> c
@@ -33151,13 +33240,13 @@
     3:3:com.android.tools.r8.graph.LookupResult$LookupResultSuccess$Builder addMethodCausingFailure(com.android.tools.r8.graph.DexEncodedMethod):178:178 -> a
     4:4:com.android.tools.r8.graph.LookupResult$LookupResultSuccess$Builder setState(com.android.tools.r8.graph.LookupResult$LookupResultSuccess$LookupResultCollectionState):183:183 -> a
     5:5:com.android.tools.r8.graph.LookupResult$LookupResultSuccess build():188:188 -> a
-com.android.tools.r8.graph.LookupTarget -> com.android.tools.r8.internal.lD:
+com.android.tools.r8.graph.LookupTarget -> com.android.tools.r8.internal.qD:
     void accept(java.util.function.Consumer,java.util.function.Consumer) -> a
     boolean isLambdaTarget() -> j
     com.android.tools.r8.graph.DexClassAndMethod asMethodTarget() -> m
     com.android.tools.r8.graph.LookupLambdaTarget asLambdaTarget() -> n
     boolean isMethodTarget() -> p
-com.android.tools.r8.graph.MemberResolutionResult -> com.android.tools.r8.internal.fE:
+com.android.tools.r8.graph.MemberResolutionResult -> com.android.tools.r8.internal.kE:
     1:1:void <init>():9:9 -> <init>
     com.android.tools.r8.utils.OptionalBool isAccessibleFrom(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> a
     1:1:com.android.tools.r8.utils.OptionalBool isAccessibleFrom(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):25:25 -> a
@@ -33167,7 +33256,7 @@
     boolean isFailedResolution() -> h
     boolean isFieldResolutionResult() -> i
     boolean isSuccessfulMemberResolutionResult() -> j
-com.android.tools.r8.graph.MethodAccessFlags -> com.android.tools.r8.graph.J2:
+com.android.tools.r8.graph.MethodAccessFlags -> com.android.tools.r8.graph.L2:
     boolean $assertionsDisabled -> f
     1:1:void <clinit>():11:11 -> <clinit>
     1:1:void <init>(int,int):61:61 -> <init>
@@ -33199,9 +33288,9 @@
     2:2:void <init>(int):57:57 -> a
     2:2:com.android.tools.r8.graph.MethodAccessFlags fromCfAccessFlags(int,boolean):95 -> a
     3:3:void setConstructor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):223:223 -> a
-    4:4:boolean com.android.tools.r8.graph.DexItemFactory.isConstructor(com.android.tools.r8.graph.DexMethod):2790:2790 -> a
+    4:4:boolean com.android.tools.r8.graph.DexItemFactory.isConstructor(com.android.tools.r8.graph.DexMethod):2796:2796 -> a
     4:4:void setConstructor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):223 -> a
-    5:5:boolean com.android.tools.r8.graph.DexItemFactory.isClassConstructor(com.android.tools.r8.graph.DexMethod):2794:2794 -> a
+    5:5:boolean com.android.tools.r8.graph.DexItemFactory.isClassConstructor(com.android.tools.r8.graph.DexMethod):2800:2800 -> a
     5:5:void setConstructor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):223 -> a
     6:6:void setConstructor():219:219 -> a
     6:6:void setConstructor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):224 -> a
@@ -33231,7 +33320,7 @@
     1:1:void unsetDeclaredSynchronized():243:243 -> i0
     1:1:void unsetVarargs():163:163 -> j0
     com.android.tools.r8.graph.AccessFlags self() -> y
-com.android.tools.r8.graph.MethodAccessFlags$Builder -> com.android.tools.r8.graph.I2:
+com.android.tools.r8.graph.MethodAccessFlags$Builder -> com.android.tools.r8.graph.K2:
     1:1:void <init>():249:249 -> <init>
     1:5:com.android.tools.r8.graph.AccessFlags$BuilderBase com.android.tools.r8.graph.AccessFlags$BuilderBase.setPrivate(boolean):325:329 -> a
     1:5:com.android.tools.r8.graph.AccessFlags$BuilderBase setPrivate(boolean):0 -> a
@@ -33276,7 +33365,7 @@
     1:2:com.android.tools.r8.graph.AccessFlags$BuilderBase com.android.tools.r8.graph.AccessFlags$BuilderBase.setSynthetic():360:361 -> g
     1:2:com.android.tools.r8.graph.AccessFlags$BuilderBase setSynthetic():0 -> g
       # {"id":"com.android.tools.r8.synthesized"}
-com.android.tools.r8.graph.MethodAccessInfoCollection -> com.android.tools.r8.internal.zE:
+com.android.tools.r8.graph.MethodAccessInfoCollection -> com.android.tools.r8.internal.EE:
     java.util.Map directInvokes -> a
     java.util.Map interfaceInvokes -> b
     java.util.Map staticInvokes -> c
@@ -33302,8 +33391,8 @@
     2:2:void forEachStaticInvoke(java.util.function.BiConsumer):72:72 -> c
     1:1:void forEachSuperInvoke(java.util.function.BiConsumer):76:76 -> d
     1:1:void forEachVirtualInvoke(java.util.function.BiConsumer):84:84 -> e
-com.android.tools.r8.graph.MethodAccessInfoCollection$1 -> com.android.tools.r8.internal.uE:
-com.android.tools.r8.graph.MethodAccessInfoCollection$Builder -> com.android.tools.r8.internal.vE:
+com.android.tools.r8.graph.MethodAccessInfoCollection$1 -> com.android.tools.r8.internal.zE:
+com.android.tools.r8.graph.MethodAccessInfoCollection$Builder -> com.android.tools.r8.internal.AE:
     java.util.Map directInvokes -> a
     java.util.Map interfaceInvokes -> b
     java.util.Map staticInvokes -> c
@@ -33355,17 +33444,17 @@
     1:1:boolean registerInvokeStaticInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):200:200 -> h
     1:1:boolean registerInvokeSuperInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):208:208 -> i
     1:1:boolean registerInvokeVirtualInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):216:216 -> j
-com.android.tools.r8.graph.MethodAccessInfoCollection$ConcurrentBuilder -> com.android.tools.r8.internal.wE:
+com.android.tools.r8.graph.MethodAccessInfoCollection$ConcurrentBuilder -> com.android.tools.r8.internal.BE:
     1:1:void <init>(com.android.tools.r8.graph.MethodAccessInfoCollection$1):237:237 -> <init>
     2:2:void <init>():241:241 -> <init>
-com.android.tools.r8.graph.MethodAccessInfoCollection$IdentityBuilder -> com.android.tools.r8.internal.xE:
+com.android.tools.r8.graph.MethodAccessInfoCollection$IdentityBuilder -> com.android.tools.r8.internal.CE:
     1:1:void <init>(com.android.tools.r8.graph.MethodAccessInfoCollection$1):245:245 -> <init>
     2:2:void <init>():249:249 -> <init>
-com.android.tools.r8.graph.MethodAccessInfoCollection$Modifier -> com.android.tools.r8.internal.yE:
+com.android.tools.r8.graph.MethodAccessInfoCollection$Modifier -> com.android.tools.r8.internal.DE:
     1:1:void <init>(java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map,com.android.tools.r8.graph.MethodAccessInfoCollection$1):253:253 -> <init>
     2:2:void <init>(java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map):261:261 -> <init>
     1:5:void addAll(com.android.tools.r8.graph.MethodAccessInfoCollection):265:269 -> a
-com.android.tools.r8.graph.MethodArrayBacking -> com.android.tools.r8.graph.K2:
+com.android.tools.r8.graph.MethodArrayBacking -> com.android.tools.r8.graph.M2:
     com.android.tools.r8.graph.DexEncodedMethod[] virtualMethods -> b
     com.android.tools.r8.graph.DexEncodedMethod[] directMethods -> a
     boolean $assertionsDisabled -> c
@@ -33491,7 +33580,7 @@
     1:2:boolean verifyNoDuplicateMethods():27:28 -> j
     3:3:void com.android.tools.r8.graph.MethodCollectionBacking.forEachMethod(java.util.function.Consumer):42:42 -> j
     3:3:boolean verifyNoDuplicateMethods():28 -> j
-com.android.tools.r8.graph.MethodCollection -> com.android.tools.r8.graph.L2:
+com.android.tools.r8.graph.MethodCollection -> com.android.tools.r8.graph.N2:
     com.android.tools.r8.graph.DexClass holder -> a
     com.android.tools.r8.graph.MethodCollectionBacking backing -> b
     com.android.tools.r8.graph.DexEncodedMethod cachedClassInitializer -> c
@@ -33652,7 +33741,7 @@
     2:2:boolean verify():350 -> m
     3:3:boolean verify():354:354 -> m
     1:1:java.lang.Iterable virtualMethods():159:159 -> n
-com.android.tools.r8.graph.MethodCollectionBacking -> com.android.tools.r8.graph.M2:
+com.android.tools.r8.graph.MethodCollectionBacking -> com.android.tools.r8.graph.O2:
     1:1:void <init>():15:15 -> <init>
     void addDirectMethod(com.android.tools.r8.graph.DexEncodedMethod) -> a
     void addDirectMethods(java.util.Collection) -> a
@@ -33692,7 +33781,7 @@
     int size() -> g
     boolean verify() -> h
     java.lang.Iterable virtualMethods() -> i
-com.android.tools.r8.graph.MethodMapBacking -> com.android.tools.r8.graph.N2:
+com.android.tools.r8.graph.MethodMapBacking -> com.android.tools.r8.graph.P2:
     boolean $assertionsDisabled -> b
     java.util.SortedMap methodMap -> a
     1:1:void <clinit>():21:21 -> <clinit>
@@ -33867,7 +33956,7 @@
     2:2:java.util.SortedMap createdLinkedMap():39 -> k
     1:1:java.util.Iterator lambda$directMethods$1():108:108 -> l
     1:1:java.util.Iterator lambda$virtualMethods$2():113:113 -> m
-com.android.tools.r8.graph.MethodResolutionResult -> com.android.tools.r8.graph.S2:
+com.android.tools.r8.graph.MethodResolutionResult -> com.android.tools.r8.graph.U2:
     1:1:void <init>():22:22 -> <init>
     com.android.tools.r8.graph.DexClass getInitialResolutionHolder() -> a
     boolean isIllegalAccessErrorResult(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> a
@@ -33895,8 +33984,8 @@
     1:1:com.android.tools.r8.graph.DexEncodedMethod getSingleTarget():97:97 -> p
     boolean isSingleResolution() -> q
     boolean isVirtualTarget() -> r
-com.android.tools.r8.graph.MethodResolutionResult$1 -> com.android.tools.r8.graph.O2:
-com.android.tools.r8.graph.MethodResolutionResult$ArrayCloneMethodResult -> com.android.tools.r8.graph.P2:
+com.android.tools.r8.graph.MethodResolutionResult$1 -> com.android.tools.r8.graph.Q2:
+com.android.tools.r8.graph.MethodResolutionResult$ArrayCloneMethodResult -> com.android.tools.r8.graph.R2:
     com.android.tools.r8.graph.MethodResolutionResult$ArrayCloneMethodResult INSTANCE -> a
     1:1:void <clinit>():840:840 -> <clinit>
     1:1:void <init>():842:842 -> <init>
@@ -33914,16 +34003,16 @@
     com.android.tools.r8.graph.DexClassAndMethod lookupInvokeSuperTarget(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> d
     boolean isVirtualTarget() -> r
     com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> s
-com.android.tools.r8.graph.MethodResolutionResult$ClassNotFoundResult -> com.android.tools.r8.graph.Q2:
+com.android.tools.r8.graph.MethodResolutionResult$ClassNotFoundResult -> com.android.tools.r8.graph.S2:
     com.android.tools.r8.graph.MethodResolutionResult$ClassNotFoundResult INSTANCE -> a
     1:1:void <clinit>():910:910 -> <clinit>
     1:1:void <init>():912:912 -> <init>
-com.android.tools.r8.graph.MethodResolutionResult$EmptyResult -> com.android.tools.r8.graph.R2:
+com.android.tools.r8.graph.MethodResolutionResult$EmptyResult -> com.android.tools.r8.graph.T2:
     1:1:void <init>():772:772 -> <init>
     1:1:com.android.tools.r8.graph.LookupTarget lookupVirtualDispatchTarget(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.AppInfoWithClassHierarchy):772:772 -> a
     com.android.tools.r8.graph.DexClassAndMethod lookupInvokeSpecialTarget(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> b
     com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> s
-com.android.tools.r8.graph.MethodResolutionResult$FailedResolutionResult -> com.android.tools.r8.graph.S2$a:
+com.android.tools.r8.graph.MethodResolutionResult$FailedResolutionResult -> com.android.tools.r8.graph.U2$a:
     1:1:void <init>():870:870 -> <init>
     void forEachFailureDependency(java.util.function.Consumer) -> a
     com.android.tools.r8.graph.DexEncodedMethod lookupInvokeDirectTarget(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> a
@@ -33943,13 +34032,13 @@
     boolean isVirtualTarget() -> r
     com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> s
     boolean hasMethodsCausingError() -> t
-com.android.tools.r8.graph.MethodResolutionResult$FailedResolutionWithCausingMethods -> com.android.tools.r8.graph.T2:
+com.android.tools.r8.graph.MethodResolutionResult$FailedResolutionWithCausingMethods -> com.android.tools.r8.graph.V2:
     java.util.Collection methodsCausingError -> a
     1:1:void <init>(java.util.Collection,com.android.tools.r8.graph.MethodResolutionResult$1):922:922 -> <init>
     2:3:void <init>(java.util.Collection):926:927 -> <init>
     1:1:void forEachFailureDependency(java.util.function.Consumer):933:933 -> a
     1:1:boolean hasMethodsCausingError():938:938 -> t
-com.android.tools.r8.graph.MethodResolutionResult$IllegalAccessOrNoSuchMethodResult -> com.android.tools.r8.graph.U2:
+com.android.tools.r8.graph.MethodResolutionResult$IllegalAccessOrNoSuchMethodResult -> com.android.tools.r8.graph.W2:
     com.android.tools.r8.graph.DexClass initialResolutionHolder -> b
     boolean $assertionsDisabled -> c
     1:1:void <clinit>():972:972 -> <clinit>
@@ -33961,17 +34050,17 @@
     22:22:void lambda$verifyInvalidSymbolicReference$1(com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.DexEncodedMethod):1025:1025 -> a
     1:10:boolean isNoSuchMethodErrorResult(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):1008:1017 -> b
     1:7:boolean verifyInvalidSymbolicReference():1022:1028 -> u
-com.android.tools.r8.graph.MethodResolutionResult$IncompatibleClassResult -> com.android.tools.r8.graph.V2:
+com.android.tools.r8.graph.MethodResolutionResult$IncompatibleClassResult -> com.android.tools.r8.graph.X2:
     com.android.tools.r8.graph.MethodResolutionResult$IncompatibleClassResult INSTANCE -> b
     1:2:void <clinit>():943:944 -> <clinit>
     1:1:void <init>(java.util.Collection):947:947 -> <init>
     1:3:com.android.tools.r8.graph.MethodResolutionResult$IncompatibleClassResult create(java.util.Collection):951:953 -> a
-com.android.tools.r8.graph.MethodResolutionResult$NoSuchMethodResult -> com.android.tools.r8.graph.S2$b:
+com.android.tools.r8.graph.MethodResolutionResult$NoSuchMethodResult -> com.android.tools.r8.graph.U2$b:
     com.android.tools.r8.graph.MethodResolutionResult$NoSuchMethodResult INSTANCE -> a
     1:1:void <clinit>():964:964 -> <clinit>
     1:1:void <init>():962:962 -> <init>
     boolean isNoSuchMethodErrorResult(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> b
-com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult -> com.android.tools.r8.graph.S2$c:
+com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult -> com.android.tools.r8.graph.U2$c:
     com.android.tools.r8.graph.DexClass initialResolutionHolder -> a
     com.android.tools.r8.graph.DexClass resolvedHolder -> b
     com.android.tools.r8.graph.DexEncodedMethod resolvedMethod -> c
@@ -34071,11 +34160,11 @@
     1:2:com.android.tools.r8.graph.ProgramMethod getResolvedProgramMethod():213:214 -> o
     boolean isSingleResolution() -> q
     1:1:boolean isVirtualTarget():261:261 -> r
-com.android.tools.r8.graph.NamingLensComparable -> com.android.tools.r8.internal.AG:
+com.android.tools.r8.graph.NamingLensComparable -> com.android.tools.r8.internal.FG:
     1:1:int compareToWithNamingLens(com.android.tools.r8.graph.NamingLensComparable,com.android.tools.r8.naming.NamingLens):13:13 -> a
     2:3:int com.android.tools.r8.utils.structural.CompareToVisitorWithNamingLens.run(java.lang.Object,java.lang.Object,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept):23:24 -> a
     2:3:int compareToWithNamingLens(com.android.tools.r8.graph.NamingLensComparable,com.android.tools.r8.naming.NamingLens):13 -> a
-com.android.tools.r8.graph.NestHostClassAttribute -> com.android.tools.r8.internal.IG:
+com.android.tools.r8.graph.NestHostClassAttribute -> com.android.tools.r8.internal.NG:
     com.android.tools.r8.graph.DexType nestHost -> b
     int $r8$clinit -> d
     boolean $assertionsDisabled -> c
@@ -34087,7 +34176,7 @@
     3:3:com.android.tools.r8.graph.DexType getNestHost():26:26 -> a
     4:5:void write(com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.naming.NamingLens):34:35 -> a
     1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():45:45 -> n
-com.android.tools.r8.graph.NestMemberClassAttribute -> com.android.tools.r8.internal.JG:
+com.android.tools.r8.graph.NestMemberClassAttribute -> com.android.tools.r8.internal.OG:
     com.android.tools.r8.graph.DexType nestMember -> b
     int $r8$clinit -> d
     boolean $assertionsDisabled -> c
@@ -34099,7 +34188,7 @@
     3:3:com.android.tools.r8.graph.DexType getNestMember():32:32 -> a
     4:5:void write(com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.naming.NamingLens):36:37 -> a
     1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():47:47 -> n
-com.android.tools.r8.graph.NestedGraphLens -> com.android.tools.r8.graph.W2:
+com.android.tools.r8.graph.NestedGraphLens -> com.android.tools.r8.graph.Y2:
     boolean $assertionsDisabled -> m
     java.util.function.Function methodMap -> g
     com.android.tools.r8.utils.collections.EmptyBidirectionalOneToOneMap EMPTY_METHOD_MAP -> k
@@ -34182,8 +34271,8 @@
     3:3:com.android.tools.r8.graph.DexMethod internalGetNextMethodSignature(com.android.tools.r8.graph.DexMethod):253:253 -> g
     boolean isLegitimateToHaveEmptyMappings() -> k
     1:19:java.lang.String toString():314:332 -> toString
-com.android.tools.r8.graph.ObjectAllocationInfoCollection -> com.android.tools.r8.internal.PJ:
-com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl -> com.android.tools.r8.internal.TJ:
+com.android.tools.r8.graph.ObjectAllocationInfoCollection -> com.android.tools.r8.internal.UJ:
+com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl -> com.android.tools.r8.internal.YJ:
     java.util.Map classesWithAllocationSiteTracking -> a
     java.util.Set annotationsWithUnknownSubtypeHierarchy -> c
     java.util.Set interfacesWithUnknownSubtypeHierarchy -> d
@@ -34219,8 +34308,8 @@
     1:8:boolean isInstantiatedDirectly(com.android.tools.r8.graph.DexProgramClass):85:92 -> c
     9:9:boolean lambda$removeAllocationsForPrunedItems$7(java.util.Set,com.android.tools.r8.graph.DexProgramClass):259:259 -> c
     1:1:boolean isInterfaceWithUnknownSubtypeHierarchy(com.android.tools.r8.graph.DexProgramClass):119:119 -> d
-com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$1 -> com.android.tools.r8.internal.QJ:
-com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder -> com.android.tools.r8.internal.SJ:
+com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$1 -> com.android.tools.r8.internal.VJ:
+com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder -> com.android.tools.r8.internal.XJ:
     com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder$Data data -> h
     boolean $assertionsDisabled -> i
     1:1:void <clinit>():286:286 -> <clinit>
@@ -34319,14 +34408,14 @@
     1:1:java.util.Set lambda$recordDirectAllocationSite$0(com.android.tools.r8.graph.DexProgramClass):359:359 -> e
     1:1:java.util.Set lambda$rewrittenWithLens$7(com.android.tools.r8.graph.DexProgramClass):488:488 -> f
     1:3:void markNoLongerInstantiated(com.android.tools.r8.graph.DexProgramClass):452:454 -> g
-com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder$Data -> com.android.tools.r8.internal.RJ:
+com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder$Data -> com.android.tools.r8.internal.WJ:
     com.android.tools.r8.shaking.GraphReporter reporter -> b
     boolean trackAllocationSites -> a
     1:1:void <init>(boolean,com.android.tools.r8.shaking.GraphReporter,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$1):288:288 -> <init>
     2:4:void <init>(boolean,com.android.tools.r8.shaking.GraphReporter):293:295 -> <init>
     1:1:boolean access$300(com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder$Data):288:288 -> a
     1:1:com.android.tools.r8.shaking.GraphReporter access$400(com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder$Data):288:288 -> b
-com.android.tools.r8.graph.ObjectToOffsetMapping -> com.android.tools.r8.internal.AK:
+com.android.tools.r8.graph.ObjectToOffsetMapping -> com.android.tools.r8.internal.FK:
     com.android.tools.r8.ir.conversion.LensCodeRewriterUtils lensCodeRewriter -> e
     boolean $assertionsDisabled -> p
     com.android.tools.r8.graph.AppView appView -> b
@@ -34402,12 +34491,12 @@
     1:1:java.util.Collection getStrings():306:306 -> m
     1:1:java.util.Collection getTypes():294:294 -> n
     1:1:boolean hasJumboStrings():318:318 -> o
-com.android.tools.r8.graph.ObjectToOffsetMapping$1 -> com.android.tools.r8.internal.yK:
+com.android.tools.r8.graph.ObjectToOffsetMapping$1 -> com.android.tools.r8.internal.DK:
     com.android.tools.r8.graph.ObjectToOffsetMapping val$mapping -> e
     1:1:void <init>(com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.naming.NamingLens,java.util.function.ToIntFunction,java.util.function.ToIntFunction,com.android.tools.r8.graph.ObjectToOffsetMapping):121:121 -> <init>
     1:1:int visitDexField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):125:125 -> a
     2:4:int visitDexMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):130:130 -> a
-com.android.tools.r8.graph.ObjectToOffsetMapping$ProgramClassDepthsMemoized -> com.android.tools.r8.internal.zK:
+com.android.tools.r8.graph.ObjectToOffsetMapping$ProgramClassDepthsMemoized -> com.android.tools.r8.internal.EK:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap depthOfClasses -> b
     com.android.tools.r8.graph.AppInfo appInfo -> a
     1:1:void <init>(com.android.tools.r8.graph.AppInfo):214:214 -> <init>
@@ -34435,7 +34524,7 @@
     23:23:int getDepth(com.android.tools.r8.graph.DexProgramClass):237 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     24:27:int getDepth(com.android.tools.r8.graph.DexProgramClass):238:241 -> a
-com.android.tools.r8.graph.OffsetToObjectMapping -> com.android.tools.r8.internal.JK:
+com.android.tools.r8.graph.OffsetToObjectMapping -> com.android.tools.r8.internal.OK:
     com.android.tools.r8.graph.DexProto[] protos -> c
     com.android.tools.r8.graph.DexMethodHandle[] methodHandles -> h
     boolean $assertionsDisabled -> i
@@ -34475,7 +34564,7 @@
     1:2:void initializeProtos(int):28:29 -> l
     1:2:void initializeStrings(int):43:44 -> m
     1:2:void initializeTypes(int):38:39 -> n
-com.android.tools.r8.graph.ParameterAnnotationsList -> com.android.tools.r8.graph.X2:
+com.android.tools.r8.graph.ParameterAnnotationsList -> com.android.tools.r8.graph.Z2:
     com.android.tools.r8.graph.ParameterAnnotationsList EMPTY_PARAMETER_ANNOTATIONS_LIST -> d
     boolean $assertionsDisabled -> e
     com.android.tools.r8.graph.DexAnnotationSet[] values -> b
@@ -34514,19 +34603,19 @@
     39:39:com.android.tools.r8.graph.DexAnnotationSet lambda$rewrite$2(java.util.function.Function,com.android.tools.r8.graph.DexAnnotationSet):253:253 -> a
     1:1:int lambda$specify$1(com.android.tools.r8.graph.ParameterAnnotationsList):51:51 -> b
     1:3:boolean equals(java.lang.Object):115:117 -> equals
-    1:1:int countNonMissing():161:161 -> f0
-    1:1:com.android.tools.r8.graph.ParameterAnnotationsList empty():55:55 -> g0
-    1:7:com.android.tools.r8.graph.ParameterAnnotationsList withFakeThisParameter():210:216 -> h0
+    1:1:int countNonMissing():161:161 -> g0
+    1:1:com.android.tools.r8.graph.ParameterAnnotationsList empty():55:55 -> h0
     1:1:int hashCode():107:107 -> hashCode
     1:5:com.android.tools.r8.graph.DexAnnotationSet get(int):184:188 -> i
+    1:7:com.android.tools.r8.graph.ParameterAnnotationsList withFakeThisParameter():210:216 -> i0
     1:1:boolean isEmpty():136:136 -> isEmpty
     1:2:boolean isMissing(int):171:172 -> j
     1:13:com.android.tools.r8.graph.ParameterAnnotationsList withParameterCount(int):193:205 -> k
     1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():98:98 -> n
     1:1:int size():153:153 -> size
-com.android.tools.r8.graph.PinnedPredicate -> com.android.tools.r8.internal.aM:
+com.android.tools.r8.graph.PinnedPredicate -> com.android.tools.r8.internal.fM:
     boolean isPinned(com.android.tools.r8.graph.DexDefinition) -> a
-com.android.tools.r8.graph.ProgramClassVisitor -> com.android.tools.r8.internal.kN:
+com.android.tools.r8.graph.ProgramClassVisitor -> com.android.tools.r8.internal.pN:
     com.android.tools.r8.graph.DexApplication application -> a
     java.util.Set visited -> b
     1:1:void <init>(com.android.tools.r8.graph.DexApplication):32:32 -> <init>
@@ -34543,7 +34632,7 @@
     27:28:void accept(com.android.tools.r8.graph.DexClass):61:62 -> a
     29:30:void run(com.android.tools.r8.graph.DexProgramClass[]):66:67 -> a
     void visit(com.android.tools.r8.graph.DexClass) -> b
-com.android.tools.r8.graph.ProgramDefinition -> com.android.tools.r8.internal.mN:
+com.android.tools.r8.graph.ProgramDefinition -> com.android.tools.r8.internal.rN:
     1:1:void clearAllAnnotations():37:37 -> G
     com.android.tools.r8.graph.ProgramDerivedContext asProgramDerivedContext(com.android.tools.r8.graph.ProgramDerivedContext) -> a
     1:1:void rewriteAllAnnotations(java.util.function.BiFunction):42:42 -> a
@@ -34555,15 +34644,15 @@
     1:1:com.android.tools.r8.graph.DexClassAndField asField():11:11 -> d
     com.android.tools.r8.graph.ProgramDefinition asProgramDefinition() -> f
     boolean isProgramDefinition() -> g
-com.android.tools.r8.graph.ProgramDerivedContext -> com.android.tools.r8.internal.nN:
+com.android.tools.r8.graph.ProgramDerivedContext -> com.android.tools.r8.internal.sN:
     1:1:boolean isProgramContext():12:12 -> I
-com.android.tools.r8.graph.ProgramDexCode -> com.android.tools.r8.internal.oN:
+com.android.tools.r8.graph.ProgramDexCode -> com.android.tools.r8.internal.tN:
     com.android.tools.r8.graph.DexWritableCode code -> a
     com.android.tools.r8.graph.ProgramMethod method -> b
     1:3:void <init>(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):12:14 -> <init>
     1:1:com.android.tools.r8.graph.DexWritableCode getCode():18:18 -> a
     1:1:com.android.tools.r8.graph.ProgramMethod getMethod():22:22 -> b
-com.android.tools.r8.graph.ProgramField -> com.android.tools.r8.graph.Y2:
+com.android.tools.r8.graph.ProgramField -> com.android.tools.r8.graph.a3:
     boolean $assertionsDisabled -> f
     1:1:void <clinit>():10:10 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):14:14 -> <init>
@@ -34578,12 +34667,12 @@
     com.android.tools.r8.graph.ProgramField asField() -> d
     com.android.tools.r8.graph.ProgramMember asProgramMember() -> o
     1:1:com.android.tools.r8.graph.DexClass getHolder():10:10 -> r
-com.android.tools.r8.graph.ProgramMember -> com.android.tools.r8.internal.rN:
+com.android.tools.r8.graph.ProgramMember -> com.android.tools.r8.internal.wN:
     1:1:void clearGenericSignature():27:27 -> A
     com.android.tools.r8.kotlin.KotlinMemberLevelInfo getKotlinInfo() -> Q
     com.android.tools.r8.graph.DexProgramClass getHolder() -> a
     com.android.tools.r8.graph.DexEncodedMember getDefinition() -> h
-com.android.tools.r8.graph.ProgramMethod -> com.android.tools.r8.graph.Z2:
+com.android.tools.r8.graph.ProgramMethod -> com.android.tools.r8.graph.b3:
     boolean $assertionsDisabled -> f
     1:1:void <clinit>():21:21 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):25:25 -> <init>
@@ -34653,7 +34742,7 @@
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     com.android.tools.r8.graph.ProgramMember asProgramMember() -> o
     1:1:com.android.tools.r8.graph.DexClass getHolder():21:21 -> r
-com.android.tools.r8.graph.ProgramPackage -> com.android.tools.r8.internal.xN:
+com.android.tools.r8.graph.ProgramPackage -> com.android.tools.r8.internal.CN:
     java.util.Set classes -> c
     java.lang.String packageDescriptor -> b
     boolean $assertionsDisabled -> d
@@ -34679,11 +34768,11 @@
     2:2:java.lang.String com.android.tools.r8.graph.ProgramPackage.getPackageName():52:52 -> toString
     2:2:java.lang.String toString():78 -> toString
     3:3:java.lang.String toString():78:78 -> toString
-com.android.tools.r8.graph.ProgramPackageCollection -> com.android.tools.r8.internal.yN:
+com.android.tools.r8.graph.ProgramPackageCollection -> com.android.tools.r8.internal.DN:
     java.util.Map packages -> b
     1:2:void <init>(java.util.Map):15:16 -> <init>
     1:1:java.util.Iterator iterator():49:49 -> iterator
-com.android.tools.r8.graph.PrunedItems -> com.android.tools.r8.internal.bQ:
+com.android.tools.r8.graph.PrunedItems -> com.android.tools.r8.internal.gQ:
     com.android.tools.r8.graph.DexApplication prunedApp -> a
     java.util.Set noLongerSyntheticItems -> c
     java.util.Set removedClasses -> d
@@ -34707,8 +34796,8 @@
     1:1:boolean hasRemovedFields():83:83 -> i
     1:1:boolean hasRemovedMethods():91:91 -> j
     1:4:boolean isEmpty():44:47 -> k
-com.android.tools.r8.graph.PrunedItems$1 -> com.android.tools.r8.internal.ZP:
-com.android.tools.r8.graph.PrunedItems$Builder -> com.android.tools.r8.internal.aQ:
+com.android.tools.r8.graph.PrunedItems$1 -> com.android.tools.r8.internal.eQ:
+com.android.tools.r8.graph.PrunedItems$Builder -> com.android.tools.r8.internal.fQ:
     com.android.tools.r8.graph.DexApplication prunedApp -> a
     java.util.Set noLongerSyntheticItems -> c
     java.util.Set removedClasses -> d
@@ -34725,7 +34814,7 @@
     1:2:com.android.tools.r8.graph.PrunedItems$Builder addRemovedClasses(java.util.Set):133:134 -> b
     1:1:com.android.tools.r8.graph.PrunedItems$Builder setRemovedClasses(java.util.Set):149:149 -> c
     1:1:com.android.tools.r8.graph.PrunedItems$Builder setRemovedMethods(java.util.Set):154:154 -> d
-com.android.tools.r8.graph.RewrittenPrototypeDescription -> com.android.tools.r8.graph.g3:
+com.android.tools.r8.graph.RewrittenPrototypeDescription -> com.android.tools.r8.graph.i3:
     java.util.List extraParameters -> a
     com.android.tools.r8.graph.RewrittenPrototypeDescription NONE -> d
     com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection argumentInfoCollection -> b
@@ -34788,8 +34877,8 @@
     2:2:int numberOfExtraParameters():685:685 -> j
     2:2:boolean requiresRewritingAtCallSite():702 -> j
     3:4:boolean requiresRewritingAtCallSite():702:703 -> j
-com.android.tools.r8.graph.RewrittenPrototypeDescription$1 -> com.android.tools.r8.graph.a3:
-com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo -> com.android.tools.r8.graph.c3:
+com.android.tools.r8.graph.RewrittenPrototypeDescription$1 -> com.android.tools.r8.graph.c3:
+com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo -> com.android.tools.r8.graph.e3:
     boolean $assertionsDisabled -> b
     com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo NO_INFO -> a
     1:3:void <clinit>():41:43 -> <clinit>
@@ -34798,14 +34887,14 @@
     com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo combine(com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo) -> a
     com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens) -> a
     com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo asRewrittenTypeInfo() -> b
-com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo$1 -> com.android.tools.r8.graph.b3:
+com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo$1 -> com.android.tools.r8.graph.d3:
     boolean $assertionsDisabled -> c
     1:1:void <clinit>():44:44 -> <clinit>
     1:1:void <init>():44:44 -> <init>
     com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens) -> a
     1:1:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo combine(com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo):48:48 -> a
     1:1:int hashCode():65:65 -> hashCode
-com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection -> com.android.tools.r8.graph.d3:
+com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection -> com.android.tools.r8.graph.f3:
     com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection EMPTY -> b
     boolean $assertionsDisabled -> c
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap argumentInfos -> a
@@ -34882,7 +34971,7 @@
     3:3:int numberOfRemovedArguments():387 -> h
     1:1:int hashCode():439:439 -> hashCode
     1:1:int size():403:403 -> i
-com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection$Builder -> com.android.tools.r8.graph.d3$a:
+com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection$Builder -> com.android.tools.r8.graph.f3$a:
     boolean $assertionsDisabled -> b
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap argumentInfos -> a
     1:1:void <clinit>():446:446 -> <clinit>
@@ -34890,7 +34979,7 @@
     1:5:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection$Builder addArgumentInfo(int,com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo):451:455 -> a
     6:9:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection build():460:463 -> a
     10:10:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection build():461:461 -> a
-com.android.tools.r8.graph.RewrittenPrototypeDescription$RemovedArgumentInfo -> com.android.tools.r8.graph.e3:
+com.android.tools.r8.graph.RewrittenPrototypeDescription$RemovedArgumentInfo -> com.android.tools.r8.graph.g3:
     com.android.tools.r8.graph.DexType type -> d
     boolean $assertionsDisabled -> e
     com.android.tools.r8.ir.analysis.value.SingleValue singleValue -> c
@@ -34912,7 +35001,7 @@
     1:5:boolean equals(java.lang.Object):192:196 -> equals
     1:1:boolean hasSingleValue():147:147 -> f
     1:1:int hashCode():201:201 -> hashCode
-com.android.tools.r8.graph.RewrittenPrototypeDescription$RemovedArgumentInfo$Builder -> com.android.tools.r8.graph.e3$a:
+com.android.tools.r8.graph.RewrittenPrototypeDescription$RemovedArgumentInfo$Builder -> com.android.tools.r8.graph.g3$a:
     com.android.tools.r8.ir.analysis.value.SingleValue singleValue -> a
     com.android.tools.r8.graph.DexType type -> b
     boolean $assertionsDisabled -> c
@@ -34921,7 +35010,7 @@
     1:1:com.android.tools.r8.graph.RewrittenPrototypeDescription$RemovedArgumentInfo$Builder setSingleValue(com.android.tools.r8.ir.analysis.value.SingleValue):119:119 -> a
     2:2:com.android.tools.r8.graph.RewrittenPrototypeDescription$RemovedArgumentInfo$Builder setType(com.android.tools.r8.graph.DexType):124:124 -> a
     3:4:com.android.tools.r8.graph.RewrittenPrototypeDescription$RemovedArgumentInfo build():129:130 -> a
-com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo -> com.android.tools.r8.graph.f3:
+com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo -> com.android.tools.r8.graph.h3:
     com.android.tools.r8.graph.DexType newType -> d
     com.android.tools.r8.graph.DexType oldType -> c
     boolean $assertionsDisabled -> f
@@ -34959,7 +35048,7 @@
     1:1:boolean hasBeenChangedToReturnVoid():245:245 -> f
     1:1:boolean hasSingleValue():249:249 -> g
     1:1:int hashCode():303:303 -> hashCode
-com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer -> com.android.tools.r8.internal.yU:
+com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer -> com.android.tools.r8.internal.DU:
     com.android.tools.r8.graph.RewrittenPrototypeDescription prototypeChanges -> a
     1:1:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer.<init>():18:18 -> <init>
     1:1:void <init>(com.android.tools.r8.graph.RewrittenPrototypeDescription):28 -> <init>
@@ -35023,7 +35112,7 @@
     1:1:java.util.BitSet fixupNonNullParamOnNormalExits(java.util.BitSet):110:110 -> b
     1:1:java.util.BitSet fixupNonNullParamOrThrow(java.util.BitSet):119:119 -> c
     1:1:java.util.BitSet fixupUnusedArguments(java.util.BitSet):157:157 -> d
-com.android.tools.r8.graph.SmaliWriter -> com.android.tools.r8.internal.QV:
+com.android.tools.r8.graph.SmaliWriter -> com.android.tools.r8.internal.VV:
     1:1:void <init>(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.InternalOptions):21:21 -> <init>
     void writeField(com.android.tools.r8.graph.DexEncodedField,java.io.PrintStream) -> a
     1:10:java.lang.String smali(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):26:35 -> a
@@ -35032,17 +35121,17 @@
     19:21:void writeMethod(com.android.tools.r8.graph.ProgramMethod,java.io.PrintStream):71:73 -> a
     1:3:void writeClassFooter(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):64:66 -> b
     1:13:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):45:57 -> c
-com.android.tools.r8.graph.SortedProgramPackage -> com.android.tools.r8.internal.ZV:
+com.android.tools.r8.graph.SortedProgramPackage -> com.android.tools.r8.internal.eW:
     1:1:void <init>(java.lang.String):12:12 -> <init>
     1:1:int lambda$new$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):12:12 -> a
     1:1:java.util.Set lambda$new$1():12:12 -> d
-com.android.tools.r8.graph.SortedProgramPackageCollection -> com.android.tools.r8.internal.aW:
+com.android.tools.r8.graph.SortedProgramPackageCollection -> com.android.tools.r8.internal.fW:
     boolean $assertionsDisabled -> c
     1:1:void <clinit>():9:9 -> <clinit>
     1:1:void <init>():12:12 -> <init>
     1:4:com.android.tools.r8.graph.SortedProgramPackageCollection createWithAllProgramClasses(com.android.tools.r8.graph.AppView):16:19 -> a
     5:7:boolean addProgramClass(com.android.tools.r8.graph.DexProgramClass):26:28 -> a
-com.android.tools.r8.graph.SubtypingInfo -> com.android.tools.r8.internal.mY:
+com.android.tools.r8.graph.SubtypingInfo -> com.android.tools.r8.internal.rY:
     java.util.Map typeInfo -> b
     java.util.Map subtypeMap -> c
     java.util.Set NO_DIRECT_SUBTYPE -> d
@@ -35082,7 +35171,7 @@
     1:1:boolean lambda$allImmediateImplementsSubtypes$3(com.android.tools.r8.graph.DexType):219:219 -> h
     1:1:java.util.Set lambda$populateSuperType$0(com.android.tools.r8.graph.DexType):60:60 -> i
     1:3:java.util.Set subtypes(com.android.tools.r8.graph.DexType):166:168 -> j
-com.android.tools.r8.graph.SubtypingInfo$TypeInfo -> com.android.tools.r8.internal.lY:
+com.android.tools.r8.graph.SubtypingInfo$TypeInfo -> com.android.tools.r8.internal.qY:
     java.util.Set directSubtypes -> c
     com.android.tools.r8.graph.DexType type -> a
     int hierarchyLevel -> b
@@ -35100,22 +35189,22 @@
     1:5:boolean equals(java.lang.Object):246:250 -> equals
     1:1:int hashCode():241:241 -> hashCode
     1:1:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":512,"2":513,"3":514}}
-    512:512:java.lang.String toString():255:255 -> toString
-    513:513:java.lang.String toString():255:255 -> toString
-    514:514:java.lang.String toString():255:255 -> toString
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":258,"2":259,"3":260}}
+    258:258:java.lang.String toString():255:255 -> toString
+    259:259:java.lang.String toString():255:255 -> toString
+    260:260:java.lang.String toString():255:255 -> toString
     256:256:java.lang.String toString():255:255 -> toString
     257:257:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":515,"2":516,"3":517}}
-    515:515:java.lang.String toString():255:255 -> toString
-    516:516:java.lang.String toString():255:255 -> toString
-    517:517:java.lang.String toString():255:255 -> toString
-com.android.tools.r8.graph.SuccessfulMemberResolutionResult -> com.android.tools.r8.internal.nY:
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":258,"2":259,"3":260}}
+    258:258:java.lang.String toString():255:255 -> toString
+    259:259:java.lang.String toString():255:255 -> toString
+    260:260:java.lang.String toString():255:255 -> toString
+com.android.tools.r8.graph.SuccessfulMemberResolutionResult -> com.android.tools.r8.internal.sY:
     com.android.tools.r8.graph.DexClass getInitialResolutionHolder() -> a
     com.android.tools.r8.graph.DexEncodedMember getResolvedMember() -> b
     com.android.tools.r8.graph.DexClassAndMember getResolutionPair() -> c
     com.android.tools.r8.graph.DexClass getResolvedHolder() -> d
-com.android.tools.r8.graph.ThrowExceptionCode -> com.android.tools.r8.graph.h3:
+com.android.tools.r8.graph.ThrowExceptionCode -> com.android.tools.r8.graph.j3:
     com.android.tools.r8.graph.DexType exceptionType -> d
     1:2:void <init>(com.android.tools.r8.graph.DexType):30:31 -> <init>
     com.android.tools.r8.graph.DexDebugInfoForWriting getDebugInfoForWriting() -> B
@@ -35147,21 +35236,21 @@
     21:21:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):235:235 -> a
     int getIncomingRegisterSize(com.android.tools.r8.graph.ProgramMethod) -> b
     void setCallSiteContexts(com.android.tools.r8.graph.ProgramMethod) -> c
-    1:1:int computeHashCode():91:91 -> f0
     1:5:boolean computeEquals(java.lang.Object):99:103 -> g
-    com.android.tools.r8.graph.DexWritableCode asDexWritableCode() -> h0
-    int estimatedDexCodeSizeUpperBoundInBytes() -> j0
+    1:1:int computeHashCode():91:91 -> g0
+    com.android.tools.r8.graph.DexWritableCode asDexWritableCode() -> i0
+    int estimatedDexCodeSizeUpperBoundInBytes() -> k0
     1:1:com.android.tools.r8.graph.DexWritableCode$DexWritableCodeKind getDexWritableCodeKind():113:113 -> m
-    boolean isDexWritableCode() -> o0
     1:1:com.android.tools.r8.graph.DexCode$Try[] getTries():148:148 -> p
+    boolean isDexWritableCode() -> p0
     com.android.tools.r8.graph.Code asCode() -> q
-    boolean isSharedCodeObject() -> q0
+    boolean isSharedCodeObject() -> r0
     com.android.tools.r8.graph.ThrowExceptionCode asThrowExceptionCode() -> s
     1:1:java.lang.String toString():230:230 -> toString
     1:1:com.android.tools.r8.graph.DexCode$TryHandler[] getHandlers():123:123 -> v
     com.android.tools.r8.graph.DexString getHighestSortingString() -> x
     int getOutgoingRegisterSize() -> z
-com.android.tools.r8.graph.ThrowNullCode -> com.android.tools.r8.graph.j3:
+com.android.tools.r8.graph.ThrowNullCode -> com.android.tools.r8.graph.l3:
     com.android.tools.r8.graph.ThrowNullCode INSTANCE -> d
     1:1:void <clinit>():35:35 -> <clinit>
     1:1:void <init>():37:37 -> <init>
@@ -35193,23 +35282,23 @@
     1:3:int getIncomingRegisterSize(com.android.tools.r8.graph.ProgramMethod):136 -> b
     com.android.tools.r8.graph.CfWritableCode$CfWritableCodeKind getCfWritableCodeKind() -> b0
     void setCallSiteContexts(com.android.tools.r8.graph.ProgramMethod) -> c
-    1:1:int computeHashCode():96:96 -> f0
     boolean computeEquals(java.lang.Object) -> g
-    com.android.tools.r8.graph.CfWritableCode asCfWritableCode() -> g0
-    com.android.tools.r8.graph.DexWritableCode asDexWritableCode() -> h0
-    int estimatedDexCodeSizeUpperBoundInBytes() -> j0
+    1:1:int computeHashCode():96:96 -> g0
+    com.android.tools.r8.graph.CfWritableCode asCfWritableCode() -> h0
+    com.android.tools.r8.graph.DexWritableCode asDexWritableCode() -> i0
+    int estimatedDexCodeSizeUpperBoundInBytes() -> k0
     1:1:com.android.tools.r8.graph.DexWritableCode$DexWritableCodeKind getDexWritableCodeKind():116:116 -> m
-    boolean isCfWritableCode() -> m0
-    boolean isDexWritableCode() -> o0
+    boolean isCfWritableCode() -> n0
     1:1:com.android.tools.r8.graph.DexCode$Try[] getTries():159:159 -> p
+    boolean isDexWritableCode() -> p0
     com.android.tools.r8.graph.Code asCode() -> q
-    boolean isSharedCodeObject() -> q0
-    1:1:com.android.tools.r8.graph.ThrowNullCode get():40:40 -> s0
+    boolean isSharedCodeObject() -> r0
+    1:1:com.android.tools.r8.graph.ThrowNullCode get():40:40 -> t0
     1:1:java.lang.String toString():258:258 -> toString
     1:1:com.android.tools.r8.graph.DexCode$TryHandler[] getHandlers():126:126 -> v
     com.android.tools.r8.graph.DexString getHighestSortingString() -> x
     int getOutgoingRegisterSize() -> z
-com.android.tools.r8.graph.ThrowNullCode$ThrowNullSourceCode -> com.android.tools.r8.graph.i3:
+com.android.tools.r8.graph.ThrowNullCode$ThrowNullSourceCode -> com.android.tools.r8.graph.k3:
     1:6:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Position):274:279 -> <init>
     7:7:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Position):273:273 -> <init>
     1:1:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):283:283 -> d
@@ -35217,7 +35306,7 @@
     2:2:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):283 -> d
     1:1:void lambda$getInstructionBuilders$1(com.android.tools.r8.ir.conversion.IRBuilder):283:283 -> e
     1:1:java.util.List getInstructionBuilders():283:283 -> f
-com.android.tools.r8.graph.ThrowingInitClassLens -> com.android.tools.r8.internal.gZ:
+com.android.tools.r8.graph.ThrowingInitClassLens -> com.android.tools.r8.internal.lZ:
     com.android.tools.r8.graph.ThrowingInitClassLens INSTANCE -> a
     1:1:void <clinit>():11:11 -> <clinit>
     1:1:void <init>():13:13 -> <init>
@@ -35236,7 +35325,7 @@
     31:31:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):21:21 -> a
     24:24:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):21:21 -> a
     1:1:com.android.tools.r8.graph.ThrowingInitClassLens getInstance():16:16 -> c
-com.android.tools.r8.graph.TopDownClassHierarchyTraversal -> com.android.tools.r8.internal.zZ:
+com.android.tools.r8.graph.TopDownClassHierarchyTraversal -> com.android.tools.r8.internal.FZ:
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ClassHierarchyTraversal$Scope):14:14 -> <init>
     1:1:com.android.tools.r8.graph.TopDownClassHierarchyTraversal forAllClasses(com.android.tools.r8.graph.AppView):23:23 -> a
     2:3:com.android.tools.r8.graph.ClassHierarchyTraversal com.android.tools.r8.graph.ClassHierarchyTraversal.excludeInterfaces():60:61 -> a
@@ -35280,7 +35369,7 @@
     70:70:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):88:88 -> a
     com.android.tools.r8.graph.ClassHierarchyTraversal self() -> b
     1:1:com.android.tools.r8.graph.TopDownClassHierarchyTraversal forProgramClasses(com.android.tools.r8.graph.AppView):50:50 -> b
-com.android.tools.r8.graph.TreeFixerBase -> com.android.tools.r8.graph.k3:
+com.android.tools.r8.graph.TreeFixerBase -> com.android.tools.r8.graph.m3:
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
     java.util.Map programClassCache -> c
     com.android.tools.r8.graph.AppView appView -> a
@@ -35397,7 +35486,7 @@
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     38:44:java.util.List fixupInnerClassAttributes(java.util.List):223:229 -> b
     45:45:java.util.List fixupInnerClassAttributes(java.util.List):227:227 -> b
-com.android.tools.r8.graph.UseRegistry -> com.android.tools.r8.graph.l3:
+com.android.tools.r8.graph.UseRegistry -> com.android.tools.r8.graph.n3:
     com.android.tools.r8.graph.Definition context -> b
     com.android.tools.r8.utils.TraversalContinuation continuation -> c
     com.android.tools.r8.graph.AppView appView -> a
@@ -35421,7 +35510,7 @@
     54:57:void registerMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse):175:178 -> a
     58:67:void registerMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse):163:172 -> a
     68:69:void registerCallSiteBootstrapArgs(com.android.tools.r8.graph.DexCallSite,int,int):214:215 -> a
-    70:70:boolean com.android.tools.r8.graph.DexItemFactory.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexMethod):904:904 -> a
+    70:70:boolean com.android.tools.r8.graph.DexItemFactory.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexMethod):906:906 -> a
     70:70:void registerCallSiteBootstrapArgs(com.android.tools.r8.graph.DexCallSite,int,int):215 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     71:95:void registerCallSiteBootstrapArgs(com.android.tools.r8.graph.DexCallSite,int,int):218:242 -> a
@@ -35435,7 +35524,7 @@
     1:1:com.android.tools.r8.graph.DexItemFactory dexItemFactory():35:35 -> b
     1:1:void registerCallSiteExceptBootstrapArgs(com.android.tools.r8.graph.DexCallSite):201 -> b
     2:2:void registerCallSiteExceptBootstrapArgs(com.android.tools.r8.graph.DexCallSite):201:201 -> b
-    3:3:boolean com.android.tools.r8.graph.DexItemFactory.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexMethod):904:904 -> b
+    3:3:boolean com.android.tools.r8.graph.DexItemFactory.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexMethod):906:906 -> b
     3:3:void registerCallSiteExceptBootstrapArgs(com.android.tools.r8.graph.DexCallSite):201 -> b
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     4:10:void registerCallSiteExceptBootstrapArgs(com.android.tools.r8.graph.DexCallSite):204:210 -> b
@@ -35467,12 +35556,12 @@
     void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod) -> g
     void registerStaticFieldWrite(com.android.tools.r8.graph.DexField) -> g
     1:1:void registerStaticFieldWriteFromMethodHandle(com.android.tools.r8.graph.DexField):132:132 -> h
-com.android.tools.r8.graph.UseRegistry$MethodHandleUse -> com.android.tools.r8.internal.P10:
+com.android.tools.r8.graph.UseRegistry$MethodHandleUse -> com.android.tools.r8.internal.V10:
     com.android.tools.r8.graph.UseRegistry$MethodHandleUse ARGUMENT_TO_LAMBDA_METAFACTORY -> b
     com.android.tools.r8.graph.UseRegistry$MethodHandleUse NOT_ARGUMENT_TO_LAMBDA_METAFACTORY -> c
     1:2:void <clinit>():21:22 -> <clinit>
     1:1:void <init>(java.lang.String,int):20:20 -> <init>
-com.android.tools.r8.graph.UseRegistryWithResult -> com.android.tools.r8.internal.Q10:
+com.android.tools.r8.graph.UseRegistryWithResult -> com.android.tools.r8.internal.W10:
     java.lang.Object result -> e
     1:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.Definition,java.lang.Object):16:17 -> <init>
     1:1:java.lang.Object getResult():21:21 -> f
@@ -35497,7 +35586,7 @@
     24:24:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.androidapi.AndroidApiLevelCompute.computeApiLevelForDefinition(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.androidapi.ComputedApiLevel):44:44 -> a
     24:24:void computeAndSetApiLevelForDefinition(com.android.tools.r8.graph.DexClassAndMember):83 -> a
     25:25:void computeAndSetApiLevelForDefinition(com.android.tools.r8.graph.DexClassAndMember):82:82 -> a
-com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis -> com.android.tools.r8.internal.Z9:
+com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis -> com.android.tools.r8.internal.aa:
     com.android.tools.r8.ir.optimize.info.OptimizationFeedback feedback -> b
     com.android.tools.r8.graph.DexString kotlinAssertionsEnabled -> c
     java.util.List jacocoInstructionSequence -> f
@@ -35516,8 +35605,7 @@
     23:23:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isJavacInstructionSequence(com.android.tools.r8.graph.CfCode,int):197 -> a
     23:23:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):129 -> a
     23:23:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):47 -> a
-    24:24:boolean com.android.tools.r8.cf.code.CfInstruction.isFrame():0:0 -> a
-    24:24:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isJavacInstructionSequence(com.android.tools.r8.graph.CfCode,int):197 -> a
+    24:24:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isJavacInstructionSequence(com.android.tools.r8.graph.CfCode,int):197:197 -> a
     24:24:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):129 -> a
     24:24:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):47 -> a
     25:25:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
@@ -35538,8 +35626,7 @@
     43:43:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isJavacInstructionSequence(com.android.tools.r8.graph.CfCode,int):211 -> a
     43:43:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):129 -> a
     43:43:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):47 -> a
-    44:44:boolean com.android.tools.r8.cf.code.CfInstruction.isFrame():0:0 -> a
-    44:44:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isJavacInstructionSequence(com.android.tools.r8.graph.CfCode,int):211 -> a
+    44:44:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isJavacInstructionSequence(com.android.tools.r8.graph.CfCode,int):211:211 -> a
     44:44:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):129 -> a
     44:44:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):47 -> a
     45:45:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
@@ -35568,7 +35655,7 @@
     78:100:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasKotlincClinitAssertionCode(com.android.tools.r8.graph.ProgramMethod):148:170 -> a
     78:100:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):47 -> a
     101:101:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):48:48 -> a
-com.android.tools.r8.graph.analysis.EnqueuerAnalysis -> com.android.tools.r8.internal.Zh:
+com.android.tools.r8.graph.analysis.EnqueuerAnalysis -> com.android.tools.r8.internal.bi:
     1:1:void <init>():18:18 -> <init>
     void done(com.android.tools.r8.shaking.Enqueuer) -> a
     void notifyFailedMethodResolutionTarget(com.android.tools.r8.graph.DexEncodedMethod) -> a
@@ -35581,8 +35668,8 @@
     void processNewlyLiveField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition) -> a
     void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition) -> a
     void processTracedCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.DefaultEnqueuerUseRegistry) -> a
-com.android.tools.r8.graph.analysis.EnqueuerFieldAccessAnalysis -> com.android.tools.r8.internal.fi:
-com.android.tools.r8.graph.analysis.GetArrayOfMissingTypeVerifyErrorWorkaround -> com.android.tools.r8.internal.Xl:
+com.android.tools.r8.graph.analysis.EnqueuerFieldAccessAnalysis -> com.android.tools.r8.internal.hi:
+com.android.tools.r8.graph.analysis.GetArrayOfMissingTypeVerifyErrorWorkaround -> com.android.tools.r8.internal.Zl:
     com.android.tools.r8.shaking.Enqueuer enqueuer -> b
     com.android.tools.r8.androidapi.AndroidApiLevelCompute apiLevelCompute -> c
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
@@ -35596,7 +35683,7 @@
     1:15:boolean com.android.tools.r8.graph.analysis.GetArrayOfMissingTypeVerifyErrorWorkaround.isUnsafeToUseFieldOnDalvik(com.android.tools.r8.graph.DexField):79:93 -> b
     1:15:void traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult,com.android.tools.r8.graph.ProgramMethod):73 -> b
     16:16:void traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult,com.android.tools.r8.graph.ProgramMethod):74:74 -> b
-com.android.tools.r8.graph.analysis.InitializedClassesInInstanceMethodsAnalysis -> com.android.tools.r8.internal.ip:
+com.android.tools.r8.graph.analysis.InitializedClassesInInstanceMethodsAnalysis -> com.android.tools.r8.internal.kp:
     java.util.Map mapping -> b
     com.android.tools.r8.graph.AppView appView -> a
     1:1:void <init>(com.android.tools.r8.graph.AppView):61:61 -> <init>
@@ -35604,8 +35691,8 @@
     1:17:void processNewlyInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):67:83 -> a
     18:18:void processNewlyInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):81:81 -> a
     19:19:void done(com.android.tools.r8.shaking.Enqueuer):89:89 -> a
-com.android.tools.r8.graph.analysis.InitializedClassesInInstanceMethodsAnalysis$1 -> com.android.tools.r8.internal.gp:
-com.android.tools.r8.graph.analysis.InitializedClassesInInstanceMethodsAnalysis$InitializedClassesInInstanceMethods -> com.android.tools.r8.internal.hp:
+com.android.tools.r8.graph.analysis.InitializedClassesInInstanceMethodsAnalysis$1 -> com.android.tools.r8.internal.ip:
+com.android.tools.r8.graph.analysis.InitializedClassesInInstanceMethodsAnalysis$InitializedClassesInInstanceMethods -> com.android.tools.r8.internal.jp:
     java.util.Map mapping -> b
     com.android.tools.r8.graph.AppView appView -> a
     boolean $assertionsDisabled -> c
@@ -35613,7 +35700,7 @@
     1:1:void <init>(com.android.tools.r8.graph.AppView,java.util.Map,com.android.tools.r8.graph.analysis.InitializedClassesInInstanceMethodsAnalysis$1):20:20 -> <init>
     2:4:void <init>(com.android.tools.r8.graph.AppView,java.util.Map):26:28 -> <init>
     1:18:boolean isClassDefinitelyLoadedInInstanceMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):33:50 -> a
-com.android.tools.r8.graph.analysis.InvokeVirtualToInterfaceVerifyErrorWorkaround -> com.android.tools.r8.internal.Tu:
+com.android.tools.r8.graph.analysis.InvokeVirtualToInterfaceVerifyErrorWorkaround -> com.android.tools.r8.internal.Vu:
     com.android.tools.r8.shaking.Enqueuer enqueuer -> b
     com.android.tools.r8.utils.InternalOptions options -> c
     com.android.tools.r8.graph.DexType androidHardwareCamera2CameraDeviceType -> a
@@ -35630,12 +35717,12 @@
     6:6:boolean com.android.tools.r8.graph.analysis.InvokeVirtualToInterfaceVerifyErrorWorkaround.isInterfaceInSomeApiLevel(com.android.tools.r8.graph.DexType):67:67 -> a
     6:6:void traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):57 -> a
     7:7:void traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):58:58 -> a
-com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata -> com.android.tools.r8.internal.f6:
+com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata -> com.android.tools.r8.internal.g6:
     boolean isReadForWrite -> a
     1:2:void <init>(boolean):22:23 -> <init>
     1:1:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata$Builder builder():27:27 -> a
     1:1:boolean isReadForWrite():35:35 -> b
-com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata$Builder -> com.android.tools.r8.internal.e6:
+com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata$Builder -> com.android.tools.r8.internal.f6:
     boolean isReadForWrite -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():38:38 -> <clinit>
@@ -35645,7 +35732,7 @@
     2:2:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata build():52 -> a
     3:4:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata build():52:53 -> a
     1:1:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata$Builder setIsReadForWrite():47:47 -> b
-com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadata -> com.android.tools.r8.internal.h6:
+com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadata -> com.android.tools.r8.internal.i6:
     java.util.Map backing -> a
     com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadata EMPTY -> b
     boolean $assertionsDisabled -> c
@@ -35654,14 +35741,14 @@
     1:1:com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadata$Builder builder(com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider):29:29 -> a
     2:2:com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadata empty():34:34 -> a
     3:3:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata getMetadata(java.lang.Object):38:38 -> a
-com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadata$Builder -> com.android.tools.r8.internal.g6:
+com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadata$Builder -> com.android.tools.r8.internal.h6:
     java.util.Map backing -> b
     com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider bytecodeMetadataProvider -> a
     1:1:void <init>(com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider):47:47 -> <init>
     2:5:void <init>(com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider):45:48 -> <init>
     1:4:com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadata$Builder setMetadata(com.android.tools.r8.ir.code.Instruction,java.lang.Object):52:55 -> a
     5:5:com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadata build():61:61 -> a
-com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider -> com.android.tools.r8.internal.i6:
+com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider -> com.android.tools.r8.internal.j6:
     java.util.Map backing -> a
     com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider EMPTY -> b
     1:2:void <clinit>():21:22 -> <clinit>
@@ -35669,7 +35756,7 @@
     1:1:com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder builder():31:31 -> a
     2:2:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata getMetadata(com.android.tools.r8.ir.code.Instruction):43:43 -> a
     1:1:com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider empty():35:35 -> b
-com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder -> com.android.tools.r8.internal.i6$a:
+com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder -> com.android.tools.r8.internal.j6$a:
     java.util.Map builders -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():46:46 -> <clinit>
@@ -35677,10 +35764,10 @@
     1:4:com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder addMetadata(com.android.tools.r8.ir.code.Instruction,java.util.function.Consumer):57:60 -> a
     5:11:com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider build():65:71 -> a
     12:12:void lambda$build$0(java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata$Builder):70:70 -> a
-com.android.tools.r8.graph.classmerging.MergedClasses -> com.android.tools.r8.internal.kE:
+com.android.tools.r8.graph.classmerging.MergedClasses -> com.android.tools.r8.internal.pE:
     boolean hasBeenMergedIntoDifferentType(com.android.tools.r8.graph.DexType) -> a
     boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView) -> a
-com.android.tools.r8.graph.classmerging.MergedClassesCollection -> com.android.tools.r8.internal.lE:
+com.android.tools.r8.graph.classmerging.MergedClassesCollection -> com.android.tools.r8.internal.qE:
     java.util.List collection -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():15:15 -> <clinit>
@@ -35688,7 +35775,7 @@
     1:1:void add(com.android.tools.r8.graph.classmerging.MergedClasses):20:20 -> a
     2:3:boolean hasBeenMergedIntoDifferentType(com.android.tools.r8.graph.DexType):32:33 -> a
     4:5:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):52:53 -> a
-com.android.tools.r8.graph.classmerging.VerticallyMergedClasses -> com.android.tools.r8.internal.J20:
+com.android.tools.r8.graph.classmerging.VerticallyMergedClasses -> com.android.tools.r8.internal.P20:
     com.android.tools.r8.utils.collections.BidirectionalManyToOneMap mergedClasses -> a
     com.android.tools.r8.utils.collections.BidirectionalManyToOneMap mergedInterfaces -> b
     boolean $assertionsDisabled -> c
@@ -35719,7 +35806,7 @@
     1:1:java.util.Collection com.android.tools.r8.graph.classmerging.VerticallyMergedClasses.getSourcesFor(com.android.tools.r8.graph.DexType):45:45 -> f
     1:1:boolean isMergeTarget(com.android.tools.r8.graph.DexType):71 -> f
     2:2:boolean isMergeTarget(com.android.tools.r8.graph.DexType):71:71 -> f
-com.android.tools.r8.horizontalclassmerging.ClassInstanceFieldsMerger -> com.android.tools.r8.internal.ra:
+com.android.tools.r8.horizontalclassmerging.ClassInstanceFieldsMerger -> com.android.tools.r8.internal.sa:
     com.android.tools.r8.horizontalclassmerging.MergeGroup group -> b
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder lensBuilder -> c
@@ -35776,7 +35863,7 @@
     2:2:boolean lambda$fixAccessFlags$4(com.android.tools.r8.graph.DexEncodedField):123 -> b
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     1:1:void setClassIdField(com.android.tools.r8.graph.DexEncodedField):129:129 -> c
-com.android.tools.r8.horizontalclassmerging.ClassMerger -> com.android.tools.r8.internal.ya:
+com.android.tools.r8.horizontalclassmerging.ClassMerger -> com.android.tools.r8.internal.za:
     com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder classMethodsBuilder -> f
     boolean $assertionsDisabled -> n
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> d
@@ -35800,7 +35887,7 @@
     4:4:void mergeDirectMethods(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):109:109 -> a
     5:11:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeStaticClassInitializers(com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):116:122 -> a
     5:11:void mergeDirectMethods(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):110 -> a
-    12:12:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.createClassInitializer(com.android.tools.r8.graph.DexType):2381:2381 -> a
+    12:12:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.createClassInitializer(com.android.tools.r8.graph.DexType):2383:2383 -> a
     12:12:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeStaticClassInitializers(com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):122 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     12:12:void mergeDirectMethods(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):110 -> a
@@ -35822,7 +35909,7 @@
     24:37:void mergeDirectMethods(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):110 -> a
     38:38:void mergeDirectMethods(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):111:111 -> a
     39:43:void lambda$mergeDirectMethods$1(com.android.tools.r8.graph.ProgramMethod):151:155 -> a
-    44:44:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.createClassInitializer(com.android.tools.r8.graph.DexType):2381:2381 -> a
+    44:44:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.createClassInitializer(com.android.tools.r8.graph.DexType):2383:2383 -> a
     44:44:void lambda$mergeDirectMethods$1(com.android.tools.r8.graph.ProgramMethod):155 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     45:56:void lambda$mergeDirectMethods$1(com.android.tools.r8.graph.ProgramMethod):153:164 -> a
@@ -35894,8 +35981,8 @@
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     1:3:void mergeStaticFields():307:309 -> g
     1:3:void mergeVirtualMethods():204:206 -> h
-com.android.tools.r8.horizontalclassmerging.ClassMerger$1 -> com.android.tools.r8.internal.wa:
-com.android.tools.r8.horizontalclassmerging.ClassMerger$Builder -> com.android.tools.r8.internal.xa:
+com.android.tools.r8.horizontalclassmerging.ClassMerger$1 -> com.android.tools.r8.internal.xa:
+com.android.tools.r8.horizontalclassmerging.ClassMerger$Builder -> com.android.tools.r8.internal.ya:
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.horizontalclassmerging.IRCodeProvider codeProvider -> b
     boolean $assertionsDisabled -> e
@@ -35920,7 +36007,7 @@
     36:36:com.android.tools.r8.horizontalclassmerging.ClassMerger build(com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder):379 -> a
     37:37:com.android.tools.r8.horizontalclassmerging.ClassMerger build(com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder):382:382 -> a
     38:38:boolean lambda$build$3(com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger):376:376 -> a
-com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder -> com.android.tools.r8.internal.za:
+com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder -> com.android.tools.r8.internal.Aa:
     java.util.List virtualMethods -> b
     java.util.List directMethods -> c
     java.util.Set reservedMethods -> a
@@ -35933,7 +36020,7 @@
     6:11:void setClassMethods(com.android.tools.r8.graph.DexProgramClass):37:42 -> a
     1:3:void addVirtualMethod(com.android.tools.r8.graph.DexEncodedMethod):21:23 -> b
     4:4:boolean lambda$setClassMethods$1(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):39:39 -> b
-com.android.tools.r8.horizontalclassmerging.ClassStaticFieldsMerger -> com.android.tools.r8.internal.Wa:
+com.android.tools.r8.horizontalclassmerging.ClassStaticFieldsMerger -> com.android.tools.r8.internal.Xa:
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.horizontalclassmerging.MergeGroup group -> c
@@ -35949,7 +36036,7 @@
     20:22:void addField(com.android.tools.r8.graph.DexEncodedField):56:58 -> a
     23:23:void addFields(com.android.tools.r8.graph.DexProgramClass):62:62 -> a
     24:24:void merge():66:66 -> a
-com.android.tools.r8.horizontalclassmerging.ConstructorEntryPoint -> com.android.tools.r8.internal.ce:
+com.android.tools.r8.horizontalclassmerging.ConstructorEntryPoint -> com.android.tools.r8.internal.de:
     boolean $assertionsDisabled -> o
     com.android.tools.r8.graph.DexField classIdField -> m
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap typeConstructors -> n
@@ -35982,7 +36069,7 @@
     2:2:boolean com.android.tools.r8.horizontalclassmerging.ConstructorEntryPoint.hasClassIdField():53:53 -> k
     2:2:void prepareSingleConstructorInstructions():126 -> k
     3:6:void prepareSingleConstructorInstructions():127:130 -> k
-com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger -> com.android.tools.r8.internal.Rm:
+com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger -> com.android.tools.r8.internal.Tm:
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode mode -> b
     com.android.tools.r8.utils.InternalOptions$HorizontalClassMergerOptions options -> c
@@ -36049,16 +36136,16 @@
     81:81:boolean lambda$createFieldAccessInfoCollectionModifier$3(com.android.tools.r8.graph.DexEncodedMethod):166:166 -> b
     82:82:void lambda$createFieldAccessInfoCollectionModifier$4(com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier$Builder,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.ProgramMethod):167:167 -> b
     83:90:boolean verifyNoCyclesInInterfaceHierarchies(java.util.Collection):246:253 -> b
-com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode -> com.android.tools.r8.internal.Qm:
+com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode -> com.android.tools.r8.internal.Sm:
     com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode INITIAL -> b
     com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode FINAL -> c
     1:2:void <clinit>():30:31 -> <clinit>
     1:1:void <init>(java.lang.String,int):29:29 -> <init>
     1:1:boolean isFinal():38:38 -> a
     1:1:boolean isInitial():34:34 -> b
-com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerCfCode -> com.android.tools.r8.internal.Sm:
+com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerCfCode -> com.android.tools.r8.internal.Um:
     1:1:void <init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):26:26 -> <init>
-com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens -> com.android.tools.r8.internal.Vm:
+com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens -> com.android.tools.r8.internal.Xm:
     java.util.Map methodExtraParameters -> n
     com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses mergedClasses -> o
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,java.util.Map,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap,java.util.Map,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$1):30:30 -> <init>
@@ -36074,8 +36161,8 @@
     3:3:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> f
     3:3:java.lang.Iterable com.android.tools.r8.utils.IterableUtils.prependSingleton(java.lang.Object,java.lang.Iterable):136 -> f
     3:3:java.lang.Iterable internalGetOriginalTypes(com.android.tools.r8.graph.DexType):49 -> f
-com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$1 -> com.android.tools.r8.internal.Tm:
-com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder -> com.android.tools.r8.internal.Um:
+com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$1 -> com.android.tools.r8.internal.Vm:
+com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder -> com.android.tools.r8.internal.Wm:
     com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap newMethodSignatures -> c
     com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap newFieldSignatures -> a
     java.util.Map methodExtraParameters -> d
@@ -36125,7 +36212,7 @@
     2:2:void moveMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):167 -> c
     3:3:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.moveMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean):172:172 -> c
     3:3:void moveMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):167 -> c
-com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerUtils -> com.android.tools.r8.internal.Wm:
+com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerUtils -> com.android.tools.r8.internal.Ym:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():11:11 -> <clinit>
     1:4:boolean isClassIdField(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedField):14:17 -> a
@@ -36135,7 +36222,7 @@
     7:7:boolean com.android.tools.r8.graph.DexField.match(com.android.tools.r8.graph.DexField):181:181 -> a
     7:7:boolean isClassIdField(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedField):19 -> a
     8:8:boolean isClassIdField(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedField):19:19 -> a
-com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses -> com.android.tools.r8.internal.Ym:
+com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses -> com.android.tools.r8.internal.an:
     com.android.tools.r8.utils.collections.BidirectionalManyToOneMap mergedClasses -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():19:19 -> <clinit>
@@ -36176,7 +36263,7 @@
     2:2:boolean hasBeenMergedOrIsMergeTarget(com.android.tools.r8.graph.DexType):89:89 -> d
     1:1:boolean isEmpty():80:80 -> e
     2:2:boolean isMergeTarget(com.android.tools.r8.graph.DexType):85:85 -> e
-com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses$Builder -> com.android.tools.r8.internal.Xm:
+com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses$Builder -> com.android.tools.r8.internal.Zm:
     com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneMap mergedClasses -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():107:107 -> <clinit>
@@ -36186,11 +36273,11 @@
     4:4:void lambda$addMergeGroup$0(com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.DexProgramClass):118:118 -> a
     5:5:com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses$Builder addMergeGroups(java.lang.Iterable):122:122 -> a
     6:6:com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses build():127:127 -> a
-com.android.tools.r8.horizontalclassmerging.IRCodeProvider -> com.android.tools.r8.internal.qn:
+com.android.tools.r8.horizontalclassmerging.IRCodeProvider -> com.android.tools.r8.internal.sn:
     com.android.tools.r8.graph.AppView appViewForConversion -> a
     1:10:void <init>(com.android.tools.r8.graph.AppView):17:26 -> <init>
     1:3:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod):31:33 -> a
-com.android.tools.r8.horizontalclassmerging.InstanceInitializerAnalysis -> com.android.tools.r8.internal.Rp:
+com.android.tools.r8.horizontalclassmerging.InstanceInitializerAnalysis -> com.android.tools.r8.internal.Tp:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():36:36 -> <clinit>
     1:1:com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription$Builder com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription.builder(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):83:83 -> a
@@ -36212,7 +36299,7 @@
     235:235:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
     235:235:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo getInitializationInfo(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Value):171 -> a
     236:237:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo getInitializationInfo(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Value):173:174 -> a
-com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription -> com.android.tools.r8.internal.Tp:
+com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription -> com.android.tools.r8.internal.Vp:
     java.util.Map instanceFieldAssignmentsPre -> a
     java.util.Map instanceFieldAssignmentsPost -> b
     com.android.tools.r8.graph.DexTypeList relaxedParameters -> e
@@ -36260,7 +36347,7 @@
     137:137:int addCfInstructionsForInitializationInfo(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo,int[],com.android.tools.r8.graph.DexType):235:235 -> a
     1:8:boolean equals(java.lang.Object):243:250 -> equals
     1:1:int hashCode():255:255 -> hashCode
-com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription$Builder -> com.android.tools.r8.internal.Sp:
+com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription$Builder -> com.android.tools.r8.internal.Up:
     java.util.Map instanceFieldAssignmentsPre -> c
     java.util.Map instanceFieldAssignmentsPost -> d
     java.util.List parentConstructorArguments -> f
@@ -36276,7 +36363,7 @@
     21:23:boolean addInvokeConstructor(com.android.tools.r8.graph.DexMethod,java.util.List):308:310 -> a
     24:25:com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription build():317:318 -> a
     1:1:boolean isValid():327:327 -> b
-com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger -> com.android.tools.r8.internal.Xp:
+com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger -> com.android.tools.r8.internal.Zp:
     com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder lensBuilder -> g
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> c
     com.android.tools.r8.graph.AppView appView -> a
@@ -36384,7 +36471,7 @@
     2:7:com.android.tools.r8.graph.DexMethod moveInstanceInitializer(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.graph.ProgramMethod):246:251 -> b
     8:22:com.android.tools.r8.graph.DexMethod moveInstanceInitializer(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.graph.ProgramMethod):247:261 -> b
     1:1:int size():166:166 -> c
-com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger$Builder -> com.android.tools.r8.internal.Wp:
+com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger$Builder -> com.android.tools.r8.internal.Yp:
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode mode -> f
     java.util.List instanceInitializerGroups -> d
@@ -36407,7 +36494,7 @@
     18:18:com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger lambda$build$0(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.List):220 -> a
     19:22:com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger buildSingle(com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription):226:229 -> a
     1:1:com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger$Builder addEquivalent(com.android.tools.r8.graph.ProgramMethod):211:211 -> b
-com.android.tools.r8.horizontalclassmerging.InstanceInitializerMergerCollection -> com.android.tools.r8.internal.Yp:
+com.android.tools.r8.horizontalclassmerging.InstanceInitializerMergerCollection -> com.android.tools.r8.internal.aq:
     java.util.List instanceInitializerMergers -> a
     java.util.Map equivalentInstanceInitializerMergers -> b
     1:3:void <init>(java.util.List,java.util.Map):34:36 -> <init>
@@ -36422,7 +36509,7 @@
     99:104:void lambda$create$5(java.util.Map,com.android.tools.r8.graph.AppView,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.graph.ProgramMethod):94:99 -> a
     105:105:com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger$Builder lambda$create$4(com.android.tools.r8.graph.AppView,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.graph.DexProto):97:97 -> a
     106:107:void forEach(java.util.function.Consumer):122:123 -> a
-com.android.tools.r8.horizontalclassmerging.MergeGroup -> com.android.tools.r8.internal.jE:
+com.android.tools.r8.horizontalclassmerging.MergeGroup -> com.android.tools.r8.internal.oE:
     com.android.tools.r8.utils.collections.BidirectionalManyToOneMap instanceFieldMap -> e
     com.android.tools.r8.graph.DexProgramClass target -> d
     boolean $assertionsDisabled -> f
@@ -36515,23 +36602,23 @@
     1:1:int size():227:227 -> size
     1:1:java.lang.Object[] toArray():260:260 -> toArray
     2:2:java.lang.Object[] toArray(java.lang.Object[]):265:265 -> toArray
-com.android.tools.r8.horizontalclassmerging.MultiClassPolicy -> com.android.tools.r8.internal.cG:
+com.android.tools.r8.horizontalclassmerging.MultiClassPolicy -> com.android.tools.r8.internal.hG:
     1:1:void <init>():9:9 -> <init>
     java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup) -> a
     com.android.tools.r8.horizontalclassmerging.MultiClassPolicy asMultiClassPolicy() -> a
     boolean isMultiClassPolicy() -> g
-com.android.tools.r8.horizontalclassmerging.MultiClassPolicyWithPreprocessing -> com.android.tools.r8.internal.dG:
+com.android.tools.r8.horizontalclassmerging.MultiClassPolicyWithPreprocessing -> com.android.tools.r8.internal.iG:
     1:1:void <init>():11:11 -> <init>
     java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Object) -> a
     java.lang.Object preprocess(java.util.Collection,java.util.concurrent.ExecutorService) -> a
     com.android.tools.r8.horizontalclassmerging.MultiClassPolicyWithPreprocessing asMultiClassPolicyWithPreprocessing() -> b
     boolean isMultiClassPolicyWithPreprocessing() -> h
-com.android.tools.r8.horizontalclassmerging.MultiClassSameReferencePolicy -> com.android.tools.r8.internal.eG:
+com.android.tools.r8.horizontalclassmerging.MultiClassSameReferencePolicy -> com.android.tools.r8.internal.jG:
     1:1:void <init>():12:12 -> <init>
     java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass) -> a
     1:9:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):16:24 -> a
     10:10:com.android.tools.r8.horizontalclassmerging.MergeGroup lambda$apply$0(java.lang.Object):20:20 -> a
-com.android.tools.r8.horizontalclassmerging.Policy -> com.android.tools.r8.internal.gM:
+com.android.tools.r8.horizontalclassmerging.Policy -> com.android.tools.r8.internal.lM:
     int numberOfRemovedInterfaces -> b
     boolean $assertionsDisabled -> c
     int numberOfRemovedClasses -> a
@@ -36553,7 +36640,7 @@
     boolean isMultiClassPolicyWithPreprocessing() -> h
     boolean isSingleClassPolicy() -> i
     boolean shouldSkipPolicy() -> j
-com.android.tools.r8.horizontalclassmerging.PolicyExecutor -> com.android.tools.r8.internal.hM:
+com.android.tools.r8.horizontalclassmerging.PolicyExecutor -> com.android.tools.r8.internal.mM:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():20:20 -> <clinit>
     1:1:void <init>():20:20 -> <init>
@@ -36573,7 +36660,7 @@
     1:1:void lambda$applyMultiClassPolicyWithPreprocessing$3(com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.horizontalclassmerging.MergeGroup):67:67 -> b
     2:2:void com.android.tools.r8.horizontalclassmerging.MergeGroup.applyMetadataFrom(com.android.tools.r8.horizontalclassmerging.MergeGroup):58:58 -> b
     2:2:void lambda$applyMultiClassPolicyWithPreprocessing$3(com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.horizontalclassmerging.MergeGroup):67 -> b
-com.android.tools.r8.horizontalclassmerging.PolicyScheduler -> com.android.tools.r8.internal.iM:
+com.android.tools.r8.horizontalclassmerging.PolicyScheduler -> com.android.tools.r8.internal.nM:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():63:63 -> <clinit>
     1:1:java.util.List getPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):71:71 -> a
@@ -36614,12 +36701,12 @@
     52:63:boolean verifySingleClassPoliciesIrrelevantForMergingSynthetics(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):140:151 -> a
     64:70:boolean verifyPolicyOrderingConstraints(java.util.List):242:248 -> a
     71:71:boolean lambda$verifyPolicyOrderingConstraints$0(com.android.tools.r8.horizontalclassmerging.Policy):244:244 -> a
-com.android.tools.r8.horizontalclassmerging.SingleClassPolicy -> com.android.tools.r8.internal.AV:
+com.android.tools.r8.horizontalclassmerging.SingleClassPolicy -> com.android.tools.r8.internal.FV:
     1:1:void <init>():9:9 -> <init>
     boolean canMerge(com.android.tools.r8.graph.DexProgramClass) -> a
     com.android.tools.r8.horizontalclassmerging.SingleClassPolicy asSingleClassPolicy() -> c
     boolean isSingleClassPolicy() -> i
-com.android.tools.r8.horizontalclassmerging.SubtypingForrestForClasses -> com.android.tools.r8.internal.kY:
+com.android.tools.r8.horizontalclassmerging.SubtypingForrestForClasses -> com.android.tools.r8.internal.pY:
     java.util.Map subtypeMap -> c
     com.android.tools.r8.graph.AppView appView -> a
     java.util.Collection roots -> b
@@ -36647,13 +36734,13 @@
     13:13:java.lang.Object traverseNodeDepthFirst(com.android.tools.r8.graph.DexProgramClass,java.lang.Object,java.util.function.BiFunction):74:74 -> a
     14:14:void lambda$traverseNodeDepthFirst$1(java.lang.Object,java.util.function.BiFunction,com.android.tools.r8.graph.DexProgramClass):74:74 -> a
     1:1:java.util.List lambda$calculateSubtyping$0(com.android.tools.r8.graph.DexProgramClass):59:59 -> b
-com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass -> com.android.tools.r8.internal.GY:
+com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass -> com.android.tools.r8.internal.LY:
     java.util.List syntheticClassTypes -> a
     1:1:void <init>(java.util.List,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass$1):33:33 -> <init>
     2:3:void <init>(java.util.List):37:38 -> <init>
     1:1:java.util.List getArgumentClasses():42:42 -> a
-com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass$1 -> com.android.tools.r8.internal.EY:
-com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass$Builder -> com.android.tools.r8.internal.FY:
+com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass$1 -> com.android.tools.r8.internal.JY:
+com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass$Builder -> com.android.tools.r8.internal.KY:
     com.android.tools.r8.graph.AppView appView -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():45:45 -> <clinit>
@@ -36666,7 +36753,7 @@
     10:13:com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass build(java.util.Collection):62:65 -> a
     14:17:com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass build(java.util.Collection):64:67 -> a
     18:20:com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass build(java.util.Collection):66:68 -> a
-com.android.tools.r8.horizontalclassmerging.TreeFixer -> com.android.tools.r8.internal.OZ:
+com.android.tools.r8.horizontalclassmerging.TreeFixer -> com.android.tools.r8.internal.UZ:
     boolean $assertionsDisabled -> n
     com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses mergedClasses -> g
     com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder lensBuilder -> i
@@ -36721,11 +36808,11 @@
     219:219:boolean com.android.tools.r8.utils.ArrayUtils.isEmpty(java.lang.Object[]):84:84 -> a
     219:219:com.android.tools.r8.graph.DexEncodedField[] fixupFields(com.android.tools.r8.graph.DexEncodedField[],java.util.Set):408 -> a
     220:234:com.android.tools.r8.graph.DexEncodedField[] fixupFields(com.android.tools.r8.graph.DexEncodedField[],java.util.Set):412:426 -> a
-    235:235:java.lang.Object com.android.tools.r8.graph.DexItemFactory.createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType):2194:2194 -> a
-    235:235:com.android.tools.r8.graph.DexMember com.android.tools.r8.graph.DexItemFactory.createFreshMember(java.util.function.Function,java.lang.String):2225 -> a
+    235:235:java.lang.Object com.android.tools.r8.graph.DexItemFactory.createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType):2196:2196 -> a
+    235:235:com.android.tools.r8.graph.DexMember com.android.tools.r8.graph.DexItemFactory.createFreshMember(java.util.function.Function,java.lang.String):2227 -> a
     235:235:com.android.tools.r8.graph.DexEncodedField[] fixupFields(com.android.tools.r8.graph.DexEncodedField[],java.util.Set):422 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
-    236:236:com.android.tools.r8.graph.DexMember com.android.tools.r8.graph.DexItemFactory.createFreshMember(java.util.function.Function,java.lang.String):2225:2225 -> a
+    236:236:com.android.tools.r8.graph.DexMember com.android.tools.r8.graph.DexItemFactory.createFreshMember(java.util.function.Function,java.lang.String):2227:2227 -> a
     236:236:com.android.tools.r8.graph.DexEncodedField[] fixupFields(com.android.tools.r8.graph.DexEncodedField[],java.util.Set):422 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     237:248:com.android.tools.r8.graph.DexEncodedField[] fixupFields(com.android.tools.r8.graph.DexEncodedField[],java.util.Set):422:433 -> a
@@ -36751,17 +36838,17 @@
     19:19:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> b
     19:19:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):200 -> b
     20:31:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):207:218 -> b
-    32:32:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexItemFactory.createGloballyFreshMemberString(java.lang.String,com.android.tools.r8.graph.DexType):2236:2236 -> b
-    32:32:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexItemFactory.createGloballyFreshMemberString(java.lang.String):2249 -> b
+    32:32:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexItemFactory.createGloballyFreshMemberString(java.lang.String,com.android.tools.r8.graph.DexType):2238:2238 -> b
+    32:32:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexItemFactory.createGloballyFreshMemberString(java.lang.String):2251 -> b
     32:32:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):217 -> b
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
-    33:42:java.lang.String com.android.tools.r8.graph.DexItemFactory.createMemberString(java.lang.String,com.android.tools.r8.graph.DexType,int):2180:2189 -> b
-    33:42:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexItemFactory.createGloballyFreshMemberString(java.lang.String,com.android.tools.r8.graph.DexType):2236 -> b
-    33:42:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexItemFactory.createGloballyFreshMemberString(java.lang.String):2249 -> b
+    33:42:java.lang.String com.android.tools.r8.graph.DexItemFactory.createMemberString(java.lang.String,com.android.tools.r8.graph.DexType,int):2182:2191 -> b
+    33:42:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexItemFactory.createGloballyFreshMemberString(java.lang.String,com.android.tools.r8.graph.DexType):2238 -> b
+    33:42:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexItemFactory.createGloballyFreshMemberString(java.lang.String):2251 -> b
     33:42:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):217 -> b
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(3)"]}
-    43:45:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexItemFactory.createGloballyFreshMemberString(java.lang.String,com.android.tools.r8.graph.DexType):2237:2239 -> b
-    43:45:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexItemFactory.createGloballyFreshMemberString(java.lang.String):2249 -> b
+    43:45:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexItemFactory.createGloballyFreshMemberString(java.lang.String,com.android.tools.r8.graph.DexType):2239:2241 -> b
+    43:45:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexItemFactory.createGloballyFreshMemberString(java.lang.String):2251 -> b
     43:45:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):217 -> b
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
     46:53:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):219:226 -> b
@@ -36779,7 +36866,7 @@
     7:7:void com.android.tools.r8.graph.DexClass.setInterfaces(com.android.tools.r8.graph.DexTypeList):173:173 -> c
     7:7:void fixupProgramClassSuperTypes(com.android.tools.r8.graph.DexProgramClass):162 -> c
     8:8:com.android.tools.r8.graph.DexEncodedMethod lambda$fixupProgramClass$1(java.util.Set,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):182:182 -> c
-com.android.tools.r8.horizontalclassmerging.VirtualMethodEntryPoint -> com.android.tools.r8.internal.Y20:
+com.android.tools.r8.horizontalclassmerging.VirtualMethodEntryPoint -> com.android.tools.r8.internal.e30:
     com.android.tools.r8.graph.DexMethod superMethod -> o
     boolean $assertionsDisabled -> p
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap mappedMethods -> m
@@ -36799,7 +36886,7 @@
     1:5:void handleReturn(int):101:105 -> i
     6:55:void prepareInstructions():111:160 -> i
     1:3:void addInvokeSuper():87:89 -> j
-com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger -> com.android.tools.r8.internal.b30:
+com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger -> com.android.tools.r8.internal.h30:
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.horizontalclassmerging.MergeGroup group -> c
@@ -36875,7 +36962,7 @@
     13:17:boolean isTrivial():173 -> d
     1:1:boolean lambda$getAccessFlags$4(com.android.tools.r8.graph.MethodAccessFlags):137:137 -> e
     1:1:boolean lambda$getAccessFlags$5(com.android.tools.r8.graph.MethodAccessFlags):140:140 -> f
-com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger$Builder -> com.android.tools.r8.internal.a30:
+com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger$Builder -> com.android.tools.r8.internal.g30:
     java.util.List methods -> a
     1:2:void <init>():50:51 -> <init>
     1:1:com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger$Builder add(com.android.tools.r8.graph.ProgramMethod):54:54 -> a
@@ -36883,7 +36970,7 @@
     3:21:com.android.tools.r8.graph.DexMethod com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger$Builder.superMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):61:79 -> a
     3:21:com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger build(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.MergeGroup):86 -> a
     22:22:com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger build(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.MergeGroup):87:87 -> a
-com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger -> com.android.tools.r8.internal.ha:
+com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger -> com.android.tools.r8.internal.ia:
     com.android.tools.r8.com.google.common.collect.ImmutableList classInitializers -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():53:53 -> <clinit>
@@ -36902,15 +36989,15 @@
     39:39:com.android.tools.r8.androidapi.ComputedApiLevel lambda$getApiReferenceLevel$3(com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.graph.ProgramMethod):107:107 -> a
     1:1:boolean isEmpty():73:73 -> b
     2:2:java.lang.Boolean lambda$getCode$1(com.android.tools.r8.graph.ProgramMethod):82:82 -> b
-com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger$1 -> com.android.tools.r8.internal.da:
-com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger$Builder -> com.android.tools.r8.internal.ea:
+com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger$1 -> com.android.tools.r8.internal.ea:
+com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger$Builder -> com.android.tools.r8.internal.fa:
     boolean $assertionsDisabled -> b
     com.android.tools.r8.com.google.common.collect.ImmutableList$Builder classInitializers -> a
     1:1:void <clinit>():110:110 -> <clinit>
     1:3:void <init>():110:112 -> <init>
     1:3:void add(com.android.tools.r8.graph.ProgramMethod):115:117 -> a
     4:4:com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger build():121:121 -> a
-com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger$CfCodeBuilder -> com.android.tools.r8.internal.fa:
+com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger$CfCodeBuilder -> com.android.tools.r8.internal.ga:
     com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger this$0 -> c
     int maxLocals -> b
     int maxStack -> a
@@ -36927,7 +37014,7 @@
     18:22:void lambda$buildInstructions$0(java.util.List,com.android.tools.r8.ir.code.Position,com.android.tools.r8.graph.ProgramMethod):144 -> a
     23:38:void com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger$CfCodeBuilder.addCfCode(java.util.List,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Position):160:175 -> a
     23:38:void lambda$buildInstructions$0(java.util.List,com.android.tools.r8.ir.code.Position,com.android.tools.r8.graph.ProgramMethod):144 -> a
-com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger$IRProvider -> com.android.tools.r8.internal.ga:
+com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger$IRProvider -> com.android.tools.r8.internal.ha:
     boolean $assertionsDisabled -> f
     com.android.tools.r8.graph.DexMethod syntheticMethodReference -> e
     com.android.tools.r8.com.google.common.collect.ImmutableList classInitializers -> d
@@ -36946,11 +37033,11 @@
     88:88:void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry):293:293 -> a
     89:89:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):298:298 -> a
     90:90:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):308:308 -> a
-    1:1:int computeHashCode():273:273 -> f0
     1:1:boolean computeEquals(java.lang.Object):278:278 -> g
-    1:1:int estimatedDexCodeSizeUpperBoundInBytes():283:283 -> j0
+    1:1:int computeHashCode():273:273 -> g0
+    1:1:int estimatedDexCodeSizeUpperBoundInBytes():283:283 -> k0
     1:1:java.lang.String toString():303:303 -> toString
-com.android.tools.r8.horizontalclassmerging.code.ConstructorEntryPointSynthesizedCode -> com.android.tools.r8.internal.de:
+com.android.tools.r8.horizontalclassmerging.code.ConstructorEntryPointSynthesizedCode -> com.android.tools.r8.internal.ee:
     com.android.tools.r8.graph.DexField classIdField -> f
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap typeConstructors -> g
     com.android.tools.r8.graph.DexMethod originalMethod -> e
@@ -36961,9 +37048,9 @@
     1:1:com.android.tools.r8.ir.conversion.SourceCode lambda$getSourceCodeProvider$0(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Position):36:36 -> a
     2:2:java.util.function.Consumer getRegistryCallback(com.android.tools.r8.graph.DexClassAndMethod):42:42 -> a
     3:6:void registerReachableDefinitions(com.android.tools.r8.graph.UseRegistry):46:49 -> a
-    boolean isHorizontalClassMergingCode() -> p0
-    1:1:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():35:35 -> s0
-com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter -> com.android.tools.r8.internal.NY:
+    boolean isHorizontalClassMergingCode() -> q0
+    1:1:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():35:35 -> t0
+com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter -> com.android.tools.r8.internal.SY:
     com.android.tools.r8.graph.AppView appView -> a
     java.util.List methods -> c
     com.android.tools.r8.horizontalclassmerging.IRCodeProvider codeProvider -> b
@@ -36977,8 +37064,8 @@
     10:12:void lambda$convert$0(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.ProgramMethod):61:63 -> a
     13:13:void lambda$convert$0(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.ProgramMethod):62:62 -> a
     14:14:boolean isEmpty():69:69 -> a
-com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$1 -> com.android.tools.r8.internal.LY:
-com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder -> com.android.tools.r8.internal.MY:
+com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$1 -> com.android.tools.r8.internal.QY:
+com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder -> com.android.tools.r8.internal.RY:
     com.android.tools.r8.graph.AppView appView -> a
     java.util.List methods -> c
     com.android.tools.r8.horizontalclassmerging.IRCodeProvider codeProvider -> b
@@ -36987,7 +37074,7 @@
     3:8:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider):76:81 -> <init>
     1:1:com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder add(com.android.tools.r8.graph.ProgramMethod):85:85 -> a
     2:2:com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter build():90:90 -> a
-com.android.tools.r8.horizontalclassmerging.code.VirtualMethodEntryPointSynthesizedCode -> com.android.tools.r8.internal.Z20:
+com.android.tools.r8.horizontalclassmerging.code.VirtualMethodEntryPointSynthesizedCode -> com.android.tools.r8.internal.f30:
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> e
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap mappedMethods -> f
     com.android.tools.r8.graph.DexMethod superMethod -> g
@@ -37006,7 +37093,7 @@
     14:14:void lambda$getRegistryCallback$1(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.UseRegistry):57 -> a
     15:15:void com.android.tools.r8.horizontalclassmerging.code.VirtualMethodEntryPointSynthesizedCode.registerReachableDefinitions(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.UseRegistry):71:71 -> a
     15:15:void lambda$getRegistryCallback$1(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.UseRegistry):57 -> a
-    boolean isHorizontalClassMergingCode() -> p0
+    boolean isHorizontalClassMergingCode() -> q0
 com.android.tools.r8.horizontalclassmerging.policies.AllInstantiatedOrUninstantiated -> com.android.tools.r8.internal.A1:
     com.android.tools.r8.graph.AppView appView -> d
     boolean $assertionsDisabled -> e
@@ -37015,19 +37102,19 @@
     1:1:java.lang.Boolean com.android.tools.r8.horizontalclassmerging.policies.AllInstantiatedOrUninstantiated.getMergeKey(com.android.tools.r8.graph.DexProgramClass):27:27 -> a
     1:1:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):13 -> a
     1:1:java.lang.String getName():32:32 -> e
-com.android.tools.r8.horizontalclassmerging.policies.CheckAbstractClasses -> com.android.tools.r8.internal.p9:
+com.android.tools.r8.horizontalclassmerging.policies.CheckAbstractClasses -> com.android.tools.r8.internal.q9:
     com.android.tools.r8.utils.InternalOptions options -> d
     1:2:void <init>(com.android.tools.r8.graph.AppView):23:24 -> <init>
     1:3:com.android.tools.r8.horizontalclassmerging.policies.CheckAbstractClasses$AbstractClassification com.android.tools.r8.horizontalclassmerging.policies.CheckAbstractClasses.getMergeKey(com.android.tools.r8.graph.DexProgramClass):41:43 -> a
     1:3:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):14 -> a
     1:1:java.lang.String getName():29:29 -> e
     1:1:boolean shouldSkipPolicy():36:36 -> j
-com.android.tools.r8.horizontalclassmerging.policies.CheckAbstractClasses$AbstractClassification -> com.android.tools.r8.internal.o9:
+com.android.tools.r8.horizontalclassmerging.policies.CheckAbstractClasses$AbstractClassification -> com.android.tools.r8.internal.p9:
     com.android.tools.r8.horizontalclassmerging.policies.CheckAbstractClasses$AbstractClassification NOT_ABSTRACT -> c
     com.android.tools.r8.horizontalclassmerging.policies.CheckAbstractClasses$AbstractClassification ABSTRACT -> b
     1:2:void <clinit>():17:18 -> <clinit>
     1:1:void <init>(java.lang.String,int):16:16 -> <init>
-com.android.tools.r8.horizontalclassmerging.policies.CheckSyntheticClasses -> com.android.tools.r8.internal.F9:
+com.android.tools.r8.horizontalclassmerging.policies.CheckSyntheticClasses -> com.android.tools.r8.internal.G9:
     com.android.tools.r8.synthesis.SyntheticItems syntheticItems -> e
     com.android.tools.r8.utils.InternalOptions$HorizontalClassMergerOptions options -> d
     1:3:void <init>(com.android.tools.r8.graph.AppView):19:21 -> <init>
@@ -37044,7 +37131,7 @@
     6:6:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):265 -> a
     6:6:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):29 -> a
     1:1:java.lang.String getName():37:37 -> e
-com.android.tools.r8.horizontalclassmerging.policies.FinalizeMergeGroup -> com.android.tools.r8.internal.sk:
+com.android.tools.r8.horizontalclassmerging.policies.FinalizeMergeGroup -> com.android.tools.r8.internal.uk:
     com.android.tools.r8.graph.AppView appView -> d
     boolean $assertionsDisabled -> f
     com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode mode -> e
@@ -37057,7 +37144,7 @@
     18:19:void lambda$verifyAlreadyFinalized$2(java.util.Set,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField):70:71 -> a
     1:9:boolean verifyAlreadyFinalized(com.android.tools.r8.horizontalclassmerging.MergeGroup):60:68 -> b
     1:1:java.lang.String getName():51:51 -> e
-com.android.tools.r8.horizontalclassmerging.policies.LimitClassGroups -> com.android.tools.r8.internal.MB:
+com.android.tools.r8.horizontalclassmerging.policies.LimitClassGroups -> com.android.tools.r8.internal.OB:
     boolean $assertionsDisabled -> e
     int maxGroupSize -> d
     1:1:void <clinit>():16:16 -> <clinit>
@@ -37072,7 +37159,7 @@
     20:20:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):28:28 -> a
     1:1:java.lang.String getName():58:58 -> e
     boolean isIdentityForInterfaceGroups() -> f
-com.android.tools.r8.horizontalclassmerging.policies.LimitInterfaceGroups -> com.android.tools.r8.internal.NB:
+com.android.tools.r8.horizontalclassmerging.policies.LimitInterfaceGroups -> com.android.tools.r8.internal.PB:
     int maxGroupSize -> d
     1:2:void <init>(com.android.tools.r8.graph.AppView):22:23 -> <init>
     1:6:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):29:34 -> a
@@ -37085,7 +37172,7 @@
     25:25:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):35 -> a
     26:26:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):37:37 -> a
     1:1:java.lang.String getName():61:61 -> e
-com.android.tools.r8.horizontalclassmerging.policies.MinimizeInstanceFieldCasts -> com.android.tools.r8.internal.hF:
+com.android.tools.r8.horizontalclassmerging.policies.MinimizeInstanceFieldCasts -> com.android.tools.r8.internal.mF:
     boolean $assertionsDisabled -> d
     1:1:void <clinit>():20:20 -> <clinit>
     1:1:void <init>():20:20 -> <init>
@@ -37097,19 +37184,19 @@
     40:42:void addExact(com.android.tools.r8.graph.DexProgramClass,java.util.Map):63 -> a
     43:43:void addExact(com.android.tools.r8.graph.DexProgramClass,java.util.Map):63:63 -> a
     1:1:java.lang.String getName():76:76 -> e
-com.android.tools.r8.horizontalclassmerging.policies.NoAnnotationClasses -> com.android.tools.r8.internal.SG:
+com.android.tools.r8.horizontalclassmerging.policies.NoAnnotationClasses -> com.android.tools.r8.internal.XG:
     1:1:void <init>():10:10 -> <init>
     1:1:boolean com.android.tools.r8.graph.DexClass.isAnnotation():652:652 -> a
     1:1:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):13 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     1:1:java.lang.String getName():18:18 -> e
-com.android.tools.r8.horizontalclassmerging.policies.NoCheckDiscard -> com.android.tools.r8.internal.TG:
+com.android.tools.r8.horizontalclassmerging.policies.NoCheckDiscard -> com.android.tools.r8.internal.YG:
     com.android.tools.r8.shaking.KeepInfoCollection keepInfo -> d
     com.android.tools.r8.utils.InternalOptions options -> e
     1:3:void <init>(com.android.tools.r8.graph.AppView):19:21 -> <init>
     1:1:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):26:26 -> a
     1:1:java.lang.String getName():31:31 -> e
-com.android.tools.r8.horizontalclassmerging.policies.NoClassAnnotationCollisions -> com.android.tools.r8.internal.UG:
+com.android.tools.r8.horizontalclassmerging.policies.NoClassAnnotationCollisions -> com.android.tools.r8.internal.ZG:
     1:1:void com.android.tools.r8.horizontalclassmerging.policies.AtMostOneClassThatMatchesPolicy.<init>():18:18 -> <init>
     1:1:void <init>():9 -> <init>
     1:2:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.AtMostOneClassThatMatchesPolicy.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):23:24 -> a
@@ -37137,7 +37224,7 @@
     21:24:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.AtMostOneClassThatMatchesPolicy.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):0 -> a
       # {"id":"com.android.tools.r8.synthesized"}
     1:1:java.lang.String getName():18:18 -> e
-com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles -> com.android.tools.r8.internal.XG:
+com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles -> com.android.tools.r8.internal.cH:
     com.android.tools.r8.graph.AppView appView -> d
     boolean $assertionsDisabled -> g
     java.util.Map allGroups -> e
@@ -37184,7 +37271,7 @@
     1:1:void clear():263:263 -> d
     1:1:java.lang.String getName():268:268 -> e
     1:2:boolean shouldSkipPolicy():286:287 -> j
-com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer -> com.android.tools.r8.internal.WG:
+com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer -> com.android.tools.r8.internal.bH:
     com.android.tools.r8.horizontalclassmerging.MergeGroup group -> a
     com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles this$0 -> h
     java.util.Set seenClassInitializers -> c
@@ -37216,7 +37303,7 @@
     5:6:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer.clearSeen():316:317 -> c
     5:6:void trace():393 -> c
     1:4:void recordClassInitializerReachableFromTracingRoots(com.android.tools.r8.graph.DexProgramClass):343:346 -> d
-com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry -> com.android.tools.r8.internal.VG:
+com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry -> com.android.tools.r8.internal.aH:
     com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer this$1 -> e
     1:2:void <init>(com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer,com.android.tools.r8.graph.ProgramMethod):409:410 -> <init>
     void registerCheckCast(com.android.tools.r8.graph.DexType,boolean) -> a
@@ -37245,7 +37332,7 @@
     41:41:void registerCallSite(com.android.tools.r8.graph.DexCallSite):575:575 -> a
     42:45:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.DexDefinitionSupplier):281:284 -> a
     42:45:void registerCallSite(com.android.tools.r8.graph.DexCallSite):575 -> a
-    46:46:boolean com.android.tools.r8.graph.DexItemFactory.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexMethod):904:904 -> a
+    46:46:boolean com.android.tools.r8.graph.DexItemFactory.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexMethod):906:906 -> a
     46:46:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.DexDefinitionSupplier):284 -> a
     46:46:void registerCallSite(com.android.tools.r8.graph.DexCallSite):575 -> a
     47:49:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.fail():415:417 -> a
@@ -37371,13 +37458,13 @@
     21:21:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexProgramClass):429:429 -> g
     21:21:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):423 -> g
     21:21:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):565 -> g
-com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerWithObservableSideEffects -> com.android.tools.r8.internal.YG:
+com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerWithObservableSideEffects -> com.android.tools.r8.internal.dH:
     1:1:void <init>():16:16 -> <init>
     1:5:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):20:24 -> a
     6:7:boolean com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerWithObservableSideEffects.isKotlinLambda(com.android.tools.r8.graph.DexProgramClass):28:29 -> a
     6:7:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):24 -> a
     1:1:java.lang.String getName():34:34 -> e
-com.android.tools.r8.horizontalclassmerging.policies.NoConstructorCollisions -> com.android.tools.r8.internal.ZG:
+com.android.tools.r8.horizontalclassmerging.policies.NoConstructorCollisions -> com.android.tools.r8.internal.eH:
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> e
     com.android.tools.r8.graph.AppView appView -> d
     boolean $assertionsDisabled -> f
@@ -37402,7 +37489,7 @@
     26:30:java.util.Set preprocess(java.util.Collection,java.util.concurrent.ExecutorService):96 -> b
     31:41:java.util.Set preprocess(java.util.Collection,java.util.concurrent.ExecutorService):97:107 -> b
     1:1:java.lang.String getName():149:149 -> e
-com.android.tools.r8.horizontalclassmerging.policies.NoDeadEnumLiteMaps -> com.android.tools.r8.internal.aH:
+com.android.tools.r8.horizontalclassmerging.policies.NoDeadEnumLiteMaps -> com.android.tools.r8.internal.fH:
     java.util.Set deadEnumLiteMaps -> d
     boolean $assertionsDisabled -> e
     1:1:void <clinit>():17:17 -> <clinit>
@@ -37410,7 +37497,7 @@
     8:8:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):26:26 -> <init>
     1:1:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):32:32 -> a
     1:1:java.lang.String getName():37:37 -> e
-com.android.tools.r8.horizontalclassmerging.policies.NoDeadLocks -> com.android.tools.r8.internal.bH:
+com.android.tools.r8.horizontalclassmerging.policies.NoDeadLocks -> com.android.tools.r8.internal.gH:
     com.android.tools.r8.graph.AppView appView -> d
     1:2:void <init>(com.android.tools.r8.graph.AppView):20:21 -> <init>
     1:1:boolean com.android.tools.r8.horizontalclassmerging.policies.NoDeadLocks.isSynchronizationClass(com.android.tools.r8.graph.DexProgramClass):25:25 -> a
@@ -37425,7 +37512,7 @@
     5:7:boolean lambda$apply$0(java.util.Collection,com.android.tools.r8.graph.DexProgramClass):36:38 -> a
     8:32:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):31:55 -> a
     1:1:java.lang.String getName():62:62 -> e
-com.android.tools.r8.horizontalclassmerging.policies.NoDefaultInterfaceMethodCollisions -> com.android.tools.r8.internal.dH:
+com.android.tools.r8.horizontalclassmerging.policies.NoDefaultInterfaceMethodCollisions -> com.android.tools.r8.internal.iH:
     com.android.tools.r8.graph.AppView appView -> d
     com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode mode -> e
     1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):79:81 -> <init>
@@ -37480,13 +37567,13 @@
     1:1:boolean lambda$computeInheritedDefaultMethodsPerProgramType$6(com.android.tools.r8.graph.DexType):265:265 -> d
     1:1:java.lang.String getName():349:349 -> e
     1:1:boolean shouldSkipPolicy():354:354 -> j
-com.android.tools.r8.horizontalclassmerging.policies.NoDefaultInterfaceMethodCollisions$InterfaceInfo -> com.android.tools.r8.internal.cH:
+com.android.tools.r8.horizontalclassmerging.policies.NoDefaultInterfaceMethodCollisions$InterfaceInfo -> com.android.tools.r8.internal.hH:
     java.util.Map inheritedDefaultMethods -> a
     java.util.Map defaultMethodsInheritedBySubclasses -> b
     1:3:void <init>(java.util.Map,java.util.Map):369:371 -> <init>
     1:1:java.util.Map getDefaultMethodsInheritedBySubclasses():379:379 -> a
     1:1:java.util.Map getInheritedDefaultMethods():375:375 -> b
-com.android.tools.r8.horizontalclassmerging.policies.NoDefaultInterfaceMethodMerging -> com.android.tools.r8.internal.eH:
+com.android.tools.r8.horizontalclassmerging.policies.NoDefaultInterfaceMethodMerging -> com.android.tools.r8.internal.jH:
     com.android.tools.r8.utils.InternalOptions options -> e
     com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode mode -> d
     1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):35:37 -> <init>
@@ -37503,7 +37590,7 @@
     33:33:void addClassToGroup(com.android.tools.r8.graph.DexProgramClass,java.util.Map):72:72 -> a
     1:1:java.lang.String getName():77:77 -> e
     1:1:boolean shouldSkipPolicy():82:82 -> j
-com.android.tools.r8.horizontalclassmerging.policies.NoDifferentApiReferenceLevel -> com.android.tools.r8.internal.fH:
+com.android.tools.r8.horizontalclassmerging.policies.NoDifferentApiReferenceLevel -> com.android.tools.r8.internal.kH:
     com.android.tools.r8.graph.AppView appView -> e
     boolean enableApiCallerIdentification -> f
     boolean $assertionsDisabled -> g
@@ -37524,7 +37611,7 @@
     5:9:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):15 -> a
     1:1:java.lang.String getName():36:36 -> e
     1:1:boolean shouldSkipPolicy():31:31 -> j
-com.android.tools.r8.horizontalclassmerging.policies.NoDirectRuntimeTypeChecks -> com.android.tools.r8.internal.gH:
+com.android.tools.r8.horizontalclassmerging.policies.NoDirectRuntimeTypeChecks -> com.android.tools.r8.internal.lH:
     com.android.tools.r8.synthesis.SyntheticItems syntheticItems -> f
     com.android.tools.r8.utils.InternalOptions options -> d
     boolean $assertionsDisabled -> g
@@ -37546,7 +37633,7 @@
     43:46:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):37:40 -> a
     1:1:java.lang.String getName():45:45 -> e
     1:1:boolean shouldSkipPolicy():50:50 -> j
-com.android.tools.r8.horizontalclassmerging.policies.NoEnums -> com.android.tools.r8.internal.hH:
+com.android.tools.r8.horizontalclassmerging.policies.NoEnums -> com.android.tools.r8.internal.mH:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMap cache -> e
     com.android.tools.r8.graph.AppView appView -> d
     1:1:void <init>(com.android.tools.r8.graph.AppView):20:20 -> <init>
@@ -37555,12 +37642,12 @@
     5:17:boolean isEnumSubtype(com.android.tools.r8.graph.DexClass):46:58 -> a
     1:1:void clear():26:26 -> d
     1:1:java.lang.String getName():31:31 -> e
-com.android.tools.r8.horizontalclassmerging.policies.NoFailedResolutionTargets -> com.android.tools.r8.internal.iH:
+com.android.tools.r8.horizontalclassmerging.policies.NoFailedResolutionTargets -> com.android.tools.r8.internal.nH:
     java.util.Set failedResolutionHolders -> d
     1:4:void <init>(com.android.tools.r8.graph.AppView):21:24 -> <init>
     1:1:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):35:35 -> a
     1:1:java.lang.String getName():30:30 -> e
-com.android.tools.r8.horizontalclassmerging.policies.NoIllegalInlining -> com.android.tools.r8.internal.jH:
+com.android.tools.r8.horizontalclassmerging.policies.NoIllegalInlining -> com.android.tools.r8.internal.oH:
     com.android.tools.r8.graph.AppView appView -> d
     boolean $assertionsDisabled -> e
     1:1:void <clinit>():18:18 -> <clinit>
@@ -37575,7 +37662,7 @@
     20:20:boolean com.android.tools.r8.horizontalclassmerging.policies.NoIllegalInlining.disallowInlining(com.android.tools.r8.graph.ProgramMethod):46 -> a
     20:20:boolean lambda$canMerge$0(com.android.tools.r8.graph.ProgramMethod):57 -> a
     1:1:java.lang.String getName():62:62 -> e
-com.android.tools.r8.horizontalclassmerging.policies.NoIndirectRuntimeTypeChecks -> com.android.tools.r8.internal.kH:
+com.android.tools.r8.horizontalclassmerging.policies.NoIndirectRuntimeTypeChecks -> com.android.tools.r8.internal.pH:
     com.android.tools.r8.graph.AppView appView -> d
     com.android.tools.r8.shaking.RuntimeTypeCheckInfo runtimeTypeCheckInfo -> e
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMap cache -> f
@@ -37595,15 +37682,15 @@
     6:12:com.android.tools.r8.graph.DexTypeList getMergeKey(com.android.tools.r8.graph.DexProgramClass):40 -> b
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     1:1:java.lang.String getName():73:73 -> e
-com.android.tools.r8.horizontalclassmerging.policies.NoInnerClasses -> com.android.tools.r8.internal.lH:
+com.android.tools.r8.horizontalclassmerging.policies.NoInnerClasses -> com.android.tools.r8.internal.qH:
     1:1:void <init>():10:10 -> <init>
     1:1:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):15:15 -> a
     1:1:java.lang.String getName():20:20 -> e
-com.android.tools.r8.horizontalclassmerging.policies.NoInstanceFieldAnnotations -> com.android.tools.r8.internal.mH:
+com.android.tools.r8.horizontalclassmerging.policies.NoInstanceFieldAnnotations -> com.android.tools.r8.internal.rH:
     1:1:void <init>():11:11 -> <init>
     1:2:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):15:16 -> a
     1:1:java.lang.String getName():25:25 -> e
-com.android.tools.r8.horizontalclassmerging.policies.NoInstanceInitializerMerging -> com.android.tools.r8.internal.nH:
+com.android.tools.r8.horizontalclassmerging.policies.NoInstanceInitializerMerging -> com.android.tools.r8.internal.sH:
     com.android.tools.r8.graph.AppView appView -> d
     com.android.tools.r8.horizontalclassmerging.IRCodeProvider codeProvider -> e
     boolean $assertionsDisabled -> f
@@ -37629,7 +37716,7 @@
     104:107:java.util.Optional lambda$getOrComputeInstanceInitializerDescription$2(com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):200:203 -> a
     108:115:com.android.tools.r8.graph.DexMethod getRelaxedSignature(com.android.tools.r8.graph.ProgramMethod):208:215 -> a
     116:117:com.android.tools.r8.graph.DexMethod getRelaxedSignature(com.android.tools.r8.graph.ProgramMethod):214:215 -> a
-    118:118:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.createInstanceInitializer(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList):2389:2389 -> a
+    118:118:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.createInstanceInitializer(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList):2391:2391 -> a
     118:118:com.android.tools.r8.graph.DexMethod getRelaxedSignature(com.android.tools.r8.graph.ProgramMethod):215 -> a
     119:119:com.android.tools.r8.graph.DexMethod getRelaxedSignature(com.android.tools.r8.graph.ProgramMethod):216:216 -> a
     120:120:com.android.tools.r8.graph.DexType lambda$getRelaxedSignature$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):211:211 -> a
@@ -37639,14 +37726,14 @@
     158:162:void lambda$setInstanceFieldMaps$4(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.Map,com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneMap,com.android.tools.r8.graph.ProgramField):245:249 -> a
     1:1:java.lang.String getName():257:257 -> e
     boolean isIdentityForInterfaceGroups() -> f
-com.android.tools.r8.horizontalclassmerging.policies.NoInterfaces -> com.android.tools.r8.internal.oH:
+com.android.tools.r8.horizontalclassmerging.policies.NoInterfaces -> com.android.tools.r8.internal.tH:
     com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode mode -> d
     com.android.tools.r8.utils.InternalOptions$HorizontalClassMergerOptions options -> e
     1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):19:21 -> <init>
     1:1:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):26:26 -> a
     1:1:java.lang.String getName():36:36 -> e
     1:1:boolean shouldSkipPolicy():31:31 -> j
-com.android.tools.r8.horizontalclassmerging.policies.NoKeepRules -> com.android.tools.r8.internal.pH:
+com.android.tools.r8.horizontalclassmerging.policies.NoKeepRules -> com.android.tools.r8.internal.uH:
     java.util.Set dontMergeTypes -> g
     com.android.tools.r8.shaking.KeepInfoCollection keepInfo -> e
     com.android.tools.r8.graph.AppView appView -> d
@@ -37658,7 +37745,7 @@
     10:10:void processClass(com.android.tools.r8.graph.DexProgramClass):42:42 -> b
     11:19:void processClass(com.android.tools.r8.graph.DexProgramClass):40:48 -> b
     1:1:java.lang.String getName():59:59 -> e
-com.android.tools.r8.horizontalclassmerging.policies.NoKotlinMetadata -> com.android.tools.r8.internal.qH:
+com.android.tools.r8.horizontalclassmerging.policies.NoKotlinMetadata -> com.android.tools.r8.internal.vH:
     boolean $assertionsDisabled -> d
     1:1:void <clinit>():11:11 -> <clinit>
     1:1:void <init>():13:13 -> <init>
@@ -37668,26 +37755,26 @@
     4:4:boolean lambda$verifyNoUnexpectedKotlinMemberInfo$0(com.android.tools.r8.graph.DexEncodedMember):29:29 -> a
     1:3:boolean verifyNoUnexpectedKotlinMemberInfo(com.android.tools.r8.graph.DexProgramClass):28:28 -> b
     1:1:java.lang.String getName():35:35 -> e
-com.android.tools.r8.horizontalclassmerging.policies.NoNativeMethods -> com.android.tools.r8.internal.rH:
+com.android.tools.r8.horizontalclassmerging.policies.NoNativeMethods -> com.android.tools.r8.internal.wH:
     1:1:void <init>():12:12 -> <init>
     1:1:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):15:15 -> a
     2:2:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
     2:2:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):15 -> a
     1:1:java.lang.String getName():20:20 -> e
-com.android.tools.r8.horizontalclassmerging.policies.NoServiceLoaders -> com.android.tools.r8.internal.sH:
+com.android.tools.r8.horizontalclassmerging.policies.NoServiceLoaders -> com.android.tools.r8.internal.xH:
     com.android.tools.r8.graph.AppView appView -> d
     java.util.Set allServiceImplementations -> e
     1:3:void <init>(com.android.tools.r8.graph.AppView):18:20 -> <init>
     1:2:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):25:26 -> a
     1:1:java.lang.String getName():31:31 -> e
-com.android.tools.r8.horizontalclassmerging.policies.NoVerticallyMergedClasses -> com.android.tools.r8.internal.tH:
+com.android.tools.r8.horizontalclassmerging.policies.NoVerticallyMergedClasses -> com.android.tools.r8.internal.yH:
     com.android.tools.r8.graph.AppView appView -> d
     boolean $assertionsDisabled -> e
     1:1:void <clinit>():13:13 -> <clinit>
     1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):16:20 -> <init>
     1:4:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):25:28 -> a
     1:1:java.lang.String getName():33:33 -> e
-com.android.tools.r8.horizontalclassmerging.policies.NoVirtualMethodMerging -> com.android.tools.r8.internal.uH:
+com.android.tools.r8.horizontalclassmerging.policies.NoVirtualMethodMerging -> com.android.tools.r8.internal.zH:
     com.android.tools.r8.graph.AppView appView -> d
     boolean $assertionsDisabled -> e
     1:1:void <clinit>():33:33 -> <clinit>
@@ -37720,7 +37807,7 @@
     59:59:boolean hasNonAbstractDefinitionInSuperInterface(java.lang.Iterable,com.android.tools.r8.graph.ProgramMethod):118 -> a
     60:65:boolean lambda$hasNonAbstractDefinitionInSuperInterface$1(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):121:126 -> a
     1:1:java.lang.String getName():132:132 -> e
-com.android.tools.r8.horizontalclassmerging.policies.NoWeakerAccessPrivileges -> com.android.tools.r8.internal.vH:
+com.android.tools.r8.horizontalclassmerging.policies.NoWeakerAccessPrivileges -> com.android.tools.r8.internal.AH:
     com.android.tools.r8.optimize.argumentpropagation.utils.ProgramClassesBidirectedGraph graph -> d
     java.util.Map stronglyConnectedComponentsCache -> i
     com.android.tools.r8.graph.ImmediateProgramSubtypingInfo immediateSubtypingInfo -> e
@@ -37761,12 +37848,12 @@
     3:3:void lambda$getOrComputeNonPublicVirtualMethodSignaturesInComponent$3(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexClass):161:161 -> c
     1:3:void clear():190:192 -> d
     1:1:java.lang.String getName():197:197 -> e
-com.android.tools.r8.horizontalclassmerging.policies.NotMatchedByNoHorizontalClassMerging -> com.android.tools.r8.internal.RH:
+com.android.tools.r8.horizontalclassmerging.policies.NotMatchedByNoHorizontalClassMerging -> com.android.tools.r8.internal.WH:
     com.android.tools.r8.graph.AppView appView -> d
     1:2:void <init>(com.android.tools.r8.graph.AppView):16:17 -> <init>
     1:1:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):22:22 -> a
     1:1:java.lang.String getName():27:27 -> e
-com.android.tools.r8.horizontalclassmerging.policies.OnlyDirectlyConnectedOrUnrelatedInterfaces -> com.android.tools.r8.internal.OK:
+com.android.tools.r8.horizontalclassmerging.policies.OnlyDirectlyConnectedOrUnrelatedInterfaces -> com.android.tools.r8.internal.TK:
     com.android.tools.r8.graph.AppView appView -> d
     boolean $assertionsDisabled -> g
     com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode mode -> e
@@ -37786,7 +37873,7 @@
     1:1:void clear():155:155 -> d
     1:1:java.lang.String getName():160:160 -> e
     1:1:boolean shouldSkipPolicy():170:170 -> j
-com.android.tools.r8.horizontalclassmerging.policies.OnlyDirectlyConnectedOrUnrelatedInterfaces$MergeGroupWithInfo -> com.android.tools.r8.internal.NK:
+com.android.tools.r8.horizontalclassmerging.policies.OnlyDirectlyConnectedOrUnrelatedInterfaces$MergeGroupWithInfo -> com.android.tools.r8.internal.SK:
     com.android.tools.r8.horizontalclassmerging.MergeGroup group -> a
     java.util.Set superInterfaces -> c
     java.util.Set subInterfaces -> d
@@ -37799,7 +37886,7 @@
     19:19:com.android.tools.r8.horizontalclassmerging.MergeGroup getGroup():208:208 -> a
     1:1:boolean lambda$add$1(com.android.tools.r8.graph.DexProgramClass):203:203 -> b
     2:19:boolean isSafeToAddSubAndSuperInterfaces(com.android.tools.r8.graph.DexProgramClass,java.util.Set,java.util.Set):216:233 -> b
-com.android.tools.r8.horizontalclassmerging.policies.PreserveMethodCharacteristics -> com.android.tools.r8.internal.OM:
+com.android.tools.r8.horizontalclassmerging.policies.PreserveMethodCharacteristics -> com.android.tools.r8.internal.TM:
     com.android.tools.r8.graph.AppView appView -> d
     boolean $assertionsDisabled -> e
     1:1:void <clinit>():30:30 -> <clinit>
@@ -37810,7 +37897,7 @@
     6:16:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):145:155 -> a
     17:17:boolean lambda$apply$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.policies.PreserveMethodCharacteristics$TargetGroup):143:143 -> a
     1:1:java.lang.String getName():34:34 -> e
-com.android.tools.r8.horizontalclassmerging.policies.PreserveMethodCharacteristics$MethodCharacteristics -> com.android.tools.r8.internal.MM:
+com.android.tools.r8.horizontalclassmerging.policies.PreserveMethodCharacteristics$MethodCharacteristics -> com.android.tools.r8.internal.RM:
     com.android.tools.r8.utils.OptionalBool isLibraryMethodOverride -> c
     com.android.tools.r8.graph.MethodAccessFlags accessFlags -> a
     boolean isAssumeNoSideEffectsMethod -> b
@@ -37823,14 +37910,14 @@
     5:5:com.android.tools.r8.horizontalclassmerging.policies.PreserveMethodCharacteristics$MethodCharacteristics create(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedMethod):64:64 -> a
     1:5:boolean equals(java.lang.Object):81:85 -> equals
     1:6:int hashCode():69:69 -> hashCode
-com.android.tools.r8.horizontalclassmerging.policies.PreserveMethodCharacteristics$TargetGroup -> com.android.tools.r8.internal.NM:
+com.android.tools.r8.horizontalclassmerging.policies.PreserveMethodCharacteristics$TargetGroup -> com.android.tools.r8.internal.SM:
     com.android.tools.r8.horizontalclassmerging.MergeGroup group -> a
     java.util.Map methodMap -> b
     1:4:void <init>():101:104 -> <init>
     1:1:com.android.tools.r8.horizontalclassmerging.MergeGroup getGroup():107:107 -> a
     2:16:boolean tryAdd(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):111:125 -> a
     17:17:boolean isSubjectToMethodMerging(com.android.tools.r8.graph.DexEncodedMethod):130:130 -> a
-com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions -> com.android.tools.r8.internal.XM:
+com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions -> com.android.tools.r8.internal.cN:
     com.android.tools.r8.graph.AppView appView -> d
     com.android.tools.r8.graph.ImmediateProgramSubtypingInfo immediateSubtypingInfo -> e
     com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$InterfaceDefaultSignaturesCache interfaceDefaultMethodsCache -> f
@@ -37858,45 +37945,45 @@
     1:1:com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$InterfaceDefaultSignaturesCache access$600(com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions):52:52 -> b
     1:1:com.android.tools.r8.graph.ImmediateProgramSubtypingInfo access$700(com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions):52:52 -> c
     1:1:java.lang.String getName():66:66 -> e
-com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$1 -> com.android.tools.r8.internal.PM:
-com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$DexClassSignaturesCache -> com.android.tools.r8.internal.QM:
+com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$1 -> com.android.tools.r8.internal.UM:
+com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$DexClassSignaturesCache -> com.android.tools.r8.internal.VM:
     com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions this$0 -> b
     1:1:void <init>(com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions):85:85 -> <init>
     2:2:void <init>(com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions,com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$1):85:85 -> <init>
     1:2:com.android.tools.r8.utils.collections.DexMethodSignatureSet getOrComputeSignatures(com.android.tools.r8.graph.DexType):88:89 -> a
-com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$DispatchSignature -> com.android.tools.r8.internal.RM:
+com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$DispatchSignature -> com.android.tools.r8.internal.WM:
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():139:139 -> <clinit>
     1:1:void <init>():139:139 -> <init>
-com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$InterfaceDefaultSignaturesCache -> com.android.tools.r8.internal.SM:
+com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$InterfaceDefaultSignaturesCache -> com.android.tools.r8.internal.XM:
     1:1:void <init>(com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions):93:93 -> <init>
     2:2:void <init>(com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions,com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$1):93:93 -> <init>
     1:2:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.collections.DexMethodSignatureSet):97:98 -> a
-com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$MethodCategory -> com.android.tools.r8.internal.TM:
+com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$MethodCategory -> com.android.tools.r8.internal.YM:
     com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$MethodCategory KEEP_ABSENT -> c
     com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$MethodCategory CLASS_HIERARCHY_SAFE -> b
     1:2:void <clinit>():135:136 -> <clinit>
     1:1:void <init>(java.lang.String,int):134:134 -> <init>
-com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$ParentClassSignaturesCache -> com.android.tools.r8.internal.UM:
+com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$ParentClassSignaturesCache -> com.android.tools.r8.internal.ZM:
     com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions this$0 -> c
     1:1:void <init>(com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions):102:102 -> <init>
     2:2:void <init>(com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions,com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$1):102:102 -> <init>
     1:5:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.collections.DexMethodSignatureSet):106:110 -> a
-com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$ReservedInterfaceSignaturesFor -> com.android.tools.r8.internal.VM:
+com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$ReservedInterfaceSignaturesFor -> com.android.tools.r8.internal.aN:
     com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions this$0 -> b
     1:1:void <init>(com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions):116:116 -> <init>
     2:2:void <init>(com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions,com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$1):116:116 -> <init>
     1:1:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.collections.DexMethodSignatureSet):116:116 -> a
     2:2:void process(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.collections.DexMethodSignatureSet):121:121 -> a
     3:6:void process(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.collections.DexMethodSignatureSet):120:123 -> a
-com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$SignaturesCache -> com.android.tools.r8.internal.WM:
+com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$SignaturesCache -> com.android.tools.r8.internal.bN:
     java.util.Map memoizedSignatures -> a
     1:2:void <init>():69:70 -> <init>
     3:3:void <init>(com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$1):69:69 -> <init>
     void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.collections.DexMethodSignatureSet) -> a
     1:1:com.android.tools.r8.utils.collections.DexMethodSignatureSet getOrComputeSignatures(com.android.tools.r8.graph.DexClass):73:73 -> a
     2:3:com.android.tools.r8.utils.collections.DexMethodSignatureSet lambda$getOrComputeSignatures$0(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):76:77 -> a
-com.android.tools.r8.horizontalclassmerging.policies.RespectPackageBoundaries -> com.android.tools.r8.internal.tT:
+com.android.tools.r8.horizontalclassmerging.policies.RespectPackageBoundaries -> com.android.tools.r8.internal.yT:
     com.android.tools.r8.graph.AppView appView -> d
     1:2:void <init>(com.android.tools.r8.graph.AppView):28:29 -> <init>
     1:1:com.android.tools.r8.utils.TraversalContinuation lambda$shouldRestrictMergingAcrossPackageBoundary$0(com.android.tools.r8.graph.ProgramMethod):71:71 -> a
@@ -37919,7 +38006,7 @@
     46:46:boolean shouldRestrictMergingAcrossPackageBoundary(com.android.tools.r8.graph.DexProgramClass):52 -> a
     47:67:boolean shouldRestrictMergingAcrossPackageBoundary(com.android.tools.r8.graph.DexProgramClass):59:79 -> a
     1:1:java.lang.String getName():127:127 -> e
-com.android.tools.r8.horizontalclassmerging.policies.SameFeatureSplit -> com.android.tools.r8.internal.KU:
+com.android.tools.r8.horizontalclassmerging.policies.SameFeatureSplit -> com.android.tools.r8.internal.PU:
     com.android.tools.r8.graph.AppView appView -> d
     1:2:void <init>(com.android.tools.r8.graph.AppView):16:17 -> <init>
     1:4:com.android.tools.r8.FeatureSplit com.android.tools.r8.horizontalclassmerging.policies.SameFeatureSplit.getMergeKey(com.android.tools.r8.graph.DexProgramClass):22:25 -> a
@@ -37928,14 +38015,14 @@
     5:5:com.android.tools.r8.FeatureSplit com.android.tools.r8.horizontalclassmerging.policies.SameFeatureSplit.getMergeKey(com.android.tools.r8.graph.DexProgramClass):25 -> a
     5:5:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):13 -> a
     1:1:java.lang.String getName():30:30 -> e
-com.android.tools.r8.horizontalclassmerging.policies.SameInstanceFields -> com.android.tools.r8.internal.MU:
+com.android.tools.r8.horizontalclassmerging.policies.SameInstanceFields -> com.android.tools.r8.internal.RU:
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> d
     com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode mode -> e
     1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):26:28 -> <init>
     1:9:com.android.tools.r8.com.google.common.collect.Multiset com.android.tools.r8.horizontalclassmerging.policies.SameInstanceFields.getMergeKey(com.android.tools.r8.graph.DexProgramClass):33:41 -> a
     1:9:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):21 -> a
     1:1:java.lang.String getName():48:48 -> e
-com.android.tools.r8.horizontalclassmerging.policies.SameInstanceFields$InstanceFieldInfo -> com.android.tools.r8.internal.LU:
+com.android.tools.r8.horizontalclassmerging.policies.SameInstanceFields$InstanceFieldInfo -> com.android.tools.r8.internal.QU:
     com.android.tools.r8.graph.DexType type -> b
     com.android.tools.r8.graph.FieldAccessFlags accessFlags -> a
     1:6:void <init>(com.android.tools.r8.graph.FieldAccessFlags,com.android.tools.r8.graph.DexType):56:61 -> <init>
@@ -37944,25 +38031,25 @@
     5:6:com.android.tools.r8.horizontalclassmerging.policies.SameInstanceFields$InstanceFieldInfo toInfoWithRelaxedType(com.android.tools.r8.graph.DexItemFactory):80:81 -> a
     1:5:boolean equals(java.lang.Object):86:90 -> equals
     1:1:int hashCode():95:95 -> hashCode
-com.android.tools.r8.horizontalclassmerging.policies.SameMainDexGroup -> com.android.tools.r8.internal.NU:
+com.android.tools.r8.horizontalclassmerging.policies.SameMainDexGroup -> com.android.tools.r8.internal.SU:
     com.android.tools.r8.shaking.MainDexInfo mainDexInfo -> d
     com.android.tools.r8.synthesis.SyntheticItems synthetics -> e
     1:3:void <init>(com.android.tools.r8.graph.AppView):20:22 -> <init>
     1:2:com.android.tools.r8.shaking.MainDexInfo$MainDexGroup com.android.tools.r8.horizontalclassmerging.policies.SameMainDexGroup.getMergeKey(com.android.tools.r8.graph.DexProgramClass):27:28 -> a
     1:2:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):15 -> a
     1:1:java.lang.String getName():34:34 -> e
-com.android.tools.r8.horizontalclassmerging.policies.SameNestHost -> com.android.tools.r8.internal.OU:
+com.android.tools.r8.horizontalclassmerging.policies.SameNestHost -> com.android.tools.r8.internal.TU:
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> d
     1:2:void <init>(com.android.tools.r8.graph.AppView):18:19 -> <init>
     1:1:com.android.tools.r8.graph.DexType com.android.tools.r8.horizontalclassmerging.policies.SameNestHost.getMergeKey(com.android.tools.r8.graph.DexProgramClass):24:24 -> a
     1:1:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):14 -> a
     1:1:java.lang.String getName():29:29 -> e
-com.android.tools.r8.horizontalclassmerging.policies.SameParentClass -> com.android.tools.r8.internal.PU:
+com.android.tools.r8.horizontalclassmerging.policies.SameParentClass -> com.android.tools.r8.internal.UU:
     1:1:void <init>():11:11 -> <init>
     1:1:com.android.tools.r8.graph.DexType com.android.tools.r8.horizontalclassmerging.policies.SameParentClass.getMergeKey(com.android.tools.r8.graph.DexProgramClass):15:15 -> a
     1:1:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):11 -> a
     1:1:java.lang.String getName():20:20 -> e
-com.android.tools.r8.horizontalclassmerging.policies.SyntheticItemsPolicy -> com.android.tools.r8.internal.QY:
+com.android.tools.r8.horizontalclassmerging.policies.SyntheticItemsPolicy -> com.android.tools.r8.internal.VY:
     com.android.tools.r8.synthesis.SyntheticItems syntheticItems -> e
     com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode mode -> d
     1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):25:27 -> <init>
@@ -37978,12 +38065,12 @@
     4:8:com.android.tools.r8.horizontalclassmerging.policies.SyntheticItemsPolicy$ClassKind com.android.tools.r8.horizontalclassmerging.policies.SyntheticItemsPolicy.getMergeKey(com.android.tools.r8.graph.DexProgramClass):34:38 -> a
     4:8:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):15 -> a
     1:1:java.lang.String getName():43:43 -> e
-com.android.tools.r8.horizontalclassmerging.policies.SyntheticItemsPolicy$ClassKind -> com.android.tools.r8.internal.PY:
+com.android.tools.r8.horizontalclassmerging.policies.SyntheticItemsPolicy$ClassKind -> com.android.tools.r8.internal.UY:
     com.android.tools.r8.horizontalclassmerging.policies.SyntheticItemsPolicy$ClassKind SYNTHETIC -> b
     com.android.tools.r8.horizontalclassmerging.policies.SyntheticItemsPolicy$ClassKind NOT_SYNTHETIC -> c
     1:2:void <clinit>():18:19 -> <clinit>
     1:1:void <init>(java.lang.String,int):17:17 -> <init>
-com.android.tools.r8.horizontalclassmerging.policies.VerifyPolicyAlwaysSatisfied -> com.android.tools.r8.internal.n20:
+com.android.tools.r8.horizontalclassmerging.policies.VerifyPolicyAlwaysSatisfied -> com.android.tools.r8.internal.t20:
     com.android.tools.r8.horizontalclassmerging.SingleClassPolicy policy -> d
     boolean $assertionsDisabled -> e
     1:1:void <clinit>():10:10 -> <clinit>
@@ -37996,14 +38083,14 @@
     30:30:java.lang.String getName():26:26 -> e
     27:27:java.lang.String getName():26:26 -> e
     1:1:boolean shouldSkipPolicy():31:31 -> j
-com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation -> com.android.tools.r8.internal.zV:
+com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation -> com.android.tools.r8.internal.EV:
     java.util.Map singleClinitCallers -> b
     com.android.tools.r8.utils.collections.ProgramMethodMap singleCallers -> a
     1:3:void <init>(com.android.tools.r8.utils.collections.ProgramMethodMap,java.util.Map):42:44 -> <init>
     1:1:com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder builder(com.android.tools.r8.graph.AppView):48:48 -> a
     2:2:com.android.tools.r8.graph.ProgramMethod getSingleCaller(com.android.tools.r8.graph.ProgramMethod):52:52 -> a
     3:3:com.android.tools.r8.graph.ProgramMethod getSingleClassInitializerCaller(com.android.tools.r8.graph.DexProgramClass):56:56 -> a
-com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder -> com.android.tools.r8.internal.yV:
+com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder -> com.android.tools.r8.internal.DV:
     java.util.Map clinitCallers -> c
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.utils.collections.ProgramMethodMap callers -> b
@@ -38016,7 +38103,7 @@
     13:13:void lambda$build$2(java.util.Map,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):86:86 -> a
     14:14:void lambda$build$3(java.util.Map,com.android.tools.r8.graph.DexProgramClass,java.util.Optional):86:86 -> a
     15:15:void processMethod(com.android.tools.r8.graph.ProgramMethod):91:91 -> a
-com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor -> com.android.tools.r8.internal.xV:
+com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor -> com.android.tools.r8.internal.CV:
     com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder this$0 -> f
     com.android.tools.r8.graph.AppView appView -> e
     boolean $assertionsDisabled -> g
@@ -38135,7 +38222,7 @@
     7:7:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexProgramClass):130:130 -> g
     7:7:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):124 -> g
     7:7:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):254 -> g
-com.android.tools.r8.inspector.internal.ClassInspectorImpl -> com.android.tools.r8.internal.qa:
+com.android.tools.r8.inspector.internal.ClassInspectorImpl -> com.android.tools.r8.internal.ra:
     com.android.tools.r8.graph.DexClass clazz -> a
     com.android.tools.r8.references.ClassReference reference -> b
     1:1:void <init>(com.android.tools.r8.graph.DexClass):20:20 -> <init>
@@ -38146,7 +38233,7 @@
     1:1:void forEachMethod(java.util.function.Consumer):45:45 -> forEachMethod
     1:4:com.android.tools.r8.references.ClassReference getClassReference():26:29 -> getClassReference
     1:2:java.lang.String getSourceFile():34:35 -> getSourceFile
-com.android.tools.r8.inspector.internal.FieldInspectorImpl -> com.android.tools.r8.internal.Jj:
+com.android.tools.r8.inspector.internal.FieldInspectorImpl -> com.android.tools.r8.internal.Lj:
     com.android.tools.r8.graph.DexEncodedField field -> b
     com.android.tools.r8.inspector.internal.ClassInspectorImpl parent -> a
     com.android.tools.r8.references.FieldReference reference -> c
@@ -38157,14 +38244,14 @@
     1:4:java.util.Optional getInitialValue():47:50 -> getInitialValue
     1:1:boolean isFinal():42:42 -> isFinal
     1:1:boolean isStatic():37:37 -> isStatic
-com.android.tools.r8.inspector.internal.InspectorImpl -> com.android.tools.r8.internal.Gp:
+com.android.tools.r8.inspector.internal.InspectorImpl -> com.android.tools.r8.internal.Ip:
     java.util.Collection classes -> a
     1:2:void <init>(java.util.Collection):43:44 -> <init>
     1:6:java.util.List wrapInspections(java.util.Collection):20:25 -> a
     7:7:java.util.List wrapInspections(java.util.Collection):21:21 -> a
     8:13:void runInspections(java.util.List,java.util.Collection):32:37 -> a
     1:2:void forEachClass(java.util.function.Consumer):49:50 -> forEachClass
-com.android.tools.r8.inspector.internal.MethodInspectorImpl -> com.android.tools.r8.internal.JE:
+com.android.tools.r8.inspector.internal.MethodInspectorImpl -> com.android.tools.r8.internal.OE:
     com.android.tools.r8.inspector.internal.ClassInspectorImpl parent -> a
     com.android.tools.r8.references.MethodReference reference -> c
     com.android.tools.r8.graph.DexEncodedMethod method -> b
@@ -38174,7 +38261,7 @@
     8:14:com.android.tools.r8.references.MethodReference getMethodReference():31:37 -> getMethodReference
     15:15:com.android.tools.r8.references.MethodReference getMethodReference():36:36 -> getMethodReference
     16:27:com.android.tools.r8.references.MethodReference getMethodReference():28:39 -> getMethodReference
-com.android.tools.r8.inspector.internal.ValueInspectorImpl -> com.android.tools.r8.internal.f20:
+com.android.tools.r8.inspector.internal.ValueInspectorImpl -> com.android.tools.r8.internal.l20:
     com.android.tools.r8.graph.DexValue value -> a
     com.android.tools.r8.graph.DexType type -> b
     1:3:void <init>(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.DexType):34:36 -> <init>
@@ -38319,55 +38406,55 @@
     1:5:java.lang.String com.android.tools.r8.BackportedMethodListCommand$Builder$$InternalSyntheticOutline$171$74531d99dd9e8c41302dc64bf7c1ad28bdce38f5e1cbae1669b2746d1cca7f73$0.m(java.lang.String,int):0:4 -> a
       # {"id":"com.android.tools.r8.synthesized"}
       # {"id":"com.android.tools.r8.outline"}
-com.android.tools.r8.internal.BasicBlock$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.p4:
+com.android.tools.r8.internal.BasicBlock$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.q4:
 # {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
 # {"id":"com.android.tools.r8.synthesized"}
     1:3:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.BasicBlock$$InternalSyntheticOutline$171$b6dd67f260863294e1347834de9654f6bdbe9ba876ac452b76d49eee6a2321aa$0.m(com.android.tools.r8.ir.code.BasicBlock):0:2 -> a
       # {"id":"com.android.tools.r8.synthesized"}
       # {"id":"com.android.tools.r8.outline"}
-com.android.tools.r8.internal.BisectState$Range$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.Y4:
+com.android.tools.r8.internal.BisectState$Range$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.Z4:
 # {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
 # {"id":"com.android.tools.r8.synthesized"}
     1:3:java.lang.String com.android.tools.r8.bisect.BisectState$Range$$InternalSyntheticOutline$171$ce08529379ee2f531b289ce75fde83cc622d5b95d2bff129f3fff11db0ec6f8a$0.m(java.lang.StringBuilder,int,java.lang.String):0:2 -> a
       # {"id":"com.android.tools.r8.synthesized"}
       # {"id":"com.android.tools.r8.outline"}
-com.android.tools.r8.internal.CfConstClass$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.S6:
+com.android.tools.r8.internal.CfConstClass$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.T6:
 # {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
 # {"id":"com.android.tools.r8.synthesized"}
     1:5:java.lang.String com.android.tools.r8.cf.code.CfConstClass$$InternalSyntheticOutline$171$37c66abd9d2a2dc03f27fba98790669ca793ab689546056e468f3d38bbb416c6$0.m(java.lang.String,com.android.tools.r8.graph.DexType):0:4 -> a
       # {"id":"com.android.tools.r8.synthesized"}
       # {"id":"com.android.tools.r8.outline"}
-com.android.tools.r8.internal.CfSourceCode$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.v8:
+com.android.tools.r8.internal.CfSourceCode$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.w8:
 # {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
 # {"id":"com.android.tools.r8.synthesized"}
     1:6:java.lang.String com.android.tools.r8.ir.conversion.CfSourceCode$$InternalSyntheticOutline$171$438dbc8eceffdeb61d226aaaed697fac8e37ed1b14c877d9379a82f963ca1ee0$0.m(java.lang.String,int,java.lang.String):0:5 -> a
       # {"id":"com.android.tools.r8.synthesized"}
       # {"id":"com.android.tools.r8.outline"}
-com.android.tools.r8.internal.CheckCast$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.r9:
+com.android.tools.r8.internal.CheckCast$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.s9:
 # {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
 # {"id":"com.android.tools.r8.synthesized"}
     1:3:void com.android.tools.r8.code.CheckCast$$InternalSyntheticOutline$171$0cd8e795b91e7e03e2ae5dc62b9c7e88807c64648c0df57be3707207ae08afdb$0.m(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexType):0:2 -> a
       # {"id":"com.android.tools.r8.synthesized"}
       # {"id":"com.android.tools.r8.outline"}
-com.android.tools.r8.internal.DexFileMergerHelper$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.wg:
+com.android.tools.r8.internal.DexFileMergerHelper$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.yg:
 # {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
 # {"id":"com.android.tools.r8.synthesized"}
     1:3:java.lang.StringBuilder com.android.tools.r8.DexFileMergerHelper$$InternalSyntheticOutline$171$9c9cadf1489a20b6e2f21254b49c29d5709cced0f7609f978195acf1f013b7c9$0.m(java.lang.String):0:2 -> a
       # {"id":"com.android.tools.r8.synthesized"}
       # {"id":"com.android.tools.r8.outline"}
-com.android.tools.r8.internal.DexOutputBuffer$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.Zg:
+com.android.tools.r8.internal.DexOutputBuffer$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.bh:
 # {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
 # {"id":"com.android.tools.r8.synthesized"}
     1:5:java.lang.StringBuilder com.android.tools.r8.dex.DexOutputBuffer$$InternalSyntheticOutline$171$2fa3327658a3747aa1eac19934d5e19eadcfd88a0fe905e3e2553d0deedbdab7$0.m(java.lang.String,int,java.lang.String):0:4 -> a
       # {"id":"com.android.tools.r8.synthesized"}
       # {"id":"com.android.tools.r8.outline"}
-com.android.tools.r8.internal.GenerateLintFiles$HTMLBuilder$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.Dl:
+com.android.tools.r8.internal.GenerateLintFiles$HTMLBuilder$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.Fl:
 # {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
 # {"id":"com.android.tools.r8.synthesized"}
     1:3:java.lang.String com.android.tools.r8.GenerateLintFiles$HTMLBuilder$$InternalSyntheticOutline$171$ed6e21f6b1f6064d1f7d01ae8ade57a5452d19bf2d8e818564c5d5284e989760$0.m(java.lang.String,int,int):0:2 -> a
       # {"id":"com.android.tools.r8.synthesized"}
       # {"id":"com.android.tools.r8.outline"}
-com.android.tools.r8.internal.Intrinsics$$ExternalSyntheticCheckNotZero0 -> com.android.tools.r8.internal.pu:
+com.android.tools.r8.internal.Intrinsics$$ExternalSyntheticCheckNotZero0 -> com.android.tools.r8.internal.ru:
 # {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
 # {"id":"com.android.tools.r8.synthesized"}
     1:1:void com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.throwParameterIsNullNPE(java.lang.String):140:140 -> a
@@ -38380,18 +38467,18 @@
     14:14:void com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.throwParameterIsNullNPE(java.lang.String):140:140 -> a
     14:14:void com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.checkNotNullParameter(java.lang.Object,java.lang.String):131 -> a
       # {"id":"com.android.tools.r8.synthesized"}
-com.android.tools.r8.internal.OptimizationFeedbackSimple$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.TK:
+com.android.tools.r8.internal.OptimizationFeedbackSimple$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.YK:
 # {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
 # {"id":"com.android.tools.r8.synthesized"}
     1:3:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple$$InternalSyntheticOutline$171$a48108f1a3c711dfb0c033791276613c3d23be8404938e273469161646a15533$0.m(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):0:2 -> a
       # {"id":"com.android.tools.r8.synthesized"}
       # {"id":"com.android.tools.r8.outline"}
-com.android.tools.r8.internal.StatelessLibraryMethodModelCollection$$ExternalSyntheticThrowCCEIfNotNull0 -> com.android.tools.r8.internal.RW:
+com.android.tools.r8.internal.StatelessLibraryMethodModelCollection$$ExternalSyntheticThrowCCEIfNotNull0 -> com.android.tools.r8.internal.WW:
 # {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
 # {"id":"com.android.tools.r8.synthesized"}
     void com.android.tools.r8.ir.optimize.library.StatelessLibraryMethodModelCollection$$InternalSyntheticThrowCCEIfNotNull$48$a45cf4883edbf7d524f6dd82ceaf6eb6b32f4f6bf2ef1c90a926aae8bee744ee$0.m(java.lang.Object) -> a
       # {"id":"com.android.tools.r8.synthesized"}
-com.android.tools.r8.ir.analysis.ClassInitializationAnalysis -> com.android.tools.r8.internal.Y9:
+com.android.tools.r8.ir.analysis.ClassInitializationAnalysis -> com.android.tools.r8.internal.Z9:
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.ir.analysis.ClassInitializationAnalysis TRIVIAL -> e
     com.android.tools.r8.ir.code.DominatorTree dominatorTree -> c
@@ -38417,15 +38504,15 @@
     2:4:void com.android.tools.r8.ir.analysis.ClassInitializationAnalysis.returnMarkingColor():227:229 -> b
     2:4:void notifyCodeHasChanged():218 -> b
     1:1:com.android.tools.r8.ir.analysis.ClassInitializationAnalysis trivial():94:94 -> c
-com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$1 -> com.android.tools.r8.internal.U9:
+com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$1 -> com.android.tools.r8.internal.V9:
     1:1:void <init>():67:67 -> <init>
     boolean isClassDefinitelyLoadedBeforeInstruction(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Instruction) -> a
-com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption -> com.android.tools.r8.internal.V9:
+com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption -> com.android.tools.r8.internal.W9:
     com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption INSTRUCTION_DOES_NOT_THROW -> b
     com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption NONE -> c
     1:2:void <clinit>():57:58 -> <clinit>
     1:1:void <init>(java.lang.String,int):56:56 -> <init>
-com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$InstructionUtils -> com.android.tools.r8.internal.W9:
+com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$InstructionUtils -> com.android.tools.r8.internal.X9:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():233:233 -> <clinit>
     1:6:boolean forInitClass(com.android.tools.r8.ir.code.InitClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):241:246 -> a
@@ -38467,12 +38554,12 @@
     208:208:boolean isTypeInitializedBy(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query):521:521 -> a
     209:210:void enqueue(com.android.tools.r8.graph.DexType,java.util.Set,java.util.Deque):546:547 -> a
     211:232:void enqueueInitializedClassesOnNormalExit(com.android.tools.r8.graph.DexEncodedMethod,java.util.List,java.util.Set,java.util.Deque):556:577 -> a
-com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query -> com.android.tools.r8.internal.X9:
+com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query -> com.android.tools.r8.internal.Y9:
     com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query DIRECTLY -> b
     com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query DIRECTLY_OR_INDIRECTLY -> c
     1:2:void <clinit>():62:63 -> <clinit>
     1:1:void <init>(java.lang.String,int):61:61 -> <init>
-com.android.tools.r8.ir.analysis.DeterminismAnalysis -> com.android.tools.r8.internal.Xf:
+com.android.tools.r8.ir.analysis.DeterminismAnalysis -> com.android.tools.r8.internal.Yf:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():18:18 -> <clinit>
     1:2:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):22:23 -> a
@@ -38505,9 +38592,9 @@
     24:24:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):67 -> a
     25:27:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):68:70 -> a
     28:28:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):59:59 -> a
-com.android.tools.r8.ir.analysis.InitializedClassesOnNormalExitAnalysis -> com.android.tools.r8.internal.kp:
+com.android.tools.r8.ir.analysis.InitializedClassesOnNormalExitAnalysis -> com.android.tools.r8.internal.mp:
     1:15:java.util.Set computeInitializedClassesOnNormalExit(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):40:54 -> a
-com.android.tools.r8.ir.analysis.InitializedClassesOnNormalExitAnalysis$Visitor -> com.android.tools.r8.internal.jp:
+com.android.tools.r8.ir.analysis.InitializedClassesOnNormalExitAnalysis$Visitor -> com.android.tools.r8.internal.lp:
     com.android.tools.r8.graph.AppView appView -> a
     java.util.Set initializedClassesOnNormalExit -> c
     com.android.tools.r8.graph.ProgramMethod context -> b
@@ -38528,7 +38615,7 @@
     65:65:java.lang.Void com.android.tools.r8.ir.analysis.InitializedClassesOnNormalExitAnalysis$Visitor.visit(com.android.tools.r8.ir.code.NewUnboxedEnumInstance):160:160 -> a
     65:65:java.lang.Object visit(com.android.tools.r8.ir.code.NewUnboxedEnumInstance):57 -> a
     1:1:java.util.Set build():69:69 -> b
-com.android.tools.r8.ir.analysis.TypeChecker -> com.android.tools.r8.internal.U00:
+com.android.tools.r8.ir.analysis.TypeChecker -> com.android.tools.r8.internal.a10:
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.ir.analysis.VerifyTypesHelper verifyTypesHelper -> b
     boolean $assertionsDisabled -> c
@@ -38551,7 +38638,7 @@
     34:36:boolean com.android.tools.r8.ir.analysis.TypeChecker.check(com.android.tools.r8.ir.code.Throw):117:119 -> a
     34:36:boolean check(com.android.tools.r8.ir.code.IRCode):57 -> a
     37:49:boolean checkFieldPut(com.android.tools.r8.ir.code.FieldInstruction):96:108 -> a
-com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis -> com.android.tools.r8.internal.h20:
+com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis -> com.android.tools.r8.internal.n20:
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> c
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.utils.InternalOptions options -> d
@@ -38643,7 +38730,7 @@
     8:8:boolean isNonPinnedClassConstant(com.android.tools.r8.ir.code.Value):278 -> b
     9:9:boolean com.android.tools.r8.shaking.KeepInfoCollection.isPinned(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):165:165 -> b
     9:9:boolean isNonPinnedClassConstant(com.android.tools.r8.ir.code.Value):278 -> b
-com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis$TrackedValuesState -> com.android.tools.r8.internal.g20:
+com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis$TrackedValuesState -> com.android.tools.r8.internal.m20:
     java.util.Set trackedValues -> b
     com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis$TrackedValuesState EMPTY -> c
     boolean hasTrackedValueEscaped -> a
@@ -38651,21 +38738,21 @@
     1:6:void <init>():428:433 -> <init>
     1:1:com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis$TrackedValuesState empty():436:436 -> a
     2:2:boolean isTrackingValue(com.android.tools.r8.ir.code.Value):449:449 -> a
-com.android.tools.r8.ir.analysis.VerifyTypesHelper -> com.android.tools.r8.internal.o20:
+com.android.tools.r8.ir.analysis.VerifyTypesHelper -> com.android.tools.r8.internal.u20:
     com.android.tools.r8.graph.AppView appView -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():10:10 -> <clinit>
     1:2:void <init>(com.android.tools.r8.graph.AppView):14:15 -> <init>
     1:1:com.android.tools.r8.ir.analysis.VerifyTypesHelper create(com.android.tools.r8.graph.AppView):19:19 -> a
     2:28:boolean isAssignable(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.TypeElement):23:49 -> a
-com.android.tools.r8.ir.analysis.constant.Bottom -> com.android.tools.r8.internal.B5:
+com.android.tools.r8.ir.analysis.constant.Bottom -> com.android.tools.r8.internal.C5:
     com.android.tools.r8.ir.analysis.constant.Bottom INSTANCE -> a
     1:1:void <clinit>():7:7 -> <clinit>
     1:1:void <init>():9:9 -> <init>
     com.android.tools.r8.ir.analysis.constant.LatticeElement meet(com.android.tools.r8.ir.analysis.constant.LatticeElement) -> a
     1:1:com.android.tools.r8.ir.analysis.constant.Bottom getInstance():13:13 -> c
     1:1:java.lang.String toString():28:28 -> toString
-com.android.tools.r8.ir.analysis.constant.ConstLatticeElement -> com.android.tools.r8.internal.wd:
+com.android.tools.r8.ir.analysis.constant.ConstLatticeElement -> com.android.tools.r8.internal.xd:
     com.android.tools.r8.ir.code.ConstNumber value -> a
     1:2:void <init>(com.android.tools.r8.ir.code.ConstNumber):11:12 -> <init>
     com.android.tools.r8.ir.analysis.constant.ConstLatticeElement asConst() -> a
@@ -38680,7 +38767,7 @@
     1:1:com.android.tools.r8.ir.code.ConstNumber getConstNumber():47:47 -> c
     1:1:int getIntValue():51:51 -> d
     1:1:java.lang.String toString():43:43 -> toString
-com.android.tools.r8.ir.analysis.constant.ConstRangeLatticeElement -> com.android.tools.r8.internal.Bd:
+com.android.tools.r8.ir.analysis.constant.ConstRangeLatticeElement -> com.android.tools.r8.internal.Cd:
     com.android.tools.r8.ir.code.Value value -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():8:8 -> <clinit>
@@ -38703,12 +38790,12 @@
     com.android.tools.r8.ir.analysis.constant.ConstRangeLatticeElement asConstRange() -> b
     1:1:com.android.tools.r8.ir.code.Value getConstRange():44:44 -> c
     1:1:java.lang.String toString():40:40 -> toString
-com.android.tools.r8.ir.analysis.constant.LatticeElement -> com.android.tools.r8.internal.cB:
+com.android.tools.r8.ir.analysis.constant.LatticeElement -> com.android.tools.r8.internal.eB:
     1:1:void <init>():6:6 -> <init>
     com.android.tools.r8.ir.analysis.constant.ConstLatticeElement asConst() -> a
     com.android.tools.r8.ir.analysis.constant.LatticeElement meet(com.android.tools.r8.ir.analysis.constant.LatticeElement) -> a
     com.android.tools.r8.ir.analysis.constant.ConstRangeLatticeElement asConstRange() -> b
-com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation -> com.android.tools.r8.internal.hW:
+com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation -> com.android.tools.r8.internal.mW:
     java.util.Deque ssaEdges -> d
     java.util.Map mapping -> c
     com.android.tools.r8.graph.AppView appView -> a
@@ -38841,14 +38928,14 @@
     172:177:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
     178:178:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):247:247 -> b
     178:178:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
-com.android.tools.r8.ir.analysis.constant.Top -> com.android.tools.r8.internal.xZ:
+com.android.tools.r8.ir.analysis.constant.Top -> com.android.tools.r8.internal.DZ:
     com.android.tools.r8.ir.analysis.constant.Top INSTANCE -> a
     1:1:void <clinit>():7:7 -> <clinit>
     1:1:void <init>():9:9 -> <init>
     com.android.tools.r8.ir.analysis.constant.LatticeElement meet(com.android.tools.r8.ir.analysis.constant.LatticeElement) -> a
     1:1:com.android.tools.r8.ir.analysis.constant.Top getInstance():13:13 -> c
     1:1:java.lang.String toString():28:28 -> toString
-com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph -> com.android.tools.r8.internal.e20:
+com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph -> com.android.tools.r8.internal.k20:
     java.util.Map nodes -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():27:27 -> <clinit>
@@ -38860,7 +38947,7 @@
     6:13:void com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph.mergeNodes(java.lang.Iterable):45:52 -> b
     6:13:void mergeStronglyConnectedComponents():62 -> b
     14:14:void mergeStronglyConnectedComponents():63:63 -> b
-com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node -> com.android.tools.r8.internal.d20:
+com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node -> com.android.tools.r8.internal.j20:
     java.util.Set predecessors -> c
     java.util.Set successors -> d
     com.android.tools.r8.ir.code.Value value -> a
@@ -38875,7 +38962,7 @@
     1:1:java.util.Set access$200(com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node):68:68 -> c
     1:1:com.android.tools.r8.ir.code.Value access$300(com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node):68:68 -> d
     1:12:void moveEdgesTo(com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node):99:110 -> e
-com.android.tools.r8.ir.analysis.equivalence.BasicBlockBehavioralSubsumption -> com.android.tools.r8.internal.w4:
+com.android.tools.r8.ir.analysis.equivalence.BasicBlockBehavioralSubsumption -> com.android.tools.r8.internal.x4:
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.graph.ProgramMethod context -> b
     boolean $assertionsDisabled -> c
@@ -38934,7 +39021,7 @@
     1:7:boolean com.android.tools.r8.ir.analysis.equivalence.BasicBlockBehavioralSubsumption.definesBlockLocalValue(com.android.tools.r8.ir.code.Instruction):180 -> b
     1:7:boolean isBlockLocalInstructionWithoutSideEffects(com.android.tools.r8.ir.code.Instruction):176 -> b
     8:8:boolean isBlockLocalInstructionWithoutSideEffects(com.android.tools.r8.ir.code.Instruction):176:176 -> b
-com.android.tools.r8.ir.analysis.escape.EscapeAnalysis -> com.android.tools.r8.internal.Yi:
+com.android.tools.r8.ir.analysis.escape.EscapeAnalysis -> com.android.tools.r8.internal.aj:
     java.util.Deque valuesToTrack -> d
     com.android.tools.r8.graph.AppView appView -> a
     java.util.Set trackedValues -> c
@@ -38963,9 +39050,9 @@
     103:105:void addToWorklist(com.android.tools.r8.ir.code.Value):171:173 -> a
     1:9:boolean isEscaping(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value):56:64 -> b
     10:10:boolean isValueOfInterestOrAlias(com.android.tools.r8.ir.code.Value):214:214 -> b
-com.android.tools.r8.ir.analysis.escape.EscapeAnalysisConfiguration -> com.android.tools.r8.internal.Zi:
+com.android.tools.r8.ir.analysis.escape.EscapeAnalysisConfiguration -> com.android.tools.r8.internal.bj:
     boolean isLegitimateEscapeRoute(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.escape.EscapeAnalysis,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod) -> a
-com.android.tools.r8.ir.analysis.fieldaccess.FieldAccessAnalysis -> com.android.tools.r8.internal.sj:
+com.android.tools.r8.ir.analysis.fieldaccess.FieldAccessAnalysis -> com.android.tools.r8.internal.uj:
     com.android.tools.r8.ir.analysis.fieldaccess.FieldReadForWriteAnalysis fieldReadForWriteAnalysis -> d
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker fieldAssignmentTracker -> b
@@ -38976,7 +39063,7 @@
     2:3:void acceptClassInitializerDefaultsResult(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):60:61 -> a
     4:26:void recordFieldAccesses(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor):70:92 -> a
     27:41:void recordFieldAccesses(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor):91:105 -> a
-com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker -> com.android.tools.r8.internal.Bj:
+com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker -> com.android.tools.r8.internal.Dj:
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> c
     com.android.tools.r8.graph.AppView appView -> b
     com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker$FieldAccessGraph fieldAccessGraph -> d
@@ -39120,7 +39207,7 @@
     28:28:void com.android.tools.r8.graph.DexProgramClass.forEachProgramField(java.util.function.Consumer):199:199 -> b
     28:28:void initializeAbstractInstanceFieldValues():130 -> b
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker$FieldAccessGraph -> com.android.tools.r8.internal.zj:
+com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker$FieldAccessGraph -> com.android.tools.r8.internal.Bj:
     java.util.Map fieldWrites -> a
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap pendingFieldWrites -> b
     1:1:void <init>():454:454 -> <init>
@@ -39130,7 +39217,7 @@
     14:14:java.util.List lambda$initialize$0(com.android.tools.r8.graph.DexEncodedMethod):469:469 -> a
     15:16:void lambda$initialize$1(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod):469:470 -> a
     17:24:void markProcessed(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):477:484 -> a
-com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker$ObjectAllocationGraph -> com.android.tools.r8.internal.Aj:
+com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker$ObjectAllocationGraph -> com.android.tools.r8.internal.Cj:
     java.util.Map objectAllocations -> a
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap pendingObjectAllocations -> b
     1:1:void <init>():501:501 -> <init>
@@ -39139,7 +39226,7 @@
     3:6:void lambda$initialize$1(com.android.tools.r8.graph.DexProgramClass,java.util.Set):508:511 -> a
     7:7:java.util.List lambda$initialize$0(com.android.tools.r8.graph.DexEncodedMethod):509:509 -> a
     8:15:void markProcessed(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):517:524 -> a
-com.android.tools.r8.ir.analysis.fieldaccess.FieldBitAccessAnalysis -> com.android.tools.r8.internal.Cj:
+com.android.tools.r8.ir.analysis.fieldaccess.FieldBitAccessAnalysis -> com.android.tools.r8.internal.Ej:
     1:1:void <init>():16:16 -> <init>
     1:9:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):20:28 -> a
     10:18:int com.android.tools.r8.ir.analysis.fieldaccess.FieldBitAccessAnalysis.computeBitsRead(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.DexEncodedField):34:42 -> a
@@ -39151,7 +39238,7 @@
     20:30:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):29 -> a
     31:31:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):29:29 -> a
     32:48:boolean isOnlyUsedToUpdateFieldValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexEncodedField):66:82 -> a
-com.android.tools.r8.ir.analysis.fieldaccess.FieldReadForWriteAnalysis -> com.android.tools.r8.internal.Uj:
+com.android.tools.r8.ir.analysis.fieldaccess.FieldReadForWriteAnalysis -> com.android.tools.r8.internal.Wj:
     com.android.tools.r8.graph.AppView appView -> a
     1:2:void <init>(com.android.tools.r8.graph.AppView):24:25 -> <init>
     1:7:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder):32:38 -> a
@@ -39167,7 +39254,7 @@
     29:29:boolean isValueOnlyUsedToWriteField(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramField):51:51 -> a
     30:33:boolean com.android.tools.r8.ir.analysis.fieldaccess.FieldReadForWriteAnalysis.enqueueUsersForAnalysis(com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):75:78 -> a
     30:33:boolean isValueOnlyUsedToWriteField(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramField):51 -> a
-com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor -> com.android.tools.r8.internal.WZ:
+com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor -> com.android.tools.r8.internal.c00:
     java.util.Map readFields -> c
     com.android.tools.r8.graph.AppView appView -> a
     java.util.Map writtenFields -> d
@@ -39264,7 +39351,7 @@
     1:1:java.util.Set access$300(com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor):45:45 -> d
     1:1:java.util.Set access$400(com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor):45:45 -> e
     1:1:com.android.tools.r8.utils.collections.ProgramMethodSet access$500(com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor):45:45 -> f
-com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor$TrivialFieldAccessUseRegistry -> com.android.tools.r8.internal.VZ:
+com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor$TrivialFieldAccessUseRegistry -> com.android.tools.r8.internal.b00:
     com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor this$0 -> e
     boolean $assertionsDisabled -> f
     1:1:void <clinit>():302:302 -> <clinit>
@@ -39318,13 +39405,13 @@
     void registerTypeReference(com.android.tools.r8.graph.DexType) -> f
     void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod) -> g
     1:1:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):426:426 -> g
-com.android.tools.r8.ir.analysis.fieldaccess.state.BottomFieldState -> com.android.tools.r8.internal.E5:
+com.android.tools.r8.ir.analysis.fieldaccess.state.BottomFieldState -> com.android.tools.r8.internal.F5:
     com.android.tools.r8.ir.analysis.fieldaccess.state.BottomFieldState INSTANCE -> a
     1:1:void <clinit>():13:13 -> <clinit>
     1:1:void <init>():15:15 -> <init>
     1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):23:23 -> a
     1:1:com.android.tools.r8.ir.analysis.fieldaccess.state.BottomFieldState getInstance():18:18 -> e
-com.android.tools.r8.ir.analysis.fieldaccess.state.ConcreteArrayTypeFieldState -> com.android.tools.r8.internal.Tc:
+com.android.tools.r8.ir.analysis.fieldaccess.state.ConcreteArrayTypeFieldState -> com.android.tools.r8.internal.Uc:
     1:1:void <init>(com.android.tools.r8.ir.analysis.value.AbstractValue):20:20 -> <init>
     com.android.tools.r8.ir.analysis.fieldaccess.state.ConcreteArrayTypeFieldState asArray() -> a
     1:1:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState create(com.android.tools.r8.ir.analysis.value.AbstractValue):24:24 -> a
@@ -39340,7 +39427,7 @@
     8:8:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue):42 -> a
     9:9:com.android.tools.r8.ir.analysis.fieldaccess.state.UnknownFieldState com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState.unknown():18:18 -> a
     9:9:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue):42 -> a
-com.android.tools.r8.ir.analysis.fieldaccess.state.ConcreteClassTypeFieldState -> com.android.tools.r8.internal.Wc:
+com.android.tools.r8.ir.analysis.fieldaccess.state.ConcreteClassTypeFieldState -> com.android.tools.r8.internal.Xc:
     com.android.tools.r8.ir.analysis.type.DynamicType dynamicType -> b
     1:2:void <init>(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.type.DynamicType):20:21 -> <init>
     1:1:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState create(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.type.DynamicType):25:25 -> a
@@ -39359,10 +39446,10 @@
     15:15:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.ProgramField):56 -> a
     com.android.tools.r8.ir.analysis.fieldaccess.state.ConcreteClassTypeFieldState asClass() -> b
     1:1:com.android.tools.r8.ir.analysis.type.DynamicType getDynamicType():31:31 -> e
-com.android.tools.r8.ir.analysis.fieldaccess.state.ConcreteFieldState -> com.android.tools.r8.internal.Yc:
+com.android.tools.r8.ir.analysis.fieldaccess.state.ConcreteFieldState -> com.android.tools.r8.internal.Zc:
     1:1:void <init>():8:8 -> <init>
     boolean isConcrete() -> d
-com.android.tools.r8.ir.analysis.fieldaccess.state.ConcretePrimitiveTypeFieldState -> com.android.tools.r8.internal.id:
+com.android.tools.r8.ir.analysis.fieldaccess.state.ConcretePrimitiveTypeFieldState -> com.android.tools.r8.internal.jd:
     com.android.tools.r8.ir.analysis.value.AbstractValue abstractValue -> a
     1:2:void <init>(com.android.tools.r8.ir.analysis.value.AbstractValue):15:16 -> <init>
     1:1:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState create(com.android.tools.r8.ir.analysis.value.AbstractValue):20:20 -> a
@@ -39383,18 +39470,18 @@
     11:11:com.android.tools.r8.ir.analysis.fieldaccess.state.UnknownFieldState com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState.unknown():18:18 -> a
     11:11:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState mutableJoin(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory):46 -> a
     com.android.tools.r8.ir.analysis.fieldaccess.state.ConcretePrimitiveTypeFieldState asPrimitive() -> c
-com.android.tools.r8.ir.analysis.fieldaccess.state.ConcreteReferenceTypeFieldState -> com.android.tools.r8.internal.ld:
+com.android.tools.r8.ir.analysis.fieldaccess.state.ConcreteReferenceTypeFieldState -> com.android.tools.r8.internal.md:
     com.android.tools.r8.ir.analysis.value.AbstractValue abstractValue -> a
     1:2:void <init>(com.android.tools.r8.ir.analysis.value.AbstractValue):15:16 -> <init>
     1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):21:21 -> a
-com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState -> com.android.tools.r8.internal.dk:
+com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState -> com.android.tools.r8.internal.fk:
     1:1:void <init>():11:11 -> <init>
     com.android.tools.r8.ir.analysis.fieldaccess.state.ConcreteArrayTypeFieldState asArray() -> a
     com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory) -> a
     com.android.tools.r8.ir.analysis.fieldaccess.state.ConcreteClassTypeFieldState asClass() -> b
     com.android.tools.r8.ir.analysis.fieldaccess.state.ConcretePrimitiveTypeFieldState asPrimitive() -> c
     boolean isConcrete() -> d
-com.android.tools.r8.ir.analysis.fieldaccess.state.UnknownFieldState -> com.android.tools.r8.internal.s10:
+com.android.tools.r8.ir.analysis.fieldaccess.state.UnknownFieldState -> com.android.tools.r8.internal.y10:
     com.android.tools.r8.ir.analysis.fieldaccess.state.UnknownFieldState INSTANCE -> a
     1:1:void <clinit>():13:13 -> <clinit>
     1:1:void <init>():15:15 -> <init>
@@ -39411,7 +39498,7 @@
     com.android.tools.r8.ir.analysis.fieldvalueanalysis.KnownFieldSet asKnownFieldSet() -> b
     boolean isEmpty() -> c
     boolean isKnownFieldSet() -> d
-com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet -> com.android.tools.r8.internal.dd:
+com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet -> com.android.tools.r8.internal.ed:
     java.util.Set fields -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():21:21 -> <clinit>
@@ -39447,7 +39534,7 @@
     1:5:boolean equals(java.lang.Object):131:135 -> equals
     1:1:int hashCode():123:123 -> hashCode
     1:1:int size():118:118 -> size
-com.android.tools.r8.ir.analysis.fieldvalueanalysis.EmptyFieldSet -> com.android.tools.r8.internal.Mh:
+com.android.tools.r8.ir.analysis.fieldvalueanalysis.EmptyFieldSet -> com.android.tools.r8.internal.Oh:
     boolean $assertionsDisabled -> b
     com.android.tools.r8.ir.analysis.fieldvalueanalysis.EmptyFieldSet INSTANCE -> a
     1:3:void <clinit>():15:17 -> <clinit>
@@ -39463,7 +39550,7 @@
     boolean isEmpty() -> c
     boolean isKnownFieldSet() -> d
     1:1:com.android.tools.r8.ir.analysis.fieldvalueanalysis.EmptyFieldSet getInstance():22:22 -> e
-com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis -> com.android.tools.r8.internal.fk:
+com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis -> com.android.tools.r8.internal.hk:
     com.android.tools.r8.ir.optimize.info.OptimizationFeedback feedback -> d
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.ir.code.DominatorTree dominatorTree -> e
@@ -39553,13 +39640,13 @@
     55:55:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():285 -> c
     56:80:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():286:310 -> c
     1:4:com.android.tools.r8.ir.code.DominatorTree getOrCreateDominatorTree():69:72 -> d
-com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis$FieldInitializationInfo -> com.android.tools.r8.internal.ek:
+com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis$FieldInitializationInfo -> com.android.tools.r8.internal.gk:
     com.android.tools.r8.ir.code.Instruction instruction -> a
     com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo instanceFieldInitializationInfo -> b
     1:3:void <init>(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):44:46 -> <init>
     1:1:com.android.tools.r8.ir.code.Instruction access$000(com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis$FieldInitializationInfo):38:38 -> a
     1:1:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo access$100(com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis$FieldInitializationInfo):38:38 -> b
-com.android.tools.r8.ir.analysis.fieldvalueanalysis.InstanceFieldValueAnalysis -> com.android.tools.r8.internal.Pp:
+com.android.tools.r8.ir.analysis.fieldvalueanalysis.InstanceFieldValueAnalysis -> com.android.tools.r8.internal.Rp:
     boolean $assertionsDisabled -> m
     com.android.tools.r8.graph.DexClassAndMethod parentConstructor -> k
     com.android.tools.r8.ir.code.InvokeDirect parentConstructorCall -> l
@@ -39613,10 +39700,10 @@
     4:4:void com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection$Builder.recordInitializationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):59:59 -> b
     4:4:void recordInstanceFieldIsInitializedWithInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):221 -> b
     1:11:void analyzeParentConstructorCall():169:179 -> e
-com.android.tools.r8.ir.analysis.fieldvalueanalysis.KnownFieldSet -> com.android.tools.r8.internal.Yy:
+com.android.tools.r8.ir.analysis.fieldvalueanalysis.KnownFieldSet -> com.android.tools.r8.internal.az:
     com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet asConcreteFieldSet() -> a
     boolean contains(com.android.tools.r8.graph.DexEncodedField) -> a
-com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis -> com.android.tools.r8.internal.TW:
+com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis -> com.android.tools.r8.internal.YW:
     com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$Builder builder -> i
     boolean $assertionsDisabled -> k
     java.util.Map computedValues -> j
@@ -39745,7 +39832,7 @@
     94:94:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.valuesArrayIndexMatchesOrdinal(int,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):364:364 -> c
     94:94:com.android.tools.r8.ir.analysis.value.SingleFieldValue internalComputeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):284 -> c
     95:136:com.android.tools.r8.ir.analysis.value.SingleFieldValue internalComputeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):287:328 -> c
-com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues -> com.android.tools.r8.internal.ZW:
+com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues -> com.android.tools.r8.internal.eX:
     1:1:void <init>():15:15 -> <init>
     com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$EnumStaticFieldValues asEnumStaticFieldValues() -> a
     1:1:com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$Builder builder(com.android.tools.r8.graph.DexProgramClass):26:26 -> a
@@ -39753,25 +39840,25 @@
     2:2:com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$Builder builder(com.android.tools.r8.graph.DexProgramClass):26 -> a
     3:3:com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$Builder com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$EmptyStaticValues.builder():114:114 -> a
     3:3:com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$Builder builder(com.android.tools.r8.graph.DexProgramClass):26 -> a
-com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$Builder -> com.android.tools.r8.internal.UW:
+com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$Builder -> com.android.tools.r8.internal.ZW:
     1:1:void <init>():29:29 -> <init>
     com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues build() -> a
     void recordStaticField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexItemFactory) -> a
-com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$EmptyStaticValues -> com.android.tools.r8.internal.WW:
+com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$EmptyStaticValues -> com.android.tools.r8.internal.bX:
     com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$EmptyStaticValues INSTANCE -> a
     1:1:void <clinit>():105:105 -> <clinit>
     1:1:void <init>():107:107 -> <init>
     1:1:com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$EmptyStaticValues getInstance():110:110 -> b
-com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$EmptyStaticValues$Builder -> com.android.tools.r8.internal.VW:
+com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$EmptyStaticValues$Builder -> com.android.tools.r8.internal.aX:
     1:1:void <init>():117:117 -> <init>
     void recordStaticField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexItemFactory) -> a
     1:1:com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues build():127:127 -> a
-com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$EnumStaticFieldValues -> com.android.tools.r8.internal.YW:
+com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$EnumStaticFieldValues -> com.android.tools.r8.internal.dX:
     com.android.tools.r8.com.google.common.collect.ImmutableMap enumAbstractValues -> a
     1:2:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMap):42:43 -> <init>
     com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$EnumStaticFieldValues asEnumStaticFieldValues() -> a
     1:1:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState getObjectStateForPossiblyPinnedField(com.android.tools.r8.graph.DexField):100:100 -> a
-com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$EnumStaticFieldValues$Builder -> com.android.tools.r8.internal.XW:
+com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$EnumStaticFieldValues$Builder -> com.android.tools.r8.internal.cX:
     com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder enumObjectStateBuilder -> a
     com.android.tools.r8.ir.analysis.value.AbstractValue valuesCandidateAbstractValue -> b
     boolean $assertionsDisabled -> c
@@ -39786,7 +39873,7 @@
     12:19:void recordStaticField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexItemFactory):66:73 -> a
     20:20:void recordStaticField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexItemFactory):72:72 -> a
     21:26:com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues build():80:85 -> a
-com.android.tools.r8.ir.analysis.fieldvalueanalysis.UnknownFieldSet -> com.android.tools.r8.internal.r10:
+com.android.tools.r8.ir.analysis.fieldvalueanalysis.UnknownFieldSet -> com.android.tools.r8.internal.x10:
     com.android.tools.r8.ir.analysis.fieldvalueanalysis.UnknownFieldSet INSTANCE -> a
     1:1:void <clinit>():16:16 -> <clinit>
     1:1:void <init>():18:18 -> <init>
@@ -39802,21 +39889,21 @@
 com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractTransferFunction -> com.android.tools.r8.internal.r1:
     com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState) -> a
     com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState computeBlockEntryState(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState) -> a
-com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult -> com.android.tools.r8.internal.ze:
+com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult -> com.android.tools.r8.internal.Ae:
     1:1:void <init>():21:21 -> <init>
     com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult$SuccessfulDataflowAnalysisResult asSuccessfulAnalysisResult() -> a
-com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult$FailedDataflowAnalysisResult -> com.android.tools.r8.internal.xe:
+com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult$FailedDataflowAnalysisResult -> com.android.tools.r8.internal.ye:
     1:1:void <init>():65:65 -> <init>
-com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult$SuccessfulDataflowAnalysisResult -> com.android.tools.r8.internal.ye:
+com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult$SuccessfulDataflowAnalysisResult -> com.android.tools.r8.internal.ze:
     java.util.Map blockExitStates -> a
     1:2:void <init>(java.util.Map):41:42 -> <init>
     com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult$SuccessfulDataflowAnalysisResult asSuccessfulAnalysisResult() -> a
     1:2:com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState join():47:48 -> b
-com.android.tools.r8.ir.analysis.framework.intraprocedural.FailedTransferFunctionResult -> com.android.tools.r8.internal.pj:
+com.android.tools.r8.ir.analysis.framework.intraprocedural.FailedTransferFunctionResult -> com.android.tools.r8.internal.rj:
     1:1:void <init>():16:16 -> <init>
     1:1:com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState asAbstractState():20:20 -> a
     boolean isFailedTransferResult() -> b
-com.android.tools.r8.ir.analysis.framework.intraprocedural.IntraproceduralDataflowAnalysis -> com.android.tools.r8.internal.ou:
+com.android.tools.r8.ir.analysis.framework.intraprocedural.IntraproceduralDataflowAnalysis -> com.android.tools.r8.internal.qu:
     java.util.Map blockExitStates -> c
     java.util.Map blockEntryStatesCache -> d
     boolean $assertionsDisabled -> e
@@ -39862,7 +39949,7 @@
     1:1:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult run(com.android.tools.r8.ir.code.BasicBlock):49:49 -> b
     2:2:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult com.android.tools.r8.ir.analysis.framework.intraprocedural.IntraproceduralDataflowAnalysis.run(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.Timing):53:53 -> b
     2:2:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult run(com.android.tools.r8.ir.code.BasicBlock):49 -> b
-com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult -> com.android.tools.r8.internal.LZ:
+com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult -> com.android.tools.r8.internal.RZ:
     com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState asAbstractState() -> a
     boolean isFailedTransferResult() -> b
     boolean isAbstractState() -> c
@@ -39872,7 +39959,7 @@
     1:1:void <init>():18:18 -> <init>
     com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory) -> a
     boolean isSatisfied(com.android.tools.r8.ir.code.InvokeMethod) -> a
-com.android.tools.r8.ir.analysis.inlining.EqualToBooleanSimpleInliningConstraint -> com.android.tools.r8.internal.Ri:
+com.android.tools.r8.ir.analysis.inlining.EqualToBooleanSimpleInliningConstraint -> com.android.tools.r8.internal.Ti:
     boolean value -> c
     boolean $assertionsDisabled -> d
     1:1:void <clinit>():17:17 -> <clinit>
@@ -39899,7 +39986,7 @@
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     29:29:boolean isSatisfied(com.android.tools.r8.ir.code.InvokeMethod):60:60 -> a
     30:30:com.android.tools.r8.ir.analysis.inlining.SimpleInliningArgumentConstraint withArgumentIndex(int,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):66:66 -> a
-com.android.tools.r8.ir.analysis.inlining.EqualToNumberSimpleInliningConstraint -> com.android.tools.r8.internal.Si:
+com.android.tools.r8.ir.analysis.inlining.EqualToNumberSimpleInliningConstraint -> com.android.tools.r8.internal.Ui:
     boolean $assertionsDisabled -> e
     1:1:void <clinit>():7:7 -> <clinit>
     1:1:void <init>(int,long):10:10 -> <init>
@@ -39908,13 +39995,13 @@
     4:4:com.android.tools.r8.ir.analysis.inlining.SimpleInliningArgumentConstraint withArgumentIndex(int,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):27:27 -> a
     5:5:com.android.tools.r8.ir.analysis.inlining.EqualToNumberSimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory.createEqualToNumberConstraint(int,long):94:94 -> a
     5:5:com.android.tools.r8.ir.analysis.inlining.SimpleInliningArgumentConstraint withArgumentIndex(int,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):27 -> a
-com.android.tools.r8.ir.analysis.inlining.NeverSimpleInliningConstraint -> com.android.tools.r8.internal.MG:
+com.android.tools.r8.ir.analysis.inlining.NeverSimpleInliningConstraint -> com.android.tools.r8.internal.RG:
     com.android.tools.r8.ir.analysis.inlining.NeverSimpleInliningConstraint INSTANCE -> b
     1:1:void <clinit>():15:15 -> <clinit>
     1:1:void <init>():17:17 -> <init>
     com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory) -> a
     boolean isSatisfied(com.android.tools.r8.ir.code.InvokeMethod) -> a
-com.android.tools.r8.ir.analysis.inlining.NotEqualToNumberSimpleInliningConstraint -> com.android.tools.r8.internal.QH:
+com.android.tools.r8.ir.analysis.inlining.NotEqualToNumberSimpleInliningConstraint -> com.android.tools.r8.internal.VH:
     boolean $assertionsDisabled -> e
     1:1:void <clinit>():7:7 -> <clinit>
     1:1:void <init>(int,long):10:10 -> <init>
@@ -39923,7 +40010,7 @@
     4:4:com.android.tools.r8.ir.analysis.inlining.SimpleInliningArgumentConstraint withArgumentIndex(int,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):27:27 -> a
     5:5:com.android.tools.r8.ir.analysis.inlining.NotEqualToNumberSimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory.createNotEqualToNumberConstraint(int,long):89:89 -> a
     5:5:com.android.tools.r8.ir.analysis.inlining.SimpleInliningArgumentConstraint withArgumentIndex(int,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):27 -> a
-com.android.tools.r8.ir.analysis.inlining.NullSimpleInliningConstraint -> com.android.tools.r8.internal.UH:
+com.android.tools.r8.ir.analysis.inlining.NullSimpleInliningConstraint -> com.android.tools.r8.internal.ZH:
     com.android.tools.r8.ir.analysis.type.Nullability nullability -> c
     boolean $assertionsDisabled -> d
     1:1:void <clinit>():20:20 -> <clinit>
@@ -39951,7 +40038,7 @@
     30:30:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):62 -> a
     31:44:boolean isSatisfied(com.android.tools.r8.ir.code.InvokeMethod):67:80 -> a
     45:45:com.android.tools.r8.ir.analysis.inlining.SimpleInliningArgumentConstraint withArgumentIndex(int,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):86:86 -> a
-com.android.tools.r8.ir.analysis.inlining.NumberSimpleInliningConstraint -> com.android.tools.r8.internal.eI:
+com.android.tools.r8.ir.analysis.inlining.NumberSimpleInliningConstraint -> com.android.tools.r8.internal.jI:
     long rawValue -> c
     boolean $assertionsDisabled -> d
     1:1:void <clinit>():16:16 -> <clinit>
@@ -39972,14 +40059,14 @@
     15:21:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):43:49 -> a
     22:24:boolean isSatisfied(com.android.tools.r8.ir.code.InvokeMethod):54:56 -> a
     1:1:long getRawValue():26:26 -> i
-com.android.tools.r8.ir.analysis.inlining.SimpleInliningArgumentConstraint -> com.android.tools.r8.internal.qV:
+com.android.tools.r8.ir.analysis.inlining.SimpleInliningArgumentConstraint -> com.android.tools.r8.internal.vV:
     int argumentIndex -> b
     1:2:void <init>(int):14:15 -> <init>
     com.android.tools.r8.ir.analysis.inlining.SimpleInliningArgumentConstraint withArgumentIndex(int,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory) -> a
     1:1:com.android.tools.r8.ir.code.Value getArgument(com.android.tools.r8.ir.code.InvokeMethod):19:19 -> b
     boolean isArgumentConstraint() -> d
     1:1:int getArgumentIndex():23:23 -> h
-com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint -> com.android.tools.r8.internal.rV:
+com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint -> com.android.tools.r8.internal.wV:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():14:14 -> <clinit>
     1:1:void <init>():14:14 -> <init>
@@ -40028,7 +40115,7 @@
     boolean isConjunction() -> e
     boolean isDisjunction() -> f
     boolean isNever() -> g
-com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintAnalysis -> com.android.tools.r8.internal.tV:
+com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintAnalysis -> com.android.tools.r8.internal.yV:
     com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory factory -> a
     java.util.Set seen -> d
     com.android.tools.r8.utils.InternalOptions options -> c
@@ -40127,10 +40214,10 @@
     1:1:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lambda$analyzeInstructionsInBlock$1(com.android.tools.r8.ir.code.If,int):144:144 -> b
     2:2:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintAnalysis.analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int):76:76 -> b
     2:2:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lambda$analyzeInstructionsInBlock$1(com.android.tools.r8.ir.code.If,int):144 -> b
-com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintAnalysis$1 -> com.android.tools.r8.internal.sV:
+com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintAnalysis$1 -> com.android.tools.r8.internal.xV:
     int[] $SwitchMap$com$android$tools$r8$ir$code$If$Type -> a
     1:1:void <clinit>():172:172 -> <clinit>
-com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintConjunction -> com.android.tools.r8.internal.uV:
+com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintConjunction -> com.android.tools.r8.internal.zV:
     java.util.List constraints -> b
     boolean $assertionsDisabled -> c
     1:1:void <clinit>():16:16 -> <clinit>
@@ -40160,7 +40247,7 @@
     57:58:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lambda$fixupAfterParametersChanged$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):81:82 -> a
     59:59:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isAlways():0:0 -> a
     59:59:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lambda$fixupAfterParametersChanged$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):82 -> a
-com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintDisjunction -> com.android.tools.r8.internal.vV:
+com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintDisjunction -> com.android.tools.r8.internal.AV:
     java.util.List constraints -> b
     boolean $assertionsDisabled -> c
     1:1:void <clinit>():16:16 -> <clinit>
@@ -40190,7 +40277,7 @@
     57:57:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isNever():0:0 -> a
     57:57:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lambda$fixupAfterParametersChanged$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):82 -> a
     com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintDisjunction asDisjunction() -> b
-com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory -> com.android.tools.r8.internal.wV:
+com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory -> com.android.tools.r8.internal.BV:
     com.android.tools.r8.ir.analysis.inlining.EqualToBooleanSimpleInliningConstraint[] lowEqualToTrueConstraints -> b
     com.android.tools.r8.ir.analysis.inlining.EqualToBooleanSimpleInliningConstraint[] lowEqualToFalseConstraints -> a
     com.android.tools.r8.ir.analysis.inlining.NullSimpleInliningConstraint[] lowEqualToNullConstraints -> d
@@ -40209,18 +40296,18 @@
     10:10:com.android.tools.r8.ir.analysis.inlining.SimpleInliningArgumentConstraint lambda$createArgumentConstraint$2(java.util.function.Supplier,java.lang.Integer):101:101 -> a
     1:1:com.android.tools.r8.ir.analysis.inlining.EqualToBooleanSimpleInliningConstraint lambda$createEqualToBooleanConstraint$0(int,boolean):67:67 -> b
     2:2:com.android.tools.r8.ir.analysis.inlining.NullSimpleInliningConstraint lambda$createNullConstraint$1(int,com.android.tools.r8.ir.analysis.type.Nullability):84:84 -> b
-com.android.tools.r8.ir.analysis.modeling.LibraryMethodReadSetModeling -> com.android.tools.r8.internal.HB:
+com.android.tools.r8.ir.analysis.modeling.LibraryMethodReadSetModeling -> com.android.tools.r8.internal.JB:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():15:15 -> <clinit>
     1:9:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet getModeledReadSetOrUnknown(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod):19:27 -> a
     10:10:boolean com.android.tools.r8.ir.optimize.library.LibraryMethodSideEffectModelCollection.isCallToSideEffectFreeFinalMethod(com.android.tools.r8.ir.code.InvokeMethod):119:119 -> a
     10:10:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet getModeledReadSetOrUnknown(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod):27 -> a
     11:15:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet getModeledReadSetOrUnknown(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod):28:32 -> a
-    16:16:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveNameLookup(com.android.tools.r8.graph.DexMethod):1582:1582 -> a
+    16:16:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveNameLookup(com.android.tools.r8.graph.DexMethod):1584:1584 -> a
     16:16:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet getModeledReadSetOrUnknown(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod):32 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     17:19:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet getModeledReadSetOrUnknown(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod):32:34 -> a
-com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker -> com.android.tools.r8.internal.qi:
+com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker -> com.android.tools.r8.internal.si:
     com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> b
     com.android.tools.r8.graph.AppView appView -> a
     java.util.Set deadEnumLiteMaps -> c
@@ -40229,7 +40316,7 @@
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.ProtoReferences):43:43 -> <init>
     2:6:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.ProtoReferences):41:45 -> <init>
     1:1:void clearDeadEnumLiteMaps():59:59 -> a
-    2:2:boolean com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions.isEnumLiteProtoShrinkingEnabled():1564:1564 -> a
+    2:2:boolean com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions.isEnumLiteProtoShrinkingEnabled():1568:1568 -> a
     2:2:void clearDeadEnumLiteMaps():59 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     3:11:void clearDeadEnumLiteMaps():59:67 -> a
@@ -40277,7 +40364,7 @@
     4:4:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> c
     4:4:void verifyDeadEnumLiteMapsAreDead():148 -> c
     5:5:void verifyDeadEnumLiteMapsAreDead():148:148 -> c
-com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker -> com.android.tools.r8.internal.Gl:
+com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker -> com.android.tools.r8.internal.Il:
     com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> c
     com.android.tools.r8.graph.AppView appView -> a
     java.util.Map removedExtensionFields -> d
@@ -40332,13 +40419,13 @@
     4:6:void forEachDeadProtoExtensionField(java.util.function.Consumer):269:271 -> b
     1:3:void forEachFindLiteExtensionByNumberMethod(java.util.function.Consumer):212:214 -> c
     1:2:void forEachMethodThatRequiresPostOptimization(java.util.function.Consumer):184:185 -> d
-com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker$1 -> com.android.tools.r8.internal.Fl:
+com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker$1 -> com.android.tools.r8.internal.Hl:
     com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker this$0 -> b
     1:1:void <init>(com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):117:117 -> <init>
     1:1:boolean isReachableOrReferencedField(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexEncodedField):122:122 -> a
     2:2:boolean com.android.tools.r8.shaking.DefaultTreePrunerConfiguration.isReachableOrReferencedField(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexEncodedField):22:22 -> a
     2:2:boolean isReachableOrReferencedField(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexEncodedField):123 -> a
-com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker -> com.android.tools.r8.internal.Rl:
+com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker -> com.android.tools.r8.internal.Tl:
     com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> b
     com.android.tools.r8.graph.AppView appView -> a
     java.util.Map builders -> d
@@ -40431,7 +40518,7 @@
     2:2:boolean lambda$computeEnableAggressiveBuilderOptimization$1(com.android.tools.r8.graph.DexClass):112:112 -> b
     3:4:com.android.tools.r8.graph.analysis.EnqueuerAnalysis createEnqueuerAnalysis():128:129 -> b
     1:1:com.android.tools.r8.ir.analysis.proto.ProtoReferences access$200(com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker):61:61 -> c
-com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker$1 -> com.android.tools.r8.internal.Pl:
+com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker$1 -> com.android.tools.r8.internal.Rl:
     com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker this$0 -> b
     java.util.Set val$seen -> a
     boolean $assertionsDisabled -> c
@@ -40444,7 +40531,7 @@
     29:32:void lambda$notifyFixpoint$0(java.util.Set,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):155:158 -> a
     33:38:void lambda$notifyFixpoint$0(java.util.Set,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):157:162 -> a
     39:39:void lambda$notifyFixpoint$0(java.util.Set,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):161:161 -> a
-com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker$RootSetExtension -> com.android.tools.r8.internal.Ql:
+com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker$RootSetExtension -> com.android.tools.r8.internal.Sl:
     java.util.Set bypassClinitforInlining -> g
     com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> b
     com.android.tools.r8.graph.AppView appView -> a
@@ -40478,7 +40565,7 @@
     12:13:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker$RootSetExtension.neverMergeClass(com.android.tools.r8.graph.DexType):475:476 -> b
     12:13:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker$RootSetExtension.neverMergeGeneratedMessageLiteBuilder():465 -> b
     12:13:void extend(com.android.tools.r8.graph.SubtypingInfo):427 -> b
-com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker -> com.android.tools.r8.internal.Sl:
+com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker -> com.android.tools.r8.internal.Ul:
     com.android.tools.r8.ir.analysis.proto.RawMessageInfoEncoder encoder -> c
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> d
@@ -40603,7 +40690,7 @@
     124:124:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isMessageInfoConstructionMethod(com.android.tools.r8.graph.DexMethod):187:187 -> a
     124:124:com.android.tools.r8.ir.code.InvokeMethod getNewMessageInfoInvoke(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.proto.ProtoReferences):235 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-com.android.tools.r8.ir.analysis.proto.ProtoEnqueuerUseRegistry -> com.android.tools.r8.internal.yP:
+com.android.tools.r8.ir.analysis.proto.ProtoEnqueuerUseRegistry -> com.android.tools.r8.internal.DP:
     com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> i
     com.android.tools.r8.shaking.EnqueuerUseRegistryFactory FACTORY -> j
     1:1:void <clinit>():25:25 -> <clinit>
@@ -40628,7 +40715,7 @@
     9:15:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):81 -> e
     16:19:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):82:85 -> e
     1:1:com.android.tools.r8.shaking.EnqueuerUseRegistryFactory getFactory():39:39 -> g
-com.android.tools.r8.ir.analysis.proto.ProtoEnumSwitchMapRemover -> com.android.tools.r8.internal.zP:
+com.android.tools.r8.ir.analysis.proto.ProtoEnumSwitchMapRemover -> com.android.tools.r8.internal.EP:
     com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> a
     java.util.Map staticFieldValuesMap -> b
     java.util.Map staticFieldValuesMapDelayed -> c
@@ -40647,7 +40734,7 @@
     12:16:com.android.tools.r8.ir.analysis.value.SingleNumberValue getOrdinal(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField):57 -> a
     17:25:com.android.tools.r8.ir.analysis.value.SingleNumberValue getOrdinal(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField):60:68 -> a
     26:31:com.android.tools.r8.ir.analysis.value.SingleNumberValue getOrdinal(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField):67:72 -> a
-com.android.tools.r8.ir.analysis.proto.ProtoInliningReasonStrategy -> com.android.tools.r8.internal.EP:
+com.android.tools.r8.ir.analysis.proto.ProtoInliningReasonStrategy -> com.android.tools.r8.internal.JP:
     com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> b
     com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy parent -> a
     boolean $assertionsDisabled -> c
@@ -40699,7 +40786,7 @@
     42:42:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):52 -> a
     43:46:com.android.tools.r8.ir.optimize.Inliner$Reason com.android.tools.r8.ir.analysis.proto.ProtoInliningReasonStrategy.computeInliningReasonForDynamicMethod(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):85:88 -> a
     43:46:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):52 -> a
-com.android.tools.r8.ir.analysis.proto.ProtoReferences -> com.android.tools.r8.internal.UP:
+com.android.tools.r8.ir.analysis.proto.ProtoReferences -> com.android.tools.r8.internal.ZP:
     com.android.tools.r8.graph.DexType generatedMessageLiteExtendableMessageType -> l
     com.android.tools.r8.graph.DexType generatedMessageLiteBuilderType -> j
     com.android.tools.r8.graph.DexType methodToInvokeType -> n
@@ -40744,28 +40831,28 @@
     4:4:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> b
     4:4:boolean isFindLiteExtensionByNumberMethod(com.android.tools.r8.graph.DexMethod):172 -> b
     5:5:boolean isFindLiteExtensionByNumberMethod(com.android.tools.r8.graph.DexMethod):172:172 -> b
-com.android.tools.r8.ir.analysis.proto.ProtoReferences$1 -> com.android.tools.r8.internal.OP:
-com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedExtensionMethods -> com.android.tools.r8.internal.PP:
+com.android.tools.r8.ir.analysis.proto.ProtoReferences$1 -> com.android.tools.r8.internal.TP:
+com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedExtensionMethods -> com.android.tools.r8.internal.UP:
     com.android.tools.r8.graph.DexMethod constructorWithClass -> b
     com.android.tools.r8.graph.DexMethod constructor -> a
     1:1:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.analysis.proto.ProtoReferences$1):194:194 -> <init>
     2:6:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):199:203 -> <init>
     7:19:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):201:213 -> <init>
     20:20:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):211:211 -> <init>
-com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteBuilderMethods -> com.android.tools.r8.internal.QP:
+com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteBuilderMethods -> com.android.tools.r8.internal.VP:
     com.android.tools.r8.graph.DexMethod constructorMethod -> a
     1:1:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.analysis.proto.ProtoReferences$1):288:288 -> <init>
     2:6:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):293:297 -> <init>
     7:14:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):295:302 -> <init>
     15:15:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):300:300 -> <init>
-com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteExtendableBuilderMethods -> com.android.tools.r8.internal.RP:
+com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteExtendableBuilderMethods -> com.android.tools.r8.internal.WP:
     com.android.tools.r8.graph.DexMethod constructorMethod -> b
     com.android.tools.r8.graph.DexMethod buildPartialMethod -> a
     1:1:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.analysis.proto.ProtoReferences$1):307:307 -> <init>
     2:6:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):312:316 -> <init>
     7:14:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):314:321 -> <init>
     15:15:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):319:319 -> <init>
-com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteMethods -> com.android.tools.r8.internal.SP:
+com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteMethods -> com.android.tools.r8.internal.XP:
     com.android.tools.r8.graph.DexMethod newSingularGeneratedExtension -> e
     com.android.tools.r8.graph.DexMethod newRepeatedGeneratedExtension -> d
     com.android.tools.r8.graph.DexMethod dynamicMethodBridgeMethodWithObject -> c
@@ -40779,7 +40866,7 @@
     32:39:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):255:262 -> <init>
     40:55:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):260:275 -> <init>
     56:56:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):273:273 -> <init>
-com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers -> com.android.tools.r8.internal.TP:
+com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers -> com.android.tools.r8.internal.YP:
     com.android.tools.r8.graph.DexField newMutableInstanceField -> f
     com.android.tools.r8.graph.DexField newBuilderField -> e
     com.android.tools.r8.graph.DexField setMemoizedIsInitializedField -> g
@@ -40789,7 +40876,7 @@
     com.android.tools.r8.graph.DexField getMemoizedIsInitializedField -> c
     1:1:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.analysis.proto.ProtoReferences$1):327:327 -> <init>
     2:19:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):337:354 -> <init>
-com.android.tools.r8.ir.analysis.proto.ProtoShrinker -> com.android.tools.r8.internal.VP:
+com.android.tools.r8.ir.analysis.proto.ProtoShrinker -> com.android.tools.r8.internal.aQ:
     com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory factory -> b
     com.android.tools.r8.ir.analysis.proto.ProtoEnumSwitchMapRemover protoEnumSwitchMapRemover -> g
     com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker generatedMessageLiteBuilderShrinker -> e
@@ -40807,7 +40894,7 @@
     8:8:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():502:502 -> a
     8:8:com.android.tools.r8.ir.analysis.proto.ProtoShrinker create(com.android.tools.r8.graph.AppView):66 -> a
     9:13:com.android.tools.r8.ir.analysis.proto.ProtoShrinker create(com.android.tools.r8.graph.AppView):66:70 -> a
-    14:18:void com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions.disable():1545:1549 -> a
+    14:18:void com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions.disable():1549:1553 -> a
     14:18:com.android.tools.r8.ir.analysis.proto.ProtoShrinker create(com.android.tools.r8.graph.AppView):70 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     19:19:com.android.tools.r8.ir.analysis.proto.ProtoShrinker create(com.android.tools.r8.graph.AppView):74:74 -> a
@@ -40818,7 +40905,7 @@
     25:25:void setDeadProtoTypes(java.util.Set):84:84 -> a
     26:26:void com.android.tools.r8.utils.InternalOptions.checkAssertionsEnabled():923:923 -> a
     26:26:void setDeadProtoTypes(java.util.Set):83 -> a
-com.android.tools.r8.ir.analysis.proto.ProtoUtils -> com.android.tools.r8.internal.YP:
+com.android.tools.r8.ir.analysis.proto.ProtoUtils -> com.android.tools.r8.internal.dQ:
     boolean $assertionsDisabled -> a
     int $r8$clinit -> b
     1:1:void <clinit>():11:11 -> <clinit>
@@ -40827,7 +40914,7 @@
     2:2:com.android.tools.r8.ir.code.Value getInfoValueFromMessageInfoConstructionInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.ProtoReferences):17 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     3:5:com.android.tools.r8.ir.code.Value getInfoValueFromMessageInfoConstructionInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.ProtoReferences):17:19 -> a
-com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder -> com.android.tools.r8.internal.jQ:
+com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder -> com.android.tools.r8.internal.oQ:
     com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> b
     com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory factory -> a
     boolean $assertionsDisabled -> c
@@ -40907,7 +40994,7 @@
     4:19:com.android.tools.r8.utils.ThrowingIterator createObjectIterator(com.android.tools.r8.ir.code.Value):309:324 -> b
     20:20:com.android.tools.r8.utils.ThrowingIterator createObjectIterator(com.android.tools.r8.ir.code.Value):317:317 -> b
     21:21:com.android.tools.r8.utils.ThrowingIterator createObjectIterator(com.android.tools.r8.ir.code.Value):306:306 -> b
-com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder$1 -> com.android.tools.r8.internal.gQ:
+com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder$1 -> com.android.tools.r8.internal.lQ:
     com.android.tools.r8.utils.ThrowingCharIterator charIterator -> a
     1:3:void <init>(com.android.tools.r8.graph.DexString):259:261 -> <init>
     1:1:boolean hasNext():265:265 -> a
@@ -40919,7 +41006,7 @@
     9:9:int nextInt():291:291 -> b
     10:10:int nextInt():280:280 -> b
     11:11:int nextInt():271:271 -> b
-com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder$2 -> com.android.tools.r8.internal.hQ:
+com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder$2 -> com.android.tools.r8.internal.mQ:
     com.android.tools.r8.ir.code.Value val$objectsValue -> c
     com.android.tools.r8.ir.code.InstructionIterator val$instructionIterator -> b
     int expectedNextIndex -> a
@@ -40934,10 +41021,10 @@
     16:16:java.lang.Object next():324 -> b
     17:17:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder$2.next():346:346 -> b
     17:17:java.lang.Object next():324 -> b
-com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder$InvalidRawMessageInfoException -> com.android.tools.r8.internal.iQ:
+com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder$InvalidRawMessageInfoException -> com.android.tools.r8.internal.nQ:
     1:1:void <init>():369:369 -> <init>
     2:2:void <init>(com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder$1):369:369 -> <init>
-com.android.tools.r8.ir.analysis.proto.RawMessageInfoEncoder -> com.android.tools.r8.internal.kQ:
+com.android.tools.r8.ir.analysis.proto.RawMessageInfoEncoder -> com.android.tools.r8.internal.pQ:
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
     1:2:void <init>(com.android.tools.r8.graph.DexItemFactory):24:25 -> <init>
     1:1:com.android.tools.r8.graph.DexString encodeInfo(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):29:29 -> a
@@ -40961,7 +41048,7 @@
     57:68:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.analysis.proto.RawMessageInfoEncoder.encodeInfo(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):85:96 -> a
     57:68:com.android.tools.r8.graph.DexString encodeInfo(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):77 -> a
     1:12:java.util.List encodeObjects(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):100:111 -> b
-com.android.tools.r8.ir.analysis.proto.schema.DeadProtoFieldObject -> com.android.tools.r8.internal.He:
+com.android.tools.r8.ir.analysis.proto.schema.DeadProtoFieldObject -> com.android.tools.r8.internal.Ie:
     com.android.tools.r8.graph.DexString name -> b
     com.android.tools.r8.graph.DexType holder -> a
     1:3:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):20:22 -> <init>
@@ -40973,12 +41060,12 @@
     79:79:java.lang.String toString():37:37 -> toString
     38:38:java.lang.String toString():37:37 -> toString
     39:39:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":80,"2":81,"3":82}}
-    80:80:java.lang.String toString():37:37 -> toString
-    81:81:java.lang.String toString():37:37 -> toString
-    82:82:java.lang.String toString():37:37 -> toString
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":77,"2":78,"3":79}}
+    77:77:java.lang.String toString():37:37 -> toString
+    78:78:java.lang.String toString():37:37 -> toString
+    79:79:java.lang.String toString():37:37 -> toString
     76:76:java.lang.String toString():37:37 -> toString
-com.android.tools.r8.ir.analysis.proto.schema.LiveProtoFieldObject -> com.android.tools.r8.internal.tC:
+com.android.tools.r8.ir.analysis.proto.schema.LiveProtoFieldObject -> com.android.tools.r8.internal.yC:
     com.android.tools.r8.graph.DexField field -> a
     1:2:void <init>(com.android.tools.r8.graph.DexField):23:24 -> <init>
     com.android.tools.r8.ir.analysis.proto.schema.LiveProtoFieldObject asLiveProtoFieldObject() -> a
@@ -40990,7 +41077,7 @@
     57:57:java.lang.String toString():54:54 -> toString
     58:58:java.lang.String toString():54:54 -> toString
     55:55:java.lang.String toString():54:54 -> toString
-com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension -> com.android.tools.r8.internal.xP:
+com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension -> com.android.tools.r8.internal.CP:
     com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory factory -> c
     java.util.Set dynamicMethodsWithTracedProtoObjects -> h
     com.android.tools.r8.graph.AppView appView -> a
@@ -41132,7 +41219,7 @@
     473:473:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo getOrCreateProtoMessageInfo(com.android.tools.r8.graph.DexType):684:684 -> a
     1:25:void populateExtensionGraph(com.android.tools.r8.shaking.Enqueuer):218:242 -> b
     26:26:java.util.Set lambda$populateExtensionGraphWithExtensionFieldDefinition$3(com.android.tools.r8.graph.DexType):354:354 -> b
-com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldInfo -> com.android.tools.r8.internal.AP:
+com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldInfo -> com.android.tools.r8.internal.FP:
     com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType type -> b
     java.util.List objects -> d
     boolean $assertionsDisabled -> e
@@ -41197,11 +41284,11 @@
     1:1:com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType getType():66:66 -> d
     1:1:boolean hasAuxData():44:44 -> e
     1:15:java.lang.String toString():209:223 -> toString
-com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldObject -> com.android.tools.r8.internal.BP:
+com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldObject -> com.android.tools.r8.internal.GP:
     1:1:void <init>():7:7 -> <init>
     com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldObject asProtoFieldObject() -> b
     boolean isProtoFieldObject() -> f
-com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType -> com.android.tools.r8.internal.CP:
+com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType -> com.android.tools.r8.internal.HP:
     boolean isMapFieldWithProto2EnumValue -> e
     boolean hasHasBit -> f
     boolean $assertionsDisabled -> g
@@ -41229,7 +41316,7 @@
     1:1:boolean isValid():134:134 -> k
     1:1:boolean needsIsInitializedCheck():139:139 -> l
     1:14:int serialize():159:172 -> m
-com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory -> com.android.tools.r8.internal.DP:
+com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory -> com.android.tools.r8.internal.IP:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap fieldTypes -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():10:10 -> <clinit>
@@ -41238,7 +41325,7 @@
     2:16:com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType.fromFieldIdWithExtraBits(int):56:70 -> a
     2:16:com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType createField(int):17 -> a
     17:18:com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType createField(int):18:19 -> a
-com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo -> com.android.tools.r8.internal.IP:
+com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo -> com.android.tools.r8.internal.NP:
     java.util.LinkedList hasBitsObjects -> d
     java.util.LinkedList oneOfObjects -> e
     int flags -> b
@@ -41259,8 +41346,8 @@
     1:1:int numberOfHasBitsObjects():245:245 -> j
     1:1:int numberOfOneOfObjects():249:249 -> k
     1:9:java.lang.String toString():254:262 -> toString
-com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo$1 -> com.android.tools.r8.internal.FP:
-com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo$Builder -> com.android.tools.r8.internal.GP:
+com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo$1 -> com.android.tools.r8.internal.KP:
+com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo$Builder -> com.android.tools.r8.internal.LP:
     java.util.LinkedList hasBitsObjects -> d
     java.util.LinkedList oneOfObjects -> e
     boolean $assertionsDisabled -> f
@@ -41299,10 +41386,10 @@
     89:96:void removeUnusedSharedData():165:172 -> c
     97:97:void removeUnusedSharedData():171:171 -> c
     98:99:void removeUnusedSharedData():84:85 -> c
-com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo$ProtoMessageInfoBuilderException -> com.android.tools.r8.internal.HP:
+com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo$ProtoMessageInfoBuilderException -> com.android.tools.r8.internal.MP:
     1:1:void <init>(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo$1):180:180 -> <init>
     2:2:void <init>():181:181 -> <init>
-com.android.tools.r8.ir.analysis.proto.schema.ProtoObject -> com.android.tools.r8.internal.JP:
+com.android.tools.r8.ir.analysis.proto.schema.ProtoObject -> com.android.tools.r8.internal.OP:
     1:1:void <init>():11:11 -> <init>
     com.android.tools.r8.ir.analysis.proto.schema.LiveProtoFieldObject asLiveProtoFieldObject() -> a
     com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode) -> a
@@ -41311,18 +41398,18 @@
     com.android.tools.r8.ir.analysis.proto.schema.ProtoTypeObject asProtoTypeObject() -> d
     boolean isDeadProtoFieldObject() -> e
     boolean isProtoFieldObject() -> f
-com.android.tools.r8.ir.analysis.proto.schema.ProtoObjectFromInvokeStatic -> com.android.tools.r8.internal.KP:
+com.android.tools.r8.ir.analysis.proto.schema.ProtoObjectFromInvokeStatic -> com.android.tools.r8.internal.PP:
     com.android.tools.r8.graph.DexMethod method -> a
     1:2:void <init>(com.android.tools.r8.graph.DexMethod):21:22 -> <init>
     1:3:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):27:29 -> a
     4:6:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):28:30 -> a
-com.android.tools.r8.ir.analysis.proto.schema.ProtoObjectFromStaticGet -> com.android.tools.r8.internal.LP:
+com.android.tools.r8.ir.analysis.proto.schema.ProtoObjectFromStaticGet -> com.android.tools.r8.internal.QP:
     com.android.tools.r8.graph.DexField field -> a
     1:2:void <init>(com.android.tools.r8.graph.DexField):20:21 -> <init>
     1:3:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):30:32 -> a
     com.android.tools.r8.ir.analysis.proto.schema.ProtoObjectFromStaticGet asProtoObjectFromStaticGet() -> c
     1:1:com.android.tools.r8.graph.DexField getField():25:25 -> g
-com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfFieldType -> com.android.tools.r8.internal.MP:
+com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfFieldType -> com.android.tools.r8.internal.RP:
     boolean $assertionsDisabled -> h
     1:1:void <clinit>():9:9 -> <clinit>
     1:1:void <init>(int,boolean,boolean,boolean,boolean,boolean):20:20 -> <init>
@@ -41334,7 +41421,7 @@
     boolean isRepeated() -> h
     boolean isSingular() -> j
     1:1:boolean isValid():60:60 -> k
-com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfObjectPair -> com.android.tools.r8.internal.NP:
+com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfObjectPair -> com.android.tools.r8.internal.SP:
     com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldObject oneOfCaseObject -> b
     com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldObject oneOfObject -> a
     1:3:void <init>(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldObject,com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldObject):15:17 -> <init>
@@ -41342,7 +41429,7 @@
     2:3:void forEach(java.util.function.Consumer):29:30 -> a
     1:1:com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldObject getOneOfObject():21:21 -> b
     1:1:java.util.stream.Stream stream():34:34 -> c
-com.android.tools.r8.ir.analysis.proto.schema.ProtoTypeObject -> com.android.tools.r8.internal.WP:
+com.android.tools.r8.ir.analysis.proto.schema.ProtoTypeObject -> com.android.tools.r8.internal.bQ:
     com.android.tools.r8.graph.DexType type -> a
     1:2:void <init>(com.android.tools.r8.graph.DexType):16:17 -> <init>
     1:1:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):26:26 -> a
@@ -41353,7 +41440,7 @@
     4:4:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):26 -> a
     com.android.tools.r8.ir.analysis.proto.schema.ProtoTypeObject asProtoTypeObject() -> d
     1:1:com.android.tools.r8.graph.DexType getType():21:21 -> g
-com.android.tools.r8.ir.analysis.sideeffect.ClassInitializerSideEffectAnalysis -> com.android.tools.r8.internal.ia:
+com.android.tools.r8.ir.analysis.sideeffect.ClassInitializerSideEffectAnalysis -> com.android.tools.r8.internal.ja:
     1:13:com.android.tools.r8.ir.analysis.sideeffect.ClassInitializerSideEffectAnalysis$ClassInitializerSideEffect classInitializerCanBePostponed(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):43:55 -> a
     14:14:boolean com.android.tools.r8.ir.code.Instruction.instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):629:629 -> a
     14:14:com.android.tools.r8.ir.analysis.sideeffect.ClassInitializerSideEffectAnalysis$ClassInitializerSideEffect classInitializerCanBePostponed(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):56 -> a
@@ -41409,14 +41496,14 @@
     boolean isArrayType() -> r
     1:1:java.lang.String toString():113:113 -> toString
     1:1:boolean isPrimitiveArrayType():62:62 -> y
-com.android.tools.r8.ir.analysis.type.BooleanTypeElement -> com.android.tools.r8.internal.z5:
+com.android.tools.r8.ir.analysis.type.BooleanTypeElement -> com.android.tools.r8.internal.A5:
     com.android.tools.r8.ir.analysis.type.BooleanTypeElement INSTANCE -> e
     1:1:void <clinit>():8:8 -> <clinit>
     1:1:void <init>():6:6 -> <init>
     1:1:com.android.tools.r8.ir.analysis.type.BooleanTypeElement getInstance():11:11 -> G
     1:1:int hashCode():31:31 -> hashCode
     1:1:java.lang.String toString():21:21 -> toString
-com.android.tools.r8.ir.analysis.type.BottomTypeElement -> com.android.tools.r8.internal.M5:
+com.android.tools.r8.ir.analysis.type.BottomTypeElement -> com.android.tools.r8.internal.N5:
     com.android.tools.r8.ir.analysis.type.BottomTypeElement INSTANCE -> c
     1:1:void <clinit>():7:7 -> <clinit>
     1:1:void <init>():6:6 -> <init>
@@ -41424,21 +41511,21 @@
     1:1:com.android.tools.r8.ir.analysis.type.BottomTypeElement getInstance():15:15 -> F
     1:1:int hashCode():35:35 -> hashCode
     1:1:java.lang.String toString():25:25 -> toString
-com.android.tools.r8.ir.analysis.type.ByteTypeElement -> com.android.tools.r8.internal.c6:
+com.android.tools.r8.ir.analysis.type.ByteTypeElement -> com.android.tools.r8.internal.d6:
     com.android.tools.r8.ir.analysis.type.ByteTypeElement INSTANCE -> e
     1:1:void <clinit>():8:8 -> <clinit>
     1:1:void <init>():6:6 -> <init>
     1:1:com.android.tools.r8.ir.analysis.type.ByteTypeElement getInstance():11:11 -> G
     1:1:int hashCode():31:31 -> hashCode
     1:1:java.lang.String toString():21:21 -> toString
-com.android.tools.r8.ir.analysis.type.CharTypeElement -> com.android.tools.r8.internal.m9:
+com.android.tools.r8.ir.analysis.type.CharTypeElement -> com.android.tools.r8.internal.n9:
     com.android.tools.r8.ir.analysis.type.CharTypeElement INSTANCE -> e
     1:1:void <clinit>():8:8 -> <clinit>
     1:1:void <init>():6:6 -> <init>
     1:1:com.android.tools.r8.ir.analysis.type.CharTypeElement getInstance():11:11 -> G
     1:1:int hashCode():31:31 -> hashCode
     1:1:java.lang.String toString():21:21 -> toString
-com.android.tools.r8.ir.analysis.type.ClassTypeElement -> com.android.tools.r8.internal.fb:
+com.android.tools.r8.ir.analysis.type.ClassTypeElement -> com.android.tools.r8.internal.gb:
     com.android.tools.r8.graph.DexType type -> i
     boolean $assertionsDisabled -> j
     com.android.tools.r8.graph.AppView appView -> g
@@ -41515,7 +41602,7 @@
     boolean isClassType() -> s
     1:16:java.lang.String toString():159:174 -> toString
     17:26:java.lang.String toString():167:176 -> toString
-com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker -> com.android.tools.r8.internal.db:
+com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker -> com.android.tools.r8.internal.eb:
     com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker LEFT_KNOWN -> c
     com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker RIGHT_UNKNOWN -> f
     com.android.tools.r8.utils.OptionalBool left -> a
@@ -41538,11 +41625,11 @@
     17:18:boolean merge(com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker):367 -> a
     19:21:boolean merge(com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker):367:369 -> a
     1:2:boolean knownIfBothAreKnown():353:354 -> b
-com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceWithMarker -> com.android.tools.r8.internal.eb:
+com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceWithMarker -> com.android.tools.r8.internal.fb:
     com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker marker -> b
     com.android.tools.r8.graph.DexType itf -> a
     1:3:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker):378:380 -> <init>
-com.android.tools.r8.ir.analysis.type.DestructivePhiTypeUpdater -> com.android.tools.r8.internal.of:
+com.android.tools.r8.ir.analysis.type.DestructivePhiTypeUpdater -> com.android.tools.r8.internal.pf:
     com.android.tools.r8.graph.AppView appView -> a
     boolean $assertionsDisabled -> c
     java.util.function.Function mapping -> b
@@ -41585,14 +41672,14 @@
     58:58:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> a
     58:58:void recomputeAndPropagateTypes(com.android.tools.r8.ir.code.IRCode,java.util.Set):73 -> a
     59:59:void recomputeAndPropagateTypes(com.android.tools.r8.ir.code.IRCode,java.util.Set):73:73 -> a
-com.android.tools.r8.ir.analysis.type.DoubleTypeElement -> com.android.tools.r8.internal.vh:
+com.android.tools.r8.ir.analysis.type.DoubleTypeElement -> com.android.tools.r8.internal.xh:
     com.android.tools.r8.ir.analysis.type.DoubleTypeElement INSTANCE -> e
     1:1:void <clinit>():8:8 -> <clinit>
     1:1:void <init>():6:6 -> <init>
     1:1:com.android.tools.r8.ir.analysis.type.DoubleTypeElement getInstance():11:11 -> G
     1:1:int hashCode():26:26 -> hashCode
     1:1:java.lang.String toString():21:21 -> toString
-com.android.tools.r8.ir.analysis.type.DynamicType -> com.android.tools.r8.internal.Dh:
+com.android.tools.r8.ir.analysis.type.DynamicType -> com.android.tools.r8.internal.Fh:
     boolean $assertionsDisabled -> a
     int $r8$clinit -> b
     1:1:void <clinit>():22:22 -> <clinit>
@@ -41655,7 +41742,7 @@
     boolean isNullType() -> k
     boolean isUnknown() -> l
     1:1:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound unknown():91:91 -> m
-com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound -> com.android.tools.r8.internal.Fh:
+com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound -> com.android.tools.r8.internal.Hh:
     com.android.tools.r8.ir.analysis.type.ClassTypeElement dynamicLowerBoundType -> h
     boolean $assertionsDisabled -> i
     1:1:void <clinit>():11:11 -> <clinit>
@@ -41695,7 +41782,7 @@
     1:1:com.android.tools.r8.ir.analysis.type.ClassTypeElement getDynamicLowerBoundType():49:49 -> n
     1:1:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound.getDynamicUpperBoundType():39:39 -> o
     1:1:com.android.tools.r8.ir.analysis.type.TypeElement getDynamicUpperBoundType():11 -> o
-com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound -> com.android.tools.r8.internal.Gh:
+com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound -> com.android.tools.r8.internal.Ih:
     com.android.tools.r8.ir.analysis.type.TypeElement dynamicUpperBoundType -> c
     com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound NULL_TYPE -> e
     com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound BOTTOM -> d
@@ -41785,7 +41872,7 @@
     2:2:boolean isUnknown():157 -> l
     com.android.tools.r8.ir.analysis.type.ClassTypeElement getDynamicLowerBoundType() -> n
     1:1:com.android.tools.r8.ir.analysis.type.TypeElement getDynamicUpperBoundType():104:104 -> o
-com.android.tools.r8.ir.analysis.type.ExactDynamicType -> com.android.tools.r8.internal.aj:
+com.android.tools.r8.ir.analysis.type.ExactDynamicType -> com.android.tools.r8.internal.cj:
     boolean $assertionsDisabled -> h
     1:1:void <clinit>():13:13 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.analysis.type.ClassTypeElement):16:16 -> <init>
@@ -41816,21 +41903,21 @@
     1:1:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.ExactDynamicType.getExactClassType():31:31 -> o
     1:1:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.ExactDynamicType.getDynamicUpperBoundType():21 -> o
     1:1:com.android.tools.r8.ir.analysis.type.TypeElement getDynamicUpperBoundType():13 -> o
-com.android.tools.r8.ir.analysis.type.FloatTypeElement -> com.android.tools.r8.internal.Jk:
+com.android.tools.r8.ir.analysis.type.FloatTypeElement -> com.android.tools.r8.internal.Lk:
     com.android.tools.r8.ir.analysis.type.FloatTypeElement INSTANCE -> e
     1:1:void <clinit>():7:7 -> <clinit>
     1:1:void <init>():6:6 -> <init>
     1:1:com.android.tools.r8.ir.analysis.type.FloatTypeElement getInstance():10:10 -> G
     1:1:int hashCode():25:25 -> hashCode
     1:1:java.lang.String toString():20:20 -> toString
-com.android.tools.r8.ir.analysis.type.IntTypeElement -> com.android.tools.r8.internal.Gt:
+com.android.tools.r8.ir.analysis.type.IntTypeElement -> com.android.tools.r8.internal.It:
     com.android.tools.r8.ir.analysis.type.IntTypeElement INSTANCE -> e
     1:1:void <clinit>():7:7 -> <clinit>
     1:1:void <init>():6:6 -> <init>
     1:1:com.android.tools.r8.ir.analysis.type.IntTypeElement getInstance():10:10 -> G
     1:1:int hashCode():25:25 -> hashCode
     1:1:java.lang.String toString():20:20 -> toString
-com.android.tools.r8.ir.analysis.type.InterfaceCollection -> com.android.tools.r8.internal.It:
+com.android.tools.r8.ir.analysis.type.InterfaceCollection -> com.android.tools.r8.internal.Kt:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMap interfaces -> a
     com.android.tools.r8.ir.analysis.type.InterfaceCollection EMPTY -> b
     boolean $assertionsDisabled -> c
@@ -41856,8 +41943,8 @@
     1:1:boolean isEmpty():96:96 -> f
     1:1:int size():100:100 -> g
     1:1:int hashCode():117:117 -> hashCode
-com.android.tools.r8.ir.analysis.type.InterfaceCollection$1 -> com.android.tools.r8.internal.Ht:
-com.android.tools.r8.ir.analysis.type.InterfaceCollection$Builder -> com.android.tools.r8.internal.It$a:
+com.android.tools.r8.ir.analysis.type.InterfaceCollection$1 -> com.android.tools.r8.internal.Jt:
+com.android.tools.r8.ir.analysis.type.InterfaceCollection$Builder -> com.android.tools.r8.internal.Kt$a:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMap interfaces -> a
     1:1:void <init>(com.android.tools.r8.ir.analysis.type.InterfaceCollection$1):32:32 -> <init>
     2:2:void <init>():35:35 -> <init>
@@ -41865,14 +41952,14 @@
     1:1:com.android.tools.r8.ir.analysis.type.InterfaceCollection$Builder addInterface(com.android.tools.r8.graph.DexType,boolean):49:49 -> a
     2:2:java.lang.Boolean lambda$addInterface$0(boolean,com.android.tools.r8.graph.DexType,java.lang.Boolean):53:53 -> a
     3:6:com.android.tools.r8.ir.analysis.type.InterfaceCollection build():58:61 -> a
-com.android.tools.r8.ir.analysis.type.LongTypeElement -> com.android.tools.r8.internal.iD:
+com.android.tools.r8.ir.analysis.type.LongTypeElement -> com.android.tools.r8.internal.nD:
     com.android.tools.r8.ir.analysis.type.LongTypeElement INSTANCE -> e
     1:1:void <clinit>():8:8 -> <clinit>
     1:1:void <init>():6:6 -> <init>
     1:1:com.android.tools.r8.ir.analysis.type.LongTypeElement getInstance():11:11 -> G
     1:1:int hashCode():26:26 -> hashCode
     1:1:java.lang.String toString():21:21 -> toString
-com.android.tools.r8.ir.analysis.type.NotNullDynamicType -> com.android.tools.r8.internal.SH:
+com.android.tools.r8.ir.analysis.type.NotNullDynamicType -> com.android.tools.r8.internal.XH:
     com.android.tools.r8.ir.analysis.type.NotNullDynamicType INSTANCE -> c
     boolean $assertionsDisabled -> d
     1:3:void <clinit>():21:23 -> <clinit>
@@ -41885,7 +41972,7 @@
     1:1:int hashCode():71:71 -> hashCode
     boolean isNotNullType() -> j
     1:1:com.android.tools.r8.ir.analysis.type.NotNullDynamicType get():28:28 -> n
-com.android.tools.r8.ir.analysis.type.Nullability -> com.android.tools.r8.internal.VH:
+com.android.tools.r8.ir.analysis.type.Nullability -> com.android.tools.r8.internal.aI:
     com.android.tools.r8.ir.analysis.type.Nullability DEFINITELY_NULL -> a
     com.android.tools.r8.ir.analysis.type.Nullability BOTTOM -> d
     com.android.tools.r8.ir.analysis.type.Nullability MAYBE_NULL -> c
@@ -41903,7 +41990,7 @@
     1:1:boolean isMaybeNull():45:45 -> g
     1:1:com.android.tools.r8.ir.analysis.type.Nullability maybeNull():99:99 -> h
     1:13:java.lang.String toString():108:120 -> toString
-com.android.tools.r8.ir.analysis.type.NullabilityVariants -> com.android.tools.r8.internal.WH:
+com.android.tools.r8.ir.analysis.type.NullabilityVariants -> com.android.tools.r8.internal.bI:
     boolean $assertionsDisabled -> e
     com.android.tools.r8.ir.analysis.type.ReferenceTypeElement maybeNullVariant -> a
     com.android.tools.r8.ir.analysis.type.ReferenceTypeElement bottomVariant -> d
@@ -41919,7 +42006,7 @@
     32:40:void com.android.tools.r8.ir.analysis.type.NullabilityVariants.set(com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.ir.analysis.type.ReferenceTypeElement):26:34 -> a
     32:40:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement getOrCreateElement(com.android.tools.r8.ir.analysis.type.Nullability,java.util.function.BiFunction):64 -> a
     41:42:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement getOrCreateElement(com.android.tools.r8.ir.analysis.type.Nullability,java.util.function.BiFunction):65:66 -> a
-com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement -> com.android.tools.r8.internal.eN:
+com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement -> com.android.tools.r8.internal.jN:
     boolean $assertionsDisabled -> c
     1:1:void <clinit>():13:13 -> <clinit>
     1:1:void <init>():13:13 -> <init>
@@ -41972,10 +42059,10 @@
     79:79:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):60:60 -> b
     com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement asPrimitiveType() -> c
     boolean isPrimitiveType() -> z
-com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement$1 -> com.android.tools.r8.internal.dN:
+com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement$1 -> com.android.tools.r8.internal.iN:
     int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> a
     1:1:void <clinit>():113:113 -> <clinit>
-com.android.tools.r8.ir.analysis.type.ReferenceTypeElement -> com.android.tools.r8.internal.oS:
+com.android.tools.r8.ir.analysis.type.ReferenceTypeElement -> com.android.tools.r8.internal.tS:
     com.android.tools.r8.ir.analysis.type.ReferenceTypeElement NULL_INSTANCE -> d
     com.android.tools.r8.ir.analysis.type.ReferenceTypeElement NULL_BOTTOM_INSTANCE -> e
     com.android.tools.r8.ir.analysis.type.Nullability nullability -> c
@@ -41998,7 +42085,7 @@
     com.android.tools.r8.ir.analysis.type.ReferenceTypeElement asReferenceType() -> d
     1:1:boolean equals(java.lang.Object):113:113 -> equals
     1:1:int hashCode():118:118 -> hashCode
-com.android.tools.r8.ir.analysis.type.ReferenceTypeElement$NullElement -> com.android.tools.r8.internal.nS:
+com.android.tools.r8.ir.analysis.type.ReferenceTypeElement$NullElement -> com.android.tools.r8.internal.sS:
     1:1:void <init>(com.android.tools.r8.ir.analysis.type.Nullability):14:14 -> <init>
     1:1:boolean com.android.tools.r8.ir.analysis.type.Nullability.isNullable():49:49 -> a
     1:1:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement getOrCreateVariant(com.android.tools.r8.ir.analysis.type.Nullability):19 -> a
@@ -42007,14 +42094,14 @@
     1:1:boolean equals(java.lang.Object):50:50 -> equals
     1:1:int hashCode():42:42 -> hashCode
     1:1:java.lang.String toString():37:37 -> toString
-com.android.tools.r8.ir.analysis.type.ShortTypeElement -> com.android.tools.r8.internal.mV:
+com.android.tools.r8.ir.analysis.type.ShortTypeElement -> com.android.tools.r8.internal.rV:
     com.android.tools.r8.ir.analysis.type.ShortTypeElement INSTANCE -> e
     1:1:void <clinit>():8:8 -> <clinit>
     1:1:void <init>():6:6 -> <init>
     1:1:com.android.tools.r8.ir.analysis.type.ShortTypeElement getInstance():11:11 -> G
     1:1:int hashCode():31:31 -> hashCode
     1:1:java.lang.String toString():21:21 -> toString
-com.android.tools.r8.ir.analysis.type.SinglePrimitiveTypeElement -> com.android.tools.r8.internal.HV:
+com.android.tools.r8.ir.analysis.type.SinglePrimitiveTypeElement -> com.android.tools.r8.internal.MV:
     com.android.tools.r8.ir.analysis.type.SinglePrimitiveTypeElement INSTANCE -> d
     1:1:void <clinit>():9:9 -> <clinit>
     1:1:void <init>():12:12 -> <init>
@@ -42022,7 +42109,7 @@
     1:1:com.android.tools.r8.ir.analysis.type.SinglePrimitiveTypeElement getInstance():16:16 -> F
     1:1:int hashCode():36:36 -> hashCode
     1:1:java.lang.String toString():26:26 -> toString
-com.android.tools.r8.ir.analysis.type.TopTypeElement -> com.android.tools.r8.internal.AZ:
+com.android.tools.r8.ir.analysis.type.TopTypeElement -> com.android.tools.r8.internal.GZ:
     com.android.tools.r8.ir.analysis.type.TopTypeElement INSTANCE -> c
     1:1:void <clinit>():7:7 -> <clinit>
     1:1:void <init>():6:6 -> <init>
@@ -42030,7 +42117,7 @@
     1:1:com.android.tools.r8.ir.analysis.type.TopTypeElement getInstance():15:15 -> F
     1:1:int hashCode():35:35 -> hashCode
     1:1:java.lang.String toString():25:25 -> toString
-com.android.tools.r8.ir.analysis.type.TypeAnalysis -> com.android.tools.r8.internal.Q00:
+com.android.tools.r8.ir.analysis.type.TypeAnalysis -> com.android.tools.r8.internal.W00:
     java.util.Deque worklist -> d
     com.android.tools.r8.graph.AppView appView -> c
     boolean $assertionsDisabled -> e
@@ -42055,7 +42142,7 @@
     1:4:void widening(com.android.tools.r8.ir.code.IRCode):56:59 -> b
     5:5:boolean verifyValuesUpToDate(java.lang.Iterable):82:82 -> b
     1:1:void widening(java.lang.Iterable):63:63 -> c
-com.android.tools.r8.ir.analysis.type.TypeElement -> com.android.tools.r8.internal.W00:
+com.android.tools.r8.ir.analysis.type.TypeElement -> com.android.tools.r8.internal.c10:
     boolean $assertionsDisabled -> a
     int $r8$clinit -> b
     1:1:void <clinit>():20:20 -> <clinit>
@@ -42163,7 +42250,7 @@
     8:8:boolean isPreciseType():371 -> x
     boolean isPrimitiveArrayType() -> y
     boolean isPrimitiveType() -> z
-com.android.tools.r8.ir.analysis.type.WidePrimitiveTypeElement -> com.android.tools.r8.internal.n30:
+com.android.tools.r8.ir.analysis.type.WidePrimitiveTypeElement -> com.android.tools.r8.internal.t30:
     com.android.tools.r8.ir.analysis.type.WidePrimitiveTypeElement INSTANCE -> d
     1:1:void <clinit>():9:9 -> <clinit>
     1:1:void <init>():12:12 -> <init>
@@ -42263,7 +42350,7 @@
     7:7:com.android.tools.r8.ir.analysis.value.SingleNumberValue createNullValue():45:45 -> a
     8:8:com.android.tools.r8.ir.analysis.value.SingleStringValue createSingleStringValue(com.android.tools.r8.graph.DexString):53:53 -> a
     9:9:com.android.tools.r8.ir.analysis.value.SingleDexItemBasedStringValue createSingleDexItemBasedStringValue(com.android.tools.r8.graph.DexReference,com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo):58:58 -> a
-com.android.tools.r8.ir.analysis.value.BottomValue -> com.android.tools.r8.internal.O5:
+com.android.tools.r8.ir.analysis.value.BottomValue -> com.android.tools.r8.internal.P5:
     com.android.tools.r8.ir.analysis.value.BottomValue INSTANCE -> c
     1:1:void <clinit>():13:13 -> <clinit>
     1:1:void <init>():15:15 -> <init>
@@ -42272,7 +42359,7 @@
     1:1:int hashCode():43:43 -> hashCode
     1:1:java.lang.String toString():48:48 -> toString
     boolean isNonTrivial() -> y
-com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue -> com.android.tools.r8.internal.Jd:
+com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue -> com.android.tools.r8.internal.Kd:
     boolean containsInt(int) -> a
     com.android.tools.r8.utils.OptionalBool isSubsetOf(int[]) -> a
     boolean mayOverlapWith(com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue) -> a
@@ -42281,14 +42368,14 @@
     com.android.tools.r8.ir.analysis.value.NumberFromIntervalValue asNumberFromIntervalValue() -> d
     com.android.tools.r8.ir.analysis.value.SingleNumberValue asSingleNumberValue() -> e
     com.android.tools.r8.ir.analysis.value.NumberFromSetValue asNumberFromSetValue() -> i
-com.android.tools.r8.ir.analysis.value.NonConstantNumberValue -> com.android.tools.r8.internal.AH:
+com.android.tools.r8.ir.analysis.value.NonConstantNumberValue -> com.android.tools.r8.internal.FH:
     1:1:void <init>():7:7 -> <init>
     long getAbstractionSize() -> E
     com.android.tools.r8.ir.analysis.value.NonConstantNumberValue asNonConstantNumberValue() -> b
     boolean isNonConstantNumberValue() -> c
     com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue asConstantOrNonConstantNumberValue() -> k
     boolean isConstantOrNonConstantNumberValue() -> w
-com.android.tools.r8.ir.analysis.value.NullOrAbstractValue -> com.android.tools.r8.internal.TH:
+com.android.tools.r8.ir.analysis.value.NullOrAbstractValue -> com.android.tools.r8.internal.YH:
     com.android.tools.r8.ir.analysis.value.AbstractValue value -> c
     1:2:void <init>(com.android.tools.r8.ir.analysis.value.AbstractValue):15:16 -> <init>
     1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getNonNullValue():42:42 -> E
@@ -42313,7 +42400,7 @@
     70:70:java.lang.String toString():66:66 -> toString
     67:67:java.lang.String toString():66:66 -> toString
     boolean isNonTrivial() -> y
-com.android.tools.r8.ir.analysis.value.NumberFromIntervalValue -> com.android.tools.r8.internal.ZH:
+com.android.tools.r8.ir.analysis.value.NumberFromIntervalValue -> com.android.tools.r8.internal.eI:
     long maxInclusive -> c
     boolean $assertionsDisabled -> d
     1:1:void <clinit>():13:13 -> <clinit>
@@ -42342,7 +42429,7 @@
     1:2:int hashCode():92:93 -> hashCode
     1:1:java.lang.String toString():99:99 -> toString
     boolean isNonTrivial() -> y
-com.android.tools.r8.ir.analysis.value.NumberFromSetValue -> com.android.tools.r8.internal.cI:
+com.android.tools.r8.ir.analysis.value.NumberFromSetValue -> com.android.tools.r8.internal.hI:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet numbers -> c
     boolean $assertionsDisabled -> d
     1:1:void <clinit>():17:17 -> <clinit>
@@ -42365,8 +42452,8 @@
     com.android.tools.r8.ir.analysis.value.NumberFromSetValue asNumberFromSetValue() -> i
     1:7:java.lang.String toString():110:116 -> toString
     boolean isNonTrivial() -> y
-com.android.tools.r8.ir.analysis.value.NumberFromSetValue$1 -> com.android.tools.r8.internal.aI:
-com.android.tools.r8.ir.analysis.value.NumberFromSetValue$Builder -> com.android.tools.r8.internal.bI:
+com.android.tools.r8.ir.analysis.value.NumberFromSetValue$1 -> com.android.tools.r8.internal.fI:
+com.android.tools.r8.ir.analysis.value.NumberFromSetValue$Builder -> com.android.tools.r8.internal.gI:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet numbers -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():119:119 -> <clinit>
@@ -42375,7 +42462,7 @@
     1:4:com.android.tools.r8.ir.analysis.value.NumberFromSetValue$Builder addInt(int):132:135 -> a
     5:8:com.android.tools.r8.ir.analysis.value.NumberFromSetValue$Builder addInts(com.android.tools.r8.ir.analysis.value.NumberFromSetValue):142:145 -> a
     9:17:com.android.tools.r8.ir.analysis.value.AbstractValue build(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):152:160 -> a
-com.android.tools.r8.ir.analysis.value.SingleConstClassValue -> com.android.tools.r8.internal.BV:
+com.android.tools.r8.ir.analysis.value.SingleConstClassValue -> com.android.tools.r8.internal.GV:
     com.android.tools.r8.graph.DexType type -> c
     boolean $assertionsDisabled -> d
     1:1:void <clinit>():30:30 -> <clinit>
@@ -42428,24 +42515,24 @@
     1:1:int hashCode():60:60 -> hashCode
     com.android.tools.r8.ir.analysis.value.SingleConstClassValue asSingleConstClassValue() -> m
     1:1:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":132,"2":133,"3":134}}
-    132:132:java.lang.String toString():65:65 -> toString
-    133:133:java.lang.String toString():65:65 -> toString
-    134:134:java.lang.String toString():65:65 -> toString
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":68,"2":69,"3":70}}
+    68:68:java.lang.String toString():65:65 -> toString
+    69:69:java.lang.String toString():65:65 -> toString
+    70:70:java.lang.String toString():65:65 -> toString
     66:66:java.lang.String toString():65:65 -> toString
     67:67:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":135,"2":136,"3":137,"4":138}}
-    135:135:java.lang.String toString():65:65 -> toString
-    136:136:java.lang.String toString():65:65 -> toString
-    137:137:java.lang.String toString():65:65 -> toString
-    138:138:java.lang.String toString():65:65 -> toString
-com.android.tools.r8.ir.analysis.value.SingleConstValue -> com.android.tools.r8.internal.CV:
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":68,"2":69,"3":70,"4":71}}
+    68:68:java.lang.String toString():65:65 -> toString
+    69:69:java.lang.String toString():65:65 -> toString
+    70:70:java.lang.String toString():65:65 -> toString
+    71:71:java.lang.String toString():65:65 -> toString
+com.android.tools.r8.ir.analysis.value.SingleConstValue -> com.android.tools.r8.internal.HV:
     1:1:void <init>():7:7 -> <init>
     boolean isSingleConstValue() -> A
     1:1:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo com.android.tools.r8.ir.analysis.value.SingleConstClassValue.rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):30:30 -> a
     1:1:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.analysis.value.SingleConstClassValue.rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):30:30 -> b
     com.android.tools.r8.ir.analysis.value.SingleConstValue asSingleConstValue() -> n
-com.android.tools.r8.ir.analysis.value.SingleDexItemBasedStringValue -> com.android.tools.r8.internal.EV:
+com.android.tools.r8.ir.analysis.value.SingleDexItemBasedStringValue -> com.android.tools.r8.internal.JV:
     boolean $assertionsDisabled -> e
     com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo nameComputationInfo -> d
     com.android.tools.r8.graph.DexReference item -> c
@@ -42470,7 +42557,7 @@
     76:76:java.lang.String toString():73:73 -> toString
     77:77:java.lang.String toString():73:73 -> toString
     74:74:java.lang.String toString():73:73 -> toString
-com.android.tools.r8.ir.analysis.value.SingleFieldValue -> com.android.tools.r8.internal.FV:
+com.android.tools.r8.ir.analysis.value.SingleFieldValue -> com.android.tools.r8.internal.KV:
     com.android.tools.r8.graph.DexField field -> c
     boolean $assertionsDisabled -> d
     1:1:void <clinit>():34:34 -> <clinit>
@@ -42510,7 +42597,7 @@
     10:12:com.android.tools.r8.ir.analysis.value.SingleValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):147:149 -> c
     com.android.tools.r8.ir.analysis.value.SingleFieldValue asSingleFieldValue() -> p
     com.android.tools.r8.ir.analysis.value.objectstate.ObjectState getObjectState() -> t
-com.android.tools.r8.ir.analysis.value.SingleNumberValue -> com.android.tools.r8.internal.GV:
+com.android.tools.r8.ir.analysis.value.SingleNumberValue -> com.android.tools.r8.internal.LV:
     long value -> c
     boolean $assertionsDisabled -> d
     1:1:void <clinit>():24:24 -> <clinit>
@@ -42552,7 +42639,7 @@
     126:126:java.lang.String toString():125:125 -> toString
     1:1:boolean isFalse():51:51 -> x
     1:1:boolean isSingleBoolean():46:46 -> z
-com.android.tools.r8.ir.analysis.value.SingleStatefulFieldValue -> com.android.tools.r8.internal.IV:
+com.android.tools.r8.ir.analysis.value.SingleStatefulFieldValue -> com.android.tools.r8.internal.NV:
     com.android.tools.r8.ir.analysis.value.objectstate.ObjectState state -> e
     boolean $assertionsDisabled -> f
     1:1:void <clinit>():11:11 -> <clinit>
@@ -42572,7 +42659,7 @@
     1:1:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.SingleStatefulFieldValue.getObjectState():39:39 -> u
     1:1:boolean hasKnownArrayLength():24 -> u
     2:2:boolean hasKnownArrayLength():24:24 -> u
-com.android.tools.r8.ir.analysis.value.SingleStatelessFieldValue -> com.android.tools.r8.internal.JV:
+com.android.tools.r8.ir.analysis.value.SingleStatelessFieldValue -> com.android.tools.r8.internal.OV:
     1:1:void <init>(com.android.tools.r8.graph.DexField):14:14 -> <init>
     1:5:boolean equals(java.lang.Object):34:38 -> equals
     1:1:int hashCode():43:43 -> hashCode
@@ -42585,7 +42672,7 @@
     33:33:java.lang.String toString():29:29 -> toString
     30:30:java.lang.String toString():29:29 -> toString
     boolean hasObjectState() -> v
-com.android.tools.r8.ir.analysis.value.SingleStringValue -> com.android.tools.r8.internal.KV:
+com.android.tools.r8.ir.analysis.value.SingleStringValue -> com.android.tools.r8.internal.PV:
     com.android.tools.r8.graph.DexString string -> c
     boolean $assertionsDisabled -> d
     1:1:void <clinit>():26:26 -> <clinit>
@@ -42608,7 +42695,7 @@
     64:64:java.lang.String toString():61:61 -> toString
     65:65:java.lang.String toString():61:61 -> toString
     62:62:java.lang.String toString():61:61 -> toString
-com.android.tools.r8.ir.analysis.value.SingleValue -> com.android.tools.r8.internal.MV:
+com.android.tools.r8.ir.analysis.value.SingleValue -> com.android.tools.r8.internal.RV:
     1:1:void <init>():18:18 -> <init>
     com.android.tools.r8.ir.code.Instruction createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier) -> a
     boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView) -> a
@@ -42619,7 +42706,7 @@
     boolean isSingleValue() -> g
     com.android.tools.r8.ir.analysis.value.SingleValue asSingleValue() -> j
     boolean isNonTrivial() -> y
-com.android.tools.r8.ir.analysis.value.StatefulObjectValue -> com.android.tools.r8.internal.QW:
+com.android.tools.r8.ir.analysis.value.StatefulObjectValue -> com.android.tools.r8.internal.VW:
     com.android.tools.r8.ir.analysis.value.objectstate.ObjectState state -> c
     boolean $assertionsDisabled -> d
     1:1:void <clinit>():12:12 -> <clinit>
@@ -42641,7 +42728,7 @@
     2:2:boolean hasKnownArrayLength():44:44 -> u
     boolean hasObjectState() -> v
     boolean isNonTrivial() -> y
-com.android.tools.r8.ir.analysis.value.UnknownValue -> com.android.tools.r8.internal.A10:
+com.android.tools.r8.ir.analysis.value.UnknownValue -> com.android.tools.r8.internal.G10:
     com.android.tools.r8.ir.analysis.value.UnknownValue INSTANCE -> c
     1:1:void <clinit>():13:13 -> <clinit>
     1:1:void <init>():15:15 -> <init>
@@ -42650,7 +42737,7 @@
     1:1:int hashCode():43:43 -> hashCode
     1:1:java.lang.String toString():48:48 -> toString
     boolean isNonTrivial() -> y
-com.android.tools.r8.ir.analysis.value.objectstate.EmptyObjectState -> com.android.tools.r8.internal.Uh:
+com.android.tools.r8.ir.analysis.value.objectstate.EmptyObjectState -> com.android.tools.r8.internal.Wh:
     com.android.tools.r8.ir.analysis.value.objectstate.EmptyObjectState INSTANCE -> a
     1:1:void <clinit>():18:18 -> <clinit>
     1:1:void <init>():20:20 -> <init>
@@ -42660,7 +42747,7 @@
     boolean isEmpty() -> d
     1:1:com.android.tools.r8.ir.analysis.value.objectstate.EmptyObjectState getInstance():23:23 -> e
     1:1:int hashCode():53:53 -> hashCode
-com.android.tools.r8.ir.analysis.value.objectstate.EnumValuesObjectState -> com.android.tools.r8.internal.Qi:
+com.android.tools.r8.ir.analysis.value.objectstate.EnumValuesObjectState -> com.android.tools.r8.internal.Si:
     boolean $assertionsDisabled -> b
     com.android.tools.r8.ir.analysis.value.objectstate.ObjectState[] state -> a
     1:1:void <clinit>():18:18 -> <clinit>
@@ -42677,7 +42764,7 @@
     1:1:int getEnumValuesSize():44:44 -> e
     1:9:boolean equals(java.lang.Object):84:92 -> equals
     1:1:int hashCode():101:101 -> hashCode
-com.android.tools.r8.ir.analysis.value.objectstate.KnownLengthArrayState -> com.android.tools.r8.internal.Zy:
+com.android.tools.r8.ir.analysis.value.objectstate.KnownLengthArrayState -> com.android.tools.r8.internal.bz:
     int length -> a
     1:2:void <init>(int):20:21 -> <init>
     void forEachAbstractFieldValue(java.util.function.BiConsumer) -> a
@@ -42687,7 +42774,7 @@
     boolean hasKnownArrayLength() -> c
     boolean isEmpty() -> d
     1:1:int hashCode():61:61 -> hashCode
-com.android.tools.r8.ir.analysis.value.objectstate.NonEmptyObjectState -> com.android.tools.r8.internal.DH:
+com.android.tools.r8.ir.analysis.value.objectstate.NonEmptyObjectState -> com.android.tools.r8.internal.IH:
     java.util.Map state -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():18:18 -> <clinit>
@@ -42702,7 +42789,7 @@
     boolean isEmpty() -> d
     1:11:boolean equals(java.lang.Object):55:65 -> equals
     1:1:int hashCode():74:74 -> hashCode
-com.android.tools.r8.ir.analysis.value.objectstate.ObjectState -> com.android.tools.r8.internal.wK:
+com.android.tools.r8.ir.analysis.value.objectstate.ObjectState -> com.android.tools.r8.internal.BK:
     1:1:void <init>():21:21 -> <init>
     com.android.tools.r8.ir.analysis.value.objectstate.EnumValuesObjectState asEnumValuesObjectState() -> a
     void forEachAbstractFieldValue(java.util.function.BiConsumer) -> a
@@ -42712,7 +42799,7 @@
     1:1:int getKnownArrayLength():68:68 -> b
     boolean hasKnownArrayLength() -> c
     boolean isEmpty() -> d
-com.android.tools.r8.ir.analysis.value.objectstate.ObjectState$Builder -> com.android.tools.r8.internal.vK:
+com.android.tools.r8.ir.analysis.value.objectstate.ObjectState$Builder -> com.android.tools.r8.internal.AK:
     java.util.Map state -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():79:79 -> <clinit>
@@ -42722,7 +42809,7 @@
     5:5:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.empty():28:28 -> a
     5:5:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState build():91 -> a
     6:6:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState build():91:91 -> a
-com.android.tools.r8.ir.analysis.value.objectstate.ObjectStateAnalysis -> com.android.tools.r8.internal.xK:
+com.android.tools.r8.ir.analysis.value.objectstate.ObjectStateAnalysis -> com.android.tools.r8.internal.CK:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():19:19 -> <clinit>
     1:1:boolean lambda$computeObjectState$0(com.android.tools.r8.ir.code.Instruction):25:25 -> a
@@ -42747,7 +42834,7 @@
     18:18:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState computeNewInstanceObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):68 -> a
     19:42:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState computeNewInstanceObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):69:92 -> a
     43:44:void lambda$computeNewInstanceObjectState$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState$Builder,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):78:79 -> a
-    45:45:boolean com.android.tools.r8.graph.DexItemFactory$EnumMembers.isNameOrOrdinalField(com.android.tools.r8.graph.DexField):1689:1689 -> a
+    45:45:boolean com.android.tools.r8.graph.DexItemFactory$EnumMembers.isNameOrOrdinalField(com.android.tools.r8.graph.DexField):1691:1691 -> a
     45:45:void lambda$computeNewInstanceObjectState$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState$Builder,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):79 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     46:53:void lambda$computeNewInstanceObjectState$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState$Builder,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):82:89 -> a
@@ -43237,7 +43324,7 @@
     2:2:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> b
     2:2:boolean isIntroducingAnAlias(com.android.tools.r8.ir.code.Instruction):22 -> b
     3:3:boolean isIntroducingAnAlias(com.android.tools.r8.ir.code.Instruction):22:22 -> b
-com.android.tools.r8.ir.code.BasicBlock -> com.android.tools.r8.internal.v4:
+com.android.tools.r8.ir.code.BasicBlock -> com.android.tools.r8.internal.w4:
     int color -> n
     int estimatedPredecessorsCount -> l
     int unfilledPredecessorsCount -> m
@@ -43297,16 +43384,16 @@
     5216:5216:java.lang.String toDetailedString():1264:1264 -> Z
     1266:1268:java.lang.String toDetailedString():1265:1267 -> Z
     1269:1269:java.lang.String toDetailedString():0:0 -> Z
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5220,"2":5221,"3":5222}}
-    5220:5220:java.lang.String toDetailedString():1268:1268 -> Z
-    5221:5221:java.lang.String toDetailedString():1268:1268 -> Z
-    5222:5222:java.lang.String toDetailedString():1268:1268 -> Z
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5214,"2":5215,"3":5216}}
+    5214:5214:java.lang.String toDetailedString():1268:1268 -> Z
+    5215:5215:java.lang.String toDetailedString():1268:1268 -> Z
+    5216:5216:java.lang.String toDetailedString():1268:1268 -> Z
     2537:2537:java.lang.String toDetailedString():1268:1268 -> Z
     2538:2538:java.lang.String toDetailedString():0:0 -> Z
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5224,"2":5225,"3":5226}}
-    5224:5224:java.lang.String toDetailedString():1270:1270 -> Z
-    5225:5225:java.lang.String toDetailedString():1270:1270 -> Z
-    5226:5226:java.lang.String toDetailedString():1270:1270 -> Z
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5214,"2":5215,"3":5216}}
+    5214:5214:java.lang.String toDetailedString():1270:1270 -> Z
+    5215:5215:java.lang.String toDetailedString():1270:1270 -> Z
+    5216:5216:java.lang.String toDetailedString():1270:1270 -> Z
     3808:3809:java.lang.String toDetailedString():1270:1271 -> Z
     3810:3810:boolean com.android.tools.r8.ir.code.BasicBlock.isFilled():613:613 -> Z
     3810:3810:java.lang.String toDetailedString():1271 -> Z
@@ -43324,10 +43411,10 @@
     3868:3868:java.lang.String toDetailedString():1309 -> Z
     3869:3879:java.lang.String toDetailedString():1309:1319 -> Z
     3880:3880:java.lang.String toDetailedString():0:0 -> Z
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5277,"2":5278,"3":5279}}
-    5277:5277:java.lang.String toDetailedString():1321:1321 -> Z
-    5278:5278:java.lang.String toDetailedString():1321:1321 -> Z
-    5279:5279:java.lang.String toDetailedString():1321:1321 -> Z
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5214,"2":5215,"3":5216}}
+    5214:5214:java.lang.String toDetailedString():1321:1321 -> Z
+    5215:5215:java.lang.String toDetailedString():1321:1321 -> Z
+    5216:5216:java.lang.String toDetailedString():1321:1321 -> Z
     5201:5213:java.lang.String toDetailedString():1321:1333 -> Z
     1:4:boolean consistentInitClassInstruction(com.android.tools.r8.ir.code.InitClass,boolean):92:95 -> a
     5:7:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):100:100 -> a
@@ -43628,7 +43715,7 @@
     1:1:java.util.List getPhis():605:605 -> x
     1:1:java.util.List getPredecessors():297:297 -> y
     1:1:java.util.List getSuccessors():234:234 -> z
-com.android.tools.r8.ir.code.BasicBlock$1 -> com.android.tools.r8.internal.q4:
+com.android.tools.r8.ir.code.BasicBlock$1 -> com.android.tools.r8.internal.r4:
     com.android.tools.r8.ir.code.Instruction next -> c
     com.android.tools.r8.ir.code.Instruction val$instruction -> d
     com.android.tools.r8.ir.code.InstructionIterator iterator -> b
@@ -43639,14 +43726,14 @@
     1:5:java.lang.Object next():661 -> next
     6:6:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.code.BasicBlock$1.next():685:685 -> next
     6:6:java.lang.Object next():661 -> next
-com.android.tools.r8.ir.code.BasicBlock$BasicBlockChangeListener -> com.android.tools.r8.internal.r4:
-com.android.tools.r8.ir.code.BasicBlock$EdgeType -> com.android.tools.r8.internal.s4:
+com.android.tools.r8.ir.code.BasicBlock$BasicBlockChangeListener -> com.android.tools.r8.internal.s4:
+com.android.tools.r8.ir.code.BasicBlock$EdgeType -> com.android.tools.r8.internal.t4:
     com.android.tools.r8.ir.code.BasicBlock$EdgeType NON_EDGE -> b
     com.android.tools.r8.ir.code.BasicBlock$EdgeType NORMAL -> c
     com.android.tools.r8.ir.code.BasicBlock$EdgeType EXCEPTIONAL -> d
     1:3:void <clinit>():133:135 -> <clinit>
     1:1:void <init>(java.lang.String,int):132:132 -> <init>
-com.android.tools.r8.ir.code.BasicBlock$PhiEquivalence -> com.android.tools.r8.internal.t4:
+com.android.tools.r8.ir.code.BasicBlock$PhiEquivalence -> com.android.tools.r8.internal.u4:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():1985:1985 -> <clinit>
     1:1:void <init>():1985:1985 -> <init>
@@ -43657,13 +43744,13 @@
     5:5:int doHash(java.lang.Object):1985:1985 -> a
     6:7:int com.android.tools.r8.ir.code.BasicBlock$PhiEquivalence.doHash(com.android.tools.r8.ir.code.Phi):2000:2001 -> a
     6:7:int doHash(java.lang.Object):1985 -> a
-com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.u4:
+com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.v4:
 # {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
 # {"id":"com.android.tools.r8.synthesized"}
     1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():476:476 -> a
     1:1:com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo.defaultForConstString(com.android.tools.r8.utils.InternalOptions):124 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-com.android.tools.r8.ir.code.BasicBlockInstructionIterator -> com.android.tools.r8.internal.x4:
+com.android.tools.r8.ir.code.BasicBlockInstructionIterator -> com.android.tools.r8.internal.y4:
     java.util.ListIterator instructionIterator -> b
     1:2:void <init>(com.android.tools.r8.ir.code.BasicBlock):13:14 -> <init>
     3:4:void <init>(com.android.tools.r8.ir.code.BasicBlock,int):17:18 -> <init>
@@ -43674,7 +43761,7 @@
     1:1:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.code.BasicBlockInstructionIterator.next():43:43 -> next
     1:1:java.lang.Object next():9 -> next
     1:1:com.android.tools.r8.ir.code.Instruction previous():33:33 -> previous
-com.android.tools.r8.ir.code.BasicBlockInstructionListIterator -> com.android.tools.r8.internal.y4:
+com.android.tools.r8.ir.code.BasicBlockInstructionListIterator -> com.android.tools.r8.internal.z4:
     java.util.ListIterator listIterator -> c
     com.android.tools.r8.ir.code.Instruction current -> d
     boolean $assertionsDisabled -> g
@@ -43877,7 +43964,7 @@
     1:1:void set(java.lang.Object):38:38 -> set
     2:5:void com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.set(com.android.tools.r8.ir.code.Instruction):161:164 -> set
     2:5:void set(java.lang.Object):38 -> set
-com.android.tools.r8.ir.code.BasicBlockIterator -> com.android.tools.r8.internal.A4:
+com.android.tools.r8.ir.code.BasicBlockIterator -> com.android.tools.r8.internal.B4:
     java.util.ListIterator listIterator -> c
     com.android.tools.r8.ir.code.IRCode code -> b
     com.android.tools.r8.ir.code.BasicBlock current -> d
@@ -43899,7 +43986,7 @@
     1:1:void set(java.lang.Object):10:10 -> set
     2:2:void com.android.tools.r8.ir.code.BasicBlockIterator.set(com.android.tools.r8.ir.code.BasicBlock):73:73 -> set
     2:2:void set(java.lang.Object):10 -> set
-com.android.tools.r8.ir.code.Binop -> com.android.tools.r8.internal.V4:
+com.android.tools.r8.ir.code.Binop -> com.android.tools.r8.internal.W4:
     com.android.tools.r8.ir.code.NumericType type -> i
     1:8:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):24:31 -> <init>
     boolean hasInvariantOutType() -> V0
@@ -43926,7 +44013,7 @@
     1:2:int maxInOutValueRegisterSize():82:83 -> o2
     1:1:com.android.tools.r8.ir.code.Value rightValue():44:44 -> p2
     com.android.tools.r8.ir.code.Binop asBinop() -> u
-com.android.tools.r8.ir.code.CanonicalPositions -> com.android.tools.r8.internal.t6:
+com.android.tools.r8.ir.code.CanonicalPositions -> com.android.tools.r8.internal.u6:
     java.util.Map canonicalPositions -> b
     boolean $assertionsDisabled -> f
     com.android.tools.r8.ir.code.Position callerPosition -> a
@@ -43951,7 +44038,7 @@
     47:47:com.android.tools.r8.ir.code.Position getExceptionalExitPosition(boolean,java.util.function.Supplier,com.android.tools.r8.graph.DexMethod):126 -> a
     48:51:com.android.tools.r8.ir.code.Position getExceptionalExitPosition(boolean,java.util.function.Supplier,com.android.tools.r8.graph.DexMethod):126:129 -> a
     1:1:com.android.tools.r8.ir.code.Position getCanonical(com.android.tools.r8.ir.code.Position):63:63 -> b
-com.android.tools.r8.ir.code.CatchHandlers -> com.android.tools.r8.internal.w6:
+com.android.tools.r8.ir.code.CatchHandlers -> com.android.tools.r8.internal.x6:
     java.util.List guards -> b
     java.util.Set uniqueTargets -> d
     java.util.List targets -> c
@@ -43980,18 +44067,18 @@
     1:1:int hashCode():144:144 -> hashCode
     1:1:java.util.Iterator iterator():111:111 -> iterator
     1:2:int size():59:60 -> size
-com.android.tools.r8.ir.code.CatchHandlers$1 -> com.android.tools.r8.internal.u6:
+com.android.tools.r8.ir.code.CatchHandlers$1 -> com.android.tools.r8.internal.v6:
     com.android.tools.r8.ir.code.CatchHandlers this$0 -> c
     int nextIndex -> b
     1:3:void <init>(com.android.tools.r8.ir.code.CatchHandlers):111:113 -> <init>
     1:1:boolean hasNext():117:117 -> hasNext
     1:4:com.android.tools.r8.ir.code.CatchHandlers$CatchHandler com.android.tools.r8.ir.code.CatchHandlers$1.next():122:125 -> next
     1:4:java.lang.Object next():111 -> next
-com.android.tools.r8.ir.code.CatchHandlers$CatchHandler -> com.android.tools.r8.internal.v6:
+com.android.tools.r8.ir.code.CatchHandlers$CatchHandler -> com.android.tools.r8.internal.w6:
     java.lang.Object target -> b
     com.android.tools.r8.graph.DexType guard -> a
     1:3:void <init>(com.android.tools.r8.graph.DexType,java.lang.Object):24:26 -> <init>
-com.android.tools.r8.ir.code.CheckCast -> com.android.tools.r8.internal.t9:
+com.android.tools.r8.ir.code.CheckCast -> com.android.tools.r8.internal.u9:
     int $r8$clinit -> l
     com.android.tools.r8.graph.DexType type -> i
     boolean ignoreCompatRules -> j
@@ -44047,7 +44134,7 @@
     boolean isCheckCast() -> p1
     1:1:java.lang.String toString():195:195 -> toString
     com.android.tools.r8.ir.code.CheckCast asCheckCast() -> v
-com.android.tools.r8.ir.code.CheckCast$Builder -> com.android.tools.r8.internal.s9:
+com.android.tools.r8.ir.code.CheckCast$Builder -> com.android.tools.r8.internal.t9:
     com.android.tools.r8.ir.code.Value object -> d
     com.android.tools.r8.graph.DexType castType -> c
     1:1:void <init>():275:275 -> <init>
@@ -44058,7 +44145,7 @@
     3:3:void com.android.tools.r8.ir.code.CheckCast.<init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):40:40 -> b
     3:3:com.android.tools.r8.ir.code.CheckCast build():292 -> b
     4:4:com.android.tools.r8.ir.code.CheckCast build():292:292 -> b
-com.android.tools.r8.ir.code.Cmp -> com.android.tools.r8.internal.Eb:
+com.android.tools.r8.ir.code.Cmp -> com.android.tools.r8.internal.Fb:
     boolean $assertionsDisabled -> k
     com.android.tools.r8.ir.code.Cmp$Bias bias -> j
     1:1:void <clinit>():26:26 -> <clinit>
@@ -44135,12 +44222,12 @@
     165:165:java.lang.String toString():110 -> toString
     166:187:java.lang.String toString():110:131 -> toString
     com.android.tools.r8.ir.code.Cmp asCmp() -> w
-com.android.tools.r8.ir.code.Cmp$1 -> com.android.tools.r8.internal.Cb:
+com.android.tools.r8.ir.code.Cmp$1 -> com.android.tools.r8.internal.Db:
     int[] $SwitchMap$com$android$tools$r8$ir$code$Cmp$Bias -> b
     int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> a
     1:1:void <clinit>():90:90 -> <clinit>
     2:2:void <clinit>():60:60 -> <clinit>
-com.android.tools.r8.ir.code.Cmp$Bias -> com.android.tools.r8.internal.Db:
+com.android.tools.r8.ir.code.Cmp$Bias -> com.android.tools.r8.internal.Eb:
     com.android.tools.r8.ir.code.Cmp$Bias GT -> c
     com.android.tools.r8.ir.code.Cmp$Bias[] $VALUES -> e
     com.android.tools.r8.ir.code.Cmp$Bias LT -> d
@@ -44149,7 +44236,7 @@
     2:2:void <clinit>():28:28 -> <clinit>
     1:1:void <init>(java.lang.String,int):28:28 -> <init>
     1:1:com.android.tools.r8.ir.code.Cmp$Bias[] values():28:28 -> a
-com.android.tools.r8.ir.code.ConstClass -> com.android.tools.r8.internal.ud:
+com.android.tools.r8.ir.code.ConstClass -> com.android.tools.r8.internal.vd:
     com.android.tools.r8.graph.DexType clazz -> j
     int $r8$clinit -> m
     boolean ignoreCompatRules -> k
@@ -44199,7 +44286,7 @@
     1:1:com.android.tools.r8.graph.DexType getValue():75:75 -> m2
     1:1:java.lang.String toString():102:102 -> toString
     com.android.tools.r8.ir.code.ConstClass asConstClass() -> x
-com.android.tools.r8.ir.code.ConstClass$Builder -> com.android.tools.r8.internal.td:
+com.android.tools.r8.ir.code.ConstClass$Builder -> com.android.tools.r8.internal.ud:
     com.android.tools.r8.graph.DexType type -> c
     1:1:void <init>():212:212 -> <init>
     com.android.tools.r8.ir.code.Instruction$BuilderBase self() -> a
@@ -44208,7 +44295,7 @@
     2:2:void com.android.tools.r8.ir.code.ConstClass.<init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):32:32 -> b
     2:2:com.android.tools.r8.ir.code.ConstClass build():223 -> b
     3:3:com.android.tools.r8.ir.code.ConstClass build():223:223 -> b
-com.android.tools.r8.ir.code.ConstInstruction -> com.android.tools.r8.internal.vd:
+com.android.tools.r8.ir.code.ConstInstruction -> com.android.tools.r8.internal.wd:
     int $r8$clinit -> i
     1:1:void <init>(com.android.tools.r8.ir.code.Value):33:33 -> <init>
     com.android.tools.r8.ir.code.ConstInstruction getOutConstantConstInstruction() -> Q0
@@ -44218,7 +44305,7 @@
     boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
     boolean isConstInstruction() -> r1
     com.android.tools.r8.ir.code.ConstInstruction asConstInstruction() -> y
-com.android.tools.r8.ir.code.ConstMethodHandle -> com.android.tools.r8.internal.xd:
+com.android.tools.r8.ir.code.ConstMethodHandle -> com.android.tools.r8.internal.yd:
     com.android.tools.r8.graph.DexMethodHandle methodHandle -> j
     boolean $assertionsDisabled -> k
     1:1:void <clinit>():21:21 -> <clinit>
@@ -44251,7 +44338,7 @@
     1:1:com.android.tools.r8.graph.DexMethodHandle getValue():55:55 -> l2
     1:1:java.lang.String toString():93:93 -> toString
     com.android.tools.r8.ir.code.ConstMethodHandle asConstMethodHandle() -> z
-com.android.tools.r8.ir.code.ConstMethodType -> com.android.tools.r8.internal.yd:
+com.android.tools.r8.ir.code.ConstMethodType -> com.android.tools.r8.internal.zd:
     com.android.tools.r8.graph.DexProto methodType -> j
     boolean $assertionsDisabled -> k
     1:1:void <clinit>():21:21 -> <clinit>
@@ -44283,7 +44370,7 @@
     int maxOutValueRegister() -> h2
     int opcode() -> i2
     1:1:java.lang.String toString():87:87 -> toString
-com.android.tools.r8.ir.code.ConstNumber -> com.android.tools.r8.internal.Ad:
+com.android.tools.r8.ir.code.ConstNumber -> com.android.tools.r8.internal.Bd:
     long value -> j
     int $r8$clinit -> l
     boolean $assertionsDisabled -> k
@@ -44353,10 +44440,10 @@
     1:1:boolean isZero():111:111 -> u2
     1:1:boolean negativeIs16Bit():292:292 -> v2
     1:1:boolean negativeIs8Bit():284:284 -> w2
-com.android.tools.r8.ir.code.ConstNumber$1 -> com.android.tools.r8.internal.zd:
+com.android.tools.r8.ir.code.ConstNumber$1 -> com.android.tools.r8.internal.Ad:
     int[] $SwitchMap$com$android$tools$r8$ir$code$ValueType -> a
     1:1:void <clinit>():188:188 -> <clinit>
-com.android.tools.r8.ir.code.ConstString -> com.android.tools.r8.internal.Cd:
+com.android.tools.r8.ir.code.ConstString -> com.android.tools.r8.internal.Dd:
     int $r8$clinit -> l
     boolean $assertionsDisabled -> k
     com.android.tools.r8.graph.DexString value -> j
@@ -44397,19 +44484,19 @@
     int opcode() -> i2
     1:1:com.android.tools.r8.graph.DexString getValue():61:61 -> l2
     1:1:java.lang.String toString():93:93 -> toString
-com.android.tools.r8.ir.code.ConstantValueUtils -> com.android.tools.r8.internal.Kd:
+com.android.tools.r8.ir.code.ConstantValueUtils -> com.android.tools.r8.internal.Ld:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():12:12 -> <clinit>
     1:6:com.android.tools.r8.graph.DexType getDexTypeRepresentedByValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexDefinitionSupplier):20:25 -> a
     7:7:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> a
     7:7:com.android.tools.r8.graph.DexType getDexTypeRepresentedByValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexDefinitionSupplier):25 -> a
     8:14:com.android.tools.r8.graph.DexType getDexTypeRepresentedByValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexDefinitionSupplier):26:32 -> a
-    15:15:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveClassLookup(com.android.tools.r8.graph.DexMethod):1574:1574 -> a
+    15:15:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveClassLookup(com.android.tools.r8.graph.DexMethod):1576:1576 -> a
     15:15:com.android.tools.r8.graph.DexType getDexTypeRepresentedByValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexDefinitionSupplier):32 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     16:16:com.android.tools.r8.graph.DexType getDexTypeRepresentedByValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexDefinitionSupplier):33:33 -> a
     17:18:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):42:43 -> a
-    19:19:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveClassLookup(com.android.tools.r8.graph.DexMethod):1574:1574 -> a
+    19:19:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveClassLookup(com.android.tools.r8.graph.DexMethod):1576:1576 -> a
     19:19:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):43 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     20:20:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):42:42 -> a
@@ -44434,7 +44521,7 @@
     40:40:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
     40:40:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):55 -> a
     41:41:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):56:56 -> a
-com.android.tools.r8.ir.code.DebugLocalRead -> com.android.tools.r8.internal.Ke:
+com.android.tools.r8.ir.code.DebugLocalRead -> com.android.tools.r8.internal.Le:
     1:1:void <init>():20:20 -> <init>
     boolean hasInvariantOutType() -> V0
     java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
@@ -44451,11 +44538,11 @@
     1:1:int maxInValueRegister():60:60 -> g2
     1:1:int maxOutValueRegister():65:65 -> h2
     int opcode() -> i2
-com.android.tools.r8.ir.code.DebugLocalUninitialized -> com.android.tools.r8.internal.Le:
+com.android.tools.r8.ir.code.DebugLocalUninitialized -> com.android.tools.r8.internal.Me:
     1:1:void <init>(com.android.tools.r8.ir.code.Value):21:21 -> <init>
     java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
     boolean isAllowedAfterThrowingInstruction() -> f1
-com.android.tools.r8.ir.code.DebugLocalWrite -> com.android.tools.r8.internal.Me:
+com.android.tools.r8.ir.code.DebugLocalWrite -> com.android.tools.r8.internal.Ne:
     boolean $assertionsDisabled -> j
     1:1:void <clinit>():27:27 -> <clinit>
     1:2:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):30:31 -> <init>
@@ -44469,7 +44556,7 @@
     2:2:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalWrite():0:0 -> b
     2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):56 -> b
     boolean isAllowedAfterThrowingInstruction() -> f1
-com.android.tools.r8.ir.code.DebugLocalsChange -> com.android.tools.r8.internal.Ne:
+com.android.tools.r8.ir.code.DebugLocalsChange -> com.android.tools.r8.internal.Oe:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap starting -> j
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap ending -> i
     boolean $assertionsDisabled -> k
@@ -44502,7 +44589,7 @@
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap getEnding():44:44 -> l2
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap getStarting():48:48 -> m2
     1:6:java.lang.String toString():93:98 -> toString
-com.android.tools.r8.ir.code.DebugPosition -> com.android.tools.r8.internal.Oe:
+com.android.tools.r8.ir.code.DebugPosition -> com.android.tools.r8.internal.Pe:
     boolean $assertionsDisabled -> i
     1:1:void <clinit>():17:17 -> <clinit>
     1:1:void <init>():20:20 -> <init>
@@ -44532,7 +44619,7 @@
     1:1:int maxInValueRegister():56:56 -> g2
     1:1:int maxOutValueRegister():61:61 -> h2
     int opcode() -> i2
-com.android.tools.r8.ir.code.DefaultAliasedValueConfiguration -> com.android.tools.r8.internal.Pe:
+com.android.tools.r8.ir.code.DefaultAliasedValueConfiguration -> com.android.tools.r8.internal.Qe:
     com.android.tools.r8.ir.code.DefaultAliasedValueConfiguration INSTANCE -> a
     boolean $assertionsDisabled -> b
     1:3:void <clinit>():7:9 -> <clinit>
@@ -44545,13 +44632,13 @@
     1:1:boolean isIntroducingAnAlias(com.android.tools.r8.ir.code.Instruction):20:20 -> b
     2:2:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> b
     2:2:boolean isIntroducingAnAlias(com.android.tools.r8.ir.code.Instruction):20 -> b
-com.android.tools.r8.ir.code.DefaultInstructionVisitor -> com.android.tools.r8.internal.Ye:
+com.android.tools.r8.ir.code.DefaultInstructionVisitor -> com.android.tools.r8.internal.Ze:
     1:1:void <init>():7:7 -> <init>
     java.lang.Object handleFieldInstruction(com.android.tools.r8.ir.code.FieldInstruction) -> a
     java.lang.Object handleInvoke(com.android.tools.r8.ir.code.Invoke) -> a
     java.lang.Object com.android.tools.r8.ir.code.InstructionVisitor.visit(com.android.tools.r8.ir.code.NewUnboxedEnumInstance) -> a
     java.lang.Object com.android.tools.r8.ir.code.InstructionVisitor.visit(com.android.tools.r8.ir.code.NewInstance) -> a
-com.android.tools.r8.ir.code.DexItemBasedConstString -> com.android.tools.r8.internal.xg:
+com.android.tools.r8.ir.code.DexItemBasedConstString -> com.android.tools.r8.internal.zg:
     int $r8$clinit -> m
     com.android.tools.r8.graph.DexReference item -> j
     boolean $assertionsDisabled -> l
@@ -44588,7 +44675,7 @@
     1:1:com.android.tools.r8.graph.DexReference getItem():59:59 -> l2
     1:1:com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo getNameComputationInfo():63:63 -> m2
     1:1:java.lang.String toString():109:109 -> toString
-com.android.tools.r8.ir.code.Div -> com.android.tools.r8.internal.oh:
+com.android.tools.r8.ir.code.Div -> com.android.tools.r8.internal.qh:
     1:1:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):24:24 -> <init>
     com.android.tools.r8.ir.code.Div asDiv() -> G
     java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
@@ -44618,7 +44705,7 @@
     int opcode() -> i2
     boolean isCommutative() -> m2
     1:1:com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode getCfOpcode():148:148 -> q2
-com.android.tools.r8.ir.code.DominatorTree -> com.android.tools.r8.internal.rh:
+com.android.tools.r8.ir.code.DominatorTree -> com.android.tools.r8.internal.th:
     com.android.tools.r8.ir.code.BasicBlock[] sorted -> a
     com.android.tools.r8.ir.code.BasicBlock[] doms -> b
     boolean obsolete -> e
@@ -44670,7 +44757,7 @@
     319:319:java.lang.String toString():308:308 -> toString
     320:320:java.lang.String toString():309:309 -> toString
     311:317:java.lang.String toString():310:316 -> toString
-com.android.tools.r8.ir.code.DominatorTree$1 -> com.android.tools.r8.internal.ph:
+com.android.tools.r8.ir.code.DominatorTree$1 -> com.android.tools.r8.internal.rh:
     com.android.tools.r8.ir.code.DominatorTree this$0 -> c
     com.android.tools.r8.ir.code.BasicBlock current -> b
     boolean $assertionsDisabled -> d
@@ -44679,11 +44766,11 @@
     1:1:boolean hasNext():201:201 -> hasNext
     1:9:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.DominatorTree$1.next():206:214 -> next
     1:9:java.lang.Object next():196 -> next
-com.android.tools.r8.ir.code.DominatorTree$Inclusive -> com.android.tools.r8.internal.qh:
+com.android.tools.r8.ir.code.DominatorTree$Inclusive -> com.android.tools.r8.internal.sh:
     com.android.tools.r8.ir.code.DominatorTree$Inclusive NO -> b
     1:1:void <clinit>():25:25 -> <clinit>
     1:1:void <init>(java.lang.String,int):23:23 -> <init>
-com.android.tools.r8.ir.code.Dup -> com.android.tools.r8.internal.Bh:
+com.android.tools.r8.ir.code.Dup -> com.android.tools.r8.internal.Dh:
     boolean $assertionsDisabled -> i
     1:1:void <clinit>():18:18 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.Value):21:21 -> <init>
@@ -44711,7 +44798,7 @@
     1:1:com.android.tools.r8.ir.code.StackValue outTop():57 -> m2
     2:2:com.android.tools.r8.ir.code.StackValue outTop():57:57 -> m2
     1:1:com.android.tools.r8.ir.code.StackValue src():61:61 -> n2
-com.android.tools.r8.ir.code.Dup2 -> com.android.tools.r8.internal.Ah:
+com.android.tools.r8.ir.code.Dup2 -> com.android.tools.r8.internal.Ch:
     boolean $assertionsDisabled -> i
     1:1:void <clinit>():19:19 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):28:28 -> <init>
@@ -44731,9 +44818,9 @@
     int maxInValueRegister() -> g2
     1:1:int maxOutValueRegister():104:104 -> h2
     int opcode() -> i2
-com.android.tools.r8.ir.code.FieldGet -> com.android.tools.r8.internal.Hj:
+com.android.tools.r8.ir.code.FieldGet -> com.android.tools.r8.internal.Jj:
     com.android.tools.r8.ir.code.Value outValue() -> a
-com.android.tools.r8.ir.code.FieldInstruction -> com.android.tools.r8.internal.Kj:
+com.android.tools.r8.ir.code.FieldInstruction -> com.android.tools.r8.internal.Mj:
     com.android.tools.r8.graph.DexField field -> i
     boolean $assertionsDisabled -> j
     1:1:void <clinit>():26:26 -> <clinit>
@@ -44760,7 +44847,7 @@
     1:1:com.android.tools.r8.graph.DexField getField():47:47 -> getField
     1:1:com.android.tools.r8.ir.code.FieldMemberType getType():43:43 -> l2
     boolean isFieldInstruction() -> z1
-com.android.tools.r8.ir.code.FieldMemberType$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.Lj:
+com.android.tools.r8.ir.code.FieldMemberType$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.Nj:
 # {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
 # {"id":"com.android.tools.r8.synthesized"}
     java.lang.String stringValueOf(int) -> a
@@ -44770,11 +44857,11 @@
     2:2:com.android.tools.r8.ir.code.FieldMemberType com.android.tools.r8.ir.code.FieldMemberType.fromDexType(com.android.tools.r8.graph.DexType):51 -> a
     3:3:com.android.tools.r8.ir.code.FieldMemberType com.android.tools.r8.ir.code.FieldMemberType.fromTypeDescriptorChar(char):44:44 -> a
     3:3:com.android.tools.r8.ir.code.FieldMemberType com.android.tools.r8.ir.code.FieldMemberType.fromDexType(com.android.tools.r8.graph.DexType):51 -> a
-com.android.tools.r8.ir.code.FieldPut -> com.android.tools.r8.internal.Tj:
+com.android.tools.r8.ir.code.FieldPut -> com.android.tools.r8.internal.Vj:
     void setValue(com.android.tools.r8.ir.code.Value) -> a
     boolean isStaticPut() -> b
     int getValueIndex() -> f
-com.android.tools.r8.ir.code.FixedRegisterValue -> com.android.tools.r8.internal.vk:
+com.android.tools.r8.ir.code.FixedRegisterValue -> com.android.tools.r8.internal.xk:
     int register -> r
     boolean $assertionsDisabled -> s
     1:1:void <clinit>():12:12 -> <clinit>
@@ -44803,7 +44890,7 @@
     78:78:java.lang.String toString():75:75 -> toString
     79:79:java.lang.String toString():75:75 -> toString
     76:76:java.lang.String toString():75:75 -> toString
-com.android.tools.r8.ir.code.Goto -> com.android.tools.r8.internal.Zl:
+com.android.tools.r8.ir.code.Goto -> com.android.tools.r8.internal.bm:
     boolean $assertionsDisabled -> j
     1:1:void <clinit>():14:14 -> <clinit>
     1:1:void <init>():17:17 -> <init>
@@ -44822,11 +44909,11 @@
     1:4:com.android.tools.r8.ir.code.BasicBlock getTarget():40:43 -> m2
     1:4:java.lang.String toString():75:78 -> toString
     5:5:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":83,"2":84,"3":85}}
-    83:83:java.lang.String toString():78:78 -> toString
-    84:84:java.lang.String toString():78:78 -> toString
-    85:85:java.lang.String toString():78:78 -> toString
-com.android.tools.r8.ir.code.IRCode -> com.android.tools.r8.internal.nn:
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":6,"2":7,"3":8}}
+    6:6:java.lang.String toString():78:78 -> toString
+    7:7:java.lang.String toString():78:78 -> toString
+    8:8:java.lang.String toString():78:78 -> toString
+com.android.tools.r8.ir.code.IRCode -> com.android.tools.r8.internal.pn:
     boolean $assertionsDisabled -> l
     boolean numbered -> f
     int nextInstructionNumber -> g
@@ -45241,10 +45328,10 @@
     27:28:void prepareBlocksForCatchHandlers():357 -> y
     29:35:void prepareBlocksForCatchHandlers():358:364 -> y
     1:1:boolean removeAllDeadAndTrivialPhis():1218:1218 -> z
-com.android.tools.r8.ir.code.IRCode$BlockMarker -> com.android.tools.r8.internal.ln:
+com.android.tools.r8.ir.code.IRCode$BlockMarker -> com.android.tools.r8.internal.nn:
     com.android.tools.r8.ir.code.BasicBlock block -> a
     1:2:void <init>(com.android.tools.r8.ir.code.BasicBlock):100:101 -> <init>
-com.android.tools.r8.ir.code.IRCode$LiveAtEntrySets -> com.android.tools.r8.internal.mn:
+com.android.tools.r8.ir.code.IRCode$LiveAtEntrySets -> com.android.tools.r8.internal.on:
     java.util.Deque liveStackValues -> c
     java.util.Set liveLocalValues -> b
     java.util.LinkedHashSet liveValues -> a
@@ -45253,7 +45340,7 @@
     1:5:void <init>(java.util.LinkedHashSet,java.util.Set,java.util.Deque):73:77 -> <init>
     1:2:boolean equals(java.lang.Object):87:88 -> equals
     1:1:int hashCode():82:82 -> hashCode
-com.android.tools.r8.ir.code.IRCodeInstructionIterator -> com.android.tools.r8.internal.on:
+com.android.tools.r8.ir.code.IRCodeInstructionIterator -> com.android.tools.r8.internal.qn:
     java.util.ListIterator blockIterator -> b
     com.android.tools.r8.ir.code.IRCode code -> d
     com.android.tools.r8.ir.code.InstructionListIterator instructionIterator -> c
@@ -45268,7 +45355,7 @@
     10:10:java.lang.Object next():10 -> next
     1:10:com.android.tools.r8.ir.code.Instruction previous():48:57 -> previous
     11:11:com.android.tools.r8.ir.code.Instruction previous():52:52 -> previous
-com.android.tools.r8.ir.code.IRCodeInstructionListIterator -> com.android.tools.r8.internal.pn:
+com.android.tools.r8.ir.code.IRCodeInstructionListIterator -> com.android.tools.r8.internal.rn:
     java.util.ListIterator blockIterator -> b
     com.android.tools.r8.ir.code.IRCode code -> d
     com.android.tools.r8.ir.code.InstructionListIterator instructionIterator -> c
@@ -45313,7 +45400,7 @@
     1:1:void set(java.lang.Object):23:23 -> set
     2:2:void com.android.tools.r8.ir.code.IRCodeInstructionListIterator.set(com.android.tools.r8.ir.code.Instruction):206:206 -> set
     2:2:void set(java.lang.Object):23 -> set
-com.android.tools.r8.ir.code.IRCodeUtils -> com.android.tools.r8.internal.rn:
+com.android.tools.r8.ir.code.IRCodeUtils -> com.android.tools.r8.internal.tn:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():19:19 -> <clinit>
     1:7:com.android.tools.r8.ir.code.InvokeDirect getUniqueConstructorInvoke(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):24:30 -> a
@@ -45331,7 +45418,7 @@
     75:78:void internalRemoveInstructionAndTransitiveInputsIfNotUsed(com.android.tools.r8.ir.code.IRCode,java.util.Deque):148:151 -> a
     1:1:void removeInstructionAndTransitiveInputsIfNotUsed(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):114:114 -> b
     2:2:void removeInstructionAndTransitiveInputsIfNotUsed(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):113:113 -> b
-com.android.tools.r8.ir.code.IRMetadata -> com.android.tools.r8.internal.tn:
+com.android.tools.r8.ir.code.IRMetadata -> com.android.tools.r8.internal.vn:
     long second -> b
     long first -> a
     boolean $assertionsDisabled -> c
@@ -45447,7 +45534,7 @@
     1:1:boolean mayHaveInvokeVirtual():206:206 -> x
     1:1:boolean mayHaveMonitorInstruction():210:210 -> y
     1:1:boolean mayHaveMul():214:214 -> z
-com.android.tools.r8.ir.code.If -> com.android.tools.r8.internal.Kn:
+com.android.tools.r8.ir.code.If -> com.android.tools.r8.internal.Mn:
     int $r8$clinit -> l
     boolean $assertionsDisabled -> k
     com.android.tools.r8.ir.code.If$Type type -> j
@@ -45514,10 +45601,10 @@
     1:3:com.android.tools.r8.ir.code.BasicBlock targetFromNonNullObject():222:224 -> s2
     1:3:com.android.tools.r8.ir.code.BasicBlock targetFromNullObject():228:230 -> t2
     1:8:java.lang.String toString():169:176 -> toString
-com.android.tools.r8.ir.code.If$1 -> com.android.tools.r8.internal.Jn:
+com.android.tools.r8.ir.code.If$1 -> com.android.tools.r8.internal.Ln:
     int[] $SwitchMap$com$android$tools$r8$ir$code$If$Type -> a
     1:1:void <clinit>():27:27 -> <clinit>
-com.android.tools.r8.ir.code.If$Type -> com.android.tools.r8.internal.Kn$a:
+com.android.tools.r8.ir.code.If$Type -> com.android.tools.r8.internal.Mn$a:
     com.android.tools.r8.ir.code.If$Type GE -> c
     com.android.tools.r8.ir.code.If$Type GT -> d
     com.android.tools.r8.ir.code.If$Type EQ -> b
@@ -45540,10 +45627,10 @@
     19:27:com.android.tools.r8.ir.code.If$Type inverted():49:57 -> b
     28:28:com.android.tools.r8.ir.code.If$Type inverted():47:47 -> b
     1:1:com.android.tools.r8.ir.code.If$Type[] values():22:22 -> c
-com.android.tools.r8.ir.code.ImpreciseMemberTypeInstruction -> com.android.tools.r8.internal.Lo:
+com.android.tools.r8.ir.code.ImpreciseMemberTypeInstruction -> com.android.tools.r8.internal.No:
     void constrainType(com.android.tools.r8.ir.conversion.TypeConstraintResolver) -> a
     com.android.tools.r8.ir.code.MemberType getMemberType() -> d
-com.android.tools.r8.ir.code.Inc -> com.android.tools.r8.internal.Po:
+com.android.tools.r8.ir.code.Inc -> com.android.tools.r8.internal.Ro:
     boolean $assertionsDisabled -> j
     int increment -> i
     1:1:void <clinit>():20:20 -> <clinit>
@@ -45559,7 +45646,7 @@
     int maxOutValueRegister() -> h2
     int opcode() -> i2
     1:1:java.lang.String toString():102:102 -> toString
-com.android.tools.r8.ir.code.InitClass -> com.android.tools.r8.internal.dp:
+com.android.tools.r8.ir.code.InitClass -> com.android.tools.r8.internal.fp:
     com.android.tools.r8.graph.DexType clazz -> i
     boolean $assertionsDisabled -> j
     1:1:void <clinit>():26:26 -> <clinit>
@@ -45587,17 +45674,17 @@
     1:1:com.android.tools.r8.ir.code.InitClass$Builder builder():39:39 -> l2
     1:1:com.android.tools.r8.graph.DexType getClassValue():43:43 -> m2
     1:1:java.lang.String toString():171:171 -> toString
-com.android.tools.r8.ir.code.InitClass$1 -> com.android.tools.r8.internal.bp:
-com.android.tools.r8.ir.code.InitClass$Builder -> com.android.tools.r8.internal.cp:
+com.android.tools.r8.ir.code.InitClass$1 -> com.android.tools.r8.internal.dp:
+com.android.tools.r8.ir.code.InitClass$Builder -> com.android.tools.r8.internal.ep:
     com.android.tools.r8.graph.DexType type -> c
     1:1:void <init>(com.android.tools.r8.ir.code.InitClass$1):174:174 -> <init>
     2:2:void <init>():178:178 -> <init>
     com.android.tools.r8.ir.code.Instruction$BuilderBase self() -> a
     1:1:com.android.tools.r8.ir.code.InitClass$Builder setType(com.android.tools.r8.graph.DexType):181:181 -> a
     1:1:com.android.tools.r8.ir.code.InitClass build():187:187 -> b
-com.android.tools.r8.ir.code.InstanceFieldInstruction -> com.android.tools.r8.internal.Np:
+com.android.tools.r8.ir.code.InstanceFieldInstruction -> com.android.tools.r8.internal.Pp:
     com.android.tools.r8.ir.code.Value object() -> e
-com.android.tools.r8.ir.code.InstanceGet -> com.android.tools.r8.internal.Qp:
+com.android.tools.r8.ir.code.InstanceGet -> com.android.tools.r8.internal.Sp:
     boolean $assertionsDisabled -> k
     1:1:void <clinit>():35:35 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexField):38:38 -> <init>
@@ -45650,7 +45737,7 @@
     boolean throwsOnNullInput() -> k2
     1:1:java.lang.String toString():182:182 -> toString
     1:1:com.android.tools.r8.ir.code.Value value():68:68 -> value
-com.android.tools.r8.ir.code.InstanceOf -> com.android.tools.r8.internal.Zp:
+com.android.tools.r8.ir.code.InstanceOf -> com.android.tools.r8.internal.bq:
     com.android.tools.r8.graph.DexType type -> i
     1:2:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):25:26 -> <init>
     com.android.tools.r8.ir.code.InstanceOf asInstanceOf() -> Q
@@ -45675,7 +45762,7 @@
     1:1:com.android.tools.r8.graph.DexType type():40:40 -> l2
     1:2:java.lang.String toString():127:128 -> toString
     1:1:com.android.tools.r8.ir.code.Value value():48:48 -> value
-com.android.tools.r8.ir.code.InstancePut -> com.android.tools.r8.internal.aq:
+com.android.tools.r8.ir.code.InstancePut -> com.android.tools.r8.internal.cq:
     boolean $assertionsDisabled -> k
     1:1:void <clinit>():35:35 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):38:38 -> <init>
@@ -45729,7 +45816,7 @@
     boolean throwsOnNullInput() -> k2
     1:1:java.lang.String toString():234:234 -> toString
     1:1:com.android.tools.r8.ir.code.Value value():79:79 -> value
-com.android.tools.r8.ir.code.Instruction -> com.android.tools.r8.internal.kq:
+com.android.tools.r8.ir.code.Instruction -> com.android.tools.r8.internal.mq:
     com.android.tools.r8.ir.code.Position position -> g
     java.util.List inValues -> c
     java.util.Set debugValues -> f
@@ -46092,7 +46179,7 @@
     com.android.tools.r8.ir.code.ConstMethodHandle asConstMethodHandle() -> z
     com.android.tools.r8.ir.code.StaticGet asStaticGet() -> z0
     boolean isFieldInstruction() -> z1
-com.android.tools.r8.ir.code.Instruction$BuilderBase -> com.android.tools.r8.internal.dq:
+com.android.tools.r8.ir.code.Instruction$BuilderBase -> com.android.tools.r8.internal.fq:
     com.android.tools.r8.ir.code.Position position -> b
     com.android.tools.r8.ir.code.Value outValue -> a
     1:1:void <init>():1616:1616 -> <init>
@@ -46106,7 +46193,7 @@
     1:1:com.android.tools.r8.ir.code.Instruction$BuilderBase setPosition(com.android.tools.r8.ir.code.Instruction):1651:1651 -> b
     2:3:com.android.tools.r8.ir.code.Instruction$BuilderBase com.android.tools.r8.ir.code.Instruction$BuilderBase.setPosition(com.android.tools.r8.ir.code.Position):1646:1647 -> b
     2:3:com.android.tools.r8.ir.code.Instruction$BuilderBase setPosition(com.android.tools.r8.ir.code.Instruction):1651 -> b
-com.android.tools.r8.ir.code.Instruction$SideEffectAssumption -> com.android.tools.r8.internal.jq:
+com.android.tools.r8.ir.code.Instruction$SideEffectAssumption -> com.android.tools.r8.internal.lq:
     com.android.tools.r8.ir.code.Instruction$SideEffectAssumption NONE -> a
     com.android.tools.r8.ir.code.Instruction$SideEffectAssumption CLASS_ALREADY_INITIALIZED -> b
     com.android.tools.r8.ir.code.Instruction$SideEffectAssumption IGNORE_RECEIVER_FIELD_ASSIGNMENTS -> c
@@ -46118,26 +46205,26 @@
     boolean canAssumeInvokedMethodDoesNotHaveSideEffects() -> b
     boolean canAssumeReceiverIsNotNull() -> c
     1:1:com.android.tools.r8.ir.code.Instruction$SideEffectAssumption join(com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):1593:1593 -> d
-com.android.tools.r8.ir.code.Instruction$SideEffectAssumption$1 -> com.android.tools.r8.internal.eq:
+com.android.tools.r8.ir.code.Instruction$SideEffectAssumption$1 -> com.android.tools.r8.internal.gq:
     1:1:void <init>():1541:1541 -> <init>
-com.android.tools.r8.ir.code.Instruction$SideEffectAssumption$2 -> com.android.tools.r8.internal.fq:
+com.android.tools.r8.ir.code.Instruction$SideEffectAssumption$2 -> com.android.tools.r8.internal.hq:
     1:1:void <init>():1550:1550 -> <init>
-com.android.tools.r8.ir.code.Instruction$SideEffectAssumption$3 -> com.android.tools.r8.internal.gq:
+com.android.tools.r8.ir.code.Instruction$SideEffectAssumption$3 -> com.android.tools.r8.internal.iq:
     1:1:void <init>():1559:1559 -> <init>
-com.android.tools.r8.ir.code.Instruction$SideEffectAssumption$4 -> com.android.tools.r8.internal.hq:
+com.android.tools.r8.ir.code.Instruction$SideEffectAssumption$4 -> com.android.tools.r8.internal.jq:
     1:1:void <init>():1568:1568 -> <init>
-com.android.tools.r8.ir.code.Instruction$SideEffectAssumption$5 -> com.android.tools.r8.internal.iq:
+com.android.tools.r8.ir.code.Instruction$SideEffectAssumption$5 -> com.android.tools.r8.internal.kq:
     com.android.tools.r8.ir.code.Instruction$SideEffectAssumption val$other -> f
     com.android.tools.r8.ir.code.Instruction$SideEffectAssumption this$0 -> g
     1:1:void <init>(com.android.tools.r8.ir.code.Instruction$SideEffectAssumption,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):1593:1593 -> <init>
     1:2:boolean canAssumeClassIsAlreadyInitialized():1597:1598 -> a
     1:2:boolean canAssumeInvokedMethodDoesNotHaveSideEffects():1603:1604 -> b
     1:2:boolean canAssumeReceiverIsNotNull():1609:1610 -> c
-com.android.tools.r8.ir.code.InstructionIterator -> com.android.tools.r8.internal.mq:
+com.android.tools.r8.ir.code.InstructionIterator -> com.android.tools.r8.internal.oq:
     1:3:com.android.tools.r8.ir.code.Instruction peekPrevious():45:47 -> e
     1:3:com.android.tools.r8.ir.code.Instruction peekNext():30:32 -> f
     1:1:void remove():15:15 -> remove
-com.android.tools.r8.ir.code.InstructionListIterator -> com.android.tools.r8.internal.nq:
+com.android.tools.r8.ir.code.InstructionListIterator -> com.android.tools.r8.internal.pq:
     void addThrowingInstructionToPossiblyThrowingBlock(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.utils.InternalOptions) -> a
     com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexProgramClass) -> a
     com.android.tools.r8.ir.code.Value insertConstNumberInstruction(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions,long,com.android.tools.r8.ir.analysis.type.TypeElement) -> a
@@ -46169,12 +46256,12 @@
     void unsetInsertionPosition() -> h
     void removeOrReplaceByDebugLocalRead() -> i
     1:1:void removeInstructionIgnoreOutValue():68:68 -> k
-com.android.tools.r8.ir.code.InstructionOrPhi -> com.android.tools.r8.internal.oq:
+com.android.tools.r8.ir.code.InstructionOrPhi -> com.android.tools.r8.internal.qq:
     com.android.tools.r8.ir.code.BasicBlock getBlock() -> g
     boolean isPhi() -> h
     com.android.tools.r8.ir.code.Instruction asInstruction() -> j
     com.android.tools.r8.ir.code.Phi asPhi() -> k
-com.android.tools.r8.ir.code.IntSwitch -> com.android.tools.r8.internal.Ft:
+com.android.tools.r8.ir.code.IntSwitch -> com.android.tools.r8.internal.Ht:
     boolean $assertionsDisabled -> n
     int[] keys -> m
     1:1:void <clinit>():28:28 -> <clinit>
@@ -46333,7 +46420,7 @@
     5:5:int com.android.tools.r8.ir.code.IntSwitch.getKey(int):212:212 -> toString
     5:5:java.lang.String toString():274 -> toString
     6:11:java.lang.String toString():274:279 -> toString
-com.android.tools.r8.ir.code.Invoke -> com.android.tools.r8.internal.wu:
+com.android.tools.r8.ir.code.Invoke -> com.android.tools.r8.internal.yu:
     boolean $assertionsDisabled -> i
     1:1:void <clinit>():37:37 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.code.Value,java.util.List):224:224 -> <init>
@@ -46477,7 +46564,7 @@
     2:2:int com.android.tools.r8.ir.code.Value.requiredRegisters():263:263 -> r2
     2:2:int requiredArgumentRegisters():295 -> r2
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-com.android.tools.r8.ir.code.Invoke$Type -> com.android.tools.r8.internal.vu:
+com.android.tools.r8.ir.code.Invoke$Type -> com.android.tools.r8.internal.xu:
     com.android.tools.r8.ir.code.Invoke$Type STATIC -> f
     com.android.tools.r8.ir.code.Invoke$Type SUPER -> g
     boolean $assertionsDisabled -> n
@@ -46500,7 +46587,7 @@
     49:50:int getDexOpcode():171:172 -> a
     1:2:int getDexOpcodeRange():176:177 -> b
     1:1:boolean isVirtual():197:197 -> c
-com.android.tools.r8.ir.code.InvokeCustom -> com.android.tools.r8.internal.xu:
+com.android.tools.r8.ir.code.InvokeCustom -> com.android.tools.r8.internal.zu:
     com.android.tools.r8.graph.DexCallSite callSite -> j
     boolean $assertionsDisabled -> k
     1:1:void <clinit>():26:26 -> <clinit>
@@ -46549,7 +46636,7 @@
     1:1:java.lang.String getTypeString():116:116 -> p2
     1:1:com.android.tools.r8.graph.DexCallSite getCallSite():106:106 -> s2
     1:1:java.lang.String toString():121:121 -> toString
-com.android.tools.r8.ir.code.InvokeDirect -> com.android.tools.r8.internal.Au:
+com.android.tools.r8.ir.code.InvokeDirect -> com.android.tools.r8.internal.Cu:
     boolean isInterface -> m
     boolean $assertionsDisabled -> n
     int $r8$clinit -> o
@@ -46579,7 +46666,7 @@
     1:1:com.android.tools.r8.ir.code.Invoke$Type getType():70:70 -> o2
     1:1:java.lang.String getTypeString():75:75 -> p2
     1:1:boolean getInterfaceBit():60:60 -> s2
-com.android.tools.r8.ir.code.InvokeDirect$Builder -> com.android.tools.r8.internal.zu:
+com.android.tools.r8.ir.code.InvokeDirect$Builder -> com.android.tools.r8.internal.Bu:
     1:1:void <init>():218:218 -> <init>
     com.android.tools.r8.ir.code.Instruction$BuilderBase self() -> a
     1:3:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setArguments(java.util.List):283:285 -> a
@@ -46592,7 +46679,7 @@
     2:2:void com.android.tools.r8.ir.code.InvokeDirect.<init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List):38:38 -> b
     2:2:com.android.tools.r8.ir.code.InvokeDirect build():222 -> b
     3:3:com.android.tools.r8.ir.code.InvokeDirect build():222:222 -> b
-com.android.tools.r8.ir.code.InvokeInterface -> com.android.tools.r8.internal.Du:
+com.android.tools.r8.ir.code.InvokeInterface -> com.android.tools.r8.internal.Fu:
     boolean $assertionsDisabled -> m
     1:1:void <clinit>():29:29 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List):32:32 -> <init>
@@ -46615,7 +46702,7 @@
     1:1:com.android.tools.r8.ir.code.Invoke$Type getType():52:52 -> o2
     1:1:java.lang.String getTypeString():57:57 -> p2
     boolean getInterfaceBit() -> s2
-com.android.tools.r8.ir.code.InvokeMethod -> com.android.tools.r8.internal.Fu:
+com.android.tools.r8.ir.code.InvokeMethod -> com.android.tools.r8.internal.Hu:
     com.android.tools.r8.graph.DexMethod method -> j
     boolean $assertionsDisabled -> k
     1:1:void <clinit>():42:42 -> <clinit>
@@ -46681,13 +46768,13 @@
     boolean getInterfaceBit() -> s2
     1:1:com.android.tools.r8.graph.DexMethod getInvokedMethod():86:86 -> t2
     1:1:java.lang.String toString():96:96 -> toString
-com.android.tools.r8.ir.code.InvokeMethod$Builder -> com.android.tools.r8.internal.Eu:
+com.android.tools.r8.ir.code.InvokeMethod$Builder -> com.android.tools.r8.internal.Gu:
     java.util.List arguments -> d
     boolean $assertionsDisabled -> e
     com.android.tools.r8.graph.DexMethod method -> c
     1:1:void <clinit>():276:276 -> <clinit>
     1:5:void <init>():276:280 -> <init>
-com.android.tools.r8.ir.code.InvokeMethodWithReceiver -> com.android.tools.r8.internal.Gu:
+com.android.tools.r8.ir.code.InvokeMethodWithReceiver -> com.android.tools.r8.internal.Iu:
     boolean $assertionsDisabled -> l
     1:1:void <clinit>():30:30 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List):33:33 -> <init>
@@ -46733,7 +46820,7 @@
     1:1:java.lang.Iterable getNonReceiverArguments():37 -> u2
     2:2:java.lang.Iterable getNonReceiverArguments():37:37 -> u2
     1:2:com.android.tools.r8.ir.code.Value getReceiver():63:64 -> v2
-com.android.tools.r8.ir.code.InvokeMultiNewArray -> com.android.tools.r8.internal.Hu:
+com.android.tools.r8.ir.code.InvokeMultiNewArray -> com.android.tools.r8.internal.Ju:
     com.android.tools.r8.graph.DexType type -> j
     boolean $assertionsDisabled -> k
     1:1:void <clinit>():25:25 -> <clinit>
@@ -46770,7 +46857,7 @@
     1:1:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> t2
     1:1:boolean instructionInstanceCanThrowNegativeArraySizeException():162 -> t2
     2:8:boolean instructionInstanceCanThrowNegativeArraySizeException():162:168 -> t2
-com.android.tools.r8.ir.code.InvokeNewArray -> com.android.tools.r8.internal.Iu:
+com.android.tools.r8.ir.code.InvokeNewArray -> com.android.tools.r8.internal.Ku:
     com.android.tools.r8.graph.DexType type -> j
     boolean $assertionsDisabled -> k
     1:1:void <clinit>():28:28 -> <clinit>
@@ -46809,7 +46896,7 @@
     1:1:java.lang.String getTypeString():63:63 -> p2
     1:1:com.android.tools.r8.graph.DexType getArrayType():53:53 -> s2
     1:1:java.lang.String toString():68:68 -> toString
-com.android.tools.r8.ir.code.InvokePolymorphic -> com.android.tools.r8.internal.Ju:
+com.android.tools.r8.ir.code.InvokePolymorphic -> com.android.tools.r8.internal.Lu:
     boolean $assertionsDisabled -> m
     com.android.tools.r8.graph.DexProto proto -> l
     1:1:void <clinit>():29:29 -> <clinit>
@@ -46851,7 +46938,7 @@
     1:1:java.lang.String getTypeString():65:65 -> p2
     boolean getInterfaceBit() -> s2
     1:1:com.android.tools.r8.graph.DexProto getProto():69:69 -> u2
-com.android.tools.r8.ir.code.InvokeStatic -> com.android.tools.r8.internal.Ou:
+com.android.tools.r8.ir.code.InvokeStatic -> com.android.tools.r8.internal.Qu:
     boolean $assertionsDisabled -> m
     int $r8$clinit -> n
     boolean isInterface -> l
@@ -46897,7 +46984,7 @@
     1:1:com.android.tools.r8.ir.code.Invoke$Type getType():67:67 -> o2
     1:1:java.lang.String getTypeString():72:72 -> p2
     1:1:boolean getInterfaceBit():52:52 -> s2
-com.android.tools.r8.ir.code.InvokeStatic$Builder -> com.android.tools.r8.internal.Nu:
+com.android.tools.r8.ir.code.InvokeStatic$Builder -> com.android.tools.r8.internal.Pu:
     boolean $assertionsDisabled -> f
     1:1:void <clinit>():236:236 -> <clinit>
     1:1:void <init>():236:236 -> <init>
@@ -46919,7 +47006,7 @@
     8:9:com.android.tools.r8.ir.code.InvokeMethod$Builder setMethod(com.android.tools.r8.graph.DexMethod):0 -> a
       # {"id":"com.android.tools.r8.synthesized"}
     1:5:com.android.tools.r8.ir.code.InvokeStatic build():240:244 -> b
-com.android.tools.r8.ir.code.InvokeSuper -> com.android.tools.r8.internal.Pu:
+com.android.tools.r8.ir.code.InvokeSuper -> com.android.tools.r8.internal.Ru:
     boolean isInterface -> m
     boolean $assertionsDisabled -> n
     1:1:void <clinit>():26:26 -> <clinit>
@@ -46943,7 +47030,7 @@
     1:1:com.android.tools.r8.ir.code.Invoke$Type getType():52:52 -> o2
     1:1:java.lang.String getTypeString():57:57 -> p2
     1:1:boolean getInterfaceBit():37:37 -> s2
-com.android.tools.r8.ir.code.InvokeVirtual -> com.android.tools.r8.internal.Su:
+com.android.tools.r8.ir.code.InvokeVirtual -> com.android.tools.r8.internal.Uu:
     boolean $assertionsDisabled -> m
     int $r8$clinit -> n
     1:1:void <clinit>():30:30 -> <clinit>
@@ -46972,7 +47059,7 @@
     1:1:com.android.tools.r8.ir.code.Invoke$Type getType():57:57 -> o2
     1:1:java.lang.String getTypeString():62:62 -> p2
     boolean getInterfaceBit() -> s2
-com.android.tools.r8.ir.code.InvokeVirtual$Builder -> com.android.tools.r8.internal.Ru:
+com.android.tools.r8.ir.code.InvokeVirtual$Builder -> com.android.tools.r8.internal.Tu:
     1:1:void <init>():174:174 -> <init>
     com.android.tools.r8.ir.code.Instruction$BuilderBase self() -> a
     1:3:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setArguments(java.util.List):283:285 -> a
@@ -46982,7 +47069,7 @@
     4:5:com.android.tools.r8.ir.code.InvokeMethod$Builder setMethod(com.android.tools.r8.graph.DexMethod):0 -> a
       # {"id":"com.android.tools.r8.synthesized"}
     1:1:com.android.tools.r8.ir.code.InvokeVirtual build():178:178 -> b
-com.android.tools.r8.ir.code.JumpInstruction -> com.android.tools.r8.internal.aw:
+com.android.tools.r8.ir.code.JumpInstruction -> com.android.tools.r8.internal.cw:
     boolean $assertionsDisabled -> i
     1:1:void <clinit>():13:13 -> <clinit>
     1:1:void <init>():16:16 -> <init>
@@ -46997,13 +47084,13 @@
     boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
     com.android.tools.r8.ir.code.JumpInstruction asJumpInstruction() -> f0
     com.android.tools.r8.ir.code.BasicBlock fallthroughBlock() -> l2
-com.android.tools.r8.ir.code.LazyDominatorTree -> com.android.tools.r8.internal.hB:
+com.android.tools.r8.ir.code.LazyDominatorTree -> com.android.tools.r8.internal.jB:
     com.android.tools.r8.ir.code.IRCode code -> b
     1:2:void <init>(com.android.tools.r8.ir.code.IRCode):13:14 -> <init>
     1:1:java.lang.Object get():9:9 -> b
     1:1:com.android.tools.r8.ir.code.DominatorTree get():19:19 -> d
     1:1:com.android.tools.r8.ir.code.DominatorTree lambda$get$0():19:19 -> e
-com.android.tools.r8.ir.code.LinearFlowInstructionListIterator -> com.android.tools.r8.internal.ZB:
+com.android.tools.r8.ir.code.LinearFlowInstructionListIterator -> com.android.tools.r8.internal.eC:
     java.util.Set seenBlocks -> e
     boolean $assertionsDisabled -> f
     com.android.tools.r8.ir.code.IRCode code -> b
@@ -47055,7 +47142,7 @@
     1:1:void set(java.lang.Object):22:22 -> set
     2:2:void com.android.tools.r8.ir.code.LinearFlowInstructionListIterator.set(com.android.tools.r8.ir.code.Instruction):272:272 -> set
     2:2:void set(java.lang.Object):22 -> set
-com.android.tools.r8.ir.code.Load -> com.android.tools.r8.internal.vC:
+com.android.tools.r8.ir.code.Load -> com.android.tools.r8.internal.AC:
     1:1:void <init>(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.Value):23:23 -> <init>
     boolean hasInvariantOutType() -> V0
     java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
@@ -47075,7 +47162,7 @@
     1:1:int maxOutValueRegister():62:62 -> h2
     int opcode() -> i2
     1:1:com.android.tools.r8.ir.code.Value src():37:37 -> l2
-com.android.tools.r8.ir.code.LogicalBinop -> com.android.tools.r8.internal.JC:
+com.android.tools.r8.ir.code.LogicalBinop -> com.android.tools.r8.internal.OC:
     boolean $assertionsDisabled -> j
     1:1:void <clinit>():17:17 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):20:20 -> <init>
@@ -47120,10 +47207,10 @@
     1:5:boolean needsValueInRegister(com.android.tools.r8.ir.code.Value):44:48 -> d
     com.android.tools.r8.ir.code.LogicalBinop asLogicalBinop() -> h0
     com.android.tools.r8.cf.code.CfLogicalBinop$Opcode getCfOpcode() -> q2
-com.android.tools.r8.ir.code.LogicalBinop$1 -> com.android.tools.r8.internal.IC:
+com.android.tools.r8.ir.code.LogicalBinop$1 -> com.android.tools.r8.internal.NC:
     int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> a
     1:1:void <clinit>():65:65 -> <clinit>
-com.android.tools.r8.ir.code.MemberType -> com.android.tools.r8.internal.gE:
+com.android.tools.r8.ir.code.MemberType -> com.android.tools.r8.internal.lE:
     com.android.tools.r8.ir.code.MemberType BOOLEAN_OR_BYTE -> c
     com.android.tools.r8.ir.code.MemberType OBJECT -> b
     com.android.tools.r8.ir.code.MemberType SHORT -> e
@@ -47155,17 +47242,17 @@
     28:28:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.code.MemberType.fromTypeDescriptorChar(char):82:82 -> a
     28:28:com.android.tools.r8.ir.code.MemberType fromDexType(com.android.tools.r8.graph.DexType):103 -> a
     1:1:com.android.tools.r8.ir.code.MemberType[] values():11:11 -> b
-com.android.tools.r8.ir.code.Monitor -> com.android.tools.r8.internal.KF:
+com.android.tools.r8.ir.code.Monitor -> com.android.tools.r8.internal.PF:
     boolean $assertionsDisabled -> j
     com.android.tools.r8.ir.code.Monitor$Type type -> i
     1:1:void <clinit>():21:21 -> <clinit>
     1:2:void <init>(com.android.tools.r8.ir.code.Monitor$Type,com.android.tools.r8.ir.code.Value):30:31 -> <init>
     1:7:java.lang.String getInstructionName():118:124 -> N0
     8:8:java.lang.String getInstructionName():0:0 -> N0
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":137,"2":138,"3":139}}
-    137:137:java.lang.String getInstructionName():124:124 -> N0
-    138:138:java.lang.String getInstructionName():124:124 -> N0
-    139:139:java.lang.String getInstructionName():124:124 -> N0
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":134,"2":135,"3":136}}
+    134:134:java.lang.String getInstructionName():124:124 -> N0
+    135:135:java.lang.String getInstructionName():124:124 -> N0
+    136:136:java.lang.String getInstructionName():124:124 -> N0
     132:132:java.lang.String getInstructionName():124:124 -> N0
     133:133:java.lang.String getInstructionName():120:120 -> N0
     1:1:com.android.tools.r8.ir.code.Value getNonNullInput():155:155 -> O0
@@ -47191,10 +47278,10 @@
     int opcode() -> i2
     boolean throwsOnNullInput() -> k2
     1:1:boolean isEnter():49:49 -> l2
-com.android.tools.r8.ir.code.Monitor$1 -> com.android.tools.r8.internal.IF:
+com.android.tools.r8.ir.code.Monitor$1 -> com.android.tools.r8.internal.NF:
     int[] $SwitchMap$com$android$tools$r8$ir$code$Monitor$Type -> a
     1:1:void <clinit>():118:118 -> <clinit>
-com.android.tools.r8.ir.code.Monitor$Type -> com.android.tools.r8.internal.JF:
+com.android.tools.r8.ir.code.Monitor$Type -> com.android.tools.r8.internal.OF:
     com.android.tools.r8.ir.code.Monitor$Type[] $VALUES -> d
     com.android.tools.r8.ir.code.Monitor$Type ENTER -> b
     com.android.tools.r8.ir.code.Monitor$Type EXIT -> c
@@ -47202,7 +47289,7 @@
     2:2:void <clinit>():23:23 -> <clinit>
     1:1:void <init>(java.lang.String,int):23:23 -> <init>
     1:1:com.android.tools.r8.ir.code.Monitor$Type[] values():23:23 -> a
-com.android.tools.r8.ir.code.Move -> com.android.tools.r8.internal.LF:
+com.android.tools.r8.ir.code.Move -> com.android.tools.r8.internal.QF:
     boolean $assertionsDisabled -> i
     1:1:void <clinit>():19:19 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):24:24 -> <init>
@@ -47231,7 +47318,7 @@
     1:1:com.android.tools.r8.ir.code.Value dest():38:38 -> l2
     1:1:com.android.tools.r8.ir.code.Value src():42:42 -> m2
     1:1:java.lang.String toString():77:77 -> toString
-com.android.tools.r8.ir.code.MoveException -> com.android.tools.r8.internal.NF:
+com.android.tools.r8.ir.code.MoveException -> com.android.tools.r8.internal.SF:
     com.android.tools.r8.graph.DexType exceptionType -> i
     boolean $assertionsDisabled -> k
     com.android.tools.r8.utils.InternalOptions options -> j
@@ -47263,7 +47350,7 @@
     int opcode() -> i2
     com.android.tools.r8.ir.code.MoveException asMoveException() -> k0
     1:1:com.android.tools.r8.graph.DexType getExceptionType():126:126 -> l2
-com.android.tools.r8.ir.code.Mul -> com.android.tools.r8.internal.PF:
+com.android.tools.r8.ir.code.Mul -> com.android.tools.r8.internal.UF:
     1:1:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):22:22 -> <init>
     java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
     double foldDouble(double,double) -> a
@@ -47288,7 +47375,7 @@
     com.android.tools.r8.ir.code.Mul asMul() -> l0
     boolean isCommutative() -> m2
     1:1:com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode getCfOpcode():139:139 -> q2
-com.android.tools.r8.ir.code.Neg -> com.android.tools.r8.internal.DG:
+com.android.tools.r8.ir.code.Neg -> com.android.tools.r8.internal.IG:
     com.android.tools.r8.ir.code.NumericType type -> i
     boolean $assertionsDisabled -> j
     1:1:void <clinit>():21:21 -> <clinit>
@@ -47318,10 +47405,10 @@
     3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):49:49 -> b
     int opcode() -> i2
     com.android.tools.r8.ir.code.Neg asNeg() -> m0
-com.android.tools.r8.ir.code.Neg$1 -> com.android.tools.r8.internal.CG:
+com.android.tools.r8.ir.code.Neg$1 -> com.android.tools.r8.internal.HG:
     int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> a
     1:1:void <clinit>():57:57 -> <clinit>
-com.android.tools.r8.ir.code.NewArrayEmpty -> com.android.tools.r8.internal.NG:
+com.android.tools.r8.ir.code.NewArrayEmpty -> com.android.tools.r8.internal.SG:
     com.android.tools.r8.graph.DexType type -> i
     boolean $assertionsDisabled -> j
     1:1:void <clinit>():26:26 -> <clinit>
@@ -47360,7 +47447,7 @@
     1:1:com.android.tools.r8.ir.code.Value size():55:55 -> l2
     com.android.tools.r8.ir.code.NewArrayEmpty asNewArrayEmpty() -> n0
     1:1:java.lang.String toString():47:47 -> toString
-com.android.tools.r8.ir.code.NewArrayFilledData -> com.android.tools.r8.internal.OG:
+com.android.tools.r8.ir.code.NewArrayFilledData -> com.android.tools.r8.internal.TG:
     long size -> j
     short[] data -> k
     int element_width -> i
@@ -47401,7 +47488,7 @@
     int opcode() -> i2
     1:1:com.android.tools.r8.ir.code.Value src():50:50 -> l2
     com.android.tools.r8.ir.code.NewArrayFilledData asNewArrayFilledData() -> o0
-com.android.tools.r8.ir.code.NewInstance -> com.android.tools.r8.internal.PG:
+com.android.tools.r8.ir.code.NewInstance -> com.android.tools.r8.internal.UG:
     com.android.tools.r8.graph.DexType clazz -> i
     boolean allowSpilling -> j
     boolean $assertionsDisabled -> k
@@ -47438,7 +47525,7 @@
     1:1:void markNoSpilling():203:203 -> o2
     com.android.tools.r8.ir.code.NewInstance asNewInstance() -> p0
     1:1:java.lang.String toString():71:71 -> toString
-com.android.tools.r8.ir.code.NewUnboxedEnumInstance -> com.android.tools.r8.internal.QG:
+com.android.tools.r8.ir.code.NewUnboxedEnumInstance -> com.android.tools.r8.internal.VG:
     com.android.tools.r8.graph.DexType clazz -> i
     int ordinal -> j
     boolean $assertionsDisabled -> k
@@ -47466,9 +47553,9 @@
     1:1:int getOrdinal():55:55 -> l2
     com.android.tools.r8.ir.code.NewUnboxedEnumInstance asNewUnboxedEnumInstance() -> q0
     1:1:java.lang.String toString():80:80 -> toString
-com.android.tools.r8.ir.code.NextUntilIterator -> com.android.tools.r8.internal.RG:
+com.android.tools.r8.ir.code.NextUntilIterator -> com.android.tools.r8.internal.WG:
     1:3:java.lang.Object nextUntil(java.util.function.Predicate):19:21 -> a
-com.android.tools.r8.ir.code.Not -> com.android.tools.r8.internal.PH:
+com.android.tools.r8.ir.code.Not -> com.android.tools.r8.internal.UH:
     com.android.tools.r8.ir.code.NumericType type -> i
     boolean $assertionsDisabled -> j
     1:1:void <clinit>():19:19 -> <clinit>
@@ -47497,10 +47584,10 @@
     3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):83:83 -> b
     int opcode() -> i2
     com.android.tools.r8.ir.code.Not asNot() -> r0
-com.android.tools.r8.ir.code.Not$1 -> com.android.tools.r8.internal.OH:
+com.android.tools.r8.ir.code.Not$1 -> com.android.tools.r8.internal.TH:
     int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> a
     1:1:void <clinit>():68:68 -> <clinit>
-com.android.tools.r8.ir.code.NumberConversion -> com.android.tools.r8.internal.YH:
+com.android.tools.r8.ir.code.NumberConversion -> com.android.tools.r8.internal.dI:
     com.android.tools.r8.ir.code.NumericType to -> j
     com.android.tools.r8.ir.code.NumericType from -> i
     1:3:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):36:38 -> <init>
@@ -47560,15 +47647,15 @@
     1:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):138:142 -> b
     int opcode() -> i2
     com.android.tools.r8.ir.code.NumberConversion asNumberConversion() -> s0
-com.android.tools.r8.ir.code.NumberConversion$1 -> com.android.tools.r8.internal.XH:
+com.android.tools.r8.ir.code.NumberConversion$1 -> com.android.tools.r8.internal.cI:
     int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> a
     1:1:void <clinit>():62:62 -> <clinit>
-com.android.tools.r8.ir.code.NumberGenerator -> com.android.tools.r8.internal.dI:
+com.android.tools.r8.ir.code.NumberGenerator -> com.android.tools.r8.internal.iI:
     int nextValueNumber -> a
     1:2:void <init>():6:7 -> <init>
     1:1:int next():10:10 -> a
     1:1:int peek():14:14 -> b
-com.android.tools.r8.ir.code.NumericType -> com.android.tools.r8.internal.iI:
+com.android.tools.r8.ir.code.NumericType -> com.android.tools.r8.internal.nI:
     com.android.tools.r8.ir.code.NumericType DOUBLE -> h
     com.android.tools.r8.ir.code.NumericType FLOAT -> g
     com.android.tools.r8.ir.code.NumericType LONG -> f
@@ -47595,10 +47682,10 @@
     53:59:com.android.tools.r8.ir.code.NumericType fromDexType(com.android.tools.r8.graph.DexType):45:51 -> a
     60:60:boolean isWide():62:62 -> a
     1:1:com.android.tools.r8.ir.code.NumericType[] values():10:10 -> b
-com.android.tools.r8.ir.code.NumericType$1 -> com.android.tools.r8.internal.hI:
+com.android.tools.r8.ir.code.NumericType$1 -> com.android.tools.r8.internal.mI:
     int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> a
     1:1:void <clinit>():20:20 -> <clinit>
-com.android.tools.r8.ir.code.Or -> com.android.tools.r8.internal.dL:
+com.android.tools.r8.ir.code.Or -> com.android.tools.r8.internal.iL:
     1:1:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):18:18 -> <init>
     java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
     int foldIntegers(int,int) -> a
@@ -47618,7 +47705,7 @@
     boolean isCommutative() -> m2
     1:1:com.android.tools.r8.cf.code.CfLogicalBinop$Opcode getCfOpcode():93:93 -> q2
     com.android.tools.r8.ir.code.Or asOr() -> t0
-com.android.tools.r8.ir.code.Phi -> com.android.tools.r8.internal.XL:
+com.android.tools.r8.ir.code.Phi -> com.android.tools.r8.internal.cM:
     com.android.tools.r8.ir.code.Phi$RegisterReadType readType -> t
     java.util.List definitionUsers -> v
     java.util.List operands -> s
@@ -47738,18 +47825,18 @@
     6:6:void removeDeadPhi():324:324 -> k0
     1:1:boolean removeTrivialPhi():240:240 -> l0
     1:1:void setIsStackPhi(boolean):376:376 -> m0
-com.android.tools.r8.ir.code.Phi$RegisterReadType -> com.android.tools.r8.internal.XL$a:
+com.android.tools.r8.ir.code.Phi$RegisterReadType -> com.android.tools.r8.internal.cM$a:
     com.android.tools.r8.ir.code.Phi$RegisterReadType NORMAL -> b
     com.android.tools.r8.ir.code.Phi$RegisterReadType DEBUG -> c
     1:2:void <clinit>():39:40 -> <clinit>
     1:1:void <init>(java.lang.String,int):38:38 -> <init>
-com.android.tools.r8.ir.code.Phi$StackMapPhi -> com.android.tools.r8.internal.YL:
+com.android.tools.r8.ir.code.Phi$StackMapPhi -> com.android.tools.r8.internal.dM:
     boolean $assertionsDisabled -> x
     1:1:void <clinit>():455:455 -> <clinit>
     1:1:void <init>(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.ir.code.Phi$RegisterReadType):463:463 -> <init>
     1:8:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):468:475 -> a
     1:10:com.android.tools.r8.ir.analysis.type.TypeElement computePhiType(com.android.tools.r8.graph.AppView):481:490 -> c
-com.android.tools.r8.ir.code.Pop -> com.android.tools.r8.internal.jM:
+com.android.tools.r8.ir.code.Pop -> com.android.tools.r8.internal.oM:
     boolean $assertionsDisabled -> i
     1:1:void <clinit>():17:17 -> <clinit>
     1:2:void <init>(com.android.tools.r8.ir.code.Value):20:21 -> <init>
@@ -47772,7 +47859,7 @@
     1:1:int maxInValueRegister():61:61 -> g2
     1:1:int maxOutValueRegister():66:66 -> h2
     int opcode() -> i2
-com.android.tools.r8.ir.code.Position -> com.android.tools.r8.internal.pM:
+com.android.tools.r8.ir.code.Position -> com.android.tools.r8.internal.uM:
     boolean removeInnerFramesIfThrowingNpe -> e
     boolean $assertionsDisabled -> f
     int line -> b
@@ -47817,8 +47904,8 @@
     1:1:com.android.tools.r8.ir.code.Position syntheticNone():116:116 -> s
     1:19:java.lang.String com.android.tools.r8.ir.code.Position.toString(boolean):173:191 -> toString
     1:19:java.lang.String toString():196 -> toString
-com.android.tools.r8.ir.code.Position$1 -> com.android.tools.r8.internal.kM:
-com.android.tools.r8.ir.code.Position$OutlineCallerPosition -> com.android.tools.r8.internal.mM:
+com.android.tools.r8.ir.code.Position$1 -> com.android.tools.r8.internal.pM:
+com.android.tools.r8.ir.code.Position$OutlineCallerPosition -> com.android.tools.r8.internal.rM:
     boolean isOutline -> i
     com.android.tools.r8.graph.DexMethod outlineCallee -> h
     com.android.tools.r8.utils.Int2StructuralItemArrayMap outlinePositions -> g
@@ -47835,7 +47922,7 @@
     1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():510:510 -> n
     1:1:boolean isOutline():495:495 -> o
     1:1:com.android.tools.r8.ir.code.Position$OutlineCallerPosition$OutlineCallerPositionBuilder builder():514:514 -> v
-com.android.tools.r8.ir.code.Position$OutlineCallerPosition$OutlineCallerPositionBuilder -> com.android.tools.r8.internal.lM:
+com.android.tools.r8.ir.code.Position$OutlineCallerPosition$OutlineCallerPositionBuilder -> com.android.tools.r8.internal.qM:
     boolean isOutline -> i
     boolean $assertionsDisabled -> j
     com.android.tools.r8.utils.Int2StructuralItemArrayMap$Builder outlinePositionsBuilder -> g
@@ -47851,7 +47938,7 @@
     com.android.tools.r8.ir.code.Position$PositionBuilder self() -> c
     1:8:com.android.tools.r8.ir.code.Position$OutlineCallerPosition build():553:560 -> e
     1:1:boolean hasOutlinePositions():548:548 -> f
-com.android.tools.r8.ir.code.Position$OutlinePosition -> com.android.tools.r8.internal.oM:
+com.android.tools.r8.ir.code.Position$OutlinePosition -> com.android.tools.r8.internal.tM:
     1:1:void <init>(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position,boolean,com.android.tools.r8.ir.code.Position$1):392:392 -> <init>
     2:2:void <init>(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position,boolean):399:399 -> <init>
     com.android.tools.r8.utils.structural.StructuralItem self() -> L
@@ -47860,13 +47947,13 @@
     1:1:void lambda$getStructuralMapping$0(com.android.tools.r8.utils.structural.StructuralSpecification):419:419 -> c
     1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():419:419 -> n
     1:1:com.android.tools.r8.ir.code.Position$OutlinePosition$OutlinePositionBuilder builder():423:423 -> v
-com.android.tools.r8.ir.code.Position$OutlinePosition$OutlinePositionBuilder -> com.android.tools.r8.internal.nM:
+com.android.tools.r8.ir.code.Position$OutlinePosition$OutlinePositionBuilder -> com.android.tools.r8.internal.sM:
     1:1:void <init>(com.android.tools.r8.ir.code.Position$1):426:426 -> <init>
     2:2:void <init>():429:429 -> <init>
     1:1:com.android.tools.r8.ir.code.Position build():426:426 -> a
     com.android.tools.r8.ir.code.Position$PositionBuilder self() -> c
     1:1:com.android.tools.r8.ir.code.Position$OutlinePosition build():438:438 -> e
-com.android.tools.r8.ir.code.Position$PositionBuilder -> com.android.tools.r8.internal.pM$a:
+com.android.tools.r8.ir.code.Position$PositionBuilder -> com.android.tools.r8.internal.uM$a:
     boolean noCheckOfPosition -> e
     boolean noCheckOfMethod -> f
     com.android.tools.r8.graph.DexMethod method -> b
@@ -47881,7 +47968,7 @@
     1:2:com.android.tools.r8.ir.code.Position$PositionBuilder disableMethodCheck():244:245 -> b
     com.android.tools.r8.ir.code.Position$PositionBuilder self() -> c
     1:2:com.android.tools.r8.ir.code.Position$PositionBuilder setRemoveInnerFramesIfThrowingNpe(boolean):234:235 -> d
-com.android.tools.r8.ir.code.Position$SourcePosition -> com.android.tools.r8.internal.pM$b:
+com.android.tools.r8.ir.code.Position$SourcePosition -> com.android.tools.r8.internal.uM$b:
     boolean $assertionsDisabled -> i
     com.android.tools.r8.graph.DexString file -> g
     com.android.tools.r8.ir.code.Position$SourcePosition NO_POSITION -> h
@@ -47898,7 +47985,7 @@
     1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():301:301 -> n
     1:1:com.android.tools.r8.ir.code.Position$SourcePosition access$000():251:251 -> v
     1:1:com.android.tools.r8.ir.code.Position$SourcePosition$SourcePositionBuilder builder():305:305 -> w
-com.android.tools.r8.ir.code.Position$SourcePosition$SourcePositionBuilder -> com.android.tools.r8.internal.pM$b$a:
+com.android.tools.r8.ir.code.Position$SourcePosition$SourcePositionBuilder -> com.android.tools.r8.internal.uM$b$a:
     com.android.tools.r8.graph.DexString file -> g
     boolean $assertionsDisabled -> h
     1:1:void <clinit>():308:308 -> <clinit>
@@ -47907,7 +47994,7 @@
     2:2:com.android.tools.r8.ir.code.Position$SourcePosition$SourcePositionBuilder setFile(com.android.tools.r8.graph.DexString):319:319 -> a
     com.android.tools.r8.ir.code.Position$PositionBuilder self() -> c
     1:3:com.android.tools.r8.ir.code.Position$SourcePosition build():325:327 -> e
-com.android.tools.r8.ir.code.Position$SyntheticPosition -> com.android.tools.r8.internal.pM$c:
+com.android.tools.r8.ir.code.Position$SyntheticPosition -> com.android.tools.r8.internal.uM$c:
     com.android.tools.r8.ir.code.Position NO_POSITION_SYNTHETIC -> g
     1:1:void <clinit>():338:338 -> <clinit>
     1:1:void <init>(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position,boolean,com.android.tools.r8.ir.code.Position$1):333:333 -> <init>
@@ -47919,7 +48006,7 @@
     1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():366:366 -> n
     1:1:com.android.tools.r8.ir.code.Position access$100():333:333 -> v
     1:1:com.android.tools.r8.ir.code.Position$SyntheticPosition$SyntheticPositionBuilder builder():370:370 -> w
-com.android.tools.r8.ir.code.Position$SyntheticPosition$SyntheticPositionBuilder -> com.android.tools.r8.internal.pM$c$a:
+com.android.tools.r8.ir.code.Position$SyntheticPosition$SyntheticPositionBuilder -> com.android.tools.r8.internal.uM$c$a:
     boolean $assertionsDisabled -> g
     1:1:void <clinit>():373:373 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.code.Position$1):373:373 -> <init>
@@ -47927,9 +48014,9 @@
     1:1:com.android.tools.r8.ir.code.Position build():373:373 -> a
     com.android.tools.r8.ir.code.Position$PositionBuilder self() -> c
     1:3:com.android.tools.r8.ir.code.Position$SyntheticPosition build():385:387 -> e
-com.android.tools.r8.ir.code.PreviousUntilIterator -> com.android.tools.r8.internal.YM:
+com.android.tools.r8.ir.code.PreviousUntilIterator -> com.android.tools.r8.internal.dN:
     1:3:java.lang.Object previousUntil(java.util.function.Predicate):18:20 -> b
-com.android.tools.r8.ir.code.RecordFieldValues -> com.android.tools.r8.internal.GQ:
+com.android.tools.r8.ir.code.RecordFieldValues -> com.android.tools.r8.internal.LQ:
     com.android.tools.r8.graph.DexField[] fields -> i
     1:2:void <init>(com.android.tools.r8.graph.DexField[],com.android.tools.r8.ir.code.Value,java.util.List):28:29 -> <init>
     boolean hasInvariantOutType() -> V0
@@ -47959,7 +48046,7 @@
     int opcode() -> i2
     1:1:com.android.tools.r8.graph.DexField[] getFields():33:33 -> l2
     com.android.tools.r8.ir.code.RecordFieldValues asRecordFieldValues() -> u0
-com.android.tools.r8.ir.code.Rem -> com.android.tools.r8.internal.SS:
+com.android.tools.r8.ir.code.Rem -> com.android.tools.r8.internal.XS:
     1:1:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):24:24 -> <init>
     java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
     double foldDouble(double,double) -> a
@@ -47989,7 +48076,7 @@
     boolean isCommutative() -> m2
     1:1:com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode getCfOpcode():148:148 -> q2
     com.android.tools.r8.ir.code.Rem asRem() -> v0
-com.android.tools.r8.ir.code.Return -> com.android.tools.r8.internal.pU:
+com.android.tools.r8.ir.code.Return -> com.android.tools.r8.internal.uU:
     boolean $assertionsDisabled -> j
     int $r8$clinit -> k
     1:1:void <clinit>():21:21 -> <clinit>
@@ -48034,20 +48121,20 @@
     1:1:boolean isReturnVoid():46:46 -> m2
     1:2:com.android.tools.r8.ir.code.Value returnValue():59:60 -> n2
     com.android.tools.r8.ir.code.Return asReturn() -> w0
-com.android.tools.r8.ir.code.Return$Builder -> com.android.tools.r8.internal.oU:
+com.android.tools.r8.ir.code.Return$Builder -> com.android.tools.r8.internal.tU:
     1:1:void <init>():138:138 -> <init>
     com.android.tools.r8.ir.code.Instruction$BuilderBase self() -> a
     1:1:com.android.tools.r8.ir.code.Return build():142:142 -> b
-com.android.tools.r8.ir.code.SafeCheckCast -> com.android.tools.r8.internal.JU:
+com.android.tools.r8.ir.code.SafeCheckCast -> com.android.tools.r8.internal.OU:
     int $r8$clinit -> m
     1:1:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):16:16 -> <init>
     1:1:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):25:25 -> a
     boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> b
     1:1:com.android.tools.r8.code.CheckCast createCheckCast(int):30:30 -> c
-com.android.tools.r8.ir.code.SafeCheckCast$Builder -> com.android.tools.r8.internal.IU:
+com.android.tools.r8.ir.code.SafeCheckCast$Builder -> com.android.tools.r8.internal.NU:
     1:1:void <init>():38:38 -> <init>
     1:1:com.android.tools.r8.ir.code.CheckCast build():42:42 -> b
-com.android.tools.r8.ir.code.Shl -> com.android.tools.r8.internal.lV:
+com.android.tools.r8.ir.code.Shl -> com.android.tools.r8.internal.qV:
     1:1:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):17:17 -> <init>
     java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
     int foldIntegers(int,int) -> a
@@ -48068,7 +48155,7 @@
     boolean isCommutative() -> m2
     1:1:com.android.tools.r8.cf.code.CfLogicalBinop$Opcode getCfOpcode():98:98 -> q2
     com.android.tools.r8.ir.code.Shl asShl() -> x0
-com.android.tools.r8.ir.code.Shr -> com.android.tools.r8.internal.nV:
+com.android.tools.r8.ir.code.Shr -> com.android.tools.r8.internal.sV:
     1:1:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):17:17 -> <init>
     java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
     int foldIntegers(int,int) -> a
@@ -48089,9 +48176,9 @@
     boolean isCommutative() -> m2
     1:1:com.android.tools.r8.cf.code.CfLogicalBinop$Opcode getCfOpcode():98:98 -> q2
     com.android.tools.r8.ir.code.Shr asShr() -> y0
-com.android.tools.r8.ir.code.SingleConstant -> com.android.tools.r8.internal.DV:
+com.android.tools.r8.ir.code.SingleConstant -> com.android.tools.r8.internal.IV:
     int decodedValue() -> a
-com.android.tools.r8.ir.code.StackValue -> com.android.tools.r8.internal.KW:
+com.android.tools.r8.ir.code.StackValue -> com.android.tools.r8.internal.PW:
     int height -> r
     com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo typeInfo -> s
     boolean $assertionsDisabled -> t
@@ -48109,7 +48196,7 @@
     62:62:java.lang.String toString():59:59 -> toString
     63:63:java.lang.String toString():59:59 -> toString
     60:60:java.lang.String toString():59:59 -> toString
-com.android.tools.r8.ir.code.StackValues -> com.android.tools.r8.internal.LW:
+com.android.tools.r8.ir.code.StackValues -> com.android.tools.r8.internal.QW:
     com.android.tools.r8.ir.code.StackValue[] stackValues -> r
     boolean $assertionsDisabled -> s
     1:1:void <clinit>():14:14 -> <clinit>
@@ -48120,7 +48207,7 @@
     1:1:com.android.tools.r8.ir.code.StackValue[] getStackValues():25:25 -> g0
     1:10:java.lang.String toString():40:49 -> toString
     1:1:com.android.tools.r8.ir.analysis.type.TypeElement getType():59:59 -> v
-com.android.tools.r8.ir.code.StaticGet -> com.android.tools.r8.internal.bX:
+com.android.tools.r8.ir.code.StaticGet -> com.android.tools.r8.internal.gX:
     int $r8$clinit -> l
     boolean $assertionsDisabled -> k
     1:1:void <clinit>():35:35 -> <clinit>
@@ -48179,13 +48266,13 @@
     1:1:com.android.tools.r8.ir.code.Value value():72:72 -> value
     boolean isFieldGet() -> y1
     com.android.tools.r8.ir.code.StaticGet asStaticGet() -> z0
-com.android.tools.r8.ir.code.StaticGet$Builder -> com.android.tools.r8.internal.aX:
+com.android.tools.r8.ir.code.StaticGet$Builder -> com.android.tools.r8.internal.fX:
     com.android.tools.r8.graph.DexField field -> c
     1:1:void <init>():260:260 -> <init>
     com.android.tools.r8.ir.code.Instruction$BuilderBase self() -> a
     1:1:com.android.tools.r8.ir.code.StaticGet$Builder setField(com.android.tools.r8.graph.DexField):269:269 -> a
     1:1:com.android.tools.r8.ir.code.StaticGet build():275:275 -> b
-com.android.tools.r8.ir.code.StaticPut -> com.android.tools.r8.internal.dX:
+com.android.tools.r8.ir.code.StaticPut -> com.android.tools.r8.internal.iX:
     boolean $assertionsDisabled -> k
     1:1:void <clinit>():33:33 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexField):36:36 -> <init>
@@ -48235,7 +48322,7 @@
     int opcode() -> i2
     1:1:java.lang.String toString():189:189 -> toString
     1:2:com.android.tools.r8.ir.code.Value value():56:57 -> value
-com.android.tools.r8.ir.code.Store -> com.android.tools.r8.internal.fX:
+com.android.tools.r8.ir.code.Store -> com.android.tools.r8.internal.kX:
     boolean $assertionsDisabled -> i
     1:1:void <clinit>():22:22 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.StackValue):25:25 -> <init>
@@ -48259,7 +48346,7 @@
     int maxOutValueRegister() -> h2
     int opcode() -> i2
     1:1:com.android.tools.r8.ir.code.Value src():39:39 -> l2
-com.android.tools.r8.ir.code.StringSwitch -> com.android.tools.r8.internal.EX:
+com.android.tools.r8.ir.code.StringSwitch -> com.android.tools.r8.internal.JX:
     boolean $assertionsDisabled -> n
     com.android.tools.r8.graph.DexString[] keys -> m
     1:1:void <clinit>():17:17 -> <clinit>
@@ -48284,7 +48371,7 @@
     5:5:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.code.StringSwitch.getKey(int):80:80 -> toString
     5:5:java.lang.String toString():89 -> toString
     6:11:java.lang.String toString():89:94 -> toString
-com.android.tools.r8.ir.code.Sub -> com.android.tools.r8.internal.iY:
+com.android.tools.r8.ir.code.Sub -> com.android.tools.r8.internal.nY:
     boolean $assertionsDisabled -> k
     1:1:void <clinit>():24:24 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):27:27 -> <init>
@@ -48327,7 +48414,7 @@
     7:9:int maxInOutValueRegisterSize():136 -> o2
     10:12:int maxInOutValueRegisterSize():136:138 -> o2
     1:1:com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode getCfOpcode():217:217 -> q2
-com.android.tools.r8.ir.code.Swap -> com.android.tools.r8.internal.tY:
+com.android.tools.r8.ir.code.Swap -> com.android.tools.r8.internal.yY:
     boolean $assertionsDisabled -> i
     1:1:void <clinit>():19:19 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):22:22 -> <init>
@@ -48347,7 +48434,7 @@
     int maxInValueRegister() -> g2
     1:1:int maxOutValueRegister():85:85 -> h2
     int opcode() -> i2
-com.android.tools.r8.ir.code.Switch -> com.android.tools.r8.internal.uY:
+com.android.tools.r8.ir.code.Switch -> com.android.tools.r8.internal.zY:
     int fallthroughBlockIndex -> k
     boolean $assertionsDisabled -> l
     int[] targetBlockIndices -> j
@@ -48373,7 +48460,7 @@
     4:4:boolean valid():29 -> p2
     5:5:boolean valid():29:29 -> p2
     1:1:com.android.tools.r8.ir.code.Value value():24:24 -> value
-com.android.tools.r8.ir.code.Throw -> com.android.tools.r8.internal.YY:
+com.android.tools.r8.ir.code.Throw -> com.android.tools.r8.internal.dZ:
     boolean $assertionsDisabled -> j
     1:1:void <clinit>():17:17 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.code.Value):20:20 -> <init>
@@ -48395,17 +48482,17 @@
     1:1:int maxOutValueRegister():49:49 -> h2
     int opcode() -> i2
     1:1:com.android.tools.r8.ir.code.Value exception():34:34 -> m2
-com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier -> com.android.tools.r8.internal.S00:
+com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier -> com.android.tools.r8.internal.Y00:
     1:1:com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier create(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DebugLocalInfo):16:16 -> a
     com.android.tools.r8.ir.analysis.type.TypeElement getOutType() -> c
     com.android.tools.r8.graph.DebugLocalInfo getLocalInfo() -> i
-com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier$1 -> com.android.tools.r8.internal.R00:
+com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier$1 -> com.android.tools.r8.internal.X00:
     com.android.tools.r8.ir.analysis.type.TypeElement val$type -> c
     com.android.tools.r8.graph.DebugLocalInfo val$local -> b
     1:1:void <init>(com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.ir.analysis.type.TypeElement):16:16 -> <init>
     1:1:com.android.tools.r8.ir.analysis.type.TypeElement getOutType():25:25 -> c
     1:1:com.android.tools.r8.graph.DebugLocalInfo getLocalInfo():20:20 -> i
-com.android.tools.r8.ir.code.UninitializedThisLocalRead -> com.android.tools.r8.internal.o10:
+com.android.tools.r8.ir.code.UninitializedThisLocalRead -> com.android.tools.r8.internal.u10:
     1:1:void <init>(com.android.tools.r8.ir.code.Value):29:29 -> <init>
     boolean hasInvariantOutType() -> V0
     void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper) -> a
@@ -48419,7 +48506,7 @@
     int maxInValueRegister() -> g2
     int maxOutValueRegister() -> h2
     int opcode() -> i2
-com.android.tools.r8.ir.code.Unop -> com.android.tools.r8.internal.D10:
+com.android.tools.r8.ir.code.Unop -> com.android.tools.r8.internal.J10:
     1:1:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):17:17 -> <init>
     boolean hasInvariantOutType() -> V0
     1:2:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):56:57 -> a
@@ -48431,7 +48518,7 @@
     int maxInValueRegister() -> g2
     int maxOutValueRegister() -> h2
     1:1:com.android.tools.r8.ir.code.Value source():25:25 -> l2
-com.android.tools.r8.ir.code.Ushr -> com.android.tools.r8.internal.R10:
+com.android.tools.r8.ir.code.Ushr -> com.android.tools.r8.internal.X10:
     1:1:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):17:17 -> <init>
     com.android.tools.r8.ir.code.Ushr asUshr() -> G0
     java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
@@ -48452,7 +48539,7 @@
     int opcode() -> i2
     boolean isCommutative() -> m2
     1:1:com.android.tools.r8.cf.code.CfLogicalBinop$Opcode getCfOpcode():98:98 -> q2
-com.android.tools.r8.ir.code.Value -> com.android.tools.r8.internal.b20:
+com.android.tools.r8.ir.code.Value -> com.android.tools.r8.internal.h20:
     com.android.tools.r8.ir.regalloc.LiveIntervals liveIntervals -> j
     com.android.tools.r8.ir.analysis.type.TypeElement type -> o
     int needsRegister -> k
@@ -48698,14 +48785,14 @@
     1:1:boolean hasAnyUsers():406:406 -> x
     1:1:boolean hasDebugUsers():410:410 -> y
     1:1:boolean hasLocalInfo():271:271 -> z
-com.android.tools.r8.ir.code.Value$DebugData -> com.android.tools.r8.internal.Z10:
+com.android.tools.r8.ir.code.Value$DebugData -> com.android.tools.r8.internal.f20:
     com.android.tools.r8.graph.DebugLocalInfo local -> a
     java.util.Set users -> b
     1:1:void <init>(com.android.tools.r8.graph.DebugLocalInfo):159:159 -> <init>
     2:5:void <init>(com.android.tools.r8.graph.DebugLocalInfo):157:160 -> <init>
-com.android.tools.r8.ir.code.ValueFactory -> com.android.tools.r8.internal.c20:
+com.android.tools.r8.ir.code.ValueFactory -> com.android.tools.r8.internal.i20:
     1:1:com.android.tools.r8.ir.code.Value createValue(com.android.tools.r8.ir.analysis.type.TypeElement):13:13 -> a
-com.android.tools.r8.ir.code.ValueType -> com.android.tools.r8.internal.j20:
+com.android.tools.r8.ir.code.ValueType -> com.android.tools.r8.internal.p20:
     com.android.tools.r8.ir.code.ValueType LONG -> e
     com.android.tools.r8.ir.code.ValueType DOUBLE -> f
     com.android.tools.r8.ir.code.ValueType INT -> c
@@ -48757,14 +48844,14 @@
     15:15:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement toPrimitiveType():144:144 -> d
     1:1:com.android.tools.r8.ir.code.ValueType[] values():16:16 -> e
     1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():34:34 -> n
-com.android.tools.r8.ir.code.ValueType$1 -> com.android.tools.r8.internal.i20:
+com.android.tools.r8.ir.code.ValueType$1 -> com.android.tools.r8.internal.o20:
     int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> b
     int[] $SwitchMap$com$android$tools$r8$ir$code$ValueType -> c
     int[] $SwitchMap$com$android$tools$r8$ir$code$MemberType -> a
     1:1:void <clinit>():142:142 -> <clinit>
     2:2:void <clinit>():105:105 -> <clinit>
     3:3:void <clinit>():54:54 -> <clinit>
-com.android.tools.r8.ir.code.ValueTypeConstraint -> com.android.tools.r8.internal.l20:
+com.android.tools.r8.ir.code.ValueTypeConstraint -> com.android.tools.r8.internal.r20:
     com.android.tools.r8.ir.code.ValueTypeConstraint INT -> c
     com.android.tools.r8.ir.code.ValueTypeConstraint OBJECT -> b
     com.android.tools.r8.ir.code.ValueTypeConstraint LONG -> g
@@ -48825,7 +48912,7 @@
     78:80:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeLattice(com.android.tools.r8.ir.analysis.type.TypeElement):155:157 -> a
     81:81:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeLattice(com.android.tools.r8.ir.analysis.type.TypeElement):137:137 -> a
     1:1:com.android.tools.r8.ir.code.ValueTypeConstraint[] values():13:13 -> b
-com.android.tools.r8.ir.code.ValueTypeConstraint$1 -> com.android.tools.r8.internal.k20:
+com.android.tools.r8.ir.code.ValueTypeConstraint$1 -> com.android.tools.r8.internal.q20:
     int[] $SwitchMap$com$android$tools$r8$ir$code$MemberType -> b
     int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> c
     int[] $SwitchMap$com$android$tools$r8$ir$code$ValueTypeConstraint -> d
@@ -48834,9 +48921,9 @@
     2:2:void <clinit>():115:115 -> <clinit>
     3:3:void <clinit>():63:63 -> <clinit>
     4:4:void <clinit>():46:46 -> <clinit>
-com.android.tools.r8.ir.code.WideConstant -> com.android.tools.r8.internal.m30:
+com.android.tools.r8.ir.code.WideConstant -> com.android.tools.r8.internal.s30:
     long decodedValue() -> a
-com.android.tools.r8.ir.code.Xor -> com.android.tools.r8.internal.y40:
+com.android.tools.r8.ir.code.Xor -> com.android.tools.r8.internal.E40:
     1:1:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):18:18 -> <init>
     com.android.tools.r8.ir.code.Xor asXor() -> H0
     java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
@@ -48875,7 +48962,7 @@
     int element_width -> a
     1:1:void <init>():17:17 -> <init>
     2:2:void <init>(com.android.tools.r8.ir.conversion.ArrayFilledDataPayloadResolver$1):17:17 -> <init>
-com.android.tools.r8.ir.conversion.CfBuilder -> com.android.tools.r8.internal.G6:
+com.android.tools.r8.ir.conversion.CfBuilder -> com.android.tools.r8.internal.H6:
     com.android.tools.r8.ir.code.Position currentPosition -> h
     java.util.Map newInstanceLabels -> q
     java.util.List thisInitializers -> p
@@ -49124,15 +49211,15 @@
     458:458:int getLocalRegister(com.android.tools.r8.ir.code.Value):684:684 -> a
     459:459:void add(com.android.tools.r8.cf.code.CfInstruction):688:688 -> a
     1:1:com.android.tools.r8.cf.code.CfLabel lambda$getLabel$0(com.android.tools.r8.ir.code.BasicBlock):680:680 -> b
-com.android.tools.r8.ir.conversion.CfBuilder$1 -> com.android.tools.r8.internal.E6:
-com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker -> com.android.tools.r8.internal.F6:
+com.android.tools.r8.ir.conversion.CfBuilder$1 -> com.android.tools.r8.internal.F6:
+com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker -> com.android.tools.r8.internal.G6:
     int height -> b
     boolean $assertionsDisabled -> c
     int maxHeight -> a
     1:1:void <clinit>():106:106 -> <clinit>
     1:3:void <init>():106:108 -> <init>
     4:4:void <init>(com.android.tools.r8.ir.conversion.CfBuilder$1):106:106 -> <init>
-com.android.tools.r8.ir.conversion.CfSourceCode -> com.android.tools.r8.internal.z8:
+com.android.tools.r8.ir.conversion.CfSourceCode -> com.android.tools.r8.internal.A8:
     int currentInstructionIndex -> o
     com.android.tools.r8.graph.CfCode code -> h
     com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo currentBlockInfo -> a
@@ -49408,22 +49495,22 @@
     8:11:java.lang.Iterable lambda$getCanonicalDebugPositionAtOffset$2():875:878 -> h
     1:8:int[] getTargets(int):359:366 -> i
     9:9:int[] getTargets(int):0:0 -> i
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":396,"2":397,"3":398}}
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":395,"2":396,"3":397}}
+    395:395:int[] getTargets(int):366:366 -> i
     396:396:int[] getTargets(int):366:366 -> i
     397:397:int[] getTargets(int):366:366 -> i
-    398:398:int[] getTargets(int):366:366 -> i
     376:392:int[] getTargets(int):367:383 -> i
     393:394:int[] getTargets(int):363:364 -> i
-com.android.tools.r8.ir.conversion.CfSourceCode$1 -> com.android.tools.r8.internal.w8:
+com.android.tools.r8.ir.conversion.CfSourceCode$1 -> com.android.tools.r8.internal.x8:
     int[] $SwitchMap$com$android$tools$r8$ir$code$ValueType -> a
     1:1:void <clinit>():806:806 -> <clinit>
-com.android.tools.r8.ir.conversion.CfSourceCode$LocalVariableList -> com.android.tools.r8.internal.x8:
+com.android.tools.r8.ir.conversion.CfSourceCode$LocalVariableList -> com.android.tools.r8.internal.y8:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap locals -> c
     int endOffset -> b
     int startOffset -> a
     1:4:void <init>(int,int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):145:148 -> <init>
     1:19:com.android.tools.r8.ir.conversion.CfSourceCode$LocalVariableList compute(int,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):158:176 -> a
-com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList -> com.android.tools.r8.internal.y8:
+com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList -> com.android.tools.r8.internal.z8:
     java.util.List guards -> c
     boolean $assertionsDisabled -> e
     int endOffset -> b
@@ -49431,13 +49518,13 @@
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList offsets -> d
     1:1:void <clinit>():70:70 -> <clinit>
     1:5:void <init>(int,int,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):77:81 -> <init>
-com.android.tools.r8.ir.conversion.CfSourceUtils -> com.android.tools.r8.internal.A8:
+com.android.tools.r8.ir.conversion.CfSourceUtils -> com.android.tools.r8.internal.B8:
     1:1:com.android.tools.r8.cf.code.CfInstruction com.android.tools.r8.ir.conversion.CfSourceUtils.getLastInstruction(java.util.List):24:24 -> a
     1:1:com.android.tools.r8.cf.code.CfLabel ensureLabel(java.util.List):14 -> a
     2:2:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
     2:2:com.android.tools.r8.cf.code.CfLabel ensureLabel(java.util.List):15 -> a
     3:6:com.android.tools.r8.cf.code.CfLabel ensureLabel(java.util.List):16:19 -> a
-com.android.tools.r8.ir.conversion.CfState -> com.android.tools.r8.internal.N8:
+com.android.tools.r8.ir.conversion.CfState -> com.android.tools.r8.internal.O8:
     com.android.tools.r8.ir.conversion.CfState$Snapshot current -> a
     com.android.tools.r8.ir.code.Position position -> b
     boolean $assertionsDisabled -> c
@@ -49542,8 +49629,8 @@
     6:6:void com.android.tools.r8.ir.conversion.CfState.updateState(com.android.tools.r8.ir.conversion.CfState$Snapshot):183:183 -> e
     6:6:com.android.tools.r8.ir.conversion.CfState$Slot pop():188 -> e
     1:1:java.lang.String toString():236:236 -> toString
-com.android.tools.r8.ir.conversion.CfState$1 -> com.android.tools.r8.internal.D8:
-com.android.tools.r8.ir.conversion.CfState$BaseSnapshot -> com.android.tools.r8.internal.E8:
+com.android.tools.r8.ir.conversion.CfState$1 -> com.android.tools.r8.internal.E8:
+com.android.tools.r8.ir.conversion.CfState$BaseSnapshot -> com.android.tools.r8.internal.F8:
     com.android.tools.r8.ir.conversion.CfState$SlotType[] locals -> c
     com.android.tools.r8.ir.conversion.CfState$SlotType[] stack -> d
     boolean $assertionsDisabled -> e
@@ -49571,7 +49658,7 @@
     436:436:java.lang.String toString():419:419 -> toString
     437:437:java.lang.String toString():419:419 -> toString
     421:434:java.lang.String toString():420:433 -> toString
-com.android.tools.r8.ir.conversion.CfState$Pop -> com.android.tools.r8.internal.F8:
+com.android.tools.r8.ir.conversion.CfState$Pop -> com.android.tools.r8.internal.G8:
     int stackHeight -> c
     boolean $assertionsDisabled -> d
     1:1:void <clinit>():476:476 -> <clinit>
@@ -49580,7 +49667,7 @@
     1:1:com.android.tools.r8.ir.conversion.CfState$Slot peek():499:499 -> c
     1:1:int stackHeight():488:488 -> d
     1:1:java.lang.String toString():504:504 -> toString
-com.android.tools.r8.ir.conversion.CfState$Push -> com.android.tools.r8.internal.G8:
+com.android.tools.r8.ir.conversion.CfState$Push -> com.android.tools.r8.internal.H8:
     com.android.tools.r8.ir.conversion.CfState$Slot slot -> c
     boolean $assertionsDisabled -> d
     1:1:void <clinit>():437:437 -> <clinit>
@@ -49607,7 +49694,7 @@
     2:2:int com.android.tools.r8.ir.conversion.CfState$Slot.access$500(com.android.tools.r8.ir.conversion.CfState$Slot):239 -> d
     2:2:int stackHeight():449 -> d
     1:1:java.lang.String toString():472:472 -> toString
-com.android.tools.r8.ir.conversion.CfState$Slot -> com.android.tools.r8.internal.H8:
+com.android.tools.r8.ir.conversion.CfState$Slot -> com.android.tools.r8.internal.I8:
     com.android.tools.r8.ir.conversion.CfState$SlotType slotType -> d
     com.android.tools.r8.ir.code.ValueType type -> b
     boolean $assertionsDisabled -> e
@@ -49630,12 +49717,12 @@
     277:277:java.lang.String toString():272:272 -> toString
     278:278:java.lang.String toString():272:272 -> toString
     275:275:java.lang.String toString():272:272 -> toString
-com.android.tools.r8.ir.conversion.CfState$SlotType -> com.android.tools.r8.internal.K8:
+com.android.tools.r8.ir.conversion.CfState$SlotType -> com.android.tools.r8.internal.L8:
     1:1:void <init>():14:14 -> <init>
     2:2:void <init>(com.android.tools.r8.ir.conversion.CfState$1):14:14 -> <init>
     com.android.tools.r8.ir.code.ValueType getImprecise() -> a
     com.android.tools.r8.graph.DexType getPrecise() -> b
-com.android.tools.r8.ir.conversion.CfState$SlotType$Imprecise -> com.android.tools.r8.internal.I8:
+com.android.tools.r8.ir.conversion.CfState$SlotType$Imprecise -> com.android.tools.r8.internal.J8:
     com.android.tools.r8.ir.code.ValueType type -> a
     1:2:void <init>(com.android.tools.r8.ir.code.ValueType):56:57 -> <init>
     1:1:com.android.tools.r8.ir.code.ValueType getImprecise():67:67 -> a
@@ -49646,7 +49733,7 @@
     75:75:java.lang.String toString():72:72 -> toString
     76:76:java.lang.String toString():72:72 -> toString
     73:73:java.lang.String toString():72:72 -> toString
-com.android.tools.r8.ir.conversion.CfState$SlotType$Precise -> com.android.tools.r8.internal.J8:
+com.android.tools.r8.ir.conversion.CfState$SlotType$Precise -> com.android.tools.r8.internal.K8:
     com.android.tools.r8.graph.DexType type -> a
     1:2:void <init>(com.android.tools.r8.graph.DexType):27:28 -> <init>
     1:1:com.android.tools.r8.ir.code.ValueType getImprecise():38:38 -> a
@@ -49657,7 +49744,7 @@
     46:46:java.lang.String toString():43:43 -> toString
     47:47:java.lang.String toString():43:43 -> toString
     44:44:java.lang.String toString():43:43 -> toString
-com.android.tools.r8.ir.conversion.CfState$Snapshot -> com.android.tools.r8.internal.L8:
+com.android.tools.r8.ir.conversion.CfState$Snapshot -> com.android.tools.r8.internal.M8:
     com.android.tools.r8.ir.conversion.CfState$Snapshot parent -> a
     int updates -> b
     1:1:void <init>(com.android.tools.r8.ir.conversion.CfState$Snapshot,int,com.android.tools.r8.ir.conversion.CfState$1):288:288 -> <init>
@@ -49671,7 +49758,7 @@
     2:2:com.android.tools.r8.ir.conversion.CfState$Slot getStack(int):306:306 -> b
     1:1:com.android.tools.r8.ir.conversion.CfState$Slot peek():310:310 -> c
     1:1:int stackHeight():298:298 -> d
-com.android.tools.r8.ir.conversion.CfState$Write -> com.android.tools.r8.internal.M8:
+com.android.tools.r8.ir.conversion.CfState$Write -> com.android.tools.r8.internal.N8:
     com.android.tools.r8.ir.conversion.CfState$Slot slot -> c
     boolean $assertionsDisabled -> d
     1:1:void <clinit>():508:508 -> <clinit>
@@ -49680,7 +49767,7 @@
     2:3:void build(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot):530:531 -> a
     1:1:int maxLocal():520:520 -> b
     1:1:java.lang.String toString():536:536 -> toString
-com.android.tools.r8.ir.conversion.ClassConverter -> com.android.tools.r8.internal.L9:
+com.android.tools.r8.ir.conversion.ClassConverter -> com.android.tools.r8.internal.M9:
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.ir.conversion.D8MethodProcessor methodProcessor -> c
     boolean $assertionsDisabled -> e
@@ -49697,28 +49784,28 @@
     68:68:void lambda$internalConvertClasses$0(com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.DexProgramClass):101:101 -> a
     69:73:void lambda$internalConvertClasses$1(com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):117:121 -> a
     1:1:void convertMethods(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer):139:139 -> b
-com.android.tools.r8.ir.conversion.ClassConverter$DefaultClassConverter -> com.android.tools.r8.internal.J9:
+com.android.tools.r8.ir.conversion.ClassConverter$DefaultClassConverter -> com.android.tools.r8.internal.K9:
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):151:151 -> <init>
     void notifyAllClassesConverted() -> a
     1:1:void convertClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer):157:157 -> a
-com.android.tools.r8.ir.conversion.ClassConverter$LibraryDesugaredClassConverter -> com.android.tools.r8.internal.K9:
+com.android.tools.r8.ir.conversion.ClassConverter$LibraryDesugaredClassConverter -> com.android.tools.r8.internal.L9:
     java.util.Set alreadyLibraryDesugared -> f
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):175:175 -> <init>
     2:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):168:168 -> <init>
     1:5:void convertClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer):183:187 -> a
     6:6:void notifyAllClassesConverted():193:193 -> a
-com.android.tools.r8.ir.conversion.ClassConverterResult -> com.android.tools.r8.internal.O9:
+com.android.tools.r8.ir.conversion.ClassConverterResult -> com.android.tools.r8.internal.P9:
     java.util.Map forcefullyMovedLambdaMethods -> a
     1:1:void <init>(java.util.Map,com.android.tools.r8.ir.conversion.ClassConverterResult$1):12:12 -> <init>
     2:3:void <init>(java.util.Map):16:17 -> <init>
     1:1:java.util.Map getForcefullyMovedLambdaMethods():25:25 -> a
-com.android.tools.r8.ir.conversion.ClassConverterResult$1 -> com.android.tools.r8.internal.M9:
-com.android.tools.r8.ir.conversion.ClassConverterResult$Builder -> com.android.tools.r8.internal.N9:
+com.android.tools.r8.ir.conversion.ClassConverterResult$1 -> com.android.tools.r8.internal.N9:
+com.android.tools.r8.ir.conversion.ClassConverterResult$Builder -> com.android.tools.r8.internal.O9:
     java.util.Map forcefullyMovedLambdaMethods -> a
     1:3:void <init>():28:30 -> <init>
     1:1:void acceptForcefullyMovedLambdaMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):34:34 -> b
     2:2:com.android.tools.r8.ir.conversion.ClassConverterResult build():38:38 -> b
-com.android.tools.r8.ir.conversion.D8MethodProcessor -> com.android.tools.r8.internal.re:
+com.android.tools.r8.ir.conversion.D8MethodProcessor -> com.android.tools.r8.internal.se:
     com.android.tools.r8.contexts.CompilationContext$ProcessorContext processorContext -> f
     java.util.Set scheduled -> c
     java.util.List nonTerminalFutures -> e
@@ -49756,7 +49843,7 @@
     1:1:void newWave():56:56 -> d
     1:6:com.android.tools.r8.utils.Timing lambda$scheduleDesugaredMethodForProcessing$1(com.android.tools.r8.graph.ProgramMethod):111:111 -> e
     7:8:boolean verifyNoPendingMethodProcessing():157:158 -> e
-com.android.tools.r8.ir.conversion.DexBuilder -> com.android.tools.r8.internal.mg:
+com.android.tools.r8.ir.conversion.DexBuilder -> com.android.tools.r8.internal.ng:
     boolean hasBackwardsBranch -> n
     int inRegisterCount -> l
     int outRegisterCount -> m
@@ -49915,10 +50002,10 @@
     4:4:com.android.tools.r8.ir.conversion.DexBuilder$Info getInfo(com.android.tools.r8.ir.code.Instruction):680:680 -> c
     5:5:com.android.tools.r8.ir.regalloc.RegisterAllocator getRegisterAllocator():893:893 -> c
     1:1:boolean isBuildingForComparison():169:169 -> d
-com.android.tools.r8.ir.conversion.DexBuilder$1 -> com.android.tools.r8.internal.bg:
+com.android.tools.r8.ir.conversion.DexBuilder$1 -> com.android.tools.r8.internal.cg:
     int[] $SwitchMap$com$android$tools$r8$ir$code$If$Type -> a
     1:1:void <clinit>():1293:1293 -> <clinit>
-com.android.tools.r8.ir.conversion.DexBuilder$FallThroughInfo -> com.android.tools.r8.internal.cg:
+com.android.tools.r8.ir.conversion.DexBuilder$FallThroughInfo -> com.android.tools.r8.internal.dg:
     1:1:void <init>(com.android.tools.r8.ir.code.Instruction):1062:1062 -> <init>
     void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List) -> a
     int computeSize(com.android.tools.r8.ir.conversion.DexBuilder) -> a
@@ -49926,11 +50013,11 @@
     int getSize() -> d
     int maxSize() -> e
     int minSize() -> f
-com.android.tools.r8.ir.conversion.DexBuilder$FillArrayDataInfo -> com.android.tools.r8.internal.dg:
+com.android.tools.r8.ir.conversion.DexBuilder$FillArrayDataInfo -> com.android.tools.r8.internal.eg:
     com.android.tools.r8.code.FillArrayData dex -> b
     com.android.tools.r8.ir.code.NewArrayFilledData ir -> a
     1:3:void <init>(com.android.tools.r8.ir.code.NewArrayFilledData,com.android.tools.r8.code.FillArrayData):1539:1541 -> <init>
-com.android.tools.r8.ir.conversion.DexBuilder$FixedSizeInfo -> com.android.tools.r8.internal.eg:
+com.android.tools.r8.ir.conversion.DexBuilder$FixedSizeInfo -> com.android.tools.r8.internal.fg:
     com.android.tools.r8.code.Instruction instruction -> e
     1:2:void <init>(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.code.Instruction):969:970 -> <init>
     1:2:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):990:991 -> a
@@ -49939,7 +50026,7 @@
     1:1:int getSize():975:975 -> d
     1:1:int maxSize():985:985 -> e
     1:1:int minSize():980:980 -> f
-com.android.tools.r8.ir.conversion.DexBuilder$GotoInfo -> com.android.tools.r8.internal.fg:
+com.android.tools.r8.ir.conversion.DexBuilder$GotoInfo -> com.android.tools.r8.internal.gg:
     boolean $assertionsDisabled -> f
     int size -> e
     1:1:void <clinit>():1095:1095 -> <clinit>
@@ -49964,7 +50051,7 @@
     1:2:int getSize():1109:1110 -> d
     1:1:int maxSize():1121:1121 -> e
     1:1:int minSize():1115:1115 -> f
-com.android.tools.r8.ir.conversion.DexBuilder$IfInfo -> com.android.tools.r8.internal.gg:
+com.android.tools.r8.ir.conversion.DexBuilder$IfInfo -> com.android.tools.r8.internal.hg:
     boolean $assertionsDisabled -> f
     int size -> e
     1:1:void <clinit>():1226:1226 -> <clinit>
@@ -50193,7 +50280,7 @@
     1:1:int getSize():1361:1361 -> d
     int maxSize() -> e
     int minSize() -> f
-com.android.tools.r8.ir.conversion.DexBuilder$Info -> com.android.tools.r8.internal.hg:
+com.android.tools.r8.ir.conversion.DexBuilder$Info -> com.android.tools.r8.internal.ig:
     com.android.tools.r8.ir.code.Instruction ir -> a
     int offset -> b
     int maxOffset -> c
@@ -50213,7 +50300,7 @@
     int getSize() -> d
     int maxSize() -> e
     int minSize() -> f
-com.android.tools.r8.ir.conversion.DexBuilder$MoveInfo -> com.android.tools.r8.internal.ig:
+com.android.tools.r8.ir.conversion.DexBuilder$MoveInfo -> com.android.tools.r8.internal.jg:
     boolean $assertionsDisabled -> f
     int size -> e
     1:1:void <clinit>():1375:1375 -> <clinit>
@@ -50284,7 +50371,7 @@
     1:2:int getSize():1487:1488 -> d
     1:1:int maxSize():1481:1481 -> e
     1:1:int minSize():1475:1475 -> f
-com.android.tools.r8.ir.conversion.DexBuilder$MultiFixedSizeInfo -> com.android.tools.r8.internal.jg:
+com.android.tools.r8.ir.conversion.DexBuilder$MultiFixedSizeInfo -> com.android.tools.r8.internal.kg:
     int size -> f
     com.android.tools.r8.code.Instruction[] instructions -> e
     1:7:void <init>(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.code.Instruction[]):1013:1019 -> <init>
@@ -50294,18 +50381,18 @@
     1:1:int getSize():1049:1049 -> d
     1:1:int maxSize():1044:1044 -> e
     1:1:int minSize():1039:1039 -> f
-com.android.tools.r8.ir.conversion.DexBuilder$SwitchPayloadInfo -> com.android.tools.r8.internal.kg:
+com.android.tools.r8.ir.conversion.DexBuilder$SwitchPayloadInfo -> com.android.tools.r8.internal.lg:
     com.android.tools.r8.ir.code.IntSwitch ir -> a
     com.android.tools.r8.code.Format31t dex -> b
     1:3:void <init>(com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.code.Format31t):1528:1530 -> <init>
-com.android.tools.r8.ir.conversion.DexBuilder$TryItem -> com.android.tools.r8.internal.lg:
+com.android.tools.r8.ir.conversion.DexBuilder$TryItem -> com.android.tools.r8.internal.mg:
     com.android.tools.r8.ir.code.CatchHandlers handlers -> b
     int end -> d
     int start -> c
     1:4:void <init>(com.android.tools.r8.ir.code.CatchHandlers,int,int):1511:1514 -> <init>
     1:1:int compareTo(com.android.tools.r8.ir.conversion.DexBuilder$TryItem):1519:1519 -> a
     1:1:int compareTo(java.lang.Object):1505:1505 -> compareTo
-com.android.tools.r8.ir.conversion.DexSourceCode -> com.android.tools.r8.internal.ah:
+com.android.tools.r8.ir.conversion.DexSourceCode -> com.android.tools.r8.internal.ch:
     boolean $assertionsDisabled -> n
     com.android.tools.r8.ir.code.Position currentPosition -> j
     com.android.tools.r8.graph.DexMethod originalMethod -> m
@@ -50320,87 +50407,87 @@
     com.android.tools.r8.code.Instruction currentDexInstruction -> h
     com.android.tools.r8.ir.conversion.SwitchPayloadResolver switchPayloadResolver -> d
     java.util.List debugEntries -> l
-    1:1:void <clinit>():55:55 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.graph.DexCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position):80:80 -> <init>
-    2:34:void <init>(com.android.tools.r8.graph.DexCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position):61:93 -> <init>
+    1:1:void <clinit>():56:56 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.graph.DexCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position,com.android.tools.r8.graph.DexItemFactory):85:85 -> <init>
+    2:38:void <init>(com.android.tools.r8.graph.DexCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position,com.android.tools.r8.graph.DexItemFactory):62:98 -> <init>
     void buildBlockTransfer(com.android.tools.r8.ir.conversion.IRBuilder,int,int,boolean) -> a
     void buildPostlude(com.android.tools.r8.ir.conversion.IRBuilder) -> a
     void doNothingWriteConsumer(java.lang.Integer,com.android.tools.r8.graph.DexType) -> a
     com.android.tools.r8.graph.DebugLocalInfo getIncomingLocalAtBlock(int,int) -> a
     com.android.tools.r8.graph.DebugLocalInfo getOutgoingLocal(int) -> a
     boolean verifyLocalInScope(com.android.tools.r8.graph.DebugLocalInfo) -> a
-    1:1:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):169:169 -> a
-    2:2:void com.android.tools.r8.ir.conversion.DexSourceCode.updateCurrentCatchHandlers(int,com.android.tools.r8.graph.DexItemFactory):215:215 -> a
-    2:2:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):169 -> a
-    3:3:com.android.tools.r8.graph.DexCode$Try com.android.tools.r8.ir.conversion.DexSourceCode.getTryForOffset(int):399:399 -> a
-    3:3:void com.android.tools.r8.ir.conversion.DexSourceCode.updateCurrentCatchHandlers(int,com.android.tools.r8.graph.DexItemFactory):215 -> a
-    3:3:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):169 -> a
-    4:4:boolean com.android.tools.r8.ir.conversion.DexSourceCode.inTryRange(com.android.tools.r8.graph.DexCode$Try,int):394:394 -> a
-    4:4:com.android.tools.r8.graph.DexCode$Try com.android.tools.r8.ir.conversion.DexSourceCode.getTryForOffset(int):400 -> a
-    4:4:void com.android.tools.r8.ir.conversion.DexSourceCode.updateCurrentCatchHandlers(int,com.android.tools.r8.graph.DexItemFactory):215 -> a
-    4:4:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):169 -> a
-    5:12:void com.android.tools.r8.ir.conversion.DexSourceCode.updateCurrentCatchHandlers(int,com.android.tools.r8.graph.DexItemFactory):216:223 -> a
-    5:12:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):169 -> a
-    13:16:void com.android.tools.r8.ir.conversion.DexSourceCode.updateDebugPosition(int,com.android.tools.r8.ir.conversion.IRBuilder):241:244 -> a
-    13:16:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):170 -> a
-    17:19:com.android.tools.r8.graph.DexDebugEntry com.android.tools.r8.ir.conversion.DexSourceCode.getDebugEntryAtOffset(int):229:231 -> a
-    17:19:void com.android.tools.r8.ir.conversion.DexSourceCode.updateDebugPosition(int,com.android.tools.r8.ir.conversion.IRBuilder):245 -> a
-    17:19:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):170 -> a
-    20:24:void com.android.tools.r8.ir.conversion.DexSourceCode.updateDebugPosition(int,com.android.tools.r8.ir.conversion.IRBuilder):247:251 -> a
-    20:24:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):170 -> a
-    25:26:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):171:172 -> a
-    27:29:com.android.tools.r8.ir.code.Position getCanonicalPositionAppendCaller(com.android.tools.r8.graph.DexDebugEntry):258:258 -> a
-    32:39:com.android.tools.r8.ir.code.Position getCanonicalPositionAppendCaller(com.android.tools.r8.graph.DexDebugEntry):261:261 -> a
-    40:42:void resolveAndBuildSwitch(int,int,int,com.android.tools.r8.ir.conversion.IRBuilder):289:289 -> a
-    43:47:void resolveAndBuildNewArrayFilledData(int,int,com.android.tools.r8.ir.conversion.IRBuilder):296:296 -> a
-    48:63:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):329:344 -> a
-    64:64:com.android.tools.r8.graph.DexCode$Try com.android.tools.r8.ir.conversion.DexSourceCode.getTryForOffset(int):399:399 -> a
-    64:64:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):347 -> a
-    65:65:boolean com.android.tools.r8.ir.conversion.DexSourceCode.inTryRange(com.android.tools.r8.graph.DexCode$Try,int):394:394 -> a
-    65:65:com.android.tools.r8.graph.DexCode$Try com.android.tools.r8.ir.conversion.DexSourceCode.getTryForOffset(int):400 -> a
-    65:65:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):347 -> a
-    66:67:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):350:351 -> a
-    68:68:boolean com.android.tools.r8.ir.conversion.DexSourceCode.isMoveResult(com.android.tools.r8.code.Instruction):322:322 -> a
-    68:68:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):351 -> a
-    69:72:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):358:361 -> a
-    73:73:java.util.Set com.android.tools.r8.ir.conversion.DexSourceCode.getUniqueTryHandlerOffsets(com.android.tools.r8.graph.DexCode$Try,com.android.tools.r8.graph.DexItemFactory):436:436 -> a
-    73:73:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):361 -> a
-    74:78:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):361:365 -> a
-    79:79:boolean com.android.tools.r8.ir.conversion.DexSourceCode.isMoveResult(com.android.tools.r8.code.Instruction):322:322 -> a
-    79:79:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):365 -> a
-    80:80:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):366:366 -> a
-    81:81:boolean com.android.tools.r8.ir.conversion.DexSourceCode.isInvoke(com.android.tools.r8.code.Instruction):303:303 -> a
-    81:81:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):366 -> a
-    82:99:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):366:383 -> a
+    1:1:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):174:174 -> a
+    2:2:void com.android.tools.r8.ir.conversion.DexSourceCode.updateCurrentCatchHandlers(int,com.android.tools.r8.graph.DexItemFactory):220:220 -> a
+    2:2:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):174 -> a
+    3:3:com.android.tools.r8.graph.DexCode$Try com.android.tools.r8.ir.conversion.DexSourceCode.getTryForOffset(int):404:404 -> a
+    3:3:void com.android.tools.r8.ir.conversion.DexSourceCode.updateCurrentCatchHandlers(int,com.android.tools.r8.graph.DexItemFactory):220 -> a
+    3:3:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):174 -> a
+    4:4:boolean com.android.tools.r8.ir.conversion.DexSourceCode.inTryRange(com.android.tools.r8.graph.DexCode$Try,int):399:399 -> a
+    4:4:com.android.tools.r8.graph.DexCode$Try com.android.tools.r8.ir.conversion.DexSourceCode.getTryForOffset(int):405 -> a
+    4:4:void com.android.tools.r8.ir.conversion.DexSourceCode.updateCurrentCatchHandlers(int,com.android.tools.r8.graph.DexItemFactory):220 -> a
+    4:4:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):174 -> a
+    5:12:void com.android.tools.r8.ir.conversion.DexSourceCode.updateCurrentCatchHandlers(int,com.android.tools.r8.graph.DexItemFactory):221:228 -> a
+    5:12:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):174 -> a
+    13:16:void com.android.tools.r8.ir.conversion.DexSourceCode.updateDebugPosition(int,com.android.tools.r8.ir.conversion.IRBuilder):246:249 -> a
+    13:16:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):175 -> a
+    17:19:com.android.tools.r8.graph.DexDebugEntry com.android.tools.r8.ir.conversion.DexSourceCode.getDebugEntryAtOffset(int):234:236 -> a
+    17:19:void com.android.tools.r8.ir.conversion.DexSourceCode.updateDebugPosition(int,com.android.tools.r8.ir.conversion.IRBuilder):250 -> a
+    17:19:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):175 -> a
+    20:24:void com.android.tools.r8.ir.conversion.DexSourceCode.updateDebugPosition(int,com.android.tools.r8.ir.conversion.IRBuilder):252:256 -> a
+    20:24:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):175 -> a
+    25:26:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):176:177 -> a
+    27:29:com.android.tools.r8.ir.code.Position getCanonicalPositionAppendCaller(com.android.tools.r8.graph.DexDebugEntry):263:263 -> a
+    32:39:com.android.tools.r8.ir.code.Position getCanonicalPositionAppendCaller(com.android.tools.r8.graph.DexDebugEntry):266:266 -> a
+    40:42:void resolveAndBuildSwitch(int,int,int,com.android.tools.r8.ir.conversion.IRBuilder):294:294 -> a
+    43:47:void resolveAndBuildNewArrayFilledData(int,int,com.android.tools.r8.ir.conversion.IRBuilder):301:301 -> a
+    48:63:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):334:349 -> a
+    64:64:com.android.tools.r8.graph.DexCode$Try com.android.tools.r8.ir.conversion.DexSourceCode.getTryForOffset(int):404:404 -> a
+    64:64:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):352 -> a
+    65:65:boolean com.android.tools.r8.ir.conversion.DexSourceCode.inTryRange(com.android.tools.r8.graph.DexCode$Try,int):399:399 -> a
+    65:65:com.android.tools.r8.graph.DexCode$Try com.android.tools.r8.ir.conversion.DexSourceCode.getTryForOffset(int):405 -> a
+    65:65:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):352 -> a
+    66:67:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):355:356 -> a
+    68:68:boolean com.android.tools.r8.ir.conversion.DexSourceCode.isMoveResult(com.android.tools.r8.code.Instruction):327:327 -> a
+    68:68:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):356 -> a
+    69:72:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):363:366 -> a
+    73:73:java.util.Set com.android.tools.r8.ir.conversion.DexSourceCode.getUniqueTryHandlerOffsets(com.android.tools.r8.graph.DexCode$Try,com.android.tools.r8.graph.DexItemFactory):441:441 -> a
+    73:73:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):366 -> a
+    74:78:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):366:370 -> a
+    79:79:boolean com.android.tools.r8.ir.conversion.DexSourceCode.isMoveResult(com.android.tools.r8.code.Instruction):327:327 -> a
+    79:79:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):370 -> a
+    80:80:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):371:371 -> a
+    81:81:boolean com.android.tools.r8.ir.conversion.DexSourceCode.isInvoke(com.android.tools.r8.code.Instruction):308:308 -> a
+    81:81:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):371 -> a
+    82:99:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):371:388 -> a
     100:101:int[] com.android.tools.r8.ir.conversion.SwitchPayloadResolver.absoluteTargets(com.android.tools.r8.code.Instruction):63:64 -> a
-    100:101:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):383 -> a
-    102:105:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):383:386 -> a
-    106:108:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexCode$Try):408:410 -> a
-    109:117:void com.android.tools.r8.ir.conversion.DexSourceCode.forEachTryRange(com.android.tools.r8.graph.DexCode$Try,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):422:430 -> a
-    109:117:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexCode$Try):410 -> a
-    118:118:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexCode$Try):417:417 -> a
-    119:120:void lambda$getCurrentCatchHandlers$0(java.util.List,java.util.List,com.android.tools.r8.graph.DexType,java.lang.Integer):414:415 -> a
-    121:122:java.util.List getTryHandlerOffsets(com.android.tools.r8.graph.DexCode$Try,com.android.tools.r8.graph.DexItemFactory):440:441 -> a
-    123:131:void com.android.tools.r8.ir.conversion.DexSourceCode.forEachTryRange(com.android.tools.r8.graph.DexCode$Try,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):422:430 -> a
-    123:131:java.util.List getTryHandlerOffsets(com.android.tools.r8.graph.DexCode$Try,com.android.tools.r8.graph.DexItemFactory):441 -> a
-    132:132:void lambda$getTryHandlerOffsets$1(java.util.List,com.android.tools.r8.graph.DexType,java.lang.Integer):441:441 -> a
-    1:8:void setUp():124:131 -> b
-    9:9:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder):177:177 -> b
-    10:12:com.android.tools.r8.graph.DexDebugEntry com.android.tools.r8.ir.conversion.DexSourceCode.getDebugEntryAtOffset(int):229:231 -> b
-    10:12:com.android.tools.r8.ir.code.Position getCanonicalDebugPositionAtOffset(int):192 -> b
-    13:14:com.android.tools.r8.ir.code.Position getCanonicalDebugPositionAtOffset(int):194:195 -> b
+    100:101:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):388 -> a
+    102:105:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):388:391 -> a
+    106:108:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexCode$Try):413:415 -> a
+    109:117:void com.android.tools.r8.ir.conversion.DexSourceCode.forEachTryRange(com.android.tools.r8.graph.DexCode$Try,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):427:435 -> a
+    109:117:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexCode$Try):415 -> a
+    118:118:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexCode$Try):422:422 -> a
+    119:120:void lambda$getCurrentCatchHandlers$0(java.util.List,java.util.List,com.android.tools.r8.graph.DexType,java.lang.Integer):419:420 -> a
+    121:122:java.util.List getTryHandlerOffsets(com.android.tools.r8.graph.DexCode$Try,com.android.tools.r8.graph.DexItemFactory):445:446 -> a
+    123:131:void com.android.tools.r8.ir.conversion.DexSourceCode.forEachTryRange(com.android.tools.r8.graph.DexCode$Try,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):427:435 -> a
+    123:131:java.util.List getTryHandlerOffsets(com.android.tools.r8.graph.DexCode$Try,com.android.tools.r8.graph.DexItemFactory):446 -> a
+    132:132:void lambda$getTryHandlerOffsets$1(java.util.List,com.android.tools.r8.graph.DexType,java.lang.Integer):446:446 -> a
+    1:8:void setUp():129:136 -> b
+    9:9:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder):182:182 -> b
+    10:12:com.android.tools.r8.graph.DexDebugEntry com.android.tools.r8.ir.conversion.DexSourceCode.getDebugEntryAtOffset(int):234:236 -> b
+    10:12:com.android.tools.r8.ir.code.Position getCanonicalDebugPositionAtOffset(int):197 -> b
+    13:14:com.android.tools.r8.ir.code.Position getCanonicalDebugPositionAtOffset(int):199:200 -> b
     com.android.tools.r8.graph.DebugLocalInfo getIncomingLocal(int) -> c
-    1:7:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):139:145 -> c
-    8:13:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):143:148 -> c
-    14:14:boolean verifyCurrentInstructionCanThrow():206:206 -> c
-    1:2:void clear():272:273 -> clear
-    1:1:int instructionCount():103:103 -> d
-    2:5:int getMoveExceptionRegister(int):182:185 -> d
-    1:1:com.android.tools.r8.ir.code.Position getCurrentPosition():200:200 -> e
-    2:2:int instructionOffset(int):283:283 -> e
-    1:1:boolean verifyRegister(int):98:98 -> f
-    1:1:int instructionIndex(int):278:278 -> g
-com.android.tools.r8.ir.conversion.ExtraConstantIntParameter -> com.android.tools.r8.internal.lj:
+    1:7:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):144:150 -> c
+    8:13:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):148:153 -> c
+    14:14:boolean verifyCurrentInstructionCanThrow():211:211 -> c
+    1:2:void clear():277:278 -> clear
+    1:1:int instructionCount():108:108 -> d
+    2:5:int getMoveExceptionRegister(int):187:190 -> d
+    1:1:com.android.tools.r8.ir.code.Position getCurrentPosition():205:205 -> e
+    2:2:int instructionOffset(int):288:288 -> e
+    1:1:boolean verifyRegister(int):103:103 -> f
+    1:1:int instructionIndex(int):283:283 -> g
+com.android.tools.r8.ir.conversion.ExtraConstantIntParameter -> com.android.tools.r8.internal.nj:
     long value -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():12:12 -> <clinit>
@@ -50409,20 +50496,20 @@
     3:3:com.android.tools.r8.ir.analysis.value.SingleNumberValue getValue(com.android.tools.r8.graph.AppView):28:28 -> a
     1:5:boolean equals(java.lang.Object):33:37 -> equals
     1:1:int hashCode():42:42 -> hashCode
-com.android.tools.r8.ir.conversion.ExtraParameter -> com.android.tools.r8.internal.mj:
+com.android.tools.r8.ir.conversion.ExtraParameter -> com.android.tools.r8.internal.oj:
     1:1:void <init>():12:12 -> <init>
     com.android.tools.r8.ir.analysis.type.TypeElement getTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType) -> a
     com.android.tools.r8.ir.analysis.value.SingleNumberValue getValue(com.android.tools.r8.graph.AppView) -> a
-com.android.tools.r8.ir.conversion.ExtraUnusedNullParameter -> com.android.tools.r8.internal.nj:
+com.android.tools.r8.ir.conversion.ExtraUnusedNullParameter -> com.android.tools.r8.internal.pj:
     1:1:void <init>():13:13 -> <init>
     1:1:com.android.tools.r8.ir.analysis.type.TypeElement getTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):17:17 -> a
     2:2:com.android.tools.r8.ir.analysis.value.SingleNumberValue getValue(com.android.tools.r8.graph.AppView):22:22 -> a
     1:1:boolean equals(java.lang.Object):27:27 -> equals
-com.android.tools.r8.ir.conversion.FieldOptimizationFeedback -> com.android.tools.r8.internal.Rj:
+com.android.tools.r8.ir.conversion.FieldOptimizationFeedback -> com.android.tools.r8.internal.Tj:
     void markFieldBitsRead(com.android.tools.r8.graph.DexEncodedField,int) -> a
     void markFieldHasDynamicType(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.type.DynamicType) -> a
     void recordFieldHasAbstractValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue) -> a
-com.android.tools.r8.ir.conversion.IRBuilder -> com.android.tools.r8.internal.kn:
+com.android.tools.r8.ir.conversion.IRBuilder -> com.android.tools.r8.internal.mn:
     com.android.tools.r8.ir.conversion.SourceCode source -> v
     java.util.Queue ssaWorklist -> f
     int currentInstructionOffset -> j
@@ -51426,8 +51513,8 @@
     8:8:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2415:2415 -> v
     8:8:void addXorLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2162 -> v
     9:12:void addXorLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2163:2166 -> v
-com.android.tools.r8.ir.conversion.IRBuilder$1 -> com.android.tools.r8.internal.en:
-com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo -> com.android.tools.r8.internal.fn:
+com.android.tools.r8.ir.conversion.IRBuilder$1 -> com.android.tools.r8.internal.gn:
+com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo -> com.android.tools.r8.internal.hn:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet exceptionalPredecessors -> d
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet exceptionalSuccessors -> e
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet normalPredecessors -> b
@@ -51435,10 +51522,10 @@
     com.android.tools.r8.ir.code.BasicBlock block -> a
     1:7:void <init>():278:284 -> <init>
     1:1:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":380,"2":381,"3":383}}
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":380,"2":381,"3":382}}
     380:380:java.lang.String toString():348:348 -> toString
     381:381:java.lang.String toString():348:348 -> toString
-    383:383:java.lang.String toString():350:350 -> toString
+    382:382:java.lang.String toString():350:350 -> toString
     351:355:java.lang.String toString():350:354 -> toString
     356:356:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():57:57 -> toString
     356:356:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():33 -> toString
@@ -51452,7 +51539,7 @@
     374:374:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():33 -> toString
     374:374:java.lang.String toString():368 -> toString
     375:379:java.lang.String toString():368:372 -> toString
-com.android.tools.r8.ir.conversion.IRBuilder$MoveExceptionWorklistItem -> com.android.tools.r8.internal.gn:
+com.android.tools.r8.ir.conversion.IRBuilder$MoveExceptionWorklistItem -> com.android.tools.r8.internal.in:
     com.android.tools.r8.graph.DexType guard -> d
     int targetOffset -> f
     int sourceOffset -> e
@@ -51461,7 +51548,7 @@
     1:1:int access$600(com.android.tools.r8.ir.conversion.IRBuilder$MoveExceptionWorklistItem):202:202 -> a
     1:1:com.android.tools.r8.graph.DexType access$700(com.android.tools.r8.ir.conversion.IRBuilder$MoveExceptionWorklistItem):202:202 -> b
     1:1:int access$800(com.android.tools.r8.ir.conversion.IRBuilder$MoveExceptionWorklistItem):202:202 -> c
-com.android.tools.r8.ir.conversion.IRBuilder$SplitBlockWorklistItem -> com.android.tools.r8.internal.hn:
+com.android.tools.r8.ir.conversion.IRBuilder$SplitBlockWorklistItem -> com.android.tools.r8.internal.jn:
     int sourceOffset -> d
     int targetOffset -> e
     com.android.tools.r8.ir.code.Position position -> f
@@ -51469,13 +51556,13 @@
     1:1:int access$200(com.android.tools.r8.ir.conversion.IRBuilder$SplitBlockWorklistItem):217:217 -> a
     1:1:int access$300(com.android.tools.r8.ir.conversion.IRBuilder$SplitBlockWorklistItem):217:217 -> b
     1:1:com.android.tools.r8.ir.code.Position access$500(com.android.tools.r8.ir.conversion.IRBuilder$SplitBlockWorklistItem):217:217 -> c
-com.android.tools.r8.ir.conversion.IRBuilder$ValueList -> com.android.tools.r8.internal.in:
+com.android.tools.r8.ir.conversion.IRBuilder$ValueList -> com.android.tools.r8.internal.kn:
     java.util.List values -> a
     1:3:void <init>():240:242 -> <init>
     1:3:com.android.tools.r8.ir.conversion.IRBuilder$ValueList fromPhis(java.util.List,int):248:250 -> a
     1:9:boolean equals(java.lang.Object):262:270 -> equals
     1:1:int hashCode():257:257 -> hashCode
-com.android.tools.r8.ir.conversion.IRBuilder$WorklistItem -> com.android.tools.r8.internal.jn:
+com.android.tools.r8.ir.conversion.IRBuilder$WorklistItem -> com.android.tools.r8.internal.ln:
     int firstInstructionIndex -> b
     boolean $assertionsDisabled -> c
     com.android.tools.r8.ir.code.BasicBlock block -> a
@@ -51484,7 +51571,7 @@
     2:5:void <init>(com.android.tools.r8.ir.code.BasicBlock,int):195:198 -> <init>
     1:1:com.android.tools.r8.ir.code.BasicBlock access$100(com.android.tools.r8.ir.conversion.IRBuilder$WorklistItem):190:190 -> a
     1:1:int access$400(com.android.tools.r8.ir.conversion.IRBuilder$WorklistItem):190:190 -> b
-com.android.tools.r8.ir.conversion.IRConverter -> com.android.tools.r8.internal.sn:
+com.android.tools.r8.ir.conversion.IRConverter -> com.android.tools.r8.internal.un:
     com.android.tools.r8.utils.CfgPrinter printer -> n
     com.android.tools.r8.ir.optimize.enums.EnumUnboxer enumUnboxer -> A
     com.android.tools.r8.graph.AppView appView -> a
@@ -51581,20 +51668,20 @@
     314:316:void convertMethods(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):495 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     317:348:void convertMethods(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):497:528 -> a
-    349:353:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):1918:1922 -> a
+    349:353:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):1926:1930 -> a
     349:353:void convertMethods(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):528 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     354:354:com.android.tools.r8.utils.structural.Ordered com.android.tools.r8.utils.structural.Ordered.min(com.android.tools.r8.utils.structural.Ordered,com.android.tools.r8.utils.structural.Ordered):21:21 -> a
-    354:354:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):1923 -> a
+    354:354:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):1931 -> a
     354:354:void convertMethods(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):528 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
     355:355:void convertMethods(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):527:527 -> a
     356:359:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):537:540 -> a
-    360:364:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):1918:1922 -> a
+    360:364:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):1926:1930 -> a
     360:364:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):540 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     365:365:com.android.tools.r8.utils.structural.Ordered com.android.tools.r8.utils.structural.Ordered.min(com.android.tools.r8.utils.structural.Ordered,com.android.tools.r8.utils.structural.Ordered):21:21 -> a
-    365:365:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):1923 -> a
+    365:365:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):1931 -> a
     365:365:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):540 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
     366:372:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):539:545 -> a
@@ -51708,7 +51795,7 @@
     4094:4094:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1233 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     4095:4200:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1234:1339 -> a
-    4201:4202:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.shouldRun(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):89:90 -> a
+    4201:4202:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.shouldRun(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):90:91 -> a
     4201:4202:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1339 -> a
     4203:4208:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1340:1345 -> a
     4209:4211:void com.android.tools.r8.ir.conversion.IRConverter.invertConditionalsForTesting(com.android.tools.r8.ir.code.IRCode):987:989 -> a
@@ -51734,7 +51821,7 @@
     4420:4420:com.android.tools.r8.ir.optimize.InliningOracle lambda$optimize$22(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):1396 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     4421:4466:void collectOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder,com.android.tools.r8.utils.Timing):1534:1579 -> a
-    4467:4467:boolean com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions.enableRemoveProtoEnumSwitchMap():1553:1553 -> a
+    4467:4467:boolean com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions.enableRemoveProtoEnumSwitchMap():1557:1557 -> a
     4467:4467:void collectOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder,com.android.tools.r8.utils.Timing):1579 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     4468:4473:void collectOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder,com.android.tools.r8.utils.Timing):1580:1585 -> a
@@ -51845,7 +51932,7 @@
     177:210:com.android.tools.r8.graph.DexApplication optimize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):785:818 -> b
     211:211:void lambda$optimize$9(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer):655:655 -> b
     212:216:void waveDone(com.android.tools.r8.utils.collections.ProgramMethodSet,java.util.concurrent.ExecutorService):827:831 -> b
-    217:217:boolean com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions.enableRemoveProtoEnumSwitchMap():1553:1553 -> b
+    217:217:boolean com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions.enableRemoveProtoEnumSwitchMap():1557:1557 -> b
     217:217:void waveDone(com.android.tools.r8.utils.collections.ProgramMethodSet,java.util.concurrent.ExecutorService):831 -> b
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     218:225:void waveDone(com.android.tools.r8.utils.collections.ProgramMethodSet,java.util.concurrent.ExecutorService):832:839 -> b
@@ -51893,7 +51980,7 @@
     1:1:void reportNestDesugarDependencies():341:341 -> e
     2:13:void onMethodPruned(com.android.tools.r8.graph.ProgramMethod):1949:1960 -> e
     1:5:void optimizeSynthesizedMethod(com.android.tools.r8.graph.ProgramMethod):941:945 -> f
-com.android.tools.r8.ir.conversion.LensCodeRewriter -> com.android.tools.r8.internal.tB:
+com.android.tools.r8.ir.conversion.LensCodeRewriter -> com.android.tools.r8.internal.vB:
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.ir.optimize.enums.EnumUnboxer enumUnboxer -> b
     com.android.tools.r8.utils.InternalOptions options -> d
@@ -52070,7 +52157,7 @@
     2:2:void com.android.tools.r8.ir.code.ConstClass.<init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):32:32 -> b
     2:2:com.android.tools.r8.ir.code.Instruction lambda$rewrite$5(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):595 -> b
     1:1:com.android.tools.r8.ir.code.Instruction lambda$rewrite$9(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):633:633 -> c
-com.android.tools.r8.ir.conversion.LensCodeRewriter$1 -> com.android.tools.r8.internal.rB:
+com.android.tools.r8.ir.conversion.LensCodeRewriter$1 -> com.android.tools.r8.internal.tB:
     com.android.tools.r8.ir.code.InvokeMethod val$invoke -> b
     com.android.tools.r8.ir.conversion.LensCodeRewriter this$0 -> e
     com.android.tools.r8.graph.DexMethod val$invokedMethod -> d
@@ -52091,7 +52178,7 @@
     321:321:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> c
     321:321:com.android.tools.r8.ir.analysis.type.TypeElement getOutType():316 -> c
     1:1:com.android.tools.r8.graph.DebugLocalInfo getLocalInfo():309:309 -> i
-com.android.tools.r8.ir.conversion.LensCodeRewriter$InstructionReplacer -> com.android.tools.r8.internal.sB:
+com.android.tools.r8.ir.conversion.LensCodeRewriter$InstructionReplacer -> com.android.tools.r8.internal.uB:
     com.android.tools.r8.ir.code.Instruction current -> b
     java.util.Set affectedPhis -> d
     com.android.tools.r8.ir.conversion.LensCodeRewriter this$0 -> e
@@ -52119,7 +52206,7 @@
     952:952:void replaceInstructionIfTypeChanged(com.android.tools.r8.graph.DexType,java.util.function.BiFunction):945 -> a
     953:955:void replaceInstructionIfTypeChanged(com.android.tools.r8.graph.DexType,java.util.function.BiFunction):945:947 -> a
     956:956:void replaceInstructionIfTypeChanged(com.android.tools.r8.graph.DexType,java.util.function.BiFunction):943:943 -> a
-com.android.tools.r8.ir.conversion.LensCodeRewriterUtils -> com.android.tools.r8.internal.uB:
+com.android.tools.r8.ir.conversion.LensCodeRewriterUtils -> com.android.tools.r8.internal.wB:
     java.util.Map protoFixupCache -> c
     java.util.Map rewrittenCallSiteCache -> d
     boolean $assertionsDisabled -> e
@@ -52183,11 +52270,11 @@
     292:292:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):169 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     293:294:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):171:172 -> a
-    295:295:com.android.tools.r8.graph.DexMethodHandle com.android.tools.r8.graph.DexItemFactory.createMethodHandle(com.android.tools.r8.graph.DexMethodHandle$MethodHandleType,com.android.tools.r8.graph.DexMember,boolean):2684:2684 -> a
+    295:295:com.android.tools.r8.graph.DexMethodHandle com.android.tools.r8.graph.DexItemFactory.createMethodHandle(com.android.tools.r8.graph.DexMethodHandle$MethodHandleType,com.android.tools.r8.graph.DexMember,boolean):2686:2686 -> a
     295:295:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):173 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     1:7:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):77:83 -> b
-    8:8:boolean com.android.tools.r8.graph.DexItemFactory.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexMethod):904:904 -> b
+    8:8:boolean com.android.tools.r8.graph.DexItemFactory.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexMethod):906:906 -> b
     8:8:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):83 -> b
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     9:10:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):85:86 -> b
@@ -52262,12 +52349,12 @@
     60:61:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.computeNewMethodName(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod,boolean):112:113 -> b
     60:61:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):88 -> b
     62:66:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):89:93 -> b
-com.android.tools.r8.ir.conversion.LibraryDesugaredChecker -> com.android.tools.r8.internal.AB:
+com.android.tools.r8.ir.conversion.LibraryDesugaredChecker -> com.android.tools.r8.internal.CB:
     com.android.tools.r8.graph.DexString jDollarDescriptorPrefix -> b
     com.android.tools.r8.graph.AppView appView -> a
     1:3:void <init>(com.android.tools.r8.graph.AppView):26:28 -> <init>
     1:4:boolean isClassLibraryDesugared(com.android.tools.r8.graph.DexProgramClass):32:35 -> a
-com.android.tools.r8.ir.conversion.LibraryDesugaredChecker$IsLibraryDesugaredTracer -> com.android.tools.r8.internal.zB:
+com.android.tools.r8.ir.conversion.LibraryDesugaredChecker$IsLibraryDesugaredTracer -> com.android.tools.r8.internal.BB:
     com.android.tools.r8.graph.DexString jDollarDescriptorPrefix -> a
     com.android.tools.r8.graph.AppView appView -> b
     com.android.tools.r8.graph.DexProgramClass clazz -> c
@@ -52298,7 +52385,7 @@
     43:44:void com.android.tools.r8.ir.conversion.LibraryDesugaredChecker$IsLibraryDesugaredTracer.registerField(com.android.tools.r8.graph.DexField):85:86 -> a
     43:44:void registerField(com.android.tools.r8.graph.DexEncodedField):97 -> a
     1:1:void run():53:53 -> b
-com.android.tools.r8.ir.conversion.LibraryDesugaredChecker$IsLibraryDesugaredTracer$IsLibraryDesugaredUseRegistry -> com.android.tools.r8.internal.yB:
+com.android.tools.r8.ir.conversion.LibraryDesugaredChecker$IsLibraryDesugaredTracer$IsLibraryDesugaredUseRegistry -> com.android.tools.r8.internal.AB:
     com.android.tools.r8.ir.conversion.LibraryDesugaredChecker$IsLibraryDesugaredTracer this$0 -> f
     1:2:void <init>(com.android.tools.r8.ir.conversion.LibraryDesugaredChecker$IsLibraryDesugaredTracer,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):121:122 -> <init>
     1:1:boolean com.android.tools.r8.ir.conversion.LibraryDesugaredChecker$IsLibraryDesugaredTracer$IsLibraryDesugaredUseRegistry.registerField(com.android.tools.r8.graph.DexField):126:126 -> a
@@ -52326,16 +52413,16 @@
     1:2:boolean registerMethod(com.android.tools.r8.graph.DexMethod):130:131 -> h
     3:3:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> h
     3:3:boolean registerMethod(com.android.tools.r8.graph.DexMethod):131 -> h
-com.android.tools.r8.ir.conversion.MethodConversionOptions -> com.android.tools.r8.internal.DE:
+com.android.tools.r8.ir.conversion.MethodConversionOptions -> com.android.tools.r8.internal.IE:
     1:1:void <init>():7:7 -> <init>
     boolean isPeepholeOptimizationsEnabled() -> a
-com.android.tools.r8.ir.conversion.MethodConversionOptions$DefaultMethodConversionOptions -> com.android.tools.r8.internal.BE:
+com.android.tools.r8.ir.conversion.MethodConversionOptions$DefaultMethodConversionOptions -> com.android.tools.r8.internal.GE:
     com.android.tools.r8.ir.conversion.MethodConversionOptions$DefaultMethodConversionOptions INSTANCE -> a
     1:1:void <clinit>():34:34 -> <clinit>
     1:1:void <init>():37:37 -> <init>
     boolean isPeepholeOptimizationsEnabled() -> a
     1:1:com.android.tools.r8.ir.conversion.MethodConversionOptions$DefaultMethodConversionOptions getInstance():40:40 -> b
-com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions -> com.android.tools.r8.internal.CE:
+com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions -> com.android.tools.r8.internal.HE:
     com.android.tools.r8.ir.conversion.MethodProcessor methodProcessor -> a
     boolean enablePeepholeOptimizations -> b
     boolean $assertionsDisabled -> c
@@ -52344,7 +52431,7 @@
     2:5:void <init>(com.android.tools.r8.ir.conversion.MethodProcessor):14:17 -> <init>
     1:2:boolean isPeepholeOptimizationsEnabled():27:28 -> a
     1:2:void disablePeepholeOptimizations():21:22 -> b
-com.android.tools.r8.ir.conversion.MethodOptimizationFeedback -> com.android.tools.r8.internal.NE:
+com.android.tools.r8.ir.conversion.MethodOptimizationFeedback -> com.android.tools.r8.internal.SE:
     void markProcessed(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget) -> a
     void markTriggerClassInitBeforeAnySideEffect(com.android.tools.r8.graph.DexEncodedMethod,boolean) -> a
     void methodInitializesClassesOnNormalExit(com.android.tools.r8.graph.DexEncodedMethod,java.util.Set) -> a
@@ -52369,7 +52456,7 @@
     void methodReturnValueOnlyDependsOnArguments(com.android.tools.r8.graph.DexEncodedMethod) -> d
     void classInitializerMayBePostponed(com.android.tools.r8.graph.DexEncodedMethod) -> e
     void markMethodCannotBeKept(com.android.tools.r8.graph.DexEncodedMethod) -> f
-com.android.tools.r8.ir.conversion.MethodProcessor -> com.android.tools.r8.internal.XE:
+com.android.tools.r8.ir.conversion.MethodProcessor -> com.android.tools.r8.internal.cF:
     1:1:void <init>():10:10 -> <init>
     com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext createMethodProcessingContext(com.android.tools.r8.graph.ProgramMethod) -> a
     com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation getCallSiteInformation() -> a
@@ -52377,14 +52464,14 @@
     boolean isProcessedConcurrently(com.android.tools.r8.graph.ProgramMethod) -> b
     void scheduleDesugaredMethodForProcessing(com.android.tools.r8.graph.ProgramMethod) -> c
     boolean shouldApplyCodeRewritings(com.android.tools.r8.graph.ProgramMethod) -> d
-com.android.tools.r8.ir.conversion.MethodProcessorWithWave -> com.android.tools.r8.internal.YE:
+com.android.tools.r8.ir.conversion.MethodProcessorWithWave -> com.android.tools.r8.internal.dF:
     com.android.tools.r8.utils.collections.ProgramMethodSet waveExtension -> b
     com.android.tools.r8.utils.collections.ProgramMethodSet wave -> a
     1:4:void <init>():10:13 -> <init>
     1:1:com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation getCallSiteInformation():17:17 -> a
     1:1:boolean isProcessedConcurrently(com.android.tools.r8.graph.ProgramMethod):22:22 -> b
     1:1:void scheduleDesugaredMethodForProcessing(com.android.tools.r8.graph.ProgramMethod):27:27 -> c
-com.android.tools.r8.ir.conversion.OneTimeMethodProcessor -> com.android.tools.r8.internal.MK:
+com.android.tools.r8.ir.conversion.OneTimeMethodProcessor -> com.android.tools.r8.internal.RK:
     com.android.tools.r8.contexts.CompilationContext$ProcessorContext processorContext -> c
     1:3:void <init>(com.android.tools.r8.contexts.CompilationContext$ProcessorContext,com.android.tools.r8.utils.collections.ProgramMethodSet):23:25 -> <init>
     1:1:com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$Builder builder(com.android.tools.r8.contexts.CompilationContext$ProcessorContext):29:29 -> a
@@ -52412,16 +52499,16 @@
     23:27:void forEachWaveWithExtension(com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$MethodAction,java.util.concurrent.ExecutorService):82 -> a
     28:28:void lambda$forEachWaveWithExtension$0(com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$MethodAction,com.android.tools.r8.graph.ProgramMethod):80:80 -> a
     boolean shouldApplyCodeRewritings(com.android.tools.r8.graph.ProgramMethod) -> d
-com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$Builder -> com.android.tools.r8.internal.KK:
+com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$Builder -> com.android.tools.r8.internal.PK:
     com.android.tools.r8.utils.collections.ProgramMethodSet methodsToProcess -> a
     com.android.tools.r8.contexts.CompilationContext$ProcessorContext processorContext -> b
     1:1:void <init>(com.android.tools.r8.contexts.CompilationContext$ProcessorContext):91:91 -> <init>
     2:6:void <init>(com.android.tools.r8.contexts.CompilationContext$ProcessorContext):88:92 -> <init>
     1:1:com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$Builder add(com.android.tools.r8.graph.ProgramMethod):96:96 -> a
     2:2:com.android.tools.r8.ir.conversion.OneTimeMethodProcessor build():101:101 -> a
-com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$MethodAction -> com.android.tools.r8.internal.LK:
+com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$MethodAction -> com.android.tools.r8.internal.QK:
     void accept(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext) -> a
-com.android.tools.r8.ir.conversion.PostMethodProcessor -> com.android.tools.r8.internal.sM:
+com.android.tools.r8.ir.conversion.PostMethodProcessor -> com.android.tools.r8.internal.xM:
     java.util.Deque waves -> d
     boolean $assertionsDisabled -> f
     com.android.tools.r8.utils.collections.ProgramMethodSet processed -> e
@@ -52440,8 +52527,8 @@
     31:35:void forEachMethod(com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$MethodAction,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):157 -> a
     36:38:void forEachMethod(com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$MethodAction,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):158:160 -> a
     1:2:boolean shouldApplyCodeRewritings(com.android.tools.r8.graph.ProgramMethod):58:59 -> d
-com.android.tools.r8.ir.conversion.PostMethodProcessor$1 -> com.android.tools.r8.internal.qM:
-com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder -> com.android.tools.r8.internal.rM:
+com.android.tools.r8.ir.conversion.PostMethodProcessor$1 -> com.android.tools.r8.internal.vM:
+com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder -> com.android.tools.r8.internal.wM:
     com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder methodsToReprocessBuilder -> a
     1:3:void <init>(com.android.tools.r8.graph.GraphLens):66:68 -> <init>
     1:1:void add(com.android.tools.r8.graph.ProgramMethod):73:73 -> a
@@ -52454,7 +52541,7 @@
     27:30:void lambda$build$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexMethod):99:102 -> a
     31:31:boolean com.android.tools.r8.utils.collections.ProgramMethodSet.createAndAdd(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):78:78 -> a
     31:31:void lambda$build$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexMethod):102 -> a
-com.android.tools.r8.ir.conversion.PrimaryMethodProcessor -> com.android.tools.r8.internal.cN:
+com.android.tools.r8.ir.conversion.PrimaryMethodProcessor -> com.android.tools.r8.internal.hN:
     com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation callSiteInformation -> d
     com.android.tools.r8.contexts.CompilationContext$ProcessorContext processorContext -> f
     com.android.tools.r8.graph.AppView appView -> c
@@ -52478,13 +52565,13 @@
     46:48:void forEachMethod(com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$MethodAction,com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$WaveStartAction,com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$WaveDoneAction,com.android.tools.r8.utils.Timing,java.util.concurrent.ExecutorService):146:148 -> a
     boolean isPrimaryMethodProcessor() -> b
     1:2:boolean shouldApplyCodeRewritings(com.android.tools.r8.graph.ProgramMethod):82:83 -> d
-com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$MethodAction -> com.android.tools.r8.internal.ZM:
+com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$MethodAction -> com.android.tools.r8.internal.eN:
     com.android.tools.r8.utils.Timing apply(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext) -> a
-com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$WaveDoneAction -> com.android.tools.r8.internal.aN:
+com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$WaveDoneAction -> com.android.tools.r8.internal.fN:
     void notifyWaveDone(com.android.tools.r8.utils.collections.ProgramMethodSet,java.util.concurrent.ExecutorService) -> a
-com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$WaveStartAction -> com.android.tools.r8.internal.bN:
+com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$WaveStartAction -> com.android.tools.r8.internal.gN:
     void notifyWaveStart(com.android.tools.r8.utils.collections.ProgramMethodSet) -> a
-com.android.tools.r8.ir.conversion.SourceCode -> com.android.tools.r8.internal.cW:
+com.android.tools.r8.ir.conversion.SourceCode -> com.android.tools.r8.internal.hW:
     void buildBlockTransfer(com.android.tools.r8.ir.conversion.IRBuilder,int,int,boolean) -> a
     void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean) -> a
     void buildPostlude(com.android.tools.r8.ir.conversion.IRBuilder) -> a
@@ -52508,11 +52595,11 @@
     int instructionOffset(int) -> e
     boolean verifyRegister(int) -> f
     int instructionIndex(int) -> g
-com.android.tools.r8.ir.conversion.StringSwitchConverter -> com.android.tools.r8.internal.NX:
+com.android.tools.r8.ir.conversion.StringSwitchConverter -> com.android.tools.r8.internal.SX:
     1:7:boolean com.android.tools.r8.ir.conversion.StringSwitchConverter.isDefinedByStringHashCode(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):187:193 -> a
     1:7:boolean access$700(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):107 -> a
-com.android.tools.r8.ir.conversion.StringSwitchConverter$1 -> com.android.tools.r8.internal.FX:
-com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping -> com.android.tools.r8.internal.HX:
+com.android.tools.r8.ir.conversion.StringSwitchConverter$1 -> com.android.tools.r8.internal.KX:
+com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping -> com.android.tools.r8.internal.MX:
     com.android.tools.r8.ir.code.Phi idValue -> b
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap mapping -> c
     com.android.tools.r8.ir.code.BasicBlock fallthroughBlock -> a
@@ -52523,7 +52610,7 @@
     2:2:com.android.tools.r8.ir.code.BasicBlock access$002(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.BasicBlock):647:647 -> a
     1:1:com.android.tools.r8.ir.code.Phi access$100(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping):647:647 -> b
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap access$300(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping):647:647 -> c
-com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping$Builder -> com.android.tools.r8.internal.GX:
+com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping$Builder -> com.android.tools.r8.internal.LX:
     1:1:void <init>():649:649 -> <init>
     1:1:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping build(com.android.tools.r8.ir.code.BasicBlock):676:676 -> a
     2:2:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.BasicBlock):688:688 -> a
@@ -52546,14 +52633,14 @@
     66:80:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping extendWithSwitch(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.code.BasicBlock):766:780 -> a
     81:81:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping$Builder.setFallthroughBlock(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.BasicBlock):682:682 -> a
     81:81:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping extendWithSwitch(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.code.BasicBlock):769 -> a
-com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo -> com.android.tools.r8.internal.JX:
+com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo -> com.android.tools.r8.internal.OX:
     java.util.Map mapping -> c
     com.android.tools.r8.ir.code.Value value -> d
     com.android.tools.r8.ir.code.BasicBlock insertionBlock -> b
     com.android.tools.r8.ir.code.BasicBlock fallthroughBlock -> a
     1:5:void <init>(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,java.util.Map,com.android.tools.r8.ir.code.Value):263:267 -> <init>
     1:29:void createAndInsertStringSwitch(com.android.tools.r8.ir.code.IRCode):276:304 -> a
-com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo$Builder -> com.android.tools.r8.internal.IX:
+com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo$Builder -> com.android.tools.r8.internal.NX:
     boolean $assertionsDisabled -> b
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
     1:1:void <clinit>():198:198 -> <clinit>
@@ -52584,7 +52671,7 @@
     49:49:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo build(com.android.tools.r8.ir.code.BasicBlock):238 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     50:59:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo build(com.android.tools.r8.ir.code.BasicBlock):238:247 -> a
-com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping -> com.android.tools.r8.internal.LX:
+com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping -> com.android.tools.r8.internal.QX:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap mapping -> c
     com.android.tools.r8.ir.code.Value stringHashValue -> b
     com.android.tools.r8.ir.code.BasicBlock insertionBlock -> a
@@ -52595,7 +52682,7 @@
     3:7:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):631:635 -> <init>
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap access$200(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping):308:308 -> a
     1:1:com.android.tools.r8.ir.code.Value access$500(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping):308:308 -> b
-com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder -> com.android.tools.r8.internal.KX:
+com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder -> com.android.tools.r8.internal.PX:
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
     com.android.tools.r8.ir.code.Phi intermediateIdValue -> c
     com.android.tools.r8.ir.code.Value stringValue -> d
@@ -52676,11 +52763,11 @@
     28:30:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.BasicBlock.startOfGotoChain():1545:1547 -> b
     28:30:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extendWithPredecessor(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):430 -> b
     31:31:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extendWithPredecessor(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):431:431 -> b
-com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils -> com.android.tools.r8.internal.MX:
+com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils -> com.android.tools.r8.internal.RX:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():797:797 -> <clinit>
     1:8:com.android.tools.r8.ir.code.BasicBlock fallthroughBlock(com.android.tools.r8.ir.code.JumpInstruction):805:812 -> a
-com.android.tools.r8.ir.conversion.StringSwitchRemover -> com.android.tools.r8.internal.SX:
+com.android.tools.r8.ir.conversion.StringSwitchRemover -> com.android.tools.r8.internal.XX:
     com.android.tools.r8.ir.analysis.type.ClassTypeElement stringType -> c
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.naming.IdentifierNameStringMarker identifierNameStringMarker -> b
@@ -52695,8 +52782,8 @@
     21:22:void run(com.android.tools.r8.ir.code.IRCode):79 -> b
     23:23:void run(com.android.tools.r8.ir.code.IRCode):84:84 -> b
     24:44:void run(com.android.tools.r8.ir.code.IRCode):80:100 -> b
-com.android.tools.r8.ir.conversion.StringSwitchRemover$1 -> com.android.tools.r8.internal.OX:
-com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleEqualityBasedStringSwitchRemover -> com.android.tools.r8.internal.PX:
+com.android.tools.r8.ir.conversion.StringSwitchRemover$1 -> com.android.tools.r8.internal.TX:
+com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleEqualityBasedStringSwitchRemover -> com.android.tools.r8.internal.UX:
     com.android.tools.r8.ir.code.BasicBlock fallthroughBlock -> g
     com.android.tools.r8.ir.code.BasicBlock block -> f
     com.android.tools.r8.ir.conversion.StringSwitchRemover this$0 -> i
@@ -52722,7 +52809,7 @@
     61:62:void com.android.tools.r8.ir.code.Goto.<init>(com.android.tools.r8.ir.code.BasicBlock):21:22 -> a
     61:62:void removeStringSwitch():255 -> a
     63:73:void removeStringSwitch():255:265 -> a
-com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover -> com.android.tools.r8.internal.QX:
+com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover -> com.android.tools.r8.internal.VX:
     com.android.tools.r8.ir.code.BasicBlock idSwitchBlock -> h
     com.android.tools.r8.ir.conversion.StringSwitchRemover this$0 -> l
     boolean $assertionsDisabled -> m
@@ -52784,13 +52871,13 @@
     110:126:void removeStringSwitch():367:383 -> a
     127:128:com.android.tools.r8.ir.code.IntSwitch com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createIdSwitch(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):471:472 -> a
     127:128:void removeStringSwitch():386 -> a
-    129:131:int[] com.android.tools.r8.utils.ArrayUtils.createIdentityArray(int):135:137 -> a
+    129:131:int[] com.android.tools.r8.utils.ArrayUtils.createIdentityArray(int):139:141 -> a
     129:131:com.android.tools.r8.ir.code.IntSwitch com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createIdSwitch(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):472 -> a
     129:131:void removeStringSwitch():386 -> a
     132:140:com.android.tools.r8.ir.code.IntSwitch com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createIdSwitch(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):473:481 -> a
     132:140:void removeStringSwitch():386 -> a
     141:143:void removeStringSwitch():387:389 -> a
-com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleStringSwitchRemover -> com.android.tools.r8.internal.RX:
+com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleStringSwitchRemover -> com.android.tools.r8.internal.WX:
     java.util.ListIterator blockIterator -> b
     java.util.Set newBlocksWithStrings -> c
     com.android.tools.r8.ir.code.Value stringValue -> e
@@ -52799,7 +52886,7 @@
     1:1:void <init>(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.StringSwitch,java.util.Set,com.android.tools.r8.ir.conversion.StringSwitchRemover$1):153:153 -> <init>
     2:7:void <init>(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.StringSwitch,java.util.Set):166:171 -> <init>
     void removeStringSwitch() -> a
-com.android.tools.r8.ir.conversion.SwitchPayloadResolver -> com.android.tools.r8.internal.zY:
+com.android.tools.r8.ir.conversion.SwitchPayloadResolver -> com.android.tools.r8.internal.EY:
     java.util.Map unresolvedPayload -> a
     java.util.Map payloadToData -> b
     boolean $assertionsDisabled -> c
@@ -52810,13 +52897,13 @@
     22:22:int[] absoluteTargets(int):68:68 -> a
     23:23:void clear():84:84 -> a
     1:1:int[] getKeys(int):72:72 -> b
-com.android.tools.r8.ir.conversion.SwitchPayloadResolver$PayloadData -> com.android.tools.r8.internal.yY:
+com.android.tools.r8.ir.conversion.SwitchPayloadResolver$PayloadData -> com.android.tools.r8.internal.DY:
     int[] absoluteTargets -> b
     int[] keys -> c
     int userOffset -> a
     1:1:void <init>(int):26:26 -> <init>
     2:7:void <init>(int):22:27 -> <init>
-com.android.tools.r8.ir.conversion.SyntheticStraightLineSourceCode -> com.android.tools.r8.internal.UY:
+com.android.tools.r8.ir.conversion.SyntheticStraightLineSourceCode -> com.android.tools.r8.internal.ZY:
     java.util.List instructionBuilders -> a
     com.android.tools.r8.ir.code.Position position -> b
     1:3:void <init>(java.util.List,com.android.tools.r8.ir.code.Position):21:23 -> <init>
@@ -52842,7 +52929,7 @@
     1:1:com.android.tools.r8.ir.code.Position getCurrentPosition():76:76 -> e
     boolean verifyRegister(int) -> f
     int instructionIndex(int) -> g
-com.android.tools.r8.ir.conversion.TypeConstraintResolver -> com.android.tools.r8.internal.V00:
+com.android.tools.r8.ir.conversion.TypeConstraintResolver -> com.android.tools.r8.internal.b10:
     java.util.Map unificationParents -> c
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.ir.conversion.IRBuilder builder -> b
@@ -52961,7 +53048,7 @@
     183:183:void merge(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):190 -> a
     184:199:void com.android.tools.r8.ir.conversion.TypeConstraintResolver.link(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):250:265 -> a
     184:199:void merge(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):190 -> a
-com.android.tools.r8.ir.conversion.callgraph.CallGraph -> com.android.tools.r8.internal.k6:
+com.android.tools.r8.ir.conversion.callgraph.CallGraph -> com.android.tools.r8.internal.l6:
     boolean $assertionsDisabled -> b
     int $r8$clinit -> c
     1:1:void <clinit>():39:39 -> <clinit>
@@ -52981,13 +53068,13 @@
     1:1:com.android.tools.r8.utils.collections.ProgramMethodSet extractRoots():76:76 -> d
     2:14:com.android.tools.r8.utils.collections.ProgramMethodSet com.android.tools.r8.ir.conversion.callgraph.CallGraph.extractNodes(java.util.function.Predicate,java.util.function.Consumer):80:92 -> d
     2:14:com.android.tools.r8.utils.collections.ProgramMethodSet extractRoots():76 -> d
-com.android.tools.r8.ir.conversion.callgraph.CallGraphBase -> com.android.tools.r8.internal.l6:
+com.android.tools.r8.ir.conversion.callgraph.CallGraphBase -> com.android.tools.r8.internal.m6:
     java.util.Map nodes -> a
     1:2:void <init>(java.util.Map):16:17 -> <init>
     1:1:com.android.tools.r8.ir.conversion.callgraph.NodeBase getNode(com.android.tools.r8.graph.ProgramMethod):25:25 -> a
     2:2:java.util.Collection getNodes():29:29 -> a
     1:1:boolean isEmpty():21:21 -> b
-com.android.tools.r8.ir.conversion.callgraph.CallGraphBuilder -> com.android.tools.r8.internal.m6:
+com.android.tools.r8.ir.conversion.callgraph.CallGraphBuilder -> com.android.tools.r8.internal.n6:
     boolean $assertionsDisabled -> e
     1:1:void <clinit>():18:18 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView):21:21 -> <init>
@@ -52996,7 +53083,7 @@
     3:3:void processClass(com.android.tools.r8.graph.DexProgramClass):30:30 -> a
     4:6:boolean verifyAllMethodsWithCodeExists():46:48 -> a
     1:8:void processMethod(com.android.tools.r8.graph.ProgramMethod):34:41 -> c
-com.android.tools.r8.ir.conversion.callgraph.CallGraphBuilderBase -> com.android.tools.r8.internal.n6:
+com.android.tools.r8.ir.conversion.callgraph.CallGraphBuilderBase -> com.android.tools.r8.internal.o6:
     java.util.Map nodes -> b
     java.util.Map possibleProgramTargetsCache -> c
     com.android.tools.r8.graph.AppView appView -> a
@@ -53005,13 +53092,13 @@
     com.android.tools.r8.ir.conversion.callgraph.NodeBase createNode(com.android.tools.r8.graph.ProgramMethod) -> a
     1:1:com.android.tools.r8.ir.conversion.callgraph.NodeBase lambda$getOrCreateNode$0(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):30:30 -> a
     1:1:com.android.tools.r8.ir.conversion.callgraph.NodeBase getOrCreateNode(com.android.tools.r8.graph.ProgramMethod):30:30 -> b
-com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation -> com.android.tools.r8.internal.r6:
+com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation -> com.android.tools.r8.internal.s6:
     1:1:void <init>():16:16 -> <init>
     boolean hasSingleCallSite(com.android.tools.r8.graph.ProgramMethod) -> a
     1:1:com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation empty():31:31 -> a
     boolean isMultiCallerInlineCandidate(com.android.tools.r8.graph.ProgramMethod) -> b
     void unsetCallSiteInformation(com.android.tools.r8.graph.ProgramMethod) -> c
-com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation$CallGraphBasedCallSiteInformation -> com.android.tools.r8.internal.p6:
+com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation$CallGraphBasedCallSiteInformation -> com.android.tools.r8.internal.q6:
     java.util.Set singleCallerMethods -> a
     java.util.Set multiCallerInlineCandidates -> b
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.callgraph.CallGraph):59:59 -> <init>
@@ -53021,7 +53108,7 @@
     3:3:boolean hasSingleCallSite(com.android.tools.r8.graph.ProgramMethod):107:107 -> a
     1:1:boolean isMultiCallerInlineCandidate(com.android.tools.r8.graph.ProgramMethod):118:118 -> b
     1:2:void unsetCallSiteInformation(com.android.tools.r8.graph.ProgramMethod):123:124 -> c
-com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation$EmptyCallSiteInformation -> com.android.tools.r8.internal.q6:
+com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation$EmptyCallSiteInformation -> com.android.tools.r8.internal.r6:
     com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation$EmptyCallSiteInformation EMPTY_INFO -> a
     1:1:void <clinit>():36:36 -> <clinit>
     1:1:void <init>():34:34 -> <init>
@@ -53029,7 +53116,7 @@
     boolean isMultiCallerInlineCandidate(com.android.tools.r8.graph.ProgramMethod) -> b
     1:1:com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation$EmptyCallSiteInformation access$000():34:34 -> b
     void unsetCallSiteInformation(com.android.tools.r8.graph.ProgramMethod) -> c
-com.android.tools.r8.ir.conversion.callgraph.CycleEliminator -> com.android.tools.r8.internal.me:
+com.android.tools.r8.ir.conversion.callgraph.CycleEliminator -> com.android.tools.r8.internal.ne:
     java.util.Deque writerStack -> d
     java.util.Map stackEntryInfo -> b
     java.util.Deque clinitCallStack -> c
@@ -53104,40 +53191,40 @@
     74:76:void recordCallEdgeRemoval(com.android.tools.r8.ir.conversion.callgraph.Node,com.android.tools.r8.ir.conversion.callgraph.Node):447:449 -> b
     1:1:void removeCallEdge(com.android.tools.r8.ir.conversion.callgraph.Node,com.android.tools.r8.ir.conversion.callgraph.Node):371:371 -> c
     1:1:void removeFieldReadEdge(com.android.tools.r8.ir.conversion.callgraph.Node,com.android.tools.r8.ir.conversion.callgraph.Node):375:375 -> d
-com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$1 -> com.android.tools.r8.internal.ke:
-com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$CallEdge -> com.android.tools.r8.internal.le:
+com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$1 -> com.android.tools.r8.internal.le:
+com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$CallEdge -> com.android.tools.r8.internal.me:
     com.android.tools.r8.ir.conversion.callgraph.Node callee -> b
     com.android.tools.r8.ir.conversion.callgraph.Node caller -> a
     1:3:void <init>(com.android.tools.r8.ir.conversion.callgraph.Node,com.android.tools.r8.ir.conversion.callgraph.Node):35:37 -> <init>
     1:1:com.android.tools.r8.ir.conversion.callgraph.Node access$400(com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$CallEdge):30:30 -> a
     1:1:com.android.tools.r8.ir.conversion.callgraph.Node access$500(com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$CallEdge):30:30 -> b
-com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$CycleEliminationResult -> com.android.tools.r8.internal.me$a:
+com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$CycleEliminationResult -> com.android.tools.r8.internal.ne$a:
     java.util.Map removedCallEdges -> a
     1:2:void <init>(java.util.Map):58:59 -> <init>
     1:2:int numberOfRemovedCallEdges():64:65 -> a
-com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$IteratorWorkItem -> com.android.tools.r8.internal.ne:
+com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$IteratorWorkItem -> com.android.tools.r8.internal.oe:
     java.util.Iterator calleesAndWriters -> b
     com.android.tools.r8.ir.conversion.callgraph.Node callerOrReader -> a
     1:3:void <init>(com.android.tools.r8.ir.conversion.callgraph.Node,java.util.Iterator):186:188 -> <init>
     com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$IteratorWorkItem asIterator() -> a
     1:1:java.util.Iterator access$200(com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$IteratorWorkItem):182:182 -> a
     1:1:com.android.tools.r8.ir.conversion.callgraph.Node access$300(com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$IteratorWorkItem):182:182 -> b
-com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$NodeWorkItem -> com.android.tools.r8.internal.oe:
+com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$NodeWorkItem -> com.android.tools.r8.internal.pe:
     com.android.tools.r8.ir.conversion.callgraph.Node node -> a
     1:2:void <init>(com.android.tools.r8.ir.conversion.callgraph.Node):167:168 -> <init>
     1:1:com.android.tools.r8.ir.conversion.callgraph.Node access$100(com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$NodeWorkItem):164:164 -> a
     com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$NodeWorkItem asNode() -> b
-com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$StackEntryInfo -> com.android.tools.r8.internal.pe:
+com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$StackEntryInfo -> com.android.tools.r8.internal.qe:
     com.android.tools.r8.ir.conversion.callgraph.Node predecessor -> b
     boolean processed -> c
     int index -> a
     1:3:void <init>(int,com.android.tools.r8.ir.conversion.callgraph.Node):48:50 -> <init>
-com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$WorkItem -> com.android.tools.r8.internal.qe:
+com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$WorkItem -> com.android.tools.r8.internal.re:
     1:1:void <init>():146:146 -> <init>
     2:2:void <init>(com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$1):146:146 -> <init>
     com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$IteratorWorkItem asIterator() -> a
     com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$NodeWorkItem asNode() -> b
-com.android.tools.r8.ir.conversion.callgraph.IRProcessingCallGraphBuilderBase -> com.android.tools.r8.internal.xn:
+com.android.tools.r8.ir.conversion.callgraph.IRProcessingCallGraphBuilderBase -> com.android.tools.r8.internal.zn:
     boolean $assertionsDisabled -> d
     1:1:void <clinit>():16:16 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView):19:19 -> <init>
@@ -53156,7 +53243,7 @@
     28:28:void lambda$build$0(com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker):31:31 -> a
     29:29:com.android.tools.r8.ir.conversion.callgraph.Node com.android.tools.r8.ir.conversion.callgraph.IRProcessingCallGraphBuilderBase.createNode(com.android.tools.r8.graph.ProgramMethod):49:49 -> a
     29:29:com.android.tools.r8.ir.conversion.callgraph.NodeBase createNode(com.android.tools.r8.graph.ProgramMethod):16 -> a
-com.android.tools.r8.ir.conversion.callgraph.IRProcessingCallGraphUseRegistry -> com.android.tools.r8.internal.yn:
+com.android.tools.r8.ir.conversion.callgraph.IRProcessingCallGraphUseRegistry -> com.android.tools.r8.internal.An:
     com.android.tools.r8.graph.FieldAccessInfoCollection fieldAccessInfoCollection -> k
     boolean $assertionsDisabled -> l
     1:1:void <clinit>():25:25 -> <clinit>
@@ -53195,7 +53282,7 @@
     17:17:void processFieldRead(com.android.tools.r8.graph.DexField):78 -> i
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     18:20:void processFieldRead(com.android.tools.r8.graph.DexField):79:81 -> i
-com.android.tools.r8.ir.conversion.callgraph.InvokeExtractor -> com.android.tools.r8.internal.Cu:
+com.android.tools.r8.ir.conversion.callgraph.InvokeExtractor -> com.android.tools.r8.internal.Eu:
     java.util.function.Function nodeFactory -> g
     boolean $assertionsDisabled -> j
     com.android.tools.r8.ir.conversion.callgraph.NodeBase currentMethod -> f
@@ -53242,7 +53329,7 @@
     1:1:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):178:178 -> f
     void registerStaticFieldWrite(com.android.tools.r8.graph.DexField) -> g
     1:1:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):183:183 -> g
-com.android.tools.r8.ir.conversion.callgraph.Node -> com.android.tools.r8.internal.xH:
+com.android.tools.r8.ir.conversion.callgraph.Node -> com.android.tools.r8.internal.CH:
     java.util.Set writers -> g
     java.util.Set callees -> d
     java.util.Set callers -> e
@@ -53293,14 +53380,14 @@
     216:216:java.lang.String toString():184:184 -> toString
     217:217:java.lang.String toString():185:185 -> toString
     187:214:java.lang.String toString():186:213 -> toString
-com.android.tools.r8.ir.conversion.callgraph.NodeBase -> com.android.tools.r8.internal.yH:
+com.android.tools.r8.ir.conversion.callgraph.NodeBase -> com.android.tools.r8.internal.DH:
     com.android.tools.r8.graph.ProgramMethod method -> b
     1:2:void <init>(com.android.tools.r8.graph.ProgramMethod):14:15 -> <init>
     void addCallerConcurrently(com.android.tools.r8.ir.conversion.callgraph.NodeBase,boolean) -> a
     void addReaderConcurrently(com.android.tools.r8.ir.conversion.callgraph.NodeBase) -> a
     1:1:com.android.tools.r8.graph.DexEncodedMethod getMethod():23:23 -> a
     1:1:com.android.tools.r8.graph.ProgramMethod getProgramMethod():27:27 -> b
-com.android.tools.r8.ir.conversion.callgraph.PartialCallGraphBuilder -> com.android.tools.r8.internal.SL:
+com.android.tools.r8.ir.conversion.callgraph.PartialCallGraphBuilder -> com.android.tools.r8.internal.XL:
     boolean $assertionsDisabled -> f
     com.android.tools.r8.utils.collections.ProgramMethodSet seeds -> e
     1:1:void <clinit>():15:15 -> <clinit>
@@ -53309,103 +53396,112 @@
     2:2:void populateGraph(java.util.concurrent.ExecutorService):27:27 -> a
     3:4:boolean verifyAllMethodsWithCodeExists():43:44 -> a
     1:8:void processMethod(com.android.tools.r8.graph.ProgramMethod):31:38 -> c
-com.android.tools.r8.ir.desugar.BackportedMethodRewriter -> com.android.tools.r8.internal.h4:
+com.android.tools.r8.ir.desugar.BackportedMethodRewriter -> com.android.tools.r8.internal.i4:
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.ir.desugar.BackportedMethodRewriter$RewritableMethods rewritableMethods -> b
     boolean $assertionsDisabled -> c
-    1:1:void <clinit>():53:53 -> <clinit>
-    1:4:void <init>(com.android.tools.r8.graph.AppView):58:61 -> <init>
-    1:8:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):78:85 -> a
-    9:10:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):92:93 -> a
-    11:27:java.util.List generateListOfBackportedMethods(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):98:114 -> a
-    28:28:void registerAssumedLibraryTypes(com.android.tools.r8.utils.InternalOptions):121:121 -> a
-    29:82:void com.android.tools.r8.ir.desugar.backports.BackportedMethods.registerSynthesizedCodeReferences(com.android.tools.r8.graph.DexItemFactory):58:111 -> a
-    29:82:void registerAssumedLibraryTypes(com.android.tools.r8.utils.InternalOptions):121 -> a
-    83:83:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodProvider getMethodProviderOrNull(com.android.tools.r8.graph.DexMethod):126:126 -> a
-    84:84:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
-    84:84:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodProvider getMethodProviderOrNull(com.android.tools.r8.graph.DexMethod):126 -> a
+    1:1:void <clinit>():54:54 -> <clinit>
+    1:4:void <init>(com.android.tools.r8.graph.AppView):59:62 -> <init>
+    1:8:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):79:86 -> a
+    9:12:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):93:96 -> a
+    13:13:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexClassAndMember.getContextType():36:36 -> a
+    13:13:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):97 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    85:93:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodProvider getMethodProviderOrNull(com.android.tools.r8.graph.DexMethod):127:135 -> a
-    94:94:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():441:441 -> a
-    94:94:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodProvider getMethodProviderOrNull(com.android.tools.r8.graph.DexMethod):135 -> a
+    14:14:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):97:97 -> a
+    15:31:java.util.List generateListOfBackportedMethods(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):102:118 -> a
+    32:32:void registerAssumedLibraryTypes(com.android.tools.r8.utils.InternalOptions):125:125 -> a
+    33:87:void com.android.tools.r8.ir.desugar.backports.BackportedMethods.registerSynthesizedCodeReferences(com.android.tools.r8.graph.DexItemFactory):58:112 -> a
+    33:87:void registerAssumedLibraryTypes(com.android.tools.r8.utils.InternalOptions):125 -> a
+    88:88:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodProvider getMethodProviderOrNull(com.android.tools.r8.graph.DexMethod):129:129 -> a
+    89:89:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
+    89:89:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodProvider getMethodProviderOrNull(com.android.tools.r8.graph.DexMethod):129 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    95:109:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodProvider getMethodProviderOrNull(com.android.tools.r8.graph.DexMethod):135:149 -> a
-    1:1:boolean hasBackports():65:65 -> b
+    90:98:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodProvider getMethodProviderOrNull(com.android.tools.r8.graph.DexMethod):130:138 -> a
+    99:99:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():441:441 -> a
+    99:99:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodProvider getMethodProviderOrNull(com.android.tools.r8.graph.DexMethod):138 -> a
+      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
+    100:114:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodProvider getMethodProviderOrNull(com.android.tools.r8.graph.DexMethod):138:152 -> a
+    1:1:boolean hasBackports():66:66 -> b
 com.android.tools.r8.ir.desugar.BackportedMethodRewriter$FullMethodInvokeRewriter -> com.android.tools.r8.internal.Z3:
-    1:1:void <init>():1521:1521 -> <init>
-    1:1:com.android.tools.r8.cf.code.CfInstruction rewriteSingle(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory):1525:1525 -> a
+    1:1:void <init>():1569:1569 -> <init>
+    1:1:com.android.tools.r8.cf.code.CfInstruction rewriteSingle(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory):1573:1573 -> a
 com.android.tools.r8.ir.desugar.BackportedMethodRewriter$InvokeRewriter -> com.android.tools.r8.internal.a4:
     com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriter -> b
-    1:2:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter):1419:1420 -> <init>
-    1:1:java.util.Collection rewriteInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.backports.BackportedMethodDesugaringEventConsumer,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator):1430:1430 -> a
+    1:2:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter):1449:1450 -> <init>
+    1:1:java.util.Collection rewriteInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.backports.BackportedMethodDesugaringEventConsumer,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator):1460:1460 -> a
 com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodGenerator -> com.android.tools.r8.internal.b4:
     com.android.tools.r8.ir.desugar.BackportedMethodRewriter$TemplateMethodFactory factory -> b
-    1:1:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.BackportedMethodRewriter$TemplateMethodFactory):1440:1440 -> <init>
-    2:3:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.BackportedMethodRewriter$TemplateMethodFactory,java.lang.String):1444:1445 -> <init>
-    1:3:java.util.Collection rewriteInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.backports.BackportedMethodDesugaringEventConsumer,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator):1456:1458 -> a
-    4:7:com.android.tools.r8.graph.ProgramMethod getSyntheticMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1464:1467 -> a
-    8:8:com.android.tools.r8.graph.ProgramMethod getSyntheticMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1465:1465 -> a
-    9:12:void lambda$getSyntheticMethod$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticMethodBuilder):1471:1474 -> a
-    13:13:com.android.tools.r8.graph.Code lambda$getSyntheticMethod$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod):1474:1474 -> a
-    14:14:com.android.tools.r8.graph.Code com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodGenerator.generateTemplateMethod(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1482:1482 -> a
-    14:14:com.android.tools.r8.graph.Code lambda$getSyntheticMethod$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod):1474 -> a
-    15:15:com.android.tools.r8.graph.DexProto getProto(com.android.tools.r8.graph.DexItemFactory):1478:1478 -> a
+    1:1:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.BackportedMethodRewriter$TemplateMethodFactory):1470:1470 -> <init>
+    2:3:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.BackportedMethodRewriter$TemplateMethodFactory,java.lang.String):1474:1475 -> <init>
+    1:1:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind getSyntheticKind():1480:1480 -> a
+    2:4:java.util.Collection rewriteInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.backports.BackportedMethodDesugaringEventConsumer,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator):1490:1492 -> a
+    5:8:com.android.tools.r8.graph.ProgramMethod getSyntheticMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1498:1501 -> a
+    9:9:com.android.tools.r8.graph.ProgramMethod getSyntheticMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1499:1499 -> a
+    10:13:void lambda$getSyntheticMethod$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticMethodBuilder):1505:1508 -> a
+    14:14:com.android.tools.r8.graph.Code lambda$getSyntheticMethod$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod):1508:1508 -> a
+    15:15:com.android.tools.r8.graph.Code com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodGenerator.generateTemplateMethod(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1516:1516 -> a
+    15:15:com.android.tools.r8.graph.Code lambda$getSyntheticMethod$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod):1508 -> a
+    16:16:com.android.tools.r8.graph.DexProto getProto(com.android.tools.r8.graph.DexItemFactory):1512:1512 -> a
 com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter -> com.android.tools.r8.internal.c4:
     com.android.tools.r8.cf.code.CfInstruction rewriteSingle(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory) -> a
-    1:1:java.util.Collection rewrite(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.desugar.LocalStackAllocator):1517:1517 -> a
+    1:1:java.util.Collection rewrite(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.desugar.LocalStackAllocator):1565:1565 -> a
 com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodProvider -> com.android.tools.r8.internal.d4:
     com.android.tools.r8.graph.DexMethod method -> a
-    1:2:void <init>(com.android.tools.r8.graph.DexMethod):1402:1403 -> <init>
+    1:2:void <init>(com.android.tools.r8.graph.DexMethod):1432:1433 -> <init>
     java.util.Collection rewriteInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.backports.BackportedMethodDesugaringEventConsumer,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator) -> a
 com.android.tools.r8.ir.desugar.BackportedMethodRewriter$RewritableMethods -> com.android.tools.r8.internal.e4:
     java.util.Map rewritable -> b
     com.android.tools.r8.graph.AppView appView -> a
     boolean $assertionsDisabled -> c
-    1:1:void <clinit>():154:154 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.AppView):161:161 -> <init>
-    2:53:void <init>(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.AppView):159:210 -> <init>
-    1:1:boolean isEmpty():214:214 -> a
-    2:2:void visit(java.util.function.Consumer):218:218 -> a
-    3:133:void initializeAndroidKMethodProviders(com.android.tools.r8.graph.DexItemFactory):223:353 -> a
-    134:134:com.android.tools.r8.graph.CfCode lambda$initializeAndroidRMethodProviders$0(int,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):923:923 -> a
-    135:156:void addProvider(com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodProvider):1369:1390 -> a
-    157:157:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodProvider getProvider(com.android.tools.r8.graph.DexMethod):1394:1394 -> a
-    1:338:void initializeAndroidNMethodProviders(com.android.tools.r8.graph.DexItemFactory):359:696 -> b
-    339:339:com.android.tools.r8.graph.CfCode lambda$initializeAndroidRMethodProviders$1(int,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):944:944 -> b
+    1:1:void <clinit>():157:157 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.AppView):164:164 -> <init>
+    2:56:void <init>(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.AppView):162:216 -> <init>
+    1:1:boolean isEmpty():220:220 -> a
+    2:2:void visit(java.util.function.Consumer):224:224 -> a
+    3:133:void initializeAndroidKMethodProviders(com.android.tools.r8.graph.DexItemFactory):229:359 -> a
+    134:134:com.android.tools.r8.graph.CfCode lambda$initializeAndroidRMethodProviders$0(int,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):929:929 -> a
+    135:156:void addProvider(com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodProvider):1399:1420 -> a
+    157:157:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodProvider getProvider(com.android.tools.r8.graph.DexMethod):1424:1424 -> a
+    1:338:void initializeAndroidNMethodProviders(com.android.tools.r8.graph.DexItemFactory):365:702 -> b
+    339:339:com.android.tools.r8.graph.CfCode lambda$initializeAndroidRMethodProviders$1(int,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):950:950 -> b
     1:6:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.backports.CollectionMethodGenerators.generateMapOf(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod,int):68:73 -> c
-    1:6:com.android.tools.r8.graph.CfCode lambda$initializeAndroidRMethodProviders$2(int,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):964 -> c
+    1:6:com.android.tools.r8.graph.CfCode lambda$initializeAndroidRMethodProviders$2(int,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):970 -> c
     7:40:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.backports.CollectionMethodGenerators.generateMapOf(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod,int):71:104 -> c
-    7:40:com.android.tools.r8.graph.CfCode lambda$initializeAndroidRMethodProviders$2(int,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):964 -> c
+    7:40:com.android.tools.r8.graph.CfCode lambda$initializeAndroidRMethodProviders$2(int,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):970 -> c
     41:41:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.backports.CollectionMethodGenerators.generateMapOf(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod,int):99:99 -> c
-    41:41:com.android.tools.r8.graph.CfCode lambda$initializeAndroidRMethodProviders$2(int,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):964 -> c
+    41:41:com.android.tools.r8.graph.CfCode lambda$initializeAndroidRMethodProviders$2(int,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):970 -> c
     42:54:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.backports.CollectionMethodGenerators.generateMapOf(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod,int):96:108 -> c
-    42:54:com.android.tools.r8.graph.CfCode lambda$initializeAndroidRMethodProviders$2(int,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):964 -> c
-    55:213:void initializeAndroidOMethodProviders(com.android.tools.r8.graph.DexItemFactory):703:861 -> c
-    1:48:void initializeAndroidRMethodProviders(com.android.tools.r8.graph.DexItemFactory):873:920 -> d
-    49:73:void initializeAndroidRMethodProviders(com.android.tools.r8.graph.DexItemFactory):917:941 -> d
-    74:97:void initializeAndroidRMethodProviders(com.android.tools.r8.graph.DexItemFactory):938:961 -> d
-    98:116:void initializeAndroidRMethodProviders(com.android.tools.r8.graph.DexItemFactory):958:976 -> d
-    1:99:void initializeAndroidSMethodProviders(com.android.tools.r8.graph.DexItemFactory):986:1084 -> e
-    100:100:void initializeAndroidSMethodProviders(com.android.tools.r8.graph.DexItemFactory):1082:1082 -> e
-    1:23:void initializeJava10OptionalMethodProviders(com.android.tools.r8.graph.DexItemFactory):1291:1313 -> f
-    1:61:void initializeJava11MethodProviders(com.android.tools.r8.graph.DexItemFactory):1157:1217 -> g
-    1:20:void initializeJava11OptionalMethodProviders(com.android.tools.r8.graph.DexItemFactory):1319:1338 -> h
-    1:18:void initializeJava9MethodProviders(com.android.tools.r8.graph.DexItemFactory):1089:1106 -> i
-    19:48:void initializeJava9MethodProviders(com.android.tools.r8.graph.DexItemFactory):1100:1129 -> i
-    49:70:void initializeJava9MethodProviders(com.android.tools.r8.graph.DexItemFactory):1123:1144 -> i
-    1:61:void initializeJava9OptionalMethodProviders(com.android.tools.r8.graph.DexItemFactory):1224:1284 -> j
-    1:8:void initializeObjectsMethodProviders(com.android.tools.r8.graph.DexItemFactory):1357:1364 -> k
-    1:7:void initializeStreamMethodProviders(com.android.tools.r8.graph.DexItemFactory):1345:1351 -> l
+    42:54:com.android.tools.r8.graph.CfCode lambda$initializeAndroidRMethodProviders$2(int,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):970 -> c
+    55:213:void initializeAndroidOMethodProviders(com.android.tools.r8.graph.DexItemFactory):709:867 -> c
+    1:48:void initializeAndroidRMethodProviders(com.android.tools.r8.graph.DexItemFactory):879:926 -> d
+    49:73:void initializeAndroidRMethodProviders(com.android.tools.r8.graph.DexItemFactory):923:947 -> d
+    74:97:void initializeAndroidRMethodProviders(com.android.tools.r8.graph.DexItemFactory):944:967 -> d
+    98:116:void initializeAndroidRMethodProviders(com.android.tools.r8.graph.DexItemFactory):964:982 -> d
+    1:99:void initializeAndroidSMethodProviders(com.android.tools.r8.graph.DexItemFactory):992:1090 -> e
+    100:100:void initializeAndroidSMethodProviders(com.android.tools.r8.graph.DexItemFactory):1088:1088 -> e
+    1:10:void initializeAndroidSv2MethodProviders(com.android.tools.r8.graph.DexItemFactory):1100:1109 -> f
+    1:23:void initializeJava10OptionalMethodProviders(com.android.tools.r8.graph.DexItemFactory):1321:1343 -> g
+    1:61:void initializeJava11MethodProviders(com.android.tools.r8.graph.DexItemFactory):1187:1247 -> h
+    1:20:void initializeJava11OptionalMethodProviders(com.android.tools.r8.graph.DexItemFactory):1349:1368 -> i
+    1:18:void initializeJava9MethodProviders(com.android.tools.r8.graph.DexItemFactory):1119:1136 -> j
+    19:48:void initializeJava9MethodProviders(com.android.tools.r8.graph.DexItemFactory):1130:1159 -> j
+    49:70:void initializeJava9MethodProviders(com.android.tools.r8.graph.DexItemFactory):1153:1174 -> j
+    1:61:void initializeJava9OptionalMethodProviders(com.android.tools.r8.graph.DexItemFactory):1254:1314 -> k
+    1:8:void initializeObjectsMethodProviders(com.android.tools.r8.graph.DexItemFactory):1387:1394 -> l
+    1:7:void initializeStreamMethodProviders(com.android.tools.r8.graph.DexItemFactory):1375:1381 -> m
 com.android.tools.r8.ir.desugar.BackportedMethodRewriter$StatifyingMethodGenerator -> com.android.tools.r8.internal.f4:
     com.android.tools.r8.graph.DexType receiverType -> c
-    1:2:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.BackportedMethodRewriter$TemplateMethodFactory,java.lang.String,com.android.tools.r8.graph.DexType):1495:1496 -> <init>
-    1:1:com.android.tools.r8.graph.DexProto getProto(com.android.tools.r8.graph.DexItemFactory):1501:1501 -> a
-    2:2:com.android.tools.r8.graph.DexProto com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodGenerator.getProto(com.android.tools.r8.graph.DexItemFactory):1478:1478 -> a
-    2:2:com.android.tools.r8.graph.DexProto getProto(com.android.tools.r8.graph.DexItemFactory):1501 -> a
-    3:3:com.android.tools.r8.graph.DexProto getProto(com.android.tools.r8.graph.DexItemFactory):1501:1501 -> a
-com.android.tools.r8.ir.desugar.BackportedMethodRewriter$TemplateMethodFactory -> com.android.tools.r8.internal.g4:
+    1:2:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.BackportedMethodRewriter$TemplateMethodFactory,java.lang.String,com.android.tools.r8.graph.DexType):1529:1530 -> <init>
+    1:1:com.android.tools.r8.graph.DexProto getProto(com.android.tools.r8.graph.DexItemFactory):1535:1535 -> a
+    2:2:com.android.tools.r8.graph.DexProto com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodGenerator.getProto(com.android.tools.r8.graph.DexItemFactory):1512:1512 -> a
+    2:2:com.android.tools.r8.graph.DexProto getProto(com.android.tools.r8.graph.DexItemFactory):1535 -> a
+    3:3:com.android.tools.r8.graph.DexProto getProto(com.android.tools.r8.graph.DexItemFactory):1535:1535 -> a
+com.android.tools.r8.ir.desugar.BackportedMethodRewriter$StatifyingMethodWithForwardingGenerator -> com.android.tools.r8.internal.g4:
+    1:1:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.BackportedMethodRewriter$TemplateMethodFactory,java.lang.String,com.android.tools.r8.graph.DexType):1544:1544 -> <init>
+    1:1:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind getSyntheticKind():1549:1549 -> a
+com.android.tools.r8.ir.desugar.BackportedMethodRewriter$TemplateMethodFactory -> com.android.tools.r8.internal.h4:
     com.android.tools.r8.graph.CfCode create(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod) -> a
-com.android.tools.r8.ir.desugar.BufferCovariantReturnTypeRewriter -> com.android.tools.r8.internal.U5:
+com.android.tools.r8.ir.desugar.BufferCovariantReturnTypeRewriter -> com.android.tools.r8.internal.V5:
     com.android.tools.r8.graph.DexItemFactory factory -> a
     1:3:void <init>(com.android.tools.r8.graph.AppView):28:30 -> <init>
     1:15:com.android.tools.r8.graph.DexMethod matchingBufferCovariantMethod(com.android.tools.r8.graph.DexMethod):61:75 -> a
@@ -53421,9 +53517,9 @@
     35:37:boolean com.android.tools.r8.ir.desugar.BufferCovariantReturnTypeRewriter.isInvokeCandidate(com.android.tools.r8.cf.code.CfInstruction):83:85 -> a
     35:37:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):90 -> a
     38:39:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):93:94 -> a
-com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaring -> com.android.tools.r8.internal.I6:
+com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaring -> com.android.tools.r8.internal.J6:
     void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer) -> a
-com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringCollection -> com.android.tools.r8.internal.L6:
+com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringCollection -> com.android.tools.r8.internal.M6:
     1:1:void <init>():18:18 -> <init>
     void synthesizeClasses(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer) -> a
     1:2:com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo):22:23 -> a
@@ -53438,17 +53534,17 @@
     6:9:com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.create(com.android.tools.r8.graph.AppView):44:47 -> a
     6:9:com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo):25 -> a
     10:26:com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo):27:43 -> a
-com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringCollection$EmptyCfClassSynthesizerCollection -> com.android.tools.r8.internal.J6:
+com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringCollection$EmptyCfClassSynthesizerCollection -> com.android.tools.r8.internal.K6:
     1:1:void <init>():71:71 -> <init>
     void synthesizeClasses(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer) -> a
-com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringCollection$NonEmptyCfClassSynthesizerCollection -> com.android.tools.r8.internal.K6:
+com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringCollection$NonEmptyCfClassSynthesizerCollection -> com.android.tools.r8.internal.L6:
     java.util.Collection synthesizers -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():50:50 -> <clinit>
     1:3:void <init>(java.util.Collection):55:57 -> <init>
     1:1:void synthesizeClasses(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):64:64 -> a
     2:2:void lambda$synthesizeClasses$0(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaring):66:66 -> a
-com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer -> com.android.tools.r8.internal.M6:
+com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer -> com.android.tools.r8.internal.N6:
     java.util.Set synthesizedClasses -> a
     1:7:void <init>():15:21 -> <init>
     1:1:void acceptRecordClass(com.android.tools.r8.graph.DexProgramClass):45:45 -> a
@@ -53457,13 +53553,13 @@
     1:1:void acceptEnumConversionProgramClass(com.android.tools.r8.graph.DexProgramClass):35:35 -> c
     1:1:void acceptProgramEmulatedInterface(com.android.tools.r8.graph.DexProgramClass):25:25 -> d
     1:1:void acceptWrapperProgramClass(com.android.tools.r8.graph.DexProgramClass):30:30 -> e
-com.android.tools.r8.ir.desugar.CfInstructionDesugaring -> com.android.tools.r8.internal.y7:
+com.android.tools.r8.ir.desugar.CfInstructionDesugaring -> com.android.tools.r8.internal.z7:
     java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory) -> a
     boolean hasPreciseNeedsDesugaring() -> a
     boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod) -> a
     void prepare(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions) -> a
     void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer) -> a
-com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection -> com.android.tools.r8.internal.z7:
+com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection -> com.android.tools.r8.internal.A7:
     1:1:void <init>():29:29 -> <init>
     void desugar(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer) -> a
     java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext) -> a
@@ -53481,7 +53577,7 @@
     8:10:com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute):39:41 -> a
     11:11:com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection empty():45:45 -> a
     com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo getRetargetingInfo() -> b
-com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer -> com.android.tools.r8.internal.D7:
+com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer -> com.android.tools.r8.internal.E7:
     1:1:void <init>():46:46 -> <init>
     void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicDesugaringEventConsumer.acceptConstantDynamicClass(com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass,com.android.tools.r8.graph.ProgramMethod) -> a
     void com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer.acceptInvokeSpecialBridgeInfo(com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo) -> a
@@ -53494,8 +53590,8 @@
     void com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringEventConsumer.acceptInvokeStaticInterfaceOutliningMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod) -> g
     void com.android.tools.r8.ir.desugar.records.RecordDesugaringEventConsumer$RecordInstructionDesugaringEventConsumer.acceptRecordMethod(com.android.tools.r8.graph.ProgramMethod) -> h
     void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicDesugaringEventConsumer.acceptThrowMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod) -> i
-com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$1 -> com.android.tools.r8.internal.A7:
-com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer -> com.android.tools.r8.internal.B7:
+com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$1 -> com.android.tools.r8.internal.B7:
+com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer -> com.android.tools.r8.internal.C7:
     java.util.Map pendingInvokeSpecialBridges -> b
     java.util.List synthesizedConstantDynamicClasses -> d
     java.util.List synthesizedLambdaClasses -> c
@@ -53524,12 +53620,12 @@
     19:24:void com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer.finalizeLambdaDesugaring(com.android.tools.r8.ir.conversion.ClassConverterResult$Builder,java.util.function.Consumer):238:243 -> a
     19:24:java.util.List finalizeDesugaring(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.ClassConverterResult$Builder):202 -> a
     25:25:java.util.List finalizeDesugaring(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.ClassConverterResult$Builder):203:203 -> a
-    26:29:void com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer.finalizeConstantDynamicDesugaring(java.util.function.Consumer):247:250 -> a
-    26:29:java.util.List finalizeDesugaring(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.ClassConverterResult$Builder):203 -> a
-    30:52:void finalizeInvokeSpecialDesugaring(com.android.tools.r8.graph.AppView,java.util.function.Consumer):210:232 -> a
-    53:56:void lambda$finalizeInvokeSpecialDesugaring$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo):214:217 -> a
-    57:60:void lambda$finalizeInvokeSpecialDesugaring$1(com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo):226:229 -> a
-    61:63:boolean verifyNothingToFinalize():254:256 -> a
+    26:30:void com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer.finalizeConstantDynamicDesugaring(java.util.function.Consumer):247:251 -> a
+    26:30:java.util.List finalizeDesugaring(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.ClassConverterResult$Builder):203 -> a
+    31:53:void finalizeInvokeSpecialDesugaring(com.android.tools.r8.graph.AppView,java.util.function.Consumer):210:232 -> a
+    54:57:void lambda$finalizeInvokeSpecialDesugaring$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo):214:217 -> a
+    58:61:void lambda$finalizeInvokeSpecialDesugaring$1(com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo):226:229 -> a
+    62:64:boolean verifyNothingToFinalize():255:257 -> a
     void acceptWrapperClasspathClass(com.android.tools.r8.graph.DexClasspathClass) -> b
     1:1:void acceptNestFieldGetBridge(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod):149:149 -> b
     2:2:void acceptTwrCloseResourceMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):164:164 -> b
@@ -53542,7 +53638,7 @@
     1:1:void acceptInvokeStaticInterfaceOutliningMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):175:175 -> g
     1:1:void acceptRecordMethod(com.android.tools.r8.graph.ProgramMethod):116:116 -> h
     1:1:void acceptThrowMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):169:169 -> i
-com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$R8CfInstructionDesugaringEventConsumer -> com.android.tools.r8.internal.C7:
+com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$R8CfInstructionDesugaringEventConsumer -> com.android.tools.r8.internal.D7:
     java.util.function.BiConsumer onCompanionMethodCallback -> i
     com.android.tools.r8.graph.AppView appView -> a
     java.util.function.BiConsumer twrCloseResourceMethodConsumer -> d
@@ -53553,42 +53649,42 @@
     java.util.function.BiConsumer constantDynamicClassConsumer -> c
     java.util.List pendingInvokeSpecialBridges -> g
     java.util.Map synthesizedLambdaClasses -> f
-    1:1:void <clinit>():261:261 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.graph.AppView,java.util.function.BiConsumer,java.util.function.BiConsumer,java.util.function.BiConsumer,com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions,java.util.function.BiConsumer):287:287 -> <init>
-    2:21:void <init>(com.android.tools.r8.graph.AppView,java.util.function.BiConsumer,java.util.function.BiConsumer,java.util.function.BiConsumer,com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions,java.util.function.BiConsumer):274:293 -> <init>
+    1:1:void <clinit>():262:262 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.graph.AppView,java.util.function.BiConsumer,java.util.function.BiConsumer,java.util.function.BiConsumer,com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions,java.util.function.BiConsumer):288:288 -> <init>
+    2:21:void <init>(com.android.tools.r8.graph.AppView,java.util.function.BiConsumer,java.util.function.BiConsumer,java.util.function.BiConsumer,com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions,java.util.function.BiConsumer):275:294 -> <init>
     void acceptCompanionClassClinit(com.android.tools.r8.graph.ProgramMethod) -> a
     void acceptRecordClass(com.android.tools.r8.graph.DexProgramClass) -> a
-    1:1:void acceptCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):298:298 -> a
-    2:2:void acceptDesugaredLibraryRetargeterDispatchClasspathClass(com.android.tools.r8.graph.DexClasspathClass):303:303 -> a
-    3:5:void acceptInvokeSpecialBridgeInfo(com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo):360:362 -> a
-    6:11:void acceptLambdaClass(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.ProgramMethod):367:372 -> a
-    12:12:void acceptLambdaClass(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.ProgramMethod):369:369 -> a
-    13:18:void acceptConstantDynamicClass(com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass,com.android.tools.r8.graph.ProgramMethod):378:383 -> a
-    19:19:void acceptConstantDynamicClass(com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass,com.android.tools.r8.graph.ProgramMethod):380:380 -> a
-    20:21:void finalizeDesugaring():409:410 -> a
-    22:22:void lambda$finalizeLambdaDesugaring$1(java.util.Set,com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.ProgramMethod):426:426 -> a
+    1:1:void acceptCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):299:299 -> a
+    2:2:void acceptDesugaredLibraryRetargeterDispatchClasspathClass(com.android.tools.r8.graph.DexClasspathClass):304:304 -> a
+    3:5:void acceptInvokeSpecialBridgeInfo(com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo):361:363 -> a
+    6:11:void acceptLambdaClass(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.ProgramMethod):368:373 -> a
+    12:12:void acceptLambdaClass(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.ProgramMethod):370:370 -> a
+    13:18:void acceptConstantDynamicClass(com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass,com.android.tools.r8.graph.ProgramMethod):379:384 -> a
+    19:19:void acceptConstantDynamicClass(com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass,com.android.tools.r8.graph.ProgramMethod):381:381 -> a
+    20:21:void finalizeDesugaring():410:411 -> a
+    22:22:void lambda$finalizeLambdaDesugaring$1(java.util.Set,com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.ProgramMethod):428:428 -> a
     23:23:void com.android.tools.r8.ir.desugar.LambdaClass$Target.ensureAccessibilityIfNeeded():539:539 -> a
-    23:23:void lambda$finalizeLambdaDesugaring$1(java.util.Set,com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.ProgramMethod):426 -> a
-    24:26:void lambda$finalizeLambdaDesugaring$1(java.util.Set,com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.ProgramMethod):429:429 -> a
-    28:28:void lambda$finalizeLambdaDesugaring$1(java.util.Set,com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.ProgramMethod):431:431 -> a
-    1:1:void acceptWrapperClasspathClass(com.android.tools.r8.graph.DexClasspathClass):340:340 -> b
-    2:2:void acceptNestFieldGetBridge(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod):388:388 -> b
-    3:3:void acceptTwrCloseResourceMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):405:405 -> b
-    4:5:void finalizeInvokeSpecialDesugaring():414:415 -> b
-    6:8:void lambda$finalizeInvokeSpecialDesugaring$0(com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo):417:419 -> b
-    1:1:void acceptEnumConversionClasspathClass(com.android.tools.r8.graph.DexClasspathClass):345:345 -> c
-    2:2:void acceptNestMethodBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):398:398 -> c
-    3:16:void finalizeLambdaDesugaring():423:436 -> c
-    1:1:void acceptClasspathEmulatedInterface(com.android.tools.r8.graph.DexClasspathClass):308:308 -> d
-    2:2:void acceptNestFieldPutBridge(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod):393:393 -> d
+    23:23:void lambda$finalizeLambdaDesugaring$1(java.util.Set,com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.ProgramMethod):428 -> a
+    24:26:void lambda$finalizeLambdaDesugaring$1(java.util.Set,com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.ProgramMethod):431:431 -> a
+    28:28:void lambda$finalizeLambdaDesugaring$1(java.util.Set,com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.ProgramMethod):433:433 -> a
+    1:1:void acceptWrapperClasspathClass(com.android.tools.r8.graph.DexClasspathClass):341:341 -> b
+    2:2:void acceptNestFieldGetBridge(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod):389:389 -> b
+    3:3:void acceptTwrCloseResourceMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):406:406 -> b
+    4:5:void finalizeInvokeSpecialDesugaring():416:417 -> b
+    6:8:void lambda$finalizeInvokeSpecialDesugaring$0(com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo):419:421 -> b
+    1:1:void acceptEnumConversionClasspathClass(com.android.tools.r8.graph.DexClasspathClass):346:346 -> c
+    2:2:void acceptNestMethodBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):399:399 -> c
+    3:16:void finalizeLambdaDesugaring():425:438 -> c
+    1:1:void acceptClasspathEmulatedInterface(com.android.tools.r8.graph.DexClasspathClass):309:309 -> d
+    2:2:void acceptNestFieldPutBridge(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod):394:394 -> d
     void acceptAPIConversion(com.android.tools.r8.graph.ProgramMethod) -> e
     void acceptBackportedMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod) -> f
-    1:1:void acceptInvokeStaticInterfaceOutliningMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):335:335 -> g
+    1:1:void acceptInvokeStaticInterfaceOutliningMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):336:336 -> g
     void acceptRecordMethod(com.android.tools.r8.graph.ProgramMethod) -> h
     void acceptThrowMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod) -> i
-com.android.tools.r8.ir.desugar.CfPostProcessingDesugaring -> com.android.tools.r8.internal.e8:
+com.android.tools.r8.ir.desugar.CfPostProcessingDesugaring -> com.android.tools.r8.internal.f8:
     void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService) -> a
-com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection -> com.android.tools.r8.internal.h8:
+com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection -> com.android.tools.r8.internal.i8:
     1:1:void <init>():21:21 -> <init>
     void postProcessingDesugaring(java.util.Collection,java.util.function.Predicate,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService) -> a
     1:1:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo):27:27 -> a
@@ -53606,17 +53702,17 @@
     26:26:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo):28 -> a
     27:27:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection.empty():35:35 -> a
     27:27:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo):31 -> a
-com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection$EmptyCfPostProcessingDesugaringCollection -> com.android.tools.r8.internal.f8:
+com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection$EmptyCfPostProcessingDesugaringCollection -> com.android.tools.r8.internal.g8:
     com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection$EmptyCfPostProcessingDesugaringCollection INSTANCE -> a
     1:1:void <clinit>():102:102 -> <clinit>
     1:1:void <init>():105:105 -> <init>
     void postProcessingDesugaring(java.util.Collection,java.util.function.Predicate,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService) -> a
     1:1:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection$EmptyCfPostProcessingDesugaringCollection access$000():99:99 -> a
-com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection$NonEmptyCfPostProcessingDesugaringCollection -> com.android.tools.r8.internal.g8:
+com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection$NonEmptyCfPostProcessingDesugaringCollection -> com.android.tools.r8.internal.h8:
     java.util.List desugarings -> a
     1:2:void <init>(java.util.List):51:52 -> <init>
     1:2:void postProcessingDesugaring(java.util.Collection,java.util.function.Predicate,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):93:94 -> a
-com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer -> com.android.tools.r8.internal.l8:
+com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer -> com.android.tools.r8.internal.m8:
     1:1:void <init>():26:26 -> <init>
     void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryAPICallbackSynthesizorEventConsumer.acceptAPIConversionCallback(com.android.tools.r8.graph.ProgramMethod) -> a
     void com.android.tools.r8.ir.desugar.itf.InterfaceProcessingDesugaringEventConsumer.acceptEmulatedInterfaceMarkerInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexClasspathClass) -> a
@@ -53625,8 +53721,8 @@
     1:1:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer$D8CfPostProcessingDesugaringEventConsumer createForD8(com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection):33:33 -> a
     2:2:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer$R8PostProcessingDesugaringEventConsumer createForR8(com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,java.util.function.BiConsumer):40:40 -> a
     void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer.acceptForwardingMethod(com.android.tools.r8.graph.ProgramMethod) -> b
-com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer$1 -> com.android.tools.r8.internal.i8:
-com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer$D8CfPostProcessingDesugaringEventConsumer -> com.android.tools.r8.internal.j8:
+com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer$1 -> com.android.tools.r8.internal.j8:
+com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer$D8CfPostProcessingDesugaringEventConsumer -> com.android.tools.r8.internal.k8:
     com.android.tools.r8.utils.collections.ProgramMethodSet methodsToReprocess -> b
     com.android.tools.r8.ir.conversion.D8MethodProcessor methodProcessor -> a
     com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection instructionDesugaring -> c
@@ -53646,7 +53742,7 @@
     1:3:void com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer$D8CfPostProcessingDesugaringEventConsumer.addMethodToReprocess(com.android.tools.r8.graph.ProgramMethod):62:64 -> b
     1:3:void acceptForwardingMethod(com.android.tools.r8.graph.ProgramMethod):91 -> b
     void acceptEnumConversionClasspathClass(com.android.tools.r8.graph.DexClasspathClass) -> c
-com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer$R8PostProcessingDesugaringEventConsumer -> com.android.tools.r8.internal.k8:
+com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer$R8PostProcessingDesugaringEventConsumer -> com.android.tools.r8.internal.l8:
     com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection desugaring -> b
     java.util.function.BiConsumer missingClassConsumer -> c
     com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions additions -> a
@@ -53661,7 +53757,7 @@
     1:1:void acceptForwardingMethod(com.android.tools.r8.graph.ProgramMethod):164:164 -> b
     2:2:void acceptWrapperClasspathClass(com.android.tools.r8.graph.DexClasspathClass):175:175 -> b
     1:1:void acceptEnumConversionClasspathClass(com.android.tools.r8.graph.DexClasspathClass):180:180 -> c
-com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer -> com.android.tools.r8.internal.ie:
+com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer -> com.android.tools.r8.internal.je:
     com.android.tools.r8.graph.DexItemFactory factory -> b
     com.android.tools.r8.ir.conversion.IRConverter converter -> a
     boolean $assertionsDisabled -> c
@@ -53748,7 +53844,7 @@
     194:194:boolean com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.isCovariantReturnTypeAnnotation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):268:268 -> a
     194:194:boolean isCovariantReturnTypeAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation):264 -> a
     1:1:boolean lambda$updateClass$0(com.android.tools.r8.graph.DexAnnotation):99:99 -> b
-com.android.tools.r8.ir.desugar.DesugarDescription -> com.android.tools.r8.internal.wf:
+com.android.tools.r8.ir.desugar.DesugarDescription -> com.android.tools.r8.internal.xf:
     com.android.tools.r8.ir.desugar.DesugarDescription NOTHING -> a
     1:1:void <clinit>():25:25 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.desugar.DesugarDescription$1):23:23 -> <init>
@@ -53759,22 +53855,22 @@
     boolean needsDesugaring() -> c
     1:1:com.android.tools.r8.ir.desugar.DesugarDescription nothing():47:47 -> d
     void scan() -> e
-com.android.tools.r8.ir.desugar.DesugarDescription$1 -> com.android.tools.r8.internal.pf:
-com.android.tools.r8.ir.desugar.DesugarDescription$Builder -> com.android.tools.r8.internal.qf:
+com.android.tools.r8.ir.desugar.DesugarDescription$1 -> com.android.tools.r8.internal.qf:
+com.android.tools.r8.ir.desugar.DesugarDescription$Builder -> com.android.tools.r8.internal.rf:
     1:1:void <init>():70:70 -> <init>
     com.android.tools.r8.ir.desugar.DesugarDescription$Builder addScanEffect(com.android.tools.r8.ir.desugar.DesugarDescription$ScanCallback) -> a
     com.android.tools.r8.ir.desugar.DesugarDescription build() -> a
     com.android.tools.r8.ir.desugar.DesugarDescription$Builder setDesugarRewrite(com.android.tools.r8.ir.desugar.DesugarDescription$DesugarCallback) -> a
-com.android.tools.r8.ir.desugar.DesugarDescription$DesugarCallback -> com.android.tools.r8.internal.rf:
+com.android.tools.r8.ir.desugar.DesugarDescription$DesugarCallback -> com.android.tools.r8.internal.sf:
     java.util.Collection desugarInstruction(com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory) -> a
-com.android.tools.r8.ir.desugar.DesugarDescription$InitialBuilder -> com.android.tools.r8.internal.sf:
+com.android.tools.r8.ir.desugar.DesugarDescription$InitialBuilder -> com.android.tools.r8.internal.tf:
     com.android.tools.r8.ir.desugar.DesugarDescription$InitialBuilder INSTANCE -> a
     1:1:void <clinit>():83:83 -> <clinit>
     1:1:void <init>():82:82 -> <init>
     1:1:com.android.tools.r8.ir.desugar.DesugarDescription build():91:91 -> a
     2:2:com.android.tools.r8.ir.desugar.DesugarDescription$Builder addScanEffect(com.android.tools.r8.ir.desugar.DesugarDescription$ScanCallback):96:96 -> a
     3:3:com.android.tools.r8.ir.desugar.DesugarDescription$Builder setDesugarRewrite(com.android.tools.r8.ir.desugar.DesugarDescription$DesugarCallback):101:101 -> a
-com.android.tools.r8.ir.desugar.DesugarDescription$NonEmptyBuilder -> com.android.tools.r8.internal.uf:
+com.android.tools.r8.ir.desugar.DesugarDescription$NonEmptyBuilder -> com.android.tools.r8.internal.vf:
     java.util.List scanEffects -> a
     com.android.tools.r8.ir.desugar.DesugarDescription$DesugarCallback desugarRewrite -> b
     boolean $assertionsDisabled -> c
@@ -53783,15 +53879,15 @@
     1:2:com.android.tools.r8.ir.desugar.DesugarDescription$Builder addScanEffect(com.android.tools.r8.ir.desugar.DesugarDescription$ScanCallback):112:113 -> a
     3:5:com.android.tools.r8.ir.desugar.DesugarDescription$Builder setDesugarRewrite(com.android.tools.r8.ir.desugar.DesugarDescription$DesugarCallback):119:121 -> a
     6:6:com.android.tools.r8.ir.desugar.DesugarDescription build():127:127 -> a
-com.android.tools.r8.ir.desugar.DesugarDescription$NonEmptyBuilder$1 -> com.android.tools.r8.internal.tf:
+com.android.tools.r8.ir.desugar.DesugarDescription$NonEmptyBuilder$1 -> com.android.tools.r8.internal.uf:
     com.android.tools.r8.ir.desugar.DesugarDescription$NonEmptyBuilder this$0 -> b
     1:1:void <init>(com.android.tools.r8.ir.desugar.DesugarDescription$NonEmptyBuilder):127:127 -> <init>
     1:3:java.util.Collection desugarInstruction(com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):146:148 -> a
     1:1:boolean needsDesugaring():135:135 -> c
     1:1:void scan():130:130 -> e
-com.android.tools.r8.ir.desugar.DesugarDescription$ScanCallback -> com.android.tools.r8.internal.vf:
+com.android.tools.r8.ir.desugar.DesugarDescription$ScanCallback -> com.android.tools.r8.internal.wf:
     void scan() -> a
-com.android.tools.r8.ir.desugar.EmptyCfInstructionDesugaringCollection -> com.android.tools.r8.internal.Jh:
+com.android.tools.r8.ir.desugar.EmptyCfInstructionDesugaringCollection -> com.android.tools.r8.internal.Lh:
     com.android.tools.r8.ir.desugar.EmptyCfInstructionDesugaringCollection INSTANCE -> a
     1:1:void <clinit>():23:23 -> <clinit>
     1:1:void <init>():26:26 -> <init>
@@ -53806,9 +53902,9 @@
     void withDesugaredLibraryAPIConverter(java.util.function.Consumer) -> a
     com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo getRetargetingInfo() -> b
     1:1:com.android.tools.r8.ir.desugar.EmptyCfInstructionDesugaringCollection getInstance():30:30 -> c
-com.android.tools.r8.ir.desugar.FreshLocalProvider -> com.android.tools.r8.internal.cl:
+com.android.tools.r8.ir.desugar.FreshLocalProvider -> com.android.tools.r8.internal.el:
     int getFreshLocal(int) -> a
-com.android.tools.r8.ir.desugar.InvokeToPrivateRewriter -> com.android.tools.r8.internal.Qu:
+com.android.tools.r8.ir.desugar.InvokeToPrivateRewriter -> com.android.tools.r8.internal.Su:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():28:28 -> <clinit>
     1:1:void <init>():28:28 -> <init>
@@ -53820,7 +53916,7 @@
     18:24:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.desugar.InvokeToPrivateRewriter.privateMethodInvokedOnSelf(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):61:67 -> a
     18:24:boolean com.android.tools.r8.ir.desugar.InvokeToPrivateRewriter.isInvokingPrivateMethodOnSelf(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):74 -> a
     18:24:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):57 -> a
-com.android.tools.r8.ir.desugar.LambdaClass -> com.android.tools.r8.internal.SA:
+com.android.tools.r8.ir.desugar.LambdaClass -> com.android.tools.r8.internal.UA:
     com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring desugaring -> b
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.ir.desugar.LambdaDescriptor descriptor -> d
@@ -53917,7 +54013,7 @@
     209:214:com.android.tools.r8.graph.DexField getCaptureField(int):140:145 -> a
     215:215:com.android.tools.r8.graph.DexField getCaptureField(int):142:142 -> a
     216:217:boolean canAccessModifyLambdaImplMethod():326:327 -> a
-    218:218:boolean com.android.tools.r8.utils.InternalOptions.canAccessModifyLambdaImplementationMethods(com.android.tools.r8.graph.AppView):1770:1770 -> a
+    218:218:boolean com.android.tools.r8.utils.InternalOptions.canAccessModifyLambdaImplementationMethods(com.android.tools.r8.graph.AppView):1774:1774 -> a
     218:218:boolean canAccessModifyLambdaImplMethod():327 -> a
     219:222:boolean com.android.tools.r8.ir.desugar.LambdaClass.isPrivateOrStaticInterfaceMethodInvokeThatWillBeDesugared():319:322 -> a
     219:222:boolean canAccessModifyLambdaImplMethod():328 -> a
@@ -54073,7 +54169,7 @@
     413:414:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):300 -> c
     415:420:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createStaticMethodTarget(com.android.tools.r8.graph.ProgramMethod):455:460 -> c
     415:420:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):300 -> c
-com.android.tools.r8.ir.desugar.LambdaClass$ClassMethodWithAccessorTarget -> com.android.tools.r8.internal.KA:
+com.android.tools.r8.ir.desugar.LambdaClass$ClassMethodWithAccessorTarget -> com.android.tools.r8.internal.MA:
     com.android.tools.r8.graph.DexMethodHandle$MethodHandleType type -> h
     boolean $assertionsDisabled -> i
     com.android.tools.r8.graph.AppView appView -> f
@@ -54094,9 +54190,9 @@
     86:86:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):818 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     87:89:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):818:820 -> a
-com.android.tools.r8.ir.desugar.LambdaClass$D8SpecificTarget -> com.android.tools.r8.internal.LA:
+com.android.tools.r8.ir.desugar.LambdaClass$D8SpecificTarget -> com.android.tools.r8.internal.NA:
     1:1:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,boolean):559:559 -> <init>
-com.android.tools.r8.ir.desugar.LambdaClass$InstanceLambdaImplTarget -> com.android.tools.r8.internal.MA:
+com.android.tools.r8.ir.desugar.LambdaClass$InstanceLambdaImplTarget -> com.android.tools.r8.internal.OA:
     com.android.tools.r8.graph.DexMethod implMethod -> f
     com.android.tools.r8.graph.AppView appView -> g
     boolean $assertionsDisabled -> h
@@ -54117,7 +54213,7 @@
     42:51:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):751:760 -> a
     52:70:com.android.tools.r8.graph.DexEncodedMethod lambda$ensureAccessibility$0(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,com.android.tools.r8.graph.DexEncodedMethod):723:741 -> a
     71:71:com.android.tools.r8.graph.DexEncodedMethod lambda$ensureAccessibility$0(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,com.android.tools.r8.graph.DexEncodedMethod):740:740 -> a
-com.android.tools.r8.ir.desugar.LambdaClass$InterfaceLambdaImplTarget -> com.android.tools.r8.internal.NA:
+com.android.tools.r8.ir.desugar.LambdaClass$InterfaceLambdaImplTarget -> com.android.tools.r8.internal.PA:
     com.android.tools.r8.graph.AppView appView -> f
     com.android.tools.r8.graph.DexMethod implMethod -> g
     boolean $assertionsDisabled -> h
@@ -54139,18 +54235,18 @@
     57:75:com.android.tools.r8.graph.DexEncodedMethod lambda$ensureAccessibility$0(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,com.android.tools.r8.graph.DexEncodedMethod):632:650 -> a
     76:80:com.android.tools.r8.graph.DexEncodedMethod lambda$ensureAccessibility$0(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,com.android.tools.r8.graph.DexEncodedMethod):649:653 -> a
     81:81:com.android.tools.r8.graph.DexEncodedMethod lambda$ensureAccessibility$0(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,com.android.tools.r8.graph.DexEncodedMethod):652:652 -> a
-com.android.tools.r8.ir.desugar.LambdaClass$InvalidLambdaImplTarget -> com.android.tools.r8.internal.OA:
+com.android.tools.r8.ir.desugar.LambdaClass$InvalidLambdaImplTarget -> com.android.tools.r8.internal.QA:
     com.android.tools.r8.graph.DexType exceptionType -> f
     1:2:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexType,boolean):683:684 -> <init>
     com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer) -> a
-com.android.tools.r8.ir.desugar.LambdaClass$NoAccessorMethodTarget -> com.android.tools.r8.internal.PA:
+com.android.tools.r8.ir.desugar.LambdaClass$NoAccessorMethodTarget -> com.android.tools.r8.internal.RA:
     1:1:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,boolean):567:567 -> <init>
     com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer) -> a
-com.android.tools.r8.ir.desugar.LambdaClass$StaticLambdaImplTarget -> com.android.tools.r8.internal.QA:
+com.android.tools.r8.ir.desugar.LambdaClass$StaticLambdaImplTarget -> com.android.tools.r8.internal.SA:
     com.android.tools.r8.graph.ProgramMethod target -> f
     1:2:void <init>(com.android.tools.r8.graph.ProgramMethod,boolean):584:585 -> <init>
     1:4:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):593:596 -> a
-com.android.tools.r8.ir.desugar.LambdaClass$Target -> com.android.tools.r8.internal.RA:
+com.android.tools.r8.ir.desugar.LambdaClass$Target -> com.android.tools.r8.internal.TA:
     com.android.tools.r8.ir.code.Invoke$Type invokeType -> b
     boolean $assertionsDisabled -> e
     com.android.tools.r8.graph.DexMethod callTarget -> a
@@ -54160,10 +54256,10 @@
     1:6:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,boolean):525:530 -> <init>
     com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer) -> a
     1:3:void ensureAccessibilityIfNeeded(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):546:548 -> b
-com.android.tools.r8.ir.desugar.LambdaConstructorSourceCode -> com.android.tools.r8.internal.TA:
+com.android.tools.r8.ir.desugar.LambdaConstructorSourceCode -> com.android.tools.r8.internal.VA:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():22:22 -> <clinit>
-com.android.tools.r8.ir.desugar.LambdaDescriptor -> com.android.tools.r8.internal.UA:
+com.android.tools.r8.ir.desugar.LambdaDescriptor -> com.android.tools.r8.internal.WA:
     com.android.tools.r8.graph.MethodAccessFlags targetAccessFlags -> j
     boolean $assertionsDisabled -> m
     int $r8$clinit -> n
@@ -54223,7 +54319,7 @@
     273:317:boolean needsAccessor(com.android.tools.r8.graph.ProgramMethod):213:257 -> a
     318:321:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.DexDefinitionSupplier):281:284 -> a
     318:321:com.android.tools.r8.ir.desugar.LambdaDescriptor infer(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):293 -> a
-    322:322:boolean com.android.tools.r8.graph.DexItemFactory.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexMethod):904:904 -> a
+    322:322:boolean com.android.tools.r8.graph.DexItemFactory.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexMethod):906:906 -> a
     322:322:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.DexDefinitionSupplier):284 -> a
     322:322:com.android.tools.r8.ir.desugar.LambdaDescriptor infer(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):293 -> a
     323:347:com.android.tools.r8.ir.desugar.LambdaDescriptor infer(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):294:318 -> a
@@ -54271,7 +54367,7 @@
     2003:2006:boolean isSameOrDerived(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):460:463 -> a
     1:1:com.android.tools.r8.graph.DexMethod getMainMethod():67:67 -> b
     2:3:com.android.tools.r8.ir.desugar.LambdaDescriptor tryInfer(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):266:267 -> b
-com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode -> com.android.tools.r8.internal.ZA:
+com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode -> com.android.tools.r8.internal.bB:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():44:44 -> <clinit>
     1:15:boolean isSameOrAdaptableTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):97:111 -> a
@@ -54294,7 +54390,7 @@
     30:30:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):85:85 -> a
     30:30:boolean isSameOrAdaptableTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):115 -> a
     31:43:boolean isSameOrAdaptableTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):116:128 -> a
-    44:44:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexItemFactory.getPrimitiveFromBoxed(com.android.tools.r8.graph.DexType):773:773 -> a
+    44:44:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexItemFactory.getPrimitiveFromBoxed(com.android.tools.r8.graph.DexType):775:775 -> a
     44:44:boolean isSameOrAdaptableTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):135 -> a
     45:54:boolean isSameOrAdaptableTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):136:145 -> a
     60:60:boolean isSameOrAdaptableTo(byte,byte):170:170 -> a
@@ -54379,10 +54475,10 @@
     457:457:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
     458:458:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):430:430 -> a
     458:458:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
-    459:459:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexItemFactory.getPrimitiveFromBoxed(com.android.tools.r8.graph.DexType):773:773 -> a
+    459:459:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexItemFactory.getPrimitiveFromBoxed(com.android.tools.r8.graph.DexType):775:775 -> a
     459:459:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):432 -> a
     459:459:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
-    460:461:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):748:749 -> a
+    460:461:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):750:751 -> a
     460:461:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveUnboxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):544 -> a
     460:461:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):434 -> a
     460:461:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
@@ -54391,33 +54487,33 @@
     462:462:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
     463:463:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):435:435 -> a
     463:463:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
-    464:464:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):751:751 -> a
+    464:464:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):753:753 -> a
     464:464:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveUnboxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):544 -> a
     464:464:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):434 -> a
     464:464:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
     465:465:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
       # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":526,"2":527,"3":528,"4":529,"5":530}}
-    526:526:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):751:751 -> a
+    526:526:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):753:753 -> a
     526:526:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveUnboxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):544 -> a
     526:526:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):434 -> a
     526:526:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
-    527:527:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):751:751 -> a
+    527:527:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):753:753 -> a
     527:527:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveUnboxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):544 -> a
     527:527:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):434 -> a
     527:527:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
-    528:528:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):751:751 -> a
+    528:528:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):753:753 -> a
     528:528:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveUnboxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):544 -> a
     528:528:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):434 -> a
     528:528:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
-    529:529:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):751:751 -> a
+    529:529:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):753:753 -> a
     529:529:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveUnboxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):544 -> a
     529:529:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):434 -> a
     529:529:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
-    530:530:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):751:751 -> a
+    530:530:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):753:753 -> a
     530:530:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveUnboxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):544 -> a
     530:530:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):434 -> a
     530:530:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
-    466:466:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):751:751 -> a
+    466:466:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):753:753 -> a
     466:466:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveUnboxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):544 -> a
     466:466:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):434 -> a
     466:466:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
@@ -54449,49 +54545,49 @@
     481:481:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
     482:482:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):444:444 -> a
     482:482:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
-    483:483:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):758:758 -> a
+    483:483:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):760:760 -> a
     483:483:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveBoxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):552 -> a
     483:483:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):451 -> a
     483:483:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
-    484:484:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexItemFactory.getPrimitiveFromBoxed(com.android.tools.r8.graph.DexType):773:773 -> a
-    484:484:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):759 -> a
+    484:484:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexItemFactory.getPrimitiveFromBoxed(com.android.tools.r8.graph.DexType):775:775 -> a
+    484:484:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):761 -> a
     484:484:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveBoxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):552 -> a
     484:484:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):451 -> a
     484:484:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
-    485:486:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):763:764 -> a
+    485:486:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):765:766 -> a
     485:486:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveBoxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):552 -> a
     485:486:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):451 -> a
     485:486:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
     487:487:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveBoxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):553:553 -> a
     487:487:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):451 -> a
     487:487:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
-    488:488:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):761:761 -> a
+    488:488:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):763:763 -> a
     488:488:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveBoxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):552 -> a
     488:488:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):451 -> a
     488:488:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
     489:489:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
       # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":536,"2":537,"3":538,"4":539,"5":540}}
-    536:536:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):761:761 -> a
+    536:536:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):763:763 -> a
     536:536:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveBoxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):552 -> a
     536:536:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):451 -> a
     536:536:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
-    537:537:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):761:761 -> a
+    537:537:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):763:763 -> a
     537:537:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveBoxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):552 -> a
     537:537:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):451 -> a
     537:537:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
-    538:538:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):761:761 -> a
+    538:538:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):763:763 -> a
     538:538:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveBoxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):552 -> a
     538:538:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):451 -> a
     538:538:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
-    539:539:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):761:761 -> a
+    539:539:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):763:763 -> a
     539:539:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveBoxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):552 -> a
     539:539:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):451 -> a
     539:539:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
-    540:540:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):761:761 -> a
+    540:540:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):763:763 -> a
     540:540:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveBoxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):552 -> a
     540:540:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):451 -> a
     540:540:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
-    490:490:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):761:761 -> a
+    490:490:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):763:763 -> a
     490:490:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveBoxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):552 -> a
     490:490:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):451 -> a
     490:490:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
@@ -54503,7 +54599,7 @@
     507:507:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):470:470 -> a
     507:507:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
     508:508:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):389:389 -> a
-    509:509:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexItemFactory.getPrimitiveFromBoxed(com.android.tools.r8.graph.DexType):773:773 -> a
+    509:509:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexItemFactory.getPrimitiveFromBoxed(com.android.tools.r8.graph.DexType):775:775 -> a
     509:509:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):392 -> a
     510:515:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):394:399 -> a
     516:516:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):395:395 -> a
@@ -54542,12 +54638,12 @@
     1192:1192:void addPrimitiveWideningConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):537:537 -> a
     1193:1193:void addPrimitiveWideningConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):537:537 -> a
     1183:1183:void addPrimitiveWideningConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):537:537 -> a
-com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode$1 -> com.android.tools.r8.internal.YA:
+com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode$1 -> com.android.tools.r8.internal.aB:
     int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> a
     1:1:void <clinit>():492:492 -> <clinit>
-com.android.tools.r8.ir.desugar.LocalStackAllocator -> com.android.tools.r8.internal.DC:
+com.android.tools.r8.ir.desugar.LocalStackAllocator -> com.android.tools.r8.internal.IC:
     void allocateLocalStack(int) -> a
-com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection -> com.android.tools.r8.internal.BH:
+com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection -> com.android.tools.r8.internal.GH:
     java.util.List desugarings -> b
     com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter desugaredLibraryAPIConverter -> g
     com.android.tools.r8.graph.AppView appView -> a
@@ -54632,7 +54728,7 @@
     27:27:boolean lambda$needsDesugaring$8(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaring):349:349 -> b
     28:29:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo getRetargetingInfo():407:408 -> b
     1:1:boolean lambda$noDesugaringBecauseOfImpreciseDesugaring$5(com.android.tools.r8.ir.desugar.CfInstructionDesugaring):256:256 -> c
-com.android.tools.r8.ir.desugar.PrefixRewritingMapper -> com.android.tools.r8.internal.IM:
+com.android.tools.r8.ir.desugar.PrefixRewritingMapper -> com.android.tools.r8.internal.NM:
     1:1:void <init>():23:23 -> <init>
     void forAllRewrittenTypes(java.util.function.Consumer) -> a
     void rewriteType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType) -> a
@@ -54641,7 +54737,7 @@
     3:7:boolean hasRewrittenTypeInSignature(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.AppView):38:42 -> a
     boolean isRewriting() -> b
     com.android.tools.r8.graph.DexType rewrittenType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView) -> b
-com.android.tools.r8.ir.desugar.PrefixRewritingMapper$DesugarPrefixRewritingMapper -> com.android.tools.r8.internal.GM:
+com.android.tools.r8.ir.desugar.PrefixRewritingMapper$DesugarPrefixRewritingMapper -> com.android.tools.r8.internal.LM:
     java.util.Map rewritten -> b
     java.util.Map initialPrefixes -> c
     com.android.tools.r8.graph.DexItemFactory factory -> d
@@ -54688,13 +54784,13 @@
     15:25:com.android.tools.r8.graph.DexType rewrittenType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):129 -> b
     26:26:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.PrefixRewritingMapper$DesugarPrefixRewritingMapper.computePrefix(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):173:173 -> b
     26:26:com.android.tools.r8.graph.DexType rewrittenType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):129 -> b
-com.android.tools.r8.ir.desugar.PrefixRewritingMapper$EmptyPrefixRewritingMapper -> com.android.tools.r8.internal.HM:
+com.android.tools.r8.ir.desugar.PrefixRewritingMapper$EmptyPrefixRewritingMapper -> com.android.tools.r8.internal.MM:
     1:1:void <init>():208:208 -> <init>
     void forAllRewrittenTypes(java.util.function.Consumer) -> a
     void rewriteType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType) -> a
     boolean isRewriting() -> b
     com.android.tools.r8.graph.DexType rewrittenType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView) -> b
-com.android.tools.r8.ir.desugar.ProgramAdditions -> com.android.tools.r8.internal.iN:
+com.android.tools.r8.ir.desugar.ProgramAdditions -> com.android.tools.r8.internal.nN:
     java.util.Map additions -> b
     java.util.Set added -> a
     boolean $assertionsDisabled -> c
@@ -54709,1462 +54805,1478 @@
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.androidapi.AndroidApiLevelCompute apiLevelCompute -> b
     boolean $assertionsDisabled -> c
-    1:1:void <clinit>():38:38 -> <clinit>
-    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute):43:45 -> <init>
-    1:5:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):58:62 -> a
-    6:9:java.util.Collection com.android.tools.r8.ir.desugar.apimodel.ApiInvokeOutlinerDesugaring.desugarLibraryCall(com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.graph.DexItemFactory):114:117 -> a
-    6:9:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):60 -> a
-    10:14:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):71:75 -> a
-    15:26:com.android.tools.r8.androidapi.ComputedApiLevel getComputedApiLevelForMethodOnHolderWithMinApi(com.android.tools.r8.cf.code.CfInstruction):80:91 -> a
+    1:1:void <clinit>():39:39 -> <clinit>
+    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute):44:46 -> <init>
+    1:5:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):59:63 -> a
+    6:9:java.util.Collection com.android.tools.r8.ir.desugar.apimodel.ApiInvokeOutlinerDesugaring.desugarLibraryCall(com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.graph.DexItemFactory):121:124 -> a
+    6:9:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):61 -> a
+    10:14:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):72:76 -> a
+    15:26:com.android.tools.r8.androidapi.ComputedApiLevel getComputedApiLevelForMethodOnHolderWithMinApi(com.android.tools.r8.cf.code.CfInstruction):81:92 -> a
     27:27:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
-    27:27:com.android.tools.r8.androidapi.ComputedApiLevel getComputedApiLevelForMethodOnHolderWithMinApi(com.android.tools.r8.cf.code.CfInstruction):92 -> a
-    28:30:com.android.tools.r8.androidapi.ComputedApiLevel getComputedApiLevelForMethodOnHolderWithMinApi(com.android.tools.r8.cf.code.CfInstruction):95:97 -> a
-    31:41:com.android.tools.r8.androidapi.ComputedApiLevel getComputedApiLevelForMethodOnHolderWithMinApi(com.android.tools.r8.cf.code.CfInstruction):96:106 -> a
-    42:42:com.android.tools.r8.androidapi.ComputedApiLevel getComputedApiLevelForMethodOnHolderWithMinApi(com.android.tools.r8.cf.code.CfInstruction):93:93 -> a
-    43:45:com.android.tools.r8.graph.ProgramMethod ensureOutlineMethod(com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.cf.code.CfInvoke):126:128 -> a
-    46:48:boolean com.android.tools.r8.ir.desugar.apimodel.ApiInvokeOutlinerDesugaring.verifyLibraryHolderAndInvoke(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,boolean):168:170 -> a
-    46:48:com.android.tools.r8.graph.ProgramMethod ensureOutlineMethod(com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.cf.code.CfInvoke):129 -> a
-    49:50:com.android.tools.r8.graph.ProgramMethod ensureOutlineMethod(com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.cf.code.CfInvoke):129:130 -> a
-    51:51:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.prependHolderToProto(com.android.tools.r8.graph.DexMethod):2582:2582 -> a
-    51:51:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.prependHolderToProtoIf(com.android.tools.r8.graph.DexMethod,boolean):2586 -> a
-    51:51:com.android.tools.r8.graph.ProgramMethod ensureOutlineMethod(com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.cf.code.CfInvoke):130 -> a
-    52:52:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.prependHolderToProtoIf(com.android.tools.r8.graph.DexMethod,boolean):2586:2586 -> a
-    52:52:com.android.tools.r8.graph.ProgramMethod ensureOutlineMethod(com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.cf.code.CfInvoke):130 -> a
-    53:55:com.android.tools.r8.graph.ProgramMethod ensureOutlineMethod(com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.cf.code.CfInvoke):131:133 -> a
-    56:58:void lambda$ensureOutlineMethod$1(com.android.tools.r8.graph.DexProto,com.android.tools.r8.androidapi.ComputedApiLevel,boolean,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):139:141 -> a
+    27:27:com.android.tools.r8.androidapi.ComputedApiLevel getComputedApiLevelForMethodOnHolderWithMinApi(com.android.tools.r8.cf.code.CfInstruction):93 -> a
+    28:30:com.android.tools.r8.androidapi.ComputedApiLevel getComputedApiLevelForMethodOnHolderWithMinApi(com.android.tools.r8.cf.code.CfInstruction):96:98 -> a
+    31:33:com.android.tools.r8.androidapi.ComputedApiLevel getComputedApiLevelForMethodOnHolderWithMinApi(com.android.tools.r8.cf.code.CfInstruction):97:99 -> a
+    34:35:boolean com.android.tools.r8.ir.desugar.apimodel.ApiInvokeOutlinerDesugaring.isApiLevelLessThanOrEqualTo9(com.android.tools.r8.androidapi.ComputedApiLevel):112:113 -> a
+    34:35:com.android.tools.r8.androidapi.ComputedApiLevel getComputedApiLevelForMethodOnHolderWithMinApi(com.android.tools.r8.cf.code.CfInstruction):100 -> a
+    36:40:com.android.tools.r8.androidapi.ComputedApiLevel getComputedApiLevelForMethodOnHolderWithMinApi(com.android.tools.r8.cf.code.CfInstruction):104:108 -> a
+    41:41:com.android.tools.r8.androidapi.ComputedApiLevel getComputedApiLevelForMethodOnHolderWithMinApi(com.android.tools.r8.cf.code.CfInstruction):101:101 -> a
+    42:42:com.android.tools.r8.androidapi.ComputedApiLevel getComputedApiLevelForMethodOnHolderWithMinApi(com.android.tools.r8.cf.code.CfInstruction):94:94 -> a
+    43:45:com.android.tools.r8.graph.ProgramMethod ensureOutlineMethod(com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.cf.code.CfInvoke):133:135 -> a
+    46:48:boolean com.android.tools.r8.ir.desugar.apimodel.ApiInvokeOutlinerDesugaring.verifyLibraryHolderAndInvoke(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,boolean):175:177 -> a
+    46:48:com.android.tools.r8.graph.ProgramMethod ensureOutlineMethod(com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.cf.code.CfInvoke):136 -> a
+    49:50:com.android.tools.r8.graph.ProgramMethod ensureOutlineMethod(com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.cf.code.CfInvoke):136:137 -> a
+    51:51:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.prependHolderToProto(com.android.tools.r8.graph.DexMethod):2584:2584 -> a
+    51:51:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.prependHolderToProtoIf(com.android.tools.r8.graph.DexMethod,boolean):2588 -> a
+    51:51:com.android.tools.r8.graph.ProgramMethod ensureOutlineMethod(com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.cf.code.CfInvoke):137 -> a
+    52:52:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.prependHolderToProtoIf(com.android.tools.r8.graph.DexMethod,boolean):2588:2588 -> a
+    52:52:com.android.tools.r8.graph.ProgramMethod ensureOutlineMethod(com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.cf.code.CfInvoke):137 -> a
+    53:55:com.android.tools.r8.graph.ProgramMethod ensureOutlineMethod(com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.cf.code.CfInvoke):138:140 -> a
+    56:58:void lambda$ensureOutlineMethod$1(com.android.tools.r8.graph.DexProto,com.android.tools.r8.androidapi.ComputedApiLevel,boolean,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):146:148 -> a
     59:59:com.android.tools.r8.graph.AccessFlags$BuilderBase com.android.tools.r8.graph.AccessFlags$BuilderBase.setPublic():342:342 -> a
-    59:59:void lambda$ensureOutlineMethod$1(com.android.tools.r8.graph.DexProto,com.android.tools.r8.androidapi.ComputedApiLevel,boolean,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):142 -> a
-    60:64:void lambda$ensureOutlineMethod$1(com.android.tools.r8.graph.DexProto,com.android.tools.r8.androidapi.ComputedApiLevel,boolean,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):142:146 -> a
-    65:74:void lambda$ensureOutlineMethod$1(com.android.tools.r8.graph.DexProto,com.android.tools.r8.androidapi.ComputedApiLevel,boolean,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):140:149 -> a
-    75:83:com.android.tools.r8.graph.Code lambda$ensureOutlineMethod$0(boolean,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):152:160 -> a
-com.android.tools.r8.ir.desugar.backports.BackportedMethods -> com.android.tools.r8.internal.i4:
-    1:20:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2122:2141 -> A
-    21:34:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2135:2148 -> A
-    35:49:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2145:2159 -> A
-    50:50:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2153:2153 -> A
-    51:87:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2128:2164 -> A
+    59:59:void lambda$ensureOutlineMethod$1(com.android.tools.r8.graph.DexProto,com.android.tools.r8.androidapi.ComputedApiLevel,boolean,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):149 -> a
+    60:64:void lambda$ensureOutlineMethod$1(com.android.tools.r8.graph.DexProto,com.android.tools.r8.androidapi.ComputedApiLevel,boolean,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):149:153 -> a
+    65:74:void lambda$ensureOutlineMethod$1(com.android.tools.r8.graph.DexProto,com.android.tools.r8.androidapi.ComputedApiLevel,boolean,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):147:156 -> a
+    75:83:com.android.tools.r8.graph.Code lambda$ensureOutlineMethod$0(boolean,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):159:167 -> a
+com.android.tools.r8.ir.desugar.backports.BackportedMethods -> com.android.tools.r8.internal.j4:
+    1:20:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2123:2142 -> A
+    21:34:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2136:2149 -> A
+    35:49:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2146:2160 -> A
+    50:50:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2154:2154 -> A
+    51:87:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2129:2165 -> A
     88:88:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> A
-    88:88:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2164 -> A
-    1:20:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6659:6678 -> A0
+    88:88:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2165 -> A
+    1:20:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6660:6679 -> A0
     21:21:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> A0
-    21:21:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6678 -> A0
-    22:35:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6678:6691 -> A0
-    36:36:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6685:6685 -> A0
-    37:67:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6666:6696 -> A0
+    21:21:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6679 -> A0
+    22:35:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6679:6692 -> A0
+    36:36:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6686:6686 -> A0
+    37:67:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6667:6697 -> A0
     68:68:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> A0
-    68:68:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6696 -> A0
-    1:27:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2169:2195 -> B
-    28:47:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2191:2210 -> B
-    48:63:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2206:2221 -> B
-    64:83:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2215:2234 -> B
+    68:68:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6697 -> A0
+    1:27:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2170:2196 -> B
+    28:47:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2192:2211 -> B
+    48:63:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2207:2222 -> B
+    64:83:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2216:2235 -> B
     84:84:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> B
-    84:84:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2234 -> B
-    85:99:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2234:2248 -> B
-    100:113:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2242:2255 -> B
-    114:128:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2252:2266 -> B
-    129:129:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2260:2260 -> B
-    130:222:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2179:2271 -> B
+    84:84:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2235 -> B
+    85:99:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2235:2249 -> B
+    100:113:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2243:2256 -> B
+    114:128:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2253:2267 -> B
+    129:129:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2261:2261 -> B
+    130:222:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2180:2272 -> B
     223:223:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> B
-    223:223:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2271 -> B
-    1:22:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6701:6722 -> B0
-    23:23:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6721:6721 -> B0
+    223:223:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2272 -> B
+    1:22:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6702:6723 -> B0
+    23:23:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6722:6722 -> B0
     24:24:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> B0
-    24:24:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6721 -> B0
-    25:39:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6721:6735 -> B0
-    40:48:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6729:6737 -> B0
+    24:24:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6722 -> B0
+    25:39:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6722:6736 -> B0
+    40:48:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6730:6738 -> B0
     49:49:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> B0
-    49:49:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6737 -> B0
-    50:56:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6737:6743 -> B0
-    57:74:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6740:6757 -> B0
-    75:75:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6751:6751 -> B0
-    76:129:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6709:6762 -> B0
+    49:49:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6738 -> B0
+    50:56:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6738:6744 -> B0
+    57:74:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6741:6758 -> B0
+    75:75:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6752:6752 -> B0
+    76:129:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6710:6763 -> B0
     130:130:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> B0
-    130:130:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6762 -> B0
-    1:19:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2275:2293 -> C
-    20:20:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2287:2287 -> C
-    21:38:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2281:2298 -> C
+    130:130:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6763 -> B0
+    1:19:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2276:2294 -> C
+    20:20:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2288:2288 -> C
+    21:38:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2282:2299 -> C
     39:39:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> C
-    39:39:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2298 -> C
-    1:23:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6767:6789 -> C0
-    24:37:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6785:6798 -> C0
+    39:39:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2299 -> C
+    1:23:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6768:6790 -> C0
+    24:37:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6786:6799 -> C0
     38:38:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> C0
-    38:38:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6798 -> C0
-    39:41:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6798:6800 -> C0
-    42:72:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6775:6805 -> C0
+    38:38:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6799 -> C0
+    39:41:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6799:6801 -> C0
+    42:72:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6776:6806 -> C0
     73:73:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> C0
-    73:73:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6805 -> C0
-    1:20:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2303:2322 -> D
-    21:36:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2319:2334 -> D
-    37:54:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2330:2347 -> D
-    55:68:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2343:2356 -> D
+    73:73:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6806 -> C0
+    1:20:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2304:2323 -> D
+    21:36:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2320:2335 -> D
+    37:54:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2331:2348 -> D
+    55:68:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2344:2357 -> D
     69:69:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> D
-    69:69:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2356 -> D
-    70:83:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2356:2369 -> D
-    84:110:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2363:2389 -> D
-    111:123:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2386:2398 -> D
-    124:137:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2394:2407 -> D
-    138:151:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2403:2416 -> D
-    152:165:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2412:2425 -> D
-    166:180:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2421:2435 -> D
-    181:192:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2431:2442 -> D
-    193:204:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2439:2450 -> D
-    205:219:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2446:2460 -> D
+    69:69:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2357 -> D
+    70:83:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2357:2370 -> D
+    84:110:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2364:2390 -> D
+    111:123:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2387:2399 -> D
+    124:137:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2395:2408 -> D
+    138:151:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2404:2417 -> D
+    152:165:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2413:2426 -> D
+    166:180:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2422:2436 -> D
+    181:192:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2432:2443 -> D
+    193:204:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2440:2451 -> D
+    205:219:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2447:2461 -> D
     220:220:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> D
-    220:220:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2460 -> D
-    221:223:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2460:2462 -> D
-    224:378:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2314:2468 -> D
+    220:220:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2461 -> D
+    221:223:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2461:2463 -> D
+    224:378:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2315:2469 -> D
     379:379:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> D
-    379:379:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2468 -> D
-    1:25:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6810:6834 -> D0
-    26:26:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6831:6831 -> D0
+    379:379:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2469 -> D
+    1:25:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6811:6835 -> D0
+    26:26:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6832:6832 -> D0
     27:27:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> D0
-    27:27:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6831 -> D0
-    28:42:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6831:6845 -> D0
-    43:43:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6844:6844 -> D0
+    27:27:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6832 -> D0
+    28:42:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6832:6846 -> D0
+    43:43:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6845:6845 -> D0
     44:44:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> D0
-    44:44:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6844 -> D0
-    45:57:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6844:6856 -> D0
-    58:58:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6855:6855 -> D0
+    44:44:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6845 -> D0
+    45:57:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6845:6857 -> D0
+    58:58:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6856:6856 -> D0
     59:59:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> D0
-    59:59:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6855 -> D0
-    60:76:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6855:6871 -> D0
-    77:91:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6867:6881 -> D0
-    92:92:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6880:6880 -> D0
+    59:59:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6856 -> D0
+    60:76:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6856:6872 -> D0
+    77:91:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6868:6882 -> D0
+    92:92:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6881:6881 -> D0
     93:93:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> D0
-    93:93:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6880 -> D0
-    94:97:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6880:6883 -> D0
-    98:165:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6821:6888 -> D0
+    93:93:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6881 -> D0
+    94:97:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6881:6884 -> D0
+    98:165:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6822:6889 -> D0
     166:166:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> D0
-    166:166:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6888 -> D0
-    1:30:com.android.tools.r8.graph.CfCode IntegerMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2472:2501 -> E
+    166:166:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6889 -> D0
+    1:30:com.android.tools.r8.graph.CfCode IntegerMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2473:2502 -> E
     31:31:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> E
-    31:31:com.android.tools.r8.graph.CfCode IntegerMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2501 -> E
-    1:19:com.android.tools.r8.graph.CfCode ObjectsMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6892:6910 -> E0
-    20:20:com.android.tools.r8.graph.CfCode ObjectsMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6904:6904 -> E0
-    21:38:com.android.tools.r8.graph.CfCode ObjectsMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6898:6915 -> E0
+    31:31:com.android.tools.r8.graph.CfCode IntegerMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2502 -> E
+    1:19:com.android.tools.r8.graph.CfCode ObjectsMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6893:6911 -> E0
+    20:20:com.android.tools.r8.graph.CfCode ObjectsMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6905:6905 -> E0
+    21:38:com.android.tools.r8.graph.CfCode ObjectsMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6899:6916 -> E0
     39:39:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> E0
-    39:39:com.android.tools.r8.graph.CfCode ObjectsMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6915 -> E0
-    1:16:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2505:2520 -> F
+    39:39:com.android.tools.r8.graph.CfCode ObjectsMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6916 -> E0
+    1:16:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2506:2521 -> F
     17:17:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> F
-    17:17:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2520 -> F
-    1:21:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6919:6939 -> F0
+    17:17:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2521 -> F
+    1:21:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6920:6940 -> F0
     22:22:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> F0
-    22:22:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6939 -> F0
-    23:32:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6939:6948 -> F0
-    33:44:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6945:6956 -> F0
+    22:22:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6940 -> F0
+    23:32:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6940:6949 -> F0
+    33:44:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6946:6957 -> F0
     45:45:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> F0
-    45:45:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6956 -> F0
-    46:49:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6956:6959 -> F0
-    50:86:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6927:6963 -> F0
+    45:45:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6957 -> F0
+    46:49:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6957:6960 -> F0
+    50:86:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6928:6964 -> F0
     87:87:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> F0
-    87:87:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6963 -> F0
-    1:19:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2524:2542 -> G
-    20:20:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2536:2536 -> G
-    21:38:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2530:2547 -> G
+    87:87:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6964 -> F0
+    1:19:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2525:2543 -> G
+    20:20:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2537:2537 -> G
+    21:38:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2531:2548 -> G
     39:39:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> G
-    39:39:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2547 -> G
-    1:18:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6967:6984 -> G0
-    19:33:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6981:6995 -> G0
-    34:45:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6992:7003 -> G0
-    46:60:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6999:7013 -> G0
-    61:63:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7012:7014 -> G0
+    39:39:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2548 -> G
+    1:18:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6968:6985 -> G0
+    19:33:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6982:6996 -> G0
+    34:45:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6993:7004 -> G0
+    46:60:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7000:7014 -> G0
+    61:63:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7013:7015 -> G0
     64:64:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> G0
-    64:64:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7014 -> G0
-    65:74:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7014:7023 -> G0
-    75:87:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7020:7032 -> G0
-    88:90:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7031:7033 -> G0
+    64:64:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7015 -> G0
+    65:74:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7015:7024 -> G0
+    75:87:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7021:7033 -> G0
+    88:90:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7032:7034 -> G0
     91:91:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> G0
-    91:91:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7033 -> G0
-    92:94:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7033:7035 -> G0
-    95:158:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6976:7039 -> G0
+    91:91:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7034 -> G0
+    92:94:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7034:7036 -> G0
+    95:158:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6977:7040 -> G0
     159:159:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> G0
-    159:159:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7039 -> G0
-    1:26:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2552:2577 -> H
-    27:27:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2571:2571 -> H
-    28:51:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2559:2582 -> H
+    159:159:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7040 -> G0
+    1:26:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2553:2578 -> H
+    27:27:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2572:2572 -> H
+    28:51:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2560:2583 -> H
     52:52:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> H
-    52:52:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2582 -> H
-    1:18:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7044:7061 -> H0
-    19:33:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7058:7072 -> H0
-    34:45:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7069:7080 -> H0
-    46:59:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7076:7089 -> H0
-    60:63:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7088:7091 -> H0
-    64:66:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7090:7092 -> H0
+    52:52:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2583 -> H
+    1:18:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7045:7062 -> H0
+    19:33:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7059:7073 -> H0
+    34:45:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7070:7081 -> H0
+    46:59:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7077:7090 -> H0
+    60:63:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7089:7092 -> H0
+    64:66:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7091:7093 -> H0
     67:67:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> H0
-    67:67:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7092 -> H0
-    68:77:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7092:7101 -> H0
-    78:89:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7098:7109 -> H0
-    90:93:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7108:7111 -> H0
-    94:96:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7110:7112 -> H0
+    67:67:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7093 -> H0
+    68:77:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7093:7102 -> H0
+    78:89:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7099:7110 -> H0
+    90:93:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7109:7112 -> H0
+    94:96:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7111:7113 -> H0
     97:97:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> H0
-    97:97:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7112 -> H0
-    98:100:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7112:7114 -> H0
-    101:166:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7053:7118 -> H0
+    97:97:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7113 -> H0
+    98:100:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7113:7115 -> H0
+    101:166:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7054:7119 -> H0
     167:167:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> H0
-    167:167:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7118 -> H0
-    1:31:com.android.tools.r8.graph.CfCode LongMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2586:2616 -> I
-    32:32:com.android.tools.r8.graph.CfCode LongMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2610:2610 -> I
-    33:60:com.android.tools.r8.graph.CfCode LongMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2594:2621 -> I
+    167:167:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7119 -> H0
+    1:31:com.android.tools.r8.graph.CfCode LongMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2587:2617 -> I
+    32:32:com.android.tools.r8.graph.CfCode LongMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2611:2611 -> I
+    33:60:com.android.tools.r8.graph.CfCode LongMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2595:2622 -> I
     61:61:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> I
-    61:61:com.android.tools.r8.graph.CfCode LongMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2621 -> I
-    1:18:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7123:7140 -> I0
-    19:33:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7137:7151 -> I0
-    34:45:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7148:7159 -> I0
-    46:59:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7155:7168 -> I0
-    60:63:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7167:7170 -> I0
-    64:66:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7169:7171 -> I0
+    61:61:com.android.tools.r8.graph.CfCode LongMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2622 -> I
+    1:18:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7124:7141 -> I0
+    19:33:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7138:7152 -> I0
+    34:45:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7149:7160 -> I0
+    46:59:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7156:7169 -> I0
+    60:63:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7168:7171 -> I0
+    64:66:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7170:7172 -> I0
     67:67:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> I0
-    67:67:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7171 -> I0
-    68:77:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7171:7180 -> I0
-    78:89:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7177:7188 -> I0
-    90:93:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7187:7190 -> I0
-    94:96:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7189:7191 -> I0
+    67:67:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7172 -> I0
+    68:77:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7172:7181 -> I0
+    78:89:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7178:7189 -> I0
+    90:93:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7188:7191 -> I0
+    94:96:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7190:7192 -> I0
     97:97:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> I0
-    97:97:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7191 -> I0
-    98:100:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7191:7193 -> I0
-    101:166:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7132:7197 -> I0
+    97:97:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7192 -> I0
+    98:100:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7192:7194 -> I0
+    101:166:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7133:7198 -> I0
     167:167:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> I0
-    167:167:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7197 -> I0
-    1:53:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2625:2677 -> J
+    167:167:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7198 -> I0
+    1:53:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2626:2678 -> J
     54:54:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> J
-    54:54:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2677 -> J
-    55:66:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2677:2688 -> J
+    54:54:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2678 -> J
+    55:66:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2678:2689 -> J
     67:67:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> J
-    67:67:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2688 -> J
-    68:86:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2688:2706 -> J
+    67:67:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2689 -> J
+    68:86:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2689:2707 -> J
     87:87:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> J
-    87:87:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2706 -> J
-    88:134:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2706:2752 -> J
+    87:87:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2707 -> J
+    88:134:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2707:2753 -> J
     135:135:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> J
-    135:135:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2752 -> J
-    136:151:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2752:2767 -> J
+    135:135:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2753 -> J
+    136:151:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2753:2768 -> J
     152:152:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> J
-    152:152:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2767 -> J
-    153:158:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2767:2772 -> J
-    159:159:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2770:2770 -> J
-    160:293:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2645:2778 -> J
+    152:152:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2768 -> J
+    153:158:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2768:2773 -> J
+    159:159:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2771:2771 -> J
+    160:293:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2646:2779 -> J
     294:294:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> J
-    294:294:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2778 -> J
-    1:18:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7202:7219 -> J0
-    19:33:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7216:7230 -> J0
-    34:45:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7227:7238 -> J0
-    46:59:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7234:7247 -> J0
-    60:63:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7246:7249 -> J0
-    64:66:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7248:7250 -> J0
+    294:294:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2779 -> J
+    1:18:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7203:7220 -> J0
+    19:33:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7217:7231 -> J0
+    34:45:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7228:7239 -> J0
+    46:59:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7235:7248 -> J0
+    60:63:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7247:7250 -> J0
+    64:66:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7249:7251 -> J0
     67:67:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> J0
-    67:67:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7250 -> J0
-    68:77:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7250:7259 -> J0
-    78:89:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7256:7267 -> J0
-    90:93:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7266:7269 -> J0
-    94:96:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7268:7270 -> J0
+    67:67:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7251 -> J0
+    68:77:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7251:7260 -> J0
+    78:89:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7257:7268 -> J0
+    90:93:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7267:7270 -> J0
+    94:96:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7269:7271 -> J0
     97:97:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> J0
-    97:97:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7270 -> J0
-    98:100:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7270:7272 -> J0
-    101:166:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7211:7276 -> J0
+    97:97:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7271 -> J0
+    98:100:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7271:7273 -> J0
+    101:166:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7212:7277 -> J0
     167:167:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> J0
-    167:167:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7276 -> J0
-    1:18:com.android.tools.r8.graph.CfCode LongMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2782:2799 -> K
+    167:167:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7277 -> J0
+    1:18:com.android.tools.r8.graph.CfCode LongMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2783:2800 -> K
     19:19:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> K
-    19:19:com.android.tools.r8.graph.CfCode LongMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2799 -> K
-    1:17:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7280:7296 -> K0
-    18:31:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7293:7306 -> K0
+    19:19:com.android.tools.r8.graph.CfCode LongMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2800 -> K
+    1:17:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7281:7297 -> K0
+    18:31:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7294:7307 -> K0
     32:32:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> K0
-    32:32:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7306 -> K0
-    33:42:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7306:7315 -> K0
+    32:32:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7307 -> K0
+    33:42:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7307:7316 -> K0
     43:43:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> K0
-    43:43:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7315 -> K0
-    44:47:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7315:7318 -> K0
-    48:82:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7288:7322 -> K0
+    43:43:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7316 -> K0
+    44:47:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7316:7319 -> K0
+    48:82:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7289:7323 -> K0
     83:83:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> K0
-    83:83:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7322 -> K0
-    1:20:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2804:2823 -> L
-    21:34:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2817:2830 -> L
-    35:49:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2827:2841 -> L
-    50:50:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2835:2835 -> L
-    51:87:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2810:2846 -> L
+    83:83:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7323 -> K0
+    1:20:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2805:2824 -> L
+    21:34:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2818:2831 -> L
+    35:49:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2828:2842 -> L
+    50:50:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2836:2836 -> L
+    51:87:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2811:2847 -> L
     88:88:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> L
-    88:88:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2846 -> L
-    1:17:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7326:7342 -> L0
-    18:32:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7339:7353 -> L0
-    33:33:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7352:7352 -> L0
+    88:88:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2847 -> L
+    1:17:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7327:7343 -> L0
+    18:32:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7340:7354 -> L0
+    33:33:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7353:7353 -> L0
     34:34:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> L0
-    34:34:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7352 -> L0
-    35:46:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7352:7363 -> L0
-    47:47:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7362:7362 -> L0
+    34:34:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7353 -> L0
+    35:46:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7353:7364 -> L0
+    47:47:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7363:7363 -> L0
     48:48:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> L0
-    48:48:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7362 -> L0
-    49:53:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7362:7366 -> L0
-    54:90:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7334:7370 -> L0
+    48:48:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7363 -> L0
+    49:53:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7363:7367 -> L0
+    54:90:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7335:7371 -> L0
     91:91:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> L0
-    91:91:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7370 -> L0
-    1:27:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2851:2877 -> M
-    28:47:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2873:2892 -> M
-    48:63:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2888:2903 -> M
-    64:83:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2897:2916 -> M
+    91:91:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7371 -> L0
+    1:27:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2852:2878 -> M
+    28:47:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2874:2893 -> M
+    48:63:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2889:2904 -> M
+    64:83:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2898:2917 -> M
     84:84:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> M
-    84:84:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2916 -> M
-    85:99:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2916:2930 -> M
-    100:113:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2924:2937 -> M
-    114:128:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2934:2948 -> M
-    129:129:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2942:2942 -> M
-    130:222:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2861:2953 -> M
+    84:84:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2917 -> M
+    85:99:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2917:2931 -> M
+    100:113:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2925:2938 -> M
+    114:128:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2935:2949 -> M
+    129:129:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2943:2943 -> M
+    130:222:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2862:2954 -> M
     223:223:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> M
-    223:223:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2953 -> M
-    1:17:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7374:7390 -> M0
-    18:32:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7387:7401 -> M0
-    33:33:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7400:7400 -> M0
+    223:223:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2954 -> M
+    1:17:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7375:7391 -> M0
+    18:32:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7388:7402 -> M0
+    33:33:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7401:7401 -> M0
     34:34:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> M0
-    34:34:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7400 -> M0
-    35:46:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7400:7411 -> M0
-    47:47:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7410:7410 -> M0
+    34:34:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7401 -> M0
+    35:46:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7401:7412 -> M0
+    47:47:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7411:7411 -> M0
     48:48:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> M0
-    48:48:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7410 -> M0
-    49:53:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7410:7414 -> M0
-    54:90:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7382:7418 -> M0
+    48:48:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7411 -> M0
+    49:53:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7411:7415 -> M0
+    54:90:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7383:7419 -> M0
     91:91:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> M0
-    91:91:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7418 -> M0
-    1:19:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2957:2975 -> N
-    20:20:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2969:2969 -> N
-    21:38:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2963:2980 -> N
+    91:91:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7419 -> M0
+    1:19:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2958:2976 -> N
+    20:20:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2970:2970 -> N
+    21:38:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2964:2981 -> N
     39:39:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> N
-    39:39:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2980 -> N
-    1:17:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7422:7438 -> N0
-    18:32:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7435:7449 -> N0
-    33:33:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7448:7448 -> N0
+    39:39:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2981 -> N
+    1:17:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7423:7439 -> N0
+    18:32:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7436:7450 -> N0
+    33:33:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7449:7449 -> N0
     34:34:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> N0
-    34:34:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7448 -> N0
-    35:46:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7448:7459 -> N0
-    47:47:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7458:7458 -> N0
+    34:34:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7449 -> N0
+    35:46:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7449:7460 -> N0
+    47:47:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7459:7459 -> N0
     48:48:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> N0
-    48:48:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7458 -> N0
-    49:53:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7458:7462 -> N0
-    54:90:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7430:7466 -> N0
+    48:48:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7459 -> N0
+    49:53:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7459:7463 -> N0
+    54:90:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7431:7467 -> N0
     91:91:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> N0
-    91:91:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7466 -> N0
-    1:46:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2985:3030 -> O
-    47:94:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3026:3073 -> O
-    95:107:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3069:3081 -> O
-    108:120:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3077:3089 -> O
-    121:151:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3085:3115 -> O
-    152:170:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3109:3127 -> O
-    171:249:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3123:3201 -> O
-    250:265:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3197:3212 -> O
-    266:288:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3206:3228 -> O
-    289:300:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3225:3236 -> O
-    301:350:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3232:3281 -> O
-    351:387:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3275:3311 -> O
-    388:399:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3308:3319 -> O
-    400:412:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3315:3327 -> O
-    413:462:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3323:3372 -> O
-    463:829:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3011:3377 -> O
-    1:20:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7470:7489 -> O0
-    21:35:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7485:7499 -> O0
-    36:52:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7496:7512 -> O0
-    53:53:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7511:7511 -> O0
+    91:91:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7467 -> N0
+    1:46:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2986:3031 -> O
+    47:94:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3027:3074 -> O
+    95:107:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3070:3082 -> O
+    108:120:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3078:3090 -> O
+    121:151:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3086:3116 -> O
+    152:170:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3110:3128 -> O
+    171:249:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3124:3202 -> O
+    250:265:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3198:3213 -> O
+    266:288:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3207:3229 -> O
+    289:300:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3226:3237 -> O
+    301:350:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3233:3282 -> O
+    351:387:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3276:3312 -> O
+    388:399:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3309:3320 -> O
+    400:412:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3316:3328 -> O
+    413:462:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3324:3373 -> O
+    463:829:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3012:3378 -> O
+    1:20:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7471:7490 -> O0
+    21:35:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7486:7500 -> O0
+    36:52:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7497:7513 -> O0
+    53:53:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7512:7512 -> O0
     54:54:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> O0
-    54:54:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7511 -> O0
-    55:65:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7511:7521 -> O0
-    66:71:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7518:7523 -> O0
+    54:54:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7512 -> O0
+    55:65:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7512:7522 -> O0
+    66:71:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7519:7524 -> O0
     72:72:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> O0
-    72:72:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7523 -> O0
-    73:83:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7523:7533 -> O0
-    84:90:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7529:7535 -> O0
+    72:72:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7524 -> O0
+    73:83:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7524:7534 -> O0
+    84:90:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7530:7536 -> O0
     91:91:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> O0
-    91:91:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7535 -> O0
-    92:92:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7535:7535 -> O0
-    93:152:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7480:7539 -> O0
+    91:91:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7536 -> O0
+    92:92:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7536:7536 -> O0
+    93:152:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7481:7540 -> O0
     153:153:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> O0
-    153:153:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7539 -> O0
-    1:17:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3382:3398 -> P
-    18:34:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3395:3411 -> P
-    35:35:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3403:3403 -> P
-    36:64:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3388:3416 -> P
+    153:153:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7540 -> O0
+    1:17:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3383:3399 -> P
+    18:34:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3396:3412 -> P
+    35:35:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3404:3404 -> P
+    36:64:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3389:3417 -> P
     65:65:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> P
-    65:65:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3416 -> P
-    1:17:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7543:7559 -> P0
-    18:31:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7556:7569 -> P0
-    32:42:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7566:7576 -> P0
-    43:46:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7575:7578 -> P0
-    47:60:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7573:7586 -> P0
+    65:65:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3417 -> P
+    1:17:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7544:7560 -> P0
+    18:31:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7557:7570 -> P0
+    32:42:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7567:7577 -> P0
+    43:46:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7576:7579 -> P0
+    47:60:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7574:7587 -> P0
     61:61:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> P0
-    61:61:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7586 -> P0
-    62:70:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7586:7594 -> P0
-    71:73:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7593:7595 -> P0
-    74:74:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7591:7591 -> P0
-    75:124:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7551:7600 -> P0
+    61:61:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7587 -> P0
+    62:70:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7587:7595 -> P0
+    71:73:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7594:7596 -> P0
+    74:74:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7592:7592 -> P0
+    75:124:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7552:7601 -> P0
     125:125:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> P0
-    125:125:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7600 -> P0
-    1:53:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3420:3472 -> Q
+    125:125:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7601 -> P0
+    1:53:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3421:3473 -> Q
     54:54:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Q
-    54:54:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3472 -> Q
-    55:68:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3472:3485 -> Q
+    54:54:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3473 -> Q
+    55:68:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3473:3486 -> Q
     69:69:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Q
-    69:69:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3485 -> Q
-    70:88:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3485:3503 -> Q
+    69:69:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3486 -> Q
+    70:88:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3486:3504 -> Q
     89:89:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Q
-    89:89:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3503 -> Q
-    90:136:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3503:3549 -> Q
+    89:89:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3504 -> Q
+    90:136:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3504:3550 -> Q
     137:137:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Q
-    137:137:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3549 -> Q
-    138:153:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3549:3564 -> Q
+    137:137:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3550 -> Q
+    138:153:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3550:3565 -> Q
     154:154:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Q
-    154:154:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3564 -> Q
-    155:160:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3564:3569 -> Q
-    161:161:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3567:3567 -> Q
-    162:296:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3440:3574 -> Q
+    154:154:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3565 -> Q
+    155:160:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3565:3570 -> Q
+    161:161:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3568:3568 -> Q
+    162:296:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3441:3575 -> Q
     297:297:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> Q
-    297:297:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3574 -> Q
-    1:17:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7604:7620 -> Q0
-    18:31:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7617:7630 -> Q0
-    32:42:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7627:7637 -> Q0
-    43:46:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7636:7639 -> Q0
-    47:61:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7634:7648 -> Q0
-    62:62:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7647:7647 -> Q0
+    297:297:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3575 -> Q
+    1:17:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7605:7621 -> Q0
+    18:31:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7618:7631 -> Q0
+    32:42:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7628:7638 -> Q0
+    43:46:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7637:7640 -> Q0
+    47:61:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7635:7649 -> Q0
+    62:62:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7648:7648 -> Q0
     63:63:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Q0
-    63:63:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7647 -> Q0
-    64:73:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7647:7656 -> Q0
-    74:76:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7655:7657 -> Q0
-    77:77:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7653:7653 -> Q0
-    78:128:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7612:7662 -> Q0
+    63:63:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7648 -> Q0
+    64:73:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7648:7657 -> Q0
+    74:76:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7656:7658 -> Q0
+    77:77:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7654:7654 -> Q0
+    78:128:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7613:7663 -> Q0
     129:129:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> Q0
-    129:129:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7662 -> Q0
-    1:19:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3578:3596 -> R
-    20:20:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3590:3590 -> R
-    21:38:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3584:3601 -> R
+    129:129:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7663 -> Q0
+    1:19:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3579:3597 -> R
+    20:20:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3591:3591 -> R
+    21:38:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3585:3602 -> R
     39:39:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> R
-    39:39:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3601 -> R
-    1:17:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7666:7682 -> R0
-    18:31:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7679:7692 -> R0
-    32:42:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7689:7699 -> R0
-    43:46:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7698:7701 -> R0
-    47:61:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7696:7710 -> R0
-    62:62:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7709:7709 -> R0
+    39:39:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3602 -> R
+    1:17:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7667:7683 -> R0
+    18:31:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7680:7693 -> R0
+    32:42:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7690:7700 -> R0
+    43:46:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7699:7702 -> R0
+    47:61:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7697:7711 -> R0
+    62:62:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7710:7710 -> R0
     63:63:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> R0
-    63:63:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7709 -> R0
-    64:73:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7709:7718 -> R0
-    74:76:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7717:7719 -> R0
-    77:77:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7715:7715 -> R0
-    78:128:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7674:7724 -> R0
+    63:63:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7710 -> R0
+    64:73:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7710:7719 -> R0
+    74:76:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7718:7720 -> R0
+    77:77:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7716:7716 -> R0
+    78:128:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7675:7725 -> R0
     129:129:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> R0
-    129:129:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7724 -> R0
-    1:47:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3606:3652 -> S
+    129:129:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7725 -> R0
+    1:47:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3607:3653 -> S
     48:48:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> S
-    48:48:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3652 -> S
-    49:67:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3652:3670 -> S
-    68:83:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3664:3679 -> S
+    48:48:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3653 -> S
+    49:67:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3653:3671 -> S
+    68:83:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3665:3680 -> S
     84:84:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> S
-    84:84:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3679 -> S
-    85:100:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3679:3694 -> S
+    84:84:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3680 -> S
+    85:100:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3680:3695 -> S
     101:101:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> S
-    101:101:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3694 -> S
-    102:113:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3694:3705 -> S
+    101:101:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3695 -> S
+    102:113:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3695:3706 -> S
     114:114:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> S
-    114:114:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3705 -> S
-    115:140:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3705:3730 -> S
-    141:163:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3726:3748 -> S
+    114:114:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3706 -> S
+    115:140:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3706:3731 -> S
+    141:163:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3727:3749 -> S
     164:164:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> S
-    164:164:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3748 -> S
-    165:184:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3748:3767 -> S
-    185:214:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3761:3790 -> S
+    164:164:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3749 -> S
+    165:184:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3749:3768 -> S
+    185:214:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3762:3791 -> S
     215:215:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> S
-    215:215:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3790 -> S
-    216:243:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3790:3817 -> S
+    215:215:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3791 -> S
+    216:243:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3791:3818 -> S
     244:244:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> S
-    244:244:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3817 -> S
-    245:259:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3817:3831 -> S
-    260:278:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3825:3843 -> S
+    244:244:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3818 -> S
+    245:259:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3818:3832 -> S
+    260:278:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3826:3844 -> S
     279:279:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> S
-    279:279:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3843 -> S
-    280:305:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3843:3868 -> S
-    306:328:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3862:3884 -> S
+    279:279:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3844 -> S
+    280:305:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3844:3869 -> S
+    306:328:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3863:3885 -> S
     329:329:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> S
-    329:329:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3884 -> S
-    330:355:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3884:3909 -> S
-    356:380:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3903:3927 -> S
+    329:329:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3885 -> S
+    330:355:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3885:3910 -> S
+    356:380:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3904:3928 -> S
     381:381:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> S
-    381:381:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3927 -> S
-    382:402:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3927:3947 -> S
-    403:403:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3940:3940 -> S
-    404:719:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3637:3952 -> S
+    381:381:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3928 -> S
+    382:402:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3928:3948 -> S
+    403:403:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3941:3941 -> S
+    404:719:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3638:3953 -> S
     720:720:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> S
-    720:720:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3952 -> S
-    1:17:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7728:7744 -> S0
-    18:31:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7741:7754 -> S0
-    32:42:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7751:7761 -> S0
-    43:46:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7760:7763 -> S0
-    47:61:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7758:7772 -> S0
-    62:62:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7771:7771 -> S0
+    720:720:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3953 -> S
+    1:17:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7729:7745 -> S0
+    18:31:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7742:7755 -> S0
+    32:42:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7752:7762 -> S0
+    43:46:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7761:7764 -> S0
+    47:61:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7759:7773 -> S0
+    62:62:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7772:7772 -> S0
     63:63:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> S0
-    63:63:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7771 -> S0
-    64:73:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7771:7780 -> S0
-    74:76:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7779:7781 -> S0
-    77:77:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7777:7777 -> S0
-    78:128:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7736:7786 -> S0
+    63:63:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7772 -> S0
+    64:73:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7772:7781 -> S0
+    74:76:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7780:7782 -> S0
+    77:77:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7778:7778 -> S0
+    78:128:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7737:7787 -> S0
     129:129:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> S0
-    129:129:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7786 -> S0
-    1:40:com.android.tools.r8.graph.CfCode MathMethods_addExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3956:3995 -> T
+    129:129:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7787 -> S0
+    1:40:com.android.tools.r8.graph.CfCode MathMethods_addExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3957:3996 -> T
     41:41:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> T
-    41:41:com.android.tools.r8.graph.CfCode MathMethods_addExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3995 -> T
-    42:52:com.android.tools.r8.graph.CfCode MathMethods_addExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3995:4005 -> T
-    53:53:com.android.tools.r8.graph.CfCode MathMethods_addExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4002:4002 -> T
-    54:98:com.android.tools.r8.graph.CfCode MathMethods_addExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3966:4010 -> T
+    41:41:com.android.tools.r8.graph.CfCode MathMethods_addExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3996 -> T
+    42:52:com.android.tools.r8.graph.CfCode MathMethods_addExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3996:4006 -> T
+    53:53:com.android.tools.r8.graph.CfCode MathMethods_addExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4003:4003 -> T
+    54:98:com.android.tools.r8.graph.CfCode MathMethods_addExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3967:4011 -> T
     99:99:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> T
-    99:99:com.android.tools.r8.graph.CfCode MathMethods_addExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4010 -> T
-    1:15:com.android.tools.r8.graph.CfCode ShortMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7790:7804 -> T0
+    99:99:com.android.tools.r8.graph.CfCode MathMethods_addExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4011 -> T
+    1:15:com.android.tools.r8.graph.CfCode ShortMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7791:7805 -> T0
     16:16:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> T0
-    16:16:com.android.tools.r8.graph.CfCode ShortMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7804 -> T0
-    1:36:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4014:4049 -> U
+    16:16:com.android.tools.r8.graph.CfCode ShortMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7805 -> T0
+    1:36:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4015:4050 -> U
     37:37:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> U
-    37:37:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4049 -> U
-    38:49:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4049:4060 -> U
+    37:37:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4050 -> U
+    38:49:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4050:4061 -> U
     50:50:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> U
-    50:50:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4060 -> U
-    51:70:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4060:4079 -> U
+    50:50:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4061 -> U
+    51:70:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4061:4080 -> U
     71:71:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> U
-    71:71:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4079 -> U
-    72:84:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4079:4091 -> U
+    71:71:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4080 -> U
+    72:84:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4080:4092 -> U
     85:85:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> U
-    85:85:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4091 -> U
-    86:91:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4091:4096 -> U
-    92:107:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4094:4109 -> U
+    85:85:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4092 -> U
+    86:91:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4092:4097 -> U
+    92:107:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4095:4110 -> U
     108:108:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> U
-    108:108:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4109 -> U
-    109:119:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4109:4119 -> U
-    120:120:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4116:4116 -> U
-    121:218:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4027:4124 -> U
+    108:108:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4110 -> U
+    109:119:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4110:4120 -> U
+    120:120:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4117:4117 -> U
+    121:218:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4028:4125 -> U
     219:219:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> U
-    219:219:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4124 -> U
-    1:19:com.android.tools.r8.graph.CfCode ShortMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7808:7826 -> U0
+    219:219:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4125 -> U
+    1:19:com.android.tools.r8.graph.CfCode ShortMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7809:7827 -> U0
     20:20:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> U0
-    20:20:com.android.tools.r8.graph.CfCode ShortMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7826 -> U0
-    1:22:com.android.tools.r8.graph.CfCode MathMethods_decrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4128:4149 -> V
-    23:33:com.android.tools.r8.graph.CfCode MathMethods_decrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4146:4156 -> V
+    20:20:com.android.tools.r8.graph.CfCode ShortMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7827 -> U0
+    1:22:com.android.tools.r8.graph.CfCode MathMethods_decrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4129:4150 -> V
+    23:33:com.android.tools.r8.graph.CfCode MathMethods_decrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4147:4157 -> V
     34:34:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> V
-    34:34:com.android.tools.r8.graph.CfCode MathMethods_decrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4156 -> V
-    35:36:com.android.tools.r8.graph.CfCode MathMethods_decrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4156:4157 -> V
-    37:65:com.android.tools.r8.graph.CfCode MathMethods_decrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4136:4164 -> V
+    34:34:com.android.tools.r8.graph.CfCode MathMethods_decrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4157 -> V
+    35:36:com.android.tools.r8.graph.CfCode MathMethods_decrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4157:4158 -> V
+    37:65:com.android.tools.r8.graph.CfCode MathMethods_decrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4137:4165 -> V
     66:66:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> V
-    66:66:com.android.tools.r8.graph.CfCode MathMethods_decrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4164 -> V
-    1:15:com.android.tools.r8.graph.CfCode ShortMethods_toUnsignedInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7830:7844 -> V0
+    66:66:com.android.tools.r8.graph.CfCode MathMethods_decrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4165 -> V
+    1:15:com.android.tools.r8.graph.CfCode ShortMethods_toUnsignedInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7831:7845 -> V0
     16:16:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> V0
-    16:16:com.android.tools.r8.graph.CfCode ShortMethods_toUnsignedInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7844 -> V0
-    1:23:com.android.tools.r8.graph.CfCode MathMethods_decrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4168:4190 -> W
-    24:34:com.android.tools.r8.graph.CfCode MathMethods_decrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4187:4197 -> W
+    16:16:com.android.tools.r8.graph.CfCode ShortMethods_toUnsignedInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7845 -> V0
+    1:23:com.android.tools.r8.graph.CfCode MathMethods_decrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4169:4191 -> W
+    24:34:com.android.tools.r8.graph.CfCode MathMethods_decrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4188:4198 -> W
     35:35:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> W
-    35:35:com.android.tools.r8.graph.CfCode MathMethods_decrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4197 -> W
-    36:37:com.android.tools.r8.graph.CfCode MathMethods_decrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4197:4198 -> W
-    38:67:com.android.tools.r8.graph.CfCode MathMethods_decrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4176:4205 -> W
+    35:35:com.android.tools.r8.graph.CfCode MathMethods_decrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4198 -> W
+    36:37:com.android.tools.r8.graph.CfCode MathMethods_decrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4198:4199 -> W
+    38:67:com.android.tools.r8.graph.CfCode MathMethods_decrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4177:4206 -> W
     68:68:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> W
-    68:68:com.android.tools.r8.graph.CfCode MathMethods_decrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4205 -> W
-    1:16:com.android.tools.r8.graph.CfCode ShortMethods_toUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7848:7863 -> W0
+    68:68:com.android.tools.r8.graph.CfCode MathMethods_decrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4206 -> W
+    1:16:com.android.tools.r8.graph.CfCode ShortMethods_toUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7849:7864 -> W0
     17:17:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> W0
-    17:17:com.android.tools.r8.graph.CfCode ShortMethods_toUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7863 -> W0
-    1:41:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4209:4249 -> X
+    17:17:com.android.tools.r8.graph.CfCode ShortMethods_toUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7864 -> W0
+    1:41:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4210:4250 -> X
     42:42:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> X
-    42:42:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4249 -> X
-    43:70:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4249:4276 -> X
+    42:42:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4250 -> X
+    43:70:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4250:4277 -> X
     71:71:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> X
-    71:71:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4276 -> X
-    72:85:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4276:4289 -> X
+    71:71:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4277 -> X
+    72:85:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4277:4290 -> X
     86:86:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> X
-    86:86:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4289 -> X
-    87:90:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4289:4292 -> X
-    91:165:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4222:4296 -> X
+    86:86:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4290 -> X
+    87:90:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4290:4293 -> X
+    91:165:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4223:4297 -> X
     166:166:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> X
-    166:166:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4296 -> X
-    1:18:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7867:7884 -> X0
-    19:21:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7883:7885 -> X0
-    22:33:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7881:7892 -> X0
+    166:166:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4297 -> X
+    1:18:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7868:7885 -> X0
+    19:21:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7884:7886 -> X0
+    22:33:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7882:7893 -> X0
     34:34:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> X0
-    34:34:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7892 -> X0
-    35:43:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7892:7900 -> X0
-    44:47:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7899:7902 -> X0
-    48:59:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7897:7908 -> X0
+    34:34:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7893 -> X0
+    35:43:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7893:7901 -> X0
+    44:47:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7900:7903 -> X0
+    48:59:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7898:7909 -> X0
     60:60:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> X0
-    60:60:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7908 -> X0
-    61:65:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7908:7912 -> X0
-    66:66:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7911:7911 -> X0
-    67:67:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7910:7910 -> X0
-    68:109:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7875:7916 -> X0
+    60:60:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7909 -> X0
+    61:65:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7909:7913 -> X0
+    66:66:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7912:7912 -> X0
+    67:67:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7911:7911 -> X0
+    68:109:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7876:7917 -> X0
     110:110:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> X0
-    110:110:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7916 -> X0
-    1:43:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4300:4342 -> Y
+    110:110:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7917 -> X0
+    1:43:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4301:4343 -> Y
     44:44:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Y
-    44:44:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4342 -> Y
-    45:74:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4342:4371 -> Y
+    44:44:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4343 -> Y
+    45:74:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4343:4372 -> Y
     75:75:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Y
-    75:75:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4371 -> Y
-    76:89:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4371:4384 -> Y
+    75:75:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4372 -> Y
+    76:89:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4372:4385 -> Y
     90:90:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Y
-    90:90:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4384 -> Y
-    91:94:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4384:4387 -> Y
-    95:173:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4313:4391 -> Y
+    90:90:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4385 -> Y
+    91:94:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4385:4388 -> Y
+    95:173:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4314:4392 -> Y
     174:174:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> Y
-    174:174:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4391 -> Y
-    1:26:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7920:7945 -> Y0
-    27:40:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7942:7955 -> Y0
+    174:174:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4392 -> Y
+    1:26:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7921:7946 -> Y0
+    27:40:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7943:7956 -> Y0
     41:41:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Y0
-    41:41:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7955 -> Y0
-    42:57:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7955:7970 -> Y0
-    58:73:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7966:7981 -> Y0
-    74:92:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7977:7995 -> Y0
+    41:41:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7956 -> Y0
+    42:57:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7956:7971 -> Y0
+    58:73:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7967:7982 -> Y0
+    74:92:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7978:7996 -> Y0
     93:93:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Y0
-    93:93:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7995 -> Y0
-    94:105:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7995:8006 -> Y0
-    106:120:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8002:8016 -> Y0
+    93:93:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7996 -> Y0
+    94:105:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7996:8007 -> Y0
+    106:120:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8003:8017 -> Y0
     121:121:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Y0
-    121:121:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8016 -> Y0
-    122:123:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8016:8017 -> Y0
-    124:212:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7934:8022 -> Y0
+    121:121:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8017 -> Y0
+    122:123:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8017:8018 -> Y0
+    124:212:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7935:8023 -> Y0
     213:213:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> Y0
-    213:213:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8022 -> Y0
-    1:20:com.android.tools.r8.graph.CfCode MathMethods_floorDivLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4395:4414 -> Z
-    21:21:com.android.tools.r8.graph.CfCode MathMethods_floorDivLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4408:4408 -> Z
-    22:40:com.android.tools.r8.graph.CfCode MathMethods_floorDivLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4401:4419 -> Z
+    213:213:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8023 -> Y0
+    1:20:com.android.tools.r8.graph.CfCode MathMethods_floorDivLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4396:4415 -> Z
+    21:21:com.android.tools.r8.graph.CfCode MathMethods_floorDivLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4409:4409 -> Z
+    22:40:com.android.tools.r8.graph.CfCode MathMethods_floorDivLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4402:4420 -> Z
     41:41:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> Z
-    41:41:com.android.tools.r8.graph.CfCode MathMethods_floorDivLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4419 -> Z
-    1:29:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8026:8054 -> Z0
-    30:44:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8050:8064 -> Z0
-    45:45:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8063:8063 -> Z0
+    41:41:com.android.tools.r8.graph.CfCode MathMethods_floorDivLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4420 -> Z
+    1:29:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8027:8055 -> Z0
+    30:44:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8051:8065 -> Z0
+    45:45:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8064:8064 -> Z0
     46:46:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Z0
-    46:46:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8063 -> Z0
-    47:58:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8063:8074 -> Z0
-    59:81:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8071:8093 -> Z0
-    82:100:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8088:8106 -> Z0
-    101:104:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8105:8108 -> Z0
+    46:46:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8064 -> Z0
+    47:58:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8064:8075 -> Z0
+    59:81:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8072:8094 -> Z0
+    82:100:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8089:8107 -> Z0
+    101:104:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8106:8109 -> Z0
     105:105:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Z0
-    105:105:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8108 -> Z0
-    106:123:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8108:8125 -> Z0
-    124:144:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8120:8140 -> Z0
-    145:163:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8135:8153 -> Z0
-    164:166:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8152:8154 -> Z0
+    105:105:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8109 -> Z0
+    106:123:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8109:8126 -> Z0
+    124:144:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8121:8141 -> Z0
+    145:163:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8136:8154 -> Z0
+    164:166:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8153:8155 -> Z0
     167:167:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Z0
-    167:167:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8154 -> Z0
-    168:177:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8154:8163 -> Z0
-    178:178:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8160:8160 -> Z0
-    179:306:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8041:8168 -> Z0
+    167:167:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8155 -> Z0
+    168:177:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8155:8164 -> Z0
+    178:178:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8161:8161 -> Z0
+    179:306:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8042:8169 -> Z0
     307:307:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> Z0
-    307:307:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8168 -> Z0
-    1:23:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):115:137 -> a
+    307:307:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8169 -> Z0
+    1:23:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):116:138 -> a
     24:24:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> a
-    24:24:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):137 -> a
-    25:38:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):137:150 -> a
+    24:24:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):138 -> a
+    25:38:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):138:151 -> a
     39:39:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> a
-    39:39:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):150 -> a
-    40:50:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):150:160 -> a
+    39:39:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):151 -> a
+    40:50:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):151:161 -> a
     51:51:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> a
-    51:51:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):160 -> a
-    52:55:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):160:163 -> a
-    56:99:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):124:167 -> a
+    51:51:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):161 -> a
+    52:55:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):161:164 -> a
+    56:99:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):125:168 -> a
     100:100:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> a
-    100:100:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):167 -> a
-    1:32:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4423:4454 -> a0
+    100:100:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):168 -> a
+    1:32:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4424:4455 -> a0
     33:33:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> a0
-    33:33:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4454 -> a0
-    34:58:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4454:4478 -> a0
+    33:33:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4455 -> a0
+    34:58:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4455:4479 -> a0
     59:59:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> a0
-    59:59:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4478 -> a0
-    60:74:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4478:4492 -> a0
+    59:59:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4479 -> a0
+    60:74:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4479:4493 -> a0
     75:75:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> a0
-    75:75:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4492 -> a0
-    76:79:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4492:4495 -> a0
-    80:144:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4435:4499 -> a0
+    75:75:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4493 -> a0
+    76:79:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4493:4496 -> a0
+    80:144:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4436:4500 -> a0
     145:145:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> a0
-    145:145:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4499 -> a0
-    1:28:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8172:8199 -> a1
-    29:42:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8195:8208 -> a1
+    145:145:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4500 -> a0
+    1:28:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8173:8200 -> a1
+    29:42:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8196:8209 -> a1
     43:43:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> a1
-    43:43:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8208 -> a1
-    44:54:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8208:8218 -> a1
-    55:68:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8215:8228 -> a1
-    69:71:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8227:8229 -> a1
-    72:86:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8225:8239 -> a1
-    87:101:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8236:8250 -> a1
-    102:102:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8247:8247 -> a1
+    43:43:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8209 -> a1
+    44:54:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8209:8219 -> a1
+    55:68:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8216:8229 -> a1
+    69:71:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8228:8230 -> a1
+    72:86:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8226:8240 -> a1
+    87:101:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8237:8251 -> a1
+    102:102:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8248:8248 -> a1
     103:103:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> a1
-    103:103:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8247 -> a1
-    104:117:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8247:8260 -> a1
-    118:134:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8255:8271 -> a1
+    103:103:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8248 -> a1
+    104:117:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8248:8261 -> a1
+    118:134:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8256:8272 -> a1
     135:135:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> a1
-    135:135:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8271 -> a1
-    136:145:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8271:8280 -> a1
-    146:162:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8277:8293 -> a1
-    163:179:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8288:8304 -> a1
-    180:180:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8301:8301 -> a1
+    135:135:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8272 -> a1
+    136:145:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8272:8281 -> a1
+    146:162:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8278:8294 -> a1
+    163:179:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8289:8305 -> a1
+    180:180:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8302:8302 -> a1
     181:181:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> a1
-    181:181:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8301 -> a1
-    182:195:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8301:8314 -> a1
-    196:213:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8309:8326 -> a1
+    181:181:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8302 -> a1
+    182:195:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8302:8315 -> a1
+    196:213:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8310:8327 -> a1
     214:214:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> a1
-    214:214:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8326 -> a1
-    215:224:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8326:8335 -> a1
-    225:225:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8332:8332 -> a1
-    226:380:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8186:8340 -> a1
+    214:214:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8327 -> a1
+    215:224:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8327:8336 -> a1
+    225:225:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8333:8333 -> a1
+    226:380:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8187:8341 -> a1
     381:381:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> a1
-    381:381:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8340 -> a1
-    1:19:com.android.tools.r8.graph.CfCode BooleanMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):171:189 -> b
+    381:381:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8341 -> a1
+    1:19:com.android.tools.r8.graph.CfCode BooleanMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):172:190 -> b
     20:20:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b
-    20:20:com.android.tools.r8.graph.CfCode BooleanMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):189 -> b
-    21:28:com.android.tools.r8.graph.CfCode BooleanMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):189:196 -> b
+    20:20:com.android.tools.r8.graph.CfCode BooleanMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):190 -> b
+    21:28:com.android.tools.r8.graph.CfCode BooleanMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):190:197 -> b
     29:29:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b
-    29:29:com.android.tools.r8.graph.CfCode BooleanMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):196 -> b
-    30:32:com.android.tools.r8.graph.CfCode BooleanMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):196:198 -> b
-    33:56:com.android.tools.r8.graph.CfCode BooleanMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):179:202 -> b
+    29:29:com.android.tools.r8.graph.CfCode BooleanMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):197 -> b
+    30:32:com.android.tools.r8.graph.CfCode BooleanMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):197:199 -> b
+    33:56:com.android.tools.r8.graph.CfCode BooleanMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):180:203 -> b
     57:57:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> b
-    57:57:com.android.tools.r8.graph.CfCode BooleanMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):202 -> b
-    1:34:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4503:4536 -> b0
+    57:57:com.android.tools.r8.graph.CfCode BooleanMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):203 -> b
+    1:34:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4504:4537 -> b0
     35:35:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b0
-    35:35:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4536 -> b0
-    36:62:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4536:4562 -> b0
+    35:35:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4537 -> b0
+    36:62:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4537:4563 -> b0
     63:63:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b0
-    63:63:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4562 -> b0
-    64:78:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4562:4576 -> b0
+    63:63:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4563 -> b0
+    64:78:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4563:4577 -> b0
     79:79:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b0
-    79:79:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4576 -> b0
-    80:83:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4576:4579 -> b0
-    84:152:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4515:4583 -> b0
+    79:79:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4577 -> b0
+    80:83:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4577:4580 -> b0
+    84:152:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4516:4584 -> b0
     153:153:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> b0
-    153:153:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4583 -> b0
-    1:36:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8344:8379 -> b1
-    37:49:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8376:8388 -> b1
-    50:63:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8384:8397 -> b1
-    64:75:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8393:8404 -> b1
-    76:87:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8401:8412 -> b1
-    88:101:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8408:8421 -> b1
+    153:153:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4584 -> b0
+    1:36:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8345:8380 -> b1
+    37:49:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8377:8389 -> b1
+    50:63:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8385:8398 -> b1
+    64:75:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8394:8405 -> b1
+    76:87:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8402:8413 -> b1
+    88:101:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8409:8422 -> b1
     102:102:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b1
-    102:102:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8421 -> b1
-    103:112:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8421:8430 -> b1
-    113:131:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8427:8445 -> b1
+    102:102:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8422 -> b1
+    103:112:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8422:8431 -> b1
+    113:131:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8428:8446 -> b1
     132:132:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b1
-    132:132:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8445 -> b1
-    133:145:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8445:8457 -> b1
+    132:132:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8446 -> b1
+    133:145:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8446:8458 -> b1
     146:146:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b1
-    146:146:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8457 -> b1
-    147:163:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8457:8473 -> b1
+    146:146:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8458 -> b1
+    147:163:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8458:8474 -> b1
     164:164:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b1
-    164:164:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8473 -> b1
-    165:174:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8473:8482 -> b1
-    175:194:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8479:8498 -> b1
-    195:207:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8495:8507 -> b1
-    208:221:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8503:8516 -> b1
-    222:233:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8513:8524 -> b1
-    234:247:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8520:8533 -> b1
-    248:261:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8529:8542 -> b1
-    262:277:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8538:8553 -> b1
-    278:289:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8549:8560 -> b1
-    290:301:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8557:8568 -> b1
-    302:316:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8564:8578 -> b1
+    164:164:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8474 -> b1
+    165:174:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8474:8483 -> b1
+    175:194:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8480:8499 -> b1
+    195:207:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8496:8508 -> b1
+    208:221:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8504:8517 -> b1
+    222:233:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8514:8525 -> b1
+    234:247:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8521:8534 -> b1
+    248:261:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8530:8543 -> b1
+    262:277:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8539:8554 -> b1
+    278:289:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8550:8561 -> b1
+    290:301:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8558:8569 -> b1
+    302:316:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8565:8579 -> b1
     317:317:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b1
-    317:317:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8578 -> b1
-    318:332:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8578:8592 -> b1
-    333:352:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8588:8607 -> b1
+    317:317:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8579 -> b1
+    318:332:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8579:8593 -> b1
+    333:352:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8589:8608 -> b1
     353:353:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b1
-    353:353:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8607 -> b1
-    354:369:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8607:8622 -> b1
-    370:388:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8618:8636 -> b1
+    353:353:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8608 -> b1
+    354:369:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8608:8623 -> b1
+    370:388:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8619:8637 -> b1
     389:389:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b1
-    389:389:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8636 -> b1
-    390:399:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8636:8645 -> b1
-    400:400:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8642:8642 -> b1
-    401:686:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8365:8650 -> b1
+    389:389:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8637 -> b1
+    390:399:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8637:8646 -> b1
+    400:400:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8643:8643 -> b1
+    401:686:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8366:8651 -> b1
     687:687:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> b1
-    687:687:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8650 -> b1
-    1:15:com.android.tools.r8.graph.CfCode ByteMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):206:220 -> c
+    687:687:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8651 -> b1
+    1:15:com.android.tools.r8.graph.CfCode ByteMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):207:221 -> c
     16:16:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> c
-    16:16:com.android.tools.r8.graph.CfCode ByteMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):220 -> c
-    1:20:com.android.tools.r8.graph.CfCode MathMethods_floorModLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4587:4606 -> c0
-    21:21:com.android.tools.r8.graph.CfCode MathMethods_floorModLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4600:4600 -> c0
-    22:41:com.android.tools.r8.graph.CfCode MathMethods_floorModLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4593:4612 -> c0
+    16:16:com.android.tools.r8.graph.CfCode ByteMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):221 -> c
+    1:20:com.android.tools.r8.graph.CfCode MathMethods_floorModLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4588:4607 -> c0
+    21:21:com.android.tools.r8.graph.CfCode MathMethods_floorModLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4601:4601 -> c0
+    22:41:com.android.tools.r8.graph.CfCode MathMethods_floorModLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4594:4613 -> c0
     42:42:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> c0
-    42:42:com.android.tools.r8.graph.CfCode MathMethods_floorModLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4612 -> c0
-    1:32:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8654:8685 -> c1
-    33:46:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8682:8695 -> c1
+    42:42:com.android.tools.r8.graph.CfCode MathMethods_floorModLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4613 -> c0
+    1:32:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8655:8686 -> c1
+    33:46:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8683:8696 -> c1
     47:47:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> c1
-    47:47:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8695 -> c1
-    48:63:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8695:8710 -> c1
-    64:79:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8706:8721 -> c1
-    80:97:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8717:8734 -> c1
+    47:47:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8696 -> c1
+    48:63:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8696:8711 -> c1
+    64:79:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8707:8722 -> c1
+    80:97:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8718:8735 -> c1
     98:98:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> c1
-    98:98:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8734 -> c1
-    99:110:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8734:8745 -> c1
-    111:128:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8741:8758 -> c1
+    98:98:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8735 -> c1
+    99:110:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8735:8746 -> c1
+    111:128:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8742:8759 -> c1
     129:129:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> c1
-    129:129:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8758 -> c1
-    130:147:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8758:8775 -> c1
-    148:165:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8769:8786 -> c1
-    166:183:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8782:8799 -> c1
+    129:129:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8759 -> c1
+    130:147:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8759:8776 -> c1
+    148:165:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8770:8787 -> c1
+    166:183:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8783:8800 -> c1
     184:184:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> c1
-    184:184:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8799 -> c1
-    185:196:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8799:8810 -> c1
-    197:214:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8806:8823 -> c1
+    184:184:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8800 -> c1
+    185:196:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8800:8811 -> c1
+    197:214:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8807:8824 -> c1
     215:215:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> c1
-    215:215:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8823 -> c1
-    216:230:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8823:8837 -> c1
-    231:231:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8831:8831 -> c1
-    232:400:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8674:8842 -> c1
+    215:215:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8824 -> c1
+    216:230:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8824:8838 -> c1
+    231:231:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8832:8832 -> c1
+    232:400:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8675:8843 -> c1
     401:401:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> c1
-    401:401:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8842 -> c1
-    1:19:com.android.tools.r8.graph.CfCode ByteMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):224:242 -> d
+    401:401:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8843 -> c1
+    1:19:com.android.tools.r8.graph.CfCode ByteMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):225:243 -> d
     20:20:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> d
-    20:20:com.android.tools.r8.graph.CfCode ByteMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):242 -> d
-    1:22:com.android.tools.r8.graph.CfCode MathMethods_incrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4616:4637 -> d0
-    23:33:com.android.tools.r8.graph.CfCode MathMethods_incrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4634:4644 -> d0
+    20:20:com.android.tools.r8.graph.CfCode ByteMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):243 -> d
+    1:22:com.android.tools.r8.graph.CfCode MathMethods_incrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4617:4638 -> d0
+    23:33:com.android.tools.r8.graph.CfCode MathMethods_incrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4635:4645 -> d0
     34:34:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> d0
-    34:34:com.android.tools.r8.graph.CfCode MathMethods_incrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4644 -> d0
-    35:36:com.android.tools.r8.graph.CfCode MathMethods_incrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4644:4645 -> d0
-    37:65:com.android.tools.r8.graph.CfCode MathMethods_incrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4624:4652 -> d0
+    34:34:com.android.tools.r8.graph.CfCode MathMethods_incrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4645 -> d0
+    35:36:com.android.tools.r8.graph.CfCode MathMethods_incrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4645:4646 -> d0
+    37:65:com.android.tools.r8.graph.CfCode MathMethods_incrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4625:4653 -> d0
     66:66:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> d0
-    66:66:com.android.tools.r8.graph.CfCode MathMethods_incrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4652 -> d0
-    1:26:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8846:8871 -> d1
-    27:40:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8868:8881 -> d1
+    66:66:com.android.tools.r8.graph.CfCode MathMethods_incrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4653 -> d0
+    1:26:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8847:8872 -> d1
+    27:40:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8869:8882 -> d1
     41:41:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> d1
-    41:41:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8881 -> d1
-    42:57:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8881:8896 -> d1
-    58:73:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8892:8907 -> d1
-    74:91:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8903:8920 -> d1
+    41:41:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8882 -> d1
+    42:57:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8882:8897 -> d1
+    58:73:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8893:8908 -> d1
+    74:91:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8904:8921 -> d1
     92:92:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> d1
-    92:92:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8920 -> d1
-    93:104:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8920:8931 -> d1
-    105:122:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8927:8944 -> d1
+    92:92:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8921 -> d1
+    93:104:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8921:8932 -> d1
+    105:122:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8928:8945 -> d1
     123:123:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> d1
-    123:123:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8944 -> d1
-    124:138:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8944:8958 -> d1
-    139:139:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8952:8952 -> d1
-    140:243:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8860:8963 -> d1
+    123:123:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8945 -> d1
+    124:138:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8945:8959 -> d1
+    139:139:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8953:8953 -> d1
+    140:243:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8861:8964 -> d1
     244:244:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> d1
-    244:244:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8963 -> d1
-    1:15:com.android.tools.r8.graph.CfCode ByteMethods_toUnsignedInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):246:260 -> e
+    244:244:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8964 -> d1
+    1:15:com.android.tools.r8.graph.CfCode ByteMethods_toUnsignedInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):247:261 -> e
     16:16:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> e
-    16:16:com.android.tools.r8.graph.CfCode ByteMethods_toUnsignedInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):260 -> e
-    1:23:com.android.tools.r8.graph.CfCode MathMethods_incrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4656:4678 -> e0
-    24:34:com.android.tools.r8.graph.CfCode MathMethods_incrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4675:4685 -> e0
+    16:16:com.android.tools.r8.graph.CfCode ByteMethods_toUnsignedInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):261 -> e
+    1:23:com.android.tools.r8.graph.CfCode MathMethods_incrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4657:4679 -> e0
+    24:34:com.android.tools.r8.graph.CfCode MathMethods_incrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4676:4686 -> e0
     35:35:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> e0
-    35:35:com.android.tools.r8.graph.CfCode MathMethods_incrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4685 -> e0
-    36:37:com.android.tools.r8.graph.CfCode MathMethods_incrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4685:4686 -> e0
-    38:67:com.android.tools.r8.graph.CfCode MathMethods_incrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4664:4693 -> e0
+    35:35:com.android.tools.r8.graph.CfCode MathMethods_incrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4686 -> e0
+    36:37:com.android.tools.r8.graph.CfCode MathMethods_incrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4686:4687 -> e0
+    38:67:com.android.tools.r8.graph.CfCode MathMethods_incrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4665:4694 -> e0
     68:68:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> e0
-    68:68:com.android.tools.r8.graph.CfCode MathMethods_incrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4693 -> e0
-    1:22:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8967:8988 -> e1
-    23:35:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8985:8997 -> e1
+    68:68:com.android.tools.r8.graph.CfCode MathMethods_incrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4694 -> e0
+    1:22:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8968:8989 -> e1
+    23:35:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8986:8998 -> e1
     36:36:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> e1
-    36:36:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8997 -> e1
-    37:53:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8997:9013 -> e1
-    54:71:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9007:9024 -> e1
-    72:88:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9020:9036 -> e1
+    36:36:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8998 -> e1
+    37:53:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8998:9014 -> e1
+    54:71:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9008:9025 -> e1
+    72:88:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9021:9037 -> e1
     89:89:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> e1
-    89:89:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9036 -> e1
-    90:101:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9036:9047 -> e1
-    102:118:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9043:9059 -> e1
+    89:89:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9037 -> e1
+    90:101:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9037:9048 -> e1
+    102:118:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9044:9060 -> e1
     119:119:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> e1
-    119:119:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9059 -> e1
-    120:134:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9059:9073 -> e1
-    135:135:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9067:9067 -> e1
-    136:234:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8980:9078 -> e1
+    119:119:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9060 -> e1
+    120:134:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9060:9074 -> e1
+    135:135:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9068:9068 -> e1
+    136:234:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8981:9079 -> e1
     235:235:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> e1
-    235:235:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9078 -> e1
-    1:16:com.android.tools.r8.graph.CfCode ByteMethods_toUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):264:279 -> f
+    235:235:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9079 -> e1
+    1:16:com.android.tools.r8.graph.CfCode ByteMethods_toUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):265:280 -> f
     17:17:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> f
-    17:17:com.android.tools.r8.graph.CfCode ByteMethods_toUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):279 -> f
-    1:40:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4697:4736 -> f0
+    17:17:com.android.tools.r8.graph.CfCode ByteMethods_toUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):280 -> f
+    1:40:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4698:4737 -> f0
     41:41:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> f0
-    41:41:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4736 -> f0
-    42:52:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4736:4746 -> f0
-    53:53:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4743:4743 -> f0
-    54:98:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4707:4751 -> f0
+    41:41:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4737 -> f0
+    42:52:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4737:4747 -> f0
+    53:53:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4744:4744 -> f0
+    54:98:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4708:4752 -> f0
     99:99:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> f0
-    99:99:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4751 -> f0
-    1:27:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):283:309 -> g
-    28:41:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):306:319 -> g
-    42:63:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):316:337 -> g
+    99:99:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4752 -> f0
+    1:20:com.android.tools.r8.graph.CfCode UnsafeMethods_compareAndSwapObject(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9084:9103 -> f1
+    21:21:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> f1
+    21:21:com.android.tools.r8.graph.CfCode UnsafeMethods_compareAndSwapObject(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9103 -> f1
+    22:40:com.android.tools.r8.graph.CfCode UnsafeMethods_compareAndSwapObject(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9103:9121 -> f1
+    41:64:com.android.tools.r8.graph.CfCode UnsafeMethods_compareAndSwapObject(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9113:9136 -> f1
+    65:65:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> f1
+    65:65:com.android.tools.r8.graph.CfCode UnsafeMethods_compareAndSwapObject(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9136 -> f1
+    66:80:com.android.tools.r8.graph.CfCode UnsafeMethods_compareAndSwapObject(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9136:9150 -> f1
+    81:81:com.android.tools.r8.graph.CfCode UnsafeMethods_compareAndSwapObject(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9144:9144 -> f1
+    82:148:com.android.tools.r8.graph.CfCode UnsafeMethods_compareAndSwapObject(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9093:9159 -> f1
+    149:149:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> f1
+    149:149:com.android.tools.r8.graph.CfCode UnsafeMethods_compareAndSwapObject(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9159 -> f1
+    1:27:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):284:310 -> g
+    28:41:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):307:320 -> g
+    42:63:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):317:338 -> g
     64:64:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> g
-    64:64:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):337 -> g
-    65:81:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):337:353 -> g
-    82:101:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):347:366 -> g
+    64:64:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):338 -> g
+    65:81:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):338:354 -> g
+    82:101:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):348:367 -> g
     102:102:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> g
-    102:102:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):366 -> g
-    103:118:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):366:381 -> g
-    119:135:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):377:393 -> g
-    136:162:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):389:415 -> g
+    102:102:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):367 -> g
+    103:118:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):367:382 -> g
+    119:135:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):378:394 -> g
+    136:162:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):390:416 -> g
     163:163:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> g
-    163:163:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):415 -> g
-    164:177:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):415:428 -> g
+    163:163:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):416 -> g
+    164:177:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):416:429 -> g
     178:178:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> g
-    178:178:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):428 -> g
-    179:181:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):428:430 -> g
-    182:318:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):301:437 -> g
+    178:178:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):429 -> g
+    179:181:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):429:431 -> g
+    182:318:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):302:438 -> g
     319:319:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> g
-    319:319:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):437 -> g
-    1:32:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4755:4786 -> g0
-    33:49:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4782:4798 -> g0
-    50:65:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4794:4809 -> g0
-    66:83:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4805:4822 -> g0
-    84:108:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4818:4842 -> g0
+    319:319:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):438 -> g
+    1:32:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4756:4787 -> g0
+    33:49:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4783:4799 -> g0
+    50:65:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4795:4810 -> g0
+    66:83:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4806:4823 -> g0
+    84:108:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4819:4843 -> g0
     109:109:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> g0
-    109:109:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4842 -> g0
-    110:129:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4842:4861 -> g0
+    109:109:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4843 -> g0
+    110:129:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4843:4862 -> g0
     130:130:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> g0
-    130:130:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4861 -> g0
-    131:142:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4861:4872 -> g0
+    130:130:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4862 -> g0
+    131:142:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4862:4873 -> g0
     143:143:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> g0
-    143:143:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4872 -> g0
-    144:161:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4872:4889 -> g0
+    143:143:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4873 -> g0
+    144:161:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4873:4890 -> g0
     162:162:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> g0
-    162:162:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4889 -> g0
-    163:175:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4889:4901 -> g0
+    162:162:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4890 -> g0
+    163:175:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4890:4902 -> g0
     176:176:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> g0
-    176:176:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4901 -> g0
-    177:182:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4901:4906 -> g0
-    183:212:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4904:4933 -> g0
+    176:176:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4902 -> g0
+    177:182:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4902:4907 -> g0
+    183:212:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4905:4934 -> g0
     213:213:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> g0
-    213:213:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4933 -> g0
-    214:226:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4933:4945 -> g0
+    213:213:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4934 -> g0
+    214:226:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4934:4946 -> g0
     227:227:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> g0
-    227:227:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4945 -> g0
-    228:238:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4945:4955 -> g0
-    239:239:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4952:4952 -> g0
-    240:424:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4776:4960 -> g0
+    227:227:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4946 -> g0
+    228:238:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4946:4956 -> g0
+    239:239:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4953:4953 -> g0
+    240:424:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4777:4961 -> g0
     425:425:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> g0
-    425:425:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4960 -> g0
-    1:15:com.android.tools.r8.graph.CfCode CharacterMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):441:455 -> h
+    425:425:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4961 -> g0
+    1:15:com.android.tools.r8.graph.CfCode CharacterMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):442:456 -> h
     16:16:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> h
-    16:16:com.android.tools.r8.graph.CfCode CharacterMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):455 -> h
-    1:20:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4964:4983 -> h0
-    21:21:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4977:4977 -> h0
-    22:40:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4970:4988 -> h0
+    16:16:com.android.tools.r8.graph.CfCode CharacterMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):456 -> h
+    1:20:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4965:4984 -> h0
+    21:21:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4978:4978 -> h0
+    22:40:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4971:4989 -> h0
     41:41:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> h0
-    41:41:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4988 -> h0
-    1:18:com.android.tools.r8.graph.CfCode CharacterMethods_toStringCodepoint(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):460:477 -> i
-    19:31:com.android.tools.r8.graph.CfCode CharacterMethods_toStringCodepoint(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):473:485 -> i
-    32:32:com.android.tools.r8.graph.CfCode CharacterMethods_toStringCodepoint(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):481:481 -> i
-    33:57:com.android.tools.r8.graph.CfCode CharacterMethods_toStringCodepoint(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):466:490 -> i
+    41:41:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4989 -> h0
+    1:18:com.android.tools.r8.graph.CfCode CharacterMethods_toStringCodepoint(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):461:478 -> i
+    19:31:com.android.tools.r8.graph.CfCode CharacterMethods_toStringCodepoint(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):474:486 -> i
+    32:32:com.android.tools.r8.graph.CfCode CharacterMethods_toStringCodepoint(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):482:482 -> i
+    33:57:com.android.tools.r8.graph.CfCode CharacterMethods_toStringCodepoint(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):467:491 -> i
     58:58:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> i
-    58:58:com.android.tools.r8.graph.CfCode CharacterMethods_toStringCodepoint(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):490 -> i
-    1:17:com.android.tools.r8.graph.CfCode MathMethods_multiplyFull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4992:5008 -> i0
+    58:58:com.android.tools.r8.graph.CfCode CharacterMethods_toStringCodepoint(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):491 -> i
+    1:17:com.android.tools.r8.graph.CfCode MathMethods_multiplyFull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4993:5009 -> i0
     18:18:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> i0
-    18:18:com.android.tools.r8.graph.CfCode MathMethods_multiplyFull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5008 -> i0
-    1:19:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):495:513 -> j
+    18:18:com.android.tools.r8.graph.CfCode MathMethods_multiplyFull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5009 -> i0
+    1:19:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):496:514 -> j
     20:20:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> j
-    20:20:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):513 -> j
-    21:38:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):513:530 -> j
-    39:51:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):527:539 -> j
+    20:20:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):514 -> j
+    21:38:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):514:531 -> j
+    39:51:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):528:540 -> j
     52:52:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> j
-    52:52:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):539 -> j
-    53:62:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):539:548 -> j
-    63:78:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):545:560 -> j
-    79:83:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):557:561 -> j
-    84:105:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):555:576 -> j
-    106:110:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):573:577 -> j
-    111:128:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):571:588 -> j
+    52:52:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):540 -> j
+    53:62:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):540:549 -> j
+    63:78:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):546:561 -> j
+    79:83:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):558:562 -> j
+    84:105:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):556:577 -> j
+    106:110:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):574:578 -> j
+    111:128:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):572:589 -> j
     129:129:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> j
-    129:129:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):588 -> j
-    130:135:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):588:593 -> j
-    136:136:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):592:592 -> j
-    137:151:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):591:605 -> j
-    152:163:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):602:613 -> j
-    164:175:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):610:621 -> j
-    176:189:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):617:630 -> j
-    190:201:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):626:637 -> j
-    202:216:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):634:648 -> j
-    217:232:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):642:657 -> j
+    129:129:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):589 -> j
+    130:135:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):589:594 -> j
+    136:136:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):593:593 -> j
+    137:151:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):592:606 -> j
+    152:163:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):603:614 -> j
+    164:175:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):611:622 -> j
+    176:189:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):618:631 -> j
+    190:201:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):627:638 -> j
+    202:216:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):635:649 -> j
+    217:232:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):643:658 -> j
     233:233:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> j
-    233:233:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):657 -> j
-    234:249:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):657:672 -> j
-    250:262:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):669:681 -> j
-    263:275:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):677:689 -> j
-    276:287:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):686:697 -> j
-    288:299:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):693:704 -> j
-    300:314:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):701:715 -> j
-    315:330:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):709:724 -> j
+    233:233:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):658 -> j
+    234:249:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):658:673 -> j
+    250:262:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):670:682 -> j
+    263:275:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):678:690 -> j
+    276:287:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):687:698 -> j
+    288:299:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):694:705 -> j
+    300:314:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):702:716 -> j
+    315:330:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):710:725 -> j
     331:331:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> j
-    331:331:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):724 -> j
-    332:337:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):724:729 -> j
-    338:338:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):728:728 -> j
-    339:351:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):727:739 -> j
-    352:364:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):736:748 -> j
+    331:331:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):725 -> j
+    332:337:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):725:730 -> j
+    338:338:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):729:729 -> j
+    339:351:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):728:740 -> j
+    352:364:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):737:749 -> j
     365:365:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> j
-    365:365:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):748 -> j
-    366:376:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):748:758 -> j
+    365:365:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):749 -> j
+    366:376:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):749:759 -> j
     377:377:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> j
-    377:377:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):758 -> j
-    378:395:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):758:775 -> j
+    377:377:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):759 -> j
+    378:395:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):759:776 -> j
     396:396:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> j
-    396:396:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):775 -> j
-    397:408:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):775:786 -> j
+    396:396:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):776 -> j
+    397:408:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):776:787 -> j
     409:409:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> j
-    409:409:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):786 -> j
-    410:421:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):786:797 -> j
+    409:409:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):787 -> j
+    410:421:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):787:798 -> j
     422:422:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> j
-    422:422:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):797 -> j
-    423:425:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):797:799 -> j
-    426:716:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):517:807 -> j
-    717:729:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):806:818 -> j
-    730:737:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):817:824 -> j
-    738:745:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):823:830 -> j
-    746:753:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):829:836 -> j
-    754:762:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):835:843 -> j
-    763:805:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):802:844 -> j
+    422:422:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):798 -> j
+    423:425:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):798:800 -> j
+    426:716:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):518:808 -> j
+    717:729:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):807:819 -> j
+    730:737:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):818:825 -> j
+    738:745:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):824:831 -> j
+    746:753:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):830:837 -> j
+    754:762:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):836:844 -> j
+    763:805:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):803:845 -> j
     806:806:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> j
-    806:806:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):844 -> j
-    1:101:com.android.tools.r8.graph.CfCode MathMethods_multiplyHigh(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5012:5112 -> j0
+    806:806:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):845 -> j
+    1:101:com.android.tools.r8.graph.CfCode MathMethods_multiplyHigh(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5013:5113 -> j0
     102:102:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> j0
-    102:102:com.android.tools.r8.graph.CfCode MathMethods_multiplyHigh(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5112 -> j0
-    1:24:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):848:871 -> k
-    25:47:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):867:889 -> k
-    48:52:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):888:892 -> k
+    102:102:com.android.tools.r8.graph.CfCode MathMethods_multiplyHigh(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5113 -> j0
+    1:24:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):849:872 -> k
+    25:47:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):868:890 -> k
+    48:52:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):889:893 -> k
     53:53:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> k
-    53:53:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):892 -> k
-    54:73:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):892:911 -> k
-    74:86:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):907:919 -> k
-    87:103:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):915:931 -> k
+    53:53:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):893 -> k
+    54:73:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):893:912 -> k
+    74:86:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):908:920 -> k
+    87:103:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):916:932 -> k
     104:104:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> k
-    104:104:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):931 -> k
-    105:115:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):931:941 -> k
-    116:119:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):939:942 -> k
-    120:120:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):937:937 -> k
-    121:209:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):859:947 -> k
+    104:104:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):932 -> k
+    105:115:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):932:942 -> k
+    116:119:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):940:943 -> k
+    120:120:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):938:938 -> k
+    121:209:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):860:948 -> k
     210:210:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> k
-    210:210:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):947 -> k
-    1:22:com.android.tools.r8.graph.CfCode MathMethods_negateExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5116:5137 -> k0
-    23:33:com.android.tools.r8.graph.CfCode MathMethods_negateExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5134:5144 -> k0
+    210:210:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):948 -> k
+    1:22:com.android.tools.r8.graph.CfCode MathMethods_negateExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5117:5138 -> k0
+    23:33:com.android.tools.r8.graph.CfCode MathMethods_negateExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5135:5145 -> k0
     34:34:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> k0
-    34:34:com.android.tools.r8.graph.CfCode MathMethods_negateExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5144 -> k0
-    35:36:com.android.tools.r8.graph.CfCode MathMethods_negateExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5144:5145 -> k0
-    37:64:com.android.tools.r8.graph.CfCode MathMethods_negateExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5124:5151 -> k0
+    34:34:com.android.tools.r8.graph.CfCode MathMethods_negateExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5145 -> k0
+    35:36:com.android.tools.r8.graph.CfCode MathMethods_negateExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5145:5146 -> k0
+    37:64:com.android.tools.r8.graph.CfCode MathMethods_negateExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5125:5152 -> k0
     65:65:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> k0
-    65:65:com.android.tools.r8.graph.CfCode MathMethods_negateExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5151 -> k0
-    1:23:com.android.tools.r8.graph.CfCode CollectionMethods_mapEntry(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):951:973 -> l
-    24:38:com.android.tools.r8.graph.CfCode CollectionMethods_mapEntry(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):969:983 -> l
-    39:53:com.android.tools.r8.graph.CfCode CollectionMethods_mapEntry(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):979:993 -> l
-    54:54:com.android.tools.r8.graph.CfCode CollectionMethods_mapEntry(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):987:987 -> l
-    55:94:com.android.tools.r8.graph.CfCode CollectionMethods_mapEntry(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):960:999 -> l
+    65:65:com.android.tools.r8.graph.CfCode MathMethods_negateExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5152 -> k0
+    1:23:com.android.tools.r8.graph.CfCode CollectionMethods_mapEntry(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):952:974 -> l
+    24:38:com.android.tools.r8.graph.CfCode CollectionMethods_mapEntry(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):970:984 -> l
+    39:53:com.android.tools.r8.graph.CfCode CollectionMethods_mapEntry(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):980:994 -> l
+    54:54:com.android.tools.r8.graph.CfCode CollectionMethods_mapEntry(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):988:988 -> l
+    55:94:com.android.tools.r8.graph.CfCode CollectionMethods_mapEntry(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):961:1000 -> l
     95:95:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> l
-    95:95:com.android.tools.r8.graph.CfCode CollectionMethods_mapEntry(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):999 -> l
-    1:23:com.android.tools.r8.graph.CfCode MathMethods_negateExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5155:5177 -> l0
-    24:34:com.android.tools.r8.graph.CfCode MathMethods_negateExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5174:5184 -> l0
+    95:95:com.android.tools.r8.graph.CfCode CollectionMethods_mapEntry(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1000 -> l
+    1:23:com.android.tools.r8.graph.CfCode MathMethods_negateExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5156:5178 -> l0
+    24:34:com.android.tools.r8.graph.CfCode MathMethods_negateExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5175:5185 -> l0
     35:35:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> l0
-    35:35:com.android.tools.r8.graph.CfCode MathMethods_negateExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5184 -> l0
-    36:37:com.android.tools.r8.graph.CfCode MathMethods_negateExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5184:5185 -> l0
-    38:66:com.android.tools.r8.graph.CfCode MathMethods_negateExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5163:5191 -> l0
+    35:35:com.android.tools.r8.graph.CfCode MathMethods_negateExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5185 -> l0
+    36:37:com.android.tools.r8.graph.CfCode MathMethods_negateExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5185:5186 -> l0
+    38:66:com.android.tools.r8.graph.CfCode MathMethods_negateExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5164:5192 -> l0
     67:67:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> l0
-    67:67:com.android.tools.r8.graph.CfCode MathMethods_negateExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5191 -> l0
-    1:27:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1003:1029 -> m
-    28:49:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1025:1046 -> m
-    50:54:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1045:1049 -> m
-    55:58:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1048:1051 -> m
+    67:67:com.android.tools.r8.graph.CfCode MathMethods_negateExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5192 -> l0
+    1:27:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1004:1030 -> m
+    28:49:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1026:1047 -> m
+    50:54:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1046:1050 -> m
+    55:58:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1049:1052 -> m
     59:59:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> m
-    59:59:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1051 -> m
-    60:77:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1051:1068 -> m
-    78:89:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1065:1076 -> m
-    90:104:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1072:1086 -> m
-    105:116:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1083:1094 -> m
-    117:136:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1090:1109 -> m
-    137:156:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1103:1122 -> m
-    157:169:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1119:1131 -> m
-    170:183:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1127:1140 -> m
-    184:195:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1136:1147 -> m
-    196:207:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1144:1155 -> m
-    208:221:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1151:1164 -> m
-    222:226:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1163:1167 -> m
-    227:230:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1166:1169 -> m
+    59:59:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1052 -> m
+    60:77:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1052:1069 -> m
+    78:89:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1066:1077 -> m
+    90:104:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1073:1087 -> m
+    105:116:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1084:1095 -> m
+    117:136:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1091:1110 -> m
+    137:156:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1104:1123 -> m
+    157:169:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1120:1132 -> m
+    170:183:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1128:1141 -> m
+    184:195:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1137:1148 -> m
+    196:207:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1145:1156 -> m
+    208:221:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1152:1165 -> m
+    222:226:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1164:1168 -> m
+    227:230:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1167:1170 -> m
     231:231:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> m
-    231:231:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1169 -> m
-    232:243:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1169:1180 -> m
-    244:246:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1179:1181 -> m
+    231:231:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1170 -> m
+    232:243:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1170:1181 -> m
+    244:246:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1180:1182 -> m
     247:247:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> m
-    247:247:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1181 -> m
-    248:258:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1181:1191 -> m
-    259:262:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1189:1192 -> m
-    263:263:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1187:1187 -> m
-    264:444:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1017:1197 -> m
+    247:247:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1182 -> m
+    248:258:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1182:1192 -> m
+    259:262:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1190:1193 -> m
+    263:263:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1188:1188 -> m
+    264:444:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1018:1198 -> m
     445:445:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> m
-    445:445:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1197 -> m
-    1:17:com.android.tools.r8.graph.CfCode MathMethods_nextDownDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5195:5211 -> m0
-    18:18:com.android.tools.r8.graph.CfCode MathMethods_nextDownDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5207:5207 -> m0
-    19:35:com.android.tools.r8.graph.CfCode MathMethods_nextDownDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5201:5217 -> m0
+    445:445:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1198 -> m
+    1:17:com.android.tools.r8.graph.CfCode MathMethods_nextDownDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5196:5212 -> m0
+    18:18:com.android.tools.r8.graph.CfCode MathMethods_nextDownDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5208:5208 -> m0
+    19:35:com.android.tools.r8.graph.CfCode MathMethods_nextDownDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5202:5218 -> m0
     36:36:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> m0
-    36:36:com.android.tools.r8.graph.CfCode MathMethods_nextDownDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5217 -> m0
-    1:25:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1201:1225 -> n
-    26:50:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1221:1245 -> n
+    36:36:com.android.tools.r8.graph.CfCode MathMethods_nextDownDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5218 -> m0
+    1:25:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1202:1226 -> n
+    26:50:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1222:1246 -> n
     51:51:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> n
-    51:51:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1245 -> n
-    52:71:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1245:1264 -> n
-    72:84:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1260:1272 -> n
-    85:102:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1268:1285 -> n
-    103:115:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1282:1294 -> n
-    116:129:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1290:1303 -> n
-    130:141:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1299:1310 -> n
-    142:153:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1307:1318 -> n
-    154:170:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1314:1330 -> n
+    51:51:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1246 -> n
+    52:71:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1246:1265 -> n
+    72:84:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1261:1273 -> n
+    85:102:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1269:1286 -> n
+    103:115:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1283:1295 -> n
+    116:129:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1291:1304 -> n
+    130:141:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1300:1311 -> n
+    142:153:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1308:1319 -> n
+    154:170:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1315:1331 -> n
     171:171:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> n
-    171:171:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1330 -> n
-    172:183:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1330:1341 -> n
+    171:171:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1331 -> n
+    172:183:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1331:1342 -> n
     184:184:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> n
-    184:184:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1341 -> n
-    185:195:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1341:1351 -> n
-    196:199:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1349:1352 -> n
-    200:200:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1347:1347 -> n
-    201:345:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1213:1357 -> n
+    184:184:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1342 -> n
+    185:195:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1342:1352 -> n
+    196:199:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1350:1353 -> n
+    200:200:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1348:1348 -> n
+    201:345:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1214:1358 -> n
     346:346:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> n
-    346:346:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1357 -> n
-    1:17:com.android.tools.r8.graph.CfCode MathMethods_nextDownFloat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5221:5237 -> n0
-    18:18:com.android.tools.r8.graph.CfCode MathMethods_nextDownFloat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5233:5233 -> n0
-    19:35:com.android.tools.r8.graph.CfCode MathMethods_nextDownFloat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5227:5243 -> n0
+    346:346:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1358 -> n
+    1:17:com.android.tools.r8.graph.CfCode MathMethods_nextDownFloat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5222:5238 -> n0
+    18:18:com.android.tools.r8.graph.CfCode MathMethods_nextDownFloat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5234:5234 -> n0
+    19:35:com.android.tools.r8.graph.CfCode MathMethods_nextDownFloat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5228:5244 -> n0
     36:36:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> n0
-    36:36:com.android.tools.r8.graph.CfCode MathMethods_nextDownFloat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5243 -> n0
-    1:22:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1361:1382 -> o
-    23:34:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1379:1390 -> o
-    35:49:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1386:1400 -> o
-    50:52:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1399:1401 -> o
-    53:66:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1397:1410 -> o
-    67:70:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1409:1412 -> o
-    71:73:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1411:1413 -> o
+    36:36:com.android.tools.r8.graph.CfCode MathMethods_nextDownFloat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5244 -> n0
+    1:22:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1362:1383 -> o
+    23:34:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1380:1391 -> o
+    35:49:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1387:1401 -> o
+    50:52:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1400:1402 -> o
+    53:66:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1398:1411 -> o
+    67:70:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1410:1413 -> o
+    71:73:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1412:1414 -> o
     74:74:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> o
-    74:74:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1413 -> o
-    75:84:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1413:1422 -> o
-    85:97:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1419:1431 -> o
-    98:113:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1428:1443 -> o
-    114:126:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1439:1451 -> o
-    127:142:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1447:1462 -> o
-    143:145:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1461:1463 -> o
+    74:74:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1414 -> o
+    75:84:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1414:1423 -> o
+    85:97:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1420:1432 -> o
+    98:113:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1429:1444 -> o
+    114:126:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1440:1452 -> o
+    127:142:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1448:1463 -> o
+    143:145:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1462:1464 -> o
     146:146:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> o
-    146:146:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1463 -> o
-    147:157:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1463:1473 -> o
-    158:161:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1471:1474 -> o
-    162:162:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1469:1469 -> o
-    163:270:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1372:1479 -> o
+    146:146:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1464 -> o
+    147:157:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1464:1474 -> o
+    158:161:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1472:1475 -> o
+    162:162:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1470:1470 -> o
+    163:270:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1373:1480 -> o
     271:271:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> o
-    271:271:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1479 -> o
-    1:40:com.android.tools.r8.graph.CfCode MathMethods_subtractExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5247:5286 -> o0
+    271:271:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1480 -> o
+    1:40:com.android.tools.r8.graph.CfCode MathMethods_subtractExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5248:5287 -> o0
     41:41:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> o0
-    41:41:com.android.tools.r8.graph.CfCode MathMethods_subtractExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5286 -> o0
-    42:52:com.android.tools.r8.graph.CfCode MathMethods_subtractExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5286:5296 -> o0
-    53:53:com.android.tools.r8.graph.CfCode MathMethods_subtractExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5293:5293 -> o0
-    54:98:com.android.tools.r8.graph.CfCode MathMethods_subtractExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5257:5301 -> o0
+    41:41:com.android.tools.r8.graph.CfCode MathMethods_subtractExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5287 -> o0
+    42:52:com.android.tools.r8.graph.CfCode MathMethods_subtractExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5287:5297 -> o0
+    53:53:com.android.tools.r8.graph.CfCode MathMethods_subtractExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5294:5294 -> o0
+    54:98:com.android.tools.r8.graph.CfCode MathMethods_subtractExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5258:5302 -> o0
     99:99:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> o0
-    99:99:com.android.tools.r8.graph.CfCode MathMethods_subtractExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5301 -> o0
-    1:25:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1483:1507 -> p
-    26:37:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1504:1515 -> p
-    38:52:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1511:1525 -> p
-    53:55:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1524:1526 -> p
-    56:67:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1522:1533 -> p
-    68:70:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1532:1534 -> p
-    71:85:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1530:1544 -> p
+    99:99:com.android.tools.r8.graph.CfCode MathMethods_subtractExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5302 -> o0
+    1:25:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1484:1508 -> p
+    26:37:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1505:1516 -> p
+    38:52:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1512:1526 -> p
+    53:55:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1525:1527 -> p
+    56:67:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1523:1534 -> p
+    68:70:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1533:1535 -> p
+    71:85:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1531:1545 -> p
     86:86:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> p
-    86:86:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1544 -> p
-    87:96:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1544:1553 -> p
-    97:109:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1550:1562 -> p
-    110:115:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1559:1564 -> p
+    86:86:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1545 -> p
+    87:96:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1545:1554 -> p
+    97:109:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1551:1563 -> p
+    110:115:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1560:1565 -> p
     116:116:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> p
-    116:116:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1564 -> p
-    117:128:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1564:1575 -> p
-    129:140:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1572:1583 -> p
-    141:154:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1579:1592 -> p
-    155:166:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1589:1600 -> p
-    167:182:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1596:1611 -> p
-    183:200:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1605:1622 -> p
+    116:116:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1565 -> p
+    117:128:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1565:1576 -> p
+    129:140:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1573:1584 -> p
+    141:154:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1580:1593 -> p
+    155:166:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1590:1601 -> p
+    167:182:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1597:1612 -> p
+    183:200:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1606:1623 -> p
     201:201:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> p
-    201:201:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1622 -> p
-    202:212:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1622:1632 -> p
-    213:216:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1630:1633 -> p
-    217:217:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1628:1628 -> p
-    218:359:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1497:1638 -> p
+    201:201:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1623 -> p
+    202:212:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1623:1633 -> p
+    213:216:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1631:1634 -> p
+    217:217:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1629:1629 -> p
+    218:359:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1498:1639 -> p
     360:360:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> p
-    360:360:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1638 -> p
-    1:36:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5305:5340 -> p0
+    360:360:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1639 -> p
+    1:36:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5306:5341 -> p0
     37:37:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> p0
-    37:37:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5340 -> p0
-    38:49:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5340:5351 -> p0
+    37:37:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5341 -> p0
+    38:49:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5341:5352 -> p0
     50:50:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> p0
-    50:50:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5351 -> p0
-    51:70:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5351:5370 -> p0
+    50:50:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5352 -> p0
+    51:70:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5352:5371 -> p0
     71:71:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> p0
-    71:71:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5370 -> p0
-    72:84:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5370:5382 -> p0
+    71:71:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5371 -> p0
+    72:84:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5371:5383 -> p0
     85:85:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> p0
-    85:85:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5382 -> p0
-    86:91:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5382:5387 -> p0
-    92:107:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5385:5400 -> p0
+    85:85:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5383 -> p0
+    86:91:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5383:5388 -> p0
+    92:107:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5386:5401 -> p0
     108:108:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> p0
-    108:108:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5400 -> p0
-    109:119:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5400:5410 -> p0
-    120:120:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5407:5407 -> p0
-    121:218:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5318:5415 -> p0
+    108:108:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5401 -> p0
+    109:119:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5401:5411 -> p0
+    120:120:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5408:5408 -> p0
+    121:218:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5319:5416 -> p0
     219:219:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> p0
-    219:219:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5415 -> p0
-    1:22:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1642:1663 -> q
-    23:34:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1660:1671 -> q
-    35:49:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1667:1681 -> q
-    50:52:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1680:1682 -> q
-    53:66:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1678:1691 -> q
-    67:70:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1690:1693 -> q
+    219:219:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5416 -> p0
+    1:22:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1643:1664 -> q
+    23:34:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1661:1672 -> q
+    35:49:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1668:1682 -> q
+    50:52:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1681:1683 -> q
+    53:66:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1679:1692 -> q
+    67:70:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1691:1694 -> q
     71:71:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> q
-    71:71:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1693 -> q
-    72:81:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1693:1702 -> q
-    82:94:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1699:1711 -> q
-    95:110:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1708:1723 -> q
-    111:123:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1719:1731 -> q
-    124:139:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1727:1742 -> q
-    140:142:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1741:1743 -> q
+    71:71:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1694 -> q
+    72:81:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1694:1703 -> q
+    82:94:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1700:1712 -> q
+    95:110:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1709:1724 -> q
+    111:123:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1720:1732 -> q
+    124:139:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1728:1743 -> q
+    140:142:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1742:1744 -> q
     143:143:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> q
-    143:143:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1743 -> q
-    144:154:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1743:1753 -> q
-    155:158:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1751:1754 -> q
-    159:159:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1749:1749 -> q
-    160:266:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1653:1759 -> q
+    143:143:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1744 -> q
+    144:154:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1744:1754 -> q
+    155:158:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1752:1755 -> q
+    159:159:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1750:1750 -> q
+    160:266:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1654:1760 -> q
     267:267:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> q
-    267:267:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1759 -> q
-    1:29:com.android.tools.r8.graph.CfCode MathMethods_toIntExact(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5419:5447 -> q0
-    30:42:com.android.tools.r8.graph.CfCode MathMethods_toIntExact(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5444:5456 -> q0
+    267:267:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1760 -> q
+    1:29:com.android.tools.r8.graph.CfCode MathMethods_toIntExact(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5420:5448 -> q0
+    30:42:com.android.tools.r8.graph.CfCode MathMethods_toIntExact(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5445:5457 -> q0
     43:43:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> q0
-    43:43:com.android.tools.r8.graph.CfCode MathMethods_toIntExact(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5456 -> q0
-    44:46:com.android.tools.r8.graph.CfCode MathMethods_toIntExact(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5456:5458 -> q0
-    47:82:com.android.tools.r8.graph.CfCode MathMethods_toIntExact(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5428:5463 -> q0
+    43:43:com.android.tools.r8.graph.CfCode MathMethods_toIntExact(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5457 -> q0
+    44:46:com.android.tools.r8.graph.CfCode MathMethods_toIntExact(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5457:5459 -> q0
+    47:82:com.android.tools.r8.graph.CfCode MathMethods_toIntExact(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5429:5464 -> q0
     83:83:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> q0
-    83:83:com.android.tools.r8.graph.CfCode MathMethods_toIntExact(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5463 -> q0
-    1:13:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyEnumeration(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1764:1776 -> r
-    14:16:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyEnumeration(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1775:1777 -> r
-    17:29:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyEnumeration(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1773:1785 -> r
-    30:33:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyEnumeration(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1783:1786 -> r
-    34:34:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyEnumeration(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1781:1781 -> r
-    35:56:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyEnumeration(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1769:1790 -> r
+    83:83:com.android.tools.r8.graph.CfCode MathMethods_toIntExact(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5464 -> q0
+    1:13:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyEnumeration(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1765:1777 -> r
+    14:16:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyEnumeration(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1776:1778 -> r
+    17:29:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyEnumeration(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1774:1786 -> r
+    30:33:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyEnumeration(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1784:1787 -> r
+    34:34:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyEnumeration(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1782:1782 -> r
+    35:56:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyEnumeration(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1770:1791 -> r
     57:57:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> r
-    57:57:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyEnumeration(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1790 -> r
-    1:29:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5468:5496 -> r0
+    57:57:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyEnumeration(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1791 -> r
+    1:29:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5469:5497 -> r0
     30:30:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> r0
-    30:30:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5496 -> r0
-    31:43:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5496:5508 -> r0
-    44:56:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5505:5517 -> r0
-    57:70:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5513:5526 -> r0
-    71:84:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5522:5535 -> r0
-    85:98:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5531:5544 -> r0
-    99:112:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5540:5553 -> r0
-    113:126:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5549:5562 -> r0
-    127:140:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5558:5571 -> r0
-    141:154:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5567:5580 -> r0
-    155:166:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5576:5587 -> r0
-    167:178:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5584:5595 -> r0
-    179:193:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5591:5605 -> r0
+    30:30:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5497 -> r0
+    31:43:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5497:5509 -> r0
+    44:56:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5506:5518 -> r0
+    57:70:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5514:5527 -> r0
+    71:84:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5523:5536 -> r0
+    85:98:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5532:5545 -> r0
+    99:112:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5541:5554 -> r0
+    113:126:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5550:5563 -> r0
+    127:140:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5559:5572 -> r0
+    141:154:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5568:5581 -> r0
+    155:166:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5577:5588 -> r0
+    167:178:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5585:5596 -> r0
+    179:193:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5592:5606 -> r0
     194:194:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> r0
-    194:194:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5605 -> r0
-    195:197:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5605:5607 -> r0
-    198:334:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5476:5612 -> r0
+    194:194:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5606 -> r0
+    195:197:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5606:5608 -> r0
+    198:334:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5477:5613 -> r0
     335:335:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> r0
-    335:335:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5612 -> r0
-    1:13:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1794:1806 -> s
-    14:16:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1805:1807 -> s
-    17:28:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1803:1814 -> s
-    29:31:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1813:1815 -> s
-    32:32:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1811:1811 -> s
-    33:53:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1799:1819 -> s
+    335:335:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5613 -> r0
+    1:13:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1795:1807 -> s
+    14:16:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1806:1808 -> s
+    17:28:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1804:1815 -> s
+    29:31:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1814:1816 -> s
+    32:32:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1812:1812 -> s
+    33:53:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1800:1820 -> s
     54:54:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> s
-    54:54:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1819 -> s
-    1:26:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5616:5641 -> s0
+    54:54:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1820 -> s
+    1:26:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5617:5642 -> s0
     27:27:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> s0
-    27:27:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5641 -> s0
-    28:40:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5641:5653 -> s0
-    41:53:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5650:5662 -> s0
-    54:67:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5658:5671 -> s0
-    68:81:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5667:5680 -> s0
-    82:95:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5676:5689 -> s0
-    96:109:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5685:5698 -> s0
-    110:123:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5694:5707 -> s0
-    124:135:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5703:5714 -> s0
-    136:147:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5711:5722 -> s0
-    148:162:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5718:5732 -> s0
+    27:27:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5642 -> s0
+    28:40:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5642:5654 -> s0
+    41:53:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5651:5663 -> s0
+    54:67:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5659:5672 -> s0
+    68:81:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5668:5681 -> s0
+    82:95:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5677:5690 -> s0
+    96:109:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5686:5699 -> s0
+    110:123:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5695:5708 -> s0
+    124:135:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5704:5715 -> s0
+    136:147:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5712:5723 -> s0
+    148:162:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5719:5733 -> s0
     163:163:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> s0
-    163:163:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5732 -> s0
-    164:166:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5732:5734 -> s0
-    167:282:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5624:5739 -> s0
+    163:163:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5733 -> s0
+    164:166:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5733:5735 -> s0
+    167:282:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5625:5740 -> s0
     283:283:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> s0
-    283:283:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5739 -> s0
-    1:13:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyListIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1824:1836 -> t
-    14:16:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyListIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1835:1837 -> t
-    17:28:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyListIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1833:1844 -> t
-    29:31:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyListIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1843:1845 -> t
-    32:32:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyListIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1841:1841 -> t
-    33:53:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyListIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1829:1849 -> t
+    283:283:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5740 -> s0
+    1:13:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyListIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1825:1837 -> t
+    14:16:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyListIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1836:1838 -> t
+    17:28:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyListIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1834:1845 -> t
+    29:31:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyListIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1844:1846 -> t
+    32:32:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyListIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1842:1842 -> t
+    33:53:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyListIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1830:1850 -> t
     54:54:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> t
-    54:54:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyListIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1849 -> t
-    1:22:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5743:5764 -> t0
+    54:54:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyListIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1850 -> t
+    1:22:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5744:5765 -> t0
     23:23:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> t0
-    23:23:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5764 -> t0
-    24:36:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5764:5776 -> t0
-    37:49:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5773:5785 -> t0
-    50:63:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5781:5794 -> t0
-    64:77:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5790:5803 -> t0
-    78:91:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5799:5812 -> t0
-    92:103:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5808:5819 -> t0
-    104:115:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5816:5827 -> t0
-    116:129:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5823:5836 -> t0
+    23:23:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5765 -> t0
+    24:36:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5765:5777 -> t0
+    37:49:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5774:5786 -> t0
+    50:63:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5782:5795 -> t0
+    64:77:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5791:5804 -> t0
+    78:91:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5800:5813 -> t0
+    92:103:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5809:5820 -> t0
+    104:115:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5817:5828 -> t0
+    116:129:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5824:5837 -> t0
     130:130:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> t0
-    130:130:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5836 -> t0
-    131:133:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5836:5838 -> t0
-    134:226:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5751:5843 -> t0
+    130:130:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5837 -> t0
+    131:133:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5837:5839 -> t0
+    134:226:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5752:5844 -> t0
     227:227:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> t0
-    227:227:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5843 -> t0
-    1:17:com.android.tools.r8.graph.CfCode DoubleMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1853:1869 -> u
-    18:18:com.android.tools.r8.graph.CfCode DoubleMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1865:1865 -> u
-    19:41:com.android.tools.r8.graph.CfCode DoubleMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1860:1882 -> u
+    227:227:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5844 -> t0
+    1:17:com.android.tools.r8.graph.CfCode DoubleMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1854:1870 -> u
+    18:18:com.android.tools.r8.graph.CfCode DoubleMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1866:1866 -> u
+    19:41:com.android.tools.r8.graph.CfCode DoubleMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1861:1883 -> u
     42:42:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> u
-    42:42:com.android.tools.r8.graph.CfCode DoubleMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1882 -> u
-    1:24:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5847:5870 -> u0
-    25:25:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5869:5869 -> u0
+    42:42:com.android.tools.r8.graph.CfCode DoubleMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1883 -> u
+    1:24:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5848:5871 -> u0
+    25:25:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5870:5870 -> u0
     26:26:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> u0
-    26:26:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5869 -> u0
-    27:42:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5869:5884 -> u0
-    43:59:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5878:5894 -> u0
-    60:60:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5893:5893 -> u0
+    26:26:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5870 -> u0
+    27:42:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5870:5885 -> u0
+    43:59:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5879:5895 -> u0
+    60:60:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5894:5894 -> u0
     61:61:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> u0
-    61:61:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5893 -> u0
-    62:66:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5893:5897 -> u0
-    67:113:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5855:5901 -> u0
+    61:61:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5894 -> u0
+    62:66:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5894:5898 -> u0
+    67:113:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5856:5902 -> u0
     114:114:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> u0
-    114:114:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5901 -> u0
-    1:18:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1886:1903 -> v
-    19:33:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1899:1913 -> v
-    34:47:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1909:1922 -> v
+    114:114:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5902 -> u0
+    1:18:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1887:1904 -> v
+    19:33:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1900:1914 -> v
+    34:47:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1910:1923 -> v
     48:48:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> v
-    48:48:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1922 -> v
-    49:56:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1922:1929 -> v
+    48:48:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1923 -> v
+    49:56:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1923:1930 -> v
     57:57:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> v
-    57:57:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1929 -> v
-    58:60:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1929:1931 -> v
-    61:102:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1894:1935 -> v
+    57:57:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1930 -> v
+    58:60:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1930:1932 -> v
+    61:102:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1895:1936 -> v
     103:103:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> v
-    103:103:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1935 -> v
-    1:93:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5905:5997 -> v0
-    94:154:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5991:6051 -> v0
-    155:215:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6045:6105 -> v0
-    216:276:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6099:6159 -> v0
-    277:337:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6153:6213 -> v0
-    338:398:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6207:6267 -> v0
-    399:459:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6261:6321 -> v0
-    460:520:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6315:6375 -> v0
-    521:580:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6369:6428 -> v0
-    581:585:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6425:6429 -> v0
-    586:635:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6423:6472 -> v0
-    636:636:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6468:6468 -> v0
-    637:1165:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5949:6477 -> v0
-    1:18:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1939:1956 -> w
-    19:33:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1952:1966 -> w
-    34:47:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1962:1975 -> w
+    103:103:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1936 -> v
+    1:93:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5906:5998 -> v0
+    94:154:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5992:6052 -> v0
+    155:215:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6046:6106 -> v0
+    216:276:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6100:6160 -> v0
+    277:337:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6154:6214 -> v0
+    338:398:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6208:6268 -> v0
+    399:459:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6262:6322 -> v0
+    460:520:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6316:6376 -> v0
+    521:580:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6370:6429 -> v0
+    581:585:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6426:6430 -> v0
+    586:635:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6424:6473 -> v0
+    636:636:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6469:6469 -> v0
+    637:1165:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5950:6478 -> v0
+    1:18:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1940:1957 -> w
+    19:33:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1953:1967 -> w
+    34:47:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1963:1976 -> w
     48:48:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> w
-    48:48:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1975 -> w
-    49:56:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1975:1982 -> w
+    48:48:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1976 -> w
+    49:56:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1976:1983 -> w
     57:57:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> w
-    57:57:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1982 -> w
-    58:60:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1982:1984 -> w
-    61:102:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1947:1988 -> w
+    57:57:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1983 -> w
+    58:60:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1983:1985 -> w
+    61:102:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1948:1989 -> w
     103:103:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> w
-    103:103:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1988 -> w
-    1:25:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6481:6505 -> w0
-    26:39:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6501:6514 -> w0
+    103:103:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1989 -> w
+    1:25:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6482:6506 -> w0
+    26:39:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6502:6515 -> w0
     40:40:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> w0
-    40:40:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6514 -> w0
-    41:52:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6514:6525 -> w0
+    40:40:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6515 -> w0
+    41:52:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6515:6526 -> w0
     53:53:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> w0
-    53:53:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6525 -> w0
-    54:64:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6525:6535 -> w0
+    53:53:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6526 -> w0
+    54:64:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6526:6536 -> w0
     65:65:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> w0
-    65:65:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6535 -> w0
-    66:69:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6535:6538 -> w0
-    70:122:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6490:6542 -> w0
+    65:65:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6536 -> w0
+    66:69:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6536:6539 -> w0
+    70:122:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6491:6543 -> w0
     123:123:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> w0
-    123:123:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6542 -> w0
-    1:23:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1992:2014 -> x
+    123:123:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6543 -> w0
+    1:23:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1993:2015 -> x
     24:24:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> x
-    24:24:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2014 -> x
-    25:39:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2014:2028 -> x
+    24:24:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2015 -> x
+    25:39:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2015:2029 -> x
     40:40:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> x
-    40:40:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2028 -> x
-    41:51:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2028:2038 -> x
+    40:40:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2029 -> x
+    41:51:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2029:2039 -> x
     52:52:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> x
-    52:52:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2038 -> x
-    53:56:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2038:2041 -> x
-    57:101:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2001:2045 -> x
+    52:52:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2039 -> x
+    53:56:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2039:2042 -> x
+    57:101:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2002:2046 -> x
     102:102:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> x
-    102:102:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2045 -> x
-    1:19:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6546:6564 -> x0
+    102:102:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2046 -> x
+    1:19:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6547:6565 -> x0
     20:20:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> x0
-    20:20:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6564 -> x0
-    21:29:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6564:6572 -> x0
-    30:39:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6569:6578 -> x0
+    20:20:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6565 -> x0
+    21:29:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6565:6573 -> x0
+    30:39:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6570:6579 -> x0
     40:40:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> x0
-    40:40:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6578 -> x0
-    41:43:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6578:6580 -> x0
-    44:74:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6554:6584 -> x0
+    40:40:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6579 -> x0
+    41:43:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6579:6581 -> x0
+    44:74:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6555:6585 -> x0
     75:75:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> x0
-    75:75:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6584 -> x0
-    1:31:com.android.tools.r8.graph.CfCode IntegerMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2049:2079 -> y
-    32:32:com.android.tools.r8.graph.CfCode IntegerMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2073:2073 -> y
-    33:60:com.android.tools.r8.graph.CfCode IntegerMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2057:2084 -> y
+    75:75:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6585 -> x0
+    1:31:com.android.tools.r8.graph.CfCode IntegerMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2050:2080 -> y
+    32:32:com.android.tools.r8.graph.CfCode IntegerMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2074:2074 -> y
+    33:60:com.android.tools.r8.graph.CfCode IntegerMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2058:2085 -> y
     61:61:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> y
-    61:61:com.android.tools.r8.graph.CfCode IntegerMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2084 -> y
-    1:19:com.android.tools.r8.graph.CfCode ObjectsMethods_isNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6588:6606 -> y0
+    61:61:com.android.tools.r8.graph.CfCode IntegerMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2085 -> y
+    1:19:com.android.tools.r8.graph.CfCode ObjectsMethods_isNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6589:6607 -> y0
     20:20:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> y0
-    20:20:com.android.tools.r8.graph.CfCode ObjectsMethods_isNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6606 -> y0
-    21:28:com.android.tools.r8.graph.CfCode ObjectsMethods_isNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6606:6613 -> y0
+    20:20:com.android.tools.r8.graph.CfCode ObjectsMethods_isNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6607 -> y0
+    21:28:com.android.tools.r8.graph.CfCode ObjectsMethods_isNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6607:6614 -> y0
     29:29:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> y0
-    29:29:com.android.tools.r8.graph.CfCode ObjectsMethods_isNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6613 -> y0
-    30:32:com.android.tools.r8.graph.CfCode ObjectsMethods_isNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6613:6615 -> y0
-    33:56:com.android.tools.r8.graph.CfCode ObjectsMethods_isNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6596:6619 -> y0
+    29:29:com.android.tools.r8.graph.CfCode ObjectsMethods_isNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6614 -> y0
+    30:32:com.android.tools.r8.graph.CfCode ObjectsMethods_isNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6614:6616 -> y0
+    33:56:com.android.tools.r8.graph.CfCode ObjectsMethods_isNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6597:6620 -> y0
     57:57:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> y0
-    57:57:com.android.tools.r8.graph.CfCode ObjectsMethods_isNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6619 -> y0
-    1:30:com.android.tools.r8.graph.CfCode IntegerMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2088:2117 -> z
+    57:57:com.android.tools.r8.graph.CfCode ObjectsMethods_isNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6620 -> y0
+    1:30:com.android.tools.r8.graph.CfCode IntegerMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2089:2118 -> z
     31:31:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> z
-    31:31:com.android.tools.r8.graph.CfCode IntegerMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2117 -> z
-    1:19:com.android.tools.r8.graph.CfCode ObjectsMethods_nonNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6623:6641 -> z0
+    31:31:com.android.tools.r8.graph.CfCode IntegerMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2118 -> z
+    1:19:com.android.tools.r8.graph.CfCode ObjectsMethods_nonNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6624:6642 -> z0
     20:20:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> z0
-    20:20:com.android.tools.r8.graph.CfCode ObjectsMethods_nonNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6641 -> z0
-    21:28:com.android.tools.r8.graph.CfCode ObjectsMethods_nonNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6641:6648 -> z0
+    20:20:com.android.tools.r8.graph.CfCode ObjectsMethods_nonNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6642 -> z0
+    21:28:com.android.tools.r8.graph.CfCode ObjectsMethods_nonNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6642:6649 -> z0
     29:29:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> z0
-    29:29:com.android.tools.r8.graph.CfCode ObjectsMethods_nonNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6648 -> z0
-    30:32:com.android.tools.r8.graph.CfCode ObjectsMethods_nonNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6648:6650 -> z0
-    33:56:com.android.tools.r8.graph.CfCode ObjectsMethods_nonNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6631:6654 -> z0
+    29:29:com.android.tools.r8.graph.CfCode ObjectsMethods_nonNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6649 -> z0
+    30:32:com.android.tools.r8.graph.CfCode ObjectsMethods_nonNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6649:6651 -> z0
+    33:56:com.android.tools.r8.graph.CfCode ObjectsMethods_nonNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6632:6655 -> z0
     57:57:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> z0
-    57:57:com.android.tools.r8.graph.CfCode ObjectsMethods_nonNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6654 -> z0
-com.android.tools.r8.ir.desugar.backports.BooleanMethodRewrites -> com.android.tools.r8.internal.u5:
+    57:57:com.android.tools.r8.graph.CfCode ObjectsMethods_nonNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6655 -> z0
+com.android.tools.r8.ir.desugar.backports.BooleanMethodRewrites -> com.android.tools.r8.internal.v5:
     1:1:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter createRewriter(com.android.tools.r8.cf.code.CfLogicalBinop$Opcode):15:15 -> a
     2:2:com.android.tools.r8.cf.code.CfInstruction lambda$createRewriter$0(com.android.tools.r8.cf.code.CfLogicalBinop$Opcode,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory):15:15 -> a
     3:3:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteLogicalAnd():19:19 -> a
     1:1:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteLogicalOr():23:23 -> b
     1:1:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteLogicalXor():27:27 -> c
-com.android.tools.r8.ir.desugar.backports.CollectionMethodGenerators -> com.android.tools.r8.internal.fc:
+com.android.tools.r8.ir.desugar.backports.CollectionMethodGenerators -> com.android.tools.r8.internal.gc:
     1:1:com.android.tools.r8.graph.CfCode generateListOf(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod,int):31:31 -> a
     2:21:com.android.tools.r8.graph.CfCode generateFixedMethods(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod,int,com.android.tools.r8.graph.DexType):40:59 -> a
     22:22:com.android.tools.r8.graph.CfCode generateFixedMethods(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod,int,com.android.tools.r8.graph.DexType):56:56 -> a
     23:33:com.android.tools.r8.graph.CfCode generateFixedMethods(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod,int,com.android.tools.r8.graph.DexType):53:63 -> a
     1:1:com.android.tools.r8.graph.CfCode generateSetOf(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod,int):35:35 -> b
-com.android.tools.r8.ir.desugar.backports.CollectionMethodRewrites -> com.android.tools.r8.internal.gc:
+com.android.tools.r8.ir.desugar.backports.CollectionMethodRewrites -> com.android.tools.r8.internal.hc:
     1:1:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteListOfEmpty():16:16 -> a
     2:2:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteToCollectionMethod(java.lang.String):28:28 -> a
     3:5:com.android.tools.r8.cf.code.CfInstruction lambda$rewriteToCollectionMethod$0(java.lang.String,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory):29:31 -> a
     1:1:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteMapOfEmpty():24:24 -> b
     1:1:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteSetOfEmpty():20:20 -> c
-com.android.tools.r8.ir.desugar.backports.FloatMethodRewrites -> com.android.tools.r8.internal.Ik:
+com.android.tools.r8.ir.desugar.backports.FloatMethodRewrites -> com.android.tools.r8.internal.Kk:
     1:1:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteHashCode():16:16 -> a
     2:5:com.android.tools.r8.cf.code.CfInstruction lambda$rewriteHashCode$0(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory):17:20 -> a
     6:6:com.android.tools.r8.cf.code.CfInstruction lambda$rewriteHashCode$0(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory):19:19 -> a
-com.android.tools.r8.ir.desugar.backports.LongMethodRewrites -> com.android.tools.r8.internal.gD:
+com.android.tools.r8.ir.desugar.backports.LongMethodRewrites -> com.android.tools.r8.internal.lD:
     1:1:com.android.tools.r8.cf.code.CfInstruction lambda$rewriteCompare$0(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory):17:17 -> a
     2:2:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteCompare():17:17 -> a
-com.android.tools.r8.ir.desugar.backports.NumericMethodRewrites -> com.android.tools.r8.internal.gI:
+com.android.tools.r8.ir.desugar.backports.NumericMethodRewrites -> com.android.tools.r8.internal.lI:
     1:2:com.android.tools.r8.cf.code.CfInstruction lambda$rewriteToAddInstruction$1(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory):30:31 -> a
     3:3:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteAsIdentity():36:36 -> a
     1:4:com.android.tools.r8.cf.code.CfInstruction lambda$rewriteToInvokeMath$0(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory):20:23 -> b
     5:5:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteToAddInstruction():29:29 -> b
     1:1:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteToInvokeMath():19:19 -> c
-com.android.tools.r8.ir.desugar.backports.NumericMethodRewrites$1 -> com.android.tools.r8.internal.fI:
+com.android.tools.r8.ir.desugar.backports.NumericMethodRewrites$1 -> com.android.tools.r8.internal.kI:
     1:1:void <init>():36:36 -> <init>
     1:1:java.util.Collection rewrite(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.desugar.LocalStackAllocator):41:41 -> a
-com.android.tools.r8.ir.desugar.backports.ObjectsMethodRewrites -> com.android.tools.r8.internal.HK:
+com.android.tools.r8.ir.desugar.backports.ObjectsMethodRewrites -> com.android.tools.r8.internal.MK:
     1:4:com.android.tools.r8.cf.code.CfInstruction lambda$rewriteToArraysHashCode$0(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory):24:27 -> a
     5:5:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteRequireNonNull():33:33 -> a
     1:1:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteToArraysHashCode():23:23 -> b
-com.android.tools.r8.ir.desugar.backports.ObjectsMethodRewrites$1 -> com.android.tools.r8.internal.GK:
+com.android.tools.r8.ir.desugar.backports.ObjectsMethodRewrites$1 -> com.android.tools.r8.internal.LK:
     1:1:void <init>():33:33 -> <init>
     1:2:java.util.Collection rewrite(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.desugar.LocalStackAllocator):39:40 -> a
-com.android.tools.r8.ir.desugar.backports.OptionalMethodRewrites -> com.android.tools.r8.internal.aL:
+com.android.tools.r8.ir.desugar.backports.OptionalMethodRewrites -> com.android.tools.r8.internal.fL:
     1:1:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter createRewriter(java.util.function.Function,java.lang.String):20:20 -> a
     2:5:com.android.tools.r8.cf.code.CfInstruction lambda$createRewriter$0(java.util.function.Function,java.lang.String,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory):21:24 -> a
     6:6:com.android.tools.r8.cf.code.CfInstruction lambda$createRewriter$0(java.util.function.Function,java.lang.String,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory):23:23 -> a
@@ -56176,118 +56288,140 @@
     2:2:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteLongOrElseGet():41:41 -> c
     1:1:com.android.tools.r8.graph.DexType lambda$rewriteOrElseGet$1(com.android.tools.r8.graph.DexItemFactory):29:29 -> d
     2:2:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteOrElseGet():29:29 -> d
-com.android.tools.r8.ir.desugar.backports.SparseArrayMethodRewrites -> com.android.tools.r8.internal.gW:
+com.android.tools.r8.ir.desugar.backports.SparseArrayMethodRewrites -> com.android.tools.r8.internal.lW:
     1:1:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteSet():17:17 -> a
     2:2:com.android.tools.r8.cf.code.CfInstruction lambda$rewriteSet$0(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory):18:18 -> a
-com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass -> com.android.tools.r8.internal.Gd:
+com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass -> com.android.tools.r8.internal.Hd:
     com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicReference reference -> b
     com.android.tools.r8.graph.AppView appView -> a
+    boolean isFinalBootstrapMethodReferenceOnInterface -> i
     com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass$Behaviour behaviour -> f
+    boolean $assertionsDisabled -> k
+    com.android.tools.r8.graph.DexMethod finalBootstrapMethodReference -> h
+    com.android.tools.r8.graph.DexMethod bootstrapMethodReference -> g
     com.android.tools.r8.graph.DexField constantValueField -> d
     com.android.tools.r8.graph.DexMethod getConstMethod -> e
     com.android.tools.r8.graph.DexField initializedValueField -> c
-    boolean $assertionsDisabled -> h
-    com.android.tools.r8.graph.DexProgramClass clazz -> g
-    1:1:void <clinit>():65:65 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicInstructionDesugaring,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.code.CfConstDynamic):92:92 -> <init>
-    2:17:void <init>(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicInstructionDesugaring,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.code.CfConstDynamic):85:100 -> <init>
-    18:22:void <init>(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicInstructionDesugaring,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.code.CfConstDynamic):99:103 -> <init>
-    23:29:void <init>(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicInstructionDesugaring,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.code.CfConstDynamic):102:108 -> <init>
-    30:52:void <init>(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicInstructionDesugaring,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.code.CfConstDynamic):105:127 -> <init>
-    1:8:java.util.Collection desugarConstDynamicInstruction(com.android.tools.r8.cf.code.CfConstDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):138:145 -> a
-    9:13:java.util.Collection com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.desugarToThrow(com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations$MethodSynthesizerConsumer,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):156:160 -> a
-    9:13:java.util.Collection desugarConstDynamicInstruction(com.android.tools.r8.cf.code.CfConstDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):142 -> a
-    14:15:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):192:193 -> a
-    14:15:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):185 -> a
+    com.android.tools.r8.graph.DexProgramClass clazz -> j
+    1:1:void <clinit>():70:70 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicInstructionDesugaring,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.code.CfConstDynamic):100:100 -> <init>
+    2:17:void <init>(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicInstructionDesugaring,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.code.CfConstDynamic):93:108 -> <init>
+    18:22:void <init>(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicInstructionDesugaring,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.code.CfConstDynamic):107:111 -> <init>
+    23:29:void <init>(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicInstructionDesugaring,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.code.CfConstDynamic):110:116 -> <init>
+    30:49:void <init>(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicInstructionDesugaring,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.code.CfConstDynamic):113:132 -> <init>
+    50:50:void <init>(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicInstructionDesugaring,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.code.CfConstDynamic):131:131 -> <init>
+    51:67:void <init>(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicInstructionDesugaring,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.code.CfConstDynamic):130:146 -> <init>
+    68:73:void <init>(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicInstructionDesugaring,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.code.CfConstDynamic):145:150 -> <init>
+    74:96:void <init>(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicInstructionDesugaring,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.code.CfConstDynamic):143:165 -> <init>
+    1:8:java.util.Collection desugarConstDynamicInstruction(com.android.tools.r8.cf.code.CfConstDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):182:189 -> a
+    9:13:java.util.Collection com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.desugarToThrow(com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations$MethodSynthesizerConsumer,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):200:204 -> a
+    9:13:java.util.Collection desugarConstDynamicInstruction(com.android.tools.r8.cf.code.CfConstDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):186 -> a
+    14:15:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):236:237 -> a
+    14:15:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):229 -> a
     16:16:com.android.tools.r8.graph.FieldAccessFlags com.android.tools.r8.graph.FieldAccessFlags.createPrivateStaticSynthetic():75:75 -> a
-    16:16:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):194 -> a
-    16:16:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):185 -> a
-    17:17:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):194:194 -> a
-    17:17:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):185 -> a
+    16:16:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):238 -> a
+    16:16:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):229 -> a
+    17:17:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):238:238 -> a
+    17:17:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):229 -> a
     18:18:com.android.tools.r8.graph.DexEncodedField$Builder com.android.tools.r8.graph.DexEncodedField$Builder.disableAndroidApiLevelCheck():475:475 -> a
-    18:18:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):195 -> a
-    18:18:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):185 -> a
-    19:21:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):196:198 -> a
-    19:21:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):185 -> a
+    18:18:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):239 -> a
+    18:18:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):229 -> a
+    19:21:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):240:242 -> a
+    19:21:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):229 -> a
     22:22:com.android.tools.r8.graph.FieldAccessFlags com.android.tools.r8.graph.FieldAccessFlags.createPrivateStaticSynthetic():75:75 -> a
-    22:22:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):199 -> a
-    22:22:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):185 -> a
-    23:23:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):199:199 -> a
-    23:23:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):185 -> a
+    22:22:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):243 -> a
+    22:22:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):229 -> a
+    23:23:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):243:243 -> a
+    23:23:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):229 -> a
     24:24:com.android.tools.r8.graph.DexEncodedField$Builder com.android.tools.r8.graph.DexEncodedField$Builder.disableAndroidApiLevelCheck():475:475 -> a
-    24:24:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):200 -> a
-    24:24:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):185 -> a
-    25:25:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):201:201 -> a
-    25:25:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):185 -> a
-    26:26:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):191:191 -> a
-    26:26:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):185 -> a
-    27:27:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):190:190 -> a
-    27:27:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):185 -> a
-    28:30:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):207:209 -> a
-    28:30:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):186 -> a
-    31:44:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):231:244 -> a
-    31:44:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):210 -> a
-    31:44:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):186 -> a
+    24:24:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):244 -> a
+    24:24:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):229 -> a
+    25:25:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):245:245 -> a
+    25:25:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):229 -> a
+    26:26:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):235:235 -> a
+    26:26:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):229 -> a
+    27:27:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234:234 -> a
+    27:27:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):229 -> a
+    28:30:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):251:253 -> a
+    28:30:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):230 -> a
+    31:44:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):277:290 -> a
+    31:44:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):254 -> a
+    31:44:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):230 -> a
     45:45:void com.android.tools.r8.cf.code.CfConstClass.<init>(com.android.tools.r8.graph.DexType):36:36 -> a
-    45:45:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):244 -> a
-    45:45:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):210 -> a
-    45:45:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):186 -> a
-    46:53:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):244:251 -> a
-    46:53:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):210 -> a
-    46:53:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):186 -> a
-    54:60:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.invokeBootstrapMethod(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):216:222 -> a
-    54:60:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):253 -> a
-    54:60:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):210 -> a
-    54:60:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):186 -> a
-    61:61:void com.android.tools.r8.cf.code.CfConstClass.<init>(com.android.tools.r8.graph.DexType):36:36 -> a
-    61:61:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.invokeBootstrapMethod(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):222 -> a
-    61:61:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):253 -> a
-    61:61:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):210 -> a
-    61:61:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):186 -> a
-    62:64:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.invokeBootstrapMethod(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):222:224 -> a
-    62:64:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):253 -> a
-    62:64:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):210 -> a
-    62:64:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):186 -> a
-    65:65:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> a
-    65:65:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.invokeBootstrapMethod(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):224 -> a
-    65:65:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):253 -> a
-    65:65:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):210 -> a
-    65:65:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):186 -> a
-    66:66:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.invokeBootstrapMethod(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):224:224 -> a
-    66:66:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):253 -> a
-    66:66:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):210 -> a
-    66:66:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):186 -> a
-    67:76:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):254:263 -> a
-    67:76:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):210 -> a
-    67:76:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):186 -> a
-    77:80:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):261:264 -> a
-    77:80:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):210 -> a
-    77:80:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):186 -> a
-    81:97:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):259:275 -> a
-    81:97:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):210 -> a
-    81:97:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):186 -> a
-    98:101:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):273:276 -> a
-    98:101:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):210 -> a
-    98:101:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):186 -> a
-    102:131:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):271:300 -> a
-    102:131:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):210 -> a
-    102:131:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):186 -> a
-    132:147:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):290:305 -> a
-    132:147:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):210 -> a
-    132:147:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):186 -> a
-    148:148:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> a
-    148:148:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):305 -> a
-    148:148:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):210 -> a
-    148:148:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):186 -> a
-    149:151:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):210:212 -> a
-    149:151:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):186 -> a
-    152:152:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):206:206 -> a
-    152:152:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):186 -> a
-    153:153:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):205:205 -> a
-    153:153:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):186 -> a
-    154:155:com.android.tools.r8.graph.DexProgramClass getConstantDynamicProgramClass():311:312 -> a
-    156:158:void setClass(com.android.tools.r8.graph.DexProgramClass):316:318 -> a
-com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicInstructionDesugaring -> com.android.tools.r8.internal.Hd:
+    45:45:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):290 -> a
+    45:45:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):254 -> a
+    45:45:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):230 -> a
+    46:53:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):290:297 -> a
+    46:53:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):254 -> a
+    46:53:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):230 -> a
+    54:58:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.invokeBootstrapMethod(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):260:264 -> a
+    54:58:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):299 -> a
+    54:58:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):254 -> a
+    54:58:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):230 -> a
+    59:59:void com.android.tools.r8.cf.code.CfConstClass.<init>(com.android.tools.r8.graph.DexType):36:36 -> a
+    59:59:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.invokeBootstrapMethod(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):264 -> a
+    59:59:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):299 -> a
+    59:59:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):254 -> a
+    59:59:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):230 -> a
+    60:66:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.invokeBootstrapMethod(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):264:270 -> a
+    60:66:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):299 -> a
+    60:66:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):254 -> a
+    60:66:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):230 -> a
+    67:67:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> a
+    67:67:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.invokeBootstrapMethod(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):270 -> a
+    67:67:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):299 -> a
+    67:67:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):254 -> a
+    67:67:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):230 -> a
+    68:68:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.invokeBootstrapMethod(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):270:270 -> a
+    68:68:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):299 -> a
+    68:68:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):254 -> a
+    68:68:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):230 -> a
+    69:78:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):300:309 -> a
+    69:78:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):254 -> a
+    69:78:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):230 -> a
+    79:82:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):307:310 -> a
+    79:82:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):254 -> a
+    79:82:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):230 -> a
+    83:99:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):305:321 -> a
+    83:99:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):254 -> a
+    83:99:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):230 -> a
+    100:103:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):319:322 -> a
+    100:103:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):254 -> a
+    100:103:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):230 -> a
+    104:133:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):317:346 -> a
+    104:133:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):254 -> a
+    104:133:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):230 -> a
+    134:149:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):336:351 -> a
+    134:149:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):254 -> a
+    134:149:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):230 -> a
+    150:150:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> a
+    150:150:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):351 -> a
+    150:150:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):254 -> a
+    150:150:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):230 -> a
+    151:153:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):254:256 -> a
+    151:153:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):230 -> a
+    154:154:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):250:250 -> a
+    154:154:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):230 -> a
+    155:155:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):249:249 -> a
+    155:155:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):230 -> a
+    156:157:com.android.tools.r8.graph.DexProgramClass getConstantDynamicProgramClass():357:358 -> a
+    158:160:void setClass(com.android.tools.r8.graph.DexProgramClass):362:364 -> a
+    161:161:com.android.tools.r8.graph.DexType mapLookupTypeToObject(com.android.tools.r8.graph.DexType):412:412 -> a
+    162:169:com.android.tools.r8.graph.Code adaptCode(com.android.tools.r8.graph.DexEncodedMethod):416:423 -> a
+    170:170:java.util.List com.android.tools.r8.utils.ListUtils.mapOrElse(java.util.List,java.util.function.Function):176:176 -> a
+    170:170:com.android.tools.r8.graph.Code adaptCode(com.android.tools.r8.graph.DexEncodedMethod):422 -> a
+    171:178:com.android.tools.r8.graph.Code adaptCode(com.android.tools.r8.graph.DexEncodedMethod):428:435 -> a
+    179:179:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> a
+    179:179:com.android.tools.r8.graph.Code adaptCode(com.android.tools.r8.graph.DexEncodedMethod):435 -> a
+    180:181:com.android.tools.r8.cf.code.CfInstruction lambda$adaptCode$1(com.android.tools.r8.cf.code.CfInstruction):425:426 -> a
+    1:33:void rewriteBootstrapMethodSignatureIfNeeded():368:400 -> b
+    34:34:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():476:476 -> b
+    34:34:void rewriteBootstrapMethodSignatureIfNeeded():400 -> b
+      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
+    35:43:void rewriteBootstrapMethodSignatureIfNeeded():400:408 -> b
+    44:59:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteBootstrapMethodSignatureIfNeeded$0(com.android.tools.r8.graph.DexEncodedMethod):379:394 -> b
+    1:2:boolean shouldRewriteBootstrapMethodSignature():171:172 -> c
+com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicInstructionDesugaring -> com.android.tools.r8.internal.Id:
     java.util.Map dynamicConstantSyntheticsPerClass -> b
     com.android.tools.r8.graph.AppView appView -> a
     1:1:void <init>(com.android.tools.r8.graph.AppView):33:33 -> <init>
@@ -56307,7 +56441,7 @@
     28:28:void lambda$createConstantDynamicClass$1(com.android.tools.r8.utils.Box,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.code.CfConstDynamic,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):124:124 -> a
     1:3:com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass ensureConstantDynamicClass(com.android.tools.r8.cf.code.CfConstDynamic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicDesugaringEventConsumer):90:92 -> b
     4:17:com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass ensureConstantDynamicClass(com.android.tools.r8.cf.code.CfConstDynamic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicDesugaringEventConsumer):91:104 -> b
-com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicReference -> com.android.tools.r8.internal.Id:
+com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicReference -> com.android.tools.r8.internal.Jd:
     java.lang.Object[] bootstrapMethodArguments -> d
     com.android.tools.r8.graph.DexString name -> a
     boolean $assertionsDisabled -> e
@@ -56321,7 +56455,7 @@
     1:1:com.android.tools.r8.graph.DexType getType():34:34 -> d
     1:7:boolean equals(java.lang.Object):48:54 -> equals
     1:1:int hashCode():59:59 -> hashCode
-com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer -> com.android.tools.r8.internal.xf:
+com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer -> com.android.tools.r8.internal.yf:
     com.android.tools.r8.graph.DexItemFactory factory -> b
     com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer wrapperSynthesizor -> c
     com.android.tools.r8.graph.AppView appView -> a
@@ -56379,7 +56513,7 @@
     105:111:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer.shouldGenerateCallbacksForEmulateInterfaceAPIs(com.android.tools.r8.graph.DexClass):181:187 -> a
     105:111:boolean overridesNonFinalLibraryMethod(com.android.tools.r8.graph.ProgramMethod):160 -> a
     112:118:boolean overridesNonFinalLibraryMethod(com.android.tools.r8.graph.ProgramMethod):163:169 -> a
-com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter -> com.android.tools.r8.internal.Jf:
+com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter -> com.android.tools.r8.internal.Kf:
     com.android.tools.r8.graph.DexItemFactory factory -> b
     com.android.tools.r8.graph.AppView appView -> a
     java.util.Set precedingDesugarings -> c
@@ -56498,31 +56632,31 @@
     452:452:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> a
     452:452:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):445 -> a
     453:454:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):445:446 -> a
-    455:456:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):748:749 -> a
+    455:456:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):750:751 -> a
     455:456:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):446 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     457:457:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):447:447 -> a
-    458:458:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):751:751 -> a
+    458:458:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):753:753 -> a
     458:458:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):446 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     459:459:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):0:0 -> a
       # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":468,"2":469,"3":470,"4":471,"5":472}}
-    468:468:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):751:751 -> a
+    468:468:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):753:753 -> a
     468:468:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):446 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    469:469:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):751:751 -> a
+    469:469:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):753:753 -> a
     469:469:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):446 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    470:470:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):751:751 -> a
+    470:470:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):753:753 -> a
     470:470:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):446 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    471:471:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):751:751 -> a
+    471:471:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):753:753 -> a
     471:471:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):446 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    472:472:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):751:751 -> a
+    472:472:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):753:753 -> a
     472:472:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):446 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    460:460:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):751:751 -> a
+    460:460:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):753:753 -> a
     460:460:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):446 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     461:461:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):449:449 -> a
@@ -56533,39 +56667,39 @@
     478:478:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):431:431 -> a
     479:492:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversionCfCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):458:471 -> a
     479:492:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):431 -> a
-    493:493:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):758:758 -> a
+    493:493:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):760:760 -> a
     493:493:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversionCfCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):471 -> a
     493:493:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):431 -> a
-    494:494:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexItemFactory.getPrimitiveFromBoxed(com.android.tools.r8.graph.DexType):773:773 -> a
-    494:494:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):759 -> a
+    494:494:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexItemFactory.getPrimitiveFromBoxed(com.android.tools.r8.graph.DexType):775:775 -> a
+    494:494:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):761 -> a
     494:494:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversionCfCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):471 -> a
     494:494:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):431 -> a
-    495:496:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):763:764 -> a
+    495:496:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):765:766 -> a
     495:496:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversionCfCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):471 -> a
     495:496:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):431 -> a
     497:497:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversionCfCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):472:472 -> a
     497:497:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):431 -> a
-    498:498:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):761:761 -> a
+    498:498:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):763:763 -> a
     498:498:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversionCfCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):471 -> a
     498:498:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):431 -> a
     499:499:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):0:0 -> a
       # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":513,"2":514,"3":515,"4":516,"5":517}}
-    513:513:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):761:761 -> a
+    513:513:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):763:763 -> a
     513:513:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversionCfCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):471 -> a
     513:513:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):431 -> a
-    514:514:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):761:761 -> a
+    514:514:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):763:763 -> a
     514:514:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversionCfCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):471 -> a
     514:514:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):431 -> a
-    515:515:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):761:761 -> a
+    515:515:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):763:763 -> a
     515:515:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversionCfCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):471 -> a
     515:515:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):431 -> a
-    516:516:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):761:761 -> a
+    516:516:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):763:763 -> a
     516:516:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversionCfCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):471 -> a
     516:516:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):431 -> a
-    517:517:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):761:761 -> a
+    517:517:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):763:763 -> a
     517:517:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversionCfCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):471 -> a
     517:517:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):431 -> a
-    500:500:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):761:761 -> a
+    500:500:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):763:763 -> a
     500:500:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversionCfCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):471 -> a
     500:500:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):431 -> a
     501:512:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversionCfCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):474:485 -> a
@@ -56580,7 +56714,7 @@
     562:566:void lambda$createOutlinedAPIConversion$4(com.android.tools.r8.graph.DexProto,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.synthesis.SyntheticMethodBuilder):529:533 -> a
     567:573:com.android.tools.r8.graph.Code lambda$createOutlinedAPIConversion$3(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):535:541 -> a
     1:1:void generateTrackingWarnings():214:214 -> b
-com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryEnumConversionSynthesizer -> com.android.tools.r8.internal.Kf:
+com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryEnumConversionSynthesizer -> com.android.tools.r8.internal.Lf:
     com.android.tools.r8.graph.DexItemFactory factory -> b
     com.android.tools.r8.graph.AppView appView -> a
     boolean $assertionsDisabled -> c
@@ -56619,7 +56753,7 @@
     1:1:void lambda$buildEnumMethodsWithoutCode$15(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):129:129 -> c
     com.android.tools.r8.graph.Code lambda$buildEnumMethodsWithoutCode$8(com.android.tools.r8.graph.DexMethod) -> d
     1:1:void lambda$buildEnumMethodsWithoutCode$9(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):120:120 -> d
-com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer -> com.android.tools.r8.internal.Vf:
+com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer -> com.android.tools.r8.internal.Wf:
     com.android.tools.r8.graph.DexItemFactory factory -> b
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryEnumConversionSynthesizer enumConverter -> d
@@ -56857,16 +56991,16 @@
     36:54:java.util.Collection synthesizeVirtualMethodsForVivifiedTypeWrapper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):488:506 -> d
     55:60:java.util.Collection com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.finalizeWrapperMethods(java.util.List,java.util.Set):558:563 -> d
     55:60:java.util.Collection synthesizeVirtualMethodsForVivifiedTypeWrapper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):508 -> d
-com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions -> com.android.tools.r8.internal.Uf:
+com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions -> com.android.tools.r8.internal.Vf:
     com.android.tools.r8.graph.DexMethod vivifiedConversion -> b
     com.android.tools.r8.graph.DexMethod conversion -> a
     1:3:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):243:245 -> <init>
     1:1:com.android.tools.r8.graph.DexMethod getConversion():249:249 -> a
     1:1:com.android.tools.r8.graph.DexMethod getVivifiedConversion():253:253 -> b
-com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer -> com.android.tools.r8.internal.Wf:
+com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer -> com.android.tools.r8.internal.Xf:
     void acceptWrapperClasspathClass(com.android.tools.r8.graph.DexClasspathClass) -> b
     void acceptEnumConversionClasspathClass(com.android.tools.r8.graph.DexClasspathClass) -> c
-com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecificationParser -> com.android.tools.r8.internal.Zm:
+com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecificationParser -> com.android.tools.r8.internal.bn:
     com.android.tools.r8.com.google.gson.JsonObject jsonConfig -> d
     com.android.tools.r8.origin.Origin origin -> c
     boolean $assertionsDisabled -> e
@@ -56897,7 +57031,7 @@
     1:1:com.android.tools.r8.com.google.gson.JsonObject getJsonConfig():74:74 -> b
     1:2:com.android.tools.r8.origin.Origin getOrigin():78:79 -> c
     1:1:com.android.tools.r8.utils.Reporter reporter():70:70 -> d
-com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags -> com.android.tools.r8.internal.bn:
+com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags -> com.android.tools.r8.internal.dn:
     java.util.Map rewritePrefix -> a
     java.util.Set dontRetargetLibMember -> g
     java.util.Map emulateLibraryInterface -> b
@@ -56919,7 +57053,7 @@
     1:1:java.util.Map getRetargetCoreLibMember():104:104 -> f
     1:1:java.util.Map getRewritePrefix():96:96 -> g
     1:1:java.util.Set getWrapperConversions():124:124 -> h
-com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder -> com.android.tools.r8.internal.an:
+com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder -> com.android.tools.r8.internal.cn:
     java.util.Set dontRewriteInvocation -> i
     java.util.Map rewritePrefix -> d
     java.util.Set dontRetargetLibMember -> j
@@ -56968,7 +57102,7 @@
     4:14:com.android.tools.r8.graph.DexMethod parseMethod(java.lang.String):311:321 -> d
     1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder putRewritePrefix(java.lang.String,java.lang.String):204:204 -> e
     2:2:com.android.tools.r8.graph.DexType stringClassToDexType(java.lang.String):325:325 -> e
-com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags -> com.android.tools.r8.internal.dn:
+com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags -> com.android.tools.r8.internal.fn:
     java.util.List extraKeepRules -> e
     java.lang.String identifier -> c
     java.lang.String synthesizedLibraryClassesPackagePrefix -> b
@@ -56981,7 +57115,7 @@
     1:1:com.android.tools.r8.utils.AndroidApiLevel getRequiredCompilationAPILevel():57:57 -> d
     1:1:java.lang.String getSynthesizedLibraryClassesPackagePrefix():61:61 -> e
     1:1:boolean supportAllCallbacksFromLibrary():73:73 -> f
-com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags$Builder -> com.android.tools.r8.internal.cn:
+com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags$Builder -> com.android.tools.r8.internal.en:
     java.lang.Boolean supportAllCallbacksFromLibrary -> e
     java.util.List extraKeepRules -> f
     boolean $assertionsDisabled -> g
@@ -56998,7 +57132,7 @@
     5:12:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags build():122:129 -> a
     1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags$Builder setJsonSource(java.lang.String):107:107 -> b
     1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags$Builder setSynthesizedLibraryClassesPackagePrefix(java.lang.String):97:97 -> c
-com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification -> com.android.tools.r8.internal.RF:
+com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification -> com.android.tools.r8.internal.WF:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap commonFlags -> b
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap libraryFlags -> c
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap programFlags -> d
@@ -57011,7 +57145,7 @@
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap getProgramFlags():49:49 -> e
     1:1:java.util.Map getProgramFlagsForTesting():61:61 -> f
     1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags getTopLevelFlags():37:37 -> g
-com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationJsonExporter -> com.android.tools.r8.internal.TF:
+com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationJsonExporter -> com.android.tools.r8.internal.YF:
     1:1:void <init>():27:27 -> <init>
     1:1:void export(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):31:31 -> a
     2:6:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationJsonExporter.internalExport(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):37:41 -> a
@@ -57054,9 +57188,9 @@
     93:93:java.util.HashSet com.android.tools.r8.com.google.common.collect.Sets.newHashSet():178:178 -> a
     93:93:java.util.Set setToString(java.util.Set):97 -> a
     94:94:java.util.Set setToString(java.util.Set):98:98 -> a
-com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationJsonExporter$1 -> com.android.tools.r8.internal.SF:
+com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationJsonExporter$1 -> com.android.tools.r8.internal.XF:
     1:1:void <init>(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationJsonExporter):57:57 -> <init>
-com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationParser -> com.android.tools.r8.internal.UF:
+com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationParser -> com.android.tools.r8.internal.ZF:
     1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):20:20 -> <init>
     void lambda$parseMultiLevelConfiguration$0(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags$Builder) -> a
     1:11:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap parseAllFlags(java.lang.String):39:49 -> a
@@ -57064,7 +57198,7 @@
     12:56:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap parseAllFlags(java.lang.String):50 -> a
     57:57:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap parseAllFlags(java.lang.String):51:51 -> a
     1:10:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification parseMultiLevelConfiguration(com.android.tools.r8.StringResource):26:35 -> b
-com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification -> com.android.tools.r8.internal.mB:
+com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification -> com.android.tools.r8.internal.oB:
     com.android.tools.r8.ir.desugar.PrefixRewritingMapper prefixRewritingMapper -> d
     com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags rewritingFlags -> c
     boolean libraryCompilation -> a
@@ -57093,7 +57227,7 @@
     144:144:com.android.tools.r8.graph.DexMethod retargetMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView):147:147 -> a
     145:153:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification.retargetMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView):132:140 -> a
     145:153:com.android.tools.r8.graph.DexMethod retargetMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView):147 -> a
-    154:154:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.prependHolderToProto(com.android.tools.r8.graph.DexMethod):2582:2582 -> a
+    154:154:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.prependHolderToProto(com.android.tools.r8.graph.DexMethod):2584:2584 -> a
     154:154:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification.retargetMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView):140 -> a
     154:154:com.android.tools.r8.graph.DexMethod retargetMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView):147 -> a
     155:155:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification.retargetMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView):141:141 -> a
@@ -57120,10 +57254,10 @@
     boolean isEmptyConfiguration() -> q
     1:1:boolean isLibraryCompilation():92:92 -> r
     1:1:boolean supportAllCallbacksFromLibrary():80:80 -> s
-com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification$1 -> com.android.tools.r8.internal.lB:
+com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification$1 -> com.android.tools.r8.internal.nB:
     1:1:void <init>(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags,boolean,com.android.tools.r8.graph.DexItemFactory):42:42 -> <init>
     boolean isSupported(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.AppView) -> a
-com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecificationParser -> com.android.tools.r8.internal.nB:
+com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecificationParser -> com.android.tools.r8.internal.pB:
     com.android.tools.r8.com.google.gson.JsonObject jsonConfig -> f
     com.android.tools.r8.utils.SemanticVersion MIN_SUPPORTED_VERSION -> g
     com.android.tools.r8.origin.Origin origin -> e
@@ -57176,7 +57310,7 @@
     4:8:java.lang.String parseJson(com.android.tools.r8.StringResource):122:126 -> b
     1:2:com.android.tools.r8.origin.Origin getOrigin():85:86 -> c
     1:1:com.android.tools.r8.utils.Reporter reporter():77:77 -> d
-com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags -> com.android.tools.r8.internal.oB:
+com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags -> com.android.tools.r8.internal.qB:
     java.util.Map rewritePrefix -> a
     java.util.Set dontRetargetLibMember -> g
     java.util.Map emulateLibraryInterface -> b
@@ -57199,7 +57333,7 @@
     1:1:java.util.Map getRetargetCoreLibMember():107:107 -> f
     1:1:java.util.Map getRewritePrefix():99:99 -> g
     1:1:java.util.Set getWrapperConversions():127:127 -> h
-com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder -> com.android.tools.r8.internal.oB$a:
+com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder -> com.android.tools.r8.internal.qB$a:
     java.util.Map rewritePrefix -> d
     java.util.Set dontRetargetLibMember -> j
     com.android.tools.r8.origin.Origin origin -> c
@@ -57263,7 +57397,7 @@
     14:14:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder putRetargetCoreLibMember(java.lang.String,java.lang.String):240 -> d
     15:15:com.android.tools.r8.graph.DexType stringClassToDexType(java.lang.String):290:290 -> d
     1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder putRewritePrefix(java.lang.String,java.lang.String):202:202 -> e
-com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags -> com.android.tools.r8.internal.qB:
+com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags -> com.android.tools.r8.internal.sB:
     java.util.List extraKeepRules -> f
     boolean supportAllCallbacksFromLibrary -> e
     java.lang.String identifier -> c
@@ -57278,7 +57412,7 @@
     1:1:java.lang.String getSynthesizedLibraryClassesPackagePrefix():74:74 -> e
     1:1:boolean supportAllCallbacksFromLibrary():86:86 -> f
     1:7:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags testing():56:62 -> g
-com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags$Builder -> com.android.tools.r8.internal.qB$a:
+com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags$Builder -> com.android.tools.r8.internal.sB$a:
     java.util.List extraKeepRules -> f
     boolean supportAllCallbacksFromLibrary -> e
     java.lang.String identifier -> c
@@ -57294,7 +57428,7 @@
     5:5:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags build():136:136 -> a
     1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags$Builder setJsonSource(java.lang.String):121:121 -> b
     1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags$Builder setSynthesizedLibraryClassesPackagePrefix(java.lang.String):111:111 -> c
-com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.MultiAPILevelLegacyDesugaredLibrarySpecification -> com.android.tools.r8.internal.VF:
+com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.MultiAPILevelLegacyDesugaredLibrarySpecification -> com.android.tools.r8.internal.aG:
     com.android.tools.r8.origin.Origin origin -> a
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap commonFlags -> c
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap libraryFlags -> d
@@ -57306,12 +57440,12 @@
     1:1:com.android.tools.r8.origin.Origin getOrigin():32:32 -> c
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap getProgramFlags():48:48 -> d
     1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags getTopLevelFlags():36:36 -> e
-com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.MultiAPILevelLegacyDesugaredLibrarySpecificationParser -> com.android.tools.r8.internal.WF:
+com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.MultiAPILevelLegacyDesugaredLibrarySpecificationParser -> com.android.tools.r8.internal.bG:
     1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):20:20 -> <init>
     1:13:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap parseAllFlags(java.lang.String):39:51 -> a
     void lambda$parseMultiLevelConfiguration$0(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags$Builder) -> b
     1:10:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.MultiAPILevelLegacyDesugaredLibrarySpecification parseMultiLevelConfiguration(com.android.tools.r8.StringResource):26:35 -> c
-com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter -> com.android.tools.r8.internal.Of:
+com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter -> com.android.tools.r8.internal.Pf:
     com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo retargetingInfo -> c
     com.android.tools.r8.utils.collections.DexClassAndMethodSet emulatedDispatchMethods -> f
     com.android.tools.r8.graph.AppView appView -> a
@@ -57329,7 +57463,7 @@
     27:31:com.android.tools.r8.graph.DexMethod lambda$computeRetargetLibraryMember$0(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):185:189 -> a
     32:33:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter.computeRetargetMethod(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.DexType):209:210 -> a
     32:33:com.android.tools.r8.graph.DexMethod lambda$computeRetargetLibraryMember$0(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):188 -> a
-    34:34:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.prependHolderToProto(com.android.tools.r8.graph.DexMethod):2582:2582 -> a
+    34:34:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.prependHolderToProto(com.android.tools.r8.graph.DexMethod):2584:2584 -> a
     34:34:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter.computeRetargetMethod(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.DexType):210 -> a
     34:34:com.android.tools.r8.graph.DexMethod lambda$computeRetargetLibraryMember$0(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):188 -> a
     35:35:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter.computeRetargetMethod(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.DexType):211:211 -> a
@@ -57356,7 +57490,7 @@
     49:51:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult computeNewInvokeTarget(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):150:152 -> b
     52:52:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult computeNewInvokeTarget(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):151:151 -> b
     53:53:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult computeNewInvokeTarget(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):129:129 -> b
-com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult -> com.android.tools.r8.internal.Nf:
+com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult -> com.android.tools.r8.internal.Of:
     boolean hasNewInvokeTarget -> a
     com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult NO_REWRITING -> c
     java.util.function.Function newInvokeTargetSupplier -> b
@@ -57372,7 +57506,7 @@
     6:6:com.android.tools.r8.graph.DexMethod getNewInvokeTarget(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):121 -> a
     7:8:com.android.tools.r8.graph.DexMethod getNewInvokeTarget(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):121:122 -> a
     com.android.tools.r8.graph.DexMethod lambda$static$0(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer) -> b
-com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterL8Synthesizer -> com.android.tools.r8.internal.Pf:
+com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterL8Synthesizer -> com.android.tools.r8.internal.Qf:
     com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper syntheticHelper -> a
     com.android.tools.r8.utils.collections.DexClassAndMethodSet emulatedDispatchMethods -> b
     boolean $assertionsDisabled -> c
@@ -57385,7 +57519,7 @@
     3:8:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterL8Synthesizer create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo):20:25 -> a
     9:9:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterL8Synthesizer create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo):22:22 -> a
     10:12:void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):37:39 -> a
-com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterLibraryTypeSynthesizer -> com.android.tools.r8.internal.Qf:
+com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterLibraryTypeSynthesizer -> com.android.tools.r8.internal.Rf:
     com.android.tools.r8.graph.DexApplication lambda$amendLibraryWithRetargetedMembers$0(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.DexApplication) -> a
     1:16:void amendLibraryWithRetargetedMembers(com.android.tools.r8.graph.AppView):56:71 -> a
     17:22:java.util.Map synthesizeLibraryClassesForRetargetedMembers(com.android.tools.r8.graph.AppView,java.util.Map):77:82 -> a
@@ -57419,7 +57553,7 @@
     12:12:void checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppView):48 -> b
     7:9:void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterLibraryTypeSynthesizer.warnMissingRetargetCoreLibraryMember(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):159:161 -> b
     7:9:void checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppView):48 -> b
-com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor -> com.android.tools.r8.internal.Rf:
+com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor -> com.android.tools.r8.internal.Sf:
     com.android.tools.r8.utils.collections.DexClassAndMethodSet emulatedDispatchMethods -> c
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper syntheticHelper -> b
@@ -57485,9 +57619,9 @@
     80:82:void lambda$ensureInterfacesAndForwardingMethodsSynthesized$0(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.List):79 -> a
     83:84:void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.ensureInterfacesAndForwardingMethodsSynthesized(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,java.util.List):136:137 -> a
     83:84:void lambda$ensureInterfacesAndForwardingMethodsSynthesized$0(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.List):79 -> a
-com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer -> com.android.tools.r8.internal.Sf:
+com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer -> com.android.tools.r8.internal.Tf:
     void acceptDesugaredLibraryRetargeterDispatchClasspathClass(com.android.tools.r8.graph.DexClasspathClass) -> a
-com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper -> com.android.tools.r8.internal.Tf:
+com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper -> com.android.tools.r8.internal.Uf:
     com.android.tools.r8.graph.AppView appView -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():22:22 -> <clinit>
@@ -57549,7 +57683,7 @@
     38:39:void lambda$ensureEmulatedInterfaceDispatchMethod$5(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer,com.android.tools.r8.graph.DexClasspathClass):105:106 -> b
     40:44:void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper.rewriteType(com.android.tools.r8.graph.DexType):180:184 -> b
     40:44:void lambda$ensureEmulatedInterfaceDispatchMethod$5(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer,com.android.tools.r8.graph.DexClasspathClass):106 -> b
-com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo -> com.android.tools.r8.internal.vT:
+com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo -> com.android.tools.r8.internal.AT:
     java.util.Map retargetLibraryMember -> a
     java.util.Map nonFinalHolderRewrites -> b
     com.android.tools.r8.utils.collections.DexClassAndMethodSet emulatedDispatchMethods -> c
@@ -57558,7 +57692,7 @@
     2:2:com.android.tools.r8.utils.collections.DexClassAndMethodSet getEmulatedDispatchMethods():55:55 -> a
     1:1:java.util.Map getNonFinalHolderRewrites():51:51 -> b
     1:1:java.util.Map getRetargetLibraryMember():47:47 -> c
-com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder -> com.android.tools.r8.internal.uT:
+com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder -> com.android.tools.r8.internal.zT:
     com.android.tools.r8.utils.collections.DexClassAndMethodSet emulatedDispatchMethods -> d
     java.util.Map retargetLibraryMember -> b
     java.util.Map nonFinalHolderRewrites -> c
@@ -57595,7 +57729,7 @@
     42:43:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder.computeRetargetingInfo():105 -> a
     42:43:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo access$000(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder):58 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
-    44:44:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.prependHolderToProto(com.android.tools.r8.graph.DexMethod):2582:2582 -> a
+    44:44:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.prependHolderToProto(com.android.tools.r8.graph.DexMethod):2584:2584 -> a
     44:44:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder.computeRetargetMethod(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.DexType):149 -> a
     44:44:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder.computeRetargetingInfo():105 -> a
     44:44:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo access$000(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder):58 -> a
@@ -57637,7 +57771,7 @@
     315:315:java.util.List findMethodsWithName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):187:187 -> a
     312:312:java.util.List findMethodsWithName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):189:189 -> a
     316:316:boolean lambda$findMethodsWithName$1(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod):186:186 -> a
-com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.LegacyToHumanSpecificationConverter -> com.android.tools.r8.internal.pB:
+com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.LegacyToHumanSpecificationConverter -> com.android.tools.r8.internal.rB:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():46:46 -> <clinit>
     1:1:void <init>():46:46 -> <init>
@@ -57708,7 +57842,7 @@
     55:87:java.util.Collection getThrowInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.MethodResolutionResult,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):142:174 -> a
     88:110:java.util.Collection getThrowInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.MethodResolutionResult,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):170:192 -> a
     111:118:java.util.Collection getThrowInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.MethodResolutionResult,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):189:196 -> a
-com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo -> com.android.tools.r8.internal.Lu:
+com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo -> com.android.tools.r8.internal.Nu:
     com.android.tools.r8.graph.CfCode virtualMethodCode -> d
     com.android.tools.r8.graph.ProgramMethod newDirectMethod -> b
     com.android.tools.r8.graph.ProgramMethod virtualMethod -> c
@@ -57727,7 +57861,7 @@
     4:4:int compareTo(java.lang.Object):10 -> compareTo
     5:5:int com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo.compareTo(com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo):37:37 -> compareTo
     5:5:int compareTo(java.lang.Object):10 -> compareTo
-com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring -> com.android.tools.r8.internal.Mu:
+com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring -> com.android.tools.r8.internal.Ou:
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
     1:2:void <init>(com.android.tools.r8.graph.AppView):35:36 -> <init>
     1:2:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):41:42 -> a
@@ -57782,7 +57916,7 @@
     57:57:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.ensureInvokeSpecialBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer):130:130 -> a
     57:57:java.util.List com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):102 -> a
     57:57:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):80 -> a
-com.android.tools.r8.ir.desugar.itf.ClassProcessor -> com.android.tools.r8.internal.Ma:
+com.android.tools.r8.ir.desugar.itf.ClassProcessor -> com.android.tools.r8.internal.Na:
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper helper -> c
@@ -58116,8 +58250,8 @@
     75:77:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.computeInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):441:443 -> b
     75:77:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitInterfaceInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):975 -> b
     75:77:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo lambda$visitInterfaceInfo$12(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):964 -> b
-com.android.tools.r8.ir.desugar.itf.ClassProcessor$1 -> com.android.tools.r8.internal.Ea:
-com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo -> com.android.tools.r8.internal.Fa:
+com.android.tools.r8.ir.desugar.itf.ClassProcessor$1 -> com.android.tools.r8.internal.Fa:
+com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo -> com.android.tools.r8.internal.Ga:
     com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo parent -> a
     com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo EMPTY -> d
     com.android.tools.r8.com.google.common.collect.ImmutableList forwardedMethodTargets -> b
@@ -58126,7 +58260,7 @@
     1:4:void <init>(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo):127:130 -> <init>
     1:5:boolean isTargetedByForwards(com.android.tools.r8.graph.DexClassAndMethod):147:151 -> a
     6:6:boolean lambda$isTargetedByForwards$0(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexEncodedMethod):150:150 -> a
-com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo -> com.android.tools.r8.internal.Ga:
+com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo -> com.android.tools.r8.internal.Ha:
     com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures signatures -> a
     com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces emulatedInterfaces -> b
     com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo EMPTY -> c
@@ -58147,21 +58281,21 @@
     15:15:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces.isEmpty():231:231 -> a
     15:15:boolean isEmpty():283 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces -> com.android.tools.r8.internal.Ha:
+com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces -> com.android.tools.r8.internal.Ia:
     com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces EMPTY -> b
     java.util.Set emulatedInterfaces -> a
     1:1:void <clinit>():218:218 -> <clinit>
     1:2:void <init>(com.android.tools.r8.graph.DexType):222:223 -> <init>
     3:4:void <init>(java.util.Set):226:227 -> <init>
     1:4:com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces):243:246 -> a
-com.android.tools.r8.ir.desugar.itf.ClassProcessor$LibraryReportingContext -> com.android.tools.r8.internal.Ia:
+com.android.tools.r8.ir.desugar.itf.ClassProcessor$LibraryReportingContext -> com.android.tools.r8.internal.Ja:
     com.android.tools.r8.ir.desugar.itf.ClassProcessor$LibraryReportingContext LIBRARY_CONTEXT -> d
     1:1:void <clinit>():328:328 -> <clinit>
     1:1:void <init>():331:331 -> <init>
     com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext forClass(com.android.tools.r8.graph.DexClass) -> a
     void reportMissingType(com.android.tools.r8.graph.DexType) -> a
     1:1:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):341:341 -> a
-com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures -> com.android.tools.r8.internal.Ja:
+com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures -> com.android.tools.r8.internal.Ka:
     com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures EMPTY -> b
     java.util.Set signatures -> a
     1:1:void <clinit>():71:71 -> <clinit>
@@ -58172,7 +58306,7 @@
     2:2:com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures):87 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     3:5:com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures):90:92 -> a
-com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext -> com.android.tools.r8.internal.Ka:
+com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext -> com.android.tools.r8.internal.La:
     com.android.tools.r8.graph.DexClass directSubClass -> a
     com.android.tools.r8.graph.DexProgramClass closestProgramSubClass -> b
     java.util.function.BiConsumer reportMissingTypeCallback -> c
@@ -58187,7 +58321,7 @@
     12:12:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppInfo.definitionForDesugarDependency(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):158:158 -> a
     12:12:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):317 -> a
     13:13:void reportMissingType(com.android.tools.r8.graph.DexType):321:321 -> a
-com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo -> com.android.tools.r8.internal.La:
+com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo -> com.android.tools.r8.internal.Ma:
     com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo EMPTY -> c
     com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures signatures -> a
     com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo emulatedInterfaceInfo -> b
@@ -58216,7 +58350,7 @@
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     10:12:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):185:187 -> a
     13:17:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo withEmulatedInterfaceInfo(com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo):208:212 -> a
-com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper -> com.android.tools.r8.internal.df:
+com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper -> com.android.tools.r8.internal.ef:
     java.util.Set candidates -> a
     java.util.Set hidden -> b
     1:5:void <init>():17:21 -> <init>
@@ -58224,8 +58358,8 @@
     3:8:void hideMatches(com.android.tools.r8.graph.DexMethod):65:70 -> a
     9:9:void addDefaultMethod(com.android.tools.r8.graph.DexEncodedMethod):76:76 -> a
     10:13:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection wrapInCollection():81:84 -> a
-com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$1 -> com.android.tools.r8.internal.bf:
-com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection -> com.android.tools.r8.internal.cf:
+com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$1 -> com.android.tools.r8.internal.cf:
+com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection -> com.android.tools.r8.internal.df:
     java.util.List hidden -> b
     java.util.List live -> a
     com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection EMPTY -> c
@@ -58235,7 +58369,7 @@
     1:1:java.util.List access$000(com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection):28:28 -> a
     2:4:com.android.tools.r8.graph.DexMethod getSingleCandidate(com.android.tools.r8.graph.DexMethod):46:48 -> a
     1:1:java.util.List access$100(com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection):28:28 -> b
-com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter -> com.android.tools.r8.internal.Xh:
+com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter -> com.android.tools.r8.internal.Zh:
     java.util.Map emulatedInterfaces -> b
     com.android.tools.r8.graph.AppView appView -> a
     boolean $assertionsDisabled -> c
@@ -58272,7 +58406,7 @@
     66:66:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.rewriteEmulatedInterface(com.android.tools.r8.graph.DexProgramClass):82:82 -> a
     66:66:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):37 -> a
     67:72:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):37:42 -> a
-com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringForTesting -> com.android.tools.r8.internal.Jt:
+com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringForTesting -> com.android.tools.r8.internal.Lt:
     1:1:java.lang.String getCompanionClassNameSuffix():14:14 -> a
     2:2:java.lang.String getCompanionClassDescriptor(java.lang.String):26:26 -> a
     3:3:java.lang.String com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.getCompanionClassDescriptor(java.lang.String):154:154 -> a
@@ -58280,7 +58414,7 @@
     1:1:java.lang.String getDefaultMethodPrefix():18:18 -> b
     1:1:java.lang.String getEmulateLibraryClassNameSuffix():10:10 -> c
     1:1:java.lang.String getPrivateMethodPrefix():22:22 -> d
-com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper -> com.android.tools.r8.internal.Kt:
+com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper -> com.android.tools.r8.internal.Mt:
     java.util.Map emulatedInterfaces -> b
     com.android.tools.r8.graph.AppView appView -> a
     boolean $assertionsDisabled -> e
@@ -58308,10 +58442,10 @@
     13:13:boolean dontRewrite(com.android.tools.r8.graph.DexClassAndMethod):105:105 -> a
     14:28:boolean isCompatibleDefaultMethod(com.android.tools.r8.graph.DexEncodedMethod):113:127 -> a
     29:29:boolean isCompatibleDefaultMethod(com.android.tools.r8.graph.DexEncodedMethod):120:120 -> a
-    30:31:com.android.tools.r8.graph.DexType getEmulateLibraryInterfaceClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):147:148 -> a
-    32:32:java.lang.String com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.getEmulateLibraryInterfaceClassDescriptor(java.lang.String):141:141 -> a
-    32:32:com.android.tools.r8.graph.DexType getEmulateLibraryInterfaceClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):149 -> a
-    33:33:com.android.tools.r8.graph.DexType getEmulateLibraryInterfaceClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):150:150 -> a
+    30:31:com.android.tools.r8.graph.DexType getCompanionClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):159:160 -> a
+    32:32:java.lang.String com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.getCompanionClassDescriptor(java.lang.String):154:154 -> a
+    32:32:com.android.tools.r8.graph.DexType getCompanionClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):161 -> a
+    33:33:com.android.tools.r8.graph.DexType getCompanionClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):162:162 -> a
     34:36:com.android.tools.r8.graph.DexClasspathClass ensureEmulatedInterfaceMarkerInterface(com.android.tools.r8.graph.DexType):191:193 -> a
     37:37:com.android.tools.r8.graph.DexClassAndMethod ensureEmulatedInterfaceMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceSynthesizerEventConsumer$ClasspathEmulatedInterfaceSynthesizerEventConsumer):202:202 -> a
     38:38:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
@@ -58334,135 +58468,107 @@
     89:91:void lambda$ensureDefaultAsMethodOfProgramCompanionClassStub$4(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.synthesis.SyntheticMethodBuilder):273:275 -> a
     92:92:com.android.tools.r8.graph.Code lambda$ensureDefaultAsMethodOfProgramCompanionClassStub$3(com.android.tools.r8.graph.DexMethod):275:275 -> a
     93:105:void lambda$ensurePrivateAsMethodOfProgramCompanionClassStub$7(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.synthesis.SyntheticMethodBuilder):290:302 -> a
-    106:112:com.android.tools.r8.graph.DexMethod instanceAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.graph.DexItemFactory):318:324 -> a
-    113:114:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.getCompanionClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):159:160 -> a
-    113:114:com.android.tools.r8.graph.DexMethod instanceAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.graph.DexItemFactory):325 -> a
-    115:115:java.lang.String com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.getCompanionClassDescriptor(java.lang.String):154:154 -> a
-    115:115:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.getCompanionClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):161 -> a
-    115:115:com.android.tools.r8.graph.DexMethod instanceAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.graph.DexItemFactory):325 -> a
-    116:116:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.getCompanionClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):162:162 -> a
-    116:116:com.android.tools.r8.graph.DexMethod instanceAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.graph.DexItemFactory):325 -> a
-    117:118:com.android.tools.r8.graph.DexMethod instanceAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.graph.DexItemFactory):325:326 -> a
-    119:119:com.android.tools.r8.graph.DexMethod instanceAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":449,"2":450,"3":451}}
-    449:449:com.android.tools.r8.graph.DexMethod instanceAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.graph.DexItemFactory):326:326 -> a
-    450:450:com.android.tools.r8.graph.DexMethod instanceAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.graph.DexItemFactory):326:326 -> a
-    451:451:com.android.tools.r8.graph.DexMethod instanceAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.graph.DexItemFactory):326:326 -> a
-    445:446:com.android.tools.r8.graph.DexMethod instanceAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.graph.DexItemFactory):326:327 -> a
-    447:447:com.android.tools.r8.graph.DexMethod instanceAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.graph.DexItemFactory):324:324 -> a
-    452:452:com.android.tools.r8.graph.DexMethod defaultAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):333:333 -> a
-    453:456:com.android.tools.r8.graph.DexClassAndMethod ensureMethodOfClasspathCompanionClassStub(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ClasspathOrLibraryClass,com.android.tools.r8.graph.AppView):349:352 -> a
-    457:457:com.android.tools.r8.graph.DexClassAndMethod ensureMethodOfClasspathCompanionClassStub(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ClasspathOrLibraryClass,com.android.tools.r8.graph.AppView):350:350 -> a
-    458:458:void lambda$ensureStaticAsMethodOfProgramCompanionClassStub$15(com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):389:389 -> a
-    459:470:com.android.tools.r8.graph.ProgramMethod ensureMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):394:405 -> a
-    471:475:void ensureCompanionClassInitializesInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):410:414 -> a
-    476:476:void ensureCompanionClassInitializesInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):411:411 -> a
-    477:477:boolean lambda$findExistingStaticClinitFieldToTriggerInterfaceInitialization$18(com.android.tools.r8.graph.DexEncodedField):443:443 -> a
-    478:481:com.android.tools.r8.graph.DexEncodedField createStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):451:454 -> a
-    482:490:com.android.tools.r8.graph.DexEncodedField createStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):453:461 -> a
-    491:491:com.android.tools.r8.graph.FieldAccessFlags$Builder com.android.tools.r8.graph.FieldAccessFlags.builder():48:48 -> a
-    491:491:com.android.tools.r8.graph.DexEncodedField createStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):461 -> a
-    492:492:com.android.tools.r8.graph.DexEncodedField createStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):461:461 -> a
-    493:495:com.android.tools.r8.graph.DexEncodedField createStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):460:462 -> a
-    496:496:com.android.tools.r8.graph.DexEncodedField$Builder com.android.tools.r8.graph.DexEncodedField$Builder.disableAndroidApiLevelCheck():475:475 -> a
-    496:496:com.android.tools.r8.graph.DexEncodedField createStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):464 -> a
-    497:497:com.android.tools.r8.graph.DexEncodedField createStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):465:465 -> a
-    498:498:boolean lambda$createStaticClinitFieldToTriggerInterfaceInitialization$19(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexField):457:457 -> a
-    499:499:void createCompanionClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):472:472 -> a
-    500:502:void createCompanionClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):471:473 -> a
-    503:503:com.android.tools.r8.cf.CfVersion com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.getInterfaceDesugaredCfVersion(com.android.tools.r8.cf.CfVersion):56:56 -> a
-    503:503:void createCompanionClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):473 -> a
-    504:504:com.android.tools.r8.utils.structural.Ordered com.android.tools.r8.utils.structural.Ordered.min(com.android.tools.r8.utils.structural.Ordered,com.android.tools.r8.utils.structural.Ordered):21:21 -> a
-    504:504:com.android.tools.r8.cf.CfVersion com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.getInterfaceDesugaredCfVersion(com.android.tools.r8.cf.CfVersion):56 -> a
-    504:504:void createCompanionClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):473 -> a
-    505:506:void createCompanionClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):473:474 -> a
-    507:513:com.android.tools.r8.graph.Code lambda$createCompanionClassInitializer$20(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):476:482 -> a
-    514:514:com.android.tools.r8.graph.Code lambda$createCompanionClassInitializer$20(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):481:481 -> a
-    515:518:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.ensureStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):423:426 -> a
-    515:518:com.android.tools.r8.graph.Code lambda$createCompanionClassInitializer$20(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):487 -> a
-    519:528:com.android.tools.r8.graph.Code lambda$createCompanionClassInitializer$20(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):488:497 -> a
-    529:529:com.android.tools.r8.graph.Code lambda$createCompanionClassInitializer$20(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):493:493 -> a
-    530:536:java.util.function.Predicate getShouldIgnoreFromReportsPredicate(com.android.tools.r8.graph.AppView):503:509 -> a
-    537:539:boolean lambda$getShouldIgnoreFromReportsPredicate$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexType):510:512 -> a
-    540:540:boolean com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.isRewrittenEmulatedInterface(com.android.tools.r8.graph.DexType):82:82 -> a
-    540:540:boolean lambda$getShouldIgnoreFromReportsPredicate$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexType):513 -> a
-    541:543:boolean lambda$getShouldIgnoreFromReportsPredicate$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexType):513:515 -> a
-    544:544:boolean com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.shouldIgnoreFromReports(com.android.tools.r8.graph.DexType):520:520 -> a
-    544:544:void warnMissingInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):527 -> a
-    545:545:void warnMissingInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):530:530 -> a
+    106:114:com.android.tools.r8.graph.DexMethod instanceAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.graph.DexItemFactory):318:326 -> a
+    115:115:com.android.tools.r8.graph.DexMethod instanceAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":445,"2":446,"3":447}}
+    445:445:com.android.tools.r8.graph.DexMethod instanceAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.graph.DexItemFactory):326:326 -> a
+    446:446:com.android.tools.r8.graph.DexMethod instanceAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.graph.DexItemFactory):326:326 -> a
+    447:447:com.android.tools.r8.graph.DexMethod instanceAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.graph.DexItemFactory):326:326 -> a
+    441:442:com.android.tools.r8.graph.DexMethod instanceAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.graph.DexItemFactory):326:327 -> a
+    443:443:com.android.tools.r8.graph.DexMethod instanceAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.graph.DexItemFactory):324:324 -> a
+    448:448:com.android.tools.r8.graph.DexMethod defaultAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):333:333 -> a
+    449:452:com.android.tools.r8.graph.DexClassAndMethod ensureMethodOfClasspathCompanionClassStub(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ClasspathOrLibraryClass,com.android.tools.r8.graph.AppView):349:352 -> a
+    453:453:com.android.tools.r8.graph.DexClassAndMethod ensureMethodOfClasspathCompanionClassStub(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ClasspathOrLibraryClass,com.android.tools.r8.graph.AppView):350:350 -> a
+    454:454:void lambda$ensureStaticAsMethodOfProgramCompanionClassStub$15(com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):389:389 -> a
+    455:466:com.android.tools.r8.graph.ProgramMethod ensureMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):394:405 -> a
+    467:471:void ensureCompanionClassInitializesInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):410:414 -> a
+    472:472:void ensureCompanionClassInitializesInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):411:411 -> a
+    473:473:boolean lambda$findExistingStaticClinitFieldToTriggerInterfaceInitialization$18(com.android.tools.r8.graph.DexEncodedField):443:443 -> a
+    474:477:com.android.tools.r8.graph.DexEncodedField createStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):451:454 -> a
+    478:486:com.android.tools.r8.graph.DexEncodedField createStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):453:461 -> a
+    487:487:com.android.tools.r8.graph.FieldAccessFlags$Builder com.android.tools.r8.graph.FieldAccessFlags.builder():48:48 -> a
+    487:487:com.android.tools.r8.graph.DexEncodedField createStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):461 -> a
+    488:488:com.android.tools.r8.graph.DexEncodedField createStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):461:461 -> a
+    489:491:com.android.tools.r8.graph.DexEncodedField createStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):460:462 -> a
+    492:492:com.android.tools.r8.graph.DexEncodedField$Builder com.android.tools.r8.graph.DexEncodedField$Builder.disableAndroidApiLevelCheck():475:475 -> a
+    492:492:com.android.tools.r8.graph.DexEncodedField createStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):464 -> a
+    493:493:com.android.tools.r8.graph.DexEncodedField createStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):465:465 -> a
+    494:494:boolean lambda$createStaticClinitFieldToTriggerInterfaceInitialization$19(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexField):457:457 -> a
+    495:495:void createCompanionClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):472:472 -> a
+    496:498:void createCompanionClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):471:473 -> a
+    499:499:com.android.tools.r8.cf.CfVersion com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.getInterfaceDesugaredCfVersion(com.android.tools.r8.cf.CfVersion):56:56 -> a
+    499:499:void createCompanionClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):473 -> a
+    500:500:com.android.tools.r8.utils.structural.Ordered com.android.tools.r8.utils.structural.Ordered.min(com.android.tools.r8.utils.structural.Ordered,com.android.tools.r8.utils.structural.Ordered):21:21 -> a
+    500:500:com.android.tools.r8.cf.CfVersion com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.getInterfaceDesugaredCfVersion(com.android.tools.r8.cf.CfVersion):56 -> a
+    500:500:void createCompanionClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):473 -> a
+    501:502:void createCompanionClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):473:474 -> a
+    503:509:com.android.tools.r8.graph.Code lambda$createCompanionClassInitializer$20(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):476:482 -> a
+    510:510:com.android.tools.r8.graph.Code lambda$createCompanionClassInitializer$20(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):481:481 -> a
+    511:514:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.ensureStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):423:426 -> a
+    511:514:com.android.tools.r8.graph.Code lambda$createCompanionClassInitializer$20(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):487 -> a
+    515:524:com.android.tools.r8.graph.Code lambda$createCompanionClassInitializer$20(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):488:497 -> a
+    525:525:com.android.tools.r8.graph.Code lambda$createCompanionClassInitializer$20(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):493:493 -> a
+    526:532:java.util.function.Predicate getShouldIgnoreFromReportsPredicate(com.android.tools.r8.graph.AppView):503:509 -> a
+    533:535:boolean lambda$getShouldIgnoreFromReportsPredicate$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexType):510:512 -> a
+    536:536:boolean com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.isRewrittenEmulatedInterface(com.android.tools.r8.graph.DexType):82:82 -> a
+    536:536:boolean lambda$getShouldIgnoreFromReportsPredicate$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexType):513 -> a
+    537:539:boolean lambda$getShouldIgnoreFromReportsPredicate$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexType):513:515 -> a
+    540:540:boolean com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.shouldIgnoreFromReports(com.android.tools.r8.graph.DexType):520:520 -> a
+    540:540:void warnMissingInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):527 -> a
+    541:541:void warnMissingInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):530:530 -> a
     void lambda$ensureMethodOfClasspathCompanionClassStub$9(com.android.tools.r8.synthesis.SyntheticClasspathClassBuilder) -> b
     1:1:com.android.tools.r8.graph.DexType getEmulatedInterface(com.android.tools.r8.graph.DexType):90:90 -> b
     2:5:com.android.tools.r8.graph.DexMethod emulateInterfaceLibraryMethod(com.android.tools.r8.graph.DexClassAndMethod):133:136 -> b
     6:6:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexClassAndMember.getName():53:53 -> b
     6:6:com.android.tools.r8.graph.DexMethod emulateInterfaceLibraryMethod(com.android.tools.r8.graph.DexClassAndMethod):137 -> b
     7:7:com.android.tools.r8.graph.DexMethod emulateInterfaceLibraryMethod(com.android.tools.r8.graph.DexClassAndMethod):134:134 -> b
-    8:8:com.android.tools.r8.graph.DexType getInterfaceClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):181:181 -> b
-    9:9:boolean com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.isCompanionClassType(com.android.tools.r8.graph.DexType):167:167 -> b
-    9:9:com.android.tools.r8.graph.DexType getInterfaceClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):181 -> b
-    10:15:com.android.tools.r8.graph.DexType getInterfaceClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):181:186 -> b
-    16:16:com.android.tools.r8.graph.Code lambda$ensureEmulatedInterfaceMethod$1(com.android.tools.r8.graph.DexMethod):227:227 -> b
-    17:17:com.android.tools.r8.graph.DexClassAndMethod ensureStaticAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):242:242 -> b
-    18:18:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> b
-    18:18:com.android.tools.r8.graph.DexClassAndMethod ensureStaticAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):242 -> b
-    19:19:com.android.tools.r8.graph.DexClassAndMethod ensureStaticAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):244:244 -> b
-    20:23:com.android.tools.r8.graph.DexClassAndMethod ensureStaticAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):243:246 -> b
-    24:25:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.staticAsMethodOfCompanionClass(com.android.tools.r8.graph.DexClassAndMethod):309:310 -> b
-    24:25:com.android.tools.r8.graph.DexClassAndMethod ensureStaticAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):247 -> b
-    26:27:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.getCompanionClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):159:160 -> b
-    26:27:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.staticAsMethodOfCompanionClass(com.android.tools.r8.graph.DexClassAndMethod):310 -> b
-    26:27:com.android.tools.r8.graph.DexClassAndMethod ensureStaticAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):247 -> b
-    28:28:java.lang.String com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.getCompanionClassDescriptor(java.lang.String):154:154 -> b
-    28:28:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.getCompanionClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):161 -> b
-    28:28:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.staticAsMethodOfCompanionClass(com.android.tools.r8.graph.DexClassAndMethod):310 -> b
-    28:28:com.android.tools.r8.graph.DexClassAndMethod ensureStaticAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):247 -> b
-    29:29:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.getCompanionClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):162:162 -> b
-    29:29:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.staticAsMethodOfCompanionClass(com.android.tools.r8.graph.DexClassAndMethod):310 -> b
-    29:29:com.android.tools.r8.graph.DexClassAndMethod ensureStaticAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):247 -> b
-    30:30:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.staticAsMethodOfCompanionClass(com.android.tools.r8.graph.DexClassAndMethod):311:311 -> b
-    30:30:com.android.tools.r8.graph.DexClassAndMethod ensureStaticAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):247 -> b
-    31:31:com.android.tools.r8.graph.DexClassAndMethod ensureStaticAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):248:248 -> b
-    32:32:com.android.tools.r8.graph.ProgramMethod ensurePrivateAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod):282:282 -> b
-    33:33:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.privateAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):339:339 -> b
-    33:33:com.android.tools.r8.graph.ProgramMethod ensurePrivateAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod):282 -> b
-    34:38:com.android.tools.r8.graph.ProgramMethod ensurePrivateAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod):283:287 -> b
-    39:39:com.android.tools.r8.graph.ProgramMethod ensurePrivateAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod):284:284 -> b
-    40:41:void lambda$ensureMethodOfClasspathCompanionClassStub$12(com.android.tools.r8.synthesis.SyntheticMethodBuilder):360:361 -> b
-    42:44:com.android.tools.r8.graph.ProgramMethod ensureStaticAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):366:368 -> b
-    45:46:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.staticAsMethodOfCompanionClass(com.android.tools.r8.graph.DexClassAndMethod):309:310 -> b
-    45:46:com.android.tools.r8.graph.ProgramMethod ensureStaticAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):370 -> b
-    47:48:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.getCompanionClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):159:160 -> b
-    47:48:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.staticAsMethodOfCompanionClass(com.android.tools.r8.graph.DexClassAndMethod):310 -> b
-    47:48:com.android.tools.r8.graph.ProgramMethod ensureStaticAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):370 -> b
-    49:49:java.lang.String com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.getCompanionClassDescriptor(java.lang.String):154:154 -> b
-    49:49:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.getCompanionClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):161 -> b
-    49:49:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.staticAsMethodOfCompanionClass(com.android.tools.r8.graph.DexClassAndMethod):310 -> b
-    49:49:com.android.tools.r8.graph.ProgramMethod ensureStaticAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):370 -> b
-    50:50:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.getCompanionClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):162:162 -> b
-    50:50:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.staticAsMethodOfCompanionClass(com.android.tools.r8.graph.DexClassAndMethod):310 -> b
-    50:50:com.android.tools.r8.graph.ProgramMethod ensureStaticAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):370 -> b
-    51:51:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.staticAsMethodOfCompanionClass(com.android.tools.r8.graph.DexClassAndMethod):311:311 -> b
-    51:51:com.android.tools.r8.graph.ProgramMethod ensureStaticAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):370 -> b
-    52:56:com.android.tools.r8.graph.ProgramMethod ensureStaticAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):371:375 -> b
-    57:57:com.android.tools.r8.graph.ProgramMethod ensureStaticAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):372:372 -> b
-    58:67:void lambda$ensureStaticAsMethodOfProgramCompanionClassStub$14(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.synthesis.SyntheticMethodBuilder):378:387 -> b
-    68:68:void lambda$ensureCompanionClassInitializesInterface$16(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):416:416 -> b
-    69:69:boolean lambda$hasStaticMethodThatTriggersNonTrivialClassInitializer$17(com.android.tools.r8.graph.DexEncodedMethod):435:435 -> b
-    70:70:com.android.tools.r8.graph.DexEncodedField findExistingStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):443:443 -> b
-    71:71:java.lang.Iterable com.android.tools.r8.graph.DexClass.staticFields(java.util.function.Predicate):361:361 -> b
-    71:71:com.android.tools.r8.graph.DexEncodedField findExistingStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):443 -> b
+    8:9:com.android.tools.r8.graph.DexType getEmulateLibraryInterfaceClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):147:148 -> b
+    10:10:java.lang.String com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.getEmulateLibraryInterfaceClassDescriptor(java.lang.String):141:141 -> b
+    10:10:com.android.tools.r8.graph.DexType getEmulateLibraryInterfaceClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):149 -> b
+    11:11:com.android.tools.r8.graph.DexType getEmulateLibraryInterfaceClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):150:150 -> b
+    12:12:com.android.tools.r8.graph.Code lambda$ensureEmulatedInterfaceMethod$1(com.android.tools.r8.graph.DexMethod):227:227 -> b
+    13:13:com.android.tools.r8.graph.DexClassAndMethod ensureStaticAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):242:242 -> b
+    14:14:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> b
+    14:14:com.android.tools.r8.graph.DexClassAndMethod ensureStaticAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):242 -> b
+    15:15:com.android.tools.r8.graph.DexClassAndMethod ensureStaticAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):244:244 -> b
+    16:19:com.android.tools.r8.graph.DexClassAndMethod ensureStaticAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):243:246 -> b
+    20:22:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.staticAsMethodOfCompanionClass(com.android.tools.r8.graph.DexClassAndMethod):309:311 -> b
+    20:22:com.android.tools.r8.graph.DexClassAndMethod ensureStaticAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):247 -> b
+    23:23:com.android.tools.r8.graph.DexClassAndMethod ensureStaticAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):248:248 -> b
+    24:24:com.android.tools.r8.graph.ProgramMethod ensurePrivateAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod):282:282 -> b
+    25:25:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.privateAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):339:339 -> b
+    25:25:com.android.tools.r8.graph.ProgramMethod ensurePrivateAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod):282 -> b
+    26:30:com.android.tools.r8.graph.ProgramMethod ensurePrivateAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod):283:287 -> b
+    31:31:com.android.tools.r8.graph.ProgramMethod ensurePrivateAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod):284:284 -> b
+    32:33:void lambda$ensureMethodOfClasspathCompanionClassStub$12(com.android.tools.r8.synthesis.SyntheticMethodBuilder):360:361 -> b
+    34:36:com.android.tools.r8.graph.ProgramMethod ensureStaticAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):366:368 -> b
+    37:39:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.staticAsMethodOfCompanionClass(com.android.tools.r8.graph.DexClassAndMethod):309:311 -> b
+    37:39:com.android.tools.r8.graph.ProgramMethod ensureStaticAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):370 -> b
+    40:44:com.android.tools.r8.graph.ProgramMethod ensureStaticAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):371:375 -> b
+    45:45:com.android.tools.r8.graph.ProgramMethod ensureStaticAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):372:372 -> b
+    46:55:void lambda$ensureStaticAsMethodOfProgramCompanionClassStub$14(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.synthesis.SyntheticMethodBuilder):378:387 -> b
+    56:56:void lambda$ensureCompanionClassInitializesInterface$16(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):416:416 -> b
+    57:57:boolean lambda$hasStaticMethodThatTriggersNonTrivialClassInitializer$17(com.android.tools.r8.graph.DexEncodedMethod):435:435 -> b
+    58:58:com.android.tools.r8.graph.DexEncodedField findExistingStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):443:443 -> b
+    59:59:java.lang.Iterable com.android.tools.r8.graph.DexClass.staticFields(java.util.function.Predicate):361:361 -> b
+    59:59:com.android.tools.r8.graph.DexEncodedField findExistingStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):443 -> b
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    72:72:com.android.tools.r8.graph.DexEncodedField findExistingStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):443:443 -> b
+    60:60:com.android.tools.r8.graph.DexEncodedField findExistingStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):443:443 -> b
     void lambda$ensureDefaultAsMethodOfProgramCompanionClassStub$5(com.android.tools.r8.graph.ProgramMethod) -> c
     1:1:com.android.tools.r8.graph.DexType getInterfaceClassType(com.android.tools.r8.graph.DexType):176:176 -> c
-    2:2:com.android.tools.r8.graph.DexClassAndMethod ensureDefaultAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod):231:231 -> c
-    3:3:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> c
-    3:3:com.android.tools.r8.graph.DexClassAndMethod ensureDefaultAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod):231 -> c
-    4:8:com.android.tools.r8.graph.DexClassAndMethod ensureDefaultAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod):232:236 -> c
-    9:9:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.defaultAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):333:333 -> c
-    9:9:com.android.tools.r8.graph.DexClassAndMethod ensureDefaultAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod):236 -> c
-    10:10:com.android.tools.r8.graph.DexClassAndMethod ensureDefaultAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod):237:237 -> c
-    11:11:com.android.tools.r8.graph.Code lambda$ensureMethodOfClasspathCompanionClassStub$11(com.android.tools.r8.graph.DexMethod):361:361 -> c
-    12:15:boolean hasStaticMethodThatTriggersNonTrivialClassInitializer(com.android.tools.r8.graph.DexProgramClass):432:435 -> c
+    2:2:com.android.tools.r8.graph.DexType getInterfaceClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):181:181 -> c
+    3:3:boolean com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.isCompanionClassType(com.android.tools.r8.graph.DexType):167:167 -> c
+    3:3:com.android.tools.r8.graph.DexType getInterfaceClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):181 -> c
+    4:9:com.android.tools.r8.graph.DexType getInterfaceClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):181:186 -> c
+    10:10:com.android.tools.r8.graph.DexClassAndMethod ensureDefaultAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod):231:231 -> c
+    11:11:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> c
+    11:11:com.android.tools.r8.graph.DexClassAndMethod ensureDefaultAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod):231 -> c
+    12:16:com.android.tools.r8.graph.DexClassAndMethod ensureDefaultAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod):232:236 -> c
+    17:17:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.defaultAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):333:333 -> c
+    17:17:com.android.tools.r8.graph.DexClassAndMethod ensureDefaultAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod):236 -> c
+    18:18:com.android.tools.r8.graph.DexClassAndMethod ensureDefaultAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod):237:237 -> c
+    19:19:com.android.tools.r8.graph.Code lambda$ensureMethodOfClasspathCompanionClassStub$11(com.android.tools.r8.graph.DexMethod):361:361 -> c
+    20:23:boolean hasStaticMethodThatTriggersNonTrivialClassInitializer(com.android.tools.r8.graph.DexProgramClass):432:435 -> c
     void lambda$ensurePrivateAsMethodOfProgramCompanionClassStub$8(com.android.tools.r8.graph.ProgramMethod) -> d
     1:1:boolean isEmulatedInterface(com.android.tools.r8.graph.DexType):78:78 -> d
     2:2:com.android.tools.r8.graph.Code lambda$ensurePrivateAsMethodOfProgramCompanionClassStub$6(com.android.tools.r8.graph.DexMethod):302:302 -> d
@@ -58471,10 +58577,10 @@
     4:4:com.android.tools.r8.graph.DexMethod privateAsMethodOfCompanionClass(com.android.tools.r8.graph.DexClassAndMethod):343 -> d
     1:1:com.android.tools.r8.graph.Code lambda$ensureStaticAsMethodOfProgramCompanionClassStub$13(com.android.tools.r8.graph.DexMethod):387:387 -> e
     2:2:boolean shouldIgnoreFromReports(com.android.tools.r8.graph.DexType):520:520 -> e
-com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer -> com.android.tools.r8.internal.Mt:
+com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer -> com.android.tools.r8.internal.Ot:
     void acceptCompanionClassClinit(com.android.tools.r8.graph.ProgramMethod) -> a
     void acceptCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod) -> a
-com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade -> com.android.tools.r8.internal.Nt:
+com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade -> com.android.tools.r8.internal.Pt:
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.ir.desugar.itf.ClassProcessor classProcessor -> d
     com.android.tools.r8.ir.desugar.itf.InterfaceProcessor interfaceProcessor -> c
@@ -58487,7 +58593,7 @@
     7:7:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):64:64 -> a
     1:3:void processClassesConcurrently(java.util.Collection,com.android.tools.r8.ir.desugar.itf.InterfaceProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):50:50 -> b
     7:8:void processClassesConcurrently(java.util.Collection,com.android.tools.r8.ir.desugar.itf.InterfaceProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):54:55 -> b
-com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter -> com.android.tools.r8.internal.Pt:
+com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter -> com.android.tools.r8.internal.Rt:
     com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper helper -> d
     com.android.tools.r8.graph.DexItemFactory factory -> c
     java.util.Set precedingDesugarings -> h
@@ -58795,52 +58901,36 @@
     7:9:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.addCompanionClassRewriteRule(com.android.tools.r8.graph.DexType,java.lang.String):188 -> c
     7:9:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.addRewriteRulesForEmulatedInterface(com.android.tools.r8.graph.DexType,java.lang.String):177 -> c
     7:9:void initializeEmulatedInterfaceVariables():163 -> c
-    10:11:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.getCompanionClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):159:160 -> c
-    10:11:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.addCompanionClassRewriteRule(com.android.tools.r8.graph.DexType,java.lang.String,com.android.tools.r8.graph.AppView):194 -> c
-    10:11:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.addCompanionClassRewriteRule(com.android.tools.r8.graph.DexType,java.lang.String):188 -> c
-    10:11:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.addRewriteRulesForEmulatedInterface(com.android.tools.r8.graph.DexType,java.lang.String):177 -> c
-    10:11:void initializeEmulatedInterfaceVariables():163 -> c
-    12:12:java.lang.String com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.getCompanionClassDescriptor(java.lang.String):154:154 -> c
-    12:12:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.getCompanionClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):161 -> c
-    12:12:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.addCompanionClassRewriteRule(com.android.tools.r8.graph.DexType,java.lang.String,com.android.tools.r8.graph.AppView):194 -> c
-    12:12:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.addCompanionClassRewriteRule(com.android.tools.r8.graph.DexType,java.lang.String):188 -> c
-    12:12:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.addRewriteRulesForEmulatedInterface(com.android.tools.r8.graph.DexType,java.lang.String):177 -> c
-    12:12:void initializeEmulatedInterfaceVariables():163 -> c
-    13:13:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.getCompanionClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):162:162 -> c
-    13:13:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.addCompanionClassRewriteRule(com.android.tools.r8.graph.DexType,java.lang.String,com.android.tools.r8.graph.AppView):194 -> c
-    13:13:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.addCompanionClassRewriteRule(com.android.tools.r8.graph.DexType,java.lang.String):188 -> c
-    13:13:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.addRewriteRulesForEmulatedInterface(com.android.tools.r8.graph.DexType,java.lang.String):177 -> c
-    13:13:void initializeEmulatedInterfaceVariables():163 -> c
-    14:16:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.addCompanionClassRewriteRule(com.android.tools.r8.graph.DexType,java.lang.String,com.android.tools.r8.graph.AppView):197:199 -> c
-    14:16:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.addCompanionClassRewriteRule(com.android.tools.r8.graph.DexType,java.lang.String):188 -> c
-    14:16:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.addRewriteRulesForEmulatedInterface(com.android.tools.r8.graph.DexType,java.lang.String):177 -> c
-    14:16:void initializeEmulatedInterfaceVariables():163 -> c
-    17:17:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.addCompanionClassRewriteRule(com.android.tools.r8.graph.DexType,java.lang.String,com.android.tools.r8.graph.AppView):198:198 -> c
+    10:15:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.addCompanionClassRewriteRule(com.android.tools.r8.graph.DexType,java.lang.String,com.android.tools.r8.graph.AppView):194:199 -> c
+    10:15:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.addCompanionClassRewriteRule(com.android.tools.r8.graph.DexType,java.lang.String):188 -> c
+    10:15:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.addRewriteRulesForEmulatedInterface(com.android.tools.r8.graph.DexType,java.lang.String):177 -> c
+    10:15:void initializeEmulatedInterfaceVariables():163 -> c
+    16:16:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.addCompanionClassRewriteRule(com.android.tools.r8.graph.DexType,java.lang.String,com.android.tools.r8.graph.AppView):198:198 -> c
+    16:16:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.addCompanionClassRewriteRule(com.android.tools.r8.graph.DexType,java.lang.String):188 -> c
+    16:16:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.addRewriteRulesForEmulatedInterface(com.android.tools.r8.graph.DexType,java.lang.String):177 -> c
+    16:16:void initializeEmulatedInterfaceVariables():163 -> c
+    17:17:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.addCompanionClassRewriteRule(com.android.tools.r8.graph.DexType,java.lang.String,com.android.tools.r8.graph.AppView):193:193 -> c
     17:17:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.addCompanionClassRewriteRule(com.android.tools.r8.graph.DexType,java.lang.String):188 -> c
     17:17:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.addRewriteRulesForEmulatedInterface(com.android.tools.r8.graph.DexType,java.lang.String):177 -> c
     17:17:void initializeEmulatedInterfaceVariables():163 -> c
-    18:18:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.addCompanionClassRewriteRule(com.android.tools.r8.graph.DexType,java.lang.String,com.android.tools.r8.graph.AppView):193:193 -> c
-    18:18:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.addCompanionClassRewriteRule(com.android.tools.r8.graph.DexType,java.lang.String):188 -> c
-    18:18:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.addRewriteRulesForEmulatedInterface(com.android.tools.r8.graph.DexType,java.lang.String):177 -> c
-    18:18:void initializeEmulatedInterfaceVariables():163 -> c
-    19:23:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.addRewriteRulesForEmulatedInterface(com.android.tools.r8.graph.DexType,java.lang.String):178:182 -> c
-    19:23:void initializeEmulatedInterfaceVariables():163 -> c
-    24:24:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.addRewriteRulesForEmulatedInterface(com.android.tools.r8.graph.DexType,java.lang.String):181:181 -> c
+    18:22:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.addRewriteRulesForEmulatedInterface(com.android.tools.r8.graph.DexType,java.lang.String):178:182 -> c
+    18:22:void initializeEmulatedInterfaceVariables():163 -> c
+    23:23:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.addRewriteRulesForEmulatedInterface(com.android.tools.r8.graph.DexType,java.lang.String):181:181 -> c
+    23:23:void initializeEmulatedInterfaceVariables():163 -> c
+    24:24:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.addRewriteRulesForEmulatedInterface(com.android.tools.r8.graph.DexType,java.lang.String):178:178 -> c
     24:24:void initializeEmulatedInterfaceVariables():163 -> c
-    25:25:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.addRewriteRulesForEmulatedInterface(com.android.tools.r8.graph.DexType,java.lang.String):178:178 -> c
-    25:25:void initializeEmulatedInterfaceVariables():163 -> c
-    26:30:void initializeEmulatedInterfaceVariables():165:169 -> c
-    31:35:java.util.Collection lambda$computeEmulatedInterfaceVirtualDispatchOrNull$11(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):495:495 -> c
-    36:37:com.android.tools.r8.ir.desugar.DesugarDescription rewriteInvokeSuper(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):654:655 -> c
-    38:38:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):35:35 -> c
-    38:38:com.android.tools.r8.ir.desugar.DesugarDescription rewriteInvokeSuper(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):655 -> c
-    39:46:com.android.tools.r8.ir.desugar.DesugarDescription rewriteInvokeSuper(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):660:667 -> c
-    47:47:boolean com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.shouldRewriteToInvokeToThrow(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,boolean):843:843 -> c
-    47:47:com.android.tools.r8.ir.desugar.DesugarDescription rewriteInvokeSuper(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):667 -> c
-    48:51:com.android.tools.r8.ir.desugar.DesugarDescription rewriteInvokeSuper(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):668:671 -> c
-    52:52:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> c
-    52:52:com.android.tools.r8.ir.desugar.DesugarDescription rewriteInvokeSuper(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):671 -> c
-    53:108:com.android.tools.r8.ir.desugar.DesugarDescription rewriteInvokeSuper(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):681:736 -> c
+    25:29:void initializeEmulatedInterfaceVariables():165:169 -> c
+    30:34:java.util.Collection lambda$computeEmulatedInterfaceVirtualDispatchOrNull$11(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):495:495 -> c
+    35:36:com.android.tools.r8.ir.desugar.DesugarDescription rewriteInvokeSuper(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):654:655 -> c
+    37:37:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):35:35 -> c
+    37:37:com.android.tools.r8.ir.desugar.DesugarDescription rewriteInvokeSuper(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):655 -> c
+    38:45:com.android.tools.r8.ir.desugar.DesugarDescription rewriteInvokeSuper(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):660:667 -> c
+    46:46:boolean com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.shouldRewriteToInvokeToThrow(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,boolean):843:843 -> c
+    46:46:com.android.tools.r8.ir.desugar.DesugarDescription rewriteInvokeSuper(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):667 -> c
+    47:50:com.android.tools.r8.ir.desugar.DesugarDescription rewriteInvokeSuper(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):668:671 -> c
+    51:51:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> c
+    51:51:com.android.tools.r8.ir.desugar.DesugarDescription rewriteInvokeSuper(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):671 -> c
+    52:107:com.android.tools.r8.ir.desugar.DesugarDescription rewriteInvokeSuper(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):681:736 -> c
     1:1:java.util.Collection lambda$computeInvokeDirect$12(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):547:547 -> d
     2:2:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> d
     2:2:java.util.Collection lambda$computeInvokeDirect$12(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):548 -> d
@@ -58852,12 +58942,12 @@
     28:31:void leavingStaticInvokeToInterface(com.android.tools.r8.graph.ProgramMethod):621:624 -> d
     1:4:java.util.Collection lambda$computeInvokeDirect$13(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):585:588 -> e
     1:3:java.util.Collection lambda$computeInvokeStatic$10(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):456:458 -> f
-com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter$Flavor -> com.android.tools.r8.internal.Ot:
+com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter$Flavor -> com.android.tools.r8.internal.Qt:
     com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter$Flavor ExcludeDexResources -> c
     com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter$Flavor IncludeAllResources -> b
     1:3:void <clinit>():107:109 -> <clinit>
     1:1:void <init>(java.lang.String,int):105:105 -> <init>
-com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriterFixup -> com.android.tools.r8.internal.Qt:
+com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriterFixup -> com.android.tools.r8.internal.St:
     com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens graphLens -> b
     com.android.tools.r8.graph.AppView appView -> a
     1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens):17:19 -> <init>
@@ -58874,7 +58964,7 @@
     20:20:com.android.tools.r8.graph.EnclosingMethodAttribute com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriterFixup.fixupEnclosingMethodAttribute(com.android.tools.r8.graph.EnclosingMethodAttribute):44:44 -> a
     20:20:void run():33 -> a
     21:21:void run():32:32 -> a
-com.android.tools.r8.ir.desugar.itf.InterfaceProcessor -> com.android.tools.r8.internal.Ut:
+com.android.tools.r8.ir.desugar.itf.InterfaceProcessor -> com.android.tools.r8.internal.Wt:
     com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper helper -> b
     java.util.Map postProcessingInterfaceInfos -> c
     com.android.tools.r8.graph.AppView appView -> a
@@ -58895,132 +58985,133 @@
     27:27:void lambda$ensureCompanionMethod$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):108:108 -> a
     28:28:void lambda$ensureCompanionMethod$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):105:105 -> a
     29:30:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):133:134 -> a
-    31:42:boolean com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.canMoveToCompanionClass(com.android.tools.r8.graph.ProgramMethod):191:202 -> a
+    31:42:boolean com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.canMoveToCompanionClass(com.android.tools.r8.graph.ProgramMethod):194:205 -> a
     31:42:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):141 -> a
     43:46:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):148:151 -> a
     47:47:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():440:440 -> a
     47:47:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):151 -> a
     48:48:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):151:151 -> a
     49:49:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):0:0 -> a
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":540,"2":541,"3":542}}
-    540:540:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):151:151 -> a
-    541:541:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):151:151 -> a
-    542:542:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):151:151 -> a
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":545,"2":546,"3":547}}
+    545:545:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):151:151 -> a
+    546:546:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):151:151 -> a
+    547:547:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):151:151 -> a
     202:214:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):153:165 -> a
     215:230:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):159:174 -> a
     231:235:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):173:177 -> a
-    236:236:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):142:142 -> a
-    237:237:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):0:0 -> a
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":543,"2":544,"3":545}}
-    543:543:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):142:142 -> a
-    544:544:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):142:142 -> a
-    545:545:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):142:142 -> a
-    382:383:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):145:146 -> a
-    384:384:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
-    384:384:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
-    384:384:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):146 -> a
-    385:385:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):146:146 -> a
-    386:386:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):135:135 -> a
-    387:387:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):0:0 -> a
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":546,"2":547,"3":548}}
-    546:546:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):135:135 -> a
-    547:547:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):135:135 -> a
-    548:548:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):135:135 -> a
-    525:526:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):138:139 -> a
-    527:527:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
-    527:527:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
-    527:527:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):139 -> a
-    528:528:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):139:139 -> a
-    549:557:boolean interfaceMethodRemovalChangesApi(com.android.tools.r8.graph.ProgramMethod):221:229 -> a
-    558:562:void com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.addSuperTypes(com.android.tools.r8.graph.DexClass,java.util.Deque):247:251 -> a
-    558:562:boolean interfaceMethodRemovalChangesApi(com.android.tools.r8.graph.ProgramMethod):230 -> a
-    563:565:boolean interfaceMethodRemovalChangesApi(com.android.tools.r8.graph.ProgramMethod):231:233 -> a
-    566:567:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.definitionForDependency(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):211:212 -> a
-    566:567:boolean interfaceMethodRemovalChangesApi(com.android.tools.r8.graph.ProgramMethod):233 -> a
-    568:571:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppInfo.definitionForDesugarDependency(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):153:156 -> a
-    568:571:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.definitionForDependency(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):212 -> a
-    568:571:boolean interfaceMethodRemovalChangesApi(com.android.tools.r8.graph.ProgramMethod):233 -> a
-    572:572:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
-    572:572:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppInfo.definitionForDesugarDependency(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):157 -> a
-    572:572:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.definitionForDependency(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):212 -> a
-    572:572:boolean interfaceMethodRemovalChangesApi(com.android.tools.r8.graph.ProgramMethod):233 -> a
-    573:573:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppInfo.definitionForDesugarDependency(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):158:158 -> a
-    573:573:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.definitionForDependency(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):212 -> a
-    573:573:boolean interfaceMethodRemovalChangesApi(com.android.tools.r8.graph.ProgramMethod):233 -> a
-    574:574:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.definitionForDependency(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):213:213 -> a
-    574:574:boolean interfaceMethodRemovalChangesApi(com.android.tools.r8.graph.ProgramMethod):233 -> a
-    575:578:boolean interfaceMethodRemovalChangesApi(com.android.tools.r8.graph.ProgramMethod):234:237 -> a
-    579:583:void com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.addSuperTypes(com.android.tools.r8.graph.DexClass,java.util.Deque):247:251 -> a
-    579:583:boolean interfaceMethodRemovalChangesApi(com.android.tools.r8.graph.ProgramMethod):240 -> a
-    584:584:void lambda$postProcessInterfaces$2(com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens$Builder,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo):260:260 -> a
-    585:588:void com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.clearDirectMethods(com.android.tools.r8.graph.DexProgramClass):181:184 -> a
-    585:588:void lambda$postProcessInterfaces$2(com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens$Builder,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo):261 -> a
-    589:589:void com.android.tools.r8.graph.MethodCollection.setSingleDirectMethod(com.android.tools.r8.graph.DexEncodedMethod):310:310 -> a
-    589:589:void com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.clearDirectMethods(com.android.tools.r8.graph.DexProgramClass):184 -> a
-    589:589:void lambda$postProcessInterfaces$2(com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens$Builder,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo):261 -> a
-    590:590:void com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.clearDirectMethods(com.android.tools.r8.graph.DexProgramClass):186:186 -> a
-    590:590:void lambda$postProcessInterfaces$2(com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens$Builder,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo):261 -> a
-    591:608:void lambda$postProcessInterfaces$2(com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens$Builder,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo):263:280 -> a
-    609:622:void com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.removeBridges(com.android.tools.r8.graph.DexProgramClass):288:301 -> a
-    609:622:void lambda$postProcessInterfaces$2(com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens$Builder,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo):281 -> a
-    623:628:void lambda$postProcessInterfaces$1(com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens$Builder,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):267:272 -> a
-    629:629:void lambda$postProcessInterfaces$1(com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens$Builder,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):271:271 -> a
-    630:632:void finalizeProcessing():311:313 -> a
-    633:633:com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo getPostProcessingInterfaceInfo(com.android.tools.r8.graph.DexProgramClass):318:318 -> a
-    634:634:void forEachMethodToMove(java.util.function.BiConsumer):323:323 -> a
-    635:636:void lambda$forEachMethodToMove$4(java.util.function.BiConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo):325:326 -> a
+    236:240:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):176:180 -> a
+    241:241:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):142:142 -> a
+    242:242:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):0:0 -> a
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":548,"2":549,"3":550}}
+    548:548:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):142:142 -> a
+    549:549:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):142:142 -> a
+    550:550:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):142:142 -> a
+    387:388:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):145:146 -> a
+    389:389:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
+    389:389:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
+    389:389:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):146 -> a
+    390:390:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):146:146 -> a
+    391:391:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):135:135 -> a
+    392:392:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):0:0 -> a
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":551,"2":552,"3":553}}
+    551:551:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):135:135 -> a
+    552:552:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):135:135 -> a
+    553:553:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):135:135 -> a
+    530:531:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):138:139 -> a
+    532:532:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
+    532:532:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
+    532:532:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):139 -> a
+    533:533:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):139:139 -> a
+    554:562:boolean interfaceMethodRemovalChangesApi(com.android.tools.r8.graph.ProgramMethod):224:232 -> a
+    563:567:void com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.addSuperTypes(com.android.tools.r8.graph.DexClass,java.util.Deque):250:254 -> a
+    563:567:boolean interfaceMethodRemovalChangesApi(com.android.tools.r8.graph.ProgramMethod):233 -> a
+    568:570:boolean interfaceMethodRemovalChangesApi(com.android.tools.r8.graph.ProgramMethod):234:236 -> a
+    571:572:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.definitionForDependency(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):214:215 -> a
+    571:572:boolean interfaceMethodRemovalChangesApi(com.android.tools.r8.graph.ProgramMethod):236 -> a
+    573:576:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppInfo.definitionForDesugarDependency(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):153:156 -> a
+    573:576:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.definitionForDependency(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):215 -> a
+    573:576:boolean interfaceMethodRemovalChangesApi(com.android.tools.r8.graph.ProgramMethod):236 -> a
+    577:577:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
+    577:577:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppInfo.definitionForDesugarDependency(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):157 -> a
+    577:577:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.definitionForDependency(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):215 -> a
+    577:577:boolean interfaceMethodRemovalChangesApi(com.android.tools.r8.graph.ProgramMethod):236 -> a
+    578:578:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppInfo.definitionForDesugarDependency(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):158:158 -> a
+    578:578:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.definitionForDependency(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):215 -> a
+    578:578:boolean interfaceMethodRemovalChangesApi(com.android.tools.r8.graph.ProgramMethod):236 -> a
+    579:579:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.definitionForDependency(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):216:216 -> a
+    579:579:boolean interfaceMethodRemovalChangesApi(com.android.tools.r8.graph.ProgramMethod):236 -> a
+    580:583:boolean interfaceMethodRemovalChangesApi(com.android.tools.r8.graph.ProgramMethod):237:240 -> a
+    584:588:void com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.addSuperTypes(com.android.tools.r8.graph.DexClass,java.util.Deque):250:254 -> a
+    584:588:boolean interfaceMethodRemovalChangesApi(com.android.tools.r8.graph.ProgramMethod):243 -> a
+    589:589:void lambda$postProcessInterfaces$2(com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens$Builder,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo):263:263 -> a
+    590:593:void com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.clearDirectMethods(com.android.tools.r8.graph.DexProgramClass):184:187 -> a
+    590:593:void lambda$postProcessInterfaces$2(com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens$Builder,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo):264 -> a
+    594:594:void com.android.tools.r8.graph.MethodCollection.setSingleDirectMethod(com.android.tools.r8.graph.DexEncodedMethod):310:310 -> a
+    594:594:void com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.clearDirectMethods(com.android.tools.r8.graph.DexProgramClass):187 -> a
+    594:594:void lambda$postProcessInterfaces$2(com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens$Builder,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo):264 -> a
+    595:595:void com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.clearDirectMethods(com.android.tools.r8.graph.DexProgramClass):189:189 -> a
+    595:595:void lambda$postProcessInterfaces$2(com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens$Builder,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo):264 -> a
+    596:613:void lambda$postProcessInterfaces$2(com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens$Builder,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo):266:283 -> a
+    614:627:void com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.removeBridges(com.android.tools.r8.graph.DexProgramClass):291:304 -> a
+    614:627:void lambda$postProcessInterfaces$2(com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens$Builder,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo):284 -> a
+    628:633:void lambda$postProcessInterfaces$1(com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens$Builder,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):270:275 -> a
+    634:634:void lambda$postProcessInterfaces$1(com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens$Builder,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):274:274 -> a
+    635:637:void finalizeProcessing():314:316 -> a
+    638:638:com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo getPostProcessingInterfaceInfo(com.android.tools.r8.graph.DexProgramClass):321:321 -> a
+    639:639:void forEachMethodToMove(java.util.function.BiConsumer):326:326 -> a
+    640:641:void lambda$forEachMethodToMove$4(java.util.function.BiConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo):328:329 -> a
     1:1:com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper getHelper():67:67 -> b
-    2:2:com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo lambda$getPostProcessingInterfaceInfo$3(com.android.tools.r8.graph.DexProgramClass):319:319 -> b
-    1:1:com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens postProcessInterfaces():257:257 -> c
-    2:2:com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens$Builder com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens.builder():426:426 -> c
-    2:2:com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens postProcessInterfaces():257 -> c
-    3:29:com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens postProcessInterfaces():258:284 -> c
-com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens -> com.android.tools.r8.internal.St:
+    2:2:com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo lambda$getPostProcessingInterfaceInfo$3(com.android.tools.r8.graph.DexProgramClass):322:322 -> b
+    1:1:com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens postProcessInterfaces():260:260 -> c
+    2:2:com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens$Builder com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens.builder():429:429 -> c
+    2:2:com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens postProcessInterfaces():260 -> c
+    3:29:com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens postProcessInterfaces():261:287 -> c
+com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens -> com.android.tools.r8.internal.Ut:
     int $r8$clinit -> o
     com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap extraNewMethodSignatures -> n
-    1:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap,java.util.Map,com.android.tools.r8.utils.collections.BidirectionalOneToOneMap):399:400 -> <init>
-    1:1:com.android.tools.r8.graph.DexMethod internalGetPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):415:415 -> f
+    1:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap,java.util.Map,com.android.tools.r8.utils.collections.BidirectionalOneToOneMap):402:403 -> <init>
+    1:1:com.android.tools.r8.graph.DexMethod internalGetPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):418:418 -> f
     2:2:java.lang.Object com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap.getRepresentativeKeyOrDefault(java.lang.Object,java.lang.Object):22:22 -> f
-    2:2:com.android.tools.r8.graph.DexMethod internalGetPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):416 -> f
+    2:2:com.android.tools.r8.graph.DexMethod internalGetPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):419 -> f
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    3:3:com.android.tools.r8.graph.DexMethod internalGetPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):416:416 -> f
+    3:3:com.android.tools.r8.graph.DexMethod internalGetPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):419:419 -> f
     4:4:java.lang.Object com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap.getRepresentativeKeyOrDefault(java.lang.Object,java.lang.Object):22:22 -> f
-    4:4:com.android.tools.r8.graph.DexMethod internalGetPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):415 -> f
+    4:4:com.android.tools.r8.graph.DexMethod internalGetPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):418 -> f
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    5:5:com.android.tools.r8.graph.DexMethod internalGetPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):415:415 -> f
-    1:1:com.android.tools.r8.graph.DexMethod internalGetNextMethodSignature(com.android.tools.r8.graph.DexMethod):421:421 -> g
+    5:5:com.android.tools.r8.graph.DexMethod internalGetPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):418:418 -> f
+    1:1:com.android.tools.r8.graph.DexMethod internalGetNextMethodSignature(com.android.tools.r8.graph.DexMethod):424:424 -> g
     2:2:java.lang.Object com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap.getRepresentativeValueOrDefault(java.lang.Object,java.lang.Object):29:29 -> g
-    2:2:com.android.tools.r8.graph.DexMethod internalGetNextMethodSignature(com.android.tools.r8.graph.DexMethod):422 -> g
+    2:2:com.android.tools.r8.graph.DexMethod internalGetNextMethodSignature(com.android.tools.r8.graph.DexMethod):425 -> g
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    3:3:com.android.tools.r8.graph.DexMethod internalGetNextMethodSignature(com.android.tools.r8.graph.DexMethod):422:422 -> g
+    3:3:com.android.tools.r8.graph.DexMethod internalGetNextMethodSignature(com.android.tools.r8.graph.DexMethod):425:425 -> g
     4:4:java.lang.Object com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap.getRepresentativeValueOrDefault(java.lang.Object,java.lang.Object):29:29 -> g
-    4:4:com.android.tools.r8.graph.DexMethod internalGetNextMethodSignature(com.android.tools.r8.graph.DexMethod):421 -> g
+    4:4:com.android.tools.r8.graph.DexMethod internalGetNextMethodSignature(com.android.tools.r8.graph.DexMethod):424 -> g
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    5:5:com.android.tools.r8.graph.DexMethod internalGetNextMethodSignature(com.android.tools.r8.graph.DexMethod):421:421 -> g
-    1:1:com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap getExtraNewMethodSignatures():405:405 -> l
-com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens$Builder -> com.android.tools.r8.internal.Rt:
+    5:5:com.android.tools.r8.graph.DexMethod internalGetNextMethodSignature(com.android.tools.r8.graph.DexMethod):424:424 -> g
+    1:1:com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap getExtraNewMethodSignatures():408:408 -> l
+com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens$Builder -> com.android.tools.r8.internal.Tt:
     com.android.tools.r8.utils.collections.MutableBidirectionalOneToOneMap extraNewMethodSignatures -> d
-    1:3:void <init>():429:431 -> <init>
-    1:4:com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens build(com.android.tools.r8.graph.AppView):440:443 -> a
-    1:1:void recordCodeMovedToCompanionClass(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):435:435 -> b
-com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo -> com.android.tools.r8.internal.Tt:
+    1:3:void <init>():432:434 -> <init>
+    1:4:com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens build(com.android.tools.r8.graph.AppView):443:446 -> a
+    1:1:void recordCodeMovedToCompanionClass(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):438:438 -> b
+com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo -> com.android.tools.r8.internal.Vt:
     java.util.Map defaultMethodsToImplementation -> a
     java.util.Map methodsToMove -> b
     boolean hasNonClinitDirectMethods -> c
     boolean hasBridgesToRemove -> d
-    1:1:void <init>():331:331 -> <init>
-    1:1:java.util.Map access$000(com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo):331:331 -> a
-    2:5:void mapDefaultMethodToCompanionMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):339:342 -> a
-    6:6:java.util.Map getDefaultMethodsToImplementation():346:346 -> a
-    7:10:void moveMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):354:357 -> a
-    1:1:java.util.Map getMethodsToMove():361:361 -> b
-    1:1:boolean hasBridgesToRemove():377:377 -> c
-    1:1:boolean hasDefaultMethodsToImplementationMap():350:350 -> d
-    1:1:boolean hasMethodsToMove():365:365 -> e
-    1:1:boolean hasNonClinitDirectMethods():369:369 -> f
-    1:1:void setHasBridgesToRemove():381:381 -> g
-    1:1:void setHasNonClinitDirectMethods():373:373 -> h
-com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer -> com.android.tools.r8.internal.pN:
+    1:1:void <init>():334:334 -> <init>
+    1:1:java.util.Map access$000(com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo):334:334 -> a
+    2:5:void mapDefaultMethodToCompanionMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):342:345 -> a
+    6:6:java.util.Map getDefaultMethodsToImplementation():349:349 -> a
+    7:10:void moveMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):357:360 -> a
+    1:1:java.util.Map getMethodsToMove():364:364 -> b
+    1:1:boolean hasBridgesToRemove():380:380 -> c
+    1:1:boolean hasDefaultMethodsToImplementationMap():353:353 -> d
+    1:1:boolean hasMethodsToMove():368:368 -> e
+    1:1:boolean hasNonClinitDirectMethods():372:372 -> f
+    1:1:void setHasBridgesToRemove():384:384 -> g
+    1:1:void setHasNonClinitDirectMethods():376:376 -> h
+com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer -> com.android.tools.r8.internal.uN:
     com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper helper -> b
     java.util.Map emulatedInterfacesHierarchy -> c
     com.android.tools.r8.graph.AppView appView -> a
@@ -59053,7 +59144,7 @@
     56:65:java.util.List com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.getDispatchCases(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):175:184 -> a
     56:65:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.synthesizeCfCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):147 -> a
     56:65:com.android.tools.r8.graph.Code lambda$synthesizeEmulatedInterfaceMethod$3(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):135 -> a
-    66:68:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.protoWithDifferentFirstParameter(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType):2576:2578 -> a
+    66:68:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.protoWithDifferentFirstParameter(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType):2578:2580 -> a
     66:68:java.util.List com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.getDispatchCases(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):184 -> a
     66:68:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.synthesizeCfCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):147 -> a
     66:68:com.android.tools.r8.graph.Code lambda$synthesizeEmulatedInterfaceMethod$3(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):135 -> a
@@ -59099,15 +59190,15 @@
     11:11:void synthesizeEmulateInterfaceMethods(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):121:121 -> b
     12:12:void synthesizeEmulateInterfaceMethods(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):120:120 -> b
     13:19:void synthesizeEmulatedInterfaceMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):127:133 -> b
-com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer -> com.android.tools.r8.internal.Rk:
+com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer -> com.android.tools.r8.internal.Tk:
     void lambda$emptyForcefullyMovedLambdaMethodConsumer$0(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod) -> a
     1:1:com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer emptyForcefullyMovedLambdaMethodConsumer():14:14 -> a
     void acceptForcefullyMovedLambdaMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod) -> b
-com.android.tools.r8.ir.desugar.lambda.LambdaDeserializationMethodRemover -> com.android.tools.r8.internal.VA:
+com.android.tools.r8.ir.desugar.lambda.LambdaDeserializationMethodRemover -> com.android.tools.r8.internal.XA:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():13:13 -> <clinit>
     1:4:void run(com.android.tools.r8.graph.AppView,java.util.Collection):24:27 -> a
-com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring -> com.android.tools.r8.internal.XA:
+com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring -> com.android.tools.r8.internal.ZA:
     com.android.tools.r8.graph.AppView appView -> a
     java.util.Set directTargetedLambdaImplementationMethods -> b
     1:1:void <init>(com.android.tools.r8.graph.AppView):54:54 -> <init>
@@ -59141,7 +59232,7 @@
     78:79:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):183 -> a
     80:80:boolean com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring.isLambdaInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):189:189 -> a
     80:80:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):183 -> a
-com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke -> com.android.tools.r8.internal.WA:
+com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke -> com.android.tools.r8.internal.YA:
     java.util.Collection desugarInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator) -> a
 com.android.tools.r8.ir.desugar.nest.AccessBridgeFactory -> com.android.tools.r8.internal.u1:
     boolean $assertionsDisabled -> a
@@ -59168,7 +59259,7 @@
     27:31:com.android.tools.r8.graph.ProgramMethod createMethodAccessorBridge(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):86:90 -> b
     32:43:com.android.tools.r8.graph.ProgramMethod createMethodAccessorBridge(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):83:94 -> b
     44:44:void lambda$createMethodAccessorBridge$1(com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.ir.synthetic.ForwardMethodBuilder):89:89 -> b
-com.android.tools.r8.ir.desugar.nest.D8NestBasedAccessDesugaring -> com.android.tools.r8.internal.ue:
+com.android.tools.r8.ir.desugar.nest.D8NestBasedAccessDesugaring -> com.android.tools.r8.internal.ve:
     1:1:void <init>(com.android.tools.r8.graph.AppView):36:36 -> <init>
     void lambda$clearNestAttributes$3(com.android.tools.r8.graph.DexClass) -> a
     1:2:void lambda$clearNestAttributes$2(com.android.tools.r8.ir.desugar.nest.Nest):61:62 -> a
@@ -59239,13 +59330,13 @@
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     23:23:void clearNestAttributes():59:59 -> b
     1:1:void reportDesugarDependencies():40:40 -> c
-com.android.tools.r8.ir.desugar.nest.D8NestBasedAccessDesugaring$1 -> com.android.tools.r8.internal.se:
+com.android.tools.r8.ir.desugar.nest.D8NestBasedAccessDesugaring$1 -> com.android.tools.r8.internal.te:
     com.android.tools.r8.ir.conversion.MethodProcessor val$methodProcessor -> a
     1:1:void <init>(com.android.tools.r8.ir.desugar.nest.D8NestBasedAccessDesugaring,com.android.tools.r8.ir.conversion.MethodProcessor):81:81 -> <init>
     1:1:void acceptNestFieldGetBridge(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod):85:85 -> b
     1:1:void acceptNestMethodBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):95:95 -> c
     1:1:void acceptNestFieldPutBridge(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod):90:90 -> d
-com.android.tools.r8.ir.desugar.nest.D8NestBasedAccessDesugaring$NestBasedAccessDesugaringUseRegistry -> com.android.tools.r8.internal.te:
+com.android.tools.r8.ir.desugar.nest.D8NestBasedAccessDesugaring$NestBasedAccessDesugaringUseRegistry -> com.android.tools.r8.internal.ue:
     com.android.tools.r8.ir.desugar.nest.D8NestBasedAccessDesugaring this$0 -> f
     com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer eventConsumer -> e
     1:3:void <init>(com.android.tools.r8.ir.desugar.nest.D8NestBasedAccessDesugaring,com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):117:119 -> <init>
@@ -59277,7 +59368,7 @@
     6:6:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):89:89 -> h
     6:6:void registerInvoke(com.android.tools.r8.graph.DexMethod):135 -> h
     7:9:void registerInvoke(com.android.tools.r8.graph.DexMethod):135:137 -> h
-com.android.tools.r8.ir.desugar.nest.Nest -> com.android.tools.r8.internal.EG:
+com.android.tools.r8.ir.desugar.nest.Nest -> com.android.tools.r8.internal.JG:
     com.android.tools.r8.graph.DexClass hostClass -> a
     java.util.List members -> b
     java.util.List missingMembers -> c
@@ -59291,7 +59382,7 @@
     1:1:java.util.List getMembers():69:69 -> c
     1:1:java.util.List getMissingMembers():73:73 -> d
     1:1:boolean hasMissingMembers():81:81 -> e
-com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring -> com.android.tools.r8.internal.GG:
+com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring -> com.android.tools.r8.internal.LG:
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
     java.util.Map syntheticNestConstructorTypes -> c
     com.android.tools.r8.graph.AppView appView -> a
@@ -59339,7 +59430,7 @@
     void lambda$getMethodBridgeReference$5(com.android.tools.r8.synthesis.SyntheticClasspathClassBuilder) -> a
     void lambda$getMethodBridgeReference$6(com.android.tools.r8.graph.DexClasspathClass) -> a
     60:60:com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring create(com.android.tools.r8.graph.AppView):78:78 -> a
-    61:61:boolean com.android.tools.r8.utils.InternalOptions.canUseNestBasedAccess():1824:1824 -> a
+    61:61:boolean com.android.tools.r8.utils.InternalOptions.canUseNestBasedAccess():1828:1828 -> a
     61:61:boolean com.android.tools.r8.utils.InternalOptions.shouldDesugarNests():518 -> a
     61:61:com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring create(com.android.tools.r8.graph.AppView):78 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
@@ -59466,16 +59557,16 @@
     245:245:com.android.tools.r8.graph.DexMethod getFieldAccessBridgeReference(com.android.tools.r8.graph.DexClassAndField,boolean):384:384 -> a
     249:252:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):438:441 -> a
     253:278:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):440:465 -> a
-    279:281:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.appendTypeToProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType):2598:2600 -> a
+    279:281:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.appendTypeToProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType):2600:2602 -> a
     279:281:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):465 -> a
-    282:285:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.appendTypeToProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType):2599:2602 -> a
+    282:285:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.appendTypeToProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType):2601:2604 -> a
     282:285:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):465 -> a
     286:286:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):466:466 -> a
     287:287:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexItemFactory):326:326 -> a
     287:287:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):466 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     288:290:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):469:471 -> a
-    291:291:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.prependHolderToProto(com.android.tools.r8.graph.DexMethod):2582:2582 -> a
+    291:291:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.prependHolderToProto(com.android.tools.r8.graph.DexMethod):2584:2584 -> a
     291:291:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):471 -> a
     292:292:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):472:472 -> a
     293:296:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.getMethodBridgeName(com.android.tools.r8.graph.DexClassAndMethod):477:480 -> a
@@ -59503,7 +59594,7 @@
     319:319:com.android.tools.r8.graph.DexType lambda$getMethodBridgeReference$7(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexType):453 -> a
     320:325:com.android.tools.r8.graph.DexType lambda$getMethodBridgeReference$7(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexType):453:458 -> a
     326:332:com.android.tools.r8.graph.DexType lambda$getMethodBridgeReference$7(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexType):456:462 -> a
-com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget -> com.android.tools.r8.internal.FG:
+com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget -> com.android.tools.r8.internal.KG:
     com.android.tools.r8.graph.DexClassAndMember target -> b
     com.android.tools.r8.graph.DexMethod bridge -> a
     boolean $assertionsDisabled -> c
@@ -59512,11 +59603,11 @@
     1:1:com.android.tools.r8.graph.DexMethod getBridge():115:115 -> a
     1:1:com.android.tools.r8.graph.DexClassAndMember getTarget():119:119 -> b
     1:1:boolean shouldAddBridge():123:123 -> c
-com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer -> com.android.tools.r8.internal.HG:
+com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer -> com.android.tools.r8.internal.MG:
     void acceptNestFieldGetBridge(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod) -> b
     void acceptNestMethodBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod) -> c
     void acceptNestFieldPutBridge(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod) -> d
-com.android.tools.r8.ir.desugar.records.RecordCfMethods -> com.android.tools.r8.internal.vQ:
+com.android.tools.r8.ir.desugar.records.RecordCfMethods -> com.android.tools.r8.internal.AQ:
     1:17:com.android.tools.r8.graph.CfCode RecordMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):52:68 -> a
     18:21:com.android.tools.r8.graph.CfCode RecordMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):66:69 -> a
     22:36:com.android.tools.r8.graph.CfCode RecordMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):64:78 -> a
@@ -59558,7 +59649,7 @@
     296:507:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):106:317 -> b
     508:508:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> b
     508:508:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):317 -> b
-com.android.tools.r8.ir.desugar.records.RecordCfToCfRewriter -> com.android.tools.r8.internal.wQ:
+com.android.tools.r8.ir.desugar.records.RecordCfToCfRewriter -> com.android.tools.r8.internal.BQ:
     com.android.tools.r8.graph.AppView appView -> a
     1:2:void <init>(com.android.tools.r8.graph.AppView):42:43 -> <init>
     1:2:com.android.tools.r8.ir.desugar.records.RecordCfToCfRewriter create(com.android.tools.r8.graph.AppView):34:35 -> a
@@ -59578,7 +59669,7 @@
     32:47:com.android.tools.r8.cf.code.CfInvokeDynamic rewriteRecordInvokeDynamic(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.naming.NamingLens):60 -> a
     48:48:com.android.tools.r8.cf.code.CfInvokeDynamic com.android.tools.r8.ir.desugar.records.RecordCfToCfRewriter.writeRecordInvokeDynamic(com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic):97:97 -> a
     48:48:com.android.tools.r8.cf.code.CfInvokeDynamic rewriteRecordInvokeDynamic(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.naming.NamingLens):60 -> a
-com.android.tools.r8.ir.desugar.records.RecordDesugaring -> com.android.tools.r8.internal.AQ:
+com.android.tools.r8.ir.desugar.records.RecordDesugaring -> com.android.tools.r8.internal.FQ:
     com.android.tools.r8.graph.DexItemFactory factory -> b
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.graph.DexProto recordToStringHelperProto -> c
@@ -59725,9 +59816,9 @@
     10:12:java.util.List desugarInvokeRecordToString(com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.records.RecordDesugaringEventConsumer$RecordInstructionDesugaringEventConsumer,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):333 -> b
     13:23:java.util.List desugarInvokeRecordToString(com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.records.RecordDesugaringEventConsumer$RecordInstructionDesugaringEventConsumer,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):334:344 -> b
     24:37:java.util.List desugarInvokeRecordToString(com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.records.RecordDesugaringEventConsumer$RecordInstructionDesugaringEventConsumer,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):341:354 -> b
-com.android.tools.r8.ir.desugar.records.RecordDesugaringEventConsumer -> com.android.tools.r8.internal.BQ:
+com.android.tools.r8.ir.desugar.records.RecordDesugaringEventConsumer -> com.android.tools.r8.internal.GQ:
     void acceptRecordClass(com.android.tools.r8.graph.DexProgramClass) -> a
-com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter -> com.android.tools.r8.internal.HQ:
+com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter -> com.android.tools.r8.internal.MQ:
     com.android.tools.r8.graph.AppView appView -> a
     boolean $assertionsDisabled -> c
     com.android.tools.r8.ir.conversion.IRConverter irConverter -> b
@@ -59780,7 +59871,7 @@
     70:70:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldValues(com.android.tools.r8.graph.ProgramMethod):86:86 -> a
     70:70:void rewriteRecordFieldValues():61 -> a
     71:88:void splitIfCatchHandlers(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,java.util.ListIterator):133:150 -> a
-com.android.tools.r8.ir.desugar.records.RecordRewriterHelper -> com.android.tools.r8.internal.KQ:
+com.android.tools.r8.ir.desugar.records.RecordRewriterHelper -> com.android.tools.r8.internal.PQ:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():24:24 -> <clinit>
     1:31:boolean isInvokeDynamicOnRecord(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):33:63 -> a
@@ -59796,8 +59887,8 @@
     74:74:boolean com.android.tools.r8.ir.desugar.records.RecordRewriterHelper.isInvokeDynamicOnRecord(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):28:28 -> a
     74:74:com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic parseInvokeDynamicOnRecord(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):106 -> a
     75:87:com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic parseInvokeDynamicOnRecord(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):106:118 -> a
-com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$1 -> com.android.tools.r8.internal.IQ:
-com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic -> com.android.tools.r8.internal.JQ:
+com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$1 -> com.android.tools.r8.internal.NQ:
+com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic -> com.android.tools.r8.internal.OQ:
     com.android.tools.r8.graph.DexString methodName -> a
     com.android.tools.r8.graph.DexString fieldNames -> c
     com.android.tools.r8.graph.DexField[] fields -> d
@@ -59817,7 +59908,7 @@
     1:1:com.android.tools.r8.graph.DexProto getMethodProto():168:168 -> e
     1:1:com.android.tools.r8.graph.DexProgramClass getRecordClass():156:156 -> f
     1:1:com.android.tools.r8.graph.DexType getRecordType():152:152 -> g
-com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring -> com.android.tools.r8.internal.wX:
+com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring -> com.android.tools.r8.internal.BX:
     com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods stringBuilderMethods -> b
     java.util.Map paramTypeToAppendMethod -> c
     com.android.tools.r8.graph.DexItemFactory factory -> a
@@ -59913,12 +60004,12 @@
     598:598:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
     598:598:com.android.tools.r8.errors.CompilationError error(com.android.tools.r8.graph.ProgramMethod,java.lang.String):422 -> a
     1:1:com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods access$100(com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring):49:49 -> b
-com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$ArgumentChunk -> com.android.tools.r8.internal.sX:
+com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$ArgumentChunk -> com.android.tools.r8.internal.xX:
     int variableIndex -> c
     1:2:void <init>(com.android.tools.r8.graph.DexMethod,int):376:377 -> <init>
     com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$ArgumentChunk asArgumentChunk() -> a
     1:1:int getVariableIndex():381:381 -> d
-com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$Chunk -> com.android.tools.r8.internal.tX:
+com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$Chunk -> com.android.tools.r8.internal.yX:
     boolean $assertionsDisabled -> b
     com.android.tools.r8.graph.DexMethod method -> a
     1:1:void <clinit>():337:337 -> <clinit>
@@ -59931,7 +60022,7 @@
     2:2:com.android.tools.r8.ir.code.ValueType getValueType():350 -> c
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     3:4:com.android.tools.r8.ir.code.ValueType getValueType():350:351 -> c
-com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$ConcatBuilder -> com.android.tools.r8.internal.uX:
+com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$ConcatBuilder -> com.android.tools.r8.internal.zX:
     java.util.List chunks -> a
     com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring this$0 -> e
     com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$ArgumentChunk biggestArgumentChunk -> b
@@ -59957,12 +60048,12 @@
     37:37:java.util.Collection desugar(com.android.tools.r8.ir.desugar.LocalStackAllocator):312 -> a
     38:54:java.util.Collection desugar(com.android.tools.r8.ir.desugar.LocalStackAllocator):312:328 -> a
     55:59:java.util.Collection desugar(com.android.tools.r8.ir.desugar.LocalStackAllocator):326:330 -> a
-com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$ConstantChunk -> com.android.tools.r8.internal.vX:
+com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$ConstantChunk -> com.android.tools.r8.internal.AX:
     com.android.tools.r8.graph.DexString stringConstant -> c
     1:2:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexString):400:401 -> <init>
     com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$ConstantChunk asConstantChunk() -> b
     1:1:com.android.tools.r8.graph.DexString getStringConstant():405:405 -> d
-com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring -> com.android.tools.r8.internal.YZ:
+com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring -> com.android.tools.r8.internal.e00:
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.graph.DexProto twrCloseResourceProto -> c
@@ -60511,7 +60602,7 @@
     42:42:void markAssumeDynamicTypeUsersForRemoval(com.android.tools.r8.ir.code.Value):65 -> a
     1:1:java.util.Set getAffectedValues():52:52 -> b
     1:1:boolean mayHaveIntroducedTrivialPhi():56:56 -> c
-com.android.tools.r8.ir.optimize.BasicBlockInstructionsEquivalence -> com.android.tools.r8.internal.z4:
+com.android.tools.r8.ir.optimize.BasicBlockInstructionsEquivalence -> com.android.tools.r8.internal.A4:
     com.android.tools.r8.ir.regalloc.RegisterAllocator allocator -> a
     int[] hashes -> b
     boolean $assertionsDisabled -> c
@@ -60530,7 +60621,7 @@
     39:39:boolean doEquivalent(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):70 -> a
     40:40:void clearComputedHash(com.android.tools.r8.ir.code.BasicBlock):74:74 -> a
     1:12:int computeHash(com.android.tools.r8.ir.code.BasicBlock):90:101 -> b
-com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization -> com.android.tools.r8.internal.ca:
+com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization -> com.android.tools.r8.internal.da:
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> c
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$WaveDoneAction waveDoneAction -> d
@@ -60603,14 +60694,14 @@
     736:736:java.util.Set lambda$findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts$4(com.android.tools.r8.graph.DexField):461:461 -> a
     737:737:java.util.Map validateFinalFieldPuts(java.util.Map,java.util.Map):519:519 -> a
     738:740:boolean isClassNameConstantOf(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.code.Instruction):537:539 -> a
-    741:741:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveNameLookup(com.android.tools.r8.graph.DexMethod):1582:1582 -> a
+    741:741:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveNameLookup(com.android.tools.r8.graph.DexMethod):1584:1584 -> a
     741:741:boolean isClassNameConstantOf(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.code.Instruction):539 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     742:744:boolean isClassNameConstantOf(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.code.Instruction):542:544 -> a
     745:745:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> a
     745:745:boolean isClassNameConstantOf(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.code.Instruction):544 -> a
     746:747:boolean isClassNameConstantOf(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.code.Instruction):544:545 -> a
-com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult -> com.android.tools.r8.internal.aa:
+com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult -> com.android.tools.r8.internal.ba:
     java.util.Map fieldsWithStaticValues -> a
     com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult EMPTY -> b
     boolean $assertionsDisabled -> c
@@ -60620,13 +60711,13 @@
     2:3:void forEachOptimizedField(java.util.function.BiConsumer):80:81 -> a
     4:9:com.android.tools.r8.graph.DexValue getStaticValue(com.android.tools.r8.graph.DexEncodedField):94:99 -> a
     1:3:boolean hasStaticValue(com.android.tools.r8.graph.DexEncodedField):86:88 -> b
-com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$WaveDoneAction -> com.android.tools.r8.internal.ba:
+com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$WaveDoneAction -> com.android.tools.r8.internal.ca:
     java.util.Map fieldsWithStaticValues -> b
     1:1:void <init>(java.util.Map):107:107 -> <init>
     2:5:void <init>(java.util.Map):105:108 -> <init>
     1:1:void join(java.util.Map):112:112 -> a
     2:2:void execute():118:118 -> a
-com.android.tools.r8.ir.optimize.CodeRewriter -> com.android.tools.r8.internal.Mb:
+com.android.tools.r8.ir.optimize.CodeRewriter -> com.android.tools.r8.internal.Nb:
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.utils.InternalOptions options -> c
@@ -61212,10 +61303,10 @@
     252:253:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):241:242 -> h
     254:260:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):239:245 -> h
     261:261:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):0:0 -> h
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":514,"2":515,"3":516}}
-    514:514:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):245:245 -> h
-    515:515:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):245:245 -> h
-    516:516:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):245:245 -> h
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":507,"2":508,"3":509}}
+    507:507:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):245:245 -> h
+    508:508:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):245:245 -> h
+    509:509:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):245:245 -> h
     506:506:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):245:245 -> h
     1:1:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1039:1039 -> i
     1:1:void rewriteKnownArrayLengthCalls(com.android.tools.r8.ir.code.IRCode):3435 -> i
@@ -61254,7 +61345,7 @@
     1:1:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode):957:957 -> k
     2:2:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitch(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):961:961 -> k
     2:2:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode):957 -> k
-    3:3:boolean com.android.tools.r8.utils.InternalOptions.isSwitchRewritingEnabled():1885:1885 -> k
+    3:3:boolean com.android.tools.r8.utils.InternalOptions.isSwitchRewritingEnabled():1893:1893 -> k
     3:3:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitch(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):961 -> k
     3:3:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode):957 -> k
     4:4:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitch(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):964:964 -> k
@@ -61282,7 +61373,7 @@
     28:47:void com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitchForMaxIntOnly(com.android.tools.r8.ir.code.IRCode):998:1017 -> l
     28:47:void rewriteSwitchForMaxInt(com.android.tools.r8.ir.code.IRCode):973 -> l
     1:12:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):254:265 -> m
-    13:13:boolean com.android.tools.r8.graph.DexItemFactory$ObjectsMethods.isRequireNonNullMethod(com.android.tools.r8.graph.DexMethod):1489:1489 -> m
+    13:13:boolean com.android.tools.r8.graph.DexItemFactory$ObjectsMethods.isRequireNonNullMethod(com.android.tools.r8.graph.DexMethod):1491:1491 -> m
     13:13:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):265 -> m
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     14:32:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):269:287 -> m
@@ -61493,10 +61584,10 @@
     8:8:boolean com.android.tools.r8.ir.code.Instruction.isNeg():0:0 -> u
     8:8:void workaroundNumberConversionRegisterAllocationBug(com.android.tools.r8.ir.code.IRCode):3872 -> u
     9:41:void workaroundNumberConversionRegisterAllocationBug(com.android.tools.r8.ir.code.IRCode):3873:3905 -> u
-com.android.tools.r8.ir.optimize.CodeRewriter$1 -> com.android.tools.r8.internal.Fb:
+com.android.tools.r8.ir.optimize.CodeRewriter$1 -> com.android.tools.r8.internal.Gb:
     int[] $SwitchMap$com$android$tools$r8$ir$code$If$Type -> a
     1:1:void <clinit>():2679:2679 -> <clinit>
-com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence -> com.android.tools.r8.internal.Gb:
+com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence -> com.android.tools.r8.internal.Hb:
     com.android.tools.r8.utils.InternalOptions options -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():2400:2400 -> <clinit>
@@ -61531,7 +61622,7 @@
     52:56:int com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.doHash(com.android.tools.r8.ir.code.Instruction):2457 -> a
     52:56:int doHash(java.lang.Object):2400 -> a
     57:62:boolean identicalValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):2464:2469 -> a
-com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult -> com.android.tools.r8.internal.Hb:
+com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult -> com.android.tools.r8.internal.Ib:
     boolean anyAffectedValues -> a
     boolean anySimplifications -> b
     boolean $assertionsDisabled -> c
@@ -61540,7 +61631,7 @@
     2:5:void <init>(boolean,boolean):2562:2565 -> <init>
     1:1:boolean anyAffectedValues():2569:2569 -> a
     1:1:boolean anySimplifications():2573:2573 -> b
-com.android.tools.r8.ir.optimize.CodeRewriter$IfBuilder -> com.android.tools.r8.internal.Ib:
+com.android.tools.r8.ir.optimize.CodeRewriter$IfBuilder -> com.android.tools.r8.internal.Jb:
     com.android.tools.r8.ir.code.BasicBlock fallthrough -> g
     com.android.tools.r8.ir.code.BasicBlock target -> f
     com.android.tools.r8.ir.code.Value left -> d
@@ -61564,11 +61655,11 @@
     23:26:com.android.tools.r8.ir.code.BasicBlock build():675 -> a
     27:29:com.android.tools.r8.ir.code.BasicBlock build():677:679 -> a
     1:1:com.android.tools.r8.ir.optimize.CodeRewriter$IfBuilder setTarget(com.android.tools.r8.ir.code.BasicBlock):654:654 -> b
-com.android.tools.r8.ir.optimize.CodeRewriter$InstructionBuilder -> com.android.tools.r8.internal.Jb:
+com.android.tools.r8.ir.optimize.CodeRewriter$InstructionBuilder -> com.android.tools.r8.internal.Kb:
     com.android.tools.r8.ir.code.Position position -> b
     int blockNumber -> a
     1:2:void <init>(com.android.tools.r8.ir.code.Position):554:555 -> <init>
-com.android.tools.r8.ir.optimize.CodeRewriter$Interval -> com.android.tools.r8.internal.Kb:
+com.android.tools.r8.ir.optimize.CodeRewriter$Interval -> com.android.tools.r8.internal.Lb:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList keys -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():760:760 -> <clinit>
@@ -61604,7 +61695,7 @@
     14:14:boolean com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.addAll(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):564:564 -> b
     14:14:void addInterval(com.android.tools.r8.ir.optimize.CodeRewriter$Interval):782 -> b
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-com.android.tools.r8.ir.optimize.CodeRewriter$SwitchBuilder -> com.android.tools.r8.internal.Lb:
+com.android.tools.r8.ir.optimize.CodeRewriter$SwitchBuilder -> com.android.tools.r8.internal.Mb:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap keyToTarget -> d
     com.android.tools.r8.ir.code.BasicBlock fallthrough -> e
     com.android.tools.r8.ir.code.Value value -> c
@@ -61621,7 +61712,7 @@
     31:32:com.android.tools.r8.ir.code.BasicBlock build(com.android.tools.r8.ir.code.IRMetadata):619:620 -> a
     33:33:java.lang.Integer lambda$build$0(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap,com.android.tools.r8.ir.code.BasicBlock):609:609 -> a
     1:1:java.lang.Integer lambda$build$1(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap,com.android.tools.r8.ir.code.BasicBlock):615:615 -> b
-com.android.tools.r8.ir.optimize.ConstantCanonicalizer -> com.android.tools.r8.internal.Ed:
+com.android.tools.r8.ir.optimize.ConstantCanonicalizer -> com.android.tools.r8.internal.Fd:
     com.android.tools.r8.ir.optimize.CodeRewriter codeRewriter -> a
     int numberOfEffectivelyFinalFieldCanonicalization -> f
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap histogramOfCanonicalizationCandidatesPerMethod -> g
@@ -61681,7 +61772,7 @@
     237:237:boolean lambda$canonicalize$2(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):199:199 -> a
     238:238:int lambda$canonicalize$4(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):209:209 -> a
     1:1:boolean lambda$canonicalize$3(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):208:208 -> b
-com.android.tools.r8.ir.optimize.ConstantCanonicalizer$1 -> com.android.tools.r8.internal.Dd:
+com.android.tools.r8.ir.optimize.ConstantCanonicalizer$1 -> com.android.tools.r8.internal.Ed:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():95:95 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.optimize.ConstantCanonicalizer):95:95 -> <init>
@@ -61697,7 +61788,7 @@
     29:29:int hashCode(java.lang.Object):95 -> a
     30:30:int com.android.tools.r8.ir.optimize.ConstantCanonicalizer$1.hashCode(com.android.tools.r8.ir.code.Instruction):102:102 -> a
     30:30:int hashCode(java.lang.Object):95 -> a
-com.android.tools.r8.ir.optimize.DeadCodeRemover -> com.android.tools.r8.internal.Ge:
+com.android.tools.r8.ir.optimize.DeadCodeRemover -> com.android.tools.r8.internal.He:
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.ir.optimize.CodeRewriter codeRewriter -> b
     boolean $assertionsDisabled -> c
@@ -61739,7 +61830,7 @@
     15:15:boolean verifyNoDeadCode(com.android.tools.r8.ir.code.IRCode):75 -> b
     16:16:boolean verifyNoDeadCode(com.android.tools.r8.ir.code.IRCode):76:76 -> b
     17:17:boolean verifyNoDeadCode(com.android.tools.r8.ir.code.IRCode):75:75 -> b
-com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult -> com.android.tools.r8.internal.Fe:
+com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult -> com.android.tools.r8.internal.Ge:
     com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult DEFINITELY_DEAD_INSTANCE -> a
     com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult DEFINITELY_NOT_DEAD_INSTANCE -> b
     1:9:void <clinit>():239:247 -> <clinit>
@@ -61750,16 +61841,16 @@
     boolean isMaybeDead() -> c
     boolean isNotDead() -> d
     1:1:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult notDead():260:260 -> e
-com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult$1 -> com.android.tools.r8.internal.Ce:
+com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult$1 -> com.android.tools.r8.internal.De:
     1:1:void <init>():240:240 -> <init>
-com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult$2 -> com.android.tools.r8.internal.De:
+com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult$2 -> com.android.tools.r8.internal.Ee:
     1:1:void <init>():248:248 -> <init>
-com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult$3 -> com.android.tools.r8.internal.Ee:
+com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult$3 -> com.android.tools.r8.internal.Fe:
     com.android.tools.r8.ir.code.Value val$inValueRequiredToBeDead -> c
     1:1:void <init>(com.android.tools.r8.ir.code.Value):264:264 -> <init>
     1:1:java.lang.Iterable getValuesRequiredToBeDead():277:277 -> b
     2:2:java.util.Iterator lambda$getValuesRequiredToBeDead$0(com.android.tools.r8.ir.code.Value):277:277 -> b
-com.android.tools.r8.ir.optimize.DefaultInliningOracle -> com.android.tools.r8.internal.Ve:
+com.android.tools.r8.ir.optimize.DefaultInliningOracle -> com.android.tools.r8.internal.We:
     com.android.tools.r8.ir.conversion.MethodProcessor methodProcessor -> e
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.shaking.MainDexInfo mainDexInfo -> c
@@ -61896,7 +61987,7 @@
     9:22:int com.android.tools.r8.ir.optimize.DefaultInliningOracle.getInliningInstructionLimitIncrement(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):229:242 -> b
     9:22:boolean satisfiesRequirementsForSimpleInlining(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):212 -> b
     23:30:boolean satisfiesRequirementsForSimpleInlining(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):213:220 -> b
-com.android.tools.r8.ir.optimize.Devirtualizer -> com.android.tools.r8.internal.Yf:
+com.android.tools.r8.ir.optimize.Devirtualizer -> com.android.tools.r8.internal.Zf:
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.utils.InternalOptions options -> b
     boolean $assertionsDisabled -> c
@@ -61977,7 +62068,7 @@
     339:339:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> a
     339:339:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):318 -> a
     340:342:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):318:320 -> a
-com.android.tools.r8.ir.optimize.DynamicTypeOptimization -> com.android.tools.r8.internal.Eh:
+com.android.tools.r8.ir.optimize.DynamicTypeOptimization -> com.android.tools.r8.internal.Gh:
     com.android.tools.r8.graph.AppView appView -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():18:18 -> <clinit>
@@ -61991,7 +62082,7 @@
     9:9:com.android.tools.r8.ir.analysis.type.DynamicType computeDynamicReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):38 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     10:13:com.android.tools.r8.ir.analysis.type.DynamicType computeDynamicReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):38:41 -> a
-com.android.tools.r8.ir.optimize.ForcedInliningOracle -> com.android.tools.r8.internal.Qk:
+com.android.tools.r8.ir.optimize.ForcedInliningOracle -> com.android.tools.r8.internal.Sk:
     java.util.Map invokesToInline -> c
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.graph.ProgramMethod method -> b
@@ -62019,7 +62110,7 @@
     22:22:com.android.tools.r8.ir.analysis.type.ClassTypeElement getReceiverTypeOrDefault(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.type.ClassTypeElement):148 -> a
     23:23:com.android.tools.r8.ir.analysis.type.ClassTypeElement getReceiverTypeOrDefault(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.type.ClassTypeElement):148:148 -> a
     1:1:com.android.tools.r8.graph.AppView appView():42:42 -> b
-com.android.tools.r8.ir.optimize.IdempotentFunctionCallCanonicalizer -> com.android.tools.r8.internal.Bn:
+com.android.tools.r8.ir.optimize.IdempotentFunctionCallCanonicalizer -> com.android.tools.r8.internal.Dn:
     com.android.tools.r8.graph.DexItemFactory factory -> b
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap histogramOfCanonicalizationCandidatesPerMethod -> e
@@ -62060,7 +62151,7 @@
     239:261:void insertCanonicalizedInvokeWithInValues(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Invoke):287:309 -> a
     262:262:boolean lambda$insertCanonicalizedInvokeWithInValues$6(com.android.tools.r8.ir.code.Instruction):304:304 -> a
     1:1:boolean lambda$canonicalize$3(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):214:214 -> b
-com.android.tools.r8.ir.optimize.IdempotentFunctionCallCanonicalizer$1 -> com.android.tools.r8.internal.An:
+com.android.tools.r8.ir.optimize.IdempotentFunctionCallCanonicalizer$1 -> com.android.tools.r8.internal.Cn:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():97:97 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.optimize.IdempotentFunctionCallCanonicalizer):97:97 -> <init>
@@ -62070,7 +62161,7 @@
     7:7:int hashCode(java.lang.Object):97:97 -> a
     8:8:int com.android.tools.r8.ir.optimize.IdempotentFunctionCallCanonicalizer$1.hashCode(com.android.tools.r8.ir.code.InvokeMethod):100:100 -> a
     8:8:int hashCode(java.lang.Object):97 -> a
-com.android.tools.r8.ir.optimize.Inliner -> com.android.tools.r8.internal.up:
+com.android.tools.r8.ir.optimize.Inliner -> com.android.tools.r8.internal.wp:
     java.util.Set singleCallerInlinedPrunedMethodsForTesting -> g
     com.android.tools.r8.ir.optimize.MultiCallerInliner multiCallerInliner -> e
     com.android.tools.r8.graph.AppView appView -> a
@@ -62208,7 +62299,7 @@
     5:5:int com.android.tools.r8.graph.DexType.computeHashCode():124:124 -> hashCode
     5:5:int hashCode():275 -> hashCode
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-com.android.tools.r8.ir.optimize.Inliner$InlineAction -> com.android.tools.r8.internal.op:
+com.android.tools.r8.ir.optimize.Inliner$InlineAction -> com.android.tools.r8.internal.qp:
     com.android.tools.r8.ir.optimize.Inliner$Reason reason -> c
     boolean shouldSynthesizeNullCheckForReceiver -> e
     com.android.tools.r8.graph.DexProgramClass downcastClass -> f
@@ -62258,18 +62349,18 @@
     1:1:com.android.tools.r8.graph.DexProgramClass getDowncastClass():534:534 -> b
     1:2:void setShouldSynthesizeInitClass():542:543 -> c
     1:2:void setShouldSynthesizeNullCheckForReceiver():547:548 -> d
-com.android.tools.r8.ir.optimize.Inliner$InlineResult -> com.android.tools.r8.internal.pp:
+com.android.tools.r8.ir.optimize.Inliner$InlineResult -> com.android.tools.r8.internal.rp:
     1:1:void <init>():500:500 -> <init>
     com.android.tools.r8.ir.optimize.Inliner$InlineAction asInlineAction() -> a
-com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason -> com.android.tools.r8.internal.qp:
+com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason -> com.android.tools.r8.internal.sp:
     com.android.tools.r8.ir.optimize.Inliner$Reason reason -> a
     com.android.tools.r8.ir.code.IRCode code -> b
     1:3:void <init>(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.Inliner$Reason):772:774 -> <init>
-com.android.tools.r8.ir.optimize.Inliner$InliningInfo -> com.android.tools.r8.internal.rp:
+com.android.tools.r8.ir.optimize.Inliner$InliningInfo -> com.android.tools.r8.internal.tp:
     com.android.tools.r8.graph.DexProgramClass receiverClass -> b
     com.android.tools.r8.graph.ProgramMethod target -> a
     1:3:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):818:820 -> <init>
-com.android.tools.r8.ir.optimize.Inliner$Reason -> com.android.tools.r8.internal.sp:
+com.android.tools.r8.ir.optimize.Inliner$Reason -> com.android.tools.r8.internal.up:
     com.android.tools.r8.ir.optimize.Inliner$Reason NEVER -> g
     com.android.tools.r8.ir.optimize.Inliner$Reason MULTI_CALLER_CANDIDATE -> e
     com.android.tools.r8.ir.optimize.Inliner$Reason SIMPLE -> f
@@ -62278,7 +62369,7 @@
     com.android.tools.r8.ir.optimize.Inliner$Reason FORCE -> b
     1:8:void <clinit>():485:492 -> <clinit>
     1:1:void <init>(java.lang.String,int):484:484 -> <init>
-com.android.tools.r8.ir.optimize.Inliner$RetryAction -> com.android.tools.r8.internal.tp:
+com.android.tools.r8.ir.optimize.Inliner$RetryAction -> com.android.tools.r8.internal.vp:
     1:1:void <init>():759:759 -> <init>
 com.android.tools.r8.ir.optimize.InliningConstraints -> com.android.tools.r8.ir.optimize.c:
     com.android.tools.r8.graph.AppView appView -> a
@@ -62403,12 +62494,12 @@
     1:1:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeNewArray(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):196:196 -> f
     1:1:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forNewArrayEmpty(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):287:287 -> g
     1:1:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forNewInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):299:299 -> h
-com.android.tools.r8.ir.optimize.InliningOracle -> com.android.tools.r8.internal.yp:
+com.android.tools.r8.ir.optimize.InliningOracle -> com.android.tools.r8.internal.Ap:
     com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter) -> a
     boolean isForcedInliningOracle() -> a
     com.android.tools.r8.graph.ProgramMethod lookupSingleTarget(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod) -> a
     boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter) -> a
-com.android.tools.r8.ir.optimize.InliningStrategy -> com.android.tools.r8.internal.Ap:
+com.android.tools.r8.ir.optimize.InliningStrategy -> com.android.tools.r8.internal.Cp:
     boolean allowInliningOfInvokeInInlinee(com.android.tools.r8.ir.optimize.Inliner$InlineAction,int,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter) -> a
     com.android.tools.r8.ir.analysis.type.ClassTypeElement getReceiverTypeOrDefault(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.type.ClassTypeElement) -> a
     void markInlined(com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason) -> a
@@ -62431,7 +62522,7 @@
     19:19:boolean setDowncastTypeIfNeeded(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.Inliner$InlineAction,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):66 -> a
     20:23:boolean setDowncastTypeIfNeeded(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.Inliner$InlineAction,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):66:69 -> a
     com.android.tools.r8.graph.AppView appView() -> b
-com.android.tools.r8.ir.optimize.InstructionEquivalence -> com.android.tools.r8.internal.lq:
+com.android.tools.r8.ir.optimize.InstructionEquivalence -> com.android.tools.r8.internal.nq:
     com.android.tools.r8.ir.regalloc.RegisterAllocator allocator -> a
     1:2:void <init>(com.android.tools.r8.ir.regalloc.RegisterAllocator):14:15 -> <init>
     1:1:boolean doEquivalent(java.lang.Object,java.lang.Object):11:11 -> a
@@ -62439,7 +62530,7 @@
     3:12:int com.android.tools.r8.ir.optimize.InstructionEquivalence.doHash(com.android.tools.r8.ir.code.Instruction):27:36 -> a
     3:12:int doHash(java.lang.Object):11 -> a
     13:14:boolean doEquivalent(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):20:21 -> a
-com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool -> com.android.tools.r8.internal.UD:
+com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool -> com.android.tools.r8.internal.ZD:
     com.android.tools.r8.graph.DexClass clazz -> a
     com.android.tools.r8.com.google.common.base.Equivalence equivalence -> b
     java.util.Set interfaces -> d
@@ -62476,7 +62567,7 @@
     1:2:void linkSubtype(com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool):181:182 -> b
     3:4:void seen(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):195:196 -> b
     1:2:void linkSupertype(com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool):176:177 -> c
-com.android.tools.r8.ir.optimize.MemberValuePropagation -> com.android.tools.r8.internal.hE:
+com.android.tools.r8.ir.optimize.MemberValuePropagation -> com.android.tools.r8.internal.mE:
     com.android.tools.r8.ir.optimize.info.OptimizationFeedback feedback -> d
     com.android.tools.r8.graph.AppView appView -> a
     java.util.Set warnedFields -> c
@@ -62606,7 +62697,7 @@
     406:407:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):541:542 -> a
     408:420:void com.android.tools.r8.ir.optimize.MemberValuePropagation.replaceStaticPutByInitClassIfNeverRead(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticPut):482:494 -> a
     408:420:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):542 -> a
-com.android.tools.r8.ir.optimize.MethodPoolCollection -> com.android.tools.r8.internal.WE:
+com.android.tools.r8.ir.optimize.MethodPoolCollection -> com.android.tools.r8.internal.bF:
     java.util.Map com.android.tools.r8.ir.optimize.MemberPoolCollection.memberPools -> d
     com.android.tools.r8.graph.AppView com.android.tools.r8.ir.optimize.MemberPoolCollection.appView -> b
     com.android.tools.r8.com.google.common.base.Equivalence com.android.tools.r8.ir.optimize.MemberPoolCollection.equivalence -> a
@@ -62696,7 +62787,7 @@
     27:27:void com.android.tools.r8.ir.optimize.MemberPoolCollection.lambda$getAllSubTypesExclusive$4(java.util.Deque,com.android.tools.r8.graph.DexType):155:155 -> d
     28:28:void com.android.tools.r8.ir.optimize.MemberPoolCollection.addNonNull(java.util.Collection,java.lang.Object):273:273 -> d
     28:28:void com.android.tools.r8.ir.optimize.MemberPoolCollection.lambda$getAllSubTypesExclusive$4(java.util.Deque,com.android.tools.r8.graph.DexType):155 -> d
-com.android.tools.r8.ir.optimize.MoveEliminator -> com.android.tools.r8.internal.MF:
+com.android.tools.r8.ir.optimize.MoveEliminator -> com.android.tools.r8.internal.RF:
     com.android.tools.r8.ir.regalloc.RegisterAllocator allocator -> b
     java.util.Set activeMoves -> a
     1:1:void <init>(com.android.tools.r8.ir.regalloc.RegisterAllocator):17:17 -> <init>
@@ -62704,7 +62795,7 @@
     1:12:boolean shouldBeEliminated(com.android.tools.r8.ir.code.Instruction):22:33 -> a
     13:51:boolean shouldBeEliminated(com.android.tools.r8.ir.code.Instruction):32:70 -> a
     52:56:boolean lambda$shouldBeEliminated$0(com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.code.Move):55:59 -> a
-com.android.tools.r8.ir.optimize.MultiCallerInliner -> com.android.tools.r8.internal.XF:
+com.android.tools.r8.ir.optimize.MultiCallerInliner -> com.android.tools.r8.internal.cG:
     com.android.tools.r8.graph.AppView appView -> a
     int[] multiCallerInliningInstructionLimits -> c
     com.android.tools.r8.utils.collections.ProgramMethodMap multiInlineCallEdges -> b
@@ -62713,7 +62804,7 @@
     1:1:void <init>(com.android.tools.r8.graph.AppView):53:53 -> <init>
     2:9:void <init>(com.android.tools.r8.graph.AppView):49:56 -> <init>
     1:5:void recordCallEdgesForMultiCallerInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):61:65 -> a
-    6:10:void com.android.tools.r8.utils.Timing.time(java.lang.String,com.android.tools.r8.utils.ThrowingAction):374:378 -> a
+    6:10:void com.android.tools.r8.utils.Timing.time(java.lang.String,com.android.tools.r8.utils.ThrowingAction):379:383 -> a
     6:10:void recordCallEdgesForMultiCallerInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):65 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     11:11:void lambda$recordCallEdgesForMultiCallerInlining$0(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):67:67 -> a
@@ -62751,11 +62842,11 @@
     54:54:boolean lambda$stopTrackingCallSitesForMethodIfDefinitelyIneligibleForMultiCallerInlining$3(com.android.tools.r8.graph.ProgramMethod):160:160 -> b
     55:55:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder lambda$onLastWaveDone$6(com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerCallGraph):200:200 -> b
     1:1:void onMethodPruned(com.android.tools.r8.graph.ProgramMethod):186:186 -> c
-com.android.tools.r8.ir.optimize.NestReducer -> com.android.tools.r8.internal.KG:
+com.android.tools.r8.ir.optimize.NestReducer -> com.android.tools.r8.internal.PG:
     com.android.tools.r8.graph.AppView appView -> a
     1:2:void <init>(com.android.tools.r8.graph.AppView):35:36 -> <init>
     1:2:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):40:41 -> a
-    3:3:boolean com.android.tools.r8.utils.InternalOptions.canUseNestBasedAccess():1824:1824 -> a
+    3:3:boolean com.android.tools.r8.utils.InternalOptions.canUseNestBasedAccess():1828:1828 -> a
     3:3:boolean com.android.tools.r8.utils.InternalOptions.shouldDesugarNests():518 -> a
     3:3:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):41 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
@@ -62781,7 +62872,7 @@
     3:3:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):31:31 -> c
     3:3:void processNestMember(com.android.tools.r8.graph.DexProgramClass):100 -> c
     4:6:void processNestMember(com.android.tools.r8.graph.DexProgramClass):100:102 -> c
-com.android.tools.r8.ir.optimize.NestUtils -> com.android.tools.r8.internal.LG:
+com.android.tools.r8.ir.optimize.NestUtils -> com.android.tools.r8.internal.QG:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():22:22 -> <clinit>
     1:14:boolean sameNest(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):28:41 -> a
@@ -62805,7 +62896,7 @@
     44:54:void rewriteNestCallsForInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):73:83 -> a
     55:55:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):40:40 -> a
     55:55:void rewriteNestCallsForInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):78 -> a
-com.android.tools.r8.ir.optimize.OutlinerImpl -> com.android.tools.r8.internal.DL:
+com.android.tools.r8.ir.optimize.OutlinerImpl -> com.android.tools.r8.internal.IL:
     java.util.Map outlineSites -> b
     java.util.Map generatedOutlines -> c
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> e
@@ -62906,7 +62997,7 @@
     29:50:java.util.List buildOutlineMethods():1518:1539 -> c
     1:1:java.util.Map access$300(com.android.tools.r8.ir.optimize.OutlinerImpl):120:120 -> d
     1:1:java.util.Map access$400(com.android.tools.r8.ir.optimize.OutlinerImpl):120:120 -> e
-com.android.tools.r8.ir.optimize.OutlinerImpl$BinOpOutlineInstruction -> com.android.tools.r8.internal.rL:
+com.android.tools.r8.ir.optimize.OutlinerImpl$BinOpOutlineInstruction -> com.android.tools.r8.internal.wL:
     com.android.tools.r8.ir.code.NumericType numericType -> c
     1:2:void <init>(com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction$OutlineInstructionType,com.android.tools.r8.ir.code.NumericType):229:230 -> <init>
     boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens) -> a
@@ -62961,7 +63052,7 @@
     1:1:int com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction.hashCode():199:199 -> hashCode
     1:1:int hashCode():241 -> hashCode
     2:2:int hashCode():241:241 -> hashCode
-com.android.tools.r8.ir.optimize.OutlinerImpl$InvokeOutlineInstruction -> com.android.tools.r8.internal.sL:
+com.android.tools.r8.ir.optimize.OutlinerImpl$InvokeOutlineInstruction -> com.android.tools.r8.internal.xL:
     com.android.tools.r8.ir.code.Invoke$Type invokeType -> d
     com.android.tools.r8.graph.DexProto proto -> f
     boolean hasOutValue -> e
@@ -63009,7 +63100,7 @@
     1:1:int com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction.hashCode():199:199 -> hashCode
     1:1:int hashCode():439 -> hashCode
     2:6:int hashCode():439:443 -> hashCode
-com.android.tools.r8.ir.optimize.OutlinerImpl$NewInstanceOutlineInstruction -> com.android.tools.r8.internal.tL:
+com.android.tools.r8.ir.optimize.OutlinerImpl$NewInstanceOutlineInstruction -> com.android.tools.r8.internal.yL:
     com.android.tools.r8.graph.DexType clazz -> c
     1:2:void <init>(com.android.tools.r8.graph.DexType):336:337 -> <init>
     1:1:int compareTo(com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction):357:357 -> a
@@ -63038,7 +63129,7 @@
     1:1:int com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction.hashCode():199:199 -> hashCode
     1:1:int hashCode():352 -> hashCode
     2:2:int hashCode():352:352 -> hashCode
-com.android.tools.r8.ir.optimize.OutlinerImpl$Outline -> com.android.tools.r8.internal.uL:
+com.android.tools.r8.ir.optimize.OutlinerImpl$Outline -> com.android.tools.r8.internal.zL:
     java.util.List argumentTypes -> b
     java.util.List templateInstructions -> d
     java.util.List argumentMap -> c
@@ -63083,7 +63174,7 @@
     1:18:boolean equals(java.lang.Object):638:655 -> equals
     1:6:int hashCode():663:668 -> hashCode
     1:37:java.lang.String toString():724:760 -> toString
-com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineCode -> com.android.tools.r8.internal.vL:
+com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineCode -> com.android.tools.r8.internal.AL:
     com.android.tools.r8.ir.optimize.OutlinerImpl this$0 -> e
     com.android.tools.r8.ir.optimize.OutlinerImpl$Outline outline -> d
     1:2:void <init>(com.android.tools.r8.ir.optimize.OutlinerImpl,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):1764:1765 -> <init>
@@ -63091,12 +63182,12 @@
     1:2:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):1791:1792 -> a
     3:3:void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry):1802:1802 -> a
     4:4:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):1807:1807 -> a
-    1:1:int computeHashCode():1812:1812 -> f0
     1:1:boolean computeEquals(java.lang.Object):1817:1817 -> g
-    int estimatedDexCodeSizeUpperBoundInBytes() -> j0
-    int estimatedSizeForInlining() -> k0
+    1:1:int computeHashCode():1812:1812 -> g0
+    int estimatedDexCodeSizeUpperBoundInBytes() -> k0
+    int estimatedSizeForInlining() -> l0
     1:1:java.lang.String toString():1797:1797 -> toString
-com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction -> com.android.tools.r8.internal.xL:
+com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction -> com.android.tools.r8.internal.CL:
     com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction$OutlineInstructionType type -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():140:140 -> <clinit>
@@ -63109,18 +63200,18 @@
     java.lang.String getInstructionName() -> b
     boolean hasOutValue() -> c
     int numberOfInputs() -> d
-com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction$OutlineInstructionType$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.wL:
+com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction$OutlineInstructionType$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.BL:
 # {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
 # {"id":"com.android.tools.r8.synthesized"}
     java.lang.String name(int) -> a
       # {"id":"com.android.tools.r8.synthesized"}
     java.lang.String stringValueOf(int) -> b
       # {"id":"com.android.tools.r8.synthesized"}
-com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineMethodIdentifier -> com.android.tools.r8.internal.yL:
+com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineMethodIdentifier -> com.android.tools.r8.internal.DL:
     java.util.List outlinesForMethod -> p
     1:2:void <init>(com.android.tools.r8.ir.optimize.OutlinerImpl,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,java.util.List,java.util.List):1186:1187 -> <init>
     1:1:void handle(int,int,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):1192:1192 -> a
-com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineRewriter -> com.android.tools.r8.internal.zL:
+com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineRewriter -> com.android.tools.r8.internal.EL:
     com.android.tools.r8.ir.optimize.OutlinerImpl this$0 -> t
     boolean $assertionsDisabled -> u
     com.android.tools.r8.ir.code.IRCode code -> p
@@ -63147,12 +63238,12 @@
     83:83:boolean removeMethodFromOutlineList(com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):1306:1306 -> a
     84:88:boolean removeMethodFromOutlineList(com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):1303:1307 -> a
     89:89:boolean lambda$removeMethodFromOutlineList$0(com.android.tools.r8.graph.ProgramMethod):1305:1305 -> a
-com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSiteIdentifier -> com.android.tools.r8.internal.AL:
+com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSiteIdentifier -> com.android.tools.r8.internal.FL:
     com.android.tools.r8.ir.optimize.OutlinerImpl this$0 -> p
     1:2:void <init>(com.android.tools.r8.ir.optimize.OutlinerImpl,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,java.util.List):1199:1200 -> <init>
     1:3:void handle(int,int,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):1205:1207 -> a
     4:4:java.util.List lambda$handle$0(com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):1206:1206 -> a
-com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSourceCode -> com.android.tools.r8.internal.BL:
+com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSourceCode -> com.android.tools.r8.internal.GL:
     com.android.tools.r8.ir.optimize.OutlinerImpl$Outline outline -> a
     com.android.tools.r8.ir.optimize.OutlinerImpl this$0 -> e
     boolean $assertionsDisabled -> f
@@ -63187,7 +63278,7 @@
     1:1:com.android.tools.r8.ir.code.Position getCurrentPosition():1740:1740 -> e
     boolean verifyRegister(int) -> f
     int instructionIndex(int) -> g
-com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter -> com.android.tools.r8.internal.CL:
+com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter -> com.android.tools.r8.internal.HL:
     com.android.tools.r8.graph.DexType returnType -> j
     int returnValueUniqueUsersLeft -> l
     com.android.tools.r8.ir.optimize.OutlinerImpl this$0 -> n
@@ -63329,7 +63420,7 @@
     8:8:boolean supportedArgumentType(com.android.tools.r8.ir.code.Value):978 -> b
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     9:15:boolean supportedArgumentType(com.android.tools.r8.ir.code.Value):981:987 -> b
-com.android.tools.r8.ir.optimize.PeepholeOptimizer -> com.android.tools.r8.internal.WL:
+com.android.tools.r8.ir.optimize.PeepholeOptimizer -> com.android.tools.r8.internal.bM:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():35:35 -> <clinit>
     1:1:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):40:40 -> a
@@ -63444,7 +63535,7 @@
     426:426:void removeIdenticalPredecessorBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator):466 -> a
     427:430:void removeIdenticalPredecessorBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator):466:469 -> a
     1:1:java.util.List lambda$shareIdenticalBlockSuffix$2(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):271:271 -> b
-com.android.tools.r8.ir.optimize.PhiOptimizations -> com.android.tools.r8.internal.ZL:
+com.android.tools.r8.ir.optimize.PhiOptimizations -> com.android.tools.r8.internal.eM:
     1:1:void <init>():21:21 -> <init>
     1:1:boolean optimize(com.android.tools.r8.ir.code.IRCode):24:24 -> a
     1:6:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):112:117 -> b
@@ -63471,16 +63562,16 @@
     17:30:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.tryMovePhiToStack(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Phi,java.util.Set):145 -> b
     17:30:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):118 -> b
     31:31:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):0:0 -> b
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":68,"2":69,"3":70}}
-    68:68:int com.android.tools.r8.ir.optimize.PhiOptimizations.getRelativeStackHeightForInstruction(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):72:72 -> b
-    68:68:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.tryMovePhiToStack(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Phi,java.util.Set):145 -> b
-    68:68:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):118 -> b
-    69:69:int com.android.tools.r8.ir.optimize.PhiOptimizations.getRelativeStackHeightForInstruction(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):72:72 -> b
-    69:69:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.tryMovePhiToStack(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Phi,java.util.Set):145 -> b
-    69:69:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):118 -> b
-    70:70:int com.android.tools.r8.ir.optimize.PhiOptimizations.getRelativeStackHeightForInstruction(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):72:72 -> b
-    70:70:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.tryMovePhiToStack(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Phi,java.util.Set):145 -> b
-    70:70:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):118 -> b
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":65,"2":66,"3":67}}
+    65:65:int com.android.tools.r8.ir.optimize.PhiOptimizations.getRelativeStackHeightForInstruction(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):72:72 -> b
+    65:65:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.tryMovePhiToStack(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Phi,java.util.Set):145 -> b
+    65:65:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):118 -> b
+    66:66:int com.android.tools.r8.ir.optimize.PhiOptimizations.getRelativeStackHeightForInstruction(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):72:72 -> b
+    66:66:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.tryMovePhiToStack(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Phi,java.util.Set):145 -> b
+    66:66:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):118 -> b
+    67:67:int com.android.tools.r8.ir.optimize.PhiOptimizations.getRelativeStackHeightForInstruction(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):72:72 -> b
+    67:67:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.tryMovePhiToStack(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Phi,java.util.Set):145 -> b
+    67:67:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):118 -> b
     32:33:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.tryMovePhiToStack(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Phi,java.util.Set):148:149 -> b
     32:33:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):118 -> b
     34:34:boolean com.android.tools.r8.ir.code.Instruction.isStore():0:0 -> b
@@ -63493,7 +63584,7 @@
     39:50:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):118 -> b
     51:64:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.tryMovePhiToStack(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Phi,java.util.Set):160:173 -> b
     51:64:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):118 -> b
-com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination -> com.android.tools.r8.internal.SQ:
+com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination -> com.android.tools.r8.internal.XQ:
     com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState activeState -> h
     com.android.tools.r8.graph.AppView appView -> a
     boolean $assertionsDisabled -> j
@@ -63504,387 +63595,426 @@
     int maxCapacityPerBlock -> d
     com.android.tools.r8.graph.ProgramMethod method -> b
     com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockStates activeStates -> g
-    1:1:void <clinit>():57:57 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):80:80 -> <init>
-    2:18:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):69:85 -> <init>
+    1:1:void <clinit>():58:58 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):81:81 -> <init>
+    2:18:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):70:86 -> <init>
     1:1:boolean com.android.tools.r8.graph.Definition.isProgramField():0:0 -> a
-    1:1:boolean isFinal(com.android.tools.r8.graph.DexClassAndField):176 -> a
-    2:2:boolean isFinal(com.android.tools.r8.graph.DexClassAndField):179:179 -> a
+    1:1:boolean isFinal(com.android.tools.r8.graph.DexClassAndField):177 -> a
+    2:2:boolean isFinal(com.android.tools.r8.graph.DexClassAndField):180:180 -> a
     3:3:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> a
-    3:3:boolean isFinal(com.android.tools.r8.graph.DexClassAndField):179 -> a
+    3:3:boolean isFinal(com.android.tools.r8.graph.DexClassAndField):180 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    4:6:boolean isFinal(com.android.tools.r8.graph.DexClassAndField):180:182 -> a
-    7:7:java.util.Set access$000(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination):57:57 -> a
-    8:10:void lambda$processInstructionsToRemove$1(com.android.tools.r8.ir.code.BasicBlock,java.util.Set):314:314 -> a
-    12:19:void lambda$processInstructionsToRemove$1(com.android.tools.r8.ir.code.BasicBlock,java.util.Set):316:323 -> a
-    20:20:boolean lambda$processInstructionsToRemove$0(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):315:315 -> a
-    21:40:void handleInvokeDirect(com.android.tools.r8.ir.code.InvokeDirect):344:363 -> a
-    41:41:void handleInvokeDirect(com.android.tools.r8.ir.code.InvokeDirect):351:351 -> a
-    42:49:void lambda$handleInvokeDirect$2(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):366:373 -> a
+    4:6:boolean isFinal(com.android.tools.r8.graph.DexClassAndField):181:183 -> a
+    7:7:java.util.Set access$000(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination):58:58 -> a
+    8:10:void lambda$processInstructionsToRemove$1(com.android.tools.r8.ir.code.BasicBlock,java.util.Set):315:315 -> a
+    12:19:void lambda$processInstructionsToRemove$1(com.android.tools.r8.ir.code.BasicBlock,java.util.Set):317:324 -> a
+    20:20:boolean lambda$processInstructionsToRemove$0(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):316:316 -> a
+    21:40:void handleInvokeDirect(com.android.tools.r8.ir.code.InvokeDirect):345:364 -> a
+    41:41:void handleInvokeDirect(com.android.tools.r8.ir.code.InvokeDirect):352:352 -> a
+    42:49:void lambda$handleInvokeDirect$2(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):367:374 -> a
     50:50:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> a
-    50:50:void lambda$handleInvokeDirect$2(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):374 -> a
-    51:59:void lambda$handleInvokeDirect$2(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):375:383 -> a
+    50:50:void lambda$handleInvokeDirect$2(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):375 -> a
+    51:59:void lambda$handleInvokeDirect$2(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):376:384 -> a
     60:60:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> a
-    60:60:void lambda$handleInvokeDirect$2(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):384 -> a
-    61:68:void lambda$handleInvokeDirect$2(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):385:392 -> a
-    69:78:void markAssumeDynamicTypeUsersForRemoval(com.android.tools.r8.ir.code.FieldGet,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue,com.android.tools.r8.ir.optimize.AssumeRemover):449:458 -> a
-    79:81:boolean lambda$markAssumeDynamicTypeUsersForRemoval$3(com.android.tools.r8.ir.code.FieldGet,com.android.tools.r8.ir.code.Instruction):455:457 -> a
-    82:86:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):465:469 -> a
-    87:87:boolean com.android.tools.r8.ir.code.FieldInstruction.instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):62:62 -> a
-    87:87:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):469 -> a
+    60:60:void lambda$handleInvokeDirect$2(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):385 -> a
+    61:68:void lambda$handleInvokeDirect$2(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):386:393 -> a
+    69:73:void markMostRecentInitClassForRemoval(com.android.tools.r8.graph.DexType):441:445 -> a
+    74:83:void markAssumeDynamicTypeUsersForRemoval(com.android.tools.r8.ir.code.FieldGet,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue,com.android.tools.r8.ir.optimize.AssumeRemover):493:502 -> a
+    84:86:boolean lambda$markAssumeDynamicTypeUsersForRemoval$3(com.android.tools.r8.ir.code.FieldGet,com.android.tools.r8.ir.code.Instruction):499:501 -> a
+    87:91:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):509:513 -> a
+    92:92:boolean com.android.tools.r8.ir.code.FieldInstruction.instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):62:62 -> a
+    92:92:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):513 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    88:96:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):470:478 -> a
-    97:97:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> a
-    97:97:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):478 -> a
+    93:101:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):514:522 -> a
+    102:102:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> a
+    102:102:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):522 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    98:99:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):478:479 -> a
-    100:103:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.verifyWasInstanceInitializer():332:335 -> a
-    100:103:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):480 -> a
-    104:108:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.verifyWasInstanceInitializer():334:338 -> a
-    104:108:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):480 -> a
-    109:109:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
-    109:109:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.verifyWasInstanceInitializer():338 -> a
-    109:109:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):480 -> a
-    110:110:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.verifyWasInstanceInitializer():338:338 -> a
-    110:110:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):480 -> a
-    111:114:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.verifyWasInstanceInitializer():336:339 -> a
-    111:114:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):480 -> a
-    115:126:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):481:492 -> a
-    127:129:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):491:493 -> a
-    130:134:void handleStaticPut(com.android.tools.r8.ir.code.StaticPut,com.android.tools.r8.graph.DexClassAndField):549:553 -> a
-    135:135:boolean com.android.tools.r8.ir.code.FieldInstruction.instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):62:62 -> a
-    135:135:void handleStaticPut(com.android.tools.r8.ir.code.StaticPut,com.android.tools.r8.graph.DexClassAndField):553 -> a
-    136:153:void handleStaticPut(com.android.tools.r8.ir.code.StaticPut,com.android.tools.r8.graph.DexClassAndField):554:571 -> a
-    154:156:void handleStaticPut(com.android.tools.r8.ir.code.StaticPut,com.android.tools.r8.graph.DexClassAndField):570:572 -> a
-    157:157:void applyObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):579:579 -> a
-    158:162:void lambda$applyObjectState$5(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.analysis.value.AbstractValue):581:585 -> a
-    163:165:void killAllNonFinalActiveFields():593:595 -> a
-    166:166:void killNonFinalActiveFields(com.android.tools.r8.ir.code.Instruction):599:599 -> a
-    167:167:boolean com.android.tools.r8.ir.code.Instruction.isInitClass():0:0 -> a
-    167:167:void killNonFinalActiveFields(com.android.tools.r8.ir.code.Instruction):599 -> a
-    168:176:void killNonFinalActiveFields(com.android.tools.r8.ir.code.Instruction):599:607 -> a
-    177:177:boolean com.android.tools.r8.ir.code.Instruction.isInitClass():0:0 -> a
-    177:177:void killNonFinalActiveFields(com.android.tools.r8.ir.code.Instruction):609 -> a
-    178:178:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
-    178:178:void killNonFinalActiveFields(com.android.tools.r8.ir.code.Instruction):609 -> a
-    179:179:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> a
-    179:179:void killNonFinalActiveFields(com.android.tools.r8.ir.code.Instruction):616 -> a
-    180:180:void killNonFinalActiveFields(com.android.tools.r8.ir.code.Instruction):617:617 -> a
-    181:185:void killNonFinalActiveFields(com.android.tools.r8.ir.code.Instruction):610:614 -> a
-    1:1:com.android.tools.r8.graph.AppView access$100(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination):57:57 -> b
-    2:2:void processInstructionsToRemove():312:312 -> b
-    3:3:java.lang.Boolean lambda$handleStaticPut$4(com.android.tools.r8.graph.DexClassAndField):560:560 -> b
+    103:104:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):522:523 -> a
+    105:108:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.verifyWasInstanceInitializer():333:336 -> a
+    105:108:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):524 -> a
+    109:113:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.verifyWasInstanceInitializer():335:339 -> a
+    109:113:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):524 -> a
+    114:114:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
+    114:114:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.verifyWasInstanceInitializer():339 -> a
+    114:114:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):524 -> a
+    115:115:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.verifyWasInstanceInitializer():339:339 -> a
+    115:115:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):524 -> a
+    116:119:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.verifyWasInstanceInitializer():337:340 -> a
+    116:119:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):524 -> a
+    120:131:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):525:536 -> a
+    132:139:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):535:542 -> a
+    140:140:void handleStaticPut(com.android.tools.r8.ir.code.StaticPut,com.android.tools.r8.graph.DexClassAndField):599:599 -> a
+    141:141:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.markClassAsInitialized(com.android.tools.r8.graph.DexType):437:437 -> a
+    141:141:void handleStaticPut(com.android.tools.r8.ir.code.StaticPut,com.android.tools.r8.graph.DexClassAndField):599 -> a
+    142:146:void handleStaticPut(com.android.tools.r8.ir.code.StaticPut,com.android.tools.r8.graph.DexClassAndField):602:606 -> a
+    147:147:boolean com.android.tools.r8.ir.code.FieldInstruction.instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):62:62 -> a
+    147:147:void handleStaticPut(com.android.tools.r8.ir.code.StaticPut,com.android.tools.r8.graph.DexClassAndField):606 -> a
+    148:165:void handleStaticPut(com.android.tools.r8.ir.code.StaticPut,com.android.tools.r8.graph.DexClassAndField):607:624 -> a
+    166:174:void handleStaticPut(com.android.tools.r8.ir.code.StaticPut,com.android.tools.r8.graph.DexClassAndField):623:631 -> a
+    175:175:void applyObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):635:635 -> a
+    176:180:void lambda$applyObjectState$5(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.analysis.value.AbstractValue):637:641 -> a
+    181:184:void killAllNonFinalActiveFields():649:652 -> a
+    185:185:void killNonFinalActiveFields(com.android.tools.r8.ir.code.Instruction):656:656 -> a
+    186:186:boolean com.android.tools.r8.ir.code.Instruction.isInitClass():0:0 -> a
+    186:186:void killNonFinalActiveFields(com.android.tools.r8.ir.code.Instruction):656 -> a
+    187:195:void killNonFinalActiveFields(com.android.tools.r8.ir.code.Instruction):656:664 -> a
+    196:196:boolean com.android.tools.r8.ir.code.Instruction.isInitClass():0:0 -> a
+    196:196:void killNonFinalActiveFields(com.android.tools.r8.ir.code.Instruction):666 -> a
+    197:197:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
+    197:197:void killNonFinalActiveFields(com.android.tools.r8.ir.code.Instruction):666 -> a
+    198:198:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> a
+    198:198:void killNonFinalActiveFields(com.android.tools.r8.ir.code.Instruction):673 -> a
+    199:199:void killNonFinalActiveFields(com.android.tools.r8.ir.code.Instruction):674:674 -> a
+    200:204:void killNonFinalActiveFields(com.android.tools.r8.ir.code.Instruction):667:671 -> a
+    1:1:com.android.tools.r8.graph.AppView access$100(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination):58:58 -> b
+    2:2:void processInstructionsToRemove():313:313 -> b
+    3:3:java.lang.Boolean lambda$handleStaticPut$4(com.android.tools.r8.graph.DexClassAndField):613:613 -> b
     4:4:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> b
-    4:4:java.lang.Boolean lambda$handleStaticPut$4(com.android.tools.r8.graph.DexClassAndField):560 -> b
+    4:4:java.lang.Boolean lambda$handleStaticPut$4(com.android.tools.r8.graph.DexClassAndField):613 -> b
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    5:5:java.lang.Boolean lambda$handleStaticPut$4(com.android.tools.r8.graph.DexClassAndField):560:560 -> b
-    1:1:com.android.tools.r8.graph.ProgramMethod access$200(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination):57:57 -> c
-    2:3:void run():198:199 -> c
+    5:5:java.lang.Boolean lambda$handleStaticPut$4(com.android.tools.r8.graph.DexClassAndField):613:613 -> b
+    1:1:com.android.tools.r8.graph.ProgramMethod access$200(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination):58:58 -> c
+    2:3:void run():199:200 -> c
     4:4:boolean com.android.tools.r8.ir.code.BasicBlock.hasUniqueNormalSuccessor():216:216 -> c
-    4:4:void run():200 -> c
+    4:4:void run():201 -> c
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    5:11:void run():201:207 -> c
+    5:11:void run():202:208 -> c
     12:12:boolean com.android.tools.r8.ir.code.BasicBlock.hasUniqueNormalSuccessor():216:216 -> c
-    12:12:void run():207 -> c
+    12:12:void run():208 -> c
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    13:22:void run():211:220 -> c
-    23:29:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.resolveField(com.android.tools.r8.graph.DexField):186:192 -> c
-    23:29:void run():221 -> c
-    30:30:void run():222:222 -> c
+    13:22:void run():212:221 -> c
+    23:29:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.resolveField(com.android.tools.r8.graph.DexField):187:193 -> c
+    23:29:void run():222 -> c
+    30:30:void run():223:223 -> c
     31:31:boolean com.android.tools.r8.graph.DexEncodedField.isVolatile():238:238 -> c
-    31:31:void run():222 -> c
+    31:31:void run():223 -> c
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     32:32:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> c
-    32:32:void run():227 -> c
-    33:33:void run():228:228 -> c
-    34:34:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInstanceGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):419:419 -> c
-    34:34:void run():228 -> c
-    35:35:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentInstanceFieldWrite(com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField):440:440 -> c
-    35:35:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInstanceGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):420 -> c
-    35:35:void run():228 -> c
+    32:32:void run():228 -> c
+    33:33:void run():229:229 -> c
+    34:34:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInstanceGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):454:454 -> c
+    34:34:void run():229 -> c
+    35:35:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentInstanceFieldWrite(com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField):484:484 -> c
+    35:35:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInstanceGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):455 -> c
+    35:35:void run():229 -> c
     36:36:boolean com.android.tools.r8.ir.code.FieldInstruction.instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):62:62 -> c
-    36:36:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentInstanceFieldWrite(com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField):440 -> c
-    36:36:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInstanceGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):420 -> c
-    36:36:void run():228 -> c
-    37:39:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentInstanceFieldWrite(com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField):441:443 -> c
-    37:39:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInstanceGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):420 -> c
-    37:39:void run():228 -> c
-    40:49:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInstanceGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):424:433 -> c
-    40:49:void run():228 -> c
-    50:50:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentInstanceFieldWrite(com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField):440:440 -> c
-    50:50:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInstanceGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):434 -> c
-    50:50:void run():228 -> c
-    51:51:boolean com.android.tools.r8.ir.code.FieldInstruction.instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):62:62 -> c
-    51:51:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentInstanceFieldWrite(com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField):440 -> c
-    51:51:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInstanceGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):434 -> c
-    51:51:void run():228 -> c
-    52:54:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentInstanceFieldWrite(com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField):441:443 -> c
-    52:54:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInstanceGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):434 -> c
-    52:54:void run():228 -> c
-    55:56:void run():229:230 -> c
-    57:57:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> c
-    57:57:void run():231 -> c
-    58:58:void run():232:232 -> c
-    59:60:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):504:505 -> c
-    59:60:void run():232 -> c
-    61:61:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentStaticFieldWrite(com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField):540:540 -> c
-    61:61:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):506 -> c
-    61:61:void run():232 -> c
-    62:62:boolean com.android.tools.r8.ir.code.FieldInstruction.instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> c
-    62:62:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentStaticFieldWrite(com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField):540 -> c
-    62:62:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):506 -> c
-    62:62:void run():232 -> c
-    63:65:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentStaticFieldWrite(com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField):541:543 -> c
-    63:65:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):506 -> c
-    63:65:void run():232 -> c
-    66:74:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):510:518 -> c
-    66:74:void run():232 -> c
-    75:75:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentStaticFieldWrite(com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField):540:540 -> c
-    75:75:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):519 -> c
-    75:75:void run():232 -> c
-    76:76:boolean com.android.tools.r8.ir.code.FieldInstruction.instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):62:62 -> c
-    76:76:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentStaticFieldWrite(com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField):540 -> c
-    76:76:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):519 -> c
-    76:76:void run():232 -> c
-    77:79:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentStaticFieldWrite(com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField):541:543 -> c
-    77:79:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):519 -> c
-    77:79:void run():232 -> c
-    80:87:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):521:528 -> c
-    80:87:void run():232 -> c
-    88:88:boolean com.android.tools.r8.graph.AppView.hasLiveness():659:659 -> c
-    88:88:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):528 -> c
-    88:88:void run():232 -> c
-    89:91:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):530:532 -> c
-    89:91:void run():232 -> c
-    92:93:void run():233:234 -> c
-    94:94:void run():223:223 -> c
-    95:95:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> c
-    95:95:void run():236 -> c
-    96:96:void run():237:237 -> c
-    97:97:boolean com.android.tools.r8.ir.code.Instruction.isInitClass():0:0 -> c
-    97:97:void run():238 -> c
-    98:98:void run():239:239 -> c
-    99:111:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInitClass(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InitClass):398:410 -> c
-    99:111:void run():239 -> c
-    112:112:boolean com.android.tools.r8.ir.code.Instruction.isMonitor():0:0 -> c
-    112:112:void run():240 -> c
-    113:118:void run():241:246 -> c
-    119:119:boolean com.android.tools.r8.ir.code.Instruction.isInvokeCustom():0:0 -> c
-    119:119:void run():246 -> c
-    120:139:void run():248:267 -> c
-    140:140:boolean com.android.tools.r8.ir.code.Instruction.isArrayLength():0:0 -> c
-    140:140:void run():268 -> c
-    141:144:void run():269:272 -> c
-    145:145:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> c
-    145:145:void run():273 -> c
-    146:146:boolean com.android.tools.r8.ir.code.Instruction.isConstMethodHandle():0:0 -> c
-    146:146:void run():274 -> c
-    147:147:boolean com.android.tools.r8.ir.code.Instruction.isConstMethodType():0:0 -> c
-    147:147:void run():275 -> c
-    148:148:void run():276:276 -> c
-    149:149:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> c
-    149:149:void run():277 -> c
-    150:150:void run():278:278 -> c
-    151:151:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> c
-    151:151:void run():279 -> c
-    152:153:void run():280:281 -> c
-    154:154:boolean com.android.tools.r8.ir.code.Instruction.isInstanceOf():0:0 -> c
-    154:154:void run():282 -> c
-    155:155:boolean com.android.tools.r8.ir.code.Instruction.isInvokeMultiNewArray():0:0 -> c
-    155:155:void run():283 -> c
-    156:156:boolean com.android.tools.r8.ir.code.Instruction.isInvokeNewArray():0:0 -> c
-    156:156:void run():284 -> c
-    157:157:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> c
-    157:157:void run():285 -> c
-    158:158:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> c
-    158:158:void run():286 -> c
-    159:163:void run():287:291 -> c
-    164:164:boolean com.android.tools.r8.ir.code.Instruction.isRecordFieldValues():0:0 -> c
-    164:164:void run():292 -> c
-    165:165:void run():266:266 -> c
-    166:166:void run():0:0 -> c
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":476,"2":477,"3":478}}
-    476:476:void run():266:266 -> c
-    477:477:void run():266:266 -> c
-    478:478:void run():266:266 -> c
-    459:459:void run():293:293 -> c
-    460:460:void run():247:247 -> c
-    461:461:boolean com.android.tools.r8.ir.code.BasicBlock.hasUniqueNormalSuccessor():216:216 -> c
-    461:461:boolean com.android.tools.r8.ir.code.BasicBlock.hasUniqueNormalSuccessorWithUniquePredecessor():220 -> c
-    461:461:void run():296 -> c
-    462:462:boolean com.android.tools.r8.ir.code.BasicBlock.hasUniqueNormalSuccessorWithUniquePredecessor():220:220 -> c
-    462:462:void run():296 -> c
-    463:472:void run():297:306 -> c
-    473:473:com.android.tools.r8.ir.optimize.AssumeRemover com.android.tools.r8.ir.optimize.AssumeRemover.removeMarkedInstructions():104:104 -> c
-    473:473:void run():307 -> c
-    474:475:void run():307:308 -> c
-    1:1:com.android.tools.r8.ir.code.IRCode access$300(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination):57:57 -> d
-com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$1 -> com.android.tools.r8.internal.LQ:
-com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState -> com.android.tools.r8.internal.MQ:
+    36:36:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentInstanceFieldWrite(com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField):484 -> c
+    36:36:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInstanceGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):455 -> c
+    36:36:void run():229 -> c
+    37:39:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentInstanceFieldWrite(com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField):485:487 -> c
+    37:39:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInstanceGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):455 -> c
+    37:39:void run():229 -> c
+    40:50:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInstanceGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):459:469 -> c
+    40:50:void run():229 -> c
+    51:51:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentInstanceFieldWrite(com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField):484:484 -> c
+    51:51:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInstanceGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):470 -> c
+    51:51:void run():229 -> c
+    52:52:boolean com.android.tools.r8.ir.code.FieldInstruction.instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):62:62 -> c
+    52:52:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentInstanceFieldWrite(com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField):484 -> c
+    52:52:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInstanceGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):470 -> c
+    52:52:void run():229 -> c
+    53:55:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentInstanceFieldWrite(com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField):485:487 -> c
+    53:55:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInstanceGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):470 -> c
+    53:55:void run():229 -> c
+    56:57:void run():230:231 -> c
+    58:58:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> c
+    58:58:void run():232 -> c
+    59:59:void run():233:233 -> c
+    60:60:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):550:550 -> c
+    60:60:void run():233 -> c
+    61:61:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.markClassAsInitialized(com.android.tools.r8.graph.DexType):437:437 -> c
+    61:61:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):550 -> c
+    61:61:void run():233 -> c
+    62:63:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):552:553 -> c
+    62:63:void run():233 -> c
+    64:64:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentStaticFieldWrite(com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField):591:591 -> c
+    64:64:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):554 -> c
+    64:64:void run():233 -> c
+    65:65:boolean com.android.tools.r8.ir.code.FieldInstruction.instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):62:62 -> c
+    65:65:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentStaticFieldWrite(com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField):591 -> c
+    65:65:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):554 -> c
+    65:65:void run():233 -> c
+    66:68:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentStaticFieldWrite(com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField):592:594 -> c
+    66:68:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):554 -> c
+    66:68:void run():233 -> c
+    69:77:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):558:566 -> c
+    69:77:void run():233 -> c
+    78:78:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentStaticFieldWrite(com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField):591:591 -> c
+    78:78:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):567 -> c
+    78:78:void run():233 -> c
+    79:79:boolean com.android.tools.r8.ir.code.FieldInstruction.instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):62:62 -> c
+    79:79:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentStaticFieldWrite(com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField):591 -> c
+    79:79:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):567 -> c
+    79:79:void run():233 -> c
+    80:82:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentStaticFieldWrite(com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField):592:594 -> c
+    80:82:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):567 -> c
+    80:82:void run():233 -> c
+    83:90:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):569:576 -> c
+    83:90:void run():233 -> c
+    91:91:boolean com.android.tools.r8.graph.AppView.hasLiveness():659:659 -> c
+    91:91:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):576 -> c
+    91:91:void run():233 -> c
+    92:99:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):578:585 -> c
+    92:99:void run():233 -> c
+    100:101:void run():234:235 -> c
+    102:102:void run():224:224 -> c
+    103:103:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> c
+    103:103:void run():237 -> c
+    104:104:void run():238:238 -> c
+    105:105:boolean com.android.tools.r8.ir.code.Instruction.isInitClass():0:0 -> c
+    105:105:void run():239 -> c
+    106:106:void run():240:240 -> c
+    107:117:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInitClass(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InitClass):416:426 -> c
+    107:117:void run():240 -> c
+    118:118:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.markClassAsInitialized(com.android.tools.r8.graph.DexType):437:437 -> c
+    118:118:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInitClass(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InitClass):427 -> c
+    118:118:void run():240 -> c
+    119:123:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInitClass(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InitClass):428:432 -> c
+    119:123:void run():240 -> c
+    124:124:boolean com.android.tools.r8.ir.code.Instruction.isMonitor():0:0 -> c
+    124:124:void run():241 -> c
+    125:131:void run():242:248 -> c
+    132:132:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic):399:399 -> c
+    132:132:void run():248 -> c
+    133:133:boolean com.android.tools.r8.graph.AppView.hasClassHierarchy():642:642 -> c
+    133:133:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic):399 -> c
+    133:133:void run():248 -> c
+    134:141:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic):400:407 -> c
+    134:141:void run():248 -> c
+    142:142:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.markClassAsInitialized(com.android.tools.r8.graph.DexType):437:437 -> c
+    142:142:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic):407 -> c
+    142:142:void run():248 -> c
+    143:147:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic):408:412 -> c
+    143:147:void run():248 -> c
+    148:148:void run():249:249 -> c
+    149:149:boolean com.android.tools.r8.ir.code.Instruction.isInvokeCustom():0:0 -> c
+    149:149:void run():249 -> c
+    150:151:void run():251:252 -> c
+    152:152:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleNewInstance(com.android.tools.r8.ir.code.NewInstance):474:474 -> c
+    152:152:void run():252 -> c
+    153:153:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.markClassAsInitialized(com.android.tools.r8.graph.DexType):437:437 -> c
+    153:153:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleNewInstance(com.android.tools.r8.ir.code.NewInstance):474 -> c
+    153:153:void run():252 -> c
+    154:156:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleNewInstance(com.android.tools.r8.ir.code.NewInstance):475:477 -> c
+    154:156:void run():252 -> c
+    157:169:void run():256:268 -> c
+    170:170:boolean com.android.tools.r8.ir.code.Instruction.isArrayLength():0:0 -> c
+    170:170:void run():269 -> c
+    171:174:void run():270:273 -> c
+    175:175:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> c
+    175:175:void run():274 -> c
+    176:176:boolean com.android.tools.r8.ir.code.Instruction.isConstMethodHandle():0:0 -> c
+    176:176:void run():275 -> c
+    177:177:boolean com.android.tools.r8.ir.code.Instruction.isConstMethodType():0:0 -> c
+    177:177:void run():276 -> c
+    178:178:void run():277:277 -> c
+    179:179:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> c
+    179:179:void run():278 -> c
+    180:180:void run():279:279 -> c
+    181:181:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> c
+    181:181:void run():280 -> c
+    182:183:void run():281:282 -> c
+    184:184:boolean com.android.tools.r8.ir.code.Instruction.isInstanceOf():0:0 -> c
+    184:184:void run():283 -> c
+    185:185:boolean com.android.tools.r8.ir.code.Instruction.isInvokeMultiNewArray():0:0 -> c
+    185:185:void run():284 -> c
+    186:186:boolean com.android.tools.r8.ir.code.Instruction.isInvokeNewArray():0:0 -> c
+    186:186:void run():285 -> c
+    187:187:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> c
+    187:187:void run():286 -> c
+    188:188:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> c
+    188:188:void run():287 -> c
+    189:193:void run():288:292 -> c
+    194:194:boolean com.android.tools.r8.ir.code.Instruction.isRecordFieldValues():0:0 -> c
+    194:194:void run():293 -> c
+    195:195:void run():267:267 -> c
+    196:196:void run():0:0 -> c
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":507,"2":508,"3":509}}
+    507:507:void run():267:267 -> c
+    508:508:void run():267:267 -> c
+    509:509:void run():267:267 -> c
+    490:490:void run():294:294 -> c
+    491:491:void run():250:250 -> c
+    492:492:boolean com.android.tools.r8.ir.code.BasicBlock.hasUniqueNormalSuccessor():216:216 -> c
+    492:492:boolean com.android.tools.r8.ir.code.BasicBlock.hasUniqueNormalSuccessorWithUniquePredecessor():220 -> c
+    492:492:void run():297 -> c
+    493:493:boolean com.android.tools.r8.ir.code.BasicBlock.hasUniqueNormalSuccessorWithUniquePredecessor():220:220 -> c
+    493:493:void run():297 -> c
+    494:503:void run():298:307 -> c
+    504:504:com.android.tools.r8.ir.optimize.AssumeRemover com.android.tools.r8.ir.optimize.AssumeRemover.removeMarkedInstructions():104:104 -> c
+    504:504:void run():308 -> c
+    505:506:void run():308:309 -> c
+    1:1:com.android.tools.r8.ir.code.IRCode access$300(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination):58:58 -> d
+com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$1 -> com.android.tools.r8.internal.QQ:
+com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState -> com.android.tools.r8.internal.RQ:
     java.util.LinkedHashMap finalInstanceFieldValues -> a
     java.util.LinkedHashMap nonFinalInstanceFieldValues -> d
-    boolean $assertionsDisabled -> i
     java.util.LinkedHashMap nonFinalStaticFieldValues -> e
+    boolean $assertionsDisabled -> j
     java.util.LinkedHashMap finalStaticFieldValues -> b
-    int maxCapacity -> h
-    java.util.LinkedHashMap mostRecentInstanceFieldWrites -> f
-    java.util.LinkedHashMap mostRecentStaticFieldWrites -> g
+    com.android.tools.r8.ir.code.InitClass mostRecentInitClass -> f
+    int maxCapacity -> i
+    java.util.LinkedHashMap mostRecentStaticFieldWrites -> h
+    java.util.LinkedHashMap mostRecentInstanceFieldWrites -> g
     java.util.LinkedHashSet initializedClasses -> c
-    1:1:void <clinit>():744:744 -> <clinit>
-    1:2:void <init>(int):762:763 -> <init>
-    3:34:void <init>(int,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):767:798 -> <init>
-    1:1:int access$700(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):744:744 -> a
-    2:3:void clearMostRecentInstanceFieldWrite(com.android.tools.r8.graph.DexField):809:810 -> a
-    4:4:boolean lambda$clearMostRecentInstanceFieldWrite$0(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):810:810 -> a
-    5:5:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.clearMostRecentInstanceFieldWrites():815:815 -> a
-    5:5:void clearMostRecentFieldWrites():804 -> a
-    6:6:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.clearMostRecentStaticFieldWrites():825:825 -> a
-    6:6:void clearMostRecentFieldWrites():805 -> a
-    7:11:com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue getInstanceFieldValue(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):846:850 -> a
-    12:12:void intersectFieldValues(java.util.Map,java.util.Map):894:894 -> a
-    13:13:boolean lambda$intersectFieldValues$1(java.util.Map,java.util.Map$Entry):894:894 -> a
-    14:14:void intersectInitializedClasses(java.util.Set,java.util.Set):899:899 -> a
-    15:15:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):926:926 -> a
+    1:1:void <clinit>():802:802 -> <clinit>
+    1:2:void <init>(int):822:823 -> <init>
+    3:35:void <init>(int,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):827:859 -> <init>
+    1:1:int access$700(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):802:802 -> a
+    2:3:void clearMostRecentInstanceFieldWrite(com.android.tools.r8.graph.DexField):870:871 -> a
+    4:4:boolean lambda$clearMostRecentInstanceFieldWrite$0(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):871:871 -> a
+    5:5:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.clearMostRecentInstanceFieldWrites():876:876 -> a
+    5:5:void clearMostRecentFieldWrites():865 -> a
+    6:6:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.clearMostRecentStaticFieldWrites():886:886 -> a
+    6:6:void clearMostRecentFieldWrites():866 -> a
+    7:11:com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue getInstanceFieldValue(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):907:911 -> a
+    12:12:void intersectFieldValues(java.util.Map,java.util.Map):956:956 -> a
+    13:13:boolean lambda$intersectFieldValues$1(java.util.Map,java.util.Map$Entry):956:956 -> a
+    14:14:void intersectInitializedClasses(java.util.Set,java.util.Set):961:961 -> a
+    15:15:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):984:984 -> a
     16:16:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> a
-    16:16:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):927 -> a
-    17:18:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):928:929 -> a
-    19:20:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeFinalInstanceField(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):987:988 -> a
-    19:20:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeInstanceField(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):981 -> a
-    19:20:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):930 -> a
-    21:22:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeNonFinalInstanceField(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):993:994 -> a
-    21:22:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeInstanceField(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):982 -> a
-    21:22:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):930 -> a
-    23:24:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeMostRecentInstanceFieldWrite(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):1023:1024 -> a
-    23:24:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeInstanceField(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):983 -> a
-    23:24:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):930 -> a
+    16:16:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):985 -> a
+    17:18:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):986:987 -> a
+    19:20:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeFinalInstanceField(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):1045:1046 -> a
+    19:20:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeInstanceField(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):1039 -> a
+    19:20:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):988 -> a
+    21:22:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeNonFinalInstanceField(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):1051:1052 -> a
+    21:22:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeInstanceField(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):1040 -> a
+    21:22:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):988 -> a
+    23:24:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeMostRecentInstanceFieldWrite(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):1081:1082 -> a
+    23:24:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeInstanceField(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):1041 -> a
+    23:24:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):988 -> a
     25:25:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
-    25:25:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):931 -> a
-    26:27:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeFinalStaticField(com.android.tools.r8.graph.DexField):1011:1012 -> a
-    26:27:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeStaticField(com.android.tools.r8.graph.DexField):1005 -> a
-    26:27:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):932 -> a
-    28:28:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeStaticField(com.android.tools.r8.graph.DexField):1006:1006 -> a
-    28:28:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):932 -> a
-    29:30:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeMostRecentStaticFieldWrite(com.android.tools.r8.graph.DexField):1029:1030 -> a
-    29:30:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeStaticField(com.android.tools.r8.graph.DexField):1007 -> a
-    29:30:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):932 -> a
-    31:32:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.killActiveInitializedClassesForExceptionalExit(com.android.tools.r8.ir.code.InitClass):937:938 -> a
-    31:32:void access$600(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState,com.android.tools.r8.ir.code.InitClass):744 -> a
+    25:25:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):989 -> a
+    26:27:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeFinalStaticField(com.android.tools.r8.graph.DexField):1069:1070 -> a
+    26:27:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeStaticField(com.android.tools.r8.graph.DexField):1063 -> a
+    26:27:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):990 -> a
+    28:28:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeStaticField(com.android.tools.r8.graph.DexField):1064:1064 -> a
+    28:28:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):990 -> a
+    29:30:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeMostRecentStaticFieldWrite(com.android.tools.r8.graph.DexField):1087:1088 -> a
+    29:30:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeStaticField(com.android.tools.r8.graph.DexField):1065 -> a
+    29:30:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):990 -> a
+    31:32:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.killActiveInitializedClassesForExceptionalExit(com.android.tools.r8.ir.code.InitClass):995:996 -> a
+    31:32:void access$600(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState,com.android.tools.r8.ir.code.InitClass):802 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    33:37:boolean markClassAsInitialized(com.android.tools.r8.graph.DexType):943:947 -> a
-    38:40:void reduceSize(int):951:953 -> a
-    41:44:int com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.reduceSize(int,java.util.Set):967:970 -> a
-    41:44:void reduceSize(int):953 -> a
-    45:51:void reduceSize(int):954:960 -> a
-    52:52:int reduceSize(int,java.util.Map):977:977 -> a
-    53:56:int com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.reduceSize(int,java.util.Set):967:970 -> a
-    53:56:int reduceSize(int,java.util.Map):977 -> a
-    57:61:void putFinalInstanceField(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue):1035:1039 -> a
-    62:66:void putFinalStaticField(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue):1043:1047 -> a
-    67:71:com.android.tools.r8.ir.code.InstancePut putMostRecentInstanceFieldWrite(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject,com.android.tools.r8.ir.code.InstancePut):1052:1056 -> a
-    72:76:com.android.tools.r8.ir.code.StaticPut putMostRecentStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.code.StaticPut):1060:1064 -> a
-    77:77:int size(java.util.Map):1100:1100 -> a
-    1:2:void clearMostRecentStaticFieldWrite(com.android.tools.r8.graph.DexField):819:820 -> b
-    3:3:void clearNonFinalInstanceFields():829:829 -> b
-    4:30:void intersect(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):863:889 -> b
-    31:31:boolean lambda$removeNonFinalInstanceFields$2(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):1000:1000 -> b
-    32:37:void putNonFinalInstanceField(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue):1068:1073 -> b
-    38:43:void putNonFinalStaticField(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue):1077:1082 -> b
-    1:1:void clearNonFinalStaticFields():833:833 -> c
-    2:6:com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue getStaticFieldValue(com.android.tools.r8.graph.DexField):855:859 -> c
-    1:4:void ensureCapacityForNewElement():837:840 -> d
-    5:6:void removeNonFinalInstanceFields(com.android.tools.r8.graph.DexField):999:1000 -> d
-    1:1:boolean isEmpty():907:907 -> e
-    2:2:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.isEmpty(java.util.Map):919:919 -> e
-    2:2:boolean isEmpty():907 -> e
-    3:3:boolean isEmpty():907:907 -> e
-    4:4:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.isEmpty(java.util.Map):919:919 -> e
-    4:4:boolean isEmpty():908 -> e
-    5:5:boolean isEmpty():908:908 -> e
-    6:6:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.isEmpty(java.util.Set):915:915 -> e
-    6:6:boolean isEmpty():909 -> e
-    7:7:boolean isEmpty():909:909 -> e
-    8:8:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.isEmpty(java.util.Map):919:919 -> e
-    8:8:boolean isEmpty():910 -> e
-    9:9:boolean isEmpty():910:910 -> e
-    10:10:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.isEmpty(java.util.Map):919:919 -> e
-    10:10:boolean isEmpty():911 -> e
-    11:12:void removeNonFinalStaticField(com.android.tools.r8.graph.DexField):1017:1018 -> e
-    1:2:int size():1086:1087 -> f
-    3:3:int com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.size(java.util.Set):1096:1096 -> f
-    3:3:int size():1088 -> f
-    4:8:int size():1088:1092 -> f
-com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockStates -> com.android.tools.r8.internal.NQ:
+    33:37:boolean markClassAsInitialized(com.android.tools.r8.graph.DexType):1001:1005 -> a
+    38:40:void reduceSize(int):1009:1011 -> a
+    41:44:int com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.reduceSize(int,java.util.Set):1025:1028 -> a
+    41:44:void reduceSize(int):1011 -> a
+    45:51:void reduceSize(int):1012:1018 -> a
+    52:52:int reduceSize(int,java.util.Map):1035:1035 -> a
+    53:56:int com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.reduceSize(int,java.util.Set):1025:1028 -> a
+    53:56:int reduceSize(int,java.util.Map):1035 -> a
+    57:61:void putFinalInstanceField(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue):1093:1097 -> a
+    62:66:void putFinalStaticField(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue):1101:1105 -> a
+    67:71:com.android.tools.r8.ir.code.InstancePut putMostRecentInstanceFieldWrite(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject,com.android.tools.r8.ir.code.InstancePut):1110:1114 -> a
+    72:76:com.android.tools.r8.ir.code.StaticPut putMostRecentStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.code.StaticPut):1118:1122 -> a
+    77:77:void setMostRecentInitClass(com.android.tools.r8.ir.code.InitClass):1148:1148 -> a
+    78:78:int size(java.util.Map):1172:1172 -> a
+    1:2:void clearMostRecentStaticFieldWrite(com.android.tools.r8.graph.DexField):880:881 -> b
+    3:30:void intersect(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):924:951 -> b
+    31:31:boolean lambda$removeNonFinalInstanceFields$2(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):1058:1058 -> b
+    32:37:void putNonFinalInstanceField(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue):1126:1131 -> b
+    38:43:void putNonFinalStaticField(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue):1135:1140 -> b
+    44:45:com.android.tools.r8.ir.code.InitClass clearMostRecentInitClass():1152:1153 -> b
+    1:1:void clearNonFinalInstanceFields():890:890 -> c
+    2:6:com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue getStaticFieldValue(com.android.tools.r8.graph.DexField):916:920 -> c
+    1:1:void clearNonFinalStaticFields():894:894 -> d
+    2:3:void removeNonFinalInstanceFields(com.android.tools.r8.graph.DexField):1057:1058 -> d
+    1:4:void ensureCapacityForNewElement():898:901 -> e
+    5:6:void removeNonFinalStaticField(com.android.tools.r8.graph.DexField):1075:1076 -> e
+    1:1:com.android.tools.r8.ir.code.InitClass getMostRecentInitClass():1144:1144 -> f
+    1:1:boolean isEmpty():965:965 -> g
+    2:2:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.isEmpty(java.util.Map):977:977 -> g
+    2:2:boolean isEmpty():965 -> g
+    3:3:boolean isEmpty():965:965 -> g
+    4:4:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.isEmpty(java.util.Map):977:977 -> g
+    4:4:boolean isEmpty():966 -> g
+    5:5:boolean isEmpty():966:966 -> g
+    6:6:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.isEmpty(java.util.Set):973:973 -> g
+    6:6:boolean isEmpty():967 -> g
+    7:7:boolean isEmpty():967:967 -> g
+    8:8:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.isEmpty(java.util.Map):977:977 -> g
+    8:8:boolean isEmpty():968 -> g
+    9:9:boolean isEmpty():968:968 -> g
+    10:10:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.isEmpty(java.util.Map):977:977 -> g
+    10:10:boolean isEmpty():969 -> g
+    1:2:int size():1158:1159 -> h
+    3:3:int com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.size(java.util.Set):1168:1168 -> h
+    3:3:int size():1160 -> h
+    4:8:int size():1160:1164 -> h
+com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockStates -> com.android.tools.r8.internal.SQ:
     java.util.LinkedHashMap activeStateAtExit -> a
     int capacity -> b
     boolean $assertionsDisabled -> c
-    1:1:void <clinit>():621:621 -> <clinit>
-    1:6:void <init>():621:626 -> <init>
+    1:1:void <clinit>():678:678 -> <clinit>
+    1:6:void <init>():678:683 -> <init>
     1:1:boolean com.android.tools.r8.ir.code.BasicBlock.isEntry():609:609 -> a
-    1:1:com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState computeActiveStateOnBlockEntry(com.android.tools.r8.ir.code.BasicBlock,int):629 -> a
+    1:1:com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState computeActiveStateOnBlockEntry(com.android.tools.r8.ir.code.BasicBlock,int):686 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    2:24:com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState computeActiveStateOnBlockEntry(com.android.tools.r8.ir.code.BasicBlock,int):630:652 -> a
+    2:24:com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState computeActiveStateOnBlockEntry(com.android.tools.r8.ir.code.BasicBlock,int):687:709 -> a
     25:25:boolean com.android.tools.r8.ir.code.Instruction.isInitClass():0:0 -> a
-    25:25:com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState computeActiveStateOnBlockEntry(com.android.tools.r8.ir.code.BasicBlock,int):653 -> a
-    26:26:com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState computeActiveStateOnBlockEntry(com.android.tools.r8.ir.code.BasicBlock,int):654:654 -> a
-    27:28:void removeDeadBlockExitStates(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):693:694 -> a
-    29:33:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockStates.removeState(com.android.tools.r8.ir.code.BasicBlock):725:729 -> a
-    29:33:void removeDeadBlockExitStates(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):695 -> a
-    34:37:void removeDeadBlockExitStates(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):697:700 -> a
-    38:42:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockStates.removeState(com.android.tools.r8.ir.code.BasicBlock):725:729 -> a
-    38:42:void removeDeadBlockExitStates(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):701 -> a
-    43:43:void removeDeadBlockExitStates(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):703:703 -> a
-    44:45:void recordActiveStateOnBlockExit(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):711:712 -> a
+    25:25:com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState computeActiveStateOnBlockEntry(com.android.tools.r8.ir.code.BasicBlock,int):710 -> a
+    26:26:com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState computeActiveStateOnBlockEntry(com.android.tools.r8.ir.code.BasicBlock,int):711:711 -> a
+    27:28:void removeDeadBlockExitStates(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):750:751 -> a
+    29:33:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockStates.removeState(com.android.tools.r8.ir.code.BasicBlock):783:787 -> a
+    29:33:void removeDeadBlockExitStates(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):752 -> a
+    34:37:void removeDeadBlockExitStates(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):754:757 -> a
+    38:42:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockStates.removeState(com.android.tools.r8.ir.code.BasicBlock):783:787 -> a
+    38:42:void removeDeadBlockExitStates(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):758 -> a
+    43:43:void removeDeadBlockExitStates(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):760:760 -> a
+    44:45:void recordActiveStateOnBlockExit(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):768:769 -> a
     46:46:boolean com.android.tools.r8.ir.code.BasicBlock.hasUniqueSuccessorWithUniquePredecessor():212:212 -> a
-    46:46:void recordActiveStateOnBlockExit(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):715 -> a
+    46:46:void recordActiveStateOnBlockExit(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):772 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    47:47:void recordActiveStateOnBlockExit(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):716:716 -> a
-    48:73:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockStates.ensureCapacity(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):663:688 -> a
-    48:73:void recordActiveStateOnBlockExit(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):718 -> a
-    74:76:int com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockStates.size():735:737 -> a
-    74:76:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockStates.ensureCapacity(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):688 -> a
-    74:76:void recordActiveStateOnBlockExit(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):718 -> a
-    77:77:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockStates.ensureCapacity(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):688:688 -> a
-    77:77:void recordActiveStateOnBlockExit(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):718 -> a
-    78:80:void recordActiveStateOnBlockExit(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):719:721 -> a
-com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$ExistingValue -> com.android.tools.r8.internal.OQ:
+    47:48:void recordActiveStateOnBlockExit(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):773:774 -> a
+    49:74:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockStates.ensureCapacity(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):720:745 -> a
+    49:74:void recordActiveStateOnBlockExit(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):776 -> a
+    75:77:int com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockStates.size():793:795 -> a
+    75:77:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockStates.ensureCapacity(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):745 -> a
+    75:77:void recordActiveStateOnBlockExit(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):776 -> a
+    78:78:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockStates.ensureCapacity(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):745:745 -> a
+    78:78:void recordActiveStateOnBlockExit(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):776 -> a
+    79:81:void recordActiveStateOnBlockExit(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):777:779 -> a
+com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$ExistingValue -> com.android.tools.r8.internal.TQ:
     com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination this$0 -> b
     com.android.tools.r8.ir.code.Value value -> a
-    1:1:void <init>(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$1):102:102 -> <init>
-    2:3:void <init>(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination,com.android.tools.r8.ir.code.Value):106:107 -> <init>
+    1:1:void <init>(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$1):103:103 -> <init>
+    2:3:void <init>(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination,com.android.tools.r8.ir.code.Value):107:108 -> <init>
     com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$ExistingValue asExistingValue() -> a
-    1:4:void eliminateRedundantRead(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):117:120 -> a
-    1:1:com.android.tools.r8.ir.code.Value getValue():124:124 -> b
+    1:4:void eliminateRedundantRead(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):118:121 -> a
+    1:1:com.android.tools.r8.ir.code.Value getValue():125:125 -> b
     1:1:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":131,"2":132,"3":133}}
-    131:131:java.lang.String toString():129:129 -> toString
-    132:132:java.lang.String toString():129:129 -> toString
-    133:133:java.lang.String toString():129:129 -> toString
-    130:130:java.lang.String toString():129:129 -> toString
-com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject -> com.android.tools.r8.internal.PQ:
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":132,"2":133,"3":134}}
+    132:132:java.lang.String toString():130:130 -> toString
+    133:133:java.lang.String toString():130:130 -> toString
+    134:134:java.lang.String toString():130:130 -> toString
+    131:131:java.lang.String toString():130:130 -> toString
+com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject -> com.android.tools.r8.internal.UQ:
     com.android.tools.r8.graph.DexField field -> a
     com.android.tools.r8.ir.code.Value object -> b
     boolean $assertionsDisabled -> c
-    1:1:void <clinit>():150:150 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$1):150:150 -> <init>
-    2:5:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.code.Value):154:157 -> <init>
-    1:1:com.android.tools.r8.graph.DexField access$800(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):150:150 -> a
-    1:5:boolean equals(java.lang.Object):167:171 -> equals
-    1:1:int hashCode():162:162 -> hashCode
-com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue -> com.android.tools.r8.internal.QQ:
+    1:1:void <clinit>():151:151 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$1):151:151 -> <init>
+    2:5:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.code.Value):155:158 -> <init>
+    1:1:com.android.tools.r8.graph.DexField access$800(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):151:151 -> a
+    1:5:boolean equals(java.lang.Object):168:172 -> equals
+    1:1:int hashCode():163:163 -> hashCode
+com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue -> com.android.tools.r8.internal.VQ:
     com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$ExistingValue asExistingValue() -> a
     void eliminateRedundantRead(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction) -> a
-com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$MaterializableValue -> com.android.tools.r8.internal.RQ:
+com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$MaterializableValue -> com.android.tools.r8.internal.WQ:
     com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination this$0 -> b
     com.android.tools.r8.ir.analysis.value.SingleValue value -> a
     boolean $assertionsDisabled -> c
-    1:1:void <clinit>():133:133 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination,com.android.tools.r8.ir.analysis.value.SingleValue,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$1):133:133 -> <init>
-    2:4:void <init>(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination,com.android.tools.r8.ir.analysis.value.SingleValue):137:139 -> <init>
-    1:3:void eliminateRedundantRead(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):144:146 -> a
+    1:1:void <clinit>():134:134 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination,com.android.tools.r8.ir.analysis.value.SingleValue,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$1):134:134 -> <init>
+    2:4:void <init>(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination,com.android.tools.r8.ir.analysis.value.SingleValue):138:140 -> <init>
+    1:3:void eliminateRedundantRead(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):145:147 -> a
     4:4:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.analysis.value.SingleValue.createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):43:43 -> a
-    4:4:void eliminateRedundantRead(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):146 -> a
-    5:5:void eliminateRedundantRead(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):145:145 -> a
-com.android.tools.r8.ir.optimize.ReflectionOptimizer -> com.android.tools.r8.internal.yS:
+    4:4:void eliminateRedundantRead(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):147 -> a
+    5:5:void eliminateRedundantRead(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):146:146 -> a
+com.android.tools.r8.ir.optimize.ReflectionOptimizer -> com.android.tools.r8.internal.DS:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():35:35 -> <clinit>
     1:21:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):41:61 -> a
@@ -63950,7 +64080,7 @@
     223:225:void lambda$rewriteSingleGetClassOrForNameToConstClass$1(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):146:148 -> a
     226:226:void lambda$rewriteSingleGetClassOrForNameToConstClass$1(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):147:147 -> a
     227:229:void lambda$rewriteSingleGetClassOrForNameToConstClass$1(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):121:123 -> a
-com.android.tools.r8.ir.optimize.ServiceLoaderRewriter -> com.android.tools.r8.internal.UU:
+com.android.tools.r8.ir.optimize.ServiceLoaderRewriter -> com.android.tools.r8.internal.ZU:
     java.util.List serviceLoadMethods -> b
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.androidapi.AndroidApiLevelCompute apiLevelCompute -> c
@@ -63998,7 +64128,7 @@
     269:269:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> a
     269:269:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.ServiceLoaderSourceCode.generate(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexItemFactory):118 -> a
     269:269:com.android.tools.r8.graph.Code lambda$createSynthesizedMethod$2(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexMethod):215 -> a
-com.android.tools.r8.ir.optimize.ServiceLoaderRewriter$Rewriter -> com.android.tools.r8.internal.TU:
+com.android.tools.r8.ir.optimize.ServiceLoaderRewriter$Rewriter -> com.android.tools.r8.internal.YU:
     com.android.tools.r8.ir.code.IRCode code -> a
     com.android.tools.r8.ir.code.InstructionListIterator iterator -> c
     com.android.tools.r8.ir.code.InvokeStatic serviceLoaderLoad -> b
@@ -64015,7 +64145,7 @@
     31:31:void lambda$perform$0(com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.ir.code.Instruction):269 -> a
     32:33:void lambda$perform$0(com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.ir.code.Instruction):269:270 -> a
     34:34:boolean lambda$perform$1(com.android.tools.r8.ir.code.Instruction):274:274 -> a
-com.android.tools.r8.ir.optimize.SwitchCaseEliminator -> com.android.tools.r8.internal.wY:
+com.android.tools.r8.ir.optimize.SwitchCaseEliminator -> com.android.tools.r8.internal.BY:
     com.android.tools.r8.ir.code.BasicBlock alwaysHitTarget -> f
     boolean $assertionsDisabled -> j
     com.android.tools.r8.ir.code.InstructionListIterator iterator -> c
@@ -64101,7 +64231,7 @@
     99:100:boolean optimize():105 -> f
     101:101:void com.android.tools.r8.ir.optimize.SwitchCaseEliminator.replaceSwitchByGoto():153:153 -> f
     101:101:boolean optimize():105 -> f
-com.android.tools.r8.ir.optimize.SwitchMapCollector -> com.android.tools.r8.internal.xY:
+com.android.tools.r8.ir.optimize.SwitchMapCollector -> com.android.tools.r8.internal.CY:
     com.android.tools.r8.graph.DexString switchMapPrefix -> b
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.graph.DexString kotlinSwitchMapPrefix -> c
@@ -64130,7 +64260,7 @@
     83:83:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
     83:83:boolean maybeIsSwitchMap(com.android.tools.r8.graph.DexEncodedField):167 -> a
     84:84:boolean maybeIsSwitchMap(com.android.tools.r8.graph.DexEncodedField):167:167 -> a
-com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations -> com.android.tools.r8.internal.Y10:
+com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations -> com.android.tools.r8.internal.e20:
     1:20:com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations$UtilityMethodForCodeOptimizations synthesizeThrowClassCastExceptionIfNotNullMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):61:80 -> a
     21:27:void lambda$synthesizeThrowClassCastExceptionIfNotNullMethod$3(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticMethodBuilder):73:79 -> a
     28:28:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations.getThrowClassCastExceptionIfNotNullCodeTemplate(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.InternalOptions):86:86 -> a
@@ -64188,10 +64318,10 @@
     22:27:void lambda$synthesizeToStringIfNotNullMethod$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticMethodBuilder):44:49 -> e
     28:28:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations.getToStringIfNotNullCodeTemplate(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.InternalOptions):56:56 -> e
     28:28:com.android.tools.r8.graph.Code lambda$synthesizeToStringIfNotNullMethod$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):48 -> e
-com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations$1 -> com.android.tools.r8.internal.V10:
-com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations$MethodSynthesizerConsumer -> com.android.tools.r8.internal.W10:
+com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations$1 -> com.android.tools.r8.internal.b20:
+com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations$MethodSynthesizerConsumer -> com.android.tools.r8.internal.c20:
     com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations$UtilityMethodForCodeOptimizations synthesizeMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext) -> a
-com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations$UtilityMethodForCodeOptimizations -> com.android.tools.r8.internal.X10:
+com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations$UtilityMethodForCodeOptimizations -> com.android.tools.r8.internal.d20:
     com.android.tools.r8.graph.ProgramMethod method -> a
     boolean optimized -> b
     boolean $assertionsDisabled -> c
@@ -64201,7 +64331,7 @@
     1:2:com.android.tools.r8.graph.ProgramMethod getMethod():186:187 -> a
     3:4:void optimize(com.android.tools.r8.ir.conversion.MethodProcessor):195:196 -> a
     1:1:com.android.tools.r8.graph.ProgramMethod uncheckedGetMethod():191:191 -> b
-com.android.tools.r8.ir.optimize.classinliner.ClassInliner -> com.android.tools.r8.internal.la:
+com.android.tools.r8.ir.optimize.classinliner.ClassInliner -> com.android.tools.r8.internal.ma:
     java.util.concurrent.ConcurrentHashMap knownClasses -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():40:40 -> <clinit>
@@ -64253,12 +64383,12 @@
     161:161:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus lambda$processMethodCode$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):160 -> a
     162:163:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus com.android.tools.r8.ir.optimize.classinliner.ClassInliner.isClassEligible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):271:272 -> a
     162:163:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus lambda$processMethodCode$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):160 -> a
-com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus -> com.android.tools.r8.internal.ka:
+com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus -> com.android.tools.r8.internal.la:
     com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus NOT_ELIGIBLE -> c
     com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus ELIGIBLE -> b
     1:2:void <clinit>():43:44 -> <clinit>
     1:1:void <init>(java.lang.String,int):42:42 -> <init>
-com.android.tools.r8.ir.optimize.classinliner.ClassInlinerCostAnalysis -> com.android.tools.r8.internal.ma:
+com.android.tools.r8.ir.optimize.classinliner.ClassInlinerCostAnalysis -> com.android.tools.r8.internal.na:
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.ir.optimize.inliner.InliningIRProvider inliningIRProvider -> b
     boolean $assertionsDisabled -> e
@@ -64293,7 +64423,7 @@
     72:74:boolean com.android.tools.r8.ir.optimize.classinliner.ClassInlinerCostAnalysis.exceedsInstructionBudgetAfterIncrement(int):98:100 -> a
     72:74:boolean willExceedInstructionBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.List):83 -> a
     75:75:boolean willExceedInstructionBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.List):92:92 -> a
-com.android.tools.r8.ir.optimize.classinliner.ClassInlinerReceiverSet -> com.android.tools.r8.internal.pa:
+com.android.tools.r8.ir.optimize.classinliner.ClassInlinerReceiverSet -> com.android.tools.r8.internal.qa:
     java.util.Map deferredAliasValidityChecks -> c
     java.util.Set receiverAliases -> a
     java.util.Set illegalReceiverAliases -> b
@@ -64317,7 +64447,7 @@
     1:1:boolean com.android.tools.r8.ir.optimize.classinliner.ClassInlinerReceiverSet.isDefiniteReceiverAlias(com.android.tools.r8.ir.code.Value):78:78 -> d
     1:1:boolean isReceiverAlias(com.android.tools.r8.ir.code.Value):74 -> d
     1:1:java.util.List lambda$addDeferredAliasValidityCheck$0(com.android.tools.r8.ir.code.Value):68:68 -> e
-com.android.tools.r8.ir.optimize.classinliner.FieldValueHelper -> com.android.tools.r8.internal.gk:
+com.android.tools.r8.ir.optimize.classinliner.FieldValueHelper -> com.android.tools.r8.internal.ik:
     com.android.tools.r8.ir.code.Instruction root -> c
     com.android.tools.r8.graph.AppView appView -> d
     com.android.tools.r8.ir.code.Value defaultValue -> e
@@ -64342,7 +64472,7 @@
     105:105:com.android.tools.r8.ir.code.Value getValueDefinedInTheBlock(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):160 -> a
     106:109:com.android.tools.r8.ir.code.Value getValueDefinedInTheBlock(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):162:165 -> a
     1:3:com.android.tools.r8.ir.code.Value getValueForFieldRead(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):63:65 -> b
-com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor -> com.android.tools.r8.internal.mp:
+com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor -> com.android.tools.r8.internal.op:
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
     com.android.tools.r8.graph.ProgramMethod method -> f
     com.android.tools.r8.ir.optimize.classinliner.ClassInlinerReceiverSet receivers -> o
@@ -64700,14 +64830,14 @@
     58:58:void rebindIndirectEligibleInstanceUsersFromPhis():584 -> g
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     59:59:void rebindIndirectEligibleInstanceUsersFromPhis():584:584 -> g
-com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor$IllegalClassInlinerStateException -> com.android.tools.r8.internal.lp:
+com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor$IllegalClassInlinerStateException -> com.android.tools.r8.internal.np:
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():1251:1251 -> <clinit>
     1:2:void <init>():1253:1254 -> <init>
 com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext -> com.android.tools.r8.internal.K1:
     1:1:void <init>():14:14 -> <init>
     1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.DefaultAnalysisContext getDefaultContext():17:17 -> a
-com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsage -> com.android.tools.r8.internal.H5:
+com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsage -> com.android.tools.r8.internal.I5:
     com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsage BOTTOM -> a
     1:1:void <clinit>():12:12 -> <clinit>
     1:1:void <init>():14:14 -> <init>
@@ -64729,7 +64859,7 @@
     1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterUsedAsLock():69 -> j
     2:2:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterUsedAsLock():69:69 -> j
     1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsage getInstance():17:17 -> l
-com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsagePerContext -> com.android.tools.r8.internal.I5:
+com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsagePerContext -> com.android.tools.r8.internal.J5:
     com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsagePerContext INSTANCE -> a
     1:1:void <clinit>():11:11 -> <clinit>
     1:1:void <init>():14:14 -> <init>
@@ -64738,7 +64868,7 @@
     1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage get(com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext):27 -> a
     com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext externalize() -> b
     1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsagePerContext getInstance():17:17 -> c
-com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsages -> com.android.tools.r8.internal.J5:
+com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsages -> com.android.tools.r8.internal.K5:
     com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsages INSTANCE -> a
     1:1:void <clinit>():12:12 -> <clinit>
     1:1:void <init>():14:14 -> <init>
@@ -64752,7 +64882,7 @@
     1:1:boolean equals(java.lang.Object):50:50 -> equals
     1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsages getInstance():17:17 -> g
     1:1:int hashCode():55:55 -> hashCode
-com.android.tools.r8.ir.optimize.classinliner.analysis.ClassInlinerMethodConstraintAnalysis -> com.android.tools.r8.internal.oa:
+com.android.tools.r8.ir.optimize.classinliner.analysis.ClassInlinerMethodConstraintAnalysis -> com.android.tools.r8.internal.pa:
     1:7:com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):21:27 -> a
     8:8:com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.bottom():64:64 -> a
     8:8:com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):29 -> a
@@ -64766,12 +64896,12 @@
     25:25:com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):23:23 -> a
     26:26:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult$SuccessfulDataflowAnalysisResult lambda$analyze$0(com.android.tools.r8.ir.analysis.framework.intraprocedural.IntraproceduralDataflowAnalysis,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):33:33 -> a
     27:27:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages lambda$analyze$1(com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult$SuccessfulDataflowAnalysisResult):37:37 -> a
-com.android.tools.r8.ir.optimize.classinliner.analysis.DefaultAnalysisContext -> com.android.tools.r8.internal.Qe:
+com.android.tools.r8.ir.optimize.classinliner.analysis.DefaultAnalysisContext -> com.android.tools.r8.internal.Re:
     com.android.tools.r8.ir.optimize.classinliner.analysis.DefaultAnalysisContext INSTANCE -> a
     1:1:void <clinit>():9:9 -> <clinit>
     1:1:void <init>():11:11 -> <init>
     1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.DefaultAnalysisContext getInstance():14:14 -> b
-com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage -> com.android.tools.r8.internal.du:
+com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage -> com.android.tools.r8.internal.fu:
     boolean isParameterUsedAsLock -> e
     boolean $assertionsDisabled -> f
     java.util.Set fieldsReadFromParameter -> a
@@ -64805,7 +64935,7 @@
     1:4:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterReturned():24 -> i
     1:4:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage.setParameterUsedAsLock():159:162 -> j
     1:4:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterUsedAsLock():24 -> j
-com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder -> com.android.tools.r8.internal.cu:
+com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder -> com.android.tools.r8.internal.eu:
     boolean isParameterUsedAsLock -> e
     com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder methodCallsWithParameterAsReceiverBuilder -> b
     com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder fieldsReadFromParameterBuilder -> a
@@ -64830,7 +64960,7 @@
     1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder joinIsReceiverUsedAsLock(boolean):254:254 -> c
     2:2:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder setParameterReturned():264:264 -> c
     1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder setParameterUsedAsLock():269:269 -> d
-com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsage -> com.android.tools.r8.internal.FH:
+com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsage -> com.android.tools.r8.internal.KH:
     boolean isParameterUsedAsLock -> e
     boolean $assertionsDisabled -> f
     java.util.Set fieldsReadFromParameter -> a
@@ -64854,7 +64984,7 @@
     1:1:com.android.tools.r8.com.google.common.collect.Multiset getMethodCallsWithParameterAsReceiver():72:72 -> m
     1:1:boolean isParameterMutated():77:77 -> n
     1:1:boolean isParameterUsedAsLock():87:87 -> o
-com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext -> com.android.tools.r8.internal.GH:
+com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext -> com.android.tools.r8.internal.LH:
     java.util.Map backing -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():14:14 -> <clinit>
@@ -64935,7 +65065,7 @@
     1:1:int getNumberOfContexts():99:99 -> d
     1:6:boolean equals(java.lang.Object):133:138 -> equals
     1:1:int hashCode():143:143 -> hashCode
-com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages -> com.android.tools.r8.internal.HH:
+com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages -> com.android.tools.r8.internal.MH:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap backing -> a
     com.android.tools.r8.ir.code.AssumeAndCheckCastAliasedValueConfiguration aliasedValueConfiguration -> b
     boolean $assertionsDisabled -> c
@@ -65023,7 +65153,7 @@
     10:10:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages externalize():113 -> e
     1:5:boolean equals(java.lang.Object):228:232 -> equals
     1:1:int hashCode():237:237 -> hashCode
-com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage -> com.android.tools.r8.internal.OL:
+com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage -> com.android.tools.r8.internal.TL:
     1:1:void <init>():10:10 -> <init>
     com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage addFieldReadFromParameter(com.android.tools.r8.graph.DexField) -> a
     com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage addMethodCallWithParameterAsReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver) -> a
@@ -65038,13 +65168,13 @@
     com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterReturned() -> i
     com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterUsedAsLock() -> j
     1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsage top():88:88 -> k
-com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext -> com.android.tools.r8.internal.PL:
+com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext -> com.android.tools.r8.internal.UL:
     1:1:void <init>():9:9 -> <init>
     com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext asKnown() -> a
     com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage get(com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext) -> a
     com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext rebuild(java.util.function.BiFunction) -> a
     com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext externalize() -> b
-com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages -> com.android.tools.r8.internal.QL:
+com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages -> com.android.tools.r8.internal.VL:
     1:1:void <init>():10:10 -> <init>
     com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState asAbstractState() -> a
     com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext get(int) -> a
@@ -65069,7 +65199,7 @@
     com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages asNonEmpty() -> d
     com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages externalize() -> e
     boolean isTop() -> f
-com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction -> com.android.tools.r8.internal.KZ:
+com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction -> com.android.tools.r8.internal.QZ:
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
     java.util.Set instructionsOfInterest -> g
     com.android.tools.r8.graph.AppView appView -> a
@@ -65236,7 +65366,7 @@
     1:1:boolean lambda$widen$7(com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):404:404 -> d
     2:2:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.isTop():0:0 -> d
     2:2:boolean lambda$widen$7(com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):404 -> d
-com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsage -> com.android.tools.r8.internal.x10:
+com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsage -> com.android.tools.r8.internal.D10:
     com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsage TOP -> a
     1:1:void <clinit>():12:12 -> <clinit>
     1:1:void <init>():14:14 -> <init>
@@ -65248,7 +65378,7 @@
     com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterReturned() -> i
     com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterUsedAsLock() -> j
     1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsage getInstance():17:17 -> l
-com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsagePerContext -> com.android.tools.r8.internal.y10:
+com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsagePerContext -> com.android.tools.r8.internal.E10:
     com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsagePerContext INSTANCE -> a
     1:1:void <clinit>():11:11 -> <clinit>
     1:1:void <init>():14:14 -> <init>
@@ -65257,7 +65387,7 @@
     1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage get(com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext):27 -> a
     com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext externalize() -> b
     1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsagePerContext getInstance():17:17 -> c
-com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsages -> com.android.tools.r8.internal.z10:
+com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsages -> com.android.tools.r8.internal.F10:
     com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsages INSTANCE -> a
     1:1:void <clinit>():11:11 -> <clinit>
     1:1:void <init>():13:13 -> <init>
@@ -65286,14 +65416,14 @@
     boolean isEligibleForStaticGetClassInlining(com.android.tools.r8.graph.AppView,int,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState,com.android.tools.r8.graph.ProgramMethod) -> a
     1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage getParameterUsage(int):33:33 -> b
     1:1:com.android.tools.r8.ir.optimize.classinliner.constraint.AlwaysTrueClassInlinerMethodConstraint getInstance():22:22 -> c
-com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint -> com.android.tools.r8.internal.na:
+com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint -> com.android.tools.r8.internal.oa:
     com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection) -> a
     boolean isEligibleForNewInstanceClassInlining(com.android.tools.r8.graph.ProgramMethod,int) -> a
     boolean isEligibleForStaticGetClassInlining(com.android.tools.r8.graph.AppView,int,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState,com.android.tools.r8.graph.ProgramMethod) -> a
     1:1:com.android.tools.r8.ir.optimize.classinliner.constraint.AlwaysFalseClassInlinerMethodConstraint alwaysFalse():30:30 -> a
     com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage getParameterUsage(int) -> b
     1:1:com.android.tools.r8.ir.optimize.classinliner.constraint.AlwaysTrueClassInlinerMethodConstraint alwaysTrue():34:34 -> b
-com.android.tools.r8.ir.optimize.classinliner.constraint.ConditionalClassInlinerMethodConstraint -> com.android.tools.r8.internal.sd:
+com.android.tools.r8.ir.optimize.classinliner.constraint.ConditionalClassInlinerMethodConstraint -> com.android.tools.r8.internal.td:
     boolean $assertionsDisabled -> b
     com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages usages -> a
     1:1:void <clinit>():28:28 -> <clinit>
@@ -65311,7 +65441,7 @@
     33:35:boolean isEligibleForNewInstanceClassInlining(com.android.tools.r8.graph.ProgramMethod,int):74:76 -> a
     36:67:boolean isEligibleForStaticGetClassInlining(com.android.tools.r8.graph.AppView,int,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState,com.android.tools.r8.graph.ProgramMethod):85:116 -> a
     1:2:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage getParameterUsage(int):68:69 -> b
-com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer -> com.android.tools.r8.internal.vY:
+com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer -> com.android.tools.r8.internal.AY:
     com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer INSTANCE -> a
     boolean $assertionsDisabled -> b
     1:3:void <clinit>():15:17 -> <clinit>
@@ -65320,7 +65450,7 @@
     2:15:boolean switchCaseIsAlwaysHit(com.android.tools.r8.ir.code.Switch,int):26:39 -> a
     16:32:boolean switchCaseIsUnreachable(com.android.tools.r8.ir.code.Switch,com.android.tools.r8.ir.analysis.value.AbstractValue,int):44:60 -> a
     33:44:boolean switchFallthroughIsNeverHit(com.android.tools.r8.ir.code.Switch,com.android.tools.r8.ir.analysis.value.AbstractValue):64:75 -> a
-com.android.tools.r8.ir.optimize.enums.EmptyEnumUnboxer -> com.android.tools.r8.internal.Lh:
+com.android.tools.r8.ir.optimize.enums.EmptyEnumUnboxer -> com.android.tools.r8.internal.Nh:
     com.android.tools.r8.ir.optimize.enums.EmptyEnumUnboxer INSTANCE -> a
     1:1:void <clinit>():26:26 -> <clinit>
     1:1:void <init>():28:28 -> <init>
@@ -65336,7 +65466,7 @@
     void unsetRewriter() -> b
     void updateEnumUnboxingCandidatesInfo() -> c
     1:1:com.android.tools.r8.ir.optimize.enums.EmptyEnumUnboxer get():31:31 -> d
-com.android.tools.r8.ir.optimize.enums.EnumDataMap -> com.android.tools.r8.internal.ki:
+com.android.tools.r8.ir.optimize.enums.EnumDataMap -> com.android.tools.r8.internal.mi:
     com.android.tools.r8.com.google.common.collect.ImmutableMap map -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():16:16 -> <clinit>
@@ -65376,7 +65506,7 @@
     4:4:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.matchesValuesField(com.android.tools.r8.graph.DexField):131:131 -> c
     4:4:boolean matchesValuesField(com.android.tools.r8.graph.DexField):82 -> c
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData -> com.android.tools.r8.internal.ji:
+com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData -> com.android.tools.r8.internal.li:
     boolean $assertionsDisabled -> e
     com.android.tools.r8.com.google.common.collect.ImmutableMap unboxedValues -> b
     int valuesSize -> d
@@ -65385,35 +65515,35 @@
     1:1:void <clinit>():85:85 -> <clinit>
     1:5:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.com.google.common.collect.ImmutableSet,int):101:105 -> <init>
     1:2:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldKnownData getInstanceFieldData(com.android.tools.r8.graph.DexField):109:110 -> a
-com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData -> com.android.tools.r8.internal.pi:
+com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData -> com.android.tools.r8.internal.ri:
     1:1:void <init>():24:24 -> <init>
     com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldKnownData asEnumFieldKnownData() -> a
     boolean isUnknown() -> b
-com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldKnownData -> com.android.tools.r8.internal.li:
+com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldKnownData -> com.android.tools.r8.internal.ni:
     1:1:void <init>():52:52 -> <init>
     com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldKnownData asEnumFieldKnownData() -> a
     boolean isUnknown() -> b
     com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldMappingData asEnumFieldMappingData() -> c
     boolean isMapping() -> d
     boolean isOrdinal() -> e
-com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldMappingData -> com.android.tools.r8.internal.mi:
+com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldMappingData -> com.android.tools.r8.internal.oi:
     com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap mapping -> a
     1:2:void <init>(com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap):88:89 -> <init>
     1:1:void forEach(java.util.function.BiConsumer):112:112 -> a
     com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldMappingData asEnumFieldMappingData() -> c
     boolean isMapping() -> d
     boolean isOrdinal() -> e
-com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldOrdinalData -> com.android.tools.r8.internal.ni:
+com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldOrdinalData -> com.android.tools.r8.internal.pi:
     1:1:void <init>():73:73 -> <init>
     boolean isMapping() -> d
     boolean isOrdinal() -> e
-com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldUnknownData -> com.android.tools.r8.internal.oi:
+com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldUnknownData -> com.android.tools.r8.internal.qi:
     com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldUnknownData INSTANCE -> a
     1:1:void <clinit>():38:38 -> <clinit>
     1:1:void <init>():44:44 -> <init>
     boolean isUnknown() -> b
     1:1:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldUnknownData getInstance():41:41 -> c
-com.android.tools.r8.ir.optimize.enums.EnumUnboxer -> com.android.tools.r8.internal.si:
+com.android.tools.r8.ir.optimize.enums.EnumUnboxer -> com.android.tools.r8.internal.ui:
     1:1:void <init>():24:24 -> <init>
     void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions) -> a
     void onMethodCodePruned(com.android.tools.r8.graph.ProgramMethod) -> a
@@ -65428,7 +65558,7 @@
     void onMethodPruned(com.android.tools.r8.graph.ProgramMethod) -> b
     void unsetRewriter() -> b
     void updateEnumUnboxingCandidatesInfo() -> c
-com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl -> com.android.tools.r8.internal.ui:
+com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl -> com.android.tools.r8.internal.wi:
     com.android.tools.r8.graph.DexItemFactory factory -> b
     com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection enumUnboxingCandidatesInfo -> c
     com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter enumUnboxerRewriter -> i
@@ -65444,12 +65574,12 @@
     2:33:void <init>(com.android.tools.r8.graph.AppView):139:170 -> <init>
     com.android.tools.r8.utils.collections.LongLivedClassSetBuilder lambda$unboxEnums$4(com.android.tools.r8.utils.collections.LongLivedClassSetBuilder,com.android.tools.r8.graph.GraphLens) -> a
     1:1:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues.isEnumStaticFieldValues():0:0 -> a
-    1:1:void recordEnumState(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues):937 -> a
-    2:5:void recordEnumState(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues):940:943 -> a
+    1:1:void recordEnumState(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues):938 -> a
+    2:5:void recordEnumState(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues):941:944 -> a
     6:6:com.android.tools.r8.graph.PrunedItems$Builder com.android.tools.r8.graph.PrunedItems.builder():36:36 -> a
-    6:6:void lambda$updateKeepInfo$6(java.util.Set,com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):728 -> a
-    7:7:void lambda$updateKeepInfo$6(java.util.Set,com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):728:728 -> a
-    8:8:void lambda$updateKeepInfo$6(java.util.Set,com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):727:727 -> a
+    6:6:void lambda$updateKeepInfo$6(java.util.Set,com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):729 -> a
+    7:7:void lambda$updateKeepInfo$6(java.util.Set,com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):729:729 -> a
+    8:8:void lambda$updateKeepInfo$6(java.util.Set,com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):728:728 -> a
     9:9:com.android.tools.r8.graph.AppView access$000(com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl):132:132 -> a
     10:17:com.android.tools.r8.graph.DexProgramClass getEnumUnboxingCandidateOrNull(com.android.tools.r8.ir.analysis.type.TypeElement):210:217 -> a
     18:25:com.android.tools.r8.graph.DexProgramClass getEnumUnboxingCandidateOrNull(com.android.tools.r8.graph.DexType):224:231 -> a
@@ -65555,331 +65685,331 @@
     224:225:void com.android.tools.r8.graph.DexProto.forEachType(java.util.function.Consumer):78:79 -> a
     224:225:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):366 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    226:249:void addNullDependencies(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Set):524:547 -> a
-    250:251:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):554:555 -> a
-    252:284:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):970:1002 -> a
-    252:284:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):556 -> a
-    285:285:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):982:982 -> a
-    285:285:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):556 -> a
-    286:288:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.allowCheckCast(com.android.tools.r8.ir.code.CheckCast):430:432 -> a
-    286:288:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeCheckCastUser(com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1069 -> a
-    286:288:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):982 -> a
-    286:288:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):556 -> a
-    289:289:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.allowCheckCast(com.android.tools.r8.ir.code.CheckCast):431:431 -> a
-    289:289:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeCheckCastUser(com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1069 -> a
-    289:289:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):982 -> a
-    289:289:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):556 -> a
-    290:292:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeCheckCastUser(com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1070:1072 -> a
-    290:292:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):982 -> a
-    290:292:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):556 -> a
-    293:293:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):973:973 -> a
-    293:293:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):556 -> a
-    294:294:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeAssumeUser(com.android.tools.r8.ir.code.Assume,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1012:1012 -> a
-    294:294:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):973 -> a
-    294:294:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):556 -> a
-    295:295:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):980:980 -> a
-    295:295:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):556 -> a
-    296:311:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeArrayPutUser(com.android.tools.r8.ir.code.ArrayPut,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1045:1060 -> a
-    296:311:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):980 -> a
-    296:311:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):556 -> a
-    312:312:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):978:978 -> a
-    312:312:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):556 -> a
-    313:313:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):977:977 -> a
-    313:313:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):556 -> a
-    314:339:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):975:1000 -> a
-    314:339:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):556 -> a
-    340:340:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):998:998 -> a
-    340:340:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):556 -> a
-    341:345:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeReturnUser(com.android.tools.r8.ir.code.Return,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1330:1334 -> a
-    341:345:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):998 -> a
-    341:345:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):556 -> a
-    346:346:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):990:990 -> a
-    346:346:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):556 -> a
-    347:347:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):989:989 -> a
-    347:347:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):556 -> a
-    348:348:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):987:987 -> a
-    348:348:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):556 -> a
-    349:352:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeInstanceGetUser(com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1129:1132 -> a
-    349:352:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):986 -> a
-    349:352:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):556 -> a
-    353:353:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):984:984 -> a
-    353:353:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):556 -> a
-    354:354:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeIfUser(com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1106:1106 -> a
-    354:354:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):984 -> a
-    354:354:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):556 -> a
-    355:355:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):0:0 -> a
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":386,"2":387,"3":388}}
-    386:386:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeIfUser(com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1106:1106 -> a
-    386:386:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):984 -> a
-    386:386:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):556 -> a
-    387:387:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeIfUser(com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1106:1106 -> a
-    387:387:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):984 -> a
-    387:387:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):556 -> a
-    388:388:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeIfUser(com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1106:1106 -> a
-    388:388:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):984 -> a
-    388:388:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):556 -> a
-    356:369:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeIfUser(com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1107:1120 -> a
-    356:369:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):984 -> a
-    356:369:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):556 -> a
-    370:385:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):557:572 -> a
-    389:389:void prepareForPrimaryOptimizationPass(com.android.tools.r8.graph.GraphLens):582:582 -> a
-    390:392:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.initializeCheckNotNullMethods(com.android.tools.r8.graph.GraphLens):588:590 -> a
-    390:392:void prepareForPrimaryOptimizationPass(com.android.tools.r8.graph.GraphLens):583 -> a
-    393:398:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.initializeEnumUnboxingCandidates(com.android.tools.r8.graph.GraphLens):595:600 -> a
-    393:398:void prepareForPrimaryOptimizationPass(com.android.tools.r8.graph.GraphLens):584 -> a
-    399:401:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):612:614 -> a
-    402:410:com.android.tools.r8.ir.optimize.enums.EnumDataMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.finishAnalysis():732:740 -> a
-    402:410:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):615 -> a
-    411:430:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):616:635 -> a
-    431:431:com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses$Builder com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses.builder(com.android.tools.r8.graph.AppView):60:60 -> a
-    431:431:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):638 -> a
-    432:438:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):639:645 -> a
-    439:439:com.android.tools.r8.utils.collections.LongLivedProgramMethodMapBuilder com.android.tools.r8.utils.collections.LongLivedProgramMethodMapBuilder.rewrittenWithLens(com.android.tools.r8.graph.AppView,java.util.function.BiFunction):63:63 -> a
-    439:439:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):645 -> a
-    440:458:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):645:663 -> a
-    459:459:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.rewrittenWithLens(com.android.tools.r8.graph.AppView):138:138 -> a
-    459:459:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):663 -> a
-    460:460:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):664:664 -> a
-    461:461:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.rewrittenWithLens(com.android.tools.r8.graph.AppView):138:138 -> a
-    461:461:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):667 -> a
-    462:462:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):668:668 -> a
-    463:469:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):665:671 -> a
-    470:470:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.rewrittenWithLens(com.android.tools.r8.graph.AppView):138:138 -> a
-    470:470:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):671 -> a
-    471:471:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):672:672 -> a
-    472:476:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):669:673 -> a
-    477:477:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.updateOptimizationInfos(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer$Result):692:692 -> a
-    477:477:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):675 -> a
-    478:481:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):677:680 -> a
-    482:482:java.util.Set lambda$unboxEnums$5(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.LongLivedClassSetBuilder):646:646 -> a
-    483:484:void updateKeepInfo(java.util.Set):724:725 -> a
-    485:500:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):763:778 -> a
-    485:500:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):748 -> a
-    501:501:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.reportFailure(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.eligibility.Reason):1423:1423 -> a
-    501:501:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):780 -> a
-    501:501:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):748 -> a
-    502:513:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):786:797 -> a
-    502:513:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):748 -> a
-    514:514:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.reportFailure(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.eligibility.Reason):1423:1423 -> a
-    514:514:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):796 -> a
-    514:514:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):748 -> a
-    515:515:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinalField():178:178 -> a
-    515:515:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):928 -> a
-    515:515:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):800 -> a
-    515:515:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):748 -> a
-    516:517:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):928:929 -> a
-    516:517:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):800 -> a
-    516:517:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):748 -> a
-    518:518:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
-    518:518:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):929 -> a
-    518:518:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):800 -> a
-    518:518:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):748 -> a
-    519:521:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):930:932 -> a
-    519:521:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):800 -> a
-    519:521:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):748 -> a
-    522:526:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):801:805 -> a
-    522:526:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):748 -> a
-    527:527:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.reportFailure(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.eligibility.Reason):1423:1423 -> a
-    527:527:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):802 -> a
-    527:527:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):748 -> a
-    528:543:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):808:823 -> a
-    528:543:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):748 -> a
-    544:544:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.reportFailure(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.eligibility.Reason):1423:1423 -> a
-    544:544:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):822 -> a
-    544:544:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):748 -> a
-    545:545:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):826:826 -> a
-    545:545:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):748 -> a
-    546:546:boolean com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.isEnumValuesObjectState():0:0 -> a
-    546:546:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):826 -> a
-    546:546:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):748 -> a
-    547:549:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):826:828 -> a
-    547:549:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):748 -> a
-    550:567:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):827:844 -> a
-    550:567:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):748 -> a
-    568:568:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinalField():178:178 -> a
-    568:568:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):928 -> a
-    568:568:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):844 -> a
-    568:568:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):748 -> a
-    569:570:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):928:929 -> a
-    569:570:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):844 -> a
-    569:570:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):748 -> a
-    571:571:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
-    571:571:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):929 -> a
-    571:571:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):844 -> a
-    571:571:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):748 -> a
-    572:574:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):930:932 -> a
-    572:574:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):844 -> a
-    572:574:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):748 -> a
-    575:575:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):844:844 -> a
-    575:575:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):748 -> a
-    576:576:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinalField():178:178 -> a
-    576:576:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):928 -> a
-    576:576:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):845 -> a
-    576:576:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):748 -> a
-    577:578:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):928:929 -> a
-    577:578:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):845 -> a
-    577:578:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):748 -> a
-    579:579:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
-    579:579:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):929 -> a
-    579:579:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):845 -> a
-    579:579:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):748 -> a
-    580:582:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):930:932 -> a
-    580:582:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):845 -> a
-    580:582:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):748 -> a
-    583:584:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):845:846 -> a
-    583:584:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):748 -> a
-    585:586:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):871:872 -> a
-    585:586:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):855 -> a
-    585:586:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):748 -> a
-    587:590:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):892:895 -> a
-    587:590:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):874 -> a
-    587:590:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):855 -> a
-    587:590:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):748 -> a
-    591:591:com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap$Builder com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.builder():38:38 -> a
-    591:591:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):897 -> a
-    591:591:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):874 -> a
-    591:591:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):855 -> a
-    591:591:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):748 -> a
-    592:592:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):898:898 -> a
-    592:592:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):874 -> a
-    592:592:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):855 -> a
-    592:592:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):748 -> a
-    593:593:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():57:57 -> a
-    593:593:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():33 -> a
-    593:593:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):898 -> a
-    593:593:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):874 -> a
-    593:593:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):855 -> a
-    593:593:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):748 -> a
-    594:598:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):899:903 -> a
-    594:598:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):874 -> a
-    594:598:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):855 -> a
-    594:598:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):748 -> a
-    599:599:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.reportFailure(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.eligibility.Reason):1423:1423 -> a
-    599:599:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):902 -> a
-    599:599:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):874 -> a
-    599:599:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):855 -> a
-    599:599:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):748 -> a
-    600:600:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):904:904 -> a
-    600:600:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):874 -> a
-    600:600:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):855 -> a
-    600:600:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):748 -> a
-    601:601:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
-    601:601:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):906 -> a
-    601:601:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):874 -> a
-    601:601:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):855 -> a
-    601:601:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):748 -> a
-    602:605:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):906:909 -> a
-    602:605:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):874 -> a
-    602:605:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):855 -> a
-    602:605:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):748 -> a
-    606:606:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.reportFailure(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.eligibility.Reason):1423:1423 -> a
-    606:606:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):907 -> a
-    606:606:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):874 -> a
-    606:606:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):855 -> a
-    606:606:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):748 -> a
-    607:621:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):910:924 -> a
-    607:621:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):874 -> a
-    607:621:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):855 -> a
-    607:621:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):748 -> a
-    622:632:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):875:885 -> a
-    622:632:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):855 -> a
-    622:632:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):748 -> a
-    633:637:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):860:864 -> a
-    633:637:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):748 -> a
-    638:638:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):751:751 -> a
-    639:639:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection.removeCandidate(com.android.tools.r8.graph.DexProgramClass):46:46 -> a
-    639:639:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):751 -> a
-    640:640:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):755:755 -> a
-    641:654:void lambda$analyzeInitializers$8(com.android.tools.r8.graph.DexProgramClass):950:963 -> a
-    655:660:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeFieldPutUser(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1083:1088 -> a
-    661:661:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):52:52 -> a
-    661:661:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeFieldPutUser(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1088 -> a
-    662:662:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):48:48 -> a
-    662:662:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):52 -> a
-    662:662:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeFieldPutUser(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1088 -> a
-    663:672:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeFieldPutUser(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1090:1099 -> a
-    673:693:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1142:1162 -> a
-    694:694:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
-    694:694:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1162 -> a
-    695:698:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1162:1165 -> a
-    699:711:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1160:1172 -> a
-    712:712:boolean com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification.isCheckNotNullClassification():0:0 -> a
-    712:712:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1172 -> a
-    713:715:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1174:1176 -> a
-    716:722:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1175:1181 -> a
-    723:737:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1179:1193 -> a
-    738:739:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getArgumentForParameter(int):280:281 -> a
-    738:739:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1194 -> a
-    740:750:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1195:1205 -> a
-    751:751:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
-    751:751:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1208 -> a
-    752:755:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1209:1212 -> a
-    756:756:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
-    756:756:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1212 -> a
-    757:757:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1212:1212 -> a
-    758:781:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1234:1257 -> a
-    758:781:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1215 -> a
-    782:782:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1247:1247 -> a
-    782:782:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1215 -> a
-    783:783:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.addRequiredNameData(com.android.tools.r8.graph.DexProgramClass):513:513 -> a
-    783:783:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1248 -> a
-    783:783:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1215 -> a
-    784:784:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1249:1249 -> a
-    784:784:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1215 -> a
-    785:806:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1239:1260 -> a
-    785:806:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1215 -> a
-    807:848:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1241:1282 -> a
-    807:848:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1215 -> a
-    849:856:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1280:1287 -> a
-    849:856:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1215 -> a
-    857:857:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.addRequiredNameData(com.android.tools.r8.graph.DexProgramClass):513:513 -> a
-    857:857:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1288 -> a
-    857:857:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1215 -> a
-    858:889:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1289:1320 -> a
-    858:889:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1215 -> a
-    890:895:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1297:1302 -> a
-    890:895:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1215 -> a
-    896:896:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.addRequiredNameData(com.android.tools.r8.graph.DexProgramClass):513:513 -> a
-    896:896:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1299 -> a
-    896:896:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1215 -> a
-    897:897:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1300:1300 -> a
-    897:897:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1215 -> a
-    898:898:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1218:1218 -> a
-    899:899:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.markMethodDependsOnLibraryModelisation(com.android.tools.r8.graph.ProgramMethod):206:206 -> a
-    899:899:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1219 -> a
-    900:901:void onMethodCodePruned(com.android.tools.r8.graph.ProgramMethod):1444:1445 -> a
-    902:905:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):1452:1455 -> a
+    226:250:void addNullDependencies(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,java.util.Set):524:548 -> a
+    251:252:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):555:556 -> a
+    253:285:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):971:1003 -> a
+    253:285:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):557 -> a
+    286:286:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):983:983 -> a
+    286:286:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):557 -> a
+    287:289:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.allowCheckCast(com.android.tools.r8.ir.code.CheckCast):430:432 -> a
+    287:289:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeCheckCastUser(com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1070 -> a
+    287:289:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):983 -> a
+    287:289:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):557 -> a
+    290:290:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.allowCheckCast(com.android.tools.r8.ir.code.CheckCast):431:431 -> a
+    290:290:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeCheckCastUser(com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1070 -> a
+    290:290:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):983 -> a
+    290:290:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):557 -> a
+    291:293:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeCheckCastUser(com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1071:1073 -> a
+    291:293:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):983 -> a
+    291:293:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):557 -> a
+    294:294:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):974:974 -> a
+    294:294:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):557 -> a
+    295:295:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeAssumeUser(com.android.tools.r8.ir.code.Assume,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1013:1013 -> a
+    295:295:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):974 -> a
+    295:295:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):557 -> a
+    296:296:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):981:981 -> a
+    296:296:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):557 -> a
+    297:312:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeArrayPutUser(com.android.tools.r8.ir.code.ArrayPut,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1046:1061 -> a
+    297:312:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):981 -> a
+    297:312:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):557 -> a
+    313:313:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):979:979 -> a
+    313:313:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):557 -> a
+    314:314:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):978:978 -> a
+    314:314:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):557 -> a
+    315:340:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):976:1001 -> a
+    315:340:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):557 -> a
+    341:341:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):999:999 -> a
+    341:341:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):557 -> a
+    342:346:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeReturnUser(com.android.tools.r8.ir.code.Return,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1331:1335 -> a
+    342:346:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):999 -> a
+    342:346:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):557 -> a
+    347:347:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):991:991 -> a
+    347:347:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):557 -> a
+    348:348:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):990:990 -> a
+    348:348:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):557 -> a
+    349:349:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):988:988 -> a
+    349:349:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):557 -> a
+    350:353:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeInstanceGetUser(com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1130:1133 -> a
+    350:353:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):987 -> a
+    350:353:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):557 -> a
+    354:354:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):985:985 -> a
+    354:354:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):557 -> a
+    355:355:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeIfUser(com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1107:1107 -> a
+    355:355:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):985 -> a
+    355:355:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):557 -> a
+    356:356:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):0:0 -> a
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":387,"2":388,"3":389}}
+    387:387:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeIfUser(com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1107:1107 -> a
+    387:387:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):985 -> a
+    387:387:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):557 -> a
+    388:388:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeIfUser(com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1107:1107 -> a
+    388:388:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):985 -> a
+    388:388:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):557 -> a
+    389:389:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeIfUser(com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1107:1107 -> a
+    389:389:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):985 -> a
+    389:389:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):557 -> a
+    357:370:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeIfUser(com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1108:1121 -> a
+    357:370:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):985 -> a
+    357:370:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):557 -> a
+    371:386:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):558:573 -> a
+    390:390:void prepareForPrimaryOptimizationPass(com.android.tools.r8.graph.GraphLens):583:583 -> a
+    391:393:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.initializeCheckNotNullMethods(com.android.tools.r8.graph.GraphLens):589:591 -> a
+    391:393:void prepareForPrimaryOptimizationPass(com.android.tools.r8.graph.GraphLens):584 -> a
+    394:399:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.initializeEnumUnboxingCandidates(com.android.tools.r8.graph.GraphLens):596:601 -> a
+    394:399:void prepareForPrimaryOptimizationPass(com.android.tools.r8.graph.GraphLens):585 -> a
+    400:402:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):613:615 -> a
+    403:411:com.android.tools.r8.ir.optimize.enums.EnumDataMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.finishAnalysis():733:741 -> a
+    403:411:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):616 -> a
+    412:431:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):617:636 -> a
+    432:432:com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses$Builder com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses.builder(com.android.tools.r8.graph.AppView):60:60 -> a
+    432:432:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):639 -> a
+    433:439:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):640:646 -> a
+    440:440:com.android.tools.r8.utils.collections.LongLivedProgramMethodMapBuilder com.android.tools.r8.utils.collections.LongLivedProgramMethodMapBuilder.rewrittenWithLens(com.android.tools.r8.graph.AppView,java.util.function.BiFunction):63:63 -> a
+    440:440:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):646 -> a
+    441:459:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):646:664 -> a
+    460:460:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.rewrittenWithLens(com.android.tools.r8.graph.AppView):138:138 -> a
+    460:460:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):664 -> a
+    461:461:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):665:665 -> a
+    462:462:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.rewrittenWithLens(com.android.tools.r8.graph.AppView):138:138 -> a
+    462:462:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):668 -> a
+    463:463:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):669:669 -> a
+    464:470:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):666:672 -> a
+    471:471:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.rewrittenWithLens(com.android.tools.r8.graph.AppView):138:138 -> a
+    471:471:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):672 -> a
+    472:472:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):673:673 -> a
+    473:477:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):670:674 -> a
+    478:478:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.updateOptimizationInfos(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer$Result):693:693 -> a
+    478:478:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):676 -> a
+    479:482:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):678:681 -> a
+    483:483:java.util.Set lambda$unboxEnums$5(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.LongLivedClassSetBuilder):647:647 -> a
+    484:485:void updateKeepInfo(java.util.Set):725:726 -> a
+    486:501:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):764:779 -> a
+    486:501:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):749 -> a
+    502:502:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.reportFailure(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.eligibility.Reason):1424:1424 -> a
+    502:502:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):781 -> a
+    502:502:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):749 -> a
+    503:514:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):787:798 -> a
+    503:514:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):749 -> a
+    515:515:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.reportFailure(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.eligibility.Reason):1424:1424 -> a
+    515:515:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):797 -> a
+    515:515:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):749 -> a
+    516:516:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinalField():178:178 -> a
+    516:516:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):929 -> a
+    516:516:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):801 -> a
+    516:516:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):749 -> a
+    517:518:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):929:930 -> a
+    517:518:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):801 -> a
+    517:518:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):749 -> a
+    519:519:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
+    519:519:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):930 -> a
+    519:519:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):801 -> a
+    519:519:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):749 -> a
+    520:522:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):931:933 -> a
+    520:522:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):801 -> a
+    520:522:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):749 -> a
+    523:527:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):802:806 -> a
+    523:527:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):749 -> a
+    528:528:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.reportFailure(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.eligibility.Reason):1424:1424 -> a
+    528:528:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):803 -> a
+    528:528:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):749 -> a
+    529:544:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):809:824 -> a
+    529:544:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):749 -> a
+    545:545:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.reportFailure(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.eligibility.Reason):1424:1424 -> a
+    545:545:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):823 -> a
+    545:545:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):749 -> a
+    546:546:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):827:827 -> a
+    546:546:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):749 -> a
+    547:547:boolean com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.isEnumValuesObjectState():0:0 -> a
+    547:547:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):827 -> a
+    547:547:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):749 -> a
+    548:550:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):827:829 -> a
+    548:550:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):749 -> a
+    551:568:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):828:845 -> a
+    551:568:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):749 -> a
+    569:569:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinalField():178:178 -> a
+    569:569:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):929 -> a
+    569:569:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):845 -> a
+    569:569:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):749 -> a
+    570:571:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):929:930 -> a
+    570:571:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):845 -> a
+    570:571:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):749 -> a
+    572:572:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
+    572:572:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):930 -> a
+    572:572:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):845 -> a
+    572:572:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):749 -> a
+    573:575:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):931:933 -> a
+    573:575:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):845 -> a
+    573:575:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):749 -> a
+    576:576:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):845:845 -> a
+    576:576:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):749 -> a
+    577:577:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinalField():178:178 -> a
+    577:577:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):929 -> a
+    577:577:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):846 -> a
+    577:577:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):749 -> a
+    578:579:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):929:930 -> a
+    578:579:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):846 -> a
+    578:579:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):749 -> a
+    580:580:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
+    580:580:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):930 -> a
+    580:580:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):846 -> a
+    580:580:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):749 -> a
+    581:583:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):931:933 -> a
+    581:583:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):846 -> a
+    581:583:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):749 -> a
+    584:585:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):846:847 -> a
+    584:585:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):749 -> a
+    586:587:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):872:873 -> a
+    586:587:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):856 -> a
+    586:587:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):749 -> a
+    588:591:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):893:896 -> a
+    588:591:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):875 -> a
+    588:591:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):856 -> a
+    588:591:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):749 -> a
+    592:592:com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap$Builder com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.builder():38:38 -> a
+    592:592:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):898 -> a
+    592:592:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):875 -> a
+    592:592:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):856 -> a
+    592:592:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):749 -> a
+    593:593:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):899:899 -> a
+    593:593:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):875 -> a
+    593:593:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):856 -> a
+    593:593:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):749 -> a
+    594:594:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():57:57 -> a
+    594:594:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():33 -> a
+    594:594:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):899 -> a
+    594:594:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):875 -> a
+    594:594:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):856 -> a
+    594:594:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):749 -> a
+    595:599:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):900:904 -> a
+    595:599:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):875 -> a
+    595:599:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):856 -> a
+    595:599:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):749 -> a
+    600:600:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.reportFailure(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.eligibility.Reason):1424:1424 -> a
+    600:600:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):903 -> a
+    600:600:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):875 -> a
+    600:600:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):856 -> a
+    600:600:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):749 -> a
+    601:601:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):905:905 -> a
+    601:601:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):875 -> a
+    601:601:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):856 -> a
+    601:601:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):749 -> a
+    602:602:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
+    602:602:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):907 -> a
+    602:602:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):875 -> a
+    602:602:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):856 -> a
+    602:602:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):749 -> a
+    603:606:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):907:910 -> a
+    603:606:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):875 -> a
+    603:606:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):856 -> a
+    603:606:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):749 -> a
+    607:607:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.reportFailure(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.eligibility.Reason):1424:1424 -> a
+    607:607:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):908 -> a
+    607:607:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):875 -> a
+    607:607:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):856 -> a
+    607:607:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):749 -> a
+    608:622:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):911:925 -> a
+    608:622:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):875 -> a
+    608:622:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):856 -> a
+    608:622:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):749 -> a
+    623:633:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):876:886 -> a
+    623:633:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):856 -> a
+    623:633:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):749 -> a
+    634:638:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):861:865 -> a
+    634:638:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):749 -> a
+    639:639:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):752:752 -> a
+    640:640:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection.removeCandidate(com.android.tools.r8.graph.DexProgramClass):46:46 -> a
+    640:640:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):752 -> a
+    641:641:void lambda$analyzeEnumInstances$7(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):756:756 -> a
+    642:655:void lambda$analyzeInitializers$8(com.android.tools.r8.graph.DexProgramClass):951:964 -> a
+    656:661:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeFieldPutUser(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1084:1089 -> a
+    662:662:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):52:52 -> a
+    662:662:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeFieldPutUser(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1089 -> a
+    663:663:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):48:48 -> a
+    663:663:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):52 -> a
+    663:663:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeFieldPutUser(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1089 -> a
+    664:673:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeFieldPutUser(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1091:1100 -> a
+    674:694:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1143:1163 -> a
+    695:695:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
+    695:695:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1163 -> a
+    696:699:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1163:1166 -> a
+    700:712:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1161:1173 -> a
+    713:713:boolean com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification.isCheckNotNullClassification():0:0 -> a
+    713:713:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1173 -> a
+    714:716:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1175:1177 -> a
+    717:723:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1176:1182 -> a
+    724:738:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1180:1194 -> a
+    739:740:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getArgumentForParameter(int):280:281 -> a
+    739:740:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1195 -> a
+    741:751:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1196:1206 -> a
+    752:752:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
+    752:752:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1209 -> a
+    753:756:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1210:1213 -> a
+    757:757:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
+    757:757:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1213 -> a
+    758:758:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1213:1213 -> a
+    759:782:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1235:1258 -> a
+    759:782:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1216 -> a
+    783:783:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1248:1248 -> a
+    783:783:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1216 -> a
+    784:784:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.addRequiredNameData(com.android.tools.r8.graph.DexProgramClass):513:513 -> a
+    784:784:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1249 -> a
+    784:784:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1216 -> a
+    785:785:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1250:1250 -> a
+    785:785:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1216 -> a
+    786:807:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1240:1261 -> a
+    786:807:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1216 -> a
+    808:849:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1242:1283 -> a
+    808:849:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1216 -> a
+    850:857:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1281:1288 -> a
+    850:857:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1216 -> a
+    858:858:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.addRequiredNameData(com.android.tools.r8.graph.DexProgramClass):513:513 -> a
+    858:858:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1289 -> a
+    858:858:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1216 -> a
+    859:890:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1290:1321 -> a
+    859:890:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1216 -> a
+    891:896:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1298:1303 -> a
+    891:896:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1216 -> a
+    897:897:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.addRequiredNameData(com.android.tools.r8.graph.DexProgramClass):513:513 -> a
+    897:897:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1300 -> a
+    897:897:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1216 -> a
+    898:898:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1301:1301 -> a
+    898:898:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1216 -> a
+    899:899:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1219:1219 -> a
+    900:900:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.markMethodDependsOnLibraryModelisation(com.android.tools.r8.graph.ProgramMethod):206:206 -> a
+    900:900:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1220 -> a
+    901:902:void onMethodCodePruned(com.android.tools.r8.graph.ProgramMethod):1445:1446 -> a
+    903:906:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):1453:1456 -> a
     1:1:boolean markEnumAsUnboxable(com.android.tools.r8.ir.optimize.enums.eligibility.Reason,com.android.tools.r8.graph.DexProgramClass):196:196 -> b
-    2:2:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.reportFailure(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.eligibility.Reason):1423:1423 -> b
+    2:2:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.reportFailure(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.eligibility.Reason):1424:1424 -> b
     2:2:boolean markEnumAsUnboxable(com.android.tools.r8.ir.optimize.enums.eligibility.Reason,com.android.tools.r8.graph.DexProgramClass):197 -> b
     3:3:boolean markEnumAsUnboxable(com.android.tools.r8.ir.optimize.enums.eligibility.Reason,com.android.tools.r8.graph.DexProgramClass):199:199 -> b
     4:6:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.markEnumEligible(com.android.tools.r8.graph.DexType,java.util.Set):308:310 -> b
     4:6:void lambda$analyzeInvokeCustom$1(java.util.Set,com.android.tools.r8.graph.DexType):334 -> b
     7:9:void invalidateEnum(com.android.tools.r8.graph.DexType):315:317 -> b
-    10:10:com.android.tools.r8.utils.collections.LongLivedClassSetBuilder lambda$analyzeInvokeUser$9(com.android.tools.r8.graph.GraphLens):1183:1183 -> b
-    11:11:void onMethodPruned(com.android.tools.r8.graph.ProgramMethod):1439:1439 -> b
-    12:12:void unsetRewriter():1460:1460 -> b
+    10:10:com.android.tools.r8.utils.collections.LongLivedClassSetBuilder lambda$analyzeInvokeUser$9(com.android.tools.r8.graph.GraphLens):1184:1184 -> b
+    11:11:void onMethodPruned(com.android.tools.r8.graph.ProgramMethod):1440:1440 -> b
+    12:12:void unsetRewriter():1461:1461 -> b
     1:2:void updateEnumUnboxingCandidatesInfo():183:184 -> c
     3:3:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection.removeCandidate(com.android.tools.r8.graph.DexProgramClass):46:46 -> c
     3:3:void updateEnumUnboxingCandidatesInfo():184 -> c
     4:4:void updateEnumUnboxingCandidatesInfo():186:186 -> c
-    1:15:com.android.tools.r8.ir.optimize.enums.EnumDataMap analyzeEnumInstances():745:759 -> d
-    1:1:void analyzeInitializers():948:948 -> e
+    1:15:com.android.tools.r8.ir.optimize.enums.EnumDataMap analyzeEnumInstances():746:760 -> d
+    1:1:void analyzeInitializers():949:949 -> e
     1:1:com.android.tools.r8.graph.DexClassAndField getOrdinalField():178:178 -> f
-com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl$1 -> com.android.tools.r8.internal.ti:
+com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl$1 -> com.android.tools.r8.internal.vi:
     com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl this$0 -> b
     com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer$Result val$treeFixerResult -> a
-    1:1:void <init>(com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl,com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer$Result):695:695 -> <init>
-    1:2:void fixup(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo):698:699 -> a
+    1:1:void <init>(com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl,com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer$Result):696:696 -> <init>
+    1:2:void fixup(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo):699:700 -> a
     3:3:com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo.fixupClassTypeReferences(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):39:39 -> a
-    3:3:void fixup(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo):699 -> a
-    4:5:void fixup(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo):699:700 -> a
-    6:7:void fixup(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo):706:707 -> a
+    3:3:void fixup(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo):700 -> a
+    4:5:void fixup(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo):700:701 -> a
+    6:7:void fixup(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo):707:708 -> a
     8:8:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.fixupClassTypeReferences(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):178:178 -> a
-    8:8:void fixup(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo):707 -> a
-    9:12:void fixup(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo):707:710 -> a
-    13:21:void fixup(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo):709:717 -> a
-com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis -> com.android.tools.r8.internal.xi:
+    8:8:void fixup(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo):708 -> a
+    9:12:void fixup(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo):708:711 -> a
+    13:21:void fixup(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo):710:718 -> a
+com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis -> com.android.tools.r8.internal.zi:
     com.android.tools.r8.graph.DexItemFactory factory -> c
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection enumToUnboxCandidates -> d
@@ -65894,12 +66024,12 @@
     3:3:com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection findCandidates(com.android.tools.r8.graph.GraphLens):46:46 -> a
     4:18:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis.isEnumUnboxingCandidate(com.android.tools.r8.graph.DexProgramClass):60:74 -> a
     4:18:com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection findCandidates(com.android.tools.r8.graph.GraphLens):47 -> a
-    19:19:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.reportFailure(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.eligibility.Reason):1423:1423 -> a
+    19:19:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.reportFailure(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.eligibility.Reason):1424:1424 -> a
     19:19:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis.isEnumUnboxingCandidate(com.android.tools.r8.graph.DexProgramClass):74 -> a
     19:19:com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection findCandidates(com.android.tools.r8.graph.GraphLens):47 -> a
     20:20:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis.isEnumUnboxingCandidate(com.android.tools.r8.graph.DexProgramClass):66:66 -> a
     20:20:com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection findCandidates(com.android.tools.r8.graph.GraphLens):47 -> a
-    21:21:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.reportFailure(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.eligibility.Reason):1423:1423 -> a
+    21:21:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.reportFailure(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.eligibility.Reason):1424:1424 -> a
     21:21:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis.isEnumUnboxingCandidate(com.android.tools.r8.graph.DexProgramClass):66 -> a
     21:21:com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection findCandidates(com.android.tools.r8.graph.GraphLens):47 -> a
     22:22:com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection findCandidates(com.android.tools.r8.graph.GraphLens):48:48 -> a
@@ -65929,7 +66059,7 @@
     56:58:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis.removePinnedIfNotHolder(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.DexType):126:128 -> a
     56:58:void lambda$removePinnedCandidates$1(com.android.tools.r8.graph.DexMethod):119 -> a
     59:61:void removePinnedCandidate(com.android.tools.r8.graph.DexType):133:135 -> a
-com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection -> com.android.tools.r8.internal.zi:
+com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection -> com.android.tools.r8.internal.Bi:
     java.util.Map enumTypeToInfo -> a
     java.util.Set prunedMethods -> b
     boolean $assertionsDisabled -> c
@@ -65951,7 +66081,7 @@
     2:2:com.android.tools.r8.com.google.common.collect.ImmutableSet candidates():62:62 -> c
     1:1:void clear():128:128 -> d
     1:1:boolean isEmpty():58:58 -> e
-com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection$EnumUnboxingCandidateInfo -> com.android.tools.r8.internal.yi:
+com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection$EnumUnboxingCandidateInfo -> com.android.tools.r8.internal.Ai:
     java.util.Set requiredInstanceFieldData -> c
     com.android.tools.r8.graph.DexProgramClass enumClass -> a
     com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder methodDependencies -> b
@@ -65965,7 +66095,7 @@
     4:4:void addRequiredInstanceFieldData(com.android.tools.r8.graph.DexField):158:158 -> a
     1:1:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder access$100(com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection$EnumUnboxingCandidateInfo):131:131 -> b
     2:2:java.util.Set getRequiredInstanceFieldData():162:162 -> b
-com.android.tools.r8.ir.optimize.enums.EnumUnboxingCfMethods -> com.android.tools.r8.internal.Di:
+com.android.tools.r8.ir.optimize.enums.EnumUnboxingCfMethods -> com.android.tools.r8.internal.Fi:
     1:1:void registerSynthesizedCodeReferences(com.android.tools.r8.graph.DexItemFactory):47:47 -> a
     2:22:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_compareTo(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):51:71 -> a
     23:23:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> a
@@ -66016,7 +66146,7 @@
     42:71:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_zeroCheckMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):313:342 -> e
     72:72:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> e
     72:72:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_zeroCheckMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):342 -> e
-com.android.tools.r8.ir.optimize.enums.EnumUnboxingLens -> com.android.tools.r8.internal.Fi:
+com.android.tools.r8.ir.optimize.enums.EnumUnboxingLens -> com.android.tools.r8.internal.Hi:
     java.util.Map prototypeChangesPerMethod -> o
     com.android.tools.r8.ir.analysis.value.AbstractValueFactory abstractValueFactory -> n
     com.android.tools.r8.ir.optimize.enums.EnumDataMap unboxedEnums -> p
@@ -66028,7 +66158,7 @@
     16:32:com.android.tools.r8.graph.RewrittenPrototypeDescription internalDescribePrototypeChanges(com.android.tools.r8.graph.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexMethod):65:81 -> a
     33:33:com.android.tools.r8.ir.optimize.enums.EnumUnboxingLens$Builder enumUnboxingLensBuilder(com.android.tools.r8.graph.AppView):96:96 -> a
     1:4:com.android.tools.r8.ir.code.Invoke$Type mapInvocationType(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):87:90 -> b
-com.android.tools.r8.ir.optimize.enums.EnumUnboxingLens$Builder -> com.android.tools.r8.internal.Ei:
+com.android.tools.r8.ir.optimize.enums.EnumUnboxingLens$Builder -> com.android.tools.r8.internal.Gi:
     java.util.Map typeMap -> b
     boolean $assertionsDisabled -> f
     com.android.tools.r8.utils.collections.MutableBidirectionalOneToManyRepresentativeMap newMethodSignatures -> d
@@ -66053,7 +66183,7 @@
     51:54:void recordCheckNotZeroMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):181:184 -> a
     55:55:void recordCheckNotZeroMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):183:183 -> a
     56:62:com.android.tools.r8.ir.optimize.enums.EnumUnboxingLens build(com.android.tools.r8.graph.AppView):188:194 -> a
-com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter -> com.android.tools.r8.internal.Gi:
+com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter -> com.android.tools.r8.internal.Ii:
     com.android.tools.r8.ir.optimize.enums.EnumDataMap unboxedEnumsData -> e
     java.util.Map checkNotNullToCheckNotZeroMapping -> b
     com.android.tools.r8.graph.DexItemFactory factory -> c
@@ -66273,7 +66403,7 @@
     443:443:com.android.tools.r8.graph.DexType getEnumTypeOrNull(com.android.tools.r8.ir.code.Value,java.util.Map):530:530 -> a
     444:448:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getEnumTypeOrNull(com.android.tools.r8.ir.analysis.type.TypeElement):536:540 -> a
     444:448:com.android.tools.r8.graph.DexType getEnumTypeOrNull(com.android.tools.r8.ir.code.Value,java.util.Map):532 -> a
-com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer -> com.android.tools.r8.internal.Ii:
+com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer -> com.android.tools.r8.internal.Ki:
     com.android.tools.r8.ir.optimize.enums.EnumDataMap enumDataMap -> e
     com.android.tools.r8.graph.DexItemFactory factory -> d
     com.android.tools.r8.graph.AppView appView -> b
@@ -66414,7 +66544,7 @@
     711:720:void lambda$createLocalUtilityMethods$13(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.Map,com.android.tools.r8.graph.ProgramMethod):496:505 -> a
     721:721:boolean lambda$createLocalUtilityMethods$12(java.util.Map,com.android.tools.r8.graph.DexMethod):503:503 -> a
     722:728:com.android.tools.r8.graph.DexEncodedMethod createLocalUtilityMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):515:521 -> a
-    729:729:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.createClassInitializer(com.android.tools.r8.graph.DexType):2381:2381 -> a
+    729:729:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.createClassInitializer(com.android.tools.r8.graph.DexType):2383:2383 -> a
     729:729:com.android.tools.r8.graph.DexEncodedMethod createLocalUtilityMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):521 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     730:730:com.android.tools.r8.graph.DexEncodedMethod createLocalUtilityMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):522:522 -> a
@@ -66426,7 +66556,7 @@
     732:732:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexClassAndMember.getName():53:53 -> a
     732:732:com.android.tools.r8.graph.DexEncodedMethod createLocalUtilityMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):523 -> a
     733:737:com.android.tools.r8.graph.DexEncodedMethod createLocalUtilityMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):523:527 -> a
-    738:738:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.prependHolderToProto(com.android.tools.r8.graph.DexMethod):2582:2582 -> a
+    738:738:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.prependHolderToProto(com.android.tools.r8.graph.DexMethod):2584:2584 -> a
     738:738:com.android.tools.r8.graph.DexEncodedMethod createLocalUtilityMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):527 -> a
     739:740:com.android.tools.r8.graph.DexProto com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.fixupProto(com.android.tools.r8.graph.DexProto):640:641 -> a
     739:740:com.android.tools.r8.graph.DexEncodedMethod createLocalUtilityMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):524 -> a
@@ -66507,7 +66637,7 @@
     25:25:void com.android.tools.r8.graph.DexClass.setStaticFields(java.util.Collection):412:412 -> c
     25:25:com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer$Result fixupTypeReferences(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):126 -> c
     26:37:com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer$Result fixupTypeReferences(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):128:139 -> c
-com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer$Result -> com.android.tools.r8.internal.Hi:
+com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer$Result -> com.android.tools.r8.internal.Ji:
     com.android.tools.r8.ir.optimize.enums.EnumUnboxingLens lens -> b
     com.android.tools.r8.com.google.common.collect.BiMap checkNotNullToCheckNotZeroMapping -> a
     com.android.tools.r8.graph.PrunedItems prunedItems -> c
@@ -66515,13 +66645,13 @@
     1:1:com.android.tools.r8.com.google.common.collect.BiMap getCheckNotNullToCheckNotZeroMapping():681:681 -> a
     1:1:com.android.tools.r8.ir.optimize.enums.EnumUnboxingLens getLens():685:685 -> b
     1:1:com.android.tools.r8.graph.PrunedItems getPrunedItems():689:689 -> c
-com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClass -> com.android.tools.r8.internal.Ji:
+com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClass -> com.android.tools.r8.internal.Li:
     com.android.tools.r8.graph.DexProgramClass synthesizingContext -> a
     1:2:void <init>(com.android.tools.r8.graph.DexProgramClass):15:16 -> <init>
     void ensureMethods(com.android.tools.r8.graph.AppView) -> a
     com.android.tools.r8.graph.DexProgramClass getDefinition() -> a
     1:1:com.android.tools.r8.graph.DexProgramClass getSynthesizingContext():24:24 -> b
-com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses -> com.android.tools.r8.internal.Mi:
+com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses -> com.android.tools.r8.internal.Oi:
     com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass sharedUtilityClass -> b
     com.android.tools.r8.com.google.common.collect.ImmutableMap localUtilityClasses -> a
     boolean $assertionsDisabled -> c
@@ -66534,8 +66664,8 @@
     3:3:void forEach(java.util.function.Consumer):42:42 -> a
     4:5:com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass getLocalUtilityClass(com.android.tools.r8.graph.DexType):50:51 -> a
     6:6:com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass getSharedUtilityClass():56:56 -> a
-com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses$1 -> com.android.tools.r8.internal.Ki:
-com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses$Builder -> com.android.tools.r8.internal.Li:
+com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses$1 -> com.android.tools.r8.internal.Mi:
+com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses$Builder -> com.android.tools.r8.internal.Ni:
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier$Builder fieldAccessInfoCollectionModifierBuilder -> d
     com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass sharedUtilityClass -> c
@@ -66563,7 +66693,7 @@
     38:40:com.android.tools.r8.graph.DexType getUtilityClassType(com.android.tools.r8.graph.DexProgramClass,java.lang.String,com.android.tools.r8.graph.DexItemFactory):132:134 -> a
     41:41:com.android.tools.r8.graph.DexType getUtilityClassType(com.android.tools.r8.graph.DexProgramClass,java.lang.String,com.android.tools.r8.graph.DexItemFactory):133:133 -> a
     42:42:com.android.tools.r8.graph.DexType getUtilityClassType(com.android.tools.r8.graph.DexProgramClass,java.lang.String,com.android.tools.r8.graph.DexItemFactory):132:132 -> a
-com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer -> com.android.tools.r8.internal.Pi:
+com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer -> com.android.tools.r8.internal.Ri:
     com.android.tools.r8.graph.DexItemFactory factory -> b
     com.android.tools.r8.graph.AppView appView -> a
     boolean $assertionsDisabled -> c
@@ -66614,7 +66744,7 @@
     69:69:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):205 -> a
     70:71:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.computeOrdinalToTargetMap(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo):308:309 -> a
     70:71:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):205 -> a
-    72:72:boolean com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions.enableRemoveProtoEnumSwitchMap():1553:1553 -> a
+    72:72:boolean com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions.enableRemoveProtoEnumSwitchMap():1557:1557 -> a
     72:72:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.computeOrdinalToTargetMap(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo):309 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     72:72:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):205 -> a
@@ -66643,10 +66773,10 @@
     109:110:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection):152 -> a
     109:110:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):216 -> a
     111:112:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):224:225 -> a
-    113:115:int[] com.android.tools.r8.utils.ArrayUtils.fromPredicate(java.util.function.IntPredicate,int):152:154 -> a
+    113:115:int[] com.android.tools.r8.utils.ArrayUtils.fromPredicate(java.util.function.IntPredicate,int):156:158 -> a
     113:115:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):225 -> a
     116:124:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):237:245 -> a
-    125:125:void com.android.tools.r8.utils.ArrayUtils.sumOfPredecessorsInclusive(int[]):161:161 -> a
+    125:125:void com.android.tools.r8.utils.ArrayUtils.sumOfPredecessorsInclusive(int[]):165:165 -> a
     125:125:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):249 -> a
     126:128:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):250:252 -> a
     129:135:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):251:257 -> a
@@ -66726,8 +66856,8 @@
     129:129:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> b
     129:129:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):165 -> b
     130:132:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):165:167 -> b
-com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$1 -> com.android.tools.r8.internal.Ni:
-com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo -> com.android.tools.r8.internal.Oi:
+com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$1 -> com.android.tools.r8.internal.Pi:
+com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo -> com.android.tools.r8.internal.Qi:
     com.android.tools.r8.ir.code.Instruction ordinalInvoke -> b
     com.android.tools.r8.ir.code.Instruction arrayGet -> c
     com.android.tools.r8.ir.code.Instruction staticGet -> d
@@ -66735,7 +66865,7 @@
     com.android.tools.r8.graph.DexType enumClass -> a
     1:1:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$1):362:362 -> <init>
     2:7:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):375:380 -> <init>
-com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass -> com.android.tools.r8.internal.CC:
+com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass -> com.android.tools.r8.internal.HC:
     com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData data -> c
     com.android.tools.r8.graph.DexProgramClass localUtilityClass -> b
     boolean $assertionsDisabled -> d
@@ -66781,8 +66911,8 @@
     1:5:com.android.tools.r8.graph.ProgramMethod ensureValueOfMethod(com.android.tools.r8.graph.AppView):101:105 -> c
     6:6:com.android.tools.r8.graph.ProgramMethod ensureValueOfMethod(com.android.tools.r8.graph.AppView):102:102 -> c
     7:7:com.android.tools.r8.graph.DexType getType():145:145 -> c
-com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass$1 -> com.android.tools.r8.internal.AC:
-com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass$Builder -> com.android.tools.r8.internal.BC:
+com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass$1 -> com.android.tools.r8.internal.FC:
+com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass$Builder -> com.android.tools.r8.internal.GC:
     com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData data -> b
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.graph.DexProgramClass enumToUnbox -> c
@@ -66794,7 +66924,7 @@
     1:2:com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass build():168:169 -> a
     3:3:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):180:180 -> a
     1:9:com.android.tools.r8.graph.DexProgramClass createClass():173:181 -> b
-com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass -> com.android.tools.r8.internal.kV:
+com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass -> com.android.tools.r8.internal.pV:
     com.android.tools.r8.graph.DexProgramClass sharedUtilityClass -> b
     com.android.tools.r8.graph.ProgramMethod valuesMethod -> c
     1:3:void <init>(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):56:58 -> <init>
@@ -66824,8 +66954,8 @@
     7:7:com.android.tools.r8.graph.Code lambda$ensureOrdinalMethod$4(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod):125:125 -> e
     1:5:com.android.tools.r8.graph.ProgramMethod ensureOrdinalMethod(com.android.tools.r8.graph.AppView):120:124 -> f
     6:6:com.android.tools.r8.graph.ProgramMethod ensureOrdinalMethod(com.android.tools.r8.graph.AppView):121:121 -> f
-com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$1 -> com.android.tools.r8.internal.iV:
-com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder -> com.android.tools.r8.internal.jV:
+com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$1 -> com.android.tools.r8.internal.nV:
+com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder -> com.android.tools.r8.internal.oV:
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier$Builder fieldAccessInfoCollectionModifierBuilder -> d
@@ -66849,7 +66979,7 @@
     9:14:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):210 -> a
     15:15:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createClassInitializer(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField):244:244 -> a
     15:15:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):214 -> a
-    16:16:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.createClassInitializer(com.android.tools.r8.graph.DexType):2381:2381 -> a
+    16:16:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.createClassInitializer(com.android.tools.r8.graph.DexType):2383:2383 -> a
     16:16:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createClassInitializer(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField):245 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     16:16:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):214 -> a
@@ -66883,7 +67013,7 @@
     75:80:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):212:217 -> a
     81:84:com.android.tools.r8.graph.DexProgramClass findDeterministicContextType(java.util.Set):326:329 -> a
     1:19:com.android.tools.r8.graph.DexProgramClass createClass():201:219 -> b
-com.android.tools.r8.ir.optimize.enums.classification.CheckNotNullEnumUnboxerMethodClassification -> com.android.tools.r8.internal.C9:
+com.android.tools.r8.ir.optimize.enums.classification.CheckNotNullEnumUnboxerMethodClassification -> com.android.tools.r8.internal.D9:
     int argumentIndex -> a
     1:2:void <init>(int):16:17 -> <init>
     com.android.tools.r8.ir.optimize.enums.classification.CheckNotNullEnumUnboxerMethodClassification asCheckNotNullClassification() -> a
@@ -66898,12 +67028,12 @@
     7:7:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification fixupAfterParametersChanged(com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection):48 -> a
     8:10:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification fixupAfterParametersChanged(com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection):51:53 -> a
     1:1:int getArgumentIndex():21:21 -> c
-com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification -> com.android.tools.r8.internal.vi:
+com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification -> com.android.tools.r8.internal.xi:
     1:1:void <init>():9:9 -> <init>
     com.android.tools.r8.ir.optimize.enums.classification.CheckNotNullEnumUnboxerMethodClassification asCheckNotNullClassification() -> a
     com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification fixupAfterParametersChanged(com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection) -> a
     1:1:com.android.tools.r8.ir.optimize.enums.classification.UnknownEnumUnboxerMethodClassification unknown():12:12 -> b
-com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassificationAnalysis -> com.android.tools.r8.internal.wi:
+com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassificationAnalysis -> com.android.tools.r8.internal.yi:
     1:1:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):38:38 -> a
     2:2:com.android.tools.r8.ir.optimize.enums.classification.UnknownEnumUnboxerMethodClassification com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification.unknown():12:12 -> a
     2:2:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):40 -> a
@@ -66925,13 +67055,13 @@
     70:70:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):75 -> a
     71:71:com.android.tools.r8.ir.optimize.enums.classification.UnknownEnumUnboxerMethodClassification com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification.unknown():12:12 -> a
     71:71:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):45 -> a
-com.android.tools.r8.ir.optimize.enums.classification.UnknownEnumUnboxerMethodClassification -> com.android.tools.r8.internal.q10:
+com.android.tools.r8.ir.optimize.enums.classification.UnknownEnumUnboxerMethodClassification -> com.android.tools.r8.internal.w10:
     com.android.tools.r8.ir.optimize.enums.classification.UnknownEnumUnboxerMethodClassification INSTANCE -> a
     1:1:void <clinit>():11:11 -> <clinit>
     1:1:void <init>():14:14 -> <init>
     com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification fixupAfterParametersChanged(com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection) -> a
     1:1:com.android.tools.r8.ir.optimize.enums.classification.UnknownEnumUnboxerMethodClassification getInstance():17:17 -> c
-com.android.tools.r8.ir.optimize.enums.code.CheckNotZeroCode -> com.android.tools.r8.internal.D9:
+com.android.tools.r8.ir.optimize.enums.code.CheckNotZeroCode -> com.android.tools.r8.internal.E9:
     com.android.tools.r8.graph.ProgramMethod checkNotNullMethod -> d
     1:2:void <init>(com.android.tools.r8.graph.ProgramMethod):39:40 -> <init>
     1:2:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):46:47 -> a
@@ -66966,16 +67096,16 @@
     37:37:void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry):110:110 -> a
     38:38:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):115:115 -> a
     39:39:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):125:125 -> a
-    1:1:int computeHashCode():95:95 -> f0
     1:1:boolean computeEquals(java.lang.Object):90:90 -> g
-    1:1:int estimatedDexCodeSizeUpperBoundInBytes():100:100 -> j0
+    1:1:int computeHashCode():95:95 -> g0
+    1:1:int estimatedDexCodeSizeUpperBoundInBytes():100:100 -> k0
     1:1:java.lang.String toString():0:0 -> toString
       # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":122,"2":123,"3":124}}
     122:122:java.lang.String toString():120:120 -> toString
     123:123:java.lang.String toString():120:120 -> toString
     124:124:java.lang.String toString():120:120 -> toString
     121:121:java.lang.String toString():120:120 -> toString
-com.android.tools.r8.ir.optimize.enums.eligibility.Reason -> com.android.tools.r8.internal.sQ:
+com.android.tools.r8.ir.optimize.enums.eligibility.Reason -> com.android.tools.r8.internal.xQ:
     com.android.tools.r8.ir.optimize.enums.eligibility.Reason INVALID_INVOKE_ON_ARRAY -> p
     com.android.tools.r8.ir.optimize.enums.eligibility.Reason INVALID_INVOKE_CUSTOM -> o
     com.android.tools.r8.ir.optimize.enums.eligibility.Reason INVALID_FIELD_PUT -> r
@@ -67001,7 +67131,7 @@
     com.android.tools.r8.ir.optimize.enums.eligibility.Reason OTHER_UNSUPPORTED_INSTRUCTION -> w
     1:28:void <clinit>():12:39 -> <clinit>
     1:1:void <init>():11:11 -> <init>
-com.android.tools.r8.ir.optimize.enums.eligibility.Reason$IllegalInvokeWithImpreciseParameterTypeReason -> com.android.tools.r8.internal.pQ:
+com.android.tools.r8.ir.optimize.enums.eligibility.Reason$IllegalInvokeWithImpreciseParameterTypeReason -> com.android.tools.r8.internal.uQ:
     com.android.tools.r8.graph.DexMethod invokedMethod -> x
     1:2:void <init>(com.android.tools.r8.graph.DexMethod):70:71 -> <init>
     1:1:java.lang.String toString():0:0 -> toString
@@ -67010,11 +67140,11 @@
     84:84:java.lang.String toString():81:81 -> toString
     85:85:java.lang.String toString():81:81 -> toString
     82:82:java.lang.String toString():81:81 -> toString
-com.android.tools.r8.ir.optimize.enums.eligibility.Reason$StringReason -> com.android.tools.r8.internal.qQ:
+com.android.tools.r8.ir.optimize.enums.eligibility.Reason$StringReason -> com.android.tools.r8.internal.vQ:
     java.lang.String message -> x
     1:2:void <init>(java.lang.String):51:52 -> <init>
     1:1:java.lang.String toString():62:62 -> toString
-com.android.tools.r8.ir.optimize.enums.eligibility.Reason$UnsupportedLibraryInvokeReason -> com.android.tools.r8.internal.rQ:
+com.android.tools.r8.ir.optimize.enums.eligibility.Reason$UnsupportedLibraryInvokeReason -> com.android.tools.r8.internal.wQ:
     com.android.tools.r8.graph.DexMethod invokedMethod -> x
     1:2:void <init>(com.android.tools.r8.graph.DexMethod):207:208 -> <init>
     1:1:java.lang.String toString():0:0 -> toString
@@ -67023,13 +67153,13 @@
     221:221:java.lang.String toString():218:218 -> toString
     222:222:java.lang.String toString():218:218 -> toString
     219:219:java.lang.String toString():218:218 -> toString
-com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo -> com.android.tools.r8.internal.s6:
+com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo -> com.android.tools.r8.internal.t6:
     1:1:void <init>():11:11 -> <init>
     com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo asConcreteCallSiteOptimizationInfo() -> a
     1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractArgumentValue(int):32:32 -> a
     com.android.tools.r8.ir.analysis.type.DynamicType getDynamicType(int) -> b
     1:1:com.android.tools.r8.ir.optimize.info.TopCallSiteOptimizationInfo top():14:14 -> b
-com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo -> com.android.tools.r8.internal.Vc:
+com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo -> com.android.tools.r8.internal.Wc:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap constants -> c
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap dynamicTypes -> b
     int size -> a
@@ -67094,7 +67224,7 @@
     1:5:boolean equals(java.lang.Object):188:192 -> equals
     1:1:int hashCode():197:197 -> hashCode
     1:2:java.lang.String toString():202:203 -> toString
-com.android.tools.r8.ir.optimize.info.DefaultFieldOptimizationInfo -> com.android.tools.r8.internal.Te:
+com.android.tools.r8.ir.optimize.info.DefaultFieldOptimizationInfo -> com.android.tools.r8.internal.Ue:
     com.android.tools.r8.ir.optimize.info.DefaultFieldOptimizationInfo INSTANCE -> a
     1:1:void <clinit>():13:13 -> <clinit>
     1:1:void <init>():15:15 -> <init>
@@ -67107,7 +67237,7 @@
     boolean isDead() -> i
     boolean valueHasBeenPropagated() -> j
     1:1:com.android.tools.r8.ir.optimize.info.DefaultFieldOptimizationInfo getInstance():18:18 -> k
-com.android.tools.r8.ir.optimize.info.DefaultMethodOptimizationInfo -> com.android.tools.r8.internal.af:
+com.android.tools.r8.ir.optimize.info.DefaultMethodOptimizationInfo -> com.android.tools.r8.internal.bf:
     com.android.tools.r8.ir.analysis.value.AbstractValue UNKNOWN_ABSTRACT_RETURN_VALUE -> e
     java.util.Set UNKNOWN_INITIALIZED_CLASSES_ON_NORMAL_EXIT -> c
     com.android.tools.r8.ir.optimize.info.DefaultMethodOptimizationInfo DEFAULT_INSTANCE -> b
@@ -67148,7 +67278,7 @@
     boolean isInitializerEnablingJavaVmAssertions() -> x
     boolean isMultiCallerMethod() -> y
     boolean isReachabilitySensitive() -> z
-com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo -> com.android.tools.r8.internal.Sj:
+com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo -> com.android.tools.r8.internal.Uj:
     1:1:void <init>():10:10 -> <init>
     boolean cannotBeKept() -> e
     com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue() -> f
@@ -67156,18 +67286,18 @@
     int getReadBits() -> h
     boolean isDead() -> i
     boolean valueHasBeenPropagated() -> j
-com.android.tools.r8.ir.optimize.info.LibraryOptimizationInfoInitializerFeedback -> com.android.tools.r8.internal.LB:
+com.android.tools.r8.ir.optimize.info.LibraryOptimizationInfoInitializerFeedback -> com.android.tools.r8.internal.NB:
     com.android.tools.r8.ir.optimize.info.LibraryOptimizationInfoInitializerFeedback INSTANCE -> b
     1:1:void <clinit>():12:12 -> <clinit>
     1:1:void <init>():15:15 -> <init>
     1:1:void recordLibraryFieldHasAbstractValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.value.AbstractValue):23:23 -> a
     1:1:com.android.tools.r8.ir.optimize.info.LibraryOptimizationInfoInitializerFeedback getInstance():18:18 -> c
-com.android.tools.r8.ir.optimize.info.MemberOptimizationInfo -> com.android.tools.r8.internal.TD:
+com.android.tools.r8.ir.optimize.info.MemberOptimizationInfo -> com.android.tools.r8.internal.YD:
     com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo asMutableMethodOptimizationInfo() -> a
     com.android.tools.r8.ir.optimize.info.MemberOptimizationInfo toMutableOptimizationInfo() -> b
     com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo asMutableFieldOptimizationInfo() -> c
     boolean isMutableOptimizationInfo() -> d
-com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo -> com.android.tools.r8.internal.OE:
+com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo -> com.android.tools.r8.internal.TE:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():21:21 -> <clinit>
     1:1:void <init>():21:21 -> <init>
@@ -67201,7 +67331,7 @@
     boolean isInitializerEnablingJavaVmAssertions() -> x
     boolean isMultiCallerMethod() -> y
     boolean isReachabilitySensitive() -> z
-com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector -> com.android.tools.r8.internal.QE:
+com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector -> com.android.tools.r8.internal.VE:
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> c
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.ir.optimize.typechecks.CheckCastAndInstanceOfMethodSpecialization checkCastAndInstanceOfMethodSpecialization -> b
@@ -67566,14 +67696,14 @@
     1261:1306:boolean isNonNullOnNormalExit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.DominatorTree,java.util.Set):1172 -> a
     1307:1307:boolean lambda$isNonNullOnNormalExit$4(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):1143:1143 -> a
     boolean lambda$computeMayHaveSideEffects$3(com.android.tools.r8.graph.DexProgramClass) -> b
-com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect -> com.android.tools.r8.internal.PE:
+com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect -> com.android.tools.r8.internal.UE:
     com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect NO_EFFECT -> e
     com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect OTHER_EFFECT -> d
     com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect CONDITIONAL_EFFECT -> c
     com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect DESIRED_EFFECT -> b
     1:4:void <clinit>():731:734 -> <clinit>
     1:1:void <init>(java.lang.String,int):730:730 -> <init>
-com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo -> com.android.tools.r8.internal.vG:
+com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo -> com.android.tools.r8.internal.AG:
     boolean $assertionsDisabled -> e
     com.android.tools.r8.ir.analysis.type.DynamicType dynamicType -> d
     int flags -> b
@@ -67601,7 +67731,7 @@
     1:1:void markAsPropagated():113:113 -> l
     1:1:void markCannotBeKept():86:86 -> m
     1:5:com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo mutableCopy():49:53 -> n
-com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo -> com.android.tools.r8.internal.wG:
+com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo -> com.android.tools.r8.internal.BG:
     com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification enumUnboxerMethodClassification -> g
     java.util.BitSet nonNullParamOnNormalExits -> m
     java.util.BitSet nonNullParamOrThrow -> l
@@ -67784,20 +67914,20 @@
     1:1:boolean isInitializerEnablingJavaVmAssertions():467:467 -> x
     1:1:boolean isMultiCallerMethod():472:472 -> y
     1:1:boolean isReachabilitySensitive():383:383 -> z
-com.android.tools.r8.ir.optimize.info.OptimizationFeedback -> com.android.tools.r8.internal.RK:
+com.android.tools.r8.ir.optimize.info.OptimizationFeedback -> com.android.tools.r8.internal.WK:
     1:1:void <init>():20:20 -> <init>
     void modifyAppInfoWithLiveness(java.util.function.Consumer) -> a
     1:1:com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple com.android.tools.r8.ir.optimize.info.OptimizationFeedback.getSimple():44:44 -> a
     1:1:com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple getSimpleFeedback():48 -> a
     2:2:void fixupOptimizationInfos(java.lang.Iterable,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedback$OptimizationInfoFixer):62:62 -> a
     3:3:void lambda$fixupOptimizationInfos$0(com.android.tools.r8.ir.optimize.info.OptimizationFeedback$OptimizationInfoFixer,com.android.tools.r8.graph.DexProgramClass):63:63 -> a
-com.android.tools.r8.ir.optimize.info.OptimizationFeedback$OptimizationInfoFixer -> com.android.tools.r8.internal.QK:
+com.android.tools.r8.ir.optimize.info.OptimizationFeedback$OptimizationInfoFixer -> com.android.tools.r8.internal.VK:
     void fixup(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo) -> a
     void fixup(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo) -> a
     1:3:void fixup(com.android.tools.r8.graph.DexEncodedMember):30:32 -> a
     4:4:void lambda$fixup$0(com.android.tools.r8.ir.optimize.info.MemberOptimizationInfo,com.android.tools.r8.graph.DexEncodedField):33:33 -> a
     5:5:void lambda$fixup$1(com.android.tools.r8.ir.optimize.info.MemberOptimizationInfo,com.android.tools.r8.graph.DexEncodedMethod):34:34 -> a
-com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed -> com.android.tools.r8.internal.SK:
+com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed -> com.android.tools.r8.internal.XK:
     java.util.Map fieldOptimizationInfos -> b
     java.util.Map methodOptimizationInfos -> c
     java.util.Map processed -> d
@@ -67902,7 +68032,7 @@
     void markMethodCannotBeKept(com.android.tools.r8.graph.DexEncodedMethod) -> f
 com.android.tools.r8.ir.optimize.info.OptimizationFeedbackIgnore$1 -> com.android.tools.r8.ir.optimize.info.a:
     1:1:void <init>():26:26 -> <init>
-com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple -> com.android.tools.r8.internal.UK:
+com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple -> com.android.tools.r8.internal.ZK:
     com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple INSTANCE -> a
     1:1:void <clinit>():27:27 -> <clinit>
     1:1:void <init>():29:29 -> <init>
@@ -68171,12 +68301,12 @@
     5:5:void unsetUnusedArguments(com.android.tools.r8.graph.ProgramMethod):339 -> w
     6:6:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):345:345 -> w
     6:6:void unsetUnusedArguments(com.android.tools.r8.graph.ProgramMethod):339 -> w
-com.android.tools.r8.ir.optimize.info.TopCallSiteOptimizationInfo -> com.android.tools.r8.internal.yZ:
+com.android.tools.r8.ir.optimize.info.TopCallSiteOptimizationInfo -> com.android.tools.r8.internal.EZ:
     com.android.tools.r8.ir.optimize.info.TopCallSiteOptimizationInfo INSTANCE -> a
     1:1:void <clinit>():9:9 -> <clinit>
     1:1:void <init>():11:11 -> <init>
     1:1:com.android.tools.r8.ir.optimize.info.TopCallSiteOptimizationInfo getInstance():14:14 -> c
-com.android.tools.r8.ir.optimize.info.bridge.BridgeAnalyzer -> com.android.tools.r8.internal.Q5:
+com.android.tools.r8.ir.optimize.info.bridge.BridgeAnalyzer -> com.android.tools.r8.internal.R5:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():22:22 -> <clinit>
     1:51:com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo analyzeMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):27:77 -> a
@@ -68200,13 +68330,13 @@
     100:100:boolean analyzeCheckCast(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InvokeMethod):95 -> a
     101:101:boolean com.android.tools.r8.ir.optimize.info.bridge.BridgeAnalyzer.analyzeCheckCastAfterInvoke(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InvokeMethod):148:148 -> a
     101:101:boolean analyzeCheckCast(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InvokeMethod):95 -> a
-com.android.tools.r8.ir.optimize.info.bridge.VirtualBridgeInfo -> com.android.tools.r8.internal.K20:
+com.android.tools.r8.ir.optimize.info.bridge.VirtualBridgeInfo -> com.android.tools.r8.internal.Q20:
     com.android.tools.r8.graph.DexMethod invokedMethod -> a
     1:1:void com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo.<init>():10:10 -> <init>
     1:1:void <init>(com.android.tools.r8.graph.DexMethod):32 -> <init>
     2:2:void <init>(com.android.tools.r8.graph.DexMethod):33:33 -> <init>
     1:1:com.android.tools.r8.graph.DexMethod getInvokedMethod():37:37 -> a
-com.android.tools.r8.ir.optimize.info.field.EmptyInstanceFieldInitializationInfoCollection -> com.android.tools.r8.internal.Oh:
+com.android.tools.r8.ir.optimize.info.field.EmptyInstanceFieldInitializationInfoCollection -> com.android.tools.r8.internal.Qh:
     com.android.tools.r8.ir.optimize.info.field.EmptyInstanceFieldInitializationInfoCollection INSTANCE -> a
     1:1:void <clinit>():22:22 -> <clinit>
     1:1:void <init>():25:25 -> <init>
@@ -68218,7 +68348,7 @@
     boolean isEmpty() -> b
     1:1:com.android.tools.r8.ir.optimize.info.field.EmptyInstanceFieldInitializationInfoCollection getInstance():28:28 -> c
     1:1:java.lang.String toString():69:69 -> toString
-com.android.tools.r8.ir.optimize.info.field.InstanceFieldArgumentInitializationInfo -> com.android.tools.r8.internal.Ip:
+com.android.tools.r8.ir.optimize.info.field.InstanceFieldArgumentInitializationInfo -> com.android.tools.r8.internal.Kp:
     boolean $assertionsDisabled -> b
     int argumentIndex -> a
     1:1:void <clinit>():18:18 -> <clinit>
@@ -68233,17 +68363,17 @@
     com.android.tools.r8.ir.optimize.info.field.InstanceFieldArgumentInitializationInfo asArgumentInitializationInfo() -> f
     boolean isArgumentInitializationInfo() -> h
     1:1:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":150,"2":151,"3":152}}
-    150:150:java.lang.String toString():74:74 -> toString
-    151:151:java.lang.String toString():74:74 -> toString
-    152:152:java.lang.String toString():74:74 -> toString
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":77,"2":78,"3":79}}
+    77:77:java.lang.String toString():74:74 -> toString
+    78:78:java.lang.String toString():74:74 -> toString
+    79:79:java.lang.String toString():74:74 -> toString
     75:75:java.lang.String toString():74:74 -> toString
     76:76:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":153,"2":154,"3":155}}
-    153:153:java.lang.String toString():74:74 -> toString
-    154:154:java.lang.String toString():74:74 -> toString
-    155:155:java.lang.String toString():74:74 -> toString
-com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo -> com.android.tools.r8.internal.Jp:
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":77,"2":78,"3":79}}
+    77:77:java.lang.String toString():74:74 -> toString
+    78:78:java.lang.String toString():74:74 -> toString
+    79:79:java.lang.String toString():74:74 -> toString
+com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo -> com.android.tools.r8.internal.Lp:
     com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection) -> a
     boolean isTypeInitializationInfo() -> a
     com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens) -> a
@@ -68251,7 +68381,7 @@
     boolean isSingleValue() -> g
     boolean isArgumentInitializationInfo() -> h
     com.android.tools.r8.ir.analysis.value.SingleValue asSingleValue() -> j
-com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection -> com.android.tools.r8.internal.Lp:
+com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection -> com.android.tools.r8.internal.Np:
     1:1:void <init>():25:25 -> <init>
     com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection fixupAfterParametersChanged(com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection) -> a
     void forEach(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.BiConsumer) -> a
@@ -68260,19 +68390,19 @@
     1:1:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection$Builder builder():28:28 -> a
     void forEachWithDeterministicOrder(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.BiConsumer) -> b
     boolean isEmpty() -> b
-com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection$Builder -> com.android.tools.r8.internal.Kp:
+com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection$Builder -> com.android.tools.r8.internal.Mp:
     java.util.TreeMap infos -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():53:53 -> <clinit>
     1:3:void <init>():53:55 -> <init>
     1:3:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection$Builder recordInitializationInfo(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):63:65 -> a
     4:7:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection build():71:74 -> a
-com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoFactory -> com.android.tools.r8.internal.Mp:
+com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoFactory -> com.android.tools.r8.internal.Op:
     java.util.concurrent.ConcurrentHashMap argumentInitializationInfos -> a
     1:3:void <init>():11:13 -> <init>
     1:3:com.android.tools.r8.ir.optimize.info.field.InstanceFieldArgumentInitializationInfo createArgumentInitializationInfo(int):18:18 -> a
     4:4:com.android.tools.r8.ir.optimize.info.field.InstanceFieldTypeInitializationInfo createTypeInitializationInfo(com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.ir.analysis.type.TypeElement):24:24 -> a
-com.android.tools.r8.ir.optimize.info.field.InstanceFieldTypeInitializationInfo -> com.android.tools.r8.internal.Op:
+com.android.tools.r8.ir.optimize.info.field.InstanceFieldTypeInitializationInfo -> com.android.tools.r8.internal.Qp:
     com.android.tools.r8.ir.analysis.type.ClassTypeElement dynamicLowerBoundType -> a
     com.android.tools.r8.ir.analysis.type.TypeElement dynamicUpperBoundType -> b
     1:3:void <init>(com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.ir.analysis.type.TypeElement):27:29 -> <init>
@@ -68288,7 +68418,7 @@
     1:6:boolean equals(java.lang.Object):87:92 -> equals
     1:1:int hashCode():79:79 -> hashCode
     1:1:java.lang.String toString():97:97 -> toString
-com.android.tools.r8.ir.optimize.info.field.NonTrivialInstanceFieldInitializationInfoCollection -> com.android.tools.r8.internal.IH:
+com.android.tools.r8.ir.optimize.info.field.NonTrivialInstanceFieldInitializationInfoCollection -> com.android.tools.r8.internal.NH:
     java.util.TreeMap infos -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():23:23 -> <clinit>
@@ -68313,7 +68443,7 @@
     boolean isEmpty() -> b
     1:1:void forEachWithDeterministicOrder(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.BiConsumer):56:56 -> b
     1:4:java.lang.String toString():94:97 -> toString
-com.android.tools.r8.ir.optimize.info.field.UnknownInstanceFieldInitializationInfo -> com.android.tools.r8.internal.t10:
+com.android.tools.r8.ir.optimize.info.field.UnknownInstanceFieldInitializationInfo -> com.android.tools.r8.internal.z10:
     com.android.tools.r8.ir.optimize.info.field.UnknownInstanceFieldInitializationInfo INSTANCE -> a
     1:1:void <clinit>():18:18 -> <clinit>
     1:1:void <init>():21:21 -> <init>
@@ -68321,7 +68451,7 @@
     com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens) -> a
     1:1:com.android.tools.r8.ir.optimize.info.field.UnknownInstanceFieldInitializationInfo getInstance():24:24 -> b
     1:1:java.lang.String toString():46:46 -> toString
-com.android.tools.r8.ir.optimize.info.initializer.ContextInsensitiveInstanceInitializerInfoCollection -> com.android.tools.r8.internal.ge:
+com.android.tools.r8.ir.optimize.info.initializer.ContextInsensitiveInstanceInitializerInfoCollection -> com.android.tools.r8.internal.he:
     com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo info -> a
     1:2:void <init>(com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo):19:20 -> <init>
     1:4:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection):41:44 -> a
@@ -68331,7 +68461,7 @@
     1:1:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo get(com.android.tools.r8.ir.code.InvokeDirect):14 -> b
     1:1:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo com.android.tools.r8.ir.optimize.info.initializer.ContextInsensitiveInstanceInitializerInfoCollection.getContextInsensitive():25:25 -> c
     1:1:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo getContextInsensitive():14 -> c
-com.android.tools.r8.ir.optimize.info.initializer.DefaultInstanceInitializerInfo -> com.android.tools.r8.internal.Xe:
+com.android.tools.r8.ir.optimize.info.initializer.DefaultInstanceInitializerInfo -> com.android.tools.r8.internal.Ye:
     com.android.tools.r8.ir.optimize.info.initializer.DefaultInstanceInitializerInfo INSTANCE -> a
     1:1:void <clinit>():20:20 -> <clinit>
     1:1:void <init>():23:23 -> <init>
@@ -68343,7 +68473,7 @@
     boolean receiverNeverEscapesOutsideConstructorChain() -> g
     1:1:com.android.tools.r8.ir.optimize.info.initializer.DefaultInstanceInitializerInfo getInstance():26:26 -> h
     1:1:java.lang.String toString():83:83 -> toString
-com.android.tools.r8.ir.optimize.info.initializer.EmptyInstanceInitializerInfoCollection -> com.android.tools.r8.internal.Ph:
+com.android.tools.r8.ir.optimize.info.initializer.EmptyInstanceInitializerInfoCollection -> com.android.tools.r8.internal.Rh:
     com.android.tools.r8.ir.optimize.info.initializer.EmptyInstanceInitializerInfoCollection EMPTY -> a
     1:1:void <clinit>():16:16 -> <clinit>
     1:1:void <init>():19:19 -> <init>
@@ -68354,7 +68484,7 @@
     1:1:com.android.tools.r8.ir.optimize.info.initializer.DefaultInstanceInitializerInfo com.android.tools.r8.ir.optimize.info.initializer.EmptyInstanceInitializerInfoCollection.getContextInsensitive():27:27 -> c
     1:1:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo getContextInsensitive():14 -> c
     1:1:com.android.tools.r8.ir.optimize.info.initializer.EmptyInstanceInitializerInfoCollection getInstance():22:22 -> d
-com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo -> com.android.tools.r8.internal.Up:
+com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo -> com.android.tools.r8.internal.Wp:
     1:1:void <init>():16:16 -> <init>
     com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo asNonTrivialInstanceInitializerInfo() -> a
     com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection fieldInitializationInfos() -> b
@@ -68363,7 +68493,7 @@
     boolean mayHaveOtherSideEffectsThanInstanceFieldAssignments() -> e
     com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet readSet() -> f
     boolean receiverNeverEscapesOutsideConstructorChain() -> g
-com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection -> com.android.tools.r8.internal.Vp:
+com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection -> com.android.tools.r8.internal.Xp:
     1:1:void <init>():16:16 -> <init>
     com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection) -> a
     1:1:boolean com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo.isNonTrivialInstanceInitializerInfo():0:0 -> a
@@ -68375,7 +68505,7 @@
     5:5:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection empty():23:23 -> a
     com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo get(com.android.tools.r8.ir.code.InvokeDirect) -> b
     com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo getContextInsensitive() -> c
-com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo -> com.android.tools.r8.internal.LH:
+com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo -> com.android.tools.r8.internal.QH:
     com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection fieldInitializationInfos -> b
     boolean $assertionsDisabled -> e
     com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet readSet -> c
@@ -68404,8 +68534,8 @@
     127:127:java.lang.String toString():124:124 -> toString
     128:128:java.lang.String toString():124:124 -> toString
     125:125:java.lang.String toString():124:124 -> toString
-com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$1 -> com.android.tools.r8.internal.JH:
-com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder -> com.android.tools.r8.internal.KH:
+com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$1 -> com.android.tools.r8.internal.OH:
+com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder -> com.android.tools.r8.internal.PH:
     com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection instanceFieldInitializationInfos -> a
     boolean $assertionsDisabled -> e
     com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet readSet -> c
@@ -68465,7 +68595,7 @@
     1:1:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder setInstanceFieldInitializationMayDependOnEnvironment():197:197 -> f
     1:1:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder setMayHaveOtherSideEffectsThanInstanceFieldAssignments():206:206 -> g
     1:1:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder setReceiverMayEscapeOutsideConstructorChain():211:211 -> h
-com.android.tools.r8.ir.optimize.inliner.DefaultInliningReasonStrategy -> com.android.tools.r8.internal.We:
+com.android.tools.r8.ir.optimize.inliner.DefaultInliningReasonStrategy -> com.android.tools.r8.internal.Xe:
     com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation callSiteInformation -> b
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.utils.InternalOptions$InlinerOptions options -> c
@@ -68494,11 +68624,11 @@
     35:35:boolean com.android.tools.r8.ir.optimize.inliner.DefaultInliningReasonStrategy.isMultiCallerInlineCandidate(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):93:93 -> a
     35:35:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):59 -> a
     36:40:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):60:64 -> a
-com.android.tools.r8.ir.optimize.inliner.FixedInliningReasonStrategy -> com.android.tools.r8.internal.tk:
+com.android.tools.r8.ir.optimize.inliner.FixedInliningReasonStrategy -> com.android.tools.r8.internal.vk:
     com.android.tools.r8.ir.optimize.Inliner$Reason reason -> a
     1:2:void <init>(com.android.tools.r8.ir.optimize.Inliner$Reason):17:18 -> <init>
     1:1:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):28:28 -> a
-com.android.tools.r8.ir.optimize.inliner.InlinerUtils -> com.android.tools.r8.internal.vp:
+com.android.tools.r8.ir.optimize.inliner.InlinerUtils -> com.android.tools.r8.internal.xp:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():14:14 -> <clinit>
     1:4:void collectAllMonitorEnterValues(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Set):20:23 -> a
@@ -68511,7 +68641,7 @@
     9:9:void addMonitorEnterValue(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set):33 -> a
     10:10:void addMonitorEnterValue(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set):36:36 -> a
     11:11:void addMonitorEnterValue(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set):34:34 -> a
-com.android.tools.r8.ir.optimize.inliner.InliningIRProvider -> com.android.tools.r8.internal.xp:
+com.android.tools.r8.ir.optimize.inliner.InliningIRProvider -> com.android.tools.r8.internal.zp:
     com.android.tools.r8.ir.conversion.MethodProcessor methodProcessor -> d
     com.android.tools.r8.graph.AppView appView -> a
     boolean $assertionsDisabled -> f
@@ -68533,7 +68663,7 @@
     24:24:boolean shouldApplyCodeRewritings(com.android.tools.r8.graph.ProgramMethod):116:116 -> a
     1:1:com.android.tools.r8.ir.optimize.inliner.InliningIRProvider getThrowingInstance():44:44 -> b
     1:1:boolean verifyIRCacheIsEmpty():111:111 -> c
-com.android.tools.r8.ir.optimize.inliner.InliningIRProvider$1 -> com.android.tools.r8.internal.wp:
+com.android.tools.r8.ir.optimize.inliner.InliningIRProvider$1 -> com.android.tools.r8.internal.yp:
     1:1:void <init>():44:44 -> <init>
     1:1:com.android.tools.r8.ir.code.IRCode getInliningIR(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,boolean):48:48 -> a
     2:2:com.android.tools.r8.ir.code.IRCode getAndCacheInliningIR(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,boolean):54:54 -> a
@@ -68541,9 +68671,9 @@
     4:4:com.android.tools.r8.ir.conversion.MethodProcessor getMethodProcessor():64:64 -> a
     5:5:boolean shouldApplyCodeRewritings(com.android.tools.r8.graph.ProgramMethod):74:74 -> a
     1:1:boolean verifyIRCacheIsEmpty():69:69 -> c
-com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy -> com.android.tools.r8.internal.zp:
+com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy -> com.android.tools.r8.internal.Bp:
     com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor) -> a
-com.android.tools.r8.ir.optimize.inliner.NopWhyAreYouNotInliningReporter -> com.android.tools.r8.internal.NH:
+com.android.tools.r8.ir.optimize.inliner.NopWhyAreYouNotInliningReporter -> com.android.tools.r8.internal.SH:
     com.android.tools.r8.ir.optimize.inliner.NopWhyAreYouNotInliningReporter INSTANCE -> a
     1:1:void <clinit>():15:15 -> <clinit>
     1:1:void <init>():18:18 -> <init>
@@ -68580,7 +68710,7 @@
     void reportUnknownTarget() -> v
     boolean unsetReasonHasBeenReportedFlag() -> w
     1:1:com.android.tools.r8.ir.optimize.inliner.NopWhyAreYouNotInliningReporter getInstance():21:21 -> x
-com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter -> com.android.tools.r8.internal.k30:
+com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter -> com.android.tools.r8.internal.q30:
     1:1:void <init>():18:18 -> <init>
     void reportCallerNotSameClass() -> a
     void reportIncorrectArity(int,int) -> a
@@ -68616,7 +68746,7 @@
     void reportRecursiveMethod() -> u
     void reportUnknownTarget() -> v
     boolean unsetReasonHasBeenReportedFlag() -> w
-com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporterImpl -> com.android.tools.r8.internal.l30:
+com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporterImpl -> com.android.tools.r8.internal.r30:
     boolean $assertionsDisabled -> e
     com.android.tools.r8.graph.ProgramMethod context -> b
     com.android.tools.r8.graph.ProgramMethod callee -> a
@@ -68676,23 +68806,23 @@
     1:1:void reportRecursiveMethod():209:209 -> u
     1:1:void reportUnknownTarget():214:214 -> v
     1:2:boolean unsetReasonHasBeenReportedFlag():270:271 -> w
-com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerCallGraph -> com.android.tools.r8.internal.YF:
+com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerCallGraph -> com.android.tools.r8.internal.dG:
     1:1:void <init>(java.util.Map):16:16 -> <init>
     1:1:com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerCallGraphBuilder builder(com.android.tools.r8.graph.AppView):20:20 -> a
-com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerCallGraphBuilder -> com.android.tools.r8.internal.ZF:
+com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerCallGraphBuilder -> com.android.tools.r8.internal.eG:
     1:1:void <init>(com.android.tools.r8.graph.AppView):21:21 -> <init>
     1:1:com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerNode com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerCallGraphBuilder.createNode(com.android.tools.r8.graph.ProgramMethod):26:26 -> a
     1:1:com.android.tools.r8.ir.conversion.callgraph.NodeBase createNode(com.android.tools.r8.graph.ProgramMethod):17 -> a
     2:3:com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerCallGraph build(java.util.concurrent.ExecutorService):31:32 -> a
     4:4:void processClass(com.android.tools.r8.graph.DexProgramClass):36:36 -> a
     1:4:void processMethod(com.android.tools.r8.graph.ProgramMethod):40:43 -> c
-com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerInvokeRegistry -> com.android.tools.r8.internal.aG:
+com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerInvokeRegistry -> com.android.tools.r8.internal.fG:
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerNode,java.util.function.Function,java.util.Map):28:28 -> <init>
     1:1:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
     1:1:void processInvokeWithDynamicDispatch(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.ProgramMethod):40 -> a
     2:3:void processInvokeWithDynamicDispatch(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.ProgramMethod):41:42 -> a
     1:1:com.android.tools.r8.graph.GraphLens getCodeLens():33:33 -> c
-com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerNode -> com.android.tools.r8.internal.bG:
+com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerNode -> com.android.tools.r8.internal.gG:
     java.util.concurrent.atomic.AtomicInteger numberOfCallSites -> c
     boolean $assertionsDisabled -> d
     1:1:void <clinit>():12:12 -> <clinit>
@@ -68705,7 +68835,7 @@
     5:5:void com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerNode.addReaderConcurrently(com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerNode):28:28 -> a
     5:5:void addReaderConcurrently(com.android.tools.r8.ir.conversion.callgraph.NodeBase):12 -> a
     1:1:int getNumberOfCallSites():32:32 -> c
-com.android.tools.r8.ir.optimize.library.BooleanMethodOptimizer -> com.android.tools.r8.internal.t5:
+com.android.tools.r8.ir.optimize.library.BooleanMethodOptimizer -> com.android.tools.r8.internal.u5:
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
     com.android.tools.r8.graph.AppView appView -> a
     1:3:void <init>(com.android.tools.r8.graph.AppView):29:31 -> <init>
@@ -68734,7 +68864,7 @@
     31:37:void com.android.tools.r8.ir.optimize.library.BooleanMethodOptimizer.optimizeValueOf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,java.util.Set):101:101 -> a
     31:37:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):53 -> a
     1:1:com.android.tools.r8.graph.DexType getType():36:36 -> getType
-com.android.tools.r8.ir.optimize.library.ByteMethodOptimizer -> com.android.tools.r8.internal.W5:
+com.android.tools.r8.ir.optimize.library.ByteMethodOptimizer -> com.android.tools.r8.internal.X5:
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
     1:3:void <init>(com.android.tools.r8.graph.AppView):25:27 -> <init>
     1:1:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):44:44 -> a
@@ -68749,7 +68879,7 @@
     10:11:void com.android.tools.r8.ir.optimize.library.ByteMethodOptimizer.optimizeByteValue(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):57:58 -> a
     10:11:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):45 -> a
     1:1:com.android.tools.r8.graph.DexType getType():32:32 -> getType
-com.android.tools.r8.ir.optimize.library.EnumMethodOptimizer -> com.android.tools.r8.internal.ri:
+com.android.tools.r8.ir.optimize.library.EnumMethodOptimizer -> com.android.tools.r8.internal.ti:
     com.android.tools.r8.graph.AppView appView -> a
     1:2:void <init>(com.android.tools.r8.graph.AppView):29:30 -> <init>
     1:1:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):47:47 -> a
@@ -68772,7 +68902,7 @@
     29:30:void com.android.tools.r8.ir.optimize.library.EnumMethodOptimizer.insertAssumeDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):83:84 -> a
     29:30:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):50 -> a
     1:1:com.android.tools.r8.graph.DexType getType():35:35 -> getType
-com.android.tools.r8.ir.optimize.library.LibraryFieldSynthesis -> com.android.tools.r8.internal.BB:
+com.android.tools.r8.ir.optimize.library.LibraryFieldSynthesis -> com.android.tools.r8.internal.DB:
     1:3:void synthesizeEnumFields(com.android.tools.r8.graph.AppView):27:29 -> a
     4:4:com.android.tools.r8.graph.DexLibraryClass com.android.tools.r8.graph.DexLibraryClass.asLibraryClassOrNull(com.android.tools.r8.graph.DexClass):78:78 -> a
     4:4:void synthesizeEnumFields(com.android.tools.r8.graph.AppView):29 -> a
@@ -68783,7 +68913,7 @@
     17:17:void lambda$synthesizeEnumFields$0(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):43 -> a
     18:18:void lambda$synthesizeEnumFields$0(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):44:44 -> a
     19:19:void lambda$synthesizeEnumFields$0(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):35:35 -> a
-com.android.tools.r8.ir.optimize.library.LibraryMemberOptimizer -> com.android.tools.r8.internal.CB:
+com.android.tools.r8.ir.optimize.library.LibraryMemberOptimizer -> com.android.tools.r8.internal.EB:
     com.android.tools.r8.graph.AppView appView -> a
     java.util.Map libraryMethodModelCollections -> d
     java.util.Set modeledLibraryTypes -> c
@@ -68820,11 +68950,11 @@
     143:143:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):177 -> a
     144:144:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):177:177 -> a
     145:145:com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State lambda$optimize$1(com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection):160:160 -> a
-com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection -> com.android.tools.r8.internal.EB:
+com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection -> com.android.tools.r8.internal.GB:
     com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State createInitialState(com.android.tools.r8.ir.conversion.MethodProcessor) -> a
     void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext) -> a
-com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State -> com.android.tools.r8.internal.DB:
-com.android.tools.r8.ir.optimize.library.LibraryMethodSideEffectModelCollection -> com.android.tools.r8.internal.IB:
+com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State -> com.android.tools.r8.internal.FB:
+com.android.tools.r8.ir.optimize.library.LibraryMethodSideEffectModelCollection -> com.android.tools.r8.internal.KB:
     java.util.Map finalMethodsWithoutSideEffects -> a
     java.util.Set nonFinalMethodsWithoutSideEffects -> c
     java.util.Set unconditionalFinalMethodsWithoutSideEffects -> b
@@ -68849,7 +68979,7 @@
     2:2:boolean lambda$buildFinalMethodsWithoutSideEffects$3(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,java.util.List):56:56 -> b
     3:29:java.util.Set buildUnconditionalFinalMethodsWithoutSideEffects(com.android.tools.r8.graph.DexItemFactory):71:97 -> b
     1:1:boolean lambda$buildFinalMethodsWithoutSideEffects$2(com.android.tools.r8.graph.DexMethod,java.util.List):52:52 -> c
-com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer -> com.android.tools.r8.internal.KB:
+com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer -> com.android.tools.r8.internal.MB:
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> c
     com.android.tools.r8.graph.AppView appView -> b
     com.android.tools.r8.ir.analysis.value.AbstractValueFactory abstractValueFactory -> a
@@ -68913,7 +69043,7 @@
     63:63:void run(java.util.Set):50:50 -> a
     64:64:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelRequireNonNullMethods():158:158 -> a
     64:64:void run(java.util.Set):51 -> a
-    65:65:java.lang.Iterable com.android.tools.r8.graph.DexItemFactory$ObjectsMethods.requireNonNullMethods():1501:1501 -> a
+    65:65:java.lang.Iterable com.android.tools.r8.graph.DexItemFactory$ObjectsMethods.requireNonNullMethods():1503:1503 -> a
     65:65:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelRequireNonNullMethods():158 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     65:65:void run(java.util.Set):51 -> a
@@ -68931,7 +69061,7 @@
     3:3:com.android.tools.r8.graph.DexEncodedMethod lookupMethod(com.android.tools.r8.graph.DexMethod):167 -> b
     4:6:com.android.tools.r8.graph.DexEncodedMethod lookupMethod(com.android.tools.r8.graph.DexMethod):168:170 -> b
     1:3:void modelLibraryMethodsWithoutSideEffects():146:148 -> c
-com.android.tools.r8.ir.optimize.library.LogMethodOptimizer -> com.android.tools.r8.internal.HC:
+com.android.tools.r8.ir.optimize.library.LogMethodOptimizer -> com.android.tools.r8.internal.MC:
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.graph.DexMethod wtfMethod -> i
     com.android.tools.r8.graph.DexMethod eMethod -> h
@@ -68953,14 +69083,14 @@
     4:38:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):113:147 -> a
     39:42:void replaceInvokeWithConstNumber(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,int):154:157 -> a
     1:1:com.android.tools.r8.graph.DexType getType():101:101 -> getType
-com.android.tools.r8.ir.optimize.library.ObjectMethodOptimizer -> com.android.tools.r8.internal.nK:
+com.android.tools.r8.ir.optimize.library.ObjectMethodOptimizer -> com.android.tools.r8.internal.sK:
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
     1:2:void <init>(com.android.tools.r8.graph.AppView):23:24 -> <init>
     1:1:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):41:41 -> a
     2:4:void com.android.tools.r8.ir.optimize.library.ObjectMethodOptimizer.optimizeGetClass(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):47:49 -> a
     2:4:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):42 -> a
     1:1:com.android.tools.r8.graph.DexType getType():29:29 -> getType
-com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer -> com.android.tools.r8.internal.FK:
+com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer -> com.android.tools.r8.internal.KK:
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.utils.InternalOptions options -> d
@@ -68997,7 +69127,7 @@
     29:29:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeHashCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):139:139 -> a
     29:29:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):64 -> a
     30:30:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):90:90 -> a
-    31:31:boolean com.android.tools.r8.graph.DexItemFactory$ObjectsMethods.isToStringMethod(com.android.tools.r8.graph.DexMethod):1497:1497 -> a
+    31:31:boolean com.android.tools.r8.graph.DexItemFactory$ObjectsMethods.isToStringMethod(com.android.tools.r8.graph.DexMethod):1499:1499 -> a
     31:31:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):90 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     32:32:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
@@ -69011,7 +69141,7 @@
     35:56:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeToStringWithObject(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,java.util.Set,com.android.tools.r8.graph.DexClassAndMethod):226:247 -> a
     35:56:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):91 -> a
     57:57:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):78:78 -> a
-    58:58:boolean com.android.tools.r8.graph.DexItemFactory$ObjectsMethods.isRequireNonNullMethod(com.android.tools.r8.graph.DexMethod):1489:1489 -> a
+    58:58:boolean com.android.tools.r8.graph.DexItemFactory$ObjectsMethods.isRequireNonNullMethod(com.android.tools.r8.graph.DexMethod):1491:1491 -> a
     58:58:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):78 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     59:59:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeRequireNonNull(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,java.util.Set,java.util.Set,com.android.tools.r8.graph.DexClassAndMethod):180:180 -> a
@@ -69060,14 +69190,14 @@
     133:133:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeEquals(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):122:122 -> a
     133:133:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):59 -> a
     1:1:com.android.tools.r8.graph.DexType getType():43:43 -> getType
-com.android.tools.r8.ir.optimize.library.StatelessLibraryMethodModelCollection -> com.android.tools.r8.internal.SW:
+com.android.tools.r8.ir.optimize.library.StatelessLibraryMethodModelCollection -> com.android.tools.r8.internal.XW:
     1:1:void <init>():19:19 -> <init>
     com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State createInitialState(com.android.tools.r8.ir.conversion.MethodProcessor) -> a
     void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set) -> a
     1:1:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):19:19 -> a
     2:2:void com.android.tools.r8.ir.optimize.library.StatelessLibraryMethodModelCollection.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StatelessLibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):48:48 -> a
     2:2:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):19 -> a
-com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer -> com.android.tools.r8.internal.rX:
+com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer -> com.android.tools.r8.internal.wX:
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.utils.InternalOptions options -> c
@@ -69080,11 +69210,11 @@
     6:13:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):103:110 -> a
     6:13:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
     6:13:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
-    14:14:boolean com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods.isAppendStringMethod(com.android.tools.r8.graph.DexMethod):1986:1986 -> a
+    14:14:boolean com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods.isAppendStringMethod(com.android.tools.r8.graph.DexMethod):1988:1988 -> a
     14:14:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):111 -> a
     14:14:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
     14:14:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
-    15:15:boolean com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods.isAppendObjectMethod(com.android.tools.r8.graph.DexMethod):1978:1978 -> a
+    15:15:boolean com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods.isAppendObjectMethod(com.android.tools.r8.graph.DexMethod):1980:1980 -> a
     15:15:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):113 -> a
     15:15:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
     15:15:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
@@ -69165,7 +69295,7 @@
     84:84:com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State createInitialState(com.android.tools.r8.ir.conversion.MethodProcessor):44 -> a
     1:1:com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods access$100(com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer):44:44 -> b
     1:1:com.android.tools.r8.graph.DexType getType():66:66 -> getType
-com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State -> com.android.tools.r8.internal.qX:
+com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State -> com.android.tools.r8.internal.vX:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMap unusedBuilders -> b
     com.android.tools.r8.ir.conversion.MethodProcessor methodProcessor -> a
     com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer this$0 -> c
@@ -69182,7 +69312,7 @@
     136:143:void computeIsUnusedBuilder(com.android.tools.r8.ir.code.Value):179 -> a
     144:152:boolean com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State.computeAllAliasesIfUnusedStringBuilder(com.android.tools.r8.ir.code.Value,java.util.Set):247:255 -> a
     144:152:void computeIsUnusedBuilder(com.android.tools.r8.ir.code.Value):179 -> a
-    153:153:boolean com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods.isConstructorMethod(com.android.tools.r8.graph.DexMethod):1990:1990 -> a
+    153:153:boolean com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods.isConstructorMethod(com.android.tools.r8.graph.DexMethod):1992:1992 -> a
     153:153:boolean com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State.computeAllAliasesIfUnusedStringBuilder(com.android.tools.r8.ir.code.Value,java.util.Set):255 -> a
     153:153:void computeIsUnusedBuilder(com.android.tools.r8.ir.code.Value):179 -> a
     154:154:boolean com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State.computeAllAliasesIfUnusedStringBuilder(com.android.tools.r8.ir.code.Value,java.util.Set):238:238 -> a
@@ -69190,7 +69320,7 @@
     155:155:void computeIsUnusedBuilder(com.android.tools.r8.ir.code.Value):180:180 -> a
     156:156:void lambda$computeIsUnusedBuilder$0(boolean,com.android.tools.r8.ir.code.Value):180:180 -> a
     1:5:boolean isUnusedBuilder(com.android.tools.r8.ir.code.Value):168:172 -> b
-com.android.tools.r8.ir.optimize.library.StringMethodOptimizer -> com.android.tools.r8.internal.xX:
+com.android.tools.r8.ir.optimize.library.StringMethodOptimizer -> com.android.tools.r8.internal.CX:
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
     com.android.tools.r8.graph.AppView appView -> a
     1:3:void <init>(com.android.tools.r8.graph.AppView):32:34 -> <init>
@@ -69216,7 +69346,7 @@
     51:51:boolean isPrunedClassNameComparison(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):128 -> a
     52:54:boolean isPrunedClassNameComparison(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):128:130 -> a
     1:1:com.android.tools.r8.graph.DexType getType():39:39 -> getType
-com.android.tools.r8.ir.optimize.library.sideeffects.JavaLangObjectsSideEffectCollection -> com.android.tools.r8.internal.uv:
+com.android.tools.r8.ir.optimize.library.sideeffects.JavaLangObjectsSideEffectCollection -> com.android.tools.r8.internal.wv:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():18:18 -> <clinit>
     1:20:boolean toStringMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.List):22:41 -> a
@@ -69237,7 +69367,7 @@
     1:1:int hashCode():65:65 -> hashCode
 com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfoLookup -> com.android.tools.r8.internal.F3:
     1:15:com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo lookupAssumeInfo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClassAndMember):35:49 -> a
-com.android.tools.r8.ir.optimize.outliner.OutlineCollection -> com.android.tools.r8.internal.nL:
+com.android.tools.r8.ir.optimize.outliner.OutlineCollection -> com.android.tools.r8.internal.sL:
     java.util.Map canonicalization -> a
     java.util.Map outlines -> c
     com.android.tools.r8.graph.GraphLens appliedGraphLens -> b
@@ -69265,7 +69395,7 @@
     48:51:void lambda$computeMethodsPerOutline$2(com.android.tools.r8.graph.AppView,java.util.Map,com.android.tools.r8.graph.DexMethod,java.util.List):100:103 -> a
     52:61:void lambda$computeMethodsPerOutline$2(com.android.tools.r8.graph.AppView,java.util.Map,com.android.tools.r8.graph.DexMethod,java.util.List):102:111 -> a
     1:5:com.android.tools.r8.utils.collections.ProgramMethodSet computeMethodsSubjectToOutlining(com.android.tools.r8.graph.AppView):84:88 -> b
-com.android.tools.r8.ir.optimize.outliner.Outliner -> com.android.tools.r8.internal.qL:
+com.android.tools.r8.ir.optimize.outliner.Outliner -> com.android.tools.r8.internal.vL:
     1:1:void <init>():19:19 -> <init>
     void collectOutlineSites(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing) -> a
     void onMethodCodePruned(com.android.tools.r8.graph.ProgramMethod) -> a
@@ -69277,7 +69407,7 @@
     3:3:com.android.tools.r8.ir.optimize.outliner.Outliner empty():26:26 -> a
     void onMethodPruned(com.android.tools.r8.graph.ProgramMethod) -> b
     void rewriteWithLens() -> b
-com.android.tools.r8.ir.optimize.outliner.Outliner$1 -> com.android.tools.r8.internal.pL:
+com.android.tools.r8.ir.optimize.outliner.Outliner$1 -> com.android.tools.r8.internal.uL:
     1:1:void <init>():26:26 -> <init>
     void collectOutlineSites(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing) -> a
     void onMethodCodePruned(com.android.tools.r8.graph.ProgramMethod) -> a
@@ -69285,7 +69415,7 @@
     void prepareForPrimaryOptimizationPass(com.android.tools.r8.graph.GraphLens) -> a
     void onMethodPruned(com.android.tools.r8.graph.ProgramMethod) -> b
     void rewriteWithLens() -> b
-com.android.tools.r8.ir.optimize.peepholes.BasicBlockMuncher -> com.android.tools.r8.internal.B4:
+com.android.tools.r8.ir.optimize.peepholes.BasicBlockMuncher -> com.android.tools.r8.internal.C4:
     1:1:java.util.List com.android.tools.r8.ir.optimize.peepholes.BasicBlockMuncher.nonDestructivePeepholes():23:23 -> a
     1:1:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):39 -> a
     2:2:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):39:39 -> a
@@ -69301,10 +69431,10 @@
     30:42:void runPeepholes(com.android.tools.r8.ir.code.IRCode,java.util.List,com.android.tools.r8.utils.InternalOptions):67:79 -> a
     43:43:java.lang.Object com.android.tools.r8.ir.code.BasicBlockIterator.next():10:10 -> a
     43:43:void runPeepholes(com.android.tools.r8.ir.code.IRCode,java.util.List,com.android.tools.r8.utils.InternalOptions):81 -> a
-com.android.tools.r8.ir.optimize.peepholes.BasicBlockPeephole -> com.android.tools.r8.internal.C4:
+com.android.tools.r8.ir.optimize.peepholes.BasicBlockPeephole -> com.android.tools.r8.internal.D4:
     boolean match(com.android.tools.r8.ir.code.InstructionListIterator) -> a
     boolean resetAfterMatch() -> a
-com.android.tools.r8.ir.optimize.peepholes.DupDupDupPeephole -> com.android.tools.r8.internal.Ch:
+com.android.tools.r8.ir.optimize.peepholes.DupDupDupPeephole -> com.android.tools.r8.internal.Eh:
     com.android.tools.r8.ir.optimize.peepholes.Point dup3Exp -> c
     com.android.tools.r8.ir.optimize.peepholes.Point dup2Exp -> b
     com.android.tools.r8.ir.optimize.peepholes.Point dup1Exp -> a
@@ -69328,7 +69458,7 @@
     2:2:boolean com.android.tools.r8.ir.code.Instruction.isDup():0:0 -> c
     2:2:boolean lambda$new$2(com.android.tools.r8.ir.code.Instruction):35 -> c
     3:3:boolean lambda$new$2(com.android.tools.r8.ir.code.Instruction):35:35 -> c
-com.android.tools.r8.ir.optimize.peepholes.LoadLoadDupPeephole -> com.android.tools.r8.internal.wC:
+com.android.tools.r8.ir.optimize.peepholes.LoadLoadDupPeephole -> com.android.tools.r8.internal.BC:
     com.android.tools.r8.ir.optimize.peepholes.Point firstLoadExp -> b
     com.android.tools.r8.ir.optimize.peepholes.Point lastLoadExp -> a
     com.android.tools.r8.ir.optimize.peepholes.PeepholeLayout layout -> c
@@ -69339,10 +69469,10 @@
     1:24:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):41:64 -> a
     25:25:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):40:40 -> a
     25:25:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):64 -> a
-com.android.tools.r8.ir.optimize.peepholes.Match -> com.android.tools.r8.internal.RD:
+com.android.tools.r8.ir.optimize.peepholes.Match -> com.android.tools.r8.internal.WD:
     java.util.List instructions -> a
     1:3:void <init>(com.android.tools.r8.ir.optimize.peepholes.PeepholeExpression[],java.util.List):14:16 -> <init>
-com.android.tools.r8.ir.optimize.peepholes.MoveLoadUpPeephole -> com.android.tools.r8.internal.OF:
+com.android.tools.r8.ir.optimize.peepholes.MoveLoadUpPeephole -> com.android.tools.r8.internal.TF:
     com.android.tools.r8.ir.optimize.peepholes.Point firstLoad -> d
     com.android.tools.r8.ir.optimize.peepholes.PeepholeLayout layout -> e
     com.android.tools.r8.ir.code.Instruction insertPosition -> c
@@ -69375,12 +69505,12 @@
     12:12:boolean com.android.tools.r8.ir.code.Instruction.isDebugPosition():0:0 -> b
     12:12:boolean lambda$new$1(com.android.tools.r8.ir.code.Instruction):59 -> b
     13:13:boolean lambda$new$1(com.android.tools.r8.ir.code.Instruction):60:60 -> b
-com.android.tools.r8.ir.optimize.peepholes.PeepholeExpression -> com.android.tools.r8.internal.TL:
+com.android.tools.r8.ir.optimize.peepholes.PeepholeExpression -> com.android.tools.r8.internal.YL:
     int getMin() -> a
     void setIndex(int) -> a
     java.util.function.Predicate getPredicate() -> b
     int getMax() -> c
-com.android.tools.r8.ir.optimize.peepholes.PeepholeHelper -> com.android.tools.r8.internal.UL:
+com.android.tools.r8.ir.optimize.peepholes.PeepholeHelper -> com.android.tools.r8.internal.ZL:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():14:14 -> <clinit>
     1:1:java.util.function.Predicate withoutLocalInfo(java.util.function.Predicate):17:17 -> a
@@ -69391,7 +69521,7 @@
     23:23:boolean lambda$moveInstructionsUpToCurrentPosition$1(java.util.List,com.android.tools.r8.ir.code.Instruction):66:66 -> a
     1:4:int numberOfValuesPutOnStack(com.android.tools.r8.ir.code.Instruction):38:41 -> b
     5:5:boolean lambda$moveInstructionsUpToCurrentPosition$2(java.util.List,com.android.tools.r8.ir.code.Instruction):72:72 -> b
-com.android.tools.r8.ir.optimize.peepholes.PeepholeLayout -> com.android.tools.r8.internal.VL:
+com.android.tools.r8.ir.optimize.peepholes.PeepholeLayout -> com.android.tools.r8.internal.aM:
     com.android.tools.r8.ir.optimize.peepholes.PeepholeExpression[] expressions -> b
     java.util.List instructions -> a
     boolean backwards -> c
@@ -69400,7 +69530,7 @@
     2:5:com.android.tools.r8.ir.optimize.peepholes.Match test(com.android.tools.r8.ir.code.InstructionListIterator):37:40 -> a
     6:42:com.android.tools.r8.ir.optimize.peepholes.Match testDirection(java.util.function.Supplier,java.util.function.Supplier,java.lang.Runnable):48:84 -> a
     1:1:com.android.tools.r8.ir.optimize.peepholes.PeepholeLayout lookForward(com.android.tools.r8.ir.optimize.peepholes.PeepholeExpression[]):29:29 -> b
-com.android.tools.r8.ir.optimize.peepholes.Point -> com.android.tools.r8.internal.fM:
+com.android.tools.r8.ir.optimize.peepholes.Point -> com.android.tools.r8.internal.kM:
     java.util.function.Predicate predicate -> a
     int index -> b
     boolean $assertionsDisabled -> c
@@ -69412,7 +69542,7 @@
     3:3:com.android.tools.r8.ir.code.Instruction get(com.android.tools.r8.ir.optimize.peepholes.Match):41:41 -> a
     1:1:java.util.function.Predicate getPredicate():21:21 -> b
     int getMax() -> c
-com.android.tools.r8.ir.optimize.peepholes.RemoveDebugPositionPeephole -> com.android.tools.r8.internal.TS:
+com.android.tools.r8.ir.optimize.peepholes.RemoveDebugPositionPeephole -> com.android.tools.r8.internal.YS:
     com.android.tools.r8.ir.optimize.peepholes.Point secondInstructionExp -> b
     com.android.tools.r8.ir.optimize.peepholes.Point debugPositionExp -> a
     com.android.tools.r8.ir.optimize.peepholes.PeepholeLayout layout -> c
@@ -69422,14 +69552,14 @@
     boolean lambda$match$0(com.android.tools.r8.ir.code.DebugPosition,com.android.tools.r8.ir.code.Instruction) -> a
     boolean resetAfterMatch() -> a
     1:33:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):52:84 -> a
-com.android.tools.r8.ir.optimize.peepholes.StoreLoadPeephole -> com.android.tools.r8.internal.gX:
+com.android.tools.r8.ir.optimize.peepholes.StoreLoadPeephole -> com.android.tools.r8.internal.lX:
     com.android.tools.r8.ir.optimize.peepholes.Point loadExp -> b
     com.android.tools.r8.ir.optimize.peepholes.Point storeExp -> a
     com.android.tools.r8.ir.optimize.peepholes.PeepholeLayout layout -> c
     1:6:void <init>():22:27 -> <init>
     boolean resetAfterMatch() -> a
     1:18:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):31:48 -> a
-com.android.tools.r8.ir.optimize.peepholes.StoreLoadToDupStorePeephole -> com.android.tools.r8.internal.hX:
+com.android.tools.r8.ir.optimize.peepholes.StoreLoadToDupStorePeephole -> com.android.tools.r8.internal.mX:
     com.android.tools.r8.ir.optimize.peepholes.Point loadExp -> b
     com.android.tools.r8.ir.optimize.peepholes.Point storeExp -> a
     com.android.tools.r8.ir.optimize.peepholes.PeepholeLayout layout -> d
@@ -69448,7 +69578,7 @@
     24:24:boolean com.android.tools.r8.ir.code.Instruction.isDup():0:0 -> a
     24:24:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):62 -> a
     25:43:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):62:80 -> a
-com.android.tools.r8.ir.optimize.peepholes.StoreSequenceLoadPeephole -> com.android.tools.r8.internal.iX:
+com.android.tools.r8.ir.optimize.peepholes.StoreSequenceLoadPeephole -> com.android.tools.r8.internal.nX:
     com.android.tools.r8.ir.optimize.peepholes.Point storeExp -> c
     com.android.tools.r8.ir.code.Store store -> a
     com.android.tools.r8.ir.optimize.peepholes.PeepholeLayout layout -> f
@@ -69474,7 +69604,7 @@
     3:3:boolean com.android.tools.r8.ir.code.Instruction.isLoad():0:0 -> c
     3:3:boolean lambda$new$2(com.android.tools.r8.ir.code.Instruction):73 -> c
     4:5:boolean lambda$new$2(com.android.tools.r8.ir.code.Instruction):74:75 -> c
-com.android.tools.r8.ir.optimize.peepholes.Wildcard -> com.android.tools.r8.internal.p30:
+com.android.tools.r8.ir.optimize.peepholes.Wildcard -> com.android.tools.r8.internal.v30:
     java.util.function.Predicate predicate -> a
     int index -> b
     boolean $assertionsDisabled -> c
@@ -69486,7 +69616,7 @@
     3:3:java.util.List get(com.android.tools.r8.ir.optimize.peepholes.Match):42:42 -> a
     1:1:java.util.function.Predicate getPredicate():22:22 -> b
     int getMax() -> c
-com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer -> com.android.tools.r8.internal.Za:
+com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer -> com.android.tools.r8.internal.ab:
     com.android.tools.r8.graph.DexItemFactory factory -> b
     com.android.tools.r8.graph.GraphLens graphLensForOptimizationPass -> d
     java.util.concurrent.ConcurrentHashMap candidates -> g
@@ -69629,7 +69759,7 @@
     1:1:void onMethodPruned(com.android.tools.r8.graph.ProgramMethod):120 -> b
     2:11:void prepareForSecondaryOptimizationPass(com.android.tools.r8.graph.GraphLens):137:146 -> b
     12:12:boolean lambda$isValidValueUser$5(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):693:693 -> b
-com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer$CallSiteReferencesInvalidator -> com.android.tools.r8.internal.Xa:
+com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer$CallSiteReferencesInvalidator -> com.android.tools.r8.internal.Ya:
     com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer this$0 -> e
     1:2:void <init>(com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):745:746 -> <init>
     1:2:void com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer$CallSiteReferencesInvalidator.registerMethod(com.android.tools.r8.graph.DexMethod):750:751 -> a
@@ -69654,7 +69784,7 @@
     1:2:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):766 -> g
     3:4:void com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer$CallSiteReferencesInvalidator.registerField(com.android.tools.r8.graph.DexField):755:756 -> g
     3:4:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):811 -> g
-com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer$CandidateInfo -> com.android.tools.r8.internal.Ya:
+com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer$CandidateInfo -> com.android.tools.r8.internal.Za:
     java.util.concurrent.atomic.AtomicInteger instancesCreated -> e
     com.android.tools.r8.graph.DexEncodedField singletonField -> b
     java.util.concurrent.atomic.AtomicInteger fieldWrites -> d
@@ -69668,12 +69798,12 @@
     1:1:void <init>(com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):75:75 -> <init>
     2:17:void <init>(com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):67:82 -> <init>
     1:1:com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer$CandidateInfo invalidate():100:100 -> a
-com.android.tools.r8.ir.optimize.staticizer.ClassStaticizerGraphLens -> com.android.tools.r8.internal.ab:
+com.android.tools.r8.ir.optimize.staticizer.ClassStaticizerGraphLens -> com.android.tools.r8.internal.bb:
     boolean $assertionsDisabled -> n
     1:1:void <clinit>():14:14 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.BidirectionalOneToOneMap,com.android.tools.r8.utils.collections.BidirectionalOneToOneMap):20:20 -> <init>
     1:3:com.android.tools.r8.ir.code.Invoke$Type mapInvocationType(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):25:27 -> b
-com.android.tools.r8.ir.optimize.staticizer.StaticizingProcessor -> com.android.tools.r8.internal.eX:
+com.android.tools.r8.ir.optimize.staticizer.StaticizingProcessor -> com.android.tools.r8.internal.jX:
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer classStaticizer -> b
     com.android.tools.r8.utils.collections.ProgramMethodSet methodsToReprocess -> d
@@ -70129,40 +70259,40 @@
     com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState previous -> a
     java.util.Set nexts -> c
     java.lang.String addition -> b
-    1:4:void <init>():994:997 -> <init>
-    1:1:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState createRoot():1001:1001 -> a
-    2:8:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState createChild(java.lang.String):1005:1011 -> a
+    1:4:void <init>():1002:1005 -> <init>
+    1:1:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState createRoot():1009:1009 -> a
+    2:8:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState createChild(java.lang.String):1013:1019 -> a
 com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$DefaultStringBuilderOptimizationConfiguration -> com.android.tools.r8.ir.optimize.string.h:
     com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer this$0 -> a
     boolean $assertionsDisabled -> b
-    1:1:void <clinit>():814:814 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer):814:814 -> <init>
-    1:2:boolean isBuilderType(com.android.tools.r8.graph.DexType):818:819 -> a
-    3:4:boolean isBuilderInit(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):824:825 -> a
-    5:5:boolean com.android.tools.r8.graph.DexItemFactory.isConstructor(com.android.tools.r8.graph.DexMethod):2790:2790 -> a
-    5:5:boolean isBuilderInit(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):825 -> a
-    6:7:boolean isBuilderInit(com.android.tools.r8.graph.DexMethod):830:831 -> a
-    8:8:boolean com.android.tools.r8.graph.DexItemFactory.isConstructor(com.android.tools.r8.graph.DexMethod):2790:2790 -> a
-    8:8:boolean isBuilderInit(com.android.tools.r8.graph.DexMethod):831 -> a
-    9:11:boolean isBuilderInitWithInitialValue(com.android.tools.r8.ir.code.InvokeMethod):836:838 -> a
-    1:19:boolean isSupportedAppendMethod(com.android.tools.r8.ir.code.InvokeMethod):849:867 -> b
-    20:20:boolean canHandleArgumentType(com.android.tools.r8.graph.DexType):883:883 -> b
-    20:20:boolean isSupportedAppendMethod(com.android.tools.r8.ir.code.InvokeMethod):868 -> b
-    21:24:boolean isToStringMethod(com.android.tools.r8.graph.DexMethod):875:878 -> b
-    1:2:boolean isAppendMethod(com.android.tools.r8.graph.DexMethod):843:844 -> c
+    1:1:void <clinit>():822:822 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer):822:822 -> <init>
+    1:2:boolean isBuilderType(com.android.tools.r8.graph.DexType):826:827 -> a
+    3:4:boolean isBuilderInit(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):832:833 -> a
+    5:5:boolean com.android.tools.r8.graph.DexItemFactory.isConstructor(com.android.tools.r8.graph.DexMethod):2796:2796 -> a
+    5:5:boolean isBuilderInit(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):833 -> a
+    6:7:boolean isBuilderInit(com.android.tools.r8.graph.DexMethod):838:839 -> a
+    8:8:boolean com.android.tools.r8.graph.DexItemFactory.isConstructor(com.android.tools.r8.graph.DexMethod):2796:2796 -> a
+    8:8:boolean isBuilderInit(com.android.tools.r8.graph.DexMethod):839 -> a
+    9:11:boolean isBuilderInitWithInitialValue(com.android.tools.r8.ir.code.InvokeMethod):844:846 -> a
+    1:19:boolean isSupportedAppendMethod(com.android.tools.r8.ir.code.InvokeMethod):857:875 -> b
+    20:20:boolean canHandleArgumentType(com.android.tools.r8.graph.DexType):891:891 -> b
+    20:20:boolean isSupportedAppendMethod(com.android.tools.r8.ir.code.InvokeMethod):876 -> b
+    21:24:boolean isToStringMethod(com.android.tools.r8.graph.DexMethod):883:886 -> b
+    1:2:boolean isAppendMethod(com.android.tools.r8.graph.DexMethod):851:852 -> c
 com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringBuilderOptimizerEscapeAnalysisConfiguration -> com.android.tools.r8.ir.optimize.string.i:
     com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer this$0 -> b
     com.android.tools.r8.graph.DexType builderType -> a
     boolean $assertionsDisabled -> c
-    1:1:void <clinit>():887:887 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$1):887:887 -> <init>
-    2:5:void <init>(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer,com.android.tools.r8.ir.code.Value):891:894 -> <init>
-    1:1:void logEscapingRoute(boolean):899:899 -> a
-    2:11:boolean isLegitimateEscapeRoute(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.escape.EscapeAnalysis,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod):909:918 -> a
+    1:1:void <clinit>():895:895 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$1):895:895 -> <init>
+    2:5:void <init>(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer,com.android.tools.r8.ir.code.Value):899:902 -> <init>
+    1:1:void logEscapingRoute(boolean):907:907 -> a
+    2:11:boolean isLegitimateEscapeRoute(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.escape.EscapeAnalysis,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod):917:926 -> a
     12:12:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
-    12:12:boolean isLegitimateEscapeRoute(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.escape.EscapeAnalysis,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod):919 -> a
-    13:76:boolean isLegitimateEscapeRoute(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.escape.EscapeAnalysis,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod):920:983 -> a
-    77:77:boolean isLegitimateEscapeRoute(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.escape.EscapeAnalysis,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod):910:910 -> a
+    12:12:boolean isLegitimateEscapeRoute(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.escape.EscapeAnalysis,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod):927 -> a
+    13:76:boolean isLegitimateEscapeRoute(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.escape.EscapeAnalysis,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod):928:991 -> a
+    77:77:boolean isLegitimateEscapeRoute(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.escape.EscapeAnalysis,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod):918:918 -> a
 com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis -> com.android.tools.r8.ir.optimize.string.g$b:
     java.util.Map builderStates -> c
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap builderToStringCounts -> b
@@ -70173,8 +70303,8 @@
     boolean $assertionsDisabled -> g
     1:1:void <clinit>():200:200 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer,com.android.tools.r8.ir.code.IRCode):214:214 -> <init>
-    2:369:void <init>(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer,com.android.tools.r8.ir.code.IRCode):212:579 -> <init>
-    370:370:void <init>(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer,com.android.tools.r8.ir.code.IRCode):215:215 -> <init>
+    2:377:void <init>(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer,com.android.tools.r8.ir.code.IRCode):212:587 -> <init>
+    378:378:void <init>(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer,com.android.tools.r8.ir.code.IRCode):215:215 -> <init>
     1:1:java.util.Set access$000(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis):200:200 -> a
     2:24:java.util.Set findAllLocalBuilders():226:248 -> a
     25:27:java.util.Set collectAllLinkedBuilders(com.android.tools.r8.ir.code.Value):261:263 -> a
@@ -70185,86 +70315,86 @@
     46:69:boolean access$2000(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,com.android.tools.r8.ir.code.Value):200 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     70:70:java.util.Map createBuilderState(com.android.tools.r8.ir.code.Value):316:316 -> a
-    71:95:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis buildBuilderStateGraph(java.util.Set):350:374 -> a
-    71:95:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis access$100(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,java.util.Set):200 -> a
+    71:99:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis buildBuilderStateGraph(java.util.Set):350:378 -> a
+    71:99:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis access$100(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,java.util.Set):200 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    96:96:java.util.Map getBuilderState(com.android.tools.r8.ir.code.Value):321:321 -> a
-    96:96:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis buildBuilderStateGraph(java.util.Set):375 -> a
-    96:96:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis access$100(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,java.util.Set):200 -> a
+    100:100:java.util.Map getBuilderState(com.android.tools.r8.ir.code.Value):321:321 -> a
+    100:100:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis buildBuilderStateGraph(java.util.Set):379 -> a
+    100:100:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis access$100(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,java.util.Set):200 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
-    97:122:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis buildBuilderStateGraph(java.util.Set):376:401 -> a
-    97:122:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis access$100(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,java.util.Set):200 -> a
+    101:130:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis buildBuilderStateGraph(java.util.Set):380:409 -> a
+    101:130:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis access$100(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,java.util.Set):200 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    123:123:java.util.Map getBuilderState(com.android.tools.r8.ir.code.Value):321:321 -> a
-    123:123:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis buildBuilderStateGraph(java.util.Set):402 -> a
-    123:123:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis access$100(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,java.util.Set):200 -> a
+    131:131:java.util.Map getBuilderState(com.android.tools.r8.ir.code.Value):321:321 -> a
+    131:131:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis buildBuilderStateGraph(java.util.Set):410 -> a
+    131:131:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis access$100(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,java.util.Set):200 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
-    124:137:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis buildBuilderStateGraph(java.util.Set):403:416 -> a
-    124:137:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis access$100(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,java.util.Set):200 -> a
+    132:145:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis buildBuilderStateGraph(java.util.Set):411:424 -> a
+    132:145:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis access$100(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,java.util.Set):200 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    138:138:java.util.Map getBuilderState(com.android.tools.r8.ir.code.Value):321:321 -> a
-    138:138:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis buildBuilderStateGraph(java.util.Set):419 -> a
-    138:138:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis access$100(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,java.util.Set):200 -> a
+    146:146:java.util.Map getBuilderState(com.android.tools.r8.ir.code.Value):321:321 -> a
+    146:146:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis buildBuilderStateGraph(java.util.Set):427 -> a
+    146:146:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis access$100(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,java.util.Set):200 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
-    139:147:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis buildBuilderStateGraph(java.util.Set):420:428 -> a
-    139:147:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis access$100(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,java.util.Set):200 -> a
+    147:155:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis buildBuilderStateGraph(java.util.Set):428:436 -> a
+    147:155:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis access$100(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,java.util.Set):200 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    148:152:java.lang.String extractConstantArgument(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):438:442 -> a
-    153:153:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
-    153:153:java.lang.String extractConstantArgument(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):442 -> a
-    154:180:java.lang.String extractConstantArgument(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):443:469 -> a
-    181:188:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState findDominantState(com.android.tools.r8.ir.code.DominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction):526:533 -> a
-    189:208:void logHistogramOfChains(java.util.List,boolean):541:560 -> a
-    209:225:void logHistogramOfChains(java.util.List,boolean):555:571 -> a
-    226:226:void logHistogramOfChains(java.util.List,boolean):566:566 -> a
-    227:228:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):582:583 -> a
-    229:229:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1039:1039 -> a
-    229:229:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):583 -> a
-    230:264:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):584:618 -> a
-    265:268:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):617:620 -> a
-    269:269:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):40:40 -> a
-    269:269:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):620 -> a
-    270:271:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):621:622 -> a
-    272:276:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):595:599 -> a
-    277:280:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):597:600 -> a
-    281:281:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):40:40 -> a
-    281:281:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):600 -> a
-    282:306:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):602:626 -> a
-    307:307:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> a
-    307:307:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):626 -> a
-    308:308:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):626:626 -> a
-    309:335:boolean isToStringOfInterest(java.util.Set,com.android.tools.r8.ir.code.Instruction):632:658 -> a
-    309:335:boolean lambda$applyConcatenationResults$1(java.util.Set,com.android.tools.r8.ir.code.Instruction):585 -> a
-    336:381:java.lang.String toCompileTimeString(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState):670:715 -> a
-    382:385:boolean com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis.hasAppendInstructionInLoop(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.string.StringBuilderOptimizationConfiguration):43:46 -> a
-    382:385:java.lang.String toCompileTimeString(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState):715 -> a
-    386:386:boolean com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult.isFailedAnalysisResult():0:0 -> a
-    386:386:boolean com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis.hasAppendInstructionInLoop(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.string.StringBuilderOptimizationConfiguration):47 -> a
-    386:386:java.lang.String toCompileTimeString(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState):715 -> a
-    387:387:java.lang.String toCompileTimeString(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState):719:719 -> a
+    156:160:java.lang.String extractConstantArgument(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):446:450 -> a
+    161:161:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
+    161:161:java.lang.String extractConstantArgument(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):450 -> a
+    162:188:java.lang.String extractConstantArgument(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):451:477 -> a
+    189:196:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState findDominantState(com.android.tools.r8.ir.code.DominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction):534:541 -> a
+    197:216:void logHistogramOfChains(java.util.List,boolean):549:568 -> a
+    217:233:void logHistogramOfChains(java.util.List,boolean):563:579 -> a
+    234:234:void logHistogramOfChains(java.util.List,boolean):574:574 -> a
+    235:236:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):590:591 -> a
+    237:237:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1039:1039 -> a
+    237:237:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):591 -> a
+    238:272:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):592:626 -> a
+    273:276:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):625:628 -> a
+    277:277:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):40:40 -> a
+    277:277:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):628 -> a
+    278:279:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):629:630 -> a
+    280:284:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):603:607 -> a
+    285:288:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):605:608 -> a
+    289:289:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):40:40 -> a
+    289:289:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):608 -> a
+    290:314:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):610:634 -> a
+    315:315:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> a
+    315:315:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):634 -> a
+    316:316:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):634:634 -> a
+    317:343:boolean isToStringOfInterest(java.util.Set,com.android.tools.r8.ir.code.Instruction):640:666 -> a
+    317:343:boolean lambda$applyConcatenationResults$1(java.util.Set,com.android.tools.r8.ir.code.Instruction):593 -> a
+    344:389:java.lang.String toCompileTimeString(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState):678:723 -> a
+    390:393:boolean com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis.hasAppendInstructionInLoop(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.string.StringBuilderOptimizationConfiguration):43:46 -> a
+    390:393:java.lang.String toCompileTimeString(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState):723 -> a
+    394:394:boolean com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult.isFailedAnalysisResult():0:0 -> a
+    394:394:boolean com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis.hasAppendInstructionInLoop(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.string.StringBuilderOptimizationConfiguration):47 -> a
+    394:394:java.lang.String toCompileTimeString(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState):723 -> a
+    395:395:java.lang.String toCompileTimeString(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState):727:727 -> a
     1:1:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis access$200(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,java.util.Set):200:200 -> b
-    2:40:java.lang.Number extractConstantNumber(com.android.tools.r8.ir.code.Value):476:514 -> b
-    41:49:void removeTrivialBuilders():723:731 -> b
+    2:40:java.lang.Number extractConstantNumber(com.android.tools.r8.ir.code.Value):484:522 -> b
+    41:49:void removeTrivialBuilders():731:739 -> b
     50:50:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1039:1039 -> b
-    50:50:void removeTrivialBuilders():731 -> b
-    51:59:void removeTrivialBuilders():733:741 -> b
+    50:50:void removeTrivialBuilders():739 -> b
+    51:59:void removeTrivialBuilders():741:749 -> b
     60:60:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):40:40 -> b
-    60:60:void removeTrivialBuilders():741 -> b
-    61:83:void removeTrivialBuilders():745:767 -> b
+    60:60:void removeTrivialBuilders():749 -> b
+    61:83:void removeTrivialBuilders():753:775 -> b
     84:84:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1039:1039 -> b
-    84:84:void removeTrivialBuilders():767 -> b
-    85:100:void removeTrivialBuilders():768:783 -> b
+    84:84:void removeTrivialBuilders():775 -> b
+    85:100:void removeTrivialBuilders():776:791 -> b
     101:101:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> b
-    101:101:void removeTrivialBuilders():787 -> b
-    102:112:void removeTrivialBuilders():787:797 -> b
+    101:101:void removeTrivialBuilders():795 -> b
+    102:112:void removeTrivialBuilders():795:805 -> b
     113:113:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1039:1039 -> b
-    113:113:void removeTrivialBuilders():797 -> b
-    114:124:void removeTrivialBuilders():798:808 -> b
+    113:113:void removeTrivialBuilders():805 -> b
+    114:124:void removeTrivialBuilders():806:816 -> b
     125:125:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> b
-    125:125:void removeTrivialBuilders():808 -> b
-    126:128:void removeTrivialBuilders():808:810 -> b
+    125:125:void removeTrivialBuilders():816 -> b
+    126:128:void removeTrivialBuilders():816:818 -> b
     1:1:java.util.Map lambda$createBuilderState$0(com.android.tools.r8.ir.code.Value):316:316 -> c
-com.android.tools.r8.ir.optimize.string.StringOptimizer -> com.android.tools.r8.internal.zX:
+com.android.tools.r8.ir.optimize.string.StringOptimizer -> com.android.tools.r8.internal.EX:
     com.android.tools.r8.graph.DexItemFactory factory -> b
     com.android.tools.r8.graph.AppView appView -> a
     boolean $assertionsDisabled -> i
@@ -70328,7 +70458,7 @@
     214:214:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1039:1039 -> a
     214:214:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):302 -> a
     215:222:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):303:310 -> a
-    223:223:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveNameLookup(com.android.tools.r8.graph.DexMethod):1582:1582 -> a
+    223:223:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveNameLookup(com.android.tools.r8.graph.DexMethod):1584:1584 -> a
     223:223:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):310 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     224:243:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):314:333 -> a
@@ -70388,13 +70518,13 @@
     2:2:java.lang.Integer lambda$computeTrivialOperationsOnConstString$8(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):229 -> i
     3:3:java.lang.Integer lambda$computeTrivialOperationsOnConstString$8(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):229:229 -> i
     1:1:java.lang.Integer lambda$computeTrivialOperationsOnConstString$9(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):231:231 -> j
-com.android.tools.r8.ir.optimize.string.StringOptimizer$StringOptimizerEscapeAnalysisConfiguration -> com.android.tools.r8.internal.yX:
+com.android.tools.r8.ir.optimize.string.StringOptimizer$StringOptimizerEscapeAnalysisConfiguration -> com.android.tools.r8.internal.DX:
     com.android.tools.r8.ir.optimize.string.StringOptimizer$StringOptimizerEscapeAnalysisConfiguration INSTANCE -> a
     1:1:void <clinit>():574:574 -> <clinit>
     1:1:void <init>():577:577 -> <init>
     1:1:com.android.tools.r8.ir.optimize.string.StringOptimizer$StringOptimizerEscapeAnalysisConfiguration getInstance():580:580 -> a
     2:22:boolean isLegitimateEscapeRoute(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.escape.EscapeAnalysis,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod):589:609 -> a
-com.android.tools.r8.ir.optimize.templates.CfUtilityMethodsForCodeOptimizations -> com.android.tools.r8.internal.X8:
+com.android.tools.r8.ir.optimize.templates.CfUtilityMethodsForCodeOptimizations -> com.android.tools.r8.internal.Y8:
     1:4:void registerSynthesizedCodeReferences(com.android.tools.r8.graph.DexItemFactory):35:38 -> a
     5:25:com.android.tools.r8.graph.CfCode CfUtilityMethodsForCodeOptimizationsTemplates_throwClassCastExceptionIfNotNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):44:64 -> a
     26:36:com.android.tools.r8.graph.CfCode CfUtilityMethodsForCodeOptimizationsTemplates_throwClassCastExceptionIfNotNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):61:71 -> a
@@ -70412,7 +70542,7 @@
     35:58:com.android.tools.r8.graph.CfCode CfUtilityMethodsForCodeOptimizationsTemplates_toStringIfNotNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):159:182 -> b
     59:59:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> b
     59:59:com.android.tools.r8.graph.CfCode CfUtilityMethodsForCodeOptimizationsTemplates_toStringIfNotNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):182 -> b
-com.android.tools.r8.ir.optimize.typechecks.CheckCastAndInstanceOfMethodSpecialization -> com.android.tools.r8.internal.u9:
+com.android.tools.r8.ir.optimize.typechecks.CheckCastAndInstanceOfMethodSpecialization -> com.android.tools.r8.internal.v9:
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple feedback -> d
     com.android.tools.r8.utils.collections.SortedProgramMethodSet candidatesForInstanceOfOptimization -> c
@@ -71278,7 +71408,7 @@
     3:4:boolean isRematerializable():115:116 -> z
     3:4:boolean isSpilledAndRematerializable():128 -> z
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-com.android.tools.r8.ir.regalloc.LiveIntervalsUse -> com.android.tools.r8.internal.sC:
+com.android.tools.r8.ir.regalloc.LiveIntervalsUse -> com.android.tools.r8.internal.xC:
     int position -> b
     int limit -> c
     1:3:void <init>(int,int):12:14 -> <init>
@@ -71290,7 +71420,7 @@
     2:5:int compareTo(java.lang.Object):8 -> compareTo
     1:5:boolean equals(java.lang.Object):32:36 -> equals
     1:1:int hashCode():27:27 -> hashCode
-com.android.tools.r8.ir.regalloc.LiveRange -> com.android.tools.r8.internal.uC:
+com.android.tools.r8.ir.regalloc.LiveRange -> com.android.tools.r8.internal.zC:
     com.android.tools.r8.ir.regalloc.LiveRange INFINITE -> d
     int start -> b
     int end -> c
@@ -71300,17 +71430,17 @@
     2:5:int com.android.tools.r8.ir.regalloc.LiveRange.compareTo(com.android.tools.r8.ir.regalloc.LiveRange):20:23 -> compareTo
     2:5:int compareTo(java.lang.Object):6 -> compareTo
     1:1:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":58,"2":59,"3":60}}
-    58:58:java.lang.String toString():28:28 -> toString
-    59:59:java.lang.String toString():28:28 -> toString
-    60:60:java.lang.String toString():28:28 -> toString
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":31,"2":32,"3":33}}
+    31:31:java.lang.String toString():28:28 -> toString
+    32:32:java.lang.String toString():28:28 -> toString
+    33:33:java.lang.String toString():28:28 -> toString
     29:29:java.lang.String toString():28:28 -> toString
     30:30:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":61,"2":62,"3":63}}
-    61:61:java.lang.String toString():28:28 -> toString
-    62:62:java.lang.String toString():28:28 -> toString
-    63:63:java.lang.String toString():28:28 -> toString
-com.android.tools.r8.ir.regalloc.RegisterAllocator -> com.android.tools.r8.internal.CS:
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":31,"2":32,"3":33}}
+    31:31:java.lang.String toString():28:28 -> toString
+    32:32:java.lang.String toString():28:28 -> toString
+    33:33:java.lang.String toString():28:28 -> toString
+com.android.tools.r8.ir.regalloc.RegisterAllocator -> com.android.tools.r8.internal.HS:
     void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List) -> a
     void allocateRegisters() -> a
     int getRegisterForValue(com.android.tools.r8.ir.code.Value,int) -> a
@@ -71319,7 +71449,7 @@
     void mergeBlocks(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock) -> b
     com.android.tools.r8.utils.InternalOptions options() -> b
     int registersUsed() -> c
-com.android.tools.r8.ir.regalloc.RegisterMove -> com.android.tools.r8.internal.DS:
+com.android.tools.r8.ir.regalloc.RegisterMove -> com.android.tools.r8.internal.IS:
     com.android.tools.r8.ir.analysis.type.TypeElement type -> b
     com.android.tools.r8.ir.code.Instruction definition -> e
     boolean $assertionsDisabled -> f
@@ -71339,7 +71469,7 @@
     2:28:int compareTo(java.lang.Object):13 -> compareTo
     1:5:boolean equals(java.lang.Object):68:72 -> equals
     1:1:int hashCode():63:63 -> hashCode
-com.android.tools.r8.ir.regalloc.RegisterMoveScheduler -> com.android.tools.r8.internal.ES:
+com.android.tools.r8.ir.regalloc.RegisterMoveScheduler -> com.android.tools.r8.internal.JS:
     java.util.Map valueMap -> b
     int tempRegister -> f
     java.util.Set moveSet -> a
@@ -71543,32 +71673,32 @@
     14:14:void com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode.internalRegisterCodeReferences(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.UseRegistry):84:84 -> a
     14:14:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):80 -> a
     15:15:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):99:99 -> a
-    1:1:int computeHashCode():89:89 -> f0
     1:1:boolean computeEquals(java.lang.Object):94:94 -> g
-    int estimatedDexCodeSizeUpperBoundInBytes() -> j0
-    com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider() -> s0
+    1:1:int computeHashCode():89:89 -> g0
+    int estimatedDexCodeSizeUpperBoundInBytes() -> k0
+    com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider() -> t0
     1:1:java.lang.String com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode.toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):99:99 -> toString
     1:1:java.lang.String toString():70 -> toString
 com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider -> com.android.tools.r8.internal.p1:
     com.android.tools.r8.ir.conversion.SourceCode get(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Position) -> a
-com.android.tools.r8.ir.synthetic.CallObjectInitCfCodeProvider -> com.android.tools.r8.internal.o6:
+com.android.tools.r8.ir.synthetic.CallObjectInitCfCodeProvider -> com.android.tools.r8.internal.p6:
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):23:23 -> <init>
     1:6:com.android.tools.r8.graph.CfCode generateCfCode():28:33 -> b
-com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider -> com.android.tools.r8.internal.If:
+com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider -> com.android.tools.r8.internal.Jf:
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):63:63 -> <init>
-com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider$APICallbackWrapperCfCodeProvider -> com.android.tools.r8.internal.yf:
+com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider$APICallbackWrapperCfCodeProvider -> com.android.tools.r8.internal.zf:
     com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer eventConsumer -> f
     1:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer,boolean,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):236:237 -> <init>
     1:1:com.android.tools.r8.graph.DexMethod ensureConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):247:247 -> a
     1:1:void generatePushReceiver(java.util.List):242:242 -> b
-com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider$APIConversionCfCodeProvider -> com.android.tools.r8.internal.zf:
+com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider$APIConversionCfCodeProvider -> com.android.tools.r8.internal.Af:
     com.android.tools.r8.cf.code.CfInvoke initialInvoke -> c
     com.android.tools.r8.graph.DexMethod[] parameterConversions -> e
     com.android.tools.r8.graph.DexMethod returnConversion -> d
     1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):352:355 -> <init>
     1:29:com.android.tools.r8.graph.CfCode generateCfCode():360:388 -> b
     30:43:com.android.tools.r8.graph.CfCode generateCfCode():387:400 -> b
-com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider$APIConverterConstructorCfCodeProvider -> com.android.tools.r8.internal.Af:
+com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider$APIConverterConstructorCfCodeProvider -> com.android.tools.r8.internal.Bf:
     com.android.tools.r8.graph.DexField wrapperField -> c
     1:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):562:563 -> <init>
     1:9:com.android.tools.r8.graph.CfCode generateCfCode():568:576 -> b
@@ -71577,13 +71707,13 @@
     22:22:void com.android.tools.r8.cf.code.CfInstanceFieldWrite.<init>(com.android.tools.r8.graph.DexField):16:16 -> b
     22:22:com.android.tools.r8.graph.CfCode generateCfCode():581 -> b
     23:25:com.android.tools.r8.graph.CfCode generateCfCode():581:583 -> b
-com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider$APIConverterThrowRuntimeExceptionCfCodeProvider -> com.android.tools.r8.internal.Bf:
+com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider$APIConverterThrowRuntimeExceptionCfCodeProvider -> com.android.tools.r8.internal.Cf:
     com.android.tools.r8.graph.DexString message -> c
     1:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):594:595 -> <init>
     1:11:com.android.tools.r8.graph.CfCode generateCfCode():600:610 -> b
     12:12:com.android.tools.r8.graph.CfCode generateCfCode():608:608 -> b
     13:22:com.android.tools.r8.graph.CfCode generateCfCode():605:614 -> b
-com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider$APIConverterVivifiedWrapperCfCodeProvider -> com.android.tools.r8.internal.Cf:
+com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider$APIConverterVivifiedWrapperCfCodeProvider -> com.android.tools.r8.internal.Df:
     boolean itfCall -> f
     com.android.tools.r8.graph.DexField wrapperField -> c
     com.android.tools.r8.graph.DexMethod forwardMethod -> d
@@ -71615,7 +71745,7 @@
     48:48:com.android.tools.r8.graph.CfCode generateCfCode():142 -> b
     49:49:com.android.tools.r8.graph.CfCode generateCfCode():141:141 -> b
     50:62:com.android.tools.r8.graph.CfCode generateCfCode():138:150 -> b
-com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider$APIConverterWrapperCfCodeProvider -> com.android.tools.r8.internal.Df:
+com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider$APIConverterWrapperCfCodeProvider -> com.android.tools.r8.internal.Ef:
     com.android.tools.r8.graph.DexField wrapperField -> f
     1:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer,boolean):262:263 -> <init>
     1:1:com.android.tools.r8.graph.DexMethod ensureConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):274:274 -> a
@@ -71623,7 +71753,7 @@
     3:3:void com.android.tools.r8.cf.code.CfInstanceFieldRead.<init>(com.android.tools.r8.graph.DexField):17:17 -> b
     3:3:void generatePushReceiver(java.util.List):269 -> b
     4:4:void generatePushReceiver(java.util.List):269:269 -> b
-com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider$APIConverterWrapperConversionCfCodeProvider -> com.android.tools.r8.internal.Ef:
+com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider$APIConverterWrapperConversionCfCodeProvider -> com.android.tools.r8.internal.Ff:
     boolean $assertionsDisabled -> e
     com.android.tools.r8.graph.DexField wrapperField -> d
     com.android.tools.r8.graph.DexField reverseWrapperField -> c
@@ -71641,7 +71771,7 @@
     30:44:com.android.tools.r8.graph.CfCode generateCfCode():318:332 -> b
     45:45:com.android.tools.r8.graph.CfCode generateCfCode():330:330 -> b
     46:55:com.android.tools.r8.graph.CfCode generateCfCode():327:336 -> b
-com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider$AbstractAPIConverterWrapperCfCodeProvider -> com.android.tools.r8.internal.Ff:
+com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider$AbstractAPIConverterWrapperCfCodeProvider -> com.android.tools.r8.internal.Gf:
     com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer wrapperSynthesizor -> d
     boolean itfCall -> e
     com.android.tools.r8.graph.DexMethod forwardMethod -> c
@@ -71668,7 +71798,7 @@
     40:40:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider.vivifiedTypeFor(com.android.tools.r8.graph.DexType):67:67 -> b
     40:40:com.android.tools.r8.graph.CfCode generateCfCode():214 -> b
     41:46:com.android.tools.r8.graph.CfCode generateCfCode():216:221 -> b
-com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider$EnumArrayConversionCfCodeProvider -> com.android.tools.r8.internal.Gf:
+com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider$EnumArrayConversionCfCodeProvider -> com.android.tools.r8.internal.Hf:
     com.android.tools.r8.graph.DexType convertedType -> d
     com.android.tools.r8.graph.DexType enumType -> c
     1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):411:413 -> <init>
@@ -71682,7 +71812,7 @@
     21:57:com.android.tools.r8.graph.CfCode generateCfCode():440:476 -> b
     58:58:com.android.tools.r8.graph.CfCode generateCfCode():474:474 -> b
     59:79:com.android.tools.r8.graph.CfCode generateCfCode():471:491 -> b
-com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider$EnumConversionCfCodeProvider -> com.android.tools.r8.internal.Hf:
+com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider$EnumConversionCfCodeProvider -> com.android.tools.r8.internal.If:
     com.android.tools.r8.graph.DexType enumType -> d
     java.lang.Iterable enumFields -> c
     com.android.tools.r8.graph.DexType convertedType -> e
@@ -71693,7 +71823,7 @@
     4:26:com.android.tools.r8.graph.CfCode generateCfCode():519:541 -> b
     27:33:com.android.tools.r8.graph.CfCode generateCfCode():540:546 -> b
     34:43:com.android.tools.r8.graph.CfCode generateCfCode():544:553 -> b
-com.android.tools.r8.ir.synthetic.EmulateInterfaceSyntheticCfCodeProvider -> com.android.tools.r8.internal.Wh:
+com.android.tools.r8.ir.synthetic.EmulateInterfaceSyntheticCfCodeProvider -> com.android.tools.r8.internal.Yh:
     java.util.List extraDispatchCases -> f
     com.android.tools.r8.graph.DexType interfaceType -> c
     com.android.tools.r8.graph.DexMethod libraryMethod -> e
@@ -71711,7 +71841,7 @@
     39:52:com.android.tools.r8.graph.CfCode generateCfCode():92:105 -> b
     53:56:void addReturn(java.util.List):116:119 -> b
     1:2:void loadExtraParameters(java.util.List):110:111 -> c
-com.android.tools.r8.ir.synthetic.EnumUnboxingCfCodeProvider -> com.android.tools.r8.internal.Ci:
+com.android.tools.r8.ir.synthetic.EnumUnboxingCfCodeProvider -> com.android.tools.r8.internal.Ei:
     boolean $assertionsDisabled -> c
     1:1:void <clinit>():43:43 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):46:46 -> <init>
@@ -71720,7 +71850,7 @@
     4:4:void addCfInstructionsForAbstractValue(java.util.List,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexType):56 -> a
     5:8:void addCfInstructionsForAbstractValue(java.util.List,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexType):57:57 -> a
     12:12:void addCfInstructionsForAbstractValue(java.util.List,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexType):61:61 -> a
-com.android.tools.r8.ir.synthetic.EnumUnboxingCfCodeProvider$EnumUnboxingInstanceFieldCfCodeProvider -> com.android.tools.r8.internal.Ai:
+com.android.tools.r8.ir.synthetic.EnumUnboxingCfCodeProvider$EnumUnboxingInstanceFieldCfCodeProvider -> com.android.tools.r8.internal.Ci:
     com.android.tools.r8.ir.analysis.value.AbstractValue nullValue -> f
     com.android.tools.r8.graph.DexType returnType -> d
     com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldMappingData fieldDataMap -> e
@@ -71730,7 +71860,7 @@
     3:3:com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap$Builder com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.builder():38:38 -> b
     3:3:com.android.tools.r8.graph.CfCode generateCfCode():101 -> b
     4:32:com.android.tools.r8.graph.CfCode generateCfCode():101:129 -> b
-com.android.tools.r8.ir.synthetic.EnumUnboxingCfCodeProvider$EnumUnboxingValueOfCfCodeProvider -> com.android.tools.r8.internal.Bi:
+com.android.tools.r8.ir.synthetic.EnumUnboxingCfCodeProvider$EnumUnboxingValueOfCfCodeProvider -> com.android.tools.r8.internal.Di:
     com.android.tools.r8.graph.DexType enumType -> d
     com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldMappingData fieldDataMap -> e
     1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldMappingData):143:145 -> <init>
@@ -71747,7 +71877,7 @@
     244:246:com.android.tools.r8.graph.CfCode generateCfCode():200:202 -> b
     247:247:com.android.tools.r8.graph.CfCode generateCfCode():201:201 -> b
     248:262:com.android.tools.r8.graph.CfCode generateCfCode():197:211 -> b
-com.android.tools.r8.ir.synthetic.FieldAccessorBuilder -> com.android.tools.r8.internal.yj:
+com.android.tools.r8.ir.synthetic.FieldAccessorBuilder -> com.android.tools.r8.internal.Aj:
     com.android.tools.r8.utils.OptionalBool isSetter -> c
     com.android.tools.r8.utils.OptionalBool isInstanceField -> b
     boolean $assertionsDisabled -> e
@@ -71811,7 +71941,7 @@
     1:1:com.android.tools.r8.ir.synthetic.FieldAccessorBuilder builder():35:35 -> b
     1:1:com.android.tools.r8.ir.synthetic.FieldAccessorBuilder setGetter():57:57 -> c
     1:1:com.android.tools.r8.ir.synthetic.FieldAccessorBuilder setSetter():68:68 -> d
-com.android.tools.r8.ir.synthetic.ForwardMethodBuilder -> com.android.tools.r8.internal.Tk:
+com.android.tools.r8.ir.synthetic.ForwardMethodBuilder -> com.android.tools.r8.internal.Vk:
     java.lang.Boolean isInterface -> g
     boolean isConstructorDelegate -> i
     boolean $assertionsDisabled -> k
@@ -71919,12 +72049,12 @@
     1:2:com.android.tools.r8.ir.synthetic.ForwardMethodBuilder setStaticSource(com.android.tools.r8.graph.DexMethod):98:99 -> c
     3:5:com.android.tools.r8.ir.synthetic.ForwardMethodBuilder setSuperTarget(com.android.tools.r8.graph.DexMethod,boolean):111:113 -> c
     1:3:com.android.tools.r8.ir.synthetic.ForwardMethodBuilder setVirtualTarget(com.android.tools.r8.graph.DexMethod,boolean):118:120 -> d
-com.android.tools.r8.ir.synthetic.ForwardMethodBuilder$InvokeType$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.Sk:
+com.android.tools.r8.ir.synthetic.ForwardMethodBuilder$InvokeType$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.Uk:
 # {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
 # {"id":"com.android.tools.r8.synthesized"}
     java.lang.String stringValueOf(int) -> a
       # {"id":"com.android.tools.r8.synthesized"}
-com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode -> com.android.tools.r8.internal.Vk:
+com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode -> com.android.tools.r8.internal.Xk:
     com.android.tools.r8.graph.DexMethod target -> n
     boolean castResult -> p
     com.android.tools.r8.graph.DexType targetReceiver -> m
@@ -71955,7 +72085,7 @@
     29:29:void com.android.tools.r8.ir.synthetic.SyntheticSourceCode.add(java.util.function.Consumer):77:77 -> i
     29:29:void prepareInstructions():215 -> i
     1:27:boolean checkSignatures():147:173 -> j
-com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode$Builder -> com.android.tools.r8.internal.Uk:
+com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode$Builder -> com.android.tools.r8.internal.Wk:
     com.android.tools.r8.ir.code.Invoke$Type invokeType -> f
     com.android.tools.r8.graph.DexType targetReceiver -> d
     com.android.tools.r8.graph.DexMethod target -> e
@@ -71971,13 +72101,13 @@
     5:5:com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode build(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Position):91:91 -> a
     1:1:com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode$Builder setTargetReceiver(com.android.tools.r8.graph.DexType):61:61 -> b
     2:2:com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode$Builder setTarget(com.android.tools.r8.graph.DexMethod):66:66 -> b
-com.android.tools.r8.ir.synthetic.RecordCfCodeProvider$RecordEqualsCfCodeProvider -> com.android.tools.r8.internal.tQ:
+com.android.tools.r8.ir.synthetic.RecordCfCodeProvider$RecordEqualsCfCodeProvider -> com.android.tools.r8.internal.yQ:
     com.android.tools.r8.graph.DexMethod getFieldsAsObjects -> c
     1:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod):146:147 -> <init>
     1:1:com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap$Builder com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.builder():38:38 -> b
     1:1:com.android.tools.r8.graph.CfCode generateCfCode():165 -> b
     2:28:com.android.tools.r8.graph.CfCode generateCfCode():166:192 -> b
-com.android.tools.r8.ir.synthetic.RecordCfCodeProvider$RecordGetFieldsAsObjectsCfCodeProvider -> com.android.tools.r8.internal.uQ:
+com.android.tools.r8.ir.synthetic.RecordCfCodeProvider$RecordGetFieldsAsObjectsCfCodeProvider -> com.android.tools.r8.internal.zQ:
     com.android.tools.r8.graph.DexField[] fields -> c
     1:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField[]):69:70 -> <init>
     1:2:void registerSynthesizedCodeReferences(com.android.tools.r8.graph.DexItemFactory):57:58 -> a
@@ -71995,18 +72125,18 @@
     4:12:com.android.tools.r8.graph.CfCode generateCfCode():81 -> b
     13:30:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.synthetic.RecordCfCodeProvider$RecordGetFieldsAsObjectsCfCodeProvider.generateCfCodeWithArray():86:103 -> b
     13:30:com.android.tools.r8.graph.CfCode generateCfCode():82 -> b
-com.android.tools.r8.ir.synthetic.SynthesizedCode -> com.android.tools.r8.internal.DY:
+com.android.tools.r8.ir.synthetic.SynthesizedCode -> com.android.tools.r8.internal.IY:
     com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider sourceCodeProvider -> d
     1:2:void <init>(com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider):15:16 -> <init>
     java.util.function.Consumer getRegistryCallback(com.android.tools.r8.graph.DexClassAndMethod) -> a
-    1:1:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():21:21 -> s0
-com.android.tools.r8.ir.synthetic.SyntheticCfCodeProvider -> com.android.tools.r8.internal.HY:
+    1:1:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():21:21 -> t0
+com.android.tools.r8.ir.synthetic.SyntheticCfCodeProvider -> com.android.tools.r8.internal.MY:
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.graph.DexType holder -> b
     1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):18:20 -> <init>
     1:1:com.android.tools.r8.graph.DexType getHolder():24:24 -> a
     2:2:com.android.tools.r8.graph.CfCode standardCfCodeFromInstructions(java.util.List):30:30 -> a
-com.android.tools.r8.ir.synthetic.SyntheticSourceCode -> com.android.tools.r8.internal.TY:
+com.android.tools.r8.ir.synthetic.SyntheticSourceCode -> com.android.tools.r8.internal.YY:
     int[] paramRegisters -> f
     java.util.function.Predicate doesNotEndBlock -> j
     java.util.function.Predicate endsBlock -> k
@@ -72068,12 +72198,12 @@
     64:64:void ensureFromTo(int,int,int):55:55 -> a
     65:65:void ensureFromTo(int,int,int):55:55 -> a
     59:59:void ensureFromTo(int,int,int):55:55 -> a
-com.android.tools.r8.it.unimi.dsi.fastutil.Function -> com.android.tools.r8.internal.pl:
+com.android.tools.r8.it.unimi.dsi.fastutil.Function -> com.android.tools.r8.internal.rl:
 # {"id":"sourceFile","fileName":"Function.java"}
-com.android.tools.r8.it.unimi.dsi.fastutil.Hash$Strategy -> com.android.tools.r8.internal.mm:
+com.android.tools.r8.it.unimi.dsi.fastutil.Hash$Strategy -> com.android.tools.r8.internal.om:
     boolean equals(java.lang.Object,java.lang.Object) -> a
     int hashCode(java.lang.Object) -> a
-com.android.tools.r8.it.unimi.dsi.fastutil.HashCommon -> com.android.tools.r8.internal.Cm:
+com.android.tools.r8.it.unimi.dsi.fastutil.HashCommon -> com.android.tools.r8.internal.Em:
     int long2int(long) -> a
     int mix(int) -> a
     1:2:int arraySize(int,float):228:229 -> a
@@ -72124,7 +72254,7 @@
     boolean remove(boolean) -> d
     1:4:boolean equals(java.lang.Object):41:44 -> equals
     1:5:int hashCode():57:61 -> hashCode
-com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArraySet -> com.android.tools.r8.internal.g5:
+com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArraySet -> com.android.tools.r8.internal.h5:
     boolean[] a -> b
     int size -> c
     1:4:void <init>(boolean[],int):104:107 -> <init>
@@ -72137,10 +72267,10 @@
     225:225:void <init>(boolean[],int):107:107 -> <init>
     112:112:void <init>(boolean[],int):107:107 -> <init>
     113:113:void <init>(boolean[],int):0:0 -> <init>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":226,"2":227,"3":228}}
-    226:226:void <init>(boolean[],int):107:107 -> <init>
-    227:227:void <init>(boolean[],int):107:107 -> <init>
-    228:228:void <init>(boolean[],int):107:107 -> <init>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":221,"2":222,"3":223}}
+    221:221:void <init>(boolean[],int):107:107 -> <init>
+    222:222:void <init>(boolean[],int):107:107 -> <init>
+    223:223:void <init>(boolean[],int):107:107 -> <init>
     220:220:void <init>(boolean[],int):107:107 -> <init>
     1:1:int access$000(com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArraySet):29:29 -> a
     2:3:int com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArraySet.findKey(boolean):111:112 -> a
@@ -72163,20 +72293,20 @@
     2:2:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterator com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArraySet.iterator():119:119 -> iterator
     2:2:java.util.Iterator iterator():29 -> iterator
     1:1:int size():148:148 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArraySet$1 -> com.android.tools.r8.internal.f5:
+com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArraySet$1 -> com.android.tools.r8.internal.g5:
     com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArraySet this$0 -> c
     int next -> b
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArraySet):119:120 -> <init>
     1:3:boolean nextBoolean():129:129 -> g
     1:1:boolean hasNext():124:124 -> hasNext
     1:2:void remove():135:136 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArrays -> com.android.tools.r8.internal.h5:
+com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArrays -> com.android.tools.r8.internal.i5:
     boolean[] EMPTY_ARRAY -> a
     1:1:void <clinit>():95:95 -> <clinit>
-com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollection -> com.android.tools.r8.internal.j5:
-com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollections -> com.android.tools.r8.internal.m5:
+com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollection -> com.android.tools.r8.internal.k5:
+com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollections -> com.android.tools.r8.internal.n5:
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollection unmodifiable(com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollection):536:536 -> a
-com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollections$EmptyCollection -> com.android.tools.r8.internal.k5:
+com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollections$EmptyCollection -> com.android.tools.r8.internal.l5:
     1:1:void <init>():39:39 -> <init>
     1:1:boolean addAll(java.util.Collection):81:81 -> addAll
     boolean contains(boolean) -> b
@@ -72185,7 +72315,7 @@
     1:1:boolean removeAll(java.util.Collection):86:86 -> removeAll
     1:1:boolean retainAll(java.util.Collection):91:91 -> retainAll
     1:1:java.lang.Object[] toArray():49:49 -> toArray
-com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollections$UnmodifiableCollection -> com.android.tools.r8.internal.l5:
+com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollections$UnmodifiableCollection -> com.android.tools.r8.internal.m5:
     com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollection collection -> b
     1:3:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollection):369:371 -> <init>
     1:1:boolean add(java.lang.Object):365:365 -> add
@@ -72209,17 +72339,17 @@
     1:1:java.lang.Object[] toArray(java.lang.Object[]):422:422 -> toArray
     2:2:java.lang.Object[] toArray():427:427 -> toArray
     1:1:java.lang.String toString():512:512 -> toString
-com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterator -> com.android.tools.r8.internal.n5:
+com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterator -> com.android.tools.r8.internal.o5:
     boolean nextBoolean() -> g
-com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterators -> com.android.tools.r8.internal.r5:
+com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterators -> com.android.tools.r8.internal.s5:
     com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterators$EmptyIterator EMPTY_ITERATOR -> a
     1:1:void <clinit>():103:103 -> <clinit>
-com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterators$EmptyIterator -> com.android.tools.r8.internal.o5:
+com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterators$EmptyIterator -> com.android.tools.r8.internal.p5:
     1:1:void <init>():42:42 -> <init>
     1:1:java.lang.Object clone():87:87 -> clone
     1:1:boolean nextBoolean():57:57 -> g
     1:1:boolean previousBoolean():62:62 -> l
-com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterators$SingletonIterator -> com.android.tools.r8.internal.p5:
+com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterators$SingletonIterator -> com.android.tools.r8.internal.q5:
     boolean element -> b
     int curr -> c
     1:2:void <init>(boolean):110:111 -> <init>
@@ -72229,22 +72359,22 @@
     1:4:boolean previousBoolean():133:133 -> l
     1:1:int nextIndex():140:140 -> nextIndex
     1:1:int previousIndex():145:145 -> previousIndex
-com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterators$UnmodifiableIterator -> com.android.tools.r8.internal.q5:
+com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterators$UnmodifiableIterator -> com.android.tools.r8.internal.r5:
     com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterator i -> b
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterator):724:725 -> <init>
     1:1:boolean nextBoolean():735:735 -> g
     1:1:boolean hasNext():730:730 -> hasNext
-com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanSet -> com.android.tools.r8.internal.v5:
-com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanSets -> com.android.tools.r8.internal.y5:
+com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanSet -> com.android.tools.r8.internal.w5:
+com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanSets -> com.android.tools.r8.internal.z5:
     com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanSets$EmptySet EMPTY_SET -> a
     1:1:void <clinit>():76:76 -> <clinit>
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanSet singleton(boolean):159:159 -> a
-com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanSets$EmptySet -> com.android.tools.r8.internal.w5:
+com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanSets$EmptySet -> com.android.tools.r8.internal.x5:
     1:1:void <init>():42:42 -> <init>
     1:1:boolean rem(boolean):64:64 -> c
     1:1:java.lang.Object clone():52:52 -> clone
     1:1:boolean equals(java.lang.Object):58:58 -> equals
-com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanSets$Singleton -> com.android.tools.r8.internal.x5:
+com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanSets$Singleton -> com.android.tools.r8.internal.y5:
     boolean element -> b
     1:2:void <init>(boolean):89:90 -> <init>
     1:1:boolean addAll(java.util.Collection):115:115 -> addAll
@@ -72635,13 +72765,13 @@
     49:49:void ensureIndex(int):47:47 -> j
     50:50:void ensureIndex(int):46:46 -> j
     51:51:void ensureIndex(int):0:0 -> j
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":103,"2":104,"3":105,"4":106,"5":107,"6":108}}
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":98,"2":99,"3":100,"4":101,"5":102,"6":103}}
+    98:98:void ensureIndex(int):46:46 -> j
+    99:99:void ensureIndex(int):46:46 -> j
+    100:100:void ensureIndex(int):46:46 -> j
+    101:101:void ensureIndex(int):46:46 -> j
+    102:102:void ensureIndex(int):46:46 -> j
     103:103:void ensureIndex(int):46:46 -> j
-    104:104:void ensureIndex(int):46:46 -> j
-    105:105:void ensureIndex(int):46:46 -> j
-    106:106:void ensureIndex(int):46:46 -> j
-    107:107:void ensureIndex(int):46:46 -> j
-    108:108:void ensureIndex(int):46:46 -> j
     97:97:void ensureIndex(int):46:46 -> j
     1:1:void ensureRestrictedIndex(int):62:62 -> k
     2:2:void ensureRestrictedIndex(int):0:0 -> k
@@ -72654,13 +72784,13 @@
     64:64:void ensureRestrictedIndex(int):62:62 -> k
     65:65:void ensureRestrictedIndex(int):61:61 -> k
     66:66:void ensureRestrictedIndex(int):0:0 -> k
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":133,"2":134,"3":135,"4":136,"5":137,"6":138}}
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":128,"2":129,"3":130,"4":131,"5":132,"6":133}}
+    128:128:void ensureRestrictedIndex(int):61:61 -> k
+    129:129:void ensureRestrictedIndex(int):61:61 -> k
+    130:130:void ensureRestrictedIndex(int):61:61 -> k
+    131:131:void ensureRestrictedIndex(int):61:61 -> k
+    132:132:void ensureRestrictedIndex(int):61:61 -> k
     133:133:void ensureRestrictedIndex(int):61:61 -> k
-    134:134:void ensureRestrictedIndex(int):61:61 -> k
-    135:135:void ensureRestrictedIndex(int):61:61 -> k
-    136:136:void ensureRestrictedIndex(int):61:61 -> k
-    137:137:void ensureRestrictedIndex(int):61:61 -> k
-    138:138:void ensureRestrictedIndex(int):61:61 -> k
     127:127:void ensureRestrictedIndex(int):61:61 -> k
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> l
     1:1:int indexOf(int):279 -> l
@@ -72785,7 +72915,7 @@
     1:1:java.util.SortedSet tailSet(java.lang.Object):22:22 -> tailSet
     2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntSortedSet.tailSet(java.lang.Integer):68:68 -> tailSet
     2:2:java.util.SortedSet tailSet(java.lang.Object):22 -> tailSet
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap -> com.android.tools.r8.internal.sq:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap -> com.android.tools.r8.internal.uq:
     int[] key -> c
     int[] value -> d
     int size -> e
@@ -72823,8 +72953,8 @@
     2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet keySet():316:316 -> keySet
     1:1:int size():251:251 -> size
     1:1:java.util.Collection values():37:37 -> values
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap$1 -> com.android.tools.r8.internal.pq:
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap$EntrySet -> com.android.tools.r8.internal.rq:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap$1 -> com.android.tools.r8.internal.rq:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap$EntrySet -> com.android.tools.r8.internal.tq:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap):133:133 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap$1):133:133 -> <init>
@@ -72834,7 +72964,7 @@
     2:2:java.util.Iterator iterator():133 -> iterator
     1:12:boolean remove(java.lang.Object):212:223 -> remove
     1:1:int size():195:195 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap$EntrySet$1 -> com.android.tools.r8.internal.qq:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap$EntrySet$1 -> com.android.tools.r8.internal.sq:
     int curr -> b
     int next -> c
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap$EntrySet this$1 -> d
@@ -72843,10 +72973,10 @@
     1:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap$EntrySet$1.next():147:147 -> next
     1:3:java.lang.Object next():136 -> next
     1:6:void remove():153:153 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntFunction -> com.android.tools.r8.internal.tq:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntFunction -> com.android.tools.r8.internal.vq:
     boolean containsKey(int) -> a
     int put(int,int) -> b
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap -> com.android.tools.r8.internal.Cq:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap -> com.android.tools.r8.internal.Eq:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet keys -> n
     int size -> l
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection values -> o
@@ -72911,14 +73041,14 @@
     1:1:int size():776:776 -> size
     1:22:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.values():1629:1650 -> values
     1:22:java.util.Collection values():87 -> values
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$1 -> com.android.tools.r8.internal.uq:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$1 -> com.android.tools.r8.internal.wq:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap):1629:1629 -> <init>
     1:1:void clear():1647:1647 -> clear
     1:1:boolean contains(int):1642:1642 -> f
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():1632:1632 -> iterator
     1:1:int size():1637:1637 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$EntryIterator -> com.android.tools.r8.internal.vq:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$EntryIterator -> com.android.tools.r8.internal.xq:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap this$0 -> h
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntry entry -> g
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap):1229:1229 -> <init>
@@ -72933,7 +73063,7 @@
     1:1:void set(java.lang.Object):1226:1226 -> set
     2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapIterator.set(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap$Entry):1218:1218 -> set
     2:2:void set(java.lang.Object):1226 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$KeyIterator -> com.android.tools.r8.internal.wq:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$KeyIterator -> com.android.tools.r8.internal.yq:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap this$0 -> g
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap):1482:1483 -> <init>
     1:1:void add(java.lang.Object):1444:1444 -> add
@@ -72948,7 +73078,7 @@
     1:1:void set(java.lang.Object):1444:1444 -> set
     2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$KeyIterator.set(java.lang.Integer):1473:1473 -> set
     2:2:void set(java.lang.Object):1444 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$KeySet -> com.android.tools.r8.internal.xq:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$KeySet -> com.android.tools.r8.internal.zq:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap):1498:1498 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$1):1498:1498 -> <init>
@@ -72967,7 +73097,7 @@
     1:3:boolean remove(int):1519:1521 -> j
     1:3:int lastInt():1537:1537 -> r
     1:1:int size():1509:1509 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntry -> com.android.tools.r8.internal.yq:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntry -> com.android.tools.r8.internal.Aq:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap this$0 -> c
     int index -> b
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap,int):820:821 -> <init>
@@ -72988,7 +73118,7 @@
     5:5:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntry.setValue(java.lang.Integer):877:877 -> setValue
     5:5:java.lang.Object setValue(java.lang.Object):815 -> setValue
     1:1:java.lang.String toString():895:895 -> toString
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.zq:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.Bq:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap):1276:1276 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$1):1276:1276 -> <init>
@@ -73010,7 +73140,7 @@
     1:1:java.util.SortedSet tailSet(java.lang.Object):1276:1276 -> tailSet
     2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntrySet.tailSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap$Entry):1298:1298 -> tailSet
     2:2:java.util.SortedSet tailSet(java.lang.Object):1276 -> tailSet
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapIterator -> com.android.tools.r8.internal.Aq:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapIterator -> com.android.tools.r8.internal.Cq:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap this$0 -> f
     int curr -> d
     int index -> e
@@ -73028,7 +73158,7 @@
     1:2:int previousIndex():1130:1131 -> previousIndex
     1:46:void remove():1153:1198 -> remove
     47:47:void remove():1154:1154 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$ValueIterator -> com.android.tools.r8.internal.Bq:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$ValueIterator -> com.android.tools.r8.internal.Dq:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap this$0 -> g
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap):1611:1612 -> <init>
     1:1:void add(java.lang.Object):1577:1577 -> add
@@ -73043,12 +73173,12 @@
     1:1:void set(java.lang.Object):1577:1577 -> set
     2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$ValueIterator.set(java.lang.Integer):1592:1592 -> set
     2:2:void set(java.lang.Object):1577 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap -> com.android.tools.r8.internal.Fq:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap -> com.android.tools.r8.internal.Hq:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet int2IntEntrySet() -> i
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap$Entry -> com.android.tools.r8.internal.Dq:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap$Entry -> com.android.tools.r8.internal.Fq:
     int getIntKey() -> a
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap$FastEntrySet -> com.android.tools.r8.internal.Eq:
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap -> com.android.tools.r8.internal.Oq:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap$FastEntrySet -> com.android.tools.r8.internal.Gq:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap -> com.android.tools.r8.internal.Qq:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection values -> l
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap$FastEntrySet entries -> j
     int[] key -> c
@@ -73061,6 +73191,7 @@
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet keys -> k
     1:9:void <init>(int,float):92:100 -> <init>
     10:10:void <init>(int,float):94:94 -> <init>
+    11:11:void <init>():120:120 -> <init>
     1:1:int access$400(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap,int):50:50 -> a
     2:5:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.removeNullEntry():228:231 -> a
     2:5:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap):50 -> a
@@ -73110,14 +73241,14 @@
     1:1:int size():428:428 -> size
     1:22:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.values():866:887 -> values
     1:22:java.util.Collection values():50 -> values
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$1 -> com.android.tools.r8.internal.Gq:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$1 -> com.android.tools.r8.internal.Iq:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap):866:866 -> <init>
     1:1:void clear():884:884 -> clear
     1:1:boolean contains(int):879:879 -> f
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():869:869 -> iterator
     1:1:int size():874:874 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$EntryIterator -> com.android.tools.r8.internal.Hq:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$EntryIterator -> com.android.tools.r8.internal.Jq:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap this$0 -> i
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$MapEntry entry -> h
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap):664:664 -> <init>
@@ -73125,13 +73256,13 @@
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$EntryIterator.next():669:669 -> next
     1:1:java.lang.Object next():664 -> next
     1:2:void remove():674:675 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$KeyIterator -> com.android.tools.r8.internal.Iq:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$KeyIterator -> com.android.tools.r8.internal.Kq:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap this$0 -> h
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap):787:788 -> <init>
     1:1:int nextInt():793:793 -> j
     1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$KeyIterator.next():799:799 -> next
     1:1:java.lang.Object next():786 -> next
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$KeySet -> com.android.tools.r8.internal.Jq:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$KeySet -> com.android.tools.r8.internal.Lq:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap):803:803 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$1):803:803 -> <init>
@@ -73140,7 +73271,7 @@
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():806:806 -> iterator
     1:3:boolean remove(int):821:823 -> j
     1:1:int size():811:811 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$MapEntry -> com.android.tools.r8.internal.Kq:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$MapEntry -> com.android.tools.r8.internal.Mq:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap this$0 -> c
     int index -> b
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap,int):472:473 -> <init>
@@ -73161,7 +73292,7 @@
     5:5:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$MapEntry.setValue(java.lang.Integer):529:529 -> setValue
     5:5:java.lang.Object setValue(java.lang.Object):467 -> setValue
     1:1:java.lang.String toString():547:547 -> toString
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.Lq:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.Nq:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap):689:689 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$1):689:689 -> <init>
@@ -73170,7 +73301,7 @@
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():691:691 -> iterator
     1:30:boolean remove(java.lang.Object):724:753 -> remove
     1:1:int size():762:762 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$MapIterator -> com.android.tools.r8.internal.Mq:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$MapIterator -> com.android.tools.r8.internal.Oq:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap this$0 -> g
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList wrapped -> f
     boolean mustReturnNullKey -> e
@@ -73189,14 +73320,14 @@
     13:22:void remove():644 -> remove
     23:24:void remove():647:648 -> remove
     25:25:void remove():641:641 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$ValueIterator -> com.android.tools.r8.internal.Nq:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$ValueIterator -> com.android.tools.r8.internal.Pq:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap this$0 -> h
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap):848:849 -> <init>
     1:1:int nextInt():854:854 -> j
     1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$ValueIterator.next():860:860 -> next
     1:1:java.lang.Object next():847 -> next
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap$FastSortedEntrySet -> com.android.tools.r8.internal.Pq:
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap -> com.android.tools.r8.internal.Tq:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap$FastSortedEntrySet -> com.android.tools.r8.internal.Rq:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap -> com.android.tools.r8.internal.Vq:
     java.lang.Object[] value -> d
     int[] key -> c
     int size -> e
@@ -73230,8 +73361,8 @@
     4:10:java.lang.Object remove(int):309:315 -> remove
     1:1:int size():252:252 -> size
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection values():326:326 -> values
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap$1 -> com.android.tools.r8.internal.Qq:
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap$EntrySet -> com.android.tools.r8.internal.Sq:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap$1 -> com.android.tools.r8.internal.Sq:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap$EntrySet -> com.android.tools.r8.internal.Uq:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap):133:133 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap$1):133:133 -> <init>
@@ -73241,7 +73372,7 @@
     2:2:java.util.Iterator iterator():133 -> iterator
     1:12:boolean remove(java.lang.Object):213:224 -> remove
     1:1:int size():197:197 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap$EntrySet$1 -> com.android.tools.r8.internal.Rq:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap$EntrySet$1 -> com.android.tools.r8.internal.Tq:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap$EntrySet this$1 -> d
     int curr -> b
     int next -> c
@@ -73250,15 +73381,15 @@
     1:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap$EntrySet$1.next():147:147 -> next
     1:3:java.lang.Object next():136 -> next
     1:7:void remove():153:153 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectFunction -> com.android.tools.r8.internal.Uq:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectFunction -> com.android.tools.r8.internal.Wq:
     boolean containsKey(int) -> a
     java.lang.Object put(int,java.lang.Object) -> a
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap -> com.android.tools.r8.internal.Xq:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap -> com.android.tools.r8.internal.Zq:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet int2ObjectEntrySet() -> b
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry -> com.android.tools.r8.internal.Vq:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry -> com.android.tools.r8.internal.Xq:
     int getIntKey() -> a
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$FastEntrySet -> com.android.tools.r8.internal.Wq:
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap -> com.android.tools.r8.internal.gr:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$FastEntrySet -> com.android.tools.r8.internal.Yq:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap -> com.android.tools.r8.internal.ir:
     java.lang.Object[] value -> d
     int[] key -> c
     int maxFill -> h
@@ -73321,14 +73452,14 @@
     7:17:java.lang.Object remove(int):310:320 -> remove
     1:1:int size():386:386 -> size
     1:22:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection values():794:815 -> values
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$1 -> com.android.tools.r8.internal.Yq:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$1 -> com.android.tools.r8.internal.ar:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap):794:794 -> <init>
     1:1:void clear():812:812 -> clear
     1:1:boolean contains(java.lang.Object):807:807 -> contains
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():797:797 -> iterator
     1:1:int size():802:802 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$EntryIterator -> com.android.tools.r8.internal.Zq:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$EntryIterator -> com.android.tools.r8.internal.br:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap this$0 -> i
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$MapEntry entry -> h
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap):600:600 -> <init>
@@ -73336,13 +73467,13 @@
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$EntryIterator.next():605:605 -> next
     1:1:java.lang.Object next():600 -> next
     1:2:void remove():610:611 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$KeyIterator -> com.android.tools.r8.internal.ar:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$KeyIterator -> com.android.tools.r8.internal.cr:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap this$0 -> h
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap):721:722 -> <init>
     1:1:int nextInt():727:727 -> j
     1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$KeyIterator.next():733:733 -> next
     1:1:java.lang.Object next():720 -> next
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$KeySet -> com.android.tools.r8.internal.br:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$KeySet -> com.android.tools.r8.internal.dr:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap):737:737 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$1):737:737 -> <init>
@@ -73351,7 +73482,7 @@
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():740:740 -> iterator
     1:3:boolean remove(int):755:757 -> j
     1:1:int size():745:745 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$MapEntry -> com.android.tools.r8.internal.cr:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$MapEntry -> com.android.tools.r8.internal.er:
     int index -> b
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap this$0 -> c
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap,int):430:431 -> <init>
@@ -73363,7 +73494,7 @@
     1:1:int hashCode():476:476 -> hashCode
     1:2:java.lang.Object setValue(java.lang.Object):449:450 -> setValue
     1:1:java.lang.String toString():481:481 -> toString
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.dr:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.fr:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap):625:625 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$1):625:625 -> <init>
@@ -73372,7 +73503,7 @@
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():627:627 -> iterator
     1:29:boolean remove(java.lang.Object):659:687 -> remove
     1:1:int size():696:696 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$MapIterator -> com.android.tools.r8.internal.er:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$MapIterator -> com.android.tools.r8.internal.gr:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList wrapped -> f
     boolean mustReturnNullKey -> e
     int c -> d
@@ -73391,11 +73522,11 @@
     15:24:void remove():580 -> remove
     25:26:void remove():583:584 -> remove
     27:27:void remove():576:576 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$ValueIterator -> com.android.tools.r8.internal.fr:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$ValueIterator -> com.android.tools.r8.internal.hr:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap this$0 -> h
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap):782:783 -> <init>
     1:1:java.lang.Object next():788:788 -> next
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap -> com.android.tools.r8.internal.zr:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap -> com.android.tools.r8.internal.Br:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet entries -> g
     boolean modified -> j
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry tree -> c
@@ -73513,8 +73644,8 @@
     263:264:java.lang.Object remove(int):472:473 -> remove
     1:1:int size():951:951 -> size
     1:22:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection values():1348:1369 -> values
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$1 -> com.android.tools.r8.internal.hr:
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$2 -> com.android.tools.r8.internal.jr:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$1 -> com.android.tools.r8.internal.jr:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$2 -> com.android.tools.r8.internal.lr:
     java.util.Comparator comparator -> b
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap this$0 -> c
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap):1127:1128 -> <init>
@@ -73537,20 +73668,20 @@
     1:1:java.util.SortedSet tailSet(java.lang.Object):1127:1127 -> tailSet
     2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$2.tailSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry):1202:1202 -> tailSet
     2:2:java.util.SortedSet tailSet(java.lang.Object):1127 -> tailSet
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$2$1 -> com.android.tools.r8.internal.ir:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$2$1 -> com.android.tools.r8.internal.kr:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$2 this$1 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$2):1128:1128 -> <init>
     1:1:int compare(java.lang.Object,java.lang.Object):1128:1128 -> compare
     2:2:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$2$1.compare(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry):1130:1130 -> compare
     2:2:int compare(java.lang.Object,java.lang.Object):1128 -> compare
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$3 -> com.android.tools.r8.internal.kr:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$3 -> com.android.tools.r8.internal.mr:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap):1348:1348 -> <init>
     1:1:void clear():1366:1366 -> clear
     1:1:boolean contains(java.lang.Object):1356:1356 -> contains
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():1351:1351 -> iterator
     1:1:int size():1361:1361 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry -> com.android.tools.r8.internal.lr:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry -> com.android.tools.r8.internal.nr:
     int info -> f
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry left -> d
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry right -> e
@@ -73571,7 +73702,7 @@
     1:1:int hashCode():919:919 -> hashCode
     1:2:java.lang.Object setValue(java.lang.Object):889:890 -> setValue
     1:1:java.lang.String toString():924:924 -> toString
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$EntryIterator -> com.android.tools.r8.internal.mr:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$EntryIterator -> com.android.tools.r8.internal.or:
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap):1097:1097 -> <init>
     1:1:void add(java.lang.Object):1096:1096 -> add
     2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$EntryIterator.add(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry):1121:1121 -> add
@@ -73583,7 +73714,7 @@
     1:1:void set(java.lang.Object):1096:1096 -> set
     2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$EntryIterator.set(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry):1116:1116 -> set
     2:2:void set(java.lang.Object):1096 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$KeyIterator -> com.android.tools.r8.internal.nr:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$KeyIterator -> com.android.tools.r8.internal.pr:
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap):1219:1219 -> <init>
     1:1:void add(java.lang.Object):1218:1218 -> add
     2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$KeyIterator.add(java.lang.Integer):1267:1267 -> add
@@ -73597,12 +73728,12 @@
     1:1:void set(java.lang.Object):1218:1218 -> set
     2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$KeyIterator.set(java.lang.Integer):1261:1261 -> set
     2:2:void set(java.lang.Object):1218 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$KeySet -> com.android.tools.r8.internal.or:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$KeySet -> com.android.tools.r8.internal.qr:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap this$0 -> c
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap):1274:1274 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$1):1274:1274 -> <init>
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntBidirectionalIterator iterator():1276:1276 -> iterator
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap -> com.android.tools.r8.internal.wr:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap -> com.android.tools.r8.internal.yr:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet entries -> g
     boolean bottom -> e
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection values -> i
@@ -73658,7 +73789,7 @@
     1:4:java.lang.Object remove(int):1622:1625 -> remove
     1:5:int size():1630:1634 -> size
     1:18:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection values():1566:1583 -> values
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$1 -> com.android.tools.r8.internal.pr:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$1 -> com.android.tools.r8.internal.rr:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap this$1 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap):1465:1465 -> <init>
     1:1:void clear():1517:1517 -> clear
@@ -73691,19 +73822,19 @@
     1:1:java.util.SortedSet tailSet(java.lang.Object):1465:1465 -> tailSet
     2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$1.tailSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry):1542:1542 -> tailSet
     2:2:java.util.SortedSet tailSet(java.lang.Object):1465 -> tailSet
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$2 -> com.android.tools.r8.internal.qr:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$2 -> com.android.tools.r8.internal.sr:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap this$1 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap):1566:1566 -> <init>
     1:1:void clear():1580:1580 -> clear
     1:1:boolean contains(java.lang.Object):1572:1572 -> contains
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():1568:1568 -> iterator
     1:1:int size():1576:1576 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$KeySet -> com.android.tools.r8.internal.rr:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$KeySet -> com.android.tools.r8.internal.tr:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap this$1 -> c
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap):1548:1548 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$1):1548:1548 -> <init>
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntBidirectionalIterator iterator():1550:1550 -> iterator
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapEntryIterator -> com.android.tools.r8.internal.sr:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapEntryIterator -> com.android.tools.r8.internal.ur:
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap):1773:1773 -> <init>
     1:1:void add(java.lang.Object):1772:1772 -> add
     2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapEntryIterator.add(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry):1797:1797 -> add
@@ -73715,7 +73846,7 @@
     1:1:void set(java.lang.Object):1772:1772 -> set
     2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapEntryIterator.set(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry):1792:1792 -> set
     2:2:void set(java.lang.Object):1772 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapIterator -> com.android.tools.r8.internal.tr:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapIterator -> com.android.tools.r8.internal.vr:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap this$1 -> g
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap):1742:1743 -> <init>
     1:1:void updateNext():1767:1767 -> n
@@ -73724,7 +73855,7 @@
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     5:6:void updateNext():1767:1768 -> n
     1:2:void updatePrevious():1762:1763 -> o
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapKeyIterator -> com.android.tools.r8.internal.ur:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapKeyIterator -> com.android.tools.r8.internal.wr:
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap):1813:1813 -> <init>
     1:1:void add(java.lang.Object):1811:1811 -> add
     2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapKeyIterator.add(java.lang.Integer):1861:1861 -> add
@@ -73738,14 +73869,14 @@
     1:1:void set(java.lang.Object):1811:1811 -> set
     2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapKeyIterator.set(java.lang.Integer):1855:1855 -> set
     2:2:void set(java.lang.Object):1811 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapValueIterator -> com.android.tools.r8.internal.vr:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapValueIterator -> com.android.tools.r8.internal.xr:
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap):1875:1875 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$1):1875:1875 -> <init>
     1:1:void add(java.lang.Object):1893:1893 -> add
     1:1:java.lang.Object next():1878:1878 -> next
     1:1:java.lang.Object previous():1883:1883 -> previous
     1:1:void set(java.lang.Object):1888:1888 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$TreeIterator -> com.android.tools.r8.internal.xr:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$TreeIterator -> com.android.tools.r8.internal.zr:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry next -> c
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry curr -> d
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry prev -> b
@@ -73766,21 +73897,21 @@
     1:1:void updatePrevious():1042:1042 -> o
     1:1:int previousIndex():1058:1058 -> previousIndex
     1:12:void remove():1062:1062 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$ValueIterator -> com.android.tools.r8.internal.yr:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$ValueIterator -> com.android.tools.r8.internal.Ar:
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap):1312:1312 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$1):1312:1312 -> <init>
     1:1:void add(java.lang.Object):1330:1330 -> add
     1:1:java.lang.Object next():1315:1315 -> next
     1:1:java.lang.Object previous():1320:1320 -> previous
     1:1:void set(java.lang.Object):1325:1325 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap -> com.android.tools.r8.internal.Ar:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap -> com.android.tools.r8.internal.Cr:
     int firstIntKey() -> a
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap subMap(int,int) -> a
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet int2ObjectEntrySet() -> b
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap tailMap(int) -> b
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap headMap(int) -> c
     int lastIntKey() -> d
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap -> com.android.tools.r8.internal.Tr:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap -> com.android.tools.r8.internal.Vr:
     java.util.Comparator storedComparator -> k
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values -> i
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry firstEntry -> e
@@ -73953,13 +74084,13 @@
     208:208:java.lang.Object remove(int):497:497 -> remove
     1:1:int size():985:985 -> size
     1:18:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values():1384:1401 -> values
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$1 -> com.android.tools.r8.internal.Br:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$1 -> com.android.tools.r8.internal.Dr:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap):102:102 -> <init>
     1:1:int compare(java.lang.Object,java.lang.Object):102:102 -> compare
     2:2:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$1.compare(java.lang.Integer,java.lang.Integer):108:108 -> compare
     2:2:int compare(java.lang.Object,java.lang.Object):102 -> compare
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$2 -> com.android.tools.r8.internal.Dr:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$2 -> com.android.tools.r8.internal.Fr:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap this$0 -> c
     java.util.Comparator comparator -> b
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap):1161:1162 -> <init>
@@ -73982,7 +74113,7 @@
     1:1:java.util.SortedSet tailSet(java.lang.Object):1161:1161 -> tailSet
     2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$2.tailSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1236:1236 -> tailSet
     2:2:java.util.SortedSet tailSet(java.lang.Object):1161 -> tailSet
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$2$1 -> com.android.tools.r8.internal.Cr:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$2$1 -> com.android.tools.r8.internal.Er:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$2 this$1 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$2):1162:1162 -> <init>
     1:1:int compare(java.lang.Object,java.lang.Object):1162:1162 -> compare
@@ -73992,14 +74123,14 @@
     3:3:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$2$1.compare(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1164 -> compare
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     3:3:int compare(java.lang.Object,java.lang.Object):1162 -> compare
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$3 -> com.android.tools.r8.internal.Er:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$3 -> com.android.tools.r8.internal.Gr:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap):1384:1384 -> <init>
     1:1:void clear():1398:1398 -> clear
     1:1:boolean contains(java.lang.Object):1390:1390 -> contains
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():1386:1386 -> iterator
     1:1:int size():1394:1394 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry -> com.android.tools.r8.internal.Fr:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry -> com.android.tools.r8.internal.Hr:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry right -> e
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry left -> d
     int info -> f
@@ -74020,7 +74151,7 @@
     1:1:int hashCode():953:953 -> hashCode
     1:2:java.lang.Object setValue(java.lang.Object):923:924 -> setValue
     1:1:java.lang.String toString():958:958 -> toString
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$EntryIterator -> com.android.tools.r8.internal.Gr:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$EntryIterator -> com.android.tools.r8.internal.Ir:
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap):1131:1131 -> <init>
     1:1:void add(java.lang.Object):1130:1130 -> add
     2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$EntryIterator.add(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1155:1155 -> add
@@ -74032,7 +74163,7 @@
     1:1:void set(java.lang.Object):1130:1130 -> set
     2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$EntryIterator.set(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1150:1150 -> set
     2:2:void set(java.lang.Object):1130 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$KeyIterator -> com.android.tools.r8.internal.Hr:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$KeyIterator -> com.android.tools.r8.internal.Jr:
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap):1253:1253 -> <init>
     1:1:void add(java.lang.Object):1252:1252 -> add
     2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$KeyIterator.add(java.lang.Integer):1301:1301 -> add
@@ -74046,12 +74177,12 @@
     1:1:void set(java.lang.Object):1252:1252 -> set
     2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$KeyIterator.set(java.lang.Integer):1295:1295 -> set
     2:2:void set(java.lang.Object):1252 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$KeySet -> com.android.tools.r8.internal.Ir:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$KeySet -> com.android.tools.r8.internal.Kr:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap this$0 -> c
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap):1308:1308 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$1):1308:1308 -> <init>
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntBidirectionalIterator iterator():1311:1311 -> iterator
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap -> com.android.tools.r8.internal.Qr:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap -> com.android.tools.r8.internal.Sr:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values -> i
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap this$0 -> j
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet entries -> g
@@ -74126,7 +74257,7 @@
     1:4:java.lang.Object remove(int):1657:1660 -> remove
     1:5:int size():1665:1669 -> size
     1:21:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values():1598:1618 -> values
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$1 -> com.android.tools.r8.internal.Jr:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$1 -> com.android.tools.r8.internal.Lr:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap this$1 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap):1497:1497 -> <init>
     1:1:void clear():1549:1549 -> clear
@@ -74159,19 +74290,19 @@
     1:1:java.util.SortedSet tailSet(java.lang.Object):1497:1497 -> tailSet
     2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$1.tailSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1574:1574 -> tailSet
     2:2:java.util.SortedSet tailSet(java.lang.Object):1497 -> tailSet
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$2 -> com.android.tools.r8.internal.Kr:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$2 -> com.android.tools.r8.internal.Mr:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap this$1 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap):1598:1598 -> <init>
     1:1:void clear():1615:1615 -> clear
     1:1:boolean contains(java.lang.Object):1605:1605 -> contains
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():1600:1600 -> iterator
     1:1:int size():1610:1610 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$KeySet -> com.android.tools.r8.internal.Lr:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$KeySet -> com.android.tools.r8.internal.Nr:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap this$1 -> c
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap):1580:1580 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$1):1580:1580 -> <init>
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntBidirectionalIterator iterator():1582:1582 -> iterator
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapEntryIterator -> com.android.tools.r8.internal.Mr:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapEntryIterator -> com.android.tools.r8.internal.Or:
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap):1808:1808 -> <init>
     1:1:void add(java.lang.Object):1807:1807 -> add
     2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapEntryIterator.add(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1832:1832 -> add
@@ -74183,7 +74314,7 @@
     1:1:void set(java.lang.Object):1807:1807 -> set
     2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapEntryIterator.set(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1827:1827 -> set
     2:2:void set(java.lang.Object):1807 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapIterator -> com.android.tools.r8.internal.Nr:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapIterator -> com.android.tools.r8.internal.Pr:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap this$1 -> g
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap):1777:1778 -> <init>
     1:1:void updateNext():1802:1802 -> n
@@ -74192,7 +74323,7 @@
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     5:6:void updateNext():1802:1803 -> n
     1:2:void updatePrevious():1797:1798 -> o
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapKeyIterator -> com.android.tools.r8.internal.Or:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapKeyIterator -> com.android.tools.r8.internal.Qr:
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap):1848:1848 -> <init>
     1:1:void add(java.lang.Object):1846:1846 -> add
     2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapKeyIterator.add(java.lang.Integer):1896:1896 -> add
@@ -74206,14 +74337,14 @@
     1:1:void set(java.lang.Object):1846:1846 -> set
     2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapKeyIterator.set(java.lang.Integer):1890:1890 -> set
     2:2:void set(java.lang.Object):1846 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapValueIterator -> com.android.tools.r8.internal.Pr:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapValueIterator -> com.android.tools.r8.internal.Rr:
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap):1910:1910 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$1):1910:1910 -> <init>
     1:1:void add(java.lang.Object):1928:1928 -> add
     1:1:java.lang.Object next():1913:1913 -> next
     1:1:java.lang.Object previous():1918:1918 -> previous
     1:1:void set(java.lang.Object):1923:1923 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$TreeIterator -> com.android.tools.r8.internal.Rr:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$TreeIterator -> com.android.tools.r8.internal.Tr:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry curr -> d
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap this$0 -> f
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry next -> c
@@ -74234,14 +74365,14 @@
     1:1:void updatePrevious():1076:1076 -> o
     1:1:int previousIndex():1092:1092 -> previousIndex
     1:12:void remove():1096:1096 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$ValueIterator -> com.android.tools.r8.internal.Sr:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$ValueIterator -> com.android.tools.r8.internal.Ur:
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap):1348:1348 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$1):1348:1348 -> <init>
     1:1:void add(java.lang.Object):1366:1366 -> add
     1:1:java.lang.Object next():1351:1351 -> next
     1:1:java.lang.Object previous():1356:1356 -> previous
     1:1:void set(java.lang.Object):1361:1361 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap -> com.android.tools.r8.internal.Xr:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap -> com.android.tools.r8.internal.Zr:
     java.lang.Object[] value -> d
     int[] key -> c
     int size -> e
@@ -74275,8 +74406,8 @@
     4:10:java.lang.Object remove(int):309:315 -> remove
     1:1:int size():252:252 -> size
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values():326:326 -> values
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap$1 -> com.android.tools.r8.internal.Ur:
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap$EntrySet -> com.android.tools.r8.internal.Wr:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap$1 -> com.android.tools.r8.internal.Wr:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap$EntrySet -> com.android.tools.r8.internal.Yr:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap):133:133 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap$1):133:133 -> <init>
@@ -74286,7 +74417,7 @@
     2:2:java.util.Iterator iterator():133 -> iterator
     1:12:boolean remove(java.lang.Object):213:224 -> remove
     1:1:int size():197:197 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap$EntrySet$1 -> com.android.tools.r8.internal.Vr:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap$EntrySet$1 -> com.android.tools.r8.internal.Xr:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap$EntrySet this$1 -> d
     int curr -> b
     int next -> c
@@ -74295,10 +74426,10 @@
     1:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap$EntrySet$1.next():147:147 -> next
     1:3:java.lang.Object next():136 -> next
     1:7:void remove():153:153 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceFunction -> com.android.tools.r8.internal.Yr:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceFunction -> com.android.tools.r8.internal.as:
     boolean containsKey(int) -> a
     java.lang.Object put(int,java.lang.Object) -> a
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap -> com.android.tools.r8.internal.hs:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap -> com.android.tools.r8.internal.js:
     java.lang.Object[] value -> d
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet keys -> n
     int size -> l
@@ -74367,14 +74498,14 @@
     8:18:java.lang.Object remove(int):378:388 -> remove
     1:1:int size():727:727 -> size
     1:22:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values():1532:1553 -> values
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$1 -> com.android.tools.r8.internal.Zr:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$1 -> com.android.tools.r8.internal.bs:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap):1532:1532 -> <init>
     1:1:void clear():1550:1550 -> clear
     1:1:boolean contains(java.lang.Object):1545:1545 -> contains
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():1535:1535 -> iterator
     1:1:int size():1540:1540 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$EntryIterator -> com.android.tools.r8.internal.as:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$EntryIterator -> com.android.tools.r8.internal.cs:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$MapEntry entry -> g
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap this$0 -> h
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap):1158:1158 -> <init>
@@ -74389,7 +74520,7 @@
     1:1:void set(java.lang.Object):1155:1155 -> set
     2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$MapIterator.set(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1147:1147 -> set
     2:2:void set(java.lang.Object):1155 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$KeyIterator -> com.android.tools.r8.internal.bs:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$KeyIterator -> com.android.tools.r8.internal.ds:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap this$0 -> g
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap):1409:1410 -> <init>
     1:1:void add(java.lang.Object):1371:1371 -> add
@@ -74404,7 +74535,7 @@
     1:1:void set(java.lang.Object):1371:1371 -> set
     2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$KeyIterator.set(java.lang.Integer):1400:1400 -> set
     2:2:void set(java.lang.Object):1371 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$KeySet -> com.android.tools.r8.internal.cs:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$KeySet -> com.android.tools.r8.internal.es:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap):1425:1425 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$1):1425:1425 -> <init>
@@ -74423,7 +74554,7 @@
     1:3:boolean remove(int):1446:1448 -> j
     1:3:int lastInt():1464:1464 -> r
     1:1:int size():1436:1436 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$MapEntry -> com.android.tools.r8.internal.ds:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$MapEntry -> com.android.tools.r8.internal.fs:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap this$0 -> c
     int index -> b
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap,int):771:772 -> <init>
@@ -74435,7 +74566,7 @@
     1:1:int hashCode():817:817 -> hashCode
     1:2:java.lang.Object setValue(java.lang.Object):790:791 -> setValue
     1:1:java.lang.String toString():822:822 -> toString
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.es:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.gs:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap):1205:1205 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$1):1205:1205 -> <init>
@@ -74457,7 +74588,7 @@
     1:1:java.util.SortedSet tailSet(java.lang.Object):1205:1205 -> tailSet
     2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$MapEntrySet.tailSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1227:1227 -> tailSet
     2:2:java.util.SortedSet tailSet(java.lang.Object):1205 -> tailSet
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$MapIterator -> com.android.tools.r8.internal.fs:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$MapIterator -> com.android.tools.r8.internal.hs:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap this$0 -> f
     int curr -> d
     int index -> e
@@ -74475,22 +74606,22 @@
     1:2:int previousIndex():1057:1058 -> previousIndex
     1:48:void remove():1080:1127 -> remove
     49:49:void remove():1081:1081 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$ValueIterator -> com.android.tools.r8.internal.gs:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$ValueIterator -> com.android.tools.r8.internal.is:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap this$0 -> g
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap):1520:1521 -> <init>
     1:1:void add(java.lang.Object):1517:1517 -> add
     1:1:java.lang.Object next():1526:1526 -> next
     1:1:java.lang.Object previous():1507:1507 -> previous
     1:1:void set(java.lang.Object):1512:1512 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap -> com.android.tools.r8.internal.ks:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap -> com.android.tools.r8.internal.ms:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet int2ReferenceEntrySet() -> c
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry -> com.android.tools.r8.internal.is:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry -> com.android.tools.r8.internal.ks:
     int getIntKey() -> a
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$FastEntrySet -> com.android.tools.r8.internal.js:
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMaps -> com.android.tools.r8.internal.ms:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$FastEntrySet -> com.android.tools.r8.internal.ls:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMaps -> com.android.tools.r8.internal.os:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMaps$EmptyMap EMPTY_MAP -> a
     1:1:void <clinit>():124:124 -> <clinit>
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMaps$EmptyMap -> com.android.tools.r8.internal.ls:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMaps$EmptyMap -> com.android.tools.r8.internal.ns:
     1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceFunctions$EmptyFunction.<init>():41:41 -> <init>
     1:1:void <init>():46 -> <init>
     boolean com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceFunctions$EmptyFunction.containsKey(int) -> a
@@ -74513,7 +74644,7 @@
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values():86:86 -> values
     2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMaps$EmptyMap.values():86:86 -> values
     2:2:java.util.Collection values():43 -> values
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap -> com.android.tools.r8.internal.vs:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap -> com.android.tools.r8.internal.xs:
     java.lang.Object[] value -> d
     float f -> j
     int[] key -> c
@@ -74576,14 +74707,14 @@
     7:17:java.lang.Object remove(int):310:320 -> remove
     1:1:int size():386:386 -> size
     1:22:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values():794:815 -> values
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$1 -> com.android.tools.r8.internal.ns:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$1 -> com.android.tools.r8.internal.ps:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap):794:794 -> <init>
     1:1:void clear():812:812 -> clear
     1:1:boolean contains(java.lang.Object):807:807 -> contains
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():797:797 -> iterator
     1:1:int size():802:802 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$EntryIterator -> com.android.tools.r8.internal.os:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$EntryIterator -> com.android.tools.r8.internal.qs:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap this$0 -> i
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$MapEntry entry -> h
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap):600:600 -> <init>
@@ -74591,13 +74722,13 @@
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$EntryIterator.next():605:605 -> next
     1:1:java.lang.Object next():600 -> next
     1:2:void remove():610:611 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$KeyIterator -> com.android.tools.r8.internal.ps:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$KeyIterator -> com.android.tools.r8.internal.rs:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap this$0 -> h
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap):721:722 -> <init>
     1:1:int nextInt():727:727 -> j
     1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$KeyIterator.next():733:733 -> next
     1:1:java.lang.Object next():720 -> next
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$KeySet -> com.android.tools.r8.internal.qs:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$KeySet -> com.android.tools.r8.internal.ss:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap):737:737 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$1):737:737 -> <init>
@@ -74606,7 +74737,7 @@
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():740:740 -> iterator
     1:3:boolean remove(int):755:757 -> j
     1:1:int size():745:745 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$MapEntry -> com.android.tools.r8.internal.rs:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$MapEntry -> com.android.tools.r8.internal.ts:
     int index -> b
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap this$0 -> c
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap,int):430:431 -> <init>
@@ -74618,7 +74749,7 @@
     1:1:int hashCode():476:476 -> hashCode
     1:2:java.lang.Object setValue(java.lang.Object):449:450 -> setValue
     1:1:java.lang.String toString():481:481 -> toString
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.ss:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.us:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap):625:625 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$1):625:625 -> <init>
@@ -74627,7 +74758,7 @@
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():627:627 -> iterator
     1:29:boolean remove(java.lang.Object):659:687 -> remove
     1:1:int size():696:696 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$MapIterator -> com.android.tools.r8.internal.ts:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$MapIterator -> com.android.tools.r8.internal.vs:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap this$0 -> g
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList wrapped -> f
     boolean mustReturnNullKey -> e
@@ -74646,11 +74777,11 @@
     15:24:void remove():580 -> remove
     25:26:void remove():583:584 -> remove
     27:27:void remove():576:576 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$ValueIterator -> com.android.tools.r8.internal.us:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$ValueIterator -> com.android.tools.r8.internal.ws:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap this$0 -> h
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap):782:783 -> <init>
     1:1:java.lang.Object next():788:788 -> next
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap -> com.android.tools.r8.internal.Os:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap -> com.android.tools.r8.internal.Qs:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values -> i
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet entries -> g
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry[] nodePath -> l
@@ -74767,8 +74898,8 @@
     263:264:java.lang.Object remove(int):472:473 -> remove
     1:1:int size():951:951 -> size
     1:22:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values():1348:1369 -> values
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$1 -> com.android.tools.r8.internal.ws:
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$2 -> com.android.tools.r8.internal.ys:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$1 -> com.android.tools.r8.internal.ys:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$2 -> com.android.tools.r8.internal.As:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap this$0 -> c
     java.util.Comparator comparator -> b
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap):1127:1128 -> <init>
@@ -74791,20 +74922,20 @@
     1:1:java.util.SortedSet tailSet(java.lang.Object):1127:1127 -> tailSet
     2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$2.tailSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1202:1202 -> tailSet
     2:2:java.util.SortedSet tailSet(java.lang.Object):1127 -> tailSet
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$2$1 -> com.android.tools.r8.internal.xs:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$2$1 -> com.android.tools.r8.internal.zs:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$2 this$1 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$2):1128:1128 -> <init>
     1:1:int compare(java.lang.Object,java.lang.Object):1128:1128 -> compare
     2:2:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$2$1.compare(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1130:1130 -> compare
     2:2:int compare(java.lang.Object,java.lang.Object):1128 -> compare
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$3 -> com.android.tools.r8.internal.zs:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$3 -> com.android.tools.r8.internal.Bs:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap):1348:1348 -> <init>
     1:1:void clear():1366:1366 -> clear
     1:1:boolean contains(java.lang.Object):1356:1356 -> contains
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():1351:1351 -> iterator
     1:1:int size():1361:1361 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry -> com.android.tools.r8.internal.As:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry -> com.android.tools.r8.internal.Cs:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry left -> d
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry right -> e
     int info -> f
@@ -74825,7 +74956,7 @@
     1:1:int hashCode():919:919 -> hashCode
     1:2:java.lang.Object setValue(java.lang.Object):889:890 -> setValue
     1:1:java.lang.String toString():924:924 -> toString
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$EntryIterator -> com.android.tools.r8.internal.Bs:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$EntryIterator -> com.android.tools.r8.internal.Ds:
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap):1097:1097 -> <init>
     1:1:void add(java.lang.Object):1096:1096 -> add
     2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$EntryIterator.add(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1121:1121 -> add
@@ -74837,7 +74968,7 @@
     1:1:void set(java.lang.Object):1096:1096 -> set
     2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$EntryIterator.set(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1116:1116 -> set
     2:2:void set(java.lang.Object):1096 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$KeyIterator -> com.android.tools.r8.internal.Cs:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$KeyIterator -> com.android.tools.r8.internal.Es:
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap):1219:1219 -> <init>
     1:1:void add(java.lang.Object):1218:1218 -> add
     2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$KeyIterator.add(java.lang.Integer):1267:1267 -> add
@@ -74851,12 +74982,12 @@
     1:1:void set(java.lang.Object):1218:1218 -> set
     2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$KeyIterator.set(java.lang.Integer):1261:1261 -> set
     2:2:void set(java.lang.Object):1218 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$KeySet -> com.android.tools.r8.internal.Ds:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$KeySet -> com.android.tools.r8.internal.Fs:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap this$0 -> c
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap):1274:1274 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$1):1274:1274 -> <init>
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntBidirectionalIterator iterator():1276:1276 -> iterator
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap -> com.android.tools.r8.internal.Ls:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap -> com.android.tools.r8.internal.Ns:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values -> i
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet entries -> g
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap this$0 -> j
@@ -74912,7 +75043,7 @@
     1:4:java.lang.Object remove(int):1622:1625 -> remove
     1:5:int size():1630:1634 -> size
     1:18:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values():1566:1583 -> values
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$1 -> com.android.tools.r8.internal.Es:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$1 -> com.android.tools.r8.internal.Gs:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap this$1 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap):1465:1465 -> <init>
     1:1:void clear():1517:1517 -> clear
@@ -74945,19 +75076,19 @@
     1:1:java.util.SortedSet tailSet(java.lang.Object):1465:1465 -> tailSet
     2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$1.tailSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1542:1542 -> tailSet
     2:2:java.util.SortedSet tailSet(java.lang.Object):1465 -> tailSet
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$2 -> com.android.tools.r8.internal.Fs:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$2 -> com.android.tools.r8.internal.Hs:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap this$1 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap):1566:1566 -> <init>
     1:1:void clear():1580:1580 -> clear
     1:1:boolean contains(java.lang.Object):1572:1572 -> contains
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():1568:1568 -> iterator
     1:1:int size():1576:1576 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$KeySet -> com.android.tools.r8.internal.Gs:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$KeySet -> com.android.tools.r8.internal.Is:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap this$1 -> c
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap):1548:1548 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$1):1548:1548 -> <init>
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntBidirectionalIterator iterator():1550:1550 -> iterator
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapEntryIterator -> com.android.tools.r8.internal.Hs:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapEntryIterator -> com.android.tools.r8.internal.Js:
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap):1773:1773 -> <init>
     1:1:void add(java.lang.Object):1772:1772 -> add
     2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapEntryIterator.add(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1797:1797 -> add
@@ -74969,7 +75100,7 @@
     1:1:void set(java.lang.Object):1772:1772 -> set
     2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapEntryIterator.set(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1792:1792 -> set
     2:2:void set(java.lang.Object):1772 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapIterator -> com.android.tools.r8.internal.Is:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapIterator -> com.android.tools.r8.internal.Ks:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap this$1 -> g
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap):1742:1743 -> <init>
     1:1:void updateNext():1767:1767 -> n
@@ -74978,7 +75109,7 @@
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     5:6:void updateNext():1767:1768 -> n
     1:2:void updatePrevious():1762:1763 -> o
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapKeyIterator -> com.android.tools.r8.internal.Js:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapKeyIterator -> com.android.tools.r8.internal.Ls:
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap):1813:1813 -> <init>
     1:1:void add(java.lang.Object):1811:1811 -> add
     2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapKeyIterator.add(java.lang.Integer):1861:1861 -> add
@@ -74992,14 +75123,14 @@
     1:1:void set(java.lang.Object):1811:1811 -> set
     2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapKeyIterator.set(java.lang.Integer):1855:1855 -> set
     2:2:void set(java.lang.Object):1811 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapValueIterator -> com.android.tools.r8.internal.Ks:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapValueIterator -> com.android.tools.r8.internal.Ms:
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap):1875:1875 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$1):1875:1875 -> <init>
     1:1:void add(java.lang.Object):1893:1893 -> add
     1:1:java.lang.Object next():1878:1878 -> next
     1:1:java.lang.Object previous():1883:1883 -> previous
     1:1:void set(java.lang.Object):1888:1888 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$TreeIterator -> com.android.tools.r8.internal.Ms:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$TreeIterator -> com.android.tools.r8.internal.Os:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry prev -> b
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry curr -> d
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry next -> c
@@ -75020,14 +75151,14 @@
     1:1:void updatePrevious():1042:1042 -> o
     1:1:int previousIndex():1058:1058 -> previousIndex
     1:12:void remove():1062:1062 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$ValueIterator -> com.android.tools.r8.internal.Ns:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$ValueIterator -> com.android.tools.r8.internal.Ps:
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap):1312:1312 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$1):1312:1312 -> <init>
     1:1:void add(java.lang.Object):1330:1330 -> add
     1:1:java.lang.Object next():1315:1315 -> next
     1:1:java.lang.Object previous():1320:1320 -> previous
     1:1:void set(java.lang.Object):1325:1325 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap -> com.android.tools.r8.internal.Qs:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap -> com.android.tools.r8.internal.Ss:
     int firstIntKey() -> a
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap subMap(int,int) -> a
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap subMap(java.lang.Integer,java.lang.Integer) -> a
@@ -75037,11 +75168,11 @@
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap headMap(int) -> c
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet int2ReferenceEntrySet() -> c
     int lastIntKey() -> d
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap$FastSortedEntrySet -> com.android.tools.r8.internal.Ps:
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMaps -> com.android.tools.r8.internal.Ss:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap$FastSortedEntrySet -> com.android.tools.r8.internal.Rs:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMaps -> com.android.tools.r8.internal.Us:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMaps$EmptySortedMap EMPTY_MAP -> a
     1:1:void <clinit>():185:185 -> <clinit>
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMaps$EmptySortedMap -> com.android.tools.r8.internal.Rs:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMaps$EmptySortedMap -> com.android.tools.r8.internal.Ts:
     1:1:void <init>():60:60 -> <init>
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap subMap(int,int):95:95 -> a
     2:2:int firstIntKey():112:112 -> a
@@ -75066,7 +75197,7 @@
     2:2:java.lang.Integer lastKey():177:177 -> lastKey
     1:1:java.util.SortedMap subMap(java.lang.Object,java.lang.Object):57:57 -> subMap
     1:1:java.util.SortedMap tailMap(java.lang.Object):57:57 -> tailMap
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList -> com.android.tools.r8.internal.Xs:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList -> com.android.tools.r8.internal.Zs:
     int[] a -> b
     int size -> c
     1:2:void <init>(int[],boolean):70:71 -> <init>
@@ -75184,10 +75315,10 @@
     637:637:int set(int,int):313:313 -> c
     318:318:int set(int,int):313:313 -> c
     319:319:int set(int,int):0:0 -> c
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":638,"2":639,"3":640}}
-    638:638:int set(int,int):313:313 -> c
-    639:639:int set(int,int):313:313 -> c
-    640:640:int set(int,int):313:313 -> c
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":633,"2":634,"3":635}}
+    633:633:int set(int,int):313:313 -> c
+    634:634:int set(int,int):313:313 -> c
+    635:635:int set(int,int):313:313 -> c
     632:632:int set(int,int):313:313 -> c
     1:1:void clear():321:321 -> clear
     1:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.clone():549:551 -> clone
@@ -75202,10 +75333,10 @@
     600:600:int removeInt(int):294:294 -> g
     300:300:int removeInt(int):294:294 -> g
     301:301:int removeInt(int):0:0 -> g
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":601,"2":602,"3":603}}
-    601:601:int removeInt(int):294:294 -> g
-    602:602:int removeInt(int):294:294 -> g
-    603:603:int removeInt(int):294:294 -> g
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":596,"2":597,"3":598}}
+    596:596:int removeInt(int):294:294 -> g
+    597:597:int removeInt(int):294:294 -> g
+    598:598:int removeInt(int):294:294 -> g
     595:595:int removeInt(int):294:294 -> g
     1:3:int getInt(int):274:274 -> h
     4:4:int getInt(int):0:0 -> h
@@ -75217,10 +75348,10 @@
     558:558:int getInt(int):274:274 -> h
     278:278:int getInt(int):274:274 -> h
     279:279:int getInt(int):0:0 -> h
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":559,"2":560,"3":561}}
-    559:559:int getInt(int):274:274 -> h
-    560:560:int getInt(int):274:274 -> h
-    561:561:int getInt(int):274:274 -> h
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":554,"2":555,"3":556}}
+    554:554:int getInt(int):274:274 -> h
+    555:555:int getInt(int):274:274 -> h
+    556:556:int getInt(int):274:274 -> h
     553:553:int getInt(int):274:274 -> h
     1:3:boolean rem(int):304:306 -> i
     1:1:boolean isEmpty():339:339 -> isEmpty
@@ -75233,7 +75364,7 @@
     6:6:void grow(int):250:250 -> o
     1:6:boolean removeAll(java.util.Collection):482:487 -> removeAll
     1:1:int size():327:327 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList$1 -> com.android.tools.r8.internal.Ws:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList$1 -> com.android.tools.r8.internal.Ys:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList this$0 -> d
     int pos -> b
     int last -> c
@@ -75247,7 +75378,7 @@
     1:1:int nextIndex():516:516 -> nextIndex
     1:1:int previousIndex():520:520 -> previousIndex
     1:10:void remove():534:534 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet -> com.android.tools.r8.internal.Zs:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet -> com.android.tools.r8.internal.bt:
     int[] a -> b
     int size -> c
     1:2:void <init>():55:56 -> <init>
@@ -75290,24 +75421,24 @@
     1:2:boolean remove(int):153 -> j
     3:6:boolean remove(int):155:158 -> j
     1:1:int size():148:148 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet$1 -> com.android.tools.r8.internal.Ys:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet$1 -> com.android.tools.r8.internal.at:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet this$0 -> c
     int next -> b
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet):119:120 -> <init>
     1:1:boolean hasNext():124:124 -> hasNext
     1:3:int nextInt():129:129 -> j
     1:2:void remove():135:136 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays -> com.android.tools.r8.internal.at:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays -> com.android.tools.r8.internal.ct:
     int[] EMPTY_ARRAY -> a
     1:1:void <clinit>():100:100 -> <clinit>
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntBidirectionalIterator -> com.android.tools.r8.internal.bt:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntBidirectionalIterator -> com.android.tools.r8.internal.dt:
     int previousInt() -> d
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection -> com.android.tools.r8.internal.dt:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection -> com.android.tools.r8.internal.ft:
     boolean add(int) -> a
     boolean contains(int) -> f
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollections -> com.android.tools.r8.internal.gt:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollections -> com.android.tools.r8.internal.it:
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection unmodifiable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection):536:536 -> a
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollections$EmptyCollection -> com.android.tools.r8.internal.et:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollections$EmptyCollection -> com.android.tools.r8.internal.gt:
     1:1:void <init>():39:39 -> <init>
     1:1:boolean addAll(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection):96:96 -> a
     1:1:boolean addAll(java.util.Collection):81:81 -> addAll
@@ -75318,7 +75449,7 @@
     1:1:boolean removeAll(java.util.Collection):86:86 -> removeAll
     1:1:boolean retainAll(java.util.Collection):91:91 -> retainAll
     1:1:java.lang.Object[] toArray():49:49 -> toArray
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollections$UnmodifiableCollection -> com.android.tools.r8.internal.ft:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollections$UnmodifiableCollection -> com.android.tools.r8.internal.ht:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection collection -> b
     1:3:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection):369:371 -> <init>
     1:1:boolean add(java.lang.Object):365:365 -> add
@@ -75343,23 +75474,23 @@
     1:1:java.lang.Object[] toArray(java.lang.Object[]):422:422 -> toArray
     2:2:java.lang.Object[] toArray():427:427 -> toArray
     1:1:java.lang.String toString():512:512 -> toString
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntComparator -> com.android.tools.r8.internal.ht:
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator -> com.android.tools.r8.internal.jt:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntComparator -> com.android.tools.r8.internal.jt:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator -> com.android.tools.r8.internal.lt:
     int nextInt() -> j
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators -> com.android.tools.r8.internal.mt:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators -> com.android.tools.r8.internal.ot:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators$EmptyIterator EMPTY_ITERATOR -> a
     1:1:void <clinit>():103:103 -> <clinit>
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators$EmptyIterator -> com.android.tools.r8.internal.kt:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators$EmptyIterator -> com.android.tools.r8.internal.mt:
     1:1:void <init>():42:42 -> <init>
     1:1:java.lang.Object clone():87:87 -> clone
     1:1:int previousInt():62:62 -> d
     1:1:int nextInt():57:57 -> j
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators$UnmodifiableIterator -> com.android.tools.r8.internal.lt:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators$UnmodifiableIterator -> com.android.tools.r8.internal.nt:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator i -> b
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator):807:808 -> <init>
     1:1:boolean hasNext():813:813 -> hasNext
     1:1:int nextInt():818:818 -> j
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList -> com.android.tools.r8.internal.nt:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList -> com.android.tools.r8.internal.pt:
     boolean add(int) -> a
     void getElements(int,int[],int,int) -> a
     void removeElements(int,int) -> a
@@ -75367,11 +75498,11 @@
     int set(int,int) -> c
     int removeInt(int) -> g
     int getInt(int) -> h
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator -> com.android.tools.r8.internal.ot:
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntLists -> com.android.tools.r8.internal.qt:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator -> com.android.tools.r8.internal.qt:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntLists -> com.android.tools.r8.internal.st:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntLists$EmptyList EMPTY_LIST -> a
     1:1:void <clinit>():323:323 -> <clinit>
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntLists$EmptyList -> com.android.tools.r8.internal.pt:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntLists$EmptyList -> com.android.tools.r8.internal.rt:
     1:1:void <init>():65:65 -> <init>
     1:1:boolean add(java.lang.Integer):156:156 -> a
     2:3:void getElements(int,int[],int,int):263:264 -> a
@@ -75411,7 +75542,7 @@
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntLists$EmptyList.subList(int,int):246:246 -> subList
     1:1:java.util.List subList(int,int):62 -> subList
     1:1:java.lang.String toString():311:311 -> toString
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet -> com.android.tools.r8.internal.yt:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet -> com.android.tools.r8.internal.At:
     int[] key -> b
     float f -> h
     int maxFill -> f
@@ -75467,8 +75598,8 @@
     9:13:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.shiftKeys(int):339:343 -> l
     9:13:boolean removeEntry(int):349 -> l
     1:1:int size():412:412 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet$1 -> com.android.tools.r8.internal.wt:
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet$SetIterator -> com.android.tools.r8.internal.xt:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet$1 -> com.android.tools.r8.internal.yt:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet$SetIterator -> com.android.tools.r8.internal.zt:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList wrapped -> f
     boolean mustReturnNull -> e
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet this$0 -> g
@@ -75487,25 +75618,25 @@
     14:22:void remove():532 -> remove
     23:24:void remove():535:536 -> remove
     25:25:void remove():528:528 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet -> com.android.tools.r8.internal.zt:
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSets -> com.android.tools.r8.internal.Bt:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet -> com.android.tools.r8.internal.Bt:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSets -> com.android.tools.r8.internal.Dt:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSets$EmptySet EMPTY_SET -> a
     1:1:void <clinit>():76:76 -> <clinit>
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSets$EmptySet -> com.android.tools.r8.internal.At:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSets$EmptySet -> com.android.tools.r8.internal.Ct:
     1:1:void <init>():42:42 -> <init>
     1:1:java.lang.Object clone():52:52 -> clone
     1:1:boolean equals(java.lang.Object):58:58 -> equals
     1:1:boolean rem(int):64:64 -> i
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet -> com.android.tools.r8.internal.Ct:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet -> com.android.tools.r8.internal.Et:
     int firstInt() -> Y
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet tailSet(int) -> c
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet headSet(int) -> d
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet subSet(int,int) -> d
     int lastInt() -> r
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSets -> com.android.tools.r8.internal.Et:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSets -> com.android.tools.r8.internal.Gt:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSets$EmptySet EMPTY_SET -> a
     1:1:void <clinit>():168:168 -> <clinit>
-com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSets$EmptySet -> com.android.tools.r8.internal.Dt:
+com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSets$EmptySet -> com.android.tools.r8.internal.Ft:
     1:1:void <init>():42:42 -> <init>
     1:1:java.lang.Object clone():155:155 -> clone
     1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSets$EmptySet.first():139:139 -> first
@@ -75676,13 +75807,13 @@
     49:49:void ensureIndex(int):47:47 -> i
     50:50:void ensureIndex(int):46:46 -> i
     51:51:void ensureIndex(int):0:0 -> i
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":103,"2":104,"3":105,"4":106,"5":107,"6":108}}
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":98,"2":99,"3":100,"4":101,"5":102,"6":103}}
+    98:98:void ensureIndex(int):46:46 -> i
+    99:99:void ensureIndex(int):46:46 -> i
+    100:100:void ensureIndex(int):46:46 -> i
+    101:101:void ensureIndex(int):46:46 -> i
+    102:102:void ensureIndex(int):46:46 -> i
     103:103:void ensureIndex(int):46:46 -> i
-    104:104:void ensureIndex(int):46:46 -> i
-    105:105:void ensureIndex(int):46:46 -> i
-    106:106:void ensureIndex(int):46:46 -> i
-    107:107:void ensureIndex(int):46:46 -> i
-    108:108:void ensureIndex(int):46:46 -> i
     97:97:void ensureIndex(int):46:46 -> i
     1:1:int indexOf(java.lang.Object):619:619 -> indexOf
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.listIterator():192:192 -> iterator
@@ -75699,13 +75830,13 @@
     64:64:void ensureRestrictedIndex(int):62:62 -> j
     65:65:void ensureRestrictedIndex(int):61:61 -> j
     66:66:void ensureRestrictedIndex(int):0:0 -> j
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":133,"2":134,"3":135,"4":136,"5":137,"6":138}}
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":128,"2":129,"3":130,"4":131,"5":132,"6":133}}
+    128:128:void ensureRestrictedIndex(int):61:61 -> j
+    129:129:void ensureRestrictedIndex(int):61:61 -> j
+    130:130:void ensureRestrictedIndex(int):61:61 -> j
+    131:131:void ensureRestrictedIndex(int):61:61 -> j
+    132:132:void ensureRestrictedIndex(int):61:61 -> j
     133:133:void ensureRestrictedIndex(int):61:61 -> j
-    134:134:void ensureRestrictedIndex(int):61:61 -> j
-    135:135:void ensureRestrictedIndex(int):61:61 -> j
-    136:136:void ensureRestrictedIndex(int):61:61 -> j
-    137:137:void ensureRestrictedIndex(int):61:61 -> j
-    138:138:void ensureRestrictedIndex(int):61:61 -> j
     127:127:void ensureRestrictedIndex(int):61:61 -> j
     com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator listIterator(int) -> k
     1:1:int lastIndexOf(java.lang.Object):633:633 -> lastIndexOf
@@ -75803,9 +75934,9 @@
     2:2:int com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$KeySet.size():745:745 -> hashCode
     2:2:int hashCode():57 -> hashCode
     3:8:int hashCode():58:63 -> hashCode
-com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap$Entry -> com.android.tools.r8.internal.KC:
-com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap$FastEntrySet -> com.android.tools.r8.internal.LC:
-com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap -> com.android.tools.r8.internal.UC:
+com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap$Entry -> com.android.tools.r8.internal.PC:
+com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap$FastEntrySet -> com.android.tools.r8.internal.QC:
+com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap -> com.android.tools.r8.internal.ZC:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values -> k
     java.lang.Object[] value -> c
     int size -> h
@@ -75864,14 +75995,14 @@
     1:1:int size():386:386 -> size
     1:22:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.values():794:815 -> values
     1:22:java.util.Collection values():49 -> values
-com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$1 -> com.android.tools.r8.internal.MC:
+com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$1 -> com.android.tools.r8.internal.RC:
     com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap):794:794 -> <init>
     1:1:void clear():812:812 -> clear
     1:1:boolean contains(java.lang.Object):807:807 -> contains
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():797:797 -> iterator
     1:1:int size():802:802 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$EntryIterator -> com.android.tools.r8.internal.NC:
+com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$EntryIterator -> com.android.tools.r8.internal.SC:
     com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$MapEntry entry -> h
     com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap this$0 -> i
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap):600:600 -> <init>
@@ -75879,13 +76010,13 @@
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$EntryIterator.next():605:605 -> next
     1:1:java.lang.Object next():600 -> next
     1:2:void remove():610:611 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$KeyIterator -> com.android.tools.r8.internal.OC:
+com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$KeyIterator -> com.android.tools.r8.internal.TC:
     com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap this$0 -> h
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap):721:722 -> <init>
     1:1:long nextLong():727:727 -> a
     1:1:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$KeyIterator.next():733:733 -> next
     1:1:java.lang.Object next():720 -> next
-com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$KeySet -> com.android.tools.r8.internal.PC:
+com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$KeySet -> com.android.tools.r8.internal.UC:
     com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap):737:737 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$1):737:737 -> <init>
@@ -75893,7 +76024,7 @@
     1:1:boolean contains(long):750:750 -> b
     1:1:void clear():762:762 -> clear
     1:1:int size():745:745 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$MapEntry -> com.android.tools.r8.internal.QC:
+com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$MapEntry -> com.android.tools.r8.internal.VC:
     com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap this$0 -> c
     int index -> b
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap,int):430:431 -> <init>
@@ -75904,7 +76035,7 @@
     1:1:int hashCode():476:476 -> hashCode
     1:2:java.lang.Object setValue(java.lang.Object):449:450 -> setValue
     1:1:java.lang.String toString():481:481 -> toString
-com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.RC:
+com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.WC:
     com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap):625:625 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$1):625:625 -> <init>
@@ -75913,7 +76044,7 @@
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():627:627 -> iterator
     1:29:boolean remove(java.lang.Object):659:687 -> remove
     1:1:int size():696:696 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$MapIterator -> com.android.tools.r8.internal.SC:
+com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$MapIterator -> com.android.tools.r8.internal.XC:
     com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap this$0 -> g
     boolean mustReturnNullKey -> e
     com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongArrayList wrapped -> f
@@ -75932,11 +76063,11 @@
     15:24:void remove():580 -> remove
     25:26:void remove():583:584 -> remove
     27:27:void remove():576:576 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$ValueIterator -> com.android.tools.r8.internal.TC:
+com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$ValueIterator -> com.android.tools.r8.internal.YC:
     com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap this$0 -> h
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap):782:783 -> <init>
     1:1:java.lang.Object next():788:788 -> next
-com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongArrayList -> com.android.tools.r8.internal.WC:
+com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongArrayList -> com.android.tools.r8.internal.bD:
     long[] a -> b
     int size -> c
     1:3:void <init>(int):81:83 -> <init>
@@ -76024,7 +76155,7 @@
     1:2:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator listIterator(int):493:494 -> k
     1:6:boolean removeAll(java.util.Collection):482:487 -> removeAll
     1:1:int size():327:327 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongArrayList$1 -> com.android.tools.r8.internal.VC:
+com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongArrayList$1 -> com.android.tools.r8.internal.aD:
     com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongArrayList this$0 -> d
     int pos -> b
     int last -> c
@@ -76038,18 +76169,18 @@
     1:1:int nextIndex():516:516 -> nextIndex
     1:1:int previousIndex():520:520 -> previousIndex
     1:10:void remove():534:534 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongBidirectionalIterator -> com.android.tools.r8.internal.XC:
+com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongBidirectionalIterator -> com.android.tools.r8.internal.cD:
     long previousLong() -> b
-com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongCollection -> com.android.tools.r8.internal.YC:
-com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongIterator -> com.android.tools.r8.internal.aD:
+com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongCollection -> com.android.tools.r8.internal.dD:
+com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongIterator -> com.android.tools.r8.internal.fD:
     long nextLong() -> a
-com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongList -> com.android.tools.r8.internal.bD:
+com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongList -> com.android.tools.r8.internal.gD:
     void add(int,long) -> a
     void removeElements(int,int) -> a
     long getLong(int) -> b
     long set(int,long) -> b
     long removeLong(int) -> e
-com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongSet -> com.android.tools.r8.internal.hD:
+com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongSet -> com.android.tools.r8.internal.mD:
 com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanMap -> com.android.tools.r8.internal.I0:
     1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanFunction.<init>():44:44 -> <init>
     1:1:void <init>():45 -> <init>
@@ -76392,13 +76523,13 @@
     50:50:void ensureIndex(int):48:48 -> i
     51:51:void ensureIndex(int):47:47 -> i
     52:52:void ensureIndex(int):0:0 -> i
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":105,"2":106,"3":107,"4":108,"5":109,"6":110}}
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":100,"2":101,"3":102,"4":103,"5":104,"6":105}}
+    100:100:void ensureIndex(int):47:47 -> i
+    101:101:void ensureIndex(int):47:47 -> i
+    102:102:void ensureIndex(int):47:47 -> i
+    103:103:void ensureIndex(int):47:47 -> i
+    104:104:void ensureIndex(int):47:47 -> i
     105:105:void ensureIndex(int):47:47 -> i
-    106:106:void ensureIndex(int):47:47 -> i
-    107:107:void ensureIndex(int):47:47 -> i
-    108:108:void ensureIndex(int):47:47 -> i
-    109:109:void ensureIndex(int):47:47 -> i
-    110:110:void ensureIndex(int):47:47 -> i
     99:99:void ensureIndex(int):47:47 -> i
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList.listIterator():193:193 -> indexOf
     1:1:int indexOf(java.lang.Object):280 -> indexOf
@@ -76420,13 +76551,13 @@
     65:65:void ensureRestrictedIndex(int):63:63 -> j
     66:66:void ensureRestrictedIndex(int):62:62 -> j
     67:67:void ensureRestrictedIndex(int):0:0 -> j
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":135,"2":136,"3":137,"4":138,"5":139,"6":140}}
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":130,"2":131,"3":132,"4":133,"5":134,"6":135}}
+    130:130:void ensureRestrictedIndex(int):62:62 -> j
+    131:131:void ensureRestrictedIndex(int):62:62 -> j
+    132:132:void ensureRestrictedIndex(int):62:62 -> j
+    133:133:void ensureRestrictedIndex(int):62:62 -> j
+    134:134:void ensureRestrictedIndex(int):62:62 -> j
     135:135:void ensureRestrictedIndex(int):62:62 -> j
-    136:136:void ensureRestrictedIndex(int):62:62 -> j
-    137:137:void ensureRestrictedIndex(int):62:62 -> j
-    138:138:void ensureRestrictedIndex(int):62:62 -> j
-    139:139:void ensureRestrictedIndex(int):62:62 -> j
-    140:140:void ensureRestrictedIndex(int):62:62 -> j
     129:129:void ensureRestrictedIndex(int):62:62 -> j
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator listIterator(int) -> k
     1:5:int lastIndexOf(java.lang.Object):291:295 -> lastIndexOf
@@ -76679,13 +76810,13 @@
     50:50:void ensureIndex(int):48:48 -> i
     51:51:void ensureIndex(int):47:47 -> i
     52:52:void ensureIndex(int):0:0 -> i
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":105,"2":106,"3":107,"4":108,"5":109,"6":110}}
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":100,"2":101,"3":102,"4":103,"5":104,"6":105}}
+    100:100:void ensureIndex(int):47:47 -> i
+    101:101:void ensureIndex(int):47:47 -> i
+    102:102:void ensureIndex(int):47:47 -> i
+    103:103:void ensureIndex(int):47:47 -> i
+    104:104:void ensureIndex(int):47:47 -> i
     105:105:void ensureIndex(int):47:47 -> i
-    106:106:void ensureIndex(int):47:47 -> i
-    107:107:void ensureIndex(int):47:47 -> i
-    108:108:void ensureIndex(int):47:47 -> i
-    109:109:void ensureIndex(int):47:47 -> i
-    110:110:void ensureIndex(int):47:47 -> i
     99:99:void ensureIndex(int):47:47 -> i
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList.listIterator():193:193 -> indexOf
     1:1:int indexOf(java.lang.Object):280 -> indexOf
@@ -76707,13 +76838,13 @@
     65:65:void ensureRestrictedIndex(int):63:63 -> j
     66:66:void ensureRestrictedIndex(int):62:62 -> j
     67:67:void ensureRestrictedIndex(int):0:0 -> j
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":135,"2":136,"3":137,"4":138,"5":139,"6":140}}
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":130,"2":131,"3":132,"4":133,"5":134,"6":135}}
+    130:130:void ensureRestrictedIndex(int):62:62 -> j
+    131:131:void ensureRestrictedIndex(int):62:62 -> j
+    132:132:void ensureRestrictedIndex(int):62:62 -> j
+    133:133:void ensureRestrictedIndex(int):62:62 -> j
+    134:134:void ensureRestrictedIndex(int):62:62 -> j
     135:135:void ensureRestrictedIndex(int):62:62 -> j
-    136:136:void ensureRestrictedIndex(int):62:62 -> j
-    137:137:void ensureRestrictedIndex(int):62:62 -> j
-    138:138:void ensureRestrictedIndex(int):62:62 -> j
-    139:139:void ensureRestrictedIndex(int):62:62 -> j
-    140:140:void ensureRestrictedIndex(int):62:62 -> j
     129:129:void ensureRestrictedIndex(int):62:62 -> j
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator listIterator(int) -> k
     1:5:int lastIndexOf(java.lang.Object):291:295 -> lastIndexOf
@@ -76777,7 +76908,7 @@
     1:7:int hashCode():57:63 -> hashCode
 com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceSortedSet -> com.android.tools.r8.internal.n1:
     1:1:void <init>():23:23 -> <init>
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap -> com.android.tools.r8.internal.mI:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap -> com.android.tools.r8.internal.rI:
     java.lang.Object[] key -> b
     boolean[] value -> c
     int size -> d
@@ -76805,8 +76936,8 @@
     1:1:int size():252:252 -> size
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap.values():326:326 -> values
     1:1:java.util.Collection values():37 -> values
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap$1 -> com.android.tools.r8.internal.jI:
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap$EntrySet -> com.android.tools.r8.internal.lI:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap$1 -> com.android.tools.r8.internal.oI:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap$EntrySet -> com.android.tools.r8.internal.qI:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap):133:133 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap$1):133:133 -> <init>
@@ -76816,7 +76947,7 @@
     2:2:java.util.Iterator iterator():133 -> iterator
     1:12:boolean remove(java.lang.Object):213:224 -> remove
     1:1:int size():197:197 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap$EntrySet$1 -> com.android.tools.r8.internal.kI:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap$EntrySet$1 -> com.android.tools.r8.internal.pI:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap$EntrySet this$1 -> d
     int curr -> b
     int next -> c
@@ -76825,7 +76956,7 @@
     1:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap$EntrySet$1.next():147:147 -> next
     1:3:java.lang.Object next():136 -> next
     1:7:void remove():153:153 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap -> com.android.tools.r8.internal.qI:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap -> com.android.tools.r8.internal.vI:
     java.lang.Object[] key -> c
     int[] value -> d
     int size -> e
@@ -76856,8 +76987,8 @@
     1:1:int size():252:252 -> size
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap.values():326:326 -> values
     1:1:java.util.Collection values():37 -> values
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap$1 -> com.android.tools.r8.internal.nI:
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap$EntrySet -> com.android.tools.r8.internal.pI:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap$1 -> com.android.tools.r8.internal.sI:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap$EntrySet -> com.android.tools.r8.internal.uI:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap):133:133 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap$1):133:133 -> <init>
@@ -76867,7 +76998,7 @@
     2:2:java.util.Iterator iterator():133 -> iterator
     1:12:boolean remove(java.lang.Object):213:224 -> remove
     1:1:int size():197:197 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap$EntrySet$1 -> com.android.tools.r8.internal.oI:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap$EntrySet$1 -> com.android.tools.r8.internal.tI:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap$EntrySet this$1 -> d
     int curr -> b
     int next -> c
@@ -76876,10 +77007,10 @@
     1:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap$EntrySet$1.next():147:147 -> next
     1:3:java.lang.Object next():136 -> next
     1:7:void remove():153:153 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntFunction -> com.android.tools.r8.internal.rI:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntFunction -> com.android.tools.r8.internal.wI:
     int getInt(java.lang.Object) -> a
     int put(java.lang.Object,int) -> a
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap -> com.android.tools.r8.internal.AI:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap -> com.android.tools.r8.internal.FI:
     int size -> l
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection values -> o
     java.lang.Object[] key -> c
@@ -76952,14 +77083,14 @@
     1:1:java.util.SortedMap tailMap(java.lang.Object):87 -> tailMap
     1:22:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.values():1596:1617 -> values
     1:22:java.util.Collection values():87 -> values
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$1 -> com.android.tools.r8.internal.sI:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$1 -> com.android.tools.r8.internal.xI:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap):1596:1596 -> <init>
     1:1:void clear():1614:1614 -> clear
     1:1:boolean contains(int):1609:1609 -> f
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():1599:1599 -> iterator
     1:1:int size():1604:1604 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$EntryIterator -> com.android.tools.r8.internal.tI:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$EntryIterator -> com.android.tools.r8.internal.yI:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapEntry entry -> g
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap this$0 -> h
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap):1222:1222 -> <init>
@@ -76974,14 +77105,14 @@
     1:1:void set(java.lang.Object):1219:1219 -> set
     2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapIterator.set(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap$Entry):1211:1211 -> set
     2:2:void set(java.lang.Object):1219 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$KeyIterator -> com.android.tools.r8.internal.uI:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$KeyIterator -> com.android.tools.r8.internal.zI:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap this$0 -> g
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap):1455:1456 -> <init>
     1:1:void add(java.lang.Object):1452:1452 -> add
     1:1:java.lang.Object next():1461:1461 -> next
     1:1:java.lang.Object previous():1442:1442 -> previous
     1:1:void set(java.lang.Object):1447:1447 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$KeySet -> com.android.tools.r8.internal.vI:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$KeySet -> com.android.tools.r8.internal.AI:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap):1465:1465 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$1):1465:1465 -> <init>
@@ -77003,7 +77134,7 @@
     1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1465 -> subSet
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$KeySet.tailSet(java.lang.Object):1515:1515 -> tailSet
     1:1:java.util.SortedSet tailSet(java.lang.Object):1465 -> tailSet
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapEntry -> com.android.tools.r8.internal.wI:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapEntry -> com.android.tools.r8.internal.BI:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap this$0 -> c
     int index -> b
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap,int):824:825 -> <init>
@@ -77022,7 +77153,7 @@
     5:5:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapEntry.setValue(java.lang.Integer):869:869 -> setValue
     5:5:java.lang.Object setValue(java.lang.Object):819 -> setValue
     1:1:java.lang.String toString():887:887 -> toString
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.xI:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.CI:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap):1269:1269 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$1):1269:1269 -> <init>
@@ -77044,7 +77175,7 @@
     1:1:java.util.SortedSet tailSet(java.lang.Object):1269:1269 -> tailSet
     2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapEntrySet.tailSet(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap$Entry):1291:1291 -> tailSet
     2:2:java.util.SortedSet tailSet(java.lang.Object):1269 -> tailSet
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapIterator -> com.android.tools.r8.internal.yI:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapIterator -> com.android.tools.r8.internal.DI:
     int curr -> d
     int index -> e
     int prev -> b
@@ -77062,7 +77193,7 @@
     1:2:int previousIndex():1122:1123 -> previousIndex
     1:47:void remove():1145:1191 -> remove
     48:48:void remove():1146:1146 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$ValueIterator -> com.android.tools.r8.internal.zI:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$ValueIterator -> com.android.tools.r8.internal.EI:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap this$0 -> g
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap):1578:1579 -> <init>
     1:1:void add(java.lang.Object):1544:1544 -> add
@@ -77077,11 +77208,11 @@
     1:1:void set(java.lang.Object):1544:1544 -> set
     2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$ValueIterator.set(java.lang.Integer):1559:1559 -> set
     2:2:void set(java.lang.Object):1544 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap -> com.android.tools.r8.internal.DI:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap -> com.android.tools.r8.internal.II:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet object2IntEntrySet() -> j
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap$Entry -> com.android.tools.r8.internal.BI:
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap$FastEntrySet -> com.android.tools.r8.internal.CI:
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap -> com.android.tools.r8.internal.MI:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap$Entry -> com.android.tools.r8.internal.GI:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap$FastEntrySet -> com.android.tools.r8.internal.HI:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap -> com.android.tools.r8.internal.RI:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet keys -> k
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection values -> l
     java.lang.Object[] key -> c
@@ -77143,14 +77274,14 @@
     1:1:int size():429:429 -> size
     1:22:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap.values():848:869 -> values
     1:22:java.util.Collection values():49 -> values
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$1 -> com.android.tools.r8.internal.EI:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$1 -> com.android.tools.r8.internal.JI:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap):848:848 -> <init>
     1:1:void clear():866:866 -> clear
     1:1:boolean contains(int):861:861 -> f
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():851:851 -> iterator
     1:1:int size():856:856 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$EntryIterator -> com.android.tools.r8.internal.FI:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$EntryIterator -> com.android.tools.r8.internal.KI:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$MapEntry entry -> h
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap this$0 -> i
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap):654:654 -> <init>
@@ -77158,11 +77289,11 @@
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$EntryIterator.next():659:659 -> next
     1:1:java.lang.Object next():654 -> next
     1:2:void remove():664:665 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$KeyIterator -> com.android.tools.r8.internal.GI:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$KeyIterator -> com.android.tools.r8.internal.LI:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap this$0 -> h
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap):775:776 -> <init>
     1:1:java.lang.Object next():781:781 -> next
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$KeySet -> com.android.tools.r8.internal.HI:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$KeySet -> com.android.tools.r8.internal.MI:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap):785:785 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$1):785:785 -> <init>
@@ -77171,7 +77302,7 @@
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():788:788 -> iterator
     1:3:boolean remove(java.lang.Object):803:805 -> remove
     1:1:int size():793:793 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$MapEntry -> com.android.tools.r8.internal.II:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$MapEntry -> com.android.tools.r8.internal.NI:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap this$0 -> c
     int index -> b
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap,int):473:474 -> <init>
@@ -77190,7 +77321,7 @@
     5:5:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$MapEntry.setValue(java.lang.Integer):518:518 -> setValue
     5:5:java.lang.Object setValue(java.lang.Object):468 -> setValue
     1:1:java.lang.String toString():536:536 -> toString
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.JI:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.OI:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap):679:679 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$1):679:679 -> <init>
@@ -77199,7 +77330,7 @@
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():681:681 -> iterator
     1:29:boolean remove(java.lang.Object):713:741 -> remove
     1:1:int size():750:750 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$MapIterator -> com.android.tools.r8.internal.KI:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$MapIterator -> com.android.tools.r8.internal.PI:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArrayList wrapped -> f
     boolean mustReturnNullKey -> e
     int c -> d
@@ -77218,16 +77349,16 @@
     14:23:void remove():634 -> remove
     24:25:void remove():637:638 -> remove
     26:26:void remove():630:630 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$ValueIterator -> com.android.tools.r8.internal.LI:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$ValueIterator -> com.android.tools.r8.internal.QI:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap this$0 -> h
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap):830:831 -> <init>
     1:1:int nextInt():836:836 -> j
     1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$ValueIterator.next():842:842 -> next
     1:1:java.lang.Object next():829 -> next
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntSortedMap$FastSortedEntrySet -> com.android.tools.r8.internal.NI:
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongMap$Entry -> com.android.tools.r8.internal.OI:
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongMap$FastEntrySet -> com.android.tools.r8.internal.PI:
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap -> com.android.tools.r8.internal.YI:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntSortedMap$FastSortedEntrySet -> com.android.tools.r8.internal.SI:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongMap$Entry -> com.android.tools.r8.internal.TI:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongMap$FastEntrySet -> com.android.tools.r8.internal.UI:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap -> com.android.tools.r8.internal.dJ:
     long[] value -> c
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet keys -> j
     java.lang.Object[] key -> b
@@ -77287,7 +77418,7 @@
     1:1:int size():429:429 -> size
     1:22:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.values():848:869 -> values
     1:22:java.util.Collection values():49 -> values
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$1 -> com.android.tools.r8.internal.QI:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$1 -> com.android.tools.r8.internal.VI:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap):848:848 -> <init>
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongIterator iterator():851:851 -> a
@@ -77297,7 +77428,7 @@
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     1:1:void clear():866:866 -> clear
     1:1:int size():856:856 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$EntryIterator -> com.android.tools.r8.internal.RI:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$EntryIterator -> com.android.tools.r8.internal.WI:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap this$0 -> i
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$MapEntry entry -> h
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap):654:654 -> <init>
@@ -77305,11 +77436,11 @@
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$EntryIterator.next():659:659 -> next
     1:1:java.lang.Object next():654 -> next
     1:2:void remove():664:665 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$KeyIterator -> com.android.tools.r8.internal.SI:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$KeyIterator -> com.android.tools.r8.internal.XI:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap this$0 -> h
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap):775:776 -> <init>
     1:1:java.lang.Object next():781:781 -> next
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$KeySet -> com.android.tools.r8.internal.TI:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$KeySet -> com.android.tools.r8.internal.YI:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap):785:785 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$1):785:785 -> <init>
@@ -77318,7 +77449,7 @@
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():788:788 -> iterator
     1:3:boolean remove(java.lang.Object):803:805 -> remove
     1:1:int size():793:793 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$MapEntry -> com.android.tools.r8.internal.UI:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$MapEntry -> com.android.tools.r8.internal.ZI:
     int index -> b
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap this$0 -> c
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap,int):473:474 -> <init>
@@ -77337,7 +77468,7 @@
     5:5:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$MapEntry.setValue(java.lang.Long):518:518 -> setValue
     5:5:java.lang.Object setValue(java.lang.Object):468 -> setValue
     1:1:java.lang.String toString():536:536 -> toString
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.VI:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.aJ:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap):679:679 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$1):679:679 -> <init>
@@ -77346,7 +77477,7 @@
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():681:681 -> iterator
     1:29:boolean remove(java.lang.Object):713:741 -> remove
     1:1:int size():750:750 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$MapIterator -> com.android.tools.r8.internal.WI:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$MapIterator -> com.android.tools.r8.internal.bJ:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArrayList wrapped -> f
     boolean mustReturnNullKey -> e
     int c -> d
@@ -77365,13 +77496,13 @@
     14:23:void remove():634 -> remove
     24:25:void remove():637:638 -> remove
     26:26:void remove():630:630 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$ValueIterator -> com.android.tools.r8.internal.XI:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$ValueIterator -> com.android.tools.r8.internal.cJ:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap this$0 -> h
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap):830:831 -> <init>
     1:1:long nextLong():836:836 -> a
     1:1:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$ValueIterator.next():842:842 -> next
     1:1:java.lang.Object next():829 -> next
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap -> com.android.tools.r8.internal.hJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap -> com.android.tools.r8.internal.mJ:
     java.lang.Object[] key -> b
     int size -> l
     java.lang.Object[] value -> c
@@ -77444,14 +77575,14 @@
     1:1:java.util.SortedMap tailMap(java.lang.Object):85 -> tailMap
     1:22:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.values():1529:1550 -> values
     1:22:java.util.Collection values():85 -> values
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$1 -> com.android.tools.r8.internal.ZI:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$1 -> com.android.tools.r8.internal.eJ:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap):1529:1529 -> <init>
     1:1:void clear():1547:1547 -> clear
     1:1:boolean contains(java.lang.Object):1542:1542 -> contains
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():1532:1532 -> iterator
     1:1:int size():1537:1537 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$EntryIterator -> com.android.tools.r8.internal.aJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$EntryIterator -> com.android.tools.r8.internal.fJ:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$MapEntry entry -> g
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap this$0 -> h
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap):1181:1181 -> <init>
@@ -77466,14 +77597,14 @@
     1:1:void set(java.lang.Object):1178:1178 -> set
     2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$MapIterator.set(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):1170:1170 -> set
     2:2:void set(java.lang.Object):1178 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$KeyIterator -> com.android.tools.r8.internal.bJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$KeyIterator -> com.android.tools.r8.internal.gJ:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap this$0 -> g
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap):1412:1413 -> <init>
     1:1:void add(java.lang.Object):1409:1409 -> add
     1:1:java.lang.Object next():1418:1418 -> next
     1:1:java.lang.Object previous():1399:1399 -> previous
     1:1:void set(java.lang.Object):1404:1404 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$KeySet -> com.android.tools.r8.internal.cJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$KeySet -> com.android.tools.r8.internal.hJ:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap):1422:1422 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$1):1422:1422 -> <init>
@@ -77495,7 +77626,7 @@
     1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1422 -> subSet
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$KeySet.tailSet(java.lang.Object):1472:1472 -> tailSet
     1:1:java.util.SortedSet tailSet(java.lang.Object):1422 -> tailSet
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$MapEntry -> com.android.tools.r8.internal.dJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$MapEntry -> com.android.tools.r8.internal.iJ:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap this$0 -> c
     int index -> b
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap,int):805:806 -> <init>
@@ -77505,7 +77636,7 @@
     1:1:int hashCode():839:839 -> hashCode
     1:2:java.lang.Object setValue(java.lang.Object):824:825 -> setValue
     1:1:java.lang.String toString():844:844 -> toString
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$MapEntrySet -> com.android.tools.r8.internal.eJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$MapEntrySet -> com.android.tools.r8.internal.jJ:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap):1228:1228 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$1):1228:1228 -> <init>
@@ -77527,7 +77658,7 @@
     1:1:java.util.SortedSet tailSet(java.lang.Object):1228:1228 -> tailSet
     2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$MapEntrySet.tailSet(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):1250:1250 -> tailSet
     2:2:java.util.SortedSet tailSet(java.lang.Object):1228 -> tailSet
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$MapIterator -> com.android.tools.r8.internal.fJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$MapIterator -> com.android.tools.r8.internal.kJ:
     int curr -> d
     int index -> e
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap this$0 -> f
@@ -77545,17 +77676,17 @@
     1:2:int previousIndex():1079:1080 -> previousIndex
     1:49:void remove():1102:1150 -> remove
     50:50:void remove():1103:1103 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$ValueIterator -> com.android.tools.r8.internal.gJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$ValueIterator -> com.android.tools.r8.internal.lJ:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap this$0 -> g
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap):1517:1518 -> <init>
     1:1:void add(java.lang.Object):1514:1514 -> add
     1:1:java.lang.Object next():1523:1523 -> next
     1:1:java.lang.Object previous():1504:1504 -> previous
     1:1:void set(java.lang.Object):1509:1509 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap -> com.android.tools.r8.internal.jJ:
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry -> com.android.tools.r8.internal.iJ:
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectSortedMap$FastSortedEntrySet -> com.android.tools.r8.internal.kJ:
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap -> com.android.tools.r8.internal.tJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap -> com.android.tools.r8.internal.oJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry -> com.android.tools.r8.internal.nJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectSortedMap$FastSortedEntrySet -> com.android.tools.r8.internal.pJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap -> com.android.tools.r8.internal.yJ:
     java.lang.Object[] value -> d
     int size -> l
     java.lang.Object[] key -> c
@@ -77630,14 +77761,14 @@
     1:1:java.util.SortedMap tailMap(java.lang.Object):85 -> tailMap
     1:22:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.values():1498:1519 -> values
     1:22:java.util.Collection values():85 -> values
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$1 -> com.android.tools.r8.internal.lJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$1 -> com.android.tools.r8.internal.qJ:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap):1498:1498 -> <init>
     1:1:void clear():1516:1516 -> clear
     1:1:boolean contains(java.lang.Object):1511:1511 -> contains
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():1501:1501 -> iterator
     1:1:int size():1506:1506 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$EntryIterator -> com.android.tools.r8.internal.mJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$EntryIterator -> com.android.tools.r8.internal.rJ:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$MapEntry entry -> g
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap this$0 -> h
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap):1150:1150 -> <init>
@@ -77652,14 +77783,14 @@
     1:1:void set(java.lang.Object):1147:1147 -> set
     2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$MapIterator.set(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry):1139:1139 -> set
     2:2:void set(java.lang.Object):1147 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$KeyIterator -> com.android.tools.r8.internal.nJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$KeyIterator -> com.android.tools.r8.internal.sJ:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap this$0 -> g
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap):1381:1382 -> <init>
     1:1:void add(java.lang.Object):1378:1378 -> add
     1:1:java.lang.Object next():1387:1387 -> next
     1:1:java.lang.Object previous():1368:1368 -> previous
     1:1:void set(java.lang.Object):1373:1373 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$KeySet -> com.android.tools.r8.internal.oJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$KeySet -> com.android.tools.r8.internal.tJ:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap):1391:1391 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$1):1391:1391 -> <init>
@@ -77681,7 +77812,7 @@
     1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1391 -> subSet
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$KeySet.tailSet(java.lang.Object):1441:1441 -> tailSet
     1:1:java.util.SortedSet tailSet(java.lang.Object):1391 -> tailSet
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$MapEntry -> com.android.tools.r8.internal.pJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$MapEntry -> com.android.tools.r8.internal.uJ:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap this$0 -> c
     int index -> b
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap,int):774:775 -> <init>
@@ -77691,7 +77822,7 @@
     1:1:int hashCode():808:808 -> hashCode
     1:2:java.lang.Object setValue(java.lang.Object):793:794 -> setValue
     1:1:java.lang.String toString():813:813 -> toString
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.qJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.vJ:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap):1197:1197 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$1):1197:1197 -> <init>
@@ -77713,7 +77844,7 @@
     1:1:java.util.SortedSet tailSet(java.lang.Object):1197:1197 -> tailSet
     2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$MapEntrySet.tailSet(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry):1219:1219 -> tailSet
     2:2:java.util.SortedSet tailSet(java.lang.Object):1197 -> tailSet
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$MapIterator -> com.android.tools.r8.internal.rJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$MapIterator -> com.android.tools.r8.internal.wJ:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap this$0 -> f
     int curr -> d
     int index -> e
@@ -77731,16 +77862,16 @@
     1:2:int previousIndex():1048:1049 -> previousIndex
     1:49:void remove():1071:1119 -> remove
     50:50:void remove():1072:1072 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$ValueIterator -> com.android.tools.r8.internal.sJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$ValueIterator -> com.android.tools.r8.internal.xJ:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap this$0 -> g
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap):1486:1487 -> <init>
     1:1:void add(java.lang.Object):1483:1483 -> add
     1:1:java.lang.Object next():1492:1492 -> next
     1:1:java.lang.Object previous():1473:1473 -> previous
     1:1:void set(java.lang.Object):1478:1478 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap -> com.android.tools.r8.internal.vJ:
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry -> com.android.tools.r8.internal.uJ:
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap -> com.android.tools.r8.internal.NJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap -> com.android.tools.r8.internal.AJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry -> com.android.tools.r8.internal.zJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap -> com.android.tools.r8.internal.SJ:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values -> i
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry[] nodePath -> l
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet entries -> g
@@ -77851,7 +77982,7 @@
     1:1:int size():939:939 -> size
     1:22:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.values():1311:1332 -> values
     1:22:java.util.Collection values():43 -> values
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$1 -> com.android.tools.r8.internal.xJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$1 -> com.android.tools.r8.internal.CJ:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap this$0 -> c
     java.util.Comparator comparator -> b
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap):1116:1117 -> <init>
@@ -77874,20 +78005,20 @@
     1:1:java.util.SortedSet tailSet(java.lang.Object):1116:1116 -> tailSet
     2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$1.tailSet(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry):1189:1189 -> tailSet
     2:2:java.util.SortedSet tailSet(java.lang.Object):1116 -> tailSet
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$1$1 -> com.android.tools.r8.internal.wJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$1$1 -> com.android.tools.r8.internal.BJ:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$1 this$1 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$1):1117:1117 -> <init>
     1:1:int compare(java.lang.Object,java.lang.Object):1117:1117 -> compare
     2:2:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$1$1.compare(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry):1119:1119 -> compare
     2:2:int compare(java.lang.Object,java.lang.Object):1117 -> compare
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$2 -> com.android.tools.r8.internal.yJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$2 -> com.android.tools.r8.internal.DJ:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap):1311:1311 -> <init>
     1:1:void clear():1329:1329 -> clear
     1:1:boolean contains(java.lang.Object):1319:1319 -> contains
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():1314:1314 -> iterator
     1:1:int size():1324:1324 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry -> com.android.tools.r8.internal.zJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry -> com.android.tools.r8.internal.EJ:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry left -> d
     int info -> f
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry right -> e
@@ -77908,7 +78039,7 @@
     1:1:int hashCode():906:906 -> hashCode
     1:2:java.lang.Object setValue(java.lang.Object):876:877 -> setValue
     1:1:java.lang.String toString():911:911 -> toString
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$EntryIterator -> com.android.tools.r8.internal.AJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$EntryIterator -> com.android.tools.r8.internal.FJ:
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap):1086:1086 -> <init>
     1:1:void add(java.lang.Object):1085:1085 -> add
     2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$EntryIterator.add(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry):1110:1110 -> add
@@ -77920,18 +78051,18 @@
     1:1:void set(java.lang.Object):1085:1085 -> set
     2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$EntryIterator.set(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry):1105:1105 -> set
     2:2:void set(java.lang.Object):1085 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$KeyIterator -> com.android.tools.r8.internal.BJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$KeyIterator -> com.android.tools.r8.internal.GJ:
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap):1206:1206 -> <init>
     1:1:void add(java.lang.Object):1230:1230 -> add
     1:1:java.lang.Object next():1215:1215 -> next
     1:1:java.lang.Object previous():1220:1220 -> previous
     1:1:void set(java.lang.Object):1225:1225 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$KeySet -> com.android.tools.r8.internal.CJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$KeySet -> com.android.tools.r8.internal.HJ:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap this$0 -> c
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap):1237:1237 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$1):1237:1237 -> <init>
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator iterator():1239:1239 -> iterator
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap -> com.android.tools.r8.internal.KJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap -> com.android.tools.r8.internal.PJ:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap this$0 -> j
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values -> i
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet entries -> g
@@ -78029,7 +78160,7 @@
     1:5:int size():1591:1595 -> size
     1:18:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap.values():1527:1544 -> values
     1:18:java.util.Collection values():1366 -> values
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$1 -> com.android.tools.r8.internal.DJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$1 -> com.android.tools.r8.internal.IJ:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap this$1 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap):1428:1428 -> <init>
     1:1:void clear():1478:1478 -> clear
@@ -78062,19 +78193,19 @@
     1:1:java.util.SortedSet tailSet(java.lang.Object):1428:1428 -> tailSet
     2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$1.tailSet(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry):1503:1503 -> tailSet
     2:2:java.util.SortedSet tailSet(java.lang.Object):1428 -> tailSet
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$2 -> com.android.tools.r8.internal.EJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$2 -> com.android.tools.r8.internal.JJ:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap this$1 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap):1527:1527 -> <init>
     1:1:void clear():1541:1541 -> clear
     1:1:boolean contains(java.lang.Object):1533:1533 -> contains
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():1529:1529 -> iterator
     1:1:int size():1537:1537 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$KeySet -> com.android.tools.r8.internal.FJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$KeySet -> com.android.tools.r8.internal.KJ:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap this$1 -> c
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap):1509:1509 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$1):1509:1509 -> <init>
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator iterator():1511:1511 -> iterator
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapEntryIterator -> com.android.tools.r8.internal.GJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapEntryIterator -> com.android.tools.r8.internal.LJ:
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap):1734:1734 -> <init>
     1:1:void add(java.lang.Object):1733:1733 -> add
     2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapEntryIterator.add(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry):1758:1758 -> add
@@ -78086,7 +78217,7 @@
     1:1:void set(java.lang.Object):1733:1733 -> set
     2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapEntryIterator.set(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry):1753:1753 -> set
     2:2:void set(java.lang.Object):1733 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapIterator -> com.android.tools.r8.internal.HJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapIterator -> com.android.tools.r8.internal.MJ:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap this$1 -> g
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap):1703:1704 -> <init>
     1:1:void updateNext():1728:1728 -> n
@@ -78101,20 +78232,20 @@
     3:3:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.compare(java.lang.Object,java.lang.Object):220:220 -> o
     3:3:void updatePrevious():1724 -> o
     4:4:void updatePrevious():1724:1724 -> o
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapKeyIterator -> com.android.tools.r8.internal.IJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapKeyIterator -> com.android.tools.r8.internal.NJ:
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap):1774:1774 -> <init>
     1:1:void add(java.lang.Object):1798:1798 -> add
     1:1:java.lang.Object next():1783:1783 -> next
     1:1:java.lang.Object previous():1788:1788 -> previous
     1:1:void set(java.lang.Object):1793:1793 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapValueIterator -> com.android.tools.r8.internal.JJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapValueIterator -> com.android.tools.r8.internal.OJ:
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap):1812:1812 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$1):1812:1812 -> <init>
     1:1:void add(java.lang.Object):1830:1830 -> add
     1:1:java.lang.Object next():1815:1815 -> next
     1:1:java.lang.Object previous():1820:1820 -> previous
     1:1:void set(java.lang.Object):1825:1825 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$TreeIterator -> com.android.tools.r8.internal.LJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$TreeIterator -> com.android.tools.r8.internal.QJ:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap this$0 -> f
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry prev -> b
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry curr -> d
@@ -78135,15 +78266,15 @@
     1:1:void updatePrevious():1031:1031 -> o
     1:1:int previousIndex():1047:1047 -> previousIndex
     1:12:void remove():1051:1051 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$ValueIterator -> com.android.tools.r8.internal.MJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$ValueIterator -> com.android.tools.r8.internal.RJ:
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap):1275:1275 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$1):1275:1275 -> <init>
     1:1:void add(java.lang.Object):1293:1293 -> add
     1:1:java.lang.Object next():1278:1278 -> next
     1:1:java.lang.Object previous():1283:1283 -> previous
     1:1:void set(java.lang.Object):1288:1288 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap$FastSortedEntrySet -> com.android.tools.r8.internal.OJ:
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArrayList -> com.android.tools.r8.internal.VJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap$FastSortedEntrySet -> com.android.tools.r8.internal.TJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArrayList -> com.android.tools.r8.internal.aK:
     java.lang.Object[] a -> b
     int size -> c
     1:3:void <init>(int):96:98 -> <init>
@@ -78179,10 +78310,10 @@
     644:644:java.lang.Object get(int):317:317 -> get
     321:321:java.lang.Object get(int):317:317 -> get
     322:322:java.lang.Object get(int):0:0 -> get
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":645,"2":646,"3":647}}
-    645:645:java.lang.Object get(int):317:317 -> get
-    646:646:java.lang.Object get(int):317:317 -> get
-    647:647:java.lang.Object get(int):317:317 -> get
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":640,"2":641,"3":642}}
+    640:640:java.lang.Object get(int):317:317 -> get
+    641:641:java.lang.Object get(int):317:317 -> get
+    642:642:java.lang.Object get(int):317:317 -> get
     639:639:java.lang.Object get(int):317:317 -> get
     1:2:int indexOf(java.lang.Object):323:324 -> indexOf
     1:1:boolean isEmpty():385:385 -> isEmpty
@@ -78215,13 +78346,13 @@
     725:725:java.lang.Object set(int,java.lang.Object):357:357 -> set
     362:362:java.lang.Object set(int,java.lang.Object):357:357 -> set
     363:363:java.lang.Object set(int,java.lang.Object):0:0 -> set
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":726,"2":727,"3":728}}
-    726:726:java.lang.Object set(int,java.lang.Object):357:357 -> set
-    727:727:java.lang.Object set(int,java.lang.Object):357:357 -> set
-    728:728:java.lang.Object set(int,java.lang.Object):357:357 -> set
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":721,"2":722,"3":723}}
+    721:721:java.lang.Object set(int,java.lang.Object):357:357 -> set
+    722:722:java.lang.Object set(int,java.lang.Object):357:357 -> set
+    723:723:java.lang.Object set(int,java.lang.Object):357:357 -> set
     720:720:java.lang.Object set(int,java.lang.Object):357:357 -> set
     1:1:int size():372:372 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArrayList$1 -> com.android.tools.r8.internal.UJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArrayList$1 -> com.android.tools.r8.internal.ZJ:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArrayList this$0 -> d
     int pos -> b
     int last -> c
@@ -78235,7 +78366,7 @@
     1:1:int previousIndex():524:524 -> previousIndex
     1:10:void remove():538:538 -> remove
     1:3:void set(java.lang.Object):533:533 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArraySet -> com.android.tools.r8.internal.XJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArraySet -> com.android.tools.r8.internal.cK:
     java.lang.Object[] a -> b
     int size -> c
     1:4:void <init>(java.lang.Object[],int):104:107 -> <init>
@@ -78248,10 +78379,10 @@
     225:225:void <init>(java.lang.Object[],int):107:107 -> <init>
     112:112:void <init>(java.lang.Object[],int):107:107 -> <init>
     113:113:void <init>(java.lang.Object[],int):0:0 -> <init>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":226,"2":227,"3":228}}
-    226:226:void <init>(java.lang.Object[],int):107:107 -> <init>
-    227:227:void <init>(java.lang.Object[],int):107:107 -> <init>
-    228:228:void <init>(java.lang.Object[],int):107:107 -> <init>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":221,"2":222,"3":223}}
+    221:221:void <init>(java.lang.Object[],int):107:107 -> <init>
+    222:222:void <init>(java.lang.Object[],int):107:107 -> <init>
+    223:223:void <init>(java.lang.Object[],int):107:107 -> <init>
     220:220:void <init>(java.lang.Object[],int):107:107 -> <init>
     1:1:int access$000(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArraySet):29:29 -> a
     1:2:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArraySet.findKey(java.lang.Object):111:112 -> add
@@ -78274,22 +78405,22 @@
     1:2:boolean remove(java.lang.Object):154 -> remove
     3:7:boolean remove(java.lang.Object):156:160 -> remove
     1:1:int size():149:149 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArraySet$1 -> com.android.tools.r8.internal.WJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArraySet$1 -> com.android.tools.r8.internal.bK:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArraySet this$0 -> c
     int next -> b
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArraySet):119:120 -> <init>
     1:1:boolean hasNext():124:124 -> hasNext
     1:3:java.lang.Object next():129:129 -> next
     1:3:void remove():135:137 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArrays -> com.android.tools.r8.internal.YJ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArrays -> com.android.tools.r8.internal.dK:
 # {"id":"sourceFile","fileName":"ObjectArrays.java"}
     java.lang.Object[] EMPTY_ARRAY -> a
     1:1:void <clinit>():88:88 -> <clinit>
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator -> com.android.tools.r8.internal.aK:
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection -> com.android.tools.r8.internal.bK:
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollections -> com.android.tools.r8.internal.eK:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator -> com.android.tools.r8.internal.fK:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection -> com.android.tools.r8.internal.gK:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollections -> com.android.tools.r8.internal.jK:
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection unmodifiable(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection):383:383 -> a
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollections$EmptyCollection -> com.android.tools.r8.internal.cK:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollections$EmptyCollection -> com.android.tools.r8.internal.hK:
     1:1:void <init>():39:39 -> <init>
     1:1:boolean addAll(java.util.Collection):81:81 -> addAll
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():38:38 -> iterator
@@ -78298,7 +78429,7 @@
     1:1:boolean removeAll(java.util.Collection):86:86 -> removeAll
     1:1:boolean retainAll(java.util.Collection):91:91 -> retainAll
     1:1:java.lang.Object[] toArray():49:49 -> toArray
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollections$UnmodifiableCollection -> com.android.tools.r8.internal.dK:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollections$UnmodifiableCollection -> com.android.tools.r8.internal.iK:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection collection -> b
     1:3:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection):276:278 -> <init>
     1:1:boolean add(java.lang.Object):283:283 -> add
@@ -78320,16 +78451,16 @@
     1:1:java.lang.Object[] toArray(java.lang.Object[]):329:329 -> toArray
     2:2:java.lang.Object[] toArray():334:334 -> toArray
     1:1:java.lang.String toString():359:359 -> toString
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator -> com.android.tools.r8.internal.gK:
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterators -> com.android.tools.r8.internal.kK:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator -> com.android.tools.r8.internal.lK:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterators -> com.android.tools.r8.internal.pK:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterators$EmptyIterator EMPTY_ITERATOR -> a
     1:1:void <clinit>():103:103 -> <clinit>
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterators$EmptyIterator -> com.android.tools.r8.internal.hK:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterators$EmptyIterator -> com.android.tools.r8.internal.mK:
     1:1:void <init>():42:42 -> <init>
     1:1:java.lang.Object clone():87:87 -> clone
     1:1:java.lang.Object next():57:57 -> next
     1:1:java.lang.Object previous():62:62 -> previous
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterators$SingletonIterator -> com.android.tools.r8.internal.iK:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterators$SingletonIterator -> com.android.tools.r8.internal.nK:
     java.lang.Object element -> b
     int curr -> c
     1:2:void <init>(java.lang.Object):127:128 -> <init>
@@ -78339,24 +78470,24 @@
     1:1:int nextIndex():157:157 -> nextIndex
     1:4:java.lang.Object previous():150:150 -> previous
     1:1:int previousIndex():162:162 -> previousIndex
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterators$UnmodifiableIterator -> com.android.tools.r8.internal.jK:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterators$UnmodifiableIterator -> com.android.tools.r8.internal.oK:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator i -> b
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator):739:740 -> <init>
     1:1:boolean hasNext():745:745 -> hasNext
     1:1:java.lang.Object next():750:750 -> next
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectList -> com.android.tools.r8.internal.lK:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectList -> com.android.tools.r8.internal.qK:
     void removeElements(int,int) -> a
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator -> com.android.tools.r8.internal.mK:
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet -> com.android.tools.r8.internal.oK:
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSets -> com.android.tools.r8.internal.rK:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator -> com.android.tools.r8.internal.rK:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet -> com.android.tools.r8.internal.tK:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSets -> com.android.tools.r8.internal.wK:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSets$EmptySet EMPTY_SET -> a
     1:1:void <clinit>():70:70 -> <clinit>
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSets$EmptySet -> com.android.tools.r8.internal.pK:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSets$EmptySet -> com.android.tools.r8.internal.uK:
     1:1:void <init>():42:42 -> <init>
     1:1:java.lang.Object clone():52:52 -> clone
     1:1:boolean equals(java.lang.Object):58:58 -> equals
     1:1:boolean remove(java.lang.Object):47:47 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSets$Singleton -> com.android.tools.r8.internal.qK:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSets$Singleton -> com.android.tools.r8.internal.vK:
     java.lang.Object element -> b
     1:2:void <init>(java.lang.Object):96:97 -> <init>
     1:1:boolean addAll(java.util.Collection):122:122 -> addAll
@@ -78374,11 +78505,11 @@
     1:1:boolean remove(java.lang.Object):107:107 -> remove
     1:1:boolean removeAll(java.util.Collection):127:127 -> removeAll
     1:1:boolean retainAll(java.util.Collection):132:132 -> retainAll
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet -> com.android.tools.r8.internal.sK:
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSets -> com.android.tools.r8.internal.uK:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet -> com.android.tools.r8.internal.xK:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSets -> com.android.tools.r8.internal.zK:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSets$EmptySet EMPTY_SET -> a
     1:1:void <clinit>():114:114 -> <clinit>
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSets$EmptySet -> com.android.tools.r8.internal.tK:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSets$EmptySet -> com.android.tools.r8.internal.yK:
     1:1:void <init>():43:43 -> <init>
     1:1:java.lang.Object clone():101:101 -> clone
     1:1:java.lang.Object first():86:86 -> first
@@ -78389,17 +78520,17 @@
     1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):40 -> subSet
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSets$EmptySet.tailSet(java.lang.Object):81:81 -> tailSet
     1:1:java.util.SortedSet tailSet(java.lang.Object):40 -> tailSet
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanFunction -> com.android.tools.r8.internal.TQ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanFunction -> com.android.tools.r8.internal.YQ:
     boolean getBoolean(java.lang.Object) -> b
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMap -> com.android.tools.r8.internal.WQ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMap -> com.android.tools.r8.internal.bR:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet reference2BooleanEntrySet() -> h
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMap$Entry -> com.android.tools.r8.internal.UQ:
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMap$FastEntrySet -> com.android.tools.r8.internal.VQ:
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMaps -> com.android.tools.r8.internal.ZQ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMap$Entry -> com.android.tools.r8.internal.ZQ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMap$FastEntrySet -> com.android.tools.r8.internal.aR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMaps -> com.android.tools.r8.internal.eR:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMaps$EmptyMap EMPTY_MAP -> a
     1:1:void <clinit>():135:135 -> <clinit>
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMap singleton(java.lang.Object,boolean):260:260 -> a
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMaps$EmptyMap -> com.android.tools.r8.internal.XQ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMaps$EmptyMap -> com.android.tools.r8.internal.cR:
     1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanFunctions$EmptyFunction.<init>():41:41 -> <init>
     1:1:void <init>():46 -> <init>
     boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanFunctions$EmptyFunction.getBoolean(java.lang.Object) -> b
@@ -78423,7 +78554,7 @@
     1:1:java.lang.String toString():127:127 -> toString
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMaps$EmptyMap.values():97:97 -> values
     1:1:java.util.Collection values():43 -> values
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMaps$Singleton -> com.android.tools.r8.internal.YQ:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMaps$Singleton -> com.android.tools.r8.internal.dR:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet keys -> e
     com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollection values -> f
     java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanFunctions$Singleton.key -> b
@@ -78467,7 +78598,7 @@
     241:241:java.lang.String toString():240:240 -> toString
     1:2:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMaps$Singleton.values():215:216 -> values
     1:2:java.util.Collection values():157 -> values
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap -> com.android.tools.r8.internal.iR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap -> com.android.tools.r8.internal.nR:
     com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollection values -> k
     java.lang.Object[] key -> b
     boolean[] value -> c
@@ -78572,7 +78703,7 @@
       # {"id":"com.android.tools.r8.synthesized"}
     1:22:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap.values():803:824 -> values
     1:22:java.util.Collection values():49 -> values
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$1 -> com.android.tools.r8.internal.aR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$1 -> com.android.tools.r8.internal.fR:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap):803:803 -> <init>
     1:1:boolean contains(boolean):816:816 -> b
@@ -78582,7 +78713,7 @@
     1:1:void clear():821:821 -> clear
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterator iterator():806:806 -> iterator
     1:1:int size():811:811 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$EntryIterator -> com.android.tools.r8.internal.bR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$EntryIterator -> com.android.tools.r8.internal.gR:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap this$0 -> i
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$MapEntry entry -> h
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap):609:609 -> <init>
@@ -78590,11 +78721,11 @@
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$EntryIterator.next():614:614 -> next
     1:1:java.lang.Object next():609 -> next
     1:2:void remove():619:620 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$KeyIterator -> com.android.tools.r8.internal.cR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$KeyIterator -> com.android.tools.r8.internal.hR:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap this$0 -> h
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap):730:731 -> <init>
     1:1:java.lang.Object next():736:736 -> next
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$KeySet -> com.android.tools.r8.internal.dR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$KeySet -> com.android.tools.r8.internal.iR:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap):740:740 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$1):740:740 -> <init>
@@ -78603,7 +78734,7 @@
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():743:743 -> iterator
     1:3:boolean remove(java.lang.Object):758:760 -> remove
     1:1:int size():748:748 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$MapEntry -> com.android.tools.r8.internal.eR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$MapEntry -> com.android.tools.r8.internal.jR:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap this$0 -> c
     int index -> b
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap,int):428:429 -> <init>
@@ -78622,7 +78753,7 @@
     5:5:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$MapEntry.setValue(java.lang.Boolean):473:473 -> setValue
     5:5:java.lang.Object setValue(java.lang.Object):423 -> setValue
     1:1:java.lang.String toString():491:491 -> toString
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.fR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.kR:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap):634:634 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$1):634:634 -> <init>
@@ -78631,7 +78762,7 @@
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():636:636 -> iterator
     1:29:boolean remove(java.lang.Object):668:696 -> remove
     1:1:int size():705:705 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$MapIterator -> com.android.tools.r8.internal.gR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$MapIterator -> com.android.tools.r8.internal.lR:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap this$0 -> g
     boolean mustReturnNullKey -> e
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArrayList wrapped -> f
@@ -78650,13 +78781,13 @@
     14:23:void remove():589 -> remove
     24:25:void remove():592:593 -> remove
     26:26:void remove():585:585 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$ValueIterator -> com.android.tools.r8.internal.hR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$ValueIterator -> com.android.tools.r8.internal.mR:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap this$0 -> h
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap):785:786 -> <init>
     1:1:boolean nextBoolean():791:791 -> g
     1:1:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$ValueIterator.next():797:797 -> next
     1:1:java.lang.Object next():784 -> next
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap -> com.android.tools.r8.internal.mR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap -> com.android.tools.r8.internal.rR:
     java.lang.Object[] key -> c
     int[] value -> d
     int size -> e
@@ -78691,8 +78822,8 @@
     1:1:int size():252:252 -> size
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap.values():326:326 -> values
     1:1:java.util.Collection values():37 -> values
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap$1 -> com.android.tools.r8.internal.jR:
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap$EntrySet -> com.android.tools.r8.internal.lR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap$1 -> com.android.tools.r8.internal.oR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap$EntrySet -> com.android.tools.r8.internal.qR:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap):133:133 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap$1):133:133 -> <init>
@@ -78702,7 +78833,7 @@
     2:2:java.util.Iterator iterator():133 -> iterator
     1:12:boolean remove(java.lang.Object):213:224 -> remove
     1:1:int size():197:197 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap$EntrySet$1 -> com.android.tools.r8.internal.kR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap$EntrySet$1 -> com.android.tools.r8.internal.pR:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap$EntrySet this$1 -> d
     int curr -> b
     int next -> c
@@ -78711,10 +78842,10 @@
     1:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap$EntrySet$1.next():147:147 -> next
     1:3:java.lang.Object next():136 -> next
     1:7:void remove():153:153 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntFunction -> com.android.tools.r8.internal.nR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntFunction -> com.android.tools.r8.internal.sR:
     int getInt(java.lang.Object) -> a
     int put(java.lang.Object,int) -> a
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap -> com.android.tools.r8.internal.wR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap -> com.android.tools.r8.internal.BR:
     int size -> l
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection values -> o
     java.lang.Object[] key -> c
@@ -78788,14 +78919,14 @@
     1:1:java.util.SortedMap tailMap(java.lang.Object):87 -> tailMap
     1:22:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.values():1596:1617 -> values
     1:22:java.util.Collection values():87 -> values
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$1 -> com.android.tools.r8.internal.oR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$1 -> com.android.tools.r8.internal.tR:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap):1596:1596 -> <init>
     1:1:void clear():1614:1614 -> clear
     1:1:boolean contains(int):1609:1609 -> f
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():1599:1599 -> iterator
     1:1:int size():1604:1604 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$EntryIterator -> com.android.tools.r8.internal.pR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$EntryIterator -> com.android.tools.r8.internal.uR:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapEntry entry -> g
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap this$0 -> h
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap):1222:1222 -> <init>
@@ -78810,14 +78941,14 @@
     1:1:void set(java.lang.Object):1219:1219 -> set
     2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapIterator.set(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap$Entry):1211:1211 -> set
     2:2:void set(java.lang.Object):1219 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$KeyIterator -> com.android.tools.r8.internal.qR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$KeyIterator -> com.android.tools.r8.internal.vR:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap this$0 -> g
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap):1455:1456 -> <init>
     1:1:void add(java.lang.Object):1452:1452 -> add
     1:1:java.lang.Object next():1461:1461 -> next
     1:1:java.lang.Object previous():1442:1442 -> previous
     1:1:void set(java.lang.Object):1447:1447 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$KeySet -> com.android.tools.r8.internal.rR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$KeySet -> com.android.tools.r8.internal.wR:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap):1465:1465 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$1):1465:1465 -> <init>
@@ -78837,7 +78968,7 @@
     1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1465 -> subSet
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$KeySet.tailSet(java.lang.Object):1515:1515 -> tailSet
     1:1:java.util.SortedSet tailSet(java.lang.Object):1465 -> tailSet
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapEntry -> com.android.tools.r8.internal.sR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapEntry -> com.android.tools.r8.internal.xR:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap this$0 -> c
     int index -> b
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap,int):824:825 -> <init>
@@ -78856,7 +78987,7 @@
     5:5:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapEntry.setValue(java.lang.Integer):869:869 -> setValue
     5:5:java.lang.Object setValue(java.lang.Object):819 -> setValue
     1:1:java.lang.String toString():887:887 -> toString
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.tR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.yR:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap):1269:1269 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$1):1269:1269 -> <init>
@@ -78878,7 +79009,7 @@
     1:1:java.util.SortedSet tailSet(java.lang.Object):1269:1269 -> tailSet
     2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapEntrySet.tailSet(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap$Entry):1291:1291 -> tailSet
     2:2:java.util.SortedSet tailSet(java.lang.Object):1269 -> tailSet
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapIterator -> com.android.tools.r8.internal.uR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapIterator -> com.android.tools.r8.internal.zR:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap this$0 -> f
     int curr -> d
     int index -> e
@@ -78896,7 +79027,7 @@
     1:2:int previousIndex():1122:1123 -> previousIndex
     1:47:void remove():1145:1191 -> remove
     48:48:void remove():1146:1146 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$ValueIterator -> com.android.tools.r8.internal.vR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$ValueIterator -> com.android.tools.r8.internal.AR:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap this$0 -> g
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap):1578:1579 -> <init>
     1:1:void add(java.lang.Object):1544:1544 -> add
@@ -78911,11 +79042,11 @@
     1:1:void set(java.lang.Object):1544:1544 -> set
     2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$ValueIterator.set(java.lang.Integer):1559:1559 -> set
     2:2:void set(java.lang.Object):1544 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap -> com.android.tools.r8.internal.zR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap -> com.android.tools.r8.internal.ER:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet reference2IntEntrySet() -> f
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap$Entry -> com.android.tools.r8.internal.xR:
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap$FastEntrySet -> com.android.tools.r8.internal.yR:
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap -> com.android.tools.r8.internal.IR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap$Entry -> com.android.tools.r8.internal.CR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap$FastEntrySet -> com.android.tools.r8.internal.DR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap -> com.android.tools.r8.internal.OR:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap$FastEntrySet entries -> j
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection values -> l
     java.lang.Object[] key -> c
@@ -78979,14 +79110,14 @@
     1:1:int size():429:429 -> size
     1:22:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap.values():848:869 -> values
     1:22:java.util.Collection values():49 -> values
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$1 -> com.android.tools.r8.internal.AR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$1 -> com.android.tools.r8.internal.FR:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap):848:848 -> <init>
     1:1:void clear():866:866 -> clear
     1:1:boolean contains(int):861:861 -> f
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():851:851 -> iterator
     1:1:int size():856:856 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$EntryIterator -> com.android.tools.r8.internal.BR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$EntryIterator -> com.android.tools.r8.internal.GR:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap this$0 -> i
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$MapEntry entry -> h
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap):654:654 -> <init>
@@ -78994,11 +79125,11 @@
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$EntryIterator.next():659:659 -> next
     1:1:java.lang.Object next():654 -> next
     1:2:void remove():664:665 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$KeyIterator -> com.android.tools.r8.internal.CR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$KeyIterator -> com.android.tools.r8.internal.HR:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap this$0 -> h
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap):775:776 -> <init>
     1:1:java.lang.Object next():781:781 -> next
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$KeySet -> com.android.tools.r8.internal.DR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$KeySet -> com.android.tools.r8.internal.IR:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap):785:785 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$1):785:785 -> <init>
@@ -79007,7 +79138,7 @@
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():788:788 -> iterator
     1:3:boolean remove(java.lang.Object):803:805 -> remove
     1:1:int size():793:793 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$MapEntry -> com.android.tools.r8.internal.ER:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$MapEntry -> com.android.tools.r8.internal.JR:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap this$0 -> c
     int index -> b
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap,int):473:474 -> <init>
@@ -79026,7 +79157,7 @@
     5:5:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$MapEntry.setValue(java.lang.Integer):518:518 -> setValue
     5:5:java.lang.Object setValue(java.lang.Object):468 -> setValue
     1:1:java.lang.String toString():536:536 -> toString
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.FR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.KR:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap):679:679 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$1):679:679 -> <init>
@@ -79035,7 +79166,7 @@
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():681:681 -> iterator
     1:29:boolean remove(java.lang.Object):713:741 -> remove
     1:1:int size():750:750 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$MapIterator -> com.android.tools.r8.internal.GR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$MapIterator -> com.android.tools.r8.internal.MR:
     boolean mustReturnNullKey -> e
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArrayList wrapped -> f
     int c -> d
@@ -79054,16 +79185,16 @@
     14:23:void remove():634 -> remove
     24:25:void remove():637:638 -> remove
     26:26:void remove():630:630 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$ValueIterator -> com.android.tools.r8.internal.HR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$ValueIterator -> com.android.tools.r8.internal.NR:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap this$0 -> h
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap):830:831 -> <init>
     1:1:int nextInt():836:836 -> j
     1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$ValueIterator.next():842:842 -> next
     1:1:java.lang.Object next():829 -> next
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntSortedMap$FastSortedEntrySet -> com.android.tools.r8.internal.JR:
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongMap$Entry -> com.android.tools.r8.internal.KR:
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongMap$FastEntrySet -> com.android.tools.r8.internal.MR:
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap -> com.android.tools.r8.internal.VR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntSortedMap$FastSortedEntrySet -> com.android.tools.r8.internal.PR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongMap$Entry -> com.android.tools.r8.internal.QR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongMap$FastEntrySet -> com.android.tools.r8.internal.RR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap -> com.android.tools.r8.internal.aS:
     long[] value -> c
     java.lang.Object[] key -> b
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongMap$FastEntrySet entries -> i
@@ -79122,7 +79253,7 @@
     1:1:int size():429:429 -> size
     1:22:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.values():848:869 -> values
     1:22:java.util.Collection values():49 -> values
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$1 -> com.android.tools.r8.internal.NR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$1 -> com.android.tools.r8.internal.SR:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap):848:848 -> <init>
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongIterator iterator():851:851 -> a
@@ -79132,7 +79263,7 @@
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     1:1:void clear():866:866 -> clear
     1:1:int size():856:856 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$EntryIterator -> com.android.tools.r8.internal.OR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$EntryIterator -> com.android.tools.r8.internal.TR:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap this$0 -> i
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$MapEntry entry -> h
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap):654:654 -> <init>
@@ -79140,11 +79271,11 @@
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$EntryIterator.next():659:659 -> next
     1:1:java.lang.Object next():654 -> next
     1:2:void remove():664:665 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$KeyIterator -> com.android.tools.r8.internal.PR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$KeyIterator -> com.android.tools.r8.internal.UR:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap this$0 -> h
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap):775:776 -> <init>
     1:1:java.lang.Object next():781:781 -> next
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$KeySet -> com.android.tools.r8.internal.QR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$KeySet -> com.android.tools.r8.internal.VR:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap):785:785 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$1):785:785 -> <init>
@@ -79153,7 +79284,7 @@
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():788:788 -> iterator
     1:3:boolean remove(java.lang.Object):803:805 -> remove
     1:1:int size():793:793 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$MapEntry -> com.android.tools.r8.internal.RR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$MapEntry -> com.android.tools.r8.internal.WR:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap this$0 -> c
     int index -> b
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap,int):473:474 -> <init>
@@ -79171,7 +79302,7 @@
     5:5:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$MapEntry.setValue(java.lang.Long):518:518 -> setValue
     5:5:java.lang.Object setValue(java.lang.Object):468 -> setValue
     1:1:java.lang.String toString():536:536 -> toString
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.SR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.XR:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap):679:679 -> <init>
     2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$1):679:679 -> <init>
@@ -79180,7 +79311,7 @@
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():681:681 -> iterator
     1:29:boolean remove(java.lang.Object):713:741 -> remove
     1:1:int size():750:750 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$MapIterator -> com.android.tools.r8.internal.TR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$MapIterator -> com.android.tools.r8.internal.YR:
     boolean mustReturnNullKey -> e
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArrayList wrapped -> f
     int c -> d
@@ -79199,13 +79330,13 @@
     14:23:void remove():634 -> remove
     24:25:void remove():637:638 -> remove
     26:26:void remove():630:630 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$ValueIterator -> com.android.tools.r8.internal.UR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$ValueIterator -> com.android.tools.r8.internal.ZR:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap this$0 -> h
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap):830:831 -> <init>
     1:1:long nextLong():836:836 -> a
     1:1:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$ValueIterator.next():842:842 -> next
     1:1:java.lang.Object next():829 -> next
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArrayList -> com.android.tools.r8.internal.XR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArrayList -> com.android.tools.r8.internal.cS:
     java.lang.Object[] a -> b
     int size -> c
     1:3:void <init>(int):96:98 -> <init>
@@ -79241,10 +79372,10 @@
     644:644:java.lang.Object get(int):317:317 -> get
     321:321:java.lang.Object get(int):317:317 -> get
     322:322:java.lang.Object get(int):0:0 -> get
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":645,"2":646,"3":647}}
-    645:645:java.lang.Object get(int):317:317 -> get
-    646:646:java.lang.Object get(int):317:317 -> get
-    647:647:java.lang.Object get(int):317:317 -> get
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":640,"2":641,"3":642}}
+    640:640:java.lang.Object get(int):317:317 -> get
+    641:641:java.lang.Object get(int):317:317 -> get
+    642:642:java.lang.Object get(int):317:317 -> get
     639:639:java.lang.Object get(int):317:317 -> get
     1:2:int indexOf(java.lang.Object):323:324 -> indexOf
     1:1:boolean isEmpty():385:385 -> isEmpty
@@ -79277,13 +79408,13 @@
     725:725:java.lang.Object set(int,java.lang.Object):357:357 -> set
     362:362:java.lang.Object set(int,java.lang.Object):357:357 -> set
     363:363:java.lang.Object set(int,java.lang.Object):0:0 -> set
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":726,"2":727,"3":728}}
-    726:726:java.lang.Object set(int,java.lang.Object):357:357 -> set
-    727:727:java.lang.Object set(int,java.lang.Object):357:357 -> set
-    728:728:java.lang.Object set(int,java.lang.Object):357:357 -> set
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":721,"2":722,"3":723}}
+    721:721:java.lang.Object set(int,java.lang.Object):357:357 -> set
+    722:722:java.lang.Object set(int,java.lang.Object):357:357 -> set
+    723:723:java.lang.Object set(int,java.lang.Object):357:357 -> set
     720:720:java.lang.Object set(int,java.lang.Object):357:357 -> set
     1:1:int size():372:372 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArrayList$1 -> com.android.tools.r8.internal.WR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArrayList$1 -> com.android.tools.r8.internal.bS:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArrayList this$0 -> d
     int pos -> b
     int last -> c
@@ -79297,7 +79428,7 @@
     1:1:int previousIndex():524:524 -> previousIndex
     1:10:void remove():538:538 -> remove
     1:3:void set(java.lang.Object):533:533 -> set
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArraySet -> com.android.tools.r8.internal.ZR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArraySet -> com.android.tools.r8.internal.eS:
     java.lang.Object[] a -> b
     int size -> c
     1:4:void <init>(java.lang.Object[],int):104:107 -> <init>
@@ -79310,10 +79441,10 @@
     225:225:void <init>(java.lang.Object[],int):107:107 -> <init>
     112:112:void <init>(java.lang.Object[],int):107:107 -> <init>
     113:113:void <init>(java.lang.Object[],int):0:0 -> <init>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":226,"2":227,"3":228}}
-    226:226:void <init>(java.lang.Object[],int):107:107 -> <init>
-    227:227:void <init>(java.lang.Object[],int):107:107 -> <init>
-    228:228:void <init>(java.lang.Object[],int):107:107 -> <init>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":221,"2":222,"3":223}}
+    221:221:void <init>(java.lang.Object[],int):107:107 -> <init>
+    222:222:void <init>(java.lang.Object[],int):107:107 -> <init>
+    223:223:void <init>(java.lang.Object[],int):107:107 -> <init>
     220:220:void <init>(java.lang.Object[],int):107:107 -> <init>
     1:1:int access$000(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArraySet):29:29 -> a
     1:2:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArraySet.findKey(java.lang.Object):111:112 -> add
@@ -79336,17 +79467,17 @@
     1:2:boolean remove(java.lang.Object):154 -> remove
     3:7:boolean remove(java.lang.Object):156:160 -> remove
     1:1:int size():149:149 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArraySet$1 -> com.android.tools.r8.internal.YR:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArraySet$1 -> com.android.tools.r8.internal.dS:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArraySet this$0 -> c
     int next -> b
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArraySet):119:120 -> <init>
     1:1:boolean hasNext():124:124 -> hasNext
     1:3:java.lang.Object next():129:129 -> next
     1:3:void remove():135:137 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection -> com.android.tools.r8.internal.aS:
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollections -> com.android.tools.r8.internal.dS:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection -> com.android.tools.r8.internal.fS:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollections -> com.android.tools.r8.internal.iS:
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection unmodifiable(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection):383:383 -> a
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollections$EmptyCollection -> com.android.tools.r8.internal.bS:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollections$EmptyCollection -> com.android.tools.r8.internal.gS:
     1:1:void <init>():39:39 -> <init>
     1:1:boolean addAll(java.util.Collection):81:81 -> addAll
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():38:38 -> iterator
@@ -79354,7 +79485,7 @@
     1:1:boolean removeAll(java.util.Collection):86:86 -> removeAll
     1:1:boolean retainAll(java.util.Collection):91:91 -> retainAll
     1:1:java.lang.Object[] toArray():49:49 -> toArray
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollections$UnmodifiableCollection -> com.android.tools.r8.internal.cS:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollections$UnmodifiableCollection -> com.android.tools.r8.internal.hS:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection collection -> b
     1:3:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection):276:278 -> <init>
     1:1:boolean add(java.lang.Object):283:283 -> add
@@ -79376,9 +79507,9 @@
     1:1:java.lang.Object[] toArray(java.lang.Object[]):329:329 -> toArray
     2:2:java.lang.Object[] toArray():334:334 -> toArray
     1:1:java.lang.String toString():359:359 -> toString
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceList -> com.android.tools.r8.internal.eS:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceList -> com.android.tools.r8.internal.jS:
     void removeElements(int,int) -> a
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet -> com.android.tools.r8.internal.hS:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet -> com.android.tools.r8.internal.mS:
     java.lang.Object[] key -> b
     float f -> h
     int maxFill -> f
@@ -79423,8 +79554,8 @@
     2:5:boolean remove(java.lang.Object):332 -> remove
     6:13:boolean remove(java.lang.Object):336:343 -> remove
     1:1:int size():380:380 -> size
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet$1 -> com.android.tools.r8.internal.fS:
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet$SetIterator -> com.android.tools.r8.internal.gS:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet$1 -> com.android.tools.r8.internal.kS:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet$SetIterator -> com.android.tools.r8.internal.lS:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet this$0 -> g
     boolean mustReturnNull -> e
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArrayList wrapped -> f
@@ -79443,16 +79574,16 @@
     14:22:void remove():500 -> remove
     23:24:void remove():503:504 -> remove
     25:25:void remove():496:496 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet -> com.android.tools.r8.internal.iS:
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSets -> com.android.tools.r8.internal.lS:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet -> com.android.tools.r8.internal.nS:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSets -> com.android.tools.r8.internal.qS:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSets$EmptySet EMPTY_SET -> a
     1:1:void <clinit>():70:70 -> <clinit>
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSets$EmptySet -> com.android.tools.r8.internal.jS:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSets$EmptySet -> com.android.tools.r8.internal.oS:
     1:1:void <init>():42:42 -> <init>
     1:1:java.lang.Object clone():52:52 -> clone
     1:1:boolean equals(java.lang.Object):58:58 -> equals
     1:1:boolean remove(java.lang.Object):47:47 -> remove
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSets$Singleton -> com.android.tools.r8.internal.kS:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSets$Singleton -> com.android.tools.r8.internal.pS:
     java.lang.Object element -> b
     1:2:void <init>(java.lang.Object):96:97 -> <init>
     1:1:boolean addAll(java.util.Collection):122:122 -> addAll
@@ -79470,8 +79601,8 @@
     1:1:boolean remove(java.lang.Object):107:107 -> remove
     1:1:boolean removeAll(java.util.Collection):127:127 -> removeAll
     1:1:boolean retainAll(java.util.Collection):132:132 -> retainAll
-com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSortedSet -> com.android.tools.r8.internal.mS:
-com.android.tools.r8.jar.CfApplicationWriter -> com.android.tools.r8.internal.y6:
+com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSortedSet -> com.android.tools.r8.internal.rS:
+com.android.tools.r8.jar.CfApplicationWriter -> com.android.tools.r8.internal.z6:
     com.android.tools.r8.graph.DexApplication application -> a
     com.android.tools.r8.graph.AppView appView -> b
     boolean $assertionsDisabled -> i
@@ -79511,7 +79642,7 @@
     39:39:boolean com.android.tools.r8.jar.CfApplicationWriter.includeMarker(com.android.tools.r8.dex.Marker):130:130 -> a
     39:39:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):144 -> a
     40:47:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):144:151 -> a
-    48:48:boolean com.android.tools.r8.synthesis.SyntheticNaming.verifyNotInternalSynthetic(com.android.tools.r8.graph.DexType):208:208 -> a
+    48:48:boolean com.android.tools.r8.synthesis.SyntheticNaming.verifyNotInternalSynthetic(com.android.tools.r8.graph.DexType):209:209 -> a
     48:48:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):151 -> a
     49:61:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):153:165 -> a
     62:62:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():761:761 -> a
@@ -79566,18 +79697,18 @@
     612:612:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):320:320 -> a
     613:613:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):320:320 -> a
     588:589:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):321:322 -> a
-    590:594:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):1918:1922 -> a
+    590:594:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):1926:1930 -> a
     590:594:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):323 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     595:595:com.android.tools.r8.utils.structural.Ordered com.android.tools.r8.utils.structural.Ordered.min(com.android.tools.r8.utils.structural.Ordered,com.android.tools.r8.utils.structural.Ordered):21:21 -> a
-    595:595:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):1923 -> a
+    595:595:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):1931 -> a
     595:595:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):323 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
     596:601:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):322:327 -> a
-    602:606:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):1918:1922 -> a
+    602:606:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):1926:1930 -> a
     602:606:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):327 -> a
     607:607:com.android.tools.r8.utils.structural.Ordered com.android.tools.r8.utils.structural.Ordered.min(com.android.tools.r8.utils.structural.Ordered,com.android.tools.r8.utils.structural.Ordered):21:21 -> a
-    607:607:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):1923 -> a
+    607:607:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):1931 -> a
     607:607:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):327 -> a
     608:610:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):328:330 -> a
     614:621:com.android.tools.r8.graph.DexValue getSystemAnnotationValue(com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexType):348:355 -> a
@@ -79618,14 +79749,14 @@
     845:848:void writeAnnotationElement(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,java.lang.String,com.android.tools.r8.graph.DexValue):567:570 -> a
     1:1:void lambda$writeClass$1(com.android.tools.r8.cf.CfVersion,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.graph.ProgramMethod):278:278 -> b
     2:2:com.android.tools.r8.graph.DexString returnTypeThroughLens(com.android.tools.r8.graph.DexMethod):301:301 -> b
-com.android.tools.r8.jar.CfApplicationWriter$AnnotationConsumer -> com.android.tools.r8.internal.x6:
+com.android.tools.r8.jar.CfApplicationWriter$AnnotationConsumer -> com.android.tools.r8.internal.y6:
     com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visit(java.lang.String,boolean) -> a
-com.android.tools.r8.jetbrains.kotlin.DeprecationLevel$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.if:
+com.android.tools.r8.jetbrains.kotlin.DeprecationLevel$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.jf:
 # {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
 # {"id":"com.android.tools.r8.synthesized"}
     java.lang.String stringValueOf(int) -> a
       # {"id":"com.android.tools.r8.synthesized"}
-com.android.tools.r8.jetbrains.kotlin.Lazy -> com.android.tools.r8.internal.eB:
+com.android.tools.r8.jetbrains.kotlin.Lazy -> com.android.tools.r8.internal.gB:
 # {"id":"sourceFile","fileName":"Lazy.kt"}
 com.android.tools.r8.jetbrains.kotlin.LazyKt -> com.android.tools.r8.jetbrains.kotlin.a:
     1:38:com.android.tools.r8.jetbrains.kotlin.Lazy com.android.tools.r8.jetbrains.kotlin.LazyKt__LazyJVMKt.lazy(com.android.tools.r8.jetbrains.kotlin.LazyThreadSafetyMode,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0):0:37 -> a
@@ -79650,10 +79781,10 @@
       # {"id":"com.android.tools.r8.synthesized"}
 com.android.tools.r8.jetbrains.kotlin.LazyKt__LazyKt -> com.android.tools.r8.jetbrains.kotlin.b:
 # {"id":"sourceFile","fileName":"Lazy.kt"}
-com.android.tools.r8.jetbrains.kotlin.NoWhenBranchMatchedException -> com.android.tools.r8.internal.wH:
+com.android.tools.r8.jetbrains.kotlin.NoWhenBranchMatchedException -> com.android.tools.r8.internal.BH:
 # {"id":"sourceFile","fileName":"NoWhenBranchMatchedException.kt"}
     1:1:void <init>():9:9 -> <init>
-com.android.tools.r8.jetbrains.kotlin.Pair -> com.android.tools.r8.internal.JL:
+com.android.tools.r8.jetbrains.kotlin.Pair -> com.android.tools.r8.internal.OL:
 # {"id":"sourceFile","fileName":"Tuples.kt"}
     java.lang.Object first -> b
     java.lang.Object second -> c
@@ -79685,19 +79816,19 @@
     1:1:boolean isInitialized():82:82 -> toString
     1:1:java.lang.String toString():84 -> toString
     2:2:java.lang.String toString():84:84 -> toString
-com.android.tools.r8.jetbrains.kotlin.UNINITIALIZED_VALUE -> com.android.tools.r8.internal.j10:
+com.android.tools.r8.jetbrains.kotlin.UNINITIALIZED_VALUE -> com.android.tools.r8.internal.p10:
 # {"id":"sourceFile","fileName":"Lazy.kt"}
     com.android.tools.r8.jetbrains.kotlin.UNINITIALIZED_VALUE INSTANCE -> a
     1:1:void <init>():71:71 -> <init>
-com.android.tools.r8.jetbrains.kotlin.UninitializedPropertyAccessException -> com.android.tools.r8.internal.n10:
+com.android.tools.r8.jetbrains.kotlin.UninitializedPropertyAccessException -> com.android.tools.r8.internal.t10:
 # {"id":"sourceFile","fileName":"UninitializedPropertyAccessException.kt"}
     1:1:void <init>(java.lang.String):11:11 -> <init>
-com.android.tools.r8.jetbrains.kotlin.Unit -> com.android.tools.r8.internal.p10:
+com.android.tools.r8.jetbrains.kotlin.Unit -> com.android.tools.r8.internal.v10:
 # {"id":"sourceFile","fileName":"Unit.kt"}
     com.android.tools.r8.jetbrains.kotlin.Unit INSTANCE -> a
     1:1:void <init>():22:22 -> <init>
     1:1:java.lang.String toString():23:23 -> toString
-com.android.tools.r8.jetbrains.kotlin.UnsafeLazyImpl -> com.android.tools.r8.internal.K10:
+com.android.tools.r8.jetbrains.kotlin.UnsafeLazyImpl -> com.android.tools.r8.internal.Q10:
 # {"id":"sourceFile","fileName":"Lazy.kt"}
     com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0 initializer -> b
     java.lang.Object _value -> c
@@ -79706,7 +79837,7 @@
     1:1:boolean com.android.tools.r8.jetbrains.kotlin.UnsafeLazyImpl.isInitialized():88:88 -> toString
     1:1:java.lang.String toString():90 -> toString
     2:2:java.lang.String toString():90:90 -> toString
-com.android.tools.r8.jetbrains.kotlin._Assertions -> com.android.tools.r8.internal.z40:
+com.android.tools.r8.jetbrains.kotlin._Assertions -> com.android.tools.r8.internal.F40:
 # {"id":"sourceFile","fileName":"AssertionsJVM.kt"}
     boolean ENABLED -> a
     1:1:void <clinit>():14:14 -> <clinit>
@@ -79854,7 +79985,7 @@
     3:2136:int lastIndexOf(java.lang.Object):168 -> lastIndexOf
 com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysKt -> com.android.tools.r8.internal.s3:
 # {"id":"sourceFile","fileName":"_Arrays.kt"}
-com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt -> com.android.tools.r8.internal.lc:
+com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt -> com.android.tools.r8.internal.mc:
     1:142:boolean com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__MutableCollectionsKt.addAll(java.util.Collection,java.lang.Object[]):0:141 -> a
     1:142:boolean addAll(java.util.Collection,java.lang.Object[]):0 -> a
       # {"id":"com.android.tools.r8.synthesized"}
@@ -79982,22 +80113,22 @@
     1:1:java.lang.Iterable com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.withIndex(java.lang.Iterable):1628:1628 -> d
     1:1:java.lang.Iterable withIndex(java.lang.Iterable):0 -> d
       # {"id":"com.android.tools.r8.synthesized"}
-com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__CollectionsKt -> com.android.tools.r8.internal.mc:
+com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__CollectionsKt -> com.android.tools.r8.internal.nc:
 # {"id":"sourceFile","fileName":"Collections.kt"}
-com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__IteratorsJVMKt -> com.android.tools.r8.internal.nc:
+com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__IteratorsJVMKt -> com.android.tools.r8.internal.oc:
 # {"id":"sourceFile","fileName":"IteratorsJVM.kt"}
-com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__MutableCollectionsJVMKt -> com.android.tools.r8.internal.oc:
+com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__MutableCollectionsJVMKt -> com.android.tools.r8.internal.pc:
 # {"id":"sourceFile","fileName":"MutableCollectionsJVM.kt"}
-com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__ReversedViewsKt -> com.android.tools.r8.internal.pc:
+com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__ReversedViewsKt -> com.android.tools.r8.internal.qc:
 # {"id":"sourceFile","fileName":"ReversedViews.kt"}
-com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt -> com.android.tools.r8.internal.rc:
+com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt -> com.android.tools.r8.internal.sc:
 # {"id":"sourceFile","fileName":"_Collections.kt"}
-com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt$withIndex$1 -> com.android.tools.r8.internal.qc:
+com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt$withIndex$1 -> com.android.tools.r8.internal.rc:
 # {"id":"sourceFile","fileName":"_Collections.kt"}
     java.lang.Iterable $this_withIndex -> b
     1:1:java.util.Iterator com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt$withIndex$1.invoke():1628:1628 -> a
     1:1:java.lang.Object invoke():1628 -> a
-com.android.tools.r8.jetbrains.kotlin.collections.EmptyIterator -> com.android.tools.r8.internal.Rh:
+com.android.tools.r8.jetbrains.kotlin.collections.EmptyIterator -> com.android.tools.r8.internal.Th:
 # {"id":"sourceFile","fileName":"Collections.kt"}
     com.android.tools.r8.jetbrains.kotlin.collections.EmptyIterator INSTANCE -> b
     1:1:void <init>():15:15 -> <init>
@@ -80011,7 +80142,7 @@
     1:1:void set(java.lang.Object):15:15 -> set
     2:2:void com.android.tools.r8.jetbrains.kotlin.collections.EmptyIterator.set(java.lang.Void):0:0 -> set
     2:2:void set(java.lang.Object):15 -> set
-com.android.tools.r8.jetbrains.kotlin.collections.EmptyList -> com.android.tools.r8.internal.Sh:
+com.android.tools.r8.jetbrains.kotlin.collections.EmptyList -> com.android.tools.r8.internal.Uh:
 # {"id":"sourceFile","fileName":"Collections.kt"}
     com.android.tools.r8.jetbrains.kotlin.collections.EmptyList INSTANCE -> b
     1:1:void <init>():24:24 -> <init>
@@ -80046,7 +80177,7 @@
     2:2:java.lang.Object set(int,java.lang.Object):24 -> set
     1:1:java.util.List subList(int,int):49:49 -> subList
     1:1:java.lang.String toString():29:29 -> toString
-com.android.tools.r8.jetbrains.kotlin.collections.EmptyMap -> com.android.tools.r8.internal.Th:
+com.android.tools.r8.jetbrains.kotlin.collections.EmptyMap -> com.android.tools.r8.internal.Vh:
 # {"id":"sourceFile","fileName":"Maps.kt"}
     com.android.tools.r8.jetbrains.kotlin.collections.EmptyMap INSTANCE -> b
     1:1:void <init>():14:14 -> <init>
@@ -80063,7 +80194,7 @@
     1:1:java.lang.Object remove(java.lang.Object):14 -> remove
     1:1:java.lang.String toString():19:19 -> toString
     1:1:java.util.Collection values():14:14 -> values
-com.android.tools.r8.jetbrains.kotlin.collections.EmptySet -> com.android.tools.r8.internal.Vh:
+com.android.tools.r8.jetbrains.kotlin.collections.EmptySet -> com.android.tools.r8.internal.Xh:
 # {"id":"sourceFile","fileName":"Sets.kt"}
     com.android.tools.r8.jetbrains.kotlin.collections.EmptySet INSTANCE -> b
     1:1:void <init>():14:14 -> <init>
@@ -80077,7 +80208,7 @@
     1:1:boolean equals(java.lang.Object):17:17 -> equals
     1:1:java.util.Iterator iterator():26:26 -> iterator
     1:1:java.lang.String toString():19:19 -> toString
-com.android.tools.r8.jetbrains.kotlin.collections.IndexedValue -> com.android.tools.r8.internal.Uo:
+com.android.tools.r8.jetbrains.kotlin.collections.IndexedValue -> com.android.tools.r8.internal.Wo:
 # {"id":"sourceFile","fileName":"IndexedValue.kt"}
     java.lang.Object value -> b
     int index -> a
@@ -80090,12 +80221,12 @@
     4:4:java.lang.String toString():0:0 -> toString
     5:5:java.lang.String toString():0:0 -> toString
     2:2:java.lang.String toString():0:0 -> toString
-com.android.tools.r8.jetbrains.kotlin.collections.IndexingIterable -> com.android.tools.r8.internal.Vo:
+com.android.tools.r8.jetbrains.kotlin.collections.IndexingIterable -> com.android.tools.r8.internal.Xo:
 # {"id":"sourceFile","fileName":"Iterables.kt"}
     com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0 iteratorFactory -> b
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0):24:24 -> <init>
     1:1:java.util.Iterator iterator():25:25 -> iterator
-com.android.tools.r8.jetbrains.kotlin.collections.IndexingIterator -> com.android.tools.r8.internal.Wo:
+com.android.tools.r8.jetbrains.kotlin.collections.IndexingIterator -> com.android.tools.r8.internal.Yo:
 # {"id":"sourceFile","fileName":"Iterators.kt"}
     java.util.Iterator iterator -> b
     int index -> c
@@ -80103,7 +80234,7 @@
     1:1:boolean hasNext():40:40 -> hasNext
     1:1:com.android.tools.r8.jetbrains.kotlin.collections.IndexedValue com.android.tools.r8.jetbrains.kotlin.collections.IndexingIterator.next():41:41 -> next
     1:1:java.lang.Object next():38 -> next
-com.android.tools.r8.jetbrains.kotlin.collections.MapsKt -> com.android.tools.r8.internal.MD:
+com.android.tools.r8.jetbrains.kotlin.collections.MapsKt -> com.android.tools.r8.internal.RD:
     int mapCapacity(int) -> a
       # {"id":"com.android.tools.r8.synthesized"}
     1:4:java.util.Map com.android.tools.r8.jetbrains.kotlin.collections.MapsKt__MapsKt.toMap(java.lang.Iterable):547:550 -> a
@@ -80124,11 +80255,11 @@
     36:36:java.util.Map com.android.tools.r8.jetbrains.kotlin.collections.MapsKt__MapsKt.toMap(java.lang.Iterable):548:548 -> a
     36:36:java.util.Map toMap(java.lang.Iterable):0 -> a
       # {"id":"com.android.tools.r8.synthesized"}
-com.android.tools.r8.jetbrains.kotlin.collections.MapsKt__MapsJVMKt -> com.android.tools.r8.internal.ND:
+com.android.tools.r8.jetbrains.kotlin.collections.MapsKt__MapsJVMKt -> com.android.tools.r8.internal.SD:
 # {"id":"sourceFile","fileName":"MapsJVM.kt"}
-com.android.tools.r8.jetbrains.kotlin.collections.MapsKt___MapsKt -> com.android.tools.r8.internal.OD:
+com.android.tools.r8.jetbrains.kotlin.collections.MapsKt___MapsKt -> com.android.tools.r8.internal.TD:
 # {"id":"sourceFile","fileName":"_Maps.kt"}
-com.android.tools.r8.jetbrains.kotlin.internal.ProgressionUtilKt -> com.android.tools.r8.internal.zN:
+com.android.tools.r8.jetbrains.kotlin.internal.ProgressionUtilKt -> com.android.tools.r8.internal.EN:
 # {"id":"sourceFile","fileName":"progressionUtil.kt"}
     1:1:int com.android.tools.r8.jetbrains.kotlin.internal.ProgressionUtilKt.mod(int,int):10:10 -> a
     1:1:int com.android.tools.r8.jetbrains.kotlin.internal.ProgressionUtilKt.differenceModulo(int,int,int):21 -> a
@@ -80137,60 +80268,60 @@
     2:2:int com.android.tools.r8.jetbrains.kotlin.internal.ProgressionUtilKt.differenceModulo(int,int,int):21 -> a
     2:2:int getProgressionLastElement(int,int,int):47 -> a
     3:3:int getProgressionLastElement(int,int,int):48:48 -> a
-com.android.tools.r8.jetbrains.kotlin.jvm.JvmClassMappingKt -> com.android.tools.r8.internal.dw:
+com.android.tools.r8.jetbrains.kotlin.jvm.JvmClassMappingKt -> com.android.tools.r8.internal.fw:
 # {"id":"sourceFile","fileName":"JvmClassMapping.kt"}
     1:4:java.lang.Class getJavaObjectType(com.android.tools.r8.jetbrains.kotlin.reflect.KClass):58:61 -> a
-com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0 -> com.android.tools.r8.internal.dl:
+com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0 -> com.android.tools.r8.internal.fl:
 # {"id":"sourceFile","fileName":"Functions.kt"}
     java.lang.Object invoke() -> a
-com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1 -> com.android.tools.r8.internal.fl:
+com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1 -> com.android.tools.r8.internal.hl:
 # {"id":"sourceFile","fileName":"Functions.kt"}
     java.lang.Object invoke(java.lang.Object) -> a
-com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function10 -> com.android.tools.r8.internal.el:
+com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function10 -> com.android.tools.r8.internal.gl:
 # {"id":"sourceFile","fileName":"Functions.kt"}
-com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function11 -> com.android.tools.r8.internal.gl:
+com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function11 -> com.android.tools.r8.internal.il:
 # {"id":"sourceFile","fileName":"Functions.kt"}
-com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function12 -> com.android.tools.r8.internal.hl:
+com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function12 -> com.android.tools.r8.internal.jl:
 # {"id":"sourceFile","fileName":"Functions.kt"}
-com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function13 -> com.android.tools.r8.internal.il:
+com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function13 -> com.android.tools.r8.internal.kl:
 # {"id":"sourceFile","fileName":"Functions.kt"}
-com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function14 -> com.android.tools.r8.internal.jl:
+com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function14 -> com.android.tools.r8.internal.ll:
 # {"id":"sourceFile","fileName":"Functions.kt"}
-com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function15 -> com.android.tools.r8.internal.kl:
+com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function15 -> com.android.tools.r8.internal.ml:
 # {"id":"sourceFile","fileName":"Functions.kt"}
-com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function16 -> com.android.tools.r8.internal.ll:
+com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function16 -> com.android.tools.r8.internal.nl:
 # {"id":"sourceFile","fileName":"Functions.kt"}
-com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function17 -> com.android.tools.r8.internal.ml:
+com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function17 -> com.android.tools.r8.internal.ol:
 # {"id":"sourceFile","fileName":"Functions.kt"}
-com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function18 -> com.android.tools.r8.internal.nl:
+com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function18 -> com.android.tools.r8.internal.pl:
 # {"id":"sourceFile","fileName":"Functions.kt"}
-com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function19 -> com.android.tools.r8.internal.ol:
+com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function19 -> com.android.tools.r8.internal.ql:
 # {"id":"sourceFile","fileName":"Functions.kt"}
-com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function2 -> com.android.tools.r8.internal.tl:
+com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function2 -> com.android.tools.r8.internal.vl:
 # {"id":"sourceFile","fileName":"Functions.kt"}
-com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function20 -> com.android.tools.r8.internal.ql:
+com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function20 -> com.android.tools.r8.internal.sl:
 # {"id":"sourceFile","fileName":"Functions.kt"}
-com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function21 -> com.android.tools.r8.internal.rl:
+com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function21 -> com.android.tools.r8.internal.tl:
 # {"id":"sourceFile","fileName":"Functions.kt"}
-com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function22 -> com.android.tools.r8.internal.sl:
+com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function22 -> com.android.tools.r8.internal.ul:
 # {"id":"sourceFile","fileName":"Functions.kt"}
-com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function3 -> com.android.tools.r8.internal.ul:
+com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function3 -> com.android.tools.r8.internal.wl:
 # {"id":"sourceFile","fileName":"Functions.kt"}
-com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function4 -> com.android.tools.r8.internal.vl:
+com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function4 -> com.android.tools.r8.internal.xl:
 # {"id":"sourceFile","fileName":"Functions.kt"}
-com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function5 -> com.android.tools.r8.internal.wl:
+com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function5 -> com.android.tools.r8.internal.yl:
 # {"id":"sourceFile","fileName":"Functions.kt"}
-com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function6 -> com.android.tools.r8.internal.xl:
+com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function6 -> com.android.tools.r8.internal.zl:
 # {"id":"sourceFile","fileName":"Functions.kt"}
-com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function7 -> com.android.tools.r8.internal.yl:
+com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function7 -> com.android.tools.r8.internal.Al:
 # {"id":"sourceFile","fileName":"Functions.kt"}
-com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function8 -> com.android.tools.r8.internal.zl:
+com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function8 -> com.android.tools.r8.internal.Bl:
 # {"id":"sourceFile","fileName":"Functions.kt"}
-com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function9 -> com.android.tools.r8.internal.Al:
+com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function9 -> com.android.tools.r8.internal.Cl:
 # {"id":"sourceFile","fileName":"Functions.kt"}
-com.android.tools.r8.jetbrains.kotlin.jvm.internal.ClassBasedDeclarationContainer -> com.android.tools.r8.internal.I9:
+com.android.tools.r8.jetbrains.kotlin.jvm.internal.ClassBasedDeclarationContainer -> com.android.tools.r8.internal.J9:
 # {"id":"sourceFile","fileName":"ClassBasedDeclarationContainer.kt"}
-com.android.tools.r8.jetbrains.kotlin.jvm.internal.ClassReference -> com.android.tools.r8.internal.Ua:
+com.android.tools.r8.jetbrains.kotlin.jvm.internal.ClassReference -> com.android.tools.r8.internal.Va:
 # {"id":"sourceFile","fileName":"ClassReference.kt"}
     java.util.Map FUNCTION_CLASSES -> b
     java.lang.Class jClass -> a
@@ -80221,7 +80352,7 @@
     2:2:java.lang.String toString():97:97 -> toString
     3:3:java.lang.String com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.stringPlus(java.lang.String,java.lang.Object):20:20 -> toString
     3:3:java.lang.String toString():97 -> toString
-com.android.tools.r8.jetbrains.kotlin.jvm.internal.CollectionToArray -> com.android.tools.r8.internal.hc:
+com.android.tools.r8.jetbrains.kotlin.jvm.internal.CollectionToArray -> com.android.tools.r8.internal.ic:
 # {"id":"sourceFile","fileName":"CollectionToArray.kt"}
     java.lang.Object[] EMPTY -> a
     1:1:void <clinit>():127:127 -> <clinit>
@@ -80235,8 +80366,8 @@
     251:316:java.lang.Object[] toArray(java.util.Collection):21:86 -> a
     317:399:java.lang.Object[] toArray(java.util.Collection):22:104 -> a
     400:400:java.lang.Object[] toArray(java.util.Collection):23:23 -> a
-com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker -> com.android.tools.r8.internal.Se:
-com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics -> com.android.tools.r8.internal.qu:
+com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker -> com.android.tools.r8.internal.Te:
+com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics -> com.android.tools.r8.internal.su:
     1:1:void throwUninitializedPropertyAccessException(java.lang.String):0:0 -> a
       # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5,"4":6,"5":7,"6":8}}
     3:3:void throwUninitializedPropertyAccessException(java.lang.String):58:58 -> a
@@ -80269,11 +80400,11 @@
     2:13:void checkNotNullParameter(java.lang.Object,java.lang.String):131 -> b
     14:14:void com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.throwParameterIsNullNPE(java.lang.String):140:140 -> b
     14:14:void checkNotNullParameter(java.lang.Object,java.lang.String):131 -> b
-com.android.tools.r8.jetbrains.kotlin.jvm.internal.Lambda -> com.android.tools.r8.internal.JA:
+com.android.tools.r8.jetbrains.kotlin.jvm.internal.Lambda -> com.android.tools.r8.internal.LA:
 # {"id":"sourceFile","fileName":"Lambda.kt"}
     1:1:void <init>(int):10:10 -> <init>
     1:1:java.lang.String toString():11:11 -> toString
-com.android.tools.r8.jetbrains.kotlin.jvm.internal.Reflection -> com.android.tools.r8.internal.pS:
+com.android.tools.r8.jetbrains.kotlin.jvm.internal.Reflection -> com.android.tools.r8.internal.uS:
     com.android.tools.r8.jetbrains.kotlin.jvm.internal.ReflectionFactory factory -> a
     1:9:void <clinit>():26:34 -> <clinit>
     1:1:com.android.tools.r8.jetbrains.kotlin.reflect.KClass getOrCreateKotlinClass(java.lang.Class):59:59 -> a
@@ -80283,11 +80414,11 @@
     4:5:java.lang.String com.android.tools.r8.jetbrains.kotlin.jvm.internal.ReflectionFactory.renderLambdaToString(com.android.tools.r8.jetbrains.kotlin.jvm.internal.FunctionBase):44:45 -> a
     4:5:java.lang.String com.android.tools.r8.jetbrains.kotlin.jvm.internal.ReflectionFactory.renderLambdaToString(com.android.tools.r8.jetbrains.kotlin.jvm.internal.Lambda):39 -> a
     4:5:java.lang.String renderLambdaToString(com.android.tools.r8.jetbrains.kotlin.jvm.internal.Lambda):78 -> a
-com.android.tools.r8.jetbrains.kotlin.jvm.internal.ReflectionFactory -> com.android.tools.r8.internal.qS:
+com.android.tools.r8.jetbrains.kotlin.jvm.internal.ReflectionFactory -> com.android.tools.r8.internal.vS:
     1:1:void <init>():14:14 -> <init>
-com.android.tools.r8.jetbrains.kotlin.reflect.KClass -> com.android.tools.r8.internal.hx:
+com.android.tools.r8.jetbrains.kotlin.reflect.KClass -> com.android.tools.r8.internal.jx:
 # {"id":"sourceFile","fileName":"KClass.kt"}
-com.android.tools.r8.jetbrains.kotlin.text.StringsKt -> com.android.tools.r8.internal.WX:
+com.android.tools.r8.jetbrains.kotlin.text.StringsKt -> com.android.tools.r8.internal.bY:
     1:71:java.lang.String com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsJVMKt.replace(java.lang.String,char,char,boolean):0:70 -> a
     1:71:java.lang.String com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsJVMKt.replace$default(java.lang.String,char,char,boolean,int,java.lang.Object):68 -> a
     1:71:java.lang.String replace$default(java.lang.String,char,char,boolean,int,java.lang.Object):0 -> a
@@ -80315,15 +80446,15 @@
     4:4:java.lang.String com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.substringAfterLast$default(java.lang.String,char,java.lang.String,int,java.lang.Object):483 -> b
     4:4:java.lang.String substringAfterLast$default(java.lang.String,char,java.lang.String,int,java.lang.Object):0 -> b
       # {"id":"com.android.tools.r8.synthesized"}
-com.android.tools.r8.jetbrains.kotlin.text.StringsKt__IndentKt -> com.android.tools.r8.internal.XX:
+com.android.tools.r8.jetbrains.kotlin.text.StringsKt__IndentKt -> com.android.tools.r8.internal.cY:
 # {"id":"sourceFile","fileName":"Indent.kt"}
-com.android.tools.r8.jetbrains.kotlin.text.StringsKt__RegexExtensionsKt -> com.android.tools.r8.internal.YX:
+com.android.tools.r8.jetbrains.kotlin.text.StringsKt__RegexExtensionsKt -> com.android.tools.r8.internal.dY:
 # {"id":"sourceFile","fileName":"RegexExtensions.kt"}
-com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringBuilderKt -> com.android.tools.r8.internal.ZX:
+com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringBuilderKt -> com.android.tools.r8.internal.eY:
 # {"id":"sourceFile","fileName":"StringBuilder.kt"}
-com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringNumberConversionsKt -> com.android.tools.r8.internal.aY:
+com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringNumberConversionsKt -> com.android.tools.r8.internal.fY:
 # {"id":"sourceFile","fileName":"StringNumberConversions.kt"}
-com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt -> com.android.tools.r8.internal.bY:
+com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt -> com.android.tools.r8.internal.gY:
 # {"id":"sourceFile","fileName":"Strings.kt"}
     1:1:boolean com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.contains(java.lang.CharSequence,char,boolean):0:0 -> a
     1:1:boolean contains$default(java.lang.CharSequence,char,boolean,int,java.lang.Object):1158 -> a
@@ -80365,9 +80496,9 @@
     689:689:boolean com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsJVMKt.startsWith(java.lang.String,java.lang.String,boolean):418:418 -> a
     690:692:boolean com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsJVMKt.regionMatches(java.lang.String,int,java.lang.String,int,int,boolean):654:656 -> a
     690:692:boolean com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsJVMKt.startsWith(java.lang.String,java.lang.String,boolean):420 -> a
-com.android.tools.r8.jetbrains.kotlin.text.StringsKt___StringsKt -> com.android.tools.r8.internal.cY:
+com.android.tools.r8.jetbrains.kotlin.text.StringsKt___StringsKt -> com.android.tools.r8.internal.hY:
 # {"id":"sourceFile","fileName":"_Strings.kt"}
-com.android.tools.r8.jetbrains.kotlinx.metadata.Flag -> com.android.tools.r8.internal.zk:
+com.android.tools.r8.jetbrains.kotlinx.metadata.Flag -> com.android.tools.r8.internal.Bk:
 # {"id":"sourceFile","fileName":"Flag.kt"}
     int bitWidth -> b
     int value -> c
@@ -80378,31 +80509,31 @@
     3:3:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField):43:43 -> <init>
     1:1:boolean invoke(int):52:52 -> a
     1:1:int plus$kotlinx_metadata(int):46:46 -> b
-com.android.tools.r8.jetbrains.kotlinx.metadata.Flag$Property -> com.android.tools.r8.internal.wk:
+com.android.tools.r8.jetbrains.kotlinx.metadata.Flag$Property -> com.android.tools.r8.internal.yk:
 # {"id":"sourceFile","fileName":"Flag.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.Flag HAS_GETTER -> a
     com.android.tools.r8.jetbrains.kotlinx.metadata.Flag HAS_SETTER -> b
     1:79:void <clinit>():343:421 -> <clinit>
-com.android.tools.r8.jetbrains.kotlinx.metadata.Flag$Type -> com.android.tools.r8.internal.xk:
+com.android.tools.r8.jetbrains.kotlinx.metadata.Flag$Type -> com.android.tools.r8.internal.zk:
 # {"id":"sourceFile","fileName":"Flag.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.Flag IS_NULLABLE -> a
     1:7:void <clinit>():455:461 -> <clinit>
-com.android.tools.r8.jetbrains.kotlinx.metadata.Flag$TypeParameter -> com.android.tools.r8.internal.yk:
+com.android.tools.r8.jetbrains.kotlinx.metadata.Flag$TypeParameter -> com.android.tools.r8.internal.Ak:
 # {"id":"sourceFile","fileName":"Flag.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.Flag IS_REIFIED -> a
     1:1:void <clinit>():472:472 -> <clinit>
-com.android.tools.r8.jetbrains.kotlinx.metadata.Flag$ValueParameter -> com.android.tools.r8.internal.zk$a:
+com.android.tools.r8.jetbrains.kotlinx.metadata.Flag$ValueParameter -> com.android.tools.r8.internal.Bk$a:
 # {"id":"sourceFile","fileName":"Flag.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.Flag DECLARES_DEFAULT_VALUE -> a
     1:13:void <clinit>():486:498 -> <clinit>
-com.android.tools.r8.jetbrains.kotlinx.metadata.FlagsKt -> com.android.tools.r8.internal.Hk:
+com.android.tools.r8.jetbrains.kotlinx.metadata.FlagsKt -> com.android.tools.r8.internal.Jk:
 # {"id":"sourceFile","fileName":"Flags.kt"}
     1:1:int flagsOf(com.android.tools.r8.jetbrains.kotlinx.metadata.Flag[]):28:28 -> a
     2:2:int flagsOf(com.android.tools.r8.jetbrains.kotlinx.metadata.Flag[]):25:25 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.InconsistentKotlinMetadataException -> com.android.tools.r8.internal.Qo:
+com.android.tools.r8.jetbrains.kotlinx.metadata.InconsistentKotlinMetadataException -> com.android.tools.r8.internal.So:
 # {"id":"sourceFile","fileName":"InconsistentKotlinMetadataException.kt"}
     1:1:void <init>(java.lang.String,java.lang.Throwable):8:8 -> <init>
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation -> com.android.tools.r8.internal.ix:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation -> com.android.tools.r8.internal.kx:
 # {"id":"sourceFile","fileName":"annotations.kt"}
     java.util.Map arguments -> b
     java.lang.String className -> a
@@ -80415,10 +80546,10 @@
     4:4:java.lang.String toString():0:0 -> toString
     5:5:java.lang.String toString():0:0 -> toString
     2:2:java.lang.String toString():0:0 -> toString
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument -> com.android.tools.r8.internal.kx:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument -> com.android.tools.r8.internal.mx:
 # {"id":"sourceFile","fileName":"annotations.kt"}
     1:1:void <init>():23:23 -> <init>
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$AnnotationValue -> com.android.tools.r8.internal.jx:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$AnnotationValue -> com.android.tools.r8.internal.lx:
 # {"id":"sourceFile","fileName":"annotations.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation annotation -> a
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):65:65 -> <init>
@@ -80429,7 +80560,7 @@
     4:4:java.lang.String toString():0:0 -> toString
     5:5:java.lang.String toString():0:0 -> toString
     2:2:java.lang.String toString():0:0 -> toString
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ArrayValue -> com.android.tools.r8.internal.kx$a:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ArrayValue -> com.android.tools.r8.internal.mx$a:
 # {"id":"sourceFile","fileName":"annotations.kt"}
     java.util.List elements -> a
     1:1:void <init>(java.util.List):66:66 -> <init>
@@ -80440,7 +80571,7 @@
     4:4:java.lang.String toString():0:0 -> toString
     5:5:java.lang.String toString():0:0 -> toString
     2:2:java.lang.String toString():0:0 -> toString
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$BooleanValue -> com.android.tools.r8.internal.lx:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$BooleanValue -> com.android.tools.r8.internal.nx:
 # {"id":"sourceFile","fileName":"annotations.kt"}
     boolean value -> a
     1:1:void <init>(boolean):44:44 -> <init>
@@ -80463,7 +80594,7 @@
     2:2:java.lang.Boolean com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$BooleanValue.getValue():44:44 -> toString
     2:2:java.lang.String toString():0 -> toString
     3:3:java.lang.String toString():0:0 -> toString
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ByteValue -> com.android.tools.r8.internal.mx:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ByteValue -> com.android.tools.r8.internal.ox:
 # {"id":"sourceFile","fileName":"annotations.kt"}
     byte value -> a
     1:1:void <init>(byte):37:37 -> <init>
@@ -80484,7 +80615,7 @@
     2:2:java.lang.Byte com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ByteValue.getValue():37:37 -> toString
     2:2:java.lang.String toString():0 -> toString
     3:3:java.lang.String toString():0:0 -> toString
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$CharValue -> com.android.tools.r8.internal.nx:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$CharValue -> com.android.tools.r8.internal.px:
 # {"id":"sourceFile","fileName":"annotations.kt"}
     char value -> a
     1:1:void <init>(char):38:38 -> <init>
@@ -80507,7 +80638,7 @@
     2:2:java.lang.Character com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$CharValue.getValue():38:38 -> toString
     2:2:java.lang.String toString():0 -> toString
     3:3:java.lang.String toString():0:0 -> toString
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$DoubleValue -> com.android.tools.r8.internal.ox:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$DoubleValue -> com.android.tools.r8.internal.qx:
 # {"id":"sourceFile","fileName":"annotations.kt"}
     double value -> a
     1:1:void <init>(double):43:43 -> <init>
@@ -80529,7 +80660,7 @@
     2:2:java.lang.Double com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$DoubleValue.getValue():43:43 -> toString
     2:2:java.lang.String toString():0 -> toString
     3:3:java.lang.String toString():0:0 -> toString
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$EnumValue -> com.android.tools.r8.internal.px:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$EnumValue -> com.android.tools.r8.internal.rx:
 # {"id":"sourceFile","fileName":"annotations.kt"}
     java.lang.String enumClassName -> a
     java.lang.String enumEntryName -> b
@@ -80542,7 +80673,7 @@
     4:4:java.lang.String toString():0:0 -> toString
     5:5:java.lang.String toString():0:0 -> toString
     2:2:java.lang.String toString():0:0 -> toString
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$FloatValue -> com.android.tools.r8.internal.qx:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$FloatValue -> com.android.tools.r8.internal.sx:
 # {"id":"sourceFile","fileName":"annotations.kt"}
     float value -> a
     1:1:void <init>(float):42:42 -> <init>
@@ -80564,7 +80695,7 @@
     2:2:java.lang.Float com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$FloatValue.getValue():42:42 -> toString
     2:2:java.lang.String toString():0 -> toString
     3:3:java.lang.String toString():0:0 -> toString
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$IntValue -> com.android.tools.r8.internal.rx:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$IntValue -> com.android.tools.r8.internal.tx:
 # {"id":"sourceFile","fileName":"annotations.kt"}
     int value -> a
     1:1:void <init>(int):40:40 -> <init>
@@ -80587,7 +80718,7 @@
     2:2:java.lang.Integer com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$IntValue.getValue():40:40 -> toString
     2:2:java.lang.String toString():0 -> toString
     3:3:java.lang.String toString():0:0 -> toString
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$KClassValue -> com.android.tools.r8.internal.sx:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$KClassValue -> com.android.tools.r8.internal.ux:
 # {"id":"sourceFile","fileName":"annotations.kt"}
     java.lang.String className -> a
     int arrayDimensionCount -> b
@@ -80600,10 +80731,10 @@
     4:4:java.lang.String toString():0:0 -> toString
     5:5:java.lang.String toString():0:0 -> toString
     2:2:java.lang.String toString():0:0 -> toString
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$LiteralValue -> com.android.tools.r8.internal.tx:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$LiteralValue -> com.android.tools.r8.internal.vx:
 # {"id":"sourceFile","fileName":"annotations.kt"}
     1:1:void <init>():30:30 -> <init>
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$LongValue -> com.android.tools.r8.internal.ux:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$LongValue -> com.android.tools.r8.internal.wx:
 # {"id":"sourceFile","fileName":"annotations.kt"}
     long value -> a
     1:1:void <init>(long):41:41 -> <init>
@@ -80626,7 +80757,7 @@
     2:2:java.lang.Long com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$LongValue.getValue():41:41 -> toString
     2:2:java.lang.String toString():0 -> toString
     3:3:java.lang.String toString():0:0 -> toString
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ShortValue -> com.android.tools.r8.internal.vx:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ShortValue -> com.android.tools.r8.internal.xx:
 # {"id":"sourceFile","fileName":"annotations.kt"}
     short value -> a
     1:1:void <init>(short):39:39 -> <init>
@@ -80649,7 +80780,7 @@
     2:2:java.lang.Short com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ShortValue.getValue():39:39 -> toString
     2:2:java.lang.String toString():0 -> toString
     3:3:java.lang.String toString():0:0 -> toString
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$StringValue -> com.android.tools.r8.internal.wx:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$StringValue -> com.android.tools.r8.internal.yx:
 # {"id":"sourceFile","fileName":"annotations.kt"}
     java.lang.String value -> a
     1:1:void <init>(java.lang.String):59:59 -> <init>
@@ -80671,7 +80802,7 @@
     2:2:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$StringValue.getValue():59:59 -> toString
     2:2:java.lang.String toString():0 -> toString
     3:3:java.lang.String toString():0:0 -> toString
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$UByteValue -> com.android.tools.r8.internal.xx:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$UByteValue -> com.android.tools.r8.internal.zx:
 # {"id":"sourceFile","fileName":"annotations.kt"}
     byte value -> a
     1:1:void <init>(byte):48:48 -> <init>
@@ -80693,7 +80824,7 @@
     3:3:java.lang.String com.android.tools.r8.jetbrains.kotlin.UByte.toString-impl(byte):343:343 -> toString
     3:3:java.lang.String toString():0 -> toString
     4:4:java.lang.String toString():0:0 -> toString
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$UIntValue -> com.android.tools.r8.internal.yx:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$UIntValue -> com.android.tools.r8.internal.Ax:
 # {"id":"sourceFile","fileName":"annotations.kt"}
     int value -> a
     1:1:void <init>(int):54:54 -> <init>
@@ -80715,7 +80846,7 @@
     3:3:java.lang.String com.android.tools.r8.jetbrains.kotlin.UInt.toString-impl(int):365:365 -> toString
     3:3:java.lang.String toString():0 -> toString
     4:4:java.lang.String toString():0:0 -> toString
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ULongValue -> com.android.tools.r8.internal.zx:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ULongValue -> com.android.tools.r8.internal.Bx:
 # {"id":"sourceFile","fileName":"annotations.kt"}
     long value -> a
     1:1:void <init>(long):57:57 -> <init>
@@ -80744,7 +80875,7 @@
     12:12:java.lang.String com.android.tools.r8.jetbrains.kotlin.ULong.toString-impl(long):368 -> toString
     12:12:java.lang.String toString():0 -> toString
     13:13:java.lang.String toString():0:0 -> toString
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$UShortValue -> com.android.tools.r8.internal.Ax:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$UShortValue -> com.android.tools.r8.internal.Cx:
 # {"id":"sourceFile","fileName":"annotations.kt"}
     short value -> a
     1:1:void <init>(short):51:51 -> <init>
@@ -80766,7 +80897,7 @@
     3:3:java.lang.String com.android.tools.r8.jetbrains.kotlin.UShort.toString-impl(short):344:344 -> toString
     3:3:java.lang.String toString():0 -> toString
     4:4:java.lang.String toString():0:0 -> toString
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass -> com.android.tools.r8.internal.Bx:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass -> com.android.tools.r8.internal.Dx:
 # {"id":"sourceFile","fileName":"nodes.kt"}
     java.util.List extensions -> q
     java.util.List versionRequirements -> p
@@ -80853,9 +80984,9 @@
     1:1:java.util.List getSupertypes():54:54 -> p
     1:1:java.util.List getTypeParameters():49:49 -> q
     1:1:java.util.List getVersionRequirements():109:109 -> r
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassExtensionVisitor -> com.android.tools.r8.internal.Dx:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassExtensionVisitor -> com.android.tools.r8.internal.Fx:
 # {"id":"sourceFile","fileName":"extensions.kt"}
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor -> com.android.tools.r8.internal.Ex:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor -> com.android.tools.r8.internal.Gx:
 # {"id":"sourceFile","fileName":"visitors.kt"}
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):57:57 -> <init>
     2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):57:57 -> <init>
@@ -80874,10 +81005,10 @@
     1:1:void visitEnd():170 -> e
     2:2:void visitEnd():170:170 -> e
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement() -> f
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier -> com.android.tools.r8.internal.Gx:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier -> com.android.tools.r8.internal.Ix:
 # {"id":"sourceFile","fileName":"nodes.kt"}
     1:1:void <init>():972:972 -> <init>
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier$Class -> com.android.tools.r8.internal.Fx:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier$Class -> com.android.tools.r8.internal.Hx:
 # {"id":"sourceFile","fileName":"nodes.kt"}
     java.lang.String name -> a
     1:1:void <init>(java.lang.String):978:978 -> <init>
@@ -80888,7 +81019,7 @@
     4:4:java.lang.String toString():0:0 -> toString
     5:5:java.lang.String toString():0:0 -> toString
     2:2:java.lang.String toString():0:0 -> toString
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier$TypeAlias -> com.android.tools.r8.internal.Gx$a:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier$TypeAlias -> com.android.tools.r8.internal.Ix$a:
 # {"id":"sourceFile","fileName":"nodes.kt"}
     java.lang.String name -> a
     1:1:void <init>(java.lang.String):993:993 -> <init>
@@ -80899,7 +81030,7 @@
     4:4:java.lang.String toString():0:0 -> toString
     5:5:java.lang.String toString():0:0 -> toString
     2:2:java.lang.String toString():0:0 -> toString
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier$TypeParameter -> com.android.tools.r8.internal.Gx$b:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier$TypeParameter -> com.android.tools.r8.internal.Ix$b:
 # {"id":"sourceFile","fileName":"nodes.kt"}
     int id -> a
     1:1:void <init>(int):985:985 -> <init>
@@ -80910,7 +81041,7 @@
     4:4:java.lang.String toString():0:0 -> toString
     5:5:java.lang.String toString():0:0 -> toString
     2:2:java.lang.String toString():0:0 -> toString
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstantValue -> com.android.tools.r8.internal.Hx:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstantValue -> com.android.tools.r8.internal.Jx:
 # {"id":"sourceFile","fileName":"nodes.kt"}
     java.lang.Object value -> a
     1:1:void <init>(java.lang.Object):1042:1042 -> <init>
@@ -80921,7 +81052,7 @@
     4:4:java.lang.String toString():0:0 -> toString
     5:5:java.lang.String toString():0:0 -> toString
     2:2:java.lang.String toString():0:0 -> toString
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor -> com.android.tools.r8.internal.Ix:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor -> com.android.tools.r8.internal.Kx:
 # {"id":"sourceFile","fileName":"nodes.kt"}
     java.util.List extensions -> e
     java.util.List versionRequirements -> d
@@ -80941,9 +81072,9 @@
     1:1:int getFlags():307:307 -> c
     1:1:java.util.List getValueParameters():311:311 -> d
     1:1:java.util.List getVersionRequirements():316:316 -> e
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorExtensionVisitor -> com.android.tools.r8.internal.Kx:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorExtensionVisitor -> com.android.tools.r8.internal.Mx:
 # {"id":"sourceFile","fileName":"extensions.kt"}
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor -> com.android.tools.r8.internal.Lx:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor -> com.android.tools.r8.internal.Nx:
 # {"id":"sourceFile","fileName":"visitors.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor delegate -> a
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):263:263 -> <init>
@@ -80952,7 +81083,7 @@
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor visitValueParameter(int,java.lang.String) -> a
     1:1:void visitEnd():291:291 -> a
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement() -> b
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmContract -> com.android.tools.r8.internal.Mx:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmContract -> com.android.tools.r8.internal.Ox:
 # {"id":"sourceFile","fileName":"nodes.kt"}
     java.util.List effects -> b
     1:5:void <init>():832:836 -> <init>
@@ -80960,19 +81091,19 @@
     2:205:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor):847:847 -> a
     206:206:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor):848:848 -> a
     1:1:java.util.List getEffects():836:836 -> b
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor -> com.android.tools.r8.internal.Nx:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor -> com.android.tools.r8.internal.Px:
 # {"id":"sourceFile","fileName":"visitors.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor delegate -> a
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):732:732 -> <init>
     2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor):732:732 -> <init>
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectVisitor visitEffect(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind):741:741 -> a
     2:2:void visitEnd():747:747 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer -> com.android.tools.r8.internal.Ox:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer -> com.android.tools.r8.internal.Qx:
 # {"id":"sourceFile","fileName":"nodes.kt"}
     java.util.List getProperties() -> a
     java.util.List getTypeAliases() -> b
     java.util.List getFunctions() -> c
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor -> com.android.tools.r8.internal.Px:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor -> com.android.tools.r8.internal.Rx:
 # {"id":"sourceFile","fileName":"visitors.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor delegate -> a
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor):11:11 -> <init>
@@ -80980,7 +81111,7 @@
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor visitProperty(int,java.lang.String,int,int) -> a
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor visitTypeAlias(int,java.lang.String) -> b
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor getDelegate():11:11 -> d
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffect -> com.android.tools.r8.internal.Qx:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffect -> com.android.tools.r8.internal.Sx:
 # {"id":"sourceFile","fileName":"nodes.kt"}
     java.util.List constructorArguments -> d
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType type -> b
@@ -80996,7 +81127,7 @@
     1:1:java.util.List getConstructorArguments():870:870 -> e
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind getInvocationKind():864:864 -> f
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType getType():863:863 -> g
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpression -> com.android.tools.r8.internal.Rx:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpression -> com.android.tools.r8.internal.Tx:
 # {"id":"sourceFile","fileName":"nodes.kt"}
     java.lang.Integer parameterIndex -> c
     java.util.List andArguments -> f
@@ -81019,7 +81150,7 @@
     1:1:java.util.List getOrArguments():933:933 -> g
     1:1:java.lang.Integer getParameterIndex():911:911 -> h
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType isInstanceType():921:921 -> i
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor -> com.android.tools.r8.internal.Sx:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor -> com.android.tools.r8.internal.Ux:
 # {"id":"sourceFile","fileName":"visitors.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor delegate -> a
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):791:791 -> <init>
@@ -81030,7 +81161,7 @@
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor visitAndArgument():825:825 -> a
     1:1:void visitEnd():838:838 -> b
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor visitOrArgument() -> c
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind -> com.android.tools.r8.internal.Tx:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind -> com.android.tools.r8.internal.Vx:
 # {"id":"sourceFile","fileName":"visitors.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind AT_MOST_ONCE -> b
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind AT_LEAST_ONCE -> d
@@ -81042,7 +81173,7 @@
     5:5:void <clinit>():884:884 -> <clinit>
     1:1:void <init>(java.lang.String,int):881:881 -> <init>
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind[] values() -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType -> com.android.tools.r8.internal.Ux:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType -> com.android.tools.r8.internal.Wx:
 # {"id":"sourceFile","fileName":"visitors.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType RETURNS_CONSTANT -> b
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType RETURNS_NOT_NULL -> d
@@ -81054,7 +81185,7 @@
     5:5:void <clinit>():872:872 -> <clinit>
     1:1:void <init>(java.lang.String,int):869:869 -> <init>
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType[] values() -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectVisitor -> com.android.tools.r8.internal.Vx:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectVisitor -> com.android.tools.r8.internal.Xx:
 # {"id":"sourceFile","fileName":"visitors.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectVisitor delegate -> a
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):760:760 -> <init>
@@ -81062,7 +81193,7 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor visitConclusionOfConditionalEffect():773:773 -> a
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor visitConstructorArgument():766:766 -> b
     1:1:void visitEnd():779:779 -> c
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType -> com.android.tools.r8.internal.Xx:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType -> com.android.tools.r8.internal.Zx:
 # {"id":"sourceFile","fileName":"extensions.kt"}
     com.android.tools.r8.jetbrains.kotlin.reflect.KClass klass -> a
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlin.reflect.KClass):31:31 -> <init>
@@ -81074,9 +81205,9 @@
     2:30:java.lang.Class com.android.tools.r8.jetbrains.kotlin.jvm.JvmClassMappingKt.getJavaClass(com.android.tools.r8.jetbrains.kotlin.reflect.KClass):0:28 -> toString
     2:30:java.lang.String toString():39 -> toString
     31:31:java.lang.String toString():39:39 -> toString
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor -> com.android.tools.r8.internal.Yx:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor -> com.android.tools.r8.internal.ay:
 # {"id":"sourceFile","fileName":"extensions.kt"}
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmFlexibleTypeUpperBound -> com.android.tools.r8.internal.Zx:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmFlexibleTypeUpperBound -> com.android.tools.r8.internal.by:
 # {"id":"sourceFile","fileName":"nodes.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmType type -> a
     java.lang.String typeFlexibilityId -> b
@@ -81089,7 +81220,7 @@
     4:4:java.lang.String toString():0:0 -> toString
     5:5:java.lang.String toString():0:0 -> toString
     2:2:java.lang.String toString():0:0 -> toString
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction -> com.android.tools.r8.internal.ay:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction -> com.android.tools.r8.internal.cy:
 # {"id":"sourceFile","fileName":"nodes.kt"}
     java.util.List valueParameters -> f
     java.util.List typeParameters -> d
@@ -81128,9 +81259,9 @@
     1:1:java.util.List getTypeParameters():356:356 -> i
     1:1:java.util.List getValueParameters():366:366 -> j
     1:1:java.util.List getVersionRequirements():376:376 -> k
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionExtensionVisitor -> com.android.tools.r8.internal.cy:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionExtensionVisitor -> com.android.tools.r8.internal.ey:
 # {"id":"sourceFile","fileName":"extensions.kt"}
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor -> com.android.tools.r8.internal.dy:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor -> com.android.tools.r8.internal.fy:
 # {"id":"sourceFile","fileName":"visitors.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor delegate -> a
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor):301:301 -> <init>
@@ -81143,21 +81274,21 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitReturnType(int):337:337 -> b
     2:2:void visitEnd():363:363 -> b
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():343:343 -> c
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda -> com.android.tools.r8.internal.ey:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda -> com.android.tools.r8.internal.gy:
 # {"id":"sourceFile","fileName":"nodes.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction function -> b
     1:1:void <init>():282:282 -> <init>
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor visitFunction(int,java.lang.String):289:289 -> a
     2:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda.setFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):286:286 -> a
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor visitFunction(int,java.lang.String):289 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor -> com.android.tools.r8.internal.fy:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor -> com.android.tools.r8.internal.hy:
 # {"id":"sourceFile","fileName":"visitors.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor delegate -> a
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):240:240 -> <init>
     2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor):240:240 -> <init>
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor visitFunction(int,java.lang.String):248:248 -> a
     2:2:void visitEnd():254:254 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage -> com.android.tools.r8.internal.gy:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage -> com.android.tools.r8.internal.iy:
 # {"id":"sourceFile","fileName":"nodes.kt"}
     java.util.List functions -> b
     java.util.List extensions -> e
@@ -81197,9 +81328,9 @@
     3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor visitTypeAlias(int,java.lang.String):220 -> b
     4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor visitTypeAlias(int,java.lang.String):220:220 -> b
     1:1:java.util.List getFunctions():198:198 -> c
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageExtensionVisitor -> com.android.tools.r8.internal.iy:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageExtensionVisitor -> com.android.tools.r8.internal.ky:
 # {"id":"sourceFile","fileName":"extensions.kt"}
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor -> com.android.tools.r8.internal.jy:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor -> com.android.tools.r8.internal.ly:
 # {"id":"sourceFile","fileName":"visitors.kt"}
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):179:179 -> <init>
     2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor):179:179 -> <init>
@@ -81207,7 +81338,7 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor.getDelegate():181:181 -> e
     1:1:void visitEnd():195 -> e
     2:2:void visitEnd():195:195 -> e
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty -> com.android.tools.r8.internal.ky:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty -> com.android.tools.r8.internal.my:
 # {"id":"sourceFile","fileName":"nodes.kt"}
     java.util.List typeParameters -> f
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameter setterParameter -> h
@@ -81246,9 +81377,9 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameter getSetterParameter():453:453 -> i
     1:1:java.util.List getTypeParameters():443:443 -> j
     1:1:java.util.List getVersionRequirements():463:463 -> k
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyExtensionVisitor -> com.android.tools.r8.internal.my:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyExtensionVisitor -> com.android.tools.r8.internal.oy:
 # {"id":"sourceFile","fileName":"extensions.kt"}
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor -> com.android.tools.r8.internal.ny:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor -> com.android.tools.r8.internal.py:
 # {"id":"sourceFile","fileName":"visitors.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor delegate -> a
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor):373:373 -> <init>
@@ -81260,7 +81391,7 @@
     5:5:void visitEnd():429:429 -> a
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitReturnType(int):409:409 -> b
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():415:415 -> b
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmType -> com.android.tools.r8.internal.oy:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmType -> com.android.tools.r8.internal.qy:
 # {"id":"sourceFile","fileName":"nodes.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmFlexibleTypeUpperBound flexibleTypeUpperBound -> g
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier classifier -> c
@@ -81306,7 +81437,7 @@
     1:1:int getFlags():668:668 -> e
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFlexibleTypeUpperBound getFlexibleTypeUpperBound():707:707 -> f
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType getOuterType():700:700 -> g
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias -> com.android.tools.r8.internal.py:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias -> com.android.tools.r8.internal.ry:
 # {"id":"sourceFile","fileName":"nodes.kt"}
     java.util.List typeParameters -> d
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmType expandedType -> f
@@ -81360,7 +81491,7 @@
     1:1:java.lang.String getName():510:510 -> e
     1:1:java.util.List getTypeParameters():515:515 -> f
     1:1:java.util.List getVersionRequirements():536:536 -> g
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor -> com.android.tools.r8.internal.ry:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor -> com.android.tools.r8.internal.ty:
 # {"id":"sourceFile","fileName":"visitors.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor delegate -> a
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):439:439 -> <init>
@@ -81372,9 +81503,9 @@
     4:4:void visitEnd():496:496 -> a
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitUnderlyingType(int):458:458 -> b
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():482:482 -> b
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeExtensionVisitor -> com.android.tools.r8.internal.ty:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeExtensionVisitor -> com.android.tools.r8.internal.vy:
 # {"id":"sourceFile","fileName":"extensions.kt"}
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter -> com.android.tools.r8.internal.uy:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter -> com.android.tools.r8.internal.wy:
 # {"id":"sourceFile","fileName":"nodes.kt"}
     java.util.List upperBounds -> f
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance variance -> e
@@ -81397,9 +81528,9 @@
     1:1:java.lang.String getName():633:633 -> d
     1:1:java.util.List getUpperBounds():640:640 -> e
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance getVariance():635:635 -> f
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterExtensionVisitor -> com.android.tools.r8.internal.wy:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterExtensionVisitor -> com.android.tools.r8.internal.yy:
 # {"id":"sourceFile","fileName":"extensions.kt"}
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor -> com.android.tools.r8.internal.xy:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor -> com.android.tools.r8.internal.zy:
 # {"id":"sourceFile","fileName":"visitors.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor delegate -> a
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):544:544 -> <init>
@@ -81407,7 +81538,7 @@
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType) -> a
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitUpperBound(int):551:551 -> a
     2:2:void visitEnd():565:565 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeProjection -> com.android.tools.r8.internal.yy:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeProjection -> com.android.tools.r8.internal.Ay:
 # {"id":"sourceFile","fileName":"nodes.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmType type -> b
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance variance -> a
@@ -81424,7 +81555,7 @@
     4:4:java.lang.String toString():0:0 -> toString
     5:5:java.lang.String toString():0:0 -> toString
     2:2:java.lang.String toString():0:0 -> toString
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor -> com.android.tools.r8.internal.zy:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor -> com.android.tools.r8.internal.By:
 # {"id":"sourceFile","fileName":"visitors.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor delegate -> a
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor):580:580 -> <init>
@@ -81439,7 +81570,7 @@
     2:2:void visitStarProjection():624:624 -> b
     3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitOuterType(int):654:654 -> b
     1:1:void visitTypeParameter(int):606:606 -> c
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameter -> com.android.tools.r8.internal.Ay:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameter -> com.android.tools.r8.internal.Cy:
 # {"id":"sourceFile","fileName":"nodes.kt"}
     java.util.List extensions -> f
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmType type -> d
@@ -81461,7 +81592,7 @@
     1:1:java.lang.String getName():584:584 -> c
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType getType():590:590 -> d
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType getVarargElementType():595:595 -> e
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor -> com.android.tools.r8.internal.Cy:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor -> com.android.tools.r8.internal.Ey:
 # {"id":"sourceFile","fileName":"visitors.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor delegate -> a
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):506:506 -> <init>
@@ -81470,14 +81601,14 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitType(int):513:513 -> a
     2:2:void visitEnd():535:535 -> a
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitVarargElementType(int):521:521 -> b
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance -> com.android.tools.r8.internal.Dy:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance -> com.android.tools.r8.internal.Fy:
 # {"id":"sourceFile","fileName":"visitors.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance INVARIANT -> b
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance OUT -> d
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance IN -> c
     1:11:void <clinit>():850:860 -> <clinit>
     1:1:void <init>(java.lang.String,int):846:846 -> <init>
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersion -> com.android.tools.r8.internal.Ey:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersion -> com.android.tools.r8.internal.Gy:
 # {"id":"sourceFile","fileName":"nodes.kt"}
     int minor -> b
     int patch -> c
@@ -81487,7 +81618,7 @@
     1:1:int getMinor():1030:1030 -> b
     1:1:int getPatch():1030:1030 -> c
     1:1:java.lang.String toString():1031:1031 -> toString
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement -> com.android.tools.r8.internal.Fy:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement -> com.android.tools.r8.internal.Hy:
 # {"id":"sourceFile","fileName":"nodes.kt"}
     java.lang.Integer errorCode -> d
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel level -> c
@@ -81525,7 +81656,7 @@
     21:21:void visitVersion(int,int,int):811 -> a
     1:1:java.lang.Integer getErrorCode():791:791 -> b
     1:1:java.lang.String getMessage():796:796 -> c
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel -> com.android.tools.r8.internal.Gy:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel -> com.android.tools.r8.internal.Iy:
 # {"id":"sourceFile","fileName":"visitors.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel HIDDEN -> d
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel ERROR -> c
@@ -81536,7 +81667,7 @@
     4:4:void <clinit>():893 -> <clinit>
     5:5:void <clinit>():893:893 -> <clinit>
     1:1:void <init>(java.lang.String,int):890:890 -> <init>
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind -> com.android.tools.r8.internal.Hy:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind -> com.android.tools.r8.internal.Jy:
 # {"id":"sourceFile","fileName":"visitors.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind COMPILER_VERSION -> c
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind API_VERSION -> d
@@ -81547,7 +81678,7 @@
     4:4:void <clinit>():902 -> <clinit>
     5:5:void <clinit>():902:902 -> <clinit>
     1:1:void <init>(java.lang.String,int):899:899 -> <init>
-com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor -> com.android.tools.r8.internal.Iy:
+com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor -> com.android.tools.r8.internal.Ky:
 # {"id":"sourceFile","fileName":"visitors.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor delegate -> a
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):691:691 -> <init>
@@ -81555,10 +81686,10 @@
     void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel,java.lang.Integer,java.lang.String) -> a
     void visitVersion(int,int,int) -> a
     1:1:void visitEnd():720:720 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.NodesKt -> com.android.tools.r8.internal.zH:
+com.android.tools.r8.jetbrains.kotlinx.metadata.NodesKt -> com.android.tools.r8.internal.EH:
 # {"id":"sourceFile","fileName":"nodes.kt"}
     1:1:java.lang.Object addTo(java.lang.Object,java.util.Collection):1045:1045 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter -> com.android.tools.r8.internal.qb:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter -> com.android.tools.r8.internal.rb:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder t -> b
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable,java.util.List,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):413:413 -> <init>
@@ -81610,63 +81741,63 @@
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():468 -> f
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext getC():415:415 -> g
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder getT():414:414 -> h
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitConstructor$1 -> com.android.tools.r8.internal.hb:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitConstructor$1 -> com.android.tools.r8.internal.ib:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter this$0 -> b
     1:1:java.lang.Object invoke(java.lang.Object):431:431 -> a
     2:433:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitConstructor$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder):0:431 -> a
     2:433:java.lang.Object invoke(java.lang.Object):431 -> a
     434:434:java.lang.Object invoke(java.lang.Object):431:431 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitFunction$1 -> com.android.tools.r8.internal.ib:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitFunction$1 -> com.android.tools.r8.internal.jb:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter this$0 -> b
     1:1:java.lang.Object invoke(java.lang.Object):434:434 -> a
     2:436:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitFunction$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder):0:434 -> a
     2:436:java.lang.Object invoke(java.lang.Object):434 -> a
     437:437:java.lang.Object invoke(java.lang.Object):434:434 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitInlineClassUnderlyingType$1 -> com.android.tools.r8.internal.jb:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitInlineClassUnderlyingType$1 -> com.android.tools.r8.internal.kb:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter this$0 -> b
     1:1:java.lang.Object invoke(java.lang.Object):465:465 -> a
     2:467:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitInlineClassUnderlyingType$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:465 -> a
     2:467:java.lang.Object invoke(java.lang.Object):465 -> a
     468:468:java.lang.Object invoke(java.lang.Object):465:465 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitProperty$1 -> com.android.tools.r8.internal.kb:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitProperty$1 -> com.android.tools.r8.internal.lb:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter this$0 -> b
     1:1:java.lang.Object invoke(java.lang.Object):437:437 -> a
     2:439:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitProperty$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):0:437 -> a
     2:439:java.lang.Object invoke(java.lang.Object):437 -> a
     440:440:java.lang.Object invoke(java.lang.Object):437:437 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitSupertype$1 -> com.android.tools.r8.internal.lb:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitSupertype$1 -> com.android.tools.r8.internal.mb:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter this$0 -> b
     1:1:java.lang.Object invoke(java.lang.Object):428:428 -> a
     2:430:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitSupertype$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:428 -> a
     2:430:java.lang.Object invoke(java.lang.Object):428 -> a
     431:431:java.lang.Object invoke(java.lang.Object):428:428 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitTypeAlias$1 -> com.android.tools.r8.internal.mb:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitTypeAlias$1 -> com.android.tools.r8.internal.nb:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter this$0 -> b
     1:1:java.lang.Object invoke(java.lang.Object):440:440 -> a
     2:442:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitTypeAlias$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder):0:440 -> a
     2:442:java.lang.Object invoke(java.lang.Object):440 -> a
     443:443:java.lang.Object invoke(java.lang.Object):440:440 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitTypeParameter$1 -> com.android.tools.r8.internal.nb:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitTypeParameter$1 -> com.android.tools.r8.internal.ob:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter this$0 -> b
     1:1:java.lang.Object invoke(java.lang.Object):425:425 -> a
     2:427:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitTypeParameter$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):0:425 -> a
     2:427:java.lang.Object invoke(java.lang.Object):425 -> a
     428:428:java.lang.Object invoke(java.lang.Object):425:425 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitVersionRequirement$1 -> com.android.tools.r8.internal.ob:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitVersionRequirement$1 -> com.android.tools.r8.internal.pb:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter this$0 -> b
     1:1:java.lang.Object invoke(java.lang.Object):468:468 -> a
     2:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitVersionRequirement$1.invoke(int):468:468 -> a
     2:2:java.lang.Object invoke(java.lang.Object):468 -> a
     3:3:java.lang.Object invoke(java.lang.Object):468:468 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.LambdaWriter -> com.android.tools.r8.internal.bB:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.LambdaWriter -> com.android.tools.r8.internal.dB:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder t -> b
     1:3:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable):532:534 -> <init>
@@ -81677,14 +81808,14 @@
     3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor visitFunction(int,java.lang.String):537 -> a
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext getC():534:534 -> b
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder getT():533:533 -> c
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.LambdaWriter$visitFunction$1 -> com.android.tools.r8.internal.aB:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.LambdaWriter$visitFunction$1 -> com.android.tools.r8.internal.cB:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.LambdaWriter this$0 -> b
     1:1:java.lang.Object invoke(java.lang.Object):537:537 -> a
     2:539:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.LambdaWriter$visitFunction$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder):0:537 -> a
     2:539:java.lang.Object invoke(java.lang.Object):537 -> a
     540:540:java.lang.Object invoke(java.lang.Object):537:537 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.PackageWriter -> com.android.tools.r8.internal.HL:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.PackageWriter -> com.android.tools.r8.internal.ML:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder t -> b
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable,java.util.List,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):482:482 -> <init>
@@ -81710,28 +81841,28 @@
     1:2:void visitEnd():501:502 -> e
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext getC():484:484 -> f
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder getT():483:483 -> g
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.PackageWriter$visitFunction$1 -> com.android.tools.r8.internal.EL:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.PackageWriter$visitFunction$1 -> com.android.tools.r8.internal.JL:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.PackageWriter this$0 -> b
     1:1:java.lang.Object invoke(java.lang.Object):487:487 -> a
     2:489:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.PackageWriter$visitFunction$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder):0:487 -> a
     2:489:java.lang.Object invoke(java.lang.Object):487 -> a
     490:490:java.lang.Object invoke(java.lang.Object):487:487 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.PackageWriter$visitProperty$1 -> com.android.tools.r8.internal.FL:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.PackageWriter$visitProperty$1 -> com.android.tools.r8.internal.KL:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.PackageWriter this$0 -> b
     1:1:java.lang.Object invoke(java.lang.Object):490:490 -> a
     2:492:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.PackageWriter$visitProperty$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):0:490 -> a
     2:492:java.lang.Object invoke(java.lang.Object):490 -> a
     493:493:java.lang.Object invoke(java.lang.Object):490:490 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.PackageWriter$visitTypeAlias$1 -> com.android.tools.r8.internal.GL:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.PackageWriter$visitTypeAlias$1 -> com.android.tools.r8.internal.LL:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.PackageWriter this$0 -> b
     1:1:java.lang.Object invoke(java.lang.Object):493:493 -> a
     2:495:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.PackageWriter$visitTypeAlias$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder):0:493 -> a
     2:495:java.lang.Object invoke(java.lang.Object):493 -> a
     496:496:java.lang.Object invoke(java.lang.Object):493:493 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext -> com.android.tools.r8.internal.lQ:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext -> com.android.tools.r8.internal.qQ:
 # {"id":"sourceFile","fileName":"readers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable types -> b
     java.util.List contextExtensions -> e
@@ -81751,7 +81882,7 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable getTypes():23:23 -> c
     2:2:java.lang.Integer getTypeParameterId(int):39:39 -> c
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable getVersionRequirements$kotlinx_metadata():24:24 -> d
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadUtilsKt -> com.android.tools.r8.internal.nQ:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadUtilsKt -> com.android.tools.r8.internal.sQ:
 # {"id":"sourceFile","fileName":"readUtils.kt"}
     1:53:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation readAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):18:70 -> a
     54:54:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation readAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):69:69 -> a
@@ -81790,10 +81921,10 @@
     213:213:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver.getQualifiedClassName(int):74:74 -> a
     213:213:java.lang.String getClassName(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,int):57 -> a
     214:214:java.lang.String getClassName(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,int):58:58 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadUtilsKt$WhenMappings -> com.android.tools.r8.internal.mQ:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadUtilsKt$WhenMappings -> com.android.tools.r8.internal.rQ:
 # {"id":"sourceFile","fileName":"readUtils.kt"}
     int[] $EnumSwitchMapping$0 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt -> com.android.tools.r8.internal.oQ:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt -> com.android.tools.r8.internal.tQ:
 # {"id":"sourceFile","fileName":"readers.kt"}
     1:1:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):52:52 -> a
     2:59:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):0:57 -> a
@@ -82117,7 +82248,7 @@
     1:1:int getPropertySetterFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):507:507 -> b
     2:2:int com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.getDefaultPropertyAccessorFlags(int):510:510 -> b
     2:2:int getPropertySetterFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):507 -> b
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext -> com.android.tools.r8.internal.z30:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext -> com.android.tools.r8.internal.F30:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableVersionRequirementTable versionRequirements -> b
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable strings -> a
@@ -82127,7 +82258,7 @@
     2:2:int get(java.lang.String):26:26 -> a
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableVersionRequirementTable getVersionRequirements():23:23 -> b
     2:2:int getClassName(java.lang.String):29:29 -> b
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteUtilsKt -> com.android.tools.r8.internal.A30:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteUtilsKt -> com.android.tools.r8.internal.G30:
 # {"id":"sourceFile","fileName":"writeUtils.kt"}
     1:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder writeAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable):17:22 -> a
     7:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.build():3058:3059 -> a
@@ -82152,10 +82283,10 @@
     92:92:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.build():4371:4371 -> a
     92:92:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder writeAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable):99 -> a
     93:96:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder writeAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable):101:104 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt -> com.android.tools.r8.internal.x40:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt -> com.android.tools.r8.internal.D40:
 # {"id":"sourceFile","fileName":"writers.kt"}
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor writeProperty(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,int,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):189:189 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeConstructor$1 -> com.android.tools.r8.internal.D30:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeConstructor$1 -> com.android.tools.r8.internal.J30:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1 $output -> e
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder t -> b
@@ -82182,7 +82313,7 @@
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeVersionRequirement(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> b
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():136 -> b
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder getT():130:130 -> c
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeConstructor$1$visitValueParameter$1 -> com.android.tools.r8.internal.B30:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeConstructor$1$visitValueParameter$1 -> com.android.tools.r8.internal.H30:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeConstructor$1 this$0 -> b
     1:1:java.lang.Object invoke(java.lang.Object):133:133 -> a
@@ -82201,14 +82332,14 @@
     141:141:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.build():18809:18809 -> a
     141:141:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeConstructor$1$visitValueParameter$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder):133 -> a
     141:141:java.lang.Object invoke(java.lang.Object):133 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeConstructor$1$visitVersionRequirement$1 -> com.android.tools.r8.internal.C30:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeConstructor$1$visitVersionRequirement$1 -> com.android.tools.r8.internal.I30:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeConstructor$1 this$0 -> b
     1:1:java.lang.Object invoke(java.lang.Object):136:136 -> a
     2:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeConstructor$1$visitVersionRequirement$1.invoke(int):136:136 -> a
     2:2:java.lang.Object invoke(java.lang.Object):136 -> a
     3:3:java.lang.Object invoke(java.lang.Object):136:136 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeContract$1 -> com.android.tools.r8.internal.F30:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeContract$1 -> com.android.tools.r8.internal.L30:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1 $output -> d
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder t -> b
@@ -82220,14 +82351,14 @@
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectVisitor visitEffect(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind):341 -> a
     3:3:void visitEnd():344:344 -> a
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder getT():338:338 -> b
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeContract$1$visitEffect$1 -> com.android.tools.r8.internal.E30:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeContract$1$visitEffect$1 -> com.android.tools.r8.internal.K30:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeContract$1 this$0 -> b
     1:1:java.lang.Object invoke(java.lang.Object):341:341 -> a
     2:343:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeContract$1$visitEffect$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder):0:341 -> a
     2:343:java.lang.Object invoke(java.lang.Object):341 -> a
     344:344:java.lang.Object invoke(java.lang.Object):341:341 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffect$1 -> com.android.tools.r8.internal.J30:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffect$1 -> com.android.tools.r8.internal.P30:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1 $output -> f
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder t -> b
@@ -82249,10 +82380,10 @@
     15:15:void visitEnd():369:369 -> c
     16:21:void visitEnd():368:373 -> c
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder getT():352:352 -> d
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffect$1$WhenMappings -> com.android.tools.r8.internal.G30:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffect$1$WhenMappings -> com.android.tools.r8.internal.M30:
 # {"id":"sourceFile","fileName":"writers.kt"}
     int[] $EnumSwitchMapping$1 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffect$1$visitConclusionOfConditionalEffect$1 -> com.android.tools.r8.internal.H30:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffect$1$visitConclusionOfConditionalEffect$1 -> com.android.tools.r8.internal.N30:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffect$1 this$0 -> b
     1:1:java.lang.Object invoke(java.lang.Object):358:358 -> a
@@ -82271,14 +82402,14 @@
     366:366:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.build():25929:25929 -> a
     366:366:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffect$1$visitConclusionOfConditionalEffect$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):358 -> a
     366:366:java.lang.Object invoke(java.lang.Object):358 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffect$1$visitConstructorArgument$1 -> com.android.tools.r8.internal.I30:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffect$1$visitConstructorArgument$1 -> com.android.tools.r8.internal.O30:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffect$1 this$0 -> b
     1:1:java.lang.Object invoke(java.lang.Object):355:355 -> a
     2:357:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffect$1$visitConstructorArgument$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):0:355 -> a
     2:357:java.lang.Object invoke(java.lang.Object):355 -> a
     358:358:java.lang.Object invoke(java.lang.Object):355:355 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffectExpression$1 -> com.android.tools.r8.internal.N30:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffectExpression$1 -> com.android.tools.r8.internal.T30:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1 $output -> d
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder t -> b
@@ -82300,28 +82431,28 @@
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeEffectExpression(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> c
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor visitOrArgument():406 -> c
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder getT():379:379 -> d
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffectExpression$1$visitAndArgument$1 -> com.android.tools.r8.internal.K30:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffectExpression$1$visitAndArgument$1 -> com.android.tools.r8.internal.Q30:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffectExpression$1 this$0 -> b
     1:1:java.lang.Object invoke(java.lang.Object):403:403 -> a
     2:405:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffectExpression$1$visitAndArgument$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):0:403 -> a
     2:405:java.lang.Object invoke(java.lang.Object):403 -> a
     406:406:java.lang.Object invoke(java.lang.Object):403:403 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffectExpression$1$visitIsInstanceType$1 -> com.android.tools.r8.internal.L30:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffectExpression$1$visitIsInstanceType$1 -> com.android.tools.r8.internal.R30:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffectExpression$1 this$0 -> b
     1:1:java.lang.Object invoke(java.lang.Object):400:400 -> a
     2:402:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffectExpression$1$visitIsInstanceType$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:400 -> a
     2:402:java.lang.Object invoke(java.lang.Object):400 -> a
     403:403:java.lang.Object invoke(java.lang.Object):400:400 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffectExpression$1$visitOrArgument$1 -> com.android.tools.r8.internal.M30:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffectExpression$1$visitOrArgument$1 -> com.android.tools.r8.internal.S30:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffectExpression$1 this$0 -> b
     1:1:java.lang.Object invoke(java.lang.Object):406:406 -> a
     2:408:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffectExpression$1$visitOrArgument$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):0:406 -> a
     2:408:java.lang.Object invoke(java.lang.Object):406 -> a
     409:409:java.lang.Object invoke(java.lang.Object):406:406 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1 -> com.android.tools.r8.internal.V30:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1 -> com.android.tools.r8.internal.b40:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder t -> b
     int $flags -> e
@@ -82356,7 +82487,7 @@
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeVersionRequirement(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> c
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():168 -> c
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder getT():153:153 -> d
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitContract$1 -> com.android.tools.r8.internal.O30:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitContract$1 -> com.android.tools.r8.internal.U30:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1 this$0 -> b
     1:1:java.lang.Object invoke(java.lang.Object):171:171 -> a
@@ -82375,7 +82506,7 @@
     179:179:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder.build():23900:23900 -> a
     179:179:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitContract$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder):171 -> a
     179:179:java.lang.Object invoke(java.lang.Object):171 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitExtensions$1 -> com.android.tools.r8.internal.P30:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitExtensions$1 -> com.android.tools.r8.internal.V30:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType $type -> b
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1 this$0 -> c
@@ -82383,42 +82514,42 @@
     1:1:java.lang.Object invoke(java.lang.Object):174:174 -> a
     2:177:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitExtensions$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions):0:175 -> a
     2:177:java.lang.Object invoke(java.lang.Object):174 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitReceiverParameterType$1 -> com.android.tools.r8.internal.Q30:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitReceiverParameterType$1 -> com.android.tools.r8.internal.W30:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1 this$0 -> b
     1:1:java.lang.Object invoke(java.lang.Object):159:159 -> a
     2:161:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitReceiverParameterType$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:159 -> a
     2:161:java.lang.Object invoke(java.lang.Object):159 -> a
     162:162:java.lang.Object invoke(java.lang.Object):159:159 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitReturnType$1 -> com.android.tools.r8.internal.R30:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitReturnType$1 -> com.android.tools.r8.internal.X30:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1 this$0 -> b
     1:1:java.lang.Object invoke(java.lang.Object):165:165 -> a
     2:167:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitReturnType$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:165 -> a
     2:167:java.lang.Object invoke(java.lang.Object):165 -> a
     168:168:java.lang.Object invoke(java.lang.Object):165:165 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitTypeParameter$1 -> com.android.tools.r8.internal.S30:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitTypeParameter$1 -> com.android.tools.r8.internal.Y30:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1 this$0 -> b
     1:1:java.lang.Object invoke(java.lang.Object):156:156 -> a
     2:158:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitTypeParameter$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):0:156 -> a
     2:158:java.lang.Object invoke(java.lang.Object):156 -> a
     159:159:java.lang.Object invoke(java.lang.Object):156:156 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitValueParameter$1 -> com.android.tools.r8.internal.T30:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitValueParameter$1 -> com.android.tools.r8.internal.Z30:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1 this$0 -> b
     1:1:java.lang.Object invoke(java.lang.Object):162:162 -> a
     2:164:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitValueParameter$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder):0:162 -> a
     2:164:java.lang.Object invoke(java.lang.Object):162 -> a
     165:165:java.lang.Object invoke(java.lang.Object):162:162 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitVersionRequirement$1 -> com.android.tools.r8.internal.U30:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitVersionRequirement$1 -> com.android.tools.r8.internal.a40:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1 this$0 -> b
     1:1:java.lang.Object invoke(java.lang.Object):168:168 -> a
     2:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitVersionRequirement$1.invoke(int):168:168 -> a
     2:2:java.lang.Object invoke(java.lang.Object):168 -> a
     3:3:java.lang.Object invoke(java.lang.Object):168:168 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1 -> com.android.tools.r8.internal.c40:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1 -> com.android.tools.r8.internal.i40:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder t -> b
     int $getterFlags -> f
@@ -82451,7 +82582,7 @@
     4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeVersionRequirement(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> b
     4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():205 -> b
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder getT():190:190 -> c
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitExtensions$1 -> com.android.tools.r8.internal.W30:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitExtensions$1 -> com.android.tools.r8.internal.c40:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType $type -> b
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> d
@@ -82459,21 +82590,21 @@
     1:1:java.lang.Object invoke(java.lang.Object):208:208 -> a
     2:211:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitExtensions$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions):0:209 -> a
     2:211:java.lang.Object invoke(java.lang.Object):208 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitReceiverParameterType$1 -> com.android.tools.r8.internal.X30:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitReceiverParameterType$1 -> com.android.tools.r8.internal.d40:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1 this$0 -> b
     1:1:java.lang.Object invoke(java.lang.Object):196:196 -> a
     2:198:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitReceiverParameterType$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:196 -> a
     2:198:java.lang.Object invoke(java.lang.Object):196 -> a
     199:199:java.lang.Object invoke(java.lang.Object):196:196 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitReturnType$1 -> com.android.tools.r8.internal.Y30:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitReturnType$1 -> com.android.tools.r8.internal.e40:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1 this$0 -> b
     1:1:java.lang.Object invoke(java.lang.Object):202:202 -> a
     2:204:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitReturnType$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:202 -> a
     2:204:java.lang.Object invoke(java.lang.Object):202 -> a
     205:205:java.lang.Object invoke(java.lang.Object):202:202 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitSetterParameter$1 -> com.android.tools.r8.internal.Z30:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitSetterParameter$1 -> com.android.tools.r8.internal.f40:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1 this$0 -> b
     1:1:java.lang.Object invoke(java.lang.Object):199:199 -> a
@@ -82492,21 +82623,21 @@
     207:207:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.build():18809:18809 -> a
     207:207:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitSetterParameter$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder):199 -> a
     207:207:java.lang.Object invoke(java.lang.Object):199 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitTypeParameter$1 -> com.android.tools.r8.internal.a40:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitTypeParameter$1 -> com.android.tools.r8.internal.g40:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1 this$0 -> b
     1:1:java.lang.Object invoke(java.lang.Object):193:193 -> a
     2:195:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitTypeParameter$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):0:193 -> a
     2:195:java.lang.Object invoke(java.lang.Object):193 -> a
     196:196:java.lang.Object invoke(java.lang.Object):193:193 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitVersionRequirement$1 -> com.android.tools.r8.internal.b40:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitVersionRequirement$1 -> com.android.tools.r8.internal.h40:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1 this$0 -> b
     1:1:java.lang.Object invoke(java.lang.Object):205:205 -> a
     2:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitVersionRequirement$1.invoke(int):205:205 -> a
     2:2:java.lang.Object invoke(java.lang.Object):205 -> a
     3:3:java.lang.Object invoke(java.lang.Object):205:205 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1 -> com.android.tools.r8.internal.h40:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1 -> com.android.tools.r8.internal.n40:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder t -> b
     com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1 $output -> e
@@ -82545,14 +82676,14 @@
     6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> b
     6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitOuterType(int):101 -> b
     1:1:void visitTypeParameter(int):94:94 -> c
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1$visitAbbreviatedType$1 -> com.android.tools.r8.internal.d40:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1$visitAbbreviatedType$1 -> com.android.tools.r8.internal.j40:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1 this$0 -> b
     1:1:java.lang.Object invoke(java.lang.Object):98:98 -> a
     2:100:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1$visitAbbreviatedType$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:98 -> a
     2:100:java.lang.Object invoke(java.lang.Object):98 -> a
     101:101:java.lang.Object invoke(java.lang.Object):98:98 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1$visitArgument$1 -> com.android.tools.r8.internal.e40:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1$visitArgument$1 -> com.android.tools.r8.internal.k40:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance $variance -> c
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1 this$0 -> b
@@ -82562,7 +82693,7 @@
     92:92:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1$visitArgument$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):83:83 -> a
     92:92:java.lang.Object invoke(java.lang.Object):82 -> a
     93:93:java.lang.Object invoke(java.lang.Object):82:82 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1$visitFlexibleTypeUpperBound$1 -> com.android.tools.r8.internal.f40:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1$visitFlexibleTypeUpperBound$1 -> com.android.tools.r8.internal.l40:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> d
     java.lang.String $typeFlexibilityId -> b
@@ -82571,14 +82702,14 @@
     2:110:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1$visitFlexibleTypeUpperBound$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:108 -> a
     2:110:java.lang.Object invoke(java.lang.Object):104 -> a
     111:111:java.lang.Object invoke(java.lang.Object):104:104 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1$visitOuterType$1 -> com.android.tools.r8.internal.g40:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1$visitOuterType$1 -> com.android.tools.r8.internal.m40:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1 this$0 -> b
     1:1:java.lang.Object invoke(java.lang.Object):101:101 -> a
     2:103:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1$visitOuterType$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:101 -> a
     2:103:java.lang.Object invoke(java.lang.Object):101 -> a
     104:104:java.lang.Object invoke(java.lang.Object):101:101 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1 -> com.android.tools.r8.internal.n40:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1 -> com.android.tools.r8.internal.t40:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder t -> b
     int $flags -> d
@@ -82606,14 +82737,14 @@
     4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeVersionRequirement(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> b
     4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():270 -> b
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder getT():254:254 -> c
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1$visitExpandedType$1 -> com.android.tools.r8.internal.i40:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1$visitExpandedType$1 -> com.android.tools.r8.internal.o40:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1 this$0 -> b
     1:1:java.lang.Object invoke(java.lang.Object):263:263 -> a
     2:265:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1$visitExpandedType$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:263 -> a
     2:265:java.lang.Object invoke(java.lang.Object):263 -> a
     266:266:java.lang.Object invoke(java.lang.Object):263:263 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1$visitExtensions$1 -> com.android.tools.r8.internal.j40:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1$visitExtensions$1 -> com.android.tools.r8.internal.p40:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType $type -> b
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> d
@@ -82624,28 +82755,28 @@
     277:277:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions.writeTypeAliasExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):0:0 -> a
     277:277:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1$visitExtensions$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions):274 -> a
     277:277:java.lang.Object invoke(java.lang.Object):273 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1$visitTypeParameter$1 -> com.android.tools.r8.internal.k40:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1$visitTypeParameter$1 -> com.android.tools.r8.internal.q40:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1 this$0 -> b
     1:1:java.lang.Object invoke(java.lang.Object):257:257 -> a
     2:259:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1$visitTypeParameter$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):0:257 -> a
     2:259:java.lang.Object invoke(java.lang.Object):257 -> a
     260:260:java.lang.Object invoke(java.lang.Object):257:257 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1$visitUnderlyingType$1 -> com.android.tools.r8.internal.l40:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1$visitUnderlyingType$1 -> com.android.tools.r8.internal.r40:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1 this$0 -> b
     1:1:java.lang.Object invoke(java.lang.Object):260:260 -> a
     2:262:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1$visitUnderlyingType$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:260 -> a
     2:262:java.lang.Object invoke(java.lang.Object):260 -> a
     263:263:java.lang.Object invoke(java.lang.Object):260:260 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1$visitVersionRequirement$1 -> com.android.tools.r8.internal.m40:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1$visitVersionRequirement$1 -> com.android.tools.r8.internal.s40:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1 this$0 -> b
     1:1:java.lang.Object invoke(java.lang.Object):270:270 -> a
     2:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1$visitVersionRequirement$1.invoke(int):270:270 -> a
     2:2:java.lang.Object invoke(java.lang.Object):270 -> a
     3:3:java.lang.Object invoke(java.lang.Object):270:270 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeParameter$1 -> com.android.tools.r8.internal.p40:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeParameter$1 -> com.android.tools.r8.internal.v40:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder t -> b
     int $flags -> f
@@ -82671,14 +82802,14 @@
     51:51:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):43 -> a
     52:52:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):43:43 -> a
     53:64:void visitEnd():48:59 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeParameter$1$visitUpperBound$1 -> com.android.tools.r8.internal.o40:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeParameter$1$visitUpperBound$1 -> com.android.tools.r8.internal.u40:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeParameter$1 this$0 -> b
     1:1:java.lang.Object invoke(java.lang.Object):40:40 -> a
     2:42:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeParameter$1$visitUpperBound$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:40 -> a
     2:42:java.lang.Object invoke(java.lang.Object):40 -> a
     43:43:java.lang.Object invoke(java.lang.Object):40:40 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeValueParameter$1 -> com.android.tools.r8.internal.t40:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeValueParameter$1 -> com.android.tools.r8.internal.z40:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder t -> b
     int $flags -> d
@@ -82697,7 +82828,7 @@
     3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):64:64 -> b
     3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> b
     3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitVarargElementType(int):234 -> b
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeValueParameter$1$visitExtensions$1 -> com.android.tools.r8.internal.q40:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeValueParameter$1$visitExtensions$1 -> com.android.tools.r8.internal.w40:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType $type -> b
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeValueParameter$1 this$0 -> c
@@ -82708,21 +82839,21 @@
     241:241:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions.writeValueParameterExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):0:0 -> a
     241:241:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeValueParameter$1$visitExtensions$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions):238 -> a
     241:241:java.lang.Object invoke(java.lang.Object):237 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeValueParameter$1$visitType$1 -> com.android.tools.r8.internal.r40:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeValueParameter$1$visitType$1 -> com.android.tools.r8.internal.x40:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeValueParameter$1 this$0 -> b
     1:1:java.lang.Object invoke(java.lang.Object):231:231 -> a
     2:233:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeValueParameter$1$visitType$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:231 -> a
     2:233:java.lang.Object invoke(java.lang.Object):231 -> a
     234:234:java.lang.Object invoke(java.lang.Object):231:231 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeValueParameter$1$visitVarargElementType$1 -> com.android.tools.r8.internal.s40:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeValueParameter$1$visitVarargElementType$1 -> com.android.tools.r8.internal.y40:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeValueParameter$1 this$0 -> b
     1:1:java.lang.Object invoke(java.lang.Object):234:234 -> a
     2:236:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeValueParameter$1$visitVarargElementType$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:234 -> a
     2:236:java.lang.Object invoke(java.lang.Object):234 -> a
     237:237:java.lang.Object invoke(java.lang.Object):234:234 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeVersionRequirement$1 -> com.android.tools.r8.internal.w40:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeVersionRequirement$1 -> com.android.tools.r8.internal.C40:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1 $output -> d
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder t -> b
@@ -82745,62 +82876,62 @@
     33:36:void visitEnd():329:332 -> a
     37:37:void visitEnd():330:330 -> a
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder getT():289:289 -> b
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeVersionRequirement$1$visitVersion$1 -> com.android.tools.r8.internal.u40:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeVersionRequirement$1$visitVersion$1 -> com.android.tools.r8.internal.A40:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeVersionRequirement$1 this$0 -> b
     1:1:java.lang.Object invoke(java.lang.Object):322:322 -> a
     2:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeVersionRequirement$1$visitVersion$1.invoke(int):323:323 -> a
     2:2:java.lang.Object invoke(java.lang.Object):322 -> a
     3:3:java.lang.Object invoke(java.lang.Object):322:322 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeVersionRequirement$1$visitVersion$2 -> com.android.tools.r8.internal.v40:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeVersionRequirement$1$visitVersion$2 -> com.android.tools.r8.internal.B40:
 # {"id":"sourceFile","fileName":"writers.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeVersionRequirement$1 this$0 -> b
     1:1:java.lang.Object invoke(java.lang.Object):322:322 -> a
     2:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeVersionRequirement$1$visitVersion$2.invoke(int):324:324 -> a
     2:2:java.lang.Object invoke(java.lang.Object):322 -> a
     3:3:java.lang.Object invoke(java.lang.Object):322:322 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.ExtensionUtilsKt -> com.android.tools.r8.internal.kj:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.ExtensionUtilsKt -> com.android.tools.r8.internal.mj:
 # {"id":"sourceFile","fileName":"extensionUtils.kt"}
     1:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor applySingleExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):13:16 -> a
     5:13:com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmExtension singleOfType(java.util.Collection,com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):25:33 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmClassExtension -> com.android.tools.r8.internal.Cx:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmClassExtension -> com.android.tools.r8.internal.Ex:
 # {"id":"sourceFile","fileName":"extensionNodes.kt"}
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmConstructorExtension -> com.android.tools.r8.internal.Jx:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmConstructorExtension -> com.android.tools.r8.internal.Lx:
 # {"id":"sourceFile","fileName":"extensionNodes.kt"}
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmExtension -> com.android.tools.r8.internal.Wx:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmExtension -> com.android.tools.r8.internal.Yx:
 # {"id":"sourceFile","fileName":"extensionNodes.kt"}
     void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor) -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmFunctionExtension -> com.android.tools.r8.internal.by:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmFunctionExtension -> com.android.tools.r8.internal.dy:
 # {"id":"sourceFile","fileName":"extensionNodes.kt"}
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmPackageExtension -> com.android.tools.r8.internal.hy:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmPackageExtension -> com.android.tools.r8.internal.jy:
 # {"id":"sourceFile","fileName":"extensionNodes.kt"}
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmPropertyExtension -> com.android.tools.r8.internal.ly:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmPropertyExtension -> com.android.tools.r8.internal.ny:
 # {"id":"sourceFile","fileName":"extensionNodes.kt"}
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmTypeAliasExtension -> com.android.tools.r8.internal.qy:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmTypeAliasExtension -> com.android.tools.r8.internal.sy:
 # {"id":"sourceFile","fileName":"extensionNodes.kt"}
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmTypeExtension -> com.android.tools.r8.internal.sy:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmTypeExtension -> com.android.tools.r8.internal.uy:
 # {"id":"sourceFile","fileName":"extensionNodes.kt"}
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmTypeParameterExtension -> com.android.tools.r8.internal.vy:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmTypeParameterExtension -> com.android.tools.r8.internal.xy:
 # {"id":"sourceFile","fileName":"extensionNodes.kt"}
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmValueParameterExtension -> com.android.tools.r8.internal.By:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmValueParameterExtension -> com.android.tools.r8.internal.Dy:
 # {"id":"sourceFile","fileName":"extensionNodes.kt"}
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions -> com.android.tools.r8.internal.sE:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions -> com.android.tools.r8.internal.xE:
 # {"id":"sourceFile","fileName":"MetadataExtensions.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions$Companion Companion -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions$Companion -> com.android.tools.r8.internal.rE:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions$Companion -> com.android.tools.r8.internal.wE:
 # {"id":"sourceFile","fileName":"MetadataExtensions.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions$Companion $$INSTANCE -> a
     com.android.tools.r8.jetbrains.kotlin.Lazy INSTANCES$delegate -> b
     1:1:void <clinit>():84:84 -> <clinit>
     1:1:void <init>():83:83 -> <init>
     1:1:java.util.List getINSTANCES():84:84 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions$Companion$INSTANCES$2 -> com.android.tools.r8.internal.qE:
+com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions$Companion$INSTANCES$2 -> com.android.tools.r8.internal.vE:
 # {"id":"sourceFile","fileName":"MetadataExtensions.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions$Companion$INSTANCES$2 INSTANCE -> b
     1:3:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions$Companion$INSTANCES$2.invoke():85:87 -> a
     1:3:java.lang.Object invoke():84 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1 -> com.android.tools.r8.internal.bO:
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation -> com.android.tools.r8.internal.lO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1 -> com.android.tools.r8.internal.gO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation -> com.android.tools.r8.internal.qO:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
     java.util.List argument_ -> e
     int memoizedSerializedSize -> g
@@ -82854,11 +82985,11 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder toBuilder():4329 -> m
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation):4327:4327 -> m
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder toBuilder():4329 -> m
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$1 -> com.android.tools.r8.internal.cO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$1 -> com.android.tools.r8.internal.hO:
     1:1:void <init>():1957:1957 -> <init>
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):1962:1962 -> a
     1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):1957 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument -> com.android.tools.r8.internal.jO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument -> com.android.tools.r8.internal.oO:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument defaultInstance -> h
     int memoizedSerializedSize -> g
@@ -82905,11 +83036,11 @@
     1:1:boolean hasValue():3813:3813 -> k
     1:2:void initFields():3823:3824 -> l
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder newBuilder():3939:3939 -> m
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$1 -> com.android.tools.r8.internal.dO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$1 -> com.android.tools.r8.internal.iO:
     1:1:void <init>():2080:2080 -> <init>
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2085:2085 -> a
     1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2080 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder -> com.android.tools.r8.internal.eO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder -> com.android.tools.r8.internal.jO:
     int nameId_ -> d
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value value_ -> e
     int bitField0_ -> c
@@ -82960,7 +83091,7 @@
     14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> g
     14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument build():3986 -> g
     15:15:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument build():3986:3986 -> g
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value -> com.android.tools.r8.internal.iO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value -> com.android.tools.r8.internal.nO:
     int flags_ -> n
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value defaultInstance -> q
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
@@ -83074,11 +83205,11 @@
     1:1:boolean hasFlags():2793:2793 -> x
     1:1:boolean hasFloatValue():2617:2617 -> y
     1:1:boolean hasIntValue():2602:2602 -> z
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$1 -> com.android.tools.r8.internal.fO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$1 -> com.android.tools.r8.internal.kO:
     1:1:void <init>():2399:2399 -> <init>
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2404:2404 -> a
     1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2399 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder -> com.android.tools.r8.internal.gO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder -> com.android.tools.r8.internal.lO:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type type_ -> d
     int flags_ -> n
     int arrayDimensionCount_ -> m
@@ -83152,7 +83283,7 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.create():3019:3019 -> f
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder access$2100():3005 -> f
     1:49:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value buildPartial():3066:3114 -> g
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type -> com.android.tools.r8.internal.hO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type -> com.android.tools.r8.internal.mO:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type[] $VALUES -> p
     int value -> b
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type BYTE -> c
@@ -83186,7 +83317,7 @@
     11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type valueOf(int):2532:2532 -> c
     12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type valueOf(int):2531:2531 -> c
     13:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type valueOf(int):2530:2530 -> c
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder -> com.android.tools.r8.internal.kO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder -> com.android.tools.r8.internal.pO:
     java.util.List argument_ -> e
     int id_ -> d
     int bitField0_ -> c
@@ -83219,7 +83350,7 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.create():4348:4348 -> f
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder access$4200():4334 -> f
     1:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation buildPartial():4377:4389 -> g
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class -> com.android.tools.r8.internal.pO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class -> com.android.tools.r8.internal.uO:
     java.util.List enumEntry_ -> r
     java.util.List property_ -> p
     int fqName_ -> f
@@ -83419,11 +83550,11 @@
     1:1:java.util.List getSupertypeIdList():9110:9110 -> x
     1:1:java.util.List getSupertypeList():9074:9074 -> y
     1:1:java.util.List getTypeAliasList():9260:9260 -> z
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$1 -> com.android.tools.r8.internal.mO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$1 -> com.android.tools.r8.internal.rO:
     1:1:void <init>():8838:8838 -> <init>
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8843:8843 -> a
     1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8838 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder -> com.android.tools.r8.internal.nO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder -> com.android.tools.r8.internal.sO:
     java.util.List sealedSubclassFqName_ -> r
     java.util.List enumEntry_ -> q
     java.util.List typeAlias_ -> p
@@ -83631,7 +83762,7 @@
     2:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder setFqName(int):10319:10320 -> f
     1:91:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class buildPartial():9897:9987 -> g
     92:93:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder setInlineClassUnderlyingPropertyName(int):11456:11457 -> g
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind -> com.android.tools.r8.internal.oO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind -> com.android.tools.r8.internal.tO:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind INTERFACE -> d
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind CLASS -> c
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind COMPANION_OBJECT -> i
@@ -83646,7 +83777,7 @@
     1:2:void <init>(java.lang.String,int,int,int):8954:8955 -> <init>
     1:1:int getNumber():8925:8925 -> a
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind[] values():8855:8855 -> b
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor -> com.android.tools.r8.internal.sO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor -> com.android.tools.r8.internal.xO:
     java.util.List valueParameter_ -> f
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor defaultInstance -> j
     int memoizedSerializedSize -> i
@@ -83706,11 +83837,11 @@
     1:1:boolean hasFlags():13802:13802 -> o
     1:3:void initFields():13888:13890 -> p
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder newBuilder():14020:14020 -> q
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$1 -> com.android.tools.r8.internal.qO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$1 -> com.android.tools.r8.internal.vO:
     1:1:void <init>():13774:13774 -> <init>
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):13779:13779 -> a
     1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):13774 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder -> com.android.tools.r8.internal.rO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder -> com.android.tools.r8.internal.wO:
     int flags_ -> f
     java.util.List versionRequirement_ -> h
     int bitField0_ -> e
@@ -83752,7 +83883,7 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder.create():14043:14043 -> f
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder access$12800():14030 -> f
     1:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor buildPartial():14074:14091 -> g
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract -> com.android.tools.r8.internal.vO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract -> com.android.tools.r8.internal.AO:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract defaultInstance -> f
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> g
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
@@ -83801,11 +83932,11 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder toBuilder():23860 -> k
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract):23858:23858 -> k
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder toBuilder():23860 -> k
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$1 -> com.android.tools.r8.internal.tO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$1 -> com.android.tools.r8.internal.yO:
     1:1:void <init>():23703:23703 -> <init>
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):23708:23708 -> a
     1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):23703 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder -> com.android.tools.r8.internal.uO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder -> com.android.tools.r8.internal.zO:
     java.util.List effect_ -> d
     int bitField0_ -> c
     1:91:void <init>():23872:23962 -> <init>
@@ -83847,7 +83978,7 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder.create():23879:23879 -> f
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder access$22600():23865 -> f
     1:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract buildPartial():23906:23912 -> g
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect -> com.android.tools.r8.internal.AO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect -> com.android.tools.r8.internal.FO:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType effectType_ -> d
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
     java.util.List effectConstructorArgument_ -> e
@@ -83909,11 +84040,11 @@
     1:1:boolean hasKind():24530:24530 -> n
     1:4:void initFields():24540:24543 -> o
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder newBuilder():24672:24672 -> p
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$1 -> com.android.tools.r8.internal.wO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$1 -> com.android.tools.r8.internal.BO:
     1:1:void <init>():24270:24270 -> <init>
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):24275:24275 -> a
     1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):24270 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder -> com.android.tools.r8.internal.xO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder -> com.android.tools.r8.internal.CO:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType effectType_ -> d
     java.util.List effectConstructorArgument_ -> e
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression conclusionOfConditionalEffect_ -> f
@@ -83973,7 +84104,7 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder.create():24696:24696 -> f
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder access$23100():24682 -> f
     1:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect buildPartial():24729:24749 -> g
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType -> com.android.tools.r8.internal.yO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType -> com.android.tools.r8.internal.DO:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType RETURNS_CONSTANT -> c
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType CALLS -> d
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType RETURNS_NOT_NULL -> e
@@ -83986,7 +84117,7 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType valueOf(int):24357:24357 -> c
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType valueOf(int):24356:24356 -> c
     3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType valueOf(int):24355:24355 -> c
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind -> com.android.tools.r8.internal.zO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind -> com.android.tools.r8.internal.EO:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind AT_MOST_ONCE -> c
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind[] $VALUES -> f
     int value -> b
@@ -83999,7 +84130,7 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind valueOf(int):24422:24422 -> c
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind valueOf(int):24421:24421 -> c
     3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind valueOf(int):24420:24420 -> c
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry -> com.android.tools.r8.internal.DO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry -> com.android.tools.r8.internal.IO:
     int memoizedSerializedSize -> g
     int bitField0_ -> d
     int name_ -> e
@@ -84043,11 +84174,11 @@
     1:1:boolean hasName():20864:20864 -> m
     1:1:void initFields():20874:20874 -> n
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder newBuilder():20979:20979 -> o
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$1 -> com.android.tools.r8.internal.BO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$1 -> com.android.tools.r8.internal.GO:
     1:1:void <init>():20843:20843 -> <init>
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):20848:20848 -> a
     1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):20843 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder -> com.android.tools.r8.internal.CO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder -> com.android.tools.r8.internal.HO:
     int name_ -> f
     int bitField0_ -> e
     1:1:void <init>():20995:20995 -> <init>
@@ -84086,7 +84217,7 @@
     10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> g
     10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry build():21023 -> g
     11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry build():21023:21023 -> g
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression -> com.android.tools.r8.internal.HO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression -> com.android.tools.r8.internal.MO:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
     int memoizedSerializedSize -> l
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression defaultInstance -> m
@@ -84173,11 +84304,11 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder toBuilder():25872 -> v
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25870:25870 -> v
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder toBuilder():25872 -> v
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$1 -> com.android.tools.r8.internal.EO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$1 -> com.android.tools.r8.internal.JO:
     1:1:void <init>():25389:25389 -> <init>
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):25394:25394 -> a
     1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):25389 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder -> com.android.tools.r8.internal.FO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder -> com.android.tools.r8.internal.KO:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type isInstanceType_ -> g
     int isInstanceTypeId_ -> h
     java.util.List orArgument_ -> j
@@ -84261,7 +84392,7 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.create():25896:25896 -> f
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder access$24000():25882 -> f
     1:34:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression buildPartial():25935:25968 -> g
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue -> com.android.tools.r8.internal.GO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue -> com.android.tools.r8.internal.LO:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue FALSE -> d
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue NULL -> e
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue[] $VALUES -> f
@@ -84274,7 +84405,7 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue valueOf(int):25442:25442 -> c
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue valueOf(int):25441:25441 -> c
     3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue valueOf(int):25440:25440 -> c
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function -> com.android.tools.r8.internal.KO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function -> com.android.tools.r8.internal.PO:
     int receiverTypeId_ -> l
     java.util.List versionRequirement_ -> o
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function defaultInstance -> s
@@ -84396,11 +84527,11 @@
     1:1:boolean hasContract():15086:15086 -> x
     1:1:boolean hasFlags():14847:14847 -> y
     1:1:boolean hasName():14892:14892 -> z
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$1 -> com.android.tools.r8.internal.IO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$1 -> com.android.tools.r8.internal.NO:
     1:1:void <init>():14811:14811 -> <init>
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14816:14816 -> a
     1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14811 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder -> com.android.tools.r8.internal.JO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder -> com.android.tools.r8.internal.OO:
     java.util.List versionRequirement_ -> p
     int receiverTypeId_ -> m
     int returnTypeId_ -> j
@@ -84540,7 +84671,7 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.create():15357:15357 -> f
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder access$13600():15344 -> f
     1:55:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function buildPartial():15406:15460 -> g
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$MemberKind -> com.android.tools.r8.internal.LO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$MemberKind -> com.android.tools.r8.internal.QO:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$MemberKind DELEGATION -> e
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$MemberKind[] $VALUES -> g
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$MemberKind SYNTHESIZED -> f
@@ -84552,7 +84683,7 @@
     1:2:void <init>(java.lang.String,int,int,int):268:269 -> <init>
     1:1:int getNumber():242:242 -> a
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$MemberKind[] values():196:196 -> b
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality -> com.android.tools.r8.internal.MO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality -> com.android.tools.r8.internal.RO:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality SEALED -> f
     int value -> b
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality OPEN -> d
@@ -84564,7 +84695,7 @@
     1:2:void <init>(java.lang.String,int,int,int):86:87 -> <init>
     1:1:int getNumber():60:60 -> a
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality[] values():14:14 -> b
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package -> com.android.tools.r8.internal.PO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package -> com.android.tools.r8.internal.UO:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable versionRequirementTable_ -> i
     byte memoizedIsInitialized -> j
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package defaultInstance -> l
@@ -84643,11 +84774,11 @@
     1:1:boolean hasVersionRequirementTable():12123:12123 -> r
     1:5:void initFields():12133:12137 -> s
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder newBuilder():12294:12294 -> t
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$1 -> com.android.tools.r8.internal.NO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$1 -> com.android.tools.r8.internal.SO:
     1:1:void <init>():11982:11982 -> <init>
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):11987:11987 -> a
     1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):11982 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder -> com.android.tools.r8.internal.OO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder -> com.android.tools.r8.internal.TO:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable typeTable_ -> i
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable versionRequirementTable_ -> j
     java.util.List function_ -> f
@@ -84754,7 +84885,7 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.create():12317:12317 -> f
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder access$11100():12304 -> f
     1:27:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package buildPartial():12352:12378 -> g
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property -> com.android.tools.r8.internal.SO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property -> com.android.tools.r8.internal.XO:
     int getterFlags_ -> n
     int setterFlags_ -> o
     int receiverTypeId_ -> l
@@ -84868,11 +84999,11 @@
     1:1:boolean hasFlags():16817:16817 -> x
     1:1:boolean hasGetterFlags():17000:17000 -> y
     1:1:boolean hasName():16863:16863 -> z
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$1 -> com.android.tools.r8.internal.QO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$1 -> com.android.tools.r8.internal.VO:
     1:1:void <init>():16780:16780 -> <init>
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):16785:16785 -> a
     1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):16780 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder -> com.android.tools.r8.internal.RO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder -> com.android.tools.r8.internal.WO:
     int getterFlags_ -> o
     java.util.List versionRequirement_ -> q
     int receiverTypeId_ -> m
@@ -84985,7 +85116,7 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.create():17320:17320 -> f
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder access$15300():17307 -> f
     1:54:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property buildPartial():17369:17422 -> g
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type -> com.android.tools.r8.internal.ZO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type -> com.android.tools.r8.internal.eP:
     int outerTypeId_ -> o
     int typeParameterName_ -> l
     int typeAliasName_ -> m
@@ -85116,11 +85247,11 @@
     1:1:int getTypeParameter():5809:5809 -> x
     1:1:int getTypeParameterName():5832:5832 -> y
     1:1:boolean hasAbbreviatedType():5904:5904 -> z
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$1 -> com.android.tools.r8.internal.TO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$1 -> com.android.tools.r8.internal.YO:
     1:1:void <init>():4974:4974 -> <init>
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4979:4979 -> a
     1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4974 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument -> com.android.tools.r8.internal.XO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument -> com.android.tools.r8.internal.cP:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument defaultInstance -> i
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
     int memoizedSerializedSize -> h
@@ -85172,11 +85303,11 @@
     1:1:boolean hasTypeId():5259:5259 -> m
     1:3:void initFields():5269:5271 -> n
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder newBuilder():5387:5387 -> o
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$1 -> com.android.tools.r8.internal.UO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$1 -> com.android.tools.r8.internal.ZO:
     1:1:void <init>():5126:5126 -> <init>
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):5131:5131 -> a
     1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):5126 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder -> com.android.tools.r8.internal.VO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder -> com.android.tools.r8.internal.aP:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection projection_ -> d
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type type_ -> e
     int typeId_ -> f
@@ -85220,7 +85351,7 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder.create():5411:5411 -> f
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder access$5000():5397 -> f
     1:16:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument buildPartial():5442:5457 -> g
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection -> com.android.tools.r8.internal.WO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection -> com.android.tools.r8.internal.bP:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection INV -> e
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection STAR -> f
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection IN -> c
@@ -85235,7 +85366,7 @@
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection valueOf(int):5187:5187 -> c
     3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection valueOf(int):5186:5186 -> c
     4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection valueOf(int):5185:5185 -> c
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder -> com.android.tools.r8.internal.YO:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder -> com.android.tools.r8.internal.dP:
     int typeAliasName_ -> n
     int typeParameter_ -> l
     int typeParameterName_ -> m
@@ -85350,7 +85481,7 @@
     3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type build():6257 -> g
     4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type build():6257:6257 -> g
     1:61:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type buildPartial():6263:6323 -> h
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias -> com.android.tools.r8.internal.cP:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias -> com.android.tools.r8.internal.hP:
     int memoizedSerializedSize -> o
     int expandedTypeId_ -> k
     int underlyingTypeId_ -> i
@@ -85451,11 +85582,11 @@
     1:1:boolean hasName():19532:19532 -> x
     1:1:boolean hasUnderlyingType():19582:19582 -> y
     1:1:boolean hasUnderlyingTypeId():19597:19597 -> z
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$1 -> com.android.tools.r8.internal.aP:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$1 -> com.android.tools.r8.internal.fP:
     1:1:void <init>():19486:19486 -> <init>
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):19491:19491 -> a
     1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):19486 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder -> com.android.tools.r8.internal.bP:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder -> com.android.tools.r8.internal.gP:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type expandedType_ -> k
     int expandedTypeId_ -> l
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type underlyingType_ -> i
@@ -85561,7 +85692,7 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.create():19931:19931 -> f
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder access$18100():19918 -> f
     1:43:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias buildPartial():19974:20016 -> g
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter -> com.android.tools.r8.internal.gP:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter -> com.android.tools.r8.internal.lP:
     int memoizedSerializedSize -> m
     int upperBoundIdMemoizedSerializedSize -> k
     int name_ -> f
@@ -85643,11 +85774,11 @@
     1:1:boolean hasVariance():7518:7518 -> u
     1:6:void initFields():7586:7591 -> v
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder newBuilder():7759:7759 -> w
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$1 -> com.android.tools.r8.internal.dP:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$1 -> com.android.tools.r8.internal.iP:
     1:1:void <init>():7387:7387 -> <init>
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):7392:7392 -> a
     1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):7387 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder -> com.android.tools.r8.internal.eP:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder -> com.android.tools.r8.internal.jP:
     int id_ -> f
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance variance_ -> i
     java.util.List upperBound_ -> j
@@ -85692,7 +85823,7 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.create():7782:7782 -> f
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder access$7600():7769 -> f
     1:30:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter buildPartial():7819:7848 -> g
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance -> com.android.tools.r8.internal.fP:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance -> com.android.tools.r8.internal.kP:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance[] $VALUES -> f
     int value -> b
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance INV -> e
@@ -85705,7 +85836,7 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance valueOf(int):7440:7440 -> c
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance valueOf(int):7439:7439 -> c
     3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance valueOf(int):7438:7438 -> c
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable -> com.android.tools.r8.internal.jP:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable -> com.android.tools.r8.internal.oP:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
     java.util.List type_ -> d
     int memoizedSerializedSize -> g
@@ -85758,11 +85889,11 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder toBuilder():13296 -> l
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):13294:13294 -> l
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder toBuilder():13296 -> l
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$1 -> com.android.tools.r8.internal.hP:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$1 -> com.android.tools.r8.internal.mP:
     1:1:void <init>():13105:13105 -> <init>
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):13110:13110 -> a
     1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):13105 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder -> com.android.tools.r8.internal.iP:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder -> com.android.tools.r8.internal.nP:
     java.util.List type_ -> d
     int firstNullable_ -> e
     int bitField0_ -> c
@@ -85794,7 +85925,7 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder.create():13315:13315 -> f
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder access$12100():13301 -> f
     1:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable buildPartial():13344:13356 -> g
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter -> com.android.tools.r8.internal.mP:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter -> com.android.tools.r8.internal.rP:
     int memoizedSerializedSize -> l
     byte memoizedIsInitialized -> k
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type varargElementType_ -> i
@@ -85871,11 +86002,11 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder toBuilder():18760 -> z
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18758:18758 -> z
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder toBuilder():18760 -> z
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$1 -> com.android.tools.r8.internal.kP:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$1 -> com.android.tools.r8.internal.pP:
     1:1:void <init>():18474:18474 -> <init>
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):18479:18479 -> a
     1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):18474 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder -> com.android.tools.r8.internal.lP:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder -> com.android.tools.r8.internal.qP:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type varargElementType_ -> j
     int varargElementTypeId_ -> k
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type type_ -> h
@@ -85941,7 +86072,7 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.create():18778:18778 -> f
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder access$17000():18765 -> f
     1:28:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter buildPartial():18815:18842 -> g
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement -> com.android.tools.r8.internal.rP:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement -> com.android.tools.r8.internal.wP:
     byte memoizedIsInitialized -> j
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level level_ -> f
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
@@ -86005,11 +86136,11 @@
     1:1:boolean hasVersionKind():21625:21625 -> s
     1:6:void initFields():21640:21645 -> t
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder newBuilder():21776:21776 -> u
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$1 -> com.android.tools.r8.internal.nP:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$1 -> com.android.tools.r8.internal.sP:
     1:1:void <init>():21348:21348 -> <init>
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):21353:21353 -> a
     1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):21348 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder -> com.android.tools.r8.internal.oP:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder -> com.android.tools.r8.internal.tP:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level level_ -> f
     int message_ -> h
     int errorCode_ -> g
@@ -86045,7 +86176,7 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder.create():21800:21800 -> f
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder access$20100():21786 -> f
     1:28:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement buildPartial():21837:21864 -> g
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level -> com.android.tools.r8.internal.pP:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level -> com.android.tools.r8.internal.uP:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level HIDDEN -> e
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level ERROR -> d
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level WARNING -> c
@@ -86058,7 +86189,7 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level valueOf(int):21401:21401 -> c
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level valueOf(int):21400:21400 -> c
     3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level valueOf(int):21399:21399 -> c
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind -> com.android.tools.r8.internal.qP:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind -> com.android.tools.r8.internal.vP:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind LANGUAGE_VERSION -> c
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind API_VERSION -> e
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind COMPILER_VERSION -> d
@@ -86071,7 +86202,7 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind valueOf(int):21466:21466 -> c
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind valueOf(int):21465:21465 -> c
     3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind valueOf(int):21464:21464 -> c
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable -> com.android.tools.r8.internal.uP:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable -> com.android.tools.r8.internal.zP:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> g
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
     java.util.List requirement_ -> c
@@ -86116,11 +86247,11 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder toBuilder():22486 -> l
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):22484:22484 -> l
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder toBuilder():22486 -> l
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$1 -> com.android.tools.r8.internal.sP:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$1 -> com.android.tools.r8.internal.xP:
     1:1:void <init>():22335:22335 -> <init>
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):22340:22340 -> a
     1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):22335 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder -> com.android.tools.r8.internal.tP:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder -> com.android.tools.r8.internal.yP:
     java.util.List requirement_ -> d
     int bitField0_ -> c
     1:85:void <init>():22498:22582 -> <init>
@@ -86159,7 +86290,7 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder.create():22505:22505 -> f
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder access$21200():22491 -> f
     1:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable buildPartial():22532:22538 -> g
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility -> com.android.tools.r8.internal.vP:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility -> com.android.tools.r8.internal.AP:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility[] $VALUES -> i
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility LOCAL -> h
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility PRIVATE_TO_THIS -> g
@@ -86173,7 +86304,7 @@
     1:2:void <init>(java.lang.String,int,int,int):186:187 -> <init>
     1:1:int getNumber():158:158 -> a
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility[] values():96:96 -> b
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.BinaryVersion -> com.android.tools.r8.internal.U4:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.BinaryVersion -> com.android.tools.r8.internal.V4:
 # {"id":"sourceFile","fileName":"BinaryVersion.kt"}
     java.util.List rest -> e
     int patch -> d
@@ -86183,10 +86314,10 @@
     1:9:void <init>(int[]):17:25 -> <init>
     10:10:void <init>(int[]):23:23 -> <init>
     11:11:void <init>(int[]):0:0 -> <init>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":40,"2":41,"3":42}}
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":39,"2":40,"3":41}}
+    39:39:void <init>(int[]):23:23 -> <init>
     40:40:void <init>(int[]):23:23 -> <init>
     41:41:void <init>(int[]):23:23 -> <init>
-    42:42:void <init>(int[]):23:23 -> <init>
     34:37:void <init>(int[]):23:26 -> <init>
     38:38:void <init>(int[]):21:21 -> <init>
     1:1:int getMajor():18:18 -> a
@@ -86199,7 +86330,7 @@
     1:1:java.lang.String toString():70 -> toString
     2:6:java.lang.String toString():99:103 -> toString
     7:7:java.lang.String toString():71:71 -> toString
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags -> com.android.tools.r8.internal.Gk:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags -> com.android.tools.r8.internal.Ik:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField IS_CROSSINLINE -> q
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField DECLARES_DEFAULT_VALUE -> p
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField IS_NOT_DEFAULT -> s
@@ -86304,15 +86435,15 @@
     4:4:int getAccessorFlags(boolean,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality,boolean,boolean,boolean):199 -> a
     5:5:int getAccessorFlags(boolean,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality,boolean,boolean,boolean):199:199 -> a
     6:6:int getAccessorFlags(boolean,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality,boolean,boolean,boolean):0:0 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$1 -> com.android.tools.r8.internal.Ck:
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField -> com.android.tools.r8.internal.Dk:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$1 -> com.android.tools.r8.internal.Ek:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField -> com.android.tools.r8.internal.Fk:
     1:1:void <init>(int):269:269 -> <init>
     1:1:java.lang.Object get(int):266:266 -> a
     2:2:int toFlags(java.lang.Boolean):280:280 -> a
     1:1:java.lang.Boolean get(int):275:275 -> b
     2:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField.$$$reportNull$$$0(int):0:0 -> b
     2:2:java.lang.Boolean get(int):275 -> b
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$EnumLiteFlagField -> com.android.tools.r8.internal.Ek:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$EnumLiteFlagField -> com.android.tools.r8.internal.Gk:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLite[] values -> c
     1:2:void <init>(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLite[]):290:291 -> <init>
     1:6:int bitWidth(java.lang.Object[]):295:300 -> a
@@ -86324,22 +86455,22 @@
     307:307:int bitWidth(java.lang.Object[]):300:300 -> a
     311:315:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$EnumLiteFlagField.get(int):306:310 -> a
     311:315:java.lang.Object get(int):286 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField -> com.android.tools.r8.internal.Fk:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField -> com.android.tools.r8.internal.Hk:
     int bitWidth -> b
     int offset -> a
     1:1:void <init>(int,int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$1):234:234 -> <init>
     2:4:void <init>(int,int):256:258 -> <init>
     java.lang.Object get(int) -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver -> com.android.tools.r8.internal.zG:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver -> com.android.tools.r8.internal.EG:
 # {"id":"sourceFile","fileName":"NameResolver.kt"}
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoBufUtilKt -> com.android.tools.r8.internal.wP:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoBufUtilKt -> com.android.tools.r8.internal.BP:
 # {"id":"sourceFile","fileName":"ProtoBufUtil.kt"}
     1:1:java.lang.Object getExtensionOrNull(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableMessage,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):12:12 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt -> com.android.tools.r8.internal.XP:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt -> com.android.tools.r8.internal.cQ:
 # {"id":"sourceFile","fileName":"protoTypeTableUtil.kt"}
     1:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type returnType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):62:64 -> a
     4:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type type(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):76:78 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable -> com.android.tools.r8.internal.b10:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable -> com.android.tools.r8.internal.h10:
 # {"id":"sourceFile","fileName":"TypeTable.kt"}
     java.util.List types -> a
     1:20:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):21:40 -> <init>
@@ -86347,7 +86478,7 @@
     22:35:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):27:40 -> <init>
     36:36:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):22:22 -> <init>
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type get(int):34:34 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement -> com.android.tools.r8.internal.r20:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement -> com.android.tools.r8.internal.x20:
 # {"id":"sourceFile","fileName":"VersionRequirement.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Version version -> a
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind kind -> b
@@ -86367,18 +86498,18 @@
     249:249:java.lang.String toString():81:81 -> toString
     82:82:java.lang.String toString():81:81 -> toString
     83:83:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":250,"2":251,"3":252}}
-    250:250:java.lang.String toString():81:81 -> toString
-    251:251:java.lang.String toString():81:81 -> toString
-    252:252:java.lang.String toString():81:81 -> toString
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":247,"2":248,"3":249}}
+    247:247:java.lang.String toString():81:81 -> toString
+    248:248:java.lang.String toString():81:81 -> toString
+    249:249:java.lang.String toString():81:81 -> toString
     164:164:java.lang.String toString():81:81 -> toString
     165:165:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":253,"2":254,"3":255}}
-    253:253:java.lang.String toString():81:81 -> toString
-    254:254:java.lang.String toString():81:81 -> toString
-    255:255:java.lang.String toString():81:81 -> toString
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":247,"2":248,"3":249}}
+    247:247:java.lang.String toString():81:81 -> toString
+    248:248:java.lang.String toString():81:81 -> toString
+    249:249:java.lang.String toString():81:81 -> toString
     246:246:java.lang.String toString():81:81 -> toString
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Version -> com.android.tools.r8.internal.q20:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Version -> com.android.tools.r8.internal.w20:
 # {"id":"sourceFile","fileName":"VersionRequirement.kt"}
     int minor -> b
     int patch -> c
@@ -86393,7 +86524,7 @@
     int component3() -> c
     1:1:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Version.asString():33:33 -> toString
     1:1:java.lang.String toString():50 -> toString
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable -> com.android.tools.r8.internal.t20:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable -> com.android.tools.r8.internal.z20:
 # {"id":"sourceFile","fileName":"VersionRequirement.kt"}
     java.util.List infos -> a
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable$Companion Companion -> b
@@ -86410,10 +86541,10 @@
     5:5:java.lang.Object com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.getOrNull(java.util.List,int):304:304 -> a
     5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement get(int):12 -> a
     6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement get(int):12:12 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable$Companion -> com.android.tools.r8.internal.s20:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable$Companion -> com.android.tools.r8.internal.y20:
 # {"id":"sourceFile","fileName":"VersionRequirement.kt"}
     1:1:void <init>():14:14 -> <init>
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf -> com.android.tools.r8.internal.Zw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf -> com.android.tools.r8.internal.bx:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension constructorSignature -> a
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension propertySignature -> d
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension flags -> e
@@ -86429,8 +86560,8 @@
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension anonymousObjectOriginName -> k
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension packageLocalVariable -> n
     1:233:void <clinit>():3965:4197 -> <clinit>
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$1 -> com.android.tools.r8.internal.Iw:
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature -> com.android.tools.r8.internal.Lw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$1 -> com.android.tools.r8.internal.Kw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature -> com.android.tools.r8.internal.Nw:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature defaultInstance -> h
     int memoizedSerializedSize -> g
@@ -86479,11 +86610,11 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder toBuilder():2834 -> n
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature):2832:2832 -> n
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder toBuilder():2834 -> n
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$1 -> com.android.tools.r8.internal.Jw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$1 -> com.android.tools.r8.internal.Lw:
     1:1:void <init>():2671:2671 -> <init>
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2676:2676 -> a
     1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2671 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder -> com.android.tools.r8.internal.Kw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder -> com.android.tools.r8.internal.Mw:
     int name_ -> d
     int desc_ -> e
     int bitField0_ -> c
@@ -86511,7 +86642,7 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder.create():2853:2853 -> f
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder access$2500():2839 -> f
     1:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature buildPartial():2882:2893 -> g
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature -> com.android.tools.r8.internal.Ow:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature -> com.android.tools.r8.internal.Qw:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature defaultInstance -> h
     int memoizedSerializedSize -> g
@@ -86560,11 +86691,11 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder toBuilder():2372 -> n
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):2370:2370 -> n
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder toBuilder():2372 -> n
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$1 -> com.android.tools.r8.internal.Mw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$1 -> com.android.tools.r8.internal.Ow:
     1:1:void <init>():2209:2209 -> <init>
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2214:2214 -> a
     1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2209 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder -> com.android.tools.r8.internal.Nw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder -> com.android.tools.r8.internal.Pw:
     int name_ -> d
     int desc_ -> e
     int bitField0_ -> c
@@ -86592,7 +86723,7 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder.create():2391:2391 -> f
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder access$1800():2377 -> f
     1:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature buildPartial():2420:2431 -> g
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature -> com.android.tools.r8.internal.Rw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature -> com.android.tools.r8.internal.Tw:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature syntheticMethod_ -> e
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature getter_ -> f
     byte memoizedIsInitialized -> i
@@ -86651,11 +86782,11 @@
     1:1:boolean hasSyntheticMethod():3265:3265 -> q
     1:5:void initFields():3334:3338 -> r
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder newBuilder():3462:3462 -> s
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$1 -> com.android.tools.r8.internal.Pw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$1 -> com.android.tools.r8.internal.Rw:
     1:1:void <init>():3225:3225 -> <init>
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):3230:3230 -> a
     1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):3225 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder -> com.android.tools.r8.internal.Qw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder -> com.android.tools.r8.internal.Sw:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature syntheticMethod_ -> e
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature getter_ -> f
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature setter_ -> g
@@ -86749,7 +86880,7 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.create():3486:3486 -> f
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder access$3200():3472 -> f
     1:24:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature buildPartial():3521:3544 -> g
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes -> com.android.tools.r8.internal.Yw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes -> com.android.tools.r8.internal.ax:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes defaultInstance -> h
     java.util.List localName_ -> d
@@ -86799,11 +86930,11 @@
     1:1:java.util.List getRecordList():1569:1569 -> i
     1:2:void initFields():1634:1635 -> j
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder newBuilder():1752:1752 -> k
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$1 -> com.android.tools.r8.internal.Sw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$1 -> com.android.tools.r8.internal.Uw:
     1:1:void <init>():172:172 -> <init>
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):177:177 -> a
     1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):172 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder -> com.android.tools.r8.internal.Tw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder -> com.android.tools.r8.internal.Vw:
     java.util.List localName_ -> e
     java.util.List record_ -> d
     int bitField0_ -> c
@@ -86855,7 +86986,7 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder.create():1776:1776 -> f
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder access$1200():1762 -> f
     1:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes buildPartial():1805:1816 -> g
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record -> com.android.tools.r8.internal.Xw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record -> com.android.tools.r8.internal.Zw:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
     int memoizedSerializedSize -> m
     java.lang.Object string_ -> f
@@ -86959,11 +87090,11 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder toBuilder():943 -> v
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record):941:941 -> v
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder toBuilder():943 -> v
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$1 -> com.android.tools.r8.internal.Uw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$1 -> com.android.tools.r8.internal.Ww:
     1:1:void <init>():471:471 -> <init>
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):476:476 -> a
     1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):471 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder -> com.android.tools.r8.internal.Vw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder -> com.android.tools.r8.internal.Xw:
     java.lang.Object string_ -> f
     java.util.List replaceChar_ -> i
     int range_ -> d
@@ -87007,7 +87138,7 @@
     1:1:int getSubstringIndexCount():1373:1373 -> j
     1:1:boolean hasOperation():1301:1301 -> k
     1:1:boolean hasPredefinedIndex():1153:1153 -> l
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation -> com.android.tools.r8.internal.Ww:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation -> com.android.tools.r8.internal.Yw:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation[] $VALUES -> f
     int value -> b
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation DESC_TO_CLASS_ID -> e
@@ -87020,7 +87151,7 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation valueOf(int):544:544 -> c
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation valueOf(int):543:543 -> c
     3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation valueOf(int):542:542 -> c
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding -> com.android.tools.r8.internal.c5:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding -> com.android.tools.r8.internal.d5:
     boolean FORCE_8TO7_ENCODING -> a
     boolean $assertionsDisabled -> b
     1:13:void <clinit>():15:27 -> <clinit>
@@ -87084,96 +87215,96 @@
     123:123:byte[] decodeBytes(java.lang.String[]):191 -> a
     124:140:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.decode7to8(byte[]):247:263 -> a
     124:140:byte[] decodeBytes(java.lang.String[]):192 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.ClassMapperLite -> com.android.tools.r8.internal.va:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.ClassMapperLite -> com.android.tools.r8.internal.wa:
 # {"id":"sourceFile","fileName":"ClassMapperLite.kt"}
     java.util.Map map -> b
     java.lang.String kotlin -> a
     1:15:void <clinit>():17:31 -> <clinit>
     16:29:void <clinit>():23:36 -> <clinit>
     30:30:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":476,"2":477,"3":478}}
-    476:476:void <clinit>():36:36 -> <clinit>
-    477:477:void <clinit>():36:36 -> <clinit>
-    478:478:void <clinit>():36:36 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":463,"2":464,"3":465}}
+    463:463:void <clinit>():36:36 -> <clinit>
+    464:464:void <clinit>():36:36 -> <clinit>
+    465:465:void <clinit>():36:36 -> <clinit>
     66:79:void <clinit>():36:49 -> <clinit>
     80:80:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":492,"2":493,"3":494,"4":495,"5":496}}
-    492:492:void <clinit>():50:50 -> <clinit>
-    493:493:void <clinit>():50:50 -> <clinit>
-    494:494:void <clinit>():50:50 -> <clinit>
-    495:495:void <clinit>():50:50 -> <clinit>
-    496:496:void <clinit>():50:50 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":463,"2":464,"3":465,"4":466,"5":467}}
+    463:463:void <clinit>():50:50 -> <clinit>
+    464:464:void <clinit>():50:50 -> <clinit>
+    465:465:void <clinit>():50:50 -> <clinit>
+    466:466:void <clinit>():50:50 -> <clinit>
+    467:467:void <clinit>():50:50 -> <clinit>
     130:133:void <clinit>():50:53 -> <clinit>
     134:134:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":500,"2":501,"3":502,"4":503,"5":504}}
-    500:500:void <clinit>():54:54 -> <clinit>
-    501:501:void <clinit>():54:54 -> <clinit>
-    502:502:void <clinit>():54:54 -> <clinit>
-    503:503:void <clinit>():54:54 -> <clinit>
-    504:504:void <clinit>():54:54 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":463,"2":464,"3":465,"4":466,"5":467}}
+    463:463:void <clinit>():54:54 -> <clinit>
+    464:464:void <clinit>():54:54 -> <clinit>
+    465:465:void <clinit>():54:54 -> <clinit>
+    466:466:void <clinit>():54:54 -> <clinit>
+    467:467:void <clinit>():54:54 -> <clinit>
     135:135:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":505,"2":506,"3":507,"4":508,"5":509}}
-    505:505:void <clinit>():54:54 -> <clinit>
-    506:506:void <clinit>():54:54 -> <clinit>
-    507:507:void <clinit>():54:54 -> <clinit>
-    508:508:void <clinit>():54:54 -> <clinit>
-    509:509:void <clinit>():54:54 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":463,"2":464,"3":465,"4":466,"5":467}}
+    463:463:void <clinit>():54:54 -> <clinit>
+    464:464:void <clinit>():54:54 -> <clinit>
+    465:465:void <clinit>():54:54 -> <clinit>
+    466:466:void <clinit>():54:54 -> <clinit>
+    467:467:void <clinit>():54:54 -> <clinit>
     189:189:void <clinit>():54:54 -> <clinit>
     190:190:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":510,"2":511,"3":512,"4":513,"5":514}}
-    510:510:void <clinit>():55:55 -> <clinit>
-    511:511:void <clinit>():55:55 -> <clinit>
-    512:512:void <clinit>():55:55 -> <clinit>
-    513:513:void <clinit>():55:55 -> <clinit>
-    514:514:void <clinit>():55:55 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":463,"2":464,"3":465,"4":466,"5":467}}
+    463:463:void <clinit>():55:55 -> <clinit>
+    464:464:void <clinit>():55:55 -> <clinit>
+    465:465:void <clinit>():55:55 -> <clinit>
+    466:466:void <clinit>():55:55 -> <clinit>
+    467:467:void <clinit>():55:55 -> <clinit>
     191:191:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":515,"2":516,"3":517,"4":518,"5":519}}
-    515:515:void <clinit>():55:55 -> <clinit>
-    516:516:void <clinit>():55:55 -> <clinit>
-    517:517:void <clinit>():55:55 -> <clinit>
-    518:518:void <clinit>():55:55 -> <clinit>
-    519:519:void <clinit>():55:55 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":463,"2":464,"3":465,"4":466,"5":467}}
+    463:463:void <clinit>():55:55 -> <clinit>
+    464:464:void <clinit>():55:55 -> <clinit>
+    465:465:void <clinit>():55:55 -> <clinit>
+    466:466:void <clinit>():55:55 -> <clinit>
+    467:467:void <clinit>():55:55 -> <clinit>
     246:252:void <clinit>():55:61 -> <clinit>
     253:253:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":528,"2":529,"3":530,"4":531,"5":532}}
-    528:528:void <clinit>():64:64 -> <clinit>
-    529:529:void <clinit>():64:64 -> <clinit>
-    530:530:void <clinit>():64:64 -> <clinit>
-    531:531:void <clinit>():64:64 -> <clinit>
-    532:532:void <clinit>():64:64 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":463,"2":464,"3":465,"4":466,"5":467}}
+    463:463:void <clinit>():64:64 -> <clinit>
+    464:464:void <clinit>():64:64 -> <clinit>
+    465:465:void <clinit>():64:64 -> <clinit>
+    466:466:void <clinit>():64:64 -> <clinit>
+    467:467:void <clinit>():64:64 -> <clinit>
     317:317:void <clinit>():64:64 -> <clinit>
     318:318:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":533,"2":534,"3":535,"4":536,"5":537}}
-    533:533:void <clinit>():65:65 -> <clinit>
-    534:534:void <clinit>():65:65 -> <clinit>
-    535:535:void <clinit>():65:65 -> <clinit>
-    536:536:void <clinit>():65:65 -> <clinit>
-    537:537:void <clinit>():65:65 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":463,"2":464,"3":465,"4":466,"5":467}}
+    463:463:void <clinit>():65:65 -> <clinit>
+    464:464:void <clinit>():65:65 -> <clinit>
+    465:465:void <clinit>():65:65 -> <clinit>
+    466:466:void <clinit>():65:65 -> <clinit>
+    467:467:void <clinit>():65:65 -> <clinit>
     319:319:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":538,"2":539,"3":540,"4":541,"5":542}}
-    538:538:void <clinit>():65:65 -> <clinit>
-    539:539:void <clinit>():65:65 -> <clinit>
-    540:540:void <clinit>():65:65 -> <clinit>
-    541:541:void <clinit>():65:65 -> <clinit>
-    542:542:void <clinit>():65:65 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":463,"2":464,"3":465,"4":466,"5":467}}
+    463:463:void <clinit>():65:65 -> <clinit>
+    464:464:void <clinit>():65:65 -> <clinit>
+    465:465:void <clinit>():65:65 -> <clinit>
+    466:466:void <clinit>():65:65 -> <clinit>
+    467:467:void <clinit>():65:65 -> <clinit>
     384:389:void <clinit>():65:70 -> <clinit>
     390:390:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":548,"2":549,"3":550,"4":551,"5":552}}
-    548:548:void <clinit>():71:71 -> <clinit>
-    549:549:void <clinit>():71:71 -> <clinit>
-    550:550:void <clinit>():71:71 -> <clinit>
-    551:551:void <clinit>():71:71 -> <clinit>
-    552:552:void <clinit>():71:71 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":463,"2":464,"3":465,"4":466,"5":467}}
+    463:463:void <clinit>():71:71 -> <clinit>
+    464:464:void <clinit>():71:71 -> <clinit>
+    465:465:void <clinit>():71:71 -> <clinit>
+    466:466:void <clinit>():71:71 -> <clinit>
+    467:467:void <clinit>():71:71 -> <clinit>
     461:461:void <clinit>():71:71 -> <clinit>
     462:462:void <clinit>():22:22 -> <clinit>
     1:1:void map$lambda-0$add(java.util.Map,java.lang.String,java.lang.String):42:42 -> a
     2:2:java.lang.String mapClass(java.lang.String):80:80 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature -> com.android.tools.r8.internal.pw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature -> com.android.tools.r8.internal.rw:
 # {"id":"sourceFile","fileName":"JvmMemberSignature.kt"}
     1:1:void <init>():14:14 -> <init>
     java.lang.String asString() -> a
     1:1:java.lang.String toString():27:27 -> toString
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field -> com.android.tools.r8.internal.mw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field -> com.android.tools.r8.internal.ow:
 # {"id":"sourceFile","fileName":"JvmMemberSignature.kt"}
     java.lang.String name -> a
     java.lang.String desc -> b
@@ -87202,7 +87333,7 @@
     3:3:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field.getDesc():23:23 -> hashCode
     3:3:int hashCode():0 -> hashCode
     4:4:int hashCode():0:0 -> hashCode
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method -> com.android.tools.r8.internal.nw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method -> com.android.tools.r8.internal.pw:
 # {"id":"sourceFile","fileName":"JvmMemberSignature.kt"}
     java.lang.String name -> a
     java.lang.String desc -> b
@@ -87231,7 +87362,7 @@
     3:3:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method.getDesc():19:19 -> hashCode
     3:3:int hashCode():0 -> hashCode
     4:4:int hashCode():0:0 -> hashCode
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMetadataVersion -> com.android.tools.r8.internal.Aw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMetadataVersion -> com.android.tools.r8.internal.Cw:
 # {"id":"sourceFile","fileName":"JvmMetadataVersion.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMetadataVersion INSTANCE -> g
     boolean isStrictSemantics -> f
@@ -87239,7 +87370,7 @@
     1:1:void <init>(int[],boolean):14:14 -> <init>
     2:2:void <init>(int[]):15:15 -> <init>
     1:6:boolean isCompatible():19:24 -> d
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver -> com.android.tools.r8.internal.Dw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver -> com.android.tools.r8.internal.Fw:
 # {"id":"sourceFile","fileName":"JvmNameResolver.kt"}
     java.util.Set localNameIndices -> c
     java.util.List PREDEFINED_STRINGS -> f
@@ -87258,348 +87389,348 @@
     4469:4469:void <clinit>():84:84 -> <clinit>
     89:89:void <clinit>():84:84 -> <clinit>
     90:90:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4470,"2":4471,"3":4472,"4":4473,"5":4474}}
-    4470:4470:void <clinit>():85:85 -> <clinit>
-    4471:4471:void <clinit>():85:85 -> <clinit>
-    4472:4472:void <clinit>():85:85 -> <clinit>
-    4473:4473:void <clinit>():85:85 -> <clinit>
-    4474:4474:void <clinit>():85:85 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():85:85 -> <clinit>
+    4466:4466:void <clinit>():85:85 -> <clinit>
+    4467:4467:void <clinit>():85:85 -> <clinit>
+    4468:4468:void <clinit>():85:85 -> <clinit>
+    4469:4469:void <clinit>():85:85 -> <clinit>
     175:175:void <clinit>():85:85 -> <clinit>
     176:176:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4475,"2":4476,"3":4477,"4":4478,"5":4479}}
-    4475:4475:void <clinit>():86:86 -> <clinit>
-    4476:4476:void <clinit>():86:86 -> <clinit>
-    4477:4477:void <clinit>():86:86 -> <clinit>
-    4478:4478:void <clinit>():86:86 -> <clinit>
-    4479:4479:void <clinit>():86:86 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():86:86 -> <clinit>
+    4466:4466:void <clinit>():86:86 -> <clinit>
+    4467:4467:void <clinit>():86:86 -> <clinit>
+    4468:4468:void <clinit>():86:86 -> <clinit>
+    4469:4469:void <clinit>():86:86 -> <clinit>
     262:262:void <clinit>():86:86 -> <clinit>
     263:263:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4480,"2":4481,"3":4482,"4":4483,"5":4484}}
-    4480:4480:void <clinit>():87:87 -> <clinit>
-    4481:4481:void <clinit>():87:87 -> <clinit>
-    4482:4482:void <clinit>():87:87 -> <clinit>
-    4483:4483:void <clinit>():87:87 -> <clinit>
-    4484:4484:void <clinit>():87:87 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():87:87 -> <clinit>
+    4466:4466:void <clinit>():87:87 -> <clinit>
+    4467:4467:void <clinit>():87:87 -> <clinit>
+    4468:4468:void <clinit>():87:87 -> <clinit>
+    4469:4469:void <clinit>():87:87 -> <clinit>
     350:350:void <clinit>():87:87 -> <clinit>
     351:351:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4485,"2":4486,"3":4487,"4":4488,"5":4489}}
-    4485:4485:void <clinit>():88:88 -> <clinit>
-    4486:4486:void <clinit>():88:88 -> <clinit>
-    4487:4487:void <clinit>():88:88 -> <clinit>
-    4488:4488:void <clinit>():88:88 -> <clinit>
-    4489:4489:void <clinit>():88:88 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():88:88 -> <clinit>
+    4466:4466:void <clinit>():88:88 -> <clinit>
+    4467:4467:void <clinit>():88:88 -> <clinit>
+    4468:4468:void <clinit>():88:88 -> <clinit>
+    4469:4469:void <clinit>():88:88 -> <clinit>
     439:439:void <clinit>():88:88 -> <clinit>
     440:440:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4491,"2":4492,"3":4493,"4":4494,"5":4495}}
-    4491:4491:void <clinit>():90:90 -> <clinit>
-    4492:4492:void <clinit>():90:90 -> <clinit>
-    4493:4493:void <clinit>():90:90 -> <clinit>
-    4494:4494:void <clinit>():90:90 -> <clinit>
-    4495:4495:void <clinit>():90:90 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():90:90 -> <clinit>
+    4466:4466:void <clinit>():90:90 -> <clinit>
+    4467:4467:void <clinit>():90:90 -> <clinit>
+    4468:4468:void <clinit>():90:90 -> <clinit>
+    4469:4469:void <clinit>():90:90 -> <clinit>
     530:530:void <clinit>():90:90 -> <clinit>
     531:531:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4496,"2":4497,"3":4498,"4":4499,"5":4500}}
-    4496:4496:void <clinit>():90:90 -> <clinit>
-    4497:4497:void <clinit>():90:90 -> <clinit>
-    4498:4498:void <clinit>():90:90 -> <clinit>
-    4499:4499:void <clinit>():90:90 -> <clinit>
-    4500:4500:void <clinit>():90:90 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():90:90 -> <clinit>
+    4466:4466:void <clinit>():90:90 -> <clinit>
+    4467:4467:void <clinit>():90:90 -> <clinit>
+    4468:4468:void <clinit>():90:90 -> <clinit>
+    4469:4469:void <clinit>():90:90 -> <clinit>
     621:621:void <clinit>():90:90 -> <clinit>
     622:622:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4501,"2":4502,"3":4503,"4":4504,"5":4505}}
-    4501:4501:void <clinit>():90:90 -> <clinit>
-    4502:4502:void <clinit>():90:90 -> <clinit>
-    4503:4503:void <clinit>():90:90 -> <clinit>
-    4504:4504:void <clinit>():90:90 -> <clinit>
-    4505:4505:void <clinit>():90:90 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():90:90 -> <clinit>
+    4466:4466:void <clinit>():90:90 -> <clinit>
+    4467:4467:void <clinit>():90:90 -> <clinit>
+    4468:4468:void <clinit>():90:90 -> <clinit>
+    4469:4469:void <clinit>():90:90 -> <clinit>
     712:712:void <clinit>():90:90 -> <clinit>
     713:713:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4506,"2":4507,"3":4508,"4":4509,"5":4510}}
-    4506:4506:void <clinit>():90:90 -> <clinit>
-    4507:4507:void <clinit>():90:90 -> <clinit>
-    4508:4508:void <clinit>():90:90 -> <clinit>
-    4509:4509:void <clinit>():90:90 -> <clinit>
-    4510:4510:void <clinit>():90:90 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():90:90 -> <clinit>
+    4466:4466:void <clinit>():90:90 -> <clinit>
+    4467:4467:void <clinit>():90:90 -> <clinit>
+    4468:4468:void <clinit>():90:90 -> <clinit>
+    4469:4469:void <clinit>():90:90 -> <clinit>
     803:803:void <clinit>():90:90 -> <clinit>
     804:804:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4511,"2":4512,"3":4513,"4":4514,"5":4515}}
-    4511:4511:void <clinit>():91:91 -> <clinit>
-    4512:4512:void <clinit>():91:91 -> <clinit>
-    4513:4513:void <clinit>():91:91 -> <clinit>
-    4514:4514:void <clinit>():91:91 -> <clinit>
-    4515:4515:void <clinit>():91:91 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():91:91 -> <clinit>
+    4466:4466:void <clinit>():91:91 -> <clinit>
+    4467:4467:void <clinit>():91:91 -> <clinit>
+    4468:4468:void <clinit>():91:91 -> <clinit>
+    4469:4469:void <clinit>():91:91 -> <clinit>
     895:895:void <clinit>():91:91 -> <clinit>
     896:896:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4516,"2":4517,"3":4518,"4":4519,"5":4520}}
-    4516:4516:void <clinit>():91:91 -> <clinit>
-    4517:4517:void <clinit>():91:91 -> <clinit>
-    4518:4518:void <clinit>():91:91 -> <clinit>
-    4519:4519:void <clinit>():91:91 -> <clinit>
-    4520:4520:void <clinit>():91:91 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():91:91 -> <clinit>
+    4466:4466:void <clinit>():91:91 -> <clinit>
+    4467:4467:void <clinit>():91:91 -> <clinit>
+    4468:4468:void <clinit>():91:91 -> <clinit>
+    4469:4469:void <clinit>():91:91 -> <clinit>
     987:987:void <clinit>():91:91 -> <clinit>
     988:988:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4521,"2":4522,"3":4523,"4":4524,"5":4525}}
-    4521:4521:void <clinit>():91:91 -> <clinit>
-    4522:4522:void <clinit>():91:91 -> <clinit>
-    4523:4523:void <clinit>():91:91 -> <clinit>
-    4524:4524:void <clinit>():91:91 -> <clinit>
-    4525:4525:void <clinit>():91:91 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():91:91 -> <clinit>
+    4466:4466:void <clinit>():91:91 -> <clinit>
+    4467:4467:void <clinit>():91:91 -> <clinit>
+    4468:4468:void <clinit>():91:91 -> <clinit>
+    4469:4469:void <clinit>():91:91 -> <clinit>
     1079:1079:void <clinit>():91:91 -> <clinit>
     1080:1080:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4526,"2":4527,"3":4528,"4":4529,"5":4530}}
-    4526:4526:void <clinit>():91:91 -> <clinit>
-    4527:4527:void <clinit>():91:91 -> <clinit>
-    4528:4528:void <clinit>():91:91 -> <clinit>
-    4529:4529:void <clinit>():91:91 -> <clinit>
-    4530:4530:void <clinit>():91:91 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():91:91 -> <clinit>
+    4466:4466:void <clinit>():91:91 -> <clinit>
+    4467:4467:void <clinit>():91:91 -> <clinit>
+    4468:4468:void <clinit>():91:91 -> <clinit>
+    4469:4469:void <clinit>():91:91 -> <clinit>
     1171:1171:void <clinit>():91:91 -> <clinit>
     1172:1172:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4532,"2":4533,"3":4534,"4":4535,"5":4536}}
-    4532:4532:void <clinit>():93:93 -> <clinit>
-    4533:4533:void <clinit>():93:93 -> <clinit>
-    4534:4534:void <clinit>():93:93 -> <clinit>
-    4535:4535:void <clinit>():93:93 -> <clinit>
-    4536:4536:void <clinit>():93:93 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():93:93 -> <clinit>
+    4466:4466:void <clinit>():93:93 -> <clinit>
+    4467:4467:void <clinit>():93:93 -> <clinit>
+    4468:4468:void <clinit>():93:93 -> <clinit>
+    4469:4469:void <clinit>():93:93 -> <clinit>
     1265:1265:void <clinit>():93:93 -> <clinit>
     1266:1266:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4537,"2":4538,"3":4539,"4":4540,"5":4541}}
-    4537:4537:void <clinit>():94:94 -> <clinit>
-    4538:4538:void <clinit>():94:94 -> <clinit>
-    4539:4539:void <clinit>():94:94 -> <clinit>
-    4540:4540:void <clinit>():94:94 -> <clinit>
-    4541:4541:void <clinit>():94:94 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():94:94 -> <clinit>
+    4466:4466:void <clinit>():94:94 -> <clinit>
+    4467:4467:void <clinit>():94:94 -> <clinit>
+    4468:4468:void <clinit>():94:94 -> <clinit>
+    4469:4469:void <clinit>():94:94 -> <clinit>
     1360:1360:void <clinit>():94:94 -> <clinit>
     1361:1361:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4542,"2":4543,"3":4544,"4":4545,"5":4546}}
-    4542:4542:void <clinit>():95:95 -> <clinit>
-    4543:4543:void <clinit>():95:95 -> <clinit>
-    4544:4544:void <clinit>():95:95 -> <clinit>
-    4545:4545:void <clinit>():95:95 -> <clinit>
-    4546:4546:void <clinit>():95:95 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():95:95 -> <clinit>
+    4466:4466:void <clinit>():95:95 -> <clinit>
+    4467:4467:void <clinit>():95:95 -> <clinit>
+    4468:4468:void <clinit>():95:95 -> <clinit>
+    4469:4469:void <clinit>():95:95 -> <clinit>
     1456:1456:void <clinit>():95:95 -> <clinit>
     1457:1457:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4547,"2":4548,"3":4549,"4":4550,"5":4551}}
-    4547:4547:void <clinit>():96:96 -> <clinit>
-    4548:4548:void <clinit>():96:96 -> <clinit>
-    4549:4549:void <clinit>():96:96 -> <clinit>
-    4550:4550:void <clinit>():96:96 -> <clinit>
-    4551:4551:void <clinit>():96:96 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():96:96 -> <clinit>
+    4466:4466:void <clinit>():96:96 -> <clinit>
+    4467:4467:void <clinit>():96:96 -> <clinit>
+    4468:4468:void <clinit>():96:96 -> <clinit>
+    4469:4469:void <clinit>():96:96 -> <clinit>
     1553:1553:void <clinit>():96:96 -> <clinit>
     1554:1554:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4553,"2":4554,"3":4555,"4":4556,"5":4557}}
-    4553:4553:void <clinit>():98:98 -> <clinit>
-    4554:4554:void <clinit>():98:98 -> <clinit>
-    4555:4555:void <clinit>():98:98 -> <clinit>
-    4556:4556:void <clinit>():98:98 -> <clinit>
-    4557:4557:void <clinit>():98:98 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():98:98 -> <clinit>
+    4466:4466:void <clinit>():98:98 -> <clinit>
+    4467:4467:void <clinit>():98:98 -> <clinit>
+    4468:4468:void <clinit>():98:98 -> <clinit>
+    4469:4469:void <clinit>():98:98 -> <clinit>
     1652:1652:void <clinit>():98:98 -> <clinit>
     1653:1653:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4558,"2":4559,"3":4560,"4":4561,"5":4562}}
-    4558:4558:void <clinit>():99:99 -> <clinit>
-    4559:4559:void <clinit>():99:99 -> <clinit>
-    4560:4560:void <clinit>():99:99 -> <clinit>
-    4561:4561:void <clinit>():99:99 -> <clinit>
-    4562:4562:void <clinit>():99:99 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():99:99 -> <clinit>
+    4466:4466:void <clinit>():99:99 -> <clinit>
+    4467:4467:void <clinit>():99:99 -> <clinit>
+    4468:4468:void <clinit>():99:99 -> <clinit>
+    4469:4469:void <clinit>():99:99 -> <clinit>
     1752:1752:void <clinit>():99:99 -> <clinit>
     1753:1753:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4563,"2":4564,"3":4565,"4":4566,"5":4567}}
-    4563:4563:void <clinit>():99:99 -> <clinit>
-    4564:4564:void <clinit>():99:99 -> <clinit>
-    4565:4565:void <clinit>():99:99 -> <clinit>
-    4566:4566:void <clinit>():99:99 -> <clinit>
-    4567:4567:void <clinit>():99:99 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():99:99 -> <clinit>
+    4466:4466:void <clinit>():99:99 -> <clinit>
+    4467:4467:void <clinit>():99:99 -> <clinit>
+    4468:4468:void <clinit>():99:99 -> <clinit>
+    4469:4469:void <clinit>():99:99 -> <clinit>
     1852:1852:void <clinit>():99:99 -> <clinit>
     1853:1853:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4568,"2":4569,"3":4570,"4":4571,"5":4572}}
-    4568:4568:void <clinit>():99:99 -> <clinit>
-    4569:4569:void <clinit>():99:99 -> <clinit>
-    4570:4570:void <clinit>():99:99 -> <clinit>
-    4571:4571:void <clinit>():99:99 -> <clinit>
-    4572:4572:void <clinit>():99:99 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():99:99 -> <clinit>
+    4466:4466:void <clinit>():99:99 -> <clinit>
+    4467:4467:void <clinit>():99:99 -> <clinit>
+    4468:4468:void <clinit>():99:99 -> <clinit>
+    4469:4469:void <clinit>():99:99 -> <clinit>
     1952:1952:void <clinit>():99:99 -> <clinit>
     1953:1953:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4573,"2":4574,"3":4575,"4":4576,"5":4577}}
-    4573:4573:void <clinit>():99:99 -> <clinit>
-    4574:4574:void <clinit>():99:99 -> <clinit>
-    4575:4575:void <clinit>():99:99 -> <clinit>
-    4576:4576:void <clinit>():99:99 -> <clinit>
-    4577:4577:void <clinit>():99:99 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():99:99 -> <clinit>
+    4466:4466:void <clinit>():99:99 -> <clinit>
+    4467:4467:void <clinit>():99:99 -> <clinit>
+    4468:4468:void <clinit>():99:99 -> <clinit>
+    4469:4469:void <clinit>():99:99 -> <clinit>
     2052:2052:void <clinit>():99:99 -> <clinit>
     2053:2053:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4578,"2":4579,"3":4580,"4":4581,"5":4582}}
-    4578:4578:void <clinit>():100:100 -> <clinit>
-    4579:4579:void <clinit>():100:100 -> <clinit>
-    4580:4580:void <clinit>():100:100 -> <clinit>
-    4581:4581:void <clinit>():100:100 -> <clinit>
-    4582:4582:void <clinit>():100:100 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():100:100 -> <clinit>
+    4466:4466:void <clinit>():100:100 -> <clinit>
+    4467:4467:void <clinit>():100:100 -> <clinit>
+    4468:4468:void <clinit>():100:100 -> <clinit>
+    4469:4469:void <clinit>():100:100 -> <clinit>
     2153:2153:void <clinit>():100:100 -> <clinit>
     2154:2154:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4583,"2":4584,"3":4585,"4":4586,"5":4587}}
-    4583:4583:void <clinit>():100:100 -> <clinit>
-    4584:4584:void <clinit>():100:100 -> <clinit>
-    4585:4585:void <clinit>():100:100 -> <clinit>
-    4586:4586:void <clinit>():100:100 -> <clinit>
-    4587:4587:void <clinit>():100:100 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():100:100 -> <clinit>
+    4466:4466:void <clinit>():100:100 -> <clinit>
+    4467:4467:void <clinit>():100:100 -> <clinit>
+    4468:4468:void <clinit>():100:100 -> <clinit>
+    4469:4469:void <clinit>():100:100 -> <clinit>
     2254:2254:void <clinit>():100:100 -> <clinit>
     2255:2255:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4588,"2":4589,"3":4590,"4":4591,"5":4592}}
-    4588:4588:void <clinit>():100:100 -> <clinit>
-    4589:4589:void <clinit>():100:100 -> <clinit>
-    4590:4590:void <clinit>():100:100 -> <clinit>
-    4591:4591:void <clinit>():100:100 -> <clinit>
-    4592:4592:void <clinit>():100:100 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():100:100 -> <clinit>
+    4466:4466:void <clinit>():100:100 -> <clinit>
+    4467:4467:void <clinit>():100:100 -> <clinit>
+    4468:4468:void <clinit>():100:100 -> <clinit>
+    4469:4469:void <clinit>():100:100 -> <clinit>
     2355:2355:void <clinit>():100:100 -> <clinit>
     2356:2356:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4593,"2":4594,"3":4595,"4":4596,"5":4597}}
-    4593:4593:void <clinit>():100:100 -> <clinit>
-    4594:4594:void <clinit>():100:100 -> <clinit>
-    4595:4595:void <clinit>():100:100 -> <clinit>
-    4596:4596:void <clinit>():100:100 -> <clinit>
-    4597:4597:void <clinit>():100:100 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():100:100 -> <clinit>
+    4466:4466:void <clinit>():100:100 -> <clinit>
+    4467:4467:void <clinit>():100:100 -> <clinit>
+    4468:4468:void <clinit>():100:100 -> <clinit>
+    4469:4469:void <clinit>():100:100 -> <clinit>
     2456:2456:void <clinit>():100:100 -> <clinit>
     2457:2457:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4599,"2":4600,"3":4601,"4":4602,"5":4603}}
-    4599:4599:void <clinit>():102:102 -> <clinit>
-    4600:4600:void <clinit>():102:102 -> <clinit>
-    4601:4601:void <clinit>():102:102 -> <clinit>
-    4602:4602:void <clinit>():102:102 -> <clinit>
-    4603:4603:void <clinit>():102:102 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():102:102 -> <clinit>
+    4466:4466:void <clinit>():102:102 -> <clinit>
+    4467:4467:void <clinit>():102:102 -> <clinit>
+    4468:4468:void <clinit>():102:102 -> <clinit>
+    4469:4469:void <clinit>():102:102 -> <clinit>
     2559:2559:void <clinit>():102:102 -> <clinit>
     2560:2560:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4604,"2":4605,"3":4606,"4":4607,"5":4608}}
-    4604:4604:void <clinit>():103:103 -> <clinit>
-    4605:4605:void <clinit>():103:103 -> <clinit>
-    4606:4606:void <clinit>():103:103 -> <clinit>
-    4607:4607:void <clinit>():103:103 -> <clinit>
-    4608:4608:void <clinit>():103:103 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():103:103 -> <clinit>
+    4466:4466:void <clinit>():103:103 -> <clinit>
+    4467:4467:void <clinit>():103:103 -> <clinit>
+    4468:4468:void <clinit>():103:103 -> <clinit>
+    4469:4469:void <clinit>():103:103 -> <clinit>
     2663:2663:void <clinit>():103:103 -> <clinit>
     2664:2664:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4610,"2":4611,"3":4612,"4":4613,"5":4614}}
-    4610:4610:void <clinit>():105:105 -> <clinit>
-    4611:4611:void <clinit>():105:105 -> <clinit>
-    4612:4612:void <clinit>():105:105 -> <clinit>
-    4613:4613:void <clinit>():105:105 -> <clinit>
-    4614:4614:void <clinit>():105:105 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():105:105 -> <clinit>
+    4466:4466:void <clinit>():105:105 -> <clinit>
+    4467:4467:void <clinit>():105:105 -> <clinit>
+    4468:4468:void <clinit>():105:105 -> <clinit>
+    4469:4469:void <clinit>():105:105 -> <clinit>
     2769:2769:void <clinit>():105:105 -> <clinit>
     2770:2770:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4615,"2":4616,"3":4617,"4":4618,"5":4619}}
-    4615:4615:void <clinit>():105:105 -> <clinit>
-    4616:4616:void <clinit>():105:105 -> <clinit>
-    4617:4617:void <clinit>():105:105 -> <clinit>
-    4618:4618:void <clinit>():105:105 -> <clinit>
-    4619:4619:void <clinit>():105:105 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():105:105 -> <clinit>
+    4466:4466:void <clinit>():105:105 -> <clinit>
+    4467:4467:void <clinit>():105:105 -> <clinit>
+    4468:4468:void <clinit>():105:105 -> <clinit>
+    4469:4469:void <clinit>():105:105 -> <clinit>
     2875:2875:void <clinit>():105:105 -> <clinit>
     2876:2876:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4620,"2":4621,"3":4622,"4":4623,"5":4624}}
-    4620:4620:void <clinit>():106:106 -> <clinit>
-    4621:4621:void <clinit>():106:106 -> <clinit>
-    4622:4622:void <clinit>():106:106 -> <clinit>
-    4623:4623:void <clinit>():106:106 -> <clinit>
-    4624:4624:void <clinit>():106:106 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():106:106 -> <clinit>
+    4466:4466:void <clinit>():106:106 -> <clinit>
+    4467:4467:void <clinit>():106:106 -> <clinit>
+    4468:4468:void <clinit>():106:106 -> <clinit>
+    4469:4469:void <clinit>():106:106 -> <clinit>
     2982:2982:void <clinit>():106:106 -> <clinit>
     2983:2983:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4625,"2":4626,"3":4627,"4":4628,"5":4629}}
-    4625:4625:void <clinit>():106:106 -> <clinit>
-    4626:4626:void <clinit>():106:106 -> <clinit>
-    4627:4627:void <clinit>():106:106 -> <clinit>
-    4628:4628:void <clinit>():106:106 -> <clinit>
-    4629:4629:void <clinit>():106:106 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():106:106 -> <clinit>
+    4466:4466:void <clinit>():106:106 -> <clinit>
+    4467:4467:void <clinit>():106:106 -> <clinit>
+    4468:4468:void <clinit>():106:106 -> <clinit>
+    4469:4469:void <clinit>():106:106 -> <clinit>
     3089:3089:void <clinit>():106:106 -> <clinit>
     3090:3090:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4630,"2":4631,"3":4632,"4":4633,"5":4634}}
-    4630:4630:void <clinit>():107:107 -> <clinit>
-    4631:4631:void <clinit>():107:107 -> <clinit>
-    4632:4632:void <clinit>():107:107 -> <clinit>
-    4633:4633:void <clinit>():107:107 -> <clinit>
-    4634:4634:void <clinit>():107:107 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():107:107 -> <clinit>
+    4466:4466:void <clinit>():107:107 -> <clinit>
+    4467:4467:void <clinit>():107:107 -> <clinit>
+    4468:4468:void <clinit>():107:107 -> <clinit>
+    4469:4469:void <clinit>():107:107 -> <clinit>
     3197:3197:void <clinit>():107:107 -> <clinit>
     3198:3198:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4635,"2":4636,"3":4637,"4":4638,"5":4639}}
-    4635:4635:void <clinit>():107:107 -> <clinit>
-    4636:4636:void <clinit>():107:107 -> <clinit>
-    4637:4637:void <clinit>():107:107 -> <clinit>
-    4638:4638:void <clinit>():107:107 -> <clinit>
-    4639:4639:void <clinit>():107:107 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():107:107 -> <clinit>
+    4466:4466:void <clinit>():107:107 -> <clinit>
+    4467:4467:void <clinit>():107:107 -> <clinit>
+    4468:4468:void <clinit>():107:107 -> <clinit>
+    4469:4469:void <clinit>():107:107 -> <clinit>
     3305:3305:void <clinit>():107:107 -> <clinit>
     3306:3306:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4640,"2":4641,"3":4642,"4":4643,"5":4644}}
-    4640:4640:void <clinit>():108:108 -> <clinit>
-    4641:4641:void <clinit>():108:108 -> <clinit>
-    4642:4642:void <clinit>():108:108 -> <clinit>
-    4643:4643:void <clinit>():108:108 -> <clinit>
-    4644:4644:void <clinit>():108:108 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():108:108 -> <clinit>
+    4466:4466:void <clinit>():108:108 -> <clinit>
+    4467:4467:void <clinit>():108:108 -> <clinit>
+    4468:4468:void <clinit>():108:108 -> <clinit>
+    4469:4469:void <clinit>():108:108 -> <clinit>
     3414:3414:void <clinit>():108:108 -> <clinit>
     3415:3415:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4645,"2":4646,"3":4647,"4":4648,"5":4649}}
-    4645:4645:void <clinit>():108:108 -> <clinit>
-    4646:4646:void <clinit>():108:108 -> <clinit>
-    4647:4647:void <clinit>():108:108 -> <clinit>
-    4648:4648:void <clinit>():108:108 -> <clinit>
-    4649:4649:void <clinit>():108:108 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():108:108 -> <clinit>
+    4466:4466:void <clinit>():108:108 -> <clinit>
+    4467:4467:void <clinit>():108:108 -> <clinit>
+    4468:4468:void <clinit>():108:108 -> <clinit>
+    4469:4469:void <clinit>():108:108 -> <clinit>
     3523:3523:void <clinit>():108:108 -> <clinit>
     3524:3524:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4650,"2":4651,"3":4652,"4":4653,"5":4654}}
-    4650:4650:void <clinit>():109:109 -> <clinit>
-    4651:4651:void <clinit>():109:109 -> <clinit>
-    4652:4652:void <clinit>():109:109 -> <clinit>
-    4653:4653:void <clinit>():109:109 -> <clinit>
-    4654:4654:void <clinit>():109:109 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():109:109 -> <clinit>
+    4466:4466:void <clinit>():109:109 -> <clinit>
+    4467:4467:void <clinit>():109:109 -> <clinit>
+    4468:4468:void <clinit>():109:109 -> <clinit>
+    4469:4469:void <clinit>():109:109 -> <clinit>
     3633:3633:void <clinit>():109:109 -> <clinit>
     3634:3634:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4655,"2":4656,"3":4657,"4":4658,"5":4659}}
-    4655:4655:void <clinit>():109:109 -> <clinit>
-    4656:4656:void <clinit>():109:109 -> <clinit>
-    4657:4657:void <clinit>():109:109 -> <clinit>
-    4658:4658:void <clinit>():109:109 -> <clinit>
-    4659:4659:void <clinit>():109:109 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():109:109 -> <clinit>
+    4466:4466:void <clinit>():109:109 -> <clinit>
+    4467:4467:void <clinit>():109:109 -> <clinit>
+    4468:4468:void <clinit>():109:109 -> <clinit>
+    4469:4469:void <clinit>():109:109 -> <clinit>
     3743:3743:void <clinit>():109:109 -> <clinit>
     3744:3744:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4660,"2":4661,"3":4662,"4":4663,"5":4664}}
-    4660:4660:void <clinit>():110:110 -> <clinit>
-    4661:4661:void <clinit>():110:110 -> <clinit>
-    4662:4662:void <clinit>():110:110 -> <clinit>
-    4663:4663:void <clinit>():110:110 -> <clinit>
-    4664:4664:void <clinit>():110:110 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():110:110 -> <clinit>
+    4466:4466:void <clinit>():110:110 -> <clinit>
+    4467:4467:void <clinit>():110:110 -> <clinit>
+    4468:4468:void <clinit>():110:110 -> <clinit>
+    4469:4469:void <clinit>():110:110 -> <clinit>
     3854:3854:void <clinit>():110:110 -> <clinit>
     3855:3855:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4665,"2":4666,"3":4667,"4":4668,"5":4669}}
-    4665:4665:void <clinit>():110:110 -> <clinit>
-    4666:4666:void <clinit>():110:110 -> <clinit>
-    4667:4667:void <clinit>():110:110 -> <clinit>
-    4668:4668:void <clinit>():110:110 -> <clinit>
-    4669:4669:void <clinit>():110:110 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():110:110 -> <clinit>
+    4466:4466:void <clinit>():110:110 -> <clinit>
+    4467:4467:void <clinit>():110:110 -> <clinit>
+    4468:4468:void <clinit>():110:110 -> <clinit>
+    4469:4469:void <clinit>():110:110 -> <clinit>
     3965:3965:void <clinit>():110:110 -> <clinit>
     3966:3966:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4671,"2":4672,"3":4673,"4":4674,"5":4675}}
-    4671:4671:void <clinit>():112:112 -> <clinit>
-    4672:4672:void <clinit>():112:112 -> <clinit>
-    4673:4673:void <clinit>():112:112 -> <clinit>
-    4674:4674:void <clinit>():112:112 -> <clinit>
-    4675:4675:void <clinit>():112:112 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():112:112 -> <clinit>
+    4466:4466:void <clinit>():112:112 -> <clinit>
+    4467:4467:void <clinit>():112:112 -> <clinit>
+    4468:4468:void <clinit>():112:112 -> <clinit>
+    4469:4469:void <clinit>():112:112 -> <clinit>
     4078:4078:void <clinit>():112:112 -> <clinit>
     4079:4079:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4676,"2":4677,"3":4678,"4":4679,"5":4680}}
-    4676:4676:void <clinit>():112:112 -> <clinit>
-    4677:4677:void <clinit>():112:112 -> <clinit>
-    4678:4678:void <clinit>():112:112 -> <clinit>
-    4679:4679:void <clinit>():112:112 -> <clinit>
-    4680:4680:void <clinit>():112:112 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():112:112 -> <clinit>
+    4466:4466:void <clinit>():112:112 -> <clinit>
+    4467:4467:void <clinit>():112:112 -> <clinit>
+    4468:4468:void <clinit>():112:112 -> <clinit>
+    4469:4469:void <clinit>():112:112 -> <clinit>
     4191:4191:void <clinit>():112:112 -> <clinit>
     4192:4192:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4681,"2":4682,"3":4683,"4":4684,"5":4685}}
-    4681:4681:void <clinit>():113:113 -> <clinit>
-    4682:4682:void <clinit>():113:113 -> <clinit>
-    4683:4683:void <clinit>():113:113 -> <clinit>
-    4684:4684:void <clinit>():113:113 -> <clinit>
-    4685:4685:void <clinit>():113:113 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():113:113 -> <clinit>
+    4466:4466:void <clinit>():113:113 -> <clinit>
+    4467:4467:void <clinit>():113:113 -> <clinit>
+    4468:4468:void <clinit>():113:113 -> <clinit>
+    4469:4469:void <clinit>():113:113 -> <clinit>
     4305:4305:void <clinit>():113:113 -> <clinit>
     4306:4306:void <clinit>():0:0 -> <clinit>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4686,"2":4687,"3":4688,"4":4689,"5":4690}}
-    4686:4686:void <clinit>():113:113 -> <clinit>
-    4687:4687:void <clinit>():113:113 -> <clinit>
-    4688:4688:void <clinit>():113:113 -> <clinit>
-    4689:4689:void <clinit>():113:113 -> <clinit>
-    4690:4690:void <clinit>():113:113 -> <clinit>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
+    4465:4465:void <clinit>():113:113 -> <clinit>
+    4466:4466:void <clinit>():113:113 -> <clinit>
+    4467:4467:void <clinit>():113:113 -> <clinit>
+    4468:4468:void <clinit>():113:113 -> <clinit>
+    4469:4469:void <clinit>():113:113 -> <clinit>
     4419:4419:void <clinit>():113:113 -> <clinit>
     4420:4463:void <clinit>():83:126 -> <clinit>
     4464:4464:void <clinit>():116:116 -> <clinit>
@@ -87611,10 +87742,10 @@
     1:1:java.lang.String[] getStrings():15:15 -> b
     2:2:boolean isLocalClassName(int):77:77 -> b
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes getTypes():14:14 -> c
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver$Companion -> com.android.tools.r8.internal.Cw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver$Companion -> com.android.tools.r8.internal.Ew:
 # {"id":"sourceFile","fileName":"JvmNameResolver.kt"}
     1:1:void <init>():79:79 -> <init>
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil -> com.android.tools.r8.internal.ax:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil -> com.android.tools.r8.internal.cx:
 # {"id":"sourceFile","fileName":"JvmProtoBufUtil.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil INSTANCE -> a
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite EXTENSION_REGISTRY -> b
@@ -87725,10 +87856,10 @@
     7:7:com.android.tools.r8.jetbrains.kotlin.Pair readPackageDataFrom(java.lang.String[],java.lang.String[]):37 -> c
     8:8:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readPackageDataFrom(byte[],java.lang.String[]):42:42 -> c
     8:8:com.android.tools.r8.jetbrains.kotlin.Pair readPackageDataFrom(java.lang.String[],java.lang.String[]):37 -> c
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.UtfEncodingKt -> com.android.tools.r8.internal.T10:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.UtfEncodingKt -> com.android.tools.r8.internal.Z10:
 # {"id":"sourceFile","fileName":"utfEncoding.kt"}
     1:51:java.lang.String[] bytesToStrings(byte[]):27:77 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.serialization.JvmStringTable -> com.android.tools.r8.internal.bx:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.serialization.JvmStringTable -> com.android.tools.r8.internal.dx:
 # {"id":"sourceFile","fileName":"JvmStringTable.kt"}
     java.util.LinkedHashSet localNames -> d
     java.util.ArrayList records -> b
@@ -87774,7 +87905,7 @@
     743:743:void serializeTo(java.io.OutputStream):98 -> a
     744:744:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder.build():1799:1799 -> a
     744:744:void serializeTo(java.io.OutputStream):98 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.Interner -> com.android.tools.r8.internal.mu:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.Interner -> com.android.tools.r8.internal.ou:
 # {"id":"sourceFile","fileName":"Interner.kt"}
     java.util.HashMap interned -> b
     int firstIndex -> a
@@ -87783,13 +87914,13 @@
     21:24:java.lang.Integer find(java.lang.Object):19:22 -> a
     1:1:boolean isEmpty():16:16 -> b
     2:3:int intern(java.lang.Object):26:27 -> b
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.Interner$special$$inlined$sortedBy$1 -> com.android.tools.r8.internal.lu:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.Interner$special$$inlined$sortedBy$1 -> com.android.tools.r8.internal.nu:
 # {"id":"sourceFile","fileName":"Comparisons.kt"}
     java.util.HashMap $receiver$inlined -> b
     1:1:int compare(java.lang.Object,java.lang.Object):321:321 -> compare
     2:2:int com.android.tools.r8.jetbrains.kotlin.comparisons.ComparisonsKt__ComparisonsKt.compareValues(java.lang.Comparable,java.lang.Comparable):78:78 -> compare
     2:2:int compare(java.lang.Object,java.lang.Object):321 -> compare
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableVersionRequirementTable -> com.android.tools.r8.internal.xG:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableVersionRequirementTable -> com.android.tools.r8.internal.CG:
 # {"id":"sourceFile","fileName":"MutableTable.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.Interner com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.interner -> a
     1:6:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.<init>():23:28 -> <init>
@@ -87828,7 +87959,7 @@
     69:69:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.serialize():40:40 -> a
     69:69:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.serialize():0 -> a
       # {"id":"com.android.tools.r8.synthesized"}
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.TableElementWrapper -> com.android.tools.r8.internal.VY:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.TableElementWrapper -> com.android.tools.r8.internal.aZ:
 # {"id":"sourceFile","fileName":"MutableTable.kt"}
     byte[] bytes -> b
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder builder -> a
@@ -87930,7 +88061,7 @@
     9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parsePartialFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):196:196 -> b
     9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parseFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):209 -> b
     9:9:java.lang.Object parseFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):49 -> b
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString -> com.android.tools.r8.internal.b6:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString -> com.android.tools.r8.internal.c6:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString EMPTY -> b
     boolean $assertionsDisabled -> c
     1:22:void <clinit>():60:81 -> <clinit>
@@ -87957,9 +88088,9 @@
     int peekCachedHashCode() -> e
     java.lang.String toString(java.lang.String) -> f
     1:1:java.lang.String toString():1019:1019 -> toString
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString$ByteIterator -> com.android.tools.r8.internal.Z5:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString$ByteIterator -> com.android.tools.r8.internal.a6:
     byte nextByte() -> c
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString$Output -> com.android.tools.r8.internal.a6:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString$Output -> com.android.tools.r8.internal.b6:
     int bufferPos -> f
     byte[] EMPTY_BYTE_ARRAY -> g
     int flushedBuffersTotalBytes -> d
@@ -87988,7 +88119,7 @@
     20:28:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString$Output.flushFullBuffer(int):898:906 -> write
     20:28:void write(byte[],int,int):814 -> write
     29:30:void write(byte[],int,int):815:816 -> write
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream -> com.android.tools.r8.internal.Tb:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream -> com.android.tools.r8.internal.Ub:
     byte[] buffer -> a
     int currentLimit -> h
     int recursionDepth -> i
@@ -88120,7 +88251,7 @@
     7:7:int readTag():158 -> n
     8:8:int readTag():158:158 -> n
     1:8:void recomputeBufferSizeAfterLimit():1001:1008 -> o
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream -> com.android.tools.r8.internal.Vb:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream -> com.android.tools.r8.internal.Wb:
     byte[] buffer -> a
     java.io.OutputStream output -> e
     int totalBytesWritten -> d
@@ -88240,9 +88371,9 @@
     15:15:void writeSInt64(int,long):342 -> e
     1:4:void writeRawLittleEndian32(int):1246:1249 -> f
     1:4:void writeRawVarint32(int):1195:1198 -> g
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream$OutOfSpaceException -> com.android.tools.r8.internal.Ub:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream$OutOfSpaceException -> com.android.tools.r8.internal.Vb:
     1:1:void <init>():1016:1016 -> <init>
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite -> com.android.tools.r8.internal.jj:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite -> com.android.tools.r8.internal.lj:
     java.util.Map extensionsByNumber -> a
     int $r8$clinit -> c
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite EMPTY -> b
@@ -88261,13 +88392,13 @@
     6:6:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.getNumber():830 -> a
     6:6:void add(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):125 -> a
     7:7:void add(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):125:125 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite$ObjectIntPair -> com.android.tools.r8.internal.ij:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite$ObjectIntPair -> com.android.tools.r8.internal.kj:
     java.lang.Object object -> a
     int number -> b
     1:3:void <init>(java.lang.Object,int):167:169 -> <init>
     1:5:boolean equals(java.lang.Object):178:182 -> equals
     1:1:int hashCode():174:174 -> hashCode
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet -> com.android.tools.r8.internal.bk:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet -> com.android.tools.r8.internal.dk:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet DEFAULT_INSTANCE -> d
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap fields -> a
     int $r8$clinit -> e
@@ -88595,8 +88726,8 @@
     1:5:java.util.Iterator iterator():197:201 -> e
     1:5:void makeImmutable():107:111 -> f
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet newFieldSet():92:92 -> g
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite -> com.android.tools.r8.internal.ak:
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite -> com.android.tools.r8.internal.Ol:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite -> com.android.tools.r8.internal.ck:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite -> com.android.tools.r8.internal.Ql:
     1:1:void <init>():53:53 -> <init>
     2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):56:56 -> <init>
     1:1:boolean parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):73:73 -> a
@@ -88693,15 +88824,15 @@
     131:131:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension newSingularGeneratedExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLiteMap,int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Class):639:639 -> a
     132:133:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension newRepeatedGeneratedExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLiteMap,int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean,java.lang.Class):661:662 -> a
     134:136:java.lang.reflect.Method getMethodOrDie(java.lang.Class,java.lang.String,java.lang.Class[]):735:737 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$1 -> com.android.tools.r8.internal.Hl:
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder -> com.android.tools.r8.internal.Il:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$1 -> com.android.tools.r8.internal.Jl:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder -> com.android.tools.r8.internal.Kl:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
     1:45:void <init>():87:131 -> <init>
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite) -> a
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder setUnknownFields(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):127:127 -> a
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite getDefaultInstanceForType() -> d
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString getUnknownFields():123:123 -> e
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder -> com.android.tools.r8.internal.Jl:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder -> com.android.tools.r8.internal.Ll:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet extensions -> c
     boolean extensionsIsMutable -> d
     1:3:void <init>():332:334 -> <init>
@@ -88740,7 +88871,7 @@
     20:20:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder setExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension,java.lang.Object):433:433 -> b
     21:21:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder.verifyExtensionContainingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):371:371 -> b
     21:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder setExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension,java.lang.Object):431 -> b
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableMessage -> com.android.tools.r8.internal.Ll:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableMessage -> com.android.tools.r8.internal.Nl:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet extensions -> b
     1:2:void <init>():171:172 -> <init>
     3:4:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):175:176 -> <init>
@@ -88776,7 +88907,7 @@
     1:1:int extensionsSerializedSize():316:316 -> h
     1:1:void makeExtensionsImmutable():261:261 -> i
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableMessage$ExtensionWriter newExtensionWriter():308:308 -> j
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableMessage$ExtensionWriter -> com.android.tools.r8.internal.Kl:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableMessage$ExtensionWriter -> com.android.tools.r8.internal.Ml:
     java.util.Map$Entry next -> b
     java.util.Iterator iter -> a
     boolean messageSetWireFormat -> c
@@ -88819,7 +88950,7 @@
     14:14:void writeUntil(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):293 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
     15:20:void writeUntil(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):296:301 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor -> com.android.tools.r8.internal.Ml:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor -> com.android.tools.r8.internal.Ol:
     boolean isRepeated -> e
     boolean isPacked -> f
     int number -> c
@@ -88830,7 +88961,7 @@
     1:1:int compareTo(java.lang.Object):671:671 -> compareTo
     2:2:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.compareTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor):725:725 -> compareTo
     2:2:int compareTo(java.lang.Object):671 -> compareTo
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension -> com.android.tools.r8.internal.Nl:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension -> com.android.tools.r8.internal.Pl:
     java.lang.Object defaultValue -> b
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor descriptor -> d
     java.lang.reflect.Method enumValueOf -> e
@@ -88854,28 +88985,28 @@
     2:2:java.lang.Object singularToFieldSetType(java.lang.Object):885 -> b
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     3:4:java.lang.Object singularToFieldSetType(java.lang.Object):885:886 -> b
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal -> com.android.tools.r8.internal.au:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal -> com.android.tools.r8.internal.cu:
     byte[] EMPTY_BYTE_ARRAY -> a
     1:6:void <clinit>():383:388 -> <clinit>
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLite -> com.android.tools.r8.internal.Yt:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLite -> com.android.tools.r8.internal.au:
     int getNumber() -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLiteMap -> com.android.tools.r8.internal.Zt:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLiteMap -> com.android.tools.r8.internal.bu:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLite findValueByNumber(int) -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException -> com.android.tools.r8.internal.uu:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException -> com.android.tools.r8.internal.wu:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite unfinishedMessage -> b
     1:1:void <init>(java.lang.String):46:46 -> <init>
     2:2:void <init>(java.lang.String):43:43 -> <init>
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException setUnfinishedMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):57:57 -> a
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite getUnfinishedMessage():66:66 -> a
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException truncatedMessage():70:70 -> b
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LazyField$LazyIterator -> com.android.tools.r8.internal.iB:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LazyField$LazyIterator -> com.android.tools.r8.internal.kB:
     java.util.Iterator iterator -> b
     1:2:void <init>(java.util.Iterator):130:131 -> <init>
     1:1:boolean hasNext():136:136 -> hasNext
     1:2:java.util.Map$Entry com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LazyField$LazyIterator.next():142:143 -> next
     1:2:java.lang.Object next():127 -> next
     1:1:void remove():151:151 -> remove
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString -> com.android.tools.r8.internal.rC:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString -> com.android.tools.r8.internal.wC:
     int hash -> e
     byte[] bytes -> d
     1:180:void <init>(byte[]):62:241 -> <init>
@@ -88913,8 +89044,8 @@
     1:9:int hashCode():251:259 -> hashCode
     1:1:java.util.Iterator iterator():52:52 -> iterator
     1:1:int size():76:76 -> size
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString$1 -> com.android.tools.r8.internal.pC:
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString$LiteralByteIterator -> com.android.tools.r8.internal.qC:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString$1 -> com.android.tools.r8.internal.uC:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString$LiteralByteIterator -> com.android.tools.r8.internal.vC:
     int position -> b
     int limit -> c
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString this$0 -> d
@@ -88925,12 +89056,12 @@
     1:1:java.lang.Byte com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString$LiteralByteIterator.next():325:325 -> next
     1:1:java.lang.Object next():310 -> next
     1:1:void remove():337:337 -> remove
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLiteOrBuilder -> com.android.tools.r8.internal.pE:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLiteOrBuilder -> com.android.tools.r8.internal.uE:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite getDefaultInstanceForType() -> a
     boolean isInitialized() -> b
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser -> com.android.tools.r8.internal.RL:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser -> com.android.tools.r8.internal.WL:
     java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite) -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString -> com.android.tools.r8.internal.EU:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString -> com.android.tools.r8.internal.JU:
     int treeDepth -> h
     int hash -> i
     int leftLength -> g
@@ -88985,8 +89116,8 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString$ByteIterator com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString.iterator():779:779 -> iterator
     1:1:java.util.Iterator iterator():70 -> iterator
     1:1:int size():269:269 -> size
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$1 -> com.android.tools.r8.internal.AU:
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$Balancer -> com.android.tools.r8.internal.BU:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$1 -> com.android.tools.r8.internal.FU:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$Balancer -> com.android.tools.r8.internal.GU:
     java.util.Stack prefixesStack -> a
     1:5:void <init>():602:606 -> <init>
     6:6:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$1):602:602 -> <init>
@@ -89015,7 +89146,7 @@
     691:691:void doBalance(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):635:635 -> a
     692:692:void doBalance(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):635:635 -> a
     689:689:void doBalance(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):635:635 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$PieceIterator -> com.android.tools.r8.internal.CU:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$PieceIterator -> com.android.tools.r8.internal.HU:
     java.util.Stack breadCrumbs -> b
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString next -> c
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$1):716:716 -> <init>
@@ -89033,7 +89164,7 @@
     8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString next():762:762 -> l
     1:1:java.lang.Object next():716:716 -> next
     1:1:void remove():770:770 -> remove
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$RopeByteIterator -> com.android.tools.r8.internal.DU:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$RopeByteIterator -> com.android.tools.r8.internal.IU:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString$ByteIterator bytes -> c
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$PieceIterator pieces -> b
     int bytesRemaining -> d
@@ -89044,7 +89175,7 @@
     1:1:java.lang.Byte com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$RopeByteIterator.next():799:799 -> next
     1:1:java.lang.Object next():782 -> next
     1:1:void remove():811:811 -> remove
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$1 -> com.android.tools.r8.internal.RV:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$1 -> com.android.tools.r8.internal.WV:
     java.util.Map com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.overflowEntries -> d
     java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.entryList -> c
     boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.isImmutable -> e
@@ -89156,20 +89287,20 @@
     1:1:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.size():202:202 -> size
     1:1:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.size():0 -> size
       # {"id":"com.android.tools.r8.synthesized"}
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$EmptySet -> com.android.tools.r8.internal.UV:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$EmptySet -> com.android.tools.r8.internal.ZV:
     java.util.Iterator ITERATOR -> a
     java.lang.Iterable ITERABLE -> b
     1:16:void <clinit>():591:606 -> <clinit>
     1:1:java.util.Iterator access$700():589:589 -> a
     1:1:java.lang.Iterable iterable():615:615 -> b
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$EmptySet$1 -> com.android.tools.r8.internal.SV:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$EmptySet$1 -> com.android.tools.r8.internal.XV:
     1:1:void <init>():591:591 -> <init>
     1:1:java.lang.Object next():598:598 -> next
     1:1:void remove():602:602 -> remove
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$EmptySet$2 -> com.android.tools.r8.internal.TV:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$EmptySet$2 -> com.android.tools.r8.internal.YV:
     1:1:void <init>():606:606 -> <init>
     1:1:java.util.Iterator iterator():609:609 -> iterator
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$Entry -> com.android.tools.r8.internal.VV:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$Entry -> com.android.tools.r8.internal.aW:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap this$0 -> d
     java.lang.Comparable key -> b
     java.lang.Object value -> c
@@ -89193,7 +89324,7 @@
     1:1:int hashCode():452:452 -> hashCode
     1:3:java.lang.Object setValue(java.lang.Object):431:433 -> setValue
     1:1:java.lang.String toString():458:458 -> toString
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$EntryIterator -> com.android.tools.r8.internal.WV:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$EntryIterator -> com.android.tools.r8.internal.bW:
     java.util.Iterator lazyOverflowIterator -> d
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap this$0 -> e
     int pos -> b
@@ -89216,7 +89347,7 @@
     9:12:void remove():566 -> remove
     13:13:void remove():566:566 -> remove
     14:14:void remove():558:558 -> remove
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$EntrySet -> com.android.tools.r8.internal.XV:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$EntrySet -> com.android.tools.r8.internal.cW:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap this$0 -> b
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap):470:470 -> <init>
     2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$1):470:470 -> <init>
@@ -89228,9 +89359,9 @@
     1:1:java.util.Iterator iterator():474:474 -> iterator
     1:3:boolean remove(java.lang.Object):514:516 -> remove
     1:1:int size():479:479 -> size
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException -> com.android.tools.r8.internal.m10:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException -> com.android.tools.r8.internal.s10:
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):53:53 -> <init>
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Utf8 -> com.android.tools.r8.internal.S10:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Utf8 -> com.android.tools.r8.internal.Y10:
     1:66:int partialIsValidUtf8(int,byte[],int,int):163:228 -> a
     67:67:int partialIsValidUtf8(byte[],int,int):252:252 -> a
     68:79:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Utf8.partialIsValidUtf8NonAscii(byte[],int,int):270:281 -> a
@@ -89251,10 +89382,10 @@
     94:94:int partialIsValidUtf8(byte[],int,int):256 -> a
     95:95:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Utf8.partialIsValidUtf8NonAscii(byte[],int,int):306:306 -> a
     95:95:int partialIsValidUtf8(byte[],int,int):256 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat -> com.android.tools.r8.internal.x30:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat -> com.android.tools.r8.internal.D30:
     int makeTag(int,int) -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$1 -> com.android.tools.r8.internal.q30:
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType -> com.android.tools.r8.internal.v30:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$1 -> com.android.tools.r8.internal.w30:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType -> com.android.tools.r8.internal.B30:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType javaType -> b
     int wireType -> c
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType FLOAT -> e
@@ -89283,18 +89414,18 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType getJavaType():143:143 -> a
     1:1:int getWireType():144:144 -> b
     boolean isPackable() -> c
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType$1 -> com.android.tools.r8.internal.r30:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType$1 -> com.android.tools.r8.internal.x30:
     1:1:void <init>(java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType,int):116:116 -> <init>
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType$2 -> com.android.tools.r8.internal.s30:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType$2 -> com.android.tools.r8.internal.y30:
     1:1:void <init>(java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType,int):119:119 -> <init>
     boolean isPackable() -> c
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType$3 -> com.android.tools.r8.internal.t30:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType$3 -> com.android.tools.r8.internal.z30:
     1:1:void <init>(java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType,int):122:122 -> <init>
     boolean isPackable() -> c
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType$4 -> com.android.tools.r8.internal.u30:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType$4 -> com.android.tools.r8.internal.A30:
     1:1:void <init>(java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType,int):125:125 -> <init>
     boolean isPackable() -> c
-com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType -> com.android.tools.r8.internal.w30:
+com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType -> com.android.tools.r8.internal.C30:
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType DOUBLE -> f
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType BOOLEAN -> g
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType[] $VALUES -> l
@@ -89309,7 +89440,7 @@
     1:9:void <clinit>():78:86 -> <clinit>
     10:10:void <clinit>():77:77 -> <clinit>
     1:2:void <init>(java.lang.String,int,java.lang.Object):88:89 -> <init>
-com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmClassExtensionVisitor -> com.android.tools.r8.internal.cw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmClassExtensionVisitor -> com.android.tools.r8.internal.ew:
 # {"id":"sourceFile","fileName":"jvmExtensionVisitors.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType TYPE -> b
     1:1:void <clinit>():85:85 -> <clinit>
@@ -89323,7 +89454,7 @@
     1:1:void visitEnd():75 -> b
     2:2:void visitEnd():75:75 -> b
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType getType():54:54 -> getType
-com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmConstructorExtensionVisitor -> com.android.tools.r8.internal.fw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmConstructorExtensionVisitor -> com.android.tools.r8.internal.hw:
 # {"id":"sourceFile","fileName":"jvmExtensionVisitors.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType TYPE -> a
     1:1:void <clinit>():280:280 -> <clinit>
@@ -89331,14 +89462,14 @@
     2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmConstructorExtensionVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):256:256 -> <init>
     void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature) -> a
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType getType():260:260 -> getType
-com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmDeclarationContainerExtensionVisitor -> com.android.tools.r8.internal.gw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmDeclarationContainerExtensionVisitor -> com.android.tools.r8.internal.iw:
 # {"id":"sourceFile","fileName":"jvmExtensionVisitors.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmDeclarationContainerExtensionVisitor delegate -> a
     1:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmDeclarationContainerExtensionVisitor):14:15 -> <init>
     void visitModuleName(java.lang.String) -> a
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmDeclarationContainerExtensionVisitor getDelegate():15:15 -> a
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor visitLocalDelegatedProperty(int,java.lang.String,int,int):34:34 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt -> com.android.tools.r8.internal.iw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt -> com.android.tools.r8.internal.kw:
 # {"id":"sourceFile","fileName":"jvmExtensions.kt"}
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmConstructorExtension com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt.getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor):25:25 -> a
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature getSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor):167 -> a
@@ -89349,7 +89480,7 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmTypeExtension com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt.getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType):31:31 -> b
     1:1:boolean isRaw(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType):182 -> b
     2:2:boolean isRaw(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType):182:182 -> b
-com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature -> com.android.tools.r8.internal.jw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature -> com.android.tools.r8.internal.lw:
 # {"id":"sourceFile","fileName":"JvmMemberSignature.kt"}
     java.lang.String name -> a
     java.lang.String desc -> b
@@ -89366,7 +89497,7 @@
     1:1:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature.getDesc():51:51 -> hashCode
     1:1:int hashCode():0 -> hashCode
     2:2:int hashCode():0:0 -> hashCode
-com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFunctionExtensionVisitor -> com.android.tools.r8.internal.lw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFunctionExtensionVisitor -> com.android.tools.r8.internal.nw:
 # {"id":"sourceFile","fileName":"jvmExtensionVisitors.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType TYPE -> b
     com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFunctionExtensionVisitor delegate -> a
@@ -89377,14 +89508,14 @@
     2:2:void visitLambdaClassOriginName(java.lang.String):144:144 -> a
     3:3:void visitEnd():151:151 -> a
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType getType():126:126 -> getType
-com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMemberSignature -> com.android.tools.r8.internal.ow:
+com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMemberSignature -> com.android.tools.r8.internal.qw:
 # {"id":"sourceFile","fileName":"JvmMemberSignature.kt"}
     1:1:void <init>():16:16 -> <init>
     java.lang.String asString() -> a
     java.lang.String getDesc() -> b
     java.lang.String getName() -> c
     1:1:java.lang.String toString():30:30 -> toString
-com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature -> com.android.tools.r8.internal.Bw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature -> com.android.tools.r8.internal.Dw:
 # {"id":"sourceFile","fileName":"JvmMemberSignature.kt"}
     java.lang.String name -> a
     java.lang.String desc -> b
@@ -89401,7 +89532,7 @@
     1:1:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature.getDesc():40:40 -> hashCode
     1:1:int hashCode():0 -> hashCode
     2:2:int hashCode():0:0 -> hashCode
-com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmPackageExtensionVisitor -> com.android.tools.r8.internal.Fw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmPackageExtensionVisitor -> com.android.tools.r8.internal.Hw:
 # {"id":"sourceFile","fileName":"jvmExtensionVisitors.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType TYPE -> b
     1:1:void <clinit>():115:115 -> <clinit>
@@ -89413,7 +89544,7 @@
     1:1:void visitEnd():105 -> b
     2:2:void visitEnd():105:105 -> b
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType getType():99:99 -> getType
-com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmPropertyExtensionVisitor -> com.android.tools.r8.internal.Hw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmPropertyExtensionVisitor -> com.android.tools.r8.internal.Jw:
 # {"id":"sourceFile","fileName":"jvmExtensionVisitors.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmPropertyExtensionVisitor delegate -> a
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType TYPE -> b
@@ -89426,7 +89557,7 @@
     7:7:void visitEnd():239:239 -> a
     1:1:void visitSyntheticMethodForDelegate(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):232:232 -> b
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType getType():172:172 -> getType
-com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmTypeExtensionVisitor -> com.android.tools.r8.internal.dx:
+com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmTypeExtensionVisitor -> com.android.tools.r8.internal.fx:
 # {"id":"sourceFile","fileName":"jvmExtensionVisitors.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmTypeExtensionVisitor delegate -> a
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType TYPE -> b
@@ -89437,7 +89568,7 @@
     1:1:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):344:344 -> a
     2:2:void visitEnd():351:351 -> a
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType getType():327:327 -> getType
-com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmTypeParameterExtensionVisitor -> com.android.tools.r8.internal.fx:
+com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmTypeParameterExtensionVisitor -> com.android.tools.r8.internal.hx:
 # {"id":"sourceFile","fileName":"jvmExtensionVisitors.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType TYPE -> b
     com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmTypeParameterExtensionVisitor delegate -> a
@@ -89447,7 +89578,7 @@
     1:1:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):299:299 -> a
     2:2:void visitEnd():306:306 -> a
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType getType():291:291 -> getType
-com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader -> com.android.tools.r8.internal.oz:
+com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader -> com.android.tools.r8.internal.qz:
 # {"id":"sourceFile","fileName":"KotlinClassHeader.kt"}
     java.lang.String packageName -> g
     java.lang.String extraString -> f
@@ -89531,7 +89662,7 @@
     5:5:java.lang.Object invoke():30 -> a
     6:6:com.android.tools.r8.jetbrains.kotlin.Pair invoke():32:32 -> a
     6:6:java.lang.Object invoke():30 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion -> com.android.tools.r8.internal.rz:
+com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion -> com.android.tools.r8.internal.tz:
 # {"id":"sourceFile","fileName":"KotlinClassMetadata.kt"}
     1:1:void <init>():310:310 -> <init>
     1:1:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion.checkMetadataVersion(int[]):345:345 -> a
@@ -89721,10 +89852,10 @@
     com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader $header -> b
     1:2:com.android.tools.r8.jetbrains.kotlin.Pair invoke():134:135 -> a
     1:2:java.lang.Object invoke():133 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Unknown -> com.android.tools.r8.internal.sz:
+com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Unknown -> com.android.tools.r8.internal.uz:
 # {"id":"sourceFile","fileName":"KotlinClassMetadata.kt"}
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):308:308 -> <init>
-com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmClassExtension -> com.android.tools.r8.internal.bw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmClassExtension -> com.android.tools.r8.internal.dw:
 # {"id":"sourceFile","fileName":"jvmExtensionNodes.kt"}
     java.util.List localDelegatedProperties -> c
     int jvmFlags -> f
@@ -89746,7 +89877,7 @@
     1:1:int getJvmFlags():38:38 -> d
     1:1:java.util.List getLocalDelegatedProperties():35:35 -> e
     1:1:java.lang.String getModuleName():36:36 -> f
-com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmConstructorExtension -> com.android.tools.r8.internal.ew:
+com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmConstructorExtension -> com.android.tools.r8.internal.gw:
 # {"id":"sourceFile","fileName":"jvmExtensionNodes.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature signature -> b
     1:1:void <init>():145:145 -> <init>
@@ -89756,10 +89887,10 @@
     5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature getSignature():146:146 -> a
     6:6:void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):149:149 -> a
     1:1:void setSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):146:146 -> b
-com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt -> com.android.tools.r8.internal.hw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt -> com.android.tools.r8.internal.jw:
 # {"id":"sourceFile","fileName":"jvmExtensionNodes.kt"}
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmPropertyExtension getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):22:22 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmFunctionExtension -> com.android.tools.r8.internal.kw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmFunctionExtension -> com.android.tools.r8.internal.mw:
 # {"id":"sourceFile","fileName":"jvmExtensionNodes.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature signature -> c
     java.lang.String lambdaClassOriginName -> d
@@ -89771,7 +89902,7 @@
     8:8:void visitLambdaClassOriginName(java.lang.String):97:97 -> a
     1:1:java.lang.String getLambdaClassOriginName():90:90 -> b
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature getSignature():89:89 -> c
-com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions -> com.android.tools.r8.internal.zw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions -> com.android.tools.r8.internal.Bw:
 # {"id":"sourceFile","fileName":"JvmMetadataExtensions.kt"}
     1:1:void <init>():17:17 -> <init>
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature access$toJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMemberSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):17:17 -> a
@@ -89801,7 +89932,7 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmPropertyExtension createPropertyExtension():305:305 -> e
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmTypeExtension createTypeExtension():311:311 -> f
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmTypeParameterExtension createTypeParameterExtension():309:309 -> g
-com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writeClassExtensions$1 -> com.android.tools.r8.internal.rw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writeClassExtensions$1 -> com.android.tools.r8.internal.tw:
 # {"id":"sourceFile","fileName":"JvmMetadataExtensions.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder $proto -> c
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> d
@@ -89810,7 +89941,7 @@
     2:3:void visitModuleName(java.lang.String):134:135 -> a
     4:4:void visitJvmFlags(int):141:141 -> a
     1:1:void visitAnonymousObjectOriginName(java.lang.String):124:124 -> b
-com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writeClassExtensions$1$visitLocalDelegatedProperty$1 -> com.android.tools.r8.internal.qw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writeClassExtensions$1$visitLocalDelegatedProperty$1 -> com.android.tools.r8.internal.sw:
 # {"id":"sourceFile","fileName":"JvmMetadataExtensions.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder $proto -> b
     1:1:java.lang.Object invoke(java.lang.Object):129:129 -> a
@@ -89829,14 +89960,14 @@
     138:138:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.build():17363:17363 -> a
     138:138:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writeClassExtensions$1$visitLocalDelegatedProperty$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):130 -> a
     138:138:java.lang.Object invoke(java.lang.Object):129 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writeConstructorExtensions$1 -> com.android.tools.r8.internal.sw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writeConstructorExtensions$1 -> com.android.tools.r8.internal.uw:
 # {"id":"sourceFile","fileName":"JvmMetadataExtensions.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions this$0 -> c
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder $proto -> b
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> d
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):249:249 -> <init>
     1:1:void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):252:252 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writeFunctionExtensions$1 -> com.android.tools.r8.internal.tw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writeFunctionExtensions$1 -> com.android.tools.r8.internal.vw:
 # {"id":"sourceFile","fileName":"JvmMetadataExtensions.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions this$0 -> d
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder $proto -> c
@@ -89844,14 +89975,14 @@
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):177:177 -> <init>
     1:1:void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):180:180 -> a
     2:2:void visitLambdaClassOriginName(java.lang.String):185:185 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writePackageExtensions$1 -> com.android.tools.r8.internal.vw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writePackageExtensions$1 -> com.android.tools.r8.internal.xw:
 # {"id":"sourceFile","fileName":"JvmMetadataExtensions.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder $proto -> d
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> c
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder):151:151 -> <init>
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor visitLocalDelegatedProperty(int,java.lang.String,int,int):154:154 -> a
     2:3:void visitModuleName(java.lang.String):159:160 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writePackageExtensions$1$visitLocalDelegatedProperty$1 -> com.android.tools.r8.internal.uw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writePackageExtensions$1$visitLocalDelegatedProperty$1 -> com.android.tools.r8.internal.ww:
 # {"id":"sourceFile","fileName":"JvmMetadataExtensions.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder $proto -> b
     1:1:java.lang.Object invoke(java.lang.Object):154:154 -> a
@@ -89870,7 +90001,7 @@
     163:163:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.build():17363:17363 -> a
     163:163:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writePackageExtensions$1$visitLocalDelegatedProperty$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):155 -> a
     163:163:java.lang.Object invoke(java.lang.Object):154 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writePropertyExtensions$1 -> com.android.tools.r8.internal.ww:
+com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writePropertyExtensions$1 -> com.android.tools.r8.internal.yw:
 # {"id":"sourceFile","fileName":"JvmMetadataExtensions.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions this$0 -> e
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder signatureOrNull -> d
@@ -89900,7 +90031,7 @@
     25:25:void visitEnd():239 -> a
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder getSignature():199:199 -> b
     2:2:void visitSyntheticMethodForDelegate(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):231:231 -> b
-com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writeTypeExtensions$1 -> com.android.tools.r8.internal.xw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writeTypeExtensions$1 -> com.android.tools.r8.internal.zw:
 # {"id":"sourceFile","fileName":"JvmMetadataExtensions.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder $proto -> c
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> d
@@ -89915,7 +90046,7 @@
     6:6:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):279 -> a
     7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.build():4371:4371 -> a
     7:7:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):279 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writeTypeParameterExtensions$1 -> com.android.tools.r8.internal.yw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writeTypeParameterExtensions$1 -> com.android.tools.r8.internal.Aw:
 # {"id":"sourceFile","fileName":"JvmMetadataExtensions.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder $proto -> c
     com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> d
@@ -89929,7 +90060,7 @@
     5:5:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):264 -> a
     6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.build():4371:4371 -> a
     6:6:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):264 -> a
-com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmPackageExtension -> com.android.tools.r8.internal.Ew:
+com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmPackageExtension -> com.android.tools.r8.internal.Gw:
 # {"id":"sourceFile","fileName":"jvmExtensionNodes.kt"}
     java.util.List localDelegatedProperties -> c
     java.lang.String moduleName -> d
@@ -89945,7 +90076,7 @@
     123:123:void visitModuleName(java.lang.String):75:75 -> a
     1:1:java.util.List getLocalDelegatedProperties():68:68 -> c
     1:1:java.lang.String getModuleName():69:69 -> d
-com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmPropertyExtension -> com.android.tools.r8.internal.Gw:
+com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmPropertyExtension -> com.android.tools.r8.internal.Iw:
 # {"id":"sourceFile","fileName":"jvmExtensionNodes.kt"}
     com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature syntheticMethodForDelegate -> h
     com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature syntheticMethodForAnnotations -> g
@@ -89966,7 +90097,7 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature getSetterSignature():112:112 -> e
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature getSyntheticMethodForAnnotations():113:113 -> f
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature getSyntheticMethodForDelegate():114:114 -> g
-com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmTypeExtension -> com.android.tools.r8.internal.cx:
+com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmTypeExtension -> com.android.tools.r8.internal.ex:
 # {"id":"sourceFile","fileName":"jvmExtensionNodes.kt"}
     java.util.List annotations -> d
     boolean isRaw -> c
@@ -89982,7 +90113,7 @@
     14:14:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):181:181 -> a
     1:1:java.util.List getAnnotations():174:174 -> b
     1:1:boolean isRaw():173:173 -> c
-com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmTypeParameterExtension -> com.android.tools.r8.internal.ex:
+com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmTypeParameterExtension -> com.android.tools.r8.internal.gx:
 # {"id":"sourceFile","fileName":"jvmExtensionNodes.kt"}
     java.util.List annotations -> c
     1:2:void <init>():158:159 -> <init>
@@ -89995,7 +90126,7 @@
     31:31:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):158 -> a
     32:32:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):162:162 -> a
     1:1:java.util.List getAnnotations():159:159 -> b
-com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmWriteUtilsKt -> com.android.tools.r8.internal.gx:
+com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmWriteUtilsKt -> com.android.tools.r8.internal.ix:
 # {"id":"sourceFile","fileName":"jvmWriteUtils.kt"}
     1:3:com.android.tools.r8.jetbrains.kotlin.Pair writeProtoBufData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):14:16 -> a
     4:66:java.lang.String[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.writeData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.serialization.JvmStringTable):0:62 -> a
@@ -90004,31 +90135,31 @@
     67:67:com.android.tools.r8.jetbrains.kotlin.Pair writeProtoBufData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):16 -> a
     68:75:com.android.tools.r8.jetbrains.kotlin.Pair writeProtoBufData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):17:24 -> a
     76:85:com.android.tools.r8.jetbrains.kotlin.Pair writeProtoBufData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):15:24 -> a
-com.android.tools.r8.kotlin.KmVisitorProviders$KmAnnotationVisitorProvider -> com.android.tools.r8.internal.Jy:
+com.android.tools.r8.kotlin.KmVisitorProviders$KmAnnotationVisitorProvider -> com.android.tools.r8.internal.Ly:
     void get(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation) -> a
-com.android.tools.r8.kotlin.KmVisitorProviders$KmContractVisitorProvider -> com.android.tools.r8.internal.Ky:
-com.android.tools.r8.kotlin.KmVisitorProviders$KmEffectExpressionVisitorProvider -> com.android.tools.r8.internal.Ly:
-com.android.tools.r8.kotlin.KmVisitorProviders$KmEffectVisitorProvider -> com.android.tools.r8.internal.My:
+com.android.tools.r8.kotlin.KmVisitorProviders$KmContractVisitorProvider -> com.android.tools.r8.internal.My:
+com.android.tools.r8.kotlin.KmVisitorProviders$KmEffectExpressionVisitorProvider -> com.android.tools.r8.internal.Ny:
+com.android.tools.r8.kotlin.KmVisitorProviders$KmEffectVisitorProvider -> com.android.tools.r8.internal.Oy:
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectVisitor get(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind) -> a
-com.android.tools.r8.kotlin.KmVisitorProviders$KmFlexibleUpperBoundVisitorProvider -> com.android.tools.r8.internal.Ny:
+com.android.tools.r8.kotlin.KmVisitorProviders$KmFlexibleUpperBoundVisitorProvider -> com.android.tools.r8.internal.Py:
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor get(int,java.lang.String) -> a
-com.android.tools.r8.kotlin.KmVisitorProviders$KmFunctionVisitorProvider -> com.android.tools.r8.internal.Oy:
+com.android.tools.r8.kotlin.KmVisitorProviders$KmFunctionVisitorProvider -> com.android.tools.r8.internal.Qy:
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor get(int,java.lang.String) -> a
-com.android.tools.r8.kotlin.KmVisitorProviders$KmLambdaVisitorProvider -> com.android.tools.r8.internal.Py:
-com.android.tools.r8.kotlin.KmVisitorProviders$KmPropertyVisitorProvider -> com.android.tools.r8.internal.Qy:
+com.android.tools.r8.kotlin.KmVisitorProviders$KmLambdaVisitorProvider -> com.android.tools.r8.internal.Ry:
+com.android.tools.r8.kotlin.KmVisitorProviders$KmPropertyVisitorProvider -> com.android.tools.r8.internal.Sy:
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor get(int,java.lang.String,int,int) -> a
-com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeAliasVisitorProvider -> com.android.tools.r8.internal.Ry:
+com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeAliasVisitorProvider -> com.android.tools.r8.internal.Ty:
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor get(int,java.lang.String) -> a
-com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeParameterVisitorProvider -> com.android.tools.r8.internal.Sy:
+com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeParameterVisitorProvider -> com.android.tools.r8.internal.Uy:
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor get(int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance) -> a
-com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeProjectionVisitorProvider -> com.android.tools.r8.internal.Ty:
+com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeProjectionVisitorProvider -> com.android.tools.r8.internal.Vy:
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor get(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance) -> a
-com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeStarProjectionVisitorProvider -> com.android.tools.r8.internal.Uy:
-com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeVisitorProvider -> com.android.tools.r8.internal.Vy:
-com.android.tools.r8.kotlin.KmVisitorProviders$KmValueParameterVisitorProvider -> com.android.tools.r8.internal.Wy:
+com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeStarProjectionVisitorProvider -> com.android.tools.r8.internal.Wy:
+com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeVisitorProvider -> com.android.tools.r8.internal.Xy:
+com.android.tools.r8.kotlin.KmVisitorProviders$KmValueParameterVisitorProvider -> com.android.tools.r8.internal.Yy:
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor get(int,java.lang.String) -> a
-com.android.tools.r8.kotlin.KmVisitorProviders$KmVersionRequirementVisitorProvider -> com.android.tools.r8.internal.Xy:
-com.android.tools.r8.kotlin.Kotlin -> com.android.tools.r8.internal.gz:
+com.android.tools.r8.kotlin.KmVisitorProviders$KmVersionRequirementVisitorProvider -> com.android.tools.r8.internal.Zy:
+com.android.tools.r8.kotlin.Kotlin -> com.android.tools.r8.internal.iz:
     com.android.tools.r8.kotlin.Kotlin$Functional functional -> b
     com.android.tools.r8.kotlin.Kotlin$Metadata metadata -> d
     com.android.tools.r8.kotlin.Kotlin$_Assertions assertions -> e
@@ -90036,13 +90167,13 @@
     com.android.tools.r8.kotlin.Kotlin$Intrinsics intrinsics -> c
     com.android.tools.r8.graph.DexItemFactory factory -> a
     1:7:void <init>(com.android.tools.r8.graph.DexItemFactory):93:99 -> <init>
-com.android.tools.r8.kotlin.Kotlin$1 -> com.android.tools.r8.internal.az:
-com.android.tools.r8.kotlin.Kotlin$ClassClassifiers -> com.android.tools.r8.internal.bz:
+com.android.tools.r8.kotlin.Kotlin$1 -> com.android.tools.r8.internal.cz:
+com.android.tools.r8.kotlin.Kotlin$ClassClassifiers -> com.android.tools.r8.internal.dz:
     java.util.Set kotlinPrimitivesDescriptors -> a
     java.util.Set kotlinStaticallyKnownTypes -> b
     1:32:void <clinit>():58:89 -> <clinit>
     1:2:void lambda$static$0(com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder,java.lang.String):81:82 -> a
-com.android.tools.r8.kotlin.Kotlin$Functional -> com.android.tools.r8.internal.cz:
+com.android.tools.r8.kotlin.Kotlin$Functional -> com.android.tools.r8.internal.ez:
     com.android.tools.r8.graph.DexType lambdaType -> a
     com.android.tools.r8.kotlin.Kotlin this$0 -> b
     1:1:void <init>(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.kotlin.Kotlin$1):102:102 -> <init>
@@ -90052,7 +90183,7 @@
     13:26:void <init>(com.android.tools.r8.kotlin.Kotlin):117:130 -> <init>
     27:27:void <init>(com.android.tools.r8.kotlin.Kotlin):128:128 -> <init>
     1:1:com.android.tools.r8.graph.DexType lambda$new$0(java.lang.Integer):120:120 -> a
-com.android.tools.r8.kotlin.Kotlin$Intrinsics -> com.android.tools.r8.internal.dz:
+com.android.tools.r8.kotlin.Kotlin$Intrinsics -> com.android.tools.r8.internal.fz:
     com.android.tools.r8.graph.DexMethod checkNotNullParameter -> d
     com.android.tools.r8.graph.DexMethod checkParameterIsNotNull -> c
     com.android.tools.r8.graph.DexMethod throwParameterIsNullNPE -> b
@@ -90064,7 +90195,7 @@
     25:31:void <init>(com.android.tools.r8.kotlin.Kotlin):177:183 -> <init>
     32:37:void <init>(com.android.tools.r8.kotlin.Kotlin):181:186 -> <init>
     38:38:void <init>(com.android.tools.r8.kotlin.Kotlin):185:185 -> <init>
-com.android.tools.r8.kotlin.Kotlin$Metadata -> com.android.tools.r8.internal.ez:
+com.android.tools.r8.kotlin.Kotlin$Metadata -> com.android.tools.r8.internal.gz:
     com.android.tools.r8.graph.DexString kind -> a
     com.android.tools.r8.graph.DexString metadataVersion -> b
     com.android.tools.r8.graph.DexString bytecodeVersion -> c
@@ -90074,11 +90205,11 @@
     com.android.tools.r8.graph.DexString packageName -> g
     com.android.tools.r8.graph.DexString extraInt -> h
     1:9:void <init>(com.android.tools.r8.kotlin.Kotlin):144:152 -> <init>
-com.android.tools.r8.kotlin.Kotlin$_Assertions -> com.android.tools.r8.internal.fz:
+com.android.tools.r8.kotlin.Kotlin$_Assertions -> com.android.tools.r8.internal.hz:
     com.android.tools.r8.graph.DexField enabledField -> b
     com.android.tools.r8.graph.DexType type -> a
     1:5:void <init>(com.android.tools.r8.kotlin.Kotlin):155:159 -> <init>
-com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo -> com.android.tools.r8.internal.mz:
+com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo -> com.android.tools.r8.internal.oz:
     java.util.Map EMPTY_ARGUMENTS -> a
     1:1:void <clinit>():29:29 -> <clinit>
     1:1:void <init>():26:26 -> <init>
@@ -90089,7 +90220,7 @@
     11:20:void lambda$create$0(java.util.LinkedHashMap,com.android.tools.r8.graph.DexItemFactory,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument):55 -> a
     21:21:void lambda$create$0(java.util.LinkedHashMap,com.android.tools.r8.graph.DexItemFactory,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument):55:55 -> a
     22:26:java.util.Map create(java.util.Map,com.android.tools.r8.graph.DexItemFactory):51:55 -> a
-com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationAnnotationValueInfo -> com.android.tools.r8.internal.hz:
+com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationAnnotationValueInfo -> com.android.tools.r8.internal.jz:
     com.android.tools.r8.kotlin.KotlinAnnotationInfo value -> b
     1:2:void <init>(com.android.tools.r8.kotlin.KotlinAnnotationInfo):129:130 -> <init>
     1:2:com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationAnnotationValueInfo com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationAnnotationValueInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$AnnotationValue,com.android.tools.r8.graph.DexItemFactory):135:136 -> a
@@ -90097,7 +90228,7 @@
     3:3:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):141:141 -> a
     4:4:boolean rewrite(java.util.function.Consumer,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):147:147 -> a
     5:5:void lambda$rewrite$0(java.util.function.Consumer,com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):150:150 -> a
-com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationArrayValueInfo -> com.android.tools.r8.internal.iz:
+com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationArrayValueInfo -> com.android.tools.r8.internal.kz:
     java.util.List value -> b
     com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationArrayValueInfo EMPTY -> c
     1:2:void <clinit>():160:161 -> <clinit>
@@ -90107,7 +90238,7 @@
     9:10:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):182:183 -> a
     11:24:boolean rewrite(java.util.function.Consumer,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):190:203 -> a
     25:25:void lambda$rewrite$0(java.util.List,com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument):197:197 -> a
-com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationClassValueInfo -> com.android.tools.r8.internal.jz:
+com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationClassValueInfo -> com.android.tools.r8.internal.lz:
     int arrayDimensionCount -> c
     com.android.tools.r8.kotlin.KotlinTypeReference value -> b
     1:3:void <init>(com.android.tools.r8.kotlin.KotlinTypeReference,int):64:66 -> <init>
@@ -90116,7 +90247,7 @@
     4:4:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):77:77 -> a
     5:5:boolean rewrite(java.util.function.Consumer,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):83:83 -> a
     6:6:void lambda$rewrite$0(java.util.function.Consumer,java.lang.String):84:84 -> a
-com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationEnumValueInfo -> com.android.tools.r8.internal.kz:
+com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationEnumValueInfo -> com.android.tools.r8.internal.mz:
     java.lang.String enumEntryName -> c
     com.android.tools.r8.kotlin.KotlinTypeReference enumClassName -> b
     1:3:void <init>(com.android.tools.r8.kotlin.KotlinTypeReference,java.lang.String):96:98 -> <init>
@@ -90127,14 +90258,14 @@
     7:7:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):110:110 -> a
     8:8:boolean rewrite(java.util.function.Consumer,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):116:116 -> a
     9:9:void lambda$rewrite$0(java.util.function.Consumer,java.lang.String):118:118 -> a
-com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationPrimitiveArgumentInfo -> com.android.tools.r8.internal.lz:
+com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationPrimitiveArgumentInfo -> com.android.tools.r8.internal.nz:
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument argument -> b
     1:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument):212:213 -> <init>
     void trace(com.android.tools.r8.graph.DexDefinitionSupplier) -> a
     1:1:com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationPrimitiveArgumentInfo com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationPrimitiveArgumentInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument):217:217 -> a
     1:1:com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationPrimitiveArgumentInfo access$400(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument):208 -> a
     2:2:boolean rewrite(java.util.function.Consumer,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):228:228 -> a
-com.android.tools.r8.kotlin.KotlinAnnotationInfo -> com.android.tools.r8.internal.nz:
+com.android.tools.r8.kotlin.KotlinAnnotationInfo -> com.android.tools.r8.internal.pz:
     java.util.Map arguments -> b
     java.util.List EMPTY_ANNOTATIONS -> c
     com.android.tools.r8.kotlin.KotlinTypeReference annotationType -> a
@@ -90150,7 +90281,7 @@
     65:65:void lambda$rewrite$0(java.util.Map,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument):74:74 -> a
     66:67:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):89:90 -> a
     68:68:void lambda$trace$3(com.android.tools.r8.graph.DexDefinitionSupplier,java.lang.String,com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo):90:90 -> a
-com.android.tools.r8.kotlin.KotlinClassInfo -> com.android.tools.r8.internal.pz:
+com.android.tools.r8.kotlin.KotlinClassInfo -> com.android.tools.r8.internal.rz:
     com.android.tools.r8.kotlin.KotlinVersionRequirementInfo versionRequirements -> l
     com.android.tools.r8.kotlin.KotlinMetadataMembersTracker originalMembersWithKotlinInfo -> t
     com.android.tools.r8.kotlin.KotlinTypeInfo inlineClassUnderlyingType -> r
@@ -90289,14 +90420,14 @@
     1:1:java.util.function.Consumer lambda$trace$6(com.android.tools.r8.kotlin.KotlinTypeReference):420:420 -> b
     1:1:java.lang.String getPackageName():405:405 -> j
     1:1:int[] getMetadataVersion():410:410 -> m
-com.android.tools.r8.kotlin.KotlinClassLevelInfo -> com.android.tools.r8.internal.qz:
+com.android.tools.r8.kotlin.KotlinClassLevelInfo -> com.android.tools.r8.internal.sz:
     boolean isNoKotlinInformation() -> a
     com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens) -> a
     com.android.tools.r8.kotlin.KotlinSyntheticClassInfo asSyntheticClass() -> f
     java.lang.String getPackageName() -> j
     boolean isSyntheticClass() -> l
     int[] getMetadataVersion() -> m
-com.android.tools.r8.kotlin.KotlinClassMetadataReader -> com.android.tools.r8.internal.vz:
+com.android.tools.r8.kotlin.KotlinClassMetadataReader -> com.android.tools.r8.internal.xz:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():34:34 -> <clinit>
     1:3:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):51:53 -> a
@@ -90402,11 +90533,11 @@
     2:2:java.lang.String[] getUnboxedStringArray(com.android.tools.r8.graph.DexValue,java.lang.String):214 -> c
     3:7:java.lang.String[] getUnboxedStringArray(com.android.tools.r8.graph.DexValue,java.lang.String):217:221 -> c
     8:8:java.lang.String[] getUnboxedStringArray(com.android.tools.r8.graph.DexValue,java.lang.String):215:215 -> c
-com.android.tools.r8.kotlin.KotlinClassMetadataReader$1 -> com.android.tools.r8.internal.tz:
-com.android.tools.r8.kotlin.KotlinClassMetadataReader$MetadataError -> com.android.tools.r8.internal.uz:
+com.android.tools.r8.kotlin.KotlinClassMetadataReader$1 -> com.android.tools.r8.internal.vz:
+com.android.tools.r8.kotlin.KotlinClassMetadataReader$MetadataError -> com.android.tools.r8.internal.wz:
     1:1:void <init>(java.lang.String,com.android.tools.r8.kotlin.KotlinClassMetadataReader$1):233:233 -> <init>
     2:2:void <init>(java.lang.String):235:235 -> <init>
-com.android.tools.r8.kotlin.KotlinClassifierInfo -> com.android.tools.r8.internal.Cz:
+com.android.tools.r8.kotlin.KotlinClassifierInfo -> com.android.tools.r8.internal.Ez:
     1:1:void <init>():24:24 -> <init>
     boolean rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens) -> a
     com.android.tools.r8.graph.DexType rewriteType(com.android.tools.r8.graph.GraphLens) -> a
@@ -90434,8 +90565,8 @@
     28:28:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unknownClassifier(java.lang.String):54:54 -> a
     28:28:com.android.tools.r8.kotlin.KotlinClassifierInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):48 -> a
     29:30:com.android.tools.r8.kotlin.KotlinClassifierInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):48:49 -> a
-com.android.tools.r8.kotlin.KotlinClassifierInfo$1 -> com.android.tools.r8.internal.wz:
-com.android.tools.r8.kotlin.KotlinClassifierInfo$KotlinClassClassifierInfo -> com.android.tools.r8.internal.xz:
+com.android.tools.r8.kotlin.KotlinClassifierInfo$1 -> com.android.tools.r8.internal.yz:
+com.android.tools.r8.kotlin.KotlinClassifierInfo$KotlinClassClassifierInfo -> com.android.tools.r8.internal.zz:
     boolean isLocalOrAnonymous -> b
     com.android.tools.r8.kotlin.KotlinTypeReference type -> a
     1:1:void <init>(com.android.tools.r8.kotlin.KotlinTypeReference,boolean,com.android.tools.r8.kotlin.KotlinClassifierInfo$1):59:59 -> <init>
@@ -90455,38 +90586,38 @@
     7:7:void lambda$rewrite$0(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,java.lang.String):73:73 -> a
     11:11:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):83:83 -> a
     12:12:com.android.tools.r8.graph.DexType rewriteType(com.android.tools.r8.graph.GraphLens):88:88 -> a
-com.android.tools.r8.kotlin.KotlinClassifierInfo$KotlinTypeAliasClassifierInfo -> com.android.tools.r8.internal.yz:
+com.android.tools.r8.kotlin.KotlinClassifierInfo$KotlinTypeAliasClassifierInfo -> com.android.tools.r8.internal.Az:
     java.lang.String typeAlias -> a
     1:1:void <init>(java.lang.String,com.android.tools.r8.kotlin.KotlinClassifierInfo$1):112:112 -> <init>
     2:3:void <init>(java.lang.String):116:117 -> <init>
     void trace(com.android.tools.r8.graph.DexDefinitionSupplier) -> a
     1:1:boolean rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):122:122 -> a
-com.android.tools.r8.kotlin.KotlinClassifierInfo$KotlinTypeParameterClassifierInfo -> com.android.tools.r8.internal.zz:
+com.android.tools.r8.kotlin.KotlinClassifierInfo$KotlinTypeParameterClassifierInfo -> com.android.tools.r8.internal.Bz:
     int typeId -> a
     1:1:void <init>(int,com.android.tools.r8.kotlin.KotlinClassifierInfo$1):92:92 -> <init>
     2:3:void <init>(int):96:97 -> <init>
     void trace(com.android.tools.r8.graph.DexDefinitionSupplier) -> a
     1:1:boolean rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):102:102 -> a
-com.android.tools.r8.kotlin.KotlinClassifierInfo$KotlinUnknownClassClassifierInfo -> com.android.tools.r8.internal.Az:
+com.android.tools.r8.kotlin.KotlinClassifierInfo$KotlinUnknownClassClassifierInfo -> com.android.tools.r8.internal.Cz:
     java.lang.String classifier -> a
     1:1:void <init>(java.lang.String,com.android.tools.r8.kotlin.KotlinClassifierInfo$1):132:132 -> <init>
     2:3:void <init>(java.lang.String):135:136 -> <init>
     void trace(com.android.tools.r8.graph.DexDefinitionSupplier) -> a
     1:1:boolean rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):141:141 -> a
-com.android.tools.r8.kotlin.KotlinClassifierInfo$KotlinUnknownClassifierInfo -> com.android.tools.r8.internal.Bz:
+com.android.tools.r8.kotlin.KotlinClassifierInfo$KotlinUnknownClassifierInfo -> com.android.tools.r8.internal.Dz:
     java.lang.String classifier -> a
     1:1:void <init>(java.lang.String,com.android.tools.r8.kotlin.KotlinClassifierInfo$1):151:151 -> <init>
     2:3:void <init>(java.lang.String):154:155 -> <init>
     void trace(com.android.tools.r8.graph.DexDefinitionSupplier) -> a
     1:1:boolean rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):160:160 -> a
-com.android.tools.r8.kotlin.KotlinCompanionInfo -> com.android.tools.r8.internal.Dz:
+com.android.tools.r8.kotlin.KotlinCompanionInfo -> com.android.tools.r8.internal.Fz:
     java.lang.String companionObjectFieldName -> a
     1:2:void <init>(java.lang.String):18:19 -> <init>
     void trace(com.android.tools.r8.graph.DexDefinitionSupplier) -> a
     1:4:boolean rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.graph.DexField,com.android.tools.r8.naming.NamingLens):33:36 -> a
     boolean isCompanion() -> d
     com.android.tools.r8.kotlin.KotlinCompanionInfo asCompanion() -> e
-com.android.tools.r8.kotlin.KotlinConstructorInfo -> com.android.tools.r8.internal.Ez:
+com.android.tools.r8.kotlin.KotlinConstructorInfo -> com.android.tools.r8.internal.Gz:
     java.util.List valueParameters -> b
     com.android.tools.r8.kotlin.KotlinVersionRequirementInfo versionRequirements -> c
     com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo signature -> d
@@ -90506,7 +90637,7 @@
     31:33:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):94:96 -> a
     boolean isConstructor() -> g
     com.android.tools.r8.kotlin.KotlinConstructorInfo asConstructor() -> h
-com.android.tools.r8.kotlin.KotlinContractInfo -> com.android.tools.r8.internal.Fz:
+com.android.tools.r8.kotlin.KotlinContractInfo -> com.android.tools.r8.internal.Hz:
     java.util.List effects -> a
     com.android.tools.r8.kotlin.KotlinContractInfo NO_EFFECT -> b
     1:1:void <clinit>():23:23 -> <clinit>
@@ -90518,7 +90649,7 @@
     17:17:java.util.function.Consumer lambda$trace$0(com.android.tools.r8.kotlin.KotlinEffectInfo):49:49 -> a
     18:18:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):49:49 -> a
     19:27:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmContractVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):56:64 -> a
-com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo -> com.android.tools.r8.internal.Hz:
+com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo -> com.android.tools.r8.internal.Jz:
     java.util.List functionsWithNoBacking -> b
     java.util.List typeAliases -> a
     java.util.List propertiesWithNoBacking -> c
@@ -90567,7 +90698,7 @@
     171:171:java.util.function.Consumer lambda$trace$3(com.android.tools.r8.kotlin.KotlinFunctionInfo):255:255 -> a
     1:1:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo$KotlinPropertyGroup lambda$rewrite$1(com.android.tools.r8.kotlin.KotlinPropertyInfo):222:222 -> b
     1:1:java.util.function.Consumer lambda$trace$4(com.android.tools.r8.kotlin.KotlinPropertyInfo):256:256 -> c
-com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo$KotlinPropertyGroup -> com.android.tools.r8.internal.Gz:
+com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo$KotlinPropertyGroup -> com.android.tools.r8.internal.Iz:
     com.android.tools.r8.graph.DexEncodedField backingField -> a
     com.android.tools.r8.graph.DexEncodedMethod getter -> c
     com.android.tools.r8.graph.DexEncodedMethod setter -> b
@@ -90580,7 +90711,7 @@
     1:1:com.android.tools.r8.graph.DexEncodedMethod access$100(com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo$KotlinPropertyGroup):259:259 -> b
     2:3:void setSetter(com.android.tools.r8.graph.DexEncodedMethod):276:277 -> b
     1:1:com.android.tools.r8.graph.DexEncodedMethod access$200(com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo$KotlinPropertyGroup):259:259 -> c
-com.android.tools.r8.kotlin.KotlinEffectExpressionInfo -> com.android.tools.r8.internal.Iz:
+com.android.tools.r8.kotlin.KotlinEffectExpressionInfo -> com.android.tools.r8.internal.Kz:
     java.util.List orArguments -> f
     com.android.tools.r8.kotlin.KotlinTypeInfo isInstanceType -> d
     java.util.List andArguments -> e
@@ -90597,7 +90728,7 @@
     26:26:java.util.function.Consumer lambda$trace$0(com.android.tools.r8.kotlin.KotlinEffectExpressionInfo):84:84 -> a
     27:45:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmEffectExpressionVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):90:108 -> a
     1:1:java.util.function.Consumer lambda$trace$1(com.android.tools.r8.kotlin.KotlinEffectExpressionInfo):85:85 -> b
-com.android.tools.r8.kotlin.KotlinEffectInfo -> com.android.tools.r8.internal.Jz:
+com.android.tools.r8.kotlin.KotlinEffectInfo -> com.android.tools.r8.internal.Lz:
     com.android.tools.r8.kotlin.KotlinEffectExpressionInfo conclusion -> d
     java.util.List constructorArguments -> c
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind invocationKind -> b
@@ -90606,8 +90737,8 @@
     1:1:java.util.function.Consumer lambda$trace$0(com.android.tools.r8.kotlin.KotlinEffectExpressionInfo):50:50 -> a
     2:3:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):50:51 -> a
     4:13:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmEffectVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):56:65 -> a
-com.android.tools.r8.kotlin.KotlinFieldLevelInfo -> com.android.tools.r8.internal.Kz:
-com.android.tools.r8.kotlin.KotlinFileFacadeInfo -> com.android.tools.r8.internal.Lz:
+com.android.tools.r8.kotlin.KotlinFieldLevelInfo -> com.android.tools.r8.internal.Mz:
+com.android.tools.r8.kotlin.KotlinFileFacadeInfo -> com.android.tools.r8.internal.Nz:
     int[] metadataVersion -> c
     com.android.tools.r8.kotlin.KotlinPackageInfo packageInfo -> a
     java.lang.String packageName -> b
@@ -90618,7 +90749,7 @@
     14:14:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):82:82 -> a
     1:1:java.lang.String getPackageName():72:72 -> j
     1:1:int[] getMetadataVersion():77:77 -> m
-com.android.tools.r8.kotlin.KotlinFlexibleTypeUpperBoundInfo -> com.android.tools.r8.internal.Mz:
+com.android.tools.r8.kotlin.KotlinFlexibleTypeUpperBoundInfo -> com.android.tools.r8.internal.Oz:
     java.lang.String typeFlexibilityId -> i
     com.android.tools.r8.kotlin.KotlinFlexibleTypeUpperBoundInfo NO_FLEXIBLE_UPPER_BOUND -> j
     boolean $assertionsDisabled -> k
@@ -90629,7 +90760,7 @@
     16:20:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmFlexibleUpperBoundVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):69:73 -> a
     21:21:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor lambda$rewrite$0(com.android.tools.r8.kotlin.KmVisitorProviders$KmFlexibleUpperBoundVisitorProvider,int):74:74 -> a
     22:25:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):79:82 -> a
-com.android.tools.r8.kotlin.KotlinFunctionInfo -> com.android.tools.r8.internal.Nz:
+com.android.tools.r8.kotlin.KotlinFunctionInfo -> com.android.tools.r8.internal.Pz:
     com.android.tools.r8.kotlin.KotlinTypeReference lambdaClassOrigin -> h
     com.android.tools.r8.kotlin.KotlinTypeInfo receiverParameterType -> e
     java.util.List typeParameters -> f
@@ -90670,7 +90801,7 @@
     com.android.tools.r8.kotlin.KotlinFunctionInfo asFunction() -> b
     boolean isFunction() -> i
     1:1:boolean hasCrossInlineParameter():72:72 -> n
-com.android.tools.r8.kotlin.KotlinJvmFieldSignatureInfo -> com.android.tools.r8.internal.Oz:
+com.android.tools.r8.kotlin.KotlinJvmFieldSignatureInfo -> com.android.tools.r8.internal.Qz:
     java.lang.String name -> b
     com.android.tools.r8.kotlin.KotlinTypeReference type -> a
     1:3:void <init>(java.lang.String,com.android.tools.r8.kotlin.KotlinTypeReference):26:28 -> <init>
@@ -90680,7 +90811,7 @@
     5:5:com.android.tools.r8.kotlin.KotlinJvmFieldSignatureInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature,com.android.tools.r8.graph.DexItemFactory):38:38 -> a
     6:19:boolean rewrite(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):47:60 -> a
     20:20:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):66:66 -> a
-com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo -> com.android.tools.r8.internal.Pz:
+com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo -> com.android.tools.r8.internal.Rz:
     java.util.List EMPTY_PARAMETERS_LIST -> e
     java.util.List parameters -> c
     boolean $assertionsDisabled -> f
@@ -90716,7 +90847,7 @@
     128:128:java.lang.String toString():112:112 -> toString
     129:129:java.lang.String toString():112:112 -> toString
     117:126:java.lang.String toString():114:123 -> toString
-com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation -> com.android.tools.r8.internal.Sz:
+com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation -> com.android.tools.r8.internal.Uz:
     java.util.Set noExtensionIndicesForFunctions -> a
     java.util.Set noExtensionIndicesForConstructors -> b
     com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation EMPTY -> c
@@ -90787,8 +90918,8 @@
     65:65:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,com.android.tools.r8.utils.InternalOptions):91 -> a
     66:66:boolean hasJvmMethodSignatureExtensionForConstructor(int):121:121 -> a
     1:1:boolean hasJvmMethodSignatureExtensionForFunction(int):117:117 -> b
-com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation$1 -> com.android.tools.r8.internal.Qz:
-com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation$KotlinJvmSignatureExtensionInformationBuilder -> com.android.tools.r8.internal.Rz:
+com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation$1 -> com.android.tools.r8.internal.Sz:
+com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation$KotlinJvmSignatureExtensionInformationBuilder -> com.android.tools.r8.internal.Tz:
     java.util.Set noExtensionIndicesForFunctions -> a
     java.util.Set noExtensionIndicesForConstructors -> b
     1:4:void <init>():132:135 -> <init>
@@ -90803,7 +90934,7 @@
     7:7:void visitConstructors(java.util.List):166:166 -> a
     8:9:void lambda$visitConstructors$0(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor,int):169:170 -> a
     1:1:void visitFunctions(java.util.List):154:154 -> b
-com.android.tools.r8.kotlin.KotlinLambdaInfo -> com.android.tools.r8.internal.Tz:
+com.android.tools.r8.kotlin.KotlinLambdaInfo -> com.android.tools.r8.internal.Vz:
     boolean hasBacking -> b
     com.android.tools.r8.kotlin.KotlinFunctionInfo function -> a
     boolean $assertionsDisabled -> c
@@ -90821,7 +90952,7 @@
     16:23:com.android.tools.r8.kotlin.KotlinLambdaInfo create(com.android.tools.r8.graph.DexClass,com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation):50:57 -> a
     24:35:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmLambdaVisitorProvider,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):65:76 -> a
     36:36:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):81:81 -> a
-com.android.tools.r8.kotlin.KotlinLocalDelegatedPropertyInfo -> com.android.tools.r8.internal.Uz:
+com.android.tools.r8.kotlin.KotlinLocalDelegatedPropertyInfo -> com.android.tools.r8.internal.Wz:
     java.util.List propertyInfos -> a
     com.android.tools.r8.kotlin.KotlinLocalDelegatedPropertyInfo EMPTY_DELEGATED_PROPERTIES -> b
     boolean $assertionsDisabled -> c
@@ -90832,7 +90963,7 @@
     17:17:java.util.function.Consumer lambda$trace$0(com.android.tools.r8.kotlin.KotlinPropertyInfo):52:52 -> a
     18:18:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):52:52 -> a
     19:20:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmPropertyVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):58:59 -> a
-com.android.tools.r8.kotlin.KotlinMemberLevelInfo -> com.android.tools.r8.internal.Vz:
+com.android.tools.r8.kotlin.KotlinMemberLevelInfo -> com.android.tools.r8.internal.Xz:
     boolean isNoKotlinInformation() -> a
     com.android.tools.r8.kotlin.KotlinFunctionInfo asFunction() -> b
     boolean isProperty() -> c
@@ -90842,7 +90973,7 @@
     com.android.tools.r8.kotlin.KotlinConstructorInfo asConstructor() -> h
     boolean isFunction() -> i
     com.android.tools.r8.kotlin.KotlinPropertyInfo asProperty() -> k
-com.android.tools.r8.kotlin.KotlinMetadataDiagnostic -> com.android.tools.r8.internal.Wz:
+com.android.tools.r8.kotlin.KotlinMetadataDiagnostic -> com.android.tools.r8.internal.Yz:
     com.android.tools.r8.origin.Origin origin -> b
     com.android.tools.r8.position.Position position -> c
     java.lang.String message -> d
@@ -90850,7 +90981,7 @@
     1:1:java.lang.String getDiagnosticMessage():38:38 -> getDiagnosticMessage
     1:1:com.android.tools.r8.origin.Origin getOrigin():28:28 -> getOrigin
     1:1:com.android.tools.r8.position.Position getPosition():33:33 -> getPosition
-com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension -> com.android.tools.r8.internal.Zz:
+com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension -> com.android.tools.r8.internal.bA:
     com.android.tools.r8.ir.optimize.info.OptimizationFeedback feedback -> d
     com.android.tools.r8.graph.AppView appView -> a
     java.util.Set prunedTypes -> c
@@ -90897,8 +91028,8 @@
     137:137:void lambda$done$6(com.android.tools.r8.graph.ProgramMember):135 -> a
     138:138:void lambda$done$6(com.android.tools.r8.graph.ProgramMember):135:135 -> a
     1:2:boolean lambda$done$4(com.android.tools.r8.graph.DexAnnotation):119:120 -> b
-com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension$1 -> com.android.tools.r8.internal.Xz:
-com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension$KotlinMetadataDefinitionSupplier -> com.android.tools.r8.internal.Yz:
+com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension$1 -> com.android.tools.r8.internal.Zz:
+com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension$KotlinMetadataDefinitionSupplier -> com.android.tools.r8.internal.aA:
     java.util.Set prunedTypes -> c
     com.android.tools.r8.shaking.Enqueuer$EnqueuerDefinitionSupplier enqueuerDefinitionSupplier -> b
     com.android.tools.r8.graph.ProgramDefinition context -> a
@@ -90907,7 +91038,7 @@
     2:5:void <init>(com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer$EnqueuerDefinitionSupplier,java.util.Set):148:151 -> <init>
     1:1:com.android.tools.r8.graph.DexItemFactory dexItemFactory():167:167 -> a
     1:4:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):159:162 -> c
-com.android.tools.r8.kotlin.KotlinMetadataMembersTracker -> com.android.tools.r8.internal.aA:
+com.android.tools.r8.kotlin.KotlinMetadataMembersTracker -> com.android.tools.r8.internal.cA:
     java.util.Set references -> b
     boolean $assertionsDisabled -> c
     int count -> a
@@ -90922,7 +91053,7 @@
     26:26:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
     26:26:boolean com.android.tools.r8.kotlin.KotlinMetadataMembersTracker.isKotlinJvmType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):63 -> a
     26:26:boolean lambda$isEqual$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):54 -> a
-com.android.tools.r8.kotlin.KotlinMetadataRewriter -> com.android.tools.r8.internal.dA:
+com.android.tools.r8.kotlin.KotlinMetadataRewriter -> com.android.tools.r8.internal.fA:
     com.android.tools.r8.graph.DexItemFactory factory -> c
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.naming.NamingLens lens -> b
@@ -91032,8 +91163,8 @@
     2:2:void runForR8(java.util.concurrent.ExecutorService):90 -> b
     3:15:void runForR8(java.util.concurrent.ExecutorService):91:103 -> b
     16:16:void runForR8(java.util.concurrent.ExecutorService):102:102 -> b
-com.android.tools.r8.kotlin.KotlinMetadataRewriter$1 -> com.android.tools.r8.internal.bA:
-com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo -> com.android.tools.r8.internal.cA:
+com.android.tools.r8.kotlin.KotlinMetadataRewriter$1 -> com.android.tools.r8.internal.dA:
+com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo -> com.android.tools.r8.internal.eA:
     boolean writeData2 -> e
     boolean writeExtraString -> f
     boolean writePackageName -> g
@@ -91046,7 +91177,7 @@
     2:10:void <init>(boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean):57:65 -> <init>
     1:1:com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo.rewriteAll():69:69 -> a
     1:1:com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo access$100():39 -> a
-com.android.tools.r8.kotlin.KotlinMetadataUtils -> com.android.tools.r8.internal.jA:
+com.android.tools.r8.kotlin.KotlinMetadataUtils -> com.android.tools.r8.internal.lA:
     com.android.tools.r8.kotlin.KotlinMetadataUtils$NoKotlinInfo NO_KOTLIN_INFO -> a
     com.android.tools.r8.kotlin.KotlinMetadataUtils$NoKotlinInfo INVALID_KOTLIN_INFO -> b
     1:2:void <clinit>():36:37 -> <clinit>
@@ -91066,8 +91197,8 @@
     118:118:boolean canBeKotlinMetadataKeepRule(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexItemFactory):199 -> a
     119:129:boolean canBeKotlinMetadataKeepRule(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexItemFactory):202:212 -> a
     1:1:com.android.tools.r8.kotlin.KotlinMetadataUtils$NoKotlinInfo getNoKotlinInfo():81:81 -> b
-com.android.tools.r8.kotlin.KotlinMetadataUtils$1 -> com.android.tools.r8.internal.eA:
-com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor -> com.android.tools.r8.internal.hA:
+com.android.tools.r8.kotlin.KotlinMetadataUtils$1 -> com.android.tools.r8.internal.gA:
+com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor -> com.android.tools.r8.internal.jA:
     com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature fieldSignature -> a
     com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature getterSignature -> b
     com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature setterSignature -> c
@@ -91082,17 +91213,17 @@
     3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature getterSignature():150:150 -> b
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature access$300(com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor):112:112 -> c
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature setterSignature():154:154 -> c
-com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor$1 -> com.android.tools.r8.internal.gA:
+com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor$1 -> com.android.tools.r8.internal.iA:
     com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor this$0 -> b
     1:1:void <init>(com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor):120:120 -> <init>
     1:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):123:126 -> a
-com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor$1$1 -> com.android.tools.r8.internal.fA:
+com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor$1$1 -> com.android.tools.r8.internal.hA:
     com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor$1 this$1 -> c
     boolean $assertionsDisabled -> d
     1:1:void <clinit>():126:126 -> <clinit>
     1:1:void <init>(com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor$1):126:126 -> <init>
     1:6:void visit(int,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):133:138 -> a
-com.android.tools.r8.kotlin.KotlinMetadataUtils$NoKotlinInfo -> com.android.tools.r8.internal.iA:
+com.android.tools.r8.kotlin.KotlinMetadataUtils$NoKotlinInfo -> com.android.tools.r8.internal.kA:
     java.lang.String name -> a
     1:1:void <init>(java.lang.String,com.android.tools.r8.kotlin.KotlinMetadataUtils$1):39:39 -> <init>
     2:3:void <init>(java.lang.String):44:45 -> <init>
@@ -91102,7 +91233,7 @@
     1:1:java.lang.String getPackageName():61:61 -> j
     1:1:int[] getMetadataVersion():66:66 -> m
     1:1:java.lang.String toString():50:50 -> toString
-com.android.tools.r8.kotlin.KotlinMetadataWriter -> com.android.tools.r8.internal.kA:
+com.android.tools.r8.kotlin.KotlinMetadataWriter -> com.android.tools.r8.internal.mA:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():47:47 -> <clinit>
     1:122:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getGetterSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):0:121 -> a
@@ -91402,8 +91533,8 @@
     148:155:void lambda$appendKmEffectExpression$90(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpression,java.lang.String):946:953 -> e
     156:169:void lambda$appendKmEffectExpression$90(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpression,java.lang.String):947:960 -> e
     170:198:void lambda$appendKmEffectExpression$90(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpression,java.lang.String):954:982 -> e
-com.android.tools.r8.kotlin.KotlinMethodLevelInfo -> com.android.tools.r8.internal.lA:
-com.android.tools.r8.kotlin.KotlinMultiFileClassFacadeInfo -> com.android.tools.r8.internal.mA:
+com.android.tools.r8.kotlin.KotlinMethodLevelInfo -> com.android.tools.r8.internal.nA:
+com.android.tools.r8.kotlin.KotlinMultiFileClassFacadeInfo -> com.android.tools.r8.internal.oA:
     java.util.List partClassNames -> a
     int[] metadataVersion -> c
     java.lang.String packageName -> b
@@ -91440,7 +91571,7 @@
     376:376:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):92:92 -> a
     1:1:java.lang.String getPackageName():82:82 -> j
     1:1:int[] getMetadataVersion():87:87 -> m
-com.android.tools.r8.kotlin.KotlinMultiFileClassPartInfo -> com.android.tools.r8.internal.nA:
+com.android.tools.r8.kotlin.KotlinMultiFileClassPartInfo -> com.android.tools.r8.internal.pA:
     int[] metadataVersion -> d
     java.lang.String facadeClassName -> a
     com.android.tools.r8.kotlin.KotlinPackageInfo packageInfo -> b
@@ -91455,7 +91586,7 @@
     16:16:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):90:90 -> a
     1:1:java.lang.String getPackageName():80:80 -> j
     1:1:int[] getMetadataVersion():85:85 -> m
-com.android.tools.r8.kotlin.KotlinPackageInfo -> com.android.tools.r8.internal.oA:
+com.android.tools.r8.kotlin.KotlinPackageInfo -> com.android.tools.r8.internal.qA:
     com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo containerInfo -> b
     com.android.tools.r8.kotlin.KotlinMetadataMembersTracker originalMembersWithKotlinInfo -> d
     java.lang.String moduleName -> a
@@ -91487,7 +91618,7 @@
     24:24:com.android.tools.r8.kotlin.KotlinPackageInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation):70:70 -> a
     25:42:boolean rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):78:95 -> a
     43:44:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):100:101 -> a
-com.android.tools.r8.kotlin.KotlinPropertyInfo -> com.android.tools.r8.internal.pA:
+com.android.tools.r8.kotlin.KotlinPropertyInfo -> com.android.tools.r8.internal.rA:
     com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo syntheticMethodForAnnotations -> n
     com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo syntheticMethodForDelegate -> o
     com.android.tools.r8.kotlin.KotlinVersionRequirementInfo versionRequirements -> i
@@ -91531,7 +91662,7 @@
     1:1:com.android.tools.r8.kotlin.KotlinJvmFieldSignatureInfo getFieldSignature():131:131 -> n
     1:1:com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo getGetterSignature():135:135 -> o
     1:1:com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo getSetterSignature():139:139 -> p
-com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser -> com.android.tools.r8.internal.tA:
+com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser -> com.android.tools.r8.internal.vA:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():23:23 -> <clinit>
     1:17:java.lang.String parseStratumContents(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$BufferedStringReader,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):193:209 -> a
@@ -91631,8 +91762,8 @@
     166:197:void lambda$parseStratumContents$2(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):212 -> b
     198:205:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addDebugEntryToBuilder(java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):288:295 -> b
     198:205:void lambda$parseStratumContents$2(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):212 -> b
-com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$1 -> com.android.tools.r8.internal.qA:
-com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$BufferedStringReader -> com.android.tools.r8.internal.rA:
+com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$1 -> com.android.tools.r8.internal.sA:
+com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$BufferedStringReader -> com.android.tools.r8.internal.tA:
     java.io.BufferedReader reader -> b
     java.lang.String readLine -> c
     boolean $assertionsDisabled -> d
@@ -91662,23 +91793,23 @@
     1:1:java.lang.String readNextLine():51:51 -> c
     1:1:void close():119:119 -> close
     1:2:com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$BufferedStringReader readUntil(java.lang.String):71:72 -> d
-com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$KotlinSourceDebugExtensionParserException -> com.android.tools.r8.internal.sA:
+com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$KotlinSourceDebugExtensionParserException -> com.android.tools.r8.internal.uA:
     1:1:void <init>(java.lang.String):36:36 -> <init>
-com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Position -> com.android.tools.r8.internal.tA$a:
+com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Position -> com.android.tools.r8.internal.vA$a:
     com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Source source -> a
     com.android.tools.r8.naming.Range range -> b
     1:3:void <init>(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Source,com.android.tools.r8.naming.Range):355:357 -> <init>
     1:1:com.android.tools.r8.naming.Range getRange():365:365 -> a
     1:1:com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Source getSource():361:361 -> b
     1:10:java.lang.String toString():370:379 -> toString
-com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Result -> com.android.tools.r8.internal.tA$b:
+com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Result -> com.android.tools.r8.internal.vA$b:
     com.android.tools.r8.utils.SegmentTree inlineePositions -> a
     com.android.tools.r8.utils.SegmentTree calleePositions -> b
     1:3:void <init>(com.android.tools.r8.utils.SegmentTree,com.android.tools.r8.utils.SegmentTree):304:306 -> <init>
     1:1:java.util.Map$Entry lookupCalleePosition(int):314:314 -> a
     2:2:int inlinePositionsCount():318:318 -> a
     1:1:java.util.Map$Entry lookupInlinedPosition(int):310:310 -> b
-com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Source -> com.android.tools.r8.internal.tA$c:
+com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Source -> com.android.tools.r8.internal.vA$c:
     java.lang.String fileName -> a
     java.lang.String path -> b
     1:1:void <init>(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$1):328:328 -> <init>
@@ -91687,15 +91818,15 @@
     1:1:java.lang.String getPath():342:342 -> b
     1:1:java.lang.String toString():347:347 -> toString
     2:2:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":349,"2":350,"3":351}}
-    349:349:java.lang.String toString():347:347 -> toString
-    350:350:java.lang.String toString():347:347 -> toString
-    351:351:java.lang.String toString():347:347 -> toString
-com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder -> com.android.tools.r8.internal.uA:
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
+    3:3:java.lang.String toString():347:347 -> toString
+    4:4:java.lang.String toString():347:347 -> toString
+    5:5:java.lang.String toString():347:347 -> toString
+com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder -> com.android.tools.r8.internal.wA:
     java.util.Map files -> b
     com.android.tools.r8.utils.SegmentTree segmentTree -> a
     1:4:void <init>():322:325 -> <init>
-com.android.tools.r8.kotlin.KotlinSyntheticClassInfo -> com.android.tools.r8.internal.vA:
+com.android.tools.r8.kotlin.KotlinSyntheticClassInfo -> com.android.tools.r8.internal.xA:
     com.android.tools.r8.kotlin.KotlinLambdaInfo lambda -> a
     com.android.tools.r8.kotlin.KotlinSyntheticClassInfo$Flavour flavour -> d
     int[] metadataVersion -> c
@@ -91738,7 +91869,7 @@
     boolean isSyntheticClass() -> l
     1:1:int[] getMetadataVersion():103:103 -> m
     1:1:boolean isLambda():63:63 -> n
-com.android.tools.r8.kotlin.KotlinTypeAliasInfo -> com.android.tools.r8.internal.wA:
+com.android.tools.r8.kotlin.KotlinTypeAliasInfo -> com.android.tools.r8.internal.yA:
     java.util.List annotations -> f
     com.android.tools.r8.kotlin.KotlinTypeInfo expandedType -> d
     java.util.List typeParameters -> e
@@ -91754,7 +91885,7 @@
     21:24:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):82:85 -> a
     25:25:java.util.function.Consumer lambda$trace$0(com.android.tools.r8.kotlin.KotlinTypeParameterInfo):84:84 -> a
     26:26:java.util.function.Consumer lambda$trace$1(com.android.tools.r8.kotlin.KotlinAnnotationInfo):85:85 -> a
-com.android.tools.r8.kotlin.KotlinTypeInfo -> com.android.tools.r8.internal.xA:
+com.android.tools.r8.kotlin.KotlinTypeInfo -> com.android.tools.r8.internal.zA:
     com.android.tools.r8.kotlin.KotlinFlexibleTypeUpperBoundInfo flexibleTypeUpperBound -> g
     java.util.List annotations -> f
     com.android.tools.r8.kotlin.KotlinTypeInfo outerType -> d
@@ -91773,7 +91904,7 @@
     57:57:java.util.function.Consumer lambda$trace$0(com.android.tools.r8.kotlin.KotlinTypeProjectionInfo):129:129 -> a
     58:58:java.util.function.Consumer lambda$trace$1(com.android.tools.r8.kotlin.KotlinAnnotationInfo):131:131 -> a
     59:59:com.android.tools.r8.graph.DexType rewriteType(com.android.tools.r8.graph.GraphLens):135:135 -> a
-com.android.tools.r8.kotlin.KotlinTypeParameterInfo -> com.android.tools.r8.internal.yA:
+com.android.tools.r8.kotlin.KotlinTypeParameterInfo -> com.android.tools.r8.internal.AA:
     java.util.List annotations -> f
     java.util.List originalUpperBounds -> e
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance variance -> d
@@ -91804,7 +91935,7 @@
     41:41:java.util.function.Consumer lambda$trace$0(com.android.tools.r8.kotlin.KotlinTypeInfo):113:113 -> a
     42:43:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):113:114 -> a
     44:44:java.util.function.Consumer lambda$trace$1(com.android.tools.r8.kotlin.KotlinAnnotationInfo):114:114 -> a
-com.android.tools.r8.kotlin.KotlinTypeProjectionInfo -> com.android.tools.r8.internal.zA:
+com.android.tools.r8.kotlin.KotlinTypeProjectionInfo -> com.android.tools.r8.internal.BA:
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance variance -> a
     com.android.tools.r8.kotlin.KotlinTypeInfo typeInfo -> b
     1:3:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance,com.android.tools.r8.kotlin.KotlinTypeInfo):22:24 -> <init>
@@ -91814,7 +91945,7 @@
     5:8:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeProjectionVisitorProvider,com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeStarProjectionVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):44:47 -> a
     9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor lambda$rewrite$0(com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeProjectionVisitorProvider,int):47:47 -> a
     10:11:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):53:54 -> a
-com.android.tools.r8.kotlin.KotlinTypeReference -> com.android.tools.r8.internal.AA:
+com.android.tools.r8.kotlin.KotlinTypeReference -> com.android.tools.r8.internal.CA:
     com.android.tools.r8.graph.DexType known -> a
     java.lang.String originalName -> b
     boolean $assertionsDisabled -> c
@@ -91854,7 +91985,7 @@
     7:7:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinLocalOrAnonymousNameFromDescriptor(java.lang.String,boolean):233:233 -> o
     7:7:java.lang.String toKotlinClassifier(boolean):103 -> o
     1:1:java.lang.String toString():152:152 -> toString
-com.android.tools.r8.kotlin.KotlinValueParameterInfo -> com.android.tools.r8.internal.BA:
+com.android.tools.r8.kotlin.KotlinValueParameterInfo -> com.android.tools.r8.internal.DA:
     com.android.tools.r8.kotlin.KotlinTypeInfo varargElementType -> d
     java.util.List EMPTY_VALUE_PARAMETERS -> e
     com.android.tools.r8.kotlin.KotlinTypeInfo type -> c
@@ -91866,14 +91997,14 @@
     7:14:java.util.List create(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):59:66 -> a
     15:19:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmValueParameterVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):73:77 -> a
     20:22:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):85:87 -> a
-com.android.tools.r8.kotlin.KotlinVersionRequirementInfo -> com.android.tools.r8.internal.DA:
+com.android.tools.r8.kotlin.KotlinVersionRequirementInfo -> com.android.tools.r8.internal.FA:
     java.util.List versionRequirements -> a
     com.android.tools.r8.kotlin.KotlinVersionRequirementInfo NO_VERSION_REQUIREMENTS -> b
     1:2:void <clinit>():17:18 -> <clinit>
     1:2:void <init>(java.util.List):22:23 -> <init>
     1:8:com.android.tools.r8.kotlin.KotlinVersionRequirementInfo create(java.util.List):27:34 -> a
     9:13:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmVersionRequirementVisitorProvider):38:42 -> a
-com.android.tools.r8.kotlin.KotlinVersionRequirementInfo$KotlinVersionRequirementPoint -> com.android.tools.r8.internal.CA:
+com.android.tools.r8.kotlin.KotlinVersionRequirementInfo$KotlinVersionRequirementPoint -> com.android.tools.r8.internal.EA:
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel level -> c
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind kind -> b
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersion version -> e
@@ -91885,7 +92016,7 @@
     6:8:void com.android.tools.r8.kotlin.KotlinVersionRequirementInfo$KotlinVersionRequirementPoint.rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):78:80 -> a
     6:8:void access$100(com.android.tools.r8.kotlin.KotlinVersionRequirementInfo$KotlinVersionRequirementPoint,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):47 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-com.android.tools.r8.logging.Log -> com.android.tools.r8.internal.GC:
+com.android.tools.r8.logging.Log -> com.android.tools.r8.internal.LC:
     java.util.Set CLASS_FILTER -> b
     boolean ENABLED -> a
     1:1:void <clinit>():12:12 -> <clinit>
@@ -92286,7 +92417,7 @@
     3:3:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange firstRangeForLine(int):135 -> b
     1:7:boolean equals(java.lang.Object):193:199 -> equals
     1:1:int hashCode():204:204 -> hashCode
-com.android.tools.r8.naming.DictionaryReader -> com.android.tools.r8.internal.ih:
+com.android.tools.r8.naming.DictionaryReader -> com.android.tools.r8.internal.kh:
     java.nio.file.Path path -> c
     java.io.BufferedReader reader -> b
     boolean $assertionsDisabled -> d
@@ -92308,12 +92439,12 @@
     2:12:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.naming.MemberNamingStrategy):39:49 -> <init>
     1:1:com.android.tools.r8.graph.AppView access$200(com.android.tools.r8.naming.FieldNameMinifier):35:35 -> a
     2:6:com.android.tools.r8.naming.FieldNameMinifier$FieldRenaming computeRenaming(java.util.Collection,com.android.tools.r8.utils.Timing):57:61 -> a
-    7:9:void renameFieldsInInterfaces(java.util.Collection):194:196 -> a
+    7:9:void renameFieldsInInterfaces(java.util.Collection):195:197 -> a
     7:9:com.android.tools.r8.naming.FieldNameMinifier$FieldRenaming computeRenaming(java.util.Collection,com.android.tools.r8.utils.Timing):62 -> a
     10:17:com.android.tools.r8.naming.FieldNameMinifier$FieldRenaming computeRenaming(java.util.Collection,com.android.tools.r8.utils.Timing):63:70 -> a
     18:18:com.android.tools.r8.naming.ReservedFieldNamingState getOrCreateReservedFieldNamingState(com.android.tools.r8.graph.DexType):91:91 -> a
     19:26:void lambda$reserveFieldNames$1(com.android.tools.r8.graph.DexClass):102:109 -> a
-    27:27:void com.android.tools.r8.naming.ReservedFieldNamingState.markReservedDirectly(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):31:31 -> a
+    27:27:void com.android.tools.r8.naming.ReservedFieldNamingState.markReservedDirectly(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):47:47 -> a
     27:27:void lambda$reserveFieldNames$1(com.android.tools.r8.graph.DexClass):108 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     28:42:void lambda$reserveFieldNames$1(com.android.tools.r8.graph.DexClass):111:125 -> a
@@ -92327,32 +92458,27 @@
     55:56:boolean com.android.tools.r8.graph.DexType.isProgramType(com.android.tools.r8.graph.DexDefinitionSupplier):374:375 -> a
     55:56:void lambda$propagateReservedFieldNamesUpwards$3(com.android.tools.r8.graph.DexProgramClass):155 -> a
     57:58:void lambda$propagateReservedFieldNamesUpwards$3(com.android.tools.r8.graph.DexProgramClass):156:157 -> a
-    59:60:void com.android.tools.r8.naming.ReservedFieldNamingState.includeReservationsFromBelow(com.android.tools.r8.naming.ReservedFieldNamingState):41:42 -> a
-    59:60:void lambda$propagateReservedFieldNamesUpwards$3(com.android.tools.r8.graph.DexProgramClass):157 -> a
-    61:69:void lambda$renameFieldsInClasses$6(java.util.Map,com.android.tools.r8.graph.DexClass):171:179 -> a
-    70:78:void lambda$renameFieldsInClasses$6(java.util.Map,com.android.tools.r8.graph.DexClass):177:185 -> a
-    79:79:void com.android.tools.r8.graph.DexProgramClass.forEachProgramField(java.util.function.Consumer):199:199 -> a
-    79:79:void lambda$renameFieldsInClasses$6(java.util.Map,com.android.tools.r8.graph.DexClass):185 -> a
+    59:67:void lambda$renameFieldsInClasses$6(java.util.Map,com.android.tools.r8.graph.DexClass):171:179 -> a
+    68:77:void lambda$renameFieldsInClasses$6(java.util.Map,com.android.tools.r8.graph.DexClass):177:186 -> a
+    78:78:void com.android.tools.r8.graph.DexProgramClass.forEachProgramField(java.util.function.Consumer):199:199 -> a
+    78:78:void lambda$renameFieldsInClasses$6(java.util.Map,com.android.tools.r8.graph.DexClass):186 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    80:81:void lambda$renameFieldsInClasses$6(java.util.Map,com.android.tools.r8.graph.DexClass):188:189 -> a
-    82:84:void renameFieldsInInterfacePartition(java.util.Set):201:203 -> a
-    85:85:com.android.tools.r8.naming.ReservedFieldNamingState getReservedFieldNamingState(com.android.tools.r8.graph.DexType):87:87 -> a
-    85:85:void renameFieldsInInterfacePartition(java.util.Set):203 -> a
-    86:86:void renameFieldsInInterfacePartition(java.util.Set):205:205 -> a
-    87:88:void com.android.tools.r8.naming.ReservedFieldNamingState.includeReservationsFromBelow(com.android.tools.r8.naming.ReservedFieldNamingState):41:42 -> a
-    87:88:void renameFieldsInInterfacePartition(java.util.Set):206 -> a
-    89:97:void renameFieldsInInterfacePartition(java.util.Set):210:218 -> a
-    98:98:void com.android.tools.r8.graph.DexProgramClass.forEachProgramField(java.util.function.Consumer):199:199 -> a
-    98:98:void renameFieldsInInterfacePartition(java.util.Set):219 -> a
+    79:80:void lambda$renameFieldsInClasses$6(java.util.Map,com.android.tools.r8.graph.DexClass):189:190 -> a
+    81:83:void renameFieldsInInterfacePartition(java.util.Set):202:204 -> a
+    84:84:com.android.tools.r8.naming.ReservedFieldNamingState getReservedFieldNamingState(com.android.tools.r8.graph.DexType):87:87 -> a
+    84:84:void renameFieldsInInterfacePartition(java.util.Set):204 -> a
+    85:98:void renameFieldsInInterfacePartition(java.util.Set):206:219 -> a
+    99:99:void com.android.tools.r8.graph.DexProgramClass.forEachProgramField(java.util.function.Consumer):199:199 -> a
+    99:99:void renameFieldsInInterfacePartition(java.util.Set):220 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    99:109:void renameFieldsInInterfacePartition(java.util.Set):228:238 -> a
+    100:109:void renameFieldsInInterfacePartition(java.util.Set):229:238 -> a
     110:112:com.android.tools.r8.graph.DexString renameField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.naming.FieldNamingState):245:247 -> a
-    110:112:void lambda$renameFieldsInClasses$5(com.android.tools.r8.naming.FieldNamingState,com.android.tools.r8.graph.ProgramField):185 -> a
+    110:112:void lambda$renameFieldsInClasses$5(com.android.tools.r8.naming.FieldNamingState,com.android.tools.r8.graph.ProgramField):186 -> a
     113:115:com.android.tools.r8.graph.DexString renameField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.naming.FieldNamingState):245:247 -> a
-    113:115:void lambda$renameFieldsInInterfacePartition$7(com.android.tools.r8.naming.FieldNamingState,com.android.tools.r8.naming.ReservedFieldNamingState,com.android.tools.r8.graph.ProgramField):221 -> a
-    116:116:void lambda$renameFieldsInInterfacePartition$7(com.android.tools.r8.naming.FieldNamingState,com.android.tools.r8.naming.ReservedFieldNamingState,com.android.tools.r8.graph.ProgramField):223:223 -> a
-    117:117:void com.android.tools.r8.naming.ReservedFieldNamingState.markReservedDirectly(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):31:31 -> a
-    117:117:void lambda$renameFieldsInInterfacePartition$7(com.android.tools.r8.naming.FieldNamingState,com.android.tools.r8.naming.ReservedFieldNamingState,com.android.tools.r8.graph.ProgramField):222 -> a
+    113:115:void lambda$renameFieldsInInterfacePartition$7(com.android.tools.r8.naming.FieldNamingState,com.android.tools.r8.naming.ReservedFieldNamingState,com.android.tools.r8.graph.ProgramField):222 -> a
+    116:116:void lambda$renameFieldsInInterfacePartition$7(com.android.tools.r8.naming.FieldNamingState,com.android.tools.r8.naming.ReservedFieldNamingState,com.android.tools.r8.graph.ProgramField):224:224 -> a
+    117:117:void com.android.tools.r8.naming.ReservedFieldNamingState.markReservedDirectly(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):47:47 -> a
+    117:117:void lambda$renameFieldsInInterfacePartition$7(com.android.tools.r8.naming.FieldNamingState,com.android.tools.r8.naming.ReservedFieldNamingState,com.android.tools.r8.graph.ProgramField):223 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     118:118:void renameNonReboundAccessesToField(com.android.tools.r8.graph.FieldAccessInfo):259:259 -> a
     119:122:void renameNonReboundAccessToField(com.android.tools.r8.graph.DexField):265:268 -> a
@@ -92392,52 +92518,39 @@
     2:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.MemberNamingStrategy,com.android.tools.r8.naming.ReservedFieldNamingState):32:32 -> <init>
     3:6:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.MemberNamingStrategy,com.android.tools.r8.naming.ReservedFieldNamingState,java.util.Map):40:43 -> <init>
     1:1:boolean lambda$new$0(com.android.tools.r8.naming.ReservedFieldNamingState,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.ProgramField):44:44 -> a
-    2:3:com.android.tools.r8.graph.DexString com.android.tools.r8.naming.ReservedFieldNamingState.getReservedByName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):26:27 -> a
-    2:3:boolean com.android.tools.r8.naming.ReservedFieldNamingState.isReserved(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):22 -> a
-    2:3:boolean lambda$new$0(com.android.tools.r8.naming.ReservedFieldNamingState,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.ProgramField):44 -> a
-      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
-    4:6:com.android.tools.r8.naming.FieldNamingState createChildState(com.android.tools.r8.naming.ReservedFieldNamingState):48:50 -> a
-    7:7:void includeReservations(com.android.tools.r8.naming.ReservedFieldNamingState):64:64 -> a
-    7:7:com.android.tools.r8.naming.FieldNamingState createChildState(com.android.tools.r8.naming.ReservedFieldNamingState):50 -> a
-    8:13:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.ProgramField):55:60 -> a
-    14:14:java.lang.Object com.android.tools.r8.naming.FieldNamingStateBase.getOrCreateInternalState(com.android.tools.r8.graph.DexField):31:31 -> a
+    2:4:com.android.tools.r8.naming.FieldNamingState createChildState(com.android.tools.r8.naming.ReservedFieldNamingState):48:50 -> a
+    5:5:void includeReservations(com.android.tools.r8.naming.ReservedFieldNamingState):64:64 -> a
+    5:5:com.android.tools.r8.naming.FieldNamingState createChildState(com.android.tools.r8.naming.ReservedFieldNamingState):50 -> a
+    6:11:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.ProgramField):55:60 -> a
+    12:12:java.lang.Object com.android.tools.r8.naming.FieldNamingStateBase.getOrCreateInternalState(com.android.tools.r8.graph.DexField):31:31 -> a
+    12:12:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.ProgramField):60 -> a
+    13:13:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.ProgramField):60:60 -> a
+    14:14:com.android.tools.r8.graph.DexString com.android.tools.r8.naming.FieldNamingState$InternalState.createNewName(com.android.tools.r8.graph.ProgramField):96:96 -> a
     14:14:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.ProgramField):60 -> a
-    15:15:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.ProgramField):60:60 -> a
-    16:16:com.android.tools.r8.graph.DexString com.android.tools.r8.naming.FieldNamingState$InternalState.createNewName(com.android.tools.r8.graph.ProgramField):96:96 -> a
+      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
+    15:15:com.android.tools.r8.naming.MemberNamingStrategy access$100(com.android.tools.r8.naming.FieldNamingState):17:17 -> a
+    15:15:com.android.tools.r8.graph.DexString com.android.tools.r8.naming.FieldNamingState$InternalState.createNewName(com.android.tools.r8.graph.ProgramField):96 -> a
+    15:15:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.ProgramField):60 -> a
+      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
+    16:16:java.util.function.BiPredicate access$000(com.android.tools.r8.naming.FieldNamingState):17:17 -> a
+    16:16:com.android.tools.r8.graph.DexString com.android.tools.r8.naming.FieldNamingState$InternalState.createNewName(com.android.tools.r8.graph.ProgramField):96 -> a
     16:16:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.ProgramField):60 -> a
-      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    17:17:com.android.tools.r8.naming.MemberNamingStrategy access$100(com.android.tools.r8.naming.FieldNamingState) -> a
-    17:17:com.android.tools.r8.graph.DexString com.android.tools.r8.naming.FieldNamingState$InternalState.createNewName(com.android.tools.r8.graph.ProgramField):96 -> a
-    17:17:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.ProgramField):60 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
-    18:18:java.util.function.BiPredicate access$000(com.android.tools.r8.naming.FieldNamingState):17:17 -> a
-    18:18:com.android.tools.r8.graph.DexString com.android.tools.r8.naming.FieldNamingState$InternalState.createNewName(com.android.tools.r8.graph.ProgramField):96 -> a
-    18:18:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.ProgramField):60 -> a
-      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
-    19:20:com.android.tools.r8.graph.DexString com.android.tools.r8.naming.FieldNamingState$InternalState.createNewName(com.android.tools.r8.graph.ProgramField):96:97 -> a
-    19:20:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.ProgramField):60 -> a
+    17:18:com.android.tools.r8.graph.DexString com.android.tools.r8.naming.FieldNamingState$InternalState.createNewName(com.android.tools.r8.graph.ProgramField):96:97 -> a
+    17:18:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.ProgramField):60 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    21:21:com.android.tools.r8.naming.ReservedFieldNamingState access$200(com.android.tools.r8.naming.FieldNamingState):17:17 -> a
-    21:21:com.android.tools.r8.graph.DexString com.android.tools.r8.naming.FieldNamingState$InternalState.createNewName(com.android.tools.r8.graph.ProgramField):97 -> a
-    21:21:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.ProgramField):60 -> a
+    19:19:com.android.tools.r8.naming.ReservedFieldNamingState access$200(com.android.tools.r8.naming.FieldNamingState):17:17 -> a
+    19:19:com.android.tools.r8.graph.DexString com.android.tools.r8.naming.FieldNamingState$InternalState.createNewName(com.android.tools.r8.graph.ProgramField):97 -> a
+    19:19:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.ProgramField):60 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
-    22:22:com.android.tools.r8.graph.DexString com.android.tools.r8.naming.FieldNamingState$InternalState.createNewName(com.android.tools.r8.graph.ProgramField):97:97 -> a
-    22:22:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.ProgramField):60 -> a
+    20:20:com.android.tools.r8.graph.DexString com.android.tools.r8.naming.FieldNamingState$InternalState.createNewName(com.android.tools.r8.graph.ProgramField):97:97 -> a
+    20:20:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.ProgramField):60 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    23:24:com.android.tools.r8.graph.DexString com.android.tools.r8.naming.ReservedFieldNamingState.getReservedByName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):26:27 -> a
-    23:24:boolean com.android.tools.r8.naming.ReservedFieldNamingState.isReserved(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):22 -> a
-    23:24:com.android.tools.r8.graph.DexString com.android.tools.r8.naming.FieldNamingState$InternalState.createNewName(com.android.tools.r8.graph.ProgramField):97 -> a
-      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
-    23:24:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.ProgramField):60 -> a
-      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(3)"]}
-    25:25:com.android.tools.r8.graph.DexString com.android.tools.r8.naming.FieldNamingState$InternalState.createNewName(com.android.tools.r8.graph.ProgramField):97:97 -> a
-    25:25:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.ProgramField):60 -> a
-      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    26:26:com.android.tools.r8.naming.FieldNamingState$InternalState createInternalState():69:69 -> a
-    26:26:java.lang.Object createInternalState():17 -> a
-    27:27:void com.android.tools.r8.naming.FieldNamingState$InternalState.<init>(com.android.tools.r8.naming.FieldNamingState):87:87 -> a
-    27:27:com.android.tools.r8.naming.FieldNamingState$InternalState createInternalState():69 -> a
-    27:27:java.lang.Object createInternalState():17 -> a
+    21:21:com.android.tools.r8.naming.FieldNamingState$InternalState createInternalState():69:69 -> a
+    21:21:java.lang.Object createInternalState():17 -> a
+    22:22:void com.android.tools.r8.naming.FieldNamingState$InternalState.<init>(com.android.tools.r8.naming.FieldNamingState):87:87 -> a
+    22:22:com.android.tools.r8.naming.FieldNamingState$InternalState createInternalState():69 -> a
+    22:22:java.lang.Object createInternalState():17 -> a
     1:5:com.android.tools.r8.naming.FieldNamingState clone():74:78 -> b
     1:1:java.lang.Object clone():17:17 -> clone
 com.android.tools.r8.naming.FieldNamingState$InternalState -> com.android.tools.r8.naming.t:
@@ -92516,7 +92629,7 @@
     5:12:void lambda$replaceDexItemBasedConstString$1(com.android.tools.r8.graph.DexProgramClass):142 -> b
     13:13:void lambda$replaceDexItemBasedConstString$1(com.android.tools.r8.graph.DexProgramClass):144:144 -> b
     1:4:void run(java.util.concurrent.ExecutorService):54:57 -> c
-com.android.tools.r8.naming.IdentifierNameStringMarker -> com.android.tools.r8.internal.Dn:
+com.android.tools.r8.naming.IdentifierNameStringMarker -> com.android.tools.r8.internal.Fn:
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap identifierNameStrings -> b
     boolean $assertionsDisabled -> c
@@ -92557,7 +92670,7 @@
     236:239:com.android.tools.r8.ir.code.InstructionListIterator decoupleIdentifierNameStringForInvokeInstruction(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):215 -> a
     240:243:int com.android.tools.r8.naming.IdentifierNameStringMarker.getIdentifierPositionInArguments(com.android.tools.r8.ir.code.InvokeMethod):338:341 -> a
     240:243:com.android.tools.r8.ir.code.InstructionListIterator decoupleIdentifierNameStringForInvokeInstruction(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):215 -> a
-    244:244:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveClassLookup(com.android.tools.r8.graph.DexMethod):1574:1574 -> a
+    244:244:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveClassLookup(com.android.tools.r8.graph.DexMethod):1576:1576 -> a
     244:244:int com.android.tools.r8.naming.IdentifierNameStringMarker.getIdentifierPositionInArguments(com.android.tools.r8.ir.code.InvokeMethod):341 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     244:244:com.android.tools.r8.ir.code.InstructionListIterator decoupleIdentifierNameStringForInvokeInstruction(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):215 -> a
@@ -92581,18 +92694,18 @@
     767:767:void warnUndeterminedIdentifierIfNecessary(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexString):371:371 -> a
     768:768:void warnUndeterminedIdentifierIfNecessary(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexString):371:371 -> a
     754:765:void warnUndeterminedIdentifierIfNecessary(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexString):371:382 -> a
-com.android.tools.r8.naming.IdentifierNameStringUtils -> com.android.tools.r8.internal.Gn:
+com.android.tools.r8.naming.IdentifierNameStringUtils -> com.android.tools.r8.internal.In:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():41:41 -> <clinit>
     boolean lambda$evaluateTypeArrayContentFromConstructionToUse$0(com.android.tools.r8.ir.code.NewArrayEmpty,com.android.tools.r8.ir.code.Instruction) -> a
     1:89:boolean isReflectionMethod(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod):73:161 -> a
     90:96:boolean isReflectionMethod(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod):114:120 -> a
     97:102:boolean isClassNameValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):186:191 -> a
-    103:103:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveNameLookup(com.android.tools.r8.graph.DexMethod):1582:1582 -> a
+    103:103:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveNameLookup(com.android.tools.r8.graph.DexMethod):1584:1584 -> a
     103:103:boolean isClassNameValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):191 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     104:110:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):205:211 -> a
-    111:111:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveClassLookup(com.android.tools.r8.graph.DexMethod):1574:1574 -> a
+    111:111:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveClassLookup(com.android.tools.r8.graph.DexMethod):1576:1576 -> a
     111:111:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):211 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     112:112:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):213:213 -> a
@@ -92707,23 +92820,23 @@
     14:18:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):416 -> a
     19:142:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):417:540 -> a
     143:152:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):535:544 -> a
-    153:167:boolean verifyAllMethodsAreRepresentedIn(java.util.List):690:704 -> a
+    153:167:boolean verifyAllMethodsAreRepresentedIn(java.util.List):689:703 -> a
     153:167:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):544 -> a
     168:168:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):545:545 -> a
-    169:183:boolean verifyAllCallSitesAreRepresentedIn(java.util.List):671:685 -> a
+    169:183:boolean verifyAllCallSitesAreRepresentedIn(java.util.List):670:684 -> a
     169:183:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):545 -> a
     184:214:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):547:577 -> a
-    215:219:void print(com.android.tools.r8.graph.DexMethod,java.util.Set,java.io.PrintStream):709:713 -> a
+    215:219:void print(com.android.tools.r8.graph.DexMethod,java.util.Set,java.io.PrintStream):708:712 -> a
     215:219:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):577 -> a
     220:220:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):0:0 -> a
       # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":250,"2":251,"3":252}}
-    250:250:void print(com.android.tools.r8.graph.DexMethod,java.util.Set,java.io.PrintStream):714:714 -> a
+    250:250:void print(com.android.tools.r8.graph.DexMethod,java.util.Set,java.io.PrintStream):713:713 -> a
     250:250:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):577 -> a
-    251:251:void print(com.android.tools.r8.graph.DexMethod,java.util.Set,java.io.PrintStream):714:714 -> a
+    251:251:void print(com.android.tools.r8.graph.DexMethod,java.util.Set,java.io.PrintStream):713:713 -> a
     251:251:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):577 -> a
-    252:252:void print(com.android.tools.r8.graph.DexMethod,java.util.Set,java.io.PrintStream):714:714 -> a
+    252:252:void print(com.android.tools.r8.graph.DexMethod,java.util.Set,java.io.PrintStream):713:713 -> a
     252:252:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):577 -> a
-    221:224:void print(com.android.tools.r8.graph.DexMethod,java.util.Set,java.io.PrintStream):714:717 -> a
+    221:224:void print(com.android.tools.r8.graph.DexMethod,java.util.Set,java.io.PrintStream):713:716 -> a
     221:224:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):577 -> a
     225:231:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):584:590 -> a
     232:232:com.android.tools.r8.naming.MethodNamingState com.android.tools.r8.naming.MethodNameMinifier$State.getNamingState(com.android.tools.r8.graph.DexType):109:109 -> a
@@ -92771,13 +92884,13 @@
     330:330:com.android.tools.r8.graph.DexString newNameInGroup(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.MethodNamingState,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState):625:625 -> a
     331:333:void computeReservationFrontiersForAllImplementingClasses():640:642 -> a
     334:338:void lambda$computeReservationFrontiersForAllImplementingClasses$6(com.android.tools.r8.graph.DexClass):645:649 -> a
-    339:348:void lambda$computeReservationFrontiersForAllImplementingClasses$5(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType,java.lang.Boolean):651:660 -> a
-    349:349:com.android.tools.r8.naming.MethodReservationState com.android.tools.r8.naming.MethodNameMinifier$State.getReservationState(com.android.tools.r8.graph.DexType):105:105 -> a
-    349:349:void lambda$computeReservationFrontiersForAllImplementingClasses$5(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType,java.lang.Boolean):660 -> a
+    339:347:void lambda$computeReservationFrontiersForAllImplementingClasses$5(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType,java.lang.Boolean):651:659 -> a
+    348:348:com.android.tools.r8.naming.MethodReservationState com.android.tools.r8.naming.MethodNameMinifier$State.getReservationState(com.android.tools.r8.graph.DexType):105:105 -> a
+    348:348:void lambda$computeReservationFrontiersForAllImplementingClasses$5(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType,java.lang.Boolean):659 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    350:350:void lambda$computeReservationFrontiersForAllImplementingClasses$5(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType,java.lang.Boolean):661:661 -> a
-    351:353:void com.android.tools.r8.naming.MethodNameMinifier$State.allocateReservationStateAndReserve(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):113:113 -> a
-    351:353:void lambda$computeReservationFrontiersForAllImplementingClasses$5(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType,java.lang.Boolean):661 -> a
+    349:349:void lambda$computeReservationFrontiersForAllImplementingClasses$5(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType,java.lang.Boolean):660:660 -> a
+    350:352:void com.android.tools.r8.naming.MethodNameMinifier$State.allocateReservationStateAndReserve(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):113:113 -> a
+    350:352:void lambda$computeReservationFrontiersForAllImplementingClasses$5(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType,java.lang.Boolean):660 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     1:1:com.android.tools.r8.naming.MethodNameMinifier$State access$100(com.android.tools.r8.naming.InterfaceMethodNameMinifier):97:97 -> b
     2:2:java.util.Comparator getDefaultInterfaceMethodOrdering():396:396 -> b
@@ -92894,7 +93007,7 @@
     int incrementNameIndex() -> a
     int getDictionaryIndex() -> b
     int incrementDictionaryIndex() -> c
-com.android.tools.r8.naming.MapVersion -> com.android.tools.r8.internal.yD:
+com.android.tools.r8.naming.MapVersion -> com.android.tools.r8.internal.DD:
     com.android.tools.r8.naming.MapVersion[] $VALUES -> h
     com.android.tools.r8.naming.MapVersion MAP_VERSION_UNKNOWN -> g
     com.android.tools.r8.naming.MapVersion MAP_VERSION_EXPERIMENTAL -> f
@@ -93752,12 +93865,12 @@
     1224:1224:java.lang.String toString():608:608 -> toString
     610:610:java.lang.String toString():608:608 -> toString
     611:611:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1226,"2":1227,"3":1228}}
-    1226:1226:java.lang.String toString():610:610 -> toString
-    1227:1227:java.lang.String toString():610:610 -> toString
-    1228:1228:java.lang.String toString():610:610 -> toString
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1222,"2":1223,"3":1224}}
+    1222:1222:java.lang.String toString():610:610 -> toString
+    1223:1223:java.lang.String toString():610:610 -> toString
+    1224:1224:java.lang.String toString():610:610 -> toString
     1221:1221:java.lang.String toString():610:610 -> toString
-com.android.tools.r8.naming.ProguardMapSupplier -> com.android.tools.r8.internal.TN:
+com.android.tools.r8.naming.ProguardMapSupplier -> com.android.tools.r8.internal.YN:
     com.android.tools.r8.naming.ClassNameMapper classNameMapper -> a
     com.android.tools.r8.utils.InternalOptions options -> c
     com.android.tools.r8.utils.Reporter reporter -> d
@@ -93802,7 +93915,7 @@
     13:15:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():82 -> a
     19:21:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):119:121 -> a
     19:21:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():82 -> a
-    22:24:com.android.tools.r8.naming.MapVersion com.android.tools.r8.utils.InternalOptions.getMapFileVersion():1748:1750 -> a
+    22:24:com.android.tools.r8.naming.MapVersion com.android.tools.r8.utils.InternalOptions.getMapFileVersion():1752:1754 -> a
     22:24:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):121 -> a
     22:24:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():82 -> a
     25:29:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):122:126 -> a
@@ -93821,8 +93934,8 @@
     42:42:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():83 -> a
     43:43:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():84:84 -> a
     1:1:com.android.tools.r8.StringConsumer access$200(com.android.tools.r8.naming.ProguardMapSupplier):23:23 -> b
-com.android.tools.r8.naming.ProguardMapSupplier$1 -> com.android.tools.r8.internal.SN:
-com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapChecker -> com.android.tools.r8.internal.TN$a:
+com.android.tools.r8.naming.ProguardMapSupplier$1 -> com.android.tools.r8.internal.XN:
+com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapChecker -> com.android.tools.r8.internal.YN$a:
     java.lang.StringBuilder contents -> b
     com.android.tools.r8.StringConsumer inner -> a
     boolean $assertionsDisabled -> c
@@ -93836,7 +93949,7 @@
     4:6:boolean com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapChecker.validateProguardMapParses(java.lang.String):211:213 -> finished
     4:6:void finished(com.android.tools.r8.DiagnosticsHandler):205 -> finished
     7:8:void finished(com.android.tools.r8.DiagnosticsHandler):205:206 -> finished
-com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapChecker$VerifyMappingFileHashResult -> com.android.tools.r8.internal.TN$a$a:
+com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapChecker$VerifyMappingFileHashResult -> com.android.tools.r8.internal.YN$a$a:
     boolean error -> a
     java.lang.String message -> b
     boolean $assertionsDisabled -> c
@@ -93848,7 +93961,7 @@
     2:3:java.lang.String getMessage():249:250 -> b
     1:1:boolean isError():245:245 -> c
     1:1:boolean isOk():241:241 -> d
-com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId -> com.android.tools.r8.internal.UN:
+com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId -> com.android.tools.r8.internal.ZN:
     java.lang.String id -> a
     java.lang.String hash -> b
     boolean $assertionsDisabled -> c
@@ -93857,7 +93970,7 @@
     2:6:void <init>(java.lang.String,java.lang.String):41:45 -> <init>
     1:1:java.lang.String getHash():55:55 -> a
     1:1:java.lang.String getId():50:50 -> b
-com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapIdBuilder -> com.android.tools.r8.internal.WN:
+com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapIdBuilder -> com.android.tools.r8.internal.bO:
     com.android.tools.r8.com.google.common.hash.Hasher hasher -> a
     1:3:void <init>():141:143 -> <init>
     1:1:java.lang.String lambda$getProviderOrDefault$0(com.android.tools.r8.MapIdEnvironment):148:148 -> a
@@ -93868,16 +93981,16 @@
     5:5:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId build(com.android.tools.r8.MapIdProvider):168 -> a
     6:7:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId build(com.android.tools.r8.MapIdProvider):168:169 -> a
     1:1:com.android.tools.r8.MapIdProvider getProviderOrDefault(com.android.tools.r8.MapIdProvider):148:148 -> b
-com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapIdBuilder$1 -> com.android.tools.r8.internal.VN:
+com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapIdBuilder$1 -> com.android.tools.r8.internal.aO:
     java.lang.String val$hash -> a
     1:1:void <init>(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapIdBuilder,java.lang.String):152:152 -> <init>
     1:1:java.lang.String getMapHash():155:155 -> getMapHash
-com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapWriter -> com.android.tools.r8.internal.XN:
+com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapWriter -> com.android.tools.r8.internal.cO:
     com.android.tools.r8.naming.ProguardMapSupplier this$0 -> a
     1:1:void <init>(com.android.tools.r8.naming.ProguardMapSupplier):173:173 -> <init>
     1:1:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapWriter com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapWriter.accept(java.lang.String):177:177 -> a
     1:1:com.android.tools.r8.utils.ChainableStringConsumer accept(java.lang.String):173 -> a
-com.android.tools.r8.naming.Range -> com.android.tools.r8.internal.fQ:
+com.android.tools.r8.naming.Range -> com.android.tools.r8.internal.kQ:
     int to -> b
     boolean isCardinal -> c
     int from -> a
@@ -93917,18 +94030,45 @@
     2:2:boolean verifyRenamingConsistentWithResolution(com.android.tools.r8.graph.DexMethod):93:93 -> b
     1:1:com.android.tools.r8.graph.DexString prefixRewrittenType(com.android.tools.r8.graph.DexType):83:83 -> e
 com.android.tools.r8.naming.ReservedFieldNamingState -> com.android.tools.r8.naming.l0:
-    1:1:void <init>(com.android.tools.r8.graph.AppView):18:18 -> <init>
-    1:2:void includeReservations(com.android.tools.r8.naming.ReservedFieldNamingState):35:36 -> a
-    3:3:com.android.tools.r8.naming.ReservedFieldNamingState$InternalState createInternalState():48:48 -> a
-    3:3:java.lang.Object createInternalState():15 -> a
+    com.android.tools.r8.naming.ReservedFieldNamingState interfaceMinificationState -> d
+    boolean $assertionsDisabled -> e
+    1:1:void <clinit>():15:15 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.graph.AppView):20:20 -> <init>
+    2:2:void <init>(com.android.tools.r8.graph.AppView):17:17 -> <init>
+    1:1:com.android.tools.r8.graph.DexString getReservedByName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):29:29 -> a
+    1:1:boolean isReserved(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):24 -> a
+    2:2:com.android.tools.r8.graph.DexString getReservedByNameInState(com.android.tools.r8.naming.ReservedFieldNamingState$InternalState,com.android.tools.r8.graph.DexString):43:43 -> a
+    2:2:com.android.tools.r8.graph.DexString getReservedByName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):29 -> a
+    2:2:boolean isReserved(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):24 -> a
+    3:5:com.android.tools.r8.graph.DexString getReservedByNameInInterfaces(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):37:39 -> a
+    3:5:com.android.tools.r8.graph.DexString getReservedByName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):33 -> a
+    3:5:boolean isReserved(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):24 -> a
+    6:6:com.android.tools.r8.graph.DexString getReservedByNameInState(com.android.tools.r8.naming.ReservedFieldNamingState$InternalState,com.android.tools.r8.graph.DexString):43:43 -> a
+    6:6:com.android.tools.r8.graph.DexString getReservedByNameInInterfaces(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):39 -> a
+    6:6:com.android.tools.r8.graph.DexString getReservedByName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):33 -> a
+    6:6:boolean isReserved(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):24 -> a
+    7:9:com.android.tools.r8.graph.DexString getReservedByNameInInterfaces(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):37:39 -> a
+    7:9:boolean isReserved(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):25 -> a
+    10:10:com.android.tools.r8.graph.DexString getReservedByNameInState(com.android.tools.r8.naming.ReservedFieldNamingState$InternalState,com.android.tools.r8.graph.DexString):43:43 -> a
+    10:10:com.android.tools.r8.graph.DexString getReservedByNameInInterfaces(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):39 -> a
+    10:10:boolean isReserved(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):25 -> a
+    11:12:void includeReservations(com.android.tools.r8.naming.ReservedFieldNamingState):51:52 -> a
+    13:16:void includeInterfaceReservationState(com.android.tools.r8.naming.ReservedFieldNamingState):65:68 -> a
+    13:16:void includeReservations(com.android.tools.r8.naming.ReservedFieldNamingState):54 -> a
+    17:17:com.android.tools.r8.naming.ReservedFieldNamingState$InternalState createInternalState():80:80 -> a
+    17:17:java.lang.Object createInternalState():15 -> a
+    1:2:void includeReservationsFromBelow(com.android.tools.r8.naming.ReservedFieldNamingState):58:59 -> b
+    3:6:void includeInterfaceReservationState(com.android.tools.r8.naming.ReservedFieldNamingState):65:68 -> b
+    3:6:void includeReservationsFromBelow(com.android.tools.r8.naming.ReservedFieldNamingState):61 -> b
+    1:3:void setInterfaceMinificationState(com.android.tools.r8.naming.ReservedFieldNamingState):73:75 -> c
 com.android.tools.r8.naming.ReservedFieldNamingState$InternalState -> com.android.tools.r8.naming.k0:
     java.util.Map reservedNamesDirect -> a
     java.util.Map reservedNamesBelow -> b
-    1:4:void <init>():51:54 -> <init>
-    1:2:com.android.tools.r8.graph.DexString getReservedByName(com.android.tools.r8.graph.DexString):57:58 -> a
-    3:3:void markReservedDirectly(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):62:62 -> a
-    4:4:void includeReservations(com.android.tools.r8.naming.ReservedFieldNamingState$InternalState):66:66 -> a
-    1:2:void includeReservationsFromBelow(com.android.tools.r8.naming.ReservedFieldNamingState$InternalState):70:71 -> b
+    1:4:void <init>():83:86 -> <init>
+    1:2:com.android.tools.r8.graph.DexString getReservedByName(com.android.tools.r8.graph.DexString):89:90 -> a
+    3:3:void markReservedDirectly(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):94:94 -> a
+    4:4:void includeReservations(com.android.tools.r8.naming.ReservedFieldNamingState$InternalState):98:98 -> a
+    1:2:void includeReservationsFromBelow(com.android.tools.r8.naming.ReservedFieldNamingState$InternalState):102:103 -> b
 com.android.tools.r8.naming.SeedMapper -> com.android.tools.r8.naming.o0:
     com.android.tools.r8.com.google.common.collect.ImmutableMap mappings -> a
     java.util.Set mappedToDescriptorNames -> b
@@ -93970,7 +94110,7 @@
     6:7:com.android.tools.r8.naming.ClassNamingForMapApplier$Builder classNamingBuilder(java.lang.String,java.lang.String,com.android.tools.r8.position.Position):59:60 -> a
     6:7:com.android.tools.r8.naming.ClassNaming$Builder classNamingBuilder(java.lang.String,java.lang.String,com.android.tools.r8.position.Position):40 -> a
     8:9:com.android.tools.r8.naming.SeedMapper build():73:74 -> a
-com.android.tools.r8.naming.SourceFileRewriter -> com.android.tools.r8.internal.eW:
+com.android.tools.r8.naming.SourceFileRewriter -> com.android.tools.r8.internal.jW:
     1:2:com.android.tools.r8.SourceFileProvider computeSourceFileProvider(com.android.tools.r8.SourceFileProvider,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.InternalOptions):20:21 -> a
     3:3:com.android.tools.r8.SourceFileProvider com.android.tools.r8.naming.SourceFileRewriter.rewriteToDefaultSourceFile(com.android.tools.r8.graph.DexItemFactory):61:61 -> a
     3:3:com.android.tools.r8.SourceFileProvider computeSourceFileProvider(com.android.tools.r8.SourceFileProvider,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.InternalOptions):21 -> a
@@ -94007,13 +94147,13 @@
     18:18:com.android.tools.r8.SourceFileProvider com.android.tools.r8.naming.SourceFileRewriter.rewriteToDefaultSourceFile(com.android.tools.r8.graph.DexItemFactory):61 -> a
     18:18:com.android.tools.r8.SourceFileProvider com.android.tools.r8.naming.SourceFileRewriter.computeNonCompatProvider(com.android.tools.r8.utils.InternalOptions):46 -> a
     18:18:com.android.tools.r8.SourceFileProvider computeSourceFileProvider(com.android.tools.r8.SourceFileProvider,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.InternalOptions):26 -> a
-com.android.tools.r8.naming.SourceFileRewriter$1 -> com.android.tools.r8.internal.dW:
+com.android.tools.r8.naming.SourceFileRewriter$1 -> com.android.tools.r8.internal.iW:
     java.lang.String val$renaming -> a
     boolean val$allowDiscard -> b
     1:1:void <init>(java.lang.String,boolean):65:65 -> <init>
     1:1:boolean allowDiscardingSourceFile():73:73 -> allowDiscardingSourceFile
     1:1:java.lang.String get(com.android.tools.r8.SourceFileEnvironment):68:68 -> get
-com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo -> com.android.tools.r8.internal.Ca:
+com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo -> com.android.tools.r8.internal.Da:
     com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo TYPE_NAME_INSTANCE -> g
     com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo SIMPLE_NAME_INSTANCE -> f
     com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping mapping -> b
@@ -94054,7 +94194,7 @@
     2:2:boolean needsToRegisterReference():149 -> f
     1:1:com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo none():139:139 -> g
     1:1:int hashCode():183:183 -> hashCode
-com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping -> com.android.tools.r8.internal.Ba:
+com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping -> com.android.tools.r8.internal.Ca:
     com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping NONE -> b
     boolean $assertionsDisabled -> h
     com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping NAME -> c
@@ -94075,14 +94215,14 @@
     125:126:java.lang.String com.android.tools.r8.utils.DescriptorUtils.getCanonicalNameFromDescriptor(java.lang.String):337:338 -> a
     125:126:com.android.tools.r8.graph.DexString map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,int):61 -> a
     127:127:com.android.tools.r8.graph.DexString map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,int):0:0 -> a
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":234,"2":235,"3":236}}
-    234:234:com.android.tools.r8.graph.DexString map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,int):63:63 -> a
-    235:235:com.android.tools.r8.graph.DexString map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,int):63:63 -> a
-    236:236:com.android.tools.r8.graph.DexString map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,int):63:63 -> a
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":231,"2":232,"3":233}}
+    231:231:com.android.tools.r8.graph.DexString map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,int):63:63 -> a
+    232:232:com.android.tools.r8.graph.DexString map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,int):63:63 -> a
+    233:233:com.android.tools.r8.graph.DexString map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,int):63:63 -> a
     190:190:com.android.tools.r8.graph.DexString map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,int):63:63 -> a
     191:191:com.android.tools.r8.graph.DexString map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,int):54:54 -> a
     192:230:com.android.tools.r8.graph.DexString map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,int):46:84 -> a
-com.android.tools.r8.naming.dexitembasedstring.FieldNameComputationInfo -> com.android.tools.r8.internal.Mj:
+com.android.tools.r8.naming.dexitembasedstring.FieldNameComputationInfo -> com.android.tools.r8.internal.Oj:
     com.android.tools.r8.naming.dexitembasedstring.FieldNameComputationInfo FIELD_NAME_INSTANCE -> a
     1:1:void <clinit>():15:15 -> <clinit>
     1:1:void <init>():18:18 -> <init>
@@ -94090,7 +94230,7 @@
     boolean needsToComputeName() -> e
     boolean needsToRegisterReference() -> f
     1:1:com.android.tools.r8.naming.dexitembasedstring.FieldNameComputationInfo forFieldName():21:21 -> g
-com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo -> com.android.tools.r8.internal.yG:
+com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo -> com.android.tools.r8.internal.DG:
     1:1:void <init>():13:13 -> <init>
     com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo asClassNameComputationInfo() -> a
     1:2:com.android.tools.r8.graph.DexString computeNameFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):20:21 -> a
@@ -94108,7 +94248,7 @@
     boolean isRecordFieldNamesComputationInfo() -> d
     boolean needsToComputeName() -> e
     boolean needsToRegisterReference() -> f
-com.android.tools.r8.naming.dexitembasedstring.RecordFieldNamesComputationInfo -> com.android.tools.r8.internal.FQ:
+com.android.tools.r8.naming.dexitembasedstring.RecordFieldNamesComputationInfo -> com.android.tools.r8.internal.KQ:
     com.android.tools.r8.graph.DexField[] fields -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():38:38 -> <clinit>
@@ -94126,8 +94266,8 @@
     boolean isRecordFieldNamesComputationInfo() -> d
     boolean needsToComputeName() -> e
     boolean needsToRegisterReference() -> f
-com.android.tools.r8.naming.dexitembasedstring.RecordFieldNamesComputationInfo$1 -> com.android.tools.r8.internal.CQ:
-com.android.tools.r8.naming.dexitembasedstring.RecordFieldNamesComputationInfo$MatchingRecordFieldNamesComputationInfo -> com.android.tools.r8.internal.DQ:
+com.android.tools.r8.naming.dexitembasedstring.RecordFieldNamesComputationInfo$1 -> com.android.tools.r8.internal.HQ:
+com.android.tools.r8.naming.dexitembasedstring.RecordFieldNamesComputationInfo$MatchingRecordFieldNamesComputationInfo -> com.android.tools.r8.internal.IQ:
     1:1:void <init>(com.android.tools.r8.graph.DexField[]):70:70 -> <init>
     1:1:com.android.tools.r8.graph.DexString internalComputeNameFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):79:79 -> a
     2:4:java.lang.String lambda$internalComputeNameFor$0(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,int):84:86 -> a
@@ -94135,29 +94275,29 @@
     6:10:com.android.tools.r8.graph.DexField com.android.tools.r8.naming.NamingLens.lookupField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexItemFactory):91:91 -> a
     6:10:java.lang.String lambda$internalComputeNameFor$0(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,int):85 -> a
     11:14:java.lang.String lambda$internalComputeNameFor$0(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,int):85:88 -> a
-com.android.tools.r8.naming.dexitembasedstring.RecordFieldNamesComputationInfo$MissMatchingRecordFieldNamesComputationInfo -> com.android.tools.r8.internal.EQ:
+com.android.tools.r8.naming.dexitembasedstring.RecordFieldNamesComputationInfo$MissMatchingRecordFieldNamesComputationInfo -> com.android.tools.r8.internal.JQ:
     java.lang.String[] fieldNames -> c
     1:1:void <init>(java.lang.String[],com.android.tools.r8.graph.DexField[],com.android.tools.r8.naming.dexitembasedstring.RecordFieldNamesComputationInfo$1):46:46 -> <init>
     2:3:void <init>(java.lang.String[],com.android.tools.r8.graph.DexField[]):52:53 -> <init>
     1:1:com.android.tools.r8.graph.DexString internalComputeNameFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):62:62 -> a
     2:2:java.lang.String lambda$internalComputeNameFor$0(int):62:62 -> a
-com.android.tools.r8.naming.identifiernamestring.ClassForNameIdentifierNameStringLookupResult -> com.android.tools.r8.internal.Q9:
+com.android.tools.r8.naming.identifiernamestring.ClassForNameIdentifierNameStringLookupResult -> com.android.tools.r8.internal.R9:
     1:1:void <init>(com.android.tools.r8.graph.DexType):14:14 -> <init>
     1:1:boolean com.android.tools.r8.utils.InternalOptions.isForceProguardCompatibilityEnabled():627:627 -> a
     1:1:boolean isTypeCompatInstantiatedFromUse(com.android.tools.r8.utils.InternalOptions):24 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     boolean isTypeInitializedFromUse() -> d
-com.android.tools.r8.naming.identifiernamestring.ClassNameComparisonIdentifierNameStringLookupResult -> com.android.tools.r8.internal.Aa:
+com.android.tools.r8.naming.identifiernamestring.ClassNameComparisonIdentifierNameStringLookupResult -> com.android.tools.r8.internal.Ba:
     1:1:void <init>(com.android.tools.r8.graph.DexType):14:14 -> <init>
     boolean isTypeCompatInstantiatedFromUse(com.android.tools.r8.utils.InternalOptions) -> a
     boolean isTypeInitializedFromUse() -> d
-com.android.tools.r8.naming.identifiernamestring.DexMemberBasedConstStringIdentifierNameStringLookupResult -> com.android.tools.r8.internal.Xg:
+com.android.tools.r8.naming.identifiernamestring.DexMemberBasedConstStringIdentifierNameStringLookupResult -> com.android.tools.r8.internal.Zg:
     1:1:void <init>(com.android.tools.r8.graph.DexMember):13:13 -> <init>
-com.android.tools.r8.naming.identifiernamestring.DexTypeBasedConstStringIdentifierNameStringLookupResult -> com.android.tools.r8.internal.ch:
+com.android.tools.r8.naming.identifiernamestring.DexTypeBasedConstStringIdentifierNameStringLookupResult -> com.android.tools.r8.internal.eh:
     1:1:void <init>(com.android.tools.r8.graph.DexType):14:14 -> <init>
     boolean isTypeCompatInstantiatedFromUse(com.android.tools.r8.utils.InternalOptions) -> a
     boolean isTypeInitializedFromUse() -> d
-com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult -> com.android.tools.r8.internal.Cn:
+com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult -> com.android.tools.r8.internal.En:
     com.android.tools.r8.graph.DexReference reference -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():13:13 -> <clinit>
@@ -94170,17 +94310,17 @@
     3:3:com.android.tools.r8.graph.DexReference getReference():56:56 -> b
     boolean isTypeResult() -> c
     1:1:com.android.tools.r8.naming.identifiernamestring.DexTypeBasedConstStringIdentifierNameStringLookupResult fromDexTypeBasedConstString(com.android.tools.r8.graph.DexType):33:33 -> c
-com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringMemberLookupResult -> com.android.tools.r8.internal.En:
+com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringMemberLookupResult -> com.android.tools.r8.internal.Gn:
     1:1:void <init>(com.android.tools.r8.graph.DexMember):13:13 -> <init>
-com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringTypeLookupResult -> com.android.tools.r8.internal.Fn:
+com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringTypeLookupResult -> com.android.tools.r8.internal.Hn:
     1:1:void <init>(com.android.tools.r8.graph.DexType):14:14 -> <init>
     com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringTypeLookupResult asTypeResult() -> a
     boolean isTypeCompatInstantiatedFromUse(com.android.tools.r8.utils.InternalOptions) -> a
     boolean isTypeResult() -> c
     boolean isTypeInitializedFromUse() -> d
-com.android.tools.r8.naming.identifiernamestring.UncategorizedMemberIdentifierNameStringLookupResult -> com.android.tools.r8.internal.k10:
+com.android.tools.r8.naming.identifiernamestring.UncategorizedMemberIdentifierNameStringLookupResult -> com.android.tools.r8.internal.q10:
     1:1:void <init>(com.android.tools.r8.graph.DexMember):13:13 -> <init>
-com.android.tools.r8.naming.mappinginformation.CompilerSynthesizedMappingInformation -> com.android.tools.r8.internal.Oc:
+com.android.tools.r8.naming.mappinginformation.CompilerSynthesizedMappingInformation -> com.android.tools.r8.internal.Pc:
     com.android.tools.r8.naming.MapVersion SUPPORTED_VERSION -> a
     1:1:void <clinit>():14:14 -> <clinit>
     1:1:void <init>(com.android.tools.r8.naming.mappinginformation.CompilerSynthesizedMappingInformation$1):12:12 -> <init>
@@ -94193,8 +94333,8 @@
     4:4:boolean allowOther(com.android.tools.r8.naming.mappinginformation.MappingInformation):51:51 -> a
     boolean isCompilerSynthesizedMappingInformation() -> f
     1:3:java.lang.String serialize():56:58 -> i
-com.android.tools.r8.naming.mappinginformation.CompilerSynthesizedMappingInformation$1 -> com.android.tools.r8.internal.Mc:
-com.android.tools.r8.naming.mappinginformation.CompilerSynthesizedMappingInformation$Builder -> com.android.tools.r8.internal.Nc:
+com.android.tools.r8.naming.mappinginformation.CompilerSynthesizedMappingInformation$1 -> com.android.tools.r8.internal.Nc:
+com.android.tools.r8.naming.mappinginformation.CompilerSynthesizedMappingInformation$Builder -> com.android.tools.r8.internal.Oc:
     1:1:void <init>():17:17 -> <init>
     1:1:com.android.tools.r8.naming.mappinginformation.CompilerSynthesizedMappingInformation build():20:20 -> a
 com.android.tools.r8.naming.mappinginformation.FileNameInformation -> com.android.tools.r8.naming.mappinginformation.a:
@@ -94261,7 +94401,7 @@
     1:1:com.android.tools.r8.origin.Origin getOrigin():21:21 -> getOrigin
     1:1:com.android.tools.r8.position.Position getPosition():26:26 -> getPosition
     1:1:com.android.tools.r8.naming.mappinginformation.MappingInformationDiagnostics notAllowedCombination(com.android.tools.r8.naming.mappinginformation.MappingInformation,com.android.tools.r8.naming.mappinginformation.MappingInformation,int):98:98 -> notAllowedCombination
-com.android.tools.r8.naming.mappinginformation.OutlineCallsiteMappingInformation -> com.android.tools.r8.internal.mL:
+com.android.tools.r8.naming.mappinginformation.OutlineCallsiteMappingInformation -> com.android.tools.r8.internal.rL:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap positions -> a
     com.android.tools.r8.naming.MapVersion SUPPORTED_VERSION -> b
     1:1:void <clinit>():17:17 -> <clinit>
@@ -94291,7 +94431,7 @@
     120:120:void lambda$deserialize$1(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap,java.util.Map$Entry):92:92 -> a
     com.android.tools.r8.naming.mappinginformation.OutlineCallsiteMappingInformation asOutlineCallsiteInformation() -> c
     1:9:java.lang.String serialize():35:43 -> i
-com.android.tools.r8.naming.mappinginformation.OutlineMappingInformation -> com.android.tools.r8.internal.oL:
+com.android.tools.r8.naming.mappinginformation.OutlineMappingInformation -> com.android.tools.r8.internal.tL:
     com.android.tools.r8.naming.MapVersion SUPPORTED_VERSION -> a
     1:1:void <clinit>():14:14 -> <clinit>
     1:1:void <init>():12:12 -> <init>
@@ -94300,7 +94440,7 @@
     1:1:void deserialize(com.android.tools.r8.naming.MapVersion,java.util.function.Consumer):44 -> a
     2:2:void deserialize(com.android.tools.r8.naming.MapVersion,java.util.function.Consumer):45:45 -> a
     1:3:java.lang.String serialize():24:26 -> i
-com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation -> com.android.tools.r8.internal.xU:
+com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation -> com.android.tools.r8.internal.CU:
     java.util.List actions -> b
     java.util.List conditions -> a
     com.android.tools.r8.naming.MapVersion SUPPORTED_VERSION -> c
@@ -94436,42 +94576,42 @@
     17:17:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
     17:17:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
     18:18:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):0:0 -> b
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":31,"2":32,"3":33,"4":34,"5":35}}
-    31:31:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):219:219 -> b
-    31:31:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
-    31:31:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
-    32:32:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):219:219 -> b
-    32:32:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
-    32:32:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
-    33:33:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):219:219 -> b
-    33:33:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
-    33:33:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
-    34:34:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):219:219 -> b
-    34:34:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
-    34:34:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
-    35:35:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):219:219 -> b
-    35:35:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
-    35:35:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":26,"2":27,"3":28,"4":29,"5":30}}
+    26:26:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):219:219 -> b
+    26:26:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
+    26:26:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
+    27:27:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):219:219 -> b
+    27:27:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
+    27:27:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
+    28:28:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):219:219 -> b
+    28:28:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
+    28:28:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
+    29:29:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):219:219 -> b
+    29:29:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
+    29:29:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
+    30:30:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):219:219 -> b
+    30:30:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
+    30:30:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
     19:20:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):219:220 -> b
     19:20:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
     19:20:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
     21:21:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):0:0 -> b
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":36,"2":37,"3":38,"4":39,"5":40}}
-    36:36:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):220:220 -> b
-    36:36:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
-    36:36:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
-    37:37:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):220:220 -> b
-    37:37:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
-    37:37:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
-    38:38:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):220:220 -> b
-    38:38:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
-    38:38:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
-    39:39:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):220:220 -> b
-    39:39:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
-    39:39:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
-    40:40:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):220:220 -> b
-    40:40:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
-    40:40:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":26,"2":27,"3":28,"4":29,"5":30}}
+    26:26:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):220:220 -> b
+    26:26:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
+    26:26:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
+    27:27:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):220:220 -> b
+    27:27:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
+    27:27:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
+    28:28:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):220:220 -> b
+    28:28:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
+    28:28:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
+    29:29:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):220:220 -> b
+    29:29:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
+    29:29:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
+    30:30:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):220:220 -> b
+    30:30:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
+    30:30:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
     22:22:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):220:220 -> b
     22:22:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
     22:22:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
@@ -94479,22 +94619,22 @@
     23:23:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
     23:23:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
     24:24:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):0:0 -> b
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":41,"2":42,"3":43,"4":44,"5":45}}
-    41:41:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):212:212 -> b
-    41:41:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
-    41:41:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
-    42:42:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):212:212 -> b
-    42:42:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
-    42:42:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
-    43:43:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):212:212 -> b
-    43:43:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
-    43:43:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
-    44:44:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):212:212 -> b
-    44:44:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
-    44:44:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
-    45:45:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):212:212 -> b
-    45:45:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
-    45:45:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":26,"2":27,"3":28,"4":29,"5":30}}
+    26:26:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):212:212 -> b
+    26:26:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
+    26:26:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
+    27:27:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):212:212 -> b
+    27:27:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
+    27:27:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
+    28:28:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):212:212 -> b
+    28:28:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
+    28:28:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
+    29:29:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):212:212 -> b
+    29:29:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
+    29:29:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
+    30:30:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):212:212 -> b
+    30:30:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
+    30:30:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
     25:25:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):212:212 -> b
     25:25:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
     25:25:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
@@ -94502,19 +94642,19 @@
     1:9:java.lang.String serialize():57:65 -> i
     1:1:java.util.List getActions():47:47 -> j
     1:1:java.util.List getConditions():43:43 -> k
-com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$1 -> com.android.tools.r8.internal.rU:
-com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Builder -> com.android.tools.r8.internal.sU:
+com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$1 -> com.android.tools.r8.internal.wU:
+com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Builder -> com.android.tools.r8.internal.xU:
     java.util.List actions -> b
     java.util.List conditions -> a
     1:4:void <init>():112:115 -> <init>
     1:1:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Builder addCondition(com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition):118:118 -> a
     2:2:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Builder addRewriteAction(com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction):123:123 -> a
     3:3:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation build():128:128 -> a
-com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition -> com.android.tools.r8.internal.tU:
+com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition -> com.android.tools.r8.internal.yU:
     1:1:void <init>():132:132 -> <init>
     boolean evaluate(com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl) -> a
     com.android.tools.r8.com.google.gson.JsonPrimitive serialize() -> a
-com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction -> com.android.tools.r8.internal.uU:
+com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction -> com.android.tools.r8.internal.zU:
     int numberOfFrames -> b
     1:2:void <init>(int):240:241 -> <init>
     1:1:com.android.tools.r8.com.google.gson.JsonElement serialize():250:250 -> a
@@ -94531,13 +94671,13 @@
     509:509:com.android.tools.r8.com.google.gson.JsonElement serialize():250:250 -> a
     503:503:com.android.tools.r8.com.google.gson.JsonElement serialize():250:250 -> a
     510:510:void evaluate(com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation$Builder):265:265 -> a
-com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction -> com.android.tools.r8.internal.vU:
+com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction -> com.android.tools.r8.internal.AU:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():203:203 -> <clinit>
     1:1:void <init>():203:203 -> <init>
     void evaluate(com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation$Builder) -> a
     com.android.tools.r8.com.google.gson.JsonElement serialize() -> a
-com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$ThrowsCondition -> com.android.tools.r8.internal.wU:
+com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$ThrowsCondition -> com.android.tools.r8.internal.BU:
     com.android.tools.r8.references.ClassReference classReference -> a
     1:2:void <init>(com.android.tools.r8.references.ClassReference):167:168 -> <init>
     1:1:com.android.tools.r8.com.google.gson.JsonPrimitive serialize():173:173 -> a
@@ -94561,7 +94701,7 @@
     186:186:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$ThrowsCondition deserialize(java.lang.String):193 -> a
     187:187:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$ThrowsCondition deserialize(java.lang.String):193:193 -> a
     193:193:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$ThrowsCondition create(com.android.tools.r8.references.ClassReference):199:199 -> a
-com.android.tools.r8.naming.mappinginformation.UnknownJsonMappingInformation -> com.android.tools.r8.internal.u10:
+com.android.tools.r8.naming.mappinginformation.UnknownJsonMappingInformation -> com.android.tools.r8.internal.A10:
     java.lang.String id -> a
     java.lang.String payload -> b
     1:3:void <init>(java.lang.String,java.lang.String):16:18 -> <init>
@@ -94571,20 +94711,20 @@
     1:1:java.lang.String serialize():32:32 -> i
     1:1:java.lang.String getId():23:23 -> j
     1:1:java.lang.String getPayload():27:27 -> k
-com.android.tools.r8.naming.signature.GenericSignatureAction -> com.android.tools.r8.internal.Tl:
+com.android.tools.r8.naming.signature.GenericSignatureAction -> com.android.tools.r8.internal.Vl:
     void parsedIdentifier(java.lang.String) -> a
     java.lang.Object parsedInnerTypeName(java.lang.Object,java.lang.String) -> a
     void parsedSymbol(char) -> a
     java.lang.Object parsedTypeName(java.lang.String,com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition) -> a
     void stop() -> a
     void start() -> b
-com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition -> com.android.tools.r8.internal.Tl$a:
+com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition -> com.android.tools.r8.internal.Vl$a:
     com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition MEMBER_ANNOTATION -> d
     com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition ENCLOSING_INNER_OR_TYPE_ANNOTATION -> c
     com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition CLASS_SUPER_OR_INTERFACE_ANNOTATION -> b
     1:3:void <clinit>():15:17 -> <clinit>
     1:1:void <init>(java.lang.String,int):14:14 -> <init>
-com.android.tools.r8.naming.signature.GenericSignatureParser -> com.android.tools.r8.internal.Vl:
+com.android.tools.r8.naming.signature.GenericSignatureParser -> com.android.tools.r8.internal.Xl:
     com.android.tools.r8.naming.signature.GenericSignatureAction actions -> a
     char[] buffer -> e
     int pos -> f
@@ -94700,7 +94840,7 @@
     123:123:void parseMethodSignature(java.lang.String):103:103 -> c
     128:138:void scanSymbol():364:374 -> c
     1:17:void updateFormalTypeParameter():175:191 -> d
-com.android.tools.r8.naming.signature.GenericSignatureRewriter -> com.android.tools.r8.internal.Wl:
+com.android.tools.r8.naming.signature.GenericSignatureRewriter -> com.android.tools.r8.internal.Yl:
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.naming.NamingLens namingLens -> b
     com.android.tools.r8.graph.GenericSignatureContextBuilder contextBuilder -> c
@@ -94730,7 +94870,7 @@
     73:76:void lambda$run$4(com.android.tools.r8.graph.GenericSignatureTypeRewriter,com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier,com.android.tools.r8.graph.DexEncodedMethod):99:102 -> a
     77:77:void lambda$run$4(com.android.tools.r8.graph.GenericSignatureTypeRewriter,com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier,com.android.tools.r8.graph.DexEncodedMethod):96:96 -> a
     78:78:void lambda$run$4(com.android.tools.r8.graph.GenericSignatureTypeRewriter,com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier,com.android.tools.r8.graph.DexEncodedMethod):95:95 -> a
-com.android.tools.r8.optimize.ClassAndMemberPublicizer -> com.android.tools.r8.internal.H9:
+com.android.tools.r8.optimize.ClassAndMemberPublicizer -> com.android.tools.r8.internal.I9:
     com.android.tools.r8.graph.DexApplication application -> a
     com.android.tools.r8.ir.optimize.MethodPoolCollection methodPoolCollection -> d
     com.android.tools.r8.graph.AppView appView -> b
@@ -94796,7 +94936,7 @@
     117:117:boolean publicizeMethod(com.android.tools.r8.graph.ProgramMethod):166 -> a
     118:118:void com.android.tools.r8.optimize.ClassAndMemberPublicizer.doPublicize(com.android.tools.r8.graph.ProgramDefinition):94:94 -> a
     118:118:boolean publicizeMethod(com.android.tools.r8.graph.ProgramMethod):166 -> a
-com.android.tools.r8.optimize.FieldRebindingIdentityLens -> com.android.tools.r8.internal.Xj:
+com.android.tools.r8.optimize.FieldRebindingIdentityLens -> com.android.tools.r8.internal.Zj:
     boolean $assertionsDisabled -> g
     java.util.Map nonReboundFieldReferenceToDefinitionMap -> f
     1:1:void <clinit>():23:23 -> <clinit>
@@ -94817,15 +94957,15 @@
     boolean hasCodeRewritings() -> e
     com.android.tools.r8.graph.DexMethod internalGetPreviousMethodSignature(com.android.tools.r8.graph.DexMethod) -> f
     1:1:boolean isContextFreeForMethods():106:106 -> f
-com.android.tools.r8.optimize.FieldRebindingIdentityLens$1 -> com.android.tools.r8.internal.Vj:
-com.android.tools.r8.optimize.FieldRebindingIdentityLens$Builder -> com.android.tools.r8.internal.Wj:
+com.android.tools.r8.optimize.FieldRebindingIdentityLens$1 -> com.android.tools.r8.internal.Xj:
+com.android.tools.r8.optimize.FieldRebindingIdentityLens$Builder -> com.android.tools.r8.internal.Yj:
     java.util.Map nonReboundFieldReferenceToDefinitionMap -> a
     1:1:void <init>(com.android.tools.r8.optimize.FieldRebindingIdentityLens$1):109:109 -> <init>
     2:2:void <init>():114:114 -> <init>
     3:3:void <init>():111:111 -> <init>
     1:1:void recordDefinitionForNonReboundFieldReference(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):118:118 -> a
     2:3:com.android.tools.r8.optimize.FieldRebindingIdentityLens build(com.android.tools.r8.graph.DexItemFactory):125:126 -> a
-com.android.tools.r8.optimize.InvokeSingleTargetExtractor -> com.android.tools.r8.internal.Ku:
+com.android.tools.r8.optimize.InvokeSingleTargetExtractor -> com.android.tools.r8.internal.Mu:
     com.android.tools.r8.optimize.InvokeSingleTargetExtractor$InvokeKind kind -> e
     com.android.tools.r8.graph.DexMethod target -> f
     boolean $assertionsDisabled -> g
@@ -94858,7 +94998,7 @@
     1:1:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):98 -> g
     2:2:com.android.tools.r8.graph.DexMethod getTarget():39:39 -> g
     3:3:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):53:53 -> g
-com.android.tools.r8.optimize.MemberRebindingAnalysis -> com.android.tools.r8.internal.WD:
+com.android.tools.r8.optimize.MemberRebindingAnalysis -> com.android.tools.r8.internal.bE:
     com.android.tools.r8.optimize.MemberRebindingLens$Builder lensBuilder -> d
     com.android.tools.r8.graph.AppView appView -> b
     com.android.tools.r8.utils.InternalOptions options -> c
@@ -94870,132 +95010,132 @@
     1:1:com.android.tools.r8.graph.DexField validMemberRebindingTargetFor(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.graph.DexField):152 -> a
     2:8:com.android.tools.r8.graph.DexField validMemberRebindingTargetFor(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.graph.DexField):153:159 -> a
     9:11:com.android.tools.r8.graph.DexField validMemberRebindingTargetFor(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.graph.DexField):158:160 -> a
-    12:16:com.android.tools.r8.graph.DexType com.android.tools.r8.optimize.MemberRebindingAnalysis.firstLibraryClass(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexType):200:204 -> a
-    12:16:com.android.tools.r8.graph.DexField validMemberRebindingTargetFor(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.graph.DexField):160 -> a
-    17:17:com.android.tools.r8.graph.DexField validMemberRebindingTargetFor(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.graph.DexField):162:162 -> a
-    18:18:com.android.tools.r8.graph.AppView access$000(com.android.tools.r8.optimize.MemberRebindingAnalysis):48:48 -> a
-    19:19:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):70:70 -> a
-    20:20:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
-    20:20:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):70 -> a
-    21:23:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):70:72 -> a
-    24:24:boolean com.android.tools.r8.ir.code.Invoke$Type.isDirect():181:181 -> a
-    24:24:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):72 -> a
-    25:29:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):79:83 -> a
-    30:30:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):82:82 -> a
-    31:31:boolean com.android.tools.r8.graph.Definition.isLibraryMethod():0:0 -> a
-    31:31:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.canRebindDirectlyToLibraryMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type):127 -> a
-    31:31:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):80 -> a
-    32:32:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.canRebindDirectlyToLibraryMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type):128:128 -> a
+    12:17:com.android.tools.r8.graph.DexType com.android.tools.r8.optimize.MemberRebindingAnalysis.firstLibraryClass(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexType):200:205 -> a
+    12:17:com.android.tools.r8.graph.DexField validMemberRebindingTargetFor(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.graph.DexField):160 -> a
+    18:18:com.android.tools.r8.graph.DexField validMemberRebindingTargetFor(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.graph.DexField):162:162 -> a
+    19:19:com.android.tools.r8.graph.AppView access$000(com.android.tools.r8.optimize.MemberRebindingAnalysis):48:48 -> a
+    20:20:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):70:70 -> a
+    21:21:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
+    21:21:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):70 -> a
+    22:24:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):70:72 -> a
+    25:25:boolean com.android.tools.r8.ir.code.Invoke$Type.isDirect():181:181 -> a
+    25:25:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):72 -> a
+    26:30:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):79:83 -> a
+    31:31:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):82:82 -> a
+    32:32:boolean com.android.tools.r8.graph.Definition.isLibraryMethod():0:0 -> a
+    32:32:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.canRebindDirectlyToLibraryMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type):127 -> a
     32:32:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):80 -> a
-    33:33:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.isInvokeSuperToInterfaceMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.code.Invoke$Type):147:147 -> a
-    33:33:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.canRebindDirectlyToLibraryMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type):129 -> a
+    33:33:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.canRebindDirectlyToLibraryMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type):128:128 -> a
     33:33:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):80 -> a
-    34:34:boolean com.android.tools.r8.ir.code.Invoke$Type.isSuper():193:193 -> a
-    34:34:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.isInvokeSuperToInterfaceMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.code.Invoke$Type):147 -> a
+    34:34:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.isInvokeSuperToInterfaceMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.code.Invoke$Type):147:147 -> a
     34:34:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.canRebindDirectlyToLibraryMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type):129 -> a
     34:34:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):80 -> a
-    35:35:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.canRebindDirectlyToLibraryMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type):131:131 -> a
+    35:35:boolean com.android.tools.r8.ir.code.Invoke$Type.isSuper():193:193 -> a
+    35:35:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.isInvokeSuperToInterfaceMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.code.Invoke$Type):147 -> a
+    35:35:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.canRebindDirectlyToLibraryMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type):129 -> a
     35:35:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):80 -> a
-    36:36:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.canRebindDirectlyToLibraryMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type):130:130 -> a
+    36:36:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.canRebindDirectlyToLibraryMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type):131:131 -> a
     36:36:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):80 -> a
-    37:39:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):86:88 -> a
-    40:40:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeNoSideEffectsMethod(com.android.tools.r8.graph.DexClassAndMethod):810:810 -> a
-    40:40:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeMethod(com.android.tools.r8.graph.DexClassAndMethod):802 -> a
-    40:40:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):88 -> a
-    41:41:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeNoSideEffectsMethod(com.android.tools.r8.graph.DexMethod):806:806 -> a
-    41:41:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeNoSideEffectsMethod(com.android.tools.r8.graph.DexClassAndMethod):810 -> a
+    37:37:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.canRebindDirectlyToLibraryMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type):130:130 -> a
+    37:37:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):80 -> a
+    38:40:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):86:88 -> a
+    41:41:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeNoSideEffectsMethod(com.android.tools.r8.graph.DexClassAndMethod):810:810 -> a
     41:41:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeMethod(com.android.tools.r8.graph.DexClassAndMethod):802 -> a
     41:41:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):88 -> a
-    42:42:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeValuesMethod(com.android.tools.r8.graph.DexClassAndMethod):818:818 -> a
+    42:42:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeNoSideEffectsMethod(com.android.tools.r8.graph.DexMethod):806:806 -> a
+    42:42:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeNoSideEffectsMethod(com.android.tools.r8.graph.DexClassAndMethod):810 -> a
     42:42:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeMethod(com.android.tools.r8.graph.DexClassAndMethod):802 -> a
     42:42:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):88 -> a
-    43:43:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeValuesMethod(com.android.tools.r8.graph.DexMethod):814:814 -> a
-    43:43:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeValuesMethod(com.android.tools.r8.graph.DexClassAndMethod):818 -> a
+    43:43:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeValuesMethod(com.android.tools.r8.graph.DexClassAndMethod):818:818 -> a
     43:43:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeMethod(com.android.tools.r8.graph.DexClassAndMethod):802 -> a
     43:43:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):88 -> a
-    44:66:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):91:113 -> a
-    67:72:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):110:115 -> a
-    73:77:com.android.tools.r8.graph.DexType com.android.tools.r8.optimize.MemberRebindingAnalysis.firstLibraryClass(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexType):200:204 -> a
-    73:77:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):115 -> a
-    78:78:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):116:116 -> a
-    79:79:boolean isAccessibleInAllContexts(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet):138:138 -> a
-    80:80:boolean com.android.tools.r8.graph.DexClass.isPublic():725:725 -> a
-    80:80:boolean isAccessibleInAllContexts(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet):138 -> a
-      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
+    44:44:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeValuesMethod(com.android.tools.r8.graph.DexMethod):814:814 -> a
+    44:44:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeValuesMethod(com.android.tools.r8.graph.DexClassAndMethod):818 -> a
+    44:44:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeMethod(com.android.tools.r8.graph.DexClassAndMethod):802 -> a
+    44:44:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):88 -> a
+    45:67:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):91:113 -> a
+    68:73:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):110:115 -> a
+    74:79:com.android.tools.r8.graph.DexType com.android.tools.r8.optimize.MemberRebindingAnalysis.firstLibraryClass(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexType):200:205 -> a
+    74:79:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):115 -> a
+    80:80:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):116:116 -> a
     81:81:boolean isAccessibleInAllContexts(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet):138:138 -> a
-    82:82:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():440:440 -> a
+    82:82:boolean com.android.tools.r8.graph.DexClass.isPublic():725:725 -> a
     82:82:boolean isAccessibleInAllContexts(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet):138 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    83:83:boolean isAccessibleInAllContexts(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet):141:141 -> a
-    84:84:boolean lambda$isAccessibleInAllContexts$0(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod):143:143 -> a
-    85:107:com.android.tools.r8.graph.DexType firstLibraryClassForInterfaceTarget(com.android.tools.r8.graph.DexDefinitionSupplier,java.lang.Object,com.android.tools.r8.graph.DexType,java.util.function.BiFunction):171:193 -> a
-    108:108:com.android.tools.r8.graph.MethodResolutionResult resolveMethod(com.android.tools.r8.graph.DexMethod):216:216 -> a
-    109:120:void computeMethodRebinding(com.android.tools.r8.graph.MethodAccessInfoCollection):221:232 -> a
-    121:185:void computeMethodRebinding(com.android.tools.r8.utils.BiForEachable,java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type):240:304 -> a
-    186:186:java.util.List lambda$computeMethodRebinding$1(com.android.tools.r8.graph.DexProgramClass):245:245 -> a
-    187:188:void lambda$computeMethodRebinding$2(java.util.Map,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod):245:246 -> a
-    189:203:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):250:264 -> a
-    204:204:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.needsBridgeForInterfaceMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.code.Invoke$Type):326:326 -> a
-    204:204:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):271 -> a
-    205:205:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():476:476 -> a
-    205:205:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.needsBridgeForInterfaceMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.code.Invoke$Type):326 -> a
-    205:205:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):271 -> a
-    206:209:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.needsBridgeForInterfaceMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.code.Invoke$Type):326:329 -> a
-    206:209:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):271 -> a
-    210:210:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):275:275 -> a
-    211:215:com.android.tools.r8.graph.DexMethod com.android.tools.r8.optimize.MemberRebindingAnalysis.insertBridgeForInterfaceMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.TriConsumer):346:350 -> a
-    211:215:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):274 -> a
-    216:217:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):279:280 -> a
-    218:227:com.android.tools.r8.graph.DexMethod com.android.tools.r8.optimize.MemberRebindingAnalysis.insertBridgeForVisibilityIfNeeded(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.TriConsumer):393:402 -> a
-    218:227:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):282 -> a
-    228:231:com.android.tools.r8.graph.DexMethod com.android.tools.r8.optimize.MemberRebindingAnalysis.insertBridgeForVisibilityIfNeeded(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.TriConsumer):397:400 -> a
-    228:231:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):282 -> a
-    232:232:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):288:288 -> a
-    233:233:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
-    233:233:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):289 -> a
-    234:240:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):290:296 -> a
-    241:241:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):294:294 -> a
-    242:242:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):292:292 -> a
-    243:243:int lambda$computeMethodRebinding$5(com.android.tools.r8.utils.Pair,com.android.tools.r8.utils.Pair):308:308 -> a
-    244:255:void lambda$computeMethodRebinding$6(java.util.function.Function,com.android.tools.r8.graph.DexProgramClass,java.util.List):308:319 -> a
-    256:265:com.android.tools.r8.graph.DexProgramClass findHolderForInterfaceMethodBridge(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):354:363 -> a
-    266:273:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.mayNeedBridgeForVisibility(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexClassAndMethod):367:374 -> a
-    266:273:boolean lambda$computeMethodRebinding$3(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.ProgramMethod):280 -> a
-    274:278:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.mayNeedBridgeForVisibility(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexClassAndMethod):373:377 -> a
-    274:278:boolean lambda$computeMethodRebinding$3(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.ProgramMethod):280 -> a
-    279:283:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.mayNeedBridgeForVisibility(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexClassAndMethod):376:380 -> a
-    279:283:boolean lambda$computeMethodRebinding$3(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.ProgramMethod):280 -> a
-    284:306:com.android.tools.r8.graph.DexProgramClass findHolderForVisibilityBridge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,java.lang.String):407:429 -> a
-    307:308:void lambda$verifyFieldAccessCollectionContainsAllNonReboundFieldReferences$8(java.util.Set,com.android.tools.r8.graph.FieldAccessInfo):457:458 -> a
-    309:314:void lambda$verifyFieldAccessCollectionContainsAllNonReboundFieldReferences$7(com.android.tools.r8.graph.DexField,java.util.Set,com.android.tools.r8.graph.DexField):460:465 -> a
-    315:320:void lambda$verifyFieldAccessCollectionContainsAllNonReboundFieldReferences$7(com.android.tools.r8.graph.DexField,java.util.Set,com.android.tools.r8.graph.DexField):461:466 -> a
-    321:323:java.util.Set computeNonReboundFieldReferences(java.util.concurrent.ExecutorService):475:477 -> a
-    324:324:java.util.Set computeNonReboundFieldReferences(java.util.concurrent.ExecutorService):476:476 -> a
-    325:326:void lambda$computeNonReboundFieldReferences$9(java.util.Set,com.android.tools.r8.graph.ProgramMethod):479:480 -> a
-    1:1:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClass(com.android.tools.r8.graph.DexMethod):208:208 -> b
-    2:5:void recordNonReboundFieldAccesses(java.util.concurrent.ExecutorService):436:439 -> b
-    1:1:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnInterface(com.android.tools.r8.graph.DexMethod):212:212 -> c
-    2:6:com.android.tools.r8.optimize.MemberRebindingLens run(java.util.concurrent.ExecutorService):443:447 -> c
-    1:18:boolean verifyFieldAccessCollectionContainsAllNonReboundFieldReferences(java.util.concurrent.ExecutorService):452:469 -> d
-com.android.tools.r8.optimize.MemberRebindingAnalysis$1 -> com.android.tools.r8.internal.VD:
+    83:83:boolean isAccessibleInAllContexts(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet):138:138 -> a
+    84:84:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():440:440 -> a
+    84:84:boolean isAccessibleInAllContexts(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet):138 -> a
+      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
+    85:85:boolean isAccessibleInAllContexts(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet):141:141 -> a
+    86:86:boolean lambda$isAccessibleInAllContexts$0(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod):143:143 -> a
+    87:109:com.android.tools.r8.graph.DexType firstLibraryClassForInterfaceTarget(com.android.tools.r8.graph.DexDefinitionSupplier,java.lang.Object,com.android.tools.r8.graph.DexType,java.util.function.BiFunction):171:193 -> a
+    110:110:com.android.tools.r8.graph.MethodResolutionResult resolveMethod(com.android.tools.r8.graph.DexMethod):217:217 -> a
+    111:122:void computeMethodRebinding(com.android.tools.r8.graph.MethodAccessInfoCollection):222:233 -> a
+    123:187:void computeMethodRebinding(com.android.tools.r8.utils.BiForEachable,java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type):241:305 -> a
+    188:188:java.util.List lambda$computeMethodRebinding$1(com.android.tools.r8.graph.DexProgramClass):246:246 -> a
+    189:190:void lambda$computeMethodRebinding$2(java.util.Map,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod):246:247 -> a
+    191:205:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):251:265 -> a
+    206:206:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.needsBridgeForInterfaceMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.code.Invoke$Type):327:327 -> a
+    206:206:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):272 -> a
+    207:207:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():476:476 -> a
+    207:207:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.needsBridgeForInterfaceMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.code.Invoke$Type):327 -> a
+    207:207:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):272 -> a
+    208:211:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.needsBridgeForInterfaceMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.code.Invoke$Type):327:330 -> a
+    208:211:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):272 -> a
+    212:212:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):276:276 -> a
+    213:217:com.android.tools.r8.graph.DexMethod com.android.tools.r8.optimize.MemberRebindingAnalysis.insertBridgeForInterfaceMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.TriConsumer):347:351 -> a
+    213:217:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):275 -> a
+    218:219:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):280:281 -> a
+    220:229:com.android.tools.r8.graph.DexMethod com.android.tools.r8.optimize.MemberRebindingAnalysis.insertBridgeForVisibilityIfNeeded(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.TriConsumer):394:403 -> a
+    220:229:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):283 -> a
+    230:233:com.android.tools.r8.graph.DexMethod com.android.tools.r8.optimize.MemberRebindingAnalysis.insertBridgeForVisibilityIfNeeded(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.TriConsumer):398:401 -> a
+    230:233:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):283 -> a
+    234:234:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):289:289 -> a
+    235:235:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
+    235:235:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):290 -> a
+    236:242:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):291:297 -> a
+    243:243:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):295:295 -> a
+    244:244:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):293:293 -> a
+    245:245:int lambda$computeMethodRebinding$5(com.android.tools.r8.utils.Pair,com.android.tools.r8.utils.Pair):309:309 -> a
+    246:257:void lambda$computeMethodRebinding$6(java.util.function.Function,com.android.tools.r8.graph.DexProgramClass,java.util.List):309:320 -> a
+    258:267:com.android.tools.r8.graph.DexProgramClass findHolderForInterfaceMethodBridge(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):355:364 -> a
+    268:275:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.mayNeedBridgeForVisibility(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexClassAndMethod):368:375 -> a
+    268:275:boolean lambda$computeMethodRebinding$3(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.ProgramMethod):281 -> a
+    276:280:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.mayNeedBridgeForVisibility(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexClassAndMethod):374:378 -> a
+    276:280:boolean lambda$computeMethodRebinding$3(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.ProgramMethod):281 -> a
+    281:285:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.mayNeedBridgeForVisibility(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexClassAndMethod):377:381 -> a
+    281:285:boolean lambda$computeMethodRebinding$3(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.ProgramMethod):281 -> a
+    286:308:com.android.tools.r8.graph.DexProgramClass findHolderForVisibilityBridge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,java.lang.String):408:430 -> a
+    309:310:void lambda$verifyFieldAccessCollectionContainsAllNonReboundFieldReferences$8(java.util.Set,com.android.tools.r8.graph.FieldAccessInfo):458:459 -> a
+    311:316:void lambda$verifyFieldAccessCollectionContainsAllNonReboundFieldReferences$7(com.android.tools.r8.graph.DexField,java.util.Set,com.android.tools.r8.graph.DexField):461:466 -> a
+    317:322:void lambda$verifyFieldAccessCollectionContainsAllNonReboundFieldReferences$7(com.android.tools.r8.graph.DexField,java.util.Set,com.android.tools.r8.graph.DexField):462:467 -> a
+    323:325:java.util.Set computeNonReboundFieldReferences(java.util.concurrent.ExecutorService):476:478 -> a
+    326:326:java.util.Set computeNonReboundFieldReferences(java.util.concurrent.ExecutorService):477:477 -> a
+    327:328:void lambda$computeNonReboundFieldReferences$9(java.util.Set,com.android.tools.r8.graph.ProgramMethod):480:481 -> a
+    1:1:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClass(com.android.tools.r8.graph.DexMethod):209:209 -> b
+    2:5:void recordNonReboundFieldAccesses(java.util.concurrent.ExecutorService):437:440 -> b
+    1:1:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnInterface(com.android.tools.r8.graph.DexMethod):213:213 -> c
+    2:6:com.android.tools.r8.optimize.MemberRebindingLens run(java.util.concurrent.ExecutorService):444:448 -> c
+    1:18:boolean verifyFieldAccessCollectionContainsAllNonReboundFieldReferences(java.util.concurrent.ExecutorService):453:470 -> d
+com.android.tools.r8.optimize.MemberRebindingAnalysis$1 -> com.android.tools.r8.internal.aE:
     com.android.tools.r8.optimize.MemberRebindingAnalysis this$0 -> f
     java.util.Set val$nonReboundFieldReferences -> e
-    1:1:void <init>(com.android.tools.r8.optimize.MemberRebindingAnalysis,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,java.util.Set):481:481 -> <init>
+    1:1:void <init>(com.android.tools.r8.optimize.MemberRebindingAnalysis,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,java.util.Set):482:482 -> <init>
     void registerInvokeDirect(com.android.tools.r8.graph.DexMethod) -> a
-    1:1:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):485:485 -> a
+    1:1:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):486:486 -> a
     void registerInitClass(com.android.tools.r8.graph.DexType) -> b
     void registerInvokeInterface(com.android.tools.r8.graph.DexMethod) -> b
     void registerInstanceOf(com.android.tools.r8.graph.DexType) -> c
-    1:1:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):490:490 -> c
+    1:1:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):491:491 -> c
     void registerInvokeStatic(com.android.tools.r8.graph.DexMethod) -> d
     void registerNewInstance(com.android.tools.r8.graph.DexType) -> d
-    1:1:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):495:495 -> e
+    1:1:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):496:496 -> e
     void registerInvokeSuper(com.android.tools.r8.graph.DexMethod) -> f
     void registerTypeReference(com.android.tools.r8.graph.DexType) -> f
     void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod) -> g
-    1:1:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):500:500 -> g
-    1:5:void registerFieldReference(com.android.tools.r8.graph.DexField):504:508 -> i
-com.android.tools.r8.optimize.MemberRebindingIdentityLens -> com.android.tools.r8.internal.ZD:
+    1:1:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):501:501 -> g
+    1:5:void registerFieldReference(com.android.tools.r8.graph.DexField):505:509 -> i
+com.android.tools.r8.optimize.MemberRebindingIdentityLens -> com.android.tools.r8.internal.eE:
     boolean $assertionsDisabled -> h
     java.util.Map nonReboundFieldReferenceToDefinitionMap -> f
     java.util.Map nonReboundMethodReferenceToDefinitionMap -> g
@@ -95039,8 +95179,8 @@
     boolean hasCodeRewritings() -> e
     com.android.tools.r8.graph.DexMethod internalGetPreviousMethodSignature(com.android.tools.r8.graph.DexMethod) -> f
     1:1:boolean isContextFreeForMethods():129:129 -> f
-com.android.tools.r8.optimize.MemberRebindingIdentityLens$1 -> com.android.tools.r8.internal.XD:
-com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder -> com.android.tools.r8.internal.YD:
+com.android.tools.r8.optimize.MemberRebindingIdentityLens$1 -> com.android.tools.r8.internal.cE:
+com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder -> com.android.tools.r8.internal.dE:
     java.util.Map nonReboundFieldReferenceToDefinitionMap -> c
     com.android.tools.r8.graph.AppView appView -> a
     java.util.Map nonReboundMethodReferenceToDefinitionMap -> d
@@ -95062,7 +95202,7 @@
     16:16:void com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder.recordNonReboundMethodAccess(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):196:196 -> a
     16:16:void recordMethodAccess(com.android.tools.r8.graph.DexMethod):209 -> a
     17:20:com.android.tools.r8.optimize.MemberRebindingIdentityLens build():219:222 -> a
-com.android.tools.r8.optimize.MemberRebindingIdentityLensFactory -> com.android.tools.r8.internal.bE:
+com.android.tools.r8.optimize.MemberRebindingIdentityLensFactory -> com.android.tools.r8.internal.gE:
     1:19:com.android.tools.r8.optimize.MemberRebindingIdentityLens create(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):47:65 -> a
     20:20:com.android.tools.r8.optimize.MemberRebindingIdentityLens create(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.graph.MethodAccessInfoCollection):72:72 -> a
     21:21:com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder com.android.tools.r8.optimize.MemberRebindingIdentityLens.builder(com.android.tools.r8.graph.AppView):44:44 -> a
@@ -95076,7 +95216,7 @@
     31:31:void lambda$initializeMemberAccessInfoCollectionsForMemberRebinding$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.FieldAccessInfoCollectionImpl,com.android.tools.r8.graph.MethodAccessInfoCollection$ConcurrentBuilder,java.util.Set,java.util.Set,com.android.tools.r8.graph.ProgramMethod):93:93 -> a
     32:32:void com.android.tools.r8.graph.UseRegistry.accept(com.android.tools.r8.graph.ProgramMethod):31:31 -> a
     32:32:void lambda$initializeMemberAccessInfoCollectionsForMemberRebinding$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.FieldAccessInfoCollectionImpl,com.android.tools.r8.graph.MethodAccessInfoCollection$ConcurrentBuilder,java.util.Set,java.util.Set,com.android.tools.r8.graph.ProgramMethod):100 -> a
-com.android.tools.r8.optimize.MemberRebindingIdentityLensFactory$NonReboundMemberReferencesRegistry -> com.android.tools.r8.internal.aE:
+com.android.tools.r8.optimize.MemberRebindingIdentityLensFactory$NonReboundMemberReferencesRegistry -> com.android.tools.r8.internal.fE:
     java.util.Set seenFieldReferences -> h
     java.util.Set seenMethodReferences -> i
     com.android.tools.r8.graph.MethodAccessInfoCollection$ConcurrentBuilder methodAccessInfoCollectionBuilder -> g
@@ -95109,7 +95249,7 @@
     24:24:boolean com.android.tools.r8.graph.AbstractAccessContexts.isConcrete():0:0 -> i
     24:24:void registerFieldAccess(com.android.tools.r8.graph.DexField):169 -> i
     25:31:void registerFieldAccess(com.android.tools.r8.graph.DexField):169:175 -> i
-com.android.tools.r8.optimize.MemberRebindingLens -> com.android.tools.r8.internal.eE:
+com.android.tools.r8.optimize.MemberRebindingLens -> com.android.tools.r8.internal.jE:
     boolean $assertionsDisabled -> i
     com.android.tools.r8.graph.AppView appView -> f
     java.util.Map methodMaps -> g
@@ -95142,8 +95282,8 @@
     1:1:com.android.tools.r8.graph.RewrittenPrototypeDescription lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod):84:84 -> d
     com.android.tools.r8.graph.DexMethod internalGetPreviousMethodSignature(com.android.tools.r8.graph.DexMethod) -> f
     1:1:boolean isContextFreeForMethods():89:89 -> f
-com.android.tools.r8.optimize.MemberRebindingLens$1 -> com.android.tools.r8.internal.cE:
-com.android.tools.r8.optimize.MemberRebindingLens$Builder -> com.android.tools.r8.internal.dE:
+com.android.tools.r8.optimize.MemberRebindingLens$1 -> com.android.tools.r8.internal.hE:
+com.android.tools.r8.optimize.MemberRebindingLens$Builder -> com.android.tools.r8.internal.iE:
     java.util.Map methodMaps -> b
     java.util.Map nonReboundFieldReferenceToDefinitionMap -> c
     com.android.tools.r8.graph.AppView appView -> a
@@ -95158,7 +95298,7 @@
     11:11:void com.android.tools.r8.optimize.MemberRebindingLens$Builder.recordNonReboundFieldAccess(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):182:182 -> a
     11:11:void lambda$recordNonReboundFieldAccesses$1(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):177 -> a
     12:12:com.android.tools.r8.optimize.MemberRebindingLens build():186:186 -> a
-com.android.tools.r8.optimize.PublicizerLens -> com.android.tools.r8.internal.eQ:
+com.android.tools.r8.optimize.PublicizerLens -> com.android.tools.r8.internal.jQ:
     com.android.tools.r8.graph.AppView appView -> n
     boolean $assertionsDisabled -> p
     java.util.Set publicizedMethods -> o
@@ -95177,15 +95317,15 @@
     com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult) -> b
     boolean isLegitimateToHaveEmptyMappings() -> k
     1:1:com.android.tools.r8.optimize.PublicizerLens$PublicizedLensBuilder createBuilder():65:65 -> l
-com.android.tools.r8.optimize.PublicizerLens$1 -> com.android.tools.r8.internal.cQ:
-com.android.tools.r8.optimize.PublicizerLens$PublicizedLensBuilder -> com.android.tools.r8.internal.dQ:
+com.android.tools.r8.optimize.PublicizerLens$1 -> com.android.tools.r8.internal.hQ:
+com.android.tools.r8.optimize.PublicizerLens$PublicizedLensBuilder -> com.android.tools.r8.internal.iQ:
     java.util.Set publicizedMethods -> a
     1:1:void <init>(com.android.tools.r8.optimize.PublicizerLens$1):68:68 -> <init>
     2:2:void <init>():71:71 -> <init>
     3:3:void <init>():69:69 -> <init>
     1:4:com.android.tools.r8.graph.GraphLens build(com.android.tools.r8.graph.AppView):74:77 -> a
     5:5:void add(com.android.tools.r8.graph.DexMethod):81:81 -> a
-com.android.tools.r8.optimize.VisibilityBridgeRemover -> com.android.tools.r8.internal.g30:
+com.android.tools.r8.optimize.VisibilityBridgeRemover -> com.android.tools.r8.internal.m30:
     com.android.tools.r8.graph.AppView appView -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():23:23 -> <clinit>
@@ -95255,10 +95395,10 @@
     void recordMethodChange(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod) -> a
     1:1:com.android.tools.r8.graph.AppView access$000(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorApplicationFixer):36:36 -> a
     2:14:void fixupApplication(java.util.Set,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):53:65 -> a
-    15:19:void com.android.tools.r8.utils.Timing.time(java.lang.String,com.android.tools.r8.utils.ThrowingAction):374:378 -> a
+    15:19:void com.android.tools.r8.utils.Timing.time(java.lang.String,com.android.tools.r8.utils.ThrowingAction):379:383 -> a
     15:19:void fixupApplication(java.util.Set,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):65 -> a
     20:22:void fixupApplication(java.util.Set,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):67:69 -> a
-    23:23:void com.android.tools.r8.utils.Timing.time(java.lang.String,com.android.tools.r8.utils.ThrowingAction):378:378 -> a
+    23:23:void com.android.tools.r8.utils.Timing.time(java.lang.String,com.android.tools.r8.utils.ThrowingAction):383:383 -> a
     23:23:void fixupApplication(java.util.Set,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):65 -> a
     24:25:void com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorApplicationFixer.fixupFields(com.android.tools.r8.graph.DexProgramClass):78:79 -> a
     24:25:void fixupClass(com.android.tools.r8.graph.DexProgramClass):73 -> a
@@ -96047,7 +96187,7 @@
     15:15:boolean lambda$disableArgumentPropagationForUnoptimizableMethods$0(com.android.tools.r8.graph.ProgramMethod):49 -> b
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     16:19:boolean lambda$disableArgumentPropagationForUnoptimizableMethods$0(com.android.tools.r8.graph.ProgramMethod):50:53 -> b
-com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomArrayTypeParameterState -> com.android.tools.r8.internal.C5:
+com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomArrayTypeParameterState -> com.android.tools.r8.internal.D5:
     com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomArrayTypeParameterState INSTANCE -> a
     boolean $assertionsDisabled -> b
     1:3:void <clinit>():13:15 -> <clinit>
@@ -96063,7 +96203,7 @@
     13:13:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):45 -> a
     14:15:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):47:48 -> a
     1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomArrayTypeParameterState get():20:20 -> g
-com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomClassTypeParameterState -> com.android.tools.r8.internal.D5:
+com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomClassTypeParameterState -> com.android.tools.r8.internal.E5:
     boolean $assertionsDisabled -> b
     com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomClassTypeParameterState INSTANCE -> a
     1:3:void <clinit>():15:17 -> <clinit>
@@ -96079,7 +96219,7 @@
     16:16:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):50 -> a
     17:18:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):51:52 -> a
     1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomClassTypeParameterState get():22:22 -> g
-com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomMethodState -> com.android.tools.r8.internal.F5:
+com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomMethodState -> com.android.tools.r8.internal.G5:
     com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomMethodState INSTANCE -> a
     1:1:void <clinit>():15:15 -> <clinit>
     1:1:void <init>():17:17 -> <init>
@@ -96091,14 +96231,14 @@
     com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom asMonomorphicOrBottom() -> g
     com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom asPolymorphicOrBottom() -> i
     1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomMethodState get():20:20 -> k
-com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomParameterState -> com.android.tools.r8.internal.G5:
+com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomParameterState -> com.android.tools.r8.internal.H5:
     1:1:void <init>():13:13 -> <init>
     1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView):17:17 -> a
     2:2:com.android.tools.r8.ir.analysis.value.BottomValue com.android.tools.r8.ir.analysis.value.AbstractValue.bottom():16:16 -> a
     2:2:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView):17 -> a
     boolean isBottom() -> c
     com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableCopy() -> f
-com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomPrimitiveTypeParameterState -> com.android.tools.r8.internal.K5:
+com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomPrimitiveTypeParameterState -> com.android.tools.r8.internal.L5:
     com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomPrimitiveTypeParameterState INSTANCE -> a
     boolean $assertionsDisabled -> b
     1:3:void <clinit>():12:14 -> <clinit>
@@ -96111,7 +96251,7 @@
     6:6:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):38 -> a
     7:8:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):38:39 -> a
     1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomPrimitiveTypeParameterState get():20:20 -> g
-com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomReceiverParameterState -> com.android.tools.r8.internal.L5:
+com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomReceiverParameterState -> com.android.tools.r8.internal.M5:
     com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomReceiverParameterState INSTANCE -> a
     boolean $assertionsDisabled -> b
     1:3:void <clinit>():13:15 -> <clinit>
@@ -96127,7 +96267,7 @@
     13:13:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):45 -> a
     14:15:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):47:48 -> a
     1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomReceiverParameterState get():20:20 -> g
-com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteArrayTypeParameterState -> com.android.tools.r8.internal.Uc:
+com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteArrayTypeParameterState -> com.android.tools.r8.internal.Vc:
     com.android.tools.r8.ir.analysis.type.Nullability nullability -> c
     boolean $assertionsDisabled -> d
     1:1:void <clinit>():18:18 -> <clinit>
@@ -96161,7 +96301,7 @@
     1:1:com.android.tools.r8.ir.analysis.type.Nullability getNullability():70:70 -> r
     1:1:boolean isEffectivelyBottom():84:84 -> s
     1:1:boolean isEffectivelyUnknown():88:88 -> t
-com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteClassTypeParameterState -> com.android.tools.r8.internal.Xc:
+com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteClassTypeParameterState -> com.android.tools.r8.internal.Yc:
     boolean $assertionsDisabled -> e
     com.android.tools.r8.ir.analysis.type.DynamicType dynamicType -> d
     com.android.tools.r8.ir.analysis.value.AbstractValue abstractValue -> c
@@ -96200,7 +96340,7 @@
     2:2:boolean isEffectivelyBottom():89 -> s
     3:3:boolean isEffectivelyBottom():89:89 -> s
     1:1:boolean isEffectivelyUnknown():93:93 -> t
-com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState -> com.android.tools.r8.internal.Zc:
+com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState -> com.android.tools.r8.internal.ad:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():12:12 -> <clinit>
     1:1:void <init>():12:12 -> <init>
@@ -96233,7 +96373,7 @@
     22:22:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,java.util.function.Function,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):45:45 -> a
     com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState asConcrete() -> e
     boolean isConcrete() -> f
-com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState -> com.android.tools.r8.internal.ad:
+com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState -> com.android.tools.r8.internal.bd:
     java.util.List parameterStates -> b
     boolean $assertionsDisabled -> c
     1:1:void <clinit>():16:16 -> <clinit>
@@ -96328,10 +96468,10 @@
     com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom asMonomorphicOrBottom() -> g
     1:1:java.util.List getParameterStates():34:34 -> k
     1:1:int size():107:107 -> l
-com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom -> com.android.tools.r8.internal.bd:
-com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown -> com.android.tools.r8.internal.cd:
+com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom -> com.android.tools.r8.internal.cd:
+com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown -> com.android.tools.r8.internal.dd:
     com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableCopy() -> a
-com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteParameterState -> com.android.tools.r8.internal.ed:
+com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteParameterState -> com.android.tools.r8.internal.fd:
     java.util.Set inParameters -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():15:15 -> <clinit>
@@ -96356,7 +96496,7 @@
     1:1:boolean hasInParameters():45:45 -> n
     1:1:void internalClearInParameters():33:33 -> o
     boolean isReferenceParameter() -> p
-com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState -> com.android.tools.r8.internal.fd:
+com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState -> com.android.tools.r8.internal.gd:
     java.util.Map receiverBoundsToState -> b
     boolean $assertionsDisabled -> c
     1:1:void <clinit>():19:19 -> <clinit>
@@ -96486,9 +96626,9 @@
     1:1:boolean isEffectivelyBottom():113:113 -> k
     1:1:boolean isEffectivelyUnknown():117:117 -> l
     1:1:java.util.Collection values():183:183 -> m
-com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom -> com.android.tools.r8.internal.gd:
-com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown -> com.android.tools.r8.internal.hd:
-com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePrimitiveTypeParameterState -> com.android.tools.r8.internal.jd:
+com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom -> com.android.tools.r8.internal.hd:
+com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown -> com.android.tools.r8.internal.id:
+com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePrimitiveTypeParameterState -> com.android.tools.r8.internal.kd:
     com.android.tools.r8.ir.analysis.value.AbstractValue abstractValue -> c
     boolean $assertionsDisabled -> d
     1:1:void <clinit>():16:16 -> <clinit>
@@ -96515,7 +96655,7 @@
     2:2:boolean isEffectivelyBottom():92 -> q
     3:3:boolean isEffectivelyBottom():92:92 -> q
     1:1:boolean isEffectivelyUnknown():96:96 -> r
-com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReceiverParameterState -> com.android.tools.r8.internal.kd:
+com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReceiverParameterState -> com.android.tools.r8.internal.ld:
     com.android.tools.r8.ir.analysis.type.DynamicType dynamicType -> c
     boolean $assertionsDisabled -> d
     1:1:void <clinit>():17:17 -> <clinit>
@@ -96541,14 +96681,14 @@
     2:2:com.android.tools.r8.ir.analysis.type.Nullability getNullability():57:57 -> r
     1:1:boolean isEffectivelyBottom():66:66 -> s
     1:1:boolean isEffectivelyUnknown():70:70 -> t
-com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState -> com.android.tools.r8.internal.md:
+com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState -> com.android.tools.r8.internal.nd:
     1:1:void <init>(java.util.Set):18:18 -> <init>
     com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action) -> a
     com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState asReferenceParameter() -> j
     boolean isReferenceParameter() -> p
     com.android.tools.r8.ir.analysis.type.DynamicType getDynamicType() -> q
     com.android.tools.r8.ir.analysis.type.Nullability getNullability() -> r
-com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter -> com.android.tools.r8.internal.UE:
+com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter -> com.android.tools.r8.internal.ZE:
     int index -> b
     com.android.tools.r8.graph.DexMethod method -> a
     1:3:void <init>(com.android.tools.r8.graph.DexMethod,int):15:17 -> <init>
@@ -96556,11 +96696,11 @@
     1:1:com.android.tools.r8.graph.DexMethod getMethod():21:21 -> b
     1:5:boolean equals(java.lang.Object):30:34 -> equals
     1:1:int hashCode():39:39 -> hashCode
-com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameterFactory -> com.android.tools.r8.internal.VE:
+com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameterFactory -> com.android.tools.r8.internal.aF:
     java.util.Map methodParameters -> a
     1:3:void <init>():12:14 -> <init>
     1:3:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter create(com.android.tools.r8.graph.ProgramMethod,int):17:17 -> a
-com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState -> com.android.tools.r8.internal.cF:
+com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState -> com.android.tools.r8.internal.hF:
     com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopy() -> a
     com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner) -> a
     com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,java.util.function.Function,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner) -> a
@@ -96573,7 +96713,7 @@
     boolean isMonomorphic() -> h
     com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom asPolymorphicOrBottom() -> i
     com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState asPolymorphic() -> j
-com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase -> com.android.tools.r8.internal.dF:
+com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase -> com.android.tools.r8.internal.iF:
     1:1:void <init>():7:7 -> <init>
     com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState asMonomorphic() -> b
     boolean isPolymorphic() -> c
@@ -96638,10 +96778,10 @@
     3:3:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState get(com.android.tools.r8.graph.ProgramMethod):13 -> b
     4:4:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection.get(com.android.tools.r8.graph.ProgramMethod):96:96 -> b
     4:4:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState get(com.android.tools.r8.graph.ProgramMethod):13 -> b
-com.android.tools.r8.optimize.argumentpropagation.codescanner.NonEmptyParameterState -> com.android.tools.r8.internal.EH:
+com.android.tools.r8.optimize.argumentpropagation.codescanner.NonEmptyParameterState -> com.android.tools.r8.internal.JH:
     1:1:void <init>():7:7 -> <init>
     com.android.tools.r8.optimize.argumentpropagation.codescanner.NonEmptyParameterState asNonEmpty() -> b
-com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState -> com.android.tools.r8.internal.NL:
+com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState -> com.android.tools.r8.internal.SL:
     1:1:void <init>():13:13 -> <init>
     com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteParameterState asConcrete() -> a
     com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView) -> a
@@ -96651,7 +96791,7 @@
     boolean isConcrete() -> d
     boolean isUnknown() -> e
     com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableCopy() -> f
-com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner -> com.android.tools.r8.internal.PW:
+com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner -> com.android.tools.r8.internal.UW:
     com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner CLONER -> a
     com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner IDENTITY -> b
     1:14:void <clinit>():23:36 -> <clinit>
@@ -96660,15 +96800,15 @@
     com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableCopy(com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState) -> a
     1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner getCloner():50:50 -> a
     1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner getIdentity():54:54 -> b
-com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner$1 -> com.android.tools.r8.internal.NW:
+com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner$1 -> com.android.tools.r8.internal.SW:
     1:1:void <init>():24:24 -> <init>
     1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopy(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):27:27 -> a
     2:2:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableCopy(com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):32:32 -> a
-com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner$2 -> com.android.tools.r8.internal.OW:
+com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner$2 -> com.android.tools.r8.internal.TW:
     1:1:void <init>():37:37 -> <init>
     com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopy(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState) -> a
     com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableCopy(com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState) -> a
-com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState -> com.android.tools.r8.internal.v10:
+com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState -> com.android.tools.r8.internal.B10:
     com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState INSTANCE -> a
     1:1:void <clinit>():16:16 -> <clinit>
     1:1:void <init>():18:18 -> <init>
@@ -96677,7 +96817,7 @@
     com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner) -> a
     com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,java.util.function.Function,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner) -> a
     1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState get():21:21 -> k
-com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState -> com.android.tools.r8.internal.w10:
+com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState -> com.android.tools.r8.internal.C10:
     com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState INSTANCE -> a
     1:1:void <clinit>():15:15 -> <clinit>
     1:1:void <init>():17:17 -> <init>
@@ -96687,7 +96827,7 @@
     2:2:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView):25 -> a
     com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableCopy() -> f
     1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState get():20:20 -> g
-com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis -> com.android.tools.r8.internal.d30:
+com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis -> com.android.tools.r8.internal.j30:
     java.util.Set monomorphicVirtualMethods -> g
     java.util.Map virtualRootMethodsPerClass -> f
     java.util.Map virtualRootMethods -> h
@@ -96733,7 +96873,7 @@
     4:4:java.util.Map computeVirtualRootMethodsState(com.android.tools.r8.graph.DexProgramClass):157:157 -> l
     5:5:void com.android.tools.r8.graph.DexProgramClass.forEachProgramVirtualMethod(java.util.function.Consumer):276:276 -> l
     5:5:java.util.Map computeVirtualRootMethodsState(com.android.tools.r8.graph.DexProgramClass):157 -> l
-com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis$VirtualRootMethod -> com.android.tools.r8.internal.c30:
+com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis$VirtualRootMethod -> com.android.tools.r8.internal.i30:
     com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis$VirtualRootMethod parent -> a
     com.android.tools.r8.utils.collections.ProgramMethodSet overrides -> c
     com.android.tools.r8.graph.ProgramMethod root -> b
@@ -96752,7 +96892,7 @@
     13:13:com.android.tools.r8.graph.ProgramMethod getSingleNonAbstractMethod():84:84 -> c
     1:1:boolean hasOverrides():95:95 -> d
     1:1:boolean isInterfaceMethodWithSiblings():101:101 -> e
-com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator -> com.android.tools.r8.internal.Oo:
+com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator -> com.android.tools.r8.internal.Qo:
     com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference methodStates -> c
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.ir.conversion.IRConverter converter -> b
@@ -96783,7 +96923,7 @@
     62:62:void postProcessMethodState(com.android.tools.r8.graph.ProgramMethod):148 -> a
     63:63:void postProcessMethodState(com.android.tools.r8.graph.ProgramMethod):148:148 -> a
     1:10:void run(java.util.concurrent.ExecutorService):61:70 -> b
-com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph -> com.android.tools.r8.internal.Mo:
+com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph -> com.android.tools.r8.internal.Oo:
     java.util.Map nodes -> a
     com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator this$0 -> b
     boolean $assertionsDisabled -> c
@@ -96858,7 +96998,7 @@
     76:79:com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$ParameterNode getOrCreateParameterNode(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):257:260 -> a
     80:80:com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$ParameterNode getOrCreateParameterNode(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):259:259 -> a
     81:82:com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$ParameterNode lambda$getOrCreateParameterNode$1(com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,int,com.android.tools.r8.graph.ProgramMethod,java.lang.Integer,com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$ParameterNode):264:265 -> a
-com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$ParameterNode -> com.android.tools.r8.internal.No:
+com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$ParameterNode -> com.android.tools.r8.internal.Po:
     java.util.Set predecessors -> d
     java.util.Set successors -> e
     com.android.tools.r8.graph.DexType parameterType -> c
@@ -96884,7 +97024,7 @@
     2:2:void setPending():354 -> g
     3:4:void setPending():354:355 -> g
     1:2:void unsetPending():363:364 -> h
-com.android.tools.r8.optimize.argumentpropagation.propagation.InterfaceMethodArgumentPropagator -> com.android.tools.r8.internal.Lt:
+com.android.tools.r8.optimize.argumentpropagation.propagation.InterfaceMethodArgumentPropagator -> com.android.tools.r8.internal.Nt:
     boolean $assertionsDisabled -> i
     java.util.function.Consumer interfaceDispatchOutsideProgram -> h
     java.util.Map methodStatesToPropagate -> g
@@ -96938,10 +97078,10 @@
     5:5:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionBySignature computeInterfaceState(com.android.tools.r8.graph.DexProgramClass):104 -> l
     6:6:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionBySignature computeInterfaceState(com.android.tools.r8.graph.DexProgramClass):119:119 -> l
     1:1:boolean lambda$propagateInterfaceStateToClassHierarchy$2(com.android.tools.r8.graph.DexProgramClass):129:129 -> m
-com.android.tools.r8.optimize.argumentpropagation.propagation.MethodArgumentPropagator -> com.android.tools.r8.internal.AE:
+com.android.tools.r8.optimize.argumentpropagation.propagation.MethodArgumentPropagator -> com.android.tools.r8.internal.FE:
     com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference methodStates -> f
     1:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference):21:22 -> <init>
-com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator -> com.android.tools.r8.internal.M20:
+com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator -> com.android.tools.r8.internal.S20:
     boolean $assertionsDisabled -> h
     java.util.Map propagationStates -> g
     1:1:void <clinit>():34:34 -> <clinit>
@@ -97043,7 +97183,7 @@
     5:5:void computePropagationState(com.android.tools.r8.graph.DexProgramClass):195 -> l
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     6:6:void computePropagationState(com.android.tools.r8.graph.DexProgramClass):255:255 -> l
-com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState -> com.android.tools.r8.internal.L20:
+com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState -> com.android.tools.r8.internal.R20:
     java.util.Map activeUntilLowerBound -> b
     java.util.Map inactiveUntilUpperBound -> c
     com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator this$0 -> d
@@ -97113,7 +97253,7 @@
     103:115:void analyzeArgumentUses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):70:82 -> a
     116:116:void analyzeArgumentUses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):81:81 -> a
     1:1:boolean verifyNoDelayedReprocessingCriteria():156:156 -> b
-com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.MethodReprocessingCriteria -> com.android.tools.r8.internal.aF:
+com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.MethodReprocessingCriteria -> com.android.tools.r8.internal.fF:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap reproccesingCriteria -> a
     com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.MethodReprocessingCriteria ALWAYS_REPROCESS -> b
     boolean $assertionsDisabled -> c
@@ -97128,7 +97268,7 @@
     19:27:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown widenMethodState(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):65:73 -> a
     28:28:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState.unknown():19:19 -> a
     28:28:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown widenMethodState(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):74 -> a
-com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.NonTrivialParameterReprocessingCriteria -> com.android.tools.r8.internal.MH:
+com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.NonTrivialParameterReprocessingCriteria -> com.android.tools.r8.internal.RH:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():25:25 -> <clinit>
     1:2:void <init>(boolean):27:28 -> <init>
@@ -97148,11 +97288,11 @@
     8:8:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteParameterState.isPrimitiveParameter():0:0 -> a
     8:8:boolean shouldReprocess(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteParameterState,com.android.tools.r8.graph.DexType):39 -> a
     9:10:boolean shouldReprocess(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteParameterState,com.android.tools.r8.graph.DexType):39:40 -> a
-com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria -> com.android.tools.r8.internal.ML:
+com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria -> com.android.tools.r8.internal.RL:
     1:1:void <init>():14:14 -> <init>
     boolean shouldReprocess(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteParameterState,com.android.tools.r8.graph.DexType) -> a
     boolean shouldReprocessDueToDynamicType() -> a
-com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria$Builder -> com.android.tools.r8.internal.LL:
+com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria$Builder -> com.android.tools.r8.internal.QL:
     boolean reprocessDueToAbstractValue -> a
     boolean reprocessDueToDynamicType -> b
     boolean reprocessDueToNullability -> c
@@ -97165,14 +97305,14 @@
     1:1:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria$Builder setReprocessDueToDynamicType():67:67 -> c
     1:1:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria$Builder setReprocessDueToNullability():72:72 -> d
     1:1:boolean shouldAlwaysReprocess():77:77 -> e
-com.android.tools.r8.optimize.argumentpropagation.utils.BidirectedGraph -> com.android.tools.r8.internal.J4:
+com.android.tools.r8.optimize.argumentpropagation.utils.BidirectedGraph -> com.android.tools.r8.internal.K4:
     1:1:void <init>():14:14 -> <init>
     void forEachNeighbor(java.lang.Object,java.util.function.Consumer) -> a
     void forEachNode(java.util.function.Consumer) -> a
     1:3:java.util.List computeStronglyConnectedComponents():25:27 -> a
     4:9:void lambda$computeStronglyConnectedComponents$0(java.util.Set,java.util.List,java.lang.Object):29:34 -> a
     10:15:java.util.Set computeStronglyConnectedComponent(java.lang.Object):40:45 -> a
-com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal -> com.android.tools.r8.internal.kf:
+com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal -> com.android.tools.r8.internal.lf:
     java.util.Map states -> c
     com.android.tools.r8.graph.AppView appView -> a
     java.util.List newlySeenButNotFinishedRoots -> d
@@ -97223,12 +97363,12 @@
     16:18:void com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal.markFinished(com.android.tools.r8.graph.DexProgramClass):183:185 -> j
     16:18:void traverse(com.android.tools.r8.graph.DexProgramClass):129 -> j
     void visit(com.android.tools.r8.graph.DexProgramClass) -> k
-com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal$TraversalState -> com.android.tools.r8.internal.jf:
+com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal$TraversalState -> com.android.tools.r8.internal.kf:
     com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal$TraversalState FINISHED -> c
     com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal$TraversalState SEEN -> b
     1:5:void <clinit>():30:34 -> <clinit>
     1:1:void <init>(java.lang.String,int):26:26 -> <init>
-com.android.tools.r8.optimize.argumentpropagation.utils.ProgramClassesBidirectedGraph -> com.android.tools.r8.internal.lN:
+com.android.tools.r8.optimize.argumentpropagation.utils.ProgramClassesBidirectedGraph -> com.android.tools.r8.internal.qN:
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.graph.ImmediateProgramSubtypingInfo immediateSubtypingInfo -> b
     1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo):20:22 -> <init>
@@ -97241,7 +97381,7 @@
     4:4:void com.android.tools.r8.optimize.argumentpropagation.utils.ProgramClassesBidirectedGraph.forEachNeighbor(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):28:28 -> a
     4:4:void forEachNeighbor(java.lang.Object,java.util.function.Consumer):13 -> a
     5:5:void forEachNode(java.util.function.Consumer):33:33 -> a
-com.android.tools.r8.optimize.argumentpropagation.utils.WideningUtils -> com.android.tools.r8.internal.o30:
+com.android.tools.r8.optimize.argumentpropagation.utils.WideningUtils -> com.android.tools.r8.internal.u30:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():19:19 -> <clinit>
     1:2:com.android.tools.r8.ir.analysis.type.DynamicType widenDynamicReceiverType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType):28:29 -> a
@@ -97288,7 +97428,7 @@
     50:50:boolean com.android.tools.r8.optimize.argumentpropagation.utils.WideningUtils.isEffectivelyFinal(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):101:101 -> a
     50:50:com.android.tools.r8.ir.analysis.type.DynamicType internalWidenDynamicClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability):82 -> a
     51:51:com.android.tools.r8.ir.analysis.type.DynamicType internalWidenDynamicClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability):82:82 -> a
-com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting -> com.android.tools.r8.internal.R5:
+com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting -> com.android.tools.r8.internal.S5:
     com.android.tools.r8.optimize.bridgehoisting.BridgeHoistingResult result -> b
     com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple feedback -> c
     com.android.tools.r8.graph.AppView appView -> a
@@ -97361,7 +97501,7 @@
     221:221:com.android.tools.r8.graph.Code com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):306:306 -> a
     221:221:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
     225:225:java.util.List lambda$hoistBridgeIfPossible$2(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):201:201 -> a
-com.android.tools.r8.optimize.bridgehoisting.BridgeHoistingLens -> com.android.tools.r8.internal.S5:
+com.android.tools.r8.optimize.bridgehoisting.BridgeHoistingLens -> com.android.tools.r8.internal.T5:
     com.android.tools.r8.utils.collections.BidirectionalManyToOneMap bridgeToHoistedBridgeMap -> f
     1:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.BidirectionalManyToOneMap):25:26 -> <init>
     com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod) -> a
@@ -97376,7 +97516,7 @@
     1:1:boolean hasCodeRewritings():73:73 -> e
     1:2:com.android.tools.r8.graph.DexMethod internalGetPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):37:38 -> f
     3:3:boolean isContextFreeForMethods():68:68 -> f
-com.android.tools.r8.optimize.bridgehoisting.BridgeHoistingResult -> com.android.tools.r8.internal.T5:
+com.android.tools.r8.optimize.bridgehoisting.BridgeHoistingResult -> com.android.tools.r8.internal.U5:
     com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap bridgeToHoistedBridgeMap -> b
     com.android.tools.r8.graph.AppView appView -> a
     boolean $assertionsDisabled -> c
@@ -97462,7 +97602,7 @@
     5:10:void com.android.tools.r8.org.objectweb.asm.Attribute$Set.add(com.android.tools.r8.org.objectweb.asm.Attribute):384:389 -> a
     5:10:void addAttributes(com.android.tools.r8.org.objectweb.asm.Attribute):362 -> a
     11:11:void addAttributes(com.android.tools.r8.org.objectweb.asm.Attribute):364:364 -> a
-com.android.tools.r8.org.objectweb.asm.ByteVector -> com.android.tools.r8.internal.d6:
+com.android.tools.r8.org.objectweb.asm.ByteVector -> com.android.tools.r8.internal.e6:
     byte[] data -> a
     int length -> b
     1:2:void <init>():45:46 -> <init>
@@ -97482,7 +97622,7 @@
     1:9:com.android.tools.r8.org.objectweb.asm.ByteVector put12(int,int):130:138 -> c
     10:19:com.android.tools.r8.org.objectweb.asm.ByteVector putInt(int):172:181 -> c
     1:8:com.android.tools.r8.org.objectweb.asm.ByteVector putShort(int):110:117 -> d
-com.android.tools.r8.org.objectweb.asm.ClassReader -> com.android.tools.r8.internal.Ta:
+com.android.tools.r8.org.objectweb.asm.ClassReader -> com.android.tools.r8.internal.Ua:
     int[] bootstrapMethodOffsets -> f
     byte[] classFileBuffer -> b
     int[] cpInfoOffsets -> c
@@ -97804,7 +97944,7 @@
     1:2:long readLong(int):3634:3635 -> e
     1:2:short readShort(int):3607:3608 -> f
     1:2:int readUnsignedShort(int):3595:3596 -> g
-com.android.tools.r8.org.objectweb.asm.ClassTooLargeException -> com.android.tools.r8.internal.cb:
+com.android.tools.r8.org.objectweb.asm.ClassTooLargeException -> com.android.tools.r8.internal.db:
     java.lang.String className -> b
     int constantPoolCount -> c
     1:1:void <init>(java.lang.String,int):0:0 -> <init>
@@ -97817,7 +97957,7 @@
     50:52:void <init>(java.lang.String,int):49:51 -> <init>
     1:1:java.lang.String getClassName():60:60 -> a
     1:1:int getConstantPoolCount():69:69 -> b
-com.android.tools.r8.org.objectweb.asm.ClassVisitor -> com.android.tools.r8.internal.gb:
+com.android.tools.r8.org.objectweb.asm.ClassVisitor -> com.android.tools.r8.internal.hb:
     com.android.tools.r8.org.objectweb.asm.ClassVisitor cv -> b
     int api -> a
     1:1:void <init>(int):58:58 -> <init>
@@ -97843,7 +97983,7 @@
     12:12:com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor visitRecordComponent(java.lang.String,java.lang.String,java.lang.String):305:305 -> b
     1:5:void visitPermittedSubclass(java.lang.String):265:269 -> c
     6:6:void visitPermittedSubclass(java.lang.String):266:266 -> c
-com.android.tools.r8.org.objectweb.asm.ClassWriter -> com.android.tools.r8.internal.pb:
+com.android.tools.r8.org.objectweb.asm.ClassWriter -> com.android.tools.r8.internal.qb:
 # {"id":"sourceFile","fileName":"ClassWriter.java"}
     int numberOfInnerClasses -> n
     com.android.tools.r8.org.objectweb.asm.FieldWriter firstField -> j
@@ -97913,7 +98053,7 @@
     307:307:byte[] toByteArray():720:720 -> b
     308:308:byte[] toByteArray():599:599 -> b
     1:5:void visitPermittedSubclass(java.lang.String):377:381 -> c
-com.android.tools.r8.org.objectweb.asm.ConstantDynamic -> com.android.tools.r8.internal.Fd:
+com.android.tools.r8.org.objectweb.asm.ConstantDynamic -> com.android.tools.r8.internal.Gd:
     java.lang.Object[] bootstrapMethodArguments -> d
     java.lang.String name -> a
     java.lang.String descriptor -> b
@@ -97928,7 +98068,7 @@
     1:8:boolean equals(java.lang.Object):150:157 -> equals
     1:4:int hashCode():162:165 -> hashCode
     1:7:java.lang.String toString():170:176 -> toString
-com.android.tools.r8.org.objectweb.asm.Constants -> com.android.tools.r8.internal.Ld:
+com.android.tools.r8.org.objectweb.asm.Constants -> com.android.tools.r8.internal.Md:
 # {"id":"sourceFile","fileName":"Constants.java"}
     1:2:void checkAsmExperimental(java.lang.Object):186:187 -> a
     3:10:boolean com.android.tools.r8.org.objectweb.asm.Constants.isWhitelisted(java.lang.String):194:201 -> a
@@ -97940,7 +98080,7 @@
     24:24:void checkAsmExperimental(java.lang.Object):189 -> a
     25:25:void com.android.tools.r8.org.objectweb.asm.Constants.checkIsPreview(java.io.InputStream):207:207 -> a
     25:25:void checkAsmExperimental(java.lang.Object):189 -> a
-com.android.tools.r8.org.objectweb.asm.Context -> com.android.tools.r8.internal.fe:
+com.android.tools.r8.org.objectweb.asm.Context -> com.android.tools.r8.internal.ge:
     int currentFrameType -> n
     java.lang.String currentMethodDescriptor -> f
     int currentFrameLocalCount -> o
@@ -97961,15 +98101,15 @@
     int[] currentLocalVariableAnnotationRangeIndices -> l
     int currentFrameLocalCountDelta -> p
     1:1:void <init>():36:36 -> <init>
-com.android.tools.r8.org.objectweb.asm.CurrentFrame -> com.android.tools.r8.internal.je:
+com.android.tools.r8.org.objectweb.asm.CurrentFrame -> com.android.tools.r8.internal.ke:
     1:1:void <init>(com.android.tools.r8.org.objectweb.asm.Label):40:40 -> <init>
     1:4:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):51:54 -> a
-com.android.tools.r8.org.objectweb.asm.Edge -> com.android.tools.r8.internal.Hh:
+com.android.tools.r8.org.objectweb.asm.Edge -> com.android.tools.r8.internal.Jh:
     com.android.tools.r8.org.objectweb.asm.Label successor -> b
     int info -> a
     com.android.tools.r8.org.objectweb.asm.Edge nextEdge -> c
     1:4:void <init>(int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Edge):86:89 -> <init>
-com.android.tools.r8.org.objectweb.asm.FieldVisitor -> com.android.tools.r8.internal.hk:
+com.android.tools.r8.org.objectweb.asm.FieldVisitor -> com.android.tools.r8.internal.jk:
     com.android.tools.r8.org.objectweb.asm.FieldVisitor fv -> b
     int api -> a
     1:1:void <init>(int):57:57 -> <init>
@@ -97987,7 +98127,7 @@
     8:8:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):117:117 -> a
     9:10:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):131:132 -> a
     11:12:void visitEnd():141:142 -> a
-com.android.tools.r8.org.objectweb.asm.FieldWriter -> com.android.tools.r8.internal.ik:
+com.android.tools.r8.org.objectweb.asm.FieldWriter -> com.android.tools.r8.internal.kk:
     com.android.tools.r8.org.objectweb.asm.Attribute firstAttribute -> m
     com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeVisibleAnnotation -> i
     com.android.tools.r8.org.objectweb.asm.SymbolTable symbolTable -> c
@@ -98016,7 +98156,7 @@
     15:21:int com.android.tools.r8.org.objectweb.asm.Attribute.computeAttributesSize(com.android.tools.r8.org.objectweb.asm.SymbolTable,byte[],int,int,int):219:225 -> b
     15:21:int com.android.tools.r8.org.objectweb.asm.Attribute.computeAttributesSize(com.android.tools.r8.org.objectweb.asm.SymbolTable):191 -> b
     15:21:int computeFieldInfoSize():208 -> b
-com.android.tools.r8.org.objectweb.asm.Frame -> com.android.tools.r8.internal.al:
+com.android.tools.r8.org.objectweb.asm.Frame -> com.android.tools.r8.internal.cl:
     short outputStackTop -> g
     short outputStackStart -> f
     int[] initializations -> i
@@ -98126,7 +98266,7 @@
     1:11:void setLocal(int,int):504:514 -> b
     12:27:void push(int):524:539 -> b
     28:32:int pop():567:571 -> b
-com.android.tools.r8.org.objectweb.asm.Handle -> com.android.tools.r8.internal.km:
+com.android.tools.r8.org.objectweb.asm.Handle -> com.android.tools.r8.internal.mm:
     boolean isInterface -> e
     java.lang.String name -> c
     java.lang.String owner -> b
@@ -98141,7 +98281,7 @@
     1:9:boolean equals(java.lang.Object):159:167 -> equals
     1:3:int hashCode():172:174 -> hashCode
     1:1:java.lang.String toString():187:187 -> toString
-com.android.tools.r8.org.objectweb.asm.Handler -> com.android.tools.r8.internal.lm:
+com.android.tools.r8.org.objectweb.asm.Handler -> com.android.tools.r8.internal.nm:
     com.android.tools.r8.org.objectweb.asm.Handler nextHandler -> f
     com.android.tools.r8.org.objectweb.asm.Label handlerPc -> c
     int catchType -> d
@@ -98161,7 +98301,7 @@
     26:27:com.android.tools.r8.org.objectweb.asm.Handler removeRange(com.android.tools.r8.org.objectweb.asm.Handler,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label):147:148 -> a
     28:29:void com.android.tools.r8.org.objectweb.asm.Handler.<init>(com.android.tools.r8.org.objectweb.asm.Handler,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label):106:107 -> a
     28:29:com.android.tools.r8.org.objectweb.asm.Handler removeRange(com.android.tools.r8.org.objectweb.asm.Handler,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label):148 -> a
-com.android.tools.r8.org.objectweb.asm.Label -> com.android.tools.r8.internal.HA:
+com.android.tools.r8.org.objectweb.asm.Label -> com.android.tools.r8.internal.JA:
     com.android.tools.r8.org.objectweb.asm.Frame frame -> k
     com.android.tools.r8.org.objectweb.asm.Edge outgoingEdges -> m
     int bytecodeOffset -> e
@@ -98198,7 +98338,7 @@
     623:623:java.lang.String toString():620:620 -> toString
     624:624:java.lang.String toString():620:620 -> toString
     621:621:java.lang.String toString():620:620 -> toString
-com.android.tools.r8.org.objectweb.asm.MethodTooLargeException -> com.android.tools.r8.internal.eF:
+com.android.tools.r8.org.objectweb.asm.MethodTooLargeException -> com.android.tools.r8.internal.jF:
     int codeSize -> e
     java.lang.String methodName -> c
     java.lang.String className -> b
@@ -98208,7 +98348,7 @@
     1:1:int getCodeSize():97:97 -> b
     1:1:java.lang.String getDescriptor():88:88 -> c
     1:1:java.lang.String getMethodName():79:79 -> d
-com.android.tools.r8.org.objectweb.asm.MethodVisitor -> com.android.tools.r8.internal.fF:
+com.android.tools.r8.org.objectweb.asm.MethodVisitor -> com.android.tools.r8.internal.kF:
     int api -> h
     com.android.tools.r8.org.objectweb.asm.MethodVisitor mv -> i
     1:1:void <init>(int):71:71 -> <init>
@@ -98261,7 +98401,7 @@
     7:8:void visitMaxs(int,int):772:773 -> c
     9:10:void visitEnd():782:783 -> c
     1:2:void visitVarInsn(int,int):358:359 -> d
-com.android.tools.r8.org.objectweb.asm.MethodWriter -> com.android.tools.r8.internal.gF:
+com.android.tools.r8.org.objectweb.asm.MethodWriter -> com.android.tools.r8.internal.lF:
     boolean hasSubroutines -> d0
     com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeInvisibleAnnotation -> I
     int nameIndex -> l
@@ -98473,7 +98613,7 @@
     107:107:void com.android.tools.r8.org.objectweb.asm.MethodWriter.putFrame():1914:1914 -> h
     107:107:void visitFrameEnd():1850 -> h
     108:111:void visitFrameEnd():1851:1854 -> h
-com.android.tools.r8.org.objectweb.asm.ModuleVisitor -> com.android.tools.r8.internal.GF:
+com.android.tools.r8.org.objectweb.asm.ModuleVisitor -> com.android.tools.r8.internal.LF:
     com.android.tools.r8.org.objectweb.asm.ModuleVisitor mv -> a
     1:1:void <init>(int):57:57 -> <init>
     2:10:void <init>(int,com.android.tools.r8.org.objectweb.asm.ModuleVisitor):68:76 -> <init>
@@ -98493,7 +98633,7 @@
     1:2:void visitPackage(java.lang.String):102:103 -> b
     3:4:void visitOpen(java.lang.String,int,java.lang.String[]):146:147 -> b
     1:2:void visitUse(java.lang.String):158:159 -> c
-com.android.tools.r8.org.objectweb.asm.ModuleWriter -> com.android.tools.r8.internal.HF:
+com.android.tools.r8.org.objectweb.asm.ModuleWriter -> com.android.tools.r8.internal.MF:
     com.android.tools.r8.org.objectweb.asm.ByteVector usesIndex -> m
     int providesCount -> n
     com.android.tools.r8.org.objectweb.asm.ByteVector opens -> k
@@ -98523,7 +98663,7 @@
     13:23:int computeAttributesSize():196:206 -> b
     1:2:void visitUse(java.lang.String):160:161 -> c
     3:3:int getAttributeCount():186:186 -> c
-com.android.tools.r8.org.objectweb.asm.Opcodes -> com.android.tools.r8.internal.PK:
+com.android.tools.r8.org.objectweb.asm.Opcodes -> com.android.tools.r8.internal.UK:
     java.lang.Integer FLOAT -> c
     java.lang.Integer DOUBLE -> d
     java.lang.Integer LONG -> e
@@ -98532,7 +98672,7 @@
     java.lang.Integer TOP -> a
     java.lang.Integer INTEGER -> b
     1:7:void <clinit>():392:398 -> <clinit>
-com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor -> com.android.tools.r8.internal.yQ:
+com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor -> com.android.tools.r8.internal.DQ:
     com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor delegate -> a
     1:1:void <init>(int):57:57 -> <init>
     2:10:void <init>(int,com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor):68:76 -> <init>
@@ -98548,7 +98688,7 @@
     3:4:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):126:127 -> a
     5:6:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):138:139 -> a
     7:8:void visitEnd():148:149 -> a
-com.android.tools.r8.org.objectweb.asm.RecordComponentWriter -> com.android.tools.r8.internal.zQ:
+com.android.tools.r8.org.objectweb.asm.RecordComponentWriter -> com.android.tools.r8.internal.EQ:
     com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeVisibleTypeAnnotation -> h
     com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeInvisibleTypeAnnotation -> i
     com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeVisibleAnnotation -> f
@@ -98575,7 +98715,7 @@
     10:16:int com.android.tools.r8.org.objectweb.asm.Attribute.computeAttributesSize(com.android.tools.r8.org.objectweb.asm.SymbolTable,byte[],int,int,int):219:225 -> b
     10:16:int com.android.tools.r8.org.objectweb.asm.Attribute.computeAttributesSize(com.android.tools.r8.org.objectweb.asm.SymbolTable):191 -> b
     10:16:int computeRecordComponentInfoSize():169 -> b
-com.android.tools.r8.org.objectweb.asm.SymbolTable -> com.android.tools.r8.internal.CY:
+com.android.tools.r8.org.objectweb.asm.SymbolTable -> com.android.tools.r8.internal.HY:
     com.android.tools.r8.org.objectweb.asm.ClassWriter classWriter -> a
     int typeCount -> k
     int bootstrapMethodCount -> i
@@ -98708,7 +98848,7 @@
     11:20:int com.android.tools.r8.org.objectweb.asm.SymbolTable.addTypeInternal(com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry):1216:1225 -> e
     11:20:int addType(java.lang.String):1148 -> e
     1:1:com.android.tools.r8.org.objectweb.asm.ClassReader getSource():288:288 -> f
-com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry -> com.android.tools.r8.internal.BY:
+com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry -> com.android.tools.r8.internal.GY:
     long com.android.tools.r8.org.objectweb.asm.Symbol.data -> f
     int hashCode -> h
     int com.android.tools.r8.org.objectweb.asm.Symbol.info -> g
@@ -98733,7 +98873,7 @@
     33:39:void com.android.tools.r8.org.objectweb.asm.Symbol.<init>(int,int,java.lang.String,java.lang.String,java.lang.String,long):220:226 -> <init>
     33:39:void <init>(int,int,java.lang.String,java.lang.String,int):1313 -> <init>
     40:40:void <init>(int,int,java.lang.String,java.lang.String,int):1314:1314 -> <init>
-com.android.tools.r8.org.objectweb.asm.Type -> com.android.tools.r8.internal.ZZ:
+com.android.tools.r8.org.objectweb.asm.Type -> com.android.tools.r8.internal.f00:
     com.android.tools.r8.org.objectweb.asm.Type FLOAT_TYPE -> k
     com.android.tools.r8.org.objectweb.asm.Type INT_TYPE -> j
     com.android.tools.r8.org.objectweb.asm.Type DOUBLE_TYPE -> m
@@ -98793,7 +98933,7 @@
     1:1:com.android.tools.r8.org.objectweb.asm.Type getType(java.lang.String):177:177 -> f
     1:4:int hashCode():877:880 -> hashCode
     1:1:java.lang.String toString():893:893 -> toString
-com.android.tools.r8.org.objectweb.asm.TypePath -> com.android.tools.r8.internal.Y00:
+com.android.tools.r8.org.objectweb.asm.TypePath -> com.android.tools.r8.internal.e10:
     byte[] typePathContainer -> a
     int typePathOffset -> b
     1:3:void <init>(byte[],int):72:74 -> <init>
@@ -98810,7 +98950,7 @@
     7:7:java.lang.String toString():174:174 -> toString
     8:8:java.lang.String toString():171:171 -> toString
     9:24:java.lang.String toString():168:183 -> toString
-com.android.tools.r8.org.objectweb.asm.TypeReference -> com.android.tools.r8.internal.Z00:
+com.android.tools.r8.org.objectweb.asm.TypeReference -> com.android.tools.r8.internal.f10:
     int targetTypeAndInfo -> a
     1:2:void <init>(int):193:194 -> <init>
     1:1:int getExceptionIndex():359:359 -> a
@@ -98821,7 +98961,7 @@
     1:1:int getTypeArgumentIndex():382:382 -> f
     1:1:int getTypeParameterBoundIndex():327:327 -> g
     1:1:int getTypeParameterIndex():315:315 -> h
-com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter -> com.android.tools.r8.internal.qv:
+com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter -> com.android.tools.r8.internal.sv:
     java.util.BitSet mainSubroutineInsns -> F
     java.util.BitSet sharedSubroutineInsns -> H
     java.util.Map subroutinesInsns -> G
@@ -98932,7 +99072,7 @@
     139:141:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():315:317 -> c
     139:141:void visitEnd():155 -> c
     142:143:void visitEnd():157:158 -> c
-com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation -> com.android.tools.r8.internal.pv:
+com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation -> com.android.tools.r8.internal.rv:
     java.util.Map clonedLabels -> d
     java.util.BitSet subroutineInsns -> c
     com.android.tools.r8.org.objectweb.asm.tree.LabelNode returnLabel -> e
@@ -98950,7 +99090,7 @@
     2:2:com.android.tools.r8.org.objectweb.asm.tree.LabelNode com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation.get(java.lang.Object):558 -> get
     2:2:java.lang.Object get(java.lang.Object):427 -> get
     1:1:int hashCode():568:568 -> hashCode
-com.android.tools.r8.org.objectweb.asm.signature.SignatureReader -> com.android.tools.r8.internal.oV:
+com.android.tools.r8.org.objectweb.asm.signature.SignatureReader -> com.android.tools.r8.internal.tV:
     java.lang.String signatureValue -> a
     1:2:void <init>(java.lang.String):49:50 -> <init>
     1:17:void accept(com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor):64:80 -> a
@@ -98962,7 +99102,7 @@
     230:230:int parseType(java.lang.String,int,com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor):229:229 -> a
     231:241:int parseType(java.lang.String,int,com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor):196:206 -> a
     242:242:int parseType(java.lang.String,int,com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor):168:168 -> a
-com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor -> com.android.tools.r8.internal.pV:
+com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor -> com.android.tools.r8.internal.uV:
     1:1:void <init>(int):74:74 -> <init>
     com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor visitArrayType() -> a
     void visitBaseType(char) -> a
@@ -99030,7 +99170,7 @@
     82:90:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitArray(java.lang.String):151:159 -> a
     91:98:void accept(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor):190:197 -> a
     99:115:void accept(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,java.lang.String,java.lang.Object):211:227 -> a
-com.android.tools.r8.org.objectweb.asm.tree.ClassNode -> com.android.tools.r8.internal.Da:
+com.android.tools.r8.org.objectweb.asm.tree.ClassNode -> com.android.tools.r8.internal.Ea:
     java.util.List invisibleTypeAnnotations -> f
     java.util.List visibleTypeAnnotations -> e
     java.util.List invisibleAnnotations -> d
@@ -99067,7 +99207,7 @@
     3:3:com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor visitRecordComponent(java.lang.String,java.lang.String,java.lang.String):262 -> b
     4:4:com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor visitRecordComponent(java.lang.String,java.lang.String,java.lang.String):263:263 -> b
     1:1:void visitPermittedSubclass(java.lang.String):249:249 -> c
-com.android.tools.r8.org.objectweb.asm.tree.FieldInsnNode -> com.android.tools.r8.internal.Ij:
+com.android.tools.r8.org.objectweb.asm.tree.FieldInsnNode -> com.android.tools.r8.internal.Kj:
     java.lang.String owner -> g
     java.lang.String desc -> i
     java.lang.String name -> h
@@ -99075,7 +99215,7 @@
     1:2:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):88:89 -> a
     3:3:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):94:94 -> a
     int getType() -> b
-com.android.tools.r8.org.objectweb.asm.tree.FieldNode -> com.android.tools.r8.internal.Qj:
+com.android.tools.r8.org.objectweb.asm.tree.FieldNode -> com.android.tools.r8.internal.Sj:
     java.util.List visibleTypeAnnotations -> f
     java.util.List invisibleAnnotations -> e
     java.util.List visibleAnnotations -> d
@@ -99087,7 +99227,7 @@
     1:5:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):144:148 -> a
     6:10:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):156:160 -> a
     11:11:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):167:167 -> a
-com.android.tools.r8.org.objectweb.asm.tree.FrameNode -> com.android.tools.r8.internal.bl:
+com.android.tools.r8.org.objectweb.asm.tree.FrameNode -> com.android.tools.r8.internal.dl:
     int type -> g
     java.util.List stack -> i
     java.util.List local -> h
@@ -99106,16 +99246,16 @@
     25:44:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):152:171 -> a
     45:51:java.lang.Object[] asArray(java.util.List):178:184 -> a
     int getType() -> b
-com.android.tools.r8.org.objectweb.asm.tree.IincInsnNode -> com.android.tools.r8.internal.Ln:
+com.android.tools.r8.org.objectweb.asm.tree.IincInsnNode -> com.android.tools.r8.internal.Nn:
     int incr -> h
     int var -> g
     1:3:void <init>(int,int):54:56 -> <init>
     1:2:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):66:67 -> a
     3:3:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):72:72 -> a
     int getType() -> b
-com.android.tools.r8.org.objectweb.asm.tree.InnerClassNode -> com.android.tools.r8.internal.Cp:
+com.android.tools.r8.org.objectweb.asm.tree.InnerClassNode -> com.android.tools.r8.internal.Ep:
     1:1:void <init>(java.lang.String,java.lang.String,java.lang.String,int):70:70 -> <init>
-com.android.tools.r8.org.objectweb.asm.tree.InsnList -> com.android.tools.r8.internal.Ep:
+com.android.tools.r8.org.objectweb.asm.tree.InsnList -> com.android.tools.r8.internal.Gp:
     int size -> b
     com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode lastInsn -> d
     com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode[] cache -> e
@@ -99138,7 +99278,7 @@
     1:1:java.util.ListIterator com.android.tools.r8.org.objectweb.asm.tree.InsnList.iterator():156 -> iterator
     1:1:java.util.Iterator iterator():38 -> iterator
     1:1:int size():61:61 -> size
-com.android.tools.r8.org.objectweb.asm.tree.InsnList$InsnListIterator -> com.android.tools.r8.internal.Dp:
+com.android.tools.r8.org.objectweb.asm.tree.InsnList$InsnListIterator -> com.android.tools.r8.internal.Fp:
     com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode remove -> d
     com.android.tools.r8.org.objectweb.asm.tree.InsnList this$0 -> e
     com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode nextInsn -> b
@@ -99156,18 +99296,18 @@
     1:7:int previousIndex():568:574 -> previousIndex
     1:10:void remove():525:534 -> remove
     1:9:void set(java.lang.Object):592:600 -> set
-com.android.tools.r8.org.objectweb.asm.tree.InsnNode -> com.android.tools.r8.internal.Fp:
+com.android.tools.r8.org.objectweb.asm.tree.InsnNode -> com.android.tools.r8.internal.Hp:
     1:1:void <init>(int):55:55 -> <init>
     1:2:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):65:66 -> a
     3:3:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):71:71 -> a
     int getType() -> b
-com.android.tools.r8.org.objectweb.asm.tree.IntInsnNode -> com.android.tools.r8.internal.it:
+com.android.tools.r8.org.objectweb.asm.tree.IntInsnNode -> com.android.tools.r8.internal.kt:
     int operand -> g
     1:2:void <init>(int,int):51:52 -> <init>
     1:2:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):71:72 -> a
     3:3:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):77:77 -> a
     int getType() -> b
-com.android.tools.r8.org.objectweb.asm.tree.InvokeDynamicInsnNode -> com.android.tools.r8.internal.Bu:
+com.android.tools.r8.org.objectweb.asm.tree.InvokeDynamicInsnNode -> com.android.tools.r8.internal.Du:
     java.lang.String name -> g
     java.lang.String desc -> h
     com.android.tools.r8.org.objectweb.asm.Handle bsm -> i
@@ -99176,7 +99316,7 @@
     1:2:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):84:85 -> a
     3:3:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):90:90 -> a
     int getType() -> b
-com.android.tools.r8.org.objectweb.asm.tree.JumpInsnNode -> com.android.tools.r8.internal.Zv:
+com.android.tools.r8.org.objectweb.asm.tree.JumpInsnNode -> com.android.tools.r8.internal.bw:
     com.android.tools.r8.org.objectweb.asm.tree.LabelNode label -> g
     1:2:void <init>(int,com.android.tools.r8.org.objectweb.asm.tree.LabelNode):57:58 -> <init>
     1:2:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):79:80 -> a
@@ -99185,7 +99325,7 @@
     4:4:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):85 -> a
     5:5:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):85:85 -> a
     int getType() -> b
-com.android.tools.r8.org.objectweb.asm.tree.LabelNode -> com.android.tools.r8.internal.IA:
+com.android.tools.r8.org.objectweb.asm.tree.LabelNode -> com.android.tools.r8.internal.KA:
     com.android.tools.r8.org.objectweb.asm.Label value -> g
     1:1:void <init>():40:40 -> <init>
     1:1:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):68:68 -> a
@@ -99193,13 +99333,13 @@
     int getType() -> b
     1:4:com.android.tools.r8.org.objectweb.asm.Label getLabel():60:63 -> c
     1:1:void resetLabel():77:77 -> d
-com.android.tools.r8.org.objectweb.asm.tree.LdcInsnNode -> com.android.tools.r8.internal.jB:
+com.android.tools.r8.org.objectweb.asm.tree.LdcInsnNode -> com.android.tools.r8.internal.lB:
     java.lang.Object cst -> g
     1:2:void <init>(java.lang.Object):64:65 -> <init>
     1:2:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):75:76 -> a
     3:3:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):81:81 -> a
     int getType() -> b
-com.android.tools.r8.org.objectweb.asm.tree.LineNumberNode -> com.android.tools.r8.internal.OB:
+com.android.tools.r8.org.objectweb.asm.tree.LineNumberNode -> com.android.tools.r8.internal.QB:
     com.android.tools.r8.org.objectweb.asm.tree.LabelNode start -> h
     int line -> g
     1:3:void <init>(int,com.android.tools.r8.org.objectweb.asm.tree.LabelNode):55:57 -> <init>
@@ -99209,14 +99349,14 @@
     3:3:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):72 -> a
     4:4:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):72:72 -> a
     int getType() -> b
-com.android.tools.r8.org.objectweb.asm.tree.LocalVariableAnnotationNode -> com.android.tools.r8.internal.EC:
+com.android.tools.r8.org.objectweb.asm.tree.LocalVariableAnnotationNode -> com.android.tools.r8.internal.JC:
     java.util.List start -> f
     java.util.List index -> h
     java.util.List end -> g
     1:4:void <init>(int,int,com.android.tools.r8.org.objectweb.asm.TypePath,com.android.tools.r8.org.objectweb.asm.tree.LabelNode[],com.android.tools.r8.org.objectweb.asm.tree.LabelNode[],int[],java.lang.String):116:119 -> <init>
     1:10:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor,boolean):129:138 -> a
     11:11:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor,boolean):137:137 -> a
-com.android.tools.r8.org.objectweb.asm.tree.LocalVariableNode -> com.android.tools.r8.internal.FC:
+com.android.tools.r8.org.objectweb.asm.tree.LocalVariableNode -> com.android.tools.r8.internal.KC:
     int index -> f
     java.lang.String name -> a
     java.lang.String signature -> c
@@ -99224,7 +99364,7 @@
     com.android.tools.r8.org.objectweb.asm.tree.LabelNode end -> e
     com.android.tools.r8.org.objectweb.asm.tree.LabelNode start -> d
     1:7:void <init>(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.LabelNode,com.android.tools.r8.org.objectweb.asm.tree.LabelNode,int):74:80 -> <init>
-com.android.tools.r8.org.objectweb.asm.tree.LookupSwitchInsnNode -> com.android.tools.r8.internal.kD:
+com.android.tools.r8.org.objectweb.asm.tree.LookupSwitchInsnNode -> com.android.tools.r8.internal.pD:
     com.android.tools.r8.org.objectweb.asm.tree.LabelNode dflt -> g
     java.util.List labels -> i
     java.util.List keys -> h
@@ -99238,7 +99378,7 @@
     14:16:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):89 -> a
     17:19:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):89:91 -> a
     int getType() -> b
-com.android.tools.r8.org.objectweb.asm.tree.MethodInsnNode -> com.android.tools.r8.internal.IE:
+com.android.tools.r8.org.objectweb.asm.tree.MethodInsnNode -> com.android.tools.r8.internal.NE:
     java.lang.String owner -> g
     java.lang.String desc -> i
     java.lang.String name -> h
@@ -99247,7 +99387,7 @@
     1:2:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):115:116 -> a
     3:3:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):121:121 -> a
     int getType() -> b
-com.android.tools.r8.org.objectweb.asm.tree.MethodNode -> com.android.tools.r8.internal.ME:
+com.android.tools.r8.org.objectweb.asm.tree.MethodNode -> com.android.tools.r8.internal.RE:
     java.util.List attrs -> r
     java.util.List invisibleTypeAnnotations -> q
     com.android.tools.r8.org.objectweb.asm.tree.InsnList instructions -> x
@@ -99343,13 +99483,13 @@
     1:5:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):274:278 -> c
     6:7:void visitMaxs(int,int):517:518 -> c
     1:1:void visitVarInsn(int,int):353:353 -> d
-com.android.tools.r8.org.objectweb.asm.tree.MethodNode$1 -> com.android.tools.r8.internal.LE:
+com.android.tools.r8.org.objectweb.asm.tree.MethodNode$1 -> com.android.tools.r8.internal.QE:
     com.android.tools.r8.org.objectweb.asm.tree.MethodNode this$0 -> b
     1:1:void <init>(com.android.tools.r8.org.objectweb.asm.tree.MethodNode,int):251:251 -> <init>
     1:2:boolean add(java.lang.Object):254:255 -> add
-com.android.tools.r8.org.objectweb.asm.tree.ModuleExportNode -> com.android.tools.r8.internal.BF:
+com.android.tools.r8.org.objectweb.asm.tree.ModuleExportNode -> com.android.tools.r8.internal.GF:
     1:1:void <init>(java.lang.String,int,java.util.List):64:64 -> <init>
-com.android.tools.r8.org.objectweb.asm.tree.ModuleNode -> com.android.tools.r8.internal.CF:
+com.android.tools.r8.org.objectweb.asm.tree.ModuleNode -> com.android.tools.r8.internal.HF:
     java.util.List packages -> b
     java.util.List uses -> f
     java.util.List opens -> e
@@ -99365,24 +99505,24 @@
     1:4:void visitPackage(java.lang.String):140:143 -> b
     5:8:void visitOpen(java.lang.String,int,java.lang.String[]):164:167 -> b
     1:4:void visitUse(java.lang.String):172:175 -> c
-com.android.tools.r8.org.objectweb.asm.tree.ModuleOpenNode -> com.android.tools.r8.internal.DF:
+com.android.tools.r8.org.objectweb.asm.tree.ModuleOpenNode -> com.android.tools.r8.internal.IF:
     1:1:void <init>(java.lang.String,int,java.util.List):64:64 -> <init>
-com.android.tools.r8.org.objectweb.asm.tree.ModuleProvideNode -> com.android.tools.r8.internal.EF:
+com.android.tools.r8.org.objectweb.asm.tree.ModuleProvideNode -> com.android.tools.r8.internal.JF:
     1:1:void <init>(java.lang.String,java.util.List):53:53 -> <init>
-com.android.tools.r8.org.objectweb.asm.tree.ModuleRequireNode -> com.android.tools.r8.internal.FF:
+com.android.tools.r8.org.objectweb.asm.tree.ModuleRequireNode -> com.android.tools.r8.internal.KF:
     1:1:void <init>(java.lang.String,int,java.lang.String):59:59 -> <init>
-com.android.tools.r8.org.objectweb.asm.tree.MultiANewArrayInsnNode -> com.android.tools.r8.internal.QF:
+com.android.tools.r8.org.objectweb.asm.tree.MultiANewArrayInsnNode -> com.android.tools.r8.internal.VF:
     java.lang.String desc -> g
     int dims -> h
     1:3:void <init>(java.lang.String,int):54:56 -> <init>
     1:2:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):66:67 -> a
     3:3:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):72:72 -> a
     int getType() -> b
-com.android.tools.r8.org.objectweb.asm.tree.ParameterNode -> com.android.tools.r8.internal.KL:
+com.android.tools.r8.org.objectweb.asm.tree.ParameterNode -> com.android.tools.r8.internal.PL:
     java.lang.String name -> a
     int access -> b
     1:3:void <init>(java.lang.String,int):55:57 -> <init>
-com.android.tools.r8.org.objectweb.asm.tree.RecordComponentNode -> com.android.tools.r8.internal.xQ:
+com.android.tools.r8.org.objectweb.asm.tree.RecordComponentNode -> com.android.tools.r8.internal.CQ:
     java.util.List visibleAnnotations -> b
     java.util.List attrs -> f
     java.util.List invisibleTypeAnnotations -> e
@@ -99393,7 +99533,7 @@
     1:5:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):108:112 -> a
     6:10:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):120:124 -> a
     11:11:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):131:131 -> a
-com.android.tools.r8.org.objectweb.asm.tree.TableSwitchInsnNode -> com.android.tools.r8.internal.WY:
+com.android.tools.r8.org.objectweb.asm.tree.TableSwitchInsnNode -> com.android.tools.r8.internal.bZ:
     com.android.tools.r8.org.objectweb.asm.tree.LabelNode dflt -> i
     int max -> h
     java.util.List labels -> j
@@ -99408,7 +99548,7 @@
     10:12:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):90 -> a
     13:14:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):90:91 -> a
     int getType() -> b
-com.android.tools.r8.org.objectweb.asm.tree.TryCatchBlockNode -> com.android.tools.r8.internal.XZ:
+com.android.tools.r8.org.objectweb.asm.tree.TryCatchBlockNode -> com.android.tools.r8.internal.d00:
     java.util.List invisibleTypeAnnotations -> f
     java.util.List visibleTypeAnnotations -> e
     com.android.tools.r8.org.objectweb.asm.tree.LabelNode start -> a
@@ -99420,24 +99560,24 @@
     5:9:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):109:113 -> a
     10:19:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):112:121 -> a
     20:20:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):120:120 -> a
-com.android.tools.r8.org.objectweb.asm.tree.TypeAnnotationNode -> com.android.tools.r8.internal.T00:
+com.android.tools.r8.org.objectweb.asm.tree.TypeAnnotationNode -> com.android.tools.r8.internal.Z00:
     int typeRef -> d
     com.android.tools.r8.org.objectweb.asm.TypePath typePath -> e
     1:3:void <init>(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String):62:64 -> <init>
     4:6:void <init>(int,int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String):82:84 -> <init>
-com.android.tools.r8.org.objectweb.asm.tree.TypeInsnNode -> com.android.tools.r8.internal.X00:
+com.android.tools.r8.org.objectweb.asm.tree.TypeInsnNode -> com.android.tools.r8.internal.d10:
     java.lang.String desc -> g
     1:2:void <init>(int,java.lang.String):56:57 -> <init>
     1:2:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):77:78 -> a
     3:3:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):83:83 -> a
     int getType() -> b
-com.android.tools.r8.org.objectweb.asm.tree.Util -> com.android.tools.r8.internal.U10:
+com.android.tools.r8.org.objectweb.asm.tree.Util -> com.android.tools.r8.internal.a20:
     1:2:java.util.List add(java.util.List,java.lang.Object):44:45 -> a
     3:5:java.util.List asArrayList(int):50:52 -> a
     6:10:java.util.List asArrayList(java.lang.Object[]):59:63 -> a
     11:15:java.util.List asArrayList(int[]):114:118 -> a
     16:18:java.util.List asArrayList(int,java.lang.Object[]):157:159 -> a
-com.android.tools.r8.org.objectweb.asm.tree.VarInsnNode -> com.android.tools.r8.internal.m20:
+com.android.tools.r8.org.objectweb.asm.tree.VarInsnNode -> com.android.tools.r8.internal.s20:
     int var -> g
     1:2:void <init>(int,int):53:54 -> <init>
     1:2:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):74:75 -> a
@@ -99563,7 +99703,7 @@
     101:101:void <init>(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.lang.String,java.lang.Object,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):83:83 -> <init>
     90:90:void <init>(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.lang.String,java.lang.Object,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):83:83 -> <init>
     91:96:void <init>(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.lang.String,java.lang.Object,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):82:87 -> <init>
-com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue -> com.android.tools.r8.internal.D4:
+com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue -> com.android.tools.r8.internal.E4:
     com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue FLOAT_VALUE -> d
     com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue INT_VALUE -> c
     com.android.tools.r8.org.objectweb.asm.Type type -> a
@@ -99579,7 +99719,7 @@
     1:5:boolean equals(java.lang.Object):101:105 -> equals
     1:1:int hashCode():114:114 -> hashCode
     1:8:java.lang.String toString():119:126 -> toString
-com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier -> com.android.tools.r8.internal.E4:
+com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier -> com.android.tools.r8.internal.F4:
     com.android.tools.r8.org.objectweb.asm.Type com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.NULL_TYPE -> h
     1:1:void com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.<clinit>():56:56 -> <clinit>
     1:1:void com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.<init>(int):79:79 -> <init>
@@ -99788,7 +99928,7 @@
     589:589:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):231:231 -> b
     590:590:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):229:229 -> b
     591:591:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):225:225 -> b
-com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame -> com.android.tools.r8.internal.Zk:
+com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame -> com.android.tools.r8.internal.bl:
 # {"id":"sourceFile","fileName":"Frame.java"}
     int numStack -> d
     int maxStack -> e
@@ -99970,23 +100110,23 @@
     6:6:int com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame.getStackSize():220:220 -> toString
     6:6:java.lang.String toString():747 -> toString
     7:9:java.lang.String toString():748:750 -> toString
-com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter -> com.android.tools.r8.internal.nu:
+com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter -> com.android.tools.r8.internal.pu:
     1:1:void <init>(int):61:61 -> <init>
     com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value) -> a
     com.android.tools.r8.org.objectweb.asm.tree.analysis.Value copyOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value) -> a
     com.android.tools.r8.org.objectweb.asm.tree.analysis.Value naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List) -> a
     com.android.tools.r8.org.objectweb.asm.tree.analysis.Value newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode) -> a
     com.android.tools.r8.org.objectweb.asm.tree.analysis.Value unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value) -> b
-com.android.tools.r8.org.objectweb.asm.tree.analysis.Subroutine -> com.android.tools.r8.internal.jY:
+com.android.tools.r8.org.objectweb.asm.tree.analysis.Subroutine -> com.android.tools.r8.internal.oY:
     java.util.List callers -> c
     boolean[] localsUsed -> b
     com.android.tools.r8.org.objectweb.asm.tree.LabelNode start -> a
     1:5:void <init>(com.android.tools.r8.org.objectweb.asm.tree.LabelNode,int,com.android.tools.r8.org.objectweb.asm.tree.JumpInsnNode):61:65 -> <init>
     6:9:void <init>(com.android.tools.r8.org.objectweb.asm.tree.analysis.Subroutine):73:76 -> <init>
     1:11:boolean merge(com.android.tools.r8.org.objectweb.asm.tree.analysis.Subroutine):89:99 -> a
-com.android.tools.r8.org.objectweb.asm.tree.analysis.Value -> com.android.tools.r8.internal.a20:
+com.android.tools.r8.org.objectweb.asm.tree.analysis.Value -> com.android.tools.r8.internal.g20:
 # {"id":"sourceFile","fileName":"Value.java"}
-com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter -> com.android.tools.r8.internal.q9:
+com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter -> com.android.tools.r8.internal.r9:
     boolean useNamedValue -> b
     boolean visitEndCalled -> c
     1:2:void <init>(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,boolean):55:56 -> <init>
@@ -100026,7 +100166,7 @@
     53:53:void visitEnum(java.lang.String,java.lang.String,java.lang.String):96:96 -> a
     54:54:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.checkVisitEndNotCalled():132:132 -> a
     54:54:void visitEnum(java.lang.String,java.lang.String,java.lang.String):91 -> a
-com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter -> com.android.tools.r8.internal.v9:
+com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter -> com.android.tools.r8.internal.w9:
     boolean visitNestHostCalled -> i
     java.lang.String nestMemberPackageName -> j
     boolean visitEndCalled -> k
@@ -100385,7 +100525,7 @@
     4:8:int checkSignatureIdentifier(java.lang.String,int):890:894 -> c
     1:3:void checkFieldSignature(java.lang.String):675:677 -> d
     1:13:java.lang.String getUnqualifiedName(java.lang.String):1127:1139 -> e
-com.android.tools.r8.org.objectweb.asm.util.CheckFieldAdapter -> com.android.tools.r8.internal.w9:
+com.android.tools.r8.org.objectweb.asm.util.CheckFieldAdapter -> com.android.tools.r8.internal.x9:
     boolean visitEndCalled -> c
     1:1:void <init>(int,com.android.tools.r8.org.objectweb.asm.FieldVisitor):70:70 -> <init>
     1:1:void com.android.tools.r8.org.objectweb.asm.util.CheckFieldAdapter.checkVisitEndNotCalled():113:113 -> a
@@ -100419,7 +100559,7 @@
     113:113:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):88:88 -> a
     114:114:void com.android.tools.r8.org.objectweb.asm.util.CheckFieldAdapter.checkVisitEndNotCalled() -> a
     114:114:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):84 -> a
-com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter -> com.android.tools.r8.internal.z9:
+com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter -> com.android.tools.r8.internal.A9:
     boolean visitCodeCalled -> n
     java.util.Map labelInsnIndices -> r
     int visibleAnnotableParameterCount -> l
@@ -100780,7 +100920,7 @@
     9:9:void checkUnsignedShort(int,java.lang.String):1133:1133 -> d
     1:2:void checkVisitEndNotCalled():1060:1061 -> e
     1:2:void checkVisitMaxsNotCalled():1053:1054 -> f
-com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$1 -> com.android.tools.r8.internal.x9:
+com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$1 -> com.android.tools.r8.internal.y9:
     com.android.tools.r8.org.objectweb.asm.MethodVisitor val$methodVisitor -> F
     1:1:void <init>(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[],com.android.tools.r8.org.objectweb.asm.MethodVisitor):448:448 -> <init>
     1:15:void visitEnd():451:465 -> c
@@ -100789,7 +100929,7 @@
     21:22:void visitEnd():455:456 -> c
     23:27:void com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$1.throwError(com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer,java.lang.Exception):470:474 -> c
     23:27:void visitEnd():460 -> c
-com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$Method -> com.android.tools.r8.internal.y9:
+com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$Method -> com.android.tools.r8.internal.z9:
     com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$Method VISIT_INT_INSN -> c
     com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$Method VISIT_VAR_INSN -> d
     com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$Method VISIT_TYPE_INSN -> e
@@ -100799,7 +100939,7 @@
     com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$Method VISIT_INSN -> b
     1:7:void <clinit>():73:79 -> <clinit>
     1:1:void <init>(java.lang.String,int):72:72 -> <init>
-com.android.tools.r8.org.objectweb.asm.util.CheckModuleAdapter -> com.android.tools.r8.internal.B9:
+com.android.tools.r8.org.objectweb.asm.util.CheckModuleAdapter -> com.android.tools.r8.internal.C9:
     com.android.tools.r8.org.objectweb.asm.util.CheckModuleAdapter$NameSet requiredModules -> c
     boolean visitEndCalled -> i
     int classVersion -> h
@@ -100830,12 +100970,12 @@
     16:16:void visitOpen(java.lang.String,int,java.lang.String[]):149:149 -> b
     17:18:void checkVisitEndNotCalled():192:193 -> b
     1:4:void visitUse(java.lang.String):164:167 -> c
-com.android.tools.r8.org.objectweb.asm.util.CheckModuleAdapter$NameSet -> com.android.tools.r8.internal.A9:
+com.android.tools.r8.org.objectweb.asm.util.CheckModuleAdapter$NameSet -> com.android.tools.r8.internal.B9:
     java.util.HashSet names -> b
     java.lang.String type -> a
     1:3:void <init>(java.lang.String):202:204 -> <init>
     1:2:void checkNameNotAlreadyDeclared(java.lang.String):208:209 -> a
-com.android.tools.r8.org.objectweb.asm.util.CheckRecordComponentAdapter -> com.android.tools.r8.internal.E9:
+com.android.tools.r8.org.objectweb.asm.util.CheckRecordComponentAdapter -> com.android.tools.r8.internal.F9:
     boolean visitEndCalled -> b
     1:1:void <init>(int,com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor):74:74 -> <init>
     1:1:void com.android.tools.r8.org.objectweb.asm.util.CheckRecordComponentAdapter.checkVisitEndNotCalled():117:117 -> a
@@ -100869,7 +101009,7 @@
     117:117:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):92:92 -> a
     118:118:void com.android.tools.r8.org.objectweb.asm.util.CheckRecordComponentAdapter.checkVisitEndNotCalled() -> a
     118:118:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):88 -> a
-com.android.tools.r8.org.objectweb.asm.util.Printer -> com.android.tools.r8.internal.gN:
+com.android.tools.r8.org.objectweb.asm.util.Printer -> com.android.tools.r8.internal.lN:
     java.util.List text -> c
     java.lang.StringBuilder stringBuilder -> b
     java.lang.String[] TYPES -> e
@@ -100910,7 +101050,7 @@
     void visitParameter(java.lang.String,int) -> b
     void visitMaxs(int,int) -> c
     void visitVarInsn(int,int) -> d
-com.android.tools.r8.org.objectweb.asm.util.Textifier -> com.android.tools.r8.internal.XY:
+com.android.tools.r8.org.objectweb.asm.util.Textifier -> com.android.tools.r8.internal.cZ:
     java.lang.String tab2 -> g
     java.lang.String tab -> f
     java.lang.String ltab -> i
@@ -101077,7 +101217,7 @@
     5:11:void visitMaxs(int,int):1174:1180 -> c
     12:12:void maybeAppendComma(int):1449:1449 -> c
     1:3:void visitVarInsn(int,int):892:894 -> d
-com.android.tools.r8.org.objectweb.asm.util.TraceAnnotationVisitor -> com.android.tools.r8.internal.BZ:
+com.android.tools.r8.org.objectweb.asm.util.TraceAnnotationVisitor -> com.android.tools.r8.internal.HZ:
     com.android.tools.r8.org.objectweb.asm.util.Printer printer -> b
     1:2:void <init>(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,com.android.tools.r8.org.objectweb.asm.util.Printer):60:61 -> <init>
     1:2:void visit(java.lang.String,java.lang.Object):66:67 -> a
@@ -101085,7 +101225,7 @@
     5:6:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,java.lang.String):78:79 -> a
     7:8:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitArray(java.lang.String):84:85 -> a
     9:10:void visitEnd():90:91 -> a
-com.android.tools.r8.org.objectweb.asm.util.TraceMethodVisitor -> com.android.tools.r8.internal.CZ:
+com.android.tools.r8.org.objectweb.asm.util.TraceMethodVisitor -> com.android.tools.r8.internal.IZ:
     com.android.tools.r8.org.objectweb.asm.util.Printer p -> j
     1:2:void <init>(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.util.Printer):65:66 -> <init>
     1:3:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):77:79 -> a
@@ -101131,7 +101271,7 @@
     5:6:void visitMaxs(int,int):303:304 -> c
     7:8:void visitEnd():309:310 -> c
     1:2:void visitVarInsn(int,int):147:148 -> d
-com.android.tools.r8.org.objectweb.asm.util.TraceSignatureVisitor -> com.android.tools.r8.internal.FZ:
+com.android.tools.r8.org.objectweb.asm.util.TraceSignatureVisitor -> com.android.tools.r8.internal.LZ:
     int arrayStack -> j
     java.lang.String separator -> k
     int argumentStack -> i
@@ -101279,10 +101419,10 @@
     129:129:java.lang.String getDescription():62:62 -> getDescription
     63:63:java.lang.String getDescription():62:62 -> getDescription
     64:64:java.lang.String getDescription():0:0 -> getDescription
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":130,"2":131,"3":132}}
-    130:130:java.lang.String getDescription():62:62 -> getDescription
-    131:131:java.lang.String getDescription():62:62 -> getDescription
-    132:132:java.lang.String getDescription():62:62 -> getDescription
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":127,"2":128,"3":129}}
+    127:127:java.lang.String getDescription():62:62 -> getDescription
+    128:128:java.lang.String getDescription():62:62 -> getDescription
+    129:129:java.lang.String getDescription():62:62 -> getDescription
     126:126:java.lang.String getDescription():62:62 -> getDescription
     1:1:int getLine():40:40 -> getLine
     1:1:long getOffset():52:52 -> getOffset
@@ -101377,13 +101517,13 @@
     java.lang.String packageName -> a
     1:6:void <init>(java.lang.String):19:24 -> <init>
     7:7:void <init>(java.lang.String):0:0 -> <init>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":37,"2":38,"3":39,"4":40,"5":41,"6":42}}
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":35,"2":36,"3":37,"4":38,"5":39,"6":40}}
+    35:35:void <init>(java.lang.String):24:24 -> <init>
+    36:36:void <init>(java.lang.String):24:24 -> <init>
     37:37:void <init>(java.lang.String):24:24 -> <init>
     38:38:void <init>(java.lang.String):24:24 -> <init>
     39:39:void <init>(java.lang.String):24:24 -> <init>
     40:40:void <init>(java.lang.String):24:24 -> <init>
-    41:41:void <init>(java.lang.String):24:24 -> <init>
-    42:42:void <init>(java.lang.String):24:24 -> <init>
     31:33:void <init>(java.lang.String):24:26 -> <init>
     34:34:void <init>(java.lang.String):21:21 -> <init>
     1:5:boolean equals(java.lang.Object):38:42 -> equals
@@ -101462,17 +101602,17 @@
     1:20:com.android.tools.r8.references.PrimitiveReference com.android.tools.r8.references.PrimitiveReference.fromDescriptor(java.lang.String):81:100 -> primitiveFromDescriptor
     1:20:com.android.tools.r8.references.PrimitiveReference primitiveFromDescriptor(java.lang.String):71 -> primitiveFromDescriptor
     21:21:com.android.tools.r8.references.PrimitiveReference primitiveFromDescriptor(java.lang.String):0:0 -> primitiveFromDescriptor
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":58,"2":59,"3":60,"4":61,"5":62}}
-    58:58:com.android.tools.r8.references.PrimitiveReference com.android.tools.r8.references.PrimitiveReference.fromDescriptor(java.lang.String):100:100 -> primitiveFromDescriptor
-    58:58:com.android.tools.r8.references.PrimitiveReference primitiveFromDescriptor(java.lang.String):71 -> primitiveFromDescriptor
-    59:59:com.android.tools.r8.references.PrimitiveReference com.android.tools.r8.references.PrimitiveReference.fromDescriptor(java.lang.String):100:100 -> primitiveFromDescriptor
-    59:59:com.android.tools.r8.references.PrimitiveReference primitiveFromDescriptor(java.lang.String):71 -> primitiveFromDescriptor
-    60:60:com.android.tools.r8.references.PrimitiveReference com.android.tools.r8.references.PrimitiveReference.fromDescriptor(java.lang.String):100:100 -> primitiveFromDescriptor
-    60:60:com.android.tools.r8.references.PrimitiveReference primitiveFromDescriptor(java.lang.String):71 -> primitiveFromDescriptor
-    61:61:com.android.tools.r8.references.PrimitiveReference com.android.tools.r8.references.PrimitiveReference.fromDescriptor(java.lang.String):100:100 -> primitiveFromDescriptor
-    61:61:com.android.tools.r8.references.PrimitiveReference primitiveFromDescriptor(java.lang.String):71 -> primitiveFromDescriptor
-    62:62:com.android.tools.r8.references.PrimitiveReference com.android.tools.r8.references.PrimitiveReference.fromDescriptor(java.lang.String):100:100 -> primitiveFromDescriptor
-    62:62:com.android.tools.r8.references.PrimitiveReference primitiveFromDescriptor(java.lang.String):71 -> primitiveFromDescriptor
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":45,"2":46,"3":47,"4":48,"5":49}}
+    45:45:com.android.tools.r8.references.PrimitiveReference com.android.tools.r8.references.PrimitiveReference.fromDescriptor(java.lang.String):100:100 -> primitiveFromDescriptor
+    45:45:com.android.tools.r8.references.PrimitiveReference primitiveFromDescriptor(java.lang.String):71 -> primitiveFromDescriptor
+    46:46:com.android.tools.r8.references.PrimitiveReference com.android.tools.r8.references.PrimitiveReference.fromDescriptor(java.lang.String):100:100 -> primitiveFromDescriptor
+    46:46:com.android.tools.r8.references.PrimitiveReference primitiveFromDescriptor(java.lang.String):71 -> primitiveFromDescriptor
+    47:47:com.android.tools.r8.references.PrimitiveReference com.android.tools.r8.references.PrimitiveReference.fromDescriptor(java.lang.String):100:100 -> primitiveFromDescriptor
+    47:47:com.android.tools.r8.references.PrimitiveReference primitiveFromDescriptor(java.lang.String):71 -> primitiveFromDescriptor
+    48:48:com.android.tools.r8.references.PrimitiveReference com.android.tools.r8.references.PrimitiveReference.fromDescriptor(java.lang.String):100:100 -> primitiveFromDescriptor
+    48:48:com.android.tools.r8.references.PrimitiveReference primitiveFromDescriptor(java.lang.String):71 -> primitiveFromDescriptor
+    49:49:com.android.tools.r8.references.PrimitiveReference com.android.tools.r8.references.PrimitiveReference.fromDescriptor(java.lang.String):100:100 -> primitiveFromDescriptor
+    49:49:com.android.tools.r8.references.PrimitiveReference primitiveFromDescriptor(java.lang.String):71 -> primitiveFromDescriptor
     22:22:com.android.tools.r8.references.PrimitiveReference com.android.tools.r8.references.PrimitiveReference.fromDescriptor(java.lang.String):100:100 -> primitiveFromDescriptor
     22:22:com.android.tools.r8.references.PrimitiveReference primitiveFromDescriptor(java.lang.String):71 -> primitiveFromDescriptor
     23:35:com.android.tools.r8.references.PrimitiveReference com.android.tools.r8.references.PrimitiveReference.fromDescriptor(java.lang.String):84:96 -> primitiveFromDescriptor
@@ -101690,7 +101830,7 @@
     4:4:com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexMethod):127:127 -> a
     5:5:com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexField):132:132 -> a
     boolean verifyRenamingConsistentWithResolution(com.android.tools.r8.graph.DexMethod) -> b
-com.android.tools.r8.repackaging.Repackaging -> com.android.tools.r8.internal.ZS:
+com.android.tools.r8.repackaging.Repackaging -> com.android.tools.r8.internal.eT:
     com.android.tools.r8.shaking.ProguardConfiguration proguardConfiguration -> b
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.repackaging.Repackaging$RepackagingConfiguration repackagingConfiguration -> c
@@ -101723,7 +101863,7 @@
     117:117:boolean lambda$run$0(java.util.Map$Entry):142:142 -> a
     118:146:void processClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramPackage,java.lang.String,com.android.tools.r8.com.google.common.collect.BiMap):272:300 -> a
     147:147:void processClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramPackage,java.lang.String,com.android.tools.r8.com.google.common.collect.BiMap):298:298 -> a
-com.android.tools.r8.repackaging.Repackaging$1 -> com.android.tools.r8.internal.US:
+com.android.tools.r8.repackaging.Repackaging$1 -> com.android.tools.r8.internal.ZS:
     boolean $assertionsDisabled -> f
     1:1:void <clinit>():87:87 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView):87:87 -> <init>
@@ -101731,10 +101871,10 @@
     2:2:void recordMethodChange(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):100:100 -> a
     3:3:void recordClassChange(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):105:105 -> a
     com.android.tools.r8.graph.DexType mapClassType(com.android.tools.r8.graph.DexType) -> b
-com.android.tools.r8.repackaging.Repackaging$2 -> com.android.tools.r8.internal.VS:
+com.android.tools.r8.repackaging.Repackaging$2 -> com.android.tools.r8.internal.aT:
     1:1:void <init>(com.android.tools.r8.graph.AppView):109:109 -> <init>
     boolean isLegitimateToHaveEmptyMappings() -> k
-com.android.tools.r8.repackaging.Repackaging$DefaultRepackagingConfiguration -> com.android.tools.r8.internal.WS:
+com.android.tools.r8.repackaging.Repackaging$DefaultRepackagingConfiguration -> com.android.tools.r8.internal.bT:
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.naming.Minifier$MinificationPackageNamingStrategy packageMinificationStrategy -> e
@@ -101774,8 +101914,8 @@
     494:498:com.android.tools.r8.graph.DexType getRepackagedType(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.lang.String,com.android.tools.r8.com.google.common.collect.BiMap):444 -> a
     499:499:com.android.tools.r8.graph.DexType getRepackagedType(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.lang.String,com.android.tools.r8.com.google.common.collect.BiMap):445:445 -> a
     1:13:boolean mayHavePinnedPackagePrivateOrProtectedItem(com.android.tools.r8.graph.ProgramPackage):396:408 -> b
-com.android.tools.r8.repackaging.Repackaging$RepackagingConfiguration -> com.android.tools.r8.internal.XS:
-com.android.tools.r8.repackaging.Repackaging$RepackagingTreeFixer -> com.android.tools.r8.internal.YS:
+com.android.tools.r8.repackaging.Repackaging$RepackagingConfiguration -> com.android.tools.r8.internal.cT:
+com.android.tools.r8.repackaging.Repackaging$RepackagingTreeFixer -> com.android.tools.r8.internal.dT:
     com.android.tools.r8.repackaging.RepackagingLens$Builder lensBuilder -> g
     com.android.tools.r8.com.google.common.collect.BiMap mappings -> f
     boolean $assertionsDisabled -> h
@@ -101794,7 +101934,7 @@
     6:6:void recordClassChange(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):191 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     1:1:com.android.tools.r8.graph.DexType mapClassType(com.android.tools.r8.graph.DexType):176:176 -> b
-com.android.tools.r8.repackaging.RepackagingAnnotationTracer -> com.android.tools.r8.internal.aT:
+com.android.tools.r8.repackaging.RepackagingAnnotationTracer -> com.android.tools.r8.internal.fT:
     com.android.tools.r8.repackaging.RepackagingUseRegistry registry -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():18:18 -> <clinit>
@@ -101819,7 +101959,7 @@
     111:111:boolean com.android.tools.r8.graph.DexMethodHandle.isMethodHandle():294:294 -> a
     111:111:void traceDexValue(com.android.tools.r8.graph.DexValue):90 -> a
     112:119:void traceDexValue(com.android.tools.r8.graph.DexValue):90:97 -> a
-com.android.tools.r8.repackaging.RepackagingConstraintGraph -> com.android.tools.r8.internal.cT:
+com.android.tools.r8.repackaging.RepackagingConstraintGraph -> com.android.tools.r8.internal.hT:
     com.android.tools.r8.repackaging.RepackagingConstraintGraph$Node libraryBoundaryNode -> e
     com.android.tools.r8.graph.ProgramPackage pkg -> b
     java.util.Map nodes -> c
@@ -101847,7 +101987,7 @@
     11:15:com.android.tools.r8.repackaging.RepackagingConstraintGraph$Node getNode(com.android.tools.r8.graph.DexDefinition):82 -> b
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     16:22:com.android.tools.r8.repackaging.RepackagingConstraintGraph$Node getNode(com.android.tools.r8.graph.DexDefinition):83:89 -> b
-com.android.tools.r8.repackaging.RepackagingConstraintGraph$Node -> com.android.tools.r8.internal.bT:
+com.android.tools.r8.repackaging.RepackagingConstraintGraph$Node -> com.android.tools.r8.internal.gT:
     com.android.tools.r8.graph.DexDefinition definitionForDebugging -> a
     java.util.Set neighbors -> b
     1:1:void <init>(com.android.tools.r8.graph.DexDefinition):201:201 -> <init>
@@ -101860,7 +102000,7 @@
     219:219:java.lang.String toString():216:216 -> toString
     220:220:java.lang.String toString():216:216 -> toString
     217:217:java.lang.String toString():216:216 -> toString
-com.android.tools.r8.repackaging.RepackagingLens -> com.android.tools.r8.internal.fT:
+com.android.tools.r8.repackaging.RepackagingLens -> com.android.tools.r8.internal.kT:
     com.android.tools.r8.com.google.common.collect.BiMap newTypes -> n
     boolean $assertionsDisabled -> p
     java.util.Map packageRenamings -> o
@@ -101873,15 +102013,15 @@
     13:13:boolean isSimpleTypeRenamingOrEqual(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):70:70 -> a
     14:20:boolean isSimpleTypeRenamingOrEqual(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.DexMember):74:80 -> a
     21:21:boolean isSimpleTypeRenamingOrEqual(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.DexMember):77:77 -> a
-com.android.tools.r8.repackaging.RepackagingLens$1 -> com.android.tools.r8.internal.dT:
-com.android.tools.r8.repackaging.RepackagingLens$Builder -> com.android.tools.r8.internal.eT:
+com.android.tools.r8.repackaging.RepackagingLens$1 -> com.android.tools.r8.internal.iT:
+com.android.tools.r8.repackaging.RepackagingLens$Builder -> com.android.tools.r8.internal.jT:
     com.android.tools.r8.com.google.common.collect.BiMap newTypes -> a
     com.android.tools.r8.utils.collections.MutableBidirectionalOneToOneMap newFieldSignatures -> b
     com.android.tools.r8.utils.collections.MutableBidirectionalOneToOneMap newMethodSignatures -> c
     boolean $assertionsDisabled -> d
     1:1:void <clinit>():83:83 -> <clinit>
     1:6:void <init>():83:88 -> <init>
-com.android.tools.r8.repackaging.RepackagingUseRegistry -> com.android.tools.r8.internal.gT:
+com.android.tools.r8.repackaging.RepackagingUseRegistry -> com.android.tools.r8.internal.lT:
     com.android.tools.r8.graph.InitClassLens initClassLens -> h
     boolean $assertionsDisabled -> k
     com.android.tools.r8.repackaging.RepackagingConstraintGraph constraintGraph -> g
@@ -102149,16 +102289,16 @@
     1:3:void <init>(int,java.lang.String):18:20 -> <init>
     1:1:com.android.tools.r8.retrace.RetraceInvalidRewriteFrameDiagnostics create(int,java.lang.String):44:44 -> create
     1:1:java.lang.String getDiagnosticMessage():0:0 -> getDiagnosticMessage
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":72,"2":73,"3":74}}
-    72:72:java.lang.String getDiagnosticMessage():35:35 -> getDiagnosticMessage
-    73:73:java.lang.String getDiagnosticMessage():35:35 -> getDiagnosticMessage
-    74:74:java.lang.String getDiagnosticMessage():35:35 -> getDiagnosticMessage
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":38,"2":39,"3":40}}
+    38:38:java.lang.String getDiagnosticMessage():35:35 -> getDiagnosticMessage
+    39:39:java.lang.String getDiagnosticMessage():35:35 -> getDiagnosticMessage
+    40:40:java.lang.String getDiagnosticMessage():35:35 -> getDiagnosticMessage
     36:36:java.lang.String getDiagnosticMessage():35:35 -> getDiagnosticMessage
     37:37:java.lang.String getDiagnosticMessage():0:0 -> getDiagnosticMessage
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":75,"2":76,"3":77}}
-    75:75:java.lang.String getDiagnosticMessage():35:35 -> getDiagnosticMessage
-    76:76:java.lang.String getDiagnosticMessage():35:35 -> getDiagnosticMessage
-    77:77:java.lang.String getDiagnosticMessage():35:35 -> getDiagnosticMessage
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":38,"2":39,"3":40}}
+    38:38:java.lang.String getDiagnosticMessage():35:35 -> getDiagnosticMessage
+    39:39:java.lang.String getDiagnosticMessage():35:35 -> getDiagnosticMessage
+    40:40:java.lang.String getDiagnosticMessage():35:35 -> getDiagnosticMessage
     1:1:com.android.tools.r8.origin.Origin getOrigin():25:25 -> getOrigin
     1:1:com.android.tools.r8.position.Position getPosition():30:30 -> getPosition
 com.android.tools.r8.retrace.RetraceInvalidStackTraceLineDiagnostics -> com.android.tools.r8.retrace.RetraceInvalidStackTraceLineDiagnostics:
@@ -102249,17 +102389,17 @@
     6:8:com.android.tools.r8.retrace.StringRetrace create(com.android.tools.r8.retrace.Retracer,com.android.tools.r8.DiagnosticsHandler,java.lang.String,boolean):64:66 -> create
     1:4:java.util.List retrace(java.util.List):79:82 -> retrace
     5:6:java.util.List retrace(java.lang.String):115:116 -> retrace
-com.android.tools.r8.retrace.internal.Definition -> com.android.tools.r8.internal.ff:
+com.android.tools.r8.retrace.internal.Definition -> com.android.tools.r8.internal.gf:
 # {"id":"sourceFile","fileName":"Definition.java"}
-com.android.tools.r8.retrace.internal.DirectClassNameMapperProguardMapProducer -> com.android.tools.r8.internal.jh:
+com.android.tools.r8.retrace.internal.DirectClassNameMapperProguardMapProducer -> com.android.tools.r8.internal.lh:
     com.android.tools.r8.naming.ClassNameMapper getClassNameMapper() -> a
     1:1:java.io.Reader get():11:11 -> get
     2:2:java.io.BufferedReader get():17:17 -> get
-com.android.tools.r8.retrace.internal.FieldDefinition -> com.android.tools.r8.internal.Gj:
+com.android.tools.r8.retrace.internal.FieldDefinition -> com.android.tools.r8.internal.Ij:
     1:1:void <init>():13:13 -> <init>
     com.android.tools.r8.retrace.internal.FieldDefinition substituteHolder(com.android.tools.r8.references.ClassReference) -> a
-com.android.tools.r8.retrace.internal.FieldDefinition$1 -> com.android.tools.r8.internal.Dj:
-com.android.tools.r8.retrace.internal.FieldDefinition$BaseFieldDefinition -> com.android.tools.r8.internal.Ej:
+com.android.tools.r8.retrace.internal.FieldDefinition$1 -> com.android.tools.r8.internal.Fj:
+com.android.tools.r8.retrace.internal.FieldDefinition$BaseFieldDefinition -> com.android.tools.r8.internal.Gj:
     com.android.tools.r8.references.ClassReference classReference -> a
     java.lang.String name -> b
     1:1:void <init>(com.android.tools.r8.references.ClassReference,java.lang.String,com.android.tools.r8.retrace.internal.FieldDefinition$1):25:25 -> <init>
@@ -102271,7 +102411,7 @@
     1:1:com.android.tools.r8.references.ClassReference getHolderClass():41:41 -> getHolderClass
     1:1:java.lang.String getName():36:36 -> getName
     1:1:int hashCode():63:63 -> hashCode
-com.android.tools.r8.retrace.internal.FieldDefinition$FullFieldDefinition -> com.android.tools.r8.internal.Fj:
+com.android.tools.r8.retrace.internal.FieldDefinition$FullFieldDefinition -> com.android.tools.r8.internal.Hj:
     com.android.tools.r8.references.FieldReference fieldReference -> a
     1:1:void <init>(com.android.tools.r8.references.FieldReference,com.android.tools.r8.retrace.internal.FieldDefinition$1):67:67 -> <init>
     2:3:void <init>(com.android.tools.r8.references.FieldReference):71:72 -> <init>
@@ -102282,12 +102422,12 @@
     1:1:com.android.tools.r8.references.ClassReference getHolderClass():82:82 -> getHolderClass
     1:1:java.lang.String getName():77:77 -> getName
     1:1:int hashCode():105:105 -> hashCode
-com.android.tools.r8.retrace.internal.MethodDefinition -> com.android.tools.r8.internal.HE:
+com.android.tools.r8.retrace.internal.MethodDefinition -> com.android.tools.r8.internal.ME:
     1:1:void <init>():13:13 -> <init>
     com.android.tools.r8.retrace.internal.MethodDefinition$FullMethodDefinition asFullMethodDefinition() -> a
     com.android.tools.r8.retrace.internal.MethodDefinition substituteHolder(com.android.tools.r8.references.ClassReference) -> a
-com.android.tools.r8.retrace.internal.MethodDefinition$1 -> com.android.tools.r8.internal.EE:
-com.android.tools.r8.retrace.internal.MethodDefinition$BaseMethodDefinition -> com.android.tools.r8.internal.FE:
+com.android.tools.r8.retrace.internal.MethodDefinition$1 -> com.android.tools.r8.internal.JE:
+com.android.tools.r8.retrace.internal.MethodDefinition$BaseMethodDefinition -> com.android.tools.r8.internal.KE:
     com.android.tools.r8.references.ClassReference classReference -> a
     java.lang.String name -> b
     1:1:void <init>(com.android.tools.r8.references.ClassReference,java.lang.String,com.android.tools.r8.retrace.internal.MethodDefinition$1):33:33 -> <init>
@@ -102299,7 +102439,7 @@
     1:1:com.android.tools.r8.references.ClassReference getHolderClass():45:45 -> getHolderClass
     1:1:java.lang.String getName():50:50 -> getName
     1:1:int hashCode():72:72 -> hashCode
-com.android.tools.r8.retrace.internal.MethodDefinition$FullMethodDefinition -> com.android.tools.r8.internal.GE:
+com.android.tools.r8.retrace.internal.MethodDefinition$FullMethodDefinition -> com.android.tools.r8.internal.LE:
     com.android.tools.r8.references.MethodReference methodReference -> a
     1:1:void <init>(com.android.tools.r8.references.MethodReference,com.android.tools.r8.retrace.internal.MethodDefinition$1):76:76 -> <init>
     2:3:void <init>(com.android.tools.r8.references.MethodReference):80:81 -> <init>
@@ -102313,9 +102453,9 @@
     1:1:com.android.tools.r8.references.ClassReference getHolderClass():86:86 -> getHolderClass
     1:1:java.lang.String getName():91:91 -> getName
     1:1:int hashCode():132:132 -> hashCode
-com.android.tools.r8.retrace.internal.RetraceAbortException -> com.android.tools.r8.internal.wT:
+com.android.tools.r8.retrace.internal.RetraceAbortException -> com.android.tools.r8.internal.BT:
     1:1:void <init>():7:7 -> <init>
-com.android.tools.r8.retrace.internal.RetraceClassResultImpl -> com.android.tools.r8.internal.AT:
+com.android.tools.r8.retrace.internal.RetraceClassResultImpl -> com.android.tools.r8.internal.FT:
     com.android.tools.r8.references.ClassReference obfuscatedReference -> a
     com.android.tools.r8.retrace.internal.RetracerImpl retracer -> c
     com.android.tools.r8.naming.ClassNamingForNameMapper mapper -> b
@@ -102387,10 +102527,10 @@
     7:7:com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl.createElement():167:167 -> stream
     7:7:java.util.stream.Stream stream():157 -> stream
     8:8:java.util.stream.Stream stream():157:157 -> stream
-com.android.tools.r8.retrace.internal.RetraceClassResultImpl$1 -> com.android.tools.r8.internal.xT:
-com.android.tools.r8.retrace.internal.RetraceClassResultImpl$ResultConstructor -> com.android.tools.r8.internal.yT:
+com.android.tools.r8.retrace.internal.RetraceClassResultImpl$1 -> com.android.tools.r8.internal.CT:
+com.android.tools.r8.retrace.internal.RetraceClassResultImpl$ResultConstructor -> com.android.tools.r8.internal.DT:
     java.lang.Object create(com.android.tools.r8.retrace.internal.RetraceClassResultImpl,java.util.List,java.lang.Object,com.android.tools.r8.retrace.internal.RetracerImpl) -> a
-com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl -> com.android.tools.r8.internal.zT:
+com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl -> com.android.tools.r8.internal.ET:
     com.android.tools.r8.retrace.internal.RetraceClassResultImpl classResult -> a
     com.android.tools.r8.naming.ClassNamingForNameMapper mapper -> c
     com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl classReference -> b
@@ -102453,7 +102593,7 @@
     2:2:com.android.tools.r8.retrace.RetraceMethodResult lookupMethod(java.lang.String):182 -> lookupMethod
     3:3:com.android.tools.r8.retrace.internal.RetraceMethodResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl.lookupMethod(java.lang.String):253:253 -> lookupMethod
     3:3:com.android.tools.r8.retrace.RetraceMethodResult lookupMethod(java.lang.String):182 -> lookupMethod
-com.android.tools.r8.retrace.internal.RetraceFieldResultImpl -> com.android.tools.r8.internal.DT:
+com.android.tools.r8.retrace.internal.RetraceFieldResultImpl -> com.android.tools.r8.internal.IT:
     java.util.List memberNamings -> a
     com.android.tools.r8.retrace.internal.FieldDefinition fieldDefinition -> b
     com.android.tools.r8.retrace.Retracer retracer -> c
@@ -102477,8 +102617,8 @@
     1:8:boolean isAmbiguous():85:92 -> isAmbiguous
     1:1:boolean isEmpty():97:97 -> isEmpty
     1:2:java.util.stream.Stream stream():43:44 -> stream
-com.android.tools.r8.retrace.internal.RetraceFieldResultImpl$1 -> com.android.tools.r8.internal.BT:
-com.android.tools.r8.retrace.internal.RetraceFieldResultImpl$ElementImpl -> com.android.tools.r8.internal.CT:
+com.android.tools.r8.retrace.internal.RetraceFieldResultImpl$1 -> com.android.tools.r8.internal.GT:
+com.android.tools.r8.retrace.internal.RetraceFieldResultImpl$ElementImpl -> com.android.tools.r8.internal.HT:
     com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl classElement -> c
     com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl fieldReference -> a
     com.android.tools.r8.retrace.internal.RetraceFieldResultImpl retraceFieldResult -> b
@@ -102493,7 +102633,7 @@
     1:1:com.android.tools.r8.retrace.RetracedSourceFile getSourceFile():142:142 -> getSourceFile
     1:1:boolean isCompilerSynthesized():117:117 -> isCompilerSynthesized
     1:1:boolean isUnknown():122:122 -> isUnknown
-com.android.tools.r8.retrace.internal.RetraceFrameResultImpl -> com.android.tools.r8.internal.GT:
+com.android.tools.r8.retrace.internal.RetraceFrameResultImpl -> com.android.tools.r8.internal.LT:
     com.android.tools.r8.retrace.internal.MethodDefinition methodDefinition -> a
     com.android.tools.r8.utils.OptionalBool isAmbiguousCache -> f
     com.android.tools.r8.retrace.internal.RetracerImpl retracer -> d
@@ -102577,7 +102717,7 @@
     20:34:boolean isAmbiguous():72:86 -> isAmbiguous
     1:1:boolean isEmpty():224:224 -> isEmpty
     1:2:java.util.stream.Stream stream():101:102 -> stream
-com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl -> com.android.tools.r8.internal.ET:
+com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl -> com.android.tools.r8.internal.JT:
     com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl methodReference -> a
     com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl classElement -> c
     com.android.tools.r8.retrace.internal.RetraceFrameResultImpl retraceFrameResult -> b
@@ -102645,7 +102785,7 @@
     1:1:boolean isUnknown():275:275 -> isUnknown
     1:3:java.util.stream.Stream stream():303:305 -> stream
     1:3:java.util.stream.Stream streamRewritten(com.android.tools.r8.retrace.RetraceStackTraceContext):344:346 -> streamRewritten
-com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame -> com.android.tools.r8.internal.FT:
+com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame -> com.android.tools.r8.internal.KT:
     com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange mappedRange -> a
     java.util.OptionalInt position -> b
     1:3:void <init>(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange,java.util.OptionalInt):394:396 -> <init>
@@ -102668,7 +102808,7 @@
     1:1:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame.getMappedRange():400:400 -> c
     1:1:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange access$400(com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame):389 -> c
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-com.android.tools.r8.retrace.internal.RetraceMethodResultImpl -> com.android.tools.r8.internal.JT:
+com.android.tools.r8.retrace.internal.RetraceMethodResultImpl -> com.android.tools.r8.internal.OT:
     com.android.tools.r8.retrace.internal.MethodDefinition methodDefinition -> a
     com.android.tools.r8.retrace.internal.RetraceClassResultImpl classResult -> b
     com.android.tools.r8.retrace.internal.RetracerImpl retracer -> d
@@ -102706,8 +102846,8 @@
     1:1:boolean isEmpty():69:69 -> isEmpty
     1:1:com.android.tools.r8.retrace.RetraceFrameResult narrowByPosition(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt):27:27 -> narrowByPosition
     1:2:java.util.stream.Stream stream():128:129 -> stream
-com.android.tools.r8.retrace.internal.RetraceMethodResultImpl$1 -> com.android.tools.r8.internal.HT:
-com.android.tools.r8.retrace.internal.RetraceMethodResultImpl$ElementImpl -> com.android.tools.r8.internal.IT:
+com.android.tools.r8.retrace.internal.RetraceMethodResultImpl$1 -> com.android.tools.r8.internal.MT:
+com.android.tools.r8.retrace.internal.RetraceMethodResultImpl$ElementImpl -> com.android.tools.r8.internal.NT:
     com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl methodReference -> a
     com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl classElement -> c
     com.android.tools.r8.retrace.internal.RetraceMethodResultImpl retraceMethodResult -> b
@@ -102721,7 +102861,7 @@
     1:3:com.android.tools.r8.retrace.RetracedSourceFile getSourceFile():200:200 -> getSourceFile
     1:1:boolean isCompilerSynthesized():175:175 -> isCompilerSynthesized
     1:1:boolean isUnknown():180:180 -> isUnknown
-com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl -> com.android.tools.r8.internal.MT:
+com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl -> com.android.tools.r8.internal.RT:
     com.android.tools.r8.references.ClassReference thrownException -> a
     java.util.OptionalInt rewritePosition -> b
     1:1:void <init>(com.android.tools.r8.references.ClassReference,java.util.OptionalInt,com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl$1):17:17 -> <init>
@@ -102732,8 +102872,8 @@
     1:1:int getRewritePosition():56:56 -> b
     1:1:com.android.tools.r8.references.ClassReference getThrownException():29:29 -> c
     1:1:boolean hasRewritePosition():52:52 -> d
-com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl$1 -> com.android.tools.r8.internal.KT:
-com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl$Builder -> com.android.tools.r8.internal.LT:
+com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl$1 -> com.android.tools.r8.internal.PT:
+com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl$Builder -> com.android.tools.r8.internal.QT:
     com.android.tools.r8.references.ClassReference thrownException -> a
     java.util.OptionalInt rewritePosition -> b
     1:1:void <init>():81:81 -> <init>
@@ -102743,7 +102883,7 @@
     3:3:com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl build():99:99 -> a
     1:1:com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl$Builder clearRewritePosition():94:94 -> b
     1:1:com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl$Builder create():103:103 -> c
-com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation -> com.android.tools.r8.internal.PT:
+com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation -> com.android.tools.r8.internal.UT:
     com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation EMPTY -> b
     int removeInnerFramesCount -> a
     1:1:void <clinit>():9:9 -> <clinit>
@@ -102751,13 +102891,13 @@
     2:3:void <init>(int):14:15 -> <init>
     1:1:com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation empty():23:23 -> a
     1:1:int getRemoveInnerFramesCount():19:19 -> b
-com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation$1 -> com.android.tools.r8.internal.NT:
-com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation$Builder -> com.android.tools.r8.internal.OT:
+com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation$1 -> com.android.tools.r8.internal.ST:
+com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation$Builder -> com.android.tools.r8.internal.TT:
     int removeInnerFramesCount -> a
     1:1:void <init>():30:30 -> <init>
     1:1:com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation$Builder incrementRemoveInnerFramesCount(int):36:36 -> a
     2:2:com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation build():50:50 -> a
-com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl -> com.android.tools.r8.internal.ST:
+com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl -> com.android.tools.r8.internal.XT:
     java.util.stream.Stream resultStream -> a
     java.util.function.Supplier resultContext -> b
     1:1:void <init>(java.util.stream.Stream,java.util.function.Supplier,com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$1):14:14 -> <init>
@@ -102770,14 +102910,14 @@
     4:4:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder builder():38 -> a
     1:1:com.android.tools.r8.retrace.RetraceStackTraceContext getResultContext():34:34 -> getResultContext
     1:1:java.util.stream.Stream stream():29:29 -> stream
-com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$1 -> com.android.tools.r8.internal.QT:
-com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder -> com.android.tools.r8.internal.RT:
+com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$1 -> com.android.tools.r8.internal.VT:
+com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder -> com.android.tools.r8.internal.WT:
     java.util.stream.Stream resultStream -> a
     java.util.function.Supplier resultContext -> b
     1:1:void <init>():46:46 -> <init>
     1:1:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl build():60:60 -> a
     1:1:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder create():64:64 -> b
-com.android.tools.r8.retrace.internal.RetraceThrownExceptionResultImpl -> com.android.tools.r8.internal.VT:
+com.android.tools.r8.retrace.internal.RetraceThrownExceptionResultImpl -> com.android.tools.r8.internal.aU:
     com.android.tools.r8.references.ClassReference obfuscatedReference -> a
     com.android.tools.r8.naming.ClassNamingForNameMapper mapper -> b
     1:4:void <init>(com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl,com.android.tools.r8.references.ClassReference,com.android.tools.r8.naming.ClassNamingForNameMapper):26:29 -> <init>
@@ -102787,8 +102927,8 @@
     7:7:com.android.tools.r8.retrace.RetraceThrownExceptionElement com.android.tools.r8.retrace.internal.RetraceThrownExceptionResultImpl.createElement():45:45 -> stream
     7:7:java.util.stream.Stream stream():34 -> stream
     8:8:java.util.stream.Stream stream():34:34 -> stream
-com.android.tools.r8.retrace.internal.RetraceThrownExceptionResultImpl$1 -> com.android.tools.r8.internal.TT:
-com.android.tools.r8.retrace.internal.RetraceThrownExceptionResultImpl$RetraceThrownExceptionElementImpl -> com.android.tools.r8.internal.UT:
+com.android.tools.r8.retrace.internal.RetraceThrownExceptionResultImpl$1 -> com.android.tools.r8.internal.YT:
+com.android.tools.r8.retrace.internal.RetraceThrownExceptionResultImpl$RetraceThrownExceptionElementImpl -> com.android.tools.r8.internal.ZT:
     com.android.tools.r8.naming.ClassNamingForNameMapper mapper -> c
     com.android.tools.r8.references.ClassReference thrownException -> d
     com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl classReference -> b
@@ -102809,7 +102949,7 @@
     11:11:com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl com.android.tools.r8.retrace.internal.RetraceThrownExceptionResultImpl$RetraceThrownExceptionElementImpl.getRetracedClass():73:73 -> getSourceFile
     11:11:com.android.tools.r8.retrace.RetracedSourceFile getSourceFile():92 -> getSourceFile
     12:12:com.android.tools.r8.retrace.RetracedSourceFile getSourceFile():92:92 -> getSourceFile
-com.android.tools.r8.retrace.internal.RetraceTypeResultImpl -> com.android.tools.r8.internal.XT:
+com.android.tools.r8.retrace.internal.RetraceTypeResultImpl -> com.android.tools.r8.internal.cU:
     com.android.tools.r8.retrace.Retracer retracer -> b
     com.android.tools.r8.references.TypeReference obfuscatedType -> a
     1:3:void <init>(com.android.tools.r8.references.TypeReference,com.android.tools.r8.retrace.Retracer):19:21 -> <init>
@@ -102820,11 +102960,11 @@
     1:1:com.android.tools.r8.retrace.RetraceTypeResult forEach(java.util.function.Consumer):14 -> forEach
     1:13:java.util.stream.Stream stream():31:43 -> stream
     14:14:java.util.stream.Stream stream():32:32 -> stream
-com.android.tools.r8.retrace.internal.RetraceTypeResultImpl$ElementImpl -> com.android.tools.r8.internal.WT:
+com.android.tools.r8.retrace.internal.RetraceTypeResultImpl$ElementImpl -> com.android.tools.r8.internal.bU:
     com.android.tools.r8.retrace.RetracedTypeReference retracedType -> a
     1:2:void <init>(com.android.tools.r8.retrace.RetracedTypeReference):61:62 -> <init>
     1:1:com.android.tools.r8.retrace.RetracedTypeReference getType():67:67 -> getType
-com.android.tools.r8.retrace.internal.RetraceUnknownJsonMappingInformationResultImpl -> com.android.tools.r8.internal.YT:
+com.android.tools.r8.retrace.internal.RetraceUnknownJsonMappingInformationResultImpl -> com.android.tools.r8.internal.dU:
     java.util.List elements -> a
     1:2:void <init>(java.util.List):21:22 -> <init>
     1:1:com.android.tools.r8.retrace.RetraceUnknownMappingInformationElement lambda$stream$0(com.android.tools.r8.naming.mappinginformation.UnknownJsonMappingInformation):30:30 -> a
@@ -102834,14 +102974,14 @@
     11:11:void lambda$build$1(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.naming.mappinginformation.MappingInformation):39 -> a
     12:12:void lambda$build$1(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.naming.mappinginformation.MappingInformation):40:40 -> a
     1:2:java.util.stream.Stream stream():27:28 -> stream
-com.android.tools.r8.retrace.internal.RetraceUnknownMappingInformationElementImpl -> com.android.tools.r8.internal.ZT:
+com.android.tools.r8.retrace.internal.RetraceUnknownMappingInformationElementImpl -> com.android.tools.r8.internal.eU:
     com.android.tools.r8.naming.mappinginformation.UnknownJsonMappingInformation mappingInformation -> b
     com.android.tools.r8.retrace.RetraceUnknownJsonMappingInformationResult result -> a
     1:3:void <init>(com.android.tools.r8.retrace.RetraceUnknownJsonMappingInformationResult,com.android.tools.r8.naming.mappinginformation.UnknownJsonMappingInformation):19:21 -> <init>
     1:1:java.lang.String getIdentifier():26:26 -> getIdentifier
     1:1:java.lang.String getPayLoad():31:31 -> getPayLoad
     1:1:com.android.tools.r8.retrace.RetraceUnknownJsonMappingInformationResult getRetraceResultContext():36:36 -> getRetraceResultContext
-com.android.tools.r8.retrace.internal.RetraceUtils -> com.android.tools.r8.internal.aU:
+com.android.tools.r8.retrace.internal.RetraceUtils -> com.android.tools.r8.internal.fU:
     java.util.Set KEEP_SOURCEFILE_NAMES -> a
     boolean $assertionsDisabled -> b
     1:3:void <clinit>():31:33 -> <clinit>
@@ -102889,7 +103029,7 @@
     264:264:int firstNonWhiteSpaceCharacterFromIndex(java.lang.String,int):127 -> a
     265:265:int com.android.tools.r8.retrace.internal.RetraceUtils.firstFromIndex(java.lang.String,int,java.util.function.Predicate):140:140 -> a
     265:265:int firstNonWhiteSpaceCharacterFromIndex(java.lang.String,int):127 -> a
-com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl -> com.android.tools.r8.internal.bU:
+com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl -> com.android.tools.r8.internal.gU:
     com.android.tools.r8.references.ClassReference classReference -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():10:10 -> <clinit>
@@ -102902,12 +103042,12 @@
     1:1:com.android.tools.r8.retrace.RetracedTypeReference getRetracedType():10 -> getRetracedType
     1:1:java.lang.String getTypeName():25:25 -> getTypeName
     1:1:int hashCode():56:56 -> hashCode
-com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl -> com.android.tools.r8.internal.fU:
+com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl -> com.android.tools.r8.internal.kU:
     1:1:void <init>(com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl$1):12:12 -> <init>
     2:2:void <init>():14:14 -> <init>
     1:1:boolean isKnown():23:23 -> isKnown
-com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl$1 -> com.android.tools.r8.internal.cU:
-com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl$KnownRetracedFieldReferenceImpl -> com.android.tools.r8.internal.dU:
+com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl$1 -> com.android.tools.r8.internal.hU:
+com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl$KnownRetracedFieldReferenceImpl -> com.android.tools.r8.internal.iU:
     com.android.tools.r8.references.FieldReference fieldReference -> b
     1:1:void <init>(com.android.tools.r8.references.FieldReference,com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl$1):31:31 -> <init>
     2:3:void <init>(com.android.tools.r8.references.FieldReference):36:37 -> <init>
@@ -102918,7 +103058,7 @@
     1:1:com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl$KnownRetracedFieldReferenceImpl.getHolderClass():52:52 -> getHolderClass
     1:1:com.android.tools.r8.retrace.RetracedClassReference getHolderClass():31 -> getHolderClass
     1:1:int hashCode():84:84 -> hashCode
-com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl$UnknownRetracedFieldReferenceImpl -> com.android.tools.r8.internal.eU:
+com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl$UnknownRetracedFieldReferenceImpl -> com.android.tools.r8.internal.jU:
     com.android.tools.r8.retrace.internal.FieldDefinition fieldDefinition -> b
     1:1:void <init>(com.android.tools.r8.retrace.internal.FieldDefinition,com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl$1):88:88 -> <init>
     2:3:void <init>(com.android.tools.r8.retrace.internal.FieldDefinition):92:93 -> <init>
@@ -102927,7 +103067,7 @@
     1:1:com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl$UnknownRetracedFieldReferenceImpl.getHolderClass():98:98 -> getHolderClass
     1:1:com.android.tools.r8.retrace.RetracedClassReference getHolderClass():88 -> getHolderClass
     1:1:int hashCode():120:120 -> hashCode
-com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl -> com.android.tools.r8.internal.jU:
+com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl -> com.android.tools.r8.internal.oU:
     java.util.Comparator comparator -> c
     int $r8$clinit -> d
     java.util.OptionalInt position -> b
@@ -102946,8 +103086,8 @@
     1:1:int getOriginalPositionOrDefault(int):50:50 -> getOriginalPositionOrDefault
     1:1:boolean hasPosition():45:45 -> hasPosition
     1:1:boolean isKnown():60:60 -> isKnown
-com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl$1 -> com.android.tools.r8.internal.gU:
-com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl$KnownRetracedMethodReferenceImpl -> com.android.tools.r8.internal.hU:
+com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl$1 -> com.android.tools.r8.internal.lU:
+com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl$KnownRetracedMethodReferenceImpl -> com.android.tools.r8.internal.mU:
     com.android.tools.r8.references.MethodReference methodReference -> e
     boolean $assertionsDisabled -> f
     1:1:void <clinit>():73:73 -> <clinit>
@@ -102963,14 +103103,14 @@
     1:2:com.android.tools.r8.references.TypeReference getReturnType():112:113 -> getReturnType
     1:1:int hashCode():140:140 -> hashCode
     1:1:boolean isVoid():92:92 -> isVoid
-com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl$UnknownRetracedMethodReferenceImpl -> com.android.tools.r8.internal.iU:
+com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl$UnknownRetracedMethodReferenceImpl -> com.android.tools.r8.internal.nU:
     com.android.tools.r8.retrace.internal.MethodDefinition methodDefinition -> e
     1:1:void <init>(com.android.tools.r8.retrace.internal.MethodDefinition,java.util.OptionalInt,com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl$1):144:144 -> <init>
     2:3:void <init>(com.android.tools.r8.retrace.internal.MethodDefinition,java.util.OptionalInt):150:151 -> <init>
     1:1:com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl$UnknownRetracedMethodReferenceImpl.getHolderClass():156:156 -> getHolderClass
     1:1:com.android.tools.r8.retrace.RetracedClassReference getHolderClass():144 -> getHolderClass
     1:1:java.lang.String getMethodName():161:161 -> getMethodName
-com.android.tools.r8.retrace.internal.RetracedSingleFrameImpl -> com.android.tools.r8.internal.kU:
+com.android.tools.r8.retrace.internal.RetracedSingleFrameImpl -> com.android.tools.r8.internal.pU:
     com.android.tools.r8.retrace.RetracedMethodReference methodReference -> b
     com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl frameElement -> a
     int index -> c
@@ -102982,7 +103122,7 @@
     2:2:com.android.tools.r8.retrace.RetracedMethodReference com.android.tools.r8.retrace.internal.RetracedSingleFrameImpl.getMethodReference():27:27 -> getSourceFile
     2:2:com.android.tools.r8.retrace.RetracedSourceFile getSourceFile():37 -> getSourceFile
     3:3:com.android.tools.r8.retrace.RetracedSourceFile getSourceFile():37:37 -> getSourceFile
-com.android.tools.r8.retrace.internal.RetracedSourceFileImpl -> com.android.tools.r8.internal.lU:
+com.android.tools.r8.retrace.internal.RetracedSourceFileImpl -> com.android.tools.r8.internal.qU:
     com.android.tools.r8.references.ClassReference classReference -> a
     java.lang.String filename -> b
     boolean $assertionsDisabled -> c
@@ -102993,7 +103133,7 @@
     2:2:java.lang.String getOrInferSourceFile():36:36 -> getOrInferSourceFile
     1:1:java.lang.String getSourceFile():28:28 -> getSourceFile
     1:1:boolean hasRetraceResult():23:23 -> hasRetraceResult
-com.android.tools.r8.retrace.internal.RetracedTypeReferenceImpl -> com.android.tools.r8.internal.mU:
+com.android.tools.r8.retrace.internal.RetracedTypeReferenceImpl -> com.android.tools.r8.internal.rU:
     boolean $assertionsDisabled -> b
     com.android.tools.r8.references.TypeReference typeReference -> a
     1:1:void <clinit>():12:12 -> <clinit>
@@ -103006,7 +103146,7 @@
     1:1:int hashCode():62:62 -> hashCode
     1:1:boolean isVoid():30:30 -> isVoid
     1:1:com.android.tools.r8.references.TypeReference toArray(int):35:35 -> toArray
-com.android.tools.r8.retrace.internal.RetracerImpl -> com.android.tools.r8.internal.nU:
+com.android.tools.r8.retrace.internal.RetracerImpl -> com.android.tools.r8.internal.sU:
     com.android.tools.r8.DiagnosticsHandler diagnosticsHandler -> b
     com.android.tools.r8.naming.ClassNameMapper classNameMapper -> a
     boolean $assertionsDisabled -> c
@@ -103047,7 +103187,7 @@
     4:4:com.android.tools.r8.retrace.RetraceThrownExceptionResult retraceThrownException(com.android.tools.r8.references.ClassReference):24 -> retraceThrownException
     1:1:com.android.tools.r8.retrace.internal.RetraceTypeResultImpl com.android.tools.r8.retrace.internal.RetracerImpl.retraceType(com.android.tools.r8.references.TypeReference):101:101 -> retraceType
     1:1:com.android.tools.r8.retrace.RetraceTypeResult retraceType(com.android.tools.r8.references.TypeReference):24 -> retraceType
-com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl -> com.android.tools.r8.internal.oW:
+com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl -> com.android.tools.r8.internal.tW:
     com.android.tools.r8.retrace.Retracer retracer -> a
     1:2:void <init>(com.android.tools.r8.retrace.Retracer):45:46 -> <init>
     1:4:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl retraceClassOrType(com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl,com.android.tools.r8.retrace.RetraceClassResult):81:84 -> a
@@ -103125,8 +103265,8 @@
     5:5:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder.setResultContext(java.util.function.Supplier):55:55 -> retrace
     5:5:com.android.tools.r8.retrace.RetraceStackTraceElementProxyResult retrace(com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceContext):55 -> retrace
     6:21:com.android.tools.r8.retrace.RetraceStackTraceElementProxyResult retrace(com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceContext):56:71 -> retrace
-com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$1 -> com.android.tools.r8.internal.lW:
-com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl -> com.android.tools.r8.internal.nW:
+com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$1 -> com.android.tools.r8.internal.qW:
+com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl -> com.android.tools.r8.internal.sW:
     boolean $assertionsDisabled -> m
     java.lang.String sourceFile -> h
     boolean isAmbiguous -> j
@@ -103181,7 +103321,7 @@
     1:1:boolean hasSourceFile():412:412 -> hasSourceFile
     1:1:boolean isAmbiguous():387:387 -> isAmbiguous
     1:1:boolean isTopFrame():392:392 -> isTopFrame
-com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder -> com.android.tools.r8.internal.mW:
+com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder -> com.android.tools.r8.internal.rW:
     java.lang.String sourceFile -> g
     com.android.tools.r8.retrace.RetracedMethodReference methodContext -> c
     java.util.List methodArguments -> f
@@ -103244,7 +103384,7 @@
     1:1:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder.setTopFrame(boolean):602:602 -> d
     1:1:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder access$300(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,boolean):543 -> d
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-com.android.tools.r8.retrace.internal.StackTraceElementStringProxy -> com.android.tools.r8.internal.uW:
+com.android.tools.r8.retrace.internal.StackTraceElementStringProxy -> com.android.tools.r8.internal.zW:
     java.util.List orderedIndices -> b
     com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex fieldOrReturnType -> h
     com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex methodArguments -> i
@@ -103290,20 +103430,20 @@
     1:1:boolean hasSourceFile():73:73 -> hasSourceFile
     1:9:java.lang.String com.android.tools.r8.retrace.internal.StackTraceElementStringProxy.toRetracedItem(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,boolean):146:154 -> toRetracedItem
     1:9:java.lang.Object toRetracedItem(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,boolean):23 -> toRetracedItem
-com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$1 -> com.android.tools.r8.internal.pW:
-com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassNameType -> com.android.tools.r8.internal.qW:
+com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$1 -> com.android.tools.r8.internal.uW:
+com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassNameType -> com.android.tools.r8.internal.vW:
     com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassNameType TYPENAME -> c
     com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassNameType BINARY -> b
     1:2:void <clinit>():167:168 -> <clinit>
     1:1:void <init>(java.lang.String,int):166:166 -> <init>
-com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassStringIndex -> com.android.tools.r8.internal.rW:
+com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassStringIndex -> com.android.tools.r8.internal.wW:
     com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassStringIndex NO_INDEX -> e
     com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassNameType classNameType -> d
     1:1:void <clinit>():367:367 -> <clinit>
     1:1:void <init>(int,int,com.android.tools.r8.utils.TriFunction,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassNameType,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$1):365:365 -> <init>
     2:3:void <init>(int,int,com.android.tools.r8.utils.TriFunction,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassNameType):382:383 -> <init>
     1:4:com.android.tools.r8.references.ClassReference getReference(java.lang.String):387:390 -> a
-com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder -> com.android.tools.r8.internal.sW:
+com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder -> com.android.tools.r8.internal.xW:
     java.util.List orderedIndices -> b
     com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex fieldOrReturnType -> h
     com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex methodArguments -> i
@@ -103345,7 +103485,7 @@
     43:43:java.lang.String lambda$registerMethodName$1(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy,java.lang.Boolean):216 -> d
     1:7:com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder registerSourceFile(int,int):224:230 -> e
     8:8:java.lang.String lambda$registerSourceFile$2(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy,java.lang.Boolean):229:229 -> e
-com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex -> com.android.tools.r8.internal.tW:
+com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex -> com.android.tools.r8.internal.yW:
     com.android.tools.r8.utils.TriFunction retracedString -> c
     int endIndex -> b
     int startIndex -> a
@@ -103353,7 +103493,7 @@
     2:5:void <init>(int,int,com.android.tools.r8.utils.TriFunction):354:357 -> <init>
     1:1:com.android.tools.r8.utils.TriFunction access$100(com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex):334:334 -> a
     2:2:boolean hasIndex():361:361 -> a
-com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser -> com.android.tools.r8.internal.JW:
+com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser -> com.android.tools.r8.internal.OW:
     com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$LineNumberGroup lineNumberGroup -> g
     com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$FieldOrReturnTypeGroup fieldOrReturnTypeGroup -> h
     com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$MethodNameGroup methodNameGroup -> j
@@ -103404,61 +103544,61 @@
     2:2:com.android.tools.r8.retrace.StackTraceElementProxy parse(java.lang.Object):16 -> parse
     3:15:com.android.tools.r8.retrace.internal.StackTraceElementStringProxy com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser.parse(java.lang.String):61:73 -> parse
     3:15:com.android.tools.r8.retrace.StackTraceElementProxy parse(java.lang.Object):16 -> parse
-com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$1 -> com.android.tools.r8.internal.vW:
-com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$BinaryNameGroup -> com.android.tools.r8.internal.wW:
+com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$1 -> com.android.tools.r8.internal.AW:
+com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$BinaryNameGroup -> com.android.tools.r8.internal.BW:
     1:1:void <init>():222:222 -> <init>
     2:2:void <init>(com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$1):222:222 -> <init>
     1:1:java.lang.String subExpression():226:226 -> a
     1:1:com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassNameType getClassNameType():231:231 -> b
-com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$ClassNameGroup -> com.android.tools.r8.internal.yW:
+com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$ClassNameGroup -> com.android.tools.r8.internal.DW:
     1:1:void <init>():179:179 -> <init>
     1:1:com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroupHandler createHandler(java.lang.String):185:185 -> a
     com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassNameType getClassNameType() -> b
-com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$ClassNameGroup$1 -> com.android.tools.r8.internal.xW:
+com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$ClassNameGroup$1 -> com.android.tools.r8.internal.CW:
     com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$ClassNameGroup this$0 -> b
     java.lang.String val$captureGroup -> a
     1:1:void <init>(com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$ClassNameGroup,java.lang.String):185:185 -> <init>
     boolean isClassHandler() -> a
     1:10:boolean matchHandler(com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder,java.util.regex.Matcher):188:197 -> a
-com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$FieldNameGroup -> com.android.tools.r8.internal.zW:
+com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$FieldNameGroup -> com.android.tools.r8.internal.EW:
     1:1:void <init>():255:255 -> <init>
     2:2:void <init>(com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$1):255:255 -> <init>
     1:1:java.lang.String subExpression():259:259 -> a
     2:2:com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroupHandler createHandler(java.lang.String):264:264 -> a
     3:7:boolean lambda$createHandler$0(java.lang.String,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder,java.util.regex.Matcher):265:269 -> a
-com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$FieldOrReturnTypeGroup -> com.android.tools.r8.internal.AW:
+com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$FieldOrReturnTypeGroup -> com.android.tools.r8.internal.FW:
     1:1:void <init>():339:339 -> <init>
     2:2:void <init>(com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$1):339:339 -> <init>
     1:1:java.lang.String subExpression():343:343 -> a
     2:2:com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroupHandler createHandler(java.lang.String):348:348 -> a
     3:7:boolean lambda$createHandler$0(java.lang.String,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder,java.util.regex.Matcher):349:353 -> a
-com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$LineNumberGroup -> com.android.tools.r8.internal.BW:
+com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$LineNumberGroup -> com.android.tools.r8.internal.GW:
     1:1:void <init>():298:298 -> <init>
     2:2:void <init>(com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$1):298:298 -> <init>
     1:1:java.lang.String subExpression():302:302 -> a
     2:2:com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroupHandler createHandler(java.lang.String):307:307 -> a
     3:7:boolean lambda$createHandler$0(java.lang.String,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder,java.util.regex.Matcher):308:312 -> a
-com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$MethodArgumentsGroup -> com.android.tools.r8.internal.CW:
+com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$MethodArgumentsGroup -> com.android.tools.r8.internal.HW:
     1:1:void <init>():359:359 -> <init>
     2:2:void <init>(com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$1):359:359 -> <init>
     1:1:java.lang.String subExpression():363:363 -> a
     2:2:com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroupHandler createHandler(java.lang.String):368:368 -> a
     3:7:boolean lambda$createHandler$0(java.lang.String,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder,java.util.regex.Matcher):369:373 -> a
-com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$MethodNameGroup -> com.android.tools.r8.internal.DW:
+com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$MethodNameGroup -> com.android.tools.r8.internal.IW:
     1:1:void <init>():235:235 -> <init>
     2:2:void <init>(com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$1):235:235 -> <init>
     1:1:java.lang.String subExpression():239:239 -> a
     2:2:com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroupHandler createHandler(java.lang.String):244:244 -> a
     3:7:boolean lambda$createHandler$0(java.lang.String,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder,java.util.regex.Matcher):245:249 -> a
-com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroup -> com.android.tools.r8.internal.EW:
+com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroup -> com.android.tools.r8.internal.JW:
     1:1:void <init>():161:161 -> <init>
     2:2:void <init>(com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$1):161:161 -> <init>
     com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroupHandler createHandler(java.lang.String) -> a
     java.lang.String subExpression() -> a
-com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroupHandler -> com.android.tools.r8.internal.FW:
+com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroupHandler -> com.android.tools.r8.internal.KW:
     boolean isClassHandler() -> a
     boolean matchHandler(com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder,java.util.regex.Matcher) -> a
-com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$SourceFileGroup -> com.android.tools.r8.internal.GW:
+com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$SourceFileGroup -> com.android.tools.r8.internal.LW:
     1:1:void <init>():275:275 -> <init>
     2:2:void <init>(com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$1):275:275 -> <init>
     1:1:java.lang.String subExpression():0:0 -> a
@@ -103472,12 +103612,12 @@
     283:283:java.lang.String subExpression():282:282 -> a
     290:290:com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroupHandler createHandler(java.lang.String):287:287 -> a
     291:295:boolean lambda$createHandler$0(java.lang.String,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder,java.util.regex.Matcher):288:292 -> a
-com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$SourceFileLineNumberGroup -> com.android.tools.r8.internal.HW:
+com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$SourceFileLineNumberGroup -> com.android.tools.r8.internal.MW:
     1:1:void <init>():318:318 -> <init>
     2:2:void <init>(com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$1):318:318 -> <init>
     1:1:java.lang.String subExpression():322:322 -> a
     2:2:com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroupHandler createHandler(java.lang.String):327:327 -> a
-com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$TypeNameGroup -> com.android.tools.r8.internal.IW:
+com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$TypeNameGroup -> com.android.tools.r8.internal.NW:
     1:1:void <init>():209:209 -> <init>
     2:2:void <init>(com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$1):209:209 -> <init>
     1:1:java.lang.String subExpression():213:213 -> a
@@ -104355,7 +104495,7 @@
     11:11:void modify(com.android.tools.r8.shaking.AppInfoWithLiveness):50 -> a
     12:12:void lambda$modify$0(com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder):38:38 -> a
     13:15:void lambda$modify$1(com.android.tools.r8.graph.FieldAccessInfoCollectionImpl,com.android.tools.r8.graph.DexField):44:46 -> a
-com.android.tools.r8.shaking.ClassInitFieldSynthesizer -> com.android.tools.r8.internal.T9:
+com.android.tools.r8.shaking.ClassInitFieldSynthesizer -> com.android.tools.r8.internal.U9:
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.graph.DexField clinitField -> b
     com.android.tools.r8.graph.InitClassLens$Builder lensBuilder -> c
@@ -104385,7 +104525,7 @@
     38:38:void synthesizeClassInitField(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Visibility):71 -> a
     39:49:void synthesizeClassInitField(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Visibility):77:87 -> a
     50:59:void synthesizeClassInitField(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Visibility):84:93 -> a
-com.android.tools.r8.shaking.ClassInitFieldSynthesizer$1 -> com.android.tools.r8.internal.S9:
+com.android.tools.r8.shaking.ClassInitFieldSynthesizer$1 -> com.android.tools.r8.internal.T9:
     int[] $SwitchMap$com$android$tools$r8$utils$Visibility -> a
     1:1:void <clinit>():101:101 -> <clinit>
 com.android.tools.r8.shaking.ClassInlineRule -> com.android.tools.r8.shaking.m:
@@ -104394,10 +104534,10 @@
     1:15:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.ClassInlineRule$Type):73:87 -> <init>
     1:7:java.lang.String typeString():110:116 -> C
     8:8:java.lang.String typeString():0:0 -> C
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":129,"2":130,"3":131}}
-    129:129:java.lang.String typeString():116:116 -> C
-    130:130:java.lang.String typeString():116:116 -> C
-    131:131:java.lang.String typeString():116:116 -> C
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":126,"2":127,"3":128}}
+    126:126:java.lang.String typeString():116:116 -> C
+    127:127:java.lang.String typeString():116:116 -> C
+    128:128:java.lang.String typeString():116:116 -> C
     124:124:java.lang.String typeString():116:116 -> C
     125:125:java.lang.String typeString():112:112 -> C
     1:1:com.android.tools.r8.shaking.ClassInlineRule$Type getType():95:95 -> D
@@ -104408,12 +104548,12 @@
     1:1:void <init>(com.android.tools.r8.shaking.ClassInlineRule$1):18:18 -> <init>
     2:2:void <init>():21:21 -> <init>
     com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> d
-com.android.tools.r8.shaking.ClassInlineRule$Type$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.ja:
+com.android.tools.r8.shaking.ClassInlineRule$Type$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.ka:
 # {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
 # {"id":"com.android.tools.r8.synthesized"}
     java.lang.String stringValueOf(int) -> a
       # {"id":"com.android.tools.r8.synthesized"}
-com.android.tools.r8.shaking.CollectingGraphConsumer -> com.android.tools.r8.internal.ec:
+com.android.tools.r8.shaking.CollectingGraphConsumer -> com.android.tools.r8.internal.fc:
     java.util.Map target2sources -> b
     com.android.tools.r8.experimental.graphinfo.GraphConsumer subConsumer -> a
     1:1:void <init>(com.android.tools.r8.experimental.graphinfo.GraphConsumer):23:23 -> <init>
@@ -104488,7 +104628,7 @@
     1:2:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):67:68 -> g
     3:4:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):144:145 -> g
     1:2:void registerStaticFieldWriteFromMethodHandle(com.android.tools.r8.graph.DexField):150:151 -> h
-com.android.tools.r8.shaking.DefaultTreePrunerConfiguration -> com.android.tools.r8.internal.ef:
+com.android.tools.r8.shaking.DefaultTreePrunerConfiguration -> com.android.tools.r8.internal.ff:
     com.android.tools.r8.shaking.DefaultTreePrunerConfiguration INSTANCE -> a
     1:1:void <clinit>():11:11 -> <clinit>
     1:1:void <init>():14:14 -> <init>
@@ -104504,7 +104644,7 @@
     1:1:java.util.function.Consumer getAction():42:42 -> a
     1:1:com.android.tools.r8.graph.ProgramMethod getMethodToKeep():34:34 -> b
     1:1:com.android.tools.r8.graph.ProgramMethod getSingleTarget():38:38 -> c
-com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection -> com.android.tools.r8.internal.hf:
+com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection -> com.android.tools.r8.internal.if:
     java.util.Map dependentMinimumKeepInfo -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():29:29 -> <clinit>
@@ -104559,7 +104699,7 @@
     java.util.concurrent.ConcurrentHashMap stringCache -> a
     1:2:void <init>():9:10 -> <init>
     1:1:java.lang.String lookupString(com.android.tools.r8.graph.DexString):13:13 -> a
-com.android.tools.r8.shaking.DiscardedChecker -> com.android.tools.r8.internal.mh:
+com.android.tools.r8.shaking.DiscardedChecker -> com.android.tools.r8.internal.oh:
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.utils.InternalOptions options -> b
     java.util.List failed -> c
@@ -104579,7 +104719,7 @@
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     4:4:com.android.tools.r8.shaking.DiscardedChecker createForMainDex(com.android.tools.r8.graph.AppView):41:41 -> b
     5:5:boolean isCheckDiscardedEnabled(com.android.tools.r8.graph.ProgramDefinition):66:66 -> b
-com.android.tools.r8.shaking.DiscardedChecker$1 -> com.android.tools.r8.internal.lh:
+com.android.tools.r8.shaking.DiscardedChecker$1 -> com.android.tools.r8.internal.nh:
     com.android.tools.r8.shaking.MinimumKeepInfoCollection val$unconditionalKeepInfo -> e
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.MinimumKeepInfoCollection):41:41 -> <init>
     1:3:boolean isCheckDiscardedEnabled(com.android.tools.r8.graph.ProgramDefinition):45:45 -> b
@@ -104832,7 +104972,7 @@
     3286:3286:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1002:1002 -> a
     3287:3290:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.DexDefinitionSupplier):281:284 -> a
     3287:3290:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1002 -> a
-    3291:3291:boolean com.android.tools.r8.graph.DexItemFactory.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexMethod):904:904 -> a
+    3291:3291:boolean com.android.tools.r8.graph.DexItemFactory.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexMethod):906:906 -> a
     3291:3291:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.DexDefinitionSupplier):284 -> a
     3291:3291:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1002 -> a
     3292:3293:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1003:1004 -> a
@@ -104956,7 +105096,7 @@
     3402:3406:void traceConstClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,java.util.ListIterator,boolean):1069 -> a
     3407:3407:void traceConstClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,java.util.ListIterator,boolean):1070:1070 -> a
     3408:3420:boolean isConstClassMaybeUsedAsLock(com.android.tools.r8.graph.ProgramMethod,java.util.ListIterator):1099:1111 -> a
-    3421:3421:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveNameLookup(com.android.tools.r8.graph.DexMethod):1582:1582 -> a
+    3421:3421:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveNameLookup(com.android.tools.r8.graph.DexMethod):1584:1584 -> a
     3421:3421:boolean isConstClassMaybeUsedAsLock(com.android.tools.r8.graph.ProgramMethod,java.util.ListIterator):1112 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     3422:3429:boolean isConstClassMaybeUsedAsLock(com.android.tools.r8.graph.ProgramMethod,java.util.ListIterator):1112:1119 -> a
@@ -105676,7 +105816,7 @@
     16683:16683:void handleJavaLangEnumValueOf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4701:4701 -> a
     16683:16683:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4402 -> a
     16684:16688:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4405:4409 -> a
-    16689:16689:boolean com.android.tools.r8.graph.DexItemFactory$ServiceLoaderMethods.isLoadMethod(com.android.tools.r8.graph.DexMethod):2154:2154 -> a
+    16689:16689:boolean com.android.tools.r8.graph.DexItemFactory$ServiceLoaderMethods.isLoadMethod(com.android.tools.r8.graph.DexMethod):2156:2156 -> a
     16689:16689:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4409 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     16690:16696:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4707:4713 -> a
@@ -106109,11 +106249,11 @@
     1787:1787:void traceInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1257 -> c
     1788:1788:void traceInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1257:1257 -> c
     1789:1790:void traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1322:1323 -> c
-    1791:1791:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveClassLookup(com.android.tools.r8.graph.DexMethod):1574:1574 -> c
+    1791:1791:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveClassLookup(com.android.tools.r8.graph.DexMethod):1576:1576 -> c
     1791:1791:void traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1323 -> c
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     1792:1804:void traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1323:1335 -> c
-    1805:1805:boolean com.android.tools.r8.graph.DexItemFactory$ServiceLoaderMethods.isLoadMethod(com.android.tools.r8.graph.DexMethod):2154:2154 -> c
+    1805:1805:boolean com.android.tools.r8.graph.DexItemFactory$ServiceLoaderMethods.isLoadMethod(com.android.tools.r8.graph.DexMethod):2156:2156 -> c
     1805:1805:void traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1335 -> c
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     1806:1816:void traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1336:1346 -> c
@@ -106509,13 +106649,13 @@
     1:1:void addMethodWithDesugaredCodeForTracing(com.android.tools.r8.graph.ProgramMethod):3463:3463 -> b
     1:1:void addNeverInlineMethod(com.android.tools.r8.graph.ProgramMethod):3485:3485 -> c
     1:3:com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext getMethodContext(com.android.tools.r8.graph.ProgramMethod):3433:3433 -> d
-com.android.tools.r8.shaking.EnqueuerEvent -> com.android.tools.r8.internal.ei:
+com.android.tools.r8.shaking.EnqueuerEvent -> com.android.tools.r8.internal.gi:
     1:1:void <init>():13:13 -> <init>
     com.android.tools.r8.shaking.EnqueuerEvent$ClassEnqueuerEvent asClassEvent() -> a
     com.android.tools.r8.graph.DexDefinition getDefinition(com.android.tools.r8.graph.DexDefinitionSupplier) -> a
     com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens) -> a
     boolean isClassEvent() -> b
-com.android.tools.r8.shaking.EnqueuerEvent$ClassEnqueuerEvent -> com.android.tools.r8.internal.ai:
+com.android.tools.r8.shaking.EnqueuerEvent$ClassEnqueuerEvent -> com.android.tools.r8.internal.ci:
     com.android.tools.r8.graph.DexType clazz -> a
     1:2:void <init>(com.android.tools.r8.graph.DexType):53:54 -> <init>
     com.android.tools.r8.shaking.EnqueuerEvent$ClassEnqueuerEvent asClassEvent() -> a
@@ -106524,7 +106664,7 @@
     2:2:com.android.tools.r8.graph.DexDefinition getDefinition(com.android.tools.r8.graph.DexDefinitionSupplier):59:59 -> a
     boolean isClassEvent() -> b
     1:1:com.android.tools.r8.graph.DexType getType():63:63 -> c
-com.android.tools.r8.shaking.EnqueuerEvent$InstantiatedClassEnqueuerEvent -> com.android.tools.r8.internal.bi:
+com.android.tools.r8.shaking.EnqueuerEvent$InstantiatedClassEnqueuerEvent -> com.android.tools.r8.internal.di:
     1:1:void <init>(com.android.tools.r8.graph.DexProgramClass):123:123 -> <init>
     2:2:void <init>(com.android.tools.r8.graph.DexType):127:127 -> <init>
     1:1:com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens):142:142 -> a
@@ -106538,7 +106678,7 @@
     144:144:com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens):142:142 -> a
     1:3:boolean equals(java.lang.Object):150:152 -> equals
     1:1:int hashCode():159:159 -> hashCode
-com.android.tools.r8.shaking.EnqueuerEvent$LiveClassEnqueuerEvent -> com.android.tools.r8.internal.ci:
+com.android.tools.r8.shaking.EnqueuerEvent$LiveClassEnqueuerEvent -> com.android.tools.r8.internal.ei:
     1:1:void <init>(com.android.tools.r8.graph.DexProgramClass):80:80 -> <init>
     2:2:void <init>(com.android.tools.r8.graph.DexType):84:84 -> <init>
     1:1:com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens):99:99 -> a
@@ -106552,7 +106692,7 @@
     101:101:com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens):99:99 -> a
     1:3:boolean equals(java.lang.Object):107:109 -> equals
     1:1:int hashCode():116:116 -> hashCode
-com.android.tools.r8.shaking.EnqueuerEvent$UnconditionalKeepInfoEvent -> com.android.tools.r8.internal.di:
+com.android.tools.r8.shaking.EnqueuerEvent$UnconditionalKeepInfoEvent -> com.android.tools.r8.internal.fi:
     com.android.tools.r8.shaking.EnqueuerEvent$UnconditionalKeepInfoEvent INSTANCE -> a
     1:1:void <clinit>():165:165 -> <clinit>
     1:1:void <init>():167:167 -> <init>
@@ -106566,13 +106706,13 @@
     1:1:com.android.tools.r8.shaking.Enqueuer createForInitialTreeShaking(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.graph.SubtypingInfo):22:22 -> b
     2:2:com.android.tools.r8.shaking.Enqueuer createForGenerateMainDexList(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.experimental.graphinfo.GraphConsumer):62:62 -> b
     1:1:com.android.tools.r8.shaking.Enqueuer createForWhyAreYouKeeping(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.experimental.graphinfo.GraphConsumer):71:71 -> c
-com.android.tools.r8.shaking.EnqueuerMetadataTraceable -> com.android.tools.r8.internal.gi:
+com.android.tools.r8.shaking.EnqueuerMetadataTraceable -> com.android.tools.r8.internal.ii:
     void trace(com.android.tools.r8.graph.DexDefinitionSupplier) -> a
 com.android.tools.r8.shaking.EnqueuerResult -> com.android.tools.r8.shaking.D:
     com.android.tools.r8.shaking.AppInfoWithLiveness appInfo -> a
     1:2:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness):11:12 -> <init>
     1:1:com.android.tools.r8.shaking.AppInfoWithLiveness getAppInfo():16:16 -> a
-com.android.tools.r8.shaking.EnqueuerUseRegistryFactory -> com.android.tools.r8.internal.hi:
+com.android.tools.r8.shaking.EnqueuerUseRegistryFactory -> com.android.tools.r8.internal.ji:
     com.android.tools.r8.shaking.DefaultEnqueuerUseRegistry create(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.androidapi.AndroidApiLevelCompute) -> a
 com.android.tools.r8.shaking.EnqueuerWorklist -> com.android.tools.r8.shaking.Z:
     com.android.tools.r8.shaking.Enqueuer enqueuer -> a
@@ -106603,7 +106743,7 @@
     com.android.tools.r8.utils.Action assertion -> a
     1:2:void <init>(com.android.tools.r8.utils.Action):32:33 -> <init>
     1:1:void run(com.android.tools.r8.shaking.Enqueuer):38:38 -> a
-com.android.tools.r8.shaking.EnqueuerWorklist$EnqueuerAction -> com.android.tools.r8.internal.ii:
+com.android.tools.r8.shaking.EnqueuerWorklist$EnqueuerAction -> com.android.tools.r8.internal.ki:
     1:1:void <init>():25:25 -> <init>
     void run(com.android.tools.r8.shaking.Enqueuer) -> a
 com.android.tools.r8.shaking.EnqueuerWorklist$MarkAnnotationInstantiatedAction -> com.android.tools.r8.shaking.G:
@@ -106794,7 +106934,7 @@
     12:12:void addWriteContext(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):48 -> b
     13:13:void addWriteContext(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):48:48 -> b
     14:14:void recordWriteInUnknownContext():53:53 -> b
-com.android.tools.r8.shaking.FilteredClassPath -> com.android.tools.r8.internal.qk:
+com.android.tools.r8.shaking.FilteredClassPath -> com.android.tools.r8.internal.sk:
     com.android.tools.r8.origin.Origin origin -> c
     com.android.tools.r8.position.Position position -> d
     java.nio.file.Path path -> a
@@ -106813,7 +106953,7 @@
     1:1:boolean com.android.tools.r8.shaking.FilteredClassPath.isUnfiltered():123:123 -> toString
     1:1:java.lang.String toString():128 -> toString
     2:16:java.lang.String toString():129:143 -> toString
-com.android.tools.r8.shaking.GlobalKeepInfoConfiguration -> com.android.tools.r8.internal.Yl:
+com.android.tools.r8.shaking.GlobalKeepInfoConfiguration -> com.android.tools.r8.internal.am:
 com.android.tools.r8.shaking.GraphReporter -> com.android.tools.r8.shaking.f0:
     com.android.tools.r8.graph.AppView appView -> a
     java.util.Map annotationNodes -> d
@@ -107045,10 +107185,10 @@
     1:15:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.InlineRule$Type):74:88 -> <init>
     1:9:java.lang.String typeString():101:109 -> C
     10:10:java.lang.String typeString():0:0 -> C
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":127,"2":128,"3":129}}
-    127:127:java.lang.String typeString():109:109 -> C
-    128:128:java.lang.String typeString():109:109 -> C
-    129:129:java.lang.String typeString():109:109 -> C
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":122,"2":123,"3":124}}
+    122:122:java.lang.String typeString():109:109 -> C
+    123:123:java.lang.String typeString():109:109 -> C
+    124:124:java.lang.String typeString():109:109 -> C
     119:119:java.lang.String typeString():109:109 -> C
     120:120:java.lang.String typeString():105:105 -> C
     121:121:java.lang.String typeString():103:103 -> C
@@ -107059,7 +107199,7 @@
     1:1:void <init>(com.android.tools.r8.shaking.InlineRule$1):19:19 -> <init>
     2:2:void <init>():22:22 -> <init>
     com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> d
-com.android.tools.r8.shaking.InlineRule$Type$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.np:
+com.android.tools.r8.shaking.InlineRule$Type$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.pp:
 # {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
 # {"id":"com.android.tools.r8.synthesized"}
     java.lang.String stringValueOf(int) -> a
@@ -107087,7 +107227,7 @@
     com.android.tools.r8.ir.desugar.LambdaDescriptor lambdaDescriptor -> b
     1:2:void <init>(com.android.tools.r8.ir.desugar.LambdaDescriptor):68:69 -> <init>
     1:1:com.android.tools.r8.ir.desugar.LambdaDescriptor asLambda():79:79 -> b
-com.android.tools.r8.shaking.InstantiationReason -> com.android.tools.r8.internal.cq:
+com.android.tools.r8.shaking.InstantiationReason -> com.android.tools.r8.internal.eq:
     com.android.tools.r8.shaking.InstantiationReason NEW_INSTANCE_INSTRUCTION -> d
     com.android.tools.r8.shaking.InstantiationReason REFERENCED_IN_METHOD_HANDLE -> e
     com.android.tools.r8.shaking.InstantiationReason KEEP_RULE -> b
@@ -107694,7 +107834,7 @@
     1:1:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.shaking.KeepReason$1):144:144 -> <init>
     2:2:void <init>(com.android.tools.r8.graph.DexEncodedMethod):147:147 -> <init>
     1:1:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind edgeKind():152:152 -> a
-com.android.tools.r8.shaking.L8TreePruner -> com.android.tools.r8.internal.EA:
+com.android.tools.r8.shaking.L8TreePruner -> com.android.tools.r8.internal.GA:
     java.util.List pruned -> b
     java.util.Set emulatedInterfaces -> a
     1:1:void <init>(com.android.tools.r8.utils.InternalOptions):29:29 -> <init>
@@ -107703,7 +107843,7 @@
     1:11:com.android.tools.r8.graph.DexApplication prune(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.ir.desugar.PrefixRewritingMapper):37:47 -> a
     12:26:com.android.tools.r8.graph.DexApplication prune(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.ir.desugar.PrefixRewritingMapper):44:58 -> a
     27:27:boolean lambda$prune$0(com.android.tools.r8.graph.DexType):52:52 -> a
-com.android.tools.r8.shaking.LibraryMethodOverrideAnalysis -> com.android.tools.r8.internal.GB:
+com.android.tools.r8.shaking.LibraryMethodOverrideAnalysis -> com.android.tools.r8.internal.IB:
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap escapeDebuggingCounters -> c
     java.util.Set nonEscapingClassesWithLibraryMethodOverrides -> b
@@ -107741,7 +107881,7 @@
     28:28:void logResults():173 -> b
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     29:30:void logResults():173:174 -> b
-com.android.tools.r8.shaking.LibraryMethodOverrideAnalysis$LibraryEscapeAnalysisConfiguration -> com.android.tools.r8.internal.FB:
+com.android.tools.r8.shaking.LibraryMethodOverrideAnalysis$LibraryEscapeAnalysisConfiguration -> com.android.tools.r8.internal.HB:
     com.android.tools.r8.shaking.LibraryMethodOverrideAnalysis$LibraryEscapeAnalysisConfiguration INSTANCE -> a
     1:1:void <clinit>():185:185 -> <clinit>
     1:1:void <init>():188:188 -> <init>
@@ -107749,9 +107889,9 @@
     2:4:boolean isLegitimateEscapeRoute(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.escape.EscapeAnalysis,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod):200:202 -> a
     5:27:boolean com.android.tools.r8.shaking.LibraryMethodOverrideAnalysis$LibraryEscapeAnalysisConfiguration.isLegitimateConstructorInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.escape.EscapeAnalysis,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod):212:234 -> a
     5:27:boolean isLegitimateEscapeRoute(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.escape.EscapeAnalysis,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod):201 -> a
-com.android.tools.r8.shaking.LibraryModeledPredicate -> com.android.tools.r8.internal.JB:
+com.android.tools.r8.shaking.LibraryModeledPredicate -> com.android.tools.r8.internal.LB:
     boolean isModeled(com.android.tools.r8.graph.DexType) -> d
-com.android.tools.r8.shaking.MainDexDirectReferenceTracer -> com.android.tools.r8.internal.pD:
+com.android.tools.r8.shaking.MainDexDirectReferenceTracer -> com.android.tools.r8.internal.uD:
     com.android.tools.r8.graph.AppView appView -> b
     java.util.function.Consumer consumer -> c
     com.android.tools.r8.shaking.MainDexDirectReferenceTracer$AnnotationDirectReferenceCollector annotationDirectReferenceCollector -> a
@@ -107788,8 +107928,8 @@
     30:43:com.android.tools.r8.graph.DexProgramClass getFirstReferenceOutsideFromCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,java.util.function.Predicate):79:92 -> a
     44:48:void lambda$getFirstReferenceOutsideFromCode$2(com.android.tools.r8.graph.AppView,java.util.function.Predicate,com.android.tools.r8.utils.Box,com.android.tools.r8.graph.DexType):83:87 -> a
     1:1:java.util.function.Consumer access$300(com.android.tools.r8.shaking.MainDexDirectReferenceTracer):30:30 -> b
-com.android.tools.r8.shaking.MainDexDirectReferenceTracer$1 -> com.android.tools.r8.internal.mD:
-com.android.tools.r8.shaking.MainDexDirectReferenceTracer$AnnotationDirectReferenceCollector -> com.android.tools.r8.internal.nD:
+com.android.tools.r8.shaking.MainDexDirectReferenceTracer$1 -> com.android.tools.r8.internal.rD:
+com.android.tools.r8.shaking.MainDexDirectReferenceTracer$AnnotationDirectReferenceCollector -> com.android.tools.r8.internal.sD:
     com.android.tools.r8.shaking.MainDexDirectReferenceTracer this$0 -> a
     1:1:void <init>(com.android.tools.r8.shaking.MainDexDirectReferenceTracer):189:189 -> <init>
     2:2:void <init>(com.android.tools.r8.shaking.MainDexDirectReferenceTracer,com.android.tools.r8.shaking.MainDexDirectReferenceTracer$1):189:189 -> <init>
@@ -107801,7 +107941,7 @@
     1:2:boolean addField(com.android.tools.r8.graph.DexField):199:200 -> b
     3:4:boolean addMethod(com.android.tools.r8.graph.DexMethod):206:207 -> b
     5:5:boolean addType(com.android.tools.r8.graph.DexType):227:227 -> b
-com.android.tools.r8.shaking.MainDexDirectReferenceTracer$DirectReferencesCollector -> com.android.tools.r8.internal.oD:
+com.android.tools.r8.shaking.MainDexDirectReferenceTracer$DirectReferencesCollector -> com.android.tools.r8.internal.tD:
     com.android.tools.r8.shaking.MainDexDirectReferenceTracer this$0 -> e
     1:1:void <init>(com.android.tools.r8.shaking.MainDexDirectReferenceTracer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.MainDexDirectReferenceTracer$1):107:107 -> <init>
     2:3:void <init>(com.android.tools.r8.shaking.MainDexDirectReferenceTracer,com.android.tools.r8.graph.ProgramMethod):109:110 -> <init>
@@ -107967,14 +108107,14 @@
     1:1:boolean contains(com.android.tools.r8.graph.DexType):384 -> e
     2:2:boolean isDependency(com.android.tools.r8.graph.DexType):376:376 -> e
     2:2:boolean contains(com.android.tools.r8.graph.DexType):384 -> e
-com.android.tools.r8.shaking.MainDexInfo$MainDexGroup -> com.android.tools.r8.internal.qD:
+com.android.tools.r8.shaking.MainDexInfo$MainDexGroup -> com.android.tools.r8.internal.vD:
     com.android.tools.r8.shaking.MainDexInfo$MainDexGroup MAIN_DEX_DEPENDENCY -> d
     com.android.tools.r8.shaking.MainDexInfo$MainDexGroup NOT_IN_MAIN_DEX -> e
     com.android.tools.r8.shaking.MainDexInfo$MainDexGroup MAIN_DEX_LIST -> b
     com.android.tools.r8.shaking.MainDexInfo$MainDexGroup MAIN_DEX_ROOT -> c
     1:4:void <clinit>():38:41 -> <clinit>
     1:1:void <init>(java.lang.String,int):37:37 -> <init>
-com.android.tools.r8.shaking.MainDexListBuilder -> com.android.tools.r8.internal.rD:
+com.android.tools.r8.shaking.MainDexListBuilder -> com.android.tools.r8.internal.wD:
     java.util.Map annotationTypeContainEnum -> c
     com.android.tools.r8.graph.AppView appView -> b
     com.android.tools.r8.shaking.MainDexInfo$Builder mainDexInfoBuilder -> d
@@ -108075,7 +108215,7 @@
     1:1:void <init>(com.android.tools.r8.shaking.MemberValuePropagationRule$1):17:17 -> <init>
     2:2:void <init>():21:21 -> <init>
     com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> d
-com.android.tools.r8.shaking.MemberValuePropagationRule$Type$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.iE:
+com.android.tools.r8.shaking.MemberValuePropagationRule$Type$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.nE:
 # {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
 # {"id":"com.android.tools.r8.synthesized"}
     java.lang.String stringValueOf(int) -> a
@@ -108138,7 +108278,7 @@
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     1:1:com.android.tools.r8.shaking.KeepInfo$Joiner lambda$getOrCreateMinimumKeepInfoFor$5(com.android.tools.r8.graph.DexReference):95:95 -> b
     2:2:boolean isEmpty():105:105 -> b
-com.android.tools.r8.shaking.MissingClasses -> com.android.tools.r8.internal.nF:
+com.android.tools.r8.shaking.MissingClasses -> com.android.tools.r8.internal.sF:
     java.util.Set missingClasses -> a
     1:1:void <init>(java.util.Set,com.android.tools.r8.shaking.MissingClasses$1):37:37 -> <init>
     2:3:void <init>(java.util.Set):41:42 -> <init>
@@ -108146,8 +108286,8 @@
     2:2:void forEach(java.util.function.Consumer):54:54 -> a
     3:3:boolean contains(com.android.tools.r8.graph.DexType):58:58 -> a
     1:1:com.android.tools.r8.shaking.MissingClasses empty():50:50 -> b
-com.android.tools.r8.shaking.MissingClasses$1 -> com.android.tools.r8.internal.lF:
-com.android.tools.r8.shaking.MissingClasses$Builder -> com.android.tools.r8.internal.mF:
+com.android.tools.r8.shaking.MissingClasses$1 -> com.android.tools.r8.internal.qF:
+com.android.tools.r8.shaking.MissingClasses$Builder -> com.android.tools.r8.internal.rF:
     java.util.Map newMissingClasses -> b
     java.util.Set newIgnoredMissingClasses -> c
     java.util.Set alreadyMissingClasses -> a
@@ -108229,12 +108369,12 @@
     14:14:java.util.function.Predicate getIsAllowedMissingClassesPredicate(com.android.tools.r8.graph.AppView):262:262 -> b
     15:16:java.util.Set com.android.tools.r8.shaking.MissingClasses$Builder.getAllowedMissingClasses(com.android.tools.r8.graph.DexItemFactory):273:274 -> b
     15:16:java.util.function.Predicate getIsAllowedMissingClassesPredicate(com.android.tools.r8.graph.AppView):262 -> b
-    17:17:java.lang.Iterable com.android.tools.r8.graph.DexItemFactory.getJavaConversionTypes():511:511 -> b
+    17:17:java.lang.Iterable com.android.tools.r8.graph.DexItemFactory.getJavaConversionTypes():513:513 -> b
     17:17:java.util.Set com.android.tools.r8.shaking.MissingClasses$Builder.getAllowedMissingClasses(com.android.tools.r8.graph.DexItemFactory):282 -> b
     17:17:java.util.function.Predicate getIsAllowedMissingClassesPredicate(com.android.tools.r8.graph.AppView):262 -> b
     18:18:java.util.Set com.android.tools.r8.shaking.MissingClasses$Builder.getAllowedMissingClasses(com.android.tools.r8.graph.DexItemFactory):282:282 -> b
     18:18:java.util.function.Predicate getIsAllowedMissingClassesPredicate(com.android.tools.r8.graph.AppView):262 -> b
-    19:19:java.lang.Iterable com.android.tools.r8.graph.DexItemFactory.getJ$ConversionTypes():520:520 -> b
+    19:19:java.lang.Iterable com.android.tools.r8.graph.DexItemFactory.getJ$ConversionTypes():522:522 -> b
     19:19:java.util.Set com.android.tools.r8.shaking.MissingClasses$Builder.getAllowedMissingClasses(com.android.tools.r8.graph.DexItemFactory):283 -> b
     19:19:java.util.function.Predicate getIsAllowedMissingClassesPredicate(com.android.tools.r8.graph.AppView):262 -> b
     20:21:java.util.Set com.android.tools.r8.shaking.MissingClasses$Builder.getAllowedMissingClasses(com.android.tools.r8.graph.DexItemFactory):283:284 -> b
@@ -108283,7 +108423,7 @@
     1:1:void <init>(com.android.tools.r8.shaking.NoVerticalClassMergingRule$1):14:14 -> <init>
     2:2:void <init>():18:18 -> <init>
     com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> d
-com.android.tools.r8.shaking.ProguardAccessFlags -> com.android.tools.r8.internal.AN:
+com.android.tools.r8.shaking.ProguardAccessFlags -> com.android.tools.r8.internal.FN:
     java.util.List NAMES -> c
     int PPP_MASK -> b
     int flags -> a
@@ -108532,7 +108672,7 @@
     1:7:com.android.tools.r8.position.Position getPosition():73:79 -> c
     8:9:com.android.tools.r8.shaking.ProguardClassSpecification$Builder setMemberRules(java.util.List):87:88 -> c
     com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> d
-com.android.tools.r8.shaking.ProguardClassType -> com.android.tools.r8.internal.HN:
+com.android.tools.r8.shaking.ProguardClassType -> com.android.tools.r8.internal.MN:
     com.android.tools.r8.shaking.ProguardClassType ANNOTATION_INTERFACE -> b
     com.android.tools.r8.shaking.ProguardClassType INTERFACE -> e
     com.android.tools.r8.shaking.ProguardClassType UNSPECIFIED -> f
@@ -108551,25 +108691,25 @@
     12:12:java.lang.String toString():46:46 -> toString
     13:13:java.lang.String toString():45:45 -> toString
     14:14:java.lang.String toString():44:44 -> toString
-com.android.tools.r8.shaking.ProguardClassType$1 -> com.android.tools.r8.internal.BN:
+com.android.tools.r8.shaking.ProguardClassType$1 -> com.android.tools.r8.internal.GN:
     1:1:void <init>(java.lang.String,int):10:10 -> <init>
     1:1:boolean matches(com.android.tools.r8.graph.DexClass):13:13 -> a
-com.android.tools.r8.shaking.ProguardClassType$2 -> com.android.tools.r8.internal.CN:
+com.android.tools.r8.shaking.ProguardClassType$2 -> com.android.tools.r8.internal.HN:
     1:1:void <init>(java.lang.String,int):16:16 -> <init>
     boolean matches(com.android.tools.r8.graph.DexClass) -> a
-com.android.tools.r8.shaking.ProguardClassType$3 -> com.android.tools.r8.internal.DN:
+com.android.tools.r8.shaking.ProguardClassType$3 -> com.android.tools.r8.internal.IN:
     1:1:void <init>(java.lang.String,int):22:22 -> <init>
     1:1:boolean matches(com.android.tools.r8.graph.DexClass):25:25 -> a
-com.android.tools.r8.shaking.ProguardClassType$4 -> com.android.tools.r8.internal.EN:
+com.android.tools.r8.shaking.ProguardClassType$4 -> com.android.tools.r8.internal.JN:
     1:1:void <init>(java.lang.String,int):28:28 -> <init>
     1:1:boolean matches(com.android.tools.r8.graph.DexClass):31:31 -> a
-com.android.tools.r8.shaking.ProguardClassType$5 -> com.android.tools.r8.internal.FN:
+com.android.tools.r8.shaking.ProguardClassType$5 -> com.android.tools.r8.internal.KN:
     1:1:void <init>(java.lang.String,int):34:34 -> <init>
     boolean matches(com.android.tools.r8.graph.DexClass) -> a
-com.android.tools.r8.shaking.ProguardClassType$6 -> com.android.tools.r8.internal.GN:
+com.android.tools.r8.shaking.ProguardClassType$6 -> com.android.tools.r8.internal.LN:
     int[] $SwitchMap$com$android$tools$r8$shaking$ProguardClassType -> a
     1:1:void <clinit>():43:43 -> <clinit>
-com.android.tools.r8.shaking.ProguardCompatibilityActions -> com.android.tools.r8.internal.KN:
+com.android.tools.r8.shaking.ProguardCompatibilityActions -> com.android.tools.r8.internal.PN:
     java.util.Set compatInstantiatedTypes -> a
     1:1:void <init>(java.util.Set,com.android.tools.r8.shaking.ProguardCompatibilityActions$1):14:14 -> <init>
     2:3:void <init>(java.util.Set):18:19 -> <init>
@@ -108589,8 +108729,8 @@
     53:53:com.android.tools.r8.shaking.ProguardCompatibilityActions withoutPrunedItems(com.android.tools.r8.graph.PrunedItems):31 -> a
     54:59:com.android.tools.r8.shaking.ProguardCompatibilityActions withoutPrunedItems(com.android.tools.r8.graph.PrunedItems):32:37 -> a
     60:60:boolean isCompatInstantiated(com.android.tools.r8.graph.DexProgramClass):27:27 -> a
-com.android.tools.r8.shaking.ProguardCompatibilityActions$1 -> com.android.tools.r8.internal.IN:
-com.android.tools.r8.shaking.ProguardCompatibilityActions$Builder -> com.android.tools.r8.internal.JN:
+com.android.tools.r8.shaking.ProguardCompatibilityActions$1 -> com.android.tools.r8.internal.NN:
+com.android.tools.r8.shaking.ProguardCompatibilityActions$Builder -> com.android.tools.r8.internal.ON:
     java.util.Set compatInstantiatedTypes -> a
     1:3:void <init>():48:50 -> <init>
     1:1:void addCompatInstantiatedType(com.android.tools.r8.graph.DexProgramClass):53:53 -> a
@@ -108886,12 +109026,12 @@
     338:338:void validate():151:151 -> n
     168:173:void validate():151:156 -> n
     174:174:void validate():0:0 -> n
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":343,"2":344,"3":345,"4":346,"5":347}}
-    343:343:void validate():156:156 -> n
-    344:344:void validate():156:156 -> n
-    345:345:void validate():156:156 -> n
-    346:346:void validate():156:156 -> n
-    347:347:void validate():156:156 -> n
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":334,"2":335,"3":336,"4":337,"5":338}}
+    334:334:void validate():156:156 -> n
+    335:335:void validate():156:156 -> n
+    336:336:void validate():156:156 -> n
+    337:337:void validate():156:156 -> n
+    338:338:void validate():156:156 -> n
     330:333:void validate():156:159 -> n
 com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards -> com.android.tools.r8.shaking.I1$a:
     java.util.List wildcards -> b
@@ -109716,10 +109856,10 @@
     239:241:void parse():233:233 -> j
     245:246:void parse():237:238 -> j
     247:247:void parse():0:0 -> j
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":493,"2":494,"3":495}}
-    493:493:void parse():238:238 -> j
-    494:494:void parse():238:238 -> j
-    495:495:void parse():238:238 -> j
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":486,"2":487,"3":488}}
+    486:486:void parse():238:238 -> j
+    487:487:void parse():238:238 -> j
+    488:488:void parse():238:238 -> j
     485:485:void parse():238:238 -> j
     1:12:java.util.List parseArgumentList():1436:1447 -> k
     13:13:java.util.List parseArgumentList():1444:1444 -> k
@@ -109750,10 +109890,10 @@
     1:3:boolean parseIgnoredReturnValueAttributes():597:599 -> n
     1:5:void parseInclude():605:609 -> o
     6:6:void parseInclude():0:0 -> o
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1245,"2":1246,"3":1247}}
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1243,"2":1244,"3":1245}}
+    1243:1243:void parseInclude():614:614 -> o
+    1244:1244:void parseInclude():614:614 -> o
     1245:1245:void parseInclude():614:614 -> o
-    1246:1246:void parseInclude():614:614 -> o
-    1247:1247:void parseInclude():614:614 -> o
     620:620:void parseInclude():614:614 -> o
     621:622:com.android.tools.r8.shaking.ProguardRuleParserException parseError(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.Throwable):2134:2135 -> o
     621:622:void parseInclude():614 -> o
@@ -109762,10 +109902,10 @@
     623:624:void parseInclude():614 -> o
     625:625:void parseInclude():614:614 -> o
     626:626:void parseInclude():0:0 -> o
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1248,"2":1249,"3":1250}}
-    1248:1248:void parseInclude():611:611 -> o
-    1249:1249:void parseInclude():611:611 -> o
-    1250:1250:void parseInclude():611:611 -> o
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1243,"2":1244,"3":1245}}
+    1243:1243:void parseInclude():611:611 -> o
+    1244:1244:void parseInclude():611:611 -> o
+    1245:1245:void parseInclude():611:611 -> o
     1237:1237:void parseInclude():611:611 -> o
     1238:1239:com.android.tools.r8.shaking.ProguardRuleParserException parseError(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.Throwable):2134:2135 -> o
     1238:1239:void parseInclude():611 -> o
@@ -110531,16 +110671,16 @@
     868:868:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):886 -> p
     868:868:boolean parseOption():418 -> p
     869:869:boolean parseOption():0:0 -> p
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":916,"2":917,"3":918}}
-    916:916:void verifyAndLinkBackReferences(java.lang.Iterable):957:957 -> p
-    916:916:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):886 -> p
-    916:916:boolean parseOption():418 -> p
-    917:917:void verifyAndLinkBackReferences(java.lang.Iterable):957:957 -> p
-    917:917:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):886 -> p
-    917:917:boolean parseOption():418 -> p
-    918:918:void verifyAndLinkBackReferences(java.lang.Iterable):957:957 -> p
-    918:918:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):886 -> p
-    918:918:boolean parseOption():418 -> p
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":911,"2":912,"3":913}}
+    911:911:void verifyAndLinkBackReferences(java.lang.Iterable):957:957 -> p
+    911:911:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):886 -> p
+    911:911:boolean parseOption():418 -> p
+    912:912:void verifyAndLinkBackReferences(java.lang.Iterable):957:957 -> p
+    912:912:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):886 -> p
+    912:912:boolean parseOption():418 -> p
+    913:913:void verifyAndLinkBackReferences(java.lang.Iterable):957:957 -> p
+    913:913:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):886 -> p
+    913:913:boolean parseOption():418 -> p
     870:874:void verifyAndLinkBackReferences(java.lang.Iterable):957:957 -> p
     870:874:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):886 -> p
     870:874:boolean parseOption():418 -> p
@@ -110602,9 +110742,9 @@
     1:1:void <init>(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.AppView):129:129 -> <init>
     1:1:com.android.tools.r8.graph.DexItemFactory dexItemFactory():140:140 -> a
     1:4:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):132:135 -> c
-com.android.tools.r8.shaking.ProguardConfigurationSource -> com.android.tools.r8.internal.LN:
+com.android.tools.r8.shaking.ProguardConfigurationSource -> com.android.tools.r8.internal.QN:
     java.nio.file.Path getBaseDirectory() -> a
-com.android.tools.r8.shaking.ProguardConfigurationSourceBytes -> com.android.tools.r8.internal.MN:
+com.android.tools.r8.shaking.ProguardConfigurationSourceBytes -> com.android.tools.r8.internal.RN:
     byte[] bytes -> a
     com.android.tools.r8.origin.Origin origin -> b
     1:3:void <init>(byte[],com.android.tools.r8.origin.Origin):18:20 -> <init>
@@ -110612,14 +110752,14 @@
     1:1:java.lang.String get():29:29 -> get
     1:1:java.lang.String getName():40:40 -> getName
     1:1:com.android.tools.r8.origin.Origin getOrigin():45:45 -> getOrigin
-com.android.tools.r8.shaking.ProguardConfigurationSourceFile -> com.android.tools.r8.internal.NN:
+com.android.tools.r8.shaking.ProguardConfigurationSourceFile -> com.android.tools.r8.internal.SN:
     java.nio.file.Path path -> a
     1:2:void <init>(java.nio.file.Path):18:19 -> <init>
     1:5:java.nio.file.Path getBaseDirectory():29:33 -> a
     1:1:java.lang.String get():24:24 -> get
     1:1:java.lang.String getName():40:40 -> getName
     1:1:com.android.tools.r8.origin.Origin getOrigin():45:45 -> getOrigin
-com.android.tools.r8.shaking.ProguardConfigurationSourceStrings -> com.android.tools.r8.internal.ON:
+com.android.tools.r8.shaking.ProguardConfigurationSourceStrings -> com.android.tools.r8.internal.TN:
     java.util.List config -> b
     com.android.tools.r8.origin.Origin origin -> c
     java.nio.file.Path basePath -> a
@@ -110760,7 +110900,7 @@
     1:1:void <init>():65:65 -> <init>
     2:2:void <init>():62:62 -> <init>
     com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> d
-com.android.tools.r8.shaking.ProguardKeepAttributes -> com.android.tools.r8.internal.PN:
+com.android.tools.r8.shaking.ProguardKeepAttributes -> com.android.tools.r8.internal.UN:
     boolean runtimeInvisibleAnnotations -> m
     boolean runtimeVisibleParameterAnnotations -> n
     boolean runtimeInvisibleParameterAnnotations -> o
@@ -110877,7 +111017,7 @@
     1:1:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder setAllowsOptimization(boolean):34:34 -> c
     2:2:void setIncludeDescriptorClasses(boolean):44:44 -> c
     1:1:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder setAllowsShrinking(boolean):29:29 -> d
-com.android.tools.r8.shaking.ProguardKeepRuleType -> com.android.tools.r8.internal.RN:
+com.android.tools.r8.shaking.ProguardKeepRuleType -> com.android.tools.r8.internal.WN:
     com.android.tools.r8.shaking.ProguardKeepRuleType[] $VALUES -> f
     com.android.tools.r8.shaking.ProguardKeepRuleType KEEP -> b
     com.android.tools.r8.shaking.ProguardKeepRuleType KEEP_CLASS_MEMBERS -> c
@@ -110892,7 +111032,7 @@
     13:13:java.lang.String toString():22:22 -> toString
     14:14:java.lang.String toString():20:20 -> toString
     15:15:java.lang.String toString():18:18 -> toString
-com.android.tools.r8.shaking.ProguardKeepRuleType$1 -> com.android.tools.r8.internal.QN:
+com.android.tools.r8.shaking.ProguardKeepRuleType$1 -> com.android.tools.r8.internal.VN:
     int[] $SwitchMap$com$android$tools$r8$shaking$ProguardKeepRuleType -> a
     1:1:void <clinit>():16:16 -> <clinit>
 com.android.tools.r8.shaking.ProguardMemberRule -> com.android.tools.r8.shaking.e2:
@@ -110994,7 +111134,7 @@
     134:134:java.lang.String toString():115:115 -> toString
     135:135:java.lang.String toString():116:116 -> toString
     118:132:java.lang.String toString():117:131 -> toString
-com.android.tools.r8.shaking.ProguardMemberType -> com.android.tools.r8.internal.YN:
+com.android.tools.r8.shaking.ProguardMemberType -> com.android.tools.r8.internal.dO:
     com.android.tools.r8.shaking.ProguardMemberType CONSTRUCTOR -> h
     com.android.tools.r8.shaking.ProguardMemberType INIT -> g
     com.android.tools.r8.shaking.ProguardMemberType CLINIT -> f
@@ -111060,7 +111200,7 @@
     1:1:boolean equals(java.lang.Object):209:209 -> equals
     1:1:int hashCode():214:214 -> hashCode
     1:1:java.lang.String toString():204:204 -> toString
-com.android.tools.r8.shaking.ProguardPackageMatcher -> com.android.tools.r8.internal.ZN:
+com.android.tools.r8.shaking.ProguardPackageMatcher -> com.android.tools.r8.internal.eO:
     java.lang.String pattern -> a
     1:2:void <init>(java.lang.String):10:11 -> <init>
     1:1:boolean matches(java.lang.String):15:15 -> a
@@ -111150,7 +111290,7 @@
     1:1:void <init>(java.util.List,com.android.tools.r8.shaking.ProguardPathList$1):103:103 -> <init>
     2:3:void <init>(java.util.List):106:107 -> <init>
     1:4:boolean matches(java.lang.String):112:115 -> a
-com.android.tools.r8.shaking.ProguardRuleParserException -> com.android.tools.r8.internal.aO:
+com.android.tools.r8.shaking.ProguardRuleParserException -> com.android.tools.r8.internal.fO:
     com.android.tools.r8.position.Position position -> e
     com.android.tools.r8.origin.Origin origin -> d
     java.lang.String snippet -> c
@@ -111324,16 +111464,16 @@
     1:5:com.android.tools.r8.shaking.ProguardWildcard$BackReference materialize():110:114 -> f
     1:5:com.android.tools.r8.shaking.ProguardWildcard materialize():80 -> f
     1:1:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":262,"2":263,"3":264}}
-    262:262:java.lang.String toString():130:130 -> toString
-    263:263:java.lang.String toString():130:130 -> toString
-    264:264:java.lang.String toString():130:130 -> toString
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":133,"2":134,"3":135}}
+    133:133:java.lang.String toString():130:130 -> toString
+    134:134:java.lang.String toString():130:130 -> toString
+    135:135:java.lang.String toString():130:130 -> toString
     131:131:java.lang.String toString():130:130 -> toString
     132:132:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":265,"2":266,"3":267}}
-    265:265:java.lang.String toString():130:130 -> toString
-    266:266:java.lang.String toString():130:130 -> toString
-    267:267:java.lang.String toString():130:130 -> toString
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":133,"2":134,"3":135}}
+    133:133:java.lang.String toString():130:130 -> toString
+    134:134:java.lang.String toString():130:130 -> toString
+    135:135:java.lang.String toString():130:130 -> toString
 com.android.tools.r8.shaking.ProguardWildcard$Pattern -> com.android.tools.r8.shaking.G2$b:
     java.lang.String pattern -> a
     java.lang.String captured -> b
@@ -111383,7 +111523,7 @@
     1:1:com.android.tools.r8.shaking.ReprocessMethodRule$Builder setType(com.android.tools.r8.shaking.ReprocessMethodRule$Type):28:28 -> a
     com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> d
     1:11:com.android.tools.r8.shaking.ReprocessMethodRule build():39:49 -> e
-com.android.tools.r8.shaking.RootSetUtils -> com.android.tools.r8.internal.zU:
+com.android.tools.r8.shaking.RootSetUtils -> com.android.tools.r8.internal.EU:
 com.android.tools.r8.shaking.RootSetUtils$1 -> com.android.tools.r8.shaking.N2:
     int[] $SwitchMap$com$android$tools$r8$shaking$InlineRule$Type -> b
     int[] $SwitchMap$com$android$tools$r8$shaking$ClassInlineRule$Type -> c
@@ -111672,10 +111812,10 @@
     1955:1955:java.lang.String toString():1944:1944 -> toString
     1956:1956:java.lang.String toString():1945:1945 -> toString
     2:2:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1957,"2":1958,"3":1959}}
-    1957:1957:java.lang.String toString():1946:1946 -> toString
-    1958:1958:java.lang.String toString():1946:1946 -> toString
-    1959:1959:java.lang.String toString():1946:1946 -> toString
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1954,"2":1955,"3":1956}}
+    1954:1954:java.lang.String toString():1946:1946 -> toString
+    1955:1955:java.lang.String toString():1946:1946 -> toString
+    1956:1956:java.lang.String toString():1946:1946 -> toString
     1948:1953:java.lang.String toString():1946:1951 -> toString
 com.android.tools.r8.shaking.RootSetUtils$RootSetBase -> com.android.tools.r8.shaking.T2:
     com.android.tools.r8.utils.collections.ProgramMethodMap pendingMethodMoveInverse -> g
@@ -111750,7 +111890,7 @@
     151:152:boolean canInsertForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):652:653 -> a
     151:152:boolean access$300(com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):103 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    153:154:boolean com.android.tools.r8.utils.ArrayUtils.contains(java.lang.Object[],java.lang.Object):143:144 -> a
+    153:154:boolean com.android.tools.r8.utils.ArrayUtils.contains(java.lang.Object[],java.lang.Object):147:148 -> a
     153:154:boolean canInsertForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):653 -> a
     153:154:boolean access$300(com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):103 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
@@ -112135,7 +112275,7 @@
     55:55:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
     55:55:void lambda$tryAndKeepMethodOnClass$1(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder):637 -> a
     56:57:void lambda$tryAndKeepMethodOnClass$1(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder):645:646 -> a
-com.android.tools.r8.shaking.RuntimeTypeCheckInfo -> com.android.tools.r8.internal.GU:
+com.android.tools.r8.shaking.RuntimeTypeCheckInfo -> com.android.tools.r8.internal.LU:
     java.util.Set exceptionGuardTypes -> c
     java.util.Set instanceOfTypes -> a
     java.util.Set checkCastTypes -> b
@@ -112147,7 +112287,7 @@
     3:3:boolean com.android.tools.r8.shaking.RuntimeTypeCheckInfo.isExceptionGuardType(com.android.tools.r8.graph.DexProgramClass):102:102 -> a
     3:3:boolean isRuntimeCheckType(com.android.tools.r8.graph.DexProgramClass):106 -> a
     4:7:com.android.tools.r8.shaking.RuntimeTypeCheckInfo rewriteWithLens(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):110:113 -> a
-com.android.tools.r8.shaking.RuntimeTypeCheckInfo$Builder -> com.android.tools.r8.internal.FU:
+com.android.tools.r8.shaking.RuntimeTypeCheckInfo$Builder -> com.android.tools.r8.internal.KU:
     com.android.tools.r8.graph.DexItemFactory factory -> b
     java.util.Set instanceOfTypes -> c
     java.util.Set checkCastTypes -> d
@@ -112183,7 +112323,7 @@
     21:21:com.android.tools.r8.shaking.ScopedDexMethodSet getParent():75:75 -> a
     22:22:void setParent(com.android.tools.r8.shaking.ScopedDexMethodSet):79:79 -> a
     1:1:com.android.tools.r8.shaking.ScopedDexMethodSet newNestedScope():36:36 -> b
-com.android.tools.r8.shaking.SingleTargetLookupCache -> com.android.tools.r8.internal.LV:
+com.android.tools.r8.shaking.SingleTargetLookupCache -> com.android.tools.r8.internal.QV:
     java.util.Map cache -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():16:16 -> <clinit>
@@ -112196,7 +112336,7 @@
     17:17:void lambda$removeInstantiatedType$3(com.android.tools.r8.ir.desugar.LambdaDescriptor):47:47 -> a
     18:23:com.android.tools.r8.graph.DexEncodedMethod getCachedItem(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod):52:57 -> a
     1:5:boolean hasCachedItem(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod):61:65 -> b
-com.android.tools.r8.shaking.TreePruner -> com.android.tools.r8.internal.QZ:
+com.android.tools.r8.shaking.TreePruner -> com.android.tools.r8.internal.WZ:
     com.android.tools.r8.graph.AppView appView -> a
     java.util.Set prunedTypes -> d
     java.util.Set methodsToKeepForConfigurationDebugging -> e
@@ -112292,12 +112432,12 @@
     1:1:java.util.Set access$100(com.android.tools.r8.shaking.TreePruner):44:44 -> b
     2:9:void retainReachableInterfacesFrom(com.android.tools.r8.graph.DexType,java.util.Set):168:175 -> b
     10:10:java.util.Set getRemovedClasses():384:384 -> b
-com.android.tools.r8.shaking.TreePruner$1 -> com.android.tools.r8.internal.PZ:
+com.android.tools.r8.shaking.TreePruner$1 -> com.android.tools.r8.internal.VZ:
     com.android.tools.r8.shaking.TreePruner this$0 -> a
     1:1:void <init>(com.android.tools.r8.shaking.TreePruner):401:401 -> <init>
     1:1:void fixup(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo):404:404 -> a
     2:2:void fixup(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo):410:410 -> a
-com.android.tools.r8.shaking.TreePrunerConfiguration -> com.android.tools.r8.internal.RZ:
+com.android.tools.r8.shaking.TreePrunerConfiguration -> com.android.tools.r8.internal.XZ:
     boolean isReachableOrReferencedField(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexEncodedField) -> a
 com.android.tools.r8.shaking.UnusedArgumentRule -> com.android.tools.r8.shaking.a3:
     int $r8$clinit -> r
@@ -112309,7 +112449,7 @@
     1:1:void <init>(com.android.tools.r8.shaking.UnusedArgumentRule$1):12:12 -> <init>
     2:2:void <init>():16:16 -> <init>
     com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> d
-com.android.tools.r8.shaking.UnusedItemsPrinter -> com.android.tools.r8.internal.O10:
+com.android.tools.r8.shaking.UnusedItemsPrinter -> com.android.tools.r8.internal.U10:
     com.android.tools.r8.shaking.UnusedItemsPrinter DONT_PRINT -> e
     com.android.tools.r8.shaking.UnusedItemsPrinter$Members currentMembers -> c
     java.util.List classes -> d
@@ -112386,8 +112526,8 @@
     5:8:void visited():61:64 -> b
     9:9:void registerUnusedMethod(com.android.tools.r8.graph.DexEncodedMethod):68:68 -> b
     10:10:void registerUnusedField(com.android.tools.r8.graph.DexEncodedField):72:72 -> b
-com.android.tools.r8.shaking.UnusedItemsPrinter$1 -> com.android.tools.r8.internal.L10:
-com.android.tools.r8.shaking.UnusedItemsPrinter$Members -> com.android.tools.r8.internal.M10:
+com.android.tools.r8.shaking.UnusedItemsPrinter$1 -> com.android.tools.r8.internal.R10:
+com.android.tools.r8.shaking.UnusedItemsPrinter$Members -> com.android.tools.r8.internal.S10:
     java.util.List methods -> b
     java.util.List fields -> a
     1:3:void <init>():18:20 -> <init>
@@ -112395,7 +112535,7 @@
     1:1:int lambda$sort$0(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField):27:27 -> a
     2:3:void sort():27:28 -> a
     4:4:int lambda$sort$1(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):28:28 -> a
-com.android.tools.r8.shaking.UnusedItemsPrinter$NopPrinter -> com.android.tools.r8.internal.N10:
+com.android.tools.r8.shaking.UnusedItemsPrinter$NopPrinter -> com.android.tools.r8.internal.T10:
     1:1:void <init>():139:139 -> <init>
     void finished() -> a
     void registerUnusedClass(com.android.tools.r8.graph.DexProgramClass) -> a
@@ -112403,7 +112543,7 @@
     void registerUnusedMethod(com.android.tools.r8.graph.DexEncodedMethod) -> b
     void visited() -> b
     void visiting(com.android.tools.r8.graph.DexProgramClass) -> b
-com.android.tools.r8.shaking.VerticalClassMerger -> com.android.tools.r8.internal.E20:
+com.android.tools.r8.shaking.VerticalClassMerger -> com.android.tools.r8.internal.K20:
     com.android.tools.r8.shaking.MainDexInfo mainDexInfo -> r
     com.android.tools.r8.shaking.AppInfoWithLiveness appInfo -> b
     java.util.List synthesizedBridges -> q
@@ -112583,8 +112723,8 @@
     1:1:com.android.tools.r8.graph.AppView access$300(com.android.tools.r8.shaking.VerticalClassMerger):118:118 -> k
     1:1:java.util.concurrent.ExecutorService access$800(com.android.tools.r8.shaking.VerticalClassMerger):118:118 -> l
     1:1:com.android.tools.r8.utils.Timing access$900(com.android.tools.r8.shaking.VerticalClassMerger):118:118 -> m
-com.android.tools.r8.shaking.VerticalClassMerger$1 -> com.android.tools.r8.internal.u20:
-com.android.tools.r8.shaking.VerticalClassMerger$AbortReason$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.v20:
+com.android.tools.r8.shaking.VerticalClassMerger$1 -> com.android.tools.r8.internal.A20:
+com.android.tools.r8.shaking.VerticalClassMerger$AbortReason$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.B20:
 # {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
 # {"id":"com.android.tools.r8.synthesized"}
     boolean com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.$assertionsDisabled -> a
@@ -112635,7 +112775,7 @@
     82:82:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):142 -> a
     83:83:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):147:147 -> a
     83:83:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):142 -> a
-com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger -> com.android.tools.r8.internal.w20:
+com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger -> com.android.tools.r8.internal.C20:
     com.android.tools.r8.graph.DexProgramClass target -> b
     java.util.List synthesizedBridges -> d
     com.android.tools.r8.graph.DexProgramClass source -> a
@@ -112795,7 +112935,7 @@
     131:131:void com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.add(java.util.Map,com.android.tools.r8.graph.DexEncodedMember,com.android.tools.r8.com.google.common.base.Equivalence):1555:1555 -> c
     131:131:boolean merge():1060 -> c
     132:148:boolean merge():1066:1082 -> c
-    149:149:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.prependHolderToProto(com.android.tools.r8.graph.DexMethod):2582:2582 -> c
+    149:149:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.prependHolderToProto(com.android.tools.r8.graph.DexMethod):2584:2584 -> c
     149:149:boolean merge():1082 -> c
     150:150:boolean merge():1075:1075 -> c
     151:155:void com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.makeStatic(com.android.tools.r8.graph.DexEncodedMethod):1699:1703 -> c
@@ -112848,7 +112988,7 @@
     347:347:boolean merge():1211:1211 -> c
     356:356:boolean lambda$restoreDebuggingState$11(com.android.tools.r8.graph.DexEncodedMethod):1366:1366 -> c
     1:2:void lambda$restoreDebuggingState$9(com.android.tools.r8.graph.DexEncodedMethod):1356:1357 -> d
-com.android.tools.r8.shaking.VerticalClassMerger$CollisionDetector -> com.android.tools.r8.internal.x20:
+com.android.tools.r8.shaking.VerticalClassMerger$CollisionDetector -> com.android.tools.r8.internal.D20:
     java.util.Map seenPositions -> a
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap sourceProtoCache -> c
     java.util.Collection invokes -> f
@@ -112868,7 +113008,7 @@
     21:21:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap lambda$fillSeenPositions$0(com.android.tools.r8.graph.DexString):1857:1857 -> a
     22:53:int computePositionsFor(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1876:1907 -> a
     1:22:boolean mayCollide():1823:1844 -> b
-com.android.tools.r8.shaking.VerticalClassMerger$IllegalAccessDetector -> com.android.tools.r8.internal.y20:
+com.android.tools.r8.shaking.VerticalClassMerger$IllegalAccessDetector -> com.android.tools.r8.internal.E20:
     com.android.tools.r8.graph.AppView appView -> f
     1:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):2053:2054 -> <init>
     1:2:boolean checkMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.OptionalBool):2075:2076 -> a
@@ -112939,7 +113079,7 @@
     3:3:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):393:393 -> i
     3:3:boolean checkFieldReference(com.android.tools.r8.graph.DexField):2059 -> i
     4:11:boolean checkFieldReference(com.android.tools.r8.graph.DexField):2060:2067 -> i
-com.android.tools.r8.shaking.VerticalClassMerger$InvokeSpecialToDefaultLibraryMethodUseRegistry -> com.android.tools.r8.internal.z20:
+com.android.tools.r8.shaking.VerticalClassMerger$InvokeSpecialToDefaultLibraryMethodUseRegistry -> com.android.tools.r8.internal.F20:
     boolean $assertionsDisabled -> f
     1:1:void <clinit>():2185:2185 -> <clinit>
     1:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):2190:2191 -> <init>
@@ -112955,7 +113095,7 @@
     void registerTypeReference(com.android.tools.r8.graph.DexType) -> f
     void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod) -> g
     void registerStaticFieldWrite(com.android.tools.r8.graph.DexField) -> g
-com.android.tools.r8.shaking.VerticalClassMerger$OverloadedMethodSignaturesRetriever -> com.android.tools.r8.internal.A20:
+com.android.tools.r8.shaking.VerticalClassMerger$OverloadedMethodSignaturesRetriever -> com.android.tools.r8.internal.G20:
     com.android.tools.r8.com.google.common.base.Equivalence equivalence -> b
     java.util.Set mergeeCandidates -> c
     com.android.tools.r8.shaking.VerticalClassMerger this$0 -> d
@@ -112971,7 +113111,7 @@
     51:58:boolean com.android.tools.r8.shaking.VerticalClassMerger$OverloadedMethodSignaturesRetriever.typeMayReferenceMergedSourceOrTarget(com.android.tools.r8.graph.DexType):687:694 -> a
     51:58:boolean protoMayReferenceMergedSourceOrTarget(com.android.tools.r8.graph.DexProto):675 -> a
     59:59:boolean protoMayReferenceMergedSourceOrTarget(com.android.tools.r8.graph.DexProto):681:681 -> a
-com.android.tools.r8.shaking.VerticalClassMerger$SingleTypeMapperGraphLens -> com.android.tools.r8.internal.B20:
+com.android.tools.r8.shaking.VerticalClassMerger$SingleTypeMapperGraphLens -> com.android.tools.r8.internal.H20:
     boolean $assertionsDisabled -> i
     com.android.tools.r8.shaking.VerticalClassMerger this$0 -> h
     com.android.tools.r8.graph.DexProgramClass target -> g
@@ -112991,7 +113131,7 @@
     2:2:com.android.tools.r8.graph.RewrittenPrototypeDescription lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod):2025:2025 -> d
     boolean isContextFreeForMethods() -> f
     1:1:com.android.tools.r8.graph.DexMethod internalGetPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):1984:1984 -> f
-com.android.tools.r8.shaking.VerticalClassMerger$SynthesizedBridgeCode -> com.android.tools.r8.internal.C20:
+com.android.tools.r8.shaking.VerticalClassMerger$SynthesizedBridgeCode -> com.android.tools.r8.internal.I20:
     com.android.tools.r8.ir.code.Invoke$Type type -> g
     boolean $assertionsDisabled -> i
     com.android.tools.r8.graph.DexMethod invocationTarget -> f
@@ -113012,14 +113152,14 @@
     2325:2325:void lambda$getRegistryCallback$0(com.android.tools.r8.graph.UseRegistry):2307:2307 -> a
     2326:2326:void lambda$getRegistryCallback$0(com.android.tools.r8.graph.UseRegistry):2301:2301 -> a
     2327:2327:void lambda$getRegistryCallback$0(com.android.tools.r8.graph.UseRegistry):2298:2298 -> a
-    1:2:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():2280:2281 -> s0
-    3:3:com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode$Builder com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode.builder(com.android.tools.r8.graph.DexMethod):25:25 -> s0
-    3:3:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():2281 -> s0
-    4:7:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():2282:2285 -> s0
-    8:8:boolean com.android.tools.r8.ir.code.Invoke$Type.isStatic():189:189 -> s0
-    8:8:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():2285 -> s0
-    9:13:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():2285:2289 -> s0
-com.android.tools.r8.shaking.VerticalClassMerger$VerticalClassMergerTreeFixer -> com.android.tools.r8.internal.D20:
+    1:2:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():2280:2281 -> t0
+    3:3:com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode$Builder com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode.builder(com.android.tools.r8.graph.DexMethod):25:25 -> t0
+    3:3:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():2281 -> t0
+    4:7:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():2282:2285 -> t0
+    8:8:boolean com.android.tools.r8.ir.code.Invoke$Type.isStatic():189:189 -> t0
+    8:8:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():2285 -> t0
+    9:13:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():2285:2289 -> t0
+com.android.tools.r8.shaking.VerticalClassMerger$VerticalClassMergerTreeFixer -> com.android.tools.r8.internal.J20:
     com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder lensBuilder -> g
     boolean $assertionsDisabled -> j
     com.android.tools.r8.graph.AppView appView -> f
@@ -113041,7 +113181,7 @@
     9:14:com.android.tools.r8.graph.DexEncodedMethod recordMethodChange(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):1791:1796 -> a
     1:11:com.android.tools.r8.shaking.VerticalClassMergerGraphLens fixupTypeReferences():1745:1755 -> b
     12:13:com.android.tools.r8.graph.DexType mapClassType(com.android.tools.r8.graph.DexType):1762:1763 -> b
-com.android.tools.r8.shaking.VerticalClassMergerGraphLens -> com.android.tools.r8.internal.I20:
+com.android.tools.r8.shaking.VerticalClassMergerGraphLens -> com.android.tools.r8.internal.O20:
     com.android.tools.r8.graph.AppView appView -> n
     java.util.Map originalMethodSignaturesForBridges -> r
     java.util.Map contextualVirtualToDirectMethodMaps -> p
@@ -113065,8 +113205,8 @@
     3:3:java.lang.Iterable internalGetOriginalTypes(com.android.tools.r8.graph.DexType):95 -> f
     4:6:com.android.tools.r8.graph.DexMethod internalGetPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):134:134 -> f
     7:7:boolean isContextFreeForMethods():145:145 -> f
-com.android.tools.r8.shaking.VerticalClassMergerGraphLens$1 -> com.android.tools.r8.internal.F20:
-com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder -> com.android.tools.r8.internal.G20:
+com.android.tools.r8.shaking.VerticalClassMergerGraphLens$1 -> com.android.tools.r8.internal.L20:
+com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder -> com.android.tools.r8.internal.M20:
     java.util.Map methodMap -> c
     com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap newMethodSignatures -> f
     boolean $assertionsDisabled -> i
@@ -113124,9 +113264,9 @@
     1:1:void recordCreationOfBridgeMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):337:337 -> c
     1:3:void recordMerge(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):327:329 -> d
     1:1:void recordMove(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):333:333 -> e
-com.android.tools.r8.shaking.VerticalClassMergerGraphLens$GraphLensLookupResultProvider -> com.android.tools.r8.internal.H20:
+com.android.tools.r8.shaking.VerticalClassMergerGraphLens$GraphLensLookupResultProvider -> com.android.tools.r8.internal.N20:
     com.android.tools.r8.graph.GraphLens$MethodLookupResult get(com.android.tools.r8.graph.RewrittenPrototypeDescription) -> a
-com.android.tools.r8.shaking.WhyAreYouKeepingConsumer -> com.android.tools.r8.internal.j30:
+com.android.tools.r8.shaking.WhyAreYouKeepingConsumer -> com.android.tools.r8.internal.p30:
     boolean $assertionsDisabled -> c
     1:1:void <clinit>():43:43 -> <clinit>
     1:1:void <init>(com.android.tools.r8.experimental.graphinfo.GraphConsumer):58:58 -> <init>
@@ -113180,7 +113320,7 @@
     35:39:java.lang.String getNodeString(com.android.tools.r8.experimental.graphinfo.GraphNode):230 -> d
     40:46:java.lang.String getNodeString(com.android.tools.r8.experimental.graphinfo.GraphNode):230:236 -> d
     47:47:java.lang.String getNodeString(com.android.tools.r8.experimental.graphinfo.GraphNode):235:235 -> d
-com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$Formatter -> com.android.tools.r8.internal.h30:
+com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$Formatter -> com.android.tools.r8.internal.n30:
     java.io.PrintStream output -> a
     int indentation -> b
     1:1:void <init>(java.io.PrintStream):257:257 -> <init>
@@ -113196,7 +113336,7 @@
     2:3:void com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$Formatter.indent():268:269 -> c
     2:3:void startItem(java.lang.String):263 -> c
     4:4:void startItem(java.lang.String):264:264 -> c
-com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$GraphPath -> com.android.tools.r8.internal.i30:
+com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$GraphPath -> com.android.tools.r8.internal.o30:
     com.android.tools.r8.experimental.graphinfo.GraphNode node -> a
     com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$GraphPath path -> b
     boolean $assertionsDisabled -> c
@@ -113331,7 +113471,7 @@
     1:1:java.util.List lambda$addNonLegacyClass$0(com.android.tools.r8.graph.DexType):59:59 -> b
     2:9:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder collectSyntheticInputs():87:94 -> b
     1:1:java.util.List lambda$addNonLegacyMethod$1(com.android.tools.r8.graph.DexType):73:73 -> c
-com.android.tools.r8.synthesis.Rewritable -> com.android.tools.r8.internal.qU:
+com.android.tools.r8.synthesis.Rewritable -> com.android.tools.r8.internal.vU:
     com.android.tools.r8.graph.DexType getHolder() -> a
     com.android.tools.r8.synthesis.Rewritable rewrite(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens) -> a
 com.android.tools.r8.synthesis.SynthesizingContext -> com.android.tools.r8.synthesis.d:
@@ -113376,24 +113516,24 @@
     1:1:com.android.tools.r8.graph.DexType getSynthesizingContextType():103:103 -> c
     1:1:int compareTo(java.lang.Object):29:29 -> compareTo
     1:1:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":320,"2":321,"3":322}}
-    320:320:java.lang.String toString():156:156 -> toString
-    321:321:java.lang.String toString():156:156 -> toString
-    322:322:java.lang.String toString():156:156 -> toString
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":165,"2":166,"3":167}}
+    165:165:java.lang.String toString():156:156 -> toString
+    166:166:java.lang.String toString():156:156 -> toString
+    167:167:java.lang.String toString():156:156 -> toString
     2:2:com.android.tools.r8.graph.DexType getSynthesizingContextType():103:103 -> toString
     2:2:java.lang.String toString():157 -> toString
     3:4:java.lang.String toString():157:158 -> toString
     5:5:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":324,"2":325,"3":326}}
-    324:324:java.lang.String toString():158:158 -> toString
-    325:325:java.lang.String toString():158:158 -> toString
-    326:326:java.lang.String toString():158:158 -> toString
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":165,"2":166,"3":167}}
+    165:165:java.lang.String toString():158:158 -> toString
+    166:166:java.lang.String toString():158:158 -> toString
+    167:167:java.lang.String toString():158:158 -> toString
     163:163:java.lang.String toString():158:158 -> toString
     164:164:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":327,"2":328,"3":329}}
-    327:327:java.lang.String toString():158:158 -> toString
-    328:328:java.lang.String toString():158:158 -> toString
-    329:329:java.lang.String toString():158:158 -> toString
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":165,"2":166,"3":167}}
+    165:165:java.lang.String toString():158:158 -> toString
+    166:166:java.lang.String toString():158:158 -> toString
+    167:167:java.lang.String toString():158:158 -> toString
 com.android.tools.r8.synthesis.SyntheticClassBuilder -> com.android.tools.r8.synthesis.e:
     com.android.tools.r8.graph.GenericSignature$ClassSignature signature -> r
     java.util.List methods -> q
@@ -113484,10 +113624,10 @@
     126:126:java.lang.String toString():58:58 -> toString
     59:59:java.lang.String toString():58:58 -> toString
     60:60:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":127,"2":128,"3":129}}
-    127:127:java.lang.String toString():59:59 -> toString
-    128:128:java.lang.String toString():59:59 -> toString
-    129:129:java.lang.String toString():59:59 -> toString
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":124,"2":125,"3":126}}
+    124:124:java.lang.String toString():59:59 -> toString
+    125:125:java.lang.String toString():59:59 -> toString
+    126:126:java.lang.String toString():59:59 -> toString
     121:123:java.lang.String toString():61:63 -> toString
 com.android.tools.r8.synthesis.SyntheticClasspathClassReference -> com.android.tools.r8.synthesis.j:
     boolean $assertionsDisabled -> e
@@ -113527,7 +113667,7 @@
     24:24:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):18 -> a
     17:17:com.android.tools.r8.synthesis.SyntheticClasspathClassReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):42:42 -> a
     17:17:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):18 -> a
-com.android.tools.r8.synthesis.SyntheticClasspathDefinition -> com.android.tools.r8.internal.IY:
+com.android.tools.r8.synthesis.SyntheticClasspathDefinition -> com.android.tools.r8.internal.NY:
 com.android.tools.r8.synthesis.SyntheticDefinition -> com.android.tools.r8.synthesis.k:
     com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind kind -> a
     boolean $assertionsDisabled -> c
@@ -113576,17 +113716,17 @@
     1:1:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind getKind():54:54 -> g
     1:1:java.lang.String getPrefixForExternalSyntheticType():62 -> g
     2:2:java.lang.String getPrefixForExternalSyntheticType():62:62 -> g
-    3:6:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):149:152 -> g
+    3:6:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):150:153 -> g
     3:6:java.lang.String getPrefixForExternalSyntheticType():62 -> g
-    7:12:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):151:156 -> g
+    7:12:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):152:157 -> g
     7:12:java.lang.String getPrefixForExternalSyntheticType():62 -> g
-    13:13:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):154:154 -> g
+    13:13:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):155:155 -> g
     13:13:java.lang.String getPrefixForExternalSyntheticType():62 -> g
     boolean isClasspathDefinition() -> h
     boolean isProgramDefinition() -> i
     boolean isValid() -> j
     com.android.tools.r8.synthesis.SyntheticReference toReference() -> k
-com.android.tools.r8.synthesis.SyntheticDefinitionsProvider -> com.android.tools.r8.internal.JY:
+com.android.tools.r8.synthesis.SyntheticDefinitionsProvider -> com.android.tools.r8.internal.OY:
     com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,java.util.function.Function) -> a
 com.android.tools.r8.synthesis.SyntheticFinalization -> com.android.tools.r8.synthesis.p:
     com.android.tools.r8.utils.InternalOptions options -> a
@@ -113633,18 +113773,18 @@
     152:152:void lambda$computeFinalSynthetics$3(java.util.function.Consumer,com.android.tools.r8.synthesis.SyntheticFinalization$SyntheticFinalizationGraphLens,com.android.tools.r8.graph.DexType):260:260 -> a
     153:153:boolean verifyNoNestedSynthetics(com.android.tools.r8.graph.DexItemFactory):314:314 -> a
     154:154:void lambda$verifyNoNestedSynthetics$5(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.synthesis.SyntheticReference):316:316 -> a
-    155:155:boolean com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind.allowSyntheticContext():99:99 -> a
+    155:155:boolean com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind.allowSyntheticContext():100:100 -> a
     155:155:void lambda$verifyNoNestedSynthetics$5(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.synthesis.SyntheticReference):316 -> a
     156:156:void lambda$verifyNoNestedSynthetics$5(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.synthesis.SyntheticReference):320:320 -> a
-    157:160:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):149:152 -> a
+    157:160:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):150:153 -> a
     157:160:void lambda$verifyNoNestedSynthetics$5(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.synthesis.SyntheticReference):320 -> a
-    161:166:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):151:156 -> a
+    161:166:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):152:157 -> a
     161:166:void lambda$verifyNoNestedSynthetics$5(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.synthesis.SyntheticReference):320 -> a
     167:169:void lambda$verifyNoNestedSynthetics$5(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.synthesis.SyntheticReference):321:323 -> a
     170:170:boolean isNotSyntheticType(com.android.tools.r8.graph.DexType):309:309 -> a
     170:170:void lambda$verifyNoNestedSynthetics$5(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.synthesis.SyntheticReference):324 -> a
     171:171:void lambda$verifyNoNestedSynthetics$5(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.synthesis.SyntheticReference):324:324 -> a
-    172:172:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):154:154 -> a
+    172:172:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):155:155 -> a
     172:172:void lambda$verifyNoNestedSynthetics$5(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.synthesis.SyntheticReference):320 -> a
     173:183:boolean verifyOneSyntheticPerSyntheticClass():330:340 -> a
     184:185:void lambda$verifyOneSyntheticPerSyntheticClass$6(java.util.Set,com.android.tools.r8.graph.DexType,java.util.List):335:336 -> a
@@ -113829,12 +113969,12 @@
     1789:1789:java.lang.String toString():887:887 -> toString
     889:892:java.lang.String toString():887:890 -> toString
     893:893:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1795,"2":1796,"3":1797}}
-    1795:1795:java.lang.String toString():893:893 -> toString
-    1796:1796:java.lang.String toString():893:893 -> toString
-    1797:1797:java.lang.String toString():893:893 -> toString
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1787,"2":1788,"3":1789}}
+    1787:1787:java.lang.String toString():893:893 -> toString
+    1788:1788:java.lang.String toString():893:893 -> toString
+    1789:1789:java.lang.String toString():893:893 -> toString
     1786:1786:java.lang.String toString():893:893 -> toString
-com.android.tools.r8.synthesis.SyntheticFinalization$Result -> com.android.tools.r8.internal.KY:
+com.android.tools.r8.synthesis.SyntheticFinalization$Result -> com.android.tools.r8.internal.PY:
     com.android.tools.r8.synthesis.CommittedItems commit -> a
     com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens lens -> b
     com.android.tools.r8.shaking.MainDexInfo mainDexInfo -> d
@@ -114219,7 +114359,7 @@
     12:12:boolean verifyNotRewritten(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):81:81 -> a
     13:19:java.util.Collection getAllProgramClasses():86:92 -> a
     1:1:boolean isEmpty():68:68 -> b
-com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle -> com.android.tools.r8.internal.OY:
+com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle -> com.android.tools.r8.internal.TY:
     java.util.Set getSynthesizingContexts(com.android.tools.r8.graph.DexProgramClass) -> a
 com.android.tools.r8.synthesis.SyntheticMarker -> com.android.tools.r8.synthesis.u:
     com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind kind -> a
@@ -114235,16 +114375,16 @@
     11:13:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):96:98 -> a
     14:14:com.android.tools.r8.graph.DexType getSyntheticContextType(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexItemFactory):149:149 -> a
     14:14:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):98 -> a
-    15:18:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):149:152 -> a
+    15:18:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):150:153 -> a
     15:18:com.android.tools.r8.graph.DexType getSyntheticContextType(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexItemFactory):149 -> a
     15:18:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):98 -> a
-    19:24:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):151:156 -> a
+    19:24:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):152:157 -> a
     19:24:com.android.tools.r8.graph.DexType getSyntheticContextType(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexItemFactory):149 -> a
     19:24:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):98 -> a
     25:25:com.android.tools.r8.graph.DexType getSyntheticContextType(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexItemFactory):150:150 -> a
     25:25:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):98 -> a
     26:27:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):100:101 -> a
-    28:28:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):154:154 -> a
+    28:28:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):155:155 -> a
     28:28:com.android.tools.r8.graph.DexType getSyntheticContextType(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexItemFactory):149 -> a
     28:28:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):98 -> a
     29:30:com.android.tools.r8.synthesis.SyntheticMarker internalStripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):112:113 -> a
@@ -114271,11 +114411,11 @@
     60:60:com.android.tools.r8.graph.DexType getSyntheticContextType(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexItemFactory):149:149 -> a
     60:60:com.android.tools.r8.synthesis.SyntheticMarker internalStripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):136 -> a
     60:60:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):103 -> a
-    61:64:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):149:152 -> a
+    61:64:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):150:153 -> a
     61:64:com.android.tools.r8.graph.DexType getSyntheticContextType(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexItemFactory):149 -> a
     61:64:com.android.tools.r8.synthesis.SyntheticMarker internalStripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):136 -> a
     61:64:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):103 -> a
-    65:70:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):151:156 -> a
+    65:70:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):152:157 -> a
     65:70:com.android.tools.r8.graph.DexType getSyntheticContextType(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexItemFactory):149 -> a
     65:70:com.android.tools.r8.synthesis.SyntheticMarker internalStripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):136 -> a
     65:70:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):103 -> a
@@ -114288,7 +114428,7 @@
     77:77:boolean com.android.tools.r8.graph.DexAnnotation.hasSynthesizedClassAnnotation(com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexItemFactory):405:405 -> a
     77:77:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):105 -> a
     78:78:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):104:104 -> a
-    79:79:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):154:154 -> a
+    79:79:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):155:155 -> a
     79:79:com.android.tools.r8.graph.DexType getSyntheticContextType(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexItemFactory):149 -> a
     79:79:com.android.tools.r8.synthesis.SyntheticMarker internalStripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):136 -> a
     79:79:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):103 -> a
@@ -114305,7 +114445,7 @@
     1:2:void <init>(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):51:52 -> <init>
     1:1:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind access$100(com.android.tools.r8.synthesis.SyntheticMarker$MarkerAttribute):44:44 -> a
     2:3:com.android.tools.r8.org.objectweb.asm.Attribute read(com.android.tools.r8.org.objectweb.asm.ClassReader,int,int,char[],int,com.android.tools.r8.org.objectweb.asm.Label[]):63:64 -> a
-    4:5:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind.fromId(int):112:113 -> a
+    4:5:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind.fromId(int):113:114 -> a
     4:5:com.android.tools.r8.org.objectweb.asm.Attribute read(com.android.tools.r8.org.objectweb.asm.ClassReader,int,int,char[],int,com.android.tools.r8.org.objectweb.asm.Label[]):65 -> a
     6:6:com.android.tools.r8.org.objectweb.asm.Attribute read(com.android.tools.r8.org.objectweb.asm.ClassReader,int,int,char[],int,com.android.tools.r8.org.objectweb.asm.Label[]):66:66 -> a
     7:9:com.android.tools.r8.org.objectweb.asm.ByteVector write(com.android.tools.r8.org.objectweb.asm.ClassWriter,byte[],int,int,int):72:74 -> a
@@ -114367,7 +114507,7 @@
     1:1:com.android.tools.r8.synthesis.SyntheticMethodBuilder setApiLevelForDefinition(com.android.tools.r8.androidapi.ComputedApiLevel):115:115 -> b
     2:2:com.android.tools.r8.synthesis.SyntheticMethodBuilder disableAndroidApiLevelCheck():125:125 -> b
     1:1:com.android.tools.r8.synthesis.SyntheticMethodBuilder setName(java.lang.String):63:63 -> c
-com.android.tools.r8.synthesis.SyntheticMethodBuilder$SyntheticCodeGenerator -> com.android.tools.r8.internal.RY:
+com.android.tools.r8.synthesis.SyntheticMethodBuilder$SyntheticCodeGenerator -> com.android.tools.r8.internal.WY:
     com.android.tools.r8.graph.Code generate(com.android.tools.r8.graph.DexMethod) -> a
 com.android.tools.r8.synthesis.SyntheticMethodDefinition -> com.android.tools.r8.synthesis.w:
     com.android.tools.r8.graph.ProgramMethod method -> d
@@ -114417,7 +114557,7 @@
     11:11:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):21 -> a
     12:16:com.android.tools.r8.synthesis.SyntheticMethodReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):60:64 -> a
     12:16:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):21 -> a
-    17:17:boolean com.android.tools.r8.synthesis.SyntheticNaming.verifyNotInternalSynthetic(com.android.tools.r8.graph.DexType):208:208 -> a
+    17:17:boolean com.android.tools.r8.synthesis.SyntheticNaming.verifyNotInternalSynthetic(com.android.tools.r8.graph.DexType):209:209 -> a
     17:17:com.android.tools.r8.synthesis.SyntheticMethodReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):64 -> a
     17:17:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):21 -> a
     18:21:com.android.tools.r8.synthesis.SyntheticMethodReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):67:70 -> a
@@ -114428,191 +114568,195 @@
     boolean $assertionsDisabled -> a
     int $r8$clinit -> b
     1:1:void <clinit>():15:15 -> <clinit>
-    1:2:com.android.tools.r8.graph.DexType createFixedType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexItemFactory):161:162 -> a
-    3:3:com.android.tools.r8.graph.DexType createType(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,java.lang.String,com.android.tools.r8.graph.DexItemFactory):189:189 -> a
-    3:3:com.android.tools.r8.graph.DexType createFixedType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexItemFactory):162 -> a
-    4:4:java.lang.String createDescriptor(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.lang.String):203:203 -> a
-    4:4:com.android.tools.r8.graph.DexType createType(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,java.lang.String,com.android.tools.r8.graph.DexItemFactory):189 -> a
-    4:4:com.android.tools.r8.graph.DexType createFixedType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexItemFactory):162 -> a
-    5:5:com.android.tools.r8.graph.DexType createType(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,java.lang.String,com.android.tools.r8.graph.DexItemFactory):189:189 -> a
-    5:5:com.android.tools.r8.graph.DexType createFixedType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexItemFactory):162 -> a
-    6:10:com.android.tools.r8.graph.DexType createInternalType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,java.lang.String,com.android.tools.r8.graph.DexItemFactory):167:171 -> a
-    11:11:com.android.tools.r8.graph.DexType createInternalType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,java.lang.String,com.android.tools.r8.graph.DexItemFactory):168:168 -> a
-    12:12:com.android.tools.r8.graph.DexType createType(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,java.lang.String,com.android.tools.r8.graph.DexItemFactory):189:189 -> a
-    12:12:com.android.tools.r8.graph.DexType createInternalType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,java.lang.String,com.android.tools.r8.graph.DexItemFactory):168 -> a
-    13:13:java.lang.String createDescriptor(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.lang.String):203:203 -> a
-    13:13:com.android.tools.r8.graph.DexType createType(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,java.lang.String,com.android.tools.r8.graph.DexItemFactory):189 -> a
-    13:13:com.android.tools.r8.graph.DexType createInternalType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,java.lang.String,com.android.tools.r8.graph.DexItemFactory):168 -> a
-    14:14:com.android.tools.r8.graph.DexType createType(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,java.lang.String,com.android.tools.r8.graph.DexItemFactory):189:189 -> a
-    14:14:com.android.tools.r8.graph.DexType createInternalType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,java.lang.String,com.android.tools.r8.graph.DexItemFactory):168 -> a
-    15:17:com.android.tools.r8.graph.DexType createExternalType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.lang.String,com.android.tools.r8.graph.DexItemFactory):178:180 -> a
-    18:18:java.lang.String createDescriptor(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.lang.String):203:203 -> a
-    18:18:com.android.tools.r8.graph.DexType createType(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.lang.String,com.android.tools.r8.graph.DexItemFactory):198 -> a
-    18:18:com.android.tools.r8.graph.DexType createExternalType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.lang.String,com.android.tools.r8.graph.DexItemFactory):179 -> a
-    19:19:com.android.tools.r8.graph.DexType createType(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.lang.String,com.android.tools.r8.graph.DexItemFactory):198:198 -> a
-    19:19:com.android.tools.r8.graph.DexType createExternalType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.lang.String,com.android.tools.r8.graph.DexItemFactory):179 -> a
-    20:20:boolean verifyNotInternalSynthetic(com.android.tools.r8.references.ClassReference):212:212 -> a
-    21:21:boolean verifyNotInternalSynthetic(java.lang.String):216:216 -> a
-    22:25:java.lang.String getPhaseSeparator(com.android.tools.r8.synthesis.SyntheticNaming$Phase):228:231 -> a
-    26:26:com.android.tools.r8.references.ClassReference makeSyntheticReferenceForTest(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String):237:237 -> a
-    27:27:java.lang.String createDescriptor(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.lang.String):203:203 -> a
-    27:27:com.android.tools.r8.references.ClassReference makeSyntheticReferenceForTest(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String):237 -> a
-    28:28:com.android.tools.r8.references.ClassReference makeSyntheticReferenceForTest(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String):236:236 -> a
-    29:36:boolean isSynthetic(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$Phase,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):246:253 -> a
-    37:41:boolean checkMatchFrom(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,int,java.lang.String,boolean):262:266 -> a
-    37:41:boolean isSynthetic(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$Phase,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):253 -> a
+    1:2:com.android.tools.r8.graph.DexType createFixedType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexItemFactory):162:163 -> a
+    3:3:com.android.tools.r8.graph.DexType createType(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,java.lang.String,com.android.tools.r8.graph.DexItemFactory):190:190 -> a
+    3:3:com.android.tools.r8.graph.DexType createFixedType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexItemFactory):163 -> a
+    4:4:java.lang.String createDescriptor(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.lang.String):204:204 -> a
+    4:4:com.android.tools.r8.graph.DexType createType(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,java.lang.String,com.android.tools.r8.graph.DexItemFactory):190 -> a
+    4:4:com.android.tools.r8.graph.DexType createFixedType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexItemFactory):163 -> a
+    5:5:com.android.tools.r8.graph.DexType createType(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,java.lang.String,com.android.tools.r8.graph.DexItemFactory):190:190 -> a
+    5:5:com.android.tools.r8.graph.DexType createFixedType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexItemFactory):163 -> a
+    6:10:com.android.tools.r8.graph.DexType createInternalType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,java.lang.String,com.android.tools.r8.graph.DexItemFactory):168:172 -> a
+    11:11:com.android.tools.r8.graph.DexType createInternalType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,java.lang.String,com.android.tools.r8.graph.DexItemFactory):169:169 -> a
+    12:12:com.android.tools.r8.graph.DexType createType(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,java.lang.String,com.android.tools.r8.graph.DexItemFactory):190:190 -> a
+    12:12:com.android.tools.r8.graph.DexType createInternalType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,java.lang.String,com.android.tools.r8.graph.DexItemFactory):169 -> a
+    13:13:java.lang.String createDescriptor(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.lang.String):204:204 -> a
+    13:13:com.android.tools.r8.graph.DexType createType(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,java.lang.String,com.android.tools.r8.graph.DexItemFactory):190 -> a
+    13:13:com.android.tools.r8.graph.DexType createInternalType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,java.lang.String,com.android.tools.r8.graph.DexItemFactory):169 -> a
+    14:14:com.android.tools.r8.graph.DexType createType(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,java.lang.String,com.android.tools.r8.graph.DexItemFactory):190:190 -> a
+    14:14:com.android.tools.r8.graph.DexType createInternalType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,java.lang.String,com.android.tools.r8.graph.DexItemFactory):169 -> a
+    15:17:com.android.tools.r8.graph.DexType createExternalType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.lang.String,com.android.tools.r8.graph.DexItemFactory):179:181 -> a
+    18:18:java.lang.String createDescriptor(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.lang.String):204:204 -> a
+    18:18:com.android.tools.r8.graph.DexType createType(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.lang.String,com.android.tools.r8.graph.DexItemFactory):199 -> a
+    18:18:com.android.tools.r8.graph.DexType createExternalType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.lang.String,com.android.tools.r8.graph.DexItemFactory):180 -> a
+    19:19:com.android.tools.r8.graph.DexType createType(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.lang.String,com.android.tools.r8.graph.DexItemFactory):199:199 -> a
+    19:19:com.android.tools.r8.graph.DexType createExternalType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.lang.String,com.android.tools.r8.graph.DexItemFactory):180 -> a
+    20:20:boolean verifyNotInternalSynthetic(com.android.tools.r8.references.ClassReference):213:213 -> a
+    21:21:boolean verifyNotInternalSynthetic(java.lang.String):217:217 -> a
+    22:25:java.lang.String getPhaseSeparator(com.android.tools.r8.synthesis.SyntheticNaming$Phase):229:232 -> a
+    26:26:com.android.tools.r8.references.ClassReference makeSyntheticReferenceForTest(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String):238:238 -> a
+    27:27:java.lang.String createDescriptor(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.lang.String):204:204 -> a
+    27:27:com.android.tools.r8.references.ClassReference makeSyntheticReferenceForTest(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String):238 -> a
+    28:28:com.android.tools.r8.references.ClassReference makeSyntheticReferenceForTest(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String):237:237 -> a
+    29:36:boolean isSynthetic(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$Phase,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):247:254 -> a
+    37:41:boolean checkMatchFrom(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,int,java.lang.String,boolean):263:267 -> a
+    37:41:boolean isSynthetic(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$Phase,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):254 -> a
     42:42:boolean isSynthetic(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$Phase,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):0:0 -> a
       # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":53,"2":54,"3":55}}
-    53:53:boolean checkMatchFrom(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,int,java.lang.String,boolean):267:267 -> a
-    53:53:boolean isSynthetic(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$Phase,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):253 -> a
-    54:54:boolean checkMatchFrom(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,int,java.lang.String,boolean):267:267 -> a
-    54:54:boolean isSynthetic(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$Phase,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):253 -> a
-    55:55:boolean checkMatchFrom(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,int,java.lang.String,boolean):267:267 -> a
-    55:55:boolean isSynthetic(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$Phase,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):253 -> a
-    43:44:boolean checkMatchFrom(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,int,java.lang.String,boolean):267:268 -> a
-    43:44:boolean isSynthetic(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$Phase,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):253 -> a
-    45:52:boolean isInt(java.lang.String):272:279 -> a
-    45:52:boolean checkMatchFrom(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,int,java.lang.String,boolean):268 -> a
-    45:52:boolean isSynthetic(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$Phase,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):253 -> a
+    53:53:boolean checkMatchFrom(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,int,java.lang.String,boolean):268:268 -> a
+    53:53:boolean isSynthetic(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$Phase,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):254 -> a
+    54:54:boolean checkMatchFrom(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,int,java.lang.String,boolean):268:268 -> a
+    54:54:boolean isSynthetic(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$Phase,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):254 -> a
+    55:55:boolean checkMatchFrom(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,int,java.lang.String,boolean):268:268 -> a
+    55:55:boolean isSynthetic(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$Phase,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):254 -> a
+    43:44:boolean checkMatchFrom(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,int,java.lang.String,boolean):268:269 -> a
+    43:44:boolean isSynthetic(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$Phase,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):254 -> a
+    45:52:boolean isInt(java.lang.String):273:280 -> a
+    45:52:boolean checkMatchFrom(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,int,java.lang.String,boolean):269 -> a
+    45:52:boolean isSynthetic(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$Phase,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):254 -> a
 com.android.tools.r8.synthesis.SyntheticNaming$Phase -> com.android.tools.r8.synthesis.y$a:
     com.android.tools.r8.synthesis.SyntheticNaming$Phase INTERNAL -> b
     com.android.tools.r8.synthesis.SyntheticNaming$Phase EXTERNAL -> c
-    1:2:void <clinit>():223:224 -> <clinit>
-    1:1:void <init>(java.lang.String,int):222:222 -> <init>
+    1:2:void <clinit>():224:225 -> <clinit>
+    1:1:void <init>(java.lang.String,int):223:223 -> <init>
 com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind -> com.android.tools.r8.synthesis.y$b:
-    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind TO_STRING_IF_NOT_NULL -> y
+    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind STATIC_INTERFACE_CALL -> y
+    boolean $assertionsDisabled -> P
     com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind HORIZONTAL_INIT_TYPE_ARGUMENT_2 -> s
     com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind INIT_TYPE_ARGUMENT -> q
     com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind BACKPORT -> w
     com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind ENUM_UNBOXING_CHECK_NOT_ZERO_METHOD -> u
     com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind EMULATED_INTERFACE_CLASS -> k
-    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind CONST_DYNAMIC -> J
+    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind EMULATED_INTERFACE_MARKER_CLASS -> J
     com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind RECORD_TAG -> i
-    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind API_CONVERSION_PARAMETERS -> H
+    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind API_CONVERSION -> H
     com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind VIVIFIED_WRAPPER -> o
+    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind API_MODEL_STUB -> N
     com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind RETARGET_INTERFACE -> m
-    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind API_MODEL_OUTLINE -> L
+    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind ENUM_CONVERSION -> L
     boolean mayOverridesNonProgramType -> f
-    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind THROW_ICCE -> B
-    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind[] $VALUES -> N
+    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind THROW_IAE -> B
     com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind ENUM_UNBOXING_LOCAL_UTILITY_CLASS -> g
-    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind OUTLINE -> F
+    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind SERVICE_LOADER -> F
     boolean isSingleSyntheticMethod -> d
-    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind TWR_CLOSE_RESOURCE -> D
-    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind THROW_CCE_IF_NOT_NULL -> z
-    boolean $assertionsDisabled -> O
-    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind STATIC_INTERFACE_CALL -> x
+    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind THROW_NSME -> D
+    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind TO_STRING_IF_NOT_NULL -> z
+    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind BACKPORT_WITH_FORWARDING -> x
     com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind HORIZONTAL_INIT_TYPE_ARGUMENT_1 -> r
     com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind LAMBDA -> p
     int id -> c
     com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind RECORD_HELPER -> v
     com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind HORIZONTAL_INIT_TYPE_ARGUMENT_3 -> t
-    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind ENUM_CONVERSION -> K
+    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind CONST_DYNAMIC -> K
     com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind COMPANION_CLASS -> j
-    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind EMULATED_INTERFACE_MARKER_CLASS -> I
+    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind API_CONVERSION_PARAMETERS -> I
     com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind ENUM_UNBOXING_SHARED_UTILITY_CLASS -> h
     com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind WRAPPER -> n
-    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind API_MODEL_STUB -> M
+    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind API_MODEL_OUTLINE -> M
     com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind RETARGET_CLASS -> l
     boolean isFixedSuffixSynthetic -> e
-    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind THROW_NSME -> C
-    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind THROW_IAE -> A
-    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind API_CONVERSION -> G
+    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind THROW_ICCE -> C
+    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind THROW_CCE_IF_NOT_NULL -> A
+    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind[] $VALUES -> O
+    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind OUTLINE -> G
     java.lang.String descriptor -> b
-    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind SERVICE_LOADER -> E
+    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind TWR_CLOSE_RESOURCE -> E
     1:3:void <clinit>():26:28 -> <clinit>
-    4:4:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):82:82 -> <clinit>
+    4:4:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):83:83 -> <clinit>
     4:4:void <clinit>():28 -> <clinit>
     5:6:void <clinit>():28:29 -> <clinit>
-    7:7:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):82:82 -> <clinit>
+    7:7:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):83:83 -> <clinit>
     7:7:void <clinit>():29 -> <clinit>
     8:10:void <clinit>():29:31 -> <clinit>
-    11:11:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):82:82 -> <clinit>
+    11:11:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):83:83 -> <clinit>
     11:11:void <clinit>():31 -> <clinit>
     12:13:void <clinit>():31:32 -> <clinit>
-    14:14:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):82:82 -> <clinit>
+    14:14:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):83:83 -> <clinit>
     14:14:void <clinit>():32 -> <clinit>
     15:16:void <clinit>():32:33 -> <clinit>
-    17:17:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):82:82 -> <clinit>
+    17:17:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):83:83 -> <clinit>
     17:17:void <clinit>():33 -> <clinit>
     18:19:void <clinit>():33:34 -> <clinit>
-    20:20:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):82:82 -> <clinit>
+    20:20:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):83:83 -> <clinit>
     20:20:void <clinit>():34 -> <clinit>
     21:22:void <clinit>():34:35 -> <clinit>
-    23:23:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):82:82 -> <clinit>
+    23:23:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):83:83 -> <clinit>
     23:23:void <clinit>():35 -> <clinit>
     24:25:void <clinit>():35:36 -> <clinit>
-    26:26:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):82:82 -> <clinit>
+    26:26:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):83:83 -> <clinit>
     26:26:void <clinit>():36 -> <clinit>
     27:28:void <clinit>():36:37 -> <clinit>
-    29:29:void <init>(java.lang.String,int,java.lang.String,int,boolean):74:74 -> <clinit>
+    29:29:void <init>(java.lang.String,int,java.lang.String,int,boolean):75:75 -> <clinit>
     29:29:void <clinit>():37 -> <clinit>
     30:31:void <clinit>():37:38 -> <clinit>
-    32:32:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):82:82 -> <clinit>
+    32:32:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):83:83 -> <clinit>
     32:32:void <clinit>():38 -> <clinit>
     33:34:void <clinit>():38:39 -> <clinit>
-    35:35:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):82:82 -> <clinit>
+    35:35:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):83:83 -> <clinit>
     35:35:void <clinit>():39 -> <clinit>
     36:37:void <clinit>():39:40 -> <clinit>
-    38:38:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):82:82 -> <clinit>
+    38:38:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):83:83 -> <clinit>
     38:38:void <clinit>():40 -> <clinit>
     39:40:void <clinit>():40:41 -> <clinit>
-    41:41:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):82:82 -> <clinit>
+    41:41:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):83:83 -> <clinit>
     41:41:void <clinit>():41 -> <clinit>
     42:44:void <clinit>():41:43 -> <clinit>
-    45:45:void <init>(java.lang.String,int,java.lang.String,int,boolean):74:74 -> <clinit>
+    45:45:void <init>(java.lang.String,int,java.lang.String,int,boolean):75:75 -> <clinit>
     45:45:void <clinit>():43 -> <clinit>
     46:47:void <clinit>():43:44 -> <clinit>
-    48:48:void <init>(java.lang.String,int,java.lang.String,int,boolean):74:74 -> <clinit>
+    48:48:void <init>(java.lang.String,int,java.lang.String,int,boolean):75:75 -> <clinit>
     48:48:void <clinit>():44 -> <clinit>
     49:50:void <clinit>():44:45 -> <clinit>
-    51:51:void <init>(java.lang.String,int,java.lang.String,int,boolean):74:74 -> <clinit>
+    51:51:void <init>(java.lang.String,int,java.lang.String,int,boolean):75:75 -> <clinit>
     51:51:void <clinit>():45 -> <clinit>
     52:53:void <clinit>():45:46 -> <clinit>
-    54:54:void <init>(java.lang.String,int,java.lang.String,int,boolean):74:74 -> <clinit>
+    54:54:void <init>(java.lang.String,int,java.lang.String,int,boolean):75:75 -> <clinit>
     54:54:void <clinit>():46 -> <clinit>
     55:56:void <clinit>():46:47 -> <clinit>
-    57:57:void <init>(java.lang.String,int,java.lang.String,int,boolean):74:74 -> <clinit>
+    57:57:void <init>(java.lang.String,int,java.lang.String,int,boolean):75:75 -> <clinit>
     57:57:void <clinit>():47 -> <clinit>
     58:59:void <clinit>():47:48 -> <clinit>
-    60:60:void <init>(java.lang.String,int,java.lang.String,int,boolean):74:74 -> <clinit>
+    60:60:void <init>(java.lang.String,int,java.lang.String,int,boolean):75:75 -> <clinit>
     60:60:void <clinit>():48 -> <clinit>
     61:62:void <clinit>():48:49 -> <clinit>
-    63:63:void <init>(java.lang.String,int,java.lang.String,int,boolean):74:74 -> <clinit>
+    63:63:void <init>(java.lang.String,int,java.lang.String,int,boolean):75:75 -> <clinit>
     63:63:void <clinit>():49 -> <clinit>
     64:65:void <clinit>():49:50 -> <clinit>
-    66:66:void <init>(java.lang.String,int,java.lang.String,int,boolean):74:74 -> <clinit>
+    66:66:void <init>(java.lang.String,int,java.lang.String,int,boolean):75:75 -> <clinit>
     66:66:void <clinit>():50 -> <clinit>
     67:68:void <clinit>():50:51 -> <clinit>
-    69:69:void <init>(java.lang.String,int,java.lang.String,int,boolean):74:74 -> <clinit>
+    69:69:void <init>(java.lang.String,int,java.lang.String,int,boolean):75:75 -> <clinit>
     69:69:void <clinit>():51 -> <clinit>
     70:71:void <clinit>():51:52 -> <clinit>
-    72:72:void <init>(java.lang.String,int,java.lang.String,int,boolean):74:74 -> <clinit>
+    72:72:void <init>(java.lang.String,int,java.lang.String,int,boolean):75:75 -> <clinit>
     72:72:void <clinit>():52 -> <clinit>
     73:74:void <clinit>():52:53 -> <clinit>
-    75:75:void <init>(java.lang.String,int,java.lang.String,int,boolean):74:74 -> <clinit>
+    75:75:void <init>(java.lang.String,int,java.lang.String,int,boolean) -> <clinit>
     75:75:void <clinit>():53 -> <clinit>
     76:77:void <clinit>():53:54 -> <clinit>
-    78:78:void <init>(java.lang.String,int,java.lang.String,int,boolean):74:74 -> <clinit>
+    78:78:void <init>(java.lang.String,int,java.lang.String,int,boolean):75:75 -> <clinit>
     78:78:void <clinit>():54 -> <clinit>
     79:80:void <clinit>():54:55 -> <clinit>
-    81:81:void <init>(java.lang.String,int,java.lang.String,int,boolean):74:74 -> <clinit>
+    81:81:void <init>(java.lang.String,int,java.lang.String,int,boolean):75:75 -> <clinit>
     81:81:void <clinit>():55 -> <clinit>
     82:83:void <clinit>():55:56 -> <clinit>
-    84:84:void <init>(java.lang.String,int,java.lang.String,int,boolean):74:74 -> <clinit>
+    84:84:void <init>(java.lang.String,int,java.lang.String,int,boolean):75:75 -> <clinit>
     84:84:void <clinit>():56 -> <clinit>
-    85:87:void <clinit>():56:58 -> <clinit>
-    88:88:void <init>(java.lang.String,int,java.lang.String,int,boolean):74:74 -> <clinit>
-    88:88:void <clinit>():58 -> <clinit>
-    89:90:void <clinit>():58:59 -> <clinit>
-    91:91:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):82:82 -> <clinit>
+    85:86:void <clinit>():56:57 -> <clinit>
+    87:87:void <init>(java.lang.String,int,java.lang.String,int,boolean):75:75 -> <clinit>
+    87:87:void <clinit>():57 -> <clinit>
+    88:90:void <clinit>():57:59 -> <clinit>
+    91:91:void <init>(java.lang.String,int,java.lang.String,int,boolean):75:75 -> <clinit>
     91:91:void <clinit>():59 -> <clinit>
-    92:94:void <clinit>():59:61 -> <clinit>
-    95:95:void <clinit>():26:26 -> <clinit>
-    96:99:boolean verifyNoOverlappingIds():121:124 -> <clinit>
-    96:99:void <clinit>():64 -> <clinit>
-    1:1:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):82:82 -> <init>
-    2:7:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean,boolean):90:95 -> <init>
+    92:93:void <clinit>():59:60 -> <clinit>
+    94:94:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):83:83 -> <clinit>
+    94:94:void <clinit>():60 -> <clinit>
+    95:97:void <clinit>():60:62 -> <clinit>
+    98:98:void <clinit>():26:26 -> <clinit>
+    99:102:boolean verifyNoOverlappingIds():122:125 -> <clinit>
+    99:102:void <clinit>():65 -> <clinit>
+    1:1:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):83:83 -> <init>
+    2:7:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean,boolean):91:96 -> <init>
     1:1:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind[] values():26:26 -> a
 com.android.tools.r8.synthesis.SyntheticProgramClassBuilder -> com.android.tools.r8.synthesis.z:
     boolean $assertionsDisabled -> t
@@ -114654,10 +114798,10 @@
     146:146:java.lang.String toString():68:68 -> toString
     69:69:java.lang.String toString():68:68 -> toString
     70:70:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":147,"2":148,"3":149}}
-    147:147:java.lang.String toString():69:69 -> toString
-    148:148:java.lang.String toString():69:69 -> toString
-    149:149:java.lang.String toString():69:69 -> toString
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":144,"2":145,"3":146}}
+    144:144:java.lang.String toString():69:69 -> toString
+    145:145:java.lang.String toString():69:69 -> toString
+    146:146:java.lang.String toString():69:69 -> toString
     141:143:java.lang.String toString():71:73 -> toString
 com.android.tools.r8.synthesis.SyntheticProgramClassReference -> com.android.tools.r8.synthesis.B:
     boolean $assertionsDisabled -> e
@@ -114672,7 +114816,7 @@
     8:8:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):19 -> a
     9:15:com.android.tools.r8.synthesis.SyntheticProgramClassReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):44:50 -> a
     9:15:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):19 -> a
-com.android.tools.r8.synthesis.SyntheticProgramDefinition -> com.android.tools.r8.internal.SY:
+com.android.tools.r8.synthesis.SyntheticProgramDefinition -> com.android.tools.r8.internal.XY:
     void apply(java.util.function.Consumer,java.util.function.Consumer) -> a
     com.android.tools.r8.graph.DexProgramClass getHolder() -> a
 com.android.tools.r8.synthesis.SyntheticReference -> com.android.tools.r8.synthesis.C:
@@ -115399,15 +115543,15 @@
     1:1:boolean isProtected():29:29 -> isProtected
     1:1:boolean isPublic():24:24 -> isPublic
     1:1:boolean isStatic():19:19 -> isStatic
-com.android.tools.r8.tracereferences.internal.ClassAccessFlagsImpl -> com.android.tools.r8.internal.G9:
+com.android.tools.r8.tracereferences.internal.ClassAccessFlagsImpl -> com.android.tools.r8.internal.H9:
     1:1:void <init>(com.android.tools.r8.graph.ClassAccessFlags):13:13 -> <init>
     1:1:boolean isEnum():23:23 -> isEnum
     1:1:boolean isInterface():18:18 -> isInterface
-com.android.tools.r8.tracereferences.internal.FieldAccessFlagsImpl -> com.android.tools.r8.internal.tj:
+com.android.tools.r8.tracereferences.internal.FieldAccessFlagsImpl -> com.android.tools.r8.internal.vj:
     1:1:void <init>(com.android.tools.r8.graph.FieldAccessFlags):13:13 -> <init>
-com.android.tools.r8.tracereferences.internal.MethodAccessFlagsImpl -> com.android.tools.r8.internal.tE:
+com.android.tools.r8.tracereferences.internal.MethodAccessFlagsImpl -> com.android.tools.r8.internal.yE:
     1:1:void <init>(com.android.tools.r8.graph.MethodAccessFlags):13:13 -> <init>
-com.android.tools.r8.tracereferences.internal.TraceReferencesResult -> com.android.tools.r8.internal.EZ:
+com.android.tools.r8.tracereferences.internal.TraceReferencesResult -> com.android.tools.r8.internal.KZ:
     java.util.Map fields -> b
     java.util.Map methods -> c
     java.util.Set keepPackageNames -> d
@@ -115417,7 +115561,7 @@
     1:1:java.util.Map getTracedFields():43:43 -> b
     1:1:java.util.Map getTracedMethods():47:47 -> c
     1:1:java.util.Set getTracedPackageNames():51:51 -> d
-com.android.tools.r8.tracereferences.internal.TraceReferencesResult$Builder -> com.android.tools.r8.internal.DZ:
+com.android.tools.r8.tracereferences.internal.TraceReferencesResult$Builder -> com.android.tools.r8.internal.JZ:
     java.util.Map fields -> b
     java.util.Map methods -> c
     java.util.Set keepPackageNames -> d
@@ -115430,22 +115574,22 @@
     1:1:void acceptPackage(com.android.tools.r8.references.PackageReference,com.android.tools.r8.DiagnosticsHandler):83:83 -> acceptPackage
     1:1:void acceptType(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass,com.android.tools.r8.DiagnosticsHandler):66:66 -> acceptType
     1:1:java.util.Set lambda$acceptMethod$1(com.android.tools.r8.references.ClassReference):78:78 -> b
-com.android.tools.r8.tracereferences.internal.TracedClassImpl -> com.android.tools.r8.internal.GZ:
+com.android.tools.r8.tracereferences.internal.TracedClassImpl -> com.android.tools.r8.internal.MZ:
     1:3:void <init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.diagnostic.DefinitionContext):22:24 -> <init>
     4:4:void <init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.diagnostic.DefinitionContext):21:21 -> <init>
     5:5:void <init>(com.android.tools.r8.references.ClassReference,com.android.tools.r8.diagnostic.DefinitionContext,com.android.tools.r8.tracereferences.TraceReferencesConsumer$ClassAccessFlags):31:31 -> <init>
     1:1:java.lang.String toString():36:36 -> toString
-com.android.tools.r8.tracereferences.internal.TracedFieldImpl -> com.android.tools.r8.internal.HZ:
+com.android.tools.r8.tracereferences.internal.TracedFieldImpl -> com.android.tools.r8.internal.NZ:
     1:3:void <init>(com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.diagnostic.DefinitionContext):22:24 -> <init>
     4:4:void <init>(com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.diagnostic.DefinitionContext):21:21 -> <init>
     5:5:void <init>(com.android.tools.r8.references.FieldReference,com.android.tools.r8.diagnostic.DefinitionContext,com.android.tools.r8.tracereferences.TraceReferencesConsumer$FieldAccessFlags):31:31 -> <init>
     1:1:java.lang.String toString():36:36 -> toString
-com.android.tools.r8.tracereferences.internal.TracedMethodImpl -> com.android.tools.r8.internal.IZ:
+com.android.tools.r8.tracereferences.internal.TracedMethodImpl -> com.android.tools.r8.internal.OZ:
     1:3:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.diagnostic.DefinitionContext):22:24 -> <init>
     4:4:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.diagnostic.DefinitionContext):21:21 -> <init>
     5:5:void <init>(com.android.tools.r8.references.MethodReference,com.android.tools.r8.diagnostic.DefinitionContext,com.android.tools.r8.tracereferences.TraceReferencesConsumer$MethodAccessFlags):31:31 -> <init>
     1:1:java.lang.String toString():36:36 -> toString
-com.android.tools.r8.tracereferences.internal.TracedReferenceBase -> com.android.tools.r8.internal.JZ:
+com.android.tools.r8.tracereferences.internal.TracedReferenceBase -> com.android.tools.r8.internal.PZ:
     com.android.tools.r8.diagnostic.DefinitionContext referencedFrom -> b
     boolean $assertionsDisabled -> e
     java.lang.Object accessFlags -> c
@@ -115761,16 +115905,16 @@
     1:1:void <init>():743:743 -> <init>
     1:1:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):754:754 -> a
     1:1:java.lang.String getDescriptor():0:0 -> b
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1518,"2":1519,"3":1520}}
-    1518:1518:java.lang.String getDescriptor():758:758 -> b
-    1519:1519:java.lang.String getDescriptor():758:758 -> b
-    1520:1520:java.lang.String getDescriptor():758:758 -> b
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":761,"2":762,"3":763}}
+    761:761:java.lang.String getDescriptor():758:758 -> b
+    762:762:java.lang.String getDescriptor():758:758 -> b
+    763:763:java.lang.String getDescriptor():758:758 -> b
     759:759:java.lang.String getDescriptor():758:758 -> b
     760:760:java.lang.String getDescriptor():0:0 -> b
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1521,"2":1522,"3":1523}}
-    1521:1521:java.lang.String getDescriptor():758:758 -> b
-    1522:1522:java.lang.String getDescriptor():758:758 -> b
-    1523:1523:java.lang.String getDescriptor():758:758 -> b
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":761,"2":762,"3":763}}
+    761:761:java.lang.String getDescriptor():758:758 -> b
+    762:762:java.lang.String getDescriptor():758:758 -> b
+    763:763:java.lang.String getDescriptor():758:758 -> b
 com.android.tools.r8.utils.AndroidApp$2 -> com.android.tools.r8.utils.d:
     java.util.Map val$classPathResources -> b
     1:1:void <init>(java.util.Map):561:561 -> <init>
@@ -116272,7 +116416,9 @@
     32:32:boolean isEmpty(java.lang.Object[]):84:84 -> a
     33:34:boolean isSorted(int[]):88:89 -> a
     35:54:java.lang.Object[] map(java.lang.Object[],java.util.function.Function,java.lang.Object[]):112:131 -> a
-    55:56:java.lang.Object[] appendSingleElement(java.lang.Object[],java.lang.Object):174:175 -> a
+    55:55:java.lang.Object[] filter(java.lang.Object[],java.util.function.Predicate,java.lang.Object[]):135:135 -> a
+    56:56:java.lang.Object lambda$filter$0(java.util.function.Predicate,java.lang.Object):135:135 -> a
+    57:58:java.lang.Object[] appendSingleElement(java.lang.Object[],java.lang.Object):178:179 -> a
     1:1:java.lang.Object last(java.lang.Object[]):99:99 -> b
 com.android.tools.r8.utils.AsmUtils -> com.android.tools.r8.internal.t3:
     boolean isDeprecated(int) -> a
@@ -116287,29 +116433,29 @@
     int $r8$clinit -> b
     1:1:void <clinit>():9:9 -> <clinit>
     1:1:boolean assertNotNull(java.lang.Object):12:12 -> a
-com.android.tools.r8.utils.BiForEachable -> com.android.tools.r8.internal.F4:
-com.android.tools.r8.utils.BiMapContainer -> com.android.tools.r8.internal.H4:
+com.android.tools.r8.utils.BiForEachable -> com.android.tools.r8.internal.G4:
+com.android.tools.r8.utils.BiMapContainer -> com.android.tools.r8.internal.I4:
     java.util.Map original -> a
     java.util.Map inverse -> b
     1:3:void <init>(java.util.Map,java.util.Map):21:23 -> <init>
-com.android.tools.r8.utils.BiPredicateUtils -> com.android.tools.r8.internal.I4:
+com.android.tools.r8.utils.BiPredicateUtils -> com.android.tools.r8.internal.J4:
     boolean lambda$alwaysFalse$0(java.lang.Object,java.lang.Object) -> a
     1:1:java.util.function.BiPredicate alwaysFalse():12:12 -> a
     2:2:java.util.function.BiPredicate or(java.util.function.BiPredicate[]):21:21 -> a
     3:4:boolean lambda$or$2(java.util.function.BiPredicate[],java.lang.Object,java.lang.Object):22:23 -> a
     boolean lambda$alwaysTrue$1(java.lang.Object,java.lang.Object) -> b
     1:1:java.util.function.BiPredicate alwaysTrue():16:16 -> b
-com.android.tools.r8.utils.BitSetUtils -> com.android.tools.r8.internal.d5:
+com.android.tools.r8.utils.BitSetUtils -> com.android.tools.r8.internal.e5:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():9:9 -> <clinit>
     1:1:boolean verifyLessThanOrEqualTo(java.util.BitSet,java.util.BitSet):27:27 -> a
     2:3:java.util.BitSet com.android.tools.r8.utils.BitSetUtils.or(java.util.BitSet,java.util.BitSet):21:22 -> a
     2:3:boolean verifyLessThanOrEqualTo(java.util.BitSet,java.util.BitSet):27 -> a
     4:4:boolean verifyLessThanOrEqualTo(java.util.BitSet,java.util.BitSet):27:27 -> a
-com.android.tools.r8.utils.BitUtils -> com.android.tools.r8.internal.e5:
+com.android.tools.r8.utils.BitUtils -> com.android.tools.r8.internal.f5:
     boolean isBitInMaskSet(int,int) -> a
     boolean isBitSet(int,int) -> b
-com.android.tools.r8.utils.BooleanBox -> com.android.tools.r8.internal.i5:
+com.android.tools.r8.utils.BooleanBox -> com.android.tools.r8.internal.j5:
     boolean value -> a
     boolean assigned -> b
     1:1:void <init>():14:14 -> <init>
@@ -116326,7 +116472,7 @@
     1:1:boolean isTrue():35:35 -> c
     2:3:void set(boolean):43:44 -> c
     1:1:void set():39:39 -> d
-com.android.tools.r8.utils.BooleanLatticeElement -> com.android.tools.r8.internal.s5:
+com.android.tools.r8.utils.BooleanLatticeElement -> com.android.tools.r8.internal.t5:
     1:1:void <init>():27:27 -> <init>
     boolean isFalse() -> a
     1:1:boolean isPossiblyFalse():52:52 -> b
@@ -116334,13 +116480,13 @@
     boolean isTrue() -> d
     boolean isUnknown() -> e
     1:1:int hashCode():74:74 -> hashCode
-com.android.tools.r8.utils.BooleanUtils -> com.android.tools.r8.internal.A5:
+com.android.tools.r8.utils.BooleanUtils -> com.android.tools.r8.internal.B5:
     java.lang.Boolean[] VALUES -> a
     int $r8$clinit -> b
     1:1:void <clinit>():8:8 -> <clinit>
     int intValue(boolean) -> a
     1:1:java.lang.Boolean[] values():21:21 -> a
-com.android.tools.r8.utils.Box -> com.android.tools.r8.internal.P5:
+com.android.tools.r8.utils.Box -> com.android.tools.r8.internal.Q5:
     java.lang.Object value -> a
     1:1:void <init>():15:15 -> <init>
     2:3:void <init>(java.lang.Object):17:18 -> <init>
@@ -116351,7 +116497,7 @@
     1:1:boolean isSet():43:43 -> c
     1:5:boolean equals(java.lang.Object):54:58 -> equals
     1:1:int hashCode():63:63 -> hashCode
-com.android.tools.r8.utils.CfLineToMethodMapper -> com.android.tools.r8.internal.L7:
+com.android.tools.r8.utils.CfLineToMethodMapper -> com.android.tools.r8.internal.M7:
     java.util.Map sourceMethodMapping -> a
     com.android.tools.r8.utils.AndroidApp inputApp -> b
     boolean $assertionsDisabled -> c
@@ -116362,8 +116508,8 @@
     2:7:java.lang.String lookupNameAndDescriptor(java.lang.String,int):31:36 -> a
     8:30:void readLineNumbersFromClassFiles():40:62 -> a
     31:36:void lambda$readLineNumbersFromClassFiles$0(com.android.tools.r8.utils.CfLineToMethodMapper$ClassVisitor,com.android.tools.r8.ProgramResource):46:51 -> a
-com.android.tools.r8.utils.CfLineToMethodMapper$1 -> com.android.tools.r8.internal.I7:
-com.android.tools.r8.utils.CfLineToMethodMapper$ClassVisitor -> com.android.tools.r8.internal.J7:
+com.android.tools.r8.utils.CfLineToMethodMapper$1 -> com.android.tools.r8.internal.J7:
+com.android.tools.r8.utils.CfLineToMethodMapper$ClassVisitor -> com.android.tools.r8.internal.K7:
     com.android.tools.r8.utils.CfLineToMethodMapper this$0 -> d
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap currentLineNumberMapping -> c
     1:1:void <init>(com.android.tools.r8.utils.CfLineToMethodMapper,com.android.tools.r8.utils.CfLineToMethodMapper$1):85:85 -> <init>
@@ -116381,13 +116527,13 @@
     120:120:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):109:109 -> a
     114:114:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):109:109 -> a
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap lambda$visit$0(java.lang.String):103:103 -> d
-com.android.tools.r8.utils.CfLineToMethodMapper$MethodLineVisitor -> com.android.tools.r8.internal.K7:
+com.android.tools.r8.utils.CfLineToMethodMapper$MethodLineVisitor -> com.android.tools.r8.internal.L7:
     java.lang.String nameAndDescriptor -> j
     java.util.Map lineMethodMapping -> k
     1:1:void <init>(java.lang.String,java.util.Map,com.android.tools.r8.utils.CfLineToMethodMapper$1):114:114 -> <init>
     2:4:void <init>(java.lang.String,java.util.Map):120:122 -> <init>
     1:1:void visitLineNumber(int,com.android.tools.r8.org.objectweb.asm.Label):127:127 -> b
-com.android.tools.r8.utils.CfgPrinter -> com.android.tools.r8.internal.a9:
+com.android.tools.r8.utils.CfgPrinter -> com.android.tools.r8.internal.b9:
     java.util.Stack opened -> b
     java.lang.StringBuilder builder -> a
     int nextUnusedValue -> c
@@ -116413,14 +116559,14 @@
     1:2:com.android.tools.r8.utils.CfgPrinter print(java.lang.String):49 -> d
     3:3:com.android.tools.r8.utils.CfgPrinter print(java.lang.String):50:50 -> d
     1:1:java.lang.String toString():82:82 -> toString
-com.android.tools.r8.utils.ChainableStringConsumer -> com.android.tools.r8.internal.c9:
+com.android.tools.r8.utils.ChainableStringConsumer -> com.android.tools.r8.internal.d9:
     com.android.tools.r8.utils.ChainableStringConsumer accept(java.lang.String) -> a
     1:1:com.android.tools.r8.utils.ChainableStringConsumer wrap(java.util.function.Consumer):15:15 -> a
-com.android.tools.r8.utils.ChainableStringConsumer$1 -> com.android.tools.r8.internal.b9:
+com.android.tools.r8.utils.ChainableStringConsumer$1 -> com.android.tools.r8.internal.c9:
     java.util.function.Consumer val$consumer -> a
     1:1:void <init>(java.util.function.Consumer):15:15 -> <init>
     1:1:com.android.tools.r8.utils.ChainableStringConsumer accept(java.lang.String):18:18 -> a
-com.android.tools.r8.utils.ClassMap -> com.android.tools.r8.internal.ua:
+com.android.tools.r8.utils.ClassMap -> com.android.tools.r8.internal.va:
     java.util.Map classes -> a
     java.util.concurrent.atomic.AtomicReference classProvider -> b
     boolean $assertionsDisabled -> c
@@ -116441,8 +116587,8 @@
     com.android.tools.r8.graph.ClassKind getClassKind() -> c
     1:1:boolean isFullyLoaded():240:240 -> d
     1:1:java.lang.String toString():80:80 -> toString
-com.android.tools.r8.utils.ClassMap$1 -> com.android.tools.r8.internal.sa:
-com.android.tools.r8.utils.ClassMap$ConcurrentClassLoader -> com.android.tools.r8.internal.ta:
+com.android.tools.r8.utils.ClassMap$1 -> com.android.tools.r8.internal.ta:
+com.android.tools.r8.utils.ClassMap$ConcurrentClassLoader -> com.android.tools.r8.internal.ua:
     com.android.tools.r8.graph.DexType type -> d
     boolean ready -> f
     boolean $assertionsDisabled -> g
@@ -116473,7 +116619,7 @@
     620:620:void lambda$get$0(com.android.tools.r8.graph.DexClass):278 -> a
     621:621:void lambda$get$0(com.android.tools.r8.graph.DexClass):278:278 -> a
     1:1:java.lang.Object get():246:246 -> get
-com.android.tools.r8.utils.ClassProvider -> com.android.tools.r8.internal.Sa:
+com.android.tools.r8.utils.ClassProvider -> com.android.tools.r8.internal.Ta:
     com.android.tools.r8.graph.ClassKind classKind -> a
     1:2:void <init>(com.android.tools.r8.graph.ClassKind):29:30 -> <init>
     void collectClass(com.android.tools.r8.graph.DexType,java.util.function.Consumer) -> a
@@ -116485,8 +116631,8 @@
     4:4:com.android.tools.r8.utils.ClassProvider forPreloadedClasses(com.android.tools.r8.graph.ClassKind,java.util.Collection):67 -> a
     5:8:com.android.tools.r8.utils.ClassProvider forPreloadedClasses(com.android.tools.r8.graph.ClassKind,java.util.Collection):68:71 -> a
     1:1:com.android.tools.r8.graph.ClassKind getClassKind():35:35 -> b
-com.android.tools.r8.utils.ClassProvider$1 -> com.android.tools.r8.internal.Na:
-com.android.tools.r8.utils.ClassProvider$ClassFileResourceReader -> com.android.tools.r8.internal.Oa:
+com.android.tools.r8.utils.ClassProvider$1 -> com.android.tools.r8.internal.Oa:
+com.android.tools.r8.utils.ClassProvider$ClassFileResourceReader -> com.android.tools.r8.internal.Pa:
     com.android.tools.r8.graph.JarApplicationReader reader -> d
     com.android.tools.r8.graph.ClassKind classKind -> b
     com.android.tools.r8.ClassFileResourceProvider provider -> c
@@ -116511,14 +116657,14 @@
     126:126:java.lang.String toString():123:123 -> toString
     127:127:java.lang.String toString():123:123 -> toString
     124:124:java.lang.String toString():123:123 -> toString
-com.android.tools.r8.utils.ClassProvider$CombinedClassProvider -> com.android.tools.r8.internal.Pa:
+com.android.tools.r8.utils.ClassProvider$CombinedClassProvider -> com.android.tools.r8.internal.Qa:
     java.util.List providers -> b
     1:1:void <init>(com.android.tools.r8.graph.ClassKind,java.util.List,com.android.tools.r8.utils.ClassProvider$1):194:194 -> <init>
     2:3:void <init>(com.android.tools.r8.graph.ClassKind,java.util.List):198:199 -> <init>
     1:2:void collectClass(com.android.tools.r8.graph.DexType,java.util.function.Consumer):204:205 -> a
     3:5:java.util.Collection collectTypes():211:213 -> a
     1:8:java.lang.String toString():220:227 -> toString
-com.android.tools.r8.utils.ClassProvider$FilteringClassProvider -> com.android.tools.r8.internal.Qa:
+com.android.tools.r8.utils.ClassProvider$FilteringClassProvider -> com.android.tools.r8.internal.Ra:
     java.util.Set filteredOut -> c
     com.android.tools.r8.utils.ClassProvider provider -> b
     boolean $assertionsDisabled -> d
@@ -116536,7 +116682,7 @@
     6:9:void collectClass(com.android.tools.r8.graph.DexType,java.util.function.Consumer):175:178 -> a
     10:11:java.util.Collection collectTypes():183:184 -> a
     1:1:java.lang.String toString():190:190 -> toString
-com.android.tools.r8.utils.ClassProvider$PreloadedClassProvider -> com.android.tools.r8.internal.Ra:
+com.android.tools.r8.utils.ClassProvider$PreloadedClassProvider -> com.android.tools.r8.internal.Sa:
     com.android.tools.r8.com.google.common.collect.Multimap classes -> b
     1:1:void <init>(com.android.tools.r8.graph.ClassKind,com.android.tools.r8.com.google.common.collect.Multimap,com.android.tools.r8.utils.ClassProvider$1):127:127 -> <init>
     2:3:void <init>(com.android.tools.r8.graph.ClassKind,com.android.tools.r8.com.google.common.collect.Multimap):131:132 -> <init>
@@ -116548,7 +116694,7 @@
     152:152:java.lang.String toString():149:149 -> toString
     153:153:java.lang.String toString():149:149 -> toString
     150:150:java.lang.String toString():149:149 -> toString
-com.android.tools.r8.utils.ClassReferenceUtils -> com.android.tools.r8.internal.Va:
+com.android.tools.r8.utils.ClassReferenceUtils -> com.android.tools.r8.internal.Wa:
     int $r8$clinit -> b
     java.util.Comparator COMPARATOR -> a
     1:2:void <clinit>():16:17 -> <clinit>
@@ -116562,7 +116708,7 @@
     5:5:int compare(com.android.tools.r8.references.ClassReference,com.android.tools.r8.references.MethodReference):31 -> a
     6:6:int compare(com.android.tools.r8.references.ClassReference,com.android.tools.r8.references.MethodReference):31:31 -> a
     7:7:java.util.Comparator getClassReferenceComparator():36:36 -> a
-com.android.tools.r8.utils.ClasspathClassCollection -> com.android.tools.r8.internal.sb:
+com.android.tools.r8.utils.ClasspathClassCollection -> com.android.tools.r8.internal.tb:
     1:1:void <init>(com.android.tools.r8.utils.ClassProvider):19:19 -> <init>
     1:1:java.util.function.Supplier getTransparentSupplier(com.android.tools.r8.graph.DexClass):12:12 -> a
     2:2:com.android.tools.r8.graph.DexClass resolveClassConflict(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):12:12 -> a
@@ -116593,7 +116739,7 @@
     46:46:java.lang.String toString():43:43 -> toString
     47:47:java.lang.String toString():43:43 -> toString
     44:44:java.lang.String toString():43:43 -> toString
-com.android.tools.r8.utils.CollectionUtils -> com.android.tools.r8.internal.kc:
+com.android.tools.r8.utils.CollectionUtils -> com.android.tools.r8.internal.lc:
     1:1:java.util.Set mergeSets(java.util.Collection,java.util.Collection):22:22 -> a
     2:3:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder.addAll(java.lang.Iterable):448:449 -> a
     2:3:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.addAll(java.lang.Iterable):535 -> a
@@ -116603,21 +116749,21 @@
     4:5:java.util.Set mergeSets(java.util.Collection,java.util.Collection):24 -> a
     6:6:java.util.Set mergeSets(java.util.Collection,java.util.Collection):25:25 -> a
     7:8:java.util.Collection sort(java.util.Collection,java.util.Comparator):36:37 -> a
-com.android.tools.r8.utils.ComparatorUtils -> com.android.tools.r8.internal.uc:
+com.android.tools.r8.utils.ComparatorUtils -> com.android.tools.r8.internal.vc:
     1:3:int lambda$listComparator$0(java.util.Comparator,java.util.List,java.util.List):18:20 -> a
     4:4:java.util.Comparator arrayComparator(java.util.Comparator):57:57 -> a
     5:7:int lambda$arrayComparator$1(java.util.Comparator,java.lang.Object[],java.lang.Object[]):58:60 -> a
     8:8:java.util.Comparator unreachableComparator():67:67 -> a
     9:9:int lambda$unreachableComparator$2(java.lang.Object,java.lang.Object):68:68 -> a
     1:1:java.util.Comparator listComparator(java.util.Comparator):17:17 -> b
-com.android.tools.r8.utils.CompareResult$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.vc:
+com.android.tools.r8.utils.CompareResult$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.wc:
 # {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
 # {"id":"com.android.tools.r8.synthesized"}
     com.android.tools.r8.utils.CompareResult com.android.tools.r8.utils.CompareResult.fromComparisonResult(int) -> a
     boolean com.android.tools.r8.utils.CompareResult.isEqual() -> b
     int getComparisonResult(int) -> c
       # {"id":"com.android.tools.r8.synthesized"}
-com.android.tools.r8.utils.ConsumerUtils -> com.android.tools.r8.internal.ee:
+com.android.tools.r8.utils.ConsumerUtils -> com.android.tools.r8.internal.fe:
     void lambda$emptyBiConsumer$4(java.lang.Object,java.lang.Object) -> a
     void lambda$emptyConsumer$3(java.lang.Object) -> a
     1:1:void acceptIfNotNull(java.lang.Object,java.util.function.Consumer):24:24 -> a
@@ -116627,9 +116773,9 @@
     void lambda$emptyThrowingConsumer$5(java.lang.Object) -> b
     1:1:java.util.function.Consumer emptyConsumer():37:37 -> b
     1:1:com.android.tools.r8.utils.ThrowingConsumer emptyThrowingConsumer():45:45 -> c
-com.android.tools.r8.utils.DequeUtils -> com.android.tools.r8.internal.lf:
+com.android.tools.r8.utils.DequeUtils -> com.android.tools.r8.internal.mf:
     1:2:java.util.Deque newArrayDeque(java.lang.Object):13:14 -> a
-com.android.tools.r8.utils.DescriptorUtils -> com.android.tools.r8.internal.nf:
+com.android.tools.r8.utils.DescriptorUtils -> com.android.tools.r8.internal.of:
     java.util.Map typeNameToLetterMap -> a
     boolean $assertionsDisabled -> b
     int $r8$clinit -> c
@@ -116709,23 +116855,23 @@
     71:71:java.lang.String[] getArgumentTypeDescriptors(java.lang.String):678:678 -> e
     1:1:java.lang.String getBinaryNameFromDescriptor(java.lang.String):398:398 -> f
     2:2:java.lang.String getBinaryNameFromDescriptor(java.lang.String):0:0 -> f
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":401,"3":402}}
-    401:401:java.lang.String getBinaryNameFromDescriptor(java.lang.String):399:399 -> f
-    402:402:java.lang.String getBinaryNameFromDescriptor(java.lang.String):399:399 -> f
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"3":5}}
+    3:3:java.lang.String getBinaryNameFromDescriptor(java.lang.String):399:399 -> f
+    5:5:java.lang.String getBinaryNameFromDescriptor(java.lang.String):399:399 -> f
     1:1:java.lang.String getBinaryNameFromJavaType(java.lang.String):390:390 -> g
     1:1:java.lang.String getClassBinaryNameFromDescriptor(java.lang.String):368:368 -> h
     2:2:java.lang.String getClassBinaryNameFromDescriptor(java.lang.String):0:0 -> h
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":739,"2":740,"3":741,"4":742,"5":743}}
-    739:739:java.lang.String getClassBinaryNameFromDescriptor(java.lang.String):368:368 -> h
-    740:740:java.lang.String getClassBinaryNameFromDescriptor(java.lang.String):368:368 -> h
-    741:741:java.lang.String getClassBinaryNameFromDescriptor(java.lang.String):368:368 -> h
-    742:742:java.lang.String getClassBinaryNameFromDescriptor(java.lang.String):368:368 -> h
-    743:743:java.lang.String getClassBinaryNameFromDescriptor(java.lang.String):368:368 -> h
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":372,"2":373,"3":374,"4":375,"5":376}}
+    372:372:java.lang.String getClassBinaryNameFromDescriptor(java.lang.String):368:368 -> h
+    373:373:java.lang.String getClassBinaryNameFromDescriptor(java.lang.String):368:368 -> h
+    374:374:java.lang.String getClassBinaryNameFromDescriptor(java.lang.String):368:368 -> h
+    375:375:java.lang.String getClassBinaryNameFromDescriptor(java.lang.String):368:368 -> h
+    376:376:java.lang.String getClassBinaryNameFromDescriptor(java.lang.String):368:368 -> h
     370:370:java.lang.String getClassBinaryNameFromDescriptor(java.lang.String):368:368 -> h
     371:371:java.lang.String getClassBinaryNameFromDescriptor(java.lang.String):0:0 -> h
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":745,"3":746}}
-    745:745:java.lang.String getClassBinaryNameFromDescriptor(java.lang.String):370:370 -> h
-    746:746:java.lang.String getClassBinaryNameFromDescriptor(java.lang.String):370:370 -> h
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":372,"3":374}}
+    372:372:java.lang.String getClassBinaryNameFromDescriptor(java.lang.String):370:370 -> h
+    374:374:java.lang.String getClassBinaryNameFromDescriptor(java.lang.String):370:370 -> h
     1:2:java.lang.String getClassFileName(java.lang.String):643:644 -> i
     1:2:java.lang.String getClassNameFromDescriptor(java.lang.String):290:291 -> j
     1:2:java.lang.String getDescriptorFromClassBinaryName(java.lang.String):409:410 -> k
@@ -116740,43 +116886,43 @@
     1:1:int com.android.tools.r8.utils.DescriptorUtils.getSimpleClassNameIndex(java.lang.String):327:327 -> r
     1:1:java.lang.String getSimpleClassNameFromDescriptor(java.lang.String):302 -> r
     2:2:java.lang.String getSimpleClassNameFromDescriptor(java.lang.String):0:0 -> r
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":304,"3":305}}
-    304:304:java.lang.String getSimpleClassNameFromDescriptor(java.lang.String):302:302 -> r
-    305:305:java.lang.String getSimpleClassNameFromDescriptor(java.lang.String):301:301 -> r
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"3":5}}
+    3:3:java.lang.String getSimpleClassNameFromDescriptor(java.lang.String):302:302 -> r
+    5:5:java.lang.String getSimpleClassNameFromDescriptor(java.lang.String):301:301 -> r
     1:1:java.lang.String getUnqualifiedClassNameFromDescriptor(java.lang.String):280:280 -> s
     2:3:java.lang.String com.android.tools.r8.utils.DescriptorUtils.getUnqualifiedClassNameFromBinaryName(java.lang.String):436:437 -> s
     2:3:java.lang.String getUnqualifiedClassNameFromDescriptor(java.lang.String):280 -> s
     1:8:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):611:618 -> t
     9:9:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):0:0 -> t
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":637,"3":638}}
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":637,"3":639}}
     637:637:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):619:619 -> t
-    638:638:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):619:619 -> t
+    639:639:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):619:619 -> t
     629:632:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):620:623 -> t
     633:633:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):621:621 -> t
     634:634:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):0:0 -> t
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":640,"2":641,"3":642,"4":643,"5":644}}
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":637,"2":638,"3":639,"4":640,"5":641}}
+    637:637:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):621:621 -> t
+    638:638:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):621:621 -> t
+    639:639:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):621:621 -> t
     640:640:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):621:621 -> t
     641:641:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):621:621 -> t
-    642:642:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):621:621 -> t
-    643:643:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):621:621 -> t
-    644:644:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):621:621 -> t
     635:635:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> t
     635:635:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):621 -> t
     636:636:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):621:621 -> t
     1:2:java.lang.String guessTypeDescriptor(java.lang.String):550:551 -> u
     3:3:java.lang.String guessTypeDescriptor(java.lang.String):0:0 -> u
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":565,"3":566}}
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":565,"3":567}}
     565:565:java.lang.String guessTypeDescriptor(java.lang.String):553:553 -> u
-    566:566:java.lang.String guessTypeDescriptor(java.lang.String):553:553 -> u
+    567:567:java.lang.String guessTypeDescriptor(java.lang.String):553:553 -> u
     557:560:java.lang.String guessTypeDescriptor(java.lang.String):554:557 -> u
     561:561:java.lang.String guessTypeDescriptor(java.lang.String):555:555 -> u
     562:562:java.lang.String guessTypeDescriptor(java.lang.String):0:0 -> u
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":568,"2":569,"3":570,"4":571,"5":572}}
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":565,"2":566,"3":567,"4":568,"5":569}}
+    565:565:java.lang.String guessTypeDescriptor(java.lang.String):555:555 -> u
+    566:566:java.lang.String guessTypeDescriptor(java.lang.String):555:555 -> u
+    567:567:java.lang.String guessTypeDescriptor(java.lang.String):555:555 -> u
     568:568:java.lang.String guessTypeDescriptor(java.lang.String):555:555 -> u
     569:569:java.lang.String guessTypeDescriptor(java.lang.String):555:555 -> u
-    570:570:java.lang.String guessTypeDescriptor(java.lang.String):555:555 -> u
-    571:571:java.lang.String guessTypeDescriptor(java.lang.String):555:555 -> u
-    572:572:java.lang.String guessTypeDescriptor(java.lang.String):555:555 -> u
     563:563:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> u
     563:563:java.lang.String guessTypeDescriptor(java.lang.String):555 -> u
     564:564:java.lang.String guessTypeDescriptor(java.lang.String):555:555 -> u
@@ -116789,13 +116935,13 @@
     1:6:boolean isValidJavaType(java.lang.String):123:128 -> x
     1:2:java.lang.String javaTypeToDescriptor(java.lang.String):67:68 -> y
     1:2:java.lang.String javaTypeToDescriptorIgnorePrimitives(java.lang.String):82:83 -> z
-com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor -> com.android.tools.r8.internal.mf:
+com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor -> com.android.tools.r8.internal.nf:
     java.lang.String module -> a
     java.lang.String descriptor -> b
     1:3:void <init>(java.lang.String,java.lang.String):590:592 -> <init>
     1:1:java.lang.String getDescriptor():600:600 -> a
     1:1:java.lang.String getModule():596:596 -> b
-com.android.tools.r8.utils.DexUtils -> com.android.tools.r8.internal.eh:
+com.android.tools.r8.utils.DexUtils -> com.android.tools.r8.internal.gh:
     1:1:java.lang.String getDefaultDexFileName(int):10:10 -> a
     2:2:java.lang.String getDefaultDexFileName(int):0:0 -> a
       # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":14,"2":15,"3":16}}
@@ -116803,7 +116949,7 @@
     15:15:java.lang.String getDefaultDexFileName(int):11:11 -> a
     16:16:java.lang.String getDefaultDexFileName(int):11:11 -> a
     13:13:java.lang.String getDefaultDexFileName(int):11:11 -> a
-com.android.tools.r8.utils.DexVersion -> com.android.tools.r8.internal.gh:
+com.android.tools.r8.utils.DexVersion -> com.android.tools.r8.internal.ih:
     com.android.tools.r8.utils.DexVersion[] $VALUES -> h
     int dexVersion -> b
     com.android.tools.r8.utils.DexVersion V35 -> d
@@ -116830,10 +116976,10 @@
     4:4:java.util.Optional getDexVersion(int):92:92 -> c
     5:5:java.util.Optional getDexVersion(int):90:90 -> c
     6:6:java.util.Optional getDexVersion(int):88:88 -> c
-com.android.tools.r8.utils.DexVersion$1 -> com.android.tools.r8.internal.fh:
+com.android.tools.r8.utils.DexVersion$1 -> com.android.tools.r8.internal.hh:
     int[] $SwitchMap$com$android$tools$r8$utils$AndroidApiLevel -> a
     1:1:void <clinit>():40:40 -> <clinit>
-com.android.tools.r8.utils.DirectoryBuilder -> com.android.tools.r8.internal.kh:
+com.android.tools.r8.utils.DirectoryBuilder -> com.android.tools.r8.internal.mh:
     com.android.tools.r8.origin.Origin origin -> b
     java.nio.file.Path root -> a
     1:3:void <init>(java.nio.file.Path):24:26 -> <init>
@@ -116849,7 +116995,7 @@
     72:72:void addFile(java.lang.String,com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):52:52 -> a
     77:82:void addFile(java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):61:66 -> a
     83:83:java.nio.file.Path getPath() -> a
-com.android.tools.r8.utils.DisjointSets -> com.android.tools.r8.internal.nh:
+com.android.tools.r8.utils.DisjointSets -> com.android.tools.r8.internal.ph:
     java.util.Map parent -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():16:16 -> <clinit>
@@ -116865,33 +117011,33 @@
     1:3:java.lang.Object makeSet(java.lang.Object):27:29 -> e
     1:1:java.lang.String toString():150:150 -> toString
     2:2:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":164,"2":165,"3":167}}
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":164,"2":165,"3":166}}
     164:164:java.lang.String toString():151:151 -> toString
     165:165:java.lang.String toString():151:151 -> toString
-    167:167:java.lang.String toString():153:153 -> toString
+    166:166:java.lang.String toString():153:153 -> toString
     156:163:java.lang.String toString():154:161 -> toString
-com.android.tools.r8.utils.DumpInputFlags -> com.android.tools.r8.internal.zh:
+com.android.tools.r8.utils.DumpInputFlags -> com.android.tools.r8.internal.Bh:
     1:1:void <init>():8:8 -> <init>
     java.nio.file.Path getDumpInputToDirectory() -> a
     1:1:com.android.tools.r8.utils.DumpInputFlags dumpToDirectory(java.nio.file.Path):39:39 -> a
     java.nio.file.Path getDumpInputToFile() -> b
     1:1:com.android.tools.r8.utils.DumpInputFlags dumpToFile(java.nio.file.Path):25:25 -> b
     1:1:com.android.tools.r8.utils.DumpInputFlags noDump():11:11 -> c
-com.android.tools.r8.utils.DumpInputFlags$1 -> com.android.tools.r8.internal.wh:
+com.android.tools.r8.utils.DumpInputFlags$1 -> com.android.tools.r8.internal.yh:
     1:1:void <init>():11:11 -> <init>
     java.nio.file.Path getDumpInputToDirectory() -> a
     java.nio.file.Path getDumpInputToFile() -> b
-com.android.tools.r8.utils.DumpInputFlags$2 -> com.android.tools.r8.internal.xh:
+com.android.tools.r8.utils.DumpInputFlags$2 -> com.android.tools.r8.internal.zh:
     java.nio.file.Path val$file -> a
     1:1:void <init>(java.nio.file.Path):25:25 -> <init>
     java.nio.file.Path getDumpInputToDirectory() -> a
     1:1:java.nio.file.Path getDumpInputToFile():28:28 -> b
-com.android.tools.r8.utils.DumpInputFlags$3 -> com.android.tools.r8.internal.yh:
+com.android.tools.r8.utils.DumpInputFlags$3 -> com.android.tools.r8.internal.Ah:
     java.nio.file.Path val$file -> a
     1:1:void <init>(java.nio.file.Path):39:39 -> <init>
     1:1:java.nio.file.Path getDumpInputToDirectory():47:47 -> a
     java.nio.file.Path getDumpInputToFile() -> b
-com.android.tools.r8.utils.EncodedValueUtils -> com.android.tools.r8.internal.Yh:
+com.android.tools.r8.utils.EncodedValueUtils -> com.android.tools.r8.internal.ai:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():9:9 -> <clinit>
     1:6:int putBitsFromRightZeroExtended(com.android.tools.r8.dex.DexOutputBuffer,long,int):84:89 -> a
@@ -116925,7 +117071,7 @@
     1:1:java.lang.String getDiagnosticMessage():65:65 -> getDiagnosticMessage
     1:1:com.android.tools.r8.origin.Origin getOrigin():51:51 -> getOrigin
     1:1:com.android.tools.r8.position.Position getPosition():56:56 -> getPosition
-com.android.tools.r8.utils.ExceptionUtils -> com.android.tools.r8.internal.bj:
+com.android.tools.r8.utils.ExceptionUtils -> com.android.tools.r8.internal.dj:
     1:1:com.android.tools.r8.origin.Origin access$000(java.lang.Throwable):28:28 -> a
     2:7:java.lang.String getMainStackTrace():31:36 -> a
     8:8:boolean lambda$getMainStackTrace$0(java.util.Map$Entry):32:32 -> a
@@ -116981,9 +117127,9 @@
     3:9:com.android.tools.r8.origin.Origin com.android.tools.r8.utils.ExceptionUtils.extractIOExceptionOrigin(java.io.IOException):211:217 -> c
     3:9:com.android.tools.r8.origin.Origin getOrigin(java.lang.Throwable):150 -> c
     10:22:com.android.tools.r8.origin.Origin getOrigin(java.lang.Throwable):152:164 -> c
-com.android.tools.r8.utils.ExceptionUtils$CompileAction -> com.android.tools.r8.internal.bj$a:
-com.android.tools.r8.utils.ExceptionUtils$MainAction -> com.android.tools.r8.internal.cj:
-com.android.tools.r8.utils.ExceptionUtils$OriginAttachmentException -> com.android.tools.r8.internal.dj:
+com.android.tools.r8.utils.ExceptionUtils$CompileAction -> com.android.tools.r8.internal.dj$a:
+com.android.tools.r8.utils.ExceptionUtils$MainAction -> com.android.tools.r8.internal.ej:
+com.android.tools.r8.utils.ExceptionUtils$OriginAttachmentException -> com.android.tools.r8.internal.fj:
     com.android.tools.r8.origin.Origin origin -> b
     com.android.tools.r8.position.Position position -> c
     1:3:void <init>(java.lang.RuntimeException,com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position):263:265 -> <init>
@@ -117049,32 +117195,32 @@
     1:1:void <clinit>():271:271 -> <clinit>
     1:5:void <init>(java.lang.String,java.lang.String):278:282 -> <init>
     6:6:void <init>(java.lang.String,java.lang.String):0:0 -> <init>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1174,"3":1175}}
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1174,"3":1176}}
     1174:1174:void <init>(java.lang.String,java.lang.String):284:284 -> <init>
-    1175:1175:void <init>(java.lang.String,java.lang.String):284:284 -> <init>
+    1176:1176:void <init>(java.lang.String,java.lang.String):284:284 -> <init>
     291:291:void <init>(java.lang.String,java.lang.String):285:285 -> <init>
     292:292:void <init>(java.lang.String,java.lang.String):0:0 -> <init>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1180,"3":1181}}
-    1180:1180:void <init>(java.lang.String,java.lang.String):289:289 -> <init>
-    1181:1181:void <init>(java.lang.String,java.lang.String):289:289 -> <init>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1174,"3":1176}}
+    1174:1174:void <init>(java.lang.String,java.lang.String):289:289 -> <init>
+    1176:1176:void <init>(java.lang.String,java.lang.String):289:289 -> <init>
     581:581:void <init>(java.lang.String,java.lang.String):289:289 -> <init>
     582:582:void <init>(java.lang.String,java.lang.String):286:286 -> <init>
     583:583:void <init>(java.lang.String,java.lang.String):0:0 -> <init>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1182,"2":1183,"3":1184,"4":1185,"5":1186}}
-    1182:1182:void <init>(java.lang.String,java.lang.String):286:286 -> <init>
-    1183:1183:void <init>(java.lang.String,java.lang.String):286:286 -> <init>
-    1184:1184:void <init>(java.lang.String,java.lang.String):286:286 -> <init>
-    1185:1185:void <init>(java.lang.String,java.lang.String):286:286 -> <init>
-    1186:1186:void <init>(java.lang.String,java.lang.String):286:286 -> <init>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1174,"2":1175,"3":1176,"4":1177,"5":1178}}
+    1174:1174:void <init>(java.lang.String,java.lang.String):286:286 -> <init>
+    1175:1175:void <init>(java.lang.String,java.lang.String):286:286 -> <init>
+    1176:1176:void <init>(java.lang.String,java.lang.String):286:286 -> <init>
+    1177:1177:void <init>(java.lang.String,java.lang.String):286:286 -> <init>
+    1178:1178:void <init>(java.lang.String,java.lang.String):286:286 -> <init>
     869:879:void <init>(java.lang.String,java.lang.String):286:296 -> <init>
     880:880:void <init>(java.lang.String,java.lang.String):292:292 -> <init>
     881:881:void <init>(java.lang.String,java.lang.String):0:0 -> <init>
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1192,"2":1193,"3":1194,"4":1195,"5":1196}}
-    1192:1192:void <init>(java.lang.String,java.lang.String):292:292 -> <init>
-    1193:1193:void <init>(java.lang.String,java.lang.String):292:292 -> <init>
-    1194:1194:void <init>(java.lang.String,java.lang.String):292:292 -> <init>
-    1195:1195:void <init>(java.lang.String,java.lang.String):292:292 -> <init>
-    1196:1196:void <init>(java.lang.String,java.lang.String):292:292 -> <init>
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1174,"2":1175,"3":1176,"4":1177,"5":1178}}
+    1174:1174:void <init>(java.lang.String,java.lang.String):292:292 -> <init>
+    1175:1175:void <init>(java.lang.String,java.lang.String):292:292 -> <init>
+    1176:1176:void <init>(java.lang.String,java.lang.String):292:292 -> <init>
+    1177:1177:void <init>(java.lang.String,java.lang.String):292:292 -> <init>
+    1178:1178:void <init>(java.lang.String,java.lang.String):292:292 -> <init>
     1173:1173:void <init>(java.lang.String,java.lang.String):292:292 -> <init>
 com.android.tools.r8.utils.FeatureClassMapping$Internal -> com.android.tools.r8.utils.v:
     boolean $assertionsDisabled -> a
@@ -117087,30 +117233,30 @@
 com.android.tools.r8.utils.FeatureClassMapping$JarFileOrigin -> com.android.tools.r8.utils.w:
     1:1:void <init>(java.nio.file.Path):84:84 -> <init>
     1:1:java.lang.String part():0:0 -> part
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":180,"2":181,"3":182}}
-    180:180:java.lang.String part():89:89 -> part
-    181:181:java.lang.String part():89:89 -> part
-    182:182:java.lang.String part():89:89 -> part
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":92,"2":93,"3":94}}
+    92:92:java.lang.String part():89:89 -> part
+    93:93:java.lang.String part():89:89 -> part
+    94:94:java.lang.String part():89:89 -> part
     90:90:java.lang.String part():89:89 -> part
     91:91:java.lang.String part():0:0 -> part
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":183,"2":184,"3":185}}
-    183:183:java.lang.String part():89:89 -> part
-    184:184:java.lang.String part():89:89 -> part
-    185:185:java.lang.String part():89:89 -> part
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":92,"2":93,"3":94}}
+    92:92:java.lang.String part():89:89 -> part
+    93:93:java.lang.String part():89:89 -> part
+    94:94:java.lang.String part():89:89 -> part
 com.android.tools.r8.utils.FeatureClassMapping$SpecificationOrigin -> com.android.tools.r8.utils.x:
     1:1:void <init>(java.nio.file.Path):72:72 -> <init>
     1:1:java.lang.String part():0:0 -> part
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":156,"2":157,"3":158}}
-    156:156:java.lang.String part():77:77 -> part
-    157:157:java.lang.String part():77:77 -> part
-    158:158:java.lang.String part():77:77 -> part
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":80,"2":81,"3":82}}
+    80:80:java.lang.String part():77:77 -> part
+    81:81:java.lang.String part():77:77 -> part
+    82:82:java.lang.String part():77:77 -> part
     78:78:java.lang.String part():77:77 -> part
     79:79:java.lang.String part():0:0 -> part
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":159,"2":160,"3":161}}
-    159:159:java.lang.String part():77:77 -> part
-    160:160:java.lang.String part():77:77 -> part
-    161:161:java.lang.String part():77:77 -> part
-com.android.tools.r8.utils.FieldReferenceUtils -> com.android.tools.r8.internal.Yj:
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":80,"2":81,"3":82}}
+    80:80:java.lang.String part():77:77 -> part
+    81:81:java.lang.String part():77:77 -> part
+    82:82:java.lang.String part():77:77 -> part
+com.android.tools.r8.utils.FieldReferenceUtils -> com.android.tools.r8.internal.ak:
     int $r8$clinit -> b
     java.util.Comparator COMPARATOR -> a
     1:1:void <clinit>():18:18 -> <clinit>
@@ -117133,7 +117279,7 @@
     8:8:int com.android.tools.r8.utils.CompareResult.getComparisonResult():21:21 -> b
     8:8:int lambda$static$0(com.android.tools.r8.references.FieldReference,com.android.tools.r8.references.FieldReference):29 -> b
     9:9:int lambda$static$0(com.android.tools.r8.references.FieldReference,com.android.tools.r8.references.FieldReference):31:31 -> b
-com.android.tools.r8.utils.FieldSignatureEquivalence -> com.android.tools.r8.internal.ck:
+com.android.tools.r8.utils.FieldSignatureEquivalence -> com.android.tools.r8.internal.ek:
     com.android.tools.r8.utils.FieldSignatureEquivalence INSTANCE -> a
     1:1:void <clinit>():16:16 -> <clinit>
     1:1:void <init>(boolean):23:23 -> <init>
@@ -117144,7 +117290,7 @@
     4:4:int com.android.tools.r8.utils.FieldSignatureEquivalence.doHash(com.android.tools.r8.graph.DexField):48:48 -> a
     4:4:int doHash(java.lang.Object):14 -> a
     5:5:com.android.tools.r8.utils.FieldSignatureEquivalence get():28:28 -> a
-com.android.tools.r8.utils.FileUtils -> com.android.tools.r8.internal.jk:
+com.android.tools.r8.utils.FileUtils -> com.android.tools.r8.internal.lk:
     boolean isAndroid -> a
     boolean $assertionsDisabled -> b
     1:16:void <clinit>():21:36 -> <clinit>
@@ -117164,9 +117310,9 @@
     1:6:boolean isClassFile(java.nio.file.Path):49:54 -> b
     1:2:boolean isClassesDexFile(java.nio.file.Path):141:142 -> c
     3:3:boolean isClassesDexFile(java.nio.file.Path):0:0 -> c
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":161,"3":162}}
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":161,"3":163}}
     161:161:boolean isClassesDexFile(java.nio.file.Path):145:145 -> c
-    162:162:boolean isClassesDexFile(java.nio.file.Path):145:145 -> c
+    163:163:boolean isClassesDexFile(java.nio.file.Path):145:145 -> c
     149:160:boolean isClassesDexFile(java.nio.file.Path):146:157 -> c
     1:2:boolean isDexFile(java.nio.file.Path):39:40 -> d
     1:2:boolean isJarFile(java.nio.file.Path):58:59 -> e
@@ -117174,9 +117320,9 @@
     1:1:java.util.List readAllLines(java.nio.file.Path):90:90 -> g
 com.android.tools.r8.utils.FilteredArchiveClassFileProvider -> com.android.tools.r8.utils.y:
     1:1:void <init>(com.android.tools.r8.shaking.FilteredClassPath):13:13 -> <init>
-com.android.tools.r8.utils.FlagFile -> com.android.tools.r8.internal.Bk:
+com.android.tools.r8.utils.FlagFile -> com.android.tools.r8.internal.Dk:
     1:15:java.lang.String[] expandFlagFiles(java.lang.String[],java.util.function.Consumer):34:48 -> a
-com.android.tools.r8.utils.FlagFile$FlagFileOrigin -> com.android.tools.r8.internal.Ak:
+com.android.tools.r8.utils.FlagFile$FlagFileOrigin -> com.android.tools.r8.internal.Ck:
     java.nio.file.Path path -> f
     1:2:void <init>(java.nio.file.Path):23:24 -> <init>
     1:1:java.lang.String part():0:0 -> part
@@ -117185,16 +117331,16 @@
     32:32:java.lang.String part():29:29 -> part
     33:33:java.lang.String part():29:29 -> part
     30:30:java.lang.String part():29:29 -> part
-com.android.tools.r8.utils.ForEachable -> com.android.tools.r8.internal.Ok:
-com.android.tools.r8.utils.ForEachableUtils -> com.android.tools.r8.internal.Pk:
+com.android.tools.r8.utils.ForEachable -> com.android.tools.r8.internal.Qk:
+com.android.tools.r8.utils.ForEachableUtils -> com.android.tools.r8.internal.Rk:
     void lambda$empty$0(java.util.function.Consumer) -> a
     1:1:com.android.tools.r8.utils.ForEachable empty():10:10 -> a
-com.android.tools.r8.utils.FunctionUtils -> com.android.tools.r8.internal.Cl:
+com.android.tools.r8.utils.FunctionUtils -> com.android.tools.r8.internal.El:
     1:1:java.lang.Object applyOrElse(java.lang.Object,java.util.function.Function,java.lang.Object):15:15 -> a
     2:3:void forEachApply(java.lang.Iterable,java.util.function.Function,java.lang.Object):28:29 -> a
     4:4:java.util.function.Function ignoreArgument(java.util.function.Supplier):34:34 -> a
     5:5:java.lang.Object lambda$ignoreArgument$2(java.util.function.Supplier,java.lang.Object):34:34 -> a
-com.android.tools.r8.utils.HeapUtils -> com.android.tools.r8.internal.Pm:
+com.android.tools.r8.utils.HeapUtils -> com.android.tools.r8.internal.Rm:
     com.sun.management.HotSpotDiagnosticMXBean hotSpotDiagnosticMXBean -> a
     1:3:void com.android.tools.r8.utils.HeapUtils.initHotSpotMBean():19:21 -> a
     1:3:void dumpHeap(java.nio.file.Path,boolean):35 -> a
@@ -117204,28 +117350,28 @@
     6:8:void com.android.tools.r8.utils.HeapUtils.initHotSpotMBean():22:24 -> a
     6:8:void dumpHeap(java.nio.file.Path,boolean):35 -> a
     9:9:void dumpHeap(java.nio.file.Path,boolean):36:36 -> a
-com.android.tools.r8.utils.IROrdering -> com.android.tools.r8.internal.wn:
+com.android.tools.r8.utils.IROrdering -> com.android.tools.r8.internal.yn:
     java.lang.Iterable order(java.lang.Iterable) -> a
-com.android.tools.r8.utils.IROrdering$IdentityIROrdering -> com.android.tools.r8.internal.un:
+com.android.tools.r8.utils.IROrdering$IdentityIROrdering -> com.android.tools.r8.internal.wn:
     com.android.tools.r8.utils.IROrdering$IdentityIROrdering INSTANCE -> a
     1:1:void <clinit>():25:25 -> <clinit>
     1:1:void <init>():27:27 -> <init>
     java.lang.Iterable order(java.lang.Iterable) -> a
     1:1:com.android.tools.r8.utils.IROrdering$IdentityIROrdering getInstance():30:30 -> a
-com.android.tools.r8.utils.IROrdering$NondeterministicIROrdering -> com.android.tools.r8.internal.vn:
+com.android.tools.r8.utils.IROrdering$NondeterministicIROrdering -> com.android.tools.r8.internal.xn:
     com.android.tools.r8.utils.IROrdering$NondeterministicIROrdering INSTANCE -> a
     1:1:void <clinit>():51:51 -> <clinit>
     1:1:void <init>():53:53 -> <init>
     1:1:com.android.tools.r8.utils.IROrdering$NondeterministicIROrdering getInstance():56:56 -> a
     2:3:java.util.List com.android.tools.r8.utils.IROrdering$NondeterministicIROrdering.order(java.lang.Iterable):61:62 -> a
     2:3:java.lang.Iterable order(java.lang.Iterable):49 -> a
-com.android.tools.r8.utils.IdentifierUtils -> com.android.tools.r8.internal.Hn:
+com.android.tools.r8.utils.IdentifierUtils -> com.android.tools.r8.internal.Jn:
     1:1:boolean isDexIdentifierPart(int):14:14 -> a
     1:1:boolean com.android.tools.r8.utils.IdentifierUtils.isDexIdentifierPart(int):14:14 -> b
     1:1:boolean isDexIdentifierStart(int):10 -> b
     1:1:boolean isRelaxedDexIdentifierPart(int):18:18 -> c
     boolean isSimpleNameChar(int) -> d
-com.android.tools.r8.utils.Int2StructuralItemArrayMap -> com.android.tools.r8.internal.Vs:
+com.android.tools.r8.utils.Int2StructuralItemArrayMap -> com.android.tools.r8.internal.Xs:
     int[] keys -> b
     java.util.List values -> c
     boolean $assertionsDisabled -> d
@@ -117242,8 +117388,8 @@
     1:2:boolean equals(java.lang.Object):63:64 -> equals
     1:1:int hashCode():69:69 -> hashCode
     1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():37:37 -> n
-com.android.tools.r8.utils.Int2StructuralItemArrayMap$1 -> com.android.tools.r8.internal.Ts:
-com.android.tools.r8.utils.Int2StructuralItemArrayMap$Builder -> com.android.tools.r8.internal.Us:
+com.android.tools.r8.utils.Int2StructuralItemArrayMap$1 -> com.android.tools.r8.internal.Vs:
+com.android.tools.r8.utils.Int2StructuralItemArrayMap$Builder -> com.android.tools.r8.internal.Ws:
     java.util.List keys -> a
     com.android.tools.r8.com.google.common.collect.ImmutableList$Builder values -> b
     1:1:void <init>(com.android.tools.r8.utils.Int2StructuralItemArrayMap$1):80:80 -> <init>
@@ -117260,7 +117406,7 @@
     11:11:com.android.tools.r8.utils.Int2StructuralItemArrayMap build():98 -> a
     12:12:com.android.tools.r8.utils.Int2StructuralItemArrayMap build():98:98 -> a
     1:1:boolean isEmpty():94:94 -> b
-com.android.tools.r8.utils.IntBox -> com.android.tools.r8.internal.ct:
+com.android.tools.r8.utils.IntBox -> com.android.tools.r8.internal.et:
     boolean $assertionsDisabled -> b
     int value -> a
     1:1:void <clinit>():7:7 -> <clinit>
@@ -117274,11 +117420,11 @@
     1:1:void increment():48:48 -> c
     2:3:void increment(int):52:53 -> c
     1:1:void set(int):57:57 -> d
-com.android.tools.r8.utils.IntObjConsumer -> com.android.tools.r8.internal.tt:
+com.android.tools.r8.utils.IntObjConsumer -> com.android.tools.r8.internal.vt:
     void accept(int,java.lang.Object) -> a
-com.android.tools.r8.utils.IntObjPredicate -> com.android.tools.r8.internal.ut:
+com.android.tools.r8.utils.IntObjPredicate -> com.android.tools.r8.internal.wt:
     boolean test(int,java.lang.Object) -> a
-com.android.tools.r8.utils.IntObjToObjFunction -> com.android.tools.r8.internal.vt:
+com.android.tools.r8.utils.IntObjToObjFunction -> com.android.tools.r8.internal.xt:
     java.lang.Object apply(int,java.lang.Object) -> a
 com.android.tools.r8.utils.InternalArchiveClassFileProvider -> com.android.tools.r8.utils.z:
     java.util.zip.ZipFile openedZipFile -> e
@@ -117312,7 +117458,7 @@
     122:122:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> getProgramResource
     122:122:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):96 -> getProgramResource
     123:123:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):96:96 -> getProgramResource
-com.android.tools.r8.utils.InternalOptions -> com.android.tools.r8.internal.gu:
+com.android.tools.r8.utils.InternalOptions -> com.android.tools.r8.internal.iu:
     boolean printTimes -> i
     boolean ignoreMainDexMissingClasses -> b0
     com.android.tools.r8.features.FeatureSplitConfiguration featureSplitConfiguration -> f
@@ -117448,33 +117594,33 @@
     1853:2770:void <init>(com.android.tools.r8.CompilationMode,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.Reporter):159:1076 -> <init>
     2771:2791:void <init>(com.android.tools.r8.CompilationMode,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.Reporter):191:211 -> <init>
     1:1:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> A
-    1:1:boolean canHaveTracingPastInstructionsStreamBug():2159 -> A
-    2:2:boolean canHaveTracingPastInstructionsStreamBug():2159:2159 -> A
+    1:1:boolean canHaveTracingPastInstructionsStreamBug():2167 -> A
+    2:2:boolean canHaveTracingPastInstructionsStreamBug():2167:2167 -> A
     1:1:boolean isKeepRuntimeVisibleParameterAnnotationsEnabled():666:666 -> A0
     1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():476:476 -> B
-    1:1:boolean canHaveZipFileWithMissingCloseableBug():2284 -> B
+    1:1:boolean canHaveZipFileWithMissingCloseableBug():2292 -> B
     2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> B
-    2:2:boolean canHaveZipFileWithMissingCloseableBug():2284 -> B
-    3:3:boolean canHaveZipFileWithMissingCloseableBug():2284:2284 -> B
+    2:2:boolean canHaveZipFileWithMissingCloseableBug():2292 -> B
+    3:3:boolean canHaveZipFileWithMissingCloseableBug():2292:2292 -> B
     1:3:boolean isMinifying():595:595 -> B0
     5:5:boolean isMinifying():597:597 -> B0
-    1:1:boolean canInitCauseAfterAssertionErrorObjectConstructor():1933:1933 -> C
+    1:1:boolean canInitCauseAfterAssertionErrorObjectConstructor():1941:1941 -> C
     2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> C
-    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1761 -> C
-    2:2:boolean canInitCauseAfterAssertionErrorObjectConstructor():1933 -> C
-    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1761:1761 -> C
-    3:3:boolean canInitCauseAfterAssertionErrorObjectConstructor():1933 -> C
+    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1765 -> C
+    2:2:boolean canInitCauseAfterAssertionErrorObjectConstructor():1941 -> C
+    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1765:1765 -> C
+    3:3:boolean canInitCauseAfterAssertionErrorObjectConstructor():1941 -> C
     1:1:boolean isOptimizing():581:581 -> C0
-    1:1:boolean canLeaveStaticInterfaceMethodInvokes():1832:1832 -> D
+    1:1:boolean canLeaveStaticInterfaceMethodInvokes():1836:1836 -> D
     2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> D
-    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1761 -> D
-    2:2:boolean canLeaveStaticInterfaceMethodInvokes():1832 -> D
-    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1761:1761 -> D
-    3:3:boolean canLeaveStaticInterfaceMethodInvokes():1832 -> D
+    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1765 -> D
+    2:2:boolean canLeaveStaticInterfaceMethodInvokes():1836 -> D
+    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1765:1765 -> D
+    3:3:boolean canLeaveStaticInterfaceMethodInvokes():1836 -> D
     1:1:boolean isRelease():585:585 -> D0
     1:1:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> E
-    1:1:boolean canParseNumbersWithPlusPrefix():2300 -> E
-    2:2:boolean canParseNumbersWithPlusPrefix():2300:2300 -> E
+    1:1:boolean canParseNumbersWithPlusPrefix():2308 -> E
+    2:2:boolean canParseNumbersWithPlusPrefix():2308:2308 -> E
     1:1:boolean isRepackagingEnabled():622:622 -> E0
     2:2:boolean com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode.isSome():1222:1222 -> E0
     2:2:boolean isRepackagingEnabled():622 -> E0
@@ -117484,107 +117630,105 @@
     3:3:boolean isRepackagingEnabled():622 -> E0
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
     4:4:boolean isRepackagingEnabled():622:622 -> E0
-    1:1:boolean canUseAssertionErrorTwoArgumentConstructor():1914:1914 -> F
+    1:1:boolean canUseAssertionErrorTwoArgumentConstructor():1922:1922 -> F
     2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> F
-    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1761 -> F
-    2:2:boolean canUseAssertionErrorTwoArgumentConstructor():1914 -> F
-    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1761:1761 -> F
-    3:3:boolean canUseAssertionErrorTwoArgumentConstructor():1914 -> F
+    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1765 -> F
+    2:2:boolean canUseAssertionErrorTwoArgumentConstructor():1922 -> F
+    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1765:1765 -> F
+    3:3:boolean canUseAssertionErrorTwoArgumentConstructor():1922 -> F
     1:3:boolean isShrinking():589:589 -> F0
     5:5:boolean isShrinking():591:591 -> F0
     1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():476:476 -> G
-    1:1:boolean canUseConstantMethodHandle():1808 -> G
-    2:2:boolean canUseConstantMethodHandle():1808:1808 -> G
+    1:1:boolean canUseConstantMethodHandle():1812 -> G
+    2:2:boolean canUseConstantMethodHandle():1812:1812 -> G
     3:3:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> G
-    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1761 -> G
-    3:3:boolean canUseConstantMethodHandle():1808 -> G
-    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1761:1761 -> G
-    4:4:boolean canUseConstantMethodHandle():1808 -> G
-    1:1:boolean isStringSwitchConversionEnabled():1889:1889 -> G0
+    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1765 -> G
+    3:3:boolean canUseConstantMethodHandle():1812 -> G
+    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1765:1765 -> G
+    4:4:boolean canUseConstantMethodHandle():1812 -> G
+    1:1:boolean isStringSwitchConversionEnabled():1897:1897 -> G0
     1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():476:476 -> H
-    1:1:boolean canUseConstantMethodType():1812 -> H
-    2:2:boolean canUseConstantMethodType():1812:1812 -> H
+    1:1:boolean canUseConstantMethodType():1816 -> H
+    2:2:boolean canUseConstantMethodType():1816:1816 -> H
     3:3:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> H
-    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1761 -> H
-    3:3:boolean canUseConstantMethodType():1812 -> H
-    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1761:1761 -> H
-    4:4:boolean canUseConstantMethodType():1812 -> H
+    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1765 -> H
+    3:3:boolean canUseConstantMethodType():1816 -> H
+    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1765:1765 -> H
+    4:4:boolean canUseConstantMethodType():1816 -> H
     1:6:void keepDebugRelatedInformation():216:221 -> H0
-    1:1:boolean canUseDefaultAndStaticInterfaceMethods():1820:1820 -> I
+    1:1:boolean canUseDefaultAndStaticInterfaceMethods():1824:1824 -> I
     2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> I
-    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1761 -> I
-    2:2:boolean canUseDefaultAndStaticInterfaceMethods():1820 -> I
-    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1761:1761 -> I
-    3:3:boolean canUseDefaultAndStaticInterfaceMethods():1820 -> I
+    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1765 -> I
+    2:2:boolean canUseDefaultAndStaticInterfaceMethods():1824 -> I
+    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1765:1765 -> I
+    3:3:boolean canUseDefaultAndStaticInterfaceMethods():1824 -> I
     1:2:boolean keepInnerClassStructure():694:695 -> I0
-    1:1:boolean canUseDexPcAsDebugInformation():1869:1869 -> J
-    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> J
-    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1761 -> J
-    2:2:boolean canUseDexPcAsDebugInformation():1870 -> J
-    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1761:1761 -> J
-    3:3:boolean canUseDexPcAsDebugInformation():1870 -> J
-    4:4:boolean com.android.tools.r8.utils.InternalOptions.allowDiscardingResidualDebugInfo():1865:1865 -> J
-    4:4:boolean canUseDexPcAsDebugInformation():1871 -> J
+    1:2:boolean canUseFilledNewArrayOfObjects():1953:1954 -> J
+    3:3:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> J
+    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1765 -> J
+    3:3:boolean canUseFilledNewArrayOfObjects():1954 -> J
+    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1765:1765 -> J
+    4:4:boolean canUseFilledNewArrayOfObjects():1954 -> J
     1:1:com.android.tools.r8.utils.InternalOptions$KotlinOptimizationOptions kotlinOptimizationOptions():766:766 -> J0
-    1:2:boolean canUseFilledNewArrayOfObjects():1945:1946 -> K
-    3:3:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> K
-    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1761 -> K
-    3:3:boolean canUseFilledNewArrayOfObjects():1946 -> K
-    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1761:1761 -> K
-    4:4:boolean canUseFilledNewArrayOfObjects():1946 -> K
+    1:1:boolean canUseInputStackMaps():699:699 -> K
+    2:2:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():476:476 -> K
+    2:2:boolean canUseInputStackMaps():699 -> K
     1:1:boolean parseSignatureAttribute():631:631 -> K0
-    1:1:boolean canUseInputStackMaps():699:699 -> L
-    2:2:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():476:476 -> L
-    2:2:boolean canUseInputStackMaps():699 -> L
+    1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():476:476 -> L
+    1:1:boolean canUseInvokeCustom():1820 -> L
+    2:2:boolean canUseInvokeCustom():1820:1820 -> L
+    3:3:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> L
+    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1765 -> L
+    3:3:boolean canUseInvokeCustom():1820 -> L
+    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1765:1765 -> L
+    4:4:boolean canUseInvokeCustom():1820 -> L
     1:32:boolean printWarnings():1096:1127 -> L0
     33:72:boolean printWarnings():1123:1162 -> L0
     1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():476:476 -> M
-    1:1:boolean canUseInvokeCustom():1816 -> M
-    2:2:boolean canUseInvokeCustom():1816:1816 -> M
+    1:1:boolean canUseInvokePolymorphic():1808 -> M
+    2:2:boolean canUseInvokePolymorphic():1808:1808 -> M
     3:3:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> M
-    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1761 -> M
-    3:3:boolean canUseInvokeCustom():1816 -> M
-    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1761:1761 -> M
-    4:4:boolean canUseInvokeCustom():1816 -> M
+    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1765 -> M
+    3:3:boolean canUseInvokePolymorphic():1808 -> M
+    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1765:1765 -> M
+    4:4:boolean canUseInvokePolymorphic():1808 -> M
     1:1:com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions protoShrinking():762:762 -> M0
     1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():476:476 -> N
-    1:1:boolean canUseInvokePolymorphic():1804 -> N
-    2:2:boolean canUseInvokePolymorphic():1804:1804 -> N
+    1:1:boolean canUseInvokePolymorphicOnVarHandle():1804 -> N
+    2:2:boolean canUseInvokePolymorphicOnVarHandle():1804:1804 -> N
     3:3:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> N
-    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1761 -> N
-    3:3:boolean canUseInvokePolymorphic():1804 -> N
-    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1761:1761 -> N
-    4:4:boolean canUseInvokePolymorphic():1804 -> N
-    1:1:com.android.tools.r8.cf.CfVersion requiredCfVersionForConstClassInstructions():1795:1795 -> N0
+    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1765 -> N
+    3:3:boolean canUseInvokePolymorphicOnVarHandle():1804 -> N
+    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1765:1765 -> N
+    4:4:boolean canUseInvokePolymorphicOnVarHandle():1804 -> N
+    1:1:com.android.tools.r8.cf.CfVersion requiredCfVersionForConstClassInstructions():1799:1799 -> N0
     2:2:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():476:476 -> N0
-    2:2:com.android.tools.r8.cf.CfVersion requiredCfVersionForConstClassInstructions():1795 -> N0
-    3:4:com.android.tools.r8.cf.CfVersion requiredCfVersionForConstClassInstructions():1795:1796 -> N0
-    1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():476:476 -> O
-    1:1:boolean canUseInvokePolymorphicOnVarHandle():1800 -> O
-    2:2:boolean canUseInvokePolymorphicOnVarHandle():1800:1800 -> O
-    3:3:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> O
-    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1761 -> O
-    3:3:boolean canUseInvokePolymorphicOnVarHandle():1800 -> O
-    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1761:1761 -> O
-    4:4:boolean canUseInvokePolymorphicOnVarHandle():1800 -> O
+    2:2:com.android.tools.r8.cf.CfVersion requiredCfVersionForConstClassInstructions():1799 -> N0
+    3:4:com.android.tools.r8.cf.CfVersion requiredCfVersionForConstClassInstructions():1799:1800 -> N0
+    1:1:boolean canUseJavaUtilObjects():1906:1906 -> O
+    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> O
+    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1765 -> O
+    2:2:boolean canUseJavaUtilObjects():1906 -> O
+    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1765:1765 -> O
+    3:3:boolean canUseJavaUtilObjects():1906 -> O
     1:1:boolean com.android.tools.r8.utils.InternalOptions.hasConsumer():421:421 -> O0
     1:1:boolean shouldBackportMethods():449 -> O0
     2:2:boolean shouldBackportMethods():449:449 -> O0
-    1:1:boolean canUseJavaUtilObjects():1898:1898 -> P
+    1:1:boolean canUseJavaUtilObjectsIsNull():1910:1910 -> P
     2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> P
-    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1761 -> P
-    2:2:boolean canUseJavaUtilObjects():1898 -> P
-    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1761:1761 -> P
-    3:3:boolean canUseJavaUtilObjects():1898 -> P
+    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1765 -> P
+    2:2:boolean canUseJavaUtilObjectsIsNull():1910 -> P
+    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1765:1765 -> P
+    3:3:boolean canUseJavaUtilObjectsIsNull():1910 -> P
     1:1:boolean shouldDesugarRecords():522:522 -> P0
-    2:2:boolean com.android.tools.r8.utils.InternalOptions.canUseRecords():1828:1828 -> P0
+    2:2:boolean com.android.tools.r8.utils.InternalOptions.canUseRecords():1832:1832 -> P0
     2:2:boolean shouldDesugarRecords():522 -> P0
-    1:1:boolean canUseJavaUtilObjectsIsNull():1902:1902 -> Q
+    1:1:boolean canUseJavaUtilObjectsRequireNonNull():1914:1914 -> Q
     2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> Q
-    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1761 -> Q
-    2:2:boolean canUseJavaUtilObjectsIsNull():1902 -> Q
-    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1761:1761 -> Q
-    3:3:boolean canUseJavaUtilObjectsIsNull():1902 -> Q
+    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1765 -> Q
+    2:2:boolean canUseJavaUtilObjectsRequireNonNull():1914 -> Q
+    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1765:1765 -> Q
+    3:3:boolean canUseJavaUtilObjectsRequireNonNull():1914 -> Q
     1:1:boolean shouldKeepStackMapTable():453:453 -> Q0
     2:2:boolean com.android.tools.r8.utils.InternalOptions.isRelocatorCompilation():445:445 -> Q0
     2:2:boolean shouldKeepStackMapTable():453 -> Q0
@@ -117592,39 +117736,43 @@
     5:5:boolean com.android.tools.r8.utils.InternalOptions.isRelocatorCompilation():445:445 -> Q0
     5:5:boolean shouldKeepStackMapTable():455 -> Q0
     6:6:boolean shouldKeepStackMapTable():456:456 -> Q0
-    1:1:boolean canUseJavaUtilObjectsRequireNonNull():1906:1906 -> R
-    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> R
-    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1761 -> R
-    2:2:boolean canUseJavaUtilObjectsRequireNonNull():1906 -> R
-    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1761:1761 -> R
-    3:3:boolean canUseJavaUtilObjectsRequireNonNull():1906 -> R
+    1:2:boolean canUseMultidex():1901:1902 -> R
+    3:3:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> R
+    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1765 -> R
+    3:3:boolean canUseMultidex():1902 -> R
+    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1765:1765 -> R
+    4:4:boolean canUseMultidex():1902 -> R
     1:1:boolean shouldRerunEnqueuer():460:460 -> R0
-    1:2:boolean canUseMultidex():1893:1894 -> S
+    1:1:boolean com.android.tools.r8.utils.InternalOptions.canUseDexPc2PcAsDebugInformation():1873:1873 -> S
+    1:1:boolean canUseNativeDexPcInsteadOfDebugInfo():1877 -> S
+    2:2:boolean canUseNativeDexPcInsteadOfDebugInfo():1877:1877 -> S
     3:3:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> S
-    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1761 -> S
-    3:3:boolean canUseMultidex():1894 -> S
-    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1761:1761 -> S
-    4:4:boolean canUseMultidex():1894 -> S
+    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1765 -> S
+    3:3:boolean canUseNativeDexPcInsteadOfDebugInfo():1878 -> S
+    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1765:1765 -> S
+    4:4:boolean canUseNativeDexPcInsteadOfDebugInfo():1878 -> S
+    5:5:boolean com.android.tools.r8.utils.InternalOptions.allowDiscardingResidualDebugInfo():1869:1869 -> S
+    5:5:boolean canUseNativeDexPcInsteadOfDebugInfo():1879 -> S
     1:18:void signalFinishedToConsumers():496:513 -> S0
     1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():476:476 -> T
-    1:1:boolean canUseNotInstruction():1981 -> T
-    2:2:boolean canUseNotInstruction():1981:1981 -> T
+    1:1:boolean canUseNotInstruction():1989 -> T
+    2:2:boolean canUseNotInstruction():1989:1989 -> T
     3:3:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> T
-    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1761 -> T
-    3:3:boolean canUseNotInstruction():1981 -> T
-    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1761:1761 -> T
-    4:4:boolean canUseNotInstruction():1981 -> T
+    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1765 -> T
+    3:3:boolean canUseNotInstruction():1989 -> T
+    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1765:1765 -> T
+    4:4:boolean canUseNotInstruction():1989 -> T
     1:2:void warningReadingKotlinMetadataReflective():1021:1022 -> T0
-    1:1:boolean canUsePrivateInterfaceMethods():1858:1858 -> U
+    1:1:boolean canUsePrivateInterfaceMethods():1862:1862 -> U
     2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> U
-    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1761 -> U
-    2:2:boolean canUsePrivateInterfaceMethods():1858 -> U
-    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1761:1761 -> U
-    3:3:boolean canUsePrivateInterfaceMethods():1858 -> U
-    1:1:boolean canUseSameArrayAndResultRegisterInArrayGetWide():1954:1954 -> V
+    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1765 -> U
+    2:2:boolean canUsePrivateInterfaceMethods():1862 -> U
+    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1765:1765 -> U
+    3:3:boolean canUsePrivateInterfaceMethods():1862 -> U
+    1:1:boolean canUseSameArrayAndResultRegisterInArrayGetWide():1962:1962 -> V
     2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> V
-    2:2:boolean canUseSameArrayAndResultRegisterInArrayGetWide():1955 -> V
-    3:3:boolean canUseSameArrayAndResultRegisterInArrayGetWide():1955:1955 -> V
+    2:2:boolean canUseSameArrayAndResultRegisterInArrayGetWide():1963 -> V
+    3:3:boolean canUseSameArrayAndResultRegisterInArrayGetWide():1963:1963 -> V
     1:1:com.android.tools.r8.utils.InternalOptions$ClassInlinerOptions classInlinerOptions():750:750 -> W
     1:1:com.android.tools.r8.utils.InternalOptions$DesugarSpecificOptions desugarSpecificOptions():774:774 -> X
     1:1:com.android.tools.r8.graph.DexItemFactory dexItemFactory():144:144 -> Y
@@ -117674,12 +117822,12 @@
     108:108:void warningInvalidDebugInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.origin.Origin,com.android.tools.r8.errors.InvalidDebugInfoException):1068:1068 -> a
     109:109:java.util.List lambda$warningInvalidDebugInfo$4(com.android.tools.r8.origin.Origin):1072:1072 -> a
     110:115:boolean methodMatchesFilter(com.android.tools.r8.graph.DexEncodedMethod):1176:1181 -> a
-    116:116:boolean canUseConstClassInstructions(com.android.tools.r8.cf.CfVersion):1790:1790 -> a
+    116:116:boolean canUseConstClassInstructions(com.android.tools.r8.cf.CfVersion):1794:1794 -> a
     117:117:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():476:476 -> a
-    117:117:boolean canUseConstClassInstructions(com.android.tools.r8.cf.CfVersion):1790 -> a
-    118:119:boolean canUseConstClassInstructions(com.android.tools.r8.cf.CfVersion):1790:1791 -> a
+    117:117:boolean canUseConstClassInstructions(com.android.tools.r8.cf.CfVersion):1794 -> a
+    118:119:boolean canUseConstClassInstructions(com.android.tools.r8.cf.CfVersion):1794:1795 -> a
     1:14:void disableGlobalOptimizations():240:253 -> a0
-    15:15:void com.android.tools.r8.utils.InternalOptions$ApiModelTestingOptions.disableApiCallerIdentification():1529:1529 -> a0
+    15:15:void com.android.tools.r8.utils.InternalOptions$ApiModelTestingOptions.disableApiCallerIdentification():1533:1533 -> a0
     15:15:void disableGlobalOptimizations():253 -> a0
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     1:1:com.android.tools.r8.utils.Box access$300(com.android.tools.r8.utils.InternalOptions):106:106 -> b
@@ -117687,42 +117835,42 @@
     2:5:int access$100(java.lang.String,int):106 -> b
     6:39:java.lang.String messageErrorIncompleteNest(com.android.tools.r8.ir.desugar.nest.Nest):956:989 -> b
     40:40:java.util.List lambda$warningInvalidParameterAnnotations$3(com.android.tools.r8.origin.Origin):1061:1061 -> b
-    1:1:void disableNameReflectionOptimization():1757:1757 -> b0
+    1:1:void disableNameReflectionOptimization():1761:1761 -> b0
     1:1:com.android.tools.r8.utils.InternalOptions$ApiModelTestingOptions apiModelingOptions():770:770 -> c
     2:2:java.util.List lambda$warningMissingEnclosingMember$2(com.android.tools.r8.origin.Origin):1052:1052 -> c
-    1:1:boolean enableBackportedMethodRewriting():1844:1844 -> c0
+    1:1:boolean enableBackportedMethodRewriting():1848:1848 -> c0
     2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> c0
-    2:2:boolean enableBackportedMethodRewriting():1844 -> c0
-    3:3:boolean enableBackportedMethodRewriting():1844:1844 -> c0
+    2:2:boolean enableBackportedMethodRewriting():1848 -> c0
+    3:3:boolean enableBackportedMethodRewriting():1848:1848 -> c0
     1:1:boolean assertionsEnabled():917:917 -> d
     2:11:void warningExperimentalClassFileVersion(com.android.tools.r8.origin.Origin):1079:1088 -> d
     12:18:void warningExperimentalClassFileVersion(com.android.tools.r8.origin.Origin):1084:1090 -> d
     1:6:void enableProtoShrinking():225:230 -> d0
     1:1:com.android.tools.r8.utils.InternalOptions$CallSiteOptimizationOptions callSiteOptimizationOptions():746:746 -> e
-    1:5:boolean enableTryWithResourcesDesugaring():1848:1852 -> e0
-    6:6:boolean com.android.tools.r8.utils.InternalOptions.canUseTwrCloseResourceMethod():1836:1836 -> e0
-    6:6:boolean enableTryWithResourcesDesugaring():1852 -> e0
+    1:5:boolean enableTryWithResourcesDesugaring():1852:1856 -> e0
+    6:6:boolean com.android.tools.r8.utils.InternalOptions.canUseTwrCloseResourceMethod():1840:1840 -> e0
+    6:6:boolean enableTryWithResourcesDesugaring():1856 -> e0
     7:7:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> e0
-    7:7:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1761 -> e0
-    7:7:boolean com.android.tools.r8.utils.InternalOptions.canUseTwrCloseResourceMethod():1836 -> e0
-    7:7:boolean enableTryWithResourcesDesugaring():1852 -> e0
-    8:8:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1761:1761 -> e0
-    8:8:boolean com.android.tools.r8.utils.InternalOptions.canUseTwrCloseResourceMethod():1836 -> e0
-    8:8:boolean enableTryWithResourcesDesugaring():1852 -> e0
-    9:9:boolean enableTryWithResourcesDesugaring():1854:1854 -> e0
+    7:7:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1765 -> e0
+    7:7:boolean com.android.tools.r8.utils.InternalOptions.canUseTwrCloseResourceMethod():1840 -> e0
+    7:7:boolean enableTryWithResourcesDesugaring():1856 -> e0
+    8:8:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1765:1765 -> e0
+    8:8:boolean com.android.tools.r8.utils.InternalOptions.canUseTwrCloseResourceMethod():1840 -> e0
+    8:8:boolean enableTryWithResourcesDesugaring():1856 -> e0
+    9:9:boolean enableTryWithResourcesDesugaring():1858:1858 -> e0
     1:1:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> f
-    1:1:boolean canHaveArtCheckCastVerifierBug():2231 -> f
-    2:2:boolean canHaveArtCheckCastVerifierBug():2231:2231 -> f
+    1:1:boolean canHaveArtCheckCastVerifierBug():2239 -> f
+    2:2:boolean canHaveArtCheckCastVerifierBug():2239:2239 -> f
     1:9:java.util.Set getExtensiveInterfaceMethodMinifierLoggingFilter():795:803 -> f0
-    1:1:boolean canHaveArtInstanceOfVerifierBug():2186:2186 -> g
+    1:1:boolean canHaveArtInstanceOfVerifierBug():2194:2194 -> g
     2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> g
-    2:2:boolean canHaveArtInstanceOfVerifierBug():2187 -> g
-    3:3:boolean canHaveArtInstanceOfVerifierBug():2187:2187 -> g
+    2:2:boolean canHaveArtInstanceOfVerifierBug():2195 -> g
+    3:3:boolean canHaveArtInstanceOfVerifierBug():2195:2195 -> g
     1:9:java.util.Set getExtensiveLoggingFilter():782:790 -> g0
-    1:1:boolean canHaveArtStringNewInitBug():2111:2111 -> h
+    1:1:boolean canHaveArtStringNewInitBug():2119:2119 -> h
     2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> h
-    2:2:boolean canHaveArtStringNewInitBug():2111 -> h
-    3:3:boolean canHaveArtStringNewInitBug():2111:2111 -> h
+    2:2:boolean canHaveArtStringNewInitBug():2119 -> h
+    3:3:boolean canHaveArtStringNewInitBug():2119:2119 -> h
     1:1:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():425:425 -> h0
     2:2:boolean com.android.tools.r8.utils.InternalOptions.hasConsumer():421:421 -> h0
     2:2:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():425 -> h0
@@ -117736,105 +117884,105 @@
     8:8:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():476:476 -> h0
     8:8:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():430 -> h0
     9:11:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():431:433 -> h0
-    1:1:boolean canHaveBoundsCheckEliminationBug():1972:1972 -> i
+    1:1:boolean canHaveBoundsCheckEliminationBug():1980:1980 -> i
     2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> i
-    2:2:boolean canHaveBoundsCheckEliminationBug():1972 -> i
-    3:3:boolean canHaveBoundsCheckEliminationBug():1972:1972 -> i
+    2:2:boolean canHaveBoundsCheckEliminationBug():1980 -> i
+    3:3:boolean canHaveBoundsCheckEliminationBug():1980:1980 -> i
     1:1:com.android.tools.r8.utils.AndroidApiLevel getMinApiLevel():572:572 -> i0
     1:1:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> j
-    1:1:boolean canHaveCmpIfFloatBug():2064 -> j
-    2:2:boolean canHaveCmpIfFloatBug():2064:2064 -> j
+    1:1:boolean canHaveCmpIfFloatBug():2072 -> j
+    2:2:boolean canHaveCmpIfFloatBug():2072:2072 -> j
     1:1:com.android.tools.r8.shaking.ProguardConfiguration getProguardConfiguration():152:152 -> j0
-    1:1:boolean canHaveCmpLongBug():2036:2036 -> k
+    1:1:boolean canHaveCmpLongBug():2044:2044 -> k
     2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> k
-    2:2:boolean canHaveCmpLongBug():2036 -> k
-    3:3:boolean canHaveCmpLongBug():2036:2036 -> k
+    2:2:boolean canHaveCmpLongBug():2044 -> k
+    3:3:boolean canHaveCmpLongBug():2044:2044 -> k
     1:1:boolean hasMethodsFilter():1171:1171 -> k0
-    1:1:boolean canHaveDalvikAbstractMethodOnNonAbstractClassVerificationBug():2263:2263 -> l
+    1:1:boolean canHaveDalvikAbstractMethodOnNonAbstractClassVerificationBug():2271:2271 -> l
     2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> l
-    2:2:boolean canHaveDalvikAbstractMethodOnNonAbstractClassVerificationBug():2263 -> l
-    3:3:boolean canHaveDalvikAbstractMethodOnNonAbstractClassVerificationBug():2263:2263 -> l
+    2:2:boolean canHaveDalvikAbstractMethodOnNonAbstractClassVerificationBug():2271 -> l
+    3:3:boolean canHaveDalvikAbstractMethodOnNonAbstractClassVerificationBug():2271:2271 -> l
     1:1:boolean hasProguardConfiguration():148:148 -> l0
     1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():476:476 -> m
-    1:1:boolean canHaveDalvikCatchHandlerVerificationBug():2255 -> m
+    1:1:boolean canHaveDalvikCatchHandlerVerificationBug():2263 -> m
     2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> m
-    2:2:boolean canHaveDalvikCatchHandlerVerificationBug():2255 -> m
-    3:3:boolean canHaveDalvikCatchHandlerVerificationBug():2255:2255 -> m
+    2:2:boolean canHaveDalvikCatchHandlerVerificationBug():2263 -> m
+    3:3:boolean canHaveDalvikCatchHandlerVerificationBug():2263:2263 -> m
     1:1:boolean hasUsageInformationConsumer():874:874 -> m0
     1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():476:476 -> n
-    1:1:boolean canHaveDalvikIntUsedAsNonIntPrimitiveTypeBug():2277 -> n
+    1:1:boolean canHaveDalvikIntUsedAsNonIntPrimitiveTypeBug():2285 -> n
     2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> n
-    2:2:boolean canHaveDalvikIntUsedAsNonIntPrimitiveTypeBug():2277 -> n
-    3:3:boolean canHaveDalvikIntUsedAsNonIntPrimitiveTypeBug():2277:2277 -> n
+    2:2:boolean canHaveDalvikIntUsedAsNonIntPrimitiveTypeBug():2285 -> n
+    3:3:boolean canHaveDalvikIntUsedAsNonIntPrimitiveTypeBug():2285:2285 -> n
     1:1:com.android.tools.r8.utils.InternalOptions$HorizontalClassMergerOptions horizontalClassMergerOptions():758:758 -> n0
-    1:1:boolean canHaveDex2OatInliningIssue():2103:2103 -> o
+    1:1:boolean canHaveDex2OatInliningIssue():2111:2111 -> o
     2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> o
-    2:2:boolean canHaveDex2OatInliningIssue():2103 -> o
-    3:3:boolean canHaveDex2OatInliningIssue():2103:2103 -> o
+    2:2:boolean canHaveDex2OatInliningIssue():2111 -> o
+    3:3:boolean canHaveDex2OatInliningIssue():2111:2111 -> o
     1:1:com.android.tools.r8.utils.InternalOptions$InlinerOptions inlinerOptions():754:754 -> o0
-    1:1:boolean canHaveDex2OatLinkedListBug():2095:2095 -> p
+    1:1:boolean canHaveDex2OatLinkedListBug():2103:2103 -> p
     2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> p
-    2:2:boolean canHaveDex2OatLinkedListBug():2095 -> p
-    3:3:boolean canHaveDex2OatLinkedListBug():2095:2095 -> p
+    2:2:boolean canHaveDex2OatLinkedListBug():2103 -> p
+    3:3:boolean canHaveDex2OatLinkedListBug():2103:2103 -> p
     1:1:boolean isDesugaredLibraryCompilation():441:441 -> p0
-    1:1:boolean canHaveExceptionTargetingLoopHeaderBug():2144:2144 -> q
+    1:1:boolean canHaveExceptionTargetingLoopHeaderBug():2152:2152 -> q
     2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> q
-    2:2:boolean canHaveExceptionTargetingLoopHeaderBug():2144 -> q
-    3:3:boolean canHaveExceptionTargetingLoopHeaderBug():2144:2144 -> q
+    2:2:boolean canHaveExceptionTargetingLoopHeaderBug():2152 -> q
+    3:3:boolean canHaveExceptionTargetingLoopHeaderBug():2152:2152 -> q
     1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():476:476 -> q0
     1:1:boolean isDesugaring():480 -> q0
     2:2:boolean isDesugaring():480:480 -> q0
     1:1:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> r
-    1:1:boolean canHaveExceptionTypeBug():2223 -> r
-    2:2:boolean canHaveExceptionTypeBug():2223:2223 -> r
+    1:1:boolean canHaveExceptionTypeBug():2231 -> r
+    2:2:boolean canHaveExceptionTypeBug():2231:2231 -> r
     1:1:boolean isGeneratingClassFiles():476:476 -> r0
-    1:1:boolean canHaveForwardingInitInliningBug():2132:2132 -> s
+    1:1:boolean canHaveForwardingInitInliningBug():2140:2140 -> s
     2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> s
-    2:2:boolean canHaveForwardingInitInliningBug():2132 -> s
-    3:3:boolean canHaveForwardingInitInliningBug():2132:2132 -> s
+    2:2:boolean canHaveForwardingInitInliningBug():2140 -> s
+    3:3:boolean canHaveForwardingInitInliningBug():2140:2140 -> s
     1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingDexIndexed():468:468 -> s0
     1:1:boolean isGeneratingDex():464 -> s0
     2:2:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingDexFilePerClassFile():472:472 -> s0
     2:2:boolean isGeneratingDex():464 -> s0
     1:1:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> t
-    1:1:boolean canHaveLongToIntBug():2210 -> t
-    2:2:boolean canHaveLongToIntBug():2210:2210 -> t
+    1:1:boolean canHaveLongToIntBug():2218 -> t
+    2:2:boolean canHaveLongToIntBug():2218:2218 -> t
     1:1:boolean com.android.tools.r8.utils.InternalOptions.hasConsumer():421:421 -> t0
-    1:1:boolean isInterfaceMethodDesugaringEnabled():1876 -> t0
-    2:4:boolean isInterfaceMethodDesugaringEnabled():1879:1881 -> t0
-    1:1:boolean canHaveMul2AddrBug():2086:2086 -> u
+    1:1:boolean isInterfaceMethodDesugaringEnabled():1884 -> t0
+    2:4:boolean isInterfaceMethodDesugaringEnabled():1887:1889 -> t0
+    1:1:boolean canHaveMul2AddrBug():2094:2094 -> u
     2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> u
-    2:2:boolean canHaveMul2AddrBug():2086 -> u
-    3:3:boolean canHaveMul2AddrBug():2086:2086 -> u
+    2:2:boolean canHaveMul2AddrBug():2094 -> u
+    3:3:boolean canHaveMul2AddrBug():2094:2094 -> u
     1:1:boolean isKeepAttributesSignatureEnabled():636:636 -> u0
-    1:1:boolean canHaveNumberConversionRegisterAllocationBug():2119:2119 -> v
+    1:1:boolean canHaveNumberConversionRegisterAllocationBug():2127:2127 -> v
     2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> v
-    2:2:boolean canHaveNumberConversionRegisterAllocationBug():2119 -> v
-    3:3:boolean canHaveNumberConversionRegisterAllocationBug():2119:2119 -> v
+    2:2:boolean canHaveNumberConversionRegisterAllocationBug():2127 -> v
+    3:3:boolean canHaveNumberConversionRegisterAllocationBug():2127:2127 -> v
     1:1:boolean isKeepEnclosingMethodAttributeEnabled():641:641 -> v0
-    1:1:boolean canHaveOverlappingLongRegisterBug():2003:2003 -> w
+    1:1:boolean canHaveOverlappingLongRegisterBug():2011:2011 -> w
     2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> w
-    2:2:boolean canHaveOverlappingLongRegisterBug():2003 -> w
-    3:3:boolean canHaveOverlappingLongRegisterBug():2003:2003 -> w
+    2:2:boolean canHaveOverlappingLongRegisterBug():2011 -> w
+    3:3:boolean canHaveOverlappingLongRegisterBug():2011:2011 -> w
     1:1:boolean isKeepInnerClassesAttributeEnabled():646:646 -> w0
-    1:1:boolean canHaveSwitchMaxIntBug():2292:2292 -> x
+    1:1:boolean canHaveSwitchMaxIntBug():2300:2300 -> x
     2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> x
-    2:2:boolean canHaveSwitchMaxIntBug():2292 -> x
-    3:3:boolean canHaveSwitchMaxIntBug():2292:2292 -> x
+    2:2:boolean canHaveSwitchMaxIntBug():2300 -> x
+    3:3:boolean canHaveSwitchMaxIntBug():2300:2300 -> x
     1:1:boolean isKeepRuntimeInvisibleAnnotationsEnabled():651:651 -> x0
     1:1:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> y
-    1:1:boolean canHaveThisJitCodeDebuggingBug():1997 -> y
-    2:2:boolean canHaveThisJitCodeDebuggingBug():1997:1997 -> y
+    1:1:boolean canHaveThisJitCodeDebuggingBug():2005 -> y
+    2:2:boolean canHaveThisJitCodeDebuggingBug():2005:2005 -> y
     1:1:boolean isKeepRuntimeInvisibleParameterAnnotationsEnabled():656:656 -> y0
-    1:1:boolean canHaveThisTypeVerifierBug():1988:1988 -> z
+    1:1:boolean canHaveThisTypeVerifierBug():1996:1996 -> z
     2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():572:572 -> z
-    2:2:boolean canHaveThisTypeVerifierBug():1988 -> z
-    3:3:boolean canHaveThisTypeVerifierBug():1988:1988 -> z
+    2:2:boolean canHaveThisTypeVerifierBug():1996 -> z
+    3:3:boolean canHaveThisTypeVerifierBug():1996:1996 -> z
     1:1:boolean isKeepRuntimeVisibleAnnotationsEnabled():661:661 -> z0
-com.android.tools.r8.utils.InternalOptions$1 -> com.android.tools.r8.internal.eu:
+com.android.tools.r8.utils.InternalOptions$1 -> com.android.tools.r8.internal.gu:
     int[] $SwitchMap$com$android$tools$r8$utils$OffOrAuto -> a
-    1:1:void <clinit>():1848:1848 -> <clinit>
-com.android.tools.r8.utils.InternalOptions$ApiModelTestingOptions -> com.android.tools.r8.internal.gu$a:
+    1:1:void <clinit>():1852:1852 -> <clinit>
+com.android.tools.r8.utils.InternalOptions$ApiModelTestingOptions -> com.android.tools.r8.internal.iu$a:
     java.util.Map methodApiMapping -> a
     java.util.Map fieldApiMapping -> b
     java.util.Map classApiMapping -> c
@@ -117843,23 +117991,23 @@
     boolean checkAllApiReferencesAreSet -> f
     boolean enableStubbingOfClasses -> g
     boolean enableOutliningOfMethods -> h
-    1:12:void <init>():1464:1475 -> <init>
-    1:11:void visitMockedApiLevelsForReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.Consumer):1479:1489 -> a
-    12:12:void lambda$visitMockedApiLevelsForReferences$0(java.util.Set,com.android.tools.r8.references.MethodReference):1485:1485 -> a
-    13:13:void lambda$visitMockedApiLevelsForReferences$1(java.util.Set,com.android.tools.r8.references.FieldReference):1488:1488 -> a
-    14:14:void lambda$visitMockedApiLevelsForReferences$2(java.util.function.Consumer,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.references.ClassReference):1491:1491 -> a
-com.android.tools.r8.utils.InternalOptions$ApiModelTestingOptions$1 -> com.android.tools.r8.internal.fu:
+    1:16:void <init>():1464:1479 -> <init>
+    1:11:void visitMockedApiLevelsForReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.Consumer):1483:1493 -> a
+    12:12:void lambda$visitMockedApiLevelsForReferences$0(java.util.Set,com.android.tools.r8.references.MethodReference):1489:1489 -> a
+    13:13:void lambda$visitMockedApiLevelsForReferences$1(java.util.Set,com.android.tools.r8.references.FieldReference):1492:1492 -> a
+    14:14:void lambda$visitMockedApiLevelsForReferences$2(java.util.function.Consumer,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.references.ClassReference):1495:1495 -> a
+com.android.tools.r8.utils.InternalOptions$ApiModelTestingOptions$1 -> com.android.tools.r8.internal.hu:
     com.android.tools.r8.utils.InternalOptions$ApiModelTestingOptions this$0 -> c
     com.android.tools.r8.references.ClassReference val$classReference -> b
     com.android.tools.r8.graph.DexItemFactory val$factory -> a
-    1:1:void <init>(com.android.tools.r8.utils.InternalOptions$ApiModelTestingOptions,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.references.ClassReference):1492:1492 -> <init>
-    1:1:com.android.tools.r8.utils.AndroidApiLevel getApiLevel():1500:1500 -> a
-    2:2:void visitMethodsWithApiLevels(java.util.function.BiConsumer):1506:1506 -> a
-    3:4:void lambda$visitMethodsWithApiLevels$0(com.android.tools.r8.references.ClassReference,java.util.function.BiConsumer,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.references.MethodReference,com.android.tools.r8.utils.AndroidApiLevel):1508:1509 -> a
-    5:6:void lambda$visitFieldsWithApiLevels$1(com.android.tools.r8.references.ClassReference,java.util.function.BiConsumer,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.references.FieldReference,com.android.tools.r8.utils.AndroidApiLevel):1519:1520 -> a
-    1:1:void visitFieldsWithApiLevels(java.util.function.BiConsumer):1517:1517 -> b
-    1:1:com.android.tools.r8.graph.DexType getType():1495:1495 -> getType
-com.android.tools.r8.utils.InternalOptions$CallSiteOptimizationOptions -> com.android.tools.r8.internal.gu$b:
+    1:1:void <init>(com.android.tools.r8.utils.InternalOptions$ApiModelTestingOptions,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.references.ClassReference):1496:1496 -> <init>
+    1:1:com.android.tools.r8.utils.AndroidApiLevel getApiLevel():1504:1504 -> a
+    2:2:void visitMethodsWithApiLevels(java.util.function.BiConsumer):1510:1510 -> a
+    3:4:void lambda$visitMethodsWithApiLevels$0(com.android.tools.r8.references.ClassReference,java.util.function.BiConsumer,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.references.MethodReference,com.android.tools.r8.utils.AndroidApiLevel):1512:1513 -> a
+    5:6:void lambda$visitFieldsWithApiLevels$1(com.android.tools.r8.references.ClassReference,java.util.function.BiConsumer,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.references.FieldReference,com.android.tools.r8.utils.AndroidApiLevel):1523:1524 -> a
+    1:1:void visitFieldsWithApiLevels(java.util.function.BiConsumer):1521:1521 -> b
+    1:1:com.android.tools.r8.graph.DexType getType():1499:1499 -> getType
+com.android.tools.r8.utils.InternalOptions$CallSiteOptimizationOptions -> com.android.tools.r8.internal.iu$b:
     com.android.tools.r8.utils.InternalOptions this$0 -> b
     boolean enabled -> a
     boolean $assertionsDisabled -> c
@@ -117870,7 +118018,7 @@
     3:3:void com.android.tools.r8.utils.InternalOptions$CallSiteOptimizationOptions.disableOptimization():1269:1269 -> a
     3:3:com.android.tools.r8.utils.InternalOptions$CallSiteOptimizationOptions setEnabled(boolean):1291 -> a
     1:4:boolean isEnabled():1281:1284 -> b
-com.android.tools.r8.utils.InternalOptions$ClassInlinerOptions -> com.android.tools.r8.internal.gu$c:
+com.android.tools.r8.utils.InternalOptions$ClassInlinerOptions -> com.android.tools.r8.internal.iu$c:
     com.android.tools.r8.utils.InternalOptions this$0 -> b
     boolean $assertionsDisabled -> c
     int classInliningInstructionAllowance -> a
@@ -117881,20 +118029,20 @@
     5:5:int getClassInliningInstructionAllowance():1305 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     6:6:int getClassInliningInstructionAllowance():1308:1308 -> a
-com.android.tools.r8.utils.InternalOptions$DesugarSpecificOptions -> com.android.tools.r8.internal.gu$d:
+com.android.tools.r8.utils.InternalOptions$DesugarSpecificOptions -> com.android.tools.r8.internal.iu$d:
     boolean sortMethodsOnCfOutput -> a
     boolean allowAllDesugaredInput -> b
     boolean noCfMarkerForDesugaredCode -> c
     boolean lambdaClassFieldsFinal -> d
     1:15:void <init>():1241:1255 -> <init>
-com.android.tools.r8.utils.InternalOptions$DesugarState -> com.android.tools.r8.internal.gu$e:
+com.android.tools.r8.utils.InternalOptions$DesugarState -> com.android.tools.r8.internal.iu$e:
     com.android.tools.r8.utils.InternalOptions$DesugarState OFF -> b
     com.android.tools.r8.utils.InternalOptions$DesugarState ON -> c
     1:2:void <clinit>():121:122 -> <clinit>
     1:1:void <init>(java.lang.String,int):120:120 -> <init>
     1:1:boolean isOff():125:125 -> a
     1:1:boolean isOn():129:129 -> b
-com.android.tools.r8.utils.InternalOptions$HorizontalClassMergerOptions -> com.android.tools.r8.internal.gu$f:
+com.android.tools.r8.utils.InternalOptions$HorizontalClassMergerOptions -> com.android.tools.r8.internal.iu$f:
     boolean enableSyntheticMerging -> e
     boolean restrictToSynthetics -> f
     com.android.tools.r8.utils.InternalOptions this$0 -> g
@@ -117919,7 +118067,7 @@
     1:1:void setEnableInterfaceMerging():1448:1448 -> i
     1:1:void setEnableInterfaceMergingInInitial():1452:1452 -> j
     1:1:void setRestrictToSynthetics():1460:1460 -> k
-com.android.tools.r8.utils.InternalOptions$InlinerOptions -> com.android.tools.r8.internal.gu$g:
+com.android.tools.r8.utils.InternalOptions$InlinerOptions -> com.android.tools.r8.internal.iu$g:
     boolean $assertionsDisabled -> m
     boolean enableInliningOfInvokesWithClassInitializationSideEffects -> i
     boolean enableInliningOfInvokesWithNullableReceivers -> j
@@ -117940,43 +118088,43 @@
     6:6:int getSimpleInliningInstructionLimit():1353 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     7:7:int getSimpleInliningInstructionLimit():1357:1357 -> a
-com.android.tools.r8.utils.InternalOptions$InvalidParameterAnnotationInfo -> com.android.tools.r8.internal.hu:
+com.android.tools.r8.utils.InternalOptions$InvalidParameterAnnotationInfo -> com.android.tools.r8.internal.ju:
     int expectedParameterCount -> b
     int actualParameterCount -> c
     com.android.tools.r8.graph.DexMethod method -> a
     1:4:void <init>(com.android.tools.r8.graph.DexMethod,int,int):831:834 -> <init>
-com.android.tools.r8.utils.InternalOptions$KotlinOptimizationOptions -> com.android.tools.r8.internal.iu:
+com.android.tools.r8.utils.InternalOptions$KotlinOptimizationOptions -> com.android.tools.r8.internal.ku:
     boolean disableKotlinSpecificOptimizations -> a
     1:3:void <init>():1234:1236 -> <init>
-com.android.tools.r8.utils.InternalOptions$LineNumberOptimization -> com.android.tools.r8.internal.gu$h:
+com.android.tools.r8.utils.InternalOptions$LineNumberOptimization -> com.android.tools.r8.internal.iu$h:
     com.android.tools.r8.utils.InternalOptions$LineNumberOptimization OFF -> b
     com.android.tools.r8.utils.InternalOptions$LineNumberOptimization ON -> c
     1:2:void <clinit>():116:117 -> <clinit>
     1:1:void <init>(java.lang.String,int):115:115 -> <init>
-com.android.tools.r8.utils.InternalOptions$OutlineOptions -> com.android.tools.r8.internal.gu$i:
+com.android.tools.r8.utils.InternalOptions$OutlineOptions -> com.android.tools.r8.internal.iu$i:
     int threshold -> d
     boolean enabled -> a
     int minSize -> b
     int maxSize -> c
     1:5:void <init>():1226:1230 -> <init>
-com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode -> com.android.tools.r8.internal.gu$j:
+com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode -> com.android.tools.r8.internal.iu$j:
     com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode FLATTEN -> e
     com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode REPACKAGE -> d
     com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode MINIFICATION -> c
     com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode NONE -> b
     1:8:void <clinit>():1196:1203 -> <clinit>
     1:1:void <init>(java.lang.String,int):1194:1194 -> <init>
-com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions -> com.android.tools.r8.internal.gu$k:
+com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions -> com.android.tools.r8.internal.iu$k:
     boolean enableEnumLiteProtoShrinking -> e
     boolean enableGeneratedExtensionRegistryShrinking -> a
     boolean enableGeneratedMessageLiteShrinking -> b
     boolean enableGeneratedMessageLiteBuilderShrinking -> c
     boolean traverseOneOfAndRepeatedProtoFields -> d
-    1:7:void <init>():1533:1539 -> <init>
-    1:1:boolean enableRemoveProtoEnumSwitchMap():1553:1553 -> a
-    1:1:boolean isEnumLiteProtoShrinkingEnabled():1564:1564 -> b
-    1:1:boolean isProtoShrinkingEnabled():1557:1557 -> c
-com.android.tools.r8.utils.InternalOptions$TestingOptions -> com.android.tools.r8.internal.gu$l:
+    1:7:void <init>():1537:1543 -> <init>
+    1:1:boolean enableRemoveProtoEnumSwitchMap():1557:1557 -> a
+    1:1:boolean isEnumLiteProtoShrinkingEnabled():1568:1568 -> b
+    1:1:boolean isProtoShrinkingEnabled():1561:1561 -> c
+com.android.tools.r8.utils.InternalOptions$TestingOptions -> com.android.tools.r8.internal.iu$l:
     boolean allowCheckDiscardedErrors -> m
     boolean testEnableTestAssertions -> d0
     boolean enableRecordModeling -> f0
@@ -118050,24 +118198,24 @@
     boolean invertConditionals -> B
     boolean allowNonAbstractClassesWithAbstractMethods -> i0
     boolean readInputStackMaps -> k0
-    1:177:void <init>():1568:1744 -> <init>
+    1:177:void <init>():1572:1748 -> <init>
     com.android.tools.r8.graph.DexProgramClass lambda$new$0(com.android.tools.r8.graph.AppView,java.lang.Iterable,com.android.tools.r8.graph.DexProgramClass) -> a
     void lambda$new$1(java.util.Deque) -> a
-    1:1:void allowExperimentClassFileVersion(com.android.tools.r8.utils.InternalOptions):1571:1571 -> a
-com.android.tools.r8.utils.InternalOptions$TestingOptions$MinifierTestingOptions -> com.android.tools.r8.internal.gu$l$a:
+    1:1:void allowExperimentClassFileVersion(com.android.tools.r8.utils.InternalOptions):1575:1575 -> a
+com.android.tools.r8.utils.InternalOptions$TestingOptions$MinifierTestingOptions -> com.android.tools.r8.internal.iu$l$a:
     java.util.Comparator interfaceMethodOrdering -> a
-    1:3:void <init>():1715:1717 -> <init>
-    1:2:java.util.Comparator getInterfaceMethodOrderingOrDefault(java.util.Comparator):1721:1722 -> a
-    3:3:int lambda$getInterfaceMethodOrderingOrDefault$0(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):1723:1723 -> a
-com.android.tools.r8.utils.InternalOptions$TestingOptions$ProguardIfRuleEvaluationData -> com.android.tools.r8.internal.gu$l$b:
+    1:3:void <init>():1719:1721 -> <init>
+    1:2:java.util.Comparator getInterfaceMethodOrderingOrDefault(java.util.Comparator):1725:1726 -> a
+    3:3:int lambda$getInterfaceMethodOrderingOrDefault$0(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):1727:1727 -> a
+com.android.tools.r8.utils.InternalOptions$TestingOptions$ProguardIfRuleEvaluationData -> com.android.tools.r8.internal.iu$l$b:
     int numberOfProguardIfRuleMemberEvaluations -> b
     int numberOfProguardIfRuleClassEvaluations -> a
-    1:4:void <init>():1733:1736 -> <init>
-com.android.tools.r8.utils.InternalOptions$TypeVersionPair -> com.android.tools.r8.internal.ju:
+    1:4:void <init>():1737:1740 -> <init>
+com.android.tools.r8.utils.InternalOptions$TypeVersionPair -> com.android.tools.r8.internal.lu:
     com.android.tools.r8.cf.CfVersion version -> a
     com.android.tools.r8.graph.DexType type -> b
     1:3:void <init>(com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.DexType):843:845 -> <init>
-com.android.tools.r8.utils.InternalOutputMode -> com.android.tools.r8.internal.ku:
+com.android.tools.r8.utils.InternalOutputMode -> com.android.tools.r8.internal.mu:
     com.android.tools.r8.utils.InternalOutputMode ClassFile -> d
     com.android.tools.r8.utils.InternalOutputMode DexIndexed -> b
     com.android.tools.r8.utils.InternalOutputMode DexFilePerClassFile -> c
@@ -118075,7 +118223,7 @@
     1:1:void <init>(java.lang.String,int):7:7 -> <init>
     1:1:boolean isGeneratingClassFiles():13:13 -> a
     1:1:boolean isGeneratingDex():17:17 -> b
-com.android.tools.r8.utils.IterableUtils -> com.android.tools.r8.internal.Uu:
+com.android.tools.r8.utils.IterableUtils -> com.android.tools.r8.internal.Wu:
     1:7:boolean allIdentical(java.lang.Iterable,java.util.function.Function):27:33 -> a
     8:9:boolean any(java.lang.Iterable,java.util.function.Function,java.util.function.Predicate):43:44 -> a
     10:10:java.lang.Iterable filter(java.lang.Iterable,java.util.function.Predicate):92:92 -> a
@@ -118094,7 +118242,7 @@
     1:1:java.util.Iterator lambda$filter$0(java.lang.Iterable,java.util.function.Predicate):92:92 -> d
     2:2:java.util.Iterator com.android.tools.r8.utils.IteratorUtils.filter(java.util.Iterator,java.util.function.Predicate):49:49 -> d
     2:2:java.util.Iterator lambda$filter$0(java.lang.Iterable,java.util.function.Predicate):92 -> d
-com.android.tools.r8.utils.IteratorUtils -> com.android.tools.r8.internal.dv:
+com.android.tools.r8.utils.IteratorUtils -> com.android.tools.r8.internal.fv:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():18:18 -> <clinit>
     1:2:java.util.Iterator createCircularIterator(java.lang.Iterable):21:22 -> a
@@ -118107,12 +118255,12 @@
     2:4:java.lang.Object peekPrevious(java.util.ListIterator):92:94 -> b
     5:7:java.lang.Object previousUntilUnsafe(java.util.ListIterator,java.util.function.Predicate):119:121 -> b
     1:3:java.lang.Object nextUntil(java.util.Iterator,java.util.function.Predicate):82:84 -> c
-com.android.tools.r8.utils.IteratorUtils$1 -> com.android.tools.r8.internal.bv:
+com.android.tools.r8.utils.IteratorUtils$1 -> com.android.tools.r8.internal.dv:
     java.util.Iterator iterator -> b
     java.lang.Iterable val$iterable -> c
     1:3:void <init>(java.lang.Iterable):22:24 -> <init>
     1:4:java.lang.Object next():33:36 -> next
-com.android.tools.r8.utils.IteratorUtils$2 -> com.android.tools.r8.internal.cv:
+com.android.tools.r8.utils.IteratorUtils$2 -> com.android.tools.r8.internal.ev:
     java.util.Iterator val$iterator -> c
     java.lang.Object next -> b
     java.util.function.Predicate val$predicate -> d
@@ -118121,7 +118269,7 @@
     1:3:java.lang.Object advance():55:57 -> l
     1:5:java.lang.Object next():71:75 -> next
     6:6:java.lang.Object next():73:73 -> next
-com.android.tools.r8.utils.JoiningStringConsumer -> com.android.tools.r8.internal.Dv:
+com.android.tools.r8.utils.JoiningStringConsumer -> com.android.tools.r8.internal.Fv:
     com.android.tools.r8.StringConsumer consumer -> c
     java.lang.String separator -> b
     java.lang.StringBuilder builder -> d
@@ -118130,7 +118278,7 @@
     1:1:com.android.tools.r8.StringConsumer getConsumer():42:42 -> a
     1:4:void accept(java.lang.String,com.android.tools.r8.DiagnosticsHandler):29:32 -> accept
     1:2:void finished(com.android.tools.r8.DiagnosticsHandler):37:38 -> finished
-com.android.tools.r8.utils.LRUCacheTable -> com.android.tools.r8.internal.GA:
+com.android.tools.r8.utils.LRUCacheTable -> com.android.tools.r8.internal.IA:
     int rowCapacity -> b
     int columnCapacity -> c
     1:3:void <init>(int,int,float):31:33 -> <init>
@@ -118138,15 +118286,15 @@
     2:3:java.lang.Object put(java.lang.Object,java.lang.Object,java.lang.Object):46:47 -> a
     1:1:com.android.tools.r8.utils.LRUCacheTable create(int,int):37:37 -> e
     1:1:boolean removeEldestEntry(java.util.Map$Entry):42:42 -> removeEldestEntry
-com.android.tools.r8.utils.LRUCacheTable$LRUCacheRow -> com.android.tools.r8.internal.FA:
+com.android.tools.r8.utils.LRUCacheTable$LRUCacheRow -> com.android.tools.r8.internal.HA:
     int columnCapacity -> b
     1:2:void <init>(int,float):17:18 -> <init>
     1:1:boolean removeEldestEntry(java.util.Map$Entry):23:23 -> removeEldestEntry
-com.android.tools.r8.utils.LazyBox -> com.android.tools.r8.internal.fB:
+com.android.tools.r8.utils.LazyBox -> com.android.tools.r8.internal.hB:
     java.util.function.Supplier supplier -> b
     1:2:void <init>(java.util.function.Supplier):13:14 -> <init>
     1:1:java.lang.Object computeIfAbsent():18:18 -> d
-com.android.tools.r8.utils.LebUtils -> com.android.tools.r8.internal.kB:
+com.android.tools.r8.utils.LebUtils -> com.android.tools.r8.internal.mB:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():10:10 -> <clinit>
     1:6:int parseSleb128(com.android.tools.r8.dex.BinaryReader):65:70 -> a
@@ -118157,12 +118305,12 @@
     17:21:void putUleb128(com.android.tools.r8.dex.DexOutputBuffer,int):48:52 -> b
     1:1:int sizeAsSleb128(int):110:110 -> c
     1:1:int sizeAsUleb128(int):57:57 -> d
-com.android.tools.r8.utils.LensUtils -> com.android.tools.r8.internal.vB:
+com.android.tools.r8.utils.LensUtils -> com.android.tools.r8.internal.xB:
     1:4:void rewriteAndApplyIfNotPrimitiveType(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexReference,java.util.function.Consumer):28:31 -> a
     5:5:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
     5:5:void rewriteAndApplyIfNotPrimitiveType(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexReference,java.util.function.Consumer):31 -> a
     6:9:void rewriteAndApplyIfNotPrimitiveType(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexReference,java.util.function.Consumer):31:34 -> a
-com.android.tools.r8.utils.LibraryClassCollection -> com.android.tools.r8.internal.wB:
+com.android.tools.r8.utils.LibraryClassCollection -> com.android.tools.r8.internal.yB:
     1:1:void <init>(com.android.tools.r8.utils.ClassProvider):15:15 -> <init>
     1:1:java.util.function.Supplier getTransparentSupplier(com.android.tools.r8.graph.DexClass):13:13 -> a
     2:2:com.android.tools.r8.graph.DexClass resolveClassConflict(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):13:13 -> a
@@ -118177,185 +118325,192 @@
     42:42:java.lang.String toString():39:39 -> toString
     43:43:java.lang.String toString():39:39 -> toString
     40:40:java.lang.String toString():39:39 -> toString
-com.android.tools.r8.utils.LineNumberOptimizer -> com.android.tools.r8.internal.YB:
+com.android.tools.r8.utils.LineNumberOptimizer -> com.android.tools.r8.internal.dC:
     boolean $assertionsDisabled -> a
-    1:1:void <clinit>():86:86 -> <clinit>
+    1:1:void <clinit>():90:90 -> <clinit>
     1:1:com.android.tools.r8.errors.Unreachable com.android.tools.r8.errors.Unreachable.raise(java.lang.Object[]):16:16 -> a
-    1:1:void lambda$getMappedRangesForPosition$11(java.lang.Object):674 -> a
-    2:2:com.android.tools.r8.ir.code.Position access$1200(com.android.tools.r8.graph.DexDebugPositionState):86:86 -> a
-    3:3:void access$1600(int,int,com.android.tools.r8.ir.code.Position,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):86:86 -> a
-    4:14:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId runAndWriteMap(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.Timing,com.android.tools.r8.utils.OriginalSourceFiles):334:344 -> a
-    15:22:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):356:363 -> a
-    23:23:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):265:265 -> a
-    23:23:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):363 -> a
-    24:24:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexType):261:261 -> a
-    24:24:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):265 -> a
-    24:24:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):363 -> a
-    25:55:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):366:396 -> a
-    56:56:com.android.tools.r8.naming.mappinginformation.CompilerSynthesizedMappingInformation$Builder com.android.tools.r8.naming.mappinginformation.CompilerSynthesizedMappingInformation.builder():31:31 -> a
-    56:56:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):396 -> a
-    57:57:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):396:396 -> a
-    58:58:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):395:395 -> a
-    59:61:void com.android.tools.r8.utils.LineNumberOptimizer.addClassToClassNaming(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,java.util.function.Supplier):762:764 -> a
-    59:61:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):400 -> a
-    62:62:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):404:404 -> a
-    63:81:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):403:421 -> a
-    82:82:boolean com.android.tools.r8.utils.LineNumberOptimizer.verifyMethodsAreKeptDirectlyOrIndirectly(com.android.tools.r8.graph.AppView,java.util.List):683:683 -> a
-    82:82:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):421 -> a
-    83:83:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():476:476 -> a
-    83:83:boolean com.android.tools.r8.utils.LineNumberOptimizer.verifyMethodsAreKeptDirectlyOrIndirectly(com.android.tools.r8.graph.AppView,java.util.List):683 -> a
-    83:83:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):421 -> a
-    84:99:boolean com.android.tools.r8.utils.LineNumberOptimizer.verifyMethodsAreKeptDirectlyOrIndirectly(com.android.tools.r8.graph.AppView,java.util.List):683:698 -> a
-    84:99:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):421 -> a
-    100:100:boolean com.android.tools.r8.utils.InternalOptions.isMinificationEnabled():612:612 -> a
-    100:100:boolean com.android.tools.r8.shaking.KeepInfoCollection.isMinificationAllowed(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):186 -> a
-    100:100:boolean com.android.tools.r8.utils.LineNumberOptimizer.verifyMethodsAreKeptDirectlyOrIndirectly(com.android.tools.r8.graph.AppView,java.util.List):698 -> a
-    100:100:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):421 -> a
-    101:101:boolean com.android.tools.r8.shaking.KeepInfoCollection.isMinificationAllowed(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):187:187 -> a
-    101:101:boolean com.android.tools.r8.utils.LineNumberOptimizer.verifyMethodsAreKeptDirectlyOrIndirectly(com.android.tools.r8.graph.AppView,java.util.List):698 -> a
-    101:101:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):421 -> a
-    102:118:boolean com.android.tools.r8.utils.LineNumberOptimizer.verifyMethodsAreKeptDirectlyOrIndirectly(com.android.tools.r8.graph.AppView,java.util.List):702:718 -> a
-    102:118:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):421 -> a
-    119:139:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):425:445 -> a
-    140:145:boolean com.android.tools.r8.utils.LineNumberOptimizer.doesContainPositions(com.android.tools.r8.graph.DexCode):822:827 -> a
-    140:145:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):445 -> a
-    146:156:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositionsForPc(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper):989:999 -> a
-    146:156:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):447 -> a
-    157:157:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
-    157:157:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositionsForPc(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper):999 -> a
-    157:157:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):447 -> a
-    158:186:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositionsForPc(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper):999:1027 -> a
-    158:186:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):447 -> a
-    187:195:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositionsForPc(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper):1024:1032 -> a
-    187:195:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):447 -> a
-    196:196:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):451:451 -> a
-    197:207:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,boolean,boolean):850:860 -> a
-    197:207:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):450 -> a
-    208:208:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
-    208:208:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,boolean,boolean):860 -> a
-    208:208:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):450 -> a
-    209:218:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,boolean,boolean):860:869 -> a
-    209:218:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):450 -> a
-    219:219:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
-    219:219:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,boolean,boolean):869 -> a
-    219:219:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):450 -> a
-    220:297:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,boolean,boolean):869:946 -> a
-    220:297:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):450 -> a
-    298:298:boolean com.android.tools.r8.utils.InternalOptions.allowDiscardingResidualDebugInfo():1865:1865 -> a
-    298:298:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,boolean,boolean):946 -> a
+    1:1:void lambda$getMappedRangesForPosition$11(java.lang.Object):799 -> a
+    2:2:com.android.tools.r8.ir.code.Position access$1300(com.android.tools.r8.graph.DexDebugPositionState):90:90 -> a
+    3:3:void access$1700(int,int,com.android.tools.r8.ir.code.Position,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):90:90 -> a
+    4:14:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId runAndWriteMap(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.Timing,com.android.tools.r8.utils.OriginalSourceFiles):338:348 -> a
+    15:23:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):471:479 -> a
+    24:24:boolean com.android.tools.r8.utils.InternalOptions.allowDiscardingResidualDebugInfo():1869:1869 -> a
+    24:24:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):479 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    298:298:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):450 -> a
-    299:311:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,boolean,boolean):947:959 -> a
-    299:311:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):450 -> a
-    312:315:boolean com.android.tools.r8.utils.LineNumberOptimizer.verifyIdentityMapping(com.android.tools.r8.graph.DexDebugInfo,com.android.tools.r8.graph.DexDebugInfo):1038:1041 -> a
-    312:315:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,boolean,boolean):960 -> a
-    312:315:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):450 -> a
-    316:316:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,boolean,boolean):962:962 -> a
-    316:316:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):450 -> a
-    317:318:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):453:454 -> a
-    319:321:boolean com.android.tools.r8.utils.LineNumberOptimizer.doesContainPositions(com.android.tools.r8.graph.CfCode):835:837 -> a
-    319:321:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):454 -> a
-    322:322:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):455:455 -> a
-    323:335:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeCfCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.graph.AppView):1048:1060 -> a
-    323:335:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):456 -> a
-    336:347:com.android.tools.r8.ir.code.Position com.android.tools.r8.utils.LineNumberOptimizer.remapAndAdd(com.android.tools.r8.ir.code.Position,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):1080:1091 -> a
-    336:347:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeCfCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.graph.AppView):1060 -> a
-    336:347:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):456 -> a
-    348:348:com.android.tools.r8.ir.code.Position com.android.tools.r8.utils.LineNumberOptimizer.remapAndAdd(com.android.tools.r8.ir.code.Position,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):1083:1083 -> a
-    348:348:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeCfCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.graph.AppView):1060 -> a
-    348:348:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):456 -> a
-    349:362:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeCfCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.graph.AppView):1060:1073 -> a
-    349:362:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):456 -> a
-    363:363:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> a
-    363:363:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeCfCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.graph.AppView):1073 -> a
-    363:363:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):456 -> a
-    364:364:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeCfCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.graph.AppView):1066:1066 -> a
-    364:364:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):456 -> a
-    365:372:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):458:465 -> a
-    373:373:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
-    373:373:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):465 -> a
+    25:29:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):479:483 -> a
+    30:30:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):265:265 -> a
+    30:30:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):483 -> a
+    31:31:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexType):261:261 -> a
+    31:31:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):265 -> a
+    31:31:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):483 -> a
+    32:62:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):486:516 -> a
+    63:63:com.android.tools.r8.naming.mappinginformation.CompilerSynthesizedMappingInformation$Builder com.android.tools.r8.naming.mappinginformation.CompilerSynthesizedMappingInformation.builder():31:31 -> a
+    63:63:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):516 -> a
+    64:64:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):516:516 -> a
+    65:65:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):515:515 -> a
+    66:68:void com.android.tools.r8.utils.LineNumberOptimizer.addClassToClassNaming(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,java.util.function.Supplier):887:889 -> a
+    66:68:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):520 -> a
+    69:69:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):524:524 -> a
+    70:88:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):523:541 -> a
+    89:89:boolean com.android.tools.r8.utils.LineNumberOptimizer.verifyMethodsAreKeptDirectlyOrIndirectly(com.android.tools.r8.graph.AppView,java.util.List):808:808 -> a
+    89:89:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):541 -> a
+    90:90:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():476:476 -> a
+    90:90:boolean com.android.tools.r8.utils.LineNumberOptimizer.verifyMethodsAreKeptDirectlyOrIndirectly(com.android.tools.r8.graph.AppView,java.util.List):808 -> a
+    90:90:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):541 -> a
+    91:106:boolean com.android.tools.r8.utils.LineNumberOptimizer.verifyMethodsAreKeptDirectlyOrIndirectly(com.android.tools.r8.graph.AppView,java.util.List):808:823 -> a
+    91:106:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):541 -> a
+    107:107:boolean com.android.tools.r8.utils.InternalOptions.isMinificationEnabled():612:612 -> a
+    107:107:boolean com.android.tools.r8.shaking.KeepInfoCollection.isMinificationAllowed(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):186 -> a
+    107:107:boolean com.android.tools.r8.utils.LineNumberOptimizer.verifyMethodsAreKeptDirectlyOrIndirectly(com.android.tools.r8.graph.AppView,java.util.List):823 -> a
+    107:107:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):541 -> a
+    108:108:boolean com.android.tools.r8.shaking.KeepInfoCollection.isMinificationAllowed(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):187:187 -> a
+    108:108:boolean com.android.tools.r8.utils.LineNumberOptimizer.verifyMethodsAreKeptDirectlyOrIndirectly(com.android.tools.r8.graph.AppView,java.util.List):823 -> a
+    108:108:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):541 -> a
+    109:125:boolean com.android.tools.r8.utils.LineNumberOptimizer.verifyMethodsAreKeptDirectlyOrIndirectly(com.android.tools.r8.graph.AppView,java.util.List):827:843 -> a
+    109:125:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):541 -> a
+    126:144:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):545:563 -> a
+    145:145:boolean com.android.tools.r8.utils.InternalOptions.canUseDexPc2PcAsDebugInformation():1873:1873 -> a
+    145:145:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):563 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    374:382:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):466:474 -> a
-    383:383:com.android.tools.r8.naming.mappinginformation.CompilerSynthesizedMappingInformation$Builder com.android.tools.r8.naming.mappinginformation.CompilerSynthesizedMappingInformation.builder():31:31 -> a
-    383:383:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):474 -> a
-    384:394:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):474:484 -> a
-    395:423:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):482:510 -> a
-    424:431:com.android.tools.r8.graph.DexMethod com.android.tools.r8.utils.LineNumberOptimizer.getOutlineMethod(com.android.tools.r8.utils.LineNumberOptimizer$MappedPosition):632:639 -> a
-    424:431:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):510 -> a
-    432:435:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):512:515 -> a
-    436:436:com.android.tools.r8.naming.mappinginformation.OutlineMappingInformation com.android.tools.r8.naming.mappinginformation.OutlineMappingInformation$Builder.build():56:56 -> a
-    436:436:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):515 -> a
-    437:502:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):515:580 -> a
-    503:541:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):572:610 -> a
-    542:551:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):609:618 -> a
-    552:552:boolean com.android.tools.r8.utils.InternalOptions.allowDiscardingResidualDebugInfo():1865:1865 -> a
-    552:552:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):618 -> a
+    146:148:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):563:565 -> a
+    149:157:boolean com.android.tools.r8.utils.LineNumberOptimizer.doesContainPositions(com.android.tools.r8.graph.DexCode):947:955 -> a
+    149:157:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):565 -> a
+    158:170:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositionsForPc(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.utils.LineNumberOptimizer$PcBasedDebugInfoRecorder):1123:1135 -> a
+    158:170:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):568 -> a
+    171:171:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
+    171:171:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositionsForPc(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.utils.LineNumberOptimizer$PcBasedDebugInfoRecorder):1135 -> a
+    171:171:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):568 -> a
+    172:205:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositionsForPc(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.utils.LineNumberOptimizer$PcBasedDebugInfoRecorder):1135:1168 -> a
+    172:205:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):568 -> a
+    206:221:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositionsForPc(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.utils.LineNumberOptimizer$PcBasedDebugInfoRecorder):1165:1180 -> a
+    206:221:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):568 -> a
+    222:225:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositionsForPc(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.utils.LineNumberOptimizer$PcBasedDebugInfoRecorder):1179:1182 -> a
+    222:225:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):568 -> a
+    226:226:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):573:573 -> a
+    227:240:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,boolean,boolean):978:991 -> a
+    227:240:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):572 -> a
+    241:241:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
+    241:241:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,boolean,boolean):991 -> a
+    241:241:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):572 -> a
+    242:251:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,boolean,boolean):991:1000 -> a
+    242:251:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):572 -> a
+    252:252:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
+    252:252:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,boolean,boolean):1000 -> a
+    252:252:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):572 -> a
+    253:330:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,boolean,boolean):1000:1077 -> a
+    253:330:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):572 -> a
+    331:331:boolean com.android.tools.r8.utils.InternalOptions.allowDiscardingResidualDebugInfo():1869:1869 -> a
+    331:331:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,boolean,boolean):1077 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    553:563:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):618:628 -> a
-    564:565:com.android.tools.r8.naming.ClassNaming$Builder lambda$run$0(com.android.tools.r8.naming.ClassNameMapper$Builder,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):377:378 -> a
-    566:566:com.android.tools.r8.naming.ClassNaming$Builder lambda$run$0(com.android.tools.r8.naming.ClassNameMapper$Builder,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):376:376 -> a
-    567:567:void lambda$run$4(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange,com.android.tools.r8.naming.mappinginformation.MappingInformation):498:498 -> a
-    568:568:com.android.tools.r8.naming.MemberNaming$MethodSignature lambda$run$6(java.util.Map,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):506:506 -> a
-    569:569:com.android.tools.r8.naming.MemberNaming$MethodSignature lambda$run$5(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):507:507 -> a
-    570:584:void lambda$run$9(boolean,int,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap,com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,java.lang.String,java.lang.Integer,com.android.tools.r8.ir.code.Position):592:606 -> a
-    585:585:void lambda$run$9(boolean,int,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap,com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,java.lang.String,java.lang.Integer,com.android.tools.r8.ir.code.Position):598:598 -> a
-    586:586:com.android.tools.r8.utils.LineNumberOptimizer$OutlineFixupBuilder lambda$run$10(com.android.tools.r8.graph.DexMethod):610:610 -> a
-    587:587:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange getMappedRangesForPosition(com.android.tools.r8.graph.DexItemFactory,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.naming.Range,com.android.tools.r8.naming.Range,com.android.tools.r8.ir.code.Position):654:654 -> a
-    588:600:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange getMappedRangesForPosition(com.android.tools.r8.graph.DexItemFactory,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.naming.Range,com.android.tools.r8.naming.Range,com.android.tools.r8.ir.code.Position):652:664 -> a
-    601:608:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange getMappedRangesForPosition(com.android.tools.r8.graph.DexItemFactory,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.naming.Range,com.android.tools.r8.naming.Range,com.android.tools.r8.ir.code.Position):661:668 -> a
-    609:609:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Builder com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation.builder():109:109 -> a
-    609:609:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange getMappedRangesForPosition(com.android.tools.r8.graph.DexItemFactory,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.naming.Range,com.android.tools.r8.naming.Range,com.android.tools.r8.ir.code.Position):668 -> a
-    610:613:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange getMappedRangesForPosition(com.android.tools.r8.graph.DexItemFactory,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.naming.Range,com.android.tools.r8.naming.Range,com.android.tools.r8.ir.code.Position):668:671 -> a
-    614:614:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange getMappedRangesForPosition(com.android.tools.r8.graph.DexItemFactory,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.naming.Range,com.android.tools.r8.naming.Range,com.android.tools.r8.ir.code.Position):670:670 -> a
-    615:615:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange getMappedRangesForPosition(com.android.tools.r8.graph.DexItemFactory,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.naming.Range,com.android.tools.r8.naming.Range,com.android.tools.r8.ir.code.Position):669:669 -> a
-    616:616:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction.create(int):269:269 -> a
-    616:616:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange getMappedRangesForPosition(com.android.tools.r8.graph.DexItemFactory,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.naming.Range,com.android.tools.r8.naming.Range,com.android.tools.r8.ir.code.Position):672 -> a
-    617:618:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange getMappedRangesForPosition(com.android.tools.r8.graph.DexItemFactory,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.naming.Range,com.android.tools.r8.naming.Range,com.android.tools.r8.ir.code.Position):672:673 -> a
-    619:628:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange getMappedRangesForPosition(com.android.tools.r8.graph.DexItemFactory,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.naming.Range,com.android.tools.r8.naming.Range,com.android.tools.r8.ir.code.Position):667:676 -> a
-    629:629:void sortMethods(java.util.List):746:746 -> a
-    630:631:int lambda$sortMethods$12(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):748:749 -> a
-    632:632:int com.android.tools.r8.graph.DexEncodedMethod.slowCompare(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):1252:1252 -> a
-    632:632:int lambda$sortMethods$12(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):752 -> a
-    633:633:void addFieldsToClassNaming(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.function.Supplier):774:774 -> a
-    634:638:void lambda$addFieldsToClassNaming$13(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexType,java.util.function.Supplier,com.android.tools.r8.graph.DexEncodedField):776:780 -> a
-    639:639:com.android.tools.r8.naming.MemberNaming$FieldSignature com.android.tools.r8.naming.MemberNaming$FieldSignature.fromDexField(com.android.tools.r8.graph.DexField,boolean):185:185 -> a
-    639:639:void lambda$addFieldsToClassNaming$13(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexType,java.util.function.Supplier,com.android.tools.r8.graph.DexEncodedField):781 -> a
-    640:640:java.lang.String com.android.tools.r8.graph.DexField.qualifiedName():190:190 -> a
-    640:640:com.android.tools.r8.naming.MemberNaming$FieldSignature com.android.tools.r8.naming.MemberNaming$FieldSignature.fromDexField(com.android.tools.r8.graph.DexField,boolean):186 -> a
-    640:640:void lambda$addFieldsToClassNaming$13(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexType,java.util.function.Supplier,com.android.tools.r8.graph.DexEncodedField):781 -> a
-    641:642:com.android.tools.r8.naming.MemberNaming$FieldSignature com.android.tools.r8.naming.MemberNaming$FieldSignature.fromDexField(com.android.tools.r8.graph.DexField,boolean):186:187 -> a
-    641:642:void lambda$addFieldsToClassNaming$13(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexType,java.util.function.Supplier,com.android.tools.r8.graph.DexEncodedField):781 -> a
-    643:644:void lambda$addFieldsToClassNaming$13(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexType,java.util.function.Supplier,com.android.tools.r8.graph.DexEncodedField):782:783 -> a
-    645:651:java.util.IdentityHashMap groupMethodsByRenamedName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexProgramClass):790:796 -> a
-    652:652:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
-    652:652:java.util.IdentityHashMap groupMethodsByRenamedName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexProgramClass):797 -> a
+    331:331:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):572 -> a
+    332:344:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,boolean,boolean):1078:1090 -> a
+    332:344:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):572 -> a
+    345:348:boolean com.android.tools.r8.utils.LineNumberOptimizer.verifyIdentityMapping(com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo,com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo):1189:1192 -> a
+    345:348:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,boolean,boolean):1091 -> a
+    345:348:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):572 -> a
+    349:349:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,boolean,boolean):1093:1093 -> a
+    349:349:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):572 -> a
+    350:351:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):575:576 -> a
+    352:354:boolean com.android.tools.r8.utils.LineNumberOptimizer.doesContainPositions(com.android.tools.r8.graph.CfCode):963:965 -> a
+    352:354:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):576 -> a
+    355:355:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):577:577 -> a
+    356:368:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeCfCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.graph.AppView):1199:1211 -> a
+    356:368:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):578 -> a
+    369:380:com.android.tools.r8.ir.code.Position com.android.tools.r8.utils.LineNumberOptimizer.remapAndAdd(com.android.tools.r8.ir.code.Position,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):1231:1242 -> a
+    369:380:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeCfCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.graph.AppView):1211 -> a
+    369:380:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):578 -> a
+    381:381:com.android.tools.r8.ir.code.Position com.android.tools.r8.utils.LineNumberOptimizer.remapAndAdd(com.android.tools.r8.ir.code.Position,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):1234:1234 -> a
+    381:381:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeCfCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.graph.AppView):1211 -> a
+    381:381:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):578 -> a
+    382:395:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeCfCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.graph.AppView):1211:1224 -> a
+    382:395:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):578 -> a
+    396:396:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> a
+    396:396:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeCfCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.graph.AppView):1224 -> a
+    396:396:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):578 -> a
+    397:397:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeCfCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.graph.AppView):1217:1217 -> a
+    397:397:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):578 -> a
+    398:405:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):580:587 -> a
+    406:406:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
+    406:406:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):587 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    653:657:java.util.IdentityHashMap groupMethodsByRenamedName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexProgramClass):798:802 -> a
-    658:658:java.util.List lambda$groupMethodsByRenamedName$14(com.android.tools.r8.graph.DexString):801:801 -> a
-    659:664:boolean doesContainPositions(com.android.tools.r8.graph.DexEncodedMethod):809:814 -> a
-    665:670:boolean com.android.tools.r8.utils.LineNumberOptimizer.doesContainPositions(com.android.tools.r8.graph.DexCode):822:827 -> a
-    665:670:boolean doesContainPositions(com.android.tools.r8.graph.DexEncodedMethod):814 -> a
-    671:672:boolean doesContainPositions(com.android.tools.r8.graph.DexEncodedMethod):815:816 -> a
-    673:675:boolean com.android.tools.r8.utils.LineNumberOptimizer.doesContainPositions(com.android.tools.r8.graph.CfCode):835:837 -> a
-    673:675:boolean doesContainPositions(com.android.tools.r8.graph.DexEncodedMethod):816 -> a
-    676:687:com.android.tools.r8.ir.code.Position com.android.tools.r8.utils.LineNumberOptimizer.remapAndAdd(com.android.tools.r8.ir.code.Position,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):1080:1091 -> a
-    676:687:com.android.tools.r8.ir.code.Position access$1300(com.android.tools.r8.ir.code.Position,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):86 -> a
-    688:688:com.android.tools.r8.ir.code.Position com.android.tools.r8.utils.LineNumberOptimizer.remapAndAdd(com.android.tools.r8.ir.code.Position,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):1083:1083 -> a
-    688:688:com.android.tools.r8.ir.code.Position access$1300(com.android.tools.r8.ir.code.Position,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):86 -> a
+    407:415:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):588:596 -> a
+    416:416:com.android.tools.r8.naming.mappinginformation.CompilerSynthesizedMappingInformation$Builder com.android.tools.r8.naming.mappinginformation.CompilerSynthesizedMappingInformation.builder():31:31 -> a
+    416:416:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):596 -> a
+    417:427:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):596:606 -> a
+    428:456:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):604:632 -> a
+    457:464:com.android.tools.r8.graph.DexMethod com.android.tools.r8.utils.LineNumberOptimizer.getOutlineMethod(com.android.tools.r8.utils.LineNumberOptimizer$MappedPosition):757:764 -> a
+    457:464:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):632 -> a
+    465:467:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):634:636 -> a
+    468:468:com.android.tools.r8.naming.mappinginformation.OutlineMappingInformation com.android.tools.r8.naming.mappinginformation.OutlineMappingInformation$Builder.build():56:56 -> a
+    468:468:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):637 -> a
+    469:534:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):637:702 -> a
+    535:573:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):694:732 -> a
+    574:584:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):731:741 -> a
+    585:598:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):740:753 -> a
+    599:600:com.android.tools.r8.naming.ClassNaming$Builder lambda$run$0(com.android.tools.r8.naming.ClassNameMapper$Builder,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):497:498 -> a
+    601:601:com.android.tools.r8.naming.ClassNaming$Builder lambda$run$0(com.android.tools.r8.naming.ClassNameMapper$Builder,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):496:496 -> a
+    602:602:void lambda$run$4(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange,com.android.tools.r8.naming.mappinginformation.MappingInformation):620:620 -> a
+    603:603:com.android.tools.r8.naming.MemberNaming$MethodSignature lambda$run$6(java.util.Map,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):628:628 -> a
+    604:604:com.android.tools.r8.naming.MemberNaming$MethodSignature lambda$run$5(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):629:629 -> a
+    605:619:void lambda$run$9(boolean,int,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap,com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,java.lang.String,java.lang.Integer,com.android.tools.r8.ir.code.Position):714:728 -> a
+    620:620:void lambda$run$9(boolean,int,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap,com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,java.lang.String,java.lang.Integer,com.android.tools.r8.ir.code.Position):720:720 -> a
+    621:621:com.android.tools.r8.utils.LineNumberOptimizer$OutlineFixupBuilder lambda$run$10(com.android.tools.r8.graph.DexMethod):732:732 -> a
+    622:622:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange getMappedRangesForPosition(com.android.tools.r8.graph.DexItemFactory,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.naming.Range,com.android.tools.r8.naming.Range,com.android.tools.r8.ir.code.Position):779:779 -> a
+    623:635:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange getMappedRangesForPosition(com.android.tools.r8.graph.DexItemFactory,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.naming.Range,com.android.tools.r8.naming.Range,com.android.tools.r8.ir.code.Position):777:789 -> a
+    636:643:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange getMappedRangesForPosition(com.android.tools.r8.graph.DexItemFactory,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.naming.Range,com.android.tools.r8.naming.Range,com.android.tools.r8.ir.code.Position):786:793 -> a
+    644:644:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Builder com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation.builder():109:109 -> a
+    644:644:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange getMappedRangesForPosition(com.android.tools.r8.graph.DexItemFactory,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.naming.Range,com.android.tools.r8.naming.Range,com.android.tools.r8.ir.code.Position):793 -> a
+    645:648:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange getMappedRangesForPosition(com.android.tools.r8.graph.DexItemFactory,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.naming.Range,com.android.tools.r8.naming.Range,com.android.tools.r8.ir.code.Position):793:796 -> a
+    649:649:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange getMappedRangesForPosition(com.android.tools.r8.graph.DexItemFactory,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.naming.Range,com.android.tools.r8.naming.Range,com.android.tools.r8.ir.code.Position):795:795 -> a
+    650:650:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange getMappedRangesForPosition(com.android.tools.r8.graph.DexItemFactory,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.naming.Range,com.android.tools.r8.naming.Range,com.android.tools.r8.ir.code.Position):794:794 -> a
+    651:651:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction.create(int):269:269 -> a
+    651:651:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange getMappedRangesForPosition(com.android.tools.r8.graph.DexItemFactory,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.naming.Range,com.android.tools.r8.naming.Range,com.android.tools.r8.ir.code.Position):797 -> a
+    652:653:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange getMappedRangesForPosition(com.android.tools.r8.graph.DexItemFactory,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.naming.Range,com.android.tools.r8.naming.Range,com.android.tools.r8.ir.code.Position):797:798 -> a
+    654:663:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange getMappedRangesForPosition(com.android.tools.r8.graph.DexItemFactory,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.naming.Range,com.android.tools.r8.naming.Range,com.android.tools.r8.ir.code.Position):792:801 -> a
+    664:664:void sortMethods(java.util.List):871:871 -> a
+    665:666:int lambda$sortMethods$12(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):873:874 -> a
+    667:667:int com.android.tools.r8.graph.DexEncodedMethod.slowCompare(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):1252:1252 -> a
+    667:667:int lambda$sortMethods$12(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):877 -> a
+    668:668:void addFieldsToClassNaming(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.function.Supplier):899:899 -> a
+    669:673:void lambda$addFieldsToClassNaming$13(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexType,java.util.function.Supplier,com.android.tools.r8.graph.DexEncodedField):901:905 -> a
+    674:674:com.android.tools.r8.naming.MemberNaming$FieldSignature com.android.tools.r8.naming.MemberNaming$FieldSignature.fromDexField(com.android.tools.r8.graph.DexField,boolean):185:185 -> a
+    674:674:void lambda$addFieldsToClassNaming$13(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexType,java.util.function.Supplier,com.android.tools.r8.graph.DexEncodedField):906 -> a
+    675:675:java.lang.String com.android.tools.r8.graph.DexField.qualifiedName():190:190 -> a
+    675:675:com.android.tools.r8.naming.MemberNaming$FieldSignature com.android.tools.r8.naming.MemberNaming$FieldSignature.fromDexField(com.android.tools.r8.graph.DexField,boolean):186 -> a
+    675:675:void lambda$addFieldsToClassNaming$13(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexType,java.util.function.Supplier,com.android.tools.r8.graph.DexEncodedField):906 -> a
+    676:677:com.android.tools.r8.naming.MemberNaming$FieldSignature com.android.tools.r8.naming.MemberNaming$FieldSignature.fromDexField(com.android.tools.r8.graph.DexField,boolean):186:187 -> a
+    676:677:void lambda$addFieldsToClassNaming$13(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexType,java.util.function.Supplier,com.android.tools.r8.graph.DexEncodedField):906 -> a
+    678:679:void lambda$addFieldsToClassNaming$13(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexType,java.util.function.Supplier,com.android.tools.r8.graph.DexEncodedField):907:908 -> a
+    680:686:java.util.IdentityHashMap groupMethodsByRenamedName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexProgramClass):915:921 -> a
+    687:687:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
+    687:687:java.util.IdentityHashMap groupMethodsByRenamedName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexProgramClass):922 -> a
+      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
+    688:692:java.util.IdentityHashMap groupMethodsByRenamedName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexProgramClass):923:927 -> a
+    693:693:java.util.List lambda$groupMethodsByRenamedName$14(com.android.tools.r8.graph.DexString):926:926 -> a
+    694:699:boolean doesContainPositions(com.android.tools.r8.graph.DexEncodedMethod):934:939 -> a
+    700:708:boolean com.android.tools.r8.utils.LineNumberOptimizer.doesContainPositions(com.android.tools.r8.graph.DexCode):947:955 -> a
+    700:708:boolean doesContainPositions(com.android.tools.r8.graph.DexEncodedMethod):939 -> a
+    709:710:boolean doesContainPositions(com.android.tools.r8.graph.DexEncodedMethod):940:941 -> a
+    711:713:boolean com.android.tools.r8.utils.LineNumberOptimizer.doesContainPositions(com.android.tools.r8.graph.CfCode):963:965 -> a
+    711:713:boolean doesContainPositions(com.android.tools.r8.graph.DexEncodedMethod):941 -> a
+    714:725:com.android.tools.r8.ir.code.Position com.android.tools.r8.utils.LineNumberOptimizer.remapAndAdd(com.android.tools.r8.ir.code.Position,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):1231:1242 -> a
+    714:725:com.android.tools.r8.ir.code.Position access$1400(com.android.tools.r8.ir.code.Position,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):90 -> a
+    726:726:com.android.tools.r8.ir.code.Position com.android.tools.r8.utils.LineNumberOptimizer.remapAndAdd(com.android.tools.r8.ir.code.Position,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):1234:1234 -> a
+    726:726:com.android.tools.r8.ir.code.Position access$1400(com.android.tools.r8.ir.code.Position,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):90 -> a
     1:1:com.android.tools.r8.errors.Unreachable com.android.tools.r8.errors.Unreachable.raise(java.lang.Object[]):16:16 -> b
-    1:1:void lambda$run$1(java.lang.Object):388 -> b
-    2:2:com.android.tools.r8.utils.LineNumberOptimizer$OutlineFixupBuilder lambda$run$7(com.android.tools.r8.graph.DexMethod):513:513 -> b
-    3:16:int getMethodStartLine(com.android.tools.r8.graph.DexEncodedMethod):724:737 -> b
-    17:33:com.android.tools.r8.ir.code.Position getPositionFromPositionState(com.android.tools.r8.graph.DexDebugPositionState):968:984 -> b
-    34:48:void remapAndAddForPc(int,int,com.android.tools.r8.ir.code.Position,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):1101:1115 -> b
-    49:49:void remapAndAddForPc(int,int,com.android.tools.r8.ir.code.Position,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):1105:1105 -> b
+    1:1:void lambda$run$1(java.lang.Object):508 -> b
+    2:2:com.android.tools.r8.utils.LineNumberOptimizer$OutlineFixupBuilder lambda$run$7(com.android.tools.r8.graph.DexMethod):635:635 -> b
+    3:16:int getMethodStartLine(com.android.tools.r8.graph.DexEncodedMethod):849:862 -> b
+    17:33:com.android.tools.r8.ir.code.Position getPositionFromPositionState(com.android.tools.r8.graph.DexDebugPositionState):1099:1115 -> b
+    34:48:void remapAndAddForPc(int,int,com.android.tools.r8.ir.code.Position,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):1252:1266 -> b
+    49:49:void remapAndAddForPc(int,int,com.android.tools.r8.ir.code.Position,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):1256:1256 -> b
     1:1:com.android.tools.r8.errors.Unreachable com.android.tools.r8.errors.Unreachable.raise(java.lang.Object[]):16:16 -> c
-    1:1:void lambda$run$2(java.lang.Object):396 -> c
+    1:1:void lambda$run$2(java.lang.Object):516 -> c
     1:1:com.android.tools.r8.errors.Unreachable com.android.tools.r8.errors.Unreachable.raise(java.lang.Object[]):16:16 -> d
-    1:1:void lambda$run$3(java.lang.Object):498 -> d
+    1:1:void lambda$run$3(java.lang.Object):620 -> d
     1:1:com.android.tools.r8.errors.Unreachable com.android.tools.r8.errors.Unreachable.raise(java.lang.Object[]):16:16 -> e
-    1:1:void lambda$run$8(java.lang.Object):582 -> e
-com.android.tools.r8.utils.LineNumberOptimizer$1 -> com.android.tools.r8.internal.PB:
+    1:1:void lambda$run$8(java.lang.Object):704 -> e
+com.android.tools.r8.utils.LineNumberOptimizer$1 -> com.android.tools.r8.internal.RB:
     java.util.List val$processedEvents -> o
     boolean $assertionsDisabled -> p
     int emittedPc -> j
@@ -118363,37 +118518,38 @@
     com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper val$positionRemapper -> l
     com.android.tools.r8.utils.Box val$inlinedOriginalPosition -> n
     java.util.List val$mappedPositions -> m
-    1:1:void <clinit>():869:869 -> <clinit>
-    1:4:void <init>(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List,com.android.tools.r8.utils.Box,java.util.List):869:872 -> <init>
-    1:3:void com.android.tools.r8.utils.LineNumberOptimizer$1.flushPc():876:878 -> a
-    1:3:void visit(com.android.tools.r8.graph.DexDebugEvent$EndLocal):926 -> a
-    4:4:void visit(com.android.tools.r8.graph.DexDebugEvent$EndLocal):927:927 -> a
-    5:7:void com.android.tools.r8.utils.LineNumberOptimizer$1.flushPc():876:878 -> a
-    5:7:void visit(com.android.tools.r8.graph.DexDebugEvent$RestartLocal):932 -> a
-    8:8:void visit(com.android.tools.r8.graph.DexDebugEvent$RestartLocal):933:933 -> a
-    9:11:void com.android.tools.r8.utils.LineNumberOptimizer$1.flushPc():876:878 -> a
-    9:11:void visit(com.android.tools.r8.graph.DexDebugEvent$StartLocal):920 -> a
-    12:12:void visit(com.android.tools.r8.graph.DexDebugEvent$StartLocal):921:921 -> a
-    13:22:void visit(com.android.tools.r8.graph.DexDebugEvent$Default):885:894 -> a
-    23:23:void visit(com.android.tools.r8.graph.DexDebugEvent$SetFile):903:903 -> a
-    24:24:void visit(com.android.tools.r8.graph.DexDebugEvent$SetPrologueEnd):908:908 -> a
-    25:25:void visit(com.android.tools.r8.graph.DexDebugEvent$SetEpilogueBegin):913:913 -> a
-com.android.tools.r8.utils.LineNumberOptimizer$2 -> com.android.tools.r8.internal.QB:
-    boolean $assertionsDisabled -> m
-    com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper val$positionRemapper -> k
+    1:1:void <clinit>():1000:1000 -> <clinit>
+    1:4:void <init>(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List,com.android.tools.r8.utils.Box,java.util.List):1000:1003 -> <init>
+    1:3:void com.android.tools.r8.utils.LineNumberOptimizer$1.flushPc():1007:1009 -> a
+    1:3:void visit(com.android.tools.r8.graph.DexDebugEvent$EndLocal):1057 -> a
+    4:4:void visit(com.android.tools.r8.graph.DexDebugEvent$EndLocal):1058:1058 -> a
+    5:7:void com.android.tools.r8.utils.LineNumberOptimizer$1.flushPc():1007:1009 -> a
+    5:7:void visit(com.android.tools.r8.graph.DexDebugEvent$RestartLocal):1063 -> a
+    8:8:void visit(com.android.tools.r8.graph.DexDebugEvent$RestartLocal):1064:1064 -> a
+    9:11:void com.android.tools.r8.utils.LineNumberOptimizer$1.flushPc():1007:1009 -> a
+    9:11:void visit(com.android.tools.r8.graph.DexDebugEvent$StartLocal):1051 -> a
+    12:12:void visit(com.android.tools.r8.graph.DexDebugEvent$StartLocal):1052:1052 -> a
+    13:22:void visit(com.android.tools.r8.graph.DexDebugEvent$Default):1016:1025 -> a
+    23:23:void visit(com.android.tools.r8.graph.DexDebugEvent$SetFile):1034:1034 -> a
+    24:24:void visit(com.android.tools.r8.graph.DexDebugEvent$SetPrologueEnd):1039:1039 -> a
+    25:25:void visit(com.android.tools.r8.graph.DexDebugEvent$SetEpilogueBegin):1044:1044 -> a
+com.android.tools.r8.utils.LineNumberOptimizer$2 -> com.android.tools.r8.internal.SB:
+    boolean $assertionsDisabled -> n
+    com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper val$positionRemapper -> l
+    com.android.tools.r8.utils.BooleanBox val$singleOriginalLine -> k
+    java.util.List val$mappedPositions -> m
     com.android.tools.r8.utils.Pair val$lastPosition -> j
-    java.util.List val$mappedPositions -> l
-    1:1:void <clinit>():999:999 -> <clinit>
-    1:1:void <init>(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.Pair,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):999:999 -> <init>
-    1:7:void visit(com.android.tools.r8.graph.DexDebugEvent$Default):1002:1008 -> a
-    8:17:void visit(com.android.tools.r8.graph.DexDebugEvent$Default):1005:1014 -> a
-com.android.tools.r8.utils.LineNumberOptimizer$IdentityPositionRemapper -> com.android.tools.r8.internal.RB:
+    1:1:void <clinit>():1135:1135 -> <clinit>
+    1:1:void <init>(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.Pair,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):1135:1135 -> <init>
+    1:12:void visit(com.android.tools.r8.graph.DexDebugEvent$Default):1138:1149 -> a
+    13:22:void visit(com.android.tools.r8.graph.DexDebugEvent$Default):1146:1155 -> a
+com.android.tools.r8.utils.LineNumberOptimizer$IdentityPositionRemapper -> com.android.tools.r8.internal.TB:
     boolean $assertionsDisabled -> a
-    1:1:void <clinit>():96:96 -> <clinit>
-    1:1:void <init>():96:96 -> <init>
-    2:2:void <init>(com.android.tools.r8.utils.LineNumberOptimizer$1):96:96 -> <init>
-    1:2:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):101:102 -> a
-com.android.tools.r8.utils.LineNumberOptimizer$KotlinInlineFunctionPositionRemapper -> com.android.tools.r8.internal.SB:
+    1:1:void <clinit>():100:100 -> <clinit>
+    1:1:void <init>():100:100 -> <init>
+    2:2:void <init>(com.android.tools.r8.utils.LineNumberOptimizer$1):100:100 -> <init>
+    1:2:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):105:106 -> a
+com.android.tools.r8.utils.LineNumberOptimizer$KotlinInlineFunctionPositionRemapper -> com.android.tools.r8.internal.UB:
     com.android.tools.r8.graph.DexItemFactory factory -> b
     com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Result parsedData -> g
     java.util.Map parsedKotlinSourceDebugExtensions -> c
@@ -118402,25 +118558,25 @@
     boolean $assertionsDisabled -> h
     com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper baseRemapper -> e
     com.android.tools.r8.graph.DexEncodedMethod currentMethod -> f
-    1:1:void <clinit>():142:142 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.utils.CfLineToMethodMapper,com.android.tools.r8.utils.LineNumberOptimizer$1):142:142 -> <init>
-    2:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.utils.CfLineToMethodMapper):157:157 -> <init>
-    3:18:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.utils.CfLineToMethodMapper):146:161 -> <init>
-    1:1:com.android.tools.r8.graph.DexEncodedMethod access$202(com.android.tools.r8.utils.LineNumberOptimizer$KotlinInlineFunctionPositionRemapper,com.android.tools.r8.graph.DexEncodedMethod):142:142 -> a
-    2:4:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):166:168 -> a
-    5:17:com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Result com.android.tools.r8.utils.LineNumberOptimizer$KotlinInlineFunctionPositionRemapper.getAndParseSourceDebugExtension(com.android.tools.r8.graph.DexType):229:241 -> a
-    5:17:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):168 -> a
-    18:18:com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Result com.android.tools.r8.utils.LineNumberOptimizer$KotlinInlineFunctionPositionRemapper.getAndParseSourceDebugExtension(com.android.tools.r8.graph.DexType):233:233 -> a
-    18:18:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):168 -> a
-    19:35:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):170:186 -> a
+    1:1:void <clinit>():146:146 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.utils.CfLineToMethodMapper,com.android.tools.r8.utils.LineNumberOptimizer$1):146:146 -> <init>
+    2:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.utils.CfLineToMethodMapper):161:161 -> <init>
+    3:18:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.utils.CfLineToMethodMapper):150:165 -> <init>
+    1:1:com.android.tools.r8.graph.DexEncodedMethod access$302(com.android.tools.r8.utils.LineNumberOptimizer$KotlinInlineFunctionPositionRemapper,com.android.tools.r8.graph.DexEncodedMethod):146:146 -> a
+    2:4:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):170:172 -> a
+    5:17:com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Result com.android.tools.r8.utils.LineNumberOptimizer$KotlinInlineFunctionPositionRemapper.getAndParseSourceDebugExtension(com.android.tools.r8.graph.DexType):233:245 -> a
+    5:17:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):172 -> a
+    18:18:com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Result com.android.tools.r8.utils.LineNumberOptimizer$KotlinInlineFunctionPositionRemapper.getAndParseSourceDebugExtension(com.android.tools.r8.graph.DexType):237:237 -> a
+    18:18:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):172 -> a
+    19:35:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):174:190 -> a
     36:38:java.lang.String com.android.tools.r8.utils.CfLineToMethodMapper.getName(java.lang.String):74:76 -> a
-    36:38:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):187 -> a
+    36:38:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):191 -> a
     39:41:java.lang.String com.android.tools.r8.utils.CfLineToMethodMapper.getDescriptor(java.lang.String):80:82 -> a
-    39:41:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):188 -> a
-    42:52:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):189:199 -> a
-    53:75:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):196:218 -> a
-    76:88:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):213:225 -> a
-com.android.tools.r8.utils.LineNumberOptimizer$MappedPosition -> com.android.tools.r8.internal.TB:
+    39:41:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):192 -> a
+    42:52:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):193:203 -> a
+    53:75:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):200:222 -> a
+    76:88:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):217:229 -> a
+com.android.tools.r8.utils.LineNumberOptimizer$MappedPosition -> com.android.tools.r8.internal.VB:
     boolean isOutline -> e
     com.android.tools.r8.graph.DexMethod outlineCallee -> f
     int obfuscatedLine -> d
@@ -118428,45 +118584,80 @@
     com.android.tools.r8.ir.code.Position caller -> c
     com.android.tools.r8.graph.DexMethod method -> a
     com.android.tools.r8.utils.Int2StructuralItemArrayMap outlinePositions -> g
-    1:1:void <init>(com.android.tools.r8.graph.DexMethod,int,com.android.tools.r8.ir.code.Position,int,boolean,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.Int2StructuralItemArrayMap,com.android.tools.r8.utils.LineNumberOptimizer$1):296:296 -> <init>
-    2:9:void <init>(com.android.tools.r8.graph.DexMethod,int,com.android.tools.r8.ir.code.Position,int,boolean,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.Int2StructuralItemArrayMap):313:320 -> <init>
-    1:1:int access$300(com.android.tools.r8.utils.LineNumberOptimizer$MappedPosition):296:296 -> a
-    2:2:boolean isOutlineCaller():324:324 -> a
-    1:1:int access$400(com.android.tools.r8.utils.LineNumberOptimizer$MappedPosition):296:296 -> b
-    1:1:com.android.tools.r8.graph.DexMethod access$500(com.android.tools.r8.utils.LineNumberOptimizer$MappedPosition):296:296 -> c
-    1:1:com.android.tools.r8.ir.code.Position access$600(com.android.tools.r8.utils.LineNumberOptimizer$MappedPosition):296:296 -> d
-    1:1:com.android.tools.r8.graph.DexMethod access$700(com.android.tools.r8.utils.LineNumberOptimizer$MappedPosition):296:296 -> e
-    1:1:com.android.tools.r8.utils.Int2StructuralItemArrayMap access$800(com.android.tools.r8.utils.LineNumberOptimizer$MappedPosition):296:296 -> f
-    1:1:boolean access$900(com.android.tools.r8.utils.LineNumberOptimizer$MappedPosition):296:296 -> g
-com.android.tools.r8.utils.LineNumberOptimizer$OptimizingPositionRemapper -> com.android.tools.r8.internal.UB:
+    1:1:void <init>(com.android.tools.r8.graph.DexMethod,int,com.android.tools.r8.ir.code.Position,int,boolean,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.Int2StructuralItemArrayMap,com.android.tools.r8.utils.LineNumberOptimizer$1):300:300 -> <init>
+    2:9:void <init>(com.android.tools.r8.graph.DexMethod,int,com.android.tools.r8.ir.code.Position,int,boolean,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.Int2StructuralItemArrayMap):317:324 -> <init>
+    1:1:boolean access$1000(com.android.tools.r8.utils.LineNumberOptimizer$MappedPosition):300:300 -> a
+    2:2:boolean isOutlineCaller():328:328 -> a
+    1:1:int access$400(com.android.tools.r8.utils.LineNumberOptimizer$MappedPosition):300:300 -> b
+    1:1:int access$500(com.android.tools.r8.utils.LineNumberOptimizer$MappedPosition):300:300 -> c
+    1:1:com.android.tools.r8.graph.DexMethod access$600(com.android.tools.r8.utils.LineNumberOptimizer$MappedPosition):300:300 -> d
+    1:1:com.android.tools.r8.ir.code.Position access$700(com.android.tools.r8.utils.LineNumberOptimizer$MappedPosition):300:300 -> e
+    1:1:com.android.tools.r8.graph.DexMethod access$800(com.android.tools.r8.utils.LineNumberOptimizer$MappedPosition):300:300 -> f
+    1:1:com.android.tools.r8.utils.Int2StructuralItemArrayMap access$900(com.android.tools.r8.utils.LineNumberOptimizer$MappedPosition):300:300 -> g
+com.android.tools.r8.utils.LineNumberOptimizer$NativePcSupport -> com.android.tools.r8.internal.WB:
+    1:1:void <init>():438:438 -> <init>
+    2:2:void <init>(com.android.tools.r8.utils.LineNumberOptimizer$1):438:438 -> <init>
+    void updateDebugInfoInCodeObjects() -> a
+    1:1:void recordSingleLineFor(com.android.tools.r8.graph.DexCode,int):449:449 -> a
+    2:2:void com.android.tools.r8.utils.LineNumberOptimizer$NativePcSupport.recordSingleLineFor(com.android.tools.r8.graph.DexCode,int):449:449 -> a
+    2:2:void recordSingleLineFor(com.android.tools.r8.graph.DexCode,int,int):454 -> a
+    1:1:void recordPcMappingFor(com.android.tools.r8.graph.DexCode,int,int):443:443 -> b
+com.android.tools.r8.utils.LineNumberOptimizer$OptimizingPositionRemapper -> com.android.tools.r8.internal.XB:
     boolean $assertionsDisabled -> e
     int nextOptimizedLineNumber -> d
     com.android.tools.r8.graph.DexMethod previousMethod -> b
     int previousSourceLine -> c
     int maxLineDelta -> a
-    1:1:void <clinit>():106:106 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.utils.InternalOptions):112:112 -> <init>
-    2:10:void <init>(com.android.tools.r8.utils.InternalOptions):108:116 -> <init>
-    1:18:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):121:138 -> a
-com.android.tools.r8.utils.LineNumberOptimizer$OutlineFixupBuilder -> com.android.tools.r8.internal.VB:
+    1:1:void <clinit>():110:110 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.utils.InternalOptions):116:116 -> <init>
+    2:10:void <init>(com.android.tools.r8.utils.InternalOptions):112:120 -> <init>
+    1:18:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):125:142 -> a
+com.android.tools.r8.utils.LineNumberOptimizer$OutlineFixupBuilder -> com.android.tools.r8.internal.YB:
     java.util.List mappedOutlineCalleePositions -> b
     java.util.List mappedOutlinePositions -> a
     boolean $assertionsDisabled -> c
-    1:1:void <clinit>():1119:1119 -> <clinit>
-    1:6:void <init>():1119:1124 -> <init>
-    7:7:void <init>(com.android.tools.r8.utils.LineNumberOptimizer$1):1119:1119 -> <init>
+    1:1:void <clinit>():1270:1270 -> <clinit>
+    1:6:void <init>():1270:1275 -> <init>
+    7:7:void <init>(com.android.tools.r8.utils.LineNumberOptimizer$1):1270:1270 -> <init>
     1:1:com.android.tools.r8.errors.Unreachable com.android.tools.r8.errors.Unreachable.raise(java.lang.Object[]):16:16 -> a
-    1:1:void lambda$fixup$1(java.lang.Object):1155 -> a
-    2:2:void setMappedPositionsOutline(java.util.List):1128:1128 -> a
-    3:3:void addMappedRangeForOutlineCallee(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap):1133:1133 -> a
-    4:22:void fixup():1137:1155 -> a
-    23:23:void fixup():1154:1154 -> a
-    24:25:void fixup():1138:1139 -> a
-    26:26:void lambda$fixup$0(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap,java.lang.Integer,java.lang.Integer):1149:1149 -> a
-    27:29:int com.android.tools.r8.utils.LineNumberOptimizer$OutlineFixupBuilder.getMinifiedLinePosition(int,java.util.List):1161:1163 -> a
-    27:29:void lambda$fixup$0(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap,java.lang.Integer,java.lang.Integer):1149 -> a
-    30:30:void lambda$fixup$0(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap,java.lang.Integer,java.lang.Integer):1151:1151 -> a
-com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter -> com.android.tools.r8.internal.WB:
+    1:1:void lambda$fixup$1(java.lang.Object):1306 -> a
+    2:2:void setMappedPositionsOutline(java.util.List):1279:1279 -> a
+    3:3:void addMappedRangeForOutlineCallee(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap):1284:1284 -> a
+    4:22:void fixup():1288:1306 -> a
+    23:23:void fixup():1305:1305 -> a
+    24:25:void fixup():1289:1290 -> a
+    26:26:void lambda$fixup$0(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap,java.lang.Integer,java.lang.Integer):1300:1300 -> a
+    27:29:int com.android.tools.r8.utils.LineNumberOptimizer$OutlineFixupBuilder.getMinifiedLinePosition(int,java.util.List):1312:1314 -> a
+    27:29:void lambda$fixup$0(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap,java.lang.Integer,java.lang.Integer):1300 -> a
+    30:30:void lambda$fixup$0(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap,java.lang.Integer,java.lang.Integer):1302:1302 -> a
+com.android.tools.r8.utils.LineNumberOptimizer$Pc2PcMappingSupport -> com.android.tools.r8.internal.ZB:
+    java.util.List codesToUpdate -> b
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap paramToMaxPc -> a
+    java.util.List singleLineCodesToClear -> c
+    1:1:void <init>(boolean):382:382 -> <init>
+    2:11:void <init>(boolean):374:383 -> <init>
+    1:6:void recordSingleLineFor(com.android.tools.r8.graph.DexCode,int):397:402 -> a
+    7:11:void recordSingleLineFor(com.android.tools.r8.graph.DexCode,int,int):407:411 -> a
+    12:13:void updateDebugInfoInCodeObjects():416:417 -> a
+    14:14:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(int):110:110 -> a
+    14:14:void updateDebugInfoInCodeObjects():417 -> a
+    15:26:void updateDebugInfoInCodeObjects():418:429 -> a
+    27:31:void lambda$updateDebugInfoInCodeObjects$1(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.utils.Pair):420:424 -> a
+    32:35:void lambda$updateDebugInfoInCodeObjects$1(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.utils.Pair):423:426 -> a
+    36:36:com.android.tools.r8.graph.DexDebugInfo lambda$updateDebugInfoInCodeObjects$0(int,java.lang.Integer):425:425 -> a
+    37:38:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.get(java.lang.Object):120:121 -> a
+    37:38:com.android.tools.r8.graph.DexDebugInfo lambda$updateDebugInfoInCodeObjects$0(int,java.lang.Integer):425 -> a
+    39:39:com.android.tools.r8.graph.DexDebugInfo lambda$updateDebugInfoInCodeObjects$0(int,java.lang.Integer):425:425 -> a
+    40:40:com.android.tools.r8.graph.DexDebugInfo com.android.tools.r8.utils.LineNumberOptimizer$Pc2PcMappingSupport.buildPc2PcDebugInfo(int,int):434:434 -> a
+    40:40:com.android.tools.r8.graph.DexDebugInfo lambda$updateDebugInfoInCodeObjects$0(int,java.lang.Integer):425 -> a
+    41:41:void lambda$updateDebugInfoInCodeObjects$2(com.android.tools.r8.graph.DexCode):429:429 -> a
+    1:4:void recordPcMappingFor(com.android.tools.r8.graph.DexCode,int,int):388:391 -> b
+com.android.tools.r8.utils.LineNumberOptimizer$PcBasedDebugInfoRecorder -> com.android.tools.r8.internal.aC:
+    void recordSingleLineFor(com.android.tools.r8.graph.DexCode,int) -> a
+    void recordSingleLineFor(com.android.tools.r8.graph.DexCode,int,int) -> a
+    void updateDebugInfoInCodeObjects() -> a
+    void recordPcMappingFor(com.android.tools.r8.graph.DexCode,int,int) -> b
+com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter -> com.android.tools.r8.internal.bC:
     java.util.List processedEvents -> f
     int previousPc -> d
     boolean $assertionsDisabled -> g
@@ -118474,22 +118665,22 @@
     com.android.tools.r8.graph.DexMethod method -> c
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
     com.android.tools.r8.ir.code.Position previousPosition -> e
-    1:1:void <clinit>():252:252 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod,java.util.List,com.android.tools.r8.utils.LineNumberOptimizer$1):252:252 -> <init>
-    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod,java.util.List):261:261 -> <init>
-    3:13:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod,java.util.List):254:264 -> <init>
-    1:2:void com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter.emitAdvancePc(int):268:269 -> a
-    1:2:void access$1100(com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter,int):252 -> a
+    1:1:void <clinit>():256:256 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod,java.util.List,com.android.tools.r8.utils.LineNumberOptimizer$1):256:256 -> <init>
+    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod,java.util.List):265:265 -> <init>
+    3:13:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod,java.util.List):258:268 -> <init>
+    1:2:void com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter.emitAdvancePc(int):272:273 -> a
+    1:2:void access$1200(com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter,int):256 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    3:16:void com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter.emitPositionEvents(int,com.android.tools.r8.ir.code.Position):273:286 -> a
-    3:16:void access$1400(com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter,int,com.android.tools.r8.ir.code.Position):252 -> a
+    3:16:void com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter.emitPositionEvents(int,com.android.tools.r8.ir.code.Position):277:290 -> a
+    3:16:void access$1500(com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter,int,com.android.tools.r8.ir.code.Position):256 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    17:18:int com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter.getStartLine():290:291 -> a
-    17:18:int access$1500(com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter):252 -> a
+    17:18:int com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter.getStartLine():294:295 -> a
+    17:18:int access$1600(com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter):256 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper -> com.android.tools.r8.internal.XB:
+com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper -> com.android.tools.r8.internal.cC:
     com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position) -> a
-com.android.tools.r8.utils.ListUtils -> com.android.tools.r8.internal.kC:
+com.android.tools.r8.utils.ListUtils -> com.android.tools.r8.internal.pC:
     1:2:java.util.List flatMap(java.util.List,java.util.function.Function):52:53 -> a
     3:3:void lambda$flatMap$0(java.util.List,java.util.function.Function,java.lang.Object):53:53 -> a
     4:5:java.util.List filter(java.util.Collection,java.util.function.Predicate):58:59 -> a
@@ -118512,8 +118703,8 @@
     18:18:java.lang.Object last(java.util.List):87:87 -> b
     19:21:com.android.tools.r8.com.google.common.collect.ImmutableList newImmutableList(com.android.tools.r8.utils.ForEachable):215:217 -> b
     1:2:int lastIndexMatching(java.util.List,java.util.function.Predicate):91:92 -> c
-com.android.tools.r8.utils.ListUtils$ReferenceAndIntConsumer -> com.android.tools.r8.internal.jC:
-com.android.tools.r8.utils.LongInterval -> com.android.tools.r8.internal.ZC:
+com.android.tools.r8.utils.ListUtils$ReferenceAndIntConsumer -> com.android.tools.r8.internal.oC:
+com.android.tools.r8.utils.LongInterval -> com.android.tools.r8.internal.eD:
     long max -> b
     long min -> a
     boolean $assertionsDisabled -> c
@@ -118534,7 +118725,7 @@
     77:77:java.lang.String toString():74:74 -> toString
     78:78:java.lang.String toString():74:74 -> toString
     75:75:java.lang.String toString():74:74 -> toString
-com.android.tools.r8.utils.MainDexListParser -> com.android.tools.r8.internal.sD:
+com.android.tools.r8.utils.MainDexListParser -> com.android.tools.r8.internal.xD:
     1:1:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):21:21 -> a
     2:2:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
       # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":41,"3":42}}
@@ -118570,7 +118761,7 @@
     76:76:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
     76:76:java.util.Set parseList(com.android.tools.r8.StringResource,com.android.tools.r8.graph.DexItemFactory):37 -> a
     77:77:java.util.Set parseList(com.android.tools.r8.StringResource,com.android.tools.r8.graph.DexItemFactory):37:37 -> a
-com.android.tools.r8.utils.MapIdTemplateProvider -> com.android.tools.r8.internal.uD:
+com.android.tools.r8.utils.MapIdTemplateProvider -> com.android.tools.r8.internal.zD:
     java.util.Map HANDLERS -> c
     java.lang.String template -> a
     java.lang.String cachedValue -> b
@@ -118595,7 +118786,7 @@
     57:63:com.android.tools.r8.MapIdProvider create(java.lang.String,com.android.tools.r8.DiagnosticsHandler):45:51 -> a
     69:69:void lambda$get$0(com.android.tools.r8.MapIdEnvironment,java.lang.String,com.android.tools.r8.MapIdProvider):67:67 -> a
     1:8:java.lang.String get(com.android.tools.r8.MapIdEnvironment):63:70 -> get
-com.android.tools.r8.utils.MapUtils -> com.android.tools.r8.internal.xD:
+com.android.tools.r8.utils.MapUtils -> com.android.tools.r8.internal.CD:
     1:1:java.util.Map clone(java.util.Map,java.util.Map,java.util.function.Function):25:25 -> a
     2:2:void lambda$clone$0(java.util.Map,java.util.function.Function,java.lang.Object,java.lang.Object):25:25 -> a
     3:3:java.util.function.Function ignoreKey(java.util.function.Supplier):38:38 -> a
@@ -118610,7 +118801,7 @@
     1:1:java.lang.String lambda$toString$4(java.util.Map$Entry):57:57 -> b
     2:2:java.lang.String toString(java.util.Map):57:57 -> b
     3:3:java.lang.String toString(java.util.Map):56:56 -> b
-com.android.tools.r8.utils.MethodJavaSignatureEquivalence -> com.android.tools.r8.internal.KE:
+com.android.tools.r8.utils.MethodJavaSignatureEquivalence -> com.android.tools.r8.internal.PE:
     com.android.tools.r8.utils.MethodJavaSignatureEquivalence INSTANCE_IGNORE_NAME -> c
     com.android.tools.r8.utils.MethodJavaSignatureEquivalence INSTANCE -> b
     boolean ignoreName -> a
@@ -118624,7 +118815,7 @@
     7:10:int doHash(java.lang.Object):15 -> a
     11:11:com.android.tools.r8.utils.MethodJavaSignatureEquivalence get():30:30 -> a
     1:1:com.android.tools.r8.utils.MethodJavaSignatureEquivalence getEquivalenceIgnoreName():34:34 -> b
-com.android.tools.r8.utils.MethodReferenceUtils -> com.android.tools.r8.internal.ZE:
+com.android.tools.r8.utils.MethodReferenceUtils -> com.android.tools.r8.internal.eF:
     int $r8$clinit -> b
     java.util.Comparator COMPARATOR -> a
     1:1:void <clinit>():24:24 -> <clinit>
@@ -118670,7 +118861,7 @@
     22:22:int com.android.tools.r8.utils.CompareResult.getComparisonResult():21:21 -> b
     22:22:int lambda$static$0(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.MethodReference):52 -> b
     23:23:int lambda$static$0(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.MethodReference):55:55 -> b
-com.android.tools.r8.utils.MethodSignatureEquivalence -> com.android.tools.r8.internal.bF:
+com.android.tools.r8.utils.MethodSignatureEquivalence -> com.android.tools.r8.internal.gF:
     com.android.tools.r8.utils.MethodSignatureEquivalence INSTANCE -> a
     1:1:void <clinit>():16:16 -> <clinit>
     1:1:void <init>(boolean):23:23 -> <init>
@@ -118681,10 +118872,10 @@
     4:4:int com.android.tools.r8.utils.MethodSignatureEquivalence.doHash(com.android.tools.r8.graph.DexMethod):48:48 -> a
     4:4:int doHash(java.lang.Object):14 -> a
     5:5:com.android.tools.r8.utils.MethodSignatureEquivalence get():28:28 -> a
-com.android.tools.r8.utils.ObjectUtils -> com.android.tools.r8.internal.DK:
+com.android.tools.r8.utils.ObjectUtils -> com.android.tools.r8.internal.IK:
     1:1:boolean getBooleanOrElse(java.lang.Object,java.util.function.Predicate,boolean):14:14 -> a
     2:2:java.lang.Object mapNotNullOrDefault(java.lang.Object,java.lang.Object,java.util.function.Function):31:31 -> a
-com.android.tools.r8.utils.OffOrAuto -> com.android.tools.r8.internal.IK:
+com.android.tools.r8.utils.OffOrAuto -> com.android.tools.r8.internal.NK:
     com.android.tools.r8.utils.OffOrAuto Auto -> c
     com.android.tools.r8.utils.OffOrAuto Off -> b
     com.android.tools.r8.utils.OffOrAuto[] $VALUES -> d
@@ -118706,7 +118897,7 @@
     1:1:java.util.Set getClassDescriptors():59:59 -> getClassDescriptors
     1:1:com.android.tools.r8.ProgramResource$Kind getKind():41:41 -> getKind
     1:1:com.android.tools.r8.origin.Origin getOrigin():36:36 -> getOrigin
-com.android.tools.r8.utils.OptionalBool -> com.android.tools.r8.internal.ZK:
+com.android.tools.r8.utils.OptionalBool -> com.android.tools.r8.internal.eL:
     com.android.tools.r8.utils.OptionalBool UNKNOWN -> c
     com.android.tools.r8.utils.OptionalBool TRUE -> a
     com.android.tools.r8.utils.OptionalBool FALSE -> b
@@ -118715,22 +118906,22 @@
     1:1:com.android.tools.r8.utils.OptionalBool of(boolean):69:69 -> a
     int ordinal() -> f
     1:1:int hashCode():88:88 -> hashCode
-com.android.tools.r8.utils.OptionalBool$1 -> com.android.tools.r8.internal.WK:
+com.android.tools.r8.utils.OptionalBool$1 -> com.android.tools.r8.internal.bL:
     1:1:void <init>():10:10 -> <init>
     boolean isTrue() -> d
     int ordinal() -> f
     1:1:java.lang.String toString():24:24 -> toString
-com.android.tools.r8.utils.OptionalBool$2 -> com.android.tools.r8.internal.XK:
+com.android.tools.r8.utils.OptionalBool$2 -> com.android.tools.r8.internal.cL:
     1:1:void <init>():29:29 -> <init>
     boolean isFalse() -> a
     int ordinal() -> f
     1:1:java.lang.String toString():43:43 -> toString
-com.android.tools.r8.utils.OptionalBool$3 -> com.android.tools.r8.internal.YK:
+com.android.tools.r8.utils.OptionalBool$3 -> com.android.tools.r8.internal.dL:
     1:1:void <init>():48:48 -> <init>
     boolean isUnknown() -> e
     int ordinal() -> f
     1:1:java.lang.String toString():62:62 -> toString
-com.android.tools.r8.utils.OptionsParsing -> com.android.tools.r8.internal.cL:
+com.android.tools.r8.utils.OptionsParsing -> com.android.tools.r8.internal.hL:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():10:10 -> <clinit>
     1:13:java.lang.String tryParseSingle(com.android.tools.r8.utils.OptionsParsing$ParseContext,java.lang.String,java.lang.String):37:49 -> a
@@ -118744,14 +118935,14 @@
     96:96:java.lang.Boolean tryParseBoolean(com.android.tools.r8.utils.OptionsParsing$ParseContext,java.lang.String):65:65 -> a
     91:93:java.lang.Boolean tryParseBoolean(com.android.tools.r8.utils.OptionsParsing$ParseContext,java.lang.String):65:67 -> a
     1:11:java.util.List tryParseMulti(com.android.tools.r8.utils.OptionsParsing$ParseContext,java.lang.String):18:28 -> b
-com.android.tools.r8.utils.OptionsParsing$ParseContext -> com.android.tools.r8.internal.bL:
+com.android.tools.r8.utils.OptionsParsing$ParseContext -> com.android.tools.r8.internal.gL:
     java.lang.String[] args -> a
     int nextIndex -> b
     1:1:void <init>(java.lang.String[]):76:76 -> <init>
     2:5:void <init>(java.lang.String[]):74:77 -> <init>
     1:1:java.lang.String head():81:81 -> a
     1:5:java.lang.String next():85:89 -> b
-com.android.tools.r8.utils.OriginWithPosition -> com.android.tools.r8.internal.hL:
+com.android.tools.r8.utils.OriginWithPosition -> com.android.tools.r8.internal.mL:
     com.android.tools.r8.origin.Origin origin -> a
     com.android.tools.r8.position.Position position -> b
     1:3:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position):14:16 -> <init>
@@ -118759,7 +118950,7 @@
     1:1:com.android.tools.r8.position.Position getPosition():24:24 -> b
     1:3:boolean equals(java.lang.Object):34:36 -> equals
     1:1:int hashCode():29:29 -> hashCode
-com.android.tools.r8.utils.OriginalSourceFiles -> com.android.tools.r8.internal.lL:
+com.android.tools.r8.utils.OriginalSourceFiles -> com.android.tools.r8.internal.qL:
     com.android.tools.r8.utils.OriginalSourceFiles UNREACHABLE -> a
     com.android.tools.r8.utils.OriginalSourceFiles FROM_CLASSES -> b
     1:9:void <clinit>():15:23 -> <clinit>
@@ -118768,17 +118959,17 @@
     1:1:com.android.tools.r8.utils.OriginalSourceFiles fromClasses():38:38 -> a
     2:2:com.android.tools.r8.utils.OriginalSourceFiles fromMap(java.util.Map):43:43 -> a
     1:1:com.android.tools.r8.utils.OriginalSourceFiles unreachable():33:33 -> b
-com.android.tools.r8.utils.OriginalSourceFiles$1 -> com.android.tools.r8.internal.iL:
+com.android.tools.r8.utils.OriginalSourceFiles$1 -> com.android.tools.r8.internal.nL:
     1:1:void <init>():16:16 -> <init>
     1:1:com.android.tools.r8.graph.DexString getOriginalSourceFile(com.android.tools.r8.graph.DexProgramClass):19:19 -> a
-com.android.tools.r8.utils.OriginalSourceFiles$2 -> com.android.tools.r8.internal.jL:
+com.android.tools.r8.utils.OriginalSourceFiles$2 -> com.android.tools.r8.internal.oL:
     1:1:void <init>():24:24 -> <init>
     1:1:com.android.tools.r8.graph.DexString getOriginalSourceFile(com.android.tools.r8.graph.DexProgramClass):27:27 -> a
-com.android.tools.r8.utils.OriginalSourceFiles$3 -> com.android.tools.r8.internal.kL:
+com.android.tools.r8.utils.OriginalSourceFiles$3 -> com.android.tools.r8.internal.pL:
     java.util.Map val$map -> c
     1:1:void <init>(java.util.Map):43:43 -> <init>
     1:1:com.android.tools.r8.graph.DexString getOriginalSourceFile(com.android.tools.r8.graph.DexProgramClass):46:46 -> a
-com.android.tools.r8.utils.Pair -> com.android.tools.r8.internal.IL:
+com.android.tools.r8.utils.Pair -> com.android.tools.r8.internal.NL:
 # {"id":"sourceFile","fileName":"Pair.java"}
     java.lang.Object second -> b
     java.lang.Object first -> a
@@ -118797,7 +118988,7 @@
     59:59:java.lang.String toString():56:56 -> toString
     60:60:java.lang.String toString():56:56 -> toString
     57:57:java.lang.String toString():56:56 -> toString
-com.android.tools.r8.utils.PredicateSet -> com.android.tools.r8.internal.vM:
+com.android.tools.r8.utils.PredicateSet -> com.android.tools.r8.internal.AM:
     java.util.List predicates -> b
     java.util.Set elements -> a
     1:4:void <init>():14:17 -> <init>
@@ -118806,13 +118997,13 @@
     3:3:com.android.tools.r8.utils.PredicateSet empty():28:28 -> a
     4:10:com.android.tools.r8.utils.PredicateSet rewriteItems(java.util.function.Function):32:38 -> a
     1:5:boolean contains(java.lang.Object):43:47 -> b
-com.android.tools.r8.utils.PredicateUtils -> com.android.tools.r8.internal.wM:
+com.android.tools.r8.utils.PredicateUtils -> com.android.tools.r8.internal.BM:
     1:2:java.lang.Object findFirst(java.lang.Object[],java.util.function.Predicate):13:14 -> a
     3:3:boolean lambda$not$0(java.util.function.Predicate,java.lang.Object):22:22 -> a
     4:4:java.util.function.Predicate not(java.util.function.Predicate):22:22 -> a
     5:5:java.util.function.Predicate isNull(java.util.function.Function):26:26 -> a
     6:6:boolean lambda$isNull$1(java.util.function.Function,java.lang.Object):26:26 -> a
-com.android.tools.r8.utils.PreloadedClassFileProvider -> com.android.tools.r8.internal.KM:
+com.android.tools.r8.utils.PreloadedClassFileProvider -> com.android.tools.r8.internal.PM:
     java.util.Map content -> b
     1:1:void <init>(java.util.Map,com.android.tools.r8.utils.PreloadedClassFileProvider$1):19:19 -> <init>
     2:3:void <init>(java.util.Map):37:38 -> <init>
@@ -118831,8 +119022,8 @@
     1:6:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):48:53 -> getProgramResource
     7:7:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):52:52 -> getProgramResource
     1:1:java.lang.String toString():64:64 -> toString
-com.android.tools.r8.utils.PreloadedClassFileProvider$1 -> com.android.tools.r8.internal.JM:
-com.android.tools.r8.utils.PreloadedClassFileProvider$Builder -> com.android.tools.r8.internal.KM$a:
+com.android.tools.r8.utils.PreloadedClassFileProvider$1 -> com.android.tools.r8.internal.OM:
+com.android.tools.r8.utils.PreloadedClassFileProvider$Builder -> com.android.tools.r8.internal.PM$a:
     java.util.Map content -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():74:74 -> <clinit>
@@ -118841,11 +119032,11 @@
     3:3:void <init>():76:76 -> <init>
     1:5:com.android.tools.r8.utils.PreloadedClassFileProvider$Builder addResource(java.lang.String,byte[]):82:86 -> a
     6:8:com.android.tools.r8.utils.PreloadedClassFileProvider build():91:93 -> a
-com.android.tools.r8.utils.PreloadedClassFileProvider$ClassDescriptorOrigin -> com.android.tools.r8.internal.LM:
+com.android.tools.r8.utils.PreloadedClassFileProvider$ClassDescriptorOrigin -> com.android.tools.r8.internal.QM:
     java.lang.String descriptor -> f
     1:2:void <init>(java.lang.String):25:26 -> <init>
     1:1:java.lang.String part():31:31 -> part
-com.android.tools.r8.utils.ProgramClassCollection -> com.android.tools.r8.internal.jN:
+com.android.tools.r8.utils.ProgramClassCollection -> com.android.tools.r8.internal.oN:
     com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver conflictResolver -> d
     boolean $assertionsDisabled -> e
     1:1:void <clinit>():18:18 -> <clinit>
@@ -118898,7 +119089,7 @@
     45:45:java.lang.String toString():42:42 -> toString
     46:46:java.lang.String toString():42:42 -> toString
     43:43:java.lang.String toString():42:42 -> toString
-com.android.tools.r8.utils.ProgramMethodEquivalence -> com.android.tools.r8.internal.tN:
+com.android.tools.r8.utils.ProgramMethodEquivalence -> com.android.tools.r8.internal.yN:
     com.android.tools.r8.utils.ProgramMethodEquivalence INSTANCE -> a
     1:1:void <clinit>():12:12 -> <clinit>
     1:1:void <init>():14:14 -> <init>
@@ -118909,17 +119100,17 @@
     4:4:int com.android.tools.r8.utils.ProgramMethodEquivalence.doHash(com.android.tools.r8.graph.ProgramMethod):27:27 -> a
     4:4:int doHash(java.lang.Object):10 -> a
     5:5:com.android.tools.r8.utils.ProgramMethodEquivalence get():17:17 -> a
-com.android.tools.r8.utils.ReflectionHelper -> com.android.tools.r8.internal.xS:
-com.android.tools.r8.utils.ReflectionHelper$1 -> com.android.tools.r8.internal.rS:
-com.android.tools.r8.utils.ReflectionHelper$ReflectiveFieldOperation -> com.android.tools.r8.internal.sS:
+com.android.tools.r8.utils.ReflectionHelper -> com.android.tools.r8.internal.CS:
+com.android.tools.r8.utils.ReflectionHelper$1 -> com.android.tools.r8.internal.wS:
+com.android.tools.r8.utils.ReflectionHelper$ReflectiveFieldOperation -> com.android.tools.r8.internal.xS:
     1:1:void <init>(java.lang.Class,java.lang.String,com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation,java.util.function.Consumer,com.android.tools.r8.utils.ReflectionHelper$1):72:72 -> <init>
     2:2:void <init>(java.lang.Class,java.lang.String,com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation,java.util.function.Consumer):79:79 -> <init>
     1:5:java.lang.Object compute(java.lang.Object):84:88 -> a
-com.android.tools.r8.utils.ReflectionHelper$ReflectiveMethodOperation -> com.android.tools.r8.internal.tS:
+com.android.tools.r8.utils.ReflectionHelper$ReflectiveMethodOperation -> com.android.tools.r8.internal.yS:
     1:1:void <init>(java.lang.Class,java.lang.String,com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation,java.util.function.Consumer,com.android.tools.r8.utils.ReflectionHelper$1):51:51 -> <init>
     2:2:void <init>(java.lang.Class,java.lang.String,com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation,java.util.function.Consumer):58:58 -> <init>
     1:6:java.lang.Object compute(java.lang.Object):63:68 -> a
-com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation -> com.android.tools.r8.internal.uS:
+com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation -> com.android.tools.r8.internal.zS:
     java.util.function.Consumer modifier -> c
     com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation nextOperation -> d
     java.lang.Class classForDeclaration -> a
@@ -118927,7 +119118,7 @@
     1:1:void <init>(java.lang.Class,java.lang.String,com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation,java.util.function.Consumer,com.android.tools.r8.utils.ReflectionHelper$1):30:30 -> <init>
     2:6:void <init>(java.lang.Class,java.lang.String,com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation,java.util.function.Consumer):41:45 -> <init>
     java.lang.Object compute(java.lang.Object) -> a
-com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationBuilder -> com.android.tools.r8.internal.vS:
+com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationBuilder -> com.android.tools.r8.internal.AS:
     com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationSequenceBuilder sequenceBuilder -> d
     boolean $assertionsDisabled -> e
     java.lang.String declaredMember -> a
@@ -118943,7 +119134,7 @@
     16:17:void lambda$build$0(java.lang.reflect.Field):153:154 -> a
     18:19:void lambda$build$1(java.lang.reflect.Method):164:165 -> a
     1:1:com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationBuilder setSetAccessible(boolean):138:138 -> b
-com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationSequenceBuilder -> com.android.tools.r8.internal.wS:
+com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationSequenceBuilder -> com.android.tools.r8.internal.BS:
     java.util.List reflectiveOperationBuilderList -> a
     boolean $assertionsDisabled -> b
     1:1:void <clinit>():92:92 -> <clinit>
@@ -118953,7 +119144,7 @@
     4:7:com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation build():112:115 -> a
     1:3:com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationBuilder com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationSequenceBuilder.add(java.lang.String,com.android.tools.r8.utils.ReflectionHelper$DeclaredType):105:107 -> b
     1:3:com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationBuilder readMethod(java.lang.String):97 -> b
-com.android.tools.r8.utils.Reporter -> com.android.tools.r8.internal.kT:
+com.android.tools.r8.utils.Reporter -> com.android.tools.r8.internal.pT:
     java.util.List diagnosticsLevelMapping -> b
     com.android.tools.r8.DiagnosticsHandler clientHandler -> a
     com.android.tools.r8.utils.AbortException abort -> c
@@ -118975,19 +119166,19 @@
     1:1:void error(com.android.tools.r8.Diagnostic):109:109 -> error
     1:1:void info(com.android.tools.r8.Diagnostic):91:91 -> info
     1:1:void warning(com.android.tools.r8.Diagnostic):100:100 -> warning
-com.android.tools.r8.utils.Reporter$1 -> com.android.tools.r8.internal.hT:
+com.android.tools.r8.utils.Reporter$1 -> com.android.tools.r8.internal.mT:
     1:1:void <init>():56:56 -> <init>
-com.android.tools.r8.utils.Reporter$2 -> com.android.tools.r8.internal.iT:
+com.android.tools.r8.utils.Reporter$2 -> com.android.tools.r8.internal.nT:
     int[] $SwitchMap$com$android$tools$r8$DiagnosticsLevel -> a
     1:1:void <clinit>():73:73 -> <clinit>
-com.android.tools.r8.utils.Reporter$DiagnosticsLevelMapping -> com.android.tools.r8.internal.jT:
+com.android.tools.r8.utils.Reporter$DiagnosticsLevelMapping -> com.android.tools.r8.internal.oT:
     com.android.tools.r8.DiagnosticsLevel from -> a
     com.android.tools.r8.DiagnosticsLevel to -> b
     java.lang.String diagnosticsClassName -> c
     1:4:void <init>(com.android.tools.r8.DiagnosticsLevel,com.android.tools.r8.DiagnosticsLevel,java.lang.String):25:28 -> <init>
     1:13:com.android.tools.r8.DiagnosticsLevel map(com.android.tools.r8.DiagnosticsLevel,com.android.tools.r8.Diagnostic):32:44 -> a
     14:14:com.android.tools.r8.DiagnosticsLevel map(com.android.tools.r8.DiagnosticsLevel,com.android.tools.r8.Diagnostic):38:38 -> a
-com.android.tools.r8.utils.SegmentTree -> com.android.tools.r8.internal.QU:
+com.android.tools.r8.utils.SegmentTree -> com.android.tools.r8.internal.VU:
     java.util.TreeMap internalTree -> a
     boolean allowIntervalOverwrites -> b
     int size -> c
@@ -119000,7 +119191,7 @@
     5:44:com.android.tools.r8.utils.SegmentTree add(int,int,java.lang.Object):36:75 -> a
     45:48:boolean lambda$add$0(int,int,com.android.tools.r8.utils.Box,java.lang.Integer):43:46 -> a
     49:49:int size():80:80 -> a
-com.android.tools.r8.utils.SemanticVersion -> com.android.tools.r8.internal.RU:
+com.android.tools.r8.utils.SemanticVersion -> com.android.tools.r8.internal.WU:
     int minor -> b
     int patch -> c
     int major -> a
@@ -119045,7 +119236,7 @@
     85:85:java.lang.String toString():82:82 -> toString
     86:86:java.lang.String toString():82:82 -> toString
     83:83:java.lang.String toString():82:82 -> toString
-com.android.tools.r8.utils.SetUtils -> com.android.tools.r8.internal.VU:
+com.android.tools.r8.utils.SetUtils -> com.android.tools.r8.internal.aV:
     1:1:java.util.Set newConcurrentHashSet(int):28:28 -> a
     2:3:java.util.HashSet newHashSet(java.lang.Object):32:33 -> a
     4:5:java.util.HashSet newHashSet(java.lang.Object[]):39:40 -> a
@@ -119058,14 +119249,14 @@
     3:3:java.util.Set newIdentityHashSet(int):85:85 -> b
     4:6:com.android.tools.r8.com.google.common.collect.ImmutableSet newImmutableSet(com.android.tools.r8.utils.ForEachable):95:97 -> b
     7:13:com.android.tools.r8.com.google.common.collect.ImmutableSet newImmutableSetExcludingNullItems(java.lang.Object[]):102:108 -> b
-com.android.tools.r8.utils.SortingStringConsumer -> com.android.tools.r8.internal.bW:
+com.android.tools.r8.utils.SortingStringConsumer -> com.android.tools.r8.internal.gW:
     java.util.List accepted -> b
     1:1:void <init>(com.android.tools.r8.StringConsumer):24:24 -> <init>
     2:2:void <init>(com.android.tools.r8.StringConsumer):17:17 -> <init>
     1:1:void lambda$finished$0(com.android.tools.r8.DiagnosticsHandler,java.lang.String):35:35 -> a
     1:1:void accept(java.lang.String,com.android.tools.r8.DiagnosticsHandler):29:29 -> accept
     1:3:void finished(com.android.tools.r8.DiagnosticsHandler):34:36 -> finished
-com.android.tools.r8.utils.SourceFileTemplateProvider -> com.android.tools.r8.internal.fW:
+com.android.tools.r8.utils.SourceFileTemplateProvider -> com.android.tools.r8.internal.kW:
     java.util.Map HANDLERS -> c
     java.lang.String template -> a
     java.lang.String cachedValue -> b
@@ -119093,7 +119284,7 @@
     58:64:com.android.tools.r8.SourceFileProvider create(java.lang.String,com.android.tools.r8.DiagnosticsHandler):46:52 -> a
     70:70:void lambda$get$0(com.android.tools.r8.SourceFileEnvironment,java.lang.String,com.android.tools.r8.SourceFileProvider):68:68 -> a
     1:8:java.lang.String get(com.android.tools.r8.SourceFileEnvironment):64:71 -> get
-com.android.tools.r8.utils.StreamUtils -> com.android.tools.r8.internal.jX:
+com.android.tools.r8.utils.StreamUtils -> com.android.tools.r8.internal.oX:
     1:2:byte[] StreamToByteArrayClose(java.io.InputStream):17:18 -> a
 com.android.tools.r8.utils.StringDiagnostic -> com.android.tools.r8.utils.StringDiagnostic:
     com.android.tools.r8.origin.Origin origin -> b
@@ -119107,7 +119298,7 @@
     1:1:java.lang.String getDiagnosticMessage():56:56 -> getDiagnosticMessage
     1:1:com.android.tools.r8.origin.Origin getOrigin():46:46 -> getOrigin
     1:1:com.android.tools.r8.position.Position getPosition():51:51 -> getPosition
-com.android.tools.r8.utils.StringUtils -> com.android.tools.r8.internal.UX:
+com.android.tools.r8.utils.StringUtils -> com.android.tools.r8.internal.ZX:
     char[] EMPTY_CHAR_ARRAY -> a
     java.lang.String LINE_SEPARATOR -> c
     java.lang.String[] EMPTY_ARRAY -> b
@@ -119199,10 +119390,10 @@
     1:9:java.lang.String toASCIIString(java.lang.String):53:61 -> d
     1:9:java.lang.String trim(java.lang.String):296:304 -> e
     1:5:java.lang.String withNativeLineSeparator(java.lang.String):163:167 -> f
-com.android.tools.r8.utils.StringUtils$1 -> com.android.tools.r8.internal.TX:
+com.android.tools.r8.utils.StringUtils$1 -> com.android.tools.r8.internal.YX:
     int[] $SwitchMap$com$android$tools$r8$utils$StringUtils$BraceType -> a
     1:1:void <clinit>():32:32 -> <clinit>
-com.android.tools.r8.utils.StringUtils$BraceType -> com.android.tools.r8.internal.UX$a:
+com.android.tools.r8.utils.StringUtils$BraceType -> com.android.tools.r8.internal.ZX$a:
     com.android.tools.r8.utils.StringUtils$BraceType PARENS -> b
     com.android.tools.r8.utils.StringUtils$BraceType SQUARE -> c
     com.android.tools.r8.utils.StringUtils$BraceType[] $VALUES -> f
@@ -119212,10 +119403,10 @@
     5:5:void <clinit>():25:25 -> <clinit>
     1:1:void <init>(java.lang.String,int):25:25 -> <init>
     1:1:com.android.tools.r8.utils.StringUtils$BraceType[] values():25:25 -> a
-com.android.tools.r8.utils.SupplierUtils -> com.android.tools.r8.internal.pY:
+com.android.tools.r8.utils.SupplierUtils -> com.android.tools.r8.internal.uY:
     1:3:java.lang.Object lambda$memoize$1(com.android.tools.r8.utils.ThrowingSupplier):21:23 -> a
     1:1:java.util.function.Supplier memoize(com.android.tools.r8.utils.ThrowingSupplier):18:18 -> b
-com.android.tools.r8.utils.SymbolGenerationUtils -> com.android.tools.r8.internal.AY:
+com.android.tools.r8.utils.SymbolGenerationUtils -> com.android.tools.r8.internal.FY:
     char[] IDENTIFIER_CHARACTERS -> b
     boolean $assertionsDisabled -> e
     java.util.Set PRIMITIVE_TYPE_NAMES -> a
@@ -119228,7 +119419,7 @@
     1:1:java.lang.String numberToIdentifier(int,com.android.tools.r8.utils.SymbolGenerationUtils$MixedCasing):31:31 -> a
     2:35:java.lang.String com.android.tools.r8.utils.SymbolGenerationUtils.numberToIdentifier(int,com.android.tools.r8.utils.SymbolGenerationUtils$MixedCasing,char[],boolean):43:76 -> a
     2:35:java.lang.String numberToIdentifier(int,com.android.tools.r8.utils.SymbolGenerationUtils$MixedCasing):31 -> a
-com.android.tools.r8.utils.SymbolGenerationUtils$MixedCasing -> com.android.tools.r8.internal.AY$a:
+com.android.tools.r8.utils.SymbolGenerationUtils$MixedCasing -> com.android.tools.r8.internal.FY$a:
     com.android.tools.r8.utils.SymbolGenerationUtils$MixedCasing DONT_USE_MIXED_CASE -> c
     com.android.tools.r8.utils.SymbolGenerationUtils$MixedCasing USE_MIXED_CASE -> b
     1:2:void <clinit>():16:17 -> <clinit>
@@ -119270,33 +119461,33 @@
     2:2:java.util.concurrent.ExecutorService getExecutorServiceForProcessors(int):175:175 -> b
     3:3:java.util.concurrent.ExecutorService getExecutorServiceForThreads(int):182:182 -> b
     3:3:java.util.concurrent.ExecutorService getExecutorServiceForProcessors(int):176 -> b
-com.android.tools.r8.utils.ThrowingAction -> com.android.tools.r8.internal.aZ:
+com.android.tools.r8.utils.ThrowingAction -> com.android.tools.r8.internal.fZ:
     void execute() -> a
-com.android.tools.r8.utils.ThrowingBiConsumer -> com.android.tools.r8.internal.bZ:
-com.android.tools.r8.utils.ThrowingBiFunction -> com.android.tools.r8.internal.cZ:
-com.android.tools.r8.utils.ThrowingCharIterator -> com.android.tools.r8.internal.dZ:
+com.android.tools.r8.utils.ThrowingBiConsumer -> com.android.tools.r8.internal.gZ:
+com.android.tools.r8.utils.ThrowingBiFunction -> com.android.tools.r8.internal.hZ:
+com.android.tools.r8.utils.ThrowingCharIterator -> com.android.tools.r8.internal.iZ:
     char nextChar() -> a
-com.android.tools.r8.utils.ThrowingConsumer -> com.android.tools.r8.internal.eZ:
-com.android.tools.r8.utils.ThrowingFunction -> com.android.tools.r8.internal.fZ:
-com.android.tools.r8.utils.ThrowingIntIterator -> com.android.tools.r8.internal.hZ:
+com.android.tools.r8.utils.ThrowingConsumer -> com.android.tools.r8.internal.jZ:
+com.android.tools.r8.utils.ThrowingFunction -> com.android.tools.r8.internal.kZ:
+com.android.tools.r8.utils.ThrowingIntIterator -> com.android.tools.r8.internal.mZ:
     1:1:void <init>():9:9 -> <init>
     boolean hasNext() -> a
     1:2:void forEachRemaining(java.util.function.IntConsumer):12:13 -> a
     3:6:int nextIntComputeIfAbsent(com.android.tools.r8.utils.ThrowingIntSupplier):22:25 -> a
     int nextInt() -> b
-com.android.tools.r8.utils.ThrowingIntSupplier -> com.android.tools.r8.internal.iZ:
+com.android.tools.r8.utils.ThrowingIntSupplier -> com.android.tools.r8.internal.nZ:
     int getAsInt() -> a
-com.android.tools.r8.utils.ThrowingIterator -> com.android.tools.r8.internal.jZ:
+com.android.tools.r8.utils.ThrowingIterator -> com.android.tools.r8.internal.oZ:
     1:1:void <init>():11:11 -> <init>
     boolean hasNext() -> a
     1:6:java.util.List take(int):25:30 -> a
     7:7:java.util.List take(int):28:28 -> a
     java.lang.Object next() -> b
-com.android.tools.r8.utils.ThrowingReferenceIntConsumer -> com.android.tools.r8.internal.kZ:
-com.android.tools.r8.utils.ThrowingReferenceIntFunction -> com.android.tools.r8.internal.lZ:
+com.android.tools.r8.utils.ThrowingReferenceIntConsumer -> com.android.tools.r8.internal.pZ:
+com.android.tools.r8.utils.ThrowingReferenceIntFunction -> com.android.tools.r8.internal.qZ:
     java.lang.Object apply(java.lang.Object,int) -> a
-com.android.tools.r8.utils.ThrowingSupplier -> com.android.tools.r8.internal.mZ:
-com.android.tools.r8.utils.Timing -> com.android.tools.r8.internal.wZ:
+com.android.tools.r8.utils.ThrowingSupplier -> com.android.tools.r8.internal.rZ:
+com.android.tools.r8.utils.Timing -> com.android.tools.r8.internal.CZ:
     java.util.Stack stack -> b
     com.android.tools.r8.utils.Timing EMPTY -> d
     boolean $assertionsDisabled -> e
@@ -119304,86 +119495,88 @@
     boolean trackMemory -> c
     1:5:void <clinit>():25:29 -> <clinit>
     1:1:void <init>(java.lang.String,boolean,com.android.tools.r8.utils.Timing$1):25:25 -> <init>
-    2:2:void <init>(java.lang.String):88:88 -> <init>
-    3:7:void <init>(java.lang.String,boolean):91:95 -> <init>
+    2:2:void <init>(java.lang.String):93:93 -> <init>
+    3:7:void <init>(java.lang.String,boolean):96:100 -> <init>
     1:1:com.android.tools.r8.utils.Timing$Node access$1100(com.android.tools.r8.utils.Timing):25:25 -> a
-    2:4:com.android.tools.r8.utils.Timing create(java.lang.String,com.android.tools.r8.utils.InternalOptions):73:75 -> a
-    5:5:com.android.tools.r8.utils.Timing create(java.lang.String,com.android.tools.r8.utils.InternalOptions):74:74 -> a
-    6:6:com.android.tools.r8.utils.Timing create(java.lang.String,boolean):79:79 -> a
-    7:7:com.android.tools.r8.utils.Timing$TimingMerger beginMerger(java.lang.String,int):321:321 -> a
-    8:8:java.lang.String com.android.tools.r8.utils.Timing.prettyPercentage(long,long):329:329 -> a
+    2:4:com.android.tools.r8.utils.Timing create(java.lang.String,com.android.tools.r8.utils.InternalOptions):78:80 -> a
+    5:5:com.android.tools.r8.utils.Timing create(java.lang.String,com.android.tools.r8.utils.InternalOptions):79:79 -> a
+    6:6:com.android.tools.r8.utils.Timing create(java.lang.String,boolean):84:84 -> a
+    7:7:com.android.tools.r8.utils.Timing$TimingMerger beginMerger(java.lang.String,int):326:326 -> a
+    8:8:java.lang.String com.android.tools.r8.utils.Timing.prettyPercentage(long,long):334:334 -> a
     8:8:java.lang.String access$400(long,long):25 -> a
-    9:9:long com.android.tools.r8.utils.Timing.percentage(long,long):325:325 -> a
-    9:9:java.lang.String com.android.tools.r8.utils.Timing.prettyPercentage(long,long):329 -> a
+    9:9:long com.android.tools.r8.utils.Timing.percentage(long,long):330:330 -> a
+    9:9:java.lang.String com.android.tools.r8.utils.Timing.prettyPercentage(long,long):334 -> a
     9:9:java.lang.String access$400(long,long):25 -> a
-    10:10:java.lang.String com.android.tools.r8.utils.Timing.prettyPercentage(long,long):329:329 -> a
+    10:10:java.lang.String com.android.tools.r8.utils.Timing.prettyPercentage(long,long):334:334 -> a
     10:10:java.lang.String access$400(long,long):25 -> a
-    11:11:java.lang.String com.android.tools.r8.utils.Timing.prettySize(long):337:337 -> a
+    11:11:java.lang.String com.android.tools.r8.utils.Timing.prettySize(long):342:342 -> a
     11:11:java.lang.String access$600(long):25 -> a
     12:12:java.lang.String access$600(long):0:0 -> a
       # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":31,"2":32,"3":33}}
-    31:31:java.lang.String com.android.tools.r8.utils.Timing.prettyNumber(long):341:341 -> a
-    31:31:java.lang.String com.android.tools.r8.utils.Timing.prettySize(long):337 -> a
+    31:31:java.lang.String com.android.tools.r8.utils.Timing.prettyNumber(long):346:346 -> a
+    31:31:java.lang.String com.android.tools.r8.utils.Timing.prettySize(long):342 -> a
     31:31:java.lang.String access$600(long):25 -> a
-    32:32:java.lang.String com.android.tools.r8.utils.Timing.prettyNumber(long):341:341 -> a
-    32:32:java.lang.String com.android.tools.r8.utils.Timing.prettySize(long):337 -> a
+    32:32:java.lang.String com.android.tools.r8.utils.Timing.prettyNumber(long):346:346 -> a
+    32:32:java.lang.String com.android.tools.r8.utils.Timing.prettySize(long):342 -> a
     32:32:java.lang.String access$600(long):25 -> a
-    33:33:java.lang.String com.android.tools.r8.utils.Timing.prettyNumber(long):341:341 -> a
-    33:33:java.lang.String com.android.tools.r8.utils.Timing.prettySize(long):337 -> a
+    33:33:java.lang.String com.android.tools.r8.utils.Timing.prettyNumber(long):346:346 -> a
+    33:33:java.lang.String com.android.tools.r8.utils.Timing.prettySize(long):342 -> a
     33:33:java.lang.String access$600(long):25 -> a
-    13:29:java.lang.String com.android.tools.r8.utils.Timing.prettyNumber(long):341:357 -> a
-    13:29:java.lang.String com.android.tools.r8.utils.Timing.prettySize(long):337 -> a
+    13:29:java.lang.String com.android.tools.r8.utils.Timing.prettyNumber(long):346:362 -> a
+    13:29:java.lang.String com.android.tools.r8.utils.Timing.prettySize(long):342 -> a
     13:29:java.lang.String access$600(long):25 -> a
     30:30:java.lang.String access$600(long):0:0 -> a
       # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":34,"2":35,"3":36}}
-    34:34:java.lang.String com.android.tools.r8.utils.Timing.prettySize(long):337:337 -> a
+    34:34:java.lang.String com.android.tools.r8.utils.Timing.prettySize(long):342:342 -> a
     34:34:java.lang.String access$600(long):25 -> a
-    35:35:java.lang.String com.android.tools.r8.utils.Timing.prettySize(long):337:337 -> a
+    35:35:java.lang.String com.android.tools.r8.utils.Timing.prettySize(long):342:342 -> a
     35:35:java.lang.String access$600(long):25 -> a
-    36:36:java.lang.String com.android.tools.r8.utils.Timing.prettySize(long):337:337 -> a
+    36:36:java.lang.String com.android.tools.r8.utils.Timing.prettySize(long):342:342 -> a
     36:36:java.lang.String access$600(long):25 -> a
-    37:40:void begin(java.lang.String):361:364 -> a
-    41:45:void com.android.tools.r8.utils.Timing$Node.restart():134:138 -> a
-    41:45:void begin(java.lang.String):365 -> a
+    37:40:void begin(java.lang.String):366:369 -> a
+    41:45:void com.android.tools.r8.utils.Timing$Node.restart():139:143 -> a
+    41:45:void begin(java.lang.String):370 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    46:49:void begin(java.lang.String):367:370 -> a
-    50:54:java.lang.Object time(java.lang.String,com.android.tools.r8.utils.ThrowingSupplier):383:387 -> a
-    55:60:java.util.Map com.android.tools.r8.utils.Timing.computeMemoryInformation():419:424 -> a
-    55:60:java.util.Map access$200():25 -> a
-    61:61:com.android.tools.r8.utils.Timing$MemInfo com.android.tools.r8.utils.Timing$MemInfo.fromTotalAndFree(long,long):106:106 -> a
-    61:61:java.util.Map com.android.tools.r8.utils.Timing.computeMemoryInformation():423 -> a
-    61:61:java.util.Map access$200():25 -> a
-    62:62:java.util.Map com.android.tools.r8.utils.Timing.computeMemoryInformation():421:421 -> a
-    62:62:java.util.Map access$200():25 -> a
+    46:49:void begin(java.lang.String):372:375 -> a
+    50:54:java.lang.Object time(java.lang.String,com.android.tools.r8.utils.ThrowingSupplier):388:392 -> a
+    55:59:java.lang.Object scope(java.lang.String,com.android.tools.r8.utils.Timing$TimingScope):420:424 -> a
+    60:65:java.util.Map com.android.tools.r8.utils.Timing.computeMemoryInformation():437:442 -> a
+    60:65:java.util.Map access$200():25 -> a
+    66:66:com.android.tools.r8.utils.Timing$MemInfo com.android.tools.r8.utils.Timing$MemInfo.fromTotalAndFree(long,long):111:111 -> a
+    66:66:java.util.Map com.android.tools.r8.utils.Timing.computeMemoryInformation():441 -> a
+    66:66:java.util.Map access$200():25 -> a
+    67:67:java.util.Map com.android.tools.r8.utils.Timing.computeMemoryInformation():439:439 -> a
+    67:67:java.util.Map access$200():25 -> a
     1:1:java.util.Stack access$700(com.android.tools.r8.utils.Timing):25:25 -> b
-    2:2:com.android.tools.r8.utils.Timing empty():68:68 -> b
-    3:3:long com.android.tools.r8.utils.Timing.percentage(long,long):325:325 -> b
+    2:2:com.android.tools.r8.utils.Timing empty():73:73 -> b
+    3:3:long com.android.tools.r8.utils.Timing.percentage(long,long):330:330 -> b
     3:3:long access$500(long,long):25 -> b
     1:1:boolean access$800(com.android.tools.r8.utils.Timing):25:25 -> c
-    2:2:void end():392:392 -> c
-    3:7:void com.android.tools.r8.utils.Timing$Node.end():142:146 -> c
-    3:7:void end():392 -> c
+    2:2:void end():397:397 -> c
+    3:7:void com.android.tools.r8.utils.Timing$Node.end():147:151 -> c
+    3:7:void end():397 -> c
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    8:8:void end():393:393 -> c
-    1:3:void report():397:399 -> d
-    4:8:void com.android.tools.r8.utils.Timing$Node.end():142:146 -> d
-    4:8:void report():400 -> d
+    8:8:void end():398:398 -> c
+    1:3:void report():402:404 -> d
+    4:8:void com.android.tools.r8.utils.Timing$Node.end():147:151 -> d
+    4:8:void report():405 -> d
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    9:10:void report():401:402 -> d
-com.android.tools.r8.utils.Timing$1 -> com.android.tools.r8.internal.qZ:
+    9:10:void report():406:407 -> d
+com.android.tools.r8.utils.Timing$1 -> com.android.tools.r8.internal.vZ:
     1:1:void <init>(java.lang.String,boolean):30:30 -> <init>
     void begin(java.lang.String) -> a
     1:1:com.android.tools.r8.utils.Timing$TimingMerger beginMerger(java.lang.String,int):33:33 -> a
+    2:2:java.lang.Object scope(java.lang.String,com.android.tools.r8.utils.Timing$TimingScope):63:63 -> a
     void end() -> c
     void report() -> d
-com.android.tools.r8.utils.Timing$1$1 -> com.android.tools.r8.internal.pZ:
+com.android.tools.r8.utils.Timing$1$1 -> com.android.tools.r8.internal.uZ:
     1:1:void <init>(com.android.tools.r8.utils.Timing$1,java.lang.String,int,com.android.tools.r8.utils.Timing):33:33 -> <init>
     void add(java.util.Collection) -> a
     void end() -> a
-com.android.tools.r8.utils.Timing$MemInfo -> com.android.tools.r8.internal.rZ:
+com.android.tools.r8.utils.Timing$MemInfo -> com.android.tools.r8.internal.wZ:
     long used -> a
-    1:2:void <init>(long):101:102 -> <init>
-com.android.tools.r8.utils.Timing$Node -> com.android.tools.r8.internal.sZ:
+    1:2:void <init>(long):106:107 -> <init>
+com.android.tools.r8.utils.Timing$Node -> com.android.tools.r8.internal.xZ:
     java.util.Map children -> c
     long start_time -> e
     java.lang.String title -> a
@@ -119392,169 +119585,171 @@
     boolean trackMemory -> b
     java.util.Map startMemory -> f
     java.util.Map endMemory -> g
-    1:1:void <clinit>():114:114 -> <clinit>
-    1:1:void <init>(java.lang.String,boolean):124:124 -> <init>
-    2:14:void <init>(java.lang.String,boolean):118:130 -> <init>
-    1:1:void report(int,com.android.tools.r8.utils.Timing$Node):165:165 -> a
-    2:2:long com.android.tools.r8.utils.Timing$Node.duration():151:151 -> a
-    2:2:void report(int,com.android.tools.r8.utils.Timing$Node):165 -> a
-    3:3:void report(int,com.android.tools.r8.utils.Timing$Node):165:165 -> a
-    4:4:long com.android.tools.r8.utils.Timing$Node.duration():151:151 -> a
-    4:4:void report(int,com.android.tools.r8.utils.Timing$Node):166 -> a
-    5:5:long com.android.tools.r8.utils.Timing$Node.duration():151:151 -> a
-    5:5:void report(int,com.android.tools.r8.utils.Timing$Node):166 -> a
+    1:1:void <clinit>():119:119 -> <clinit>
+    1:1:void <init>(java.lang.String,boolean):129:129 -> <init>
+    2:14:void <init>(java.lang.String,boolean):123:135 -> <init>
+    1:1:void report(int,com.android.tools.r8.utils.Timing$Node):170:170 -> a
+    2:2:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
+    2:2:void report(int,com.android.tools.r8.utils.Timing$Node):170 -> a
+    3:3:void report(int,com.android.tools.r8.utils.Timing$Node):170:170 -> a
+    4:4:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
+    4:4:void report(int,com.android.tools.r8.utils.Timing$Node):171 -> a
+    5:5:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
+    5:5:void report(int,com.android.tools.r8.utils.Timing$Node):171 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    6:6:void report(int,com.android.tools.r8.utils.Timing$Node):166:166 -> a
-    7:8:void com.android.tools.r8.utils.Timing$Node.printPrefix(int):199:200 -> a
-    7:8:void report(int,com.android.tools.r8.utils.Timing$Node):169 -> a
-    9:9:void report(int,com.android.tools.r8.utils.Timing$Node):170:170 -> a
-    10:10:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):160:160 -> a
-    10:10:void report(int,com.android.tools.r8.utils.Timing$Node):170 -> a
+    6:6:void report(int,com.android.tools.r8.utils.Timing$Node):171:171 -> a
+    7:8:void com.android.tools.r8.utils.Timing$Node.printPrefix(int):204:205 -> a
+    7:8:void report(int,com.android.tools.r8.utils.Timing$Node):174 -> a
+    9:9:void report(int,com.android.tools.r8.utils.Timing$Node):175:175 -> a
+    10:10:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):165:165 -> a
+    10:10:void report(int,com.android.tools.r8.utils.Timing$Node):175 -> a
     11:11:void report(int,com.android.tools.r8.utils.Timing$Node):0:0 -> a
       # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":44,"2":45,"3":46}}
-    44:44:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):161:161 -> a
-    44:44:void report(int,com.android.tools.r8.utils.Timing$Node):170 -> a
-    45:45:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):161:161 -> a
-    45:45:void report(int,com.android.tools.r8.utils.Timing$Node):170 -> a
-    46:46:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):161:161 -> a
-    46:46:void report(int,com.android.tools.r8.utils.Timing$Node):170 -> a
-    12:12:long com.android.tools.r8.utils.Timing$Node.duration():151:151 -> a
-    12:12:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):161 -> a
-    12:12:void report(int,com.android.tools.r8.utils.Timing$Node):170 -> a
-    13:13:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):161:161 -> a
-    13:13:void report(int,com.android.tools.r8.utils.Timing$Node):170 -> a
-    14:23:void report(int,com.android.tools.r8.utils.Timing$Node):170:179 -> a
-    24:24:long com.android.tools.r8.utils.Timing$Node.duration():151:151 -> a
-    24:24:void report(int,com.android.tools.r8.utils.Timing$Node):180 -> a
+    44:44:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):166:166 -> a
+    44:44:void report(int,com.android.tools.r8.utils.Timing$Node):175 -> a
+    45:45:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):166:166 -> a
+    45:45:void report(int,com.android.tools.r8.utils.Timing$Node):175 -> a
+    46:46:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):166:166 -> a
+    46:46:void report(int,com.android.tools.r8.utils.Timing$Node):175 -> a
+    12:12:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
+    12:12:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):166 -> a
+    12:12:void report(int,com.android.tools.r8.utils.Timing$Node):175 -> a
+    13:13:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):166:166 -> a
+    13:13:void report(int,com.android.tools.r8.utils.Timing$Node):175 -> a
+    14:23:void report(int,com.android.tools.r8.utils.Timing$Node):175:184 -> a
+    24:24:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
+    24:24:void report(int,com.android.tools.r8.utils.Timing$Node):185 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    25:25:long com.android.tools.r8.utils.Timing$Node.duration():151:151 -> a
-    25:25:void report(int,com.android.tools.r8.utils.Timing$Node):182 -> a
-    26:26:long com.android.tools.r8.utils.Timing$Node.duration():151:151 -> a
-    26:26:void report(int,com.android.tools.r8.utils.Timing$Node):184 -> a
-    27:27:void report(int,com.android.tools.r8.utils.Timing$Node):184:184 -> a
-    28:29:void com.android.tools.r8.utils.Timing$Node.printPrefix(int):199:200 -> a
-    28:29:void report(int,com.android.tools.r8.utils.Timing$Node):185 -> a
-    30:30:void report(int,com.android.tools.r8.utils.Timing$Node):186:186 -> a
+    25:25:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
+    25:25:void report(int,com.android.tools.r8.utils.Timing$Node):187 -> a
+    26:26:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
+    26:26:void report(int,com.android.tools.r8.utils.Timing$Node):189 -> a
+    27:27:void report(int,com.android.tools.r8.utils.Timing$Node):189:189 -> a
+    28:29:void com.android.tools.r8.utils.Timing$Node.printPrefix(int):204:205 -> a
+    28:29:void report(int,com.android.tools.r8.utils.Timing$Node):190 -> a
+    30:30:void report(int,com.android.tools.r8.utils.Timing$Node):191:191 -> a
     31:31:void report(int,com.android.tools.r8.utils.Timing$Node):0:0 -> a
       # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":47,"2":48,"3":49}}
-    47:47:void report(int,com.android.tools.r8.utils.Timing$Node):186:186 -> a
-    48:48:void report(int,com.android.tools.r8.utils.Timing$Node):186:186 -> a
-    49:49:void report(int,com.android.tools.r8.utils.Timing$Node):186:186 -> a
-    32:32:long com.android.tools.r8.utils.Timing$Node.duration():151:151 -> a
-    32:32:void report(int,com.android.tools.r8.utils.Timing$Node):188 -> a
-    33:33:void report(int,com.android.tools.r8.utils.Timing$Node):188:188 -> a
-    34:34:java.lang.String com.android.tools.r8.utils.Timing.prettyTime(long):333:333 -> a
+    47:47:void report(int,com.android.tools.r8.utils.Timing$Node):191:191 -> a
+    48:48:void report(int,com.android.tools.r8.utils.Timing$Node):191:191 -> a
+    49:49:void report(int,com.android.tools.r8.utils.Timing$Node):191:191 -> a
+    32:32:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
+    32:32:void report(int,com.android.tools.r8.utils.Timing$Node):193 -> a
+    33:33:void report(int,com.android.tools.r8.utils.Timing$Node):193:193 -> a
+    34:34:java.lang.String com.android.tools.r8.utils.Timing.prettyTime(long):338:338 -> a
     34:34:java.lang.String com.android.tools.r8.utils.Timing.access$300(long):25 -> a
-    34:34:void report(int,com.android.tools.r8.utils.Timing$Node):190 -> a
-    35:35:void report(int,com.android.tools.r8.utils.Timing$Node):190:190 -> a
-    36:43:void report(int,com.android.tools.r8.utils.Timing$Node):186:193 -> a
-    50:50:void lambda$report$0(int,com.android.tools.r8.utils.Timing$Node,com.android.tools.r8.utils.Timing$Node):193:193 -> a
-    51:63:void printMemory(int):205:217 -> a
-    64:64:long com.android.tools.r8.utils.Timing$MemInfo.usedDelta(com.android.tools.r8.utils.Timing$MemInfo):110:110 -> a
-    64:64:void printMemory(int):219 -> a
-    65:65:void printMemory(int):219:219 -> a
-    66:66:void printMemory(int):212:212 -> a
-    1:1:java.lang.String toString():156:156 -> toString
-    2:2:long com.android.tools.r8.utils.Timing$Node.duration():151:151 -> toString
-    2:2:java.lang.String toString():156 -> toString
-    3:3:java.lang.String toString():156:156 -> toString
-    4:4:java.lang.String com.android.tools.r8.utils.Timing.prettyTime(long):333:333 -> toString
+    34:34:void report(int,com.android.tools.r8.utils.Timing$Node):195 -> a
+    35:35:void report(int,com.android.tools.r8.utils.Timing$Node):195:195 -> a
+    36:43:void report(int,com.android.tools.r8.utils.Timing$Node):191:198 -> a
+    50:50:void lambda$report$0(int,com.android.tools.r8.utils.Timing$Node,com.android.tools.r8.utils.Timing$Node):198:198 -> a
+    51:63:void printMemory(int):210:222 -> a
+    64:64:long com.android.tools.r8.utils.Timing$MemInfo.usedDelta(com.android.tools.r8.utils.Timing$MemInfo):115:115 -> a
+    64:64:void printMemory(int):224 -> a
+    65:65:void printMemory(int):224:224 -> a
+    66:66:void printMemory(int):217:217 -> a
+    1:1:java.lang.String toString():161:161 -> toString
+    2:2:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> toString
+    2:2:java.lang.String toString():161 -> toString
+    3:3:java.lang.String toString():161:161 -> toString
+    4:4:java.lang.String com.android.tools.r8.utils.Timing.prettyTime(long):338:338 -> toString
     4:4:java.lang.String com.android.tools.r8.utils.Timing.access$300(long):25 -> toString
-    4:4:java.lang.String toString():156 -> toString
-    5:5:java.lang.String toString():156:156 -> toString
-com.android.tools.r8.utils.Timing$TimingMerger -> com.android.tools.r8.internal.vZ:
+    4:4:java.lang.String toString():161 -> toString
+    5:5:java.lang.String toString():161:161 -> toString
+com.android.tools.r8.utils.Timing$TimingMerger -> com.android.tools.r8.internal.AZ:
     boolean $assertionsDisabled -> e
     com.android.tools.r8.utils.Timing$Node slowest -> d
     int taskCount -> c
     com.android.tools.r8.utils.Timing$Node parent -> a
     com.android.tools.r8.utils.Timing$Node merged -> b
-    1:1:void <clinit>():225:225 -> <clinit>
-    1:1:void <init>(java.lang.String,int,com.android.tools.r8.utils.Timing,com.android.tools.r8.utils.Timing$1):225:225 -> <init>
-    2:2:void <init>(java.lang.String,int,com.android.tools.r8.utils.Timing):232:232 -> <init>
-    3:9:void <init>(java.lang.String,int,com.android.tools.r8.utils.Timing):229:235 -> <init>
-    1:1:com.android.tools.r8.utils.Timing$Node access$1000(com.android.tools.r8.utils.Timing$TimingMerger):225:225 -> a
-    2:18:void add(java.util.Collection):286:302 -> a
-    19:23:void lambda$add$1(com.android.tools.r8.utils.Timing$TimingMerger$Item,boolean,java.util.Deque,java.lang.String,com.android.tools.r8.utils.Timing$Node):304:308 -> a
-    24:24:com.android.tools.r8.utils.Timing$Node lambda$add$0(boolean,java.lang.String):305:305 -> a
-    25:26:void end():315:316 -> a
-    1:1:int access$900(com.android.tools.r8.utils.Timing$TimingMerger):225:225 -> b
-com.android.tools.r8.utils.Timing$TimingMerger$1 -> com.android.tools.r8.internal.tZ:
+    1:1:void <clinit>():230:230 -> <clinit>
+    1:1:void <init>(java.lang.String,int,com.android.tools.r8.utils.Timing,com.android.tools.r8.utils.Timing$1):230:230 -> <init>
+    2:2:void <init>(java.lang.String,int,com.android.tools.r8.utils.Timing):237:237 -> <init>
+    3:9:void <init>(java.lang.String,int,com.android.tools.r8.utils.Timing):234:240 -> <init>
+    1:1:com.android.tools.r8.utils.Timing$Node access$1000(com.android.tools.r8.utils.Timing$TimingMerger):230:230 -> a
+    2:18:void add(java.util.Collection):291:307 -> a
+    19:23:void lambda$add$1(com.android.tools.r8.utils.Timing$TimingMerger$Item,boolean,java.util.Deque,java.lang.String,com.android.tools.r8.utils.Timing$Node):309:313 -> a
+    24:24:com.android.tools.r8.utils.Timing$Node lambda$add$0(boolean,java.lang.String):310:310 -> a
+    25:26:void end():320:321 -> a
+    1:1:int access$900(com.android.tools.r8.utils.Timing$TimingMerger):230:230 -> b
+com.android.tools.r8.utils.Timing$TimingMerger$1 -> com.android.tools.r8.internal.yZ:
     boolean $assertionsDisabled -> k
     int val$numberOfThreads -> i
     com.android.tools.r8.utils.Timing$TimingMerger this$0 -> j
-    1:1:void <clinit>():235:235 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.utils.Timing$TimingMerger,java.lang.String,boolean,int):235:235 -> <init>
-    1:1:void report(int,com.android.tools.r8.utils.Timing$Node):238:238 -> a
-    2:2:long com.android.tools.r8.utils.Timing$Node.duration():151:151 -> a
-    2:2:void report(int,com.android.tools.r8.utils.Timing$Node):238 -> a
-    3:3:void report(int,com.android.tools.r8.utils.Timing$Node):238:238 -> a
-    4:5:void com.android.tools.r8.utils.Timing$Node.printPrefix(int):199:200 -> a
-    4:5:void report(int,com.android.tools.r8.utils.Timing$Node):239 -> a
-    6:10:void report(int,com.android.tools.r8.utils.Timing$Node):240:244 -> a
-    11:11:long com.android.tools.r8.utils.Timing$Node.duration():151:151 -> a
-    11:11:void report(int,com.android.tools.r8.utils.Timing$Node):244 -> a
+    1:1:void <clinit>():240:240 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.utils.Timing$TimingMerger,java.lang.String,boolean,int):240:240 -> <init>
+    1:1:void report(int,com.android.tools.r8.utils.Timing$Node):243:243 -> a
+    2:2:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
+    2:2:void report(int,com.android.tools.r8.utils.Timing$Node):243 -> a
+    3:3:void report(int,com.android.tools.r8.utils.Timing$Node):243:243 -> a
+    4:5:void com.android.tools.r8.utils.Timing$Node.printPrefix(int):204:205 -> a
+    4:5:void report(int,com.android.tools.r8.utils.Timing$Node):244 -> a
+    6:10:void report(int,com.android.tools.r8.utils.Timing$Node):245:249 -> a
+    11:11:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
+    11:11:void report(int,com.android.tools.r8.utils.Timing$Node):249 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    12:12:long com.android.tools.r8.utils.Timing$Node.duration():151:151 -> a
-    12:12:void report(int,com.android.tools.r8.utils.Timing$Node):245 -> a
-    13:14:void report(int,com.android.tools.r8.utils.Timing$Node):245:246 -> a
+    12:12:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
+    12:12:void report(int,com.android.tools.r8.utils.Timing$Node):250 -> a
+    13:14:void report(int,com.android.tools.r8.utils.Timing$Node):250:251 -> a
     15:15:void report(int,com.android.tools.r8.utils.Timing$Node):0:0 -> a
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":557,"2":558,"3":559}}
-    557:557:void report(int,com.android.tools.r8.utils.Timing$Node):246:246 -> a
-    558:558:void report(int,com.android.tools.r8.utils.Timing$Node):246:246 -> a
-    559:559:void report(int,com.android.tools.r8.utils.Timing$Node):246:246 -> a
-    261:268:void report(int,com.android.tools.r8.utils.Timing$Node):246:246 -> a
-    276:283:void report(int,com.android.tools.r8.utils.Timing$Node):254:261 -> a
-    284:285:void com.android.tools.r8.utils.Timing$Node.printPrefix(int):199:200 -> a
-    284:285:void report(int,com.android.tools.r8.utils.Timing$Node):262 -> a
-    286:286:void report(int,com.android.tools.r8.utils.Timing$Node):263:263 -> a
-    287:287:void report(int,com.android.tools.r8.utils.Timing$Node):0:0 -> a
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":576,"2":577,"3":578}}
-    576:576:void report(int,com.android.tools.r8.utils.Timing$Node):263:263 -> a
-    577:577:void report(int,com.android.tools.r8.utils.Timing$Node):263:263 -> a
-    578:578:void report(int,com.android.tools.r8.utils.Timing$Node):263:263 -> a
-    550:550:void report(int,com.android.tools.r8.utils.Timing$Node):263:263 -> a
-    551:551:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):160:160 -> a
-    551:551:void report(int,com.android.tools.r8.utils.Timing$Node):263 -> a
-    552:552:void report(int,com.android.tools.r8.utils.Timing$Node):0:0 -> a
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":579,"2":580,"3":581}}
-    579:579:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):161:161 -> a
-    579:579:void report(int,com.android.tools.r8.utils.Timing$Node):263 -> a
-    580:580:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):161:161 -> a
-    580:580:void report(int,com.android.tools.r8.utils.Timing$Node):263 -> a
-    581:581:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):161:161 -> a
-    581:581:void report(int,com.android.tools.r8.utils.Timing$Node):263 -> a
-    553:553:long com.android.tools.r8.utils.Timing$Node.duration():151:151 -> a
-    553:553:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):161 -> a
-    553:553:void report(int,com.android.tools.r8.utils.Timing$Node):263 -> a
-    554:554:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):161:161 -> a
-    554:554:void report(int,com.android.tools.r8.utils.Timing$Node):263 -> a
-    555:556:void report(int,com.android.tools.r8.utils.Timing$Node):263:264 -> a
-    582:582:void lambda$report$0(int,java.lang.String,com.android.tools.r8.utils.Timing$Node):259:259 -> a
-    1:1:void lambda$report$1(int,java.lang.String,com.android.tools.r8.utils.Timing$Node):264:264 -> b
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":567,"2":568,"3":569}}
+    567:567:void report(int,com.android.tools.r8.utils.Timing$Node):251:251 -> a
+    568:568:void report(int,com.android.tools.r8.utils.Timing$Node):251:251 -> a
+    569:569:void report(int,com.android.tools.r8.utils.Timing$Node):251:251 -> a
+    266:273:void report(int,com.android.tools.r8.utils.Timing$Node):251:251 -> a
+    281:288:void report(int,com.android.tools.r8.utils.Timing$Node):259:266 -> a
+    289:290:void com.android.tools.r8.utils.Timing$Node.printPrefix(int):204:205 -> a
+    289:290:void report(int,com.android.tools.r8.utils.Timing$Node):267 -> a
+    291:291:void report(int,com.android.tools.r8.utils.Timing$Node):268:268 -> a
+    292:292:void report(int,com.android.tools.r8.utils.Timing$Node):0:0 -> a
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":586,"2":587,"3":588}}
+    586:586:void report(int,com.android.tools.r8.utils.Timing$Node):268:268 -> a
+    587:587:void report(int,com.android.tools.r8.utils.Timing$Node):268:268 -> a
+    588:588:void report(int,com.android.tools.r8.utils.Timing$Node):268:268 -> a
+    560:560:void report(int,com.android.tools.r8.utils.Timing$Node):268:268 -> a
+    561:561:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):165:165 -> a
+    561:561:void report(int,com.android.tools.r8.utils.Timing$Node):268 -> a
+    562:562:void report(int,com.android.tools.r8.utils.Timing$Node):0:0 -> a
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":589,"2":590,"3":591}}
+    589:589:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):166:166 -> a
+    589:589:void report(int,com.android.tools.r8.utils.Timing$Node):268 -> a
+    590:590:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):166:166 -> a
+    590:590:void report(int,com.android.tools.r8.utils.Timing$Node):268 -> a
+    591:591:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):166:166 -> a
+    591:591:void report(int,com.android.tools.r8.utils.Timing$Node):268 -> a
+    563:563:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
+    563:563:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):166 -> a
+    563:563:void report(int,com.android.tools.r8.utils.Timing$Node):268 -> a
+    564:564:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):166:166 -> a
+    564:564:void report(int,com.android.tools.r8.utils.Timing$Node):268 -> a
+    565:566:void report(int,com.android.tools.r8.utils.Timing$Node):268:269 -> a
+    592:592:void lambda$report$0(int,java.lang.String,com.android.tools.r8.utils.Timing$Node):264:264 -> a
+    1:1:void lambda$report$1(int,java.lang.String,com.android.tools.r8.utils.Timing$Node):269:269 -> b
     1:1:java.lang.String toString():0:0 -> toString
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":272,"2":273,"3":274}}
-    272:272:java.lang.String toString():270:270 -> toString
-    273:273:java.lang.String toString():270:270 -> toString
-    274:274:java.lang.String toString():270:270 -> toString
-    271:271:java.lang.String toString():270:270 -> toString
-com.android.tools.r8.utils.Timing$TimingMerger$Item -> com.android.tools.r8.internal.uZ:
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":277,"2":278,"3":279}}
+    277:277:java.lang.String toString():275:275 -> toString
+    278:278:java.lang.String toString():275:275 -> toString
+    279:279:java.lang.String toString():275:275 -> toString
+    276:276:java.lang.String toString():275:275 -> toString
+com.android.tools.r8.utils.Timing$TimingMerger$Item -> com.android.tools.r8.internal.zZ:
     com.android.tools.r8.utils.Timing$Node mergeTarget -> a
     com.android.tools.r8.utils.Timing$Node mergeSource -> b
-    1:3:void <init>(com.android.tools.r8.utils.Timing$Node,com.android.tools.r8.utils.Timing$Node):279:281 -> <init>
-com.android.tools.r8.utils.TraversalContinuation -> com.android.tools.r8.internal.NZ:
+    1:3:void <init>(com.android.tools.r8.utils.Timing$Node,com.android.tools.r8.utils.Timing$Node):284:286 -> <init>
+com.android.tools.r8.utils.Timing$TimingScope -> com.android.tools.r8.internal.BZ:
+    java.lang.Object apply() -> a
+com.android.tools.r8.utils.TraversalContinuation -> com.android.tools.r8.internal.TZ:
     com.android.tools.r8.utils.TraversalContinuation BREAK -> c
     com.android.tools.r8.utils.TraversalContinuation CONTINUE -> b
     1:2:void <clinit>():9:10 -> <clinit>
     1:1:void <init>(java.lang.String,int):8:8 -> <init>
     1:1:boolean shouldBreak():21:21 -> a
     1:1:boolean shouldContinue():25:25 -> b
-com.android.tools.r8.utils.TriConsumer -> com.android.tools.r8.internal.SZ:
+com.android.tools.r8.utils.TriConsumer -> com.android.tools.r8.internal.YZ:
     void accept(java.lang.Object,java.lang.Object,java.lang.Object) -> a
-com.android.tools.r8.utils.TriFunction -> com.android.tools.r8.internal.TZ:
+com.android.tools.r8.utils.TriFunction -> com.android.tools.r8.internal.ZZ:
     java.lang.Object apply(java.lang.Object,java.lang.Object,java.lang.Object) -> a
-com.android.tools.r8.utils.TriPredicate -> com.android.tools.r8.internal.UZ:
+com.android.tools.r8.utils.TriPredicate -> com.android.tools.r8.internal.a00:
     boolean test(java.lang.Object,java.lang.Object,java.lang.Object) -> a
-com.android.tools.r8.utils.TypeReferenceUtils -> com.android.tools.r8.internal.a10:
+com.android.tools.r8.utils.TypeReferenceUtils -> com.android.tools.r8.internal.g10:
     boolean $assertionsDisabled -> b
     java.util.Comparator COMPARATOR -> a
     1:3:void <clinit>():19:21 -> <clinit>
@@ -119579,7 +119774,7 @@
     162:162:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.references.TypeReference,com.android.tools.r8.graph.DexItemFactory,java.util.function.Function):95:95 -> a
     163:186:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.references.TypeReference,com.android.tools.r8.graph.DexItemFactory,java.util.function.Function):93:116 -> a
     187:192:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.references.TypeReference,com.android.tools.r8.graph.DexItemFactory,java.util.function.Function):114:119 -> a
-com.android.tools.r8.utils.VersionProperties -> com.android.tools.r8.internal.p20:
+com.android.tools.r8.utils.VersionProperties -> com.android.tools.r8.internal.v20:
     com.android.tools.r8.utils.VersionProperties INSTANCE -> c
     java.lang.String sha -> a
     java.lang.String releaser -> b
@@ -119599,15 +119794,15 @@
     111:111:java.lang.String getDescription():53:53 -> a
     54:54:java.lang.String getDescription():53:53 -> a
     55:55:java.lang.String getDescription():0:0 -> a
-      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":112,"2":113,"3":114}}
-    112:112:java.lang.String getDescription():53:53 -> a
-    113:113:java.lang.String getDescription():53:53 -> a
-    114:114:java.lang.String getDescription():53:53 -> a
+      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":109,"2":110,"3":111}}
+    109:109:java.lang.String getDescription():53:53 -> a
+    110:110:java.lang.String getDescription():53:53 -> a
+    111:111:java.lang.String getDescription():53:53 -> a
     108:108:java.lang.String getDescription():53:53 -> a
     1:1:java.lang.String getSha():57:57 -> b
     1:1:boolean isEngineering():66:66 -> c
     1:1:java.lang.String toString():62:62 -> toString
-com.android.tools.r8.utils.Visibility -> com.android.tools.r8.internal.f30:
+com.android.tools.r8.utils.Visibility -> com.android.tools.r8.internal.l30:
     com.android.tools.r8.utils.Visibility PACKAGE_PRIVATE -> e
     com.android.tools.r8.utils.Visibility[] $VALUES -> f
     com.android.tools.r8.utils.Visibility PUBLIC -> b
@@ -119622,10 +119817,10 @@
     17:17:java.lang.String toString():41:41 -> toString
     18:18:java.lang.String toString():38:38 -> toString
     19:19:java.lang.String toString():35:35 -> toString
-com.android.tools.r8.utils.Visibility$1 -> com.android.tools.r8.internal.e30:
+com.android.tools.r8.utils.Visibility$1 -> com.android.tools.r8.internal.k30:
     int[] $SwitchMap$com$android$tools$r8$utils$Visibility -> a
     1:1:void <clinit>():33:33 -> <clinit>
-com.android.tools.r8.utils.WorkList -> com.android.tools.r8.internal.y30:
+com.android.tools.r8.utils.WorkList -> com.android.tools.r8.internal.E30:
     java.util.Deque workingList -> a
     java.util.Set seen -> b
     boolean $assertionsDisabled -> c
@@ -119722,10 +119917,10 @@
     18:18:com.android.tools.r8.utils.ZipUtils$ZipBuilder addFilesRelative(java.nio.file.Path,java.nio.file.Path[]):235:235 -> a
     19:22:com.android.tools.r8.utils.ZipUtils$ZipBuilder addBytes(java.lang.String,byte[]):239:242 -> a
     23:24:java.nio.file.Path build():247:248 -> a
-com.android.tools.r8.utils.classhierarchy.MethodOverridesCollector -> com.android.tools.r8.internal.TE:
+com.android.tools.r8.utils.classhierarchy.MethodOverridesCollector -> com.android.tools.r8.internal.YE:
     1:31:com.android.tools.r8.utils.collections.ProgramMethodSet findAllMethodsAndOverridesThatMatches(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,java.util.Collection,java.util.function.Predicate):36:66 -> a
     32:36:void lambda$findAllMethodsAndOverridesThatMatches$0(java.util.function.Predicate,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.ProgramMethod):42:46 -> a
-com.android.tools.r8.utils.classhierarchy.MethodOverridesCollector$InterfaceMethodToClassSiblingPropagator -> com.android.tools.r8.internal.RE:
+com.android.tools.r8.utils.classhierarchy.MethodOverridesCollector$InterfaceMethodToClassSiblingPropagator -> com.android.tools.r8.internal.WE:
     com.android.tools.r8.utils.collections.ProgramMethodSet classRootMethods -> f
     java.util.Map interfaceMethodsOfInterest -> g
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.utils.collections.ProgramMethodSet):81:81 -> <init>
@@ -119743,7 +119938,7 @@
     20:20:com.android.tools.r8.graph.MethodResolutionResult com.android.tools.r8.graph.AppInfoWithClassHierarchy.resolveMethodOnClass(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexClass):786:786 -> k
     20:20:void visit(com.android.tools.r8.graph.DexProgramClass):114 -> k
     21:32:void visit(com.android.tools.r8.graph.DexProgramClass):115:126 -> k
-com.android.tools.r8.utils.classhierarchy.MethodOverridesCollector$TopDownClassHierarchyPropagator -> com.android.tools.r8.internal.SE:
+com.android.tools.r8.utils.classhierarchy.MethodOverridesCollector$TopDownClassHierarchyPropagator -> com.android.tools.r8.internal.XE:
     com.android.tools.r8.utils.collections.ProgramMethodSet result -> g
     java.util.Map methodsOfInterest -> f
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.utils.collections.ProgramMethodSet):164:164 -> <init>
@@ -119760,12 +119955,12 @@
     6:6:void visit(com.android.tools.r8.graph.DexProgramClass):185 -> k
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
     7:7:void visit(com.android.tools.r8.graph.DexProgramClass):190:190 -> k
-com.android.tools.r8.utils.collections.BidirectionalManyToManyMap -> com.android.tools.r8.internal.K4:
+com.android.tools.r8.utils.collections.BidirectionalManyToManyMap -> com.android.tools.r8.internal.L4:
     java.util.Set getKeys(java.lang.Object) -> a
-com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap -> com.android.tools.r8.internal.L4:
+com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap -> com.android.tools.r8.internal.M4:
     java.lang.Object getRepresentativeValue(java.lang.Object) -> b
     java.lang.Object getRepresentativeKey(java.lang.Object) -> c
-com.android.tools.r8.utils.collections.BidirectionalManyToOneHashMap -> com.android.tools.r8.internal.M4:
+com.android.tools.r8.utils.collections.BidirectionalManyToOneHashMap -> com.android.tools.r8.internal.N4:
     java.util.Map backing -> b
     java.util.Map inverse -> c
     boolean $assertionsDisabled -> d
@@ -119793,10 +119988,10 @@
     1:1:java.util.Set keySet():87:87 -> keySet
     1:3:java.lang.Object put(java.lang.Object,java.lang.Object):139:141 -> put
     1:1:java.util.Set values():152:152 -> values
-com.android.tools.r8.utils.collections.BidirectionalManyToOneMap -> com.android.tools.r8.internal.N4:
+com.android.tools.r8.utils.collections.BidirectionalManyToOneMap -> com.android.tools.r8.internal.O4:
     void forEachManyToOneMapping(java.util.function.BiConsumer) -> a
     java.util.Map getForwardMap() -> e
-com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeHashMap -> com.android.tools.r8.internal.O4:
+com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeHashMap -> com.android.tools.r8.internal.P4:
     boolean $assertionsDisabled -> f
     java.util.Map representatives -> e
     1:1:void <clinit>():13:13 -> <clinit>
@@ -119825,8 +120020,8 @@
     2:2:java.lang.Object com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeHashMap.removeRepresentativeFor(java.lang.Object):44:44 -> f
     2:2:java.util.Set removeValue(java.lang.Object):108 -> f
     1:1:boolean hasExplicitRepresentativeKey(java.lang.Object):54:54 -> g
-com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap -> com.android.tools.r8.internal.P4:
-com.android.tools.r8.utils.collections.BidirectionalOneToManyHashMap -> com.android.tools.r8.internal.Q4:
+com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap -> com.android.tools.r8.internal.Q4:
+com.android.tools.r8.utils.collections.BidirectionalOneToManyHashMap -> com.android.tools.r8.internal.R4:
     java.util.Map backing -> b
     java.util.Map inverse -> c
     1:1:void <init>():21:21 -> <init>
@@ -119844,7 +120039,7 @@
     1:1:java.util.Set lambda$put$2(java.lang.Object):139:139 -> f
     1:1:void forEach(java.util.function.BiConsumer):47:47 -> forEach
     1:6:java.lang.Object removeValue(java.lang.Object):125:130 -> g
-com.android.tools.r8.utils.collections.BidirectionalOneToManyRepresentativeHashMap -> com.android.tools.r8.internal.R4:
+com.android.tools.r8.utils.collections.BidirectionalOneToManyRepresentativeHashMap -> com.android.tools.r8.internal.S4:
     java.util.Map representatives -> d
     boolean $assertionsDisabled -> e
     1:1:void <clinit>():12:12 -> <clinit>
@@ -119855,7 +120050,7 @@
     1:2:java.lang.Object removeValue(java.lang.Object):64:65 -> g
     3:3:java.lang.Object com.android.tools.r8.utils.collections.BidirectionalOneToManyRepresentativeHashMap.removeRepresentativeFor(java.lang.Object):59:59 -> g
     3:3:java.lang.Object removeValue(java.lang.Object):66 -> g
-com.android.tools.r8.utils.collections.BidirectionalOneToOneHashMap -> com.android.tools.r8.internal.S4:
+com.android.tools.r8.utils.collections.BidirectionalOneToOneHashMap -> com.android.tools.r8.internal.T4:
     com.android.tools.r8.com.google.common.collect.BiMap backing -> b
     1:1:void <init>():22:22 -> <init>
     2:3:void <init>(com.android.tools.r8.com.google.common.collect.BiMap):25:26 -> <init>
@@ -119891,14 +120086,14 @@
     1:1:java.util.Set com.android.tools.r8.utils.collections.BidirectionalOneToOneHashMap.values():169:169 -> values
     1:1:java.util.Collection values():16 -> values
     2:2:java.util.Set values():169:169 -> values
-com.android.tools.r8.utils.collections.BidirectionalOneToOneMap -> com.android.tools.r8.internal.T4:
-com.android.tools.r8.utils.collections.DexClassAndMethodSet -> com.android.tools.r8.internal.qg:
+com.android.tools.r8.utils.collections.BidirectionalOneToOneMap -> com.android.tools.r8.internal.U4:
+com.android.tools.r8.utils.collections.DexClassAndMethodSet -> com.android.tools.r8.internal.rg:
     com.android.tools.r8.utils.collections.DexClassAndMethodSet EMPTY -> e
     1:1:void <clinit>():18:18 -> <clinit>
     1:1:void <init>(java.util.function.Supplier):22:22 -> <init>
     1:1:com.android.tools.r8.utils.collections.DexClassAndMethodSet create():32:32 -> b
     1:1:com.android.tools.r8.utils.collections.DexClassAndMethodSet empty():60:60 -> c
-com.android.tools.r8.utils.collections.DexClassAndMethodSetBase -> com.android.tools.r8.internal.rg:
+com.android.tools.r8.utils.collections.DexClassAndMethodSetBase -> com.android.tools.r8.internal.sg:
     java.util.function.Supplier backingFactory -> c
     java.util.Map backing -> b
     boolean $assertionsDisabled -> d
@@ -119927,7 +120122,7 @@
     1:1:boolean removeIf(java.util.function.Predicate):84:84 -> removeIf
     1:1:int size():88:88 -> size
     1:1:java.util.stream.Stream stream():92:92 -> stream
-com.android.tools.r8.utils.collections.DexMethodSignatureSet -> com.android.tools.r8.internal.Yg:
+com.android.tools.r8.utils.collections.DexMethodSignatureSet -> com.android.tools.r8.internal.ah:
     com.android.tools.r8.utils.collections.DexMethodSignatureSet EMPTY -> c
     java.util.Set backing -> b
     1:2:void <clinit>():22:23 -> <clinit>
@@ -119973,7 +120168,7 @@
     1:1:int size():162:162 -> size
     1:1:java.lang.Object[] toArray():167:167 -> toArray
     2:2:java.lang.Object[] toArray(java.lang.Object[]):172:172 -> toArray
-com.android.tools.r8.utils.collections.EmptyBidirectionalOneToOneMap -> com.android.tools.r8.internal.Ih:
+com.android.tools.r8.utils.collections.EmptyBidirectionalOneToOneMap -> com.android.tools.r8.internal.Kh:
     1:1:void <init>():15:15 -> <init>
     void forEachManyToOneMapping(java.util.function.BiConsumer) -> a
     1:1:java.util.Set getKeys(java.lang.Object):92:92 -> a
@@ -119983,7 +120178,7 @@
     1:1:java.util.Map getForwardMap():15 -> e
     1:1:java.util.Set keySet():107:107 -> keySet
     1:1:java.util.Set values():112:112 -> values
-com.android.tools.r8.utils.collections.IdentityHashSetFromMap -> com.android.tools.r8.internal.In:
+com.android.tools.r8.utils.collections.IdentityHashSetFromMap -> com.android.tools.r8.internal.Kn:
     java.util.Map backing -> b
     java.util.function.Function valueToKeyMapping -> c
     1:1:void <init>(java.util.function.Function):21:21 -> <init>
@@ -120003,7 +120198,7 @@
     1:1:int size():31:31 -> size
     1:1:java.lang.Object[] toArray():52:52 -> toArray
     2:2:java.lang.Object[] toArray(java.lang.Object[]):57:57 -> toArray
-com.android.tools.r8.utils.collections.ImmutableDeque -> com.android.tools.r8.internal.Sn:
+com.android.tools.r8.utils.collections.ImmutableDeque -> com.android.tools.r8.internal.Un:
     boolean isClosed -> b
     1:1:void <init>(java.util.Collection):20:20 -> <init>
     2:2:void <init>(java.util.Collection):17:17 -> <init>
@@ -120027,7 +120222,7 @@
     1:1:boolean removeIf(java.util.function.Predicate):73:73 -> removeIf
     1:1:java.lang.Object removeLast():83:83 -> removeLast
     1:1:boolean removeLastOccurrence(java.lang.Object):78:78 -> removeLastOccurrence
-com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap -> com.android.tools.r8.internal.Yn:
+com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap -> com.android.tools.r8.internal.ao:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap sortedMap -> c
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap$1):17:17 -> <init>
     2:3:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap):21:22 -> <init>
@@ -120097,13 +120292,13 @@
     1:1:java.util.SortedMap tailMap(java.lang.Object):17:17 -> tailMap
     2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.tailMap(java.lang.Integer):135:135 -> tailMap
     2:2:java.util.SortedMap tailMap(java.lang.Object):17 -> tailMap
-com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap$1 -> com.android.tools.r8.internal.Wn:
-com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap$Builder -> com.android.tools.r8.internal.Xn:
+com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap$1 -> com.android.tools.r8.internal.Yn:
+com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap$Builder -> com.android.tools.r8.internal.Zn:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap sortedMap -> a
     1:3:void <init>():41:43 -> <init>
     1:1:com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap$Builder put(int,java.lang.Object):46:46 -> a
     2:2:com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap build():51:51 -> a
-com.android.tools.r8.utils.collections.LongLivedClassSetBuilder -> com.android.tools.r8.internal.cD:
+com.android.tools.r8.utils.collections.LongLivedClassSetBuilder -> com.android.tools.r8.internal.hD:
     boolean $assertionsDisabled -> f
     1:1:void <clinit>():16:16 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.GraphLens,java.util.function.IntFunction,java.util.function.IntFunction):23:23 -> <init>
@@ -120124,7 +120319,7 @@
     87:87:java.util.Set build(com.android.tools.r8.graph.AppView):70:70 -> a
     88:88:java.util.Set build(com.android.tools.r8.graph.AppView):70:70 -> a
     85:85:java.util.Set build(com.android.tools.r8.graph.AppView):70:70 -> a
-com.android.tools.r8.utils.collections.LongLivedCollectionBuilder -> com.android.tools.r8.internal.dD:
+com.android.tools.r8.utils.collections.LongLivedCollectionBuilder -> com.android.tools.r8.internal.iD:
     java.util.function.IntFunction factoryForBuilder -> b
     java.lang.Object backing -> d
     boolean $assertionsDisabled -> e
@@ -120132,7 +120327,7 @@
     com.android.tools.r8.graph.GraphLens appliedGraphLens -> c
     1:1:void <clinit>():10:10 -> <clinit>
     1:5:void <init>(com.android.tools.r8.graph.GraphLens,java.util.function.IntFunction,java.util.function.IntFunction):27:31 -> <init>
-com.android.tools.r8.utils.collections.LongLivedProgramMethodMapBuilder -> com.android.tools.r8.internal.eD:
+com.android.tools.r8.utils.collections.LongLivedProgramMethodMapBuilder -> com.android.tools.r8.internal.jD:
     boolean $assertionsDisabled -> f
     1:1:void <clinit>():23:23 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.GraphLens,java.util.function.IntFunction,java.util.function.IntFunction):30:30 -> <init>
@@ -120159,7 +120354,7 @@
     32:32:com.android.tools.r8.utils.collections.ProgramMethodMap build(com.android.tools.r8.graph.AppView,java.util.function.Function):92 -> a
     33:34:com.android.tools.r8.utils.collections.ProgramMethodMap build(com.android.tools.r8.graph.AppView,java.util.function.Function):94:95 -> a
     35:40:void lambda$build$2(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.ProgramMethodMap,java.util.function.Function,com.android.tools.r8.graph.DexMethod,java.lang.Object):97:102 -> a
-com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder -> com.android.tools.r8.internal.fD:
+com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder -> com.android.tools.r8.internal.kD:
     java.util.function.IntFunction factoryForBuilder -> b
     java.util.Set methods -> d
     boolean $assertionsDisabled -> e
@@ -120221,11 +120416,11 @@
     1:13:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder rewrittenWithLens(com.android.tools.r8.graph.GraphLens):143:155 -> c
     1:4:boolean verifyIsRewrittenWithNewerLens(com.android.tools.r8.graph.GraphLens):180:183 -> d
     5:5:boolean verifyIsRewrittenWithNewerLens(com.android.tools.r8.graph.GraphLens):182:182 -> d
-com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneMap -> com.android.tools.r8.internal.sG:
+com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneMap -> com.android.tools.r8.internal.xG:
     void put(java.lang.Iterable,java.lang.Object) -> a
-com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap -> com.android.tools.r8.internal.tG:
-com.android.tools.r8.utils.collections.MutableBidirectionalOneToManyRepresentativeMap -> com.android.tools.r8.internal.uG:
-com.android.tools.r8.utils.collections.ProgramFieldSet -> com.android.tools.r8.internal.qN:
+com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap -> com.android.tools.r8.internal.yG:
+com.android.tools.r8.utils.collections.MutableBidirectionalOneToManyRepresentativeMap -> com.android.tools.r8.internal.zG:
+com.android.tools.r8.utils.collections.ProgramFieldSet -> com.android.tools.r8.internal.vN:
     java.util.Map backing -> b
     com.android.tools.r8.utils.collections.ProgramFieldSet EMPTY -> c
     boolean $assertionsDisabled -> d
@@ -120239,7 +120434,7 @@
     1:1:com.android.tools.r8.utils.collections.ProgramFieldSet empty():34:34 -> b
     2:2:boolean contains(com.android.tools.r8.graph.ProgramField):60:60 -> b
     1:1:java.util.Iterator iterator():73:73 -> iterator
-com.android.tools.r8.utils.collections.ProgramMemberMap -> com.android.tools.r8.internal.sN:
+com.android.tools.r8.utils.collections.ProgramMemberMap -> com.android.tools.r8.internal.xN:
     java.util.Map backing -> a
     1:2:void <init>(java.util.function.Supplier):20:21 -> <init>
     3:4:void <init>(java.util.Map):24:25 -> <init>
@@ -120257,7 +120452,7 @@
     1:1:java.lang.Object get(com.android.tools.r8.graph.ProgramMember):49:49 -> b
     1:1:java.lang.Object remove(com.android.tools.r8.graph.ProgramMember):66:66 -> c
     com.android.tools.r8.com.google.common.base.Equivalence$Wrapper wrap(com.android.tools.r8.graph.ProgramMember) -> d
-com.android.tools.r8.utils.collections.ProgramMethodMap -> com.android.tools.r8.internal.uN:
+com.android.tools.r8.utils.collections.ProgramMethodMap -> com.android.tools.r8.internal.zN:
     com.android.tools.r8.utils.collections.ProgramMethodMap EMPTY -> b
     1:1:void <clinit>():18:18 -> <clinit>
     1:1:void <init>(java.util.function.Supplier):21:21 -> <init>
@@ -120269,7 +120464,7 @@
     2:2:com.android.tools.r8.com.google.common.base.Equivalence$Wrapper com.android.tools.r8.utils.collections.ProgramMethodMap.wrap(com.android.tools.r8.graph.ProgramMethod):47:47 -> d
     2:2:com.android.tools.r8.com.google.common.base.Equivalence$Wrapper wrap(com.android.tools.r8.graph.ProgramMember):16 -> d
     3:3:com.android.tools.r8.utils.collections.ProgramMethodMap empty():42:42 -> d
-com.android.tools.r8.utils.collections.ProgramMethodMultiset -> com.android.tools.r8.internal.vN:
+com.android.tools.r8.utils.collections.ProgramMethodMultiset -> com.android.tools.r8.internal.AN:
     com.android.tools.r8.com.google.common.collect.Multiset backing -> a
     1:2:void <init>(com.android.tools.r8.com.google.common.collect.Multiset):22:23 -> <init>
     1:1:com.android.tools.r8.utils.collections.ProgramMethodMultiset createConcurrent():27:27 -> a
@@ -120282,7 +120477,7 @@
     7:7:boolean lambda$removeIf$1(java.util.function.Predicate,com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):47:47 -> a
     8:8:boolean removeIf(java.util.function.Predicate):47:47 -> a
     1:1:int size():51:51 -> b
-com.android.tools.r8.utils.collections.ProgramMethodSet -> com.android.tools.r8.internal.wN:
+com.android.tools.r8.utils.collections.ProgramMethodSet -> com.android.tools.r8.internal.BN:
     com.android.tools.r8.utils.collections.ProgramMethodSet EMPTY -> e
     1:1:void <clinit>():23:23 -> <clinit>
     1:1:void <init>(java.util.function.Supplier):26:26 -> <init>
@@ -120308,7 +120503,7 @@
     1:1:com.android.tools.r8.utils.collections.ProgramMethodSet createLinked():66:66 -> d
     1:1:com.android.tools.r8.utils.collections.ProgramMethodSet empty():70:70 -> e
     1:1:com.android.tools.r8.utils.collections.ProgramMethodSet create(int):40:40 -> i
-com.android.tools.r8.utils.collections.SortedProgramMethodSet -> com.android.tools.r8.internal.YV:
+com.android.tools.r8.utils.collections.SortedProgramMethodSet -> com.android.tools.r8.internal.dW:
     1:1:void <clinit>():25:25 -> <clinit>
     1:1:void <init>(java.util.function.Supplier):29:29 -> <init>
     1:1:com.android.tools.r8.utils.collections.ProgramMethodSet rewrittenWithLens(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):23:23 -> a
@@ -120330,7 +120525,7 @@
     1:1:com.android.tools.r8.utils.collections.SortedProgramMethodSet create():33:33 -> f
     1:1:java.util.SortedMap lambda$create$1():44:44 -> g
     1:1:java.util.SortedMap lambda$static$0():26:26 -> h
-com.android.tools.r8.utils.structural.CompareToVisitor -> com.android.tools.r8.internal.wc:
+com.android.tools.r8.utils.structural.CompareToVisitor -> com.android.tools.r8.internal.xc:
     1:1:void <init>():18:18 -> <init>
     int visit(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.StructuralMapping) -> a
     int visitBool(boolean,boolean) -> a
@@ -120345,7 +120540,7 @@
     1:1:int visitItemCollection(java.util.Collection,java.util.Collection):40:40 -> a
     2:2:int visitDexField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):48:48 -> a
     3:3:int visitDexMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):52:52 -> a
-com.android.tools.r8.utils.structural.CompareToVisitorBase -> com.android.tools.r8.internal.zc:
+com.android.tools.r8.utils.structural.CompareToVisitorBase -> com.android.tools.r8.internal.Ac:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():19:19 -> <clinit>
     1:1:void <init>():19:19 -> <init>
@@ -120366,8 +120561,8 @@
     16:16:int visitDexReference(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):79 -> a
     17:21:int visitDexReference(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):80:84 -> a
     22:24:int visit(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.StructuralMapping):97:99 -> a
-com.android.tools.r8.utils.structural.CompareToVisitorBase$1 -> com.android.tools.r8.internal.xc:
-com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification -> com.android.tools.r8.internal.yc:
+com.android.tools.r8.utils.structural.CompareToVisitorBase$1 -> com.android.tools.r8.internal.yc:
+com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification -> com.android.tools.r8.internal.zc:
     com.android.tools.r8.utils.structural.CompareToVisitorBase parent -> a
     java.lang.Object item1 -> b
     boolean $assertionsDisabled -> e
@@ -120437,7 +120632,7 @@
     12:12:com.android.tools.r8.utils.structural.StructuralSpecification withShortArray(java.util.function.Function):102 -> i
     13:13:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withShortArray(java.util.function.Function):186:186 -> i
     13:13:com.android.tools.r8.utils.structural.StructuralSpecification withShortArray(java.util.function.Function):102 -> i
-com.android.tools.r8.utils.structural.CompareToVisitorWithNamingLens -> com.android.tools.r8.internal.Ac:
+com.android.tools.r8.utils.structural.CompareToVisitorWithNamingLens -> com.android.tools.r8.internal.Bc:
     com.android.tools.r8.naming.NamingLens namingLens -> b
     1:2:void <init>(com.android.tools.r8.naming.NamingLens):29:30 -> <init>
     1:4:int visitDexType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):38:41 -> a
@@ -120459,40 +120654,40 @@
     15:15:int com.android.tools.r8.graph.DexString.acceptCompareTo(com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.structural.CompareToVisitor):65:65 -> a
     15:15:int visitDexMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):69 -> a
     16:16:int visitDexMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):73:73 -> a
-com.android.tools.r8.utils.structural.CompareToVisitorWithStringTable -> com.android.tools.r8.internal.Bc:
+com.android.tools.r8.utils.structural.CompareToVisitorWithStringTable -> com.android.tools.r8.internal.Cc:
     java.util.function.ToIntFunction stringTable -> c
     1:2:void <init>(com.android.tools.r8.naming.NamingLens,java.util.function.ToIntFunction):16:17 -> <init>
     1:1:int visitDexString(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):25:25 -> a
     2:2:int com.android.tools.r8.utils.structural.CompareToVisitorBase.visitInt(int,int):38:38 -> a
     2:2:int visitDexString(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):25 -> a
-com.android.tools.r8.utils.structural.CompareToVisitorWithTypeEquivalence -> com.android.tools.r8.internal.Cc:
+com.android.tools.r8.utils.structural.CompareToVisitorWithTypeEquivalence -> com.android.tools.r8.internal.Dc:
     com.android.tools.r8.utils.structural.RepresentativeMap representatives -> b
     1:2:void <init>(com.android.tools.r8.utils.structural.RepresentativeMap):26:27 -> <init>
     1:3:int visitDexType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):35:37 -> a
     4:4:int com.android.tools.r8.graph.DexString.acceptCompareTo(com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.structural.CompareToVisitor):65:65 -> a
     4:4:int visitDexType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):37 -> a
-com.android.tools.r8.utils.structural.CompareToVisitorWithTypeTable -> com.android.tools.r8.internal.Dc:
+com.android.tools.r8.utils.structural.CompareToVisitorWithTypeTable -> com.android.tools.r8.internal.Ec:
     java.util.function.ToIntFunction typeTable -> d
     1:2:void <init>(com.android.tools.r8.naming.NamingLens,java.util.function.ToIntFunction,java.util.function.ToIntFunction):19:20 -> <init>
     1:1:int visitDexType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):28:28 -> a
     2:2:int com.android.tools.r8.utils.structural.CompareToVisitorBase.visitInt(int,int):38:38 -> a
     2:2:int visitDexType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):28 -> a
-com.android.tools.r8.utils.structural.DefaultCompareToVisitor -> com.android.tools.r8.internal.Re:
+com.android.tools.r8.utils.structural.DefaultCompareToVisitor -> com.android.tools.r8.internal.Se:
     com.android.tools.r8.graph.DexType lambda$run$1(com.android.tools.r8.graph.DexType) -> a
     1:1:int run(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept):21:21 -> a
     2:3:int com.android.tools.r8.utils.structural.CompareToVisitorWithTypeEquivalence.run(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.RepresentativeMap,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept):20:21 -> a
     2:3:int run(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept):21 -> a
-com.android.tools.r8.utils.structural.DefaultHashingVisitor -> com.android.tools.r8.internal.Ue:
+com.android.tools.r8.utils.structural.DefaultHashingVisitor -> com.android.tools.r8.internal.Ve:
     com.android.tools.r8.graph.DexType lambda$run$1(com.android.tools.r8.graph.DexType) -> a
     1:1:void run(java.lang.Object,com.android.tools.r8.utils.structural.HasherWrapper,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):21:21 -> a
-com.android.tools.r8.utils.structural.Equatable -> com.android.tools.r8.internal.Ui:
+com.android.tools.r8.utils.structural.Equatable -> com.android.tools.r8.internal.Wi:
     1:1:void <clinit>():6:6 -> <clinit>
     boolean isEqualTo(java.lang.Object) -> a
     1:8:boolean equalsImpl(com.android.tools.r8.utils.structural.Equatable,java.lang.Object):47:54 -> a
-com.android.tools.r8.utils.structural.Equatable$1 -> com.android.tools.r8.internal.Ti:
+com.android.tools.r8.utils.structural.Equatable$1 -> com.android.tools.r8.internal.Vi:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():47:47 -> <clinit>
-com.android.tools.r8.utils.structural.HashCodeVisitor -> com.android.tools.r8.internal.Bm:
+com.android.tools.r8.utils.structural.HashCodeVisitor -> com.android.tools.r8.internal.Dm:
     int $r8$clinit -> d
     java.lang.Object item -> a
     int hashCode -> b
@@ -120521,7 +120716,7 @@
     3:5:com.android.tools.r8.utils.structural.StructuralSpecification withCustomItemIterator(java.util.function.Function,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):25 -> b
     1:1:com.android.tools.r8.utils.structural.HashCodeVisitor com.android.tools.r8.utils.structural.HashCodeVisitor.withShortArray(java.util.function.Function):89:89 -> i
     1:1:com.android.tools.r8.utils.structural.StructuralSpecification withShortArray(java.util.function.Function):25 -> i
-com.android.tools.r8.utils.structural.HasherWrapper -> com.android.tools.r8.internal.Hm:
+com.android.tools.r8.utils.structural.HasherWrapper -> com.android.tools.r8.internal.Jm:
     java.lang.Object hash() -> a
     void putBoolean(boolean) -> a
     void putBytes(byte[]) -> a
@@ -120531,7 +120726,7 @@
     void putLong(long) -> a
     java.lang.String hashCodeAsString() -> b
     1:1:com.android.tools.r8.utils.structural.HasherWrapper sha256Hasher():33:33 -> c
-com.android.tools.r8.utils.structural.HasherWrapper$HasherWrapped -> com.android.tools.r8.internal.Gm:
+com.android.tools.r8.utils.structural.HasherWrapper$HasherWrapped -> com.android.tools.r8.internal.Im:
     com.android.tools.r8.com.google.common.hash.Hasher hasher -> a
     1:2:void <init>(com.android.tools.r8.com.google.common.hash.Hasher):44:45 -> <init>
     1:1:void putBoolean(boolean):50:50 -> a
@@ -120542,7 +120737,7 @@
     6:6:void putBytes(byte[]):75:75 -> a
     7:7:java.lang.Object hash():81:81 -> a
     1:1:java.lang.String hashCodeAsString():86:86 -> b
-com.android.tools.r8.utils.structural.HashingVisitor -> com.android.tools.r8.internal.Lm:
+com.android.tools.r8.utils.structural.HashingVisitor -> com.android.tools.r8.internal.Nm:
     1:1:void <init>():16:16 -> <init>
     void visit(java.lang.Object,com.android.tools.r8.utils.structural.StructuralMapping) -> a
     void visitBool(boolean) -> a
@@ -120557,7 +120752,7 @@
     2:2:void visitDexField(com.android.tools.r8.graph.DexField):44:44 -> a
     3:3:void visitDexMethod(com.android.tools.r8.graph.DexMethod):48:48 -> a
     4:4:void visitDexReference(com.android.tools.r8.graph.DexReference):52:52 -> a
-com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence -> com.android.tools.r8.internal.Om:
+com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence -> com.android.tools.r8.internal.Qm:
     com.android.tools.r8.utils.structural.HasherWrapper hash -> a
     com.android.tools.r8.utils.structural.RepresentativeMap representatives -> b
     1:3:void <init>(com.android.tools.r8.utils.structural.HasherWrapper,com.android.tools.r8.utils.structural.RepresentativeMap):34:36 -> <init>
@@ -120571,8 +120766,8 @@
     8:8:void visitDexType(com.android.tools.r8.graph.DexType):71:71 -> a
     9:9:void visit(java.lang.Object,com.android.tools.r8.utils.structural.StructuralMapping):76:76 -> a
     10:11:void visitItemIterator(java.util.Iterator,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):81:82 -> a
-com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$1 -> com.android.tools.r8.internal.Mm:
-com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$ItemSpecification -> com.android.tools.r8.internal.Nm:
+com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$1 -> com.android.tools.r8.internal.Om:
+com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$ItemSpecification -> com.android.tools.r8.internal.Pm:
     java.lang.Object item -> b
     com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence parent -> a
     boolean $assertionsDisabled -> c
@@ -120598,7 +120793,7 @@
     5:5:com.android.tools.r8.utils.structural.StructuralSpecification withCustomItemIterator(java.util.function.Function,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):86 -> b
     1:3:com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$ItemSpecification com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$ItemSpecification.withShortArray(java.util.function.Function):143:145 -> i
     1:3:com.android.tools.r8.utils.structural.StructuralSpecification withShortArray(java.util.function.Function):86 -> i
-com.android.tools.r8.utils.structural.Ordered -> com.android.tools.r8.internal.fL:
+com.android.tools.r8.utils.structural.Ordered -> com.android.tools.r8.internal.kL:
     1:1:void <clinit>():7:7 -> <clinit>
     1:2:boolean isEqualTo(java.lang.Object):16:17 -> a
     3:3:com.android.tools.r8.utils.structural.Ordered com.android.tools.r8.utils.structural.Ordered.min(com.android.tools.r8.utils.structural.Ordered,com.android.tools.r8.utils.structural.Ordered):21:21 -> a
@@ -120609,13 +120804,13 @@
     2:2:boolean isLessThan(java.lang.Object):49:49 -> c
     1:1:boolean isGreaterThanOrEqualTo(java.lang.Object):61:61 -> d
     1:1:boolean isLessThanOrEqualTo(java.lang.Object):53:53 -> e
-com.android.tools.r8.utils.structural.Ordered$1 -> com.android.tools.r8.internal.eL:
+com.android.tools.r8.utils.structural.Ordered$1 -> com.android.tools.r8.internal.jL:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():16:16 -> <clinit>
-com.android.tools.r8.utils.structural.RepresentativeMap -> com.android.tools.r8.internal.lT:
+com.android.tools.r8.utils.structural.RepresentativeMap -> com.android.tools.r8.internal.qT:
     com.android.tools.r8.graph.DexType getRepresentative(com.android.tools.r8.graph.DexType) -> a
-com.android.tools.r8.utils.structural.StructuralAcceptor -> com.android.tools.r8.internal.dY:
-com.android.tools.r8.utils.structural.StructuralItem -> com.android.tools.r8.internal.fY:
+com.android.tools.r8.utils.structural.StructuralAcceptor -> com.android.tools.r8.internal.iY:
+com.android.tools.r8.utils.structural.StructuralItem -> com.android.tools.r8.internal.kY:
     com.android.tools.r8.utils.structural.StructuralItem self() -> L
     1:1:int compareTo(com.android.tools.r8.utils.structural.StructuralItem):28:28 -> a
     2:2:int compareWithTypeEquivalenceTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.RepresentativeMap):39:39 -> a
@@ -120627,13 +120822,13 @@
     8:8:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):76:76 -> a
     1:1:int compareTo(java.lang.Object):7:7 -> compareTo
     com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping() -> n
-com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept -> com.android.tools.r8.internal.eY:
+com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept -> com.android.tools.r8.internal.jY:
     int acceptCompareTo(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.CompareToVisitor) -> a
-com.android.tools.r8.utils.structural.StructuralItem$HashingAccept -> com.android.tools.r8.internal.fY$a:
+com.android.tools.r8.utils.structural.StructuralItem$HashingAccept -> com.android.tools.r8.internal.kY$a:
     void acceptHashing(java.lang.Object,com.android.tools.r8.utils.structural.HashingVisitor) -> a
-com.android.tools.r8.utils.structural.StructuralMapping -> com.android.tools.r8.internal.gY:
+com.android.tools.r8.utils.structural.StructuralMapping -> com.android.tools.r8.internal.lY:
     void apply(com.android.tools.r8.utils.structural.StructuralSpecification) -> a
-com.android.tools.r8.utils.structural.StructuralSpecification -> com.android.tools.r8.internal.hY:
+com.android.tools.r8.utils.structural.StructuralSpecification -> com.android.tools.r8.internal.mY:
     1:1:void <init>():18:18 -> <init>
     boolean lambda$withCustomItem$0(java.lang.Object) -> a
     com.android.tools.r8.utils.structural.StructuralSpecification self() -> a
@@ -120663,21 +120858,21 @@
     1:1:com.android.tools.r8.utils.structural.StructuralSpecification withItemIterator(java.util.function.Function):83:83 -> g
     1:1:com.android.tools.r8.utils.structural.StructuralSpecification withNullableItem(java.util.function.Function):73:73 -> h
     com.android.tools.r8.utils.structural.StructuralSpecification withShortArray(java.util.function.Function) -> i
-com.android.tools.r8.verticalclassmerging.EmptyInterfaceTypeToClassTypeLensCodeRewriterHelper -> com.android.tools.r8.internal.Qh:
+com.android.tools.r8.verticalclassmerging.EmptyInterfaceTypeToClassTypeLensCodeRewriterHelper -> com.android.tools.r8.internal.Sh:
     1:1:void <init>():16:16 -> <init>
     void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator) -> a
     void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator) -> a
     void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator) -> a
     void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.Return,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator) -> a
     void processWorklist() -> a
-com.android.tools.r8.verticalclassmerging.InterfaceTypeToClassTypeLensCodeRewriterHelper -> com.android.tools.r8.internal.Vt:
+com.android.tools.r8.verticalclassmerging.InterfaceTypeToClassTypeLensCodeRewriterHelper -> com.android.tools.r8.internal.Xt:
     1:1:void <init>():39:39 -> <init>
     void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator) -> a
     void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator) -> a
     void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator) -> a
     void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.Return,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator) -> a
     void processWorklist() -> a
-com.android.tools.r8.verticalclassmerging.InterfaceTypeToClassTypeLensCodeRewriterHelperImpl -> com.android.tools.r8.internal.Xt:
+com.android.tools.r8.verticalclassmerging.InterfaceTypeToClassTypeLensCodeRewriterHelperImpl -> com.android.tools.r8.internal.Zt:
     java.util.Map worklist -> c
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.ir.code.IRCode code -> b
@@ -120742,7 +120937,7 @@
     127:127:com.android.tools.r8.utils.OptionalBool needsCastForOperand(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean):252:252 -> a
     128:128:com.android.tools.r8.utils.OptionalBool needsCastForOperand(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean):247:247 -> a
     129:129:com.android.tools.r8.utils.OptionalBool needsCastForOperand(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean):242:242 -> a
-com.android.tools.r8.verticalclassmerging.InterfaceTypeToClassTypeLensCodeRewriterHelperImpl$WorklistItem -> com.android.tools.r8.internal.Wt:
+com.android.tools.r8.verticalclassmerging.InterfaceTypeToClassTypeLensCodeRewriterHelperImpl$WorklistItem -> com.android.tools.r8.internal.Yt:
     com.android.tools.r8.graph.DexType rewrittenType -> c
     com.android.tools.r8.graph.DexType originalType -> b
     int operandIndex -> a
