Works
diff --git a/.gitignore b/.gitignore
index a4b5251..3dc4fbf 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,6 +11,7 @@
 .idea/**/usage.statistics.xml
 .idea/**/dictionaries
 .idea/**/shelf
+.idea/runConfigurations
 
 # Generated files
 .idea/**/contentModel.xml
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
index 601ecd9..9b5f4f6 100644
--- a/.idea/inspectionProfiles/Project_Default.xml
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -12,12 +12,17 @@
       <option name="composableFile" value="true" />
       <option name="previewFile" value="true" />
     </inspection_tool>
+    <inspection_tool class="PreviewApiLevelMustBeValid" enabled="true" level="ERROR" enabled_by_default="true">
+      <option name="composableFile" value="true" />
+      <option name="previewFile" value="true" />
+    </inspection_tool>
     <inspection_tool class="PreviewDimensionRespectsLimit" enabled="true" level="WARNING" enabled_by_default="true">
       <option name="composableFile" value="true" />
       <option name="previewFile" value="true" />
     </inspection_tool>
     <inspection_tool class="PreviewFontScaleMustBeGreaterThanZero" enabled="true" level="ERROR" enabled_by_default="true">
       <option name="composableFile" value="true" />
+      <option name="previewFile" value="true" />
     </inspection_tool>
     <inspection_tool class="PreviewMultipleParameterProviders" enabled="true" level="ERROR" enabled_by_default="true">
       <option name="composableFile" value="true" />
@@ -33,9 +38,11 @@
     </inspection_tool>
     <inspection_tool class="PreviewNotSupportedInUnitTestFiles" enabled="true" level="ERROR" enabled_by_default="true">
       <option name="composableFile" value="true" />
+      <option name="previewFile" value="true" />
     </inspection_tool>
     <inspection_tool class="PreviewPickerAnnotation" enabled="true" level="ERROR" enabled_by_default="true">
       <option name="composableFile" value="true" />
+      <option name="previewFile" value="true" />
     </inspection_tool>
     <inspection_tool class="SameParameterValue" enabled="false" level="WARNING" enabled_by_default="false" />
     <inspection_tool class="SwitchStatementWithTooFewBranches" enabled="false" level="WARNING" enabled_by_default="false">
