Merge "Clean up @OptIn(ExperimentalCoroutinesApi::class)" into main
diff --git a/res/drawable/ic_lock_open_24dp.xml b/res/drawable/ic_lock_open_24dp.xml
new file mode 100644
index 0000000..ba80956
--- /dev/null
+++ b/res/drawable/ic_lock_open_24dp.xml
@@ -0,0 +1,10 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="24dp"
+        android:height="24dp"
+        android:viewportWidth="960"
+        android:viewportHeight="960"
+        android:tint="?attr/colorControlNormal">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M240,320h360v-80q0,-50 -35,-85t-85,-35q-50,0 -85,35t-35,85h-80q0,-83 58.5,-141.5T480,40q83,0 141.5,58.5T680,240v80h40q33,0 56.5,23.5T800,400v400q0,33 -23.5,56.5T720,880L240,880q-33,0 -56.5,-23.5T160,800v-400q0,-33 23.5,-56.5T240,320ZM240,800h480v-400L240,400v400ZM480,680q33,0 56.5,-23.5T560,600q0,-33 -23.5,-56.5T480,520q-33,0 -56.5,23.5T400,600q0,33 23.5,56.5T480,680ZM240,800v-400,400Z"/>
+</vector>
\ No newline at end of file
diff --git a/res/layout/bluetooth_pin_confirm.xml b/res/layout/bluetooth_pin_confirm.xml
index 7b5b046..bcc47ad 100644
--- a/res/layout/bluetooth_pin_confirm.xml
+++ b/res/layout/bluetooth_pin_confirm.xml
@@ -76,15 +76,37 @@
             android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Body1"
             android:visibility="gone" />
 
-        <CheckBox
-            android:id="@+id/phonebook_sharing_message_confirm_pin"
-            android:layout_width="wrap_content"
+        <LinearLayout
+            android:id="@+id/phonebook_sharing"
             android:layout_height="wrap_content"
-            android:minHeight="@dimen/min_tap_target_size"
+            android:layout_width="match_parent"
             android:layout_marginStart="@dimen/bluetooth_dialog_padding"
             android:layout_marginEnd="@dimen/bluetooth_dialog_padding"
-            android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Body1" />
-
+            android:orientation="horizontal">
+            <LinearLayout
+                android:layout_height="wrap_content"
+                android:layout_width="wrap_content"
+                android:layout_weight="1"
+                android:layout_marginEnd="10dp"
+                android:orientation="vertical">
+                <TextView
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:text="@string/bluetooth_pairing_phonebook_toggle_text"
+                    android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Body1" />
+                <TextView
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:text="@string/bluetooth_pairing_phonebook_toggle_details"
+                    android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Caption" />
+            </LinearLayout>
+            <Switch
+                android:id="@+id/phonebook_sharing_message_confirm_pin"
+                android:layout_width="wrap_content"
+                android:layout_height="match_parent"
+                android:layout_weight="0"
+                android:gravity="center_vertical" />
+        </LinearLayout>
     </LinearLayout>
 
 </ScrollView>