diff --git a/After Effects Samples/Benchmark.aep b/After Effects Samples/Benchmark.aep
new file mode 100644
index 0000000..e059a56
--- /dev/null
+++ b/After Effects Samples/Benchmark.aep
Binary files differ
diff --git a/app-benchmark/build.gradle b/app-benchmark/build.gradle
new file mode 100755
index 0000000..a06f954
--- /dev/null
+++ b/app-benchmark/build.gradle
@@ -0,0 +1,50 @@
+import static de.fayard.refreshVersions.core.Versions.versionFor
+
+plugins {
+    id 'com.android.application'
+    id "org.jetbrains.kotlin.android"
+    id 'androidx.baselineprofile'
+}
+
+android {
+    namespace 'com.airbnb.lottie.benchmark.app'
+    compileSdk 34
+    defaultConfig {
+        applicationId "com.airbnb.lottie.benchmark.app"
+        minSdk 21
+        targetSdk 34
+        versionCode 1
+        versionName "1.0"
+    }
+    buildTypes {
+        release {
+            minifyEnabled false
+            signingConfig signingConfigs.debug
+            debuggable false
+            proguardFiles("proguard-rules.pro")
+        }
+        create("benchmark") {
+            initWith(release)
+            signingConfig = signingConfigs.getByName("debug")
+        }
+    }
+    buildFeatures {
+        compose true
+    }
+    composeOptions {
+        kotlinCompilerExtensionVersion = versionFor(project, AndroidX.compose.compiler)
+    }
+}
+
+dependencies {
+    implementation project(':lottie-compose')
+    implementation libs.androidx.appcompat
+    implementation libs.androidx.activity.compose
+    implementation platform(libs.compose.bom)
+    implementation libs.compose.ui
+    implementation libs.compose.material
+    implementation libs.compose.material.icons.extended
+    implementation libs.compose.ui.tooling
+    // Need this to side load a Baseline Profile when Benchmarking
+    implementation libs.profileinstaller
+}
diff --git a/app-benchmark/proguard-rules.pro b/app-benchmark/proguard-rules.pro
new file mode 100644
index 0000000..7ca8254
--- /dev/null
+++ b/app-benchmark/proguard-rules.pro
@@ -0,0 +1,7 @@
+# Proguard rules that are applied to your test apk/code.
+-dontoptimize
+-dontobfuscate
+-dontshrink
+-ignorewarnings
+-dontwarn *
+-dontnote *
diff --git a/app-benchmark/src/main/AndroidManifest.xml b/app-benchmark/src/main/AndroidManifest.xml
new file mode 100755
index 0000000..dcb38f3
--- /dev/null
+++ b/app-benchmark/src/main/AndroidManifest.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <application
+        android:icon="@mipmap/ic_launcher"
+        android:label="@string/app_name"
+        android:theme="@style/Theme.AppCompat.Light.NoActionBar">
+        <profileable android:shell="true" />
+
+        <activity
+            android:name=".BenchmarkActivity"
+            android:exported="true">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.LAUNCHER" />
+            </intent-filter>
+        </activity>
+    </application>
+</manifest>
diff --git a/app-benchmark/src/main/kotlin/com/airbnb/lottie/benchmark/app/BenchmarkActivity.kt b/app-benchmark/src/main/kotlin/com/airbnb/lottie/benchmark/app/BenchmarkActivity.kt
new file mode 100644
index 0000000..9529885
--- /dev/null
+++ b/app-benchmark/src/main/kotlin/com/airbnb/lottie/benchmark/app/BenchmarkActivity.kt
@@ -0,0 +1,28 @@
+package com.airbnb.lottie.benchmark.app
+
+import android.os.Bundle
+import androidx.activity.compose.setContent
+import androidx.appcompat.app.AppCompatActivity
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.getValue
+import com.airbnb.lottie.compose.LottieAnimation
+import com.airbnb.lottie.compose.LottieCompositionSpec
+import com.airbnb.lottie.compose.LottieConstants
+import com.airbnb.lottie.compose.animateLottieCompositionAsState
+import com.airbnb.lottie.compose.rememberLottieComposition
+
+class BenchmarkActivity : AppCompatActivity() {
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        setContent {
+            Content()
+        }
+    }
+
+    @Composable
+    fun Content() {
+        val composition by rememberLottieComposition(LottieCompositionSpec.RawRes(R.raw.benchmark))
+        val progress by animateLottieCompositionAsState(composition, iterations = LottieConstants.IterateForever)
+        LottieAnimation(composition, { progress })
+    }
+}
diff --git a/app-benchmark/src/main/res/mipmap-hdpi/ic_launcher.png b/app-benchmark/src/main/res/mipmap-hdpi/ic_launcher.png
new file mode 100755
index 0000000..898f3ed
--- /dev/null
+++ b/app-benchmark/src/main/res/mipmap-hdpi/ic_launcher.png
Binary files differ
diff --git a/app-benchmark/src/main/res/mipmap-mdpi/ic_launcher.png b/app-benchmark/src/main/res/mipmap-mdpi/ic_launcher.png
new file mode 100755
index 0000000..64ba76f
--- /dev/null
+++ b/app-benchmark/src/main/res/mipmap-mdpi/ic_launcher.png
Binary files differ
diff --git a/app-benchmark/src/main/res/mipmap-xhdpi/ic_launcher.png b/app-benchmark/src/main/res/mipmap-xhdpi/ic_launcher.png
new file mode 100755
index 0000000..e5ed465
--- /dev/null
+++ b/app-benchmark/src/main/res/mipmap-xhdpi/ic_launcher.png
Binary files differ
diff --git a/app-benchmark/src/main/res/mipmap-xxhdpi/ic_launcher.png b/app-benchmark/src/main/res/mipmap-xxhdpi/ic_launcher.png
new file mode 100755
index 0000000..b0907ca
--- /dev/null
+++ b/app-benchmark/src/main/res/mipmap-xxhdpi/ic_launcher.png
Binary files differ
diff --git a/app-benchmark/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/app-benchmark/src/main/res/mipmap-xxxhdpi/ic_launcher.png
new file mode 100755
index 0000000..2c18de9
--- /dev/null
+++ b/app-benchmark/src/main/res/mipmap-xxxhdpi/ic_launcher.png
Binary files differ
diff --git a/app-benchmark/src/main/res/raw/benchmark.json b/app-benchmark/src/main/res/raw/benchmark.json
new file mode 100644
index 0000000..8ab630b
--- /dev/null
+++ b/app-benchmark/src/main/res/raw/benchmark.json
@@ -0,0 +1 @@
+{"v":"5.10.2","fr":60,"ip":0,"op":60,"w":400,"h":400,"nm":"Benchmark","ddd":0,"assets":[{"id":"image_0","w":80,"h":80,"u":"","p":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAACXBIWXMAAAABAAAAAQBPJcTWAAAAJHpUWHRDcmVhdG9yAAAImXNMyU9KVXBMK0ktUnBNS0tNLikGAEF6Bs5qehXFAAAF8klEQVR4nO2ca6gUZRjHf8+e3ZnxqKWB2IUQ6oNiH7qIGZUXJKhMU7tKUJEoRdKHLnQhwuiDaPVRKyqV/FKJWWIpGAhSQtgpi1LRJCIqKsGCTOed3ZmnD3sU252dM7s7M3vGMz84LLyX5/3v/8zMe52FgoKCgoKCgoJcIkkFUrAol6dTLk9F9QpEJgI+8CNBcAj4RjzvUFLtRWoZNepSfH8aMAWYQqnkoPoXcBCRQ7jugMDfSbTVlYE6ZswEPG85IjcC1wATh6jyHar7Edkixmzvpu0mLZXKdEqlB1G9GpHrgFJE8X+AL4EBYIMYc7jTdjsyUPv7L8b3XwSWAGM7a1n2obpJjFnXUf3TWixrISIPA7d2EWYrQbBGqtV97VZs20C1rJWIPAWMabduC/YSBE+0K15Hj55IrbYOuDMhHQBvY8yjAtW4FWIbqDAWx9mK6k2daRuqAX1OPG91rKKWdRcibwHjUlBylCC4R6rV/XEKxzJQ4RJsey8ik1DtTl4068WYZZFaLOtpRNakKQKRGrXazVKr7R6y6FAFFM7DcQ4Cl6Rs3qAieV9cd0moFsd5AdWXMtBQ//T96VKtDkQVjeqp6ljWLrIyD0D1XrXtN5qSK5VHMjGvrqH+WSrtVjg/qmikgdrfvxKYkZl5pxF5WG17xRkdlcp19PW9nqmG+ncei+O8F1Ws5S2sMAnb/ilZVW1iTL/AKXWc48D4zP+Rp6nV5onv7wzLKresZFmvpiYoLqNGbVY4gmrvzAMol9fi+5eHZYVegQoXYtu/AH2pCssLIlCtLhLf39aYFf4MtKzHESnMO5tyeXlYcqtOZFZPb5nhRt2LGxQqjVlNBiqMR2RaFrpyxjhs+5bGxOYr0LJmE+J0AQBzGhPCbuEr09eRU0QuakxqNlDk0jNTmYL/o9q0AhVm4JiiA2mJ1Zgw9Fy4IJJmA4Mg9mLiCMRvTAi7hU9kIiWfeI0JYQb+mYmUPCLyb2NSs4Gqv2ciJo+onmpMCutEjmYgJX+IhF5czQb29R3IRFA+afKmyUA5efI34EgmcvKEKpRKXzQmtxoH/pCynDxyWFz3p8bEcANVDxXTubOoP/8OhmW1ugI3FdO5BkT2hCa3Kq+WdYBSaWphJAAuxkwQaJpkRM2Ft6QoKD/UH2W7wsyD6G3Nsdj2McBOSVp+8P1ZUqt9FpbV8gqU+hm6d0Z0Z1LvPL5sZR4McTZG6/sAx4jaPz7X8f2ZUqt93io7cj1w8Bjss4mLyg8fRJkHcY+32fZX1I/wjiROYMxEgZNRheKtSBuzAJGRM54RAd+/YyjzIKaBAr8RBItHUIeySmq1T+MUjL0nIp63jSBYOQJM3Cqu+3zcwu0fMrftNxFZfs7NUOpDlr1izI1tVeukLbWsDYg81EndYYvIPlz3BoFaW9U6bU8dZzOqd3daf5ixH2NmtZquRdHxvrC47j2IvNtp/WGDyADGzOzEPOhyY11c9z5gfY47lj247kyBpt22uHR9MkGMWYbqK93GyRzVbWLMHAG3mzCJHO0QY55G9ZkkYmWC6kbxvEVJhErsbIx43suo3p9UvNQQWSWetzSxcEkFOo06zlxUdzAc1xGDYIVUq68lGTKVp7/a9mTgEyD01YAe4AOLxJiPkw6cWvepcAGOsxPVa9NqIyZ/EATzpFr9Oo3gqZ0PFDgurjsD1Y/SaiMG31IqTUvLPMjggKV43mJgbdrthLADY66VU6d+TbORTE6oijGPZTzMWS/G3CYh5/mSJtMphFrW3YhsTrcRXSmel81rsWRsIICWy9fT1/cJabyuHwRLpVrdmHjcCHoyiVXHuWxwrDg5oZAucLsYE2sVOUl6tgow+FMCH6I6t8tQP6N6m3je94kIa5OeL6OobW8H5ndY/eDgUtTxJDW1Q8/fExFjFqDayXPrM4y5qpfmDSvUcVarbWvMv14OzocvattPDmmeZa3vtc5hjVYqD0QYmL+F216glrUw5MqLvVdbAGi5PPssAx/ttZ5corY9/+wf4CkoKCgoKCgoKEiM/wDSaB3QR6Qn0wAAAABJRU5ErkJggg==","e":1}],"fonts":{"list":[{"fName":"Helvetica","fFamily":"Helvetica","fStyle":"Regular","ascent":72.8994140625}]},"layers":[{"ddd":0,"ind":1,"ty":5,"nm":"Benchmark","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[200,57,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"t":{"d":{"k":[{"s":{"s":72,"f":"Helvetica","t":"Benchmark","ca":0,"j":2,"tr":0,"lh":112,"ls":0,"fc":[0,0,0],"sc":[1,0,0],"sw":1,"of":true},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":60,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 2","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[233,170,0],"to":[-11.167,11,0],"ti":[11.167,-11,0]},{"t":59,"s":[166,236,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[332.711,332.711],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0.355,0.355],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 1","parent":2,"tt":1,"tp":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"sr","sy":1,"d":1,"pt":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[5]},{"t":59,"s":[6]}],"ix":3},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[0,0],"to":[0.833,1.333],"ti":[-0.833,-1.333]},{"t":59,"s":[5,8]}],"ix":4},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[187.839]},{"t":59,"s":[204.839]}],"ix":5},"ir":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[54.99]},{"t":59,"s":[61.99]}],"ix":6},"is":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":59,"s":[5]}],"ix":8},"or":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[109.981]},{"t":59,"s":[123.981]}],"ix":7},"os":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":59,"s":[40]}],"ix":9},"ix":1,"nm":"Polystar Path 1","mn":"ADBE Vector Shape - Star","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[104.031,-124.953],"to":[-36.333,40.167],"ti":[36.333,-40.167]},{"t":59,"s":[-113.969,116.047]}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[67.556,62.26],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Polystar 2","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"sr","sy":2,"d":1,"pt":{"a":0,"k":5,"ix":3},"p":{"a":0,"k":[0,0],"ix":4},"r":{"a":0,"k":0,"ix":5},"or":{"a":0,"k":74.562,"ix":7},"os":{"a":0,"k":0,"ix":9},"ix":1,"nm":"Polystar Path 1","mn":"ADBE Vector Shape - Star","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"rp","c":{"a":0,"k":3,"ix":1},"o":{"a":0,"k":0,"ix":2},"m":1,"ix":4,"tr":{"ty":"tr","p":{"a":0,"k":[100,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":4},"so":{"a":0,"k":100,"ix":5},"eo":{"a":0,"k":100,"ix":6},"nm":"Transform"},"nm":"Repeater 1","mn":"ADBE Vector Filter - Repeater","hd":false},{"ty":"tr","p":{"a":0,"k":[-124.641,3.805],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Polystar 1","np":4,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[89.898,89.898],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-9.051,-127.051],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[101.414,91.422],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-135.293,-134.289],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":3,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":2,"nm":"Heart-80.png","cl":"png","refId":"image_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[352,357,0],"ix":2,"l":2},"a":{"a":0,"k":[40,40,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":1,"nm":"Yellow Solid 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[200,200,0],"ix":2,"l":2},"a":{"a":0,"k":[200,200,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"sw":400,"sh":400,"sc":"#ffe100","ip":0,"op":60,"st":0,"bm":0}],"markers":[],"chars":[{"ch":"B","size":72,"style":"Regular","w":66.7,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-2.171,-0.911],[0,-4.688],[3.618,-1.79],[4.144,0]],"o":[[0,0],[0,0],[4.276,0],[3.848,1.628],[0,4.655],[-2.303,1.14],[0,0]],"v":[[16.895,-41.406],[16.895,-63.623],[34.41,-63.623],[44.081,-62.256],[49.854,-52.783],[44.426,-43.115],[34.756,-41.406]],"c":true},"ix":2},"nm":"B","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-2.498,-1.009],[0,-5.208],[1.61,-2.18],[6.013,0]],"o":[[0,0],[0,0],[4.108,0],[4.699,1.888],[0,3.093],[-2.563,3.451],[0,0]],"v":[[16.895,-8.301],[16.895,-33.545],[36.364,-33.545],[46.272,-32.031],[53.32,-21.387],[50.905,-13.477],[38.04,-8.301]],"c":true},"ix":2},"nm":"B","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-4.356,5.599],[0,4.623],[3.223,3.125],[3.678,1.4],[-1.335,1.53],[0,4.525],[2.097,2.962],[8.453,0],[0,0]],"o":[[0,0],[9.498,0],[2.914,-3.743],[0,-5.501],[-1.823,-1.758],[2.506,-1.27],[2.571,-2.897],[0,-3.873],[-3.572,-5.013],[0,0],[0,0]],"v":[[7.373,0],[37.883,0],[58.665,-8.398],[63.037,-20.947],[58.203,-33.887],[49.951,-38.623],[55.713,-42.822],[59.57,-53.955],[56.425,-64.209],[38.387,-71.729],[7.373,-71.729]],"c":true},"ix":2},"nm":"B","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"B","np":6,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"Helvetica"},{"ch":"e","size":72,"style":"Regular","w":55.62,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[3.688,0],[4.529,-5.241],[0,-8.398],[-4.497,-4.736],[-6.47,0],[-2.1,0.52],[-2.65,2.605],[-1.286,2.361],[-0.228,1.921],[0,0],[1.518,-1.765],[4.554,0],[2.325,3.215],[0.162,5.321],[0,0],[0.517,2.409],[1.747,2.637],[3.461,1.742]],"o":[[-7.312,0],[-4.53,5.241],[0,8.529],[4.497,4.736],[2.649,0],[3.909,-0.912],[1.582,-1.497],[1.286,-2.36],[0,0],[-0.633,2.322],[-2.713,3.041],[-4.877,0],[-2.325,-3.215],[0,0],[0,-5.273],[-0.583,-3.516],[-1.812,-2.766],[-3.462,-1.741]],"v":[[28.022,-53.467],[10.261,-45.605],[3.467,-25.146],[10.211,-5.249],[26.661,1.855],[33.784,1.074],[43.622,-4.199],[47.925,-9.985],[50.195,-16.406],[41.553,-16.406],[38.326,-10.275],[27.425,-5.713],[16.621,-10.535],[12.891,-23.34],[50.928,-23.34],[50.151,-34.863],[46.657,-44.092],[38.747,-50.854]],"c":true},"ix":2},"nm":"e","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[-2.711,2.914],[-4.002,0],[-2.389,-4.231],[-0.356,-3.809]],"o":[[0.161,-4.492],[2.711,-2.913],[5.584,0],[1.291,2.279],[0,0]],"v":[[13.086,-30.322],[17.395,-41.431],[27.466,-45.801],[39.425,-39.453],[41.895,-30.322]],"c":true},"ix":2},"nm":"e","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"e","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"Helvetica"},{"ch":"n","size":72,"style":"Regular","w":55.62,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-0.439,1.839],[-1.465,1.726],[-2.409,0.716],[-2.084,0],[-1.562,-3.255],[0,-3.19],[0,0],[0,0],[0,0],[1.432,2.832],[7.422,0],[2.766,-1.334],[2.473,-3.059],[0,0],[0,0]],"o":[[0,0],[0,0],[0,-3.418],[0.439,-1.839],[1.823,-2.148],[1.334,-0.423],[4.102,0],[0.944,1.953],[0,0],[0,0],[0,0],[0,-5.273],[-2.605,-5.176],[-3.386,0],[-2.767,1.335],[0,0],[0,0],[0,0]],"v":[[6.445,0],[15.234,0],[15.234,-27.393],[15.894,-35.278],[18.75,-40.625],[25.098,-44.922],[30.225,-45.557],[38.721,-40.674],[40.137,-32.959],[40.137,0],[49.072,0],[49.072,-33.545],[46.924,-45.703],[31.885,-53.467],[22.656,-51.465],[14.795,-44.873],[14.795,-52.295],[6.445,-52.295]],"c":true},"ix":2},"nm":"n","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"n","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"Helvetica"},{"ch":"c","size":72,"style":"Regular","w":50,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[5.891,0],[4.459,-5.11],[0,-9.18],[-4.07,-4.996],[-6.836,0],[-3.906,3.207],[-0.977,6.934],[0,0],[2.132,-2.221],[3.645,0],[2.213,3.577],[0,5.235],[-1.562,3.544],[-5.599,0],[-1.855,-2.132],[-0.521,-3.223],[0,0],[3.694,2.865]],"o":[[-6.902,0],[-4.46,5.111],[0,7.487],[4.069,4.997],[6.087,0],[3.906,-3.206],[0,0],[-0.814,3.859],[-2.132,2.222],[-4.753,0],[-2.214,-3.577],[0,-5.202],[2.409,-5.462],[4.102,0],[1.855,2.132],[0,0],[-0.749,-6.998],[-3.695,-2.864]],"v":[[26.611,-53.809],[9.57,-46.143],[2.881,-24.707],[8.984,-5.981],[25.342,1.514],[40.332,-3.296],[47.656,-18.506],[39.111,-18.506],[34.692,-9.386],[26.025,-6.055],[15.576,-11.419],[12.256,-24.635],[14.6,-37.754],[26.611,-45.947],[35.547,-42.749],[39.111,-34.717],[47.656,-34.717],[40.991,-49.512]],"c":true},"ix":2},"nm":"c","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"c","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"Helvetica"},{"ch":"h","size":72,"style":"Regular","w":55.62,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-2.962,2.507],[-3.646,0],[-1.595,-2.864],[0,-3.841],[0,0],[0,0],[0,0],[1.465,2.898],[7.584,0],[2.832,-1.855],[2.083,-2.637],[0,0],[0,0]],"o":[[0,0],[0,0],[0,-6.966],[2.962,-2.506],[4.395,0],[0.977,1.791],[0,0],[0,0],[0,0],[0,-5.143],[-2.702,-5.305],[-4.232,0],[-1.66,1.074],[0,0],[0,0],[0,0]],"v":[[6.445,0],[15.234,0],[15.234,-27.734],[19.678,-41.943],[29.59,-45.703],[38.574,-41.406],[40.039,-32.959],[40.039,0],[49.072,0],[49.072,-33.545],[46.875,-45.605],[31.445,-53.564],[20.85,-50.781],[15.234,-45.215],[15.234,-71.973],[6.445,-71.973]],"c":true},"ix":2},"nm":"h","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"h","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"Helvetica"},{"ch":"m","size":72,"style":"Regular","w":83.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-2.718,2.572],[-3.32,0],[-1.335,-2.441],[0,-3.548],[0,0],[0,0],[0,0],[-2.49,2.312],[-3.451,0],[-1.742,-1.302],[0,-3.483],[0,0],[0,0],[0,0],[1.367,2.734],[7.031,0],[2.637,-1.35],[1.953,-2.799],[1.432,1.172],[4.166,0],[2.897,-1.985],[2.083,-2.571],[0,0],[0,0]],"o":[[0,0],[0,0],[0,-6.738],[2.718,-2.571],[3.645,0],[0.846,1.628],[0,0],[0,0],[0,0],[0,-5.403],[2.49,-2.311],[2.506,0],[1.741,1.302],[0,0],[0,0],[0,0],[0,-4.622],[-2.539,-5.078],[-3.288,0],[-2.637,1.351],[-1.172,-2.278],[-2.539,-2.051],[-3.679,0],[-1.693,1.172],[0,0],[0,0],[0,0]],"v":[[6.445,0],[15.234,0],[15.234,-27.734],[19.312,-41.699],[28.369,-45.557],[35.84,-41.895],[37.109,-34.131],[37.109,0],[46.045,0],[46.045,-30.42],[49.78,-41.992],[58.691,-45.459],[65.063,-43.506],[67.676,-36.328],[67.676,0],[76.807,0],[76.807,-34.814],[74.756,-45.85],[60.4,-53.467],[51.514,-51.44],[44.629,-45.215],[40.723,-50.391],[30.664,-53.467],[20.801,-50.488],[15.137,-44.873],[15.137,-52.295],[6.445,-52.295]],"c":true},"ix":2},"nm":"m","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"m","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"Helvetica"},{"ch":"a","size":72,"style":"Regular","w":55.62,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,2.533],[-2.718,1.527],[-3.184,0.423],[0,0],[-1.689,0.458],[-1.073,0.686],[0,0],[4.883,-2.373],[3.092,0],[1.855,1.462]],"o":[[0,-3.345],[1.604,-0.909],[0,0],[1.624,-0.195],[1.689,-0.457],[0,0],[0,5.396],[-2.898,1.43],[-2.539,0],[-1.855,-1.462]],"v":[[13.184,-13.897],[17.261,-21.204],[24.443,-23.203],[29.755,-23.885],[34.725,-24.863],[38.867,-26.578],[38.867,-19.509],[31.543,-7.858],[22.559,-5.713],[15.967,-7.905]],"c":true},"ix":2},"nm":"a","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[3.027,-2.666],[0,-4.844],[-3.076,-2.942],[-4.851,0],[-3.353,1.724],[-1.791,2.344],[-0.716,-1.139],[-3.027,0],[-0.716,0.098],[-1.367,0.391],[0,0],[0.488,-0.049],[0.391,0],[0.374,0.552],[0,0.912],[0,0],[3.804,2.344],[6.145,0],[4.015,-2.53],[0.163,-6.464],[0,0],[-1.072,1.375],[-4.581,0],[-2.128,-1.356],[0,-3.006],[0.39,-0.784],[2.018,-0.259]],"o":[[-4.916,0.618],[-3.027,2.666],[0,4.422],[3.076,2.942],[4.036,0],[3.352,-1.725],[0.293,2.083],[1.367,2.148],[1.237,0],[0.716,-0.098],[0,0],[-0.554,0.098],[-0.488,0.049],[-1.205,0],[-0.375,-0.552],[0,0],[0,-4.948],[-3.837,-2.344],[-5.299,0],[-4.015,2.53],[0,0],[0.325,-2.715],[1.917,-2.486],[3.963,0],[2.128,1.357],[0,1.471],[-0.684,1.43],[0,0]],"v":[[20.459,-29.893],[8.545,-24.966],[4.004,-13.702],[8.618,-2.656],[20.508,1.758],[31.592,-0.829],[39.307,-6.932],[40.82,-2.099],[47.412,1.123],[50.342,0.977],[53.467,0.244],[53.467,-6.249],[51.904,-6.03],[50.586,-5.957],[48.218,-6.786],[47.656,-8.982],[47.656,-39.111],[41.95,-50.049],[26.978,-53.564],[13.005,-49.77],[6.738,-36.279],[14.941,-36.279],[17.036,-42.413],[26.783,-46.143],[35.919,-44.109],[39.111,-37.565],[38.526,-34.183],[34.473,-31.648]],"c":true},"ix":2},"nm":"a","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"a","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"Helvetica"},{"ch":"r","size":72,"style":"Regular","w":33.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-2.377,2.849],[-4.427,0],[-0.439,-0.032],[-0.521,-0.098],[0,0],[0.391,0.033],[0.163,0],[2.669,-2.522],[0.684,-1.758],[0,0],[0,0]],"o":[[0,0],[0,0],[0,-3.711],[2.376,-2.848],[0.52,0],[0.439,0.033],[0,0],[-0.945,-0.098],[-0.391,-0.032],[-3.484,0],[-2.67,2.523],[0,0],[0,0],[0,0]],"v":[[6.689,0],[15.479,0],[15.479,-30.078],[19.043,-39.917],[29.248,-44.189],[30.688,-44.141],[32.129,-43.945],[32.129,-53.223],[30.127,-53.418],[29.297,-53.467],[20.068,-49.683],[15.039,-43.262],[15.039,-52.295],[6.689,-52.295]],"c":true},"ix":2},"nm":"r","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"r","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"Helvetica"},{"ch":"k","size":72,"style":"Regular","w":50,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[6.25,0],[14.697,0],[14.697,-19.629],[21.914,-26.611],[38.362,0],[49.59,0],[28.364,-32.851],[48.463,-52.295],[37.235,-52.295],[14.697,-30.083],[14.697,-71.729],[6.25,-71.729]],"c":true},"ix":2},"nm":"k","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"k","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"Helvetica"}]}
\ No newline at end of file
diff --git a/app-benchmark/src/main/res/values/strings.xml b/app-benchmark/src/main/res/values/strings.xml
new file mode 100755
index 0000000..1ec0afc
--- /dev/null
+++ b/app-benchmark/src/main/res/values/strings.xml
@@ -0,0 +1,3 @@
+<resources>
+    <string name="app_name">Lottie Benchmark</string>
+</resources>
diff --git a/baselineprofile/.gitignore b/baselineprofile/.gitignore
new file mode 100644
index 0000000..42afabf
--- /dev/null
+++ b/baselineprofile/.gitignore
@@ -0,0 +1 @@
+/build
\ No newline at end of file
diff --git a/baselineprofile/build.gradle b/baselineprofile/build.gradle
new file mode 100644
index 0000000..bd34c21
--- /dev/null
+++ b/baselineprofile/build.gradle
@@ -0,0 +1,43 @@
+import com.android.build.api.dsl.ManagedVirtualDevice
+
+plugins {
+  id 'com.android.test'
+  id 'org.jetbrains.kotlin.android'
+  id 'androidx.baselineprofile'
+}
+
+android {
+  namespace 'com.airbnb.lottie.baselineprofile'
+  compileSdk 34
+
+  defaultConfig {
+    minSdk 28
+    targetSdk 34
+
+    testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+    testInstrumentationRunnerArguments["androidx.benchmark.suppressErrors"] = "EMULATOR"
+  }
+
+  targetProjectPath = ":app-benchmark"
+
+  testOptions.managedDevices.devices {
+    pixel6Api34(ManagedVirtualDevice) {
+      device = "Pixel 6"
+      apiLevel = 34
+      systemImageSource = "google"
+    }
+  }
+}
+
+baselineProfile {
+  managedDevices += "pixel6Api34"
+  useConnectedDevices = false
+}
+
+dependencies {
+  implementation libs.okio
+  implementation libs.androidx.test.junit
+  implementation libs.androidx.test.espresso
+  implementation libs.androidx.test.uiautomator
+  implementation libs.androidx.test.macrobenchmark
+}
diff --git a/baselineprofile/src/main/AndroidManifest.xml b/baselineprofile/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..227314e
--- /dev/null
+++ b/baselineprofile/src/main/AndroidManifest.xml
@@ -0,0 +1 @@
+<manifest />
\ No newline at end of file
diff --git a/baselineprofile/src/main/java/com/airbnb/lottie/baselineprofile/BaselineProfileGenerator.kt b/baselineprofile/src/main/java/com/airbnb/lottie/baselineprofile/BaselineProfileGenerator.kt
new file mode 100644
index 0000000..8c35830
--- /dev/null
+++ b/baselineprofile/src/main/java/com/airbnb/lottie/baselineprofile/BaselineProfileGenerator.kt
@@ -0,0 +1,32 @@
+package com.airbnb.lottie.baselineprofile
+
+import androidx.benchmark.macro.junit4.BaselineProfileRule
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.filters.LargeTest
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+
+/**
+ * You can run the generator with the Generate Baseline Profile gradle task.
+ * ```
+ * ./gradlew :lottie(-compose):generateReleaseBaselineProfile -Pandroid.testInstrumentationRunnerArguments.androidx.benchmark.enabledRules=BaselineProfile
+ * ```
+ *
+ * After you run the generator, you can verify the improvements running the [StartupBenchmarks] benchmark.
+ **/
+@RunWith(AndroidJUnit4::class)
+@LargeTest
+class BaselineProfileGenerator {
+
+    @get:Rule
+    val rule = BaselineProfileRule()
+
+    @Test
+    fun generate() {
+        rule.collect("com.airbnb.lottie.benchmark.app") {
+            pressHome()
+            startActivityAndWait()
+        }
+    }
+}
diff --git a/baselineprofile/src/main/java/com/airbnb/lottie/baselineprofile/StartupBenchmarks.kt b/baselineprofile/src/main/java/com/airbnb/lottie/baselineprofile/StartupBenchmarks.kt
new file mode 100644
index 0000000..41a2d29
--- /dev/null
+++ b/baselineprofile/src/main/java/com/airbnb/lottie/baselineprofile/StartupBenchmarks.kt
@@ -0,0 +1,78 @@
+package com.airbnb.lottie.baselineprofile
+
+import androidx.benchmark.macro.BaselineProfileMode
+import androidx.benchmark.macro.CompilationMode
+import androidx.benchmark.macro.StartupMode
+import androidx.benchmark.macro.StartupTimingMetric
+import androidx.benchmark.macro.junit4.MacrobenchmarkRule
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.filters.LargeTest
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+
+/**
+ * This test class benchmarks the speed of app startup.
+ * Run this benchmark to verify how effective a Baseline Profile is.
+ * It does this by comparing [CompilationMode.None], which represents the app with no Baseline
+ * Profiles optimizations, and [CompilationMode.Partial], which uses Baseline Profiles.
+ *
+ * Run this benchmark to see startup measurements and captured system traces for verifying
+ * the effectiveness of your Baseline Profiles. You can run it directly from Android
+ * Studio as an instrumentation test, or run all benchmarks with this Gradle task:
+ * ```
+ * ./gradlew :baselineprofile:connectedAndroidTest -Pandroid.testInstrumentationRunnerArguments.androidx.benchmark.enabledRules=Macrobenchmark
+ * ```
+ *
+ * You should run the benchmarks on a physical device, not an Android emulator, because the
+ * emulator doesn't represent real world performance and shares system resources with its host.
+ *
+ * For more information, see the [Macrobenchmark documentation](https://d.android.com/macrobenchmark#create-macrobenchmark)
+ * and the [instrumentation arguments documentation](https://d.android.com/topic/performance/benchmarking/macrobenchmark-instrumentation-args).
+ *
+ * Note that the performance impact of this test is only tangentially related to the impact of the baseline profile for Lottie.
+ * The benefit of the baseline profile for Lottie is less about startup time and more about time spent running the hot path
+ * of the Lottie rendering code.
+ *
+ * Ideally, this test would be updated to reflect that rather than just startup time but that's a task for another time…
+ **/
+@RunWith(AndroidJUnit4::class)
+@LargeTest
+class StartupBenchmarks {
+
+    @get:Rule
+    val rule = MacrobenchmarkRule()
+
+    @Test
+    fun startupCompilationNone() =
+        benchmark(CompilationMode.None())
+
+    @Test
+    fun startupCompilationBaselineProfiles() =
+        benchmark(CompilationMode.Partial(BaselineProfileMode.Require))
+
+    private fun benchmark(compilationMode: CompilationMode) {
+        rule.measureRepeated(
+            packageName = "com.airbnb.lottie.benchmark.app",
+            metrics = listOf(StartupTimingMetric()),
+            compilationMode = compilationMode,
+            startupMode = StartupMode.COLD,
+            iterations = 10,
+            setupBlock = {
+                pressHome()
+            },
+            measureBlock = {
+                startActivityAndWait()
+
+                // TODO Add interactions to wait for when your app is fully drawn.
+                // The app is fully drawn when Activity.reportFullyDrawn is called.
+                // For Jetpack Compose, you can use ReportDrawn, ReportDrawnWhen and ReportDrawnAfter
+                // from the AndroidX Activity library.
+
+                // Check the UiAutomator documentation for more information on how to
+                // interact with the app.
+                // https://d.android.com/training/testing/other-components/ui-automator
+            }
+        )
+    }
+}
diff --git a/benchmark/build.gradle b/benchmark/build.gradle
new file mode 100644
index 0000000..7d00c7d
--- /dev/null
+++ b/benchmark/build.gradle
@@ -0,0 +1,62 @@
+plugins {
+  id 'com.android.test'
+  id 'org.jetbrains.kotlin.android'
+  id 'androidx.baselineprofile'
+}
+
+android {
+  namespace 'com.airbnb.lottie.benchmark'
+  compileSdk 34
+
+  kotlinOptions {
+    freeCompilerArgs += "-opt-in=kotlin.RequiresOptIn"
+  }
+
+  defaultConfig {
+    minSdk 30
+    targetSdk 34
+
+    testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+  }
+
+  buildTypes {
+    release {
+      debuggable = true
+      signingConfig = debug.signingConfig
+    }
+  }
+
+  targetProjectPath = ":app-benchmark"
+  experimentalProperties["android.experimental.self-instrumenting"] = true
+
+  testOptions.managedDevices.devices {
+    pixel6Api31(com.android.build.api.dsl.ManagedVirtualDevice) {
+      device = "Pixel 6"
+      apiLevel = 31
+      systemImageSource = "aosp"
+    }
+  }
+}
+
+baselineProfile {
+  managedDevices += "pixel6Api31"
+
+  // Enables using connected devices to generate profiles. The default is
+  // `true`. When using connected devices, they must be rooted or API 33 and
+  // higher.
+  useConnectedDevices = false
+}
+
+dependencies {
+  implementation libs.androidx.test.junit
+  implementation libs.androidx.test.espresso
+  implementation libs.androidx.test.uiautomator
+  implementation libs.androidx.test.macrobenchmark
+  implementation libs.compose.ui.test.junit
+}
+
+//androidComponents {
+//  beforeVariants(selector().all()) {
+//    enabled = buildType == "release"
+//  }
+//}
diff --git a/sample-compose-benchmark/src/main/AndroidManifest.xml b/benchmark/src/main/AndroidManifest.xml
similarity index 82%
rename from sample-compose-benchmark/src/main/AndroidManifest.xml
rename to benchmark/src/main/AndroidManifest.xml
index 16687da..2dbdaab 100644
--- a/sample-compose-benchmark/src/main/AndroidManifest.xml
+++ b/benchmark/src/main/AndroidManifest.xml
@@ -3,9 +3,9 @@
     xmlns:tools="http://schemas.android.com/tools">
 
     <queries>
-        <package android:name="com.airbnb.lottie.sample.compose" />
+        <package android:name="com.airbnb.lottie.benchmark.app" />
     </queries>
     <uses-permission
         android:name="android.permission.WRITE_EXTERNAL_STORAGE"
         tools:ignore="ScopedStorage" />
-</manifest>
\ No newline at end of file
+</manifest>
diff --git a/sample-compose-benchmark/src/main/java/com/airbnb/lottie/sample/compose/benchmark/LottieBaselineBenchmark.kt b/benchmark/src/main/java/com/airbnb/lottie/sample/compose/benchmark/LottieBaselineBenchmark.kt
similarity index 100%
rename from sample-compose-benchmark/src/main/java/com/airbnb/lottie/sample/compose/benchmark/LottieBaselineBenchmark.kt
rename to benchmark/src/main/java/com/airbnb/lottie/sample/compose/benchmark/LottieBaselineBenchmark.kt
diff --git a/benchmark/src/main/java/com/airbnb/lottie/sample/compose/benchmark/LottieBaselineProfiles.kt b/benchmark/src/main/java/com/airbnb/lottie/sample/compose/benchmark/LottieBaselineProfiles.kt
new file mode 100644
index 0000000..c246cb3
--- /dev/null
+++ b/benchmark/src/main/java/com/airbnb/lottie/sample/compose/benchmark/LottieBaselineProfiles.kt
@@ -0,0 +1,40 @@
+package com.airbnb.lottie.sample.compose.benchmark
+
+import android.content.Context
+import androidx.benchmark.macro.junit4.BaselineProfileRule
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.platform.app.InstrumentationRegistry
+import androidx.test.uiautomator.UiDevice
+import org.junit.Before
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class LottieBaselineProfiles {
+
+    @get:Rule
+    val baselineProfileRule = BaselineProfileRule()
+
+    private lateinit var context: Context
+    private lateinit var device: UiDevice
+
+    @Before
+    fun setUp() {
+        val instrumentation = InstrumentationRegistry.getInstrumentation()
+        context = ApplicationProvider.getApplicationContext()
+        device = UiDevice.getInstance(instrumentation)
+    }
+
+    @Test
+    fun baselineProfiles() {
+        baselineProfileRule.collect(
+            packageName = "com.airbnb.lottie.benchmark.app",
+        ) {
+            pressHome()
+            startActivityAndWait()
+            Thread.sleep(5_000L)
+        }
+    }
+}
diff --git a/build.gradle b/build.gradle
index c923c31..0a3cfd2 100644
--- a/build.gradle
+++ b/build.gradle
@@ -3,12 +3,15 @@
 
 plugins {
   id "com.android.tools.build" apply false
+  id "com.android.application" apply false
+  id "com.android.test" apply false
   id 'net.ltgt.errorprone' apply false
   id "com.google.devtools.ksp" apply false
   id "org.ajoberstar.grgit" apply false
-  id "org.jetbrains.kotlin.jvm" apply false
+  id "org.jetbrains.kotlin.android" apply false
   id "com.vanniktech.maven.publish" apply false
   id "org.jetbrains.dokka" apply false
+  id "androidx.baselineprofile" apply false
 }
 
 allprojects {
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index 859b55b..30e3499 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -21,6 +21,8 @@
 androidx-test-espresso-idling = "androidx.test.espresso:espresso-idling-resource:_"
 androidx-test-junit = "androidx.test.ext:junit:_"
 androidx-test-rules = "androidx.test:rules:_"
+androidx-test-uiautomator = "androidx.test.uiautomator:uiautomator:_"
+androidx-test-macrobenchmark = "androidx.benchmark:benchmark-macro-junit4:_"
 androidx-viewmodel-ktx = "androidx.lifecycle:lifecycle-viewmodel-ktx:_"
 aws-android-sdk-auth-userpools = "com.amazonaws:aws-android-sdk-auth-userpools:_"
 aws-android-sdk-mobile-client = "com.amazonaws:aws-android-sdk-mobile-client:_"
@@ -42,14 +44,9 @@
 errorprone-core = "com.google.errorprone:error_prone_core:_"
 glide = "com.github.bumptech.glide:glide:_"
 google-material = "com.google.android.material:material:_"
-grgit-plugin = "org.ajoberstar.grgit:grgit-gradle:_"
 gson = "com.google.code.gson:gson:_"
-javac = "com.google.errorprone:javac:_"
 jjwt = "io.jsonwebtoken:jjwt:_"
 junit4 = "junit:junit:_"
-kotlin-annotation-processing-gradle = "org.jetbrains.kotlin:kotlin-annotation-processing-gradle:_"
-kotlin-parcelize-compiler = "org.jetbrains.kotlin:kotlin-parcelize-compiler:_"
-kotlin-parcelize-runtime = "org.jetbrains.kotlin:kotlin-parcelize-runtime:_"
 kotlinx-coroutines-android = "org.jetbrains.kotlinx:kotlinx-coroutines-android:_"
 kotlinx-coroutines-test = "org.jetbrains.kotlinx:kotlinx-coroutines-test:_"
 mavericks = "com.airbnb.android:mavericks:_"
@@ -58,11 +55,9 @@
 mockito-core = "org.mockito:mockito-core:_"
 mockito-kotlin = "org.mockito:mockito-android:_"
 mpandroidchart = "com.github.PhilJay:MPAndroidChart:_"
-mvrx = "com.airbnb.android:mvrx:_"
 nullaway = "com.uber.nullaway:nullaway:_"
 okhttp = "com.squareup.okhttp3:okhttp:_"
 okio = "com.squareup.okio:okio:_"
-org-jacoco-ant = "org.jacoco:org.jacoco.ant:_"
 profileinstaller = "androidx.profileinstaller:profileinstaller:_"
 qrcodereaderview = "com.dlazaro66.qrcodereaderview:qrcodereaderview:_"
 retrofit = "com.squareup.retrofit2:retrofit:_"
@@ -70,4 +65,3 @@
 retrofit-moshi = "com.squareup.retrofit2:converter-moshi:_"
 retrofit-rxjava = "com.squareup.retrofit2:adapter-rxjava2:_"
 robolectric = "org.robolectric:robolectric:_"
-viewbinding = "androidx.databinding:viewbinding:_"
diff --git a/lottie-compose/build.gradle b/lottie-compose/build.gradle
index 099aa04..8f6313c 100644
--- a/lottie-compose/build.gradle
+++ b/lottie-compose/build.gradle
@@ -5,6 +5,7 @@
   id 'com.android.library'
   id 'org.jetbrains.kotlin.android'
   id 'com.vanniktech.maven.publish'
+  id 'androidx.baselineprofile'
 }
 
 android {
@@ -38,12 +39,20 @@
   signAllPublications()
 }
 
+baselineProfile {
+  filter {
+    include 'com.airbnb.lottie.compose.**'
+  }
+}
+
 dependencies {
   api project(':lottie')
   implementation platform(libs.compose.bom)
   implementation libs.compose.foundation
   implementation libs.compose.ui
 
+  baselineProfile project(':baselineprofile')
+
   testImplementation libs.robolectric
   testImplementation libs.androidx.collection.ktx
   testImplementation libs.kotlinx.coroutines.test
diff --git a/lottie-compose/src/main/generated/baselineProfiles/baseline-prof.txt b/lottie-compose/src/main/generated/baselineProfiles/baseline-prof.txt
new file mode 100644
index 0000000..ced1092
--- /dev/null
+++ b/lottie-compose/src/main/generated/baselineProfiles/baseline-prof.txt
@@ -0,0 +1,176 @@
+Lcom/airbnb/lottie/compose/AnimateLottieCompositionAsStateKt;
+HSPLcom/airbnb/lottie/compose/AnimateLottieCompositionAsStateKt;->access$animateLottieCompositionAsState$lambda$3(Landroidx/compose/runtime/MutableState;)Z
+HSPLcom/airbnb/lottie/compose/AnimateLottieCompositionAsStateKt;->access$animateLottieCompositionAsState$lambda$4(Landroidx/compose/runtime/MutableState;Z)V
+HSPLcom/airbnb/lottie/compose/AnimateLottieCompositionAsStateKt;->animateLottieCompositionAsState$lambda$3(Landroidx/compose/runtime/MutableState;)Z
+HSPLcom/airbnb/lottie/compose/AnimateLottieCompositionAsStateKt;->animateLottieCompositionAsState$lambda$4(Landroidx/compose/runtime/MutableState;Z)V
+HSPLcom/airbnb/lottie/compose/AnimateLottieCompositionAsStateKt;->animateLottieCompositionAsState(Lcom/airbnb/lottie/LottieComposition;ZZZLcom/airbnb/lottie/compose/LottieClipSpec;FILcom/airbnb/lottie/compose/LottieCancellationBehavior;ZZLandroidx/compose/runtime/Composer;II)Lcom/airbnb/lottie/compose/LottieAnimationState;
+Lcom/airbnb/lottie/compose/AnimateLottieCompositionAsStateKt$animateLottieCompositionAsState$3;
+HSPLcom/airbnb/lottie/compose/AnimateLottieCompositionAsStateKt$animateLottieCompositionAsState$3;-><init>(ZZLcom/airbnb/lottie/compose/LottieAnimatable;Lcom/airbnb/lottie/LottieComposition;IZFLcom/airbnb/lottie/compose/LottieClipSpec;Lcom/airbnb/lottie/compose/LottieCancellationBehavior;ZLandroidx/compose/runtime/MutableState;Lkotlin/coroutines/Continuation;)V
+HSPLcom/airbnb/lottie/compose/AnimateLottieCompositionAsStateKt$animateLottieCompositionAsState$3;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation;
+HSPLcom/airbnb/lottie/compose/AnimateLottieCompositionAsStateKt$animateLottieCompositionAsState$3;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object;
+Lcom/airbnb/lottie/compose/LottieAnimatable;
+Lcom/airbnb/lottie/compose/LottieAnimatable$DefaultImpls;
+HSPLcom/airbnb/lottie/compose/LottieAnimatable$DefaultImpls;->animate$default(Lcom/airbnb/lottie/compose/LottieAnimatable;Lcom/airbnb/lottie/LottieComposition;IIZFLcom/airbnb/lottie/compose/LottieClipSpec;FZLcom/airbnb/lottie/compose/LottieCancellationBehavior;ZZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
+Lcom/airbnb/lottie/compose/LottieAnimatableImpl;
+HSPLcom/airbnb/lottie/compose/LottieAnimatableImpl;-><init>()V
+HSPLcom/airbnb/lottie/compose/LottieAnimatableImpl;->access$doFrame(Lcom/airbnb/lottie/compose/LottieAnimatableImpl;ILkotlin/coroutines/Continuation;)Ljava/lang/Object;
+HSPLcom/airbnb/lottie/compose/LottieAnimatableImpl;->access$onFrame(Lcom/airbnb/lottie/compose/LottieAnimatableImpl;IJ)Z
+HSPLcom/airbnb/lottie/compose/LottieAnimatableImpl;->access$setClipSpec(Lcom/airbnb/lottie/compose/LottieAnimatableImpl;Lcom/airbnb/lottie/compose/LottieClipSpec;)V
+HSPLcom/airbnb/lottie/compose/LottieAnimatableImpl;->access$setComposition(Lcom/airbnb/lottie/compose/LottieAnimatableImpl;Lcom/airbnb/lottie/LottieComposition;)V
+HSPLcom/airbnb/lottie/compose/LottieAnimatableImpl;->access$setIteration(Lcom/airbnb/lottie/compose/LottieAnimatableImpl;I)V
+HSPLcom/airbnb/lottie/compose/LottieAnimatableImpl;->access$setIterations(Lcom/airbnb/lottie/compose/LottieAnimatableImpl;I)V
+HSPLcom/airbnb/lottie/compose/LottieAnimatableImpl;->access$setLastFrameNanos(Lcom/airbnb/lottie/compose/LottieAnimatableImpl;J)V
+HSPLcom/airbnb/lottie/compose/LottieAnimatableImpl;->access$setPlaying(Lcom/airbnb/lottie/compose/LottieAnimatableImpl;Z)V
+HSPLcom/airbnb/lottie/compose/LottieAnimatableImpl;->access$setReverseOnRepeat(Lcom/airbnb/lottie/compose/LottieAnimatableImpl;Z)V
+HSPLcom/airbnb/lottie/compose/LottieAnimatableImpl;->access$setSpeed(Lcom/airbnb/lottie/compose/LottieAnimatableImpl;F)V
+HSPLcom/airbnb/lottie/compose/LottieAnimatableImpl;->access$setUseCompositionFrameRate(Lcom/airbnb/lottie/compose/LottieAnimatableImpl;Z)V
+HSPLcom/airbnb/lottie/compose/LottieAnimatableImpl;->access$updateProgress(Lcom/airbnb/lottie/compose/LottieAnimatableImpl;F)V
+HSPLcom/airbnb/lottie/compose/LottieAnimatableImpl;->animate(Lcom/airbnb/lottie/LottieComposition;IIZFLcom/airbnb/lottie/compose/LottieClipSpec;FZLcom/airbnb/lottie/compose/LottieCancellationBehavior;ZZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
+HPLcom/airbnb/lottie/compose/LottieAnimatableImpl;->doFrame(ILkotlin/coroutines/Continuation;)Ljava/lang/Object;
+HPLcom/airbnb/lottie/compose/LottieAnimatableImpl;->getClipSpec()Lcom/airbnb/lottie/compose/LottieClipSpec;
+HPLcom/airbnb/lottie/compose/LottieAnimatableImpl;->getComposition()Lcom/airbnb/lottie/LottieComposition;
+HPLcom/airbnb/lottie/compose/LottieAnimatableImpl;->getFrameSpeed()F
+HSPLcom/airbnb/lottie/compose/LottieAnimatableImpl;->getIteration()I
+HPLcom/airbnb/lottie/compose/LottieAnimatableImpl;->getLastFrameNanos()J
+HPLcom/airbnb/lottie/compose/LottieAnimatableImpl;->getProgress()F
+HPLcom/airbnb/lottie/compose/LottieAnimatableImpl;->getProgressRaw()F
+HSPLcom/airbnb/lottie/compose/LottieAnimatableImpl;->getReverseOnRepeat()Z
+HSPLcom/airbnb/lottie/compose/LottieAnimatableImpl;->getSpeed()F
+HPLcom/airbnb/lottie/compose/LottieAnimatableImpl;->getUseCompositionFrameRate()Z
+HPLcom/airbnb/lottie/compose/LottieAnimatableImpl;->getValue()Ljava/lang/Float;
+HPLcom/airbnb/lottie/compose/LottieAnimatableImpl;->getValue()Ljava/lang/Object;
+HPLcom/airbnb/lottie/compose/LottieAnimatableImpl;->onFrame(IJ)Z
+HSPLcom/airbnb/lottie/compose/LottieAnimatableImpl;->setClipSpec(Lcom/airbnb/lottie/compose/LottieClipSpec;)V
+HSPLcom/airbnb/lottie/compose/LottieAnimatableImpl;->setComposition(Lcom/airbnb/lottie/LottieComposition;)V
+HSPLcom/airbnb/lottie/compose/LottieAnimatableImpl;->setIteration(I)V
+HSPLcom/airbnb/lottie/compose/LottieAnimatableImpl;->setIterations(I)V
+HPLcom/airbnb/lottie/compose/LottieAnimatableImpl;->setLastFrameNanos(J)V
+HSPLcom/airbnb/lottie/compose/LottieAnimatableImpl;->setPlaying(Z)V
+HPLcom/airbnb/lottie/compose/LottieAnimatableImpl;->setProgress(F)V
+HPLcom/airbnb/lottie/compose/LottieAnimatableImpl;->setProgressRaw(F)V
+HSPLcom/airbnb/lottie/compose/LottieAnimatableImpl;->setReverseOnRepeat(Z)V
+HSPLcom/airbnb/lottie/compose/LottieAnimatableImpl;->setSpeed(F)V
+HSPLcom/airbnb/lottie/compose/LottieAnimatableImpl;->setUseCompositionFrameRate(Z)V
+HPLcom/airbnb/lottie/compose/LottieAnimatableImpl;->updateProgress(F)V
+Lcom/airbnb/lottie/compose/LottieAnimatableImpl$animate$2;
+HSPLcom/airbnb/lottie/compose/LottieAnimatableImpl$animate$2;-><init>(Lcom/airbnb/lottie/compose/LottieAnimatableImpl;IIZFLcom/airbnb/lottie/compose/LottieClipSpec;Lcom/airbnb/lottie/LottieComposition;FZZLcom/airbnb/lottie/compose/LottieCancellationBehavior;Lkotlin/coroutines/Continuation;)V
+HSPLcom/airbnb/lottie/compose/LottieAnimatableImpl$animate$2;->create(Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation;
+HSPLcom/airbnb/lottie/compose/LottieAnimatableImpl$animate$2;->invoke(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLcom/airbnb/lottie/compose/LottieAnimatableImpl$animate$2;->invoke(Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+HSPLcom/airbnb/lottie/compose/LottieAnimatableImpl$animate$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object;
+Lcom/airbnb/lottie/compose/LottieAnimatableImpl$animate$2$1;
+HSPLcom/airbnb/lottie/compose/LottieAnimatableImpl$animate$2$1;-><init>(Lcom/airbnb/lottie/compose/LottieCancellationBehavior;Lkotlinx/coroutines/Job;IILcom/airbnb/lottie/compose/LottieAnimatableImpl;Lkotlin/coroutines/Continuation;)V
+HSPLcom/airbnb/lottie/compose/LottieAnimatableImpl$animate$2$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation;
+HSPLcom/airbnb/lottie/compose/LottieAnimatableImpl$animate$2$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+HSPLcom/airbnb/lottie/compose/LottieAnimatableImpl$animate$2$1;->invoke(Lkotlinx/coroutines/CoroutineScope;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+HPLcom/airbnb/lottie/compose/LottieAnimatableImpl$animate$2$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object;
+Lcom/airbnb/lottie/compose/LottieAnimatableImpl$animate$2$1$WhenMappings;
+HSPLcom/airbnb/lottie/compose/LottieAnimatableImpl$animate$2$1$WhenMappings;-><clinit>()V
+Lcom/airbnb/lottie/compose/LottieAnimatableImpl$animate$2$WhenMappings;
+HSPLcom/airbnb/lottie/compose/LottieAnimatableImpl$animate$2$WhenMappings;-><clinit>()V
+Lcom/airbnb/lottie/compose/LottieAnimatableImpl$doFrame$2;
+HPLcom/airbnb/lottie/compose/LottieAnimatableImpl$doFrame$2;-><init>(Lcom/airbnb/lottie/compose/LottieAnimatableImpl;I)V
+HPLcom/airbnb/lottie/compose/LottieAnimatableImpl$doFrame$2;->invoke(J)Ljava/lang/Boolean;
+HPLcom/airbnb/lottie/compose/LottieAnimatableImpl$doFrame$2;->invoke(Ljava/lang/Object;)Ljava/lang/Object;
+Lcom/airbnb/lottie/compose/LottieAnimatableImpl$endProgress$2;
+HSPLcom/airbnb/lottie/compose/LottieAnimatableImpl$endProgress$2;-><init>(Lcom/airbnb/lottie/compose/LottieAnimatableImpl;)V
+Lcom/airbnb/lottie/compose/LottieAnimatableImpl$frameSpeed$2;
+HSPLcom/airbnb/lottie/compose/LottieAnimatableImpl$frameSpeed$2;-><init>(Lcom/airbnb/lottie/compose/LottieAnimatableImpl;)V
+HSPLcom/airbnb/lottie/compose/LottieAnimatableImpl$frameSpeed$2;->invoke()Ljava/lang/Float;
+HSPLcom/airbnb/lottie/compose/LottieAnimatableImpl$frameSpeed$2;->invoke()Ljava/lang/Object;
+Lcom/airbnb/lottie/compose/LottieAnimatableImpl$isAtEnd$2;
+HSPLcom/airbnb/lottie/compose/LottieAnimatableImpl$isAtEnd$2;-><init>(Lcom/airbnb/lottie/compose/LottieAnimatableImpl;)V
+Lcom/airbnb/lottie/compose/LottieAnimatableKt;
+HSPLcom/airbnb/lottie/compose/LottieAnimatableKt;->LottieAnimatable()Lcom/airbnb/lottie/compose/LottieAnimatable;
+HSPLcom/airbnb/lottie/compose/LottieAnimatableKt;->rememberLottieAnimatable(Landroidx/compose/runtime/Composer;I)Lcom/airbnb/lottie/compose/LottieAnimatable;
+Lcom/airbnb/lottie/compose/LottieAnimationKt;
+HPLcom/airbnb/lottie/compose/LottieAnimationKt;->LottieAnimation$lambda$3(Landroidx/compose/runtime/MutableState;)Lcom/airbnb/lottie/compose/LottieDynamicProperties;
+HSPLcom/airbnb/lottie/compose/LottieAnimationKt;->LottieAnimation(Lcom/airbnb/lottie/LottieComposition;Lkotlin/jvm/functions/Function0;Landroidx/compose/ui/Modifier;ZZZLcom/airbnb/lottie/RenderMode;ZLcom/airbnb/lottie/compose/LottieDynamicProperties;Landroidx/compose/ui/Alignment;Landroidx/compose/ui/layout/ContentScale;ZLjava/util/Map;Lcom/airbnb/lottie/AsyncUpdates;Landroidx/compose/runtime/Composer;III)V
+HPLcom/airbnb/lottie/compose/LottieAnimationKt;->access$LottieAnimation$lambda$3(Landroidx/compose/runtime/MutableState;)Lcom/airbnb/lottie/compose/LottieDynamicProperties;
+HSPLcom/airbnb/lottie/compose/LottieAnimationKt;->access$times-UQTWf7w(JJ)J
+HPLcom/airbnb/lottie/compose/LottieAnimationKt;->times-UQTWf7w(JJ)J
+Lcom/airbnb/lottie/compose/LottieAnimationKt$LottieAnimation$2;
+HSPLcom/airbnb/lottie/compose/LottieAnimationKt$LottieAnimation$2;-><init>(Lcom/airbnb/lottie/LottieComposition;Landroidx/compose/ui/layout/ContentScale;Landroidx/compose/ui/Alignment;Landroid/graphics/Matrix;Lcom/airbnb/lottie/LottieDrawable;ZLcom/airbnb/lottie/RenderMode;Lcom/airbnb/lottie/AsyncUpdates;Ljava/util/Map;Lcom/airbnb/lottie/compose/LottieDynamicProperties;ZZZZLkotlin/jvm/functions/Function0;Landroidx/compose/runtime/MutableState;)V
+HPLcom/airbnb/lottie/compose/LottieAnimationKt$LottieAnimation$2;->invoke(Landroidx/compose/ui/graphics/drawscope/DrawScope;)V
+HPLcom/airbnb/lottie/compose/LottieAnimationKt$LottieAnimation$2;->invoke(Ljava/lang/Object;)Ljava/lang/Object;
+Lcom/airbnb/lottie/compose/LottieAnimationState;
+Lcom/airbnb/lottie/compose/LottieCancellationBehavior;
+HSPLcom/airbnb/lottie/compose/LottieCancellationBehavior;->$values()[Lcom/airbnb/lottie/compose/LottieCancellationBehavior;
+HSPLcom/airbnb/lottie/compose/LottieCancellationBehavior;-><clinit>()V
+HSPLcom/airbnb/lottie/compose/LottieCancellationBehavior;-><init>(Ljava/lang/String;I)V
+HSPLcom/airbnb/lottie/compose/LottieCancellationBehavior;->values()[Lcom/airbnb/lottie/compose/LottieCancellationBehavior;
+Lcom/airbnb/lottie/compose/LottieClipSpec;
+Lcom/airbnb/lottie/compose/LottieCompositionResult;
+Lcom/airbnb/lottie/compose/LottieCompositionResultImpl;
+HSPLcom/airbnb/lottie/compose/LottieCompositionResultImpl;-><init>()V
+HSPLcom/airbnb/lottie/compose/LottieCompositionResultImpl;->complete$lottie_compose_release(Lcom/airbnb/lottie/LottieComposition;)V
+HSPLcom/airbnb/lottie/compose/LottieCompositionResultImpl;->getError()Ljava/lang/Throwable;
+HSPLcom/airbnb/lottie/compose/LottieCompositionResultImpl;->getValue()Lcom/airbnb/lottie/LottieComposition;
+HSPLcom/airbnb/lottie/compose/LottieCompositionResultImpl;->getValue()Ljava/lang/Object;
+HSPLcom/airbnb/lottie/compose/LottieCompositionResultImpl;->isComplete()Z
+HSPLcom/airbnb/lottie/compose/LottieCompositionResultImpl;->isSuccess()Z
+HSPLcom/airbnb/lottie/compose/LottieCompositionResultImpl;->setValue(Lcom/airbnb/lottie/LottieComposition;)V
+Lcom/airbnb/lottie/compose/LottieCompositionResultImpl$isComplete$2;
+HSPLcom/airbnb/lottie/compose/LottieCompositionResultImpl$isComplete$2;-><init>(Lcom/airbnb/lottie/compose/LottieCompositionResultImpl;)V
+HSPLcom/airbnb/lottie/compose/LottieCompositionResultImpl$isComplete$2;->invoke()Ljava/lang/Boolean;
+HSPLcom/airbnb/lottie/compose/LottieCompositionResultImpl$isComplete$2;->invoke()Ljava/lang/Object;
+Lcom/airbnb/lottie/compose/LottieCompositionResultImpl$isFailure$2;
+HSPLcom/airbnb/lottie/compose/LottieCompositionResultImpl$isFailure$2;-><init>(Lcom/airbnb/lottie/compose/LottieCompositionResultImpl;)V
+Lcom/airbnb/lottie/compose/LottieCompositionResultImpl$isLoading$2;
+HSPLcom/airbnb/lottie/compose/LottieCompositionResultImpl$isLoading$2;-><init>(Lcom/airbnb/lottie/compose/LottieCompositionResultImpl;)V
+Lcom/airbnb/lottie/compose/LottieCompositionResultImpl$isSuccess$2;
+HSPLcom/airbnb/lottie/compose/LottieCompositionResultImpl$isSuccess$2;-><init>(Lcom/airbnb/lottie/compose/LottieCompositionResultImpl;)V
+HSPLcom/airbnb/lottie/compose/LottieCompositionResultImpl$isSuccess$2;->invoke()Ljava/lang/Boolean;
+HSPLcom/airbnb/lottie/compose/LottieCompositionResultImpl$isSuccess$2;->invoke()Ljava/lang/Object;
+Lcom/airbnb/lottie/compose/LottieCompositionSpec;
+Lcom/airbnb/lottie/compose/LottieCompositionSpec$RawRes;
+HSPLcom/airbnb/lottie/compose/LottieCompositionSpec$RawRes;-><init>(I)V
+HSPLcom/airbnb/lottie/compose/LottieCompositionSpec$RawRes;->box-impl(I)Lcom/airbnb/lottie/compose/LottieCompositionSpec$RawRes;
+HSPLcom/airbnb/lottie/compose/LottieCompositionSpec$RawRes;->constructor-impl(I)I
+HSPLcom/airbnb/lottie/compose/LottieCompositionSpec$RawRes;->equals(Ljava/lang/Object;)Z
+HSPLcom/airbnb/lottie/compose/LottieCompositionSpec$RawRes;->equals-impl(ILjava/lang/Object;)Z
+HSPLcom/airbnb/lottie/compose/LottieCompositionSpec$RawRes;->unbox-impl()I
+Lcom/airbnb/lottie/compose/LottieDynamicProperties;
+Lcom/airbnb/lottie/compose/RememberLottieCompositionKt;
+HSPLcom/airbnb/lottie/compose/RememberLottieCompositionKt;->access$ensureLeadingPeriod(Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/airbnb/lottie/compose/RememberLottieCompositionKt;->access$ensureTrailingSlash(Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/airbnb/lottie/compose/RememberLottieCompositionKt;->access$lottieComposition(Landroid/content/Context;Lcom/airbnb/lottie/compose/LottieCompositionSpec;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+HSPLcom/airbnb/lottie/compose/RememberLottieCompositionKt;->access$lottieTask(Landroid/content/Context;Lcom/airbnb/lottie/compose/LottieCompositionSpec;Ljava/lang/String;Z)Lcom/airbnb/lottie/LottieTask;
+HSPLcom/airbnb/lottie/compose/RememberLottieCompositionKt;->access$maybeDecodeBase64Image(Lcom/airbnb/lottie/LottieImageAsset;)V
+HSPLcom/airbnb/lottie/compose/RememberLottieCompositionKt;->access$maybeLoadImageFromAsset(Landroid/content/Context;Lcom/airbnb/lottie/LottieImageAsset;Ljava/lang/String;)V
+HSPLcom/airbnb/lottie/compose/RememberLottieCompositionKt;->access$maybeLoadTypefaceFromAssets(Landroid/content/Context;Lcom/airbnb/lottie/model/Font;Ljava/lang/String;Ljava/lang/String;)V
+HSPLcom/airbnb/lottie/compose/RememberLottieCompositionKt;->access$rememberLottieComposition$lambda$1(Landroidx/compose/runtime/MutableState;)Lcom/airbnb/lottie/compose/LottieCompositionResultImpl;
+HSPLcom/airbnb/lottie/compose/RememberLottieCompositionKt;->await(Lcom/airbnb/lottie/LottieTask;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+HSPLcom/airbnb/lottie/compose/RememberLottieCompositionKt;->ensureLeadingPeriod(Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/airbnb/lottie/compose/RememberLottieCompositionKt;->ensureTrailingSlash(Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/airbnb/lottie/compose/RememberLottieCompositionKt;->loadFontsFromAssets(Landroid/content/Context;Lcom/airbnb/lottie/LottieComposition;Ljava/lang/String;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+HSPLcom/airbnb/lottie/compose/RememberLottieCompositionKt;->loadImagesFromAssets(Landroid/content/Context;Lcom/airbnb/lottie/LottieComposition;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+HSPLcom/airbnb/lottie/compose/RememberLottieCompositionKt;->lottieComposition(Landroid/content/Context;Lcom/airbnb/lottie/compose/LottieCompositionSpec;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+HSPLcom/airbnb/lottie/compose/RememberLottieCompositionKt;->lottieTask(Landroid/content/Context;Lcom/airbnb/lottie/compose/LottieCompositionSpec;Ljava/lang/String;Z)Lcom/airbnb/lottie/LottieTask;
+HSPLcom/airbnb/lottie/compose/RememberLottieCompositionKt;->maybeDecodeBase64Image(Lcom/airbnb/lottie/LottieImageAsset;)V
+HSPLcom/airbnb/lottie/compose/RememberLottieCompositionKt;->maybeLoadImageFromAsset(Landroid/content/Context;Lcom/airbnb/lottie/LottieImageAsset;Ljava/lang/String;)V
+HSPLcom/airbnb/lottie/compose/RememberLottieCompositionKt;->maybeLoadTypefaceFromAssets(Landroid/content/Context;Lcom/airbnb/lottie/model/Font;Ljava/lang/String;Ljava/lang/String;)V
+HSPLcom/airbnb/lottie/compose/RememberLottieCompositionKt;->rememberLottieComposition$lambda$1(Landroidx/compose/runtime/MutableState;)Lcom/airbnb/lottie/compose/LottieCompositionResultImpl;
+HSPLcom/airbnb/lottie/compose/RememberLottieCompositionKt;->rememberLottieComposition(Lcom/airbnb/lottie/compose/LottieCompositionSpec;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;II)Lcom/airbnb/lottie/compose/LottieCompositionResult;
+Lcom/airbnb/lottie/compose/RememberLottieCompositionKt$await$2$1;
+HSPLcom/airbnb/lottie/compose/RememberLottieCompositionKt$await$2$1;-><init>(Lkotlinx/coroutines/CancellableContinuation;)V
+HSPLcom/airbnb/lottie/compose/RememberLottieCompositionKt$await$2$1;->onResult(Ljava/lang/Object;)V
+Lcom/airbnb/lottie/compose/RememberLottieCompositionKt$await$2$2;
+HSPLcom/airbnb/lottie/compose/RememberLottieCompositionKt$await$2$2;-><init>(Lkotlinx/coroutines/CancellableContinuation;)V
+Lcom/airbnb/lottie/compose/RememberLottieCompositionKt$loadFontsFromAssets$2;
+HSPLcom/airbnb/lottie/compose/RememberLottieCompositionKt$loadFontsFromAssets$2;-><init>(Lcom/airbnb/lottie/LottieComposition;Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Lkotlin/coroutines/Continuation;)V
+HSPLcom/airbnb/lottie/compose/RememberLottieCompositionKt$loadFontsFromAssets$2;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation;
+HSPLcom/airbnb/lottie/compose/RememberLottieCompositionKt$loadFontsFromAssets$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object;
+Lcom/airbnb/lottie/compose/RememberLottieCompositionKt$loadImagesFromAssets$2;
+HSPLcom/airbnb/lottie/compose/RememberLottieCompositionKt$loadImagesFromAssets$2;-><init>(Lcom/airbnb/lottie/LottieComposition;Landroid/content/Context;Ljava/lang/String;Lkotlin/coroutines/Continuation;)V
+HSPLcom/airbnb/lottie/compose/RememberLottieCompositionKt$loadImagesFromAssets$2;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation;
+HSPLcom/airbnb/lottie/compose/RememberLottieCompositionKt$loadImagesFromAssets$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object;
+Lcom/airbnb/lottie/compose/RememberLottieCompositionKt$lottieComposition$1;
+HSPLcom/airbnb/lottie/compose/RememberLottieCompositionKt$lottieComposition$1;-><init>(Lkotlin/coroutines/Continuation;)V
+HSPLcom/airbnb/lottie/compose/RememberLottieCompositionKt$lottieComposition$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object;
+Lcom/airbnb/lottie/compose/RememberLottieCompositionKt$rememberLottieComposition$1;
+HSPLcom/airbnb/lottie/compose/RememberLottieCompositionKt$rememberLottieComposition$1;-><init>(Lkotlin/coroutines/Continuation;)V
+Lcom/airbnb/lottie/compose/RememberLottieCompositionKt$rememberLottieComposition$3;
+HSPLcom/airbnb/lottie/compose/RememberLottieCompositionKt$rememberLottieComposition$3;-><init>(Lkotlin/jvm/functions/Function3;Landroid/content/Context;Lcom/airbnb/lottie/compose/LottieCompositionSpec;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroidx/compose/runtime/MutableState;Lkotlin/coroutines/Continuation;)V
+HSPLcom/airbnb/lottie/compose/RememberLottieCompositionKt$rememberLottieComposition$3;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation;
+HSPLcom/airbnb/lottie/compose/RememberLottieCompositionKt$rememberLottieComposition$3;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object;
\ No newline at end of file
diff --git a/lottie/build.gradle b/lottie/build.gradle
index 3c18376..7ba4d7c 100644
--- a/lottie/build.gradle
+++ b/lottie/build.gradle
@@ -5,6 +5,7 @@
   id 'com.android.library'
   id 'net.ltgt.errorprone'
   id 'com.vanniktech.maven.publish'
+  id 'androidx.baselineprofile'
 }
 
 android {
@@ -33,6 +34,13 @@
   signAllPublications()
 }
 
+baselineProfile {
+  filter {
+    include 'com.airbnb.lottie.**'
+    exclude 'com.airbnb.lottie.compose.**'
+  }
+}
+
 dependencies {
   implementation libs.androidx.appcompat
   // Do not upgrade to 2.0 because it will bring in Kotlin as a transitive dependency.
@@ -42,6 +50,8 @@
   annotationProcessor libs.nullaway
   errorprone libs.errorprone.core
 
+  baselineProfile project(':baselineprofile')
+
   testImplementation libs.mockito.core
   testImplementation libs.robolectric
   testImplementation libs.junit4
diff --git a/lottie/src/main/baseline-prof.txt b/lottie/src/main/generated/baselineProfiles/baseline-prof.txt
similarity index 62%
rename from lottie/src/main/baseline-prof.txt
rename to lottie/src/main/generated/baselineProfiles/baseline-prof.txt
index 478844b..7f4549a 100644
--- a/lottie/src/main/baseline-prof.txt
+++ b/lottie/src/main/generated/baselineProfiles/baseline-prof.txt
@@ -1,197 +1,217 @@
-HPLcom/airbnb/lottie/LottieDrawable;->convertRect(Landroid/graphics/RectF;Landroid/graphics/Rect;)V
-HPLcom/airbnb/lottie/LottieDrawable;->ensureSoftwareRenderingBitmap(II)V
-HPLcom/airbnb/lottie/LottieDrawable;->ensureSoftwareRenderingObjectsInitialized()V
-HPLcom/airbnb/lottie/LottieDrawable;->getImageAssetManager()Lcom/airbnb/lottie/manager/ImageAssetManager;
-HPLcom/airbnb/lottie/LottieDrawable;->renderAndDrawAsBitmap(Landroid/graphics/Canvas;Lcom/airbnb/lottie/model/layer/CompositionLayer;)V
-HPLcom/airbnb/lottie/animation/content/BaseStrokeContent;->onValueChanged()V
-HPLcom/airbnb/lottie/animation/content/ContentGroup;->getBounds(Landroid/graphics/RectF;Landroid/graphics/Matrix;Z)V
-HPLcom/airbnb/lottie/animation/content/EllipseContent;->onValueChanged()V
-HPLcom/airbnb/lottie/animation/content/FillContent;->getBounds(Landroid/graphics/RectF;Landroid/graphics/Matrix;Z)V
-HPLcom/airbnb/lottie/animation/content/FillContent;->onValueChanged()V
-HPLcom/airbnb/lottie/animation/content/GradientFillContent;->applyDynamicColorsIfNeeded([I)[I
-HPLcom/airbnb/lottie/animation/content/GradientFillContent;->draw(Landroid/graphics/Canvas;Landroid/graphics/Matrix;I)V
-HPLcom/airbnb/lottie/animation/content/GradientFillContent;->getGradientHash()I
-HPLcom/airbnb/lottie/animation/content/GradientFillContent;->getLinearGradient()Landroid/graphics/LinearGradient;
-HPLcom/airbnb/lottie/animation/content/RectangleContent;->getPath()Landroid/graphics/Path;
-HPLcom/airbnb/lottie/animation/content/ShapeContent;->onValueChanged()V
-HPLcom/airbnb/lottie/animation/content/TrimPathContent;-><init>(Lcom/airbnb/lottie/model/layer/BaseLayer;Lcom/airbnb/lottie/model/content/ShapeTrimPath;)V
-HPLcom/airbnb/lottie/animation/content/TrimPathContent;->onValueChanged()V
-HPLcom/airbnb/lottie/animation/keyframe/MaskKeyframeAnimation;-><init>(Ljava/util/List;)V
-HPLcom/airbnb/lottie/animation/keyframe/MaskKeyframeAnimation;->getMaskAnimations()Ljava/util/List;
-HPLcom/airbnb/lottie/animation/keyframe/ScaleKeyframeAnimation;->getValue(Lcom/airbnb/lottie/value/Keyframe;F)Lcom/airbnb/lottie/value/ScaleXY;
-HPLcom/airbnb/lottie/animation/keyframe/ScaleKeyframeAnimation;->getValue(Lcom/airbnb/lottie/value/Keyframe;F)Ljava/lang/Object;
-HPLcom/airbnb/lottie/animation/keyframe/SplitDimensionPathKeyframeAnimation;->getValue()Landroid/graphics/PointF;
-HPLcom/airbnb/lottie/animation/keyframe/SplitDimensionPathKeyframeAnimation;->getValue()Ljava/lang/Object;
-HPLcom/airbnb/lottie/animation/keyframe/SplitDimensionPathKeyframeAnimation;->getValue(Lcom/airbnb/lottie/value/Keyframe;F)Landroid/graphics/PointF;
-HPLcom/airbnb/lottie/animation/keyframe/SplitDimensionPathKeyframeAnimation;->setProgress(F)V
-HPLcom/airbnb/lottie/model/layer/BaseLayer$$ExternalSyntheticLambda0;->onValueChanged()V
-HPLcom/airbnb/lottie/model/layer/BaseLayer;->applyAddMask(Landroid/graphics/Canvas;Landroid/graphics/Matrix;Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;)V
-HPLcom/airbnb/lottie/model/layer/BaseLayer;->applyMasks(Landroid/graphics/Canvas;Landroid/graphics/Matrix;)V
-HPLcom/airbnb/lottie/model/layer/BaseLayer;->clearCanvas(Landroid/graphics/Canvas;)V
-HPLcom/airbnb/lottie/model/layer/BaseLayer;->getBounds(Landroid/graphics/RectF;Landroid/graphics/Matrix;Z)V
-HPLcom/airbnb/lottie/model/layer/BaseLayer;->intersectBoundsWithMask(Landroid/graphics/RectF;Landroid/graphics/Matrix;)V
-HPLcom/airbnb/lottie/model/layer/BaseLayer;->intersectBoundsWithMatte(Landroid/graphics/RectF;Landroid/graphics/Matrix;)V
-HPLcom/airbnb/lottie/model/layer/BaseLayer;->lambda$setupInOutAnimations$0$BaseLayer()V
-HPLcom/airbnb/lottie/model/layer/ImageLayer;->drawLayer(Landroid/graphics/Canvas;Landroid/graphics/Matrix;I)V
-HPLcom/airbnb/lottie/model/layer/ImageLayer;->getBitmap()Landroid/graphics/Bitmap;
-HPLcom/airbnb/lottie/model/layer/NullLayer;->drawLayer(Landroid/graphics/Canvas;Landroid/graphics/Matrix;I)V
-HPLcom/airbnb/lottie/model/layer/ShapeLayer;->getBounds(Landroid/graphics/RectF;Landroid/graphics/Matrix;Z)V
-HPLcom/airbnb/lottie/parser/MaskParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/content/Mask;
-HPLcom/airbnb/lottie/utils/GammaEvaluator;->OECF_sRGB(F)F
-HPLcom/airbnb/lottie/utils/Utils;->applyTrimPathIfNeeded(Landroid/graphics/Path;FFF)V
-HPLcom/airbnb/lottie/utils/Utils;->applyTrimPathIfNeeded(Landroid/graphics/Path;Lcom/airbnb/lottie/animation/content/TrimPathContent;)V
-HSPLcom/airbnb/lottie/L$1;-><init>(Landroid/content/Context;)V
-HSPLcom/airbnb/lottie/L$1;->getCacheDir()Ljava/io/File;
+Lcom/airbnb/lottie/AsyncUpdates;
+HSPLcom/airbnb/lottie/AsyncUpdates;->$values()[Lcom/airbnb/lottie/AsyncUpdates;
+HSPLcom/airbnb/lottie/AsyncUpdates;-><clinit>()V
+HSPLcom/airbnb/lottie/AsyncUpdates;-><init>(Ljava/lang/String;I)V
+Lcom/airbnb/lottie/ImageAssetDelegate;
+Lcom/airbnb/lottie/L;
 HSPLcom/airbnb/lottie/L;-><clinit>()V
-HSPLcom/airbnb/lottie/L;->beginSection(Ljava/lang/String;)V
-HSPLcom/airbnb/lottie/L;->endSection(Ljava/lang/String;)F
-HSPLcom/airbnb/lottie/L;->networkCache(Landroid/content/Context;)Lcom/airbnb/lottie/network/NetworkCache;
-HSPLcom/airbnb/lottie/L;->networkFetcher(Landroid/content/Context;)Lcom/airbnb/lottie/network/NetworkFetcher;
-HSPLcom/airbnb/lottie/L;->setTraceEnabled(Z)V
+HPLcom/airbnb/lottie/L;->beginSection(Ljava/lang/String;)V
+HPLcom/airbnb/lottie/L;->endSection(Ljava/lang/String;)F
+HSPLcom/airbnb/lottie/L;->getDisablePathInterpolatorCache()Z
+Lcom/airbnb/lottie/LottieComposition;
 HSPLcom/airbnb/lottie/LottieComposition;-><init>()V
-HSPLcom/airbnb/lottie/LottieComposition;->addWarning(Ljava/lang/String;)V
-HSPLcom/airbnb/lottie/LottieComposition;->getBounds()Landroid/graphics/Rect;
-HSPLcom/airbnb/lottie/LottieComposition;->getDuration()F
-HSPLcom/airbnb/lottie/LottieComposition;->getDurationFrames()F
-HSPLcom/airbnb/lottie/LottieComposition;->getEndFrame()F
-HSPLcom/airbnb/lottie/LottieComposition;->getFonts()Ljava/util/Map;
-HSPLcom/airbnb/lottie/LottieComposition;->getFrameForProgress(F)F
+HPLcom/airbnb/lottie/LottieComposition;->getBounds()Landroid/graphics/Rect;
+HPLcom/airbnb/lottie/LottieComposition;->getCharacters()Landroidx/collection/SparseArrayCompat;
+HPLcom/airbnb/lottie/LottieComposition;->getDuration()F
+HPLcom/airbnb/lottie/LottieComposition;->getDurationFrames()F
+HPLcom/airbnb/lottie/LottieComposition;->getEndFrame()F
+HPLcom/airbnb/lottie/LottieComposition;->getFonts()Ljava/util/Map;
+HPLcom/airbnb/lottie/LottieComposition;->getFrameForProgress(F)F
 HSPLcom/airbnb/lottie/LottieComposition;->getImages()Ljava/util/Map;
 HSPLcom/airbnb/lottie/LottieComposition;->getLayers()Ljava/util/List;
 HSPLcom/airbnb/lottie/LottieComposition;->getMaskAndMatteCount()I
 HSPLcom/airbnb/lottie/LottieComposition;->getPerformanceTracker()Lcom/airbnb/lottie/PerformanceTracker;
-HSPLcom/airbnb/lottie/LottieComposition;->getPrecomps(Ljava/lang/String;)Ljava/util/List;
-HSPLcom/airbnb/lottie/LottieComposition;->getStartFrame()F
-HSPLcom/airbnb/lottie/LottieComposition;->getWarnings()Ljava/util/ArrayList;
-HSPLcom/airbnb/lottie/LottieComposition;->hasDashPattern()Z
+HPLcom/airbnb/lottie/LottieComposition;->getStartFrame()F
+HPLcom/airbnb/lottie/LottieComposition;->hasDashPattern()Z
 HSPLcom/airbnb/lottie/LottieComposition;->hasImages()Z
+HSPLcom/airbnb/lottie/LottieComposition;->incrementMatteOrMaskCount(I)V
 HSPLcom/airbnb/lottie/LottieComposition;->init(Landroid/graphics/Rect;FFFLjava/util/List;Landroidx/collection/LongSparseArray;Ljava/util/Map;Ljava/util/Map;Landroidx/collection/SparseArrayCompat;Ljava/util/Map;Ljava/util/List;)V
 HSPLcom/airbnb/lottie/LottieComposition;->setPerformanceTrackingEnabled(Z)V
-HSPLcom/airbnb/lottie/LottieCompositionFactory$$ExternalSyntheticLambda0;-><init>(Ljava/lang/String;Ljava/util/concurrent/atomic/AtomicBoolean;)V
-HSPLcom/airbnb/lottie/LottieCompositionFactory$$ExternalSyntheticLambda0;->onResult(Ljava/lang/Object;)V
-HSPLcom/airbnb/lottie/LottieCompositionFactory$$ExternalSyntheticLambda2;-><init>(Ljava/lang/String;Ljava/util/concurrent/atomic/AtomicBoolean;)V
-HSPLcom/airbnb/lottie/LottieCompositionFactory$$ExternalSyntheticLambda4;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/airbnb/lottie/LottieCompositionFactory$$ExternalSyntheticLambda4;->call()Ljava/lang/Object;
-HSPLcom/airbnb/lottie/LottieCompositionFactory$$ExternalSyntheticLambda5;-><init>(Lcom/airbnb/lottie/LottieComposition;)V
-HSPLcom/airbnb/lottie/LottieCompositionFactory$$ExternalSyntheticLambda5;->call()Ljava/lang/Object;
-HSPLcom/airbnb/lottie/LottieCompositionFactory$$ExternalSyntheticLambda9;-><init>(Ljava/lang/ref/WeakReference;Landroid/content/Context;ILjava/lang/String;)V
-HSPLcom/airbnb/lottie/LottieCompositionFactory$$ExternalSyntheticLambda9;->call()Ljava/lang/Object;
+Lcom/airbnb/lottie/LottieCompositionFactory;
 HSPLcom/airbnb/lottie/LottieCompositionFactory;-><clinit>()V
-HSPLcom/airbnb/lottie/LottieCompositionFactory;->cache(Ljava/lang/String;Ljava/util/concurrent/Callable;)Lcom/airbnb/lottie/LottieTask;
+HSPLcom/airbnb/lottie/LottieCompositionFactory;->cache(Ljava/lang/String;Ljava/util/concurrent/Callable;Ljava/lang/Runnable;)Lcom/airbnb/lottie/LottieTask;
 HSPLcom/airbnb/lottie/LottieCompositionFactory;->fromJsonInputStreamSync(Ljava/io/InputStream;Ljava/lang/String;)Lcom/airbnb/lottie/LottieResult;
 HSPLcom/airbnb/lottie/LottieCompositionFactory;->fromJsonInputStreamSync(Ljava/io/InputStream;Ljava/lang/String;Z)Lcom/airbnb/lottie/LottieResult;
-HSPLcom/airbnb/lottie/LottieCompositionFactory;->fromJsonReaderSync(Lcom/airbnb/lottie/parser/moshi/JsonReader;Ljava/lang/String;)Lcom/airbnb/lottie/LottieResult;
+HSPLcom/airbnb/lottie/LottieCompositionFactory;->fromJsonReaderSync(Lcom/airbnb/lottie/parser/moshi/JsonReader;Ljava/lang/String;Z)Lcom/airbnb/lottie/LottieResult;
 HSPLcom/airbnb/lottie/LottieCompositionFactory;->fromJsonReaderSyncInternal(Lcom/airbnb/lottie/parser/moshi/JsonReader;Ljava/lang/String;Z)Lcom/airbnb/lottie/LottieResult;
 HSPLcom/airbnb/lottie/LottieCompositionFactory;->fromRawRes(Landroid/content/Context;I)Lcom/airbnb/lottie/LottieTask;
 HSPLcom/airbnb/lottie/LottieCompositionFactory;->fromRawRes(Landroid/content/Context;ILjava/lang/String;)Lcom/airbnb/lottie/LottieTask;
 HSPLcom/airbnb/lottie/LottieCompositionFactory;->fromRawResSync(Landroid/content/Context;ILjava/lang/String;)Lcom/airbnb/lottie/LottieResult;
-HSPLcom/airbnb/lottie/LottieCompositionFactory;->fromUrl(Landroid/content/Context;Ljava/lang/String;)Lcom/airbnb/lottie/LottieTask;
-HSPLcom/airbnb/lottie/LottieCompositionFactory;->fromUrl(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Lcom/airbnb/lottie/LottieTask;
 HSPLcom/airbnb/lottie/LottieCompositionFactory;->isNightMode(Landroid/content/Context;)Z
 HSPLcom/airbnb/lottie/LottieCompositionFactory;->isZipCompressed(Lokio/BufferedSource;)Ljava/lang/Boolean;
-HSPLcom/airbnb/lottie/LottieCompositionFactory;->lambda$cache$8(Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/LottieResult;
-HSPLcom/airbnb/lottie/LottieCompositionFactory;->lambda$cache$9(Ljava/lang/String;Ljava/util/concurrent/atomic/AtomicBoolean;Lcom/airbnb/lottie/LottieComposition;)V
+HSPLcom/airbnb/lottie/LottieCompositionFactory;->lambda$cache$15(Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/LottieResult;
+HSPLcom/airbnb/lottie/LottieCompositionFactory;->lambda$cache$16(Ljava/lang/String;Ljava/util/concurrent/atomic/AtomicBoolean;Lcom/airbnb/lottie/LottieComposition;)V
 HSPLcom/airbnb/lottie/LottieCompositionFactory;->lambda$fromRawRes$2(Ljava/lang/ref/WeakReference;Landroid/content/Context;ILjava/lang/String;)Lcom/airbnb/lottie/LottieResult;
-HSPLcom/airbnb/lottie/LottieCompositionFactory;->lambda$fromUrl$0(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Lcom/airbnb/lottie/LottieResult;
+HSPLcom/airbnb/lottie/LottieCompositionFactory;->notifyTaskCacheIdleListeners(Z)V
 HSPLcom/airbnb/lottie/LottieCompositionFactory;->rawResCacheKey(Landroid/content/Context;I)Ljava/lang/String;
-HSPLcom/airbnb/lottie/LottieDrawable$1;-><init>(Lcom/airbnb/lottie/LottieDrawable;)V
-HSPLcom/airbnb/lottie/LottieDrawable$1;->onAnimationUpdate(Landroid/animation/ValueAnimator;)V
-HSPLcom/airbnb/lottie/LottieDrawable$OnVisibleAction;-><clinit>()V
-HSPLcom/airbnb/lottie/LottieDrawable$OnVisibleAction;-><init>(Ljava/lang/String;I)V
+Lcom/airbnb/lottie/LottieCompositionFactory$$ExternalSyntheticLambda4;
+HSPLcom/airbnb/lottie/LottieCompositionFactory$$ExternalSyntheticLambda4;-><init>(Lcom/airbnb/lottie/LottieComposition;)V
+HSPLcom/airbnb/lottie/LottieCompositionFactory$$ExternalSyntheticLambda4;->call()Ljava/lang/Object;
+Lcom/airbnb/lottie/LottieCompositionFactory$$ExternalSyntheticLambda5;
+HSPLcom/airbnb/lottie/LottieCompositionFactory$$ExternalSyntheticLambda5;-><init>(Ljava/lang/String;Ljava/util/concurrent/atomic/AtomicBoolean;)V
+HSPLcom/airbnb/lottie/LottieCompositionFactory$$ExternalSyntheticLambda5;->onResult(Ljava/lang/Object;)V
+Lcom/airbnb/lottie/LottieCompositionFactory$$ExternalSyntheticLambda6;
+HSPLcom/airbnb/lottie/LottieCompositionFactory$$ExternalSyntheticLambda6;-><init>(Ljava/lang/String;Ljava/util/concurrent/atomic/AtomicBoolean;)V
+Lcom/airbnb/lottie/LottieCompositionFactory$$ExternalSyntheticLambda8;
+HSPLcom/airbnb/lottie/LottieCompositionFactory$$ExternalSyntheticLambda8;-><init>(Ljava/lang/ref/WeakReference;Landroid/content/Context;ILjava/lang/String;)V
+HSPLcom/airbnb/lottie/LottieCompositionFactory$$ExternalSyntheticLambda8;->call()Ljava/lang/Object;
+Lcom/airbnb/lottie/LottieDrawable;
+HSPLcom/airbnb/lottie/LottieDrawable;-><clinit>()V
 HSPLcom/airbnb/lottie/LottieDrawable;-><init>()V
-HSPLcom/airbnb/lottie/LottieDrawable;->access$000(Lcom/airbnb/lottie/LottieDrawable;)Lcom/airbnb/lottie/model/layer/CompositionLayer;
-HSPLcom/airbnb/lottie/LottieDrawable;->access$100(Lcom/airbnb/lottie/LottieDrawable;)Lcom/airbnb/lottie/utils/LottieValueAnimator;
 HSPLcom/airbnb/lottie/LottieDrawable;->buildCompositionLayer()V
 HSPLcom/airbnb/lottie/LottieDrawable;->clearComposition()V
-HSPLcom/airbnb/lottie/LottieDrawable;->draw(Landroid/graphics/Canvas;Landroid/graphics/Matrix;)V
-HSPLcom/airbnb/lottie/LottieDrawable;->enableMergePathsForKitKatAndAbove(Z)V
-HSPLcom/airbnb/lottie/LottieDrawable;->getClipToCompositionBounds()Z
-HSPLcom/airbnb/lottie/LottieDrawable;->getComposition()Lcom/airbnb/lottie/LottieComposition;
-HSPLcom/airbnb/lottie/LottieDrawable;->invalidateSelf()V
-HSPLcom/airbnb/lottie/LottieDrawable;->isApplyingOpacityToLayersEnabled()Z
+HPLcom/airbnb/lottie/LottieDrawable;->computeRenderMode()V
+HPLcom/airbnb/lottie/LottieDrawable;->draw(Landroid/graphics/Canvas;Landroid/graphics/Matrix;)V
+HPLcom/airbnb/lottie/LottieDrawable;->enableMergePathsForKitKatAndAbove(Z)V
+HPLcom/airbnb/lottie/LottieDrawable;->getAsyncUpdates()Lcom/airbnb/lottie/AsyncUpdates;
+HPLcom/airbnb/lottie/LottieDrawable;->getAsyncUpdatesEnabled()Z
+HPLcom/airbnb/lottie/LottieDrawable;->getBitmapForId(Ljava/lang/String;)Landroid/graphics/Bitmap;
+HPLcom/airbnb/lottie/LottieDrawable;->getComposition()Lcom/airbnb/lottie/LottieComposition;
+HSPLcom/airbnb/lottie/LottieDrawable;->getContext()Landroid/content/Context;
+HPLcom/airbnb/lottie/LottieDrawable;->getImageAssetManager()Lcom/airbnb/lottie/manager/ImageAssetManager;
+HSPLcom/airbnb/lottie/LottieDrawable;->getLottieImageAssetForId(Ljava/lang/String;)Lcom/airbnb/lottie/LottieImageAsset;
+HPLcom/airbnb/lottie/LottieDrawable;->getMaintainOriginalImageBounds()Z
+HPLcom/airbnb/lottie/LottieDrawable;->invalidateSelf()V
+HPLcom/airbnb/lottie/LottieDrawable;->isApplyingOpacityToLayersEnabled()Z
+HPLcom/airbnb/lottie/LottieDrawable;->lambda$new$0$com-airbnb-lottie-LottieDrawable(Landroid/animation/ValueAnimator;)V
 HSPLcom/airbnb/lottie/LottieDrawable;->setApplyingOpacityToLayersEnabled(Z)V
+HPLcom/airbnb/lottie/LottieDrawable;->setAsyncUpdates(Lcom/airbnb/lottie/AsyncUpdates;)V
 HSPLcom/airbnb/lottie/LottieDrawable;->setClipToCompositionBounds(Z)V
 HSPLcom/airbnb/lottie/LottieDrawable;->setComposition(Lcom/airbnb/lottie/LottieComposition;)Z
+HSPLcom/airbnb/lottie/LottieDrawable;->setFontMap(Ljava/util/Map;)V
 HSPLcom/airbnb/lottie/LottieDrawable;->setMaintainOriginalImageBounds(Z)V
 HSPLcom/airbnb/lottie/LottieDrawable;->setOutlineMasksAndMattes(Z)V
-HSPLcom/airbnb/lottie/LottieDrawable;->setProgress(F)V
-HSPLcom/airbnb/lottie/LottieDrawable;->setScale(F)V
-HSPLcom/airbnb/lottie/LottieDrawable;->useSoftwareRendering(Z)V
+HPLcom/airbnb/lottie/LottieDrawable;->setProgress(F)V
+HPLcom/airbnb/lottie/LottieDrawable;->setRenderMode(Lcom/airbnb/lottie/RenderMode;)V
+HPLcom/airbnb/lottie/LottieDrawable;->useTextGlyphs()Z
+Lcom/airbnb/lottie/LottieDrawable$$ExternalSyntheticLambda0;
+HSPLcom/airbnb/lottie/LottieDrawable$$ExternalSyntheticLambda0;-><init>(Lcom/airbnb/lottie/LottieDrawable;)V
+HPLcom/airbnb/lottie/LottieDrawable$$ExternalSyntheticLambda0;->onAnimationUpdate(Landroid/animation/ValueAnimator;)V
+Lcom/airbnb/lottie/LottieDrawable$$ExternalSyntheticLambda9;
+HSPLcom/airbnb/lottie/LottieDrawable$$ExternalSyntheticLambda9;-><init>(Lcom/airbnb/lottie/LottieDrawable;)V
+Lcom/airbnb/lottie/LottieDrawable$OnVisibleAction;
+HSPLcom/airbnb/lottie/LottieDrawable$OnVisibleAction;->$values()[Lcom/airbnb/lottie/LottieDrawable$OnVisibleAction;
+HSPLcom/airbnb/lottie/LottieDrawable$OnVisibleAction;-><clinit>()V
+HSPLcom/airbnb/lottie/LottieDrawable$OnVisibleAction;-><init>(Ljava/lang/String;I)V
+Lcom/airbnb/lottie/LottieImageAsset;
+HSPLcom/airbnb/lottie/LottieImageAsset;-><init>(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+HSPLcom/airbnb/lottie/LottieImageAsset;->getBitmap()Landroid/graphics/Bitmap;
+HSPLcom/airbnb/lottie/LottieImageAsset;->getFileName()Ljava/lang/String;
+HSPLcom/airbnb/lottie/LottieImageAsset;->getId()Ljava/lang/String;
+HSPLcom/airbnb/lottie/LottieImageAsset;->setBitmap(Landroid/graphics/Bitmap;)V
+Lcom/airbnb/lottie/LottieListener;
+Lcom/airbnb/lottie/LottieLogger;
+Lcom/airbnb/lottie/LottieResult;
 HSPLcom/airbnb/lottie/LottieResult;-><init>(Ljava/lang/Object;)V
 HSPLcom/airbnb/lottie/LottieResult;->getException()Ljava/lang/Throwable;
 HSPLcom/airbnb/lottie/LottieResult;->getValue()Ljava/lang/Object;
-HSPLcom/airbnb/lottie/LottieTask$$ExternalSyntheticLambda0;-><init>(Lcom/airbnb/lottie/LottieTask;)V
-HSPLcom/airbnb/lottie/LottieTask$$ExternalSyntheticLambda0;->run()V
-HSPLcom/airbnb/lottie/LottieTask$LottieFutureTask;-><init>(Lcom/airbnb/lottie/LottieTask;Ljava/util/concurrent/Callable;)V
-HSPLcom/airbnb/lottie/LottieTask$LottieFutureTask;->done()V
+Lcom/airbnb/lottie/LottieTask;
 HSPLcom/airbnb/lottie/LottieTask;-><clinit>()V
 HSPLcom/airbnb/lottie/LottieTask;-><init>(Ljava/util/concurrent/Callable;)V
 HSPLcom/airbnb/lottie/LottieTask;-><init>(Ljava/util/concurrent/Callable;Z)V
 HSPLcom/airbnb/lottie/LottieTask;->access$000(Lcom/airbnb/lottie/LottieTask;Lcom/airbnb/lottie/LottieResult;)V
 HSPLcom/airbnb/lottie/LottieTask;->addFailureListener(Lcom/airbnb/lottie/LottieListener;)Lcom/airbnb/lottie/LottieTask;
 HSPLcom/airbnb/lottie/LottieTask;->addListener(Lcom/airbnb/lottie/LottieListener;)Lcom/airbnb/lottie/LottieTask;
-HSPLcom/airbnb/lottie/LottieTask;->lambda$notifyListeners$0$LottieTask()V
+HSPLcom/airbnb/lottie/LottieTask;->lambda$notifyListeners$0$com-airbnb-lottie-LottieTask()V
 HSPLcom/airbnb/lottie/LottieTask;->notifyListeners()V
 HSPLcom/airbnb/lottie/LottieTask;->notifySuccessListeners(Ljava/lang/Object;)V
 HSPLcom/airbnb/lottie/LottieTask;->setResult(Lcom/airbnb/lottie/LottieResult;)V
-HSPLcom/airbnb/lottie/PerformanceTracker$1;-><init>(Lcom/airbnb/lottie/PerformanceTracker;)V
+Lcom/airbnb/lottie/LottieTask$$ExternalSyntheticLambda0;
+HSPLcom/airbnb/lottie/LottieTask$$ExternalSyntheticLambda0;-><init>(Lcom/airbnb/lottie/LottieTask;)V
+HSPLcom/airbnb/lottie/LottieTask$$ExternalSyntheticLambda0;->run()V
+Lcom/airbnb/lottie/LottieTask$LottieFutureTask;
+HSPLcom/airbnb/lottie/LottieTask$LottieFutureTask;-><init>(Lcom/airbnb/lottie/LottieTask;Ljava/util/concurrent/Callable;)V
+HSPLcom/airbnb/lottie/LottieTask$LottieFutureTask;->done()V
+Lcom/airbnb/lottie/PerformanceTracker;
 HSPLcom/airbnb/lottie/PerformanceTracker;-><init>()V
-HSPLcom/airbnb/lottie/PerformanceTracker;->recordRenderTime(Ljava/lang/String;F)V
+HPLcom/airbnb/lottie/PerformanceTracker;->recordRenderTime(Ljava/lang/String;F)V
 HSPLcom/airbnb/lottie/PerformanceTracker;->setEnabled(Z)V
-HSPLcom/airbnb/lottie/RenderMode$1;-><clinit>()V
+Lcom/airbnb/lottie/PerformanceTracker$1;
+HSPLcom/airbnb/lottie/PerformanceTracker$1;-><init>(Lcom/airbnb/lottie/PerformanceTracker;)V
+Lcom/airbnb/lottie/RenderMode;
+HSPLcom/airbnb/lottie/RenderMode;->$values()[Lcom/airbnb/lottie/RenderMode;
 HSPLcom/airbnb/lottie/RenderMode;-><clinit>()V
 HSPLcom/airbnb/lottie/RenderMode;-><init>(Ljava/lang/String;I)V
-HSPLcom/airbnb/lottie/RenderMode;->useSoftwareRendering(IZI)Z
+HPLcom/airbnb/lottie/RenderMode;->useSoftwareRendering(IZI)Z
 HSPLcom/airbnb/lottie/RenderMode;->values()[Lcom/airbnb/lottie/RenderMode;
+Lcom/airbnb/lottie/RenderMode$1;
+HSPLcom/airbnb/lottie/RenderMode$1;-><clinit>()V
+Lcom/airbnb/lottie/animation/LPaint;
 HSPLcom/airbnb/lottie/animation/LPaint;-><init>()V
 HSPLcom/airbnb/lottie/animation/LPaint;-><init>(I)V
 HSPLcom/airbnb/lottie/animation/LPaint;-><init>(ILandroid/graphics/PorterDuff$Mode;)V
 HSPLcom/airbnb/lottie/animation/LPaint;-><init>(Landroid/graphics/PorterDuff$Mode;)V
-HSPLcom/airbnb/lottie/animation/LPaint;->setAlpha(I)V
+HPLcom/airbnb/lottie/animation/LPaint;->setAlpha(I)V
 HSPLcom/airbnb/lottie/animation/LPaint;->setTextLocales(Landroid/os/LocaleList;)V
+Lcom/airbnb/lottie/animation/content/BaseStrokeContent;
+HSPLcom/airbnb/lottie/animation/content/BaseStrokeContent;-><init>(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/model/layer/BaseLayer;Landroid/graphics/Paint$Cap;Landroid/graphics/Paint$Join;FLcom/airbnb/lottie/model/animatable/AnimatableIntegerValue;Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;Ljava/util/List;Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;)V
+HPLcom/airbnb/lottie/animation/content/BaseStrokeContent;->applyDashPatternIfNeeded(Landroid/graphics/Matrix;)V
+HSPLcom/airbnb/lottie/animation/content/BaseStrokeContent;->draw(Landroid/graphics/Canvas;Landroid/graphics/Matrix;I)V
+HSPLcom/airbnb/lottie/animation/content/BaseStrokeContent;->getBounds(Landroid/graphics/RectF;Landroid/graphics/Matrix;Z)V
+HSPLcom/airbnb/lottie/animation/content/BaseStrokeContent;->setContents(Ljava/util/List;Ljava/util/List;)V
+Lcom/airbnb/lottie/animation/content/BaseStrokeContent$PathGroup;
 HSPLcom/airbnb/lottie/animation/content/BaseStrokeContent$PathGroup;-><init>(Lcom/airbnb/lottie/animation/content/TrimPathContent;)V
 HSPLcom/airbnb/lottie/animation/content/BaseStrokeContent$PathGroup;-><init>(Lcom/airbnb/lottie/animation/content/TrimPathContent;Lcom/airbnb/lottie/animation/content/BaseStrokeContent$1;)V
-HSPLcom/airbnb/lottie/animation/content/BaseStrokeContent$PathGroup;->access$100(Lcom/airbnb/lottie/animation/content/BaseStrokeContent$PathGroup;)Ljava/util/List;
-HSPLcom/airbnb/lottie/animation/content/BaseStrokeContent$PathGroup;->access$200(Lcom/airbnb/lottie/animation/content/BaseStrokeContent$PathGroup;)Lcom/airbnb/lottie/animation/content/TrimPathContent;
-HSPLcom/airbnb/lottie/animation/content/BaseStrokeContent;-><init>(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/model/layer/BaseLayer;Landroid/graphics/Paint$Cap;Landroid/graphics/Paint$Join;FLcom/airbnb/lottie/model/animatable/AnimatableIntegerValue;Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;Ljava/util/List;Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;)V
-HSPLcom/airbnb/lottie/animation/content/BaseStrokeContent;->applyDashPatternIfNeeded(Landroid/graphics/Matrix;)V
-HSPLcom/airbnb/lottie/animation/content/BaseStrokeContent;->draw(Landroid/graphics/Canvas;Landroid/graphics/Matrix;I)V
-HSPLcom/airbnb/lottie/animation/content/BaseStrokeContent;->setContents(Ljava/util/List;Ljava/util/List;)V
+HPLcom/airbnb/lottie/animation/content/BaseStrokeContent$PathGroup;->access$100(Lcom/airbnb/lottie/animation/content/BaseStrokeContent$PathGroup;)Ljava/util/List;
+HPLcom/airbnb/lottie/animation/content/BaseStrokeContent$PathGroup;->access$200(Lcom/airbnb/lottie/animation/content/BaseStrokeContent$PathGroup;)Lcom/airbnb/lottie/animation/content/TrimPathContent;
+Lcom/airbnb/lottie/animation/content/CompoundTrimPathContent;
 HSPLcom/airbnb/lottie/animation/content/CompoundTrimPathContent;-><init>()V
 HSPLcom/airbnb/lottie/animation/content/CompoundTrimPathContent;->apply(Landroid/graphics/Path;)V
-HSPLcom/airbnb/lottie/animation/content/ContentGroup;-><init>(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/model/layer/BaseLayer;Lcom/airbnb/lottie/model/content/ShapeGroup;)V
+Lcom/airbnb/lottie/animation/content/Content;
+Lcom/airbnb/lottie/animation/content/ContentGroup;
+HSPLcom/airbnb/lottie/animation/content/ContentGroup;-><init>(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/model/layer/BaseLayer;Lcom/airbnb/lottie/model/content/ShapeGroup;Lcom/airbnb/lottie/LottieComposition;)V
 HSPLcom/airbnb/lottie/animation/content/ContentGroup;-><init>(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/model/layer/BaseLayer;Ljava/lang/String;ZLjava/util/List;Lcom/airbnb/lottie/model/animatable/AnimatableTransform;)V
-HSPLcom/airbnb/lottie/animation/content/ContentGroup;->contentsFromModels(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/model/layer/BaseLayer;Ljava/util/List;)Ljava/util/List;
+HSPLcom/airbnb/lottie/animation/content/ContentGroup;->contentsFromModels(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/LottieComposition;Lcom/airbnb/lottie/model/layer/BaseLayer;Ljava/util/List;)Ljava/util/List;
 HSPLcom/airbnb/lottie/animation/content/ContentGroup;->draw(Landroid/graphics/Canvas;Landroid/graphics/Matrix;I)V
 HSPLcom/airbnb/lottie/animation/content/ContentGroup;->findTransform(Ljava/util/List;)Lcom/airbnb/lottie/model/animatable/AnimatableTransform;
+HSPLcom/airbnb/lottie/animation/content/ContentGroup;->getBounds(Landroid/graphics/RectF;Landroid/graphics/Matrix;Z)V
+HSPLcom/airbnb/lottie/animation/content/ContentGroup;->getPath()Landroid/graphics/Path;
 HSPLcom/airbnb/lottie/animation/content/ContentGroup;->onValueChanged()V
 HSPLcom/airbnb/lottie/animation/content/ContentGroup;->setContents(Ljava/util/List;Ljava/util/List;)V
+Lcom/airbnb/lottie/animation/content/DrawingContent;
+Lcom/airbnb/lottie/animation/content/EllipseContent;
 HSPLcom/airbnb/lottie/animation/content/EllipseContent;-><init>(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/model/layer/BaseLayer;Lcom/airbnb/lottie/model/content/CircleShape;)V
-HSPLcom/airbnb/lottie/animation/content/EllipseContent;->getPath()Landroid/graphics/Path;
+HPLcom/airbnb/lottie/animation/content/EllipseContent;->getPath()Landroid/graphics/Path;
 HSPLcom/airbnb/lottie/animation/content/EllipseContent;->setContents(Ljava/util/List;Ljava/util/List;)V
+Lcom/airbnb/lottie/animation/content/FillContent;
 HSPLcom/airbnb/lottie/animation/content/FillContent;-><init>(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/model/layer/BaseLayer;Lcom/airbnb/lottie/model/content/ShapeFill;)V
-HSPLcom/airbnb/lottie/animation/content/FillContent;->draw(Landroid/graphics/Canvas;Landroid/graphics/Matrix;I)V
+HPLcom/airbnb/lottie/animation/content/FillContent;->draw(Landroid/graphics/Canvas;Landroid/graphics/Matrix;I)V
+HSPLcom/airbnb/lottie/animation/content/FillContent;->getBounds(Landroid/graphics/RectF;Landroid/graphics/Matrix;Z)V
 HSPLcom/airbnb/lottie/animation/content/FillContent;->setContents(Ljava/util/List;Ljava/util/List;)V
+Lcom/airbnb/lottie/animation/content/GreedyContent;
+Lcom/airbnb/lottie/animation/content/KeyPathElementContent;
+Lcom/airbnb/lottie/animation/content/ModifierContent;
+Lcom/airbnb/lottie/animation/content/PathContent;
+Lcom/airbnb/lottie/animation/content/PolystarContent;
+HSPLcom/airbnb/lottie/animation/content/PolystarContent;-><init>(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/model/layer/BaseLayer;Lcom/airbnb/lottie/model/content/PolystarShape;)V
+HSPLcom/airbnb/lottie/animation/content/PolystarContent;->createPolygonPath()V
+HSPLcom/airbnb/lottie/animation/content/PolystarContent;->createStarPath()V
+HSPLcom/airbnb/lottie/animation/content/PolystarContent;->getPath()Landroid/graphics/Path;
+HPLcom/airbnb/lottie/animation/content/PolystarContent;->invalidate()V
+HSPLcom/airbnb/lottie/animation/content/PolystarContent;->onValueChanged()V
+HSPLcom/airbnb/lottie/animation/content/PolystarContent;->setContents(Ljava/util/List;Ljava/util/List;)V
+Lcom/airbnb/lottie/animation/content/PolystarContent$1;
+HSPLcom/airbnb/lottie/animation/content/PolystarContent$1;-><clinit>()V
+Lcom/airbnb/lottie/animation/content/RectangleContent;
+HSPLcom/airbnb/lottie/animation/content/RectangleContent;-><init>(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/model/layer/BaseLayer;Lcom/airbnb/lottie/model/content/RectangleShape;)V
+HPLcom/airbnb/lottie/animation/content/RectangleContent;->getPath()Landroid/graphics/Path;
+HSPLcom/airbnb/lottie/animation/content/RectangleContent;->setContents(Ljava/util/List;Ljava/util/List;)V
+Lcom/airbnb/lottie/animation/content/RepeaterContent;
+HSPLcom/airbnb/lottie/animation/content/RepeaterContent;-><init>(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/model/layer/BaseLayer;Lcom/airbnb/lottie/model/content/Repeater;)V
+HSPLcom/airbnb/lottie/animation/content/RepeaterContent;->absorbContent(Ljava/util/ListIterator;)V
+HPLcom/airbnb/lottie/animation/content/RepeaterContent;->draw(Landroid/graphics/Canvas;Landroid/graphics/Matrix;I)V
+HPLcom/airbnb/lottie/animation/content/RepeaterContent;->getBounds(Landroid/graphics/RectF;Landroid/graphics/Matrix;Z)V
+HSPLcom/airbnb/lottie/animation/content/RepeaterContent;->setContents(Ljava/util/List;Ljava/util/List;)V
+Lcom/airbnb/lottie/animation/content/RoundedCornersContent;
+Lcom/airbnb/lottie/animation/content/ShapeContent;
 HSPLcom/airbnb/lottie/animation/content/ShapeContent;-><init>(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/model/layer/BaseLayer;Lcom/airbnb/lottie/model/content/ShapePath;)V
 HSPLcom/airbnb/lottie/animation/content/ShapeContent;->getPath()Landroid/graphics/Path;
-HSPLcom/airbnb/lottie/animation/content/ShapeContent;->setContents(Ljava/util/List;Ljava/util/List;)V
+Lcom/airbnb/lottie/animation/content/ShapeModifierContent;
+Lcom/airbnb/lottie/animation/content/StrokeContent;
 HSPLcom/airbnb/lottie/animation/content/StrokeContent;-><init>(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/model/layer/BaseLayer;Lcom/airbnb/lottie/model/content/ShapeStroke;)V
-HSPLcom/airbnb/lottie/animation/content/StrokeContent;->draw(Landroid/graphics/Canvas;Landroid/graphics/Matrix;I)V
-HSPLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$KeyframesWrapperImpl;-><init>(Ljava/util/List;)V
-HSPLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$KeyframesWrapperImpl;->findKeyframe(F)Lcom/airbnb/lottie/value/Keyframe;
-HSPLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$KeyframesWrapperImpl;->getCurrentKeyframe()Lcom/airbnb/lottie/value/Keyframe;
-HSPLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$KeyframesWrapperImpl;->getEndProgress()F
-HSPLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$KeyframesWrapperImpl;->getStartDelayProgress()F
-HSPLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$KeyframesWrapperImpl;->isCachedValueEnabled(F)Z
-HSPLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$KeyframesWrapperImpl;->isEmpty()Z
-HSPLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$KeyframesWrapperImpl;->isValueChanged(F)Z
-HSPLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$SingleKeyframeWrapper;-><init>(Ljava/util/List;)V
-HSPLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$SingleKeyframeWrapper;->getCurrentKeyframe()Lcom/airbnb/lottie/value/Keyframe;
-HSPLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$SingleKeyframeWrapper;->getEndProgress()F
-HSPLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$SingleKeyframeWrapper;->getStartDelayProgress()F
-HSPLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$SingleKeyframeWrapper;->isCachedValueEnabled(F)Z
-HSPLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$SingleKeyframeWrapper;->isEmpty()Z
-HSPLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$SingleKeyframeWrapper;->isValueChanged(F)Z
+HPLcom/airbnb/lottie/animation/content/StrokeContent;->draw(Landroid/graphics/Canvas;Landroid/graphics/Matrix;I)V
+Lcom/airbnb/lottie/animation/content/TrimPathContent;
+Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;
 HSPLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;-><init>(Ljava/util/List;)V
 HSPLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;->addUpdateListener(Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$AnimationListener;)V
 HSPLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;->getCurrentKeyframe()Lcom/airbnb/lottie/value/Keyframe;
@@ -200,44 +220,113 @@
 HSPLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;->getLinearCurrentKeyframeProgress()F
 HSPLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;->getStartDelayProgress()F
 HSPLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;->getValue()Ljava/lang/Object;
-HSPLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;->notifyListeners()V
+HPLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;->notifyListeners()V
 HSPLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;->setIsDiscrete()V
 HSPLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;->setProgress(F)V
 HSPLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;->wrap(Ljava/util/List;)Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$KeyframesWrapper;
+Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$AnimationListener;
+Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$KeyframesWrapper;
+Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$KeyframesWrapperImpl;
+HSPLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$KeyframesWrapperImpl;-><init>(Ljava/util/List;)V
+HSPLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$KeyframesWrapperImpl;->findKeyframe(F)Lcom/airbnb/lottie/value/Keyframe;
+HSPLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$KeyframesWrapperImpl;->getCurrentKeyframe()Lcom/airbnb/lottie/value/Keyframe;
+HSPLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$KeyframesWrapperImpl;->getEndProgress()F
+HSPLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$KeyframesWrapperImpl;->getStartDelayProgress()F
+HSPLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$KeyframesWrapperImpl;->isCachedValueEnabled(F)Z
+HSPLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$KeyframesWrapperImpl;->isEmpty()Z
+HPLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$KeyframesWrapperImpl;->isValueChanged(F)Z
+Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$SingleKeyframeWrapper;
+HSPLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$SingleKeyframeWrapper;-><init>(Ljava/util/List;)V
+HPLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$SingleKeyframeWrapper;->getCurrentKeyframe()Lcom/airbnb/lottie/value/Keyframe;
+HSPLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$SingleKeyframeWrapper;->getEndProgress()F
+HSPLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$SingleKeyframeWrapper;->getStartDelayProgress()F
+HPLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$SingleKeyframeWrapper;->isCachedValueEnabled(F)Z
+HPLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$SingleKeyframeWrapper;->isEmpty()Z
+HPLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$SingleKeyframeWrapper;->isValueChanged(F)Z
+Lcom/airbnb/lottie/animation/keyframe/ColorKeyframeAnimation;
 HSPLcom/airbnb/lottie/animation/keyframe/ColorKeyframeAnimation;-><init>(Ljava/util/List;)V
 HSPLcom/airbnb/lottie/animation/keyframe/ColorKeyframeAnimation;->getIntValue()I
-HSPLcom/airbnb/lottie/animation/keyframe/ColorKeyframeAnimation;->getIntValue(Lcom/airbnb/lottie/value/Keyframe;F)I
+HPLcom/airbnb/lottie/animation/keyframe/ColorKeyframeAnimation;->getIntValue(Lcom/airbnb/lottie/value/Keyframe;F)I
+Lcom/airbnb/lottie/animation/keyframe/DropShadowKeyframeAnimation;
+Lcom/airbnb/lottie/animation/keyframe/FloatKeyframeAnimation;
 HSPLcom/airbnb/lottie/animation/keyframe/FloatKeyframeAnimation;-><init>(Ljava/util/List;)V
-HSPLcom/airbnb/lottie/animation/keyframe/FloatKeyframeAnimation;->getFloatValue()F
+HPLcom/airbnb/lottie/animation/keyframe/FloatKeyframeAnimation;->getFloatValue()F
 HSPLcom/airbnb/lottie/animation/keyframe/FloatKeyframeAnimation;->getFloatValue(Lcom/airbnb/lottie/value/Keyframe;F)F
-HSPLcom/airbnb/lottie/animation/keyframe/FloatKeyframeAnimation;->getValue(Lcom/airbnb/lottie/value/Keyframe;F)Ljava/lang/Float;
-HSPLcom/airbnb/lottie/animation/keyframe/FloatKeyframeAnimation;->getValue(Lcom/airbnb/lottie/value/Keyframe;F)Ljava/lang/Object;
+HPLcom/airbnb/lottie/animation/keyframe/FloatKeyframeAnimation;->getValue(Lcom/airbnb/lottie/value/Keyframe;F)Ljava/lang/Float;
+HPLcom/airbnb/lottie/animation/keyframe/FloatKeyframeAnimation;->getValue(Lcom/airbnb/lottie/value/Keyframe;F)Ljava/lang/Object;
+Lcom/airbnb/lottie/animation/keyframe/IntegerKeyframeAnimation;
 HSPLcom/airbnb/lottie/animation/keyframe/IntegerKeyframeAnimation;-><init>(Ljava/util/List;)V
-HSPLcom/airbnb/lottie/animation/keyframe/IntegerKeyframeAnimation;->getIntValue()I
-HSPLcom/airbnb/lottie/animation/keyframe/IntegerKeyframeAnimation;->getIntValue(Lcom/airbnb/lottie/value/Keyframe;F)I
+HPLcom/airbnb/lottie/animation/keyframe/IntegerKeyframeAnimation;->getIntValue()I
+HPLcom/airbnb/lottie/animation/keyframe/IntegerKeyframeAnimation;->getIntValue(Lcom/airbnb/lottie/value/Keyframe;F)I
 HSPLcom/airbnb/lottie/animation/keyframe/IntegerKeyframeAnimation;->getValue(Lcom/airbnb/lottie/value/Keyframe;F)Ljava/lang/Integer;
 HSPLcom/airbnb/lottie/animation/keyframe/IntegerKeyframeAnimation;->getValue(Lcom/airbnb/lottie/value/Keyframe;F)Ljava/lang/Object;
+Lcom/airbnb/lottie/animation/keyframe/KeyframeAnimation;
 HSPLcom/airbnb/lottie/animation/keyframe/KeyframeAnimation;-><init>(Ljava/util/List;)V
+Lcom/airbnb/lottie/animation/keyframe/MaskKeyframeAnimation;
+Lcom/airbnb/lottie/animation/keyframe/PathKeyframe;
 HSPLcom/airbnb/lottie/animation/keyframe/PathKeyframe;-><init>(Lcom/airbnb/lottie/LottieComposition;Lcom/airbnb/lottie/value/Keyframe;)V
 HSPLcom/airbnb/lottie/animation/keyframe/PathKeyframe;->createPath()V
-HSPLcom/airbnb/lottie/animation/keyframe/PathKeyframe;->getPath()Landroid/graphics/Path;
+HPLcom/airbnb/lottie/animation/keyframe/PathKeyframe;->getPath()Landroid/graphics/Path;
+Lcom/airbnb/lottie/animation/keyframe/PathKeyframeAnimation;
 HSPLcom/airbnb/lottie/animation/keyframe/PathKeyframeAnimation;-><init>(Ljava/util/List;)V
-HSPLcom/airbnb/lottie/animation/keyframe/PathKeyframeAnimation;->getValue(Lcom/airbnb/lottie/value/Keyframe;F)Landroid/graphics/PointF;
+HPLcom/airbnb/lottie/animation/keyframe/PathKeyframeAnimation;->getValue(Lcom/airbnb/lottie/value/Keyframe;F)Landroid/graphics/PointF;
 HSPLcom/airbnb/lottie/animation/keyframe/PathKeyframeAnimation;->getValue(Lcom/airbnb/lottie/value/Keyframe;F)Ljava/lang/Object;
+Lcom/airbnb/lottie/animation/keyframe/PointKeyframeAnimation;
 HSPLcom/airbnb/lottie/animation/keyframe/PointKeyframeAnimation;-><init>(Ljava/util/List;)V
 HSPLcom/airbnb/lottie/animation/keyframe/PointKeyframeAnimation;->getValue(Lcom/airbnb/lottie/value/Keyframe;F)Landroid/graphics/PointF;
 HSPLcom/airbnb/lottie/animation/keyframe/PointKeyframeAnimation;->getValue(Lcom/airbnb/lottie/value/Keyframe;F)Ljava/lang/Object;
 HSPLcom/airbnb/lottie/animation/keyframe/PointKeyframeAnimation;->getValue(Lcom/airbnb/lottie/value/Keyframe;FFF)Landroid/graphics/PointF;
+Lcom/airbnb/lottie/animation/keyframe/ScaleKeyframeAnimation;
+HSPLcom/airbnb/lottie/animation/keyframe/ScaleKeyframeAnimation;-><init>(Ljava/util/List;)V
+HSPLcom/airbnb/lottie/animation/keyframe/ScaleKeyframeAnimation;->getValue(Lcom/airbnb/lottie/value/Keyframe;F)Lcom/airbnb/lottie/value/ScaleXY;
+HSPLcom/airbnb/lottie/animation/keyframe/ScaleKeyframeAnimation;->getValue(Lcom/airbnb/lottie/value/Keyframe;F)Ljava/lang/Object;
+Lcom/airbnb/lottie/animation/keyframe/ShapeKeyframeAnimation;
 HSPLcom/airbnb/lottie/animation/keyframe/ShapeKeyframeAnimation;-><init>(Ljava/util/List;)V
 HSPLcom/airbnb/lottie/animation/keyframe/ShapeKeyframeAnimation;->getValue(Lcom/airbnb/lottie/value/Keyframe;F)Landroid/graphics/Path;
 HSPLcom/airbnb/lottie/animation/keyframe/ShapeKeyframeAnimation;->getValue(Lcom/airbnb/lottie/value/Keyframe;F)Ljava/lang/Object;
-HSPLcom/airbnb/lottie/animation/keyframe/ShapeKeyframeAnimation;->setShapeModifiers(Ljava/util/List;)V
+Lcom/airbnb/lottie/animation/keyframe/TextKeyframeAnimation;
+HSPLcom/airbnb/lottie/animation/keyframe/TextKeyframeAnimation;-><init>(Ljava/util/List;)V
+HPLcom/airbnb/lottie/animation/keyframe/TextKeyframeAnimation;->getValue(Lcom/airbnb/lottie/value/Keyframe;F)Lcom/airbnb/lottie/model/DocumentData;
+HPLcom/airbnb/lottie/animation/keyframe/TextKeyframeAnimation;->getValue(Lcom/airbnb/lottie/value/Keyframe;F)Ljava/lang/Object;
+Lcom/airbnb/lottie/animation/keyframe/TransformKeyframeAnimation;
 HSPLcom/airbnb/lottie/animation/keyframe/TransformKeyframeAnimation;-><init>(Lcom/airbnb/lottie/model/animatable/AnimatableTransform;)V
 HSPLcom/airbnb/lottie/animation/keyframe/TransformKeyframeAnimation;->addAnimationsToLayer(Lcom/airbnb/lottie/model/layer/BaseLayer;)V
 HSPLcom/airbnb/lottie/animation/keyframe/TransformKeyframeAnimation;->addListener(Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$AnimationListener;)V
+HSPLcom/airbnb/lottie/animation/keyframe/TransformKeyframeAnimation;->getEndOpacity()Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;
 HSPLcom/airbnb/lottie/animation/keyframe/TransformKeyframeAnimation;->getMatrix()Landroid/graphics/Matrix;
-HSPLcom/airbnb/lottie/animation/keyframe/TransformKeyframeAnimation;->getOpacity()Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;
-HSPLcom/airbnb/lottie/animation/keyframe/TransformKeyframeAnimation;->setProgress(F)V
+HPLcom/airbnb/lottie/animation/keyframe/TransformKeyframeAnimation;->getMatrixForRepeater(F)Landroid/graphics/Matrix;
+HPLcom/airbnb/lottie/animation/keyframe/TransformKeyframeAnimation;->getOpacity()Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;
+HPLcom/airbnb/lottie/animation/keyframe/TransformKeyframeAnimation;->getStartOpacity()Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;
+HPLcom/airbnb/lottie/animation/keyframe/TransformKeyframeAnimation;->setProgress(F)V
+Lcom/airbnb/lottie/animation/keyframe/ValueCallbackKeyframeAnimation;
+Lcom/airbnb/lottie/benchmark/app/BenchmarkActivity;
+HSPLcom/airbnb/lottie/benchmark/app/BenchmarkActivity;-><clinit>()V
+HSPLcom/airbnb/lottie/benchmark/app/BenchmarkActivity;-><init>()V
+HSPLcom/airbnb/lottie/benchmark/app/BenchmarkActivity;->Content$lambda$0(Lcom/airbnb/lottie/compose/LottieCompositionResult;)Lcom/airbnb/lottie/LottieComposition;
+HPLcom/airbnb/lottie/benchmark/app/BenchmarkActivity;->Content$lambda$1(Lcom/airbnb/lottie/compose/LottieAnimationState;)F
+HSPLcom/airbnb/lottie/benchmark/app/BenchmarkActivity;->Content(Landroidx/compose/runtime/Composer;I)V
+HPLcom/airbnb/lottie/benchmark/app/BenchmarkActivity;->access$Content$lambda$1(Lcom/airbnb/lottie/compose/LottieAnimationState;)F
+HSPLcom/airbnb/lottie/benchmark/app/BenchmarkActivity;->onCreate(Landroid/os/Bundle;)V
+Lcom/airbnb/lottie/benchmark/app/BenchmarkActivity$Content$1$1;
+HSPLcom/airbnb/lottie/benchmark/app/BenchmarkActivity$Content$1$1;-><init>(Lcom/airbnb/lottie/compose/LottieAnimationState;)V
+HPLcom/airbnb/lottie/benchmark/app/BenchmarkActivity$Content$1$1;->invoke()Ljava/lang/Float;
+HSPLcom/airbnb/lottie/benchmark/app/BenchmarkActivity$Content$1$1;->invoke()Ljava/lang/Object;
+Lcom/airbnb/lottie/benchmark/app/BenchmarkActivity$Content$2;
+HSPLcom/airbnb/lottie/benchmark/app/BenchmarkActivity$Content$2;-><init>(Lcom/airbnb/lottie/benchmark/app/BenchmarkActivity;I)V
+HSPLcom/airbnb/lottie/benchmark/app/BenchmarkActivity$Content$2;->invoke(Landroidx/compose/runtime/Composer;I)V
+HSPLcom/airbnb/lottie/benchmark/app/BenchmarkActivity$Content$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+Lcom/airbnb/lottie/benchmark/app/BenchmarkActivity$onCreate$1;
+HSPLcom/airbnb/lottie/benchmark/app/BenchmarkActivity$onCreate$1;-><init>(Lcom/airbnb/lottie/benchmark/app/BenchmarkActivity;)V
+HSPLcom/airbnb/lottie/benchmark/app/BenchmarkActivity$onCreate$1;->invoke(Landroidx/compose/runtime/Composer;I)V
+HSPLcom/airbnb/lottie/benchmark/app/BenchmarkActivity$onCreate$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+Lcom/airbnb/lottie/benchmark/app/R$raw;
+Lcom/airbnb/lottie/manager/ImageAssetManager;
+HSPLcom/airbnb/lottie/manager/ImageAssetManager;-><clinit>()V
+HSPLcom/airbnb/lottie/manager/ImageAssetManager;-><init>(Landroid/graphics/drawable/Drawable$Callback;Ljava/lang/String;Lcom/airbnb/lottie/ImageAssetDelegate;Ljava/util/Map;)V
+HPLcom/airbnb/lottie/manager/ImageAssetManager;->bitmapForId(Ljava/lang/String;)Landroid/graphics/Bitmap;
+HPLcom/airbnb/lottie/manager/ImageAssetManager;->hasSameContext(Landroid/content/Context;)Z
+HSPLcom/airbnb/lottie/manager/ImageAssetManager;->setDelegate(Lcom/airbnb/lottie/ImageAssetDelegate;)V
+Lcom/airbnb/lottie/model/CubicCurveData;
 HSPLcom/airbnb/lottie/model/CubicCurveData;-><init>()V
 HSPLcom/airbnb/lottie/model/CubicCurveData;-><init>(Landroid/graphics/PointF;Landroid/graphics/PointF;Landroid/graphics/PointF;)V
 HSPLcom/airbnb/lottie/model/CubicCurveData;->getControlPoint1()Landroid/graphics/PointF;
@@ -246,30 +335,65 @@
 HSPLcom/airbnb/lottie/model/CubicCurveData;->setControlPoint1(FF)V
 HSPLcom/airbnb/lottie/model/CubicCurveData;->setControlPoint2(FF)V
 HSPLcom/airbnb/lottie/model/CubicCurveData;->setVertex(FF)V
+Lcom/airbnb/lottie/model/DocumentData;
+HSPLcom/airbnb/lottie/model/DocumentData;-><init>(Ljava/lang/String;Ljava/lang/String;FLcom/airbnb/lottie/model/DocumentData$Justification;IFFIIFZLandroid/graphics/PointF;Landroid/graphics/PointF;)V
+HSPLcom/airbnb/lottie/model/DocumentData;->set(Ljava/lang/String;Ljava/lang/String;FLcom/airbnb/lottie/model/DocumentData$Justification;IFFIIFZLandroid/graphics/PointF;Landroid/graphics/PointF;)V
+Lcom/airbnb/lottie/model/DocumentData$Justification;
+HSPLcom/airbnb/lottie/model/DocumentData$Justification;->$values()[Lcom/airbnb/lottie/model/DocumentData$Justification;
+HSPLcom/airbnb/lottie/model/DocumentData$Justification;-><clinit>()V
+HSPLcom/airbnb/lottie/model/DocumentData$Justification;-><init>(Ljava/lang/String;I)V
+HSPLcom/airbnb/lottie/model/DocumentData$Justification;->values()[Lcom/airbnb/lottie/model/DocumentData$Justification;
+Lcom/airbnb/lottie/model/Font;
+HSPLcom/airbnb/lottie/model/Font;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;F)V
+HPLcom/airbnb/lottie/model/Font;->getFamily()Ljava/lang/String;
+HSPLcom/airbnb/lottie/model/Font;->getName()Ljava/lang/String;
+HPLcom/airbnb/lottie/model/Font;->getStyle()Ljava/lang/String;
+Lcom/airbnb/lottie/model/FontCharacter;
+HSPLcom/airbnb/lottie/model/FontCharacter;-><init>(Ljava/util/List;CDDLjava/lang/String;Ljava/lang/String;)V
+HSPLcom/airbnb/lottie/model/FontCharacter;->getShapes()Ljava/util/List;
+HPLcom/airbnb/lottie/model/FontCharacter;->getWidth()D
+HPLcom/airbnb/lottie/model/FontCharacter;->hashCode()I
+HPLcom/airbnb/lottie/model/FontCharacter;->hashFor(CLjava/lang/String;Ljava/lang/String;)I
+Lcom/airbnb/lottie/model/KeyPathElement;
+Lcom/airbnb/lottie/model/LottieCompositionCache;
 HSPLcom/airbnb/lottie/model/LottieCompositionCache;-><clinit>()V
 HSPLcom/airbnb/lottie/model/LottieCompositionCache;-><init>()V
 HSPLcom/airbnb/lottie/model/LottieCompositionCache;->get(Ljava/lang/String;)Lcom/airbnb/lottie/LottieComposition;
 HSPLcom/airbnb/lottie/model/LottieCompositionCache;->getInstance()Lcom/airbnb/lottie/model/LottieCompositionCache;
 HSPLcom/airbnb/lottie/model/LottieCompositionCache;->put(Ljava/lang/String;Lcom/airbnb/lottie/LottieComposition;)V
+Lcom/airbnb/lottie/model/animatable/AnimatableColorValue;
 HSPLcom/airbnb/lottie/model/animatable/AnimatableColorValue;-><init>(Ljava/util/List;)V
 HSPLcom/airbnb/lottie/model/animatable/AnimatableColorValue;->createAnimation()Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;
+Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;
 HSPLcom/airbnb/lottie/model/animatable/AnimatableFloatValue;-><init>(Ljava/util/List;)V
 HSPLcom/airbnb/lottie/model/animatable/AnimatableFloatValue;->createAnimation()Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;
 HSPLcom/airbnb/lottie/model/animatable/AnimatableFloatValue;->getKeyframes()Ljava/util/List;
 HSPLcom/airbnb/lottie/model/animatable/AnimatableFloatValue;->isStatic()Z
+Lcom/airbnb/lottie/model/animatable/AnimatableIntegerValue;
 HSPLcom/airbnb/lottie/model/animatable/AnimatableIntegerValue;-><init>(Ljava/util/List;)V
 HSPLcom/airbnb/lottie/model/animatable/AnimatableIntegerValue;->createAnimation()Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;
+Lcom/airbnb/lottie/model/animatable/AnimatablePathValue;
 HSPLcom/airbnb/lottie/model/animatable/AnimatablePathValue;-><init>(Ljava/util/List;)V
 HSPLcom/airbnb/lottie/model/animatable/AnimatablePathValue;->createAnimation()Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;
 HSPLcom/airbnb/lottie/model/animatable/AnimatablePathValue;->getKeyframes()Ljava/util/List;
 HSPLcom/airbnb/lottie/model/animatable/AnimatablePathValue;->isStatic()Z
+Lcom/airbnb/lottie/model/animatable/AnimatablePointValue;
 HSPLcom/airbnb/lottie/model/animatable/AnimatablePointValue;-><init>(Ljava/util/List;)V
 HSPLcom/airbnb/lottie/model/animatable/AnimatablePointValue;->createAnimation()Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;
+Lcom/airbnb/lottie/model/animatable/AnimatableScaleValue;
 HSPLcom/airbnb/lottie/model/animatable/AnimatableScaleValue;-><init>(Ljava/util/List;)V
+HSPLcom/airbnb/lottie/model/animatable/AnimatableScaleValue;->createAnimation()Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;
 HSPLcom/airbnb/lottie/model/animatable/AnimatableScaleValue;->getKeyframes()Ljava/util/List;
 HSPLcom/airbnb/lottie/model/animatable/AnimatableScaleValue;->isStatic()Z
+Lcom/airbnb/lottie/model/animatable/AnimatableShapeValue;
 HSPLcom/airbnb/lottie/model/animatable/AnimatableShapeValue;-><init>(Ljava/util/List;)V
 HSPLcom/airbnb/lottie/model/animatable/AnimatableShapeValue;->createAnimation()Lcom/airbnb/lottie/animation/keyframe/ShapeKeyframeAnimation;
+Lcom/airbnb/lottie/model/animatable/AnimatableSplitDimensionPathValue;
+Lcom/airbnb/lottie/model/animatable/AnimatableTextFrame;
+HSPLcom/airbnb/lottie/model/animatable/AnimatableTextFrame;-><init>(Ljava/util/List;)V
+HSPLcom/airbnb/lottie/model/animatable/AnimatableTextFrame;->createAnimation()Lcom/airbnb/lottie/animation/keyframe/TextKeyframeAnimation;
+Lcom/airbnb/lottie/model/animatable/AnimatableTextProperties;
+Lcom/airbnb/lottie/model/animatable/AnimatableTransform;
 HSPLcom/airbnb/lottie/model/animatable/AnimatableTransform;-><init>()V
 HSPLcom/airbnb/lottie/model/animatable/AnimatableTransform;-><init>(Lcom/airbnb/lottie/model/animatable/AnimatablePathValue;Lcom/airbnb/lottie/model/animatable/AnimatableValue;Lcom/airbnb/lottie/model/animatable/AnimatableScaleValue;Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;Lcom/airbnb/lottie/model/animatable/AnimatableIntegerValue;Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;)V
 HSPLcom/airbnb/lottie/model/animatable/AnimatableTransform;->createAnimation()Lcom/airbnb/lottie/animation/keyframe/TransformKeyframeAnimation;
@@ -282,53 +406,92 @@
 HSPLcom/airbnb/lottie/model/animatable/AnimatableTransform;->getSkew()Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;
 HSPLcom/airbnb/lottie/model/animatable/AnimatableTransform;->getSkewAngle()Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;
 HSPLcom/airbnb/lottie/model/animatable/AnimatableTransform;->getStartOpacity()Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;
-HSPLcom/airbnb/lottie/model/animatable/AnimatableTransform;->toContent(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/model/layer/BaseLayer;)Lcom/airbnb/lottie/animation/content/Content;
+HSPLcom/airbnb/lottie/model/animatable/AnimatableTransform;->toContent(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/LottieComposition;Lcom/airbnb/lottie/model/layer/BaseLayer;)Lcom/airbnb/lottie/animation/content/Content;
+Lcom/airbnb/lottie/model/animatable/AnimatableValue;
+Lcom/airbnb/lottie/model/animatable/BaseAnimatableValue;
 HSPLcom/airbnb/lottie/model/animatable/BaseAnimatableValue;-><init>(Ljava/util/List;)V
 HSPLcom/airbnb/lottie/model/animatable/BaseAnimatableValue;->getKeyframes()Ljava/util/List;
 HSPLcom/airbnb/lottie/model/animatable/BaseAnimatableValue;->isStatic()Z
+Lcom/airbnb/lottie/model/content/BlurEffect;
+Lcom/airbnb/lottie/model/content/CircleShape;
 HSPLcom/airbnb/lottie/model/content/CircleShape;-><init>(Ljava/lang/String;Lcom/airbnb/lottie/model/animatable/AnimatableValue;Lcom/airbnb/lottie/model/animatable/AnimatablePointValue;ZZ)V
 HSPLcom/airbnb/lottie/model/content/CircleShape;->getName()Ljava/lang/String;
 HSPLcom/airbnb/lottie/model/content/CircleShape;->getPosition()Lcom/airbnb/lottie/model/animatable/AnimatableValue;
 HSPLcom/airbnb/lottie/model/content/CircleShape;->getSize()Lcom/airbnb/lottie/model/animatable/AnimatablePointValue;
 HSPLcom/airbnb/lottie/model/content/CircleShape;->isHidden()Z
 HSPLcom/airbnb/lottie/model/content/CircleShape;->isReversed()Z
-HSPLcom/airbnb/lottie/model/content/CircleShape;->toContent(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/model/layer/BaseLayer;)Lcom/airbnb/lottie/animation/content/Content;
+HSPLcom/airbnb/lottie/model/content/CircleShape;->toContent(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/LottieComposition;Lcom/airbnb/lottie/model/layer/BaseLayer;)Lcom/airbnb/lottie/animation/content/Content;
+Lcom/airbnb/lottie/model/content/ContentModel;
+Lcom/airbnb/lottie/model/content/Mask$MaskMode;
+HSPLcom/airbnb/lottie/model/content/Mask$MaskMode;->$values()[Lcom/airbnb/lottie/model/content/Mask$MaskMode;
 HSPLcom/airbnb/lottie/model/content/Mask$MaskMode;-><clinit>()V
 HSPLcom/airbnb/lottie/model/content/Mask$MaskMode;-><init>(Ljava/lang/String;I)V
 HSPLcom/airbnb/lottie/model/content/Mask$MaskMode;->values()[Lcom/airbnb/lottie/model/content/Mask$MaskMode;
+Lcom/airbnb/lottie/model/content/PolystarShape;
+HSPLcom/airbnb/lottie/model/content/PolystarShape;-><init>(Ljava/lang/String;Lcom/airbnb/lottie/model/content/PolystarShape$Type;Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;Lcom/airbnb/lottie/model/animatable/AnimatableValue;Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;ZZ)V
+HSPLcom/airbnb/lottie/model/content/PolystarShape;->getInnerRadius()Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;
+HSPLcom/airbnb/lottie/model/content/PolystarShape;->getInnerRoundedness()Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;
+HSPLcom/airbnb/lottie/model/content/PolystarShape;->getName()Ljava/lang/String;
+HSPLcom/airbnb/lottie/model/content/PolystarShape;->getOuterRadius()Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;
+HSPLcom/airbnb/lottie/model/content/PolystarShape;->getOuterRoundedness()Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;
+HSPLcom/airbnb/lottie/model/content/PolystarShape;->getPoints()Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;
+HSPLcom/airbnb/lottie/model/content/PolystarShape;->getPosition()Lcom/airbnb/lottie/model/animatable/AnimatableValue;
+HSPLcom/airbnb/lottie/model/content/PolystarShape;->getRotation()Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;
+HSPLcom/airbnb/lottie/model/content/PolystarShape;->getType()Lcom/airbnb/lottie/model/content/PolystarShape$Type;
+HSPLcom/airbnb/lottie/model/content/PolystarShape;->isHidden()Z
+HSPLcom/airbnb/lottie/model/content/PolystarShape;->isReversed()Z
+HSPLcom/airbnb/lottie/model/content/PolystarShape;->toContent(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/LottieComposition;Lcom/airbnb/lottie/model/layer/BaseLayer;)Lcom/airbnb/lottie/animation/content/Content;
+Lcom/airbnb/lottie/model/content/PolystarShape$Type;
+HSPLcom/airbnb/lottie/model/content/PolystarShape$Type;->$values()[Lcom/airbnb/lottie/model/content/PolystarShape$Type;
+HSPLcom/airbnb/lottie/model/content/PolystarShape$Type;-><clinit>()V
+HSPLcom/airbnb/lottie/model/content/PolystarShape$Type;-><init>(Ljava/lang/String;II)V
+HSPLcom/airbnb/lottie/model/content/PolystarShape$Type;->forValue(I)Lcom/airbnb/lottie/model/content/PolystarShape$Type;
+HSPLcom/airbnb/lottie/model/content/PolystarShape$Type;->values()[Lcom/airbnb/lottie/model/content/PolystarShape$Type;
+Lcom/airbnb/lottie/model/content/RectangleShape;
+HSPLcom/airbnb/lottie/model/content/RectangleShape;-><init>(Ljava/lang/String;Lcom/airbnb/lottie/model/animatable/AnimatableValue;Lcom/airbnb/lottie/model/animatable/AnimatableValue;Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;Z)V
+HSPLcom/airbnb/lottie/model/content/RectangleShape;->getCornerRadius()Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;
+HSPLcom/airbnb/lottie/model/content/RectangleShape;->getName()Ljava/lang/String;
+HSPLcom/airbnb/lottie/model/content/RectangleShape;->getPosition()Lcom/airbnb/lottie/model/animatable/AnimatableValue;
+HSPLcom/airbnb/lottie/model/content/RectangleShape;->getSize()Lcom/airbnb/lottie/model/animatable/AnimatableValue;
+HSPLcom/airbnb/lottie/model/content/RectangleShape;->isHidden()Z
+HSPLcom/airbnb/lottie/model/content/RectangleShape;->toContent(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/LottieComposition;Lcom/airbnb/lottie/model/layer/BaseLayer;)Lcom/airbnb/lottie/animation/content/Content;
+Lcom/airbnb/lottie/model/content/Repeater;
+HSPLcom/airbnb/lottie/model/content/Repeater;-><init>(Ljava/lang/String;Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;Lcom/airbnb/lottie/model/animatable/AnimatableTransform;Z)V
+HSPLcom/airbnb/lottie/model/content/Repeater;->getCopies()Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;
+HSPLcom/airbnb/lottie/model/content/Repeater;->getName()Ljava/lang/String;
+HSPLcom/airbnb/lottie/model/content/Repeater;->getOffset()Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;
+HSPLcom/airbnb/lottie/model/content/Repeater;->getTransform()Lcom/airbnb/lottie/model/animatable/AnimatableTransform;
+HSPLcom/airbnb/lottie/model/content/Repeater;->isHidden()Z
+HSPLcom/airbnb/lottie/model/content/Repeater;->toContent(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/LottieComposition;Lcom/airbnb/lottie/model/layer/BaseLayer;)Lcom/airbnb/lottie/animation/content/Content;
+Lcom/airbnb/lottie/model/content/ShapeData;
 HSPLcom/airbnb/lottie/model/content/ShapeData;-><init>()V
 HSPLcom/airbnb/lottie/model/content/ShapeData;-><init>(Landroid/graphics/PointF;ZLjava/util/List;)V
 HSPLcom/airbnb/lottie/model/content/ShapeData;->getCurves()Ljava/util/List;
 HSPLcom/airbnb/lottie/model/content/ShapeData;->getInitialPoint()Landroid/graphics/PointF;
-HSPLcom/airbnb/lottie/model/content/ShapeData;->interpolateBetween(Lcom/airbnb/lottie/model/content/ShapeData;Lcom/airbnb/lottie/model/content/ShapeData;F)V
+HPLcom/airbnb/lottie/model/content/ShapeData;->interpolateBetween(Lcom/airbnb/lottie/model/content/ShapeData;Lcom/airbnb/lottie/model/content/ShapeData;F)V
 HSPLcom/airbnb/lottie/model/content/ShapeData;->isClosed()Z
 HSPLcom/airbnb/lottie/model/content/ShapeData;->setInitialPoint(FF)V
+Lcom/airbnb/lottie/model/content/ShapeFill;
 HSPLcom/airbnb/lottie/model/content/ShapeFill;-><init>(Ljava/lang/String;ZLandroid/graphics/Path$FillType;Lcom/airbnb/lottie/model/animatable/AnimatableColorValue;Lcom/airbnb/lottie/model/animatable/AnimatableIntegerValue;Z)V
 HSPLcom/airbnb/lottie/model/content/ShapeFill;->getColor()Lcom/airbnb/lottie/model/animatable/AnimatableColorValue;
 HSPLcom/airbnb/lottie/model/content/ShapeFill;->getFillType()Landroid/graphics/Path$FillType;
 HSPLcom/airbnb/lottie/model/content/ShapeFill;->getName()Ljava/lang/String;
 HSPLcom/airbnb/lottie/model/content/ShapeFill;->getOpacity()Lcom/airbnb/lottie/model/animatable/AnimatableIntegerValue;
 HSPLcom/airbnb/lottie/model/content/ShapeFill;->isHidden()Z
-HSPLcom/airbnb/lottie/model/content/ShapeFill;->toContent(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/model/layer/BaseLayer;)Lcom/airbnb/lottie/animation/content/Content;
+HSPLcom/airbnb/lottie/model/content/ShapeFill;->toContent(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/LottieComposition;Lcom/airbnb/lottie/model/layer/BaseLayer;)Lcom/airbnb/lottie/animation/content/Content;
+Lcom/airbnb/lottie/model/content/ShapeGroup;
 HSPLcom/airbnb/lottie/model/content/ShapeGroup;-><init>(Ljava/lang/String;Ljava/util/List;Z)V
 HSPLcom/airbnb/lottie/model/content/ShapeGroup;->getItems()Ljava/util/List;
 HSPLcom/airbnb/lottie/model/content/ShapeGroup;->getName()Ljava/lang/String;
 HSPLcom/airbnb/lottie/model/content/ShapeGroup;->isHidden()Z
-HSPLcom/airbnb/lottie/model/content/ShapeGroup;->toContent(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/model/layer/BaseLayer;)Lcom/airbnb/lottie/animation/content/Content;
+HSPLcom/airbnb/lottie/model/content/ShapeGroup;->toContent(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/LottieComposition;Lcom/airbnb/lottie/model/layer/BaseLayer;)Lcom/airbnb/lottie/animation/content/Content;
+Lcom/airbnb/lottie/model/content/ShapePath;
 HSPLcom/airbnb/lottie/model/content/ShapePath;-><init>(Ljava/lang/String;ILcom/airbnb/lottie/model/animatable/AnimatableShapeValue;Z)V
 HSPLcom/airbnb/lottie/model/content/ShapePath;->getName()Ljava/lang/String;
 HSPLcom/airbnb/lottie/model/content/ShapePath;->getShapePath()Lcom/airbnb/lottie/model/animatable/AnimatableShapeValue;
 HSPLcom/airbnb/lottie/model/content/ShapePath;->isHidden()Z
-HSPLcom/airbnb/lottie/model/content/ShapePath;->toContent(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/model/layer/BaseLayer;)Lcom/airbnb/lottie/animation/content/Content;
-HSPLcom/airbnb/lottie/model/content/ShapeStroke$1;-><clinit>()V
-HSPLcom/airbnb/lottie/model/content/ShapeStroke$LineCapType;-><clinit>()V
-HSPLcom/airbnb/lottie/model/content/ShapeStroke$LineCapType;-><init>(Ljava/lang/String;I)V
-HSPLcom/airbnb/lottie/model/content/ShapeStroke$LineCapType;->toPaintCap()Landroid/graphics/Paint$Cap;
-HSPLcom/airbnb/lottie/model/content/ShapeStroke$LineCapType;->values()[Lcom/airbnb/lottie/model/content/ShapeStroke$LineCapType;
-HSPLcom/airbnb/lottie/model/content/ShapeStroke$LineJoinType;-><clinit>()V
-HSPLcom/airbnb/lottie/model/content/ShapeStroke$LineJoinType;-><init>(Ljava/lang/String;I)V
-HSPLcom/airbnb/lottie/model/content/ShapeStroke$LineJoinType;->toPaintJoin()Landroid/graphics/Paint$Join;
-HSPLcom/airbnb/lottie/model/content/ShapeStroke$LineJoinType;->values()[Lcom/airbnb/lottie/model/content/ShapeStroke$LineJoinType;
+HSPLcom/airbnb/lottie/model/content/ShapePath;->toContent(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/LottieComposition;Lcom/airbnb/lottie/model/layer/BaseLayer;)Lcom/airbnb/lottie/animation/content/Content;
+Lcom/airbnb/lottie/model/content/ShapeStroke;
 HSPLcom/airbnb/lottie/model/content/ShapeStroke;-><init>(Ljava/lang/String;Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;Ljava/util/List;Lcom/airbnb/lottie/model/animatable/AnimatableColorValue;Lcom/airbnb/lottie/model/animatable/AnimatableIntegerValue;Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;Lcom/airbnb/lottie/model/content/ShapeStroke$LineCapType;Lcom/airbnb/lottie/model/content/ShapeStroke$LineJoinType;FZ)V
 HSPLcom/airbnb/lottie/model/content/ShapeStroke;->getCapType()Lcom/airbnb/lottie/model/content/ShapeStroke$LineCapType;
 HSPLcom/airbnb/lottie/model/content/ShapeStroke;->getColor()Lcom/airbnb/lottie/model/animatable/AnimatableColorValue;
@@ -340,85 +503,134 @@
 HSPLcom/airbnb/lottie/model/content/ShapeStroke;->getOpacity()Lcom/airbnb/lottie/model/animatable/AnimatableIntegerValue;
 HSPLcom/airbnb/lottie/model/content/ShapeStroke;->getWidth()Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;
 HSPLcom/airbnb/lottie/model/content/ShapeStroke;->isHidden()Z
-HSPLcom/airbnb/lottie/model/content/ShapeStroke;->toContent(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/model/layer/BaseLayer;)Lcom/airbnb/lottie/animation/content/Content;
-HSPLcom/airbnb/lottie/model/layer/BaseLayer$$ExternalSyntheticLambda0;-><init>(Lcom/airbnb/lottie/model/layer/BaseLayer;)V
-HSPLcom/airbnb/lottie/model/layer/BaseLayer$1;-><clinit>()V
-HSPLcom/airbnb/lottie/model/layer/BaseLayer;-><init>(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/model/layer/Layer;)V
+HSPLcom/airbnb/lottie/model/content/ShapeStroke;->toContent(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/LottieComposition;Lcom/airbnb/lottie/model/layer/BaseLayer;)Lcom/airbnb/lottie/animation/content/Content;
+Lcom/airbnb/lottie/model/content/ShapeStroke$1;
+HSPLcom/airbnb/lottie/model/content/ShapeStroke$1;-><clinit>()V
+Lcom/airbnb/lottie/model/content/ShapeStroke$LineCapType;
+HSPLcom/airbnb/lottie/model/content/ShapeStroke$LineCapType;->$values()[Lcom/airbnb/lottie/model/content/ShapeStroke$LineCapType;
+HSPLcom/airbnb/lottie/model/content/ShapeStroke$LineCapType;-><clinit>()V
+HSPLcom/airbnb/lottie/model/content/ShapeStroke$LineCapType;-><init>(Ljava/lang/String;I)V
+HSPLcom/airbnb/lottie/model/content/ShapeStroke$LineCapType;->toPaintCap()Landroid/graphics/Paint$Cap;
+HSPLcom/airbnb/lottie/model/content/ShapeStroke$LineCapType;->values()[Lcom/airbnb/lottie/model/content/ShapeStroke$LineCapType;
+Lcom/airbnb/lottie/model/content/ShapeStroke$LineJoinType;
+HSPLcom/airbnb/lottie/model/content/ShapeStroke$LineJoinType;->$values()[Lcom/airbnb/lottie/model/content/ShapeStroke$LineJoinType;
+HSPLcom/airbnb/lottie/model/content/ShapeStroke$LineJoinType;-><clinit>()V
+HSPLcom/airbnb/lottie/model/content/ShapeStroke$LineJoinType;-><init>(Ljava/lang/String;I)V
+HSPLcom/airbnb/lottie/model/content/ShapeStroke$LineJoinType;->toPaintJoin()Landroid/graphics/Paint$Join;
+HSPLcom/airbnb/lottie/model/content/ShapeStroke$LineJoinType;->values()[Lcom/airbnb/lottie/model/content/ShapeStroke$LineJoinType;
+Lcom/airbnb/lottie/model/layer/BaseLayer;
+HPLcom/airbnb/lottie/model/layer/BaseLayer;-><init>(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/model/layer/Layer;)V
 HSPLcom/airbnb/lottie/model/layer/BaseLayer;->addAnimation(Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;)V
-HSPLcom/airbnb/lottie/model/layer/BaseLayer;->buildParentLayerListIfNeeded()V
-HSPLcom/airbnb/lottie/model/layer/BaseLayer;->draw(Landroid/graphics/Canvas;Landroid/graphics/Matrix;I)V
+HPLcom/airbnb/lottie/model/layer/BaseLayer;->buildParentLayerListIfNeeded()V
+HPLcom/airbnb/lottie/model/layer/BaseLayer;->clearCanvas(Landroid/graphics/Canvas;)V
+HPLcom/airbnb/lottie/model/layer/BaseLayer;->draw(Landroid/graphics/Canvas;Landroid/graphics/Matrix;I)V
 HSPLcom/airbnb/lottie/model/layer/BaseLayer;->forModel(Lcom/airbnb/lottie/model/layer/CompositionLayer;Lcom/airbnb/lottie/model/layer/Layer;Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/layer/BaseLayer;
 HSPLcom/airbnb/lottie/model/layer/BaseLayer;->getBlurEffect()Lcom/airbnb/lottie/model/content/BlurEffect;
+HPLcom/airbnb/lottie/model/layer/BaseLayer;->getBounds(Landroid/graphics/RectF;Landroid/graphics/Matrix;Z)V
 HSPLcom/airbnb/lottie/model/layer/BaseLayer;->getDropShadowEffect()Lcom/airbnb/lottie/parser/DropShadowEffect;
 HSPLcom/airbnb/lottie/model/layer/BaseLayer;->getLayerModel()Lcom/airbnb/lottie/model/layer/Layer;
-HSPLcom/airbnb/lottie/model/layer/BaseLayer;->hasMasksOnThisLayer()Z
-HSPLcom/airbnb/lottie/model/layer/BaseLayer;->hasMatteOnThisLayer()Z
+HPLcom/airbnb/lottie/model/layer/BaseLayer;->hasMasksOnThisLayer()Z
+HPLcom/airbnb/lottie/model/layer/BaseLayer;->hasMatteOnThisLayer()Z
+HPLcom/airbnb/lottie/model/layer/BaseLayer;->intersectBoundsWithMask(Landroid/graphics/RectF;Landroid/graphics/Matrix;)V
+HPLcom/airbnb/lottie/model/layer/BaseLayer;->intersectBoundsWithMatte(Landroid/graphics/RectF;Landroid/graphics/Matrix;)V
 HSPLcom/airbnb/lottie/model/layer/BaseLayer;->invalidateSelf()V
 HSPLcom/airbnb/lottie/model/layer/BaseLayer;->onValueChanged()V
-HSPLcom/airbnb/lottie/model/layer/BaseLayer;->recordRenderTime(F)V
+HPLcom/airbnb/lottie/model/layer/BaseLayer;->recordRenderTime(F)V
+HSPLcom/airbnb/lottie/model/layer/BaseLayer;->setMatteLayer(Lcom/airbnb/lottie/model/layer/BaseLayer;)V
 HSPLcom/airbnb/lottie/model/layer/BaseLayer;->setParentLayer(Lcom/airbnb/lottie/model/layer/BaseLayer;)V
 HSPLcom/airbnb/lottie/model/layer/BaseLayer;->setProgress(F)V
 HSPLcom/airbnb/lottie/model/layer/BaseLayer;->setVisible(Z)V
 HSPLcom/airbnb/lottie/model/layer/BaseLayer;->setupInOutAnimations()V
-HSPLcom/airbnb/lottie/model/layer/CompositionLayer$1;-><clinit>()V
+Lcom/airbnb/lottie/model/layer/BaseLayer$$ExternalSyntheticLambda0;
+HSPLcom/airbnb/lottie/model/layer/BaseLayer$$ExternalSyntheticLambda0;-><init>(Lcom/airbnb/lottie/model/layer/BaseLayer;)V
+Lcom/airbnb/lottie/model/layer/BaseLayer$1;
+HSPLcom/airbnb/lottie/model/layer/BaseLayer$1;-><clinit>()V
+Lcom/airbnb/lottie/model/layer/CompositionLayer;
 HSPLcom/airbnb/lottie/model/layer/CompositionLayer;-><init>(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/model/layer/Layer;Ljava/util/List;Lcom/airbnb/lottie/LottieComposition;)V
-HSPLcom/airbnb/lottie/model/layer/CompositionLayer;->drawLayer(Landroid/graphics/Canvas;Landroid/graphics/Matrix;I)V
-HSPLcom/airbnb/lottie/model/layer/CompositionLayer;->setProgress(F)V
-HSPLcom/airbnb/lottie/model/layer/Layer$LayerType;-><clinit>()V
-HSPLcom/airbnb/lottie/model/layer/Layer$LayerType;-><init>(Ljava/lang/String;I)V
-HSPLcom/airbnb/lottie/model/layer/Layer$LayerType;->values()[Lcom/airbnb/lottie/model/layer/Layer$LayerType;
-HSPLcom/airbnb/lottie/model/layer/Layer$MatteType;-><clinit>()V
-HSPLcom/airbnb/lottie/model/layer/Layer$MatteType;-><init>(Ljava/lang/String;I)V
-HSPLcom/airbnb/lottie/model/layer/Layer$MatteType;->values()[Lcom/airbnb/lottie/model/layer/Layer$MatteType;
-HSPLcom/airbnb/lottie/model/layer/Layer;-><init>(Ljava/util/List;Lcom/airbnb/lottie/LottieComposition;Ljava/lang/String;JLcom/airbnb/lottie/model/layer/Layer$LayerType;JLjava/lang/String;Ljava/util/List;Lcom/airbnb/lottie/model/animatable/AnimatableTransform;IIIFFIILcom/airbnb/lottie/model/animatable/AnimatableTextFrame;Lcom/airbnb/lottie/model/animatable/AnimatableTextProperties;Ljava/util/List;Lcom/airbnb/lottie/model/layer/Layer$MatteType;Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;ZLcom/airbnb/lottie/model/content/BlurEffect;Lcom/airbnb/lottie/parser/DropShadowEffect;)V
+HPLcom/airbnb/lottie/model/layer/CompositionLayer;->drawLayer(Landroid/graphics/Canvas;Landroid/graphics/Matrix;I)V
+HSPLcom/airbnb/lottie/model/layer/CompositionLayer;->setClipToCompositionBounds(Z)V
+HPLcom/airbnb/lottie/model/layer/CompositionLayer;->setProgress(F)V
+Lcom/airbnb/lottie/model/layer/CompositionLayer$1;
+HSPLcom/airbnb/lottie/model/layer/CompositionLayer$1;-><clinit>()V
+Lcom/airbnb/lottie/model/layer/ImageLayer;
+HSPLcom/airbnb/lottie/model/layer/ImageLayer;-><init>(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/model/layer/Layer;)V
+HPLcom/airbnb/lottie/model/layer/ImageLayer;->drawLayer(Landroid/graphics/Canvas;Landroid/graphics/Matrix;I)V
+HPLcom/airbnb/lottie/model/layer/ImageLayer;->getBitmap()Landroid/graphics/Bitmap;
+Lcom/airbnb/lottie/model/layer/Layer;
+HSPLcom/airbnb/lottie/model/layer/Layer;-><init>(Ljava/util/List;Lcom/airbnb/lottie/LottieComposition;Ljava/lang/String;JLcom/airbnb/lottie/model/layer/Layer$LayerType;JLjava/lang/String;Ljava/util/List;Lcom/airbnb/lottie/model/animatable/AnimatableTransform;IIIFFFFLcom/airbnb/lottie/model/animatable/AnimatableTextFrame;Lcom/airbnb/lottie/model/animatable/AnimatableTextProperties;Ljava/util/List;Lcom/airbnb/lottie/model/layer/Layer$MatteType;Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;ZLcom/airbnb/lottie/model/content/BlurEffect;Lcom/airbnb/lottie/parser/DropShadowEffect;)V
 HSPLcom/airbnb/lottie/model/layer/Layer;->getBlurEffect()Lcom/airbnb/lottie/model/content/BlurEffect;
+HSPLcom/airbnb/lottie/model/layer/Layer;->getComposition()Lcom/airbnb/lottie/LottieComposition;
 HSPLcom/airbnb/lottie/model/layer/Layer;->getDropShadowEffect()Lcom/airbnb/lottie/parser/DropShadowEffect;
 HSPLcom/airbnb/lottie/model/layer/Layer;->getId()J
 HSPLcom/airbnb/lottie/model/layer/Layer;->getInOutKeyframes()Ljava/util/List;
 HSPLcom/airbnb/lottie/model/layer/Layer;->getLayerType()Lcom/airbnb/lottie/model/layer/Layer$LayerType;
 HSPLcom/airbnb/lottie/model/layer/Layer;->getMasks()Ljava/util/List;
 HSPLcom/airbnb/lottie/model/layer/Layer;->getMatteType()Lcom/airbnb/lottie/model/layer/Layer$MatteType;
-HSPLcom/airbnb/lottie/model/layer/Layer;->getName()Ljava/lang/String;
+HPLcom/airbnb/lottie/model/layer/Layer;->getName()Ljava/lang/String;
 HSPLcom/airbnb/lottie/model/layer/Layer;->getParentId()J
-HSPLcom/airbnb/lottie/model/layer/Layer;->getPreCompHeight()I
-HSPLcom/airbnb/lottie/model/layer/Layer;->getPreCompWidth()I
-HSPLcom/airbnb/lottie/model/layer/Layer;->getRefId()Ljava/lang/String;
+HSPLcom/airbnb/lottie/model/layer/Layer;->getPreCompHeight()F
+HSPLcom/airbnb/lottie/model/layer/Layer;->getPreCompWidth()F
+HPLcom/airbnb/lottie/model/layer/Layer;->getRefId()Ljava/lang/String;
 HSPLcom/airbnb/lottie/model/layer/Layer;->getShapes()Ljava/util/List;
+HPLcom/airbnb/lottie/model/layer/Layer;->getSolidColor()I
+HPLcom/airbnb/lottie/model/layer/Layer;->getSolidHeight()I
+HPLcom/airbnb/lottie/model/layer/Layer;->getSolidWidth()I
 HSPLcom/airbnb/lottie/model/layer/Layer;->getStartProgress()F
+HSPLcom/airbnb/lottie/model/layer/Layer;->getText()Lcom/airbnb/lottie/model/animatable/AnimatableTextFrame;
+HSPLcom/airbnb/lottie/model/layer/Layer;->getTextProperties()Lcom/airbnb/lottie/model/animatable/AnimatableTextProperties;
 HSPLcom/airbnb/lottie/model/layer/Layer;->getTimeRemapping()Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;
-HSPLcom/airbnb/lottie/model/layer/Layer;->getTimeStretch()F
+HPLcom/airbnb/lottie/model/layer/Layer;->getTimeStretch()F
 HSPLcom/airbnb/lottie/model/layer/Layer;->getTransform()Lcom/airbnb/lottie/model/animatable/AnimatableTransform;
-HSPLcom/airbnb/lottie/model/layer/Layer;->isHidden()Z
-HSPLcom/airbnb/lottie/model/layer/ShapeLayer;-><init>(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/model/layer/Layer;Lcom/airbnb/lottie/model/layer/CompositionLayer;)V
-HSPLcom/airbnb/lottie/model/layer/ShapeLayer;->drawLayer(Landroid/graphics/Canvas;Landroid/graphics/Matrix;I)V
+HPLcom/airbnb/lottie/model/layer/Layer;->isHidden()Z
+Lcom/airbnb/lottie/model/layer/Layer$LayerType;
+HSPLcom/airbnb/lottie/model/layer/Layer$LayerType;->$values()[Lcom/airbnb/lottie/model/layer/Layer$LayerType;
+HSPLcom/airbnb/lottie/model/layer/Layer$LayerType;-><clinit>()V
+HSPLcom/airbnb/lottie/model/layer/Layer$LayerType;-><init>(Ljava/lang/String;I)V
+HSPLcom/airbnb/lottie/model/layer/Layer$LayerType;->values()[Lcom/airbnb/lottie/model/layer/Layer$LayerType;
+Lcom/airbnb/lottie/model/layer/Layer$MatteType;
+HSPLcom/airbnb/lottie/model/layer/Layer$MatteType;->$values()[Lcom/airbnb/lottie/model/layer/Layer$MatteType;
+HSPLcom/airbnb/lottie/model/layer/Layer$MatteType;-><clinit>()V
+HSPLcom/airbnb/lottie/model/layer/Layer$MatteType;-><init>(Ljava/lang/String;I)V
+HSPLcom/airbnb/lottie/model/layer/Layer$MatteType;->values()[Lcom/airbnb/lottie/model/layer/Layer$MatteType;
+Lcom/airbnb/lottie/model/layer/ShapeLayer;
+HSPLcom/airbnb/lottie/model/layer/ShapeLayer;-><init>(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/model/layer/Layer;Lcom/airbnb/lottie/model/layer/CompositionLayer;Lcom/airbnb/lottie/LottieComposition;)V
+HPLcom/airbnb/lottie/model/layer/ShapeLayer;->drawLayer(Landroid/graphics/Canvas;Landroid/graphics/Matrix;I)V
 HSPLcom/airbnb/lottie/model/layer/ShapeLayer;->getBlurEffect()Lcom/airbnb/lottie/model/content/BlurEffect;
+HPLcom/airbnb/lottie/model/layer/ShapeLayer;->getBounds(Landroid/graphics/RectF;Landroid/graphics/Matrix;Z)V
 HSPLcom/airbnb/lottie/model/layer/ShapeLayer;->getDropShadowEffect()Lcom/airbnb/lottie/parser/DropShadowEffect;
-HSPLcom/airbnb/lottie/network/DefaultLottieFetchResult;-><init>(Ljava/net/HttpURLConnection;)V
-HSPLcom/airbnb/lottie/network/DefaultLottieFetchResult;->bodyByteStream()Ljava/io/InputStream;
-HSPLcom/airbnb/lottie/network/DefaultLottieFetchResult;->close()V
-HSPLcom/airbnb/lottie/network/DefaultLottieFetchResult;->contentType()Ljava/lang/String;
-HSPLcom/airbnb/lottie/network/DefaultLottieFetchResult;->isSuccessful()Z
-HSPLcom/airbnb/lottie/network/DefaultLottieNetworkFetcher;-><init>()V
-HSPLcom/airbnb/lottie/network/DefaultLottieNetworkFetcher;->fetchSync(Ljava/lang/String;)Lcom/airbnb/lottie/network/LottieFetchResult;
-HSPLcom/airbnb/lottie/network/FileExtension;-><clinit>()V
-HSPLcom/airbnb/lottie/network/FileExtension;-><init>(Ljava/lang/String;ILjava/lang/String;)V
-HSPLcom/airbnb/lottie/network/FileExtension;->tempExtension()Ljava/lang/String;
-HSPLcom/airbnb/lottie/network/NetworkCache;-><init>(Lcom/airbnb/lottie/network/LottieNetworkCacheProvider;)V
-HSPLcom/airbnb/lottie/network/NetworkCache;->fetch(Ljava/lang/String;)Landroid/util/Pair;
-HSPLcom/airbnb/lottie/network/NetworkCache;->filenameForUrl(Ljava/lang/String;Lcom/airbnb/lottie/network/FileExtension;Z)Ljava/lang/String;
-HSPLcom/airbnb/lottie/network/NetworkCache;->getCachedFile(Ljava/lang/String;)Ljava/io/File;
-HSPLcom/airbnb/lottie/network/NetworkCache;->parentDir()Ljava/io/File;
-HSPLcom/airbnb/lottie/network/NetworkCache;->renameTempFile(Ljava/lang/String;Lcom/airbnb/lottie/network/FileExtension;)V
-HSPLcom/airbnb/lottie/network/NetworkCache;->writeTempCacheFile(Ljava/lang/String;Ljava/io/InputStream;Lcom/airbnb/lottie/network/FileExtension;)Ljava/io/File;
-HSPLcom/airbnb/lottie/network/NetworkFetcher;-><init>(Lcom/airbnb/lottie/network/NetworkCache;Lcom/airbnb/lottie/network/LottieNetworkFetcher;)V
-HSPLcom/airbnb/lottie/network/NetworkFetcher;->fetchFromCache(Ljava/lang/String;Ljava/lang/String;)Lcom/airbnb/lottie/LottieComposition;
-HSPLcom/airbnb/lottie/network/NetworkFetcher;->fetchFromNetwork(Ljava/lang/String;Ljava/lang/String;)Lcom/airbnb/lottie/LottieResult;
-HSPLcom/airbnb/lottie/network/NetworkFetcher;->fetchSync(Ljava/lang/String;Ljava/lang/String;)Lcom/airbnb/lottie/LottieResult;
-HSPLcom/airbnb/lottie/network/NetworkFetcher;->fromInputStream(Ljava/lang/String;Ljava/io/InputStream;Ljava/lang/String;Ljava/lang/String;)Lcom/airbnb/lottie/LottieResult;
-HSPLcom/airbnb/lottie/network/NetworkFetcher;->fromJsonStream(Ljava/lang/String;Ljava/io/InputStream;Ljava/lang/String;)Lcom/airbnb/lottie/LottieResult;
+Lcom/airbnb/lottie/model/layer/SolidLayer;
+HSPLcom/airbnb/lottie/model/layer/SolidLayer;-><init>(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/model/layer/Layer;)V
+HPLcom/airbnb/lottie/model/layer/SolidLayer;->drawLayer(Landroid/graphics/Canvas;Landroid/graphics/Matrix;I)V
+Lcom/airbnb/lottie/model/layer/TextLayer;
+HSPLcom/airbnb/lottie/model/layer/TextLayer;-><init>(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/model/layer/Layer;)V
+HPLcom/airbnb/lottie/model/layer/TextLayer;->configurePaint(Lcom/airbnb/lottie/model/DocumentData;I)V
+HPLcom/airbnb/lottie/model/layer/TextLayer;->drawCharacterAsGlyph(Lcom/airbnb/lottie/model/FontCharacter;FLcom/airbnb/lottie/model/DocumentData;Landroid/graphics/Canvas;)V
+HPLcom/airbnb/lottie/model/layer/TextLayer;->drawGlyph(Landroid/graphics/Path;Landroid/graphics/Paint;Landroid/graphics/Canvas;)V
+HSPLcom/airbnb/lottie/model/layer/TextLayer;->drawGlyphTextLine(Ljava/lang/String;Lcom/airbnb/lottie/model/DocumentData;Lcom/airbnb/lottie/model/Font;Landroid/graphics/Canvas;FFF)V
+HPLcom/airbnb/lottie/model/layer/TextLayer;->drawLayer(Landroid/graphics/Canvas;Landroid/graphics/Matrix;I)V
+HPLcom/airbnb/lottie/model/layer/TextLayer;->drawTextWithGlyphs(Lcom/airbnb/lottie/model/DocumentData;Landroid/graphics/Matrix;Lcom/airbnb/lottie/model/Font;Landroid/graphics/Canvas;)V
+HPLcom/airbnb/lottie/model/layer/TextLayer;->ensureEnoughSubLines(I)Lcom/airbnb/lottie/model/layer/TextLayer$TextSubLine;
+HPLcom/airbnb/lottie/model/layer/TextLayer;->getContentsForCharacter(Lcom/airbnb/lottie/model/FontCharacter;)Ljava/util/List;
+HPLcom/airbnb/lottie/model/layer/TextLayer;->getTextLines(Ljava/lang/String;)Ljava/util/List;
+HPLcom/airbnb/lottie/model/layer/TextLayer;->offsetCanvas(Landroid/graphics/Canvas;Lcom/airbnb/lottie/model/DocumentData;IF)V
+HSPLcom/airbnb/lottie/model/layer/TextLayer;->splitGlyphTextIntoLines(Ljava/lang/String;FLcom/airbnb/lottie/model/Font;FFZ)Ljava/util/List;
+Lcom/airbnb/lottie/model/layer/TextLayer$1;
+HSPLcom/airbnb/lottie/model/layer/TextLayer$1;-><init>(Lcom/airbnb/lottie/model/layer/TextLayer;I)V
+Lcom/airbnb/lottie/model/layer/TextLayer$2;
+HSPLcom/airbnb/lottie/model/layer/TextLayer$2;-><init>(Lcom/airbnb/lottie/model/layer/TextLayer;I)V
+Lcom/airbnb/lottie/model/layer/TextLayer$3;
+HSPLcom/airbnb/lottie/model/layer/TextLayer$3;-><clinit>()V
+Lcom/airbnb/lottie/model/layer/TextLayer$TextSubLine;
+HSPLcom/airbnb/lottie/model/layer/TextLayer$TextSubLine;-><init>()V
+HSPLcom/airbnb/lottie/model/layer/TextLayer$TextSubLine;-><init>(Lcom/airbnb/lottie/model/layer/TextLayer$1;)V
+HPLcom/airbnb/lottie/model/layer/TextLayer$TextSubLine;->access$000(Lcom/airbnb/lottie/model/layer/TextLayer$TextSubLine;)F
+HPLcom/airbnb/lottie/model/layer/TextLayer$TextSubLine;->access$100(Lcom/airbnb/lottie/model/layer/TextLayer$TextSubLine;)Ljava/lang/String;
+HPLcom/airbnb/lottie/model/layer/TextLayer$TextSubLine;->set(Ljava/lang/String;F)V
+Lcom/airbnb/lottie/parser/AnimatablePathValueParser;
 HSPLcom/airbnb/lottie/parser/AnimatablePathValueParser;-><clinit>()V
 HSPLcom/airbnb/lottie/parser/AnimatablePathValueParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/animatable/AnimatablePathValue;
 HSPLcom/airbnb/lottie/parser/AnimatablePathValueParser;->parseSplitPath(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/animatable/AnimatableValue;
+Lcom/airbnb/lottie/parser/AnimatableTransformParser;
 HSPLcom/airbnb/lottie/parser/AnimatableTransformParser;-><clinit>()V
 HSPLcom/airbnb/lottie/parser/AnimatableTransformParser;->isAnchorPointIdentity(Lcom/airbnb/lottie/model/animatable/AnimatablePathValue;)Z
 HSPLcom/airbnb/lottie/parser/AnimatableTransformParser;->isPositionIdentity(Lcom/airbnb/lottie/model/animatable/AnimatableValue;)Z
@@ -427,100 +639,150 @@
 HSPLcom/airbnb/lottie/parser/AnimatableTransformParser;->isSkewAngleIdentity(Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;)Z
 HSPLcom/airbnb/lottie/parser/AnimatableTransformParser;->isSkewIdentity(Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;)Z
 HSPLcom/airbnb/lottie/parser/AnimatableTransformParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/animatable/AnimatableTransform;
+Lcom/airbnb/lottie/parser/AnimatableValueParser;
 HSPLcom/airbnb/lottie/parser/AnimatableValueParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;FLcom/airbnb/lottie/LottieComposition;Lcom/airbnb/lottie/parser/ValueParser;)Ljava/util/List;
 HSPLcom/airbnb/lottie/parser/AnimatableValueParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;Lcom/airbnb/lottie/parser/ValueParser;)Ljava/util/List;
 HSPLcom/airbnb/lottie/parser/AnimatableValueParser;->parseColor(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/animatable/AnimatableColorValue;
+HSPLcom/airbnb/lottie/parser/AnimatableValueParser;->parseDocumentData(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/animatable/AnimatableTextFrame;
 HSPLcom/airbnb/lottie/parser/AnimatableValueParser;->parseFloat(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;
 HSPLcom/airbnb/lottie/parser/AnimatableValueParser;->parseFloat(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;Z)Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;
 HSPLcom/airbnb/lottie/parser/AnimatableValueParser;->parseInteger(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/animatable/AnimatableIntegerValue;
 HSPLcom/airbnb/lottie/parser/AnimatableValueParser;->parsePoint(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/animatable/AnimatablePointValue;
 HSPLcom/airbnb/lottie/parser/AnimatableValueParser;->parseScale(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/animatable/AnimatableScaleValue;
 HSPLcom/airbnb/lottie/parser/AnimatableValueParser;->parseShapeData(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/animatable/AnimatableShapeValue;
+Lcom/airbnb/lottie/parser/CircleShapeParser;
 HSPLcom/airbnb/lottie/parser/CircleShapeParser;-><clinit>()V
 HSPLcom/airbnb/lottie/parser/CircleShapeParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;I)Lcom/airbnb/lottie/model/content/CircleShape;
+Lcom/airbnb/lottie/parser/ColorParser;
 HSPLcom/airbnb/lottie/parser/ColorParser;-><clinit>()V
 HSPLcom/airbnb/lottie/parser/ColorParser;-><init>()V
 HSPLcom/airbnb/lottie/parser/ColorParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;F)Ljava/lang/Integer;
 HSPLcom/airbnb/lottie/parser/ColorParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;F)Ljava/lang/Object;
+Lcom/airbnb/lottie/parser/ContentModelParser;
 HSPLcom/airbnb/lottie/parser/ContentModelParser;-><clinit>()V
 HSPLcom/airbnb/lottie/parser/ContentModelParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/content/ContentModel;
+Lcom/airbnb/lottie/parser/DocumentDataParser;
+HSPLcom/airbnb/lottie/parser/DocumentDataParser;-><clinit>()V
+HSPLcom/airbnb/lottie/parser/DocumentDataParser;-><init>()V
+HSPLcom/airbnb/lottie/parser/DocumentDataParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;F)Lcom/airbnb/lottie/model/DocumentData;
+HSPLcom/airbnb/lottie/parser/DocumentDataParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;F)Ljava/lang/Object;
+Lcom/airbnb/lottie/parser/DropShadowEffect;
+Lcom/airbnb/lottie/parser/FloatParser;
 HSPLcom/airbnb/lottie/parser/FloatParser;-><clinit>()V
 HSPLcom/airbnb/lottie/parser/FloatParser;-><init>()V
 HSPLcom/airbnb/lottie/parser/FloatParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;F)Ljava/lang/Float;
 HSPLcom/airbnb/lottie/parser/FloatParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;F)Ljava/lang/Object;
+Lcom/airbnb/lottie/parser/FontCharacterParser;
+HSPLcom/airbnb/lottie/parser/FontCharacterParser;-><clinit>()V
+HSPLcom/airbnb/lottie/parser/FontCharacterParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/FontCharacter;
+Lcom/airbnb/lottie/parser/FontParser;
+HSPLcom/airbnb/lottie/parser/FontParser;-><clinit>()V
+HSPLcom/airbnb/lottie/parser/FontParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;)Lcom/airbnb/lottie/model/Font;
+Lcom/airbnb/lottie/parser/IntegerParser;
 HSPLcom/airbnb/lottie/parser/IntegerParser;-><clinit>()V
 HSPLcom/airbnb/lottie/parser/IntegerParser;-><init>()V
 HSPLcom/airbnb/lottie/parser/IntegerParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;F)Ljava/lang/Integer;
 HSPLcom/airbnb/lottie/parser/IntegerParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;F)Ljava/lang/Object;
-HSPLcom/airbnb/lottie/parser/JsonUtils$1;-><clinit>()V
+Lcom/airbnb/lottie/parser/JsonUtils;
 HSPLcom/airbnb/lottie/parser/JsonUtils;-><clinit>()V
 HSPLcom/airbnb/lottie/parser/JsonUtils;->jsonArrayToPoint(Lcom/airbnb/lottie/parser/moshi/JsonReader;F)Landroid/graphics/PointF;
 HSPLcom/airbnb/lottie/parser/JsonUtils;->jsonNumbersToPoint(Lcom/airbnb/lottie/parser/moshi/JsonReader;F)Landroid/graphics/PointF;
 HSPLcom/airbnb/lottie/parser/JsonUtils;->jsonObjectToPoint(Lcom/airbnb/lottie/parser/moshi/JsonReader;F)Landroid/graphics/PointF;
+HSPLcom/airbnb/lottie/parser/JsonUtils;->jsonToColor(Lcom/airbnb/lottie/parser/moshi/JsonReader;)I
 HSPLcom/airbnb/lottie/parser/JsonUtils;->jsonToPoint(Lcom/airbnb/lottie/parser/moshi/JsonReader;F)Landroid/graphics/PointF;
 HSPLcom/airbnb/lottie/parser/JsonUtils;->jsonToPoints(Lcom/airbnb/lottie/parser/moshi/JsonReader;F)Ljava/util/List;
 HSPLcom/airbnb/lottie/parser/JsonUtils;->valueFromObject(Lcom/airbnb/lottie/parser/moshi/JsonReader;)F
+Lcom/airbnb/lottie/parser/JsonUtils$1;
+HSPLcom/airbnb/lottie/parser/JsonUtils$1;-><clinit>()V
+Lcom/airbnb/lottie/parser/KeyframeParser;
 HSPLcom/airbnb/lottie/parser/KeyframeParser;-><clinit>()V
-HSPLcom/airbnb/lottie/parser/KeyframeParser;->getInterpolator(I)Ljava/lang/ref/WeakReference;
 HSPLcom/airbnb/lottie/parser/KeyframeParser;->interpolatorFor(Landroid/graphics/PointF;Landroid/graphics/PointF;)Landroid/view/animation/Interpolator;
 HSPLcom/airbnb/lottie/parser/KeyframeParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;FLcom/airbnb/lottie/parser/ValueParser;ZZ)Lcom/airbnb/lottie/value/Keyframe;
 HSPLcom/airbnb/lottie/parser/KeyframeParser;->parseKeyframe(Lcom/airbnb/lottie/LottieComposition;Lcom/airbnb/lottie/parser/moshi/JsonReader;FLcom/airbnb/lottie/parser/ValueParser;)Lcom/airbnb/lottie/value/Keyframe;
 HSPLcom/airbnb/lottie/parser/KeyframeParser;->parseStaticValue(Lcom/airbnb/lottie/parser/moshi/JsonReader;FLcom/airbnb/lottie/parser/ValueParser;)Lcom/airbnb/lottie/value/Keyframe;
-HSPLcom/airbnb/lottie/parser/KeyframeParser;->pathInterpolatorCache()Landroidx/collection/SparseArrayCompat;
-HSPLcom/airbnb/lottie/parser/KeyframeParser;->putInterpolator(ILjava/lang/ref/WeakReference;)V
+Lcom/airbnb/lottie/parser/KeyframesParser;
 HSPLcom/airbnb/lottie/parser/KeyframesParser;-><clinit>()V
 HSPLcom/airbnb/lottie/parser/KeyframesParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;FLcom/airbnb/lottie/parser/ValueParser;Z)Ljava/util/List;
 HSPLcom/airbnb/lottie/parser/KeyframesParser;->setEndFrames(Ljava/util/List;)V
+Lcom/airbnb/lottie/parser/LayerParser;
 HSPLcom/airbnb/lottie/parser/LayerParser;-><clinit>()V
 HSPLcom/airbnb/lottie/parser/LayerParser;->parse(Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/layer/Layer;
 HSPLcom/airbnb/lottie/parser/LayerParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/layer/Layer;
+Lcom/airbnb/lottie/parser/LayerParser$1;
+HSPLcom/airbnb/lottie/parser/LayerParser$1;-><clinit>()V
+Lcom/airbnb/lottie/parser/LottieCompositionMoshiParser;
 HSPLcom/airbnb/lottie/parser/LottieCompositionMoshiParser;-><clinit>()V
 HSPLcom/airbnb/lottie/parser/LottieCompositionMoshiParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;)Lcom/airbnb/lottie/LottieComposition;
 HSPLcom/airbnb/lottie/parser/LottieCompositionMoshiParser;->parseAssets(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;Ljava/util/Map;Ljava/util/Map;)V
+HSPLcom/airbnb/lottie/parser/LottieCompositionMoshiParser;->parseChars(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;Landroidx/collection/SparseArrayCompat;)V
+HSPLcom/airbnb/lottie/parser/LottieCompositionMoshiParser;->parseFonts(Lcom/airbnb/lottie/parser/moshi/JsonReader;Ljava/util/Map;)V
 HSPLcom/airbnb/lottie/parser/LottieCompositionMoshiParser;->parseLayers(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;Ljava/util/List;Landroidx/collection/LongSparseArray;)V
 HSPLcom/airbnb/lottie/parser/LottieCompositionMoshiParser;->parseMarkers(Lcom/airbnb/lottie/parser/moshi/JsonReader;Ljava/util/List;)V
+Lcom/airbnb/lottie/parser/PathKeyframeParser;
 HSPLcom/airbnb/lottie/parser/PathKeyframeParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/animation/keyframe/PathKeyframe;
+Lcom/airbnb/lottie/parser/PathParser;
 HSPLcom/airbnb/lottie/parser/PathParser;-><clinit>()V
 HSPLcom/airbnb/lottie/parser/PathParser;-><init>()V
 HSPLcom/airbnb/lottie/parser/PathParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;F)Landroid/graphics/PointF;
 HSPLcom/airbnb/lottie/parser/PathParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;F)Ljava/lang/Object;
+Lcom/airbnb/lottie/parser/PointFParser;
 HSPLcom/airbnb/lottie/parser/PointFParser;-><clinit>()V
 HSPLcom/airbnb/lottie/parser/PointFParser;-><init>()V
 HSPLcom/airbnb/lottie/parser/PointFParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;F)Landroid/graphics/PointF;
 HSPLcom/airbnb/lottie/parser/PointFParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;F)Ljava/lang/Object;
+Lcom/airbnb/lottie/parser/PolystarShapeParser;
+HSPLcom/airbnb/lottie/parser/PolystarShapeParser;-><clinit>()V
+HSPLcom/airbnb/lottie/parser/PolystarShapeParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;I)Lcom/airbnb/lottie/model/content/PolystarShape;
+Lcom/airbnb/lottie/parser/RectangleShapeParser;
+HSPLcom/airbnb/lottie/parser/RectangleShapeParser;-><clinit>()V
+HSPLcom/airbnb/lottie/parser/RectangleShapeParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/content/RectangleShape;
+Lcom/airbnb/lottie/parser/RepeaterParser;
+HSPLcom/airbnb/lottie/parser/RepeaterParser;-><clinit>()V
+HSPLcom/airbnb/lottie/parser/RepeaterParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/content/Repeater;
+Lcom/airbnb/lottie/parser/ScaleXYParser;
 HSPLcom/airbnb/lottie/parser/ScaleXYParser;-><clinit>()V
 HSPLcom/airbnb/lottie/parser/ScaleXYParser;-><init>()V
 HSPLcom/airbnb/lottie/parser/ScaleXYParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;F)Lcom/airbnb/lottie/value/ScaleXY;
 HSPLcom/airbnb/lottie/parser/ScaleXYParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;F)Ljava/lang/Object;
+Lcom/airbnb/lottie/parser/ShapeDataParser;
 HSPLcom/airbnb/lottie/parser/ShapeDataParser;-><clinit>()V
 HSPLcom/airbnb/lottie/parser/ShapeDataParser;-><init>()V
 HSPLcom/airbnb/lottie/parser/ShapeDataParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;F)Lcom/airbnb/lottie/model/content/ShapeData;
 HSPLcom/airbnb/lottie/parser/ShapeDataParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;F)Ljava/lang/Object;
+Lcom/airbnb/lottie/parser/ShapeFillParser;
 HSPLcom/airbnb/lottie/parser/ShapeFillParser;-><clinit>()V
 HSPLcom/airbnb/lottie/parser/ShapeFillParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/content/ShapeFill;
+Lcom/airbnb/lottie/parser/ShapeGroupParser;
 HSPLcom/airbnb/lottie/parser/ShapeGroupParser;-><clinit>()V
 HSPLcom/airbnb/lottie/parser/ShapeGroupParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/content/ShapeGroup;
+Lcom/airbnb/lottie/parser/ShapePathParser;
 HSPLcom/airbnb/lottie/parser/ShapePathParser;-><clinit>()V
 HSPLcom/airbnb/lottie/parser/ShapePathParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/content/ShapePath;
+Lcom/airbnb/lottie/parser/ShapeStrokeParser;
 HSPLcom/airbnb/lottie/parser/ShapeStrokeParser;-><clinit>()V
 HSPLcom/airbnb/lottie/parser/ShapeStrokeParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/content/ShapeStroke;
-HSPLcom/airbnb/lottie/parser/moshi/JsonReader$Options;-><init>([Ljava/lang/String;Lokio/Options;)V
-HSPLcom/airbnb/lottie/parser/moshi/JsonReader$Options;->of([Ljava/lang/String;)Lcom/airbnb/lottie/parser/moshi/JsonReader$Options;
-HSPLcom/airbnb/lottie/parser/moshi/JsonReader$Token;-><clinit>()V
-HSPLcom/airbnb/lottie/parser/moshi/JsonReader$Token;-><init>(Ljava/lang/String;I)V
-HSPLcom/airbnb/lottie/parser/moshi/JsonReader$Token;->values()[Lcom/airbnb/lottie/parser/moshi/JsonReader$Token;
+Lcom/airbnb/lottie/parser/ValueParser;
+Lcom/airbnb/lottie/parser/moshi/JsonReader;
 HSPLcom/airbnb/lottie/parser/moshi/JsonReader;-><clinit>()V
 HSPLcom/airbnb/lottie/parser/moshi/JsonReader;-><init>()V
 HSPLcom/airbnb/lottie/parser/moshi/JsonReader;->access$000(Lokio/BufferedSink;Ljava/lang/String;)V
 HSPLcom/airbnb/lottie/parser/moshi/JsonReader;->of(Lokio/BufferedSource;)Lcom/airbnb/lottie/parser/moshi/JsonReader;
 HSPLcom/airbnb/lottie/parser/moshi/JsonReader;->pushScope(I)V
 HSPLcom/airbnb/lottie/parser/moshi/JsonReader;->string(Lokio/BufferedSink;Ljava/lang/String;)V
+Lcom/airbnb/lottie/parser/moshi/JsonReader$Options;
+HSPLcom/airbnb/lottie/parser/moshi/JsonReader$Options;-><init>([Ljava/lang/String;Lokio/Options;)V
+HSPLcom/airbnb/lottie/parser/moshi/JsonReader$Options;->of([Ljava/lang/String;)Lcom/airbnb/lottie/parser/moshi/JsonReader$Options;
+Lcom/airbnb/lottie/parser/moshi/JsonReader$Token;
+HSPLcom/airbnb/lottie/parser/moshi/JsonReader$Token;->$values()[Lcom/airbnb/lottie/parser/moshi/JsonReader$Token;
+HSPLcom/airbnb/lottie/parser/moshi/JsonReader$Token;-><clinit>()V
+HSPLcom/airbnb/lottie/parser/moshi/JsonReader$Token;-><init>(Ljava/lang/String;I)V
+HSPLcom/airbnb/lottie/parser/moshi/JsonReader$Token;->values()[Lcom/airbnb/lottie/parser/moshi/JsonReader$Token;
+Lcom/airbnb/lottie/parser/moshi/JsonUtf8Reader;
 HSPLcom/airbnb/lottie/parser/moshi/JsonUtf8Reader;-><clinit>()V
 HSPLcom/airbnb/lottie/parser/moshi/JsonUtf8Reader;-><init>(Lokio/BufferedSource;)V
 HSPLcom/airbnb/lottie/parser/moshi/JsonUtf8Reader;->beginArray()V
 HSPLcom/airbnb/lottie/parser/moshi/JsonUtf8Reader;->beginObject()V
 HSPLcom/airbnb/lottie/parser/moshi/JsonUtf8Reader;->close()V
-HSPLcom/airbnb/lottie/parser/moshi/JsonUtf8Reader;->doPeek()I
 HSPLcom/airbnb/lottie/parser/moshi/JsonUtf8Reader;->endArray()V
 HSPLcom/airbnb/lottie/parser/moshi/JsonUtf8Reader;->endObject()V
 HSPLcom/airbnb/lottie/parser/moshi/JsonUtf8Reader;->findName(Ljava/lang/String;Lcom/airbnb/lottie/parser/moshi/JsonReader$Options;)I
@@ -535,326 +797,87 @@
 HSPLcom/airbnb/lottie/parser/moshi/JsonUtf8Reader;->nextString()Ljava/lang/String;
 HSPLcom/airbnb/lottie/parser/moshi/JsonUtf8Reader;->peek()Lcom/airbnb/lottie/parser/moshi/JsonReader$Token;
 HSPLcom/airbnb/lottie/parser/moshi/JsonUtf8Reader;->peekKeyword()I
-HSPLcom/airbnb/lottie/parser/moshi/JsonUtf8Reader;->peekNumber()I
-HSPLcom/airbnb/lottie/parser/moshi/JsonUtf8Reader;->readEscapeCharacter()C
 HSPLcom/airbnb/lottie/parser/moshi/JsonUtf8Reader;->selectName(Lcom/airbnb/lottie/parser/moshi/JsonReader$Options;)I
 HSPLcom/airbnb/lottie/parser/moshi/JsonUtf8Reader;->skipName()V
 HSPLcom/airbnb/lottie/parser/moshi/JsonUtf8Reader;->skipQuotedValue(Lokio/ByteString;)V
 HSPLcom/airbnb/lottie/parser/moshi/JsonUtf8Reader;->skipValue()V
+Lcom/airbnb/lottie/utils/BaseLottieAnimator;
 HSPLcom/airbnb/lottie/utils/BaseLottieAnimator;-><init>()V
 HSPLcom/airbnb/lottie/utils/BaseLottieAnimator;->addUpdateListener(Landroid/animation/ValueAnimator$AnimatorUpdateListener;)V
-HSPLcom/airbnb/lottie/utils/BaseLottieAnimator;->notifyUpdate()V
-HSPLcom/airbnb/lottie/utils/GammaEvaluator;->evaluate(FII)I
+HPLcom/airbnb/lottie/utils/BaseLottieAnimator;->notifyUpdate()V
+Lcom/airbnb/lottie/utils/GammaEvaluator;
+HPLcom/airbnb/lottie/utils/GammaEvaluator;->evaluate(FII)I
+Lcom/airbnb/lottie/utils/LogcatLogger;
 HSPLcom/airbnb/lottie/utils/LogcatLogger;-><clinit>()V
 HSPLcom/airbnb/lottie/utils/LogcatLogger;-><init>()V
-HSPLcom/airbnb/lottie/utils/LogcatLogger;->debug(Ljava/lang/String;)V
-HSPLcom/airbnb/lottie/utils/LogcatLogger;->debug(Ljava/lang/String;Ljava/lang/Throwable;)V
-HSPLcom/airbnb/lottie/utils/LogcatLogger;->warning(Ljava/lang/String;)V
-HSPLcom/airbnb/lottie/utils/LogcatLogger;->warning(Ljava/lang/String;Ljava/lang/Throwable;)V
+HSPLcom/airbnb/lottie/utils/LogcatLogger;->error(Ljava/lang/String;Ljava/lang/Throwable;)V
+Lcom/airbnb/lottie/utils/Logger;
 HSPLcom/airbnb/lottie/utils/Logger;-><clinit>()V
-HSPLcom/airbnb/lottie/utils/Logger;->debug(Ljava/lang/String;)V
-HSPLcom/airbnb/lottie/utils/Logger;->warning(Ljava/lang/String;)V
+HSPLcom/airbnb/lottie/utils/Logger;->error(Ljava/lang/String;Ljava/lang/Throwable;)V
+Lcom/airbnb/lottie/utils/LottieThreadFactory;
+HSPLcom/airbnb/lottie/utils/LottieThreadFactory;-><clinit>()V
+HSPLcom/airbnb/lottie/utils/LottieThreadFactory;-><init>()V
+Lcom/airbnb/lottie/utils/LottieTrace;
+Lcom/airbnb/lottie/utils/LottieValueAnimator;
 HSPLcom/airbnb/lottie/utils/LottieValueAnimator;-><init>()V
 HSPLcom/airbnb/lottie/utils/LottieValueAnimator;->clearComposition()V
 HSPLcom/airbnb/lottie/utils/LottieValueAnimator;->getAnimatedFraction()F
-HSPLcom/airbnb/lottie/utils/LottieValueAnimator;->getAnimatedValueAbsolute()F
-HSPLcom/airbnb/lottie/utils/LottieValueAnimator;->getMaxFrame()F
-HSPLcom/airbnb/lottie/utils/LottieValueAnimator;->getMinFrame()F
+HPLcom/airbnb/lottie/utils/LottieValueAnimator;->getAnimatedValueAbsolute()F
+HPLcom/airbnb/lottie/utils/LottieValueAnimator;->getMaxFrame()F
+HPLcom/airbnb/lottie/utils/LottieValueAnimator;->getMinFrame()F
 HSPLcom/airbnb/lottie/utils/LottieValueAnimator;->getSpeed()F
 HSPLcom/airbnb/lottie/utils/LottieValueAnimator;->isReversed()Z
 HSPLcom/airbnb/lottie/utils/LottieValueAnimator;->isRunning()Z
 HSPLcom/airbnb/lottie/utils/LottieValueAnimator;->setComposition(Lcom/airbnb/lottie/LottieComposition;)V
-HSPLcom/airbnb/lottie/utils/LottieValueAnimator;->setFrame(F)V
+HPLcom/airbnb/lottie/utils/LottieValueAnimator;->setFrame(F)V
 HSPLcom/airbnb/lottie/utils/LottieValueAnimator;->setMinAndMaxFrames(FF)V
+Lcom/airbnb/lottie/utils/MiscUtils;
 HSPLcom/airbnb/lottie/utils/MiscUtils;-><clinit>()V
 HSPLcom/airbnb/lottie/utils/MiscUtils;->addPoints(Landroid/graphics/PointF;Landroid/graphics/PointF;)Landroid/graphics/PointF;
-HSPLcom/airbnb/lottie/utils/MiscUtils;->clamp(FFF)F
-HSPLcom/airbnb/lottie/utils/MiscUtils;->clamp(III)I
+HPLcom/airbnb/lottie/utils/MiscUtils;->clamp(FFF)F
+HPLcom/airbnb/lottie/utils/MiscUtils;->clamp(III)I
 HSPLcom/airbnb/lottie/utils/MiscUtils;->getPathFromData(Lcom/airbnb/lottie/model/content/ShapeData;Landroid/graphics/Path;)V
-HSPLcom/airbnb/lottie/utils/MiscUtils;->lerp(FFF)F
+HPLcom/airbnb/lottie/utils/MiscUtils;->lerp(FFF)F
 HSPLcom/airbnb/lottie/utils/MiscUtils;->lerp(IIF)I
-HSPLcom/airbnb/lottie/utils/Utils$1;-><init>()V
-HSPLcom/airbnb/lottie/utils/Utils$2;-><init>()V
-HSPLcom/airbnb/lottie/utils/Utils$3;-><init>()V
-HSPLcom/airbnb/lottie/utils/Utils$4;-><init>()V
-HSPLcom/airbnb/lottie/utils/Utils$4;->initialValue()Ljava/lang/Object;
-HSPLcom/airbnb/lottie/utils/Utils$4;->initialValue()[F
+Lcom/airbnb/lottie/utils/Utils;
 HSPLcom/airbnb/lottie/utils/Utils;-><clinit>()V
 HSPLcom/airbnb/lottie/utils/Utils;->closeQuietly(Ljava/io/Closeable;)V
 HSPLcom/airbnb/lottie/utils/Utils;->createPath(Landroid/graphics/PointF;Landroid/graphics/PointF;Landroid/graphics/PointF;Landroid/graphics/PointF;)Landroid/graphics/Path;
-HSPLcom/airbnb/lottie/utils/Utils;->dpScale()F
+HPLcom/airbnb/lottie/utils/Utils;->dpScale()F
 HSPLcom/airbnb/lottie/utils/Utils;->getAnimationScale(Landroid/content/Context;)F
-HSPLcom/airbnb/lottie/utils/Utils;->getScale(Landroid/graphics/Matrix;)F
-HSPLcom/airbnb/lottie/utils/Utils;->hasZeroScaleAxis(Landroid/graphics/Matrix;)Z
+HPLcom/airbnb/lottie/utils/Utils;->getScale(Landroid/graphics/Matrix;)F
+HPLcom/airbnb/lottie/utils/Utils;->hasZeroScaleAxis(Landroid/graphics/Matrix;)Z
 HSPLcom/airbnb/lottie/utils/Utils;->hashFor(FFFF)I
 HSPLcom/airbnb/lottie/utils/Utils;->isAtLeastVersion(IIIIII)Z
+HSPLcom/airbnb/lottie/utils/Utils;->saveLayerCompat(Landroid/graphics/Canvas;Landroid/graphics/RectF;Landroid/graphics/Paint;)V
+HPLcom/airbnb/lottie/utils/Utils;->saveLayerCompat(Landroid/graphics/Canvas;Landroid/graphics/RectF;Landroid/graphics/Paint;I)V
+Lcom/airbnb/lottie/utils/Utils$1;
+HSPLcom/airbnb/lottie/utils/Utils$1;-><init>()V
+Lcom/airbnb/lottie/utils/Utils$2;
+HSPLcom/airbnb/lottie/utils/Utils$2;-><init>()V
+Lcom/airbnb/lottie/utils/Utils$3;
+HSPLcom/airbnb/lottie/utils/Utils$3;-><init>()V
+Lcom/airbnb/lottie/utils/Utils$4;
+HSPLcom/airbnb/lottie/utils/Utils$4;-><init>()V
+HSPLcom/airbnb/lottie/utils/Utils$4;->initialValue()Ljava/lang/Object;
+HSPLcom/airbnb/lottie/utils/Utils$4;->initialValue()[F
+Lcom/airbnb/lottie/value/Keyframe;
 HSPLcom/airbnb/lottie/value/Keyframe;-><init>(Lcom/airbnb/lottie/LottieComposition;Ljava/lang/Object;Ljava/lang/Object;Landroid/view/animation/Interpolator;FLjava/lang/Float;)V
 HSPLcom/airbnb/lottie/value/Keyframe;-><init>(Lcom/airbnb/lottie/LottieComposition;Ljava/lang/Object;Ljava/lang/Object;Landroid/view/animation/Interpolator;Landroid/view/animation/Interpolator;Landroid/view/animation/Interpolator;FLjava/lang/Float;)V
 HSPLcom/airbnb/lottie/value/Keyframe;-><init>(Ljava/lang/Object;)V
 HSPLcom/airbnb/lottie/value/Keyframe;->containsProgress(F)Z
-HSPLcom/airbnb/lottie/value/Keyframe;->getEndProgress()F
-HSPLcom/airbnb/lottie/value/Keyframe;->getEndValueFloat()F
-HSPLcom/airbnb/lottie/value/Keyframe;->getEndValueInt()I
-HSPLcom/airbnb/lottie/value/Keyframe;->getStartProgress()F
-HSPLcom/airbnb/lottie/value/Keyframe;->getStartValueFloat()F
-HSPLcom/airbnb/lottie/value/Keyframe;->getStartValueInt()I
-HSPLcom/airbnb/lottie/value/Keyframe;->isStatic()Z
+HPLcom/airbnb/lottie/value/Keyframe;->getEndProgress()F
+HPLcom/airbnb/lottie/value/Keyframe;->getEndValueFloat()F
+HPLcom/airbnb/lottie/value/Keyframe;->getEndValueInt()I
+HPLcom/airbnb/lottie/value/Keyframe;->getStartProgress()F
+HPLcom/airbnb/lottie/value/Keyframe;->getStartValueFloat()F
+HPLcom/airbnb/lottie/value/Keyframe;->getStartValueInt()I
+HPLcom/airbnb/lottie/value/Keyframe;->isStatic()Z
+Lcom/airbnb/lottie/value/LottieValueCallback;
+Lcom/airbnb/lottie/value/ScaleXY;
+HSPLcom/airbnb/lottie/value/ScaleXY;-><init>()V
 HSPLcom/airbnb/lottie/value/ScaleXY;-><init>(FF)V
 HSPLcom/airbnb/lottie/value/ScaleXY;->equals(FF)Z
-Lcom/airbnb/lottie/L$1;
-Lcom/airbnb/lottie/L;
-Lcom/airbnb/lottie/LottieComposition;
-Lcom/airbnb/lottie/LottieCompositionFactory$$ExternalSyntheticLambda0;
-Lcom/airbnb/lottie/LottieCompositionFactory$$ExternalSyntheticLambda2;
-Lcom/airbnb/lottie/LottieCompositionFactory$$ExternalSyntheticLambda4;
-Lcom/airbnb/lottie/LottieCompositionFactory$$ExternalSyntheticLambda5;
-Lcom/airbnb/lottie/LottieCompositionFactory$$ExternalSyntheticLambda9;
-Lcom/airbnb/lottie/LottieCompositionFactory;
-Lcom/airbnb/lottie/LottieDrawable$1;
-Lcom/airbnb/lottie/LottieDrawable$OnVisibleAction;
-Lcom/airbnb/lottie/LottieDrawable;
-Lcom/airbnb/lottie/LottieListener;
-Lcom/airbnb/lottie/LottieLogger;
-Lcom/airbnb/lottie/LottieResult;
-Lcom/airbnb/lottie/LottieTask$$ExternalSyntheticLambda0;
-Lcom/airbnb/lottie/LottieTask$LottieFutureTask;
-Lcom/airbnb/lottie/LottieTask;
-Lcom/airbnb/lottie/PerformanceTracker$1;
-Lcom/airbnb/lottie/PerformanceTracker;
-Lcom/airbnb/lottie/RenderMode$1;
-Lcom/airbnb/lottie/RenderMode;
-Lcom/airbnb/lottie/animation/LPaint;
-Lcom/airbnb/lottie/animation/content/BaseStrokeContent$PathGroup;
-Lcom/airbnb/lottie/animation/content/BaseStrokeContent;
-Lcom/airbnb/lottie/animation/content/CompoundTrimPathContent;
-Lcom/airbnb/lottie/animation/content/Content;
-Lcom/airbnb/lottie/animation/content/ContentGroup;
-Lcom/airbnb/lottie/animation/content/DrawingContent;
-Lcom/airbnb/lottie/animation/content/EllipseContent;
-Lcom/airbnb/lottie/animation/content/FillContent;
-Lcom/airbnb/lottie/animation/content/GreedyContent;
-Lcom/airbnb/lottie/animation/content/KeyPathElementContent;
-Lcom/airbnb/lottie/animation/content/ModifierContent;
-Lcom/airbnb/lottie/animation/content/PathContent;
-Lcom/airbnb/lottie/animation/content/ShapeContent;
-Lcom/airbnb/lottie/animation/content/ShapeModifierContent;
-Lcom/airbnb/lottie/animation/content/StrokeContent;
-Lcom/airbnb/lottie/animation/content/TrimPathContent;
-Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$AnimationListener;
-Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$EmptyKeyframeWrapper;
-Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$KeyframesWrapper;
-Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$KeyframesWrapperImpl;
-Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$SingleKeyframeWrapper;
-Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;
-Lcom/airbnb/lottie/animation/keyframe/ColorKeyframeAnimation;
-Lcom/airbnb/lottie/animation/keyframe/DropShadowKeyframeAnimation;
-Lcom/airbnb/lottie/animation/keyframe/FloatKeyframeAnimation;
-Lcom/airbnb/lottie/animation/keyframe/IntegerKeyframeAnimation;
-Lcom/airbnb/lottie/animation/keyframe/KeyframeAnimation;
-Lcom/airbnb/lottie/animation/keyframe/MaskKeyframeAnimation;
-Lcom/airbnb/lottie/animation/keyframe/PathKeyframe;
-Lcom/airbnb/lottie/animation/keyframe/PathKeyframeAnimation;
-Lcom/airbnb/lottie/animation/keyframe/PointKeyframeAnimation;
-Lcom/airbnb/lottie/animation/keyframe/ShapeKeyframeAnimation;
-Lcom/airbnb/lottie/animation/keyframe/TransformKeyframeAnimation;
-Lcom/airbnb/lottie/model/CubicCurveData;
-Lcom/airbnb/lottie/model/KeyPathElement;
-Lcom/airbnb/lottie/model/LottieCompositionCache;
-Lcom/airbnb/lottie/model/animatable/AnimatableColorValue;
-Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;
-Lcom/airbnb/lottie/model/animatable/AnimatableIntegerValue;
-Lcom/airbnb/lottie/model/animatable/AnimatablePathValue;
-Lcom/airbnb/lottie/model/animatable/AnimatablePointValue;
-Lcom/airbnb/lottie/model/animatable/AnimatableScaleValue;
-Lcom/airbnb/lottie/model/animatable/AnimatableShapeValue;
-Lcom/airbnb/lottie/model/animatable/AnimatableSplitDimensionPathValue;
-Lcom/airbnb/lottie/model/animatable/AnimatableTransform;
-Lcom/airbnb/lottie/model/animatable/AnimatableValue;
-Lcom/airbnb/lottie/model/animatable/BaseAnimatableValue;
-Lcom/airbnb/lottie/model/content/BlurEffect;
-Lcom/airbnb/lottie/model/content/CircleShape;
-Lcom/airbnb/lottie/model/content/ContentModel;
-Lcom/airbnb/lottie/model/content/Mask$MaskMode;
-Lcom/airbnb/lottie/model/content/ShapeData;
-Lcom/airbnb/lottie/model/content/ShapeFill;
-Lcom/airbnb/lottie/model/content/ShapeGroup;
-Lcom/airbnb/lottie/model/content/ShapePath;
-Lcom/airbnb/lottie/model/content/ShapeStroke$1;
-Lcom/airbnb/lottie/model/content/ShapeStroke$LineCapType;
-Lcom/airbnb/lottie/model/content/ShapeStroke$LineJoinType;
-Lcom/airbnb/lottie/model/content/ShapeStroke;
-Lcom/airbnb/lottie/model/layer/BaseLayer$$ExternalSyntheticLambda0;
-Lcom/airbnb/lottie/model/layer/BaseLayer$1;
-Lcom/airbnb/lottie/model/layer/BaseLayer;
-Lcom/airbnb/lottie/model/layer/CompositionLayer$1;
-Lcom/airbnb/lottie/model/layer/CompositionLayer;
-Lcom/airbnb/lottie/model/layer/Layer$LayerType;
-Lcom/airbnb/lottie/model/layer/Layer$MatteType;
-Lcom/airbnb/lottie/model/layer/Layer;
-Lcom/airbnb/lottie/model/layer/ShapeLayer;
-Lcom/airbnb/lottie/network/DefaultLottieFetchResult;
-Lcom/airbnb/lottie/network/DefaultLottieNetworkFetcher;
-Lcom/airbnb/lottie/network/FileExtension;
-Lcom/airbnb/lottie/network/LottieFetchResult;
-Lcom/airbnb/lottie/network/LottieNetworkCacheProvider;
-Lcom/airbnb/lottie/network/LottieNetworkFetcher;
-Lcom/airbnb/lottie/network/NetworkCache;
-Lcom/airbnb/lottie/network/NetworkFetcher;
-Lcom/airbnb/lottie/parser/AnimatablePathValueParser;
-Lcom/airbnb/lottie/parser/AnimatableTransformParser;
-Lcom/airbnb/lottie/parser/AnimatableValueParser;
-Lcom/airbnb/lottie/parser/CircleShapeParser;
-Lcom/airbnb/lottie/parser/ColorParser;
-Lcom/airbnb/lottie/parser/ContentModelParser;
-Lcom/airbnb/lottie/parser/FloatParser;
-Lcom/airbnb/lottie/parser/IntegerParser;
-Lcom/airbnb/lottie/parser/JsonUtils$1;
-Lcom/airbnb/lottie/parser/JsonUtils;
-Lcom/airbnb/lottie/parser/KeyframeParser;
-Lcom/airbnb/lottie/parser/KeyframesParser;
-Lcom/airbnb/lottie/parser/LayerParser;
-Lcom/airbnb/lottie/parser/LottieCompositionMoshiParser;
-Lcom/airbnb/lottie/parser/PathKeyframeParser;
-Lcom/airbnb/lottie/parser/PathParser;
-Lcom/airbnb/lottie/parser/PointFParser;
-Lcom/airbnb/lottie/parser/ScaleXYParser;
-Lcom/airbnb/lottie/parser/ShapeDataParser;
-Lcom/airbnb/lottie/parser/ShapeFillParser;
-Lcom/airbnb/lottie/parser/ShapeGroupParser;
-Lcom/airbnb/lottie/parser/ShapePathParser;
-Lcom/airbnb/lottie/parser/ShapeStrokeParser;
-Lcom/airbnb/lottie/parser/ValueParser;
-Lcom/airbnb/lottie/parser/moshi/JsonDataException;
-Lcom/airbnb/lottie/parser/moshi/JsonEncodingException;
-Lcom/airbnb/lottie/parser/moshi/JsonReader$Options;
-Lcom/airbnb/lottie/parser/moshi/JsonReader$Token;
-Lcom/airbnb/lottie/parser/moshi/JsonReader;
-Lcom/airbnb/lottie/parser/moshi/JsonScope;
-Lcom/airbnb/lottie/parser/moshi/JsonUtf8Reader;
-Lcom/airbnb/lottie/utils/BaseLottieAnimator;
-Lcom/airbnb/lottie/utils/GammaEvaluator;
-Lcom/airbnb/lottie/utils/LogcatLogger;
-Lcom/airbnb/lottie/utils/Logger;
-Lcom/airbnb/lottie/utils/LottieValueAnimator;
-Lcom/airbnb/lottie/utils/MiscUtils;
-Lcom/airbnb/lottie/utils/Utils$1;
-Lcom/airbnb/lottie/utils/Utils$2;
-Lcom/airbnb/lottie/utils/Utils$3;
-Lcom/airbnb/lottie/utils/Utils$4;
-Lcom/airbnb/lottie/utils/Utils;
-Lcom/airbnb/lottie/value/Keyframe;
-Lcom/airbnb/lottie/value/ScaleXY;
-PLcom/airbnb/lottie/LottieComposition;->setHasDashPattern(Z)V
-PLcom/airbnb/lottie/LottieDrawable;->enableMergePathsForKitKatAndAbove()Z
-PLcom/airbnb/lottie/LottieDrawable;->getBitmapForId(Ljava/lang/String;)Landroid/graphics/Bitmap;
-PLcom/airbnb/lottie/LottieDrawable;->getIntrinsicHeight()I
-PLcom/airbnb/lottie/LottieDrawable;->getIntrinsicWidth()I
-PLcom/airbnb/lottie/LottieDrawable;->getLottieImageAssetForId(Ljava/lang/String;)Lcom/airbnb/lottie/LottieImageAsset;
-PLcom/airbnb/lottie/LottieDrawable;->getMaintainOriginalImageBounds()Z
-PLcom/airbnb/lottie/LottieDrawable;->getScale()F
-PLcom/airbnb/lottie/LottieImageAsset;-><init>(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-PLcom/airbnb/lottie/LottieImageAsset;->getBitmap()Landroid/graphics/Bitmap;
-PLcom/airbnb/lottie/LottieImageAsset;->getFileName()Ljava/lang/String;
-PLcom/airbnb/lottie/LottieImageAsset;->getId()Ljava/lang/String;
-PLcom/airbnb/lottie/LottieImageAsset;->setBitmap(Landroid/graphics/Bitmap;)V
-PLcom/airbnb/lottie/animation/content/CompoundTrimPathContent;->addTrimPath(Lcom/airbnb/lottie/animation/content/TrimPathContent;)V
-PLcom/airbnb/lottie/animation/content/EllipseContent;->invalidate()V
-PLcom/airbnb/lottie/animation/content/GradientFillContent;-><init>(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/model/layer/BaseLayer;Lcom/airbnb/lottie/model/content/GradientFill;)V
-PLcom/airbnb/lottie/animation/content/GradientFillContent;->setContents(Ljava/util/List;Ljava/util/List;)V
-PLcom/airbnb/lottie/animation/content/RectangleContent;-><init>(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/model/layer/BaseLayer;Lcom/airbnb/lottie/model/content/RectangleShape;)V
-PLcom/airbnb/lottie/animation/content/RectangleContent;->setContents(Ljava/util/List;Ljava/util/List;)V
-PLcom/airbnb/lottie/animation/content/ShapeContent;->invalidate()V
-PLcom/airbnb/lottie/animation/content/TrimPathContent;->addListener(Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$AnimationListener;)V
-PLcom/airbnb/lottie/animation/content/TrimPathContent;->getEnd()Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;
-PLcom/airbnb/lottie/animation/content/TrimPathContent;->getOffset()Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;
-PLcom/airbnb/lottie/animation/content/TrimPathContent;->getStart()Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;
-PLcom/airbnb/lottie/animation/content/TrimPathContent;->getType()Lcom/airbnb/lottie/model/content/ShapeTrimPath$Type;
-PLcom/airbnb/lottie/animation/content/TrimPathContent;->isHidden()Z
-PLcom/airbnb/lottie/animation/content/TrimPathContent;->setContents(Ljava/util/List;Ljava/util/List;)V
-PLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$EmptyKeyframeWrapper;-><init>()V
-PLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$EmptyKeyframeWrapper;-><init>(Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$1;)V
-PLcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;->getProgress()F
-PLcom/airbnb/lottie/animation/keyframe/GradientColorKeyframeAnimation;-><init>(Ljava/util/List;)V
-PLcom/airbnb/lottie/animation/keyframe/GradientColorKeyframeAnimation;->getValue(Lcom/airbnb/lottie/value/Keyframe;F)Lcom/airbnb/lottie/model/content/GradientColor;
-PLcom/airbnb/lottie/animation/keyframe/GradientColorKeyframeAnimation;->getValue(Lcom/airbnb/lottie/value/Keyframe;F)Ljava/lang/Object;
-PLcom/airbnb/lottie/animation/keyframe/MaskKeyframeAnimation;->getMasks()Ljava/util/List;
-PLcom/airbnb/lottie/animation/keyframe/MaskKeyframeAnimation;->getOpacityAnimations()Ljava/util/List;
-PLcom/airbnb/lottie/animation/keyframe/ScaleKeyframeAnimation;-><init>(Ljava/util/List;)V
-PLcom/airbnb/lottie/animation/keyframe/SplitDimensionPathKeyframeAnimation;-><init>(Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;)V
-PLcom/airbnb/lottie/model/Marker;-><init>(Ljava/lang/String;FF)V
-PLcom/airbnb/lottie/model/animatable/AnimatableGradientColorValue;-><init>(Ljava/util/List;)V
-PLcom/airbnb/lottie/model/animatable/AnimatableGradientColorValue;->createAnimation()Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;
-PLcom/airbnb/lottie/model/animatable/AnimatableScaleValue;->createAnimation()Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;
-PLcom/airbnb/lottie/model/animatable/AnimatableSplitDimensionPathValue;-><init>(Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;)V
-PLcom/airbnb/lottie/model/animatable/AnimatableSplitDimensionPathValue;->createAnimation()Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;
-PLcom/airbnb/lottie/model/content/GradientColor;-><init>([F[I)V
-PLcom/airbnb/lottie/model/content/GradientColor;->getColors()[I
-PLcom/airbnb/lottie/model/content/GradientColor;->getPositions()[F
-PLcom/airbnb/lottie/model/content/GradientColor;->getSize()I
-PLcom/airbnb/lottie/model/content/GradientColor;->lerp(Lcom/airbnb/lottie/model/content/GradientColor;Lcom/airbnb/lottie/model/content/GradientColor;F)V
-PLcom/airbnb/lottie/model/content/GradientFill;-><init>(Ljava/lang/String;Lcom/airbnb/lottie/model/content/GradientType;Landroid/graphics/Path$FillType;Lcom/airbnb/lottie/model/animatable/AnimatableGradientColorValue;Lcom/airbnb/lottie/model/animatable/AnimatableIntegerValue;Lcom/airbnb/lottie/model/animatable/AnimatablePointValue;Lcom/airbnb/lottie/model/animatable/AnimatablePointValue;Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;Z)V
-PLcom/airbnb/lottie/model/content/GradientFill;->getEndPoint()Lcom/airbnb/lottie/model/animatable/AnimatablePointValue;
-PLcom/airbnb/lottie/model/content/GradientFill;->getFillType()Landroid/graphics/Path$FillType;
-PLcom/airbnb/lottie/model/content/GradientFill;->getGradientColor()Lcom/airbnb/lottie/model/animatable/AnimatableGradientColorValue;
-PLcom/airbnb/lottie/model/content/GradientFill;->getGradientType()Lcom/airbnb/lottie/model/content/GradientType;
-PLcom/airbnb/lottie/model/content/GradientFill;->getName()Ljava/lang/String;
-PLcom/airbnb/lottie/model/content/GradientFill;->getOpacity()Lcom/airbnb/lottie/model/animatable/AnimatableIntegerValue;
-PLcom/airbnb/lottie/model/content/GradientFill;->getStartPoint()Lcom/airbnb/lottie/model/animatable/AnimatablePointValue;
-PLcom/airbnb/lottie/model/content/GradientFill;->isHidden()Z
-PLcom/airbnb/lottie/model/content/GradientFill;->toContent(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/model/layer/BaseLayer;)Lcom/airbnb/lottie/animation/content/Content;
-PLcom/airbnb/lottie/model/content/GradientType;-><clinit>()V
-PLcom/airbnb/lottie/model/content/GradientType;-><init>(Ljava/lang/String;I)V
-PLcom/airbnb/lottie/model/content/Mask;-><init>(Lcom/airbnb/lottie/model/content/Mask$MaskMode;Lcom/airbnb/lottie/model/animatable/AnimatableShapeValue;Lcom/airbnb/lottie/model/animatable/AnimatableIntegerValue;Z)V
-PLcom/airbnb/lottie/model/content/Mask;->getMaskMode()Lcom/airbnb/lottie/model/content/Mask$MaskMode;
-PLcom/airbnb/lottie/model/content/Mask;->getMaskPath()Lcom/airbnb/lottie/model/animatable/AnimatableShapeValue;
-PLcom/airbnb/lottie/model/content/Mask;->getOpacity()Lcom/airbnb/lottie/model/animatable/AnimatableIntegerValue;
-PLcom/airbnb/lottie/model/content/Mask;->isInverted()Z
-PLcom/airbnb/lottie/model/content/MergePaths$MergePathsMode;-><clinit>()V
-PLcom/airbnb/lottie/model/content/MergePaths$MergePathsMode;-><init>(Ljava/lang/String;I)V
-PLcom/airbnb/lottie/model/content/MergePaths$MergePathsMode;->forId(I)Lcom/airbnb/lottie/model/content/MergePaths$MergePathsMode;
-PLcom/airbnb/lottie/model/content/MergePaths;-><init>(Ljava/lang/String;Lcom/airbnb/lottie/model/content/MergePaths$MergePathsMode;Z)V
-PLcom/airbnb/lottie/model/content/MergePaths;->toContent(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/model/layer/BaseLayer;)Lcom/airbnb/lottie/animation/content/Content;
-PLcom/airbnb/lottie/model/content/RectangleShape;-><init>(Ljava/lang/String;Lcom/airbnb/lottie/model/animatable/AnimatableValue;Lcom/airbnb/lottie/model/animatable/AnimatableValue;Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;Z)V
-PLcom/airbnb/lottie/model/content/RectangleShape;->getCornerRadius()Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;
-PLcom/airbnb/lottie/model/content/RectangleShape;->getName()Ljava/lang/String;
-PLcom/airbnb/lottie/model/content/RectangleShape;->getPosition()Lcom/airbnb/lottie/model/animatable/AnimatableValue;
-PLcom/airbnb/lottie/model/content/RectangleShape;->getSize()Lcom/airbnb/lottie/model/animatable/AnimatableValue;
-PLcom/airbnb/lottie/model/content/RectangleShape;->isHidden()Z
-PLcom/airbnb/lottie/model/content/RectangleShape;->toContent(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/model/layer/BaseLayer;)Lcom/airbnb/lottie/animation/content/Content;
-PLcom/airbnb/lottie/model/content/ShapeTrimPath$Type;-><clinit>()V
-PLcom/airbnb/lottie/model/content/ShapeTrimPath$Type;-><init>(Ljava/lang/String;I)V
-PLcom/airbnb/lottie/model/content/ShapeTrimPath$Type;->forId(I)Lcom/airbnb/lottie/model/content/ShapeTrimPath$Type;
-PLcom/airbnb/lottie/model/content/ShapeTrimPath;-><init>(Ljava/lang/String;Lcom/airbnb/lottie/model/content/ShapeTrimPath$Type;Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;Z)V
-PLcom/airbnb/lottie/model/content/ShapeTrimPath;->getEnd()Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;
-PLcom/airbnb/lottie/model/content/ShapeTrimPath;->getName()Ljava/lang/String;
-PLcom/airbnb/lottie/model/content/ShapeTrimPath;->getOffset()Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;
-PLcom/airbnb/lottie/model/content/ShapeTrimPath;->getStart()Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;
-PLcom/airbnb/lottie/model/content/ShapeTrimPath;->getType()Lcom/airbnb/lottie/model/content/ShapeTrimPath$Type;
-PLcom/airbnb/lottie/model/content/ShapeTrimPath;->isHidden()Z
-PLcom/airbnb/lottie/model/content/ShapeTrimPath;->toContent(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/model/layer/BaseLayer;)Lcom/airbnb/lottie/animation/content/Content;
-PLcom/airbnb/lottie/model/layer/ImageLayer;-><init>(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/model/layer/Layer;)V
-PLcom/airbnb/lottie/model/layer/NullLayer;-><init>(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/model/layer/Layer;)V
-PLcom/airbnb/lottie/parser/AnimatableValueParser;->parseGradientColor(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;I)Lcom/airbnb/lottie/model/animatable/AnimatableGradientColorValue;
-PLcom/airbnb/lottie/parser/GradientColorParser;-><init>(I)V
-PLcom/airbnb/lottie/parser/GradientColorParser;->addOpacityStopsToGradientIfNeeded(Lcom/airbnb/lottie/model/content/GradientColor;Ljava/util/List;)V
-PLcom/airbnb/lottie/parser/GradientColorParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;F)Lcom/airbnb/lottie/model/content/GradientColor;
-PLcom/airbnb/lottie/parser/GradientColorParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;F)Ljava/lang/Object;
-PLcom/airbnb/lottie/parser/GradientFillParser;-><clinit>()V
-PLcom/airbnb/lottie/parser/GradientFillParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/content/GradientFill;
-PLcom/airbnb/lottie/parser/MergePathsParser;-><clinit>()V
-PLcom/airbnb/lottie/parser/MergePathsParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;)Lcom/airbnb/lottie/model/content/MergePaths;
-PLcom/airbnb/lottie/parser/RectangleShapeParser;-><clinit>()V
-PLcom/airbnb/lottie/parser/RectangleShapeParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/content/RectangleShape;
-PLcom/airbnb/lottie/parser/ShapeTrimPathParser;-><clinit>()V
-PLcom/airbnb/lottie/parser/ShapeTrimPathParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/content/ShapeTrimPath;
-PLcom/airbnb/lottie/utils/Utils$1;->initialValue()Landroid/graphics/PathMeasure;
-PLcom/airbnb/lottie/utils/Utils$1;->initialValue()Ljava/lang/Object;
-PLcom/airbnb/lottie/utils/Utils$2;->initialValue()Landroid/graphics/Path;
-PLcom/airbnb/lottie/utils/Utils$2;->initialValue()Ljava/lang/Object;
-PLcom/airbnb/lottie/utils/Utils$3;->initialValue()Landroid/graphics/Path;
-PLcom/airbnb/lottie/utils/Utils$3;->initialValue()Ljava/lang/Object;
-PLcom/airbnb/lottie/utils/Utils;->saveLayerCompat(Landroid/graphics/Canvas;Landroid/graphics/RectF;Landroid/graphics/Paint;I)V
-PLcom/airbnb/lottie/value/ScaleXY;-><init>()V
-PLcom/airbnb/lottie/value/ScaleXY;->getScaleX()F
-PLcom/airbnb/lottie/value/ScaleXY;->getScaleY()F
-PLcom/airbnb/lottie/value/ScaleXY;->set(FF)V
+HPLcom/airbnb/lottie/value/ScaleXY;->getScaleX()F
+HSPLcom/airbnb/lottie/value/ScaleXY;->getScaleY()F
+HSPLcom/airbnb/lottie/value/ScaleXY;->set(FF)V
\ No newline at end of file
diff --git a/sample-compose-benchmark/build.gradle b/sample-compose-benchmark/build.gradle
deleted file mode 100644
index df2da67..0000000
--- a/sample-compose-benchmark/build.gradle
+++ /dev/null
@@ -1,43 +0,0 @@
-plugins {
-  id 'com.android.test'
-  id 'org.jetbrains.kotlin.android'
-}
-
-android {
-  namespace 'com.airbnb.lottie.sample.compose.benchmark'
-  compileSdk 34
-
-  kotlinOptions {
-    freeCompilerArgs += "-opt-in=kotlin.RequiresOptIn"
-  }
-
-  defaultConfig {
-    minSdk 30
-    targetSdk 34
-
-    testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
-  }
-
-  buildTypes {
-    release {
-      debuggable = true
-      signingConfig = debug.signingConfig
-    }
-  }
-
-  targetProjectPath = ":sample-compose"
-  experimentalProperties["android.experimental.self-instrumenting"] = true
-}
-
-dependencies {
-  implementation AndroidX.test.ext.junit
-  implementation AndroidX.test.espresso.core
-  implementation AndroidX.test.uiAutomator
-  implementation AndroidX.benchmark.macroJunit4
-}
-
-androidComponents {
-  beforeVariants(selector().all()) {
-    enabled = buildType == "release"
-  }
-}
diff --git a/sample-compose-benchmark/src/main/java/com/airbnb/lottie/sample/compose/benchmark/LottieBaselineProfiles.kt b/sample-compose-benchmark/src/main/java/com/airbnb/lottie/sample/compose/benchmark/LottieBaselineProfiles.kt
deleted file mode 100644
index 04aed45..0000000
--- a/sample-compose-benchmark/src/main/java/com/airbnb/lottie/sample/compose/benchmark/LottieBaselineProfiles.kt
+++ /dev/null
@@ -1,95 +0,0 @@
-package com.airbnb.lottie.sample.compose.benchmark
-
-import android.content.Context
-import androidx.benchmark.macro.ExperimentalBaselineProfilesApi
-import androidx.benchmark.macro.junit4.BaselineProfileRule
-import androidx.test.core.app.ApplicationProvider
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import androidx.test.platform.app.InstrumentationRegistry
-import androidx.test.uiautomator.UiDevice
-import androidx.test.uiautomator.UiObject
-import androidx.test.uiautomator.UiScrollable
-import androidx.test.uiautomator.UiSelector
-import org.junit.Before
-import org.junit.Rule
-import org.junit.Test
-import org.junit.runner.RunWith
-import kotlin.time.Duration
-import kotlin.time.Duration.Companion.seconds
-import kotlin.time.DurationUnit
-import kotlin.time.ExperimentalTime
-
-@RunWith(AndroidJUnit4::class)
-@OptIn(ExperimentalBaselineProfilesApi::class)
-class LottieBaselineProfiles {
-
-    @get:Rule
-    val baselineProfileRule = BaselineProfileRule()
-
-    private lateinit var context: Context
-    private lateinit var device: UiDevice
-
-    @Before
-    fun setUp() {
-        val instrumentation = InstrumentationRegistry.getInstrumentation()
-        context = ApplicationProvider.getApplicationContext()
-        device = UiDevice.getInstance(instrumentation)
-    }
-
-    @Test
-    fun baselineProfiles() {
-        baselineProfileRule.collectBaselineProfile(
-            packageName = PACKAGE_NAME,
-        ) {
-            pressHome()
-            startActivityAndWait()
-            // Find the ScrollView in the Showcase route
-            val selector = UiSelector().className("android.widget.ScrollView")
-            val scrollable = UiScrollable(selector)
-            scrollable.waitUntilReady()
-            for (i in 0 until scrollable.childCount) {
-                val childSelector = UiSelector()
-                    .enabled(true)
-                    .clickable(true)
-                    .instance(i)
-                val child = scrollable.getChild(childSelector)
-                scrollable.scrollIntoView(child)
-                child.clickAndWait()
-            }
-        }
-    }
-
-    private fun UiScrollable.waitUntilReady() {
-        this.waitUntil {
-            // We know that there are at least 9 children
-            childCount >= EXPECTED_ITEM_INDEX_COUNT
-        }
-    }
-
-    private fun UiObject.clickAndWait(maxWaitTime: Duration = 5.seconds) {
-        val maxWaitTimeMs = maxWaitTime.toLong(DurationUnit.MILLISECONDS)
-        click()
-        device.waitForIdle(maxWaitTimeMs)
-        Thread.sleep(maxWaitTimeMs)
-        device.pressBack()
-    }
-
-    private fun <T> T.waitUntil(maxWaitTime: Duration = 5.seconds, condition: (T) -> Boolean) {
-        var waitTime = 0L
-        val maxWaitTimeMs = maxWaitTime.toLong(DurationUnit.MILLISECONDS)
-        val incrementalDelay = 150L
-        while (waitTime <= maxWaitTimeMs) {
-            val ready = condition(this)
-            if (ready) {
-                break
-            }
-            Thread.sleep(incrementalDelay)
-            waitTime += incrementalDelay
-        }
-    }
-
-    companion object {
-        private const val PACKAGE_NAME = "com.airbnb.lottie.sample.compose"
-        private const val EXPECTED_ITEM_INDEX_COUNT = 9
-    }
-}
diff --git a/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/showcase/ShowcasePage.kt b/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/showcase/ShowcasePage.kt
index e3bfe7b..c47a64c 100644
--- a/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/showcase/ShowcasePage.kt
+++ b/sample-compose/src/main/java/com/airbnb/lottie/sample/compose/showcase/ShowcasePage.kt
@@ -10,6 +10,7 @@
 import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.platform.testTag
 import androidx.compose.ui.tooling.preview.Preview
 import androidx.navigation.NavController
 import androidx.navigation.compose.rememberNavController
@@ -58,4 +59,4 @@
     LottieTheme {
         ShowcasePage(navController)
     }
-}
\ No newline at end of file
+}
diff --git a/sample/src/main/res/layout/player_fragment.xml b/sample/src/main/res/layout/player_fragment.xml
index c9d9d64..cfd17eb 100644
--- a/sample/src/main/res/layout/player_fragment.xml
+++ b/sample/src/main/res/layout/player_fragment.xml
@@ -81,4 +81,4 @@
     <include
         android:id="@+id/bottom_sheet_key_paths"
         layout="@layout/bottom_sheet_key_paths" />
-</androidx.coordinatorlayout.widget.CoordinatorLayout>
\ No newline at end of file
+</androidx.coordinatorlayout.widget.CoordinatorLayout>
diff --git a/settings.gradle b/settings.gradle
index e7fc7f9..731a19c 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -10,6 +10,7 @@
 ////                         # available:'0.60.0'
 ////                         # available:'0.60.1'
 ////                         # available:'0.60.2'
+////                         # available:'0.60.3'
 }
 
 dependencyResolutionManagement {
@@ -28,4 +29,6 @@
 include ':issue-repro'
 include ':issue-repro-compose'
 include ':snapshot-tests'
-include ':sample-compose-benchmark'
+include ':benchmark'
+include ':app-benchmark'
+include ':baselineprofile'
diff --git a/update-baseline-profiles.sh b/update-baseline-profiles.sh
new file mode 100755
index 0000000..d1de047
--- /dev/null
+++ b/update-baseline-profiles.sh
@@ -0,0 +1,16 @@
+#!/usr/bin/env bash
+set -uo pipefail
+
+# If on CI, add indirect swiftshader arg
+# Source: https://developer.android.com/studio/test/gradle-managed-devices
+gpu_arg=""
+if [ "${CI:-}" == "true" ]; then
+  gpu_arg="-Pandroid.testoptions.manageddevices.emulator.gpu=swiftshader_indirect"
+fi
+
+./gradlew cleanManagedDevices --unused-only &&
+    ./gradlew lottie:generateBaselineProfile lottie-compose:generateBaselineProfile \
+    -Pandroid.testInstrumentationRunnerArguments.androidx.benchmark.enabledRules=BaselineProfile
+    -Pandroid.experimental.testOptions.managedDevices.setupTimeoutMinutes=20 \
+    "${gpu_arg}" \
+    --info
diff --git a/versions.properties b/versions.properties
index 94dcf4d..3f4a318 100644
--- a/versions.properties
+++ b/versions.properties
@@ -13,21 +13,38 @@
 ## # available=8.2.0-alpha02
 
 version.androidx.compose=2023.08.00
+##           # available=2023.09.00
+##           # available=2023.09.01
+##           # available=2023.09.02
+##           # available=2023.10.00
+##           # available=2023.10.01
 
 version.androidx.compose.ui=1.5.0
+##              # available=1.5.1
+##              # available=1.5.2
+##              # available=1.5.3
+##              # available=1.5.4
 ##              # available=1.6.0-alpha01
 ##              # available=1.6.0-alpha02
 ##              # available=1.6.0-alpha03
 ##              # available=1.6.0-alpha04
+##              # available=1.6.0-alpha05
+##              # available=1.6.0-alpha06
+##              # available=1.6.0-alpha07
+##              # available=1.6.0-alpha08
 
 version.coil-kt=2.4.0
 
 version.robolectric=4.10.3
+##      # available=4.11-beta-1
+##      # available=4.11-beta-2
+##      # available=4.11
 
 version.retrofit2=2.9.0
 
 # Do not update to 2.0. It will pull in Kotlin as a transitive dependency into the lottie library.
  version.okio=1.17.5
+### available=1.17.6
 ### available=2.0.0-RC1
 ### available=2.0.0
 ### available=2.1.0
@@ -64,8 +81,10 @@
 ### available=3.3.0
 ### available=3.4.0
 ### available=3.5.0
+### available=3.6.0
 
 version.okhttp3=4.11.0
+##  # available=4.12.0
 ##  # available=5.0.0-alpha.1
 ##  # available=5.0.0-alpha.2
 ##  # available=5.0.0-alpha.3
@@ -81,16 +100,32 @@
 version.mockito=5.3.1
 ##  # available=5.4.0
 ##  # available=5.5.0
+##  # available=5.6.0
 
 version.kotlinx.coroutines=1.6.4
+##             # available=1.7.0-Beta
+##             # available=1.7.0-RC
+##             # available=1.7.0
+##             # available=1.7.1
+##             # available=1.7.2
+##             # available=1.7.3
 
 version.kotlin=1.9.10
+## # available=1.9.20-Beta
+## # available=1.9.20-Beta2
+## # available=1.9.20-RC
+## # available=1.9.20-RC2
 
 version.junit.junit=4.13.2
 
 version.io.jsonwebtoken..jjwt=0.9.1
+##                # available=0.12.0
+##                # available=0.12.1
+##                # available=0.12.2
+##                # available=0.12.3
 
 version.google.dagger=2.48
+##        # available=2.48.1
 
 version.google.android.material=1.9.0
 ##                  # available=1.10.0-alpha01
@@ -99,13 +134,20 @@
 ##                  # available=1.10.0-alpha04
 ##                  # available=1.10.0-alpha05
 ##                  # available=1.10.0-alpha06
+##                  # available=1.10.0-beta01
+##                  # available=1.10.0-rc01
+##                  # available=1.10.0
 ##                  # available=1.11.0-alpha01
 ##                  # available=1.11.0-alpha02
+##                  # available=1.11.0-alpha03
+##                  # available=1.11.0-beta01
 
 version.com.uber.nullaway..nullaway=0.10.10
 ##                      # available=0.10.11
 ##                      # available=0.10.12
 ##                      # available=0.10.13
+##                      # available=0.10.14
+##                      # available=0.10.15
 
 version.com.nhaarman.mockitokotlin2..mockito-kotlin=2.2.0
 
@@ -113,10 +155,13 @@
 ##                                  # available=2.20.0
 ##                                  # available=2.21.0
 ##                                  # available=2.21.1
+##                                  # available=2.22.0
+##                                  # available=2.23.0
 
 version.com.google.code.gson..gson=2.10.1
 
 version.com.github.bumptech.glide..glide=4.16.0
+##                           # available=5.0.0-rc01
 
 version.com.github.PhilJay..MPAndroidChart=3.1.0
 
@@ -136,8 +181,10 @@
 
 
 version.com.airbnb.android..mavericks-compose=3.0.6
+##                                # available=3.0.7
 
 version.com.airbnb.android..mavericks=3.0.6
+##                        # available=3.0.7
 
 version.com.airbnb.android..epoxy-processor=5.1.3
 
@@ -160,10 +207,13 @@
 
 version.androidx.test.core=1.5.0
 ##             # available=1.6.0-alpha01
+##             # available=1.6.0-alpha02
 
 version.androidx.recyclerview=1.3.0
 ##                # available=1.3.1-rc01
 ##                # available=1.3.1
+##                # available=1.3.2
+##                # available=1.4.0-alpha01
 
 version.androidx.profileinstaller=1.3.1
 
@@ -177,18 +227,45 @@
 ##          # available=3.2.0-beta01
 ##          # available=3.2.0-rc01
 ##          # available=3.2.0
+##          # available=3.2.1
+##          # available=3.3.0-alpha01
+##          # available=3.3.0-alpha02
 
 version.androidx.navigation=2.6.0
+##              # available=2.7.0-alpha01
+##              # available=2.7.0-beta01
+##              # available=2.7.0-beta02
+##              # available=2.7.0-rc01
+##              # available=2.7.0
+##              # available=2.7.1
+##              # available=2.7.2
+##              # available=2.7.3
+##              # available=2.7.4
 
 version.androidx.multidex=2.0.1
 
 version.androidx.lifecycle=2.5.1
+##             # available=2.6.0-alpha01
+##             # available=2.6.0-alpha02
+##             # available=2.6.0-alpha03
+##             # available=2.6.0-alpha04
+##             # available=2.6.0-alpha05
+##             # available=2.6.0-beta01
+##             # available=2.6.0-rc01
+##             # available=2.6.0
+##             # available=2.6.1
+##             # available=2.6.2
 ##             # available=2.7.0-alpha01
+##             # available=2.7.0-alpha02
+##             # available=2.7.0-alpha03
 
 version.androidx.fragment=1.6.1
 ##            # available=1.7.0-alpha01
 ##            # available=1.7.0-alpha02
 ##            # available=1.7.0-alpha03
+##            # available=1.7.0-alpha04
+##            # available=1.7.0-alpha05
+##            # available=1.7.0-alpha06
 
 version.androidx.core=1.10.1
 ##        # available=1.11.0-alpha01
@@ -203,6 +280,8 @@
 ##        # available=1.12.0-alpha05
 ##        # available=1.12.0-beta01
 ##        # available=1.12.0-rc01
+##        # available=1.12.0
+##        # available=1.13.0-alpha01
 
 version.androidx.constraintlayout=2.1.4
 ##                    # available=2.2.0-alpha01
@@ -217,6 +296,7 @@
 ##                    # available=2.2.0-alpha10
 ##                    # available=2.2.0-alpha11
 ##                    # available=2.2.0-alpha12
+##                    # available=2.2.0-alpha13
 
 ## unused
 version.androidx.compose.material=1.4.3
@@ -239,6 +319,10 @@
 ##              # available=1.3.0-alpha03
 ##              # available=1.3.0-alpha04
 ##              # available=1.3.0-beta01
+##              # available=1.3.0-rc01
+##              # available=1.3.0
+##              # available=1.4.0-alpha01
+##              # available=1.4.0-alpha02
 
 version.androidx.cardview=1.0.0
 
@@ -248,29 +332,13 @@
 ##           # available=1.6.0-beta01
 ##           # available=1.6.0-rc01
 ##           # available=1.6.0
+##           # available=1.7.0-alpha01
+##           # available=1.7.0-beta01
 
-version.androidx.benchmark=1.1.1
-##             # available=1.2.0-alpha01
-##             # available=1.2.0-alpha02
-##             # available=1.2.0-alpha03
-##             # available=1.2.0-alpha04
-##             # available=1.2.0-alpha05
-##             # available=1.2.0-alpha06
-##             # available=1.2.0-alpha07
-##             # available=1.2.0-alpha08
-##             # available=1.2.0-alpha09
-##             # available=1.2.0-alpha10
-##             # available=1.2.0-alpha11
-##             # available=1.2.0-alpha12
-##             # available=1.2.0-alpha13
-##             # available=1.2.0-alpha14
-##             # available=1.2.0-alpha15
-##             # available=1.2.0-alpha16
-##             # available=1.2.0-beta01
-##             # available=1.2.0-beta02
-##             # available=1.2.0-beta03
-##             # available=1.2.0-beta04
-##             # available=1.2.0-beta05
+version.androidx.benchmark=1.2.0-beta05
+##             # available=1.2.0-rc01
+##             # available=1.2.0-rc02
+##             # available=1.2.0
 
 version.androidx.appcompat=1.6.1
 ##             # available=1.7.0-alpha01
@@ -278,6 +346,16 @@
 ##             # available=1.7.0-alpha03
 
 version.androidx.activity=1.6.1
+##            # available=1.7.0-alpha01
+##            # available=1.7.0-alpha02
+##            # available=1.7.0-alpha03
+##            # available=1.7.0-alpha04
+##            # available=1.7.0-beta01
+##            # available=1.7.0-beta02
+##            # available=1.7.0-rc01
+##            # available=1.7.0
+##            # available=1.7.1
+##            # available=1.7.2
 ##            # available=1.8.0-alpha01
 ##            # available=1.8.0-alpha02
 ##            # available=1.8.0-alpha03
@@ -285,12 +363,20 @@
 ##            # available=1.8.0-alpha05
 ##            # available=1.8.0-alpha06
 ##            # available=1.8.0-alpha07
+##            # available=1.8.0-beta01
+##            # available=1.8.0-rc01
+##            # available=1.8.0
 
 plugin.net.ltgt.errorprone=3.1.0
 
 plugin.com.google.devtools.ksp=1.9.10-1.0.13
+##                 # available=1.9.20-Beta-1.0.13
+##                 # available=1.9.20-Beta2-1.0.13
+##                 # available=1.9.20-RC-1.0.13
+##                 # available=1.9.20-RC2-1.0.13
 
 plugin.org.ajoberstar.grgit=5.2.0
+##              # available=5.2.1
 
 plugin.com.vanniktech.maven.publish=0.25.2
 ##                      # available=0.25.3-rc1
@@ -298,3 +384,9 @@
 
 plugin.org.jetbrains.dokka=1.8.20
 ##             # available=1.9.0
+##             # available=1.9.10
+
+plugin.androidx.baselineprofile=1.2.0-beta05
+##                  # available=1.2.0-rc01
+##                  # available=1.2.0-rc02
+##                  # available=1.2.0