diff --git a/res/layout/remote_auth_enroll_introduction.xml b/res/layout/remote_auth_enroll_introduction.xml
new file mode 100644
index 0000000..e55d0b2
--- /dev/null
+++ b/res/layout/remote_auth_enroll_introduction.xml
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2023 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License")
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+<com.google.android.setupdesign.GlifLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/setup_wizard_layout"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:icon="@drawable/ic_lock"
+    app:sucUsePartnerResource="false"
+    app:sucHeaderText="@string/security_settings_remoteauth_enroll_introduction_title"
+    app:sudDescriptionText="@string/security_settings_remoteauth_enroll_introduction_message">
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        style="@style/SudContentFrame"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:paddingHorizontal="@dimen/remoteauth_fragment_padding_horizontal"
+        app:layout_optimizationLevel="barrier">
+
+        <com.android.settings.remoteauth.introduction.IntroductionImageCarousel
+            android:id="@+id/image_carousel_view"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintTop_toTopOf="parent"  />
+
+        <!-- How it works -->
+        <TextView
+            android:id="@+id/explanation_subheading_how_it_works"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            style="@style/BiometricEnrollIntroTitle"
+            android:text="@string/security_settings_remoteauth_enroll_introduction_how_title"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@id/image_carousel_view" />
+
+        <ImageView
+            android:id="@+id/explanation_icon_lock_open"
+            android:layout_width="@dimen/remoteauth_icon_small_size"
+            android:layout_height="@dimen/remoteauth_icon_small_size"
+            android:importantForAccessibility="no"
+            android:background="@drawable/ic_lock_open_24dp"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@id/explanation_subheading_how_it_works" />
+
+        <TextView
+            android:id="@+id/explanation_lock_open_description"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="@dimen/remoteauth_introduction_description_start_margin"
+            style="@style/BiometricEnrollIntroMessage"
+            android:text="@string/security_settings_remoteauth_enroll_introduction_info_lock_open"
+            app:layout_constrainedWidth="true"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toEndOf="@id/explanation_icon_lock_open"
+            app:layout_constraintTop_toTopOf="@id/explanation_icon_lock_open" />
+
+        <androidx.constraintlayout.widget.Barrier
+            android:id="@+id/explanation_lock_open_description_barrier"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            app:barrierDirection="bottom"
+            app:constraint_referenced_ids="explanation_icon_lock_open, explanation_lock_open_description" />
+
+        <ImageView
+            android:id="@+id/explanation_icon_notifications"
+            android:layout_width="@dimen/remoteauth_icon_small_size"
+            android:layout_height="@dimen/remoteauth_icon_small_size"
+            android:importantForAccessibility="no"
+            android:background="@drawable/ic_notifications"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@id/explanation_lock_open_description_barrier"/>
+
+        <TextView
+            android:id="@+id/explanation_notifications_description"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="@dimen/remoteauth_introduction_description_start_margin"
+            style="@style/BiometricEnrollIntroMessage"
+            android:text="@string/security_settings_remoteauth_enroll_introduction_info_notifications"
+            app:layout_constrainedWidth="true"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toEndOf="@id/explanation_icon_notifications"
+            app:layout_constraintTop_toTopOf="@id/explanation_icon_notifications" />
+
+        <androidx.constraintlayout.widget.Barrier
+            android:id="@+id/explanation_notifications_description_barrier"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            app:barrierDirection="bottom"
+            app:constraint_referenced_ids="explanation_icon_notifications,explanation_notifications_description" />
+
+        <!-- You're in control -->
+        <TextView
+            android:id="@+id/explanation_subheading_youre_in_control"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            style="@style/BiometricEnrollIntroTitle"
+            android:text="@string/security_settings_remoteauth_enroll_introduction_youre_in_control_title"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@id/explanation_notifications_description_barrier" />
+
+        <ImageView
+            android:id="@+id/explanation_icon_remove_watch"
+            android:layout_width="@dimen/remoteauth_icon_small_size"
+            android:layout_height="@dimen/remoteauth_icon_small_size"
+            android:importantForAccessibility="no"
+            android:background="@drawable/ic_delete"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@id/explanation_subheading_youre_in_control" />
+
+        <TextView
+            android:id="@+id/explanation_remove_watch_description"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="@dimen/remoteauth_introduction_description_start_margin"
+            style="@style/BiometricEnrollIntroMessage"
+            android:text="@string/security_settings_remoteauth_enroll_introduction_info_remove_watch"
+            app:layout_constrainedWidth="true"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toEndOf="@id/explanation_icon_remove_watch"
+            app:layout_constraintTop_toTopOf="@id/explanation_icon_remove_watch" />
+    </androidx.constraintlayout.widget.ConstraintLayout>
+
+</com.google.android.setupdesign.GlifLayout>
\ No newline at end of file
diff --git a/res/layout/remote_auth_introduction_image_carousel.xml b/res/layout/remote_auth_introduction_image_carousel.xml
new file mode 100644
index 0000000..feb8e6a
--- /dev/null
+++ b/res/layout/remote_auth_introduction_image_carousel.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2023 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License")
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+<androidx.constraintlayout.widget.ConstraintLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:paddingHorizontal="@dimen/remoteauth_introduction_fragment_padding_horizontal"
+    app:layout_optimizationLevel="barrier">
+
+    <androidx.viewpager2.widget.ViewPager2
+        android:id="@+id/image_carousel"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintTop_toTopOf="parent" />
+
+    <ImageView
+        android:id="@+id/carousel_back_arrow"
+        app:layout_constraintStart_toStartOf="parent"
+        android:contentDescription="@string/wizard_back"
+        android:layout_width="@dimen/remoteauth_touchable_area_minimum_span"
+        android:layout_height="@dimen/remoteauth_touchable_area_minimum_span"
+        android:scaleType="center"
+        android:tintMode="src_in"
+        app:layout_constraintEnd_toStartOf="@id/carousel_progress_indicator"
+        app:layout_constraintHorizontal_chainStyle="spread_inside"
+        app:layout_constraintTop_toTopOf="@id/carousel_progress_indicator"
+        app:layout_constraintBottom_toBottomOf="@id/carousel_progress_indicator"
+        android:background="@drawable/ic_arrow_back" />
+
+    <androidx.recyclerview.widget.RecyclerView
+        android:id="@+id/carousel_progress_indicator"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:importantForAccessibility="no"
+        app:layout_constraintStart_toEndOf="@id/carousel_back_arrow"
+        app:layout_constraintEnd_toStartOf="@id/carousel_forward_arrow"
+        app:layout_constraintTop_toBottomOf="@id/image_carousel"
+        android:layout_marginTop="@dimen/remoteauth_carousel_progress_margin" />
+
+    <ImageView
+        android:id="@+id/carousel_forward_arrow"
+        android:contentDescription="@string/wizard_next"
+        android:layout_width="@dimen/remoteauth_touchable_area_minimum_span"
+        android:layout_height="@dimen/remoteauth_touchable_area_minimum_span"
+        android:scaleType="center"
+        android:tintMode="src_in"
+        app:layout_constraintStart_toEndOf="@id/carousel_progress_indicator"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintTop_toTopOf="@id/carousel_progress_indicator"
+        app:layout_constraintBottom_toBottomOf="@id/carousel_progress_indicator"
+        android:background="@drawable/ic_arrow_forward" />
+
+    <androidx.constraintlayout.widget.Barrier
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        app:barrierMargin="@dimen/remoteauth_carousel_progress_margin"
+        app:barrierDirection="bottom"
+        app:constraint_referenced_ids="carousel_back_arrow,carousel_forward_arrow" />
+
+</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/res/layout/remote_auth_introduction_image_carousel_item.xml b/res/layout/remote_auth_introduction_image_carousel_item.xml
new file mode 100644
index 0000000..4b599e2
--- /dev/null
+++ b/res/layout/remote_auth_introduction_image_carousel_item.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2023 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License")
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+              xmlns:app="http://schemas.android.com/apk/res-auto"
+              android:id="@+id/explanation_animation_container"
+              android:layout_width="match_parent"
+              android:layout_height="match_parent"
+              android:orientation="vertical"
+              android:gravity="center_horizontal">
+
+    <com.airbnb.lottie.LottieAnimationView
+        android:id="@+id/explanation_animation"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:importantForAccessibility="no"
+        app:lottie_loop="true"
+        app:lottie_autoPlay="true" />
+
+    <TextView
+        android:id="@+id/carousel_text"
+        android:textSize="@dimen/remoteauth_introduction_subheading_text_size"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content" />
+
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/remote_auth_introduction_image_carousel_progress_icon.xml b/res/layout/remote_auth_introduction_image_carousel_progress_icon.xml
new file mode 100644
index 0000000..b9ee39a
--- /dev/null
+++ b/res/layout/remote_auth_introduction_image_carousel_progress_icon.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2023 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License")
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
+           xmlns:app="http://schemas.android.com/apk/res-auto"
+           android:layout_width="@dimen/remoteauth_carousel_progress_circle_diameter"
+           android:layout_height="@dimen/remoteauth_carousel_progress_circle_diameter"
+           android:layout_marginHorizontal="@dimen/remoteauth_carousel_progress_circle_margin"
+           android:background="@drawable/ring_progress" />
\ No newline at end of file
diff --git a/res/raw/remoteauth_explanation_notification_animation.json b/res/raw/remoteauth_explanation_notification_animation.json
new file mode 100644
index 0000000..21298a7
--- /dev/null
+++ b/res/raw/remoteauth_explanation_notification_animation.json
@@ -0,0 +1 @@
+{"v":"5.9.4","fr":60,"ip":0,"op":301,"w":412,"h":300,"nm":"WatchUnlock_Swipe_V02","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"ARM_MOVEIN","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.3],"y":[0]},"t":70,"s":[-36]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":98,"s":[1]},{"t":123,"s":[0]}],"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.3],"y":[0]},"t":70,"s":[-109]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":98,"s":[-29]},{"t":123,"s":[-29]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.3],"y":[0]},"t":70,"s":[278.5]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":98,"s":[288.5]},{"t":123,"s":[288.5]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":3,"nm":"Null 69","parent":1,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.05],"y":[1]},"o":{"x":[0.4],"y":[0.016]},"t":142,"s":[-41]},{"t":172,"s":[180]}],"ix":10},"p":{"a":0,"k":[111.832,-121.374,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,"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":".blue400","cl":"blue400","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.05,"y":1},"o":{"x":0.4,"y":0.01},"t":142,"s":[0.873,0.253,0],"to":[0,0,0],"ti":[0,0,0]},{"t":172,"s":[3.123,8.128,0]}],"ix":2,"l":2},"a":{"a":0,"k":[-1.7,5.7,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.05,"y":1},"o":{"x":0.4,"y":0.01},"t":142,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[12.517,5.049],[-2.516,5.511],[-15.017,14.239]],"c":false}]},{"t":172,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[7.341,-2.523],[0.246,-9.791],[-15.652,5.505]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.40000000596,0.615686297417,0.964705884457,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.05],"y":[1]},"o":{"x":[0.4],"y":[0.01]},"t":142,"s":[2.768]},{"t":172,"s":[4]}],"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,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":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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":".blue400","cl":"blue400","parent":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.68],"y":[0]},"t":114,"s":[100]},{"t":137,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[111.401,-121.376,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.68,0.68,0.68],"y":[0,0,0]},"t":114,"s":[70,70,100]},{"t":154,"s":[165,165,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-21.155,0],[0,21.155],[21.155,0],[0,-21.155]],"o":[[21.155,0],[0,-21.155],[-21.155,0],[0,21.155]],"v":[[0,38.304],[38.304,0],[0,-38.304],[-38.304,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.40000000596,0.615686297417,0.964705884457,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":"tr","p":{"a":0,"k":[0,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":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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":".blue400","cl":"blue400","parent":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.68],"y":[0]},"t":109,"s":[100]},{"t":132,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[111.401,-121.376,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.68,0.68,0.68],"y":[0,0,0]},"t":109,"s":[70,70,100]},{"t":149,"s":[165,165,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-21.155,0],[0,21.155],[21.155,0],[0,-21.155]],"o":[[21.155,0],[0,-21.155],[-21.155,0],[0,21.155]],"v":[[0,38.304],[38.304,0],[0,-38.304],[-38.304,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.40000000596,0.615686297417,0.964705884457,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":"tr","p":{"a":0,"k":[0,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":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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":".blue400","cl":"blue400","parent":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.68],"y":[0]},"t":104,"s":[100]},{"t":127,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[111.401,-121.376,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.68,0.68,0.68],"y":[0,0,0]},"t":104,"s":[70,70,100]},{"t":144,"s":[165,165,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-21.155,0],[0,21.155],[21.155,0],[0,-21.155]],"o":[[21.155,0],[0,-21.155],[-21.155,0],[0,21.155]],"v":[[0,38.304],[38.304,0],[0,-38.304],[-38.304,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.40000000596,0.615686297417,0.964705884457,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":"tr","p":{"a":0,"k":[0,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":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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":".blue400","cl":"blue400","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[111.832,-121.374,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":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-10.594,-9.096],[0,0],[-0.6,-0.662],[0,0],[0.662,-0.6],[0,0],[10.309,-9.354],[10.42,11.484],[-11.484,10.42]],"o":[[0,0],[0.662,-0.6],[0,0],[0.6,0.662],[0,0],[7.288,11.344],[-11.484,10.42],[-10.42,-11.484],[10.603,-9.621]],"v":[[18.303,-21.346],[18.509,-21.533],[20.794,-21.422],[24.106,-17.771],[23.995,-15.486],[23.666,-15.188],[18.899,20.825],[-20.825,18.895],[-18.895,-20.829]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-9.811,-10.813],[-10.813,9.811],[9.811,10.813],[10.813,-9.811]],"o":[[9.811,10.813],[10.813,-9.811],[-9.811,-10.813],[-10.813,9.811]],"v":[[-19.607,17.79],[17.794,19.608],[19.611,-17.794],[-17.79,-19.611]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.40000000596,0.615686297417,0.964705884457,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,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":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":"Vector","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":".black","cl":"black","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[111.834,-121.376,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":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-15.077,0],[0,15.077],[15.077,0],[0,-15.077]],"o":[[15.077,0],[0,-15.077],[-15.077,0],[0,15.077]],"v":[[0,27.3],[27.3,0],[0,-27.3],[-27.3,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,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,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":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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":".grey600","cl":"grey600","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[111.779,-121.054,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":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[3.708,0],[0,0],[0,-3.708],[0,0],[-3.708,0],[0,0],[0,3.708],[0,0]],"o":[[0,0],[-3.708,0],[0,0],[0,3.708],[0,0],[3.708,0],[0,0],[0,-3.708]],"v":[[7.89,-43.955],[-7.89,-43.955],[-14.604,-37.241],[-14.604,37.241],[-7.89,43.955],[7.89,43.955],[14.604,37.241],[14.604,-37.241]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,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,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-45.085,"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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"ARM_MATTE","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206,150,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":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-15.291,0],[0,0],[0,15.544],[0,0],[15.185,0],[0,0],[0,-15.652],[0,0]],"o":[[0,0],[15.291,0],[0,0],[0,-15.652],[0,0],[-15.291,0],[0,0],[0,15.652]],"v":[[-178.179,150],[178.179,150],[206,121.63],[206,-121.522],[178.286,-150],[-178.179,-150],[-206,-121.522],[-206,121.522]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,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,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":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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":".ARM","cl":"ARM","parent":1,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[99.741,-103.962,0],"ix":2,"l":2},"a":{"a":0,"k":[70.741,184.538,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.655,-2.066],[-3.456,3.089],[-0.727,2.001],[6.57,-2.938],[1.123,-0.781]],"o":[[3.09,3.858],[1.562,-1.396],[-1.59,-3.044],[-0.621,0.278],[-1.445,2.431]],"v":[[-7.102,3.861],[5.015,3.281],[8.462,-2.035],[-4.657,-4.993],[-7.478,-3.205]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.760784327984,0.478431373835,0.40000000596,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,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":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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[179.859,51.354],"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":"NAIL02","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.789,-3.482],[-3.664,3.275],[-0.776,1.898],[0.965,1.317],[3.65,-0.938],[0.629,-0.271]],"o":[[3.275,4.09],[1.497,-1.338],[-0.114,-1.715],[-1.943,-2.652],[-0.576,0.148],[-5.718,3.453]],"v":[[-7.41,5.19],[5.435,4.575],[8.852,-0.454],[7.201,-5.191],[-1.476,-7.214],[-3.288,-6.57]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.760784327984,0.478431373835,0.40000000596,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,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":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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[193.112,61.459],"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":"NAIL03","np":1,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.785,-3.297],[-3.598,2.935],[-0.359,2.597],[1.361,1.315],[3.021,-1.351],[0.459,-0.402]],"o":[[2.726,3.227],[2.715,-2.215],[-0.34,-1.711],[-2.006,-1.939],[-0.64,0.361],[-4.343,3.807]],"v":[[-7.079,6.003],[3.759,5.398],[8.503,-1.933],[5.848,-6.523],[-2.397,-7.083],[-4.066,-5.926]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.760784327984,0.478431373835,0.40000000596,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,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":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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[200.839,77.801],"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":"NAIL04","np":1,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.054,0.069],[3.134,-3.216],[-3.656,-0.921],[-2.12,1.21],[2.5,3.492]],"o":[[-3.115,0.692],[-3.74,3.838],[2.277,-1.784],[5.445,-3.108],[-0.051,-0.072]],"v":[[5.47,-8.52],[-4.469,-2.73],[-4.24,8.52],[2.352,3.972],[5.636,-8.315]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.760784327984,0.478431373835,0.40000000596,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,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":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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[197.006,138.999],"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":"NAIL05","np":1,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.218,-1.793],[-2.951,2.16],[-0.735,1.587],[3.737,-0.592],[1.715,-0.583]],"o":[[2.081,3.065],[1.426,-1.044],[-1.139,-2.009],[-1.553,0.246],[-1.704,1.884]],"v":[[-5.994,2.581],[3.488,2.745],[6.766,-1.405],[-0.383,-4.508],[-5.294,-3.253]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.760784327984,0.478431373835,0.40000000596,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,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":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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[161.194,48.38],"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":"NAIL01","np":1,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[181.885,95.635],"ix":2},"a":{"a":0,"k":[181.885,95.635],"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":"**NAILS_ALL","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[19.626,-23.614],[0,0]],"v":[[-22.789,21.283],[22.789,-21.283]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.596078455448,0.321568638086,0.239215686917,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.678431391716,0.403921574354,0.305882364511,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,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":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":"Vector","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[162.285,79.254],"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":"HAND_LINE02","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[17.08,-19.479],[0,0]],"v":[[-20.252,19.975],[20.252,-19.975]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.596078455448,0.321568638086,0.239215686917,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.678431391716,0.403921574354,0.305882364511,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,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":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":"Vector","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[174.516,92.317],"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":"HAND_LINE03","np":1,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-4.46,5.397]],"o":[[0,0],[0,0]],"v":[[-2.244,4.895],[2.244,-4.895]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.596078455448,0.321568638086,0.239215686917,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,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":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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[151.152,152.075],"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":"HAND_LINE04","np":1,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[-23.247,14.788],[0,0]],"v":[[21.471,-19.895],[-21.471,19.895]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.596078455448,0.321568638086,0.239215686917,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.678431391716,0.403921574354,0.305882364511,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,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":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":"Vector","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[146.926,70.198],"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":"HAND_LINE01","np":1,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[160.112,103.636],"ix":2},"a":{"a":0,"k":[160.112,103.636],"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":"**HANDLINES","np":4,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.419,-0.748],[5.969,-0.945],[10.255,-24.939],[-36.35,-2.06],[-17.34,9.896],[2.5,3.492],[3.993,-1.291],[7.157,-4.738],[6.054,-3.157],[0,0],[-14.285,16.96],[-6.401,8.234],[3.021,2.921],[3.564,-2.542],[7.775,-6.976],[-1.695,1.94],[2.084,2.844],[3.65,-0.938],[1.658,-0.984],[0.655,2.35],[7.279,-3.256]],"o":[[0.159,-2.71],[-24.069,3.813],[-11.885,28.904],[32.782,1.857],[5.445,-3.108],[-2.429,-3.393],[-2.891,0.935],[-6.302,4.173],[-6.053,3.158],[0,0],[9.729,-11.551],[3.338,-4.294],[-2.537,-2.453],[-1.787,1.274],[9.925,-9.708],[2.32,-2.655],[-1.943,-2.652],[-1.357,0.349],[0.878,-1.227],[-0.933,-3.346],[-1.364,0.61]],"v":[[25.212,-63.227],[17.166,-69.856],[-62.543,5.248],[-16.676,69.9],[55.713,29.243],[58.997,16.956],[47.025,14.009],[36.082,19.299],[20.024,30.081],[9.751,33.451],[36.325,0.072],[63.773,-31.101],[63.042,-42.45],[52.466,-41.676],[36.191,-27.576],[56.718,-47.307],[56.668,-57.46],[47.992,-59.484],[43.473,-57.441],[45.072,-63.423],[31.556,-67.367]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.678431391716,0.403921574354,0.305882364511,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,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":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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[143.645,113.728],"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":"HAND_MAIN","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-21.556,20.677],[0,0],[0,0],[0,0],[0,0]],"v":[[27.077,-29.148],[-27.077,29.148],[-14.87,27.435],[6.884,12.719],[18.881,-4.638]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.678431391716,0.403921574354,0.305882364511,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,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":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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[94.789,96.955],"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":"HAND_PATCH","np":1,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-105.823,62.116],[-50.508,114.467],[105.823,-53.888],[57.346,-114.467]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.678431391716,0.403921574354,0.305882364511,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,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":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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[37.822,210.857],"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":"ARM","np":1,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.088,0.077],[3.356,-3.614],[0,0],[0,0],[0,0],[3.196,-0.137]],"o":[[-4.92,-0.347],[0,0],[0,0],[0,0],[0,0],[-0.776,0.033]],"v":[[10.868,5.348],[-2.224,10.502],[-14.819,0],[-7.352,-10.502],[11.989,-4.804],[13.744,5.43]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.678431391716,0.403921574354,0.305882364511,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,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":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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[116.337,178.271],"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":"HAND","np":1,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[70.741,184.538],"ix":2},"a":{"a":0,"k":[70.741,184.538],"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":"**ARM_MAIN","np":4,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":13,"ty":3,"nm":"PHONE_REPO","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":70,"s":[206]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.536]},"t":76.834,"s":[244]},{"t":103,"s":[301]}],"ix":3},"y":{"a":0,"k":150,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":3,"nm":"Launcher_ScaleIN","parent":13,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":144,"s":[0]},{"t":154,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":1.25,"ix":3},"y":{"a":0,"k":22.5,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.8,0.8,0.8],"y":[0.15,0.15,1]},"o":{"x":[0.3,0.3,0.3],"y":[0,0,0]},"t":144,"s":[80,80,100]},{"i":{"x":[0.1,0.1,0.1],"y":[1,1,1]},"o":{"x":[0.05,0.05,0.05],"y":[0.7,0.7,0]},"t":152.334,"s":[88,88,100]},{"t":194,"s":[100,100,100]}],"ix":6,"l":2}},"ao":0,"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":"Launcher_01","parent":14,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":144,"s":[0]},{"t":154,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-37.512,40.271,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":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.112,0],[0,3.112],[3.112,0],[0,-3.112]],"o":[[3.112,0],[0,-3.112],[-3.112,0],[0,3.112]],"v":[[0,5.635],[5.635,0],[0,-5.635],[-5.635,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.807843148708,0.917647063732,0.839215695858,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,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":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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":"Launcher_02","parent":14,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":144,"s":[0]},{"t":154,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-13.623,40.271,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":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.112,0],[0,3.112],[3.112,0],[0,-3.112]],"o":[[3.112,0],[0,-3.112],[-3.112,0],[0,3.112]],"v":[[0,5.635],[5.635,0],[0,-5.635],[-5.635,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.996078431606,0.937254905701,0.764705896378,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,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":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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":"Launcher_03","parent":14,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":144,"s":[0]},{"t":154,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[10.266,40.121,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":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.112,0],[0,3.112],[3.112,0],[0,-3.112]],"o":[[3.112,0],[0,-3.112],[-3.112,0],[0,3.112]],"v":[[0,5.635],[5.635,0],[0,-5.635],[-5.635,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.980392158031,0.823529422283,0.811764717102,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,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":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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":"Launcher_04","parent":14,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":144,"s":[0]},{"t":154,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[34.155,40.271,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":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.112,0],[0,3.112],[3.112,0],[0,-3.112]],"o":[[3.112,0],[0,-3.112],[-3.112,0],[0,3.112]],"v":[[0,5.635],[5.635,0],[0,-5.635],[-5.635,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.823529422283,0.890196084976,0.988235294819,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,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":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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":19,"ty":4,"nm":".grey800","cl":"grey800","parent":14,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":144,"s":[0]},{"t":154,"s":[100]}],"ix":11,"x":"var $bm_rt;\n$bm_rt = thisComp.layer('Launcher_ScaleIN').transform.opacity;"},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-1.803,57.487,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":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[3.134,0],[0,0],[0,-3.134],[0,0],[-3.134,0],[0,0],[0,3.134],[0,0]],"o":[[0,0],[-3.134,0],[0,0],[0,3.134],[0,0],[3.134,0],[0,0],[0,-3.134]],"v":[[36.718,-5.872],[-36.718,-5.872],[-42.393,-0.197],[-42.393,0.197],[-36.718,5.872],[36.718,5.872],[42.393,0.197],[42.393,-0.197]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.235294118524,0.250980407,0.262745112181,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,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":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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":20,"ty":3,"nm":"SWIPE_MOVE","parent":13,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":0,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.8],"y":[0]},"t":40,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.8],"y":[0]},"t":70,"s":[-35]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":130,"s":[-35]},{"t":160,"s":[-65]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":21,"ty":4,"nm":"SWIPE","parent":20,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":10,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":55,"s":[100]},{"t":65,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.05,"y":1},"o":{"x":0.45,"y":0},"t":0,"s":[-19.564,102.3,0],"to":[0,0,0],"ti":[-0.936,17.2,0]},{"t":30,"s":[0.436,77.3,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":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.8,"y":0},"t":40,"s":[{"i":[[6.432,0],[0,0],[0,-6.432],[0,0],[-6.432,0],[0,0],[0,6.432],[0,0]],"o":[[0,0],[-6.432,0],[0,0],[0,6.432],[0,0],[6.432,0],[0,0],[0,-6.432]],"v":[[0,-3.467],[0,-3.467],[-11.645,8.179],[-11.645,9.321],[0,20.967],[0,20.967],[11.645,9.321],[11.645,8.179]],"c":true}]},{"t":60,"s":[{"i":[[6.432,0],[0,0],[0,-6.432],[0,0],[-6.432,0],[0,0],[0,6.432],[0,0]],"o":[[0,0],[-6.432,0],[0,0],[0,6.432],[0,0],[6.432,0],[0,0],[0,-6.432]],"v":[[0,-20.967],[0,-20.967],[-11.645,-9.321],[-11.645,9.321],[0,20.967],[0,20.967],[11.645,9.321],[11.645,-9.321]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":15,"k":{"a":0,"k":[0.079,0.4,0.616,0.965,0.089,0.396,0.612,0.963,0.1,0.392,0.608,0.961,0.154,0.375,0.596,0.959,0.208,0.357,0.584,0.957,0.262,0.341,0.573,0.955,0.316,0.325,0.561,0.953,0.368,0.314,0.553,0.953,0.421,0.302,0.545,0.953,0.471,0.292,0.537,0.951,0.522,0.282,0.529,0.949,0.57,0.275,0.525,0.949,0.618,0.267,0.522,0.949,0.663,0.263,0.518,0.949,0.708,0.259,0.514,0.949,0.079,0,0.089,0.026,0.1,0.052,0.154,0.176,0.208,0.3,0.262,0.407,0.316,0.514,0.368,0.601,0.421,0.689,0.471,0.756,0.522,0.824,0.57,0.873,0.618,0.921,0.663,0.951,0.708,0.98],"ix":9}},"s":{"a":0,"k":[0,20.967],"ix":5},"e":{"a":0,"k":[0,-20.967],"ix":6},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,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":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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":24,"ty":4,"nm":"SCREEN_MASK","parent":20,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-0.547,-1.2,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":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.8,"y":0},"t":40,"s":[{"i":[[4.341,0],[0,0],[0,-4.341],[0,0],[-4.341,0],[0,0],[0,4.341],[0,0]],"o":[[0,0],[-4.341,0],[0,0],[0,4.341],[0,0],[4.341,0],[0,0],[0,-4.341]],"v":[[45.224,-102.248],[-45.225,-102.248],[-53.09,-94.383],[-53.09,94.383],[-45.225,102.248],[45.224,102.248],[53.09,94.382],[53.09,-94.382]],"c":true}]},{"t":70,"s":[{"i":[[4.341,0],[0,0],[0,-4.341],[0,0],[-4.341,0],[0,0],[0,4.341],[0,0]],"o":[[0,0],[-4.341,0],[0,0],[0,4.341],[0,0],[4.341,0],[0,0],[0,-4.341]],"v":[[45.224,-68.498],[-45.225,-68.498],[-53.09,-60.633],[-53.09,94.383],[-45.225,102.248],[45.224,102.248],[53.09,94.382],[53.09,-60.632]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,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":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":"Vector","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":25,"ty":4,"nm":".notif_01","cl":"notif_01","parent":20,"tt":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":48,"s":[20]},{"t":58,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-0.547,-19.366,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":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.058,0],[0,0],[0,-2.058],[0,0],[-2.058,0],[0,0],[0,2.058],[0,0]],"o":[[0,0],[-2.058,0],[0,0],[0,2.058],[0,0],[2.058,0],[0,0],[0,-2.058]],"v":[[41.08,-10.024],[-41.08,-10.024],[-44.805,-6.298],[-44.805,6.298],[-41.08,10.024],[41.08,10.024],[44.805,6.298],[44.805,-6.298]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,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,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":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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":26,"ty":4,"nm":"SCREEN_MASK 5","parent":20,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-0.547,-1.2,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":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.8,"y":0},"t":40,"s":[{"i":[[4.341,0],[0,0],[0,-4.341],[0,0],[-4.341,0],[0,0],[0,4.341],[0,0]],"o":[[0,0],[-4.341,0],[0,0],[0,4.341],[0,0],[4.341,0],[0,0],[0,-4.341]],"v":[[45.224,-102.248],[-45.225,-102.248],[-53.09,-94.383],[-53.09,94.383],[-45.225,102.248],[45.224,102.248],[53.09,94.382],[53.09,-94.382]],"c":true}]},{"t":70,"s":[{"i":[[4.341,0],[0,0],[0,-4.341],[0,0],[-4.341,0],[0,0],[0,4.341],[0,0]],"o":[[0,0],[-4.341,0],[0,0],[0,4.341],[0,0],[4.341,0],[0,0],[0,-4.341]],"v":[[45.224,-68.498],[-45.225,-68.498],[-53.09,-60.633],[-53.09,94.383],[-45.225,102.248],[45.224,102.248],[53.09,94.382],[53.09,-60.632]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,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":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":"Vector","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":27,"ty":4,"nm":".notif_02","cl":"notif_02","parent":20,"tt":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":48,"s":[20]},{"t":58,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-0.547,5.366,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":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.058,0],[0,0],[0,-2.058],[0,0],[-2.058,0],[0,0],[0,2.058],[0,0]],"o":[[0,0],[-2.058,0],[0,0],[0,2.058],[0,0],[2.058,0],[0,0],[0,-2.058]],"v":[[41.08,-10.024],[-41.08,-10.024],[-44.805,-6.298],[-44.805,6.298],[-41.08,10.024],[41.08,10.024],[44.805,6.298],[44.805,-6.298]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,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,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":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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":28,"ty":4,"nm":"SCREEN_MASK 4","parent":20,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-0.547,-1.2,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":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.8,"y":0},"t":40,"s":[{"i":[[4.341,0],[0,0],[0,-4.341],[0,0],[-4.341,0],[0,0],[0,4.341],[0,0]],"o":[[0,0],[-4.341,0],[0,0],[0,4.341],[0,0],[4.341,0],[0,0],[0,-4.341]],"v":[[45.224,-102.248],[-45.225,-102.248],[-53.09,-94.383],[-53.09,94.383],[-45.225,102.248],[45.224,102.248],[53.09,94.382],[53.09,-94.382]],"c":true}]},{"t":70,"s":[{"i":[[4.341,0],[0,0],[0,-4.341],[0,0],[-4.341,0],[0,0],[0,4.341],[0,0]],"o":[[0,0],[-4.341,0],[0,0],[0,4.341],[0,0],[4.341,0],[0,0],[0,-4.341]],"v":[[45.224,-68.498],[-45.225,-68.498],[-53.09,-60.633],[-53.09,94.383],[-45.225,102.248],[45.224,102.248],[53.09,94.382],[53.09,-60.632]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,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":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":"Vector","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":29,"ty":4,"nm":".white_LOCK","cl":"white_LOCK","parent":20,"tt":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":48,"s":[100]},{"t":58,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-0.547,58.668,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":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.367,-0.367],[-0.515,0],[0,0],[-0.367,0.367],[0,0.515],[0,0],[0.367,0.367],[0.515,0],[0,0],[0,0],[1.155,1.157],[1.642,0],[1.157,-1.157],[0,-1.641],[0,0],[0,0],[0.367,-0.367],[0,-0.515],[0,0]],"o":[[0.367,0.367],[0,0],[0.515,0],[0.367,-0.367],[0,0],[0,-0.515],[-0.367,-0.367],[0,0],[0,0],[0,-1.641],[-1.155,-1.157],[-1.642,0],[-1.157,1.157],[0,0],[0,0],[-0.515,0],[-0.367,0.367],[0,0],[0,0.515]],"v":[[-9.441,12.564],[-8.118,13.114],[8.118,13.114],[9.441,12.564],[9.991,11.24],[9.991,-2.311],[9.441,-3.634],[8.118,-4.184],[5.932,-4.184],[5.932,-7.181],[4.2,-11.379],[0.003,-13.114],[-4.196,-11.379],[-5.932,-7.181],[-5.932,-4.184],[-8.118,-4.184],[-9.441,-3.634],[-9.991,-2.311],[-9.991,11.24]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[8.118,11.24],[-8.118,11.24],[-8.118,-2.311],[8.118,-2.311]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0.468,-0.459],[0.663,0],[0.472,0.458],[0,0.635],[-0.468,0.51],[-0.663,0],[-0.472,-0.51],[0,-0.624]],"o":[[-0.468,0.459],[-0.663,0],[-0.472,-0.458],[0,-0.635],[0.468,-0.51],[0.663,0],[0.472,0.51],[0,0.644]],"v":[[1.702,6.181],[0.005,6.869],[-1.696,6.182],[-2.404,4.543],[-1.702,2.826],[-0.005,2.061],[1.696,2.826],[2.404,4.527]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ind":3,"ty":"sh","ix":4,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-0.791,0.789],[-1.126,0],[-0.789,-0.789],[0,-1.128]],"o":[[0,0],[0,0],[0,-1.128],[0.791,-0.789],[1.126,0],[0.789,0.789],[0,0]],"v":[[4.059,-4.184],[-4.059,-4.184],[-4.059,-7.181],[-2.873,-10.057],[0.004,-11.24],[2.876,-10.057],[4.059,-7.181]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,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,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":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":"Vector","np":6,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":30,"ty":4,"nm":"SCREEN_MASK 3","parent":20,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-0.547,-1.2,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":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.8,"y":0},"t":40,"s":[{"i":[[4.341,0],[0,0],[0,-4.341],[0,0],[-4.341,0],[0,0],[0,4.341],[0,0]],"o":[[0,0],[-4.341,0],[0,0],[0,4.341],[0,0],[4.341,0],[0,0],[0,-4.341]],"v":[[45.224,-102.248],[-45.225,-102.248],[-53.09,-94.383],[-53.09,94.383],[-45.225,102.248],[45.224,102.248],[53.09,94.382],[53.09,-94.382]],"c":true}]},{"t":70,"s":[{"i":[[4.341,0],[0,0],[0,-4.341],[0,0],[-4.341,0],[0,0],[0,4.341],[0,0]],"o":[[0,0],[-4.341,0],[0,0],[0,4.341],[0,0],[4.341,0],[0,0],[0,-4.341]],"v":[[45.224,-68.498],[-45.225,-68.498],[-53.09,-60.633],[-53.09,94.383],[-45.225,102.248],[45.224,102.248],[53.09,94.382],[53.09,-60.632]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,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":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":"Vector","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":31,"ty":4,"nm":".white_TIME","cl":"white_TIME","parent":20,"tt":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":48,"s":[100]},{"t":58,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0.436,-54.05,0],"ix":2,"l":2},"a":{"a":0,"k":[301.436,95.95,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.657,-0.758],[-0.859,-0.375],[-0.878,0],[-0.977,0.557],[-0.558,0.959],[0,1.169],[0.549,0.95],[0.923,0.53],[1.077,0],[0.969,-0.822],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.585,0.302],[-0.658,0],[-0.767,-0.776],[0,-1.187],[0.776,-0.749],[1.223,0],[0.731,0.667],[0.292,1.114],[0,0]],"o":[[0.658,0.759],[0.859,0.374],[1.223,0],[0.978,-0.557],[0.557,-0.959],[0,-1.169],[-0.549,-0.949],[-0.922,-0.529],[-1.408,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.365,-0.53],[0.585,-0.301],[1.205,0],[0.768,0.777],[0,1.205],[-0.776,0.749],[-1.024,0],[-0.731,-0.667],[0,0],[0.273,1.114]],"v":[[-4.96,7.33],[-2.685,9.029],[-0.082,9.59],[3.219,8.755],[5.522,6.48],[6.356,3.289],[5.535,0.11],[3.329,-2.11],[0.329,-2.904],[-3.234,-1.671],[-3.343,-1.699],[-2.604,-7.371],[5.179,-7.371],[5.179,-9.59],[-4.521,-9.59],[-5.726,-0.136],[-3.37,0.904],[-1.945,-0.343],[-0.082,-0.794],[2.877,0.37],[4.028,3.316],[2.863,6.247],[-0.136,7.371],[-2.768,6.371],[-4.301,3.699],[-6.356,4.522]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,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,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":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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[317.59,96.169],"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":"Vector","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"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]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-2.206,-3.754],[1.083,-6.11],[1.083,9.371],[3.411,9.371],[3.411,-9.371],[1.932,-9.371],[-3.411,-5.535]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,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,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":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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[303.957,95.95],"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":"Vector","np":1,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-0.493],[-0.339,-0.338],[-0.493,0],[-0.339,0.338],[0,0.493],[0.338,0.339],[0.494,0],[0.338,-0.338]],"o":[[0,0.493],[0.338,0.338],[0.494,0],[0.338,-0.338],[0,-0.493],[-0.339,-0.338],[-0.493,0],[-0.339,0.339]],"v":[[-1.754,-5.316],[-1.247,-4.069],[0,-3.562],[1.247,-4.069],[1.754,-5.316],[1.247,-6.563],[0,-7.069],[-1.247,-6.563]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,-0.475],[-0.339,-0.338],[-0.493,0],[-0.339,0.339],[0,0.493],[0.338,0.338],[0.494,0],[0.338,-0.338]],"o":[[0,0.493],[0.338,0.339],[0.494,0],[0.338,-0.338],[0,-0.475],[-0.339,-0.338],[-0.493,0],[-0.339,0.338]],"v":[[-1.754,5.316],[-1.247,6.562],[0,7.069],[1.247,6.562],[1.754,5.316],[1.247,4.096],[0,3.589],[-1.247,4.096]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,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,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":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":"Vector","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[296.053,98.251],"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":"Vector","np":1,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.548,-0.85],[-0.969,-0.493],[-1.187,0],[-0.968,0.494],[-0.557,0.85],[0,1.041],[0.576,0.795],[0.932,0.457],[0,0],[-0.466,0.722],[0,0.786],[0.484,0.804],[0.868,0.457],[1.078,0],[0.867,-0.456],[0.484,-0.803],[0,-0.986],[-0.466,-0.722],[-0.731,-0.438],[0,0],[0.576,-0.795],[0,-1.06]],"o":[[0.548,0.85],[0.968,0.494],[1.169,0],[0.968,-0.493],[0.557,-0.85],[0,-1.06],[-0.575,-0.795],[0,0],[0.712,-0.438],[0.466,-0.722],[0,-0.986],[-0.484,-0.803],[-0.868,-0.456],[-1.096,0],[-0.868,0.457],[-0.484,0.804],[0,0.786],[0.466,0.722],[0,0],[-0.932,0.457],[-0.575,0.795],[0,1.041]],"v":[[-5.508,7.056],[-3.233,9.069],[0,9.809],[3.206,9.069],[5.494,7.056],[6.33,4.22],[5.466,1.439],[3.206,-0.439],[3.206,-0.548],[4.973,-2.288],[5.672,-4.549],[4.946,-7.234],[2.918,-9.124],[0,-9.809],[-2.945,-9.124],[-4.973,-7.234],[-5.7,-4.549],[-5.001,-2.288],[-3.206,-0.548],[-3.206,-0.439],[-5.467,1.439],[-6.33,4.22]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,-1.005],[0.758,-0.648],[1.114,0],[0.767,0.648],[0,1.041],[-0.767,0.648],[-1.114,0],[-0.758,-0.648]],"o":[[0,1.041],[-0.758,0.648],[-1.114,0],[-0.767,-0.648],[0,-1.005],[0.767,-0.648],[1.114,0],[0.758,0.648]],"v":[[3.946,4.083],[2.808,6.618],[0,7.59],[-2.822,6.618],[-3.973,4.083],[-2.822,1.603],[0,0.63],[2.808,1.603]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,-0.913],[0.621,-0.566],[0.968,0],[0.63,0.567],[0,0.914],[-0.63,0.539],[-0.969,0],[-0.63,-0.539]],"o":[[0,0.914],[-0.621,0.567],[-0.969,0],[-0.63,-0.566],[0,-0.913],[0.63,-0.539],[0.949,0],[0.63,0.539]],"v":[[3.315,-4.603],[2.384,-2.384],[0,-1.534],[-2.398,-2.384],[-3.343,-4.603],[-2.398,-6.782],[0,-7.59],[2.37,-6.782]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,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,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":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":"Vector","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[285.257,95.95],"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":"Vector","np":1,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":32,"ty":4,"nm":".grey600","cl":"grey600","parent":13,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0.436,-1.2,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":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-1.086],[0,0],[1.086,0],[0,0],[0,-1.086],[0,0],[1.086,0],[0,0],[5.421,0],[0,0],[0,5.421],[0,0],[-5.421,0],[0,0],[0,-5.421],[0,0]],"o":[[0,0],[0,1.086],[0,0],[1.086,0],[0,0],[0,1.086],[0,0],[0,5.421],[0,0],[-5.421,0],[0,0],[0,-5.421],[0,0],[5.421,0],[0,0],[1.086,0]],"v":[[56.04,-51.124],[56.04,-43.259],[54.073,-41.292],[54.073,-25.562],[56.04,-23.596],[56.04,-3.933],[54.073,-1.966],[54.073,94.382],[44.242,104.214],[-46.208,104.214],[-56.04,94.382],[-56.04,-94.382],[-46.208,-104.214],[44.242,-104.214],[54.073,-94.382],[54.073,-53.09]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,4.337],[0,0],[4.337,0],[0,0],[0,-4.337],[0,0],[-4.337,0]],"o":[[4.337,0],[0,0],[0,-4.337],[0,0],[-4.337,0],[0,0],[0,4.337],[0,0]],"v":[[44.242,102.248],[52.107,94.382],[52.107,-94.382],[44.242,-102.248],[-46.208,-102.248],[-54.073,-94.382],[-54.073,94.382],[-46.208,102.248]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,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,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":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":"Vector","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":33,"ty":4,"nm":"SCREEN_MASK 2","parent":20,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-0.547,-1.2,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":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.8,"y":0},"t":40,"s":[{"i":[[4.341,0],[0,0],[0,-4.341],[0,0],[-4.341,0],[0,0],[0,4.341],[0,0]],"o":[[0,0],[-4.341,0],[0,0],[0,4.341],[0,0],[4.341,0],[0,0],[0,-4.341]],"v":[[45.224,-102.248],[-45.225,-102.248],[-53.09,-94.383],[-53.09,94.383],[-45.225,102.248],[45.224,102.248],[53.09,94.382],[53.09,-94.382]],"c":true}]},{"t":70,"s":[{"i":[[4.341,0],[0,0],[0,-4.341],[0,0],[-4.341,0],[0,0],[0,4.341],[0,0]],"o":[[0,0],[-4.341,0],[0,0],[0,4.341],[0,0],[4.341,0],[0,0],[0,-4.341]],"v":[[45.224,-68.498],[-45.225,-68.498],[-53.09,-60.633],[-53.09,94.383],[-45.225,102.248],[45.224,102.248],[53.09,94.382],[53.09,-60.632]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,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":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":"Vector","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":34,"ty":4,"nm":"Gradient","parent":20,"tt":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":48,"s":[100]},{"t":58,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-0.464,-1.411,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[101,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[4.35,0],[0,0],[0,-4.35],[0,0],[-4.35,0],[0,0],[0,4.35],[0,0]],"o":[[0,0],[-4.35,0],[0,0],[0,4.35],[0,0],[4.35,0],[0,0],[0,-4.35]],"v":[[45.319,-102.459],[-45.318,-102.459],[-53.2,-94.577],[-53.2,94.578],[-45.319,102.459],[45.319,102.459],[53.2,94.578],[53.2,-94.578]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":13,"k":{"a":0,"k":[0.079,0.929,0.8,0.816,0.158,0.837,0.761,0.833,0.236,0.745,0.722,0.851,0.324,0.659,0.684,0.869,0.411,0.573,0.647,0.886,0.496,0.504,0.618,0.898,0.58,0.435,0.588,0.91,0.659,0.386,0.567,0.92,0.738,0.337,0.545,0.929,0.811,0.308,0.533,0.935,0.883,0.278,0.522,0.941,0.941,0.269,0.518,0.945,1,0.259,0.514,0.949],"ix":9}},"s":{"a":0,"k":[-80.036,123.908],"ix":5},"e":{"a":0,"k":[121.911,123.908],"ix":6},"t":2,"h":{"a":0,"k":0,"ix":7},"a":{"a":0,"k":0,"ix":8},"nm":"Gradient Fill_1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,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":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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":35,"ty":4,"nm":".black","cl":"black","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206,150,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":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-15.291,0],[0,0],[0,15.544],[0,0],[15.185,0],[0,0],[0,-15.652],[0,0]],"o":[[0,0],[15.291,0],[0,0],[0,-15.652],[0,0],[-15.291,0],[0,0],[0,15.652]],"v":[[-178.179,150],[178.179,150],[206,121.63],[206,-121.522],[178.286,-150],[-178.179,-150],[-206,-121.522],[-206,121.522]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,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,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":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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0}],"markers":[]}
\ No newline at end of file
diff --git a/res/raw/remoteauth_explanation_swipe_animation.json b/res/raw/remoteauth_explanation_swipe_animation.json
new file mode 100644
index 0000000..a06ae37
--- /dev/null
+++ b/res/raw/remoteauth_explanation_swipe_animation.json
@@ -0,0 +1 @@
+{"v":"5.9.0","fr":60,"ip":0,"op":248,"w":412,"h":300,"nm":"Active_Unlock_PT2_V05","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":".blue400","cl":"blue400","parent":24,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.7],"y":[0]},"t":62,"s":[0]},{"i":{"x":[0.3],"y":[1]},"o":{"x":[0.7],"y":[0]},"t":92,"s":[360]},{"i":{"x":[0.3],"y":[1]},"o":{"x":[0.8],"y":[0]},"t":187,"s":[360]},{"t":237,"s":[0]}],"ix":10},"p":{"a":0,"k":[85.699,151.401,0],"ix":2,"l":2},"a":{"a":0,"k":[84.949,150.651,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.7,"y":0},"t":62,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-9.6,-20.75],[-9.6,4.35],[9.6,20.75]],"c":false}]},{"i":{"x":0.3,"y":1},"o":{"x":0.7,"y":0},"t":92,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-23.725,4.75],[-11.85,14.35],[7.725,-9.125]],"c":false}]},{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":187,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-23.725,4.75],[-11.85,14.35],[7.725,-9.125]],"c":false}]},{"t":237,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-9.6,-20.75],[-9.6,4.35],[9.6,20.75]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.4,0.61568627451,0.964705882353,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.7],"y":[0]},"t":62,"s":[2.768]},{"i":{"x":[0.3],"y":[1]},"o":{"x":[0.7],"y":[0]},"t":92,"s":[4.568]},{"i":{"x":[0.3],"y":[1]},"o":{"x":[0.8],"y":[0]},"t":187,"s":[4.568]},{"t":237,"s":[2.768]}],"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[94.549,146.301],"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":"Group 7","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.7,"y":0},"t":0,"s":[171.326,149.999,0],"to":[2.5,0,0],"ti":[-2.5,0,0]},{"i":{"x":0.3,"y":0.3},"o":{"x":0.7,"y":0.7},"t":50,"s":[186.326,149.999,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":187,"s":[186.326,149.999,0],"to":[-2.5,0,0],"ti":[2.5,0,0]},{"t":237,"s":[171.326,149.999,0]}],"ix":2,"l":2},"a":{"a":0,"k":[211.701,150.999,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":0,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":20,"s":[130,130,100]},{"i":{"x":[0.1,0.1,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":40,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":83,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":103,"s":[130,130,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":123,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":125,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":145,"s":[130,130,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":165,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":208,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":228,"s":[130,130,100]},{"i":{"x":[0.3,0.3,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":248,"s":[100,100,100]},{"i":{"x":[0.3,0.3,0.833],"y":[1,1,1]},"o":{"x":[0.8,0.8,0.167],"y":[0,0,0]},"t":263,"s":[100,100,100]},{"t":283,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.1,0],[0,-2.2],[-2.2,0],[0,2.2]],"o":[[-2.101,0],[0,2.2],[2.1,0],[0,-2.2]],"v":[[0.001,-3.9],[-3.899,0],[0.001,3.9],[3.9,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.400000029919,0.61568627451,0.964705942191,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":[211.701,150.999],"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":"Group 4","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.7,"y":0},"t":0,"s":[191.201,149.999,0],"to":[2.5,0,0],"ti":[-2.5,0,0]},{"i":{"x":0.3,"y":0.3},"o":{"x":0.7,"y":0.7},"t":50,"s":[206.201,149.999,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":187,"s":[206.201,149.999,0],"to":[-2.5,0,0],"ti":[2.5,0,0]},{"t":237,"s":[191.201,149.999,0]}],"ix":2,"l":2},"a":{"a":0,"k":[211.701,150.999,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":7,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":27,"s":[130,130,100]},{"i":{"x":[0.1,0.1,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":47,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":76,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":96,"s":[130,130,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":116,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":132,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":152,"s":[130,130,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":172,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":201,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":221,"s":[130,130,100]},{"i":{"x":[0.3,0.3,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":241,"s":[100,100,100]},{"i":{"x":[0.3,0.3,0.833],"y":[1,1,1]},"o":{"x":[0.8,0.8,0.167],"y":[0,0,0]},"t":263,"s":[100,100,100]},{"t":283,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.1,0],[0,-2.2],[-2.2,0],[0,2.2]],"o":[[-2.101,0],[0,2.2],[2.1,0],[0,-2.2]],"v":[[0.001,-3.9],[-3.899,0],[0.001,3.9],[3.9,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.400000029919,0.61568627451,0.964705942191,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":[211.701,150.999],"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":"Group 4","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.7,"y":0},"t":0,"s":[210.701,149.999,0],"to":[2.5,0,0],"ti":[-2.5,0,0]},{"i":{"x":0.3,"y":0.3},"o":{"x":0.7,"y":0.7},"t":50,"s":[225.701,149.999,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":187,"s":[225.701,149.999,0],"to":[-2.5,0,0],"ti":[2.5,0,0]},{"t":237,"s":[210.701,149.999,0]}],"ix":2,"l":2},"a":{"a":0,"k":[211.701,150.999,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":14,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":34,"s":[130,130,100]},{"i":{"x":[0.1,0.1,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":54,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":69,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":89,"s":[130,130,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":109,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":139,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":159,"s":[130,130,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":179,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":194,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":214,"s":[130,130,100]},{"i":{"x":[0.3,0.3,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":234,"s":[100,100,100]},{"i":{"x":[0.3,0.3,0.833],"y":[1,1,1]},"o":{"x":[0.8,0.8,0.167],"y":[0,0,0]},"t":263,"s":[100,100,100]},{"t":283,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.1,0],[0,-2.2],[-2.2,0],[0,2.2]],"o":[[-2.101,0],[0,2.2],[2.1,0],[0,-2.2]],"v":[[0.001,-3.9],[-3.899,0],[0.001,3.9],[3.9,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.400000029919,0.61568627451,0.964705942191,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":[211.701,150.999],"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":"Group 4","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.7,"y":0},"t":0,"s":[230.076,149.999,0],"to":[2.5,0,0],"ti":[-2.5,0,0]},{"i":{"x":0.3,"y":0.3},"o":{"x":0.7,"y":0.7},"t":50,"s":[245.076,149.999,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":187,"s":[245.076,149.999,0],"to":[-2.5,0,0],"ti":[2.5,0,0]},{"t":237,"s":[230.076,149.999,0]}],"ix":2,"l":2},"a":{"a":0,"k":[211.701,150.999,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":21,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":41,"s":[130,130,100]},{"i":{"x":[0.1,0.1,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":61,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":62,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":82,"s":[130,130,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":102,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":146,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":166,"s":[130,130,100]},{"i":{"x":[0.1,0.1,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":186,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":187,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":207,"s":[130,130,100]},{"i":{"x":[0.3,0.3,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":227,"s":[100,100,100]},{"i":{"x":[0.3,0.3,0.833],"y":[1,1,1]},"o":{"x":[0.8,0.8,0.167],"y":[0,0,0]},"t":263,"s":[100,100,100]},{"t":283,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.1,0],[0,-2.2],[-2.2,0],[0,2.2]],"o":[[-2.101,0],[0,2.2],[2.1,0],[0,-2.2]],"v":[[0.001,-3.9],[-3.899,0],[0.001,3.9],[3.9,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.400000029919,0.61568627451,0.964705942191,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":[211.701,150.999],"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":"Group 4","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":".blue400","cl":"blue400","parent":11,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[9.431,10.775,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":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":58,"s":[{"i":[[0,0],[0,3.938],[-0.938,0],[0,-4.188],[0,0]],"o":[[0,0],[0,-3.938],[0.938,0],[0,4.188],[0,0]],"v":[[-4.562,-0.031],[-4.562,-4.719],[0.25,-9.656],[5.375,-4.781],[5.375,-0.281]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":88,"s":[{"i":[[0,0],[0,3.938],[0.896,0],[0,-4.188],[0,0]],"o":[[0,0],[0,-3.938],[-0.896,0],[0,4.188],[0,0]],"v":[[14.875,-2.531],[14.875,-7.219],[10.274,-12.156],[5.375,-7.281],[5.375,-0.281]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":207,"s":[{"i":[[0,0],[0,3.938],[0.896,0],[0,-4.188],[0,0]],"o":[[0,0],[0,-3.938],[-0.896,0],[0,4.188],[0,0]],"v":[[14.875,-2.531],[14.875,-7.219],[10.274,-12.156],[5.375,-7.281],[5.375,-0.281]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":217,"s":[{"i":[[0,0],[0,3.938],[-0.932,0],[0,-4.188],[0,0]],"o":[[0,0],[0,-3.938],[0.932,0],[0,4.188],[0,0]],"v":[[-4.5,-2.531],[-4.5,-7.219],[0.282,-12.156],[5.375,-7.281],[5.375,-0.281]],"c":false}]},{"i":{"x":0,"y":1},"o":{"x":0.333,"y":0},"t":227,"s":[{"i":[[0,0],[0,3.938],[-0.932,0],[0,-4.188],[0,0]],"o":[[0,0],[0,-3.938],[0.932,0],[0,4.188],[0,0]],"v":[[-4.5,-2.531],[-4.5,-7.219],[0.282,-12.156],[5.375,-7.281],[5.375,-0.281]],"c":false}]},{"t":247,"s":[{"i":[[0,0],[0,3.938],[-0.938,0],[0,-4.188],[0,0]],"o":[[0,0],[0,-3.938],[0.938,0],[0,4.188],[0,0]],"v":[[-4.562,-0.031],[-4.562,-4.719],[0.25,-9.656],[5.375,-4.781],[5.375,-0.281]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.4,0.61568627451,0.964705882353,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":"tr","p":{"a":0,"k":[0,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":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":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[315.859,148.919,0],"ix":2,"l":2},"a":{"a":0,"k":[9.912,13.777,0],"ix":1,"l":2},"s":{"a":0,"k":[147,147,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.067,0],[0,1.067],[1.067,0],[0,-1.068]],"o":[[1.067,0],[0,-1.068],[-1.067,0],[0,1.067]],"v":[[0,6.764],[1.932,4.831],[0,2.898],[-1.932,4.831]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,-0.533],[0,0],[-0.534,0],[0,0],[0,0.533],[0,0],[0.534,0]],"o":[[-0.534,0],[0,0],[0,0.533],[0,0],[0.534,0],[0,0],[0,-0.533],[0,0]],"v":[[-6.763,-1.932],[-7.73,-0.966],[-7.73,10.629],[-6.763,11.594],[6.763,11.594],[7.73,10.629],[7.73,-0.966],[6.763,-1.932]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,-1.601],[0,0],[1.601,0],[0,0],[0,1.601],[0,0],[-1.601,0]],"o":[[0,0],[0,0],[1.601,0],[0,0],[0,1.601],[0,0],[-1.601,0],[0,0],[0,-1.601],[0,0]],"v":[[-5.797,-3.865],[5.797,-3.865],[6.763,-3.865],[9.662,-0.966],[9.662,10.629],[6.763,13.527],[-6.763,13.527],[-9.662,10.629],[-9.662,-0.966],[-6.763,-3.865]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 2","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.4,0.61568627451,0.964705882353,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.912,13.777],"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":"Group 1","np":6,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"MATTE","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[316.981,150,0],"ix":2,"l":2},"a":{"a":0,"k":[56.29,104.464,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[4.337,0],[0,0],[0,4.337],[0,0],[-4.337,0],[0,0],[0,-4.337]],"o":[[0,4.337],[0,0],[-4.337,0],[0,0],[0,-4.337],[0,0],[4.337,0],[0,0]],"v":[[52.107,94.382],[44.242,102.248],[-46.208,102.248],[-54.074,94.382],[-54.074,-94.382],[-46.208,-102.248],[44.242,-102.248],[52.107,-94.382]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,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":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":"Group 1","np":0,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 2","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.498039245605,0.525490196078,0.545098039216,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":[56.29,104.464],"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":"Group 1","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":".blue400","cl":"blue400","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[316.981,152.207,0],"ix":2,"l":2},"a":{"a":0,"k":[74.06,74.06,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[3.72,-30.74],[30.74,3.72],[-3.719,30.741],[-30.74,-3.719]],"o":[[-3.72,30.74],[-30.74,-3.719],[3.72,-30.74],[30.74,3.72]],"v":[[55.66,6.735],[-6.735,55.66],[-55.66,-6.735],[6.735,-55.66]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.4,0.61568627451,0.964705882353,1],"ix":4},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":60,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":73,"s":[33]},{"t":120,"s":[0]}],"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[74.06,74.06],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":60,"s":[0,0]},{"t":120,"s":[610,610]}],"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":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":".blue300matte","cl":"blue300matte","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[316.85,150.9,0],"ix":2,"l":2},"a":{"a":0,"k":[317.85,151.9,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[4.4,0],[0,0],[0,4.399],[0,0],[-4.4,0],[0,0],[0,-4.4]],"o":[[0,4.3],[0,0],[-4.3,0],[0,0],[0,-4.3],[0,0],[4.3,0],[0,0]],"v":[[52.15,94.3],[44.25,102.199],[-46.25,102.199],[-54.15,94.3],[-54.15,-94.4],[-46.25,-102.3],[44.25,-102.3],[52.15,-94.4]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,1.1],[0,0],[1.1,0],[0,0],[5.4,0],[0,0],[0,-5.4],[0,0],[-5.4,0],[0,0],[0,5.4],[0,0],[0,1.1],[0,0],[1.1,0],[0,0]],"o":[[0,0],[0,-1.1],[0,0],[0,-5.4],[0,0],[-5.4,0],[0,0],[0,5.4],[0,0],[5.4,0],[0,0],[1.1,0],[0,0],[0,-1.1],[0,0],[1.1,0]],"v":[[56.05,-43.3],[56.05,-51.2],[54.05,-53.2],[54.05,-94.4],[44.25,-104.2],[-46.25,-104.2],[-56.05,-94.4],[-56.05,94.4],[-46.25,104.199],[44.25,104.199],[54.05,94.4],[54.05,-1.9],[56.05,-3.9],[56.05,-23.6],[54.05,-25.6],[54.05,-41.3]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.541176470588,0.705882352941,0.972549019608,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":[317.85,151.9],"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":"Group 7","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":".blue600","cl":"blue600","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[314.647,152.796,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":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,3.941],[0,0],[3.941,0],[0,0],[0,-3.941],[0,0],[-3.941,0]],"o":[[3.941,0],[0,0],[0,-3.941],[0,0],[-3.941,0],[0,0],[0,3.941],[0,0]],"v":[[48.189,101.203],[55.325,94.067],[55.283,-97.818],[48.147,-104.954],[-45.468,-104.954],[-52.605,-97.818],[-52.563,94.067],[-45.426,101.203]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":25,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[225]},{"t":248,"s":[585]}],"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960784314,0.450980392157,0.909803921569,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":7,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,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":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":"Group 2","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,3.941],[0,0],[3.941,0],[0,0],[0,-3.941],[0,0],[-3.941,0]],"o":[[3.941,0],[0,0],[0,-3.941],[0,0],[-3.941,0],[0,0],[0,3.941],[0,0]],"v":[[48.189,101.203],[55.325,94.067],[55.283,-97.818],[48.147,-104.954],[-45.468,-104.954],[-52.605,-97.818],[-52.563,94.067],[-45.426,101.203]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":25,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[45]},{"t":248,"s":[405]}],"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960784314,0.450980392157,0.909803921569,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":7,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,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":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":"Group 1","np":3,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":".blue300","cl":"blue300","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[316.85,150.9,0],"ix":2,"l":2},"a":{"a":0,"k":[317.85,151.9,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[4.4,0],[0,0],[0,4.399],[0,0],[-4.4,0],[0,0],[0,-4.4]],"o":[[0,4.3],[0,0],[-4.3,0],[0,0],[0,-4.3],[0,0],[4.3,0],[0,0]],"v":[[52.15,94.3],[44.25,102.199],[-46.25,102.199],[-54.15,94.3],[-54.15,-94.4],[-46.25,-102.3],[44.25,-102.3],[52.15,-94.4]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,1.1],[0,0],[1.1,0],[0,0],[5.4,0],[0,0],[0,-5.4],[0,0],[-5.4,0],[0,0],[0,5.4],[0,0],[0,1.1],[0,0],[1.1,0],[0,0]],"o":[[0,0],[0,-1.1],[0,0],[0,-5.4],[0,0],[-5.4,0],[0,0],[0,5.4],[0,0],[5.4,0],[0,0],[1.1,0],[0,0],[0,-1.1],[0,0],[1.1,0]],"v":[[56.05,-43.3],[56.05,-51.2],[54.05,-53.2],[54.05,-94.4],[44.25,-104.2],[-46.25,-104.2],[-56.05,-94.4],[-56.05,94.4],[-46.25,104.199],[44.25,104.199],[54.05,94.4],[54.05,-1.9],[56.05,-3.9],[56.05,-23.6],[54.05,-25.6],[54.05,-41.3]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.541176470588,0.705882352941,0.972549019608,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":[317.85,151.9],"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":"Group 7","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":19,"ty":4,"nm":".blue400","cl":"blue400","parent":24,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[88.803,150.5,0],"ix":2,"l":2},"a":{"a":0,"k":[88.803,150.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[24.601,0],[0,24.6],[-24.6,0],[0,-24.6]],"o":[[-24.6,0],[0,-24.6],[24.601,0],[0,24.6]],"v":[[-1.45,44.6],[-46.05,-0.001],[-1.45,-44.6],[43.151,-0.001]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[1.5,0],[0,0],[24.101,0],[0,-26.1],[-26.1,0],[-3.8,22.401],[0,0],[0,1.5],[0,0]],"o":[[0,0],[-2.9,-23.299],[-26.1,0],[0,26.1],[23.4,0],[0,0],[1.5,0],[0,0],[0.099,-1.5]],"v":[[46.051,-5.9],[45.551,-5.9],[-1.45,-47.299],[-48.75,-0.001],[-1.45,47.299],[45.25,7.799],[45.95,7.799],[48.651,5.1],[48.651,-3.199]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.400000029919,0.61568627451,0.964705942191,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":[88.849,150.5],"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":"Group 8","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":23,"ty":4,"nm":"ClockFace_Mask","parent":24,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[87.399,150.5,0],"ix":2,"l":2},"a":{"a":0,"k":[87.399,150.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-25.405,0],[0,25.405],[25.404,0],[0,-25.405]],"o":[[25.404,0],[0,-25.405],[-25.405,0],[0,25.405]],"v":[[0,46],[46,0],[0,-46],[-46,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,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":[87.399,150.5],"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":"Group 9","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":24,"ty":4,"nm":".grey300","cl":"grey300","tt":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.7],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.7],"y":[0]},"t":50,"s":[6]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.7],"y":[0]},"t":187,"s":[6]},{"t":237,"s":[0]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.7,"y":0},"t":0,"s":[86.4,150.05,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.2,"y":0.2},"o":{"x":0.7,"y":0.7},"t":50,"s":[121.4,150.05,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.2,"y":1},"o":{"x":0.7,"y":0},"t":187,"s":[121.4,150.05,0],"to":[0,0,0],"ti":[0,0,0]},{"t":237,"s":[86.4,150.05,0]}],"ix":2,"l":2},"a":{"a":0,"k":[87.4,151.05,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[5.1,0],[0,0],[0.5,-4.3],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-5.1,0],[0,0],[-0.5,4.3],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[-0.5,-4.3],[0,0],[-5.1,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.5,4.301],[0,0],[5.1,0],[0,0],[0,0],[0,0]],"v":[[29.3,-7.85],[29.4,-9.35],[29.1,-9.35],[22.699,-68.05],[12.8,-75.65],[-12,-75.65],[-21.9,-68.15],[-29,-9.35],[-29.4,-9.35],[-29.301,-7.65],[-29.4,-6.45],[-29.2,-6.45],[-22.801,68.049],[-12.9,75.65],[11.9,75.65],[21.8,68.15],[29,-6.45],[29.3,-6.45]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960784314,0.525490196078,0.545098039216,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":[87.4,151.05],"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":"Group 10","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0}],"markers":[]}
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 127ee7b..30892a3 100755
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -171,6 +171,15 @@
 
     <!-- RemoteAuth-->
     <dimen name="remoteauth_fragment_padding_horizontal">40dp</dimen>
+    <dimen name="remoteauth_icon_small_size">24dp</dimen>
+    <dimen name="remoteauth_touchable_area_minimum_span">48dp</dimen>
+    <dimen name="remoteauth_introduction_fragment_padding_horizontal">30dp</dimen>
+    <dimen name="remoteauth_introduction_description_start_margin">8dp</dimen>
+    <dimen name="remoteauth_introduction_subheading_text_size">18sp</dimen>
+    <dimen name="remoteauth_carousel_progress_margin">28dp</dimen>
+    <dimen name="remoteauth_carousel_progress_circle_diameter">8dp</dimen>
+    <dimen name="remoteauth_carousel_progress_circle_margin">4dp</dimen>
+
 
     <!-- Lock pattern view size, align sysui biometric_auth_pattern_view_size -->
     <dimen name="biometric_auth_pattern_view_size">348dp</dimen>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index d00fc67..748f871 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -885,19 +885,39 @@
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary">Face, fingerprints, and <xliff:g id="watch" example="Dani's Watch">%s</xliff:g> added</string>
 
     <!-- RemoteAuth unlock enrollment and settings --><skip />
+    <!-- Strings for RemoteAuth enroll introduction page -->
+    <!-- Introduction title shown in remote enrollment to introduce the remote feature [CHAR LIMIT=29] -->
+    <string name="security_settings_remoteauth_enroll_introduction_title">Set up your watch</string>
+    <!-- Summary of the Watch Unlock feature that allows users to unlock the phone with paired watches [CHAR_LIMIT=NONE]-->
+    <string name="security_settings_remoteauth_enroll_introduction_message">Watch Unlock is another convenient way to unlock this phone, for example, when your fingers are wet or face isn\u2019t recognized.\n\nYou can use your watch to unlock this phone when you:</string>
+    <!-- Button text to cancel enrollment [CHAR LIMIT=30] -->
+    <string name="security_settings_remoteauth_enroll_introduction_disagree">Not now</string>
+    <!-- Button text to start enrollment [CHAR LIMIT=30] -->
+    <string name="security_settings_remoteauth_enroll_introduction_agree">Continue</string>
+    <!-- Button text to scroll to the end of a scrollview. [CHAR LIMIT=30] -->
+    <string name="security_settings_remoteauth_enroll_introduction_more">More</string>
+    <!-- Heading of the paragraph that explains how the Watch Unlock feature works [CHAR_LIMIT=NONE] -->
+    <string name="security_settings_remoteauth_enroll_introduction_how_title">How it works</string>
+    <!-- Explains that paired watches must be unlocked, on-body, and nearby, in order to unlock the phone [CHAR_LIMIT=NONE] -->
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open">Your watch must be unlocked, on your wrist, and within reach of this phone. You won\u2019t need to unlock your watch again while it\u2019s on your wrist.</string>
+    <!-- Explains that users will be notified on the watch when the phone is unlocked by the watch, and they can tap on the notification to lock the phone from the watch [CHAR_LIMIT=NONE] -->
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications">When this phone is unlocked, you\u2019ll get notified on your watch. If it was unlocked when you didn’t intend to, tap the notification to lock the phone again.</string>
+    <!-- Heading of the paragraph that explains how to opt out of the Watch Unlock feature [CHAR_LIMIT=NONE] -->
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title">You\u2019re in control</string>
+    <!-- Explains that users can prevent their watches from unlocking their phone by removing them in the Watch Unlock settings [CHAR_LIMIT=NONE] -->
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch">You can remove your watch from Watch Unlock at any time in Settings</string>
+    <!-- Subtitle for animation that explains users can unlock by tapping a notification [CHAR_LIMIT=NONE] -->
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification">Tap a notification</string>
+    <!-- Subtitle for animation that explains users can unlock by swiping up on the lock screen [CHAR_LIMIT=NONE] -->
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up">Swipe up on the lock screen</string>
     <!-- Strings for RemoteAuth enroll finish page -->
     <!-- Title of the dialog that shows when a paired watch has been set up successfully and can be used to unlock the phone [CHAR_LIMIT=45] -->
-    <string name="security_settings_remoteauth_enroll_finish_title">
-        You\'re all set!
-    </string>
+    <string name="security_settings_remoteauth_enroll_finish_title">You\u2019re all set!</string>
     <!-- Explains when a paired watch can be used to unlock the phone after it has been set up successfully [CHAR_LIMIT=NONE] -->
-    <string name="security_settings_remoteauth_enroll_finish_description">
-        You can now use your watch to unlock this phone when you swipe up on the lock screen or tap a notification
-    </string>
+    <string name="security_settings_remoteauth_enroll_finish_description">You can now use your watch to unlock this phone when you swipe up on the lock screen or tap a notification</string>
     <!-- Button text to finish enrollment [CHAR LIMIT=30] -->
     <string name="security_settings_remoteauth_enroll_finish_btn_next">Done</string>
 
-
     <!-- Biometric settings --><skip />
     <!-- Title shown for menu item that launches biometric settings. [CHAR LIMIT=66] -->
     <string name="security_settings_biometric_preference_title">Fingerprint &amp; Face Unlock</string>
@@ -1518,6 +1538,12 @@
     <!-- Checkbox message in pairing dialogs.  [CHAR LIMIT=NONE] -->
     <string name="bluetooth_pairing_shares_phonebook">Allow access to your contacts and call history</string>
 
+    <!-- Phonebook sharing toggle message in pairing dialogs.  [CHAR LIMIT=NONE] -->
+    <string name="bluetooth_pairing_phonebook_toggle_text">Also allow access to contacts and call history</string>
+
+    <!-- Phonebook sharing toggle detailed message in pairing dialogs.  [CHAR LIMIT=NONE] -->
+    <string name="bluetooth_pairing_phonebook_toggle_details">Info will be used for call announcements and more</string>
+
     <!-- Title for BT error dialogs. -->
     <string name="bluetooth_error_title"></string>
 
@@ -4816,7 +4842,7 @@
     <!-- List of synonyms used in the settings search bar to find the "Audio Description. [CHAR LIMIT=NONE] -->
     <string name="keywords_audio_description">audio description, audio, description, low vision,</string>
 
-    <!-- Preference's shortcut when enabled. [CHAR LIMIT=NONE] -->
+    <!-- Shows when the shortcut of an accessibility feature is turned on. The accessibility feature could refer to any accessibility feature installed on the device. [CHAR LIMIT=NONE] -->
     <string name="accessibility_summary_shortcut_enabled">Shortcut on</string>
     <!-- Preference's shortcut when disabled. [CHAR LIMIT=NONE] -->
     <string name="accessibility_summary_shortcut_disabled">Off</string>
@@ -12246,15 +12272,18 @@
     <!-- Warning message when we try to dock an app not supporting multiple instances split into multiple sides [CHAR LIMIT=NONE] -->
     <string name="dock_multi_instances_not_supported_text">"This app can only be opened in 1 window"</string>
 
-    <!-- The accessibility features state summary, indicating whether the service is turned on, whether the shortcut is turned on. The last part of the summary is the short summary of the feature. -->
-    <string name="accessibility_feature_full_state_summary"><xliff:g example="Service on" id="state">%1$s</xliff:g> / <xliff:g example="Shortcut on" id="shortcut_state">%2$s</xliff:g> / <xliff:g example="Speak items on screen" id="service_summary">%3$s</xliff:g></string>
-    <!-- Label representing that a generic Accessibility Service is turned on. -->
-    <string name="generic_accessibility_service_on">Service on</string>
-    <!-- Label representing that a generic Accessibility Service is turned off. -->
-    <string name="generic_accessibility_service_off">Service off</string>
-    <!-- Label representing that an accessibility feature's shortcut is turned off -->
-    <string name="generic_accessibility_feature_shortcut_off">Shortcut off</string>
-    <!-- Summary for the disabled state of the accessibility shortcut. This is shown as a summary for "[Service] shortcut", where "off" refers to the state of "shortcut". -->
+    <!-- Shown when an accessibility feature is turned on. Note: for gendered languages, suggest to translate as "Feature on" because the accessibility feature it refers to can be in any gender. [CHAR LIMIT=NONE] -->
+    <string name="generic_accessibility_service_on">On</string>
+    <!-- Shown when an accessibility feature is turned off. Note: for gendered languages, suggest to translate as "Feature off" because the accessibility feature it refers to can be in any gender. [CHAR LIMIT=NONE] -->
+    <string name="generic_accessibility_service_off">Off</string>
+    <!-- Shows when the shortcut of an accessibility feature is turned off. The "off" refers to the state of "shortcut". Note: for gendered languages, suggest to translate as "Shortcut off". [CHAR LIMIT=NONE] -->
+    <string name="generic_accessibility_feature_shortcut_off">Off</string>
+    <!--
+        Summary for the disabled state of the accessibility shortcut.
+        This is shown as a summary for "[Service] shortcut" from the string resource accessibility_shortcut_title,
+        where "off" refers to the state of "shortcut" and
+        should match the same gender as the noun used in the string accessibility_shortcut_title.
+    -->
     <string name="accessibility_shortcut_state_off">Off</string>
 
     <!-- Representing daltonizer (color filter) feature is turned on -->
diff --git a/res/xml/accessibility_system_controls.xml b/res/xml/accessibility_system_controls.xml
index 3821f93..37c4d67 100644
--- a/res/xml/accessibility_system_controls.xml
+++ b/res/xml/accessibility_system_controls.xml
@@ -34,7 +34,7 @@
         android:persistent="false"
         android:title="@string/one_handed_title"
         settings:searchable="false"
-        settings:controller="com.android.settings.accessibility.OneHandedPreferenceController"/>
+        settings:controller="com.android.settings.gestures.OneHandedEnablePreferenceController"/>
 
     <SwitchPreference
         android:key="toggle_power_button_ends_call_preference"
diff --git a/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java b/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java
index 528801f..ee2dc05 100644
--- a/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java
+++ b/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java
@@ -170,13 +170,6 @@
     static AlertDialog createAccessibilityTutorialDialogForSetupWizard(Context context,
             int shortcutTypes, @Nullable DialogInterface.OnClickListener actionButtonListener) {
 
-        final int category = SettingsEnums.SWITCH_SHORTCUT_DIALOG_ACCESSIBILITY_BUTTON_SETTINGS;
-        final DialogInterface.OnClickListener linkButtonListener =
-                (dialog, which) -> new SubSettingLauncher(context)
-                        .setDestination(AccessibilityButtonFragment.class.getName())
-                        .setSourceMetricsCategory(category)
-                        .launch();
-
         final AlertDialog alertDialog = new AlertDialog.Builder(context)
                 .setPositiveButton(R.string.accessibility_tutorial_dialog_button,
                         actionButtonListener)
diff --git a/src/com/android/settings/accessibility/AccessibilitySettings.java b/src/com/android/settings/accessibility/AccessibilitySettings.java
index f94be10..16414f8 100644
--- a/src/com/android/settings/accessibility/AccessibilitySettings.java
+++ b/src/com/android/settings/accessibility/AccessibilitySettings.java
@@ -251,69 +251,29 @@
             return context.getText(R.string.accessibility_summary_state_stopped);
         }
 
+        final CharSequence serviceState;
         final int fragmentType = AccessibilityUtil.getAccessibilityServiceFragmentType(info);
-        final ComponentName componentName = new ComponentName(
-                info.getResolveInfo().serviceInfo.packageName,
-                info.getResolveInfo().serviceInfo.name);
-        final boolean shortcutEnabled = AccessibilityUtil.getUserShortcutTypesFromSettings(
-                context, componentName) != AccessibilityUtil.UserShortcutType.EMPTY;
-
-        // Example shortcutState: "Shortcut on"
-        CharSequence shortcutState = shortcutEnabled
-                ? context.getText(R.string.accessibility_summary_shortcut_enabled)
-                : context.getText(R.string.generic_accessibility_feature_shortcut_off);
-
-        // Example serviceSummary: "Control device via large menu"
-        final CharSequence serviceSummary = info.loadSummary(context.getPackageManager());
-
         if (fragmentType == AccessibilityServiceFragmentType.INVISIBLE_TOGGLE) {
-            // Example result: "Shortcut on / Control device via large menu"
-            return TextUtils.isEmpty(serviceSummary)
-                    ? shortcutState
-                    : context.getString(
-                            R.string.preference_summary_default_combination, shortcutState,
-                            serviceSummary);
+            final ComponentName componentName = new ComponentName(
+                    info.getResolveInfo().serviceInfo.packageName,
+                    info.getResolveInfo().serviceInfo.name);
+            final boolean shortcutEnabled = AccessibilityUtil.getUserShortcutTypesFromSettings(
+                    context, componentName) != AccessibilityUtil.UserShortcutType.EMPTY;
+            serviceState = shortcutEnabled
+                    ? context.getText(R.string.accessibility_summary_shortcut_enabled)
+                    : context.getText(R.string.generic_accessibility_feature_shortcut_off);
         } else {
-            // Example serviceState: "Service on"
-            CharSequence serviceState = serviceEnabled
+            serviceState = serviceEnabled
                     ? context.getText(R.string.generic_accessibility_service_on)
                     : context.getText(R.string.generic_accessibility_service_off);
-
-            // Example result: "Service on / Shortcut on / Speak items on screen"
-            return TextUtils.isEmpty(serviceSummary)
-                    ? context.getString(
-                            R.string.preference_summary_default_combination,
-                            serviceState, shortcutState)
-                    : context.getString(
-                            R.string.accessibility_feature_full_state_summary, serviceState,
-                            shortcutState, serviceSummary);
         }
-    }
 
-    /**
-     * Returns the summary for the current shortcut state of the accessibility app
-     * captured in the {@link AccessibilityShortcutInfo}
-     */
-    public static CharSequence getA11yShortcutInfoPreferenceSummary(
-            Context context, AccessibilityShortcutInfo info) {
-
-        boolean shortcutEnabled = AccessibilityUtil.getUserShortcutTypesFromSettings(
-                context, info.getComponentName()) != AccessibilityUtil.UserShortcutType.EMPTY;
-
-        // Example shortcutState: "Shortcut on"
-        CharSequence shortcutState = shortcutEnabled
-                ? context.getText(R.string.accessibility_summary_shortcut_enabled)
-                : context.getText(R.string.generic_accessibility_feature_shortcut_off);
-
-        // Example serviceSummary: "Convert speech to text"
-        CharSequence serviceSummary = info.loadSummary(context.getPackageManager());
-
-        // Example result: "Shortcut on / Convert speech to text"
-        return TextUtils.isEmpty(serviceSummary)
-                ? shortcutState
-                : context.getString(
+        final CharSequence serviceSummary = info.loadSummary(context.getPackageManager());
+        final String stateSummaryCombo = context.getString(
                 R.string.preference_summary_default_combination,
-                shortcutState, serviceSummary);
+                serviceState, serviceSummary);
+
+        return TextUtils.isEmpty(serviceSummary) ? serviceState : stateSummaryCombo;
     }
 
     /**
diff --git a/src/com/android/settings/accessibility/AccessibilityUtil.java b/src/com/android/settings/accessibility/AccessibilityUtil.java
index 16b74ea3..36c99f1 100644
--- a/src/com/android/settings/accessibility/AccessibilityUtil.java
+++ b/src/com/android/settings/accessibility/AccessibilityUtil.java
@@ -40,8 +40,6 @@
 import androidx.annotation.StringRes;
 import androidx.annotation.VisibleForTesting;
 
-import com.android.settings.R;
-
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.util.StringJoiner;
@@ -291,41 +289,6 @@
     }
 
     /**
-     * Returns the full status with a feature summary.
-     * For example, "$(feature on) / Shortcut on / Speak items on screen".
-     *
-     * @param context           The current context.
-     * @param componentName     The component name in Settings to query
-     *                          if the shortcut turned on.
-     * @param settingsSecureKey One of the key defined in
-     *                          {@link Settings.Secure}.
-     * @param featureOnTextId   The string resource id representing the feature is turned on.
-     * @param featureOffTextId  The string resource id representing the feature is turned off.
-     * @param featureSummaryId  The string resource id of the feature summary.
-     */
-    static CharSequence getFeatureFullStateSummary(
-            Context context, @NonNull ComponentName componentName,
-            String settingsSecureKey,
-            @StringRes int featureOnTextId, @StringRes int featureOffTextId,
-            @StringRes int featureSummaryId) {
-        boolean shortcutEnabled = getUserShortcutTypesFromSettings(context, componentName)
-                != AccessibilityUtil.UserShortcutType.EMPTY;
-        boolean featureEnabled = Settings.Secure.getInt(context.getContentResolver(),
-                settingsSecureKey, AccessibilityUtil.State.OFF) == AccessibilityUtil.State.ON;
-
-        return context.getString(
-                R.string.accessibility_feature_full_state_summary,
-                featureEnabled
-                        ? context.getString(featureOnTextId)
-                        : context.getString(featureOffTextId),
-                shortcutEnabled
-                        ? context.getString(R.string.accessibility_summary_shortcut_enabled)
-                        : context.getString(R.string.generic_accessibility_feature_shortcut_off),
-                context.getString(featureSummaryId)
-        );
-    }
-
-    /**
      * Returns if component name existed in one of {@code shortcutTypes} string in Settings.
      *
      * @param context The current context.
diff --git a/src/com/android/settings/accessibility/ColorInversionPreferenceController.java b/src/com/android/settings/accessibility/ColorInversionPreferenceController.java
index 83a7edd..5b20714 100644
--- a/src/com/android/settings/accessibility/ColorInversionPreferenceController.java
+++ b/src/com/android/settings/accessibility/ColorInversionPreferenceController.java
@@ -16,8 +16,6 @@
 
 package com.android.settings.accessibility;
 
-import static com.android.internal.accessibility.AccessibilityShortcutController.COLOR_INVERSION_COMPONENT_NAME;
-
 import android.content.Context;
 import android.provider.Settings;
 
@@ -36,11 +34,10 @@
 
     @Override
     public CharSequence getSummary() {
-        return AccessibilityUtil.getFeatureFullStateSummary(
-                mContext, COLOR_INVERSION_COMPONENT_NAME,
+        return AccessibilityUtil.getSummary(
+                mContext,
                 DISPLAY_INVERSION_ENABLED,
-                R.string.color_inversion_state_on, R.string.color_inversion_state_off,
-                R.string.color_inversion_feature_summary);
+                R.string.color_inversion_state_on, R.string.color_inversion_state_off);
     }
 
     @Override
diff --git a/src/com/android/settings/accessibility/DaltonizerPreferenceController.java b/src/com/android/settings/accessibility/DaltonizerPreferenceController.java
index 14206d5..f89cb54 100644
--- a/src/com/android/settings/accessibility/DaltonizerPreferenceController.java
+++ b/src/com/android/settings/accessibility/DaltonizerPreferenceController.java
@@ -16,8 +16,6 @@
 
 package com.android.settings.accessibility;
 
-import static com.android.internal.accessibility.AccessibilityShortcutController.DALTONIZER_COMPONENT_NAME;
-
 import android.content.Context;
 import android.provider.Settings;
 
@@ -40,10 +38,9 @@
 
     @Override
     public CharSequence getSummary() {
-        return AccessibilityUtil.getFeatureFullStateSummary(
-                mContext, DALTONIZER_COMPONENT_NAME,
+        return AccessibilityUtil.getSummary(
+                mContext,
                 DALTONIZER_ENABLED,
-                R.string.daltonizer_state_on, R.string.daltonizer_state_off,
-                R.string.daltonizer_feature_summary);
+                R.string.daltonizer_state_on, R.string.daltonizer_state_off);
     }
 }
diff --git a/src/com/android/settings/accessibility/LiveCaptionPreferenceController.java b/src/com/android/settings/accessibility/LiveCaptionPreferenceController.java
index 5067b56..2d12f67 100644
--- a/src/com/android/settings/accessibility/LiveCaptionPreferenceController.java
+++ b/src/com/android/settings/accessibility/LiveCaptionPreferenceController.java
@@ -20,12 +20,10 @@
 import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
-import android.provider.Settings;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 
-import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
 
 import java.util.List;
@@ -56,16 +54,5 @@
     public void updateState(Preference preference) {
         super.updateState(preference);
         preference.setIntent(LIVE_CAPTION_INTENT);
-        boolean enabled = Settings.Secure.getInt(
-                mContext.getContentResolver(),
-                Settings.Secure.ODI_CAPTIONS_ENABLED, AccessibilityUtil.State.OFF)
-                == AccessibilityUtil.State.ON;
-        CharSequence serviceState = mContext.getText(enabled
-                ? R.string.live_caption_enabled : R.string.live_caption_disabled);
-
-        preference.setSummary(
-                mContext.getString(
-                        R.string.preference_summary_default_combination,
-                        serviceState, mContext.getText(R.string.live_caption_summary)));
     }
 }
\ No newline at end of file
diff --git a/src/com/android/settings/accessibility/OneHandedPreferenceController.java b/src/com/android/settings/accessibility/OneHandedPreferenceController.java
deleted file mode 100644
index a71f777..0000000
--- a/src/com/android/settings/accessibility/OneHandedPreferenceController.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.accessibility;
-
-import android.content.Context;
-
-import com.android.settings.R;
-import com.android.settings.gestures.OneHandedEnablePreferenceController;
-import com.android.settings.gestures.OneHandedSettingsUtils;
-
-/**
- * OneHandedPreferenceController is the same as {@link OneHandedEnablePreferenceController} excepts
- * that the summary shown on the preference item would include the short description of One-handed
- * mode, so that the UI representation is consistent with other items on Accessibility Settings
- */
-public final class OneHandedPreferenceController extends OneHandedEnablePreferenceController {
-
-    public OneHandedPreferenceController(Context context, String preferenceKey) {
-        super(context, preferenceKey);
-    }
-
-    @Override
-    public CharSequence getSummary() {
-        return mContext.getString(
-                R.string.preference_summary_default_combination,
-                mContext.getText(OneHandedSettingsUtils.isOneHandedModeEnabled(mContext)
-                        ? R.string.gesture_setting_on : R.string.gesture_setting_off),
-                mContext.getText(R.string.one_handed_mode_intro_text));
-    }
-}
diff --git a/src/com/android/settings/accessibility/RestrictedPreferenceHelper.java b/src/com/android/settings/accessibility/RestrictedPreferenceHelper.java
index 17d2ac7..dfa2f33 100644
--- a/src/com/android/settings/accessibility/RestrictedPreferenceHelper.java
+++ b/src/com/android/settings/accessibility/RestrictedPreferenceHelper.java
@@ -159,8 +159,7 @@
 
             final String key = componentName.flattenToString();
             final CharSequence title = activityInfo.loadLabel(mPm);
-            final CharSequence summary =
-                    AccessibilitySettings.getA11yShortcutInfoPreferenceSummary(mContext, info);
+            final String summary = info.loadSummary(mPm);
             final String fragment =
                     LaunchAccessibilityActivityPreferenceFragment.class.getName();
 
diff --git a/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java
index a485b49..b096467 100644
--- a/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java
@@ -762,12 +762,9 @@
      */
     public static CharSequence getServiceSummary(Context context) {
         // Get the user shortcut type from settings provider.
-        int shortcutType = getUserShortcutTypeFromSettings(context);
-        return context.getString(
-                R.string.preference_summary_default_combination,
-                shortcutType != AccessibilityUtil.UserShortcutType.EMPTY
-                        ? context.getString(R.string.accessibility_summary_shortcut_enabled)
-                        : context.getString(R.string.generic_accessibility_feature_shortcut_off),
-                context.getText(R.string.magnification_feature_summary));
+        final int uerShortcutType = getUserShortcutTypeFromSettings(context);
+        return (uerShortcutType != AccessibilityUtil.UserShortcutType.EMPTY)
+                ? context.getText(R.string.accessibility_summary_shortcut_enabled)
+                : context.getText(R.string.generic_accessibility_feature_shortcut_off);
     }
 }
diff --git a/src/com/android/settings/biometrics/combination/BiometricsSettingsBase.java b/src/com/android/settings/biometrics/combination/BiometricsSettingsBase.java
index 587a0b2..d8d3484 100644
--- a/src/com/android/settings/biometrics/combination/BiometricsSettingsBase.java
+++ b/src/com/android/settings/biometrics/combination/BiometricsSettingsBase.java
@@ -21,6 +21,7 @@
 
 import static com.android.settings.password.ChooseLockPattern.RESULT_FINISHED;
 
+import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
 import android.hardware.biometrics.SensorProperties;
@@ -179,6 +180,12 @@
             }
 
             mFaceManager.generateChallenge(mUserId, (sensorId, userId, challenge) -> {
+                final Activity activity = getActivity();
+                if (activity == null || activity.isFinishing()) {
+                    Log.e(getLogTag(), "Stop during generating face unlock challenge"
+                            + " because activity is null or finishing");
+                    return;
+                }
                 try {
                     final byte[] token = requestGatekeeperHat(context, mGkPwHandle, mUserId,
                             challenge);
@@ -215,6 +222,12 @@
             }
 
             mFingerprintManager.generateChallenge(mUserId, (sensorId, userId, challenge) -> {
+                final Activity activity = getActivity();
+                if (activity == null || activity.isFinishing()) {
+                    Log.e(getLogTag(), "Stop during generating fingerprint challenge"
+                            + " because activity is null or finishing");
+                    return;
+                }
                 try {
                     final byte[] token = requestGatekeeperHat(context, mGkPwHandle, mUserId,
                             challenge);
diff --git a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollmentActivity.kt b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollmentActivity.kt
index 012978d..ec96597 100644
--- a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollmentActivity.kt
+++ b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollmentActivity.kt
@@ -126,21 +126,21 @@
 
     private var isFirstFragmentAdded = false
 
-    private val findSensorActionObserver: Observer<Int> = Observer<Int> { action ->
+    private val findSensorActionObserver = Observer<Int?> { action ->
         if (DEBUG) {
             Log.d(TAG, "findSensorActionObserver($action)")
         }
         action?.let { onFindSensorAction(it) }
     }
 
-    private val enrollingActionObserver: Observer<Int> = Observer<Int> { action ->
+    private val enrollingActionObserver = Observer<Int?> { action ->
         if (DEBUG) {
             Log.d(TAG, "enrollingActionObserver($action)")
         }
         action?.let { onEnrollingAction(it) }
     }
 
-    private val finishActionObserver: Observer<Int> = Observer<Int> { action ->
+    private val finishActionObserver = Observer<Int?> { action ->
         if (DEBUG) {
             Log.d(TAG, "finishActionObserver($action)")
         }
diff --git a/src/com/android/settings/biometrics2/ui/viewmodel/AutoCredentialViewModel.kt b/src/com/android/settings/biometrics2/ui/viewmodel/AutoCredentialViewModel.kt
index 3fd4d51..95aee4b 100644
--- a/src/com/android/settings/biometrics2/ui/viewmodel/AutoCredentialViewModel.kt
+++ b/src/com/android/settings/biometrics2/ui/viewmodel/AutoCredentialViewModel.kt
@@ -64,11 +64,8 @@
      */
     interface ChallengeGenerator {
 
-        /** Get callback that will be called later after challenge generated */
-        fun getCallback(): GenerateChallengeCallback?
-
-        /** Set callback that will be called later after challenge generated */
-        fun setCallback(callback: GenerateChallengeCallback?)
+        /** Callback that will be called later after challenge generated */
+        var callback: GenerateChallengeCallback?
 
         /** Method for generating challenge from FingerprintManager or FaceManager */
         fun generateChallenge(userId: Int)
@@ -79,30 +76,16 @@
         private val fingerprintRepository: FingerprintRepository
     ) : ChallengeGenerator {
 
-        private var mCallback: GenerateChallengeCallback? = null
-
-        override fun getCallback(): GenerateChallengeCallback? {
-            return mCallback
-        }
-
-        override fun setCallback(callback: GenerateChallengeCallback?) {
-            mCallback = callback
-        }
+        override var callback: GenerateChallengeCallback? = null
 
         override fun generateChallenge(userId: Int) {
-            val callback = mCallback
-            if (callback == null) {
+            callback?.let {
+                fingerprintRepository.generateChallenge(userId) {
+                        sensorId: Int, uid: Int, challenge: Long ->
+                    it.onChallengeGenerated(sensorId, uid, challenge)
+                }
+            } ?:run {
                 Log.e(TAG, "generateChallenge, null callback")
-                return
-            }
-
-            fingerprintRepository.generateChallenge(userId) {
-                sensorId: Int, uid: Int, challenge: Long ->
-                callback.onChallengeGenerated(
-                    sensorId,
-                    uid,
-                    challenge
-                )
             }
         }
 
@@ -160,7 +143,7 @@
         revokeGkPwHandle: Boolean,
         scope: CoroutineScope
     ) {
-        challengeGenerator.setCallback(object : GenerateChallengeCallback {
+        challengeGenerator.callback = object : GenerateChallengeCallback {
             override fun onChallengeGenerated(sensorId: Int, userId: Int, challenge: Long) {
                 var illegalStateExceptionCaught = false
                 try {
@@ -188,7 +171,7 @@
                     }
                 }
             }
-        })
+        }
         challengeGenerator.generateChallenge(userId)
     }
 
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsMacAddressController.java b/src/com/android/settings/bluetooth/BluetoothDetailsMacAddressController.java
index d80512e..9943013 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsMacAddressController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsMacAddressController.java
@@ -59,6 +59,12 @@
                 title.append("\n").append(member.getIdentityAddress());
             }
             mFooterPreference.setTitle(title);
+        } else if (mCachedDevice.getSubDevice() != null) {
+            StringBuilder title = new StringBuilder(mContext.getString(
+                    R.string.bluetooth_multuple_devices_mac_address,
+                    mCachedDevice.getIdentityAddress()));
+            title.append("\n").append(mCachedDevice.getSubDevice().getIdentityAddress());
+            mFooterPreference.setTitle(title);
         } else {
             mFooterPreference.setTitle(mContext.getString(
                     R.string.bluetooth_device_mac_address, mCachedDevice.getIdentityAddress()));
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java b/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java
index 1fd09a3..555868b 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java
@@ -156,6 +156,7 @@
         } else if (profile instanceof PbapServerProfile) {
             profilePref.setChecked(device.getPhonebookAccessPermission()
                     == BluetoothDevice.ACCESS_ALLOWED);
+            profilePref.setSummary(profile.getSummaryResourceForDevice(mCachedDevice.getDevice()));
         } else if (profile instanceof PanProfile) {
             profilePref.setChecked(profile.getConnectionStatus(device) ==
                     BluetoothProfile.STATE_CONNECTED);
diff --git a/src/com/android/settings/bluetooth/BluetoothPairingDialogFragment.java b/src/com/android/settings/bluetooth/BluetoothPairingDialogFragment.java
index 8df4666..a3f9bd4 100644
--- a/src/com/android/settings/bluetooth/BluetoothPairingDialogFragment.java
+++ b/src/com/android/settings/bluetooth/BluetoothPairingDialogFragment.java
@@ -33,6 +33,7 @@
 import android.widget.Button;
 import android.widget.CheckBox;
 import android.widget.EditText;
+import android.widget.Switch;
 import android.widget.TextView;
 
 import androidx.annotation.VisibleForTesting;
@@ -341,11 +342,9 @@
         TextView pairingViewCaption = (TextView) view.findViewById(R.id.pairing_caption);
         TextView pairingViewContent = (TextView) view.findViewById(R.id.pairing_subhead);
         TextView messagePairing = (TextView) view.findViewById(R.id.pairing_code_message);
-        CheckBox contactSharing = (CheckBox) view.findViewById(
+        Switch contactSharing = (Switch) view.findViewById(
                 R.id.phonebook_sharing_message_confirm_pin);
-        contactSharing.setText(getString(R.string.bluetooth_pairing_shares_phonebook));
-
-        contactSharing.setVisibility(
+        view.findViewById(R.id.phonebook_sharing).setVisibility(
                 mPairingController.isContactSharingVisible() ? View.VISIBLE : View.GONE);
         mPairingController.setContactSharingState();
         contactSharing.setChecked(mPairingController.getContactSharingState());
diff --git a/src/com/android/settings/connecteddevice/stylus/StylusDevicesController.java b/src/com/android/settings/connecteddevice/stylus/StylusDevicesController.java
index 0a0e208..985c8b7 100644
--- a/src/com/android/settings/connecteddevice/stylus/StylusDevicesController.java
+++ b/src/com/android/settings/connecteddevice/stylus/StylusDevicesController.java
@@ -45,6 +45,7 @@
 import com.android.settings.R;
 import com.android.settings.dashboard.profileselector.ProfileSelectDialog;
 import com.android.settings.dashboard.profileselector.UserAdapter;
+import com.android.settingslib.PrimarySwitchPreference;
 import com.android.settingslib.bluetooth.BluetoothUtils;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.core.AbstractPreferenceController;
@@ -59,7 +60,8 @@
  * This class adds stylus preferences.
  */
 public class StylusDevicesController extends AbstractPreferenceController implements
-        Preference.OnPreferenceClickListener, LifecycleObserver, OnResume {
+        Preference.OnPreferenceClickListener, Preference.OnPreferenceChangeListener,
+        LifecycleObserver, OnResume {
 
     @VisibleForTesting
     static final String KEY_STYLUS = "device_stylus";
@@ -138,11 +140,15 @@
         return pref;
     }
 
-    private SwitchPreference createOrUpdateHandwritingPreference(SwitchPreference preference) {
-        SwitchPreference pref = preference == null ? new SwitchPreference(mContext) : preference;
+    private PrimarySwitchPreference createOrUpdateHandwritingPreference(
+            PrimarySwitchPreference preference) {
+        PrimarySwitchPreference pref = preference == null ? new PrimarySwitchPreference(mContext)
+                : preference;
         pref.setKey(KEY_HANDWRITING);
         pref.setTitle(mContext.getString(R.string.stylus_textfield_handwriting));
         pref.setIcon(R.drawable.ic_text_fields_alt);
+        // Using a two-target preference, clicking will send an intent and change will toggle.
+        pref.setOnPreferenceChangeListener(this);
         pref.setOnPreferenceClickListener(this);
         pref.setChecked(Settings.Secure.getInt(mContext.getContentResolver(),
                 Settings.Secure.STYLUS_HANDWRITING_ENABLED,
@@ -165,7 +171,6 @@
     @Override
     public boolean onPreferenceClick(Preference preference) {
         String key = preference.getKey();
-
         switch (key) {
             case KEY_DEFAULT_NOTES:
                 PackageManager pm = mContext.getPackageManager();
@@ -181,20 +186,13 @@
                 }
                 break;
             case KEY_HANDWRITING:
-                Settings.Secure.putInt(mContext.getContentResolver(),
-                        Settings.Secure.STYLUS_HANDWRITING_ENABLED,
-                        ((SwitchPreference) preference).isChecked() ? 1 : 0);
-
-                if (((SwitchPreference) preference).isChecked()) {
-                    InputMethodManager imm = mContext.getSystemService(InputMethodManager.class);
-                    InputMethodInfo inputMethod = imm.getCurrentInputMethodInfo();
-                    if (inputMethod == null) break;
-
-                    Intent handwritingIntent =
-                            inputMethod.createStylusHandwritingSettingsActivityIntent();
-                    if (handwritingIntent != null) {
-                        mContext.startActivity(handwritingIntent);
-                    }
+                InputMethodManager imm = mContext.getSystemService(InputMethodManager.class);
+                InputMethodInfo inputMethod = imm.getCurrentInputMethodInfo();
+                if (inputMethod == null) break;
+                Intent handwritingIntent =
+                        inputMethod.createStylusHandwritingSettingsActivityIntent();
+                if (handwritingIntent != null) {
+                    mContext.startActivity(handwritingIntent);
                 }
                 break;
             case KEY_IGNORE_BUTTON:
@@ -207,6 +205,19 @@
     }
 
     @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        String key = preference.getKey();
+        switch (key) {
+            case KEY_HANDWRITING:
+                Settings.Secure.putInt(mContext.getContentResolver(),
+                        Settings.Secure.STYLUS_HANDWRITING_ENABLED,
+                        (boolean) newValue ? 1 : 0);
+                break;
+        }
+        return true;
+    }
+
+    @Override
     public final void displayPreference(PreferenceScreen screen) {
         mPreferencesContainer = (PreferenceCategory) screen.findPreference(getPreferenceKey());
         super.displayPreference(screen);
@@ -233,7 +244,7 @@
             mPreferencesContainer.addPreference(notesPref);
         }
 
-        SwitchPreference currHandwritingPref = mPreferencesContainer.findPreference(
+        PrimarySwitchPreference currHandwritingPref = mPreferencesContainer.findPreference(
                 KEY_HANDWRITING);
         Preference handwritingPref = createOrUpdateHandwritingPreference(currHandwritingPref);
         if (currHandwritingPref == null) {
@@ -328,5 +339,4 @@
 
         return false;
     }
-
 }
diff --git a/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragment.java b/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragment.java
index 3ec879c..6efbc6d 100644
--- a/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragment.java
+++ b/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragment.java
@@ -155,7 +155,7 @@
         final Context prefContext = getPrefContext();
         final List<InputMethodInfo> imis = mInputMethodSettingValues.getInputMethodList();
         final List<InputMethodInfo> enabledImis = getContext().getSystemService(
-                InputMethodManager.class).getEnabledInputMethodListAsUser(mUserId);
+                InputMethodManager.class).getEnabledInputMethodListAsUser(UserHandle.of(mUserId));
         final int numImis = (imis == null ? 0 : imis.size());
         for (int i = 0; i < numImis; ++i) {
             final InputMethodInfo imi = imis.get(i);
diff --git a/src/com/android/settings/inputmethod/NewKeyboardLayoutEnabledLocalesFragment.java b/src/com/android/settings/inputmethod/NewKeyboardLayoutEnabledLocalesFragment.java
index 08b8fd0..f007bc8 100644
--- a/src/com/android/settings/inputmethod/NewKeyboardLayoutEnabledLocalesFragment.java
+++ b/src/com/android/settings/inputmethod/NewKeyboardLayoutEnabledLocalesFragment.java
@@ -145,7 +145,8 @@
 
         PreferenceScreen preferenceScreen = getPreferenceScreen();
         preferenceScreen.removeAll();
-        List<InputMethodInfo> infoList = mImm.getEnabledInputMethodListAsUser(mUserId);
+        List<InputMethodInfo> infoList =
+                mImm.getEnabledInputMethodListAsUser(UserHandle.of(mUserId));
         Collections.sort(infoList, new Comparator<InputMethodInfo>() {
             public int compare(InputMethodInfo o1, InputMethodInfo o2) {
                 String s1 = o1.loadLabel(mContext.getPackageManager()).toString();
@@ -157,7 +158,8 @@
         for (InputMethodInfo info : infoList) {
             mKeyboardInfoList.clear();
             List<InputMethodSubtype> subtypes =
-                    mImm.getEnabledInputMethodSubtypeListAsUser(info.getId(), true, mUserId);
+                    mImm.getEnabledInputMethodSubtypeListAsUser(info.getId(), true,
+                            UserHandle.of(mUserId));
             for (InputMethodSubtype subtype : subtypes) {
                 if (subtype.isSuitableForPhysicalKeyboardLayoutMapping()) {
                     mapLanguageWithLayout(info, subtype);
diff --git a/src/com/android/settings/inputmethod/NewKeyboardSettingsUtils.java b/src/com/android/settings/inputmethod/NewKeyboardSettingsUtils.java
index ad68c43..bdbbbbc 100644
--- a/src/com/android/settings/inputmethod/NewKeyboardSettingsUtils.java
+++ b/src/com/android/settings/inputmethod/NewKeyboardSettingsUtils.java
@@ -20,6 +20,7 @@
 import android.hardware.input.InputDeviceIdentifier;
 import android.hardware.input.InputManager;
 import android.hardware.input.KeyboardLayout;
+import android.os.UserHandle;
 import android.view.InputDevice;
 import android.view.inputmethod.InputMethodInfo;
 import android.view.inputmethod.InputMethodManager;
@@ -55,7 +56,7 @@
 
     static List<String> getSuitableImeLabels(Context context, InputMethodManager imm, int userId) {
         List<String> suitableInputMethodInfoLabels = new ArrayList<>();
-        List<InputMethodInfo> infoList = imm.getEnabledInputMethodListAsUser(userId);
+        List<InputMethodInfo> infoList = imm.getEnabledInputMethodListAsUser(UserHandle.of(userId));
         for (InputMethodInfo info : infoList) {
             List<InputMethodSubtype> subtypes =
                     imm.getEnabledInputMethodSubtypeList(info, true);
diff --git a/src/com/android/settings/localepicker/LocaleListEditor.java b/src/com/android/settings/localepicker/LocaleListEditor.java
index 934a048..d9109c3 100644
--- a/src/com/android/settings/localepicker/LocaleListEditor.java
+++ b/src/com/android/settings/localepicker/LocaleListEditor.java
@@ -364,6 +364,7 @@
                                 }
                             });
             mSuggestionDialog = dialogBuilder.create();
+            mSuggestionDialog.setCanceledOnTouchOutside(false);
             mSuggestionDialog.show();
         } else {
             Log.d(TAG, "Invalid parameter, dialogType:" + dialogType);
diff --git a/src/com/android/settings/media/MediaOutputIndicatorWorker.java b/src/com/android/settings/media/MediaOutputIndicatorWorker.java
index bf1e06e..7c299c6 100644
--- a/src/com/android/settings/media/MediaOutputIndicatorWorker.java
+++ b/src/com/android/settings/media/MediaOutputIndicatorWorker.java
@@ -157,7 +157,11 @@
         return mMediaDevices;
     }
 
+    @Nullable
     public MediaDevice getCurrentConnectedMediaDevice() {
+        if (mLocalMediaManager == null) {
+            return null;
+        }
         return mLocalMediaManager.getCurrentConnectedDevice();
     }
 
diff --git a/src/com/android/settings/remoteauth/introduction/IntroductionImageCarousel.kt b/src/com/android/settings/remoteauth/introduction/IntroductionImageCarousel.kt
new file mode 100644
index 0000000..ffc683e
--- /dev/null
+++ b/src/com/android/settings/remoteauth/introduction/IntroductionImageCarousel.kt
@@ -0,0 +1,159 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.remoteauth.introduction
+
+import android.content.Context
+import android.util.AttributeSet
+import android.util.Log
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.ImageView
+import android.widget.TextView
+
+import androidx.annotation.VisibleForTesting
+import androidx.constraintlayout.widget.ConstraintLayout
+import androidx.recyclerview.widget.LinearLayoutManager
+import androidx.recyclerview.widget.RecyclerView
+import androidx.viewpager2.widget.MarginPageTransformer
+import androidx.viewpager2.widget.ViewPager2
+
+import com.airbnb.lottie.LottieAnimationView
+
+import com.android.settings.R
+import com.android.settingslib.widget.LottieColorUtils
+
+class IntroductionImageCarousel : ConstraintLayout {
+    private val carousel: ViewPager2 by lazy { findViewById<ViewPager2>(R.id.image_carousel) }
+    private val progressIndicator: RecyclerView by lazy {
+        findViewById<RecyclerView>(R.id.carousel_progress_indicator)
+    }
+    private val backArrow: ImageView by lazy { findViewById<ImageView>(R.id.carousel_back_arrow) }
+    private val forwardArrow: ImageView by lazy {
+        findViewById<ImageView>(R.id.carousel_forward_arrow)
+    }
+    private val progressIndicatorAdapter = ProgressIndicatorAdapter()
+    // The index of the current animation we are on
+    private var currentPage = 0
+        set(value) {
+            val pageRange = 0..(ANIMATION_LIST.size - 1)
+            field = value.coerceIn(pageRange)
+            backArrow.isEnabled = field > pageRange.start
+            forwardArrow.isEnabled = field < pageRange.endInclusive
+            carousel.setCurrentItem(field)
+            progressIndicatorAdapter.currentIndex = field
+        }
+
+    private val onPageChangeCallback =
+        object : ViewPager2.OnPageChangeCallback() {
+            override fun onPageSelected(position: Int) {
+                currentPage = position
+            }
+        }
+    constructor(context: Context) : super(context)
+    constructor(context: Context, attrSet: AttributeSet?) : super(context, attrSet)
+
+    init {
+        LayoutInflater.from(context).inflate(R.layout.remote_auth_introduction_image_carousel, this)
+
+        with(carousel) {
+            setPageTransformer(
+                MarginPageTransformer(
+                    context.resources.getDimension(R.dimen.remoteauth_introduction_fragment_padding_horizontal).toInt()
+                )
+            )
+            adapter = ImageCarouselAdapter()
+            registerOnPageChangeCallback(onPageChangeCallback)
+        }
+
+        with(progressIndicator) {
+            layoutManager = LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false)
+            adapter = progressIndicatorAdapter
+        }
+
+        backArrow.setOnClickListener { currentPage-- }
+        forwardArrow.setOnClickListener { currentPage++ }
+    }
+
+    fun unregister() {
+        carousel.unregisterOnPageChangeCallback(onPageChangeCallback)
+    }
+
+    private class AnimationViewHolder(val context: Context, itemView: View) : RecyclerView.ViewHolder(itemView) {
+        val animationView = itemView.requireViewById<LottieAnimationView>(R.id.explanation_animation)
+        val descriptionText = itemView.requireViewById<TextView>(R.id.carousel_text)
+    }
+
+    /** Adapter for the onboarding animations. */
+    private class ImageCarouselAdapter : RecyclerView.Adapter<AnimationViewHolder>() {
+
+        override fun getItemCount() = ANIMATION_LIST.size
+
+        override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) =
+            AnimationViewHolder(parent.context, LayoutInflater.from(parent.context).inflate(R.layout.remote_auth_introduction_image_carousel_item, parent, false))
+
+        override fun onBindViewHolder(holder: AnimationViewHolder, position: Int) {
+            with(holder.animationView) {
+                setAnimation(ANIMATION_LIST[position].first)
+                LottieColorUtils.applyDynamicColors(holder.context, this)
+            }
+            holder.descriptionText.setText(ANIMATION_LIST[position].second)
+            with(holder.itemView) {
+                // This makes sure that the proper description text instead of a generic "Page" label is
+                // verbalized by Talkback when switching to a new page on the ViewPager2.
+                contentDescription = context.getString(ANIMATION_LIST[position].second)
+            }
+        }
+    }
+
+    /** Adapter for icons indicating carousel progress. */
+    private class ProgressIndicatorAdapter : RecyclerView.Adapter<RecyclerView.ViewHolder>() {
+
+        var currentIndex: Int = 0
+            set(value) {
+                val previousIndex = field
+                field = value.coerceIn(0, getItemCount() - 1)
+                notifyItemChanged(previousIndex)
+                notifyItemChanged(field)
+            }
+
+        override fun getItemCount() = ANIMATION_LIST.size
+
+        override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) =
+            object :
+                RecyclerView.ViewHolder(LayoutInflater.from(parent.context).inflate(R.layout.remote_auth_introduction_image_carousel_progress_icon, parent, false)) {}
+
+        override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
+            holder.itemView.isSelected = position == currentIndex
+        }
+    }
+    companion object {
+        @VisibleForTesting
+        val ANIMATION_LIST =
+            listOf(
+                Pair(
+                    R.raw.remoteauth_explanation_swipe_animation,
+                    R.string.security_settings_remoteauth_enroll_introduction_animation_swipe_up
+                ),
+                Pair(
+                    R.raw.remoteauth_explanation_notification_animation,
+                    R.string.security_settings_remoteauth_enroll_introduction_animation_tap_notification
+                ),
+            )
+        const val TAG = "RemoteAuthCarousel"
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/remoteauth/introduction/RemoteAuthEnrollIntroduction.kt b/src/com/android/settings/remoteauth/introduction/RemoteAuthEnrollIntroduction.kt
new file mode 100644
index 0000000..21b8af2
--- /dev/null
+++ b/src/com/android/settings/remoteauth/introduction/RemoteAuthEnrollIntroduction.kt
@@ -0,0 +1,92 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.remoteauth.introduction
+
+import android.os.Bundle
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import com.android.settings.R
+import com.android.settings.remoteauth.RemoteAuthEnrollBase
+import com.google.android.setupcompat.template.FooterButton
+import com.google.android.setupdesign.template.RequireScrollMixin
+
+/**
+ * Provides introductory info about remote authenticator unlock.
+ */
+class RemoteAuthEnrollIntroduction :
+    RemoteAuthEnrollBase(
+        layoutResId = R.layout.remote_auth_enroll_introduction,
+        glifLayoutId = R.id.setup_wizard_layout,
+    ) {
+
+    override fun onCreateView(
+        inflater: LayoutInflater,
+        viewGroup: ViewGroup?,
+        savedInstanceArgs: Bundle?
+    ) =
+        super.onCreateView(inflater, viewGroup, savedInstanceArgs).also {
+            initializeRequireScrollMixin(it)
+        }
+
+
+    override fun initializePrimaryFooterButton() : FooterButton {
+        return FooterButton.Builder(context!!)
+            .setText(R.string.security_settings_remoteauth_enroll_introduction_agree)
+            .setListener(::onPrimaryFooterButtonClick)
+            .setButtonType(FooterButton.ButtonType.OPT_IN)
+            .setTheme(R.style.SudGlifButton_Primary)
+            .build()
+    }
+
+    override fun initializeSecondaryFooterButton() : FooterButton {
+        return FooterButton.Builder(context!!)
+            .setText(R.string.security_settings_remoteauth_enroll_introduction_disagree)
+            .setListener(::onSecondaryFooterButtonClick)
+            .setButtonType(FooterButton.ButtonType.NEXT)
+            .setTheme(R.style.SudGlifButton_Primary)
+            .build()
+    }
+
+    private fun onPrimaryFooterButtonClick(view: View) {
+        // TODO(b/293906345): Wire up navigation
+    }
+
+    private fun onSecondaryFooterButtonClick(view: View) {
+        // TODO(b/293906345): Wire up navigation
+    }
+
+    private fun initializeRequireScrollMixin(view: View) {
+        val layout = getGlifLayout(view)
+        secondaryFooterButton?.visibility = View.INVISIBLE
+        val requireScrollMixin = layout.getMixin(RequireScrollMixin::class.java)
+        requireScrollMixin.requireScrollWithButton(requireContext(), primaryFooterButton,
+            R.string.security_settings_remoteauth_enroll_introduction_more, ::onPrimaryFooterButtonClick)
+        requireScrollMixin.setOnRequireScrollStateChangedListener { scrollNeeded ->
+            if (scrollNeeded) {
+                primaryFooterButton.setText(requireContext(), R.string.security_settings_remoteauth_enroll_introduction_more)
+            } else {
+                primaryFooterButton.setText(requireContext(), R.string.security_settings_remoteauth_enroll_introduction_agree)
+                secondaryFooterButton?.visibility = View.VISIBLE
+            }
+        }
+    }
+
+    private companion object {
+        const val TAG = "RemoteAuthEnrollIntro"
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/search/actionbar/SearchMenuController.java b/src/com/android/settings/search/actionbar/SearchMenuController.java
index a2613e1..98c9c1f 100644
--- a/src/com/android/settings/search/actionbar/SearchMenuController.java
+++ b/src/com/android/settings/search/actionbar/SearchMenuController.java
@@ -86,8 +86,8 @@
             return;
         }
         final MenuItem searchItem = menu.add(Menu.NONE, MENU_SEARCH, 0 /* order */,
-                com.android.settingslib.widget.R.string.search_menu);
-        searchItem.setIcon(com.android.settingslib.widget.R.drawable.ic_search_24dp);
+                R.string.search_menu);
+        searchItem.setIcon(R.drawable.ic_search_24dp);
         searchItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
 
         searchItem.setOnMenuItemClickListener(target -> {
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java
index 6dd1f11..30b8302 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java
@@ -200,7 +200,7 @@
     }
 
     @Test
-    public void getServiceSummary_enableServiceShortcutOn_showsServiceEnabledShortcutOn() {
+    public void getServiceSummary_enableServiceShortcutOnWithEmptyDescription_showsServiceEnabled() {
         doReturn(EMPTY_STRING).when(mServiceInfo).loadSummary(any());
         setShortcutEnabled(mServiceInfo.getComponentName(), true);
 
@@ -208,27 +208,23 @@
                 mServiceInfo, SERVICE_ENABLED).toString();
 
         assertThat(summary).isEqualTo(
-                mContext.getString(R.string.preference_summary_default_combination,
-                        mContext.getString(R.string.generic_accessibility_service_on),
-                        mContext.getString(R.string.accessibility_summary_shortcut_enabled)));
+                mContext.getString(R.string.generic_accessibility_service_on));
     }
 
     @Test
-    public void getServiceSummary_enableServiceShortcutOff_showsServiceEnabledShortcutOff() {
+    public void getServiceSummary_enableServiceShortcutOffWithEmptyDescription_showsServiceEnabled() {
         doReturn(EMPTY_STRING).when(mServiceInfo).loadSummary(any());
         setShortcutEnabled(mServiceInfo.getComponentName(), false);
 
-        String summary = AccessibilitySettings.getServiceSummary(mContext,
-                mServiceInfo, SERVICE_ENABLED).toString();
+        String summary = AccessibilitySettings.getServiceSummary(
+                mContext, mServiceInfo, SERVICE_ENABLED).toString();
 
         assertThat(summary).isEqualTo(
-                mContext.getString(R.string.preference_summary_default_combination,
-                        mContext.getString(R.string.generic_accessibility_service_on),
-                        mContext.getString(R.string.generic_accessibility_feature_shortcut_off)));
+                mContext.getString(R.string.generic_accessibility_service_on));
     }
 
     @Test
-    public void getServiceSummary_disableServiceShortcutOff_showsDisabledShortcutOff() {
+    public void getServiceSummary_disableServiceShortcutOffWithEmptyDescription_showsServiceDisabled() {
         doReturn(EMPTY_STRING).when(mServiceInfo).loadSummary(any());
         setShortcutEnabled(mServiceInfo.getComponentName(), false);
 
@@ -236,13 +232,11 @@
                 mServiceInfo, SERVICE_DISABLED).toString();
 
         assertThat(summary).isEqualTo(
-                mContext.getString(R.string.preference_summary_default_combination,
-                        mContext.getString(R.string.generic_accessibility_service_off),
-                        mContext.getString(R.string.generic_accessibility_feature_shortcut_off)));
+                mContext.getString(R.string.generic_accessibility_service_off));
     }
 
     @Test
-    public void getServiceSummary_disableServiceShortcutOn_showsDisabledShortcutOn() {
+    public void getServiceSummary_disableServiceShortcutOnWithEmptyDescription_showsServiceDisabled() {
         doReturn(EMPTY_STRING).when(mServiceInfo).loadSummary(any());
         setShortcutEnabled(mServiceInfo.getComponentName(), true);
 
@@ -250,13 +244,11 @@
                 mServiceInfo, SERVICE_DISABLED).toString();
 
         assertThat(summary).isEqualTo(
-                mContext.getString(R.string.preference_summary_default_combination,
-                        mContext.getString(R.string.generic_accessibility_service_off),
-                        mContext.getString(R.string.accessibility_summary_shortcut_enabled)));
+                mContext.getString(R.string.generic_accessibility_service_off));
     }
 
     @Test
-    public void getServiceSummary_enableServiceShortcutOffAndHasSummary_showsEnabledShortcutOffSummary() {
+    public void getServiceSummary_enableServiceShortcutOffAndHasSummary_showsEnabledSummary() {
         setShortcutEnabled(mServiceInfo.getComponentName(), false);
         doReturn(DEFAULT_SUMMARY).when(mServiceInfo).loadSummary(any());
 
@@ -264,14 +256,13 @@
                 mServiceInfo, SERVICE_ENABLED).toString();
 
         assertThat(summary).isEqualTo(
-                mContext.getString(R.string.accessibility_feature_full_state_summary,
+                mContext.getString(R.string.preference_summary_default_combination,
                         mContext.getString(R.string.generic_accessibility_service_on),
-                        mContext.getString(R.string.generic_accessibility_feature_shortcut_off),
                         DEFAULT_SUMMARY));
     }
 
     @Test
-    public void getServiceSummary_enableServiceShortcutOnAndHasSummary_showsEnabledShortcutOnSummary() {
+    public void getServiceSummary_enableServiceShortcutOnAndHasSummary_showsEnabledSummary() {
         doReturn(DEFAULT_SUMMARY).when(mServiceInfo).loadSummary(any());
         setShortcutEnabled(mServiceInfo.getComponentName(), true);
 
@@ -279,14 +270,13 @@
                 mServiceInfo, SERVICE_ENABLED).toString();
 
         assertThat(summary).isEqualTo(
-                mContext.getString(R.string.accessibility_feature_full_state_summary,
+                mContext.getString(R.string.preference_summary_default_combination,
                         mContext.getString(R.string.generic_accessibility_service_on),
-                        mContext.getString(R.string.accessibility_summary_shortcut_enabled),
                         DEFAULT_SUMMARY));
     }
 
     @Test
-    public void getServiceSummary_disableServiceShortcutOnAndHasSummary_showsDisabledShortcutOnSummary() {
+    public void getServiceSummary_disableServiceShortcutOnAndHasSummary_showsDisabledSummary() {
         doReturn(DEFAULT_SUMMARY).when(mServiceInfo).loadSummary(any());
         setShortcutEnabled(mServiceInfo.getComponentName(), true);
 
@@ -294,14 +284,13 @@
                 mServiceInfo, SERVICE_DISABLED).toString();
 
         assertThat(summary).isEqualTo(
-                mContext.getString(R.string.accessibility_feature_full_state_summary,
+                mContext.getString(R.string.preference_summary_default_combination,
                         mContext.getString(R.string.generic_accessibility_service_off),
-                        mContext.getString(R.string.accessibility_summary_shortcut_enabled),
                         DEFAULT_SUMMARY));
     }
 
     @Test
-    public void getServiceSummary_disableServiceShortcutOffAndHasSummary_showsDisabledShortcutOffSummary() {
+    public void getServiceSummary_disableServiceShortcutOffAndHasSummary_showsDisabledSummary() {
         setShortcutEnabled(mServiceInfo.getComponentName(), false);
         doReturn(DEFAULT_SUMMARY).when(mServiceInfo).loadSummary(any());
 
@@ -309,9 +298,8 @@
                 mServiceInfo, SERVICE_DISABLED).toString();
 
         assertThat(summary).isEqualTo(
-                mContext.getString(R.string.accessibility_feature_full_state_summary,
+                mContext.getString(R.string.preference_summary_default_combination,
                         mContext.getString(R.string.generic_accessibility_service_off),
-                        mContext.getString(R.string.generic_accessibility_feature_shortcut_off),
                         DEFAULT_SUMMARY));
     }
 
@@ -337,36 +325,6 @@
     }
 
     @Test
-    public void getA11yShortcutInfoPreferenceSummary_shortcutOn_showsShortcutOnSummary() {
-        doReturn(DEFAULT_SUMMARY).when(mShortcutInfo).loadSummary(any());
-        setShortcutEnabled(COMPONENT_NAME, true);
-
-        String summary = AccessibilitySettings.getA11yShortcutInfoPreferenceSummary(
-                mContext,
-                mShortcutInfo).toString();
-
-        assertThat(summary).isEqualTo(
-                mContext.getString(R.string.preference_summary_default_combination,
-                        mContext.getString(R.string.accessibility_summary_shortcut_enabled),
-                        DEFAULT_SUMMARY));
-    }
-
-    @Test
-    public void getA11yShortcutInfoPreferenceSummary_shortcutOff_showsShortcutOffSummary() {
-        doReturn(DEFAULT_SUMMARY).when(mShortcutInfo).loadSummary(any());
-        setShortcutEnabled(COMPONENT_NAME, false);
-
-        String summary = AccessibilitySettings.getA11yShortcutInfoPreferenceSummary(
-                mContext,
-                mShortcutInfo).toString();
-
-        assertThat(summary).isEqualTo(
-                mContext.getString(R.string.preference_summary_default_combination,
-                        mContext.getString(R.string.generic_accessibility_feature_shortcut_off),
-                        DEFAULT_SUMMARY));
-    }
-
-    @Test
     @Config(shadows = {ShadowFragment.class, ShadowUserManager.class})
     public void onCreate_haveRegisterToSpecificUrisAndActions() {
         mFragment.onAttach(mContext);
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityUtilTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityUtilTest.java
index 60b1ee1..7825677 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityUtilTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityUtilTest.java
@@ -248,82 +248,6 @@
                 MOCK_COMPONENT_NAME.flattenToString());
     }
 
-    @Test
-    public void getFeatureFullStateSummary_featureOffShortcutOff_showsOffShortcutOffAndSummary() {
-        setSettingsFeatureEnabled(PLACEHOLDER_SETTING_FEATURE, false);
-        clearShortcuts();
-        String expectedText = mContext.getString(
-                R.string.accessibility_feature_full_state_summary,
-                mContext.getString(R.string.color_inversion_state_off),
-                mContext.getString(R.string.generic_accessibility_feature_shortcut_off),
-                mContext.getString(R.string.color_inversion_feature_summary));
-
-        String observerText = AccessibilityUtil.getFeatureFullStateSummary(
-                mContext, MOCK_COMPONENT_NAME,
-                PLACEHOLDER_SETTING_FEATURE,
-                R.string.color_inversion_state_on, R.string.color_inversion_state_off,
-                R.string.color_inversion_feature_summary).toString();
-
-        assertThat(observerText).isEqualTo(expectedText);
-    }
-
-    @Test
-    public void getFeatureFullStateSummary_featureOnShortcutOff_showsOnShortcutOffAndSummary() {
-        setSettingsFeatureEnabled(PLACEHOLDER_SETTING_FEATURE, true);
-        clearShortcuts();
-        String expectedText = mContext.getString(
-                R.string.accessibility_feature_full_state_summary,
-                mContext.getString(R.string.color_inversion_state_on),
-                mContext.getString(R.string.generic_accessibility_feature_shortcut_off),
-                mContext.getString(R.string.color_inversion_feature_summary));
-
-        String observerText = AccessibilityUtil.getFeatureFullStateSummary(
-                mContext, MOCK_COMPONENT_NAME,
-                PLACEHOLDER_SETTING_FEATURE,
-                R.string.color_inversion_state_on, R.string.color_inversion_state_off,
-                R.string.color_inversion_feature_summary).toString();
-
-        assertThat(observerText).isEqualTo(expectedText);
-    }
-
-    @Test
-    public void getFeatureFullStateSummary_featureOffShortcutOn_showsOffShortcutOnAndSummary() {
-        setSettingsFeatureEnabled(PLACEHOLDER_SETTING_FEATURE, false);
-        setShortcut(UserShortcutType.SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
-        String expectedText = mContext.getString(
-                R.string.accessibility_feature_full_state_summary,
-                mContext.getString(R.string.color_inversion_state_off),
-                mContext.getString(R.string.accessibility_summary_shortcut_enabled),
-                mContext.getString(R.string.color_inversion_feature_summary));
-
-        String observerText = AccessibilityUtil.getFeatureFullStateSummary(
-                mContext, MOCK_COMPONENT_NAME,
-                PLACEHOLDER_SETTING_FEATURE,
-                R.string.color_inversion_state_on, R.string.color_inversion_state_off,
-                R.string.color_inversion_feature_summary).toString();
-
-        assertThat(observerText).isEqualTo(expectedText);
-    }
-
-    @Test
-    public void getFeatureFullStateSummary_featureOnShortcutOn_showsOnShortcutOnAndSummary() {
-        setSettingsFeatureEnabled(PLACEHOLDER_SETTING_FEATURE, true);
-        setShortcut(UserShortcutType.SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
-        String expectedText = mContext.getString(
-                R.string.accessibility_feature_full_state_summary,
-                mContext.getString(R.string.color_inversion_state_on),
-                mContext.getString(R.string.accessibility_summary_shortcut_enabled),
-                mContext.getString(R.string.color_inversion_feature_summary));
-
-        String observerText = AccessibilityUtil.getFeatureFullStateSummary(
-                mContext, MOCK_COMPONENT_NAME,
-                PLACEHOLDER_SETTING_FEATURE,
-                R.string.color_inversion_state_on, R.string.color_inversion_state_off,
-                R.string.color_inversion_feature_summary).toString();
-
-        assertThat(observerText).isEqualTo(expectedText);
-    }
-
     private AccessibilityServiceInfo getMockAccessibilityServiceInfo() {
         final ApplicationInfo applicationInfo = new ApplicationInfo();
         final ServiceInfo serviceInfo = new ServiceInfo();
diff --git a/tests/robotests/src/com/android/settings/accessibility/ColorInversionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/ColorInversionPreferenceControllerTest.java
index 9ed3749..52905fc 100644
--- a/tests/robotests/src/com/android/settings/accessibility/ColorInversionPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/ColorInversionPreferenceControllerTest.java
@@ -52,51 +52,39 @@
     }
 
     @Test
-    public void getSummary_enabledColorInversionShortcutOff_shouldReturnOnShortcutOffSummary() {
+    public void getSummary_enabledColorInversionShortcutOff_shouldReturnOnSummary() {
         setColorInversionEnabled(true);
         setColorInversionShortcutEnabled(false);
 
         assertThat(mController.getSummary().toString()).isEqualTo(
-                mContext.getString(R.string.accessibility_feature_full_state_summary,
-                        mContext.getString(R.string.color_inversion_state_on),
-                        mContext.getString(R.string.generic_accessibility_feature_shortcut_off),
-                        mColorInversionSummary));
+                mContext.getString(R.string.color_inversion_state_on));
     }
 
     @Test
-    public void getSummary_enabledColorInversionShortcutOn_shouldReturnOnShortcutOnSummary() {
+    public void getSummary_enabledColorInversionShortcutOn_shouldReturnOnSummary() {
         setColorInversionEnabled(true);
         setColorInversionShortcutEnabled(true);
 
         assertThat(mController.getSummary().toString()).isEqualTo(
-                mContext.getString(R.string.accessibility_feature_full_state_summary,
-                        mContext.getString(R.string.color_inversion_state_on),
-                        mContext.getString(R.string.accessibility_summary_shortcut_enabled),
-                        mColorInversionSummary));
+                mContext.getString(R.string.color_inversion_state_on));
     }
 
     @Test
-    public void getSummary_disabledColorInversionShortcutOff_shouldReturnOffShortcutOffSummary() {
+    public void getSummary_disabledColorInversionShortcutOff_shouldReturnOffSummary() {
         setColorInversionEnabled(false);
         setColorInversionShortcutEnabled(false);
 
         assertThat(mController.getSummary().toString()).isEqualTo(
-                mContext.getString(R.string.accessibility_feature_full_state_summary,
-                        mContext.getString(R.string.color_inversion_state_off),
-                        mContext.getString(R.string.generic_accessibility_feature_shortcut_off),
-                        mColorInversionSummary));
+                mContext.getString(R.string.color_inversion_state_off));
     }
 
     @Test
-    public void getSummary_disabledColorInversionShortcutOn_shouldReturnOffShortcutOnSummary() {
+    public void getSummary_disabledColorInversionShortcutOn_shouldReturnOffSummary() {
         setColorInversionEnabled(false);
         setColorInversionShortcutEnabled(true);
 
         assertThat(mController.getSummary().toString()).isEqualTo(
-                mContext.getString(R.string.accessibility_feature_full_state_summary,
-                        mContext.getString(R.string.color_inversion_state_off),
-                        mContext.getString(R.string.accessibility_summary_shortcut_enabled),
-                        mColorInversionSummary));
+                mContext.getString(R.string.color_inversion_state_off));
     }
 
     private void setColorInversionShortcutEnabled(boolean enabled) {
diff --git a/tests/robotests/src/com/android/settings/accessibility/DaltonizerPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/DaltonizerPreferenceControllerTest.java
index 96796a0..d41f295 100644
--- a/tests/robotests/src/com/android/settings/accessibility/DaltonizerPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/DaltonizerPreferenceControllerTest.java
@@ -50,51 +50,39 @@
     }
 
     @Test
-    public void getSummary_enabledColorCorrectionShortcutOff_shouldReturnOnShortcutOffSummary() {
+    public void getSummary_enabledColorCorrectionShortcutOff_shouldReturnOnSummary() {
         setColorCorrectionEnabled(true);
         setColorCorrectionShortcutEnabled(false);
 
         assertThat(mController.getSummary().toString()).isEqualTo(
-                mContext.getString(R.string.accessibility_feature_full_state_summary,
-                        mContext.getString(R.string.daltonizer_state_on),
-                        mContext.getString(R.string.generic_accessibility_feature_shortcut_off),
-                        mDaltonizerSummary));
+                mContext.getString(R.string.daltonizer_state_on));
     }
 
     @Test
-    public void getSummary_enabledColorCorrectionShortcutOn_shouldReturnOnShortcutOnSummary() {
+    public void getSummary_enabledColorCorrectionShortcutOn_shouldReturnOnSummary() {
         setColorCorrectionEnabled(true);
         setColorCorrectionShortcutEnabled(true);
 
         assertThat(mController.getSummary().toString()).isEqualTo(
-                mContext.getString(R.string.accessibility_feature_full_state_summary,
-                        mContext.getString(R.string.daltonizer_state_on),
-                        mContext.getString(R.string.accessibility_summary_shortcut_enabled),
-                        mDaltonizerSummary));
+                mContext.getString(R.string.daltonizer_state_on));
     }
 
     @Test
-    public void getSummary_disabledColorCorrectionShortcutOff_shouldReturnOffShortcutOffSummary() {
+    public void getSummary_disabledColorCorrectionShortcutOff_shouldReturnOffSummary() {
         setColorCorrectionEnabled(false);
         setColorCorrectionShortcutEnabled(false);
 
         assertThat(mController.getSummary().toString()).isEqualTo(
-                mContext.getString(R.string.accessibility_feature_full_state_summary,
-                        mContext.getString(R.string.daltonizer_state_off),
-                        mContext.getString(R.string.generic_accessibility_feature_shortcut_off),
-                        mDaltonizerSummary));
+                mContext.getString(R.string.daltonizer_state_off));
     }
 
     @Test
-    public void getSummary_disabledColorCorrectionShortcutOn_shouldReturnOffShortcutOnSummary() {
+    public void getSummary_disabledColorCorrectionShortcutOn_shouldReturnOffSummary() {
         setColorCorrectionEnabled(false);
         setColorCorrectionShortcutEnabled(true);
 
         assertThat(mController.getSummary().toString()).isEqualTo(
-                mContext.getString(R.string.accessibility_feature_full_state_summary,
-                        mContext.getString(R.string.daltonizer_state_off),
-                        mContext.getString(R.string.accessibility_summary_shortcut_enabled),
-                        mDaltonizerSummary));
+                mContext.getString(R.string.daltonizer_state_off));
     }
 
     private void setColorCorrectionEnabled(boolean enabled) {
diff --git a/tests/robotests/src/com/android/settings/accessibility/LiveCaptionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/LiveCaptionPreferenceControllerTest.java
index 2633a2c..a7a7f8f 100644
--- a/tests/robotests/src/com/android/settings/accessibility/LiveCaptionPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/LiveCaptionPreferenceControllerTest.java
@@ -51,6 +51,7 @@
         mContext = ApplicationProvider.getApplicationContext();
         mController = new LiveCaptionPreferenceController(mContext, "test_key");
         mLiveCaptionPreference = new Preference(mContext);
+        mLiveCaptionPreference.setSummary(R.string.live_caption_summary);
     }
 
     @Test
@@ -78,10 +79,7 @@
         mController.updateState(mLiveCaptionPreference);
 
         assertThat(mLiveCaptionPreference.getSummary().toString()).isEqualTo(
-                mContext.getString(
-                        R.string.preference_summary_default_combination,
-                        mContext.getString(R.string.live_caption_enabled),
-                        mContext.getText(R.string.live_caption_summary))
+                mContext.getString(R.string.live_caption_summary)
         );
     }
 
@@ -92,10 +90,7 @@
         mController.updateState(mLiveCaptionPreference);
 
         assertThat(mLiveCaptionPreference.getSummary()).isEqualTo(
-                mContext.getString(
-                        R.string.preference_summary_default_combination,
-                        mContext.getString(R.string.live_caption_disabled),
-                        mContext.getText(R.string.live_caption_summary))
+                mContext.getString(R.string.live_caption_summary)
         );
     }
 
diff --git a/tests/robotests/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentTest.java
index fe925df..fb1b8b9 100644
--- a/tests/robotests/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentTest.java
@@ -494,28 +494,23 @@
     }
 
     @Test
-    public void getSummary_magnificationEnabled_returnShortcutOnWithSummary() {
+    public void getSummary_magnificationEnabled_returnShortcutOn() {
         setMagnificationTripleTapEnabled(true);
 
         assertThat(
                 ToggleScreenMagnificationPreferenceFragment.getServiceSummary(mContext).toString())
                 .isEqualTo(
-                        mContext.getString(R.string.preference_summary_default_combination,
-                                mContext.getString(R.string.accessibility_summary_shortcut_enabled),
-                                mContext.getText(R.string.magnification_feature_summary)));
+                        mContext.getString(R.string.accessibility_summary_shortcut_enabled));
     }
 
     @Test
-    public void getSummary_magnificationDisabled_returnShortcutOffWithSummary() {
+    public void getSummary_magnificationDisabled_returnShortcutOff() {
         setMagnificationTripleTapEnabled(false);
 
         assertThat(
                 ToggleScreenMagnificationPreferenceFragment.getServiceSummary(mContext).toString())
                 .isEqualTo(
-                        mContext.getString(R.string.preference_summary_default_combination,
-                                mContext.getString(
-                                        R.string.generic_accessibility_feature_shortcut_off),
-                                mContext.getText(R.string.magnification_feature_summary)));
+                        mContext.getString(R.string.generic_accessibility_feature_shortcut_off));
     }
 
     private void putStringIntoSettings(String key, String componentName) {
diff --git a/tests/robotests/src/com/android/settings/biometrics/combination/CombinedBiometricProfileSettingsTest.java b/tests/robotests/src/com/android/settings/biometrics/combination/CombinedBiometricProfileSettingsTest.java
index 2ce0757..4781f56 100644
--- a/tests/robotests/src/com/android/settings/biometrics/combination/CombinedBiometricProfileSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/combination/CombinedBiometricProfileSettingsTest.java
@@ -43,6 +43,7 @@
 import android.hardware.fingerprint.FingerprintManager;
 import android.hardware.fingerprint.FingerprintSensorPropertiesInternal;
 import android.os.Bundle;
+import android.util.AndroidRuntimeException;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -58,7 +59,10 @@
 import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.R;
+import com.android.settings.biometrics.BiometricStatusPreferenceController;
 import com.android.settings.biometrics.BiometricsSplitScreenDialog;
+import com.android.settings.biometrics.face.FaceStatusPreferenceController;
+import com.android.settings.biometrics.fingerprint.FingerprintStatusPreferenceController;
 import com.android.settings.password.ChooseLockSettingsHelper;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.ShadowFragment;
@@ -68,7 +72,6 @@
 
 import org.junit.After;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -86,7 +89,6 @@
 import java.util.List;
 import java.util.Map;
 
-@Ignore
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = {ShadowSettingsPreferenceFragment.class, ShadowUtils.class, ShadowFragment.class})
 public class CombinedBiometricProfileSettingsTest {
@@ -104,6 +106,10 @@
     @Mock
     private BiometricSettingsAppPreferenceController mBiometricSettingsAppPreferenceController;
     @Mock
+    private FingerprintStatusPreferenceController mFingerprintStatusPreferenceController;
+    @Mock
+    private FaceStatusPreferenceController mFaceStatusPreferenceController;
+    @Mock
     private FaceManager mFaceManager;
     @Mock
     private FragmentTransaction mFragmentTransaction;
@@ -128,6 +134,29 @@
         List<AbstractPreferenceController> controllerList = new ArrayList<>();
         controllerList.add(mBiometricSettingsAppPreferenceController);
         preferenceControllers.put(BiometricSettingsAppPreferenceController.class, controllerList);
+        controllerList.add(mFingerprintStatusPreferenceController);
+        preferenceControllers.put(FingerprintStatusPreferenceController.class, controllerList);
+        controllerList.add(mFaceStatusPreferenceController);
+        preferenceControllers.put(FaceStatusPreferenceController.class, controllerList);
+
+        doAnswer(invocation -> {
+            final Preference preference = invocation.getArgument(0);
+            return preference.getKey().equals(mFragment.getFingerprintPreferenceKey());
+        }).when(mFingerprintStatusPreferenceController)
+                .setPreferenceTreeClickLauncher(any(), any());
+        doAnswer(invocation -> {
+            final Preference preference = invocation.getArgument(0);
+            return preference.getKey().equals(mFragment.getFingerprintPreferenceKey());
+        }).when(mFingerprintStatusPreferenceController).handlePreferenceTreeClick(any());
+        doAnswer(invocation -> {
+            final Preference preference = invocation.getArgument(0);
+            return preference.getKey().equals(mFragment.getFacePreferenceKey());
+        }).when(mFaceStatusPreferenceController)
+                .setPreferenceTreeClickLauncher(any(), any());
+        doAnswer(invocation -> {
+            final Preference preference = invocation.getArgument(0);
+            return preference.getKey().equals(mFragment.getFacePreferenceKey());
+        }).when(mFaceStatusPreferenceController).handlePreferenceTreeClick(any());
 
         doAnswer(invocation -> {
             final CharSequence key = invocation.getArgument(0);
@@ -164,7 +193,7 @@
         preference.setKey(mFragment.getFingerprintPreferenceKey());
         mFragment.onPreferenceTreeClick(preference);
 
-        verify(mBiometricSettingsAppPreferenceController).handlePreferenceTreeClick(
+        verify(mFingerprintStatusPreferenceController).handlePreferenceTreeClick(
                 mPreferenceCaptor.capture());
         List<Preference> capturedPreferences = mPreferenceCaptor.getAllValues();
 
@@ -224,7 +253,7 @@
         mFragment.onActivityResult(CONFIRM_REQUEST, RESULT_FINISHED,
                 new Intent().putExtra(ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE, 1L));
 
-        verify(mBiometricSettingsAppPreferenceController).handlePreferenceTreeClick(
+        verify(mFingerprintStatusPreferenceController).handlePreferenceTreeClick(
                 mPreferenceCaptor.capture());
         List<Preference> capturedPreferences = mPreferenceCaptor.getAllValues();
         assertThat(capturedPreferences.size()).isEqualTo(1);
@@ -254,7 +283,7 @@
         preference.setKey(mFragment.getFacePreferenceKey());
         mFragment.onPreferenceTreeClick(preference);
 
-        verify(mBiometricSettingsAppPreferenceController).handlePreferenceTreeClick(
+        verify(mFaceStatusPreferenceController).handlePreferenceTreeClick(
                 mPreferenceCaptor.capture());
         List<Preference> capturedPreferences = mPreferenceCaptor.getAllValues();
         assertThat(capturedPreferences.size()).isEqualTo(1);
@@ -313,7 +342,7 @@
         preference.setKey(mFragment.getFacePreferenceKey());
         mFragment.onPreferenceTreeClick(preference);
 
-        verify(mBiometricSettingsAppPreferenceController).handlePreferenceTreeClick(
+        verify(mFaceStatusPreferenceController).handlePreferenceTreeClick(
                 mPreferenceCaptor.capture());
         List<Preference> capturedPreferences = mPreferenceCaptor.getAllValues();
         assertThat(capturedPreferences.size()).isEqualTo(1);
@@ -323,7 +352,7 @@
     @Test
     public void testClickFingerprintUnlock_inMultiWindow_withoutEnrolledFp_showsDialog() {
         testClickFingerprintUnlock(true /* isInMultiWindow */, false /* hasEnrolledFingerprint */);
-        verifyShowsDialogAfterClickingUnlock();
+        verifyShowsDialogAfterClickingUnlock(mFragment.getFingerprintPreferenceKey());
     }
 
     @Test
@@ -380,7 +409,7 @@
     @Test
     public void testClickFaceUnlock_inMultiWindow_withoutEnrolledFp_showsDialog() {
         testClickFaceUnlock(true /* isInMultiWindow */, false /*hasEnrolledFace*/);
-        verifyShowsDialogAfterClickingUnlock();
+        verifyShowsDialogAfterClickingUnlock(mFragment.getFacePreferenceKey());
     }
 
     @Test
@@ -424,8 +453,11 @@
     }
 
     private void verifyNoDialogAfterClickingUnlock(String preferenceKey) {
-        verify(mBiometricSettingsAppPreferenceController).handlePreferenceTreeClick(
-                mPreferenceCaptor.capture());
+        final BiometricStatusPreferenceController controller =
+                preferenceKey.equals(mFragment.getFacePreferenceKey())
+                        ? mFaceStatusPreferenceController
+                        : mFingerprintStatusPreferenceController;
+        verify(controller).handlePreferenceTreeClick(mPreferenceCaptor.capture());
         List<Preference> capturedPreferences = mPreferenceCaptor.getAllValues();
         assertThat(capturedPreferences).hasSize(1);
         assertThat(capturedPreferences.get(0).getKey()).isEqualTo(preferenceKey);
@@ -433,12 +465,77 @@
                 eq(BiometricsSplitScreenDialog.class.getName()));
     }
 
-    private void verifyShowsDialogAfterClickingUnlock() {
-        verify(mBiometricSettingsAppPreferenceController, never()).handlePreferenceTreeClick(any());
+    private void verifyShowsDialogAfterClickingUnlock(String preferenceKey) {
+        final BiometricStatusPreferenceController controller =
+                preferenceKey.equals(mFragment.getFacePreferenceKey())
+                        ? mFaceStatusPreferenceController
+                        : mFingerprintStatusPreferenceController;
+        verify(controller, never()).handlePreferenceTreeClick(any());
         verify(mFragmentTransaction).add(any(),
                 eq(BiometricsSplitScreenDialog.class.getName()));
     }
 
+    @Test
+    public void testNoCrashIfDetachActivityDuringGeneratingChallengeThroughFaceManager() {
+        doAnswer(invocation -> {
+            final FaceManager.GenerateChallengeCallback callback =
+                    invocation.getArgument(1);
+            mFragment.onPause();
+            mFragment.onStop();
+            mFragment.onDestroy();
+            mFragment.onDetach();
+            doReturn(null).when(mFragment).getActivity();
+            callback.onGenerateChallengeResult(0, 0, 1L);
+            return null;
+        }).when(mFaceManager).generateChallenge(anyInt(), any());
+        doThrow(new IllegalStateException("Test")).when(mFragment).requestGatekeeperHat(
+                any(), anyLong(), anyInt(), anyLong());
+        FragmentManager fragmentManager = mock(FragmentManager.class);
+
+        // Start fragment
+        mFragment.onAttach(mContext);
+        mFragment.onCreate(null);
+        mFragment.onCreateView(LayoutInflater.from(mContext), mock(ViewGroup.class), Bundle.EMPTY);
+        mFragment.onResume();
+
+        // User clicks on "Face Unlock"
+        final Preference preference = new Preference(mContext);
+        preference.setKey(mFragment.getFacePreferenceKey());
+        mFragment.onPreferenceTreeClick(preference);
+
+        verify(mFragment, never()).launchChooseOrConfirmLock();
+    }
+
+    @Test
+    public void testNoCrashIfDetachActivityDuringGeneratingChallengeThroughFingerprintManager() {
+        doAnswer(invocation -> {
+            final FingerprintManager.GenerateChallengeCallback callback =
+                    invocation.getArgument(1);
+            mFragment.onPause();
+            mFragment.onStop();
+            mFragment.onDestroy();
+            mFragment.onDetach();
+            doReturn(null).when(mFragment).getActivity();
+            callback.onChallengeGenerated(0, 0, 1L);
+            return null;
+        }).when(mFingerprintManager).generateChallenge(anyInt(), any());
+        doThrow(new IllegalStateException("Test")).when(mFragment).requestGatekeeperHat(
+                any(), anyLong(), anyInt(), anyLong());
+
+        // Start fragment
+        mFragment.onAttach(mContext);
+        mFragment.onCreate(null);
+        mFragment.onCreateView(LayoutInflater.from(mContext), mock(ViewGroup.class), Bundle.EMPTY);
+        mFragment.onResume();
+
+        // User clicks on "Fingerprint Unlock"
+        final Preference preference = new Preference(mContext);
+        preference.setKey(mFragment.getFingerprintPreferenceKey());
+        mFragment.onPreferenceTreeClick(preference);
+
+        verify(mFragment, never()).launchChooseOrConfirmLock();
+    }
+
     /**
      * a test fragment that initializes PreferenceScreen for testing.
      */
@@ -492,7 +589,9 @@
 
         @Override
         protected void launchChooseOrConfirmLock() {
-            // do nothing
+            if (getActivity() == null) {
+                throw new AndroidRuntimeException("TestFailed");
+            }
         }
     }
 }
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsCompanionAppsControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsCompanionAppsControllerTest.java
index e27f43c..120274d 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsCompanionAppsControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsCompanionAppsControllerTest.java
@@ -104,6 +104,7 @@
                 associationId,
                 /* userId */ 0,
                 packageName,
+                /* tag */ null,
                 MacAddress.fromString(mCachedDevice.getAddress()),
                 /* displayName */ null,
                 /* deviceProfile */ "",
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDialogTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDialogTest.java
index 517b435..2044881 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDialogTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDialogTest.java
@@ -33,7 +33,6 @@
 import android.text.TextUtils;
 import android.view.View;
 import android.view.inputmethod.InputMethodManager;
-import android.widget.CheckBox;
 import android.widget.TextView;
 
 import androidx.appcompat.app.AlertDialog;
@@ -276,7 +275,7 @@
     }
 
     @Test
-    public void contactSharingCheckbox_conditionIsReady_showsUi() {
+    public void contactSharingToggle_conditionIsReady_showsUi() {
         // set the dialog variant to confirmation/consent
         when(controller.getDialogType()).thenReturn(BluetoothPairingController.CONFIRMATION_DIALOG);
         // set a fake device name and pretend the profile has not been set up for it
@@ -286,14 +285,14 @@
         // build the fragment
         BluetoothPairingDialogFragment frag = makeFragment();
 
-        // verify that the checkbox is visible and that the device name is correct
-        CheckBox sharingCheckbox =
-                frag.getmDialog().findViewById(R.id.phonebook_sharing_message_confirm_pin);
-        assertThat(sharingCheckbox.getVisibility()).isEqualTo(View.VISIBLE);
+        // verify that the toggle is visible
+        View sharingToggle =
+                frag.getmDialog().findViewById(R.id.phonebook_sharing);
+        assertThat(sharingToggle.getVisibility()).isEqualTo(View.VISIBLE);
     }
 
     @Test
-    public void contactSharingCheckbox_conditionIsNotReady_doesNotShowUi() {
+    public void contactSharingToggle_conditionIsNotReady_doesNotShowUi() {
         // set the dialog variant to confirmation/consent
         when(controller.getDialogType()).thenReturn(BluetoothPairingController.CONFIRMATION_DIALOG);
         // set a fake device name and pretend the profile has been set up for it
@@ -303,10 +302,10 @@
         // build the fragment
         BluetoothPairingDialogFragment frag = makeFragment();
 
-        // verify that the checkbox is gone
-        CheckBox sharingCheckbox =
-                frag.getmDialog().findViewById(R.id.phonebook_sharing_message_confirm_pin);
-        assertThat(sharingCheckbox.getVisibility()).isEqualTo(View.GONE);
+        // verify that the toggle is gone
+        View sharingToggle =
+                frag.getmDialog().findViewById(R.id.phonebook_sharing);
+        assertThat(sharingToggle.getVisibility()).isEqualTo(View.GONE);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/stylus/StylusDevicesControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/stylus/StylusDevicesControllerTest.java
index a3ec66f..b521be1 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/stylus/StylusDevicesControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/stylus/StylusDevicesControllerTest.java
@@ -57,6 +57,7 @@
 
 import com.android.settings.R;
 import com.android.settings.dashboard.profileselector.UserAdapter;
+import com.android.settingslib.PrimarySwitchPreference;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
@@ -403,9 +404,10 @@
                 Settings.Secure.STYLUS_HANDWRITING_ENABLED, 1);
 
         showScreen(mController);
-        SwitchPreference handwritingPref = (SwitchPreference) mPreferenceContainer.getPreference(1);
+        PrimarySwitchPreference handwritingPref =
+                (PrimarySwitchPreference) mPreferenceContainer.getPreference(1);
 
-        assertThat(handwritingPref.isChecked()).isEqualTo(true);
+        assertThat(handwritingPref.getCheckedState()).isEqualTo(true);
     }
 
     @Test
@@ -414,9 +416,10 @@
                 Settings.Secure.STYLUS_HANDWRITING_ENABLED, 0);
 
         showScreen(mController);
-        SwitchPreference handwritingPref = (SwitchPreference) mPreferenceContainer.getPreference(1);
+        PrimarySwitchPreference handwritingPref =
+                (PrimarySwitchPreference) mPreferenceContainer.getPreference(1);
 
-        assertThat(handwritingPref.isChecked()).isEqualTo(false);
+        assertThat(handwritingPref.getCheckedState()).isEqualTo(false);
     }
 
     @Test
@@ -424,21 +427,20 @@
         Settings.Secure.putInt(mContext.getContentResolver(),
                 Settings.Secure.STYLUS_HANDWRITING_ENABLED, 0);
         showScreen(mController);
-        SwitchPreference handwritingPref = (SwitchPreference) mPreferenceContainer.getPreference(1);
+        PrimarySwitchPreference handwritingPref =
+                (PrimarySwitchPreference) mPreferenceContainer.getPreference(1);
 
-        handwritingPref.performClick();
+        handwritingPref.callChangeListener(true);
 
-        assertThat(handwritingPref.isChecked()).isEqualTo(true);
         assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
                 Settings.Secure.STYLUS_HANDWRITING_ENABLED, -1)).isEqualTo(1);
     }
 
     @Test
-    public void handwritingPreference_startsHandwritingSettingsOnClickIfChecked() {
-        Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.STYLUS_HANDWRITING_ENABLED, 0);
+    public void handwritingPreference_startsHandwritingSettingsOnClick() {
         showScreen(mController);
-        SwitchPreference handwritingPref = (SwitchPreference) mPreferenceContainer.getPreference(1);
+        PrimarySwitchPreference handwritingPref =
+                (PrimarySwitchPreference) mPreferenceContainer.getPreference(1);
 
         handwritingPref.performClick();
 
@@ -447,11 +449,23 @@
     }
 
     @Test
-    public void handwritingPreference_doesNotStartHandwritingSettingsOnClickIfNotChecked() {
-        Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.STYLUS_HANDWRITING_ENABLED, 1);
+    public void handwritingPreference_doesNotStartHandwritingSettingsOnChange() {
         showScreen(mController);
-        SwitchPreference handwritingPref = (SwitchPreference) mPreferenceContainer.getPreference(1);
+        PrimarySwitchPreference handwritingPref =
+                (PrimarySwitchPreference) mPreferenceContainer.getPreference(1);
+
+        handwritingPref.callChangeListener(true);
+
+        verify(mInputMethodInfo, times(0)).createStylusHandwritingSettingsActivityIntent();
+        verify(mContext, times(0)).startActivity(any());
+    }
+
+    @Test
+    public void handwritingPreference_doesNotCreateIntentIfNoInputMethod() {
+        when(mImm.getCurrentInputMethodInfo()).thenReturn(null);
+        showScreen(mController);
+        PrimarySwitchPreference handwritingPref =
+                (PrimarySwitchPreference) mPreferenceContainer.getPreference(1);
 
         handwritingPref.performClick();
 
@@ -463,14 +477,12 @@
     public void handwritingPreference_doesNotStartHandwritingSettingsIfNoIntent() {
         when(mInputMethodInfo.createStylusHandwritingSettingsActivityIntent())
                 .thenReturn(null);
-        Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.STYLUS_HANDWRITING_ENABLED, 1);
         showScreen(mController);
-        SwitchPreference handwritingPref = (SwitchPreference) mPreferenceContainer.getPreference(1);
+        PrimarySwitchPreference handwritingPref =
+                (PrimarySwitchPreference) mPreferenceContainer.getPreference(1);
 
         handwritingPref.performClick();
 
-        verify(mInputMethodInfo, times(0)).createStylusHandwritingSettingsActivityIntent();
         verify(mContext, times(0)).startActivity(any());
     }
 
diff --git a/tests/robotests/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragmentTest.java b/tests/robotests/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragmentTest.java
index 98ecc05..c6a5d64 100644
--- a/tests/robotests/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragmentTest.java
@@ -23,11 +23,11 @@
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
-import static org.mockito.Mockito.mock;
 
 import android.content.Context;
 import android.content.pm.ApplicationInfo;
@@ -159,7 +159,7 @@
         mFragment.updateInputMethodPreferenceViews();
 
         verify(mValuesWrapper).getInputMethodList();
-        verify(mInputMethodManager).getEnabledInputMethodListAsUser(anyInt());
+        verify(mInputMethodManager).getEnabledInputMethodListAsUser(any(UserHandle.class));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/remoteauth/introduction/RemoteAuthEnrollIntroductionTest.kt b/tests/robotests/src/com/android/settings/remoteauth/introduction/RemoteAuthEnrollIntroductionTest.kt
new file mode 100644
index 0000000..a271184
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/remoteauth/introduction/RemoteAuthEnrollIntroductionTest.kt
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.remoteauth.introduction
+
+import android.content.Context
+import android.os.Bundle
+import androidx.fragment.app.testing.launchFragmentInContainer
+import androidx.test.core.app.ApplicationProvider
+import com.android.settings.R
+import com.google.android.setupdesign.GlifLayout
+import com.google.common.truth.Truth.assertThat
+
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.robolectric.RobolectricTestRunner
+
+@RunWith(RobolectricTestRunner::class)
+class RemoteAuthEnrollIntroductionTest {
+    private var mContext : Context = ApplicationProvider.getApplicationContext()
+
+    @Test
+    fun testRemoteAuthenticatorEnrollIntroduction_hasHeader() {
+        launchFragmentInContainer<RemoteAuthEnrollIntroduction>(Bundle(), R.style.SudThemeGlif)
+            .onFragment {
+                assertThat((it.view as GlifLayout).headerText)
+                    .isEqualTo(mContext.getString(R.string.security_settings_remoteauth_enroll_introduction_title))
+            }
+    }
+
+    @Test
+    fun testRemoteAuthenticatorEnrollIntroduction_hasDescription() {
+        launchFragmentInContainer<RemoteAuthEnrollIntroduction>(Bundle(), R.style.SudThemeGlif)
+            .onFragment {
+                assertThat((it.view as GlifLayout).descriptionText)
+                    .isEqualTo(mContext.getString(R.string.security_settings_remoteauth_enroll_introduction_message))
+            }
+    }
+}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/search/actionbar/SearchMenuControllerTest.java b/tests/robotests/src/com/android/settings/search/actionbar/SearchMenuControllerTest.java
index b899e3a..eb6ad0c 100644
--- a/tests/robotests/src/com/android/settings/search/actionbar/SearchMenuControllerTest.java
+++ b/tests/robotests/src/com/android/settings/search/actionbar/SearchMenuControllerTest.java
@@ -33,6 +33,7 @@
 
 import androidx.fragment.app.FragmentActivity;
 
+import com.android.settings.R;
 import com.android.settings.core.InstrumentedFragment;
 import com.android.settings.testutils.shadow.ShadowUtils;
 
@@ -71,7 +72,7 @@
 
         when(mHost.getActivity()).thenReturn(mActivity);
         when(mMenu.add(Menu.NONE, MENU_SEARCH, 0 /* order */,
-                com.android.settingslib.widget.R.string.search_menu))
+                R.string.search_menu))
                 .thenReturn(mock(MenuItem.class));
     }
 
@@ -81,7 +82,7 @@
         mHost.getSettingsLifecycle().onCreateOptionsMenu(mMenu, null /* inflater */);
 
         verify(mMenu).add(Menu.NONE, MENU_SEARCH, 0 /* order */,
-                com.android.settingslib.widget.R.string.search_menu);
+                R.string.search_menu);
     }
 
     @Test
diff --git a/tests/unit/src/com/android/settings/accessibility/OneHandedPreferenceControllerTest.java b/tests/unit/src/com/android/settings/accessibility/OneHandedPreferenceControllerTest.java
deleted file mode 100644
index dc5a7d5..0000000
--- a/tests/unit/src/com/android/settings/accessibility/OneHandedPreferenceControllerTest.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.accessibility;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.content.Context;
-
-import androidx.test.core.app.ApplicationProvider;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import com.android.settings.gestures.OneHandedSettingsUtils;
-import com.android.settings.testutils.ResourcesUtils;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-@RunWith(AndroidJUnit4.class)
-public final class OneHandedPreferenceControllerTest {
-    private Context mContext;
-    private OneHandedPreferenceController mController;
-
-    @Before
-    public void setUp() {
-        mContext = ApplicationProvider.getApplicationContext();
-        mController = new OneHandedPreferenceController(mContext, "one_handed");
-    }
-
-    @Test
-    public void getSummary_oneHandedEnabled_showsOnWithSummary() {
-        OneHandedSettingsUtils.setOneHandedModeEnabled(mContext, true);
-        // R.string.gesture_setting_on
-        String gestureSettingOn = ResourcesUtils.getResourcesString(mContext, "gesture_setting_on");
-        // R.string.one_handed_mode_intro_text
-        String oneHandedModeIntroText = ResourcesUtils.getResourcesString(mContext,
-                "one_handed_mode_intro_text");
-
-        // expect: On / $(summary)
-        assertThat(mController.getSummary().toString()).isEqualTo(
-                // R.string.preference_summary_default_combination
-                ResourcesUtils.getResourcesString(mContext,
-                        "preference_summary_default_combination", gestureSettingOn,
-                        oneHandedModeIntroText));
-    }
-
-    @Test
-    public void getSummary_oneHandedDisabled_showsOffWithSummary() {
-        OneHandedSettingsUtils.setOneHandedModeEnabled(mContext, false);
-        // R.string.gesture_setting_off
-        String gestureSettingOff = ResourcesUtils.getResourcesString(mContext,
-                "gesture_setting_off");
-        // R.string.one_handed_mode_intro_text
-        String oneHandedModeIntroText = ResourcesUtils.getResourcesString(mContext,
-                "one_handed_mode_intro_text");
-
-        // expect: Off / $(summary)
-        assertThat(mController.getSummary().toString()).isEqualTo(
-                // R.string.preference_summary_default_combination
-                ResourcesUtils.getResourcesString(mContext,
-                        "preference_summary_default_combination", gestureSettingOff,
-                        oneHandedModeIntroText));
-    }
-}
diff --git a/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/AutoCredentialViewModelTest.kt b/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/AutoCredentialViewModelTest.kt
index c0a0a98..e708f3b 100644
--- a/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/AutoCredentialViewModelTest.kt
+++ b/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/AutoCredentialViewModelTest.kt
@@ -492,20 +492,13 @@
         var challenge = CredentialModel.INVALID_CHALLENGE
         var callbackRunCount = 0
 
-        private var _callback: AutoCredentialViewModel.GenerateChallengeCallback? = null
-
-        override fun getCallback(): AutoCredentialViewModel.GenerateChallengeCallback? {
-            return _callback
-        }
-
-        override fun setCallback(callback: AutoCredentialViewModel.GenerateChallengeCallback?) {
-            _callback = callback
-        }
+        override var callback: AutoCredentialViewModel.GenerateChallengeCallback? = null
 
         override fun generateChallenge(userId: Int) {
-            val callback = _callback ?: return
-            callback.onChallengeGenerated(sensorId, this.userId, challenge)
-            ++callbackRunCount
+            callback?.let {
+                it.onChallengeGenerated(sensorId, this.userId, challenge)
+                ++callbackRunCount
+            }
         }
     }