Snap for 8512216 from 8bd8b591c23d4591508a0eb3d75da488e5f52870 to tm-frc-permission-release

Change-Id: I41612aaa534f1e9302a0bb3ac55458f70ef415a7
diff --git a/.prebuilt_info/prebuilt_info_common_ddmlib_ddmlib-prebuilt_jar.asciipb b/.prebuilt_info/prebuilt_info_common_ddmlib_ddmlib-prebuilt_jar.asciipb
index b706f5d..3c73a0d 100644
--- a/.prebuilt_info/prebuilt_info_common_ddmlib_ddmlib-prebuilt_jar.asciipb
+++ b/.prebuilt_info/prebuilt_info_common_ddmlib_ddmlib-prebuilt_jar.asciipb
@@ -1,6 +1,6 @@
 drops {
   android_build_drop {
-    build_id: "8163285"
+    build_id: "8476652"
     target: "studio-linux"
     source_file: "artifacts/ddmlib.jar"
   }
diff --git a/METADATA b/METADATA
index c8b8c6e..b4a2696 100644
--- a/METADATA
+++ b/METADATA
@@ -1,8 +1,8 @@
 third_party {
-  # would be NOTICE save for:
-  #   common/jacoco/lib/NOTICE.txt
-  # and RECIPROCAL save for:
-  #   common/jython/LICENSE
-  #   gdbserver/NOTICE
+  license_note: "would be NOTICE save for:\n"
+  "   common/jacoco/lib/NOTICE.txt\n"
+  " and RECIPROCAL save for:\n"
+  "   common/jython/LICENSE\n"
+  "   gdbserver/NOTICE"
   license_type: RESTRICTED
 }
diff --git a/common/androidx-test/Android.bp b/common/androidx-test/Android.bp
index 0d8d768..28e8037 100644
--- a/common/androidx-test/Android.bp
+++ b/common/androidx-test/Android.bp
@@ -1,13 +1,45 @@
 // Automatically generated with:
-// pom2bp -rewrite 'androidx.test:=androidx.test.' -rewrite 'androidx.test.ext:=androidx.test.ext.' -rewrite 'androidx.test.espresso:espresso-=androidx.test.espresso.' -rewrite 'androidx.test.janktesthelper:janktesthelper=androidx.test.janktesthelper' -rewrite 'androidx.test.uiautomator:uiautomator=androidx.test.uiautomator' -rewrite 'androidx.test.services:storage=androidx.test.services.storage' -extra-libs androidx.test.rules=android.test.base -extra-libs androidx.test.uiautomator=android.test.base -rewrite 'com.google.truth:truth=truth-prebuilt' -rewrite 'net.sf.kxml:kxml2=kxml2-android' -rewrite 'androidx.lifecycle:lifecycle-common=androidx.lifecycle_lifecycle-common' -rewrite 'androidx.annotation:annotation=androidx.annotation_annotation' -rewrite 'org.hamcrest:hamcrest-integration=hamcrest' -rewrite 'javax.inject:javax.inject=jsr330' -rewrite 'com.google.android.material:material=com.google.android.material_material' -rewrite 'androidx.drawerlayout:drawerlayout=androidx.drawerlayout_drawerlayout' -rewrite 'androidx.viewpager:viewpager=androidx.viewpager_viewpager' -rewrite 'androidx.recyclerview:recyclerview=androidx.recyclerview_recyclerview' -rewrite 'androidx.core:core=androidx.core_core' -rewrite 'androidx.legacy:legacy-support-core-utils=androidx.legacy_legacy-support-core-utils' -sdk-version current -static-deps .
+// pom2bp -rewrite 'androidx.test:=androidx.test.' -rewrite 'androidx.test.annotation:annotation=androidx.test.annotation' -rewrite 'androidx.test.ext:=androidx.test.ext.' -rewrite 'androidx.test.espresso:espresso-=androidx.test.espresso.' -rewrite 'androidx.test.janktesthelper:janktesthelper=androidx.test.janktesthelper' -rewrite 'androidx.test.uiautomator:uiautomator=androidx.test.uiautomator' -rewrite 'androidx.test.services:storage=androidx.test.services.storage' -rewrite 'androidx.tracing:tracing=androidx.tracing_tracing' -rewrite 'androidx.concurrent:concurrent-futures=androidx.concurrent_concurrent-futures' -rewrite 'com.google.guava:listenablefuture=guava-listenablefuture-prebuilt-jar' -extra-libs androidx.test.rules=android.test.base -extra-libs androidx.test.uiautomator=android.test.base -rewrite 'com.google.truth:truth=truth-prebuilt' -rewrite 'net.sf.kxml:kxml2=kxml2-android' -rewrite 'androidx.lifecycle:lifecycle-common=androidx.lifecycle_lifecycle-common' -rewrite 'androidx.annotation:annotation=androidx.annotation_annotation' -rewrite 'org.hamcrest:hamcrest-integration=hamcrest' -rewrite 'javax.inject:javax.inject=jsr330' -rewrite 'com.google.android.material:material=com.google.android.material_material' -rewrite 'androidx.drawerlayout:drawerlayout=androidx.drawerlayout_drawerlayout' -rewrite 'androidx.viewpager:viewpager=androidx.viewpager_viewpager' -rewrite 'androidx.recyclerview:recyclerview=androidx.recyclerview_recyclerview' -rewrite 'androidx.core:core=androidx.core_core' -rewrite 'androidx.legacy:legacy-support-core-utils=androidx.legacy_legacy-support-core-utils' -sdk-version current -static-deps .
 
 package {
     default_applicable_licenses: ["Android-Apache-2.0"],
 }
 
 android_library_import {
+    name: "androidx.test.annotation-nodeps",
+    aars: ["androidx/test/annotation/1.0.0/annotation-1.0.0.aar"],
+    sdk_version: "current",
+    apex_available: [
+        "//apex_available:platform",
+        "//apex_available:anyapex",
+    ],
+    min_sdk_version: "14",
+    static_libs: [
+        "androidx.annotation_annotation",
+        "androidx.annotation_annotation-experimental",
+    ],
+}
+
+android_library {
+    name: "androidx.test.annotation",
+    sdk_version: "current",
+    apex_available: [
+        "//apex_available:platform",
+        "//apex_available:anyapex",
+    ],
+    min_sdk_version: "14",
+    manifest: "manifests/androidx.test.annotation/AndroidManifest.xml",
+    static_libs: [
+        "androidx.test.annotation-nodeps",
+        "androidx.annotation_annotation",
+        "androidx.annotation_annotation-experimental",
+    ],
+    java_version: "1.7",
+}
+
+android_library_import {
     name: "androidx.test.core-nodeps",
-    aars: ["androidx/test/core/1.4.0/core-1.4.0.aar"],
+    aars: ["androidx/test/core/1.4.1-alpha04/core-1.4.1-alpha04.aar"],
     sdk_version: "current",
     apex_available: [
         "//apex_available:platform",
@@ -17,7 +49,12 @@
     static_libs: [
         "androidx.annotation_annotation",
         "androidx.lifecycle_lifecycle-common",
+        "androidx.tracing_tracing",
+        "guava-listenablefuture-prebuilt-jar",
+        "kotlin-stdlib",
+        "androidx.concurrent_concurrent-futures",
         "androidx.test.monitor",
+        "androidx.test.services.storage",
     ],
 }
 
@@ -34,14 +71,19 @@
         "androidx.test.core-nodeps",
         "androidx.annotation_annotation",
         "androidx.lifecycle_lifecycle-common",
+        "androidx.tracing_tracing",
+        "guava-listenablefuture-prebuilt-jar",
+        "kotlin-stdlib",
+        "androidx.concurrent_concurrent-futures",
         "androidx.test.monitor",
+        "androidx.test.services.storage",
     ],
     java_version: "1.7",
 }
 
 android_library_import {
     name: "androidx.test.espresso.contrib-nodeps",
-    aars: ["androidx/test/espresso/espresso-contrib/3.4.0/espresso-contrib-3.4.0.aar"],
+    aars: ["androidx/test/espresso/espresso-contrib/3.5.0-alpha04/espresso-contrib-3.5.0-alpha04.aar"],
     sdk_version: "current",
     apex_available: [
         "//apex_available:platform",
@@ -51,9 +93,9 @@
     static_libs: [
         "com.google.android.material_material",
         "androidx.recyclerview_recyclerview",
-        "androidx.core_core",
         "androidx.drawerlayout_drawerlayout",
         "androidx.viewpager_viewpager",
+        "androidx.core_core",
         "androidx.legacy_legacy-support-core-utils",
         "accessibility-test-framework",
         "androidx.test.espresso.core",
@@ -74,9 +116,9 @@
         "androidx.test.espresso.contrib-nodeps",
         "com.google.android.material_material",
         "androidx.recyclerview_recyclerview",
-        "androidx.core_core",
         "androidx.drawerlayout_drawerlayout",
         "androidx.viewpager_viewpager",
+        "androidx.core_core",
         "androidx.legacy_legacy-support-core-utils",
         "accessibility-test-framework",
         "androidx.test.espresso.core",
@@ -87,7 +129,7 @@
 
 android_library_import {
     name: "androidx.test.espresso.core-nodeps",
-    aars: ["androidx/test/espresso/espresso-core/3.4.0/espresso-core-3.4.0.aar"],
+    aars: ["androidx/test/espresso/espresso-core/3.5.0-alpha04/espresso-core-3.5.0-alpha04.aar"],
     sdk_version: "current",
     apex_available: [
         "//apex_available:platform",
@@ -95,13 +137,17 @@
     ],
     min_sdk_version: "14",
     static_libs: [
+        "androidx.annotation_annotation",
         "javawriter",
         "jsr330",
         "hamcrest-library",
         "hamcrest",
         "jsr305",
+        "kotlin-stdlib",
+        "androidx.test.core",
         "androidx.test.runner",
         "androidx.test.espresso.idling-resource",
+        "androidx.test.annotation",
     ],
 }
 
@@ -116,20 +162,24 @@
     manifest: "manifests/androidx.test.espresso.core/AndroidManifest.xml",
     static_libs: [
         "androidx.test.espresso.core-nodeps",
+        "androidx.annotation_annotation",
         "javawriter",
         "jsr330",
         "hamcrest-library",
         "hamcrest",
         "jsr305",
+        "kotlin-stdlib",
+        "androidx.test.core",
         "androidx.test.runner",
         "androidx.test.espresso.idling-resource",
+        "androidx.test.annotation",
     ],
     java_version: "1.7",
 }
 
 android_library_import {
     name: "androidx.test.espresso.idling-resource-nodeps",
-    aars: ["androidx/test/espresso/espresso-idling-resource/3.4.0/espresso-idling-resource-3.4.0.aar"],
+    aars: ["androidx/test/espresso/espresso-idling-resource/3.5.0-alpha04/espresso-idling-resource-3.5.0-alpha04.aar"],
     sdk_version: "current",
     apex_available: [
         "//apex_available:platform",
@@ -157,7 +207,7 @@
 
 android_library_import {
     name: "androidx.test.espresso.intents-nodeps",
-    aars: ["androidx/test/espresso/espresso-intents/3.4.0/espresso-intents-3.4.0.aar"],
+    aars: ["androidx/test/espresso/espresso-intents/3.5.0-alpha04/espresso-intents-3.5.0-alpha04.aar"],
     sdk_version: "current",
     apex_available: [
         "//apex_available:platform",
@@ -168,6 +218,7 @@
         "androidx.test.espresso.core",
         "androidx.test.core",
         "androidx.test.rules",
+        "androidx.test.annotation",
     ],
 }
 
@@ -185,13 +236,14 @@
         "androidx.test.espresso.core",
         "androidx.test.core",
         "androidx.test.rules",
+        "androidx.test.annotation",
     ],
     java_version: "1.7",
 }
 
 android_library_import {
     name: "androidx.test.espresso.web-nodeps",
-    aars: ["androidx/test/espresso/espresso-web/3.4.0/espresso-web-3.4.0.aar"],
+    aars: ["androidx/test/espresso/espresso-web/3.5.0-alpha04/espresso-web-3.5.0-alpha04.aar"],
     sdk_version: "current",
     apex_available: [
         "//apex_available:platform",
@@ -225,7 +277,7 @@
 
 android_library_import {
     name: "androidx.test.ext.junit-nodeps",
-    aars: ["androidx/test/ext/junit/1.1.3/junit-1.1.3.aar"],
+    aars: ["androidx/test/ext/junit/1.1.4-alpha04/junit-1.1.4-alpha04.aar"],
     sdk_version: "current",
     apex_available: [
         "//apex_available:platform",
@@ -261,7 +313,7 @@
 
 android_library_import {
     name: "androidx.test.ext.truth-nodeps",
-    aars: ["androidx/test/ext/truth/1.4.0/truth-1.4.0.aar"],
+    aars: ["androidx/test/ext/truth/1.5.0-alpha04/truth-1.5.0-alpha04.aar"],
     sdk_version: "current",
     apex_available: [
         "//apex_available:platform",
@@ -329,7 +381,7 @@
 
 android_library_import {
     name: "androidx.test.monitor-nodeps",
-    aars: ["androidx/test/monitor/1.4.0/monitor-1.4.0.aar"],
+    aars: ["androidx/test/monitor/1.6.0-alpha01/monitor-1.6.0-alpha01.aar"],
     sdk_version: "current",
     apex_available: [
         "//apex_available:platform",
@@ -338,6 +390,8 @@
     min_sdk_version: "14",
     static_libs: [
         "androidx.annotation_annotation",
+        "androidx.tracing_tracing",
+        "androidx.test.annotation",
     ],
 }
 
@@ -353,13 +407,15 @@
     static_libs: [
         "androidx.test.monitor-nodeps",
         "androidx.annotation_annotation",
+        "androidx.tracing_tracing",
+        "androidx.test.annotation",
     ],
     java_version: "1.7",
 }
 
 android_library_import {
     name: "androidx.test.rules-nodeps",
-    aars: ["androidx/test/rules/1.4.0/rules-1.4.0.aar"],
+    aars: ["androidx/test/rules/1.4.1-alpha01/rules-1.4.1-alpha01.aar"],
     sdk_version: "current",
     apex_available: [
         "//apex_available:platform",
@@ -395,7 +451,7 @@
 
 android_library_import {
     name: "androidx.test.runner-nodeps",
-    aars: ["androidx/test/runner/1.4.0/runner-1.4.0.aar"],
+    aars: ["androidx/test/runner/1.5.0-alpha01/runner-1.5.0-alpha01.aar"],
     sdk_version: "current",
     apex_available: [
         "//apex_available:platform",
@@ -404,7 +460,9 @@
     min_sdk_version: "14",
     static_libs: [
         "androidx.annotation_annotation",
+        "androidx.tracing_tracing",
         "junit",
+        "androidx.test.annotation",
         "androidx.test.monitor",
         "androidx.test.services.storage",
     ],
@@ -422,7 +480,9 @@
     static_libs: [
         "androidx.test.runner-nodeps",
         "androidx.annotation_annotation",
+        "androidx.tracing_tracing",
         "junit",
+        "androidx.test.annotation",
         "androidx.test.monitor",
         "androidx.test.services.storage",
     ],
@@ -431,7 +491,7 @@
 
 android_library_import {
     name: "androidx.test.services.storage-nodeps",
-    aars: ["androidx/test/services/storage/1.4.0/storage-1.4.0.aar"],
+    aars: ["androidx/test/services/storage/1.4.2-alpha01/storage-1.4.2-alpha01.aar"],
     sdk_version: "current",
     apex_available: [
         "//apex_available:platform",
@@ -439,8 +499,10 @@
     ],
     min_sdk_version: "14",
     static_libs: [
+        "androidx.annotation_annotation",
         "jsr305",
         "androidx.test.monitor",
+        "androidx.test.annotation",
     ],
 }
 
@@ -455,8 +517,10 @@
     manifest: "manifests/androidx.test.services.storage/AndroidManifest.xml",
     static_libs: [
         "androidx.test.services.storage-nodeps",
+        "androidx.annotation_annotation",
         "jsr305",
         "androidx.test.monitor",
+        "androidx.test.annotation",
     ],
     java_version: "1.7",
 }
diff --git a/common/androidx-test/androidx/test/annotation/1.0.0/annotation-1.0.0-sources.jar b/common/androidx-test/androidx/test/annotation/1.0.0/annotation-1.0.0-sources.jar
new file mode 100644
index 0000000..32dbe2a
--- /dev/null
+++ b/common/androidx-test/androidx/test/annotation/1.0.0/annotation-1.0.0-sources.jar
Binary files differ
diff --git a/common/androidx-test/androidx/test/annotation/1.0.0/annotation-1.0.0.aar b/common/androidx-test/androidx/test/annotation/1.0.0/annotation-1.0.0.aar
new file mode 100644
index 0000000..8a9a058
--- /dev/null
+++ b/common/androidx-test/androidx/test/annotation/1.0.0/annotation-1.0.0.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/monitor/1.4.0/monitor-1.4.0.pom b/common/androidx-test/androidx/test/annotation/1.0.0/annotation-1.0.0.pom
similarity index 78%
rename from common/androidx-test/androidx/test/monitor/1.4.0/monitor-1.4.0.pom
rename to common/androidx-test/androidx/test/annotation/1.0.0/annotation-1.0.0.pom
index 1486d08..49bbc9c 100644
--- a/common/androidx-test/androidx/test/monitor/1.4.0/monitor-1.4.0.pom
+++ b/common/androidx-test/androidx/test/annotation/1.0.0/annotation-1.0.0.pom
@@ -4,8 +4,8 @@
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <modelVersion>4.0.0</modelVersion>
   <groupId>androidx.test</groupId>
-  <artifactId>monitor</artifactId>
-  <version>1.4.0</version>
+  <artifactId>annotation</artifactId>
+  <version>1.0.0</version>
   <packaging>aar</packaging>
   <name>AndroidX Test Library</name>
   <description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
@@ -27,7 +27,13 @@
     <dependency>
       <groupId>androidx.annotation</groupId>
       <artifactId>annotation</artifactId>
-      <version>1.0.0</version>
+      <version>1.2.0</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>androidx.annotation</groupId>
+      <artifactId>annotation-experimental</artifactId>
+      <version>1.1.0</version>
       <scope>compile</scope>
     </dependency>
   </dependencies>
diff --git a/common/androidx-test/androidx/test/core/1.4.0/core-1.4.0-sources.jar b/common/androidx-test/androidx/test/core/1.4.0/core-1.4.0-sources.jar
deleted file mode 100644
index 2b2f08a..0000000
--- a/common/androidx-test/androidx/test/core/1.4.0/core-1.4.0-sources.jar
+++ /dev/null
Binary files differ
diff --git a/common/androidx-test/androidx/test/core/1.4.0/core-1.4.0.aar b/common/androidx-test/androidx/test/core/1.4.0/core-1.4.0.aar
deleted file mode 100644
index a761820..0000000
--- a/common/androidx-test/androidx/test/core/1.4.0/core-1.4.0.aar
+++ /dev/null
Binary files differ
diff --git a/common/androidx-test/androidx/test/core/1.4.1-alpha04/core-1.4.1-alpha04-sources.jar b/common/androidx-test/androidx/test/core/1.4.1-alpha04/core-1.4.1-alpha04-sources.jar
new file mode 100644
index 0000000..10f296e
--- /dev/null
+++ b/common/androidx-test/androidx/test/core/1.4.1-alpha04/core-1.4.1-alpha04-sources.jar
Binary files differ
diff --git a/common/androidx-test/androidx/test/core/1.4.1-alpha04/core-1.4.1-alpha04.aar b/common/androidx-test/androidx/test/core/1.4.1-alpha04/core-1.4.1-alpha04.aar
new file mode 100644
index 0000000..e6b82f9
--- /dev/null
+++ b/common/androidx-test/androidx/test/core/1.4.1-alpha04/core-1.4.1-alpha04.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/core/1.4.1-alpha04/core-1.4.1-alpha04.pom b/common/androidx-test/androidx/test/core/1.4.1-alpha04/core-1.4.1-alpha04.pom
new file mode 100644
index 0000000..d094c39
--- /dev/null
+++ b/common/androidx-test/androidx/test/core/1.4.1-alpha04/core-1.4.1-alpha04.pom
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+    xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>androidx.test</groupId>
+  <artifactId>core</artifactId>
+  <version>1.4.1-alpha04</version>
+  <packaging>aar</packaging>
+  <name>AndroidX Test Library</name>
+  <description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
+  <url>https://developer.android.com/testing</url>
+  <inceptionYear>2015</inceptionYear>
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+  <developers>
+    <developer>
+      <name>The Android Open Source Project</name>
+    </developer>
+  </developers>
+  <dependencies>
+    <dependency>
+      <groupId>androidx.annotation</groupId>
+      <artifactId>annotation</artifactId>
+      <version>1.2.0</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>androidx.test</groupId>
+      <artifactId>monitor</artifactId>
+      <version>1.6.0-alpha01</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>androidx.test.services</groupId>
+      <artifactId>storage</artifactId>
+      <version>1.4.2-alpha01</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>androidx.lifecycle</groupId>
+      <artifactId>lifecycle-common</artifactId>
+      <version>2.3.1</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>androidx.tracing</groupId>
+      <artifactId>tracing</artifactId>
+      <version>1.0.0</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.google.guava</groupId>
+      <artifactId>listenablefuture</artifactId>
+      <version>1.0</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.jetbrains.kotlin</groupId>
+      <artifactId>kotlin-stdlib</artifactId>
+      <version>1.6.10</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>androidx.concurrent</groupId>
+      <artifactId>concurrent-futures</artifactId>
+      <version>1.1.0</version>
+      <scope>compile</scope>
+    </dependency>
+  </dependencies>
+</project>
diff --git a/common/androidx-test/androidx/test/espresso/espresso-contrib/3.4.0/espresso-contrib-3.4.0-sources.jar b/common/androidx-test/androidx/test/espresso/espresso-contrib/3.4.0/espresso-contrib-3.4.0-sources.jar
deleted file mode 100644
index 8543f49..0000000
--- a/common/androidx-test/androidx/test/espresso/espresso-contrib/3.4.0/espresso-contrib-3.4.0-sources.jar
+++ /dev/null
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-contrib/3.4.0/espresso-contrib-3.4.0.aar b/common/androidx-test/androidx/test/espresso/espresso-contrib/3.4.0/espresso-contrib-3.4.0.aar
deleted file mode 100644
index 563d9a1..0000000
--- a/common/androidx-test/androidx/test/espresso/espresso-contrib/3.4.0/espresso-contrib-3.4.0.aar
+++ /dev/null
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-contrib/3.5.0-alpha04/espresso-contrib-3.5.0-alpha04-sources.jar b/common/androidx-test/androidx/test/espresso/espresso-contrib/3.5.0-alpha04/espresso-contrib-3.5.0-alpha04-sources.jar
new file mode 100644
index 0000000..8a852cb
--- /dev/null
+++ b/common/androidx-test/androidx/test/espresso/espresso-contrib/3.5.0-alpha04/espresso-contrib-3.5.0-alpha04-sources.jar
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-contrib/3.5.0-alpha04/espresso-contrib-3.5.0-alpha04.aar b/common/androidx-test/androidx/test/espresso/espresso-contrib/3.5.0-alpha04/espresso-contrib-3.5.0-alpha04.aar
new file mode 100644
index 0000000..8dddfcd
--- /dev/null
+++ b/common/androidx-test/androidx/test/espresso/espresso-contrib/3.5.0-alpha04/espresso-contrib-3.5.0-alpha04.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-contrib/3.4.0/espresso-contrib-3.4.0.pom b/common/androidx-test/androidx/test/espresso/espresso-contrib/3.5.0-alpha04/espresso-contrib-3.5.0-alpha04.pom
similarity index 89%
rename from common/androidx-test/androidx/test/espresso/espresso-contrib/3.4.0/espresso-contrib-3.4.0.pom
rename to common/androidx-test/androidx/test/espresso/espresso-contrib/3.5.0-alpha04/espresso-contrib-3.5.0-alpha04.pom
index 3e5ea65..b10ab9b 100644
--- a/common/androidx-test/androidx/test/espresso/espresso-contrib/3.4.0/espresso-contrib-3.4.0.pom
+++ b/common/androidx-test/androidx/test/espresso/espresso-contrib/3.5.0-alpha04/espresso-contrib-3.5.0-alpha04.pom
@@ -5,7 +5,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>androidx.test.espresso</groupId>
   <artifactId>espresso-contrib</artifactId>
-  <version>3.4.0</version>
+  <version>3.5.0-alpha04</version>
   <packaging>aar</packaging>
   <name>AndroidX Test Library</name>
   <description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
@@ -27,37 +27,31 @@
     <dependency>
       <groupId>androidx.test.espresso</groupId>
       <artifactId>espresso-core</artifactId>
-      <version>3.4.0</version>
+      <version>3.5.0-alpha04</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
       <groupId>androidx.test.espresso</groupId>
       <artifactId>espresso-idling-resource</artifactId>
-      <version>3.4.0</version>
+      <version>3.5.0-alpha04</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
       <groupId>com.google.android.material</groupId>
       <artifactId>material</artifactId>
-      <version>1.0.0</version>
+      <version>1.4.0</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
       <groupId>androidx.recyclerview</groupId>
       <artifactId>recyclerview</artifactId>
-      <version>1.0.0</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>androidx.core</groupId>
-      <artifactId>core</artifactId>
-      <version>1.0.0</version>
+      <version>1.2.1</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
       <groupId>androidx.drawerlayout</groupId>
       <artifactId>drawerlayout</artifactId>
-      <version>1.0.0</version>
+      <version>1.1.1</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
@@ -67,6 +61,12 @@
       <scope>compile</scope>
     </dependency>
     <dependency>
+      <groupId>androidx.core</groupId>
+      <artifactId>core</artifactId>
+      <version>1.6.0</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
       <groupId>androidx.legacy</groupId>
       <artifactId>legacy-support-core-utils</artifactId>
       <version>1.0.0</version>
@@ -75,7 +75,7 @@
     <dependency>
       <groupId>com.google.android.apps.common.testing.accessibility.framework</groupId>
       <artifactId>accessibility-test-framework</artifactId>
-      <version>3.1</version>
+      <version>3.1.2</version>
       <scope>compile</scope>
     </dependency>
   </dependencies>
diff --git a/common/androidx-test/androidx/test/espresso/espresso-core/3.4.0/espresso-core-3.4.0-sources.jar b/common/androidx-test/androidx/test/espresso/espresso-core/3.4.0/espresso-core-3.4.0-sources.jar
deleted file mode 100644
index b2ff8c3..0000000
--- a/common/androidx-test/androidx/test/espresso/espresso-core/3.4.0/espresso-core-3.4.0-sources.jar
+++ /dev/null
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-core/3.4.0/espresso-core-3.4.0.aar b/common/androidx-test/androidx/test/espresso/espresso-core/3.4.0/espresso-core-3.4.0.aar
deleted file mode 100644
index e120334..0000000
--- a/common/androidx-test/androidx/test/espresso/espresso-core/3.4.0/espresso-core-3.4.0.aar
+++ /dev/null
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-core/3.5.0-alpha04/espresso-core-3.5.0-alpha04-sources.jar b/common/androidx-test/androidx/test/espresso/espresso-core/3.5.0-alpha04/espresso-core-3.5.0-alpha04-sources.jar
new file mode 100644
index 0000000..2589a6b
--- /dev/null
+++ b/common/androidx-test/androidx/test/espresso/espresso-core/3.5.0-alpha04/espresso-core-3.5.0-alpha04-sources.jar
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-core/3.5.0-alpha04/espresso-core-3.5.0-alpha04.aar b/common/androidx-test/androidx/test/espresso/espresso-core/3.5.0-alpha04/espresso-core-3.5.0-alpha04.aar
new file mode 100644
index 0000000..d3e6772
--- /dev/null
+++ b/common/androidx-test/androidx/test/espresso/espresso-core/3.5.0-alpha04/espresso-core-3.5.0-alpha04.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-core/3.4.0/espresso-core-3.4.0.pom b/common/androidx-test/androidx/test/espresso/espresso-core/3.5.0-alpha04/espresso-core-3.5.0-alpha04.pom
similarity index 72%
rename from common/androidx-test/androidx/test/espresso/espresso-core/3.4.0/espresso-core-3.4.0.pom
rename to common/androidx-test/androidx/test/espresso/espresso-core/3.5.0-alpha04/espresso-core-3.5.0-alpha04.pom
index 7c95828..2760410 100644
--- a/common/androidx-test/androidx/test/espresso/espresso-core/3.4.0/espresso-core-3.4.0.pom
+++ b/common/androidx-test/androidx/test/espresso/espresso-core/3.5.0-alpha04/espresso-core-3.5.0-alpha04.pom
@@ -5,7 +5,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>androidx.test.espresso</groupId>
   <artifactId>espresso-core</artifactId>
-  <version>3.4.0</version>
+  <version>3.5.0-alpha04</version>
   <packaging>aar</packaging>
   <name>AndroidX Test Library</name>
   <description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
@@ -25,15 +25,27 @@
   </developers>
   <dependencies>
     <dependency>
+      <groupId>androidx.annotation</groupId>
+      <artifactId>annotation</artifactId>
+      <version>1.2.0</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>androidx.test</groupId>
+      <artifactId>core</artifactId>
+      <version>1.4.1-alpha04</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
       <groupId>androidx.test</groupId>
       <artifactId>runner</artifactId>
-      <version>1.4.0</version>
+      <version>1.5.0-alpha01</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
       <groupId>androidx.test.espresso</groupId>
       <artifactId>espresso-idling-resource</artifactId>
-      <version>3.4.0</version>
+      <version>3.5.0-alpha04</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
@@ -66,5 +78,17 @@
       <version>2.0.1</version>
       <scope>compile</scope>
     </dependency>
+    <dependency>
+      <groupId>org.jetbrains.kotlin</groupId>
+      <artifactId>kotlin-stdlib</artifactId>
+      <version>1.6.10</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>androidx.test</groupId>
+      <artifactId>annotation</artifactId>
+      <version>1.0.0</version>
+      <scope>compile</scope>
+    </dependency>
   </dependencies>
 </project>
diff --git a/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.4.0/espresso-idling-resource-3.4.0-sources.jar b/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.4.0/espresso-idling-resource-3.4.0-sources.jar
deleted file mode 100644
index 666589e..0000000
--- a/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.4.0/espresso-idling-resource-3.4.0-sources.jar
+++ /dev/null
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.4.0/espresso-idling-resource-3.4.0.aar b/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.4.0/espresso-idling-resource-3.4.0.aar
deleted file mode 100644
index 4caa333..0000000
--- a/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.4.0/espresso-idling-resource-3.4.0.aar
+++ /dev/null
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.5.0-alpha04/espresso-idling-resource-3.5.0-alpha04-sources.jar b/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.5.0-alpha04/espresso-idling-resource-3.5.0-alpha04-sources.jar
new file mode 100644
index 0000000..9619f06
--- /dev/null
+++ b/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.5.0-alpha04/espresso-idling-resource-3.5.0-alpha04-sources.jar
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.5.0-alpha04/espresso-idling-resource-3.5.0-alpha04.aar b/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.5.0-alpha04/espresso-idling-resource-3.5.0-alpha04.aar
new file mode 100644
index 0000000..49d2629
--- /dev/null
+++ b/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.5.0-alpha04/espresso-idling-resource-3.5.0-alpha04.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.4.0/espresso-idling-resource-3.4.0.pom b/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.5.0-alpha04/espresso-idling-resource-3.5.0-alpha04.pom
similarity index 96%
rename from common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.4.0/espresso-idling-resource-3.4.0.pom
rename to common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.5.0-alpha04/espresso-idling-resource-3.5.0-alpha04.pom
index d7806ed..f8d821a 100644
--- a/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.4.0/espresso-idling-resource-3.4.0.pom
+++ b/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.5.0-alpha04/espresso-idling-resource-3.5.0-alpha04.pom
@@ -5,7 +5,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>androidx.test.espresso</groupId>
   <artifactId>espresso-idling-resource</artifactId>
-  <version>3.4.0</version>
+  <version>3.5.0-alpha04</version>
   <packaging>aar</packaging>
   <name>AndroidX Test Library</name>
   <description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
diff --git a/common/androidx-test/androidx/test/espresso/espresso-intents/3.4.0/espresso-intents-3.4.0-sources.jar b/common/androidx-test/androidx/test/espresso/espresso-intents/3.4.0/espresso-intents-3.4.0-sources.jar
deleted file mode 100644
index 3a7287e..0000000
--- a/common/androidx-test/androidx/test/espresso/espresso-intents/3.4.0/espresso-intents-3.4.0-sources.jar
+++ /dev/null
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-intents/3.4.0/espresso-intents-3.4.0.aar b/common/androidx-test/androidx/test/espresso/espresso-intents/3.4.0/espresso-intents-3.4.0.aar
deleted file mode 100644
index 6edf9f3..0000000
--- a/common/androidx-test/androidx/test/espresso/espresso-intents/3.4.0/espresso-intents-3.4.0.aar
+++ /dev/null
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-intents/3.5.0-alpha04/espresso-intents-3.5.0-alpha04-sources.jar b/common/androidx-test/androidx/test/espresso/espresso-intents/3.5.0-alpha04/espresso-intents-3.5.0-alpha04-sources.jar
new file mode 100644
index 0000000..b3e5d03
--- /dev/null
+++ b/common/androidx-test/androidx/test/espresso/espresso-intents/3.5.0-alpha04/espresso-intents-3.5.0-alpha04-sources.jar
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-intents/3.5.0-alpha04/espresso-intents-3.5.0-alpha04.aar b/common/androidx-test/androidx/test/espresso/espresso-intents/3.5.0-alpha04/espresso-intents-3.5.0-alpha04.aar
new file mode 100644
index 0000000..caef56a
--- /dev/null
+++ b/common/androidx-test/androidx/test/espresso/espresso-intents/3.5.0-alpha04/espresso-intents-3.5.0-alpha04.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-intents/3.4.0/espresso-intents-3.4.0.pom b/common/androidx-test/androidx/test/espresso/espresso-intents/3.5.0-alpha04/espresso-intents-3.5.0-alpha04.pom
similarity index 81%
rename from common/androidx-test/androidx/test/espresso/espresso-intents/3.4.0/espresso-intents-3.4.0.pom
rename to common/androidx-test/androidx/test/espresso/espresso-intents/3.5.0-alpha04/espresso-intents-3.5.0-alpha04.pom
index 50d98a1..469572d 100644
--- a/common/androidx-test/androidx/test/espresso/espresso-intents/3.4.0/espresso-intents-3.4.0.pom
+++ b/common/androidx-test/androidx/test/espresso/espresso-intents/3.5.0-alpha04/espresso-intents-3.5.0-alpha04.pom
@@ -5,7 +5,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>androidx.test.espresso</groupId>
   <artifactId>espresso-intents</artifactId>
-  <version>3.4.0</version>
+  <version>3.5.0-alpha04</version>
   <packaging>aar</packaging>
   <name>AndroidX Test Library</name>
   <description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
@@ -27,19 +27,25 @@
     <dependency>
       <groupId>androidx.test.espresso</groupId>
       <artifactId>espresso-core</artifactId>
-      <version>3.4.0</version>
+      <version>3.5.0-alpha04</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
       <groupId>androidx.test</groupId>
       <artifactId>core</artifactId>
-      <version>1.4.0</version>
+      <version>1.4.1-alpha04</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
       <groupId>androidx.test</groupId>
       <artifactId>rules</artifactId>
-      <version>1.4.0</version>
+      <version>1.4.1-alpha04</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>androidx.test</groupId>
+      <artifactId>annotation</artifactId>
+      <version>1.0.0</version>
       <scope>compile</scope>
     </dependency>
   </dependencies>
diff --git a/common/androidx-test/androidx/test/espresso/espresso-web/3.4.0/espresso-web-3.4.0.aar b/common/androidx-test/androidx/test/espresso/espresso-web/3.4.0/espresso-web-3.4.0.aar
deleted file mode 100644
index c080b02..0000000
--- a/common/androidx-test/androidx/test/espresso/espresso-web/3.4.0/espresso-web-3.4.0.aar
+++ /dev/null
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-web/3.4.0/espresso-web-3.4.0-sources.jar b/common/androidx-test/androidx/test/espresso/espresso-web/3.5.0-alpha04/espresso-web-3.5.0-alpha04-sources.jar
similarity index 65%
rename from common/androidx-test/androidx/test/espresso/espresso-web/3.4.0/espresso-web-3.4.0-sources.jar
rename to common/androidx-test/androidx/test/espresso/espresso-web/3.5.0-alpha04/espresso-web-3.5.0-alpha04-sources.jar
index 07d2601..d723055 100644
--- a/common/androidx-test/androidx/test/espresso/espresso-web/3.4.0/espresso-web-3.4.0-sources.jar
+++ b/common/androidx-test/androidx/test/espresso/espresso-web/3.5.0-alpha04/espresso-web-3.5.0-alpha04-sources.jar
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-web/3.5.0-alpha04/espresso-web-3.5.0-alpha04.aar b/common/androidx-test/androidx/test/espresso/espresso-web/3.5.0-alpha04/espresso-web-3.5.0-alpha04.aar
new file mode 100644
index 0000000..239f935
--- /dev/null
+++ b/common/androidx-test/androidx/test/espresso/espresso-web/3.5.0-alpha04/espresso-web-3.5.0-alpha04.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-web/3.4.0/espresso-web-3.4.0.pom b/common/androidx-test/androidx/test/espresso/espresso-web/3.5.0-alpha04/espresso-web-3.5.0-alpha04.pom
similarity index 92%
rename from common/androidx-test/androidx/test/espresso/espresso-web/3.4.0/espresso-web-3.4.0.pom
rename to common/androidx-test/androidx/test/espresso/espresso-web/3.5.0-alpha04/espresso-web-3.5.0-alpha04.pom
index 99719a5..712b5e5 100644
--- a/common/androidx-test/androidx/test/espresso/espresso-web/3.4.0/espresso-web-3.4.0.pom
+++ b/common/androidx-test/androidx/test/espresso/espresso-web/3.5.0-alpha04/espresso-web-3.5.0-alpha04.pom
@@ -5,7 +5,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>androidx.test.espresso</groupId>
   <artifactId>espresso-web</artifactId>
-  <version>3.4.0</version>
+  <version>3.5.0-alpha04</version>
   <packaging>aar</packaging>
   <name>AndroidX Test Library</name>
   <description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
@@ -27,13 +27,13 @@
     <dependency>
       <groupId>androidx.test.espresso</groupId>
       <artifactId>espresso-core</artifactId>
-      <version>3.4.0</version>
+      <version>3.5.0-alpha04</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
       <groupId>androidx.annotation</groupId>
       <artifactId>annotation</artifactId>
-      <version>1.0.0</version>
+      <version>1.2.0</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
diff --git a/common/androidx-test/androidx/test/ext/junit/1.1.3/junit-1.1.3.aar b/common/androidx-test/androidx/test/ext/junit/1.1.3/junit-1.1.3.aar
deleted file mode 100644
index 31fee06..0000000
--- a/common/androidx-test/androidx/test/ext/junit/1.1.3/junit-1.1.3.aar
+++ /dev/null
Binary files differ
diff --git a/common/androidx-test/androidx/test/ext/junit/1.1.3/junit-1.1.3-sources.jar b/common/androidx-test/androidx/test/ext/junit/1.1.4-alpha04/junit-1.1.4-alpha04-sources.jar
similarity index 60%
rename from common/androidx-test/androidx/test/ext/junit/1.1.3/junit-1.1.3-sources.jar
rename to common/androidx-test/androidx/test/ext/junit/1.1.4-alpha04/junit-1.1.4-alpha04-sources.jar
index adb3044..8026710 100644
--- a/common/androidx-test/androidx/test/ext/junit/1.1.3/junit-1.1.3-sources.jar
+++ b/common/androidx-test/androidx/test/ext/junit/1.1.4-alpha04/junit-1.1.4-alpha04-sources.jar
Binary files differ
diff --git a/common/androidx-test/androidx/test/ext/junit/1.1.4-alpha04/junit-1.1.4-alpha04.aar b/common/androidx-test/androidx/test/ext/junit/1.1.4-alpha04/junit-1.1.4-alpha04.aar
new file mode 100644
index 0000000..e066e19
--- /dev/null
+++ b/common/androidx-test/androidx/test/ext/junit/1.1.4-alpha04/junit-1.1.4-alpha04.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/ext/junit/1.1.3/junit-1.1.3.pom b/common/androidx-test/androidx/test/ext/junit/1.1.4-alpha04/junit-1.1.4-alpha04.pom
similarity index 89%
rename from common/androidx-test/androidx/test/ext/junit/1.1.3/junit-1.1.3.pom
rename to common/androidx-test/androidx/test/ext/junit/1.1.4-alpha04/junit-1.1.4-alpha04.pom
index 8b4e749..ba34e0b 100644
--- a/common/androidx-test/androidx/test/ext/junit/1.1.3/junit-1.1.3.pom
+++ b/common/androidx-test/androidx/test/ext/junit/1.1.4-alpha04/junit-1.1.4-alpha04.pom
@@ -5,7 +5,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>androidx.test.ext</groupId>
   <artifactId>junit</artifactId>
-  <version>1.1.3</version>
+  <version>1.1.4-alpha04</version>
   <packaging>aar</packaging>
   <name>AndroidX Test Library</name>
   <description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
@@ -27,25 +27,25 @@
     <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
-      <version>4.12</version>
+      <version>4.13.2</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
       <groupId>androidx.test</groupId>
       <artifactId>core</artifactId>
-      <version>1.4.0</version>
+      <version>1.4.1-alpha04</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
       <groupId>androidx.test</groupId>
       <artifactId>monitor</artifactId>
-      <version>1.4.0</version>
+      <version>1.6.0-alpha01</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
       <groupId>androidx.annotation</groupId>
       <artifactId>annotation</artifactId>
-      <version>1.0.0</version>
+      <version>1.2.0</version>
       <scope>compile</scope>
     </dependency>
   </dependencies>
diff --git a/common/androidx-test/androidx/test/ext/truth/1.4.0/truth-1.4.0-sources.jar b/common/androidx-test/androidx/test/ext/truth/1.4.0/truth-1.4.0-sources.jar
deleted file mode 100644
index bea5a00..0000000
--- a/common/androidx-test/androidx/test/ext/truth/1.4.0/truth-1.4.0-sources.jar
+++ /dev/null
Binary files differ
diff --git a/common/androidx-test/androidx/test/ext/truth/1.4.0/truth-1.4.0.aar b/common/androidx-test/androidx/test/ext/truth/1.4.0/truth-1.4.0.aar
deleted file mode 100644
index 6fe5242..0000000
--- a/common/androidx-test/androidx/test/ext/truth/1.4.0/truth-1.4.0.aar
+++ /dev/null
Binary files differ
diff --git a/common/androidx-test/androidx/test/ext/truth/1.5.0-alpha04/truth-1.5.0-alpha04-sources.jar b/common/androidx-test/androidx/test/ext/truth/1.5.0-alpha04/truth-1.5.0-alpha04-sources.jar
new file mode 100644
index 0000000..6ad0ce2
--- /dev/null
+++ b/common/androidx-test/androidx/test/ext/truth/1.5.0-alpha04/truth-1.5.0-alpha04-sources.jar
Binary files differ
diff --git a/common/androidx-test/androidx/test/ext/truth/1.5.0-alpha04/truth-1.5.0-alpha04.aar b/common/androidx-test/androidx/test/ext/truth/1.5.0-alpha04/truth-1.5.0-alpha04.aar
new file mode 100644
index 0000000..2f7a813
--- /dev/null
+++ b/common/androidx-test/androidx/test/ext/truth/1.5.0-alpha04/truth-1.5.0-alpha04.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/ext/truth/1.4.0/truth-1.4.0.pom b/common/androidx-test/androidx/test/ext/truth/1.5.0-alpha04/truth-1.5.0-alpha04.pom
similarity index 89%
rename from common/androidx-test/androidx/test/ext/truth/1.4.0/truth-1.4.0.pom
rename to common/androidx-test/androidx/test/ext/truth/1.5.0-alpha04/truth-1.5.0-alpha04.pom
index b50acfe..b5ebfee 100644
--- a/common/androidx-test/androidx/test/ext/truth/1.4.0/truth-1.4.0.pom
+++ b/common/androidx-test/androidx/test/ext/truth/1.5.0-alpha04/truth-1.5.0-alpha04.pom
@@ -5,7 +5,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>androidx.test.ext</groupId>
   <artifactId>truth</artifactId>
-  <version>1.4.0</version>
+  <version>1.5.0-alpha04</version>
   <packaging>aar</packaging>
   <name>AndroidX Test Library</name>
   <description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
@@ -27,25 +27,25 @@
     <dependency>
       <groupId>androidx.test</groupId>
       <artifactId>core</artifactId>
-      <version>1.4.0</version>
+      <version>1.4.1-alpha04</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
       <groupId>com.google.guava</groupId>
       <artifactId>guava</artifactId>
-      <version>27.0.1-android</version>
+      <version>30.1.1-android</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
       <groupId>com.google.truth</groupId>
       <artifactId>truth</artifactId>
-      <version>1.0</version>
+      <version>1.1.3</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
       <groupId>androidx.annotation</groupId>
       <artifactId>annotation</artifactId>
-      <version>1.0.0</version>
+      <version>1.2.0</version>
       <scope>compile</scope>
     </dependency>
   </dependencies>
diff --git a/common/androidx-test/androidx/test/monitor/1.4.0/monitor-1.4.0-sources.jar b/common/androidx-test/androidx/test/monitor/1.4.0/monitor-1.4.0-sources.jar
deleted file mode 100644
index 3f6cc0b..0000000
--- a/common/androidx-test/androidx/test/monitor/1.4.0/monitor-1.4.0-sources.jar
+++ /dev/null
Binary files differ
diff --git a/common/androidx-test/androidx/test/monitor/1.4.0/monitor-1.4.0.aar b/common/androidx-test/androidx/test/monitor/1.4.0/monitor-1.4.0.aar
deleted file mode 100644
index 385cb3b..0000000
--- a/common/androidx-test/androidx/test/monitor/1.4.0/monitor-1.4.0.aar
+++ /dev/null
Binary files differ
diff --git a/common/androidx-test/androidx/test/monitor/1.6.0-alpha01/monitor-1.6.0-alpha01-sources.jar b/common/androidx-test/androidx/test/monitor/1.6.0-alpha01/monitor-1.6.0-alpha01-sources.jar
new file mode 100644
index 0000000..7965c08
--- /dev/null
+++ b/common/androidx-test/androidx/test/monitor/1.6.0-alpha01/monitor-1.6.0-alpha01-sources.jar
Binary files differ
diff --git a/common/androidx-test/androidx/test/monitor/1.6.0-alpha01/monitor-1.6.0-alpha01.aar b/common/androidx-test/androidx/test/monitor/1.6.0-alpha01/monitor-1.6.0-alpha01.aar
new file mode 100644
index 0000000..fdfdf2b
--- /dev/null
+++ b/common/androidx-test/androidx/test/monitor/1.6.0-alpha01/monitor-1.6.0-alpha01.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/core/1.4.0/core-1.4.0.pom b/common/androidx-test/androidx/test/monitor/1.6.0-alpha01/monitor-1.6.0-alpha01.pom
similarity index 83%
rename from common/androidx-test/androidx/test/core/1.4.0/core-1.4.0.pom
rename to common/androidx-test/androidx/test/monitor/1.6.0-alpha01/monitor-1.6.0-alpha01.pom
index d21737e..0c799b2 100644
--- a/common/androidx-test/androidx/test/core/1.4.0/core-1.4.0.pom
+++ b/common/androidx-test/androidx/test/monitor/1.6.0-alpha01/monitor-1.6.0-alpha01.pom
@@ -4,8 +4,8 @@
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <modelVersion>4.0.0</modelVersion>
   <groupId>androidx.test</groupId>
-  <artifactId>core</artifactId>
-  <version>1.4.0</version>
+  <artifactId>monitor</artifactId>
+  <version>1.6.0-alpha01</version>
   <packaging>aar</packaging>
   <name>AndroidX Test Library</name>
   <description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
@@ -27,19 +27,19 @@
     <dependency>
       <groupId>androidx.annotation</groupId>
       <artifactId>annotation</artifactId>
-      <version>1.0.0</version>
+      <version>1.2.0</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
       <groupId>androidx.test</groupId>
-      <artifactId>monitor</artifactId>
-      <version>1.4.0</version>
+      <artifactId>annotation</artifactId>
+      <version>1.0.0</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
-      <groupId>androidx.lifecycle</groupId>
-      <artifactId>lifecycle-common</artifactId>
-      <version>2.0.0</version>
+      <groupId>androidx.tracing</groupId>
+      <artifactId>tracing</artifactId>
+      <version>1.0.0</version>
       <scope>compile</scope>
     </dependency>
   </dependencies>
diff --git a/common/androidx-test/androidx/test/rules/1.4.0/rules-1.4.0-sources.jar b/common/androidx-test/androidx/test/rules/1.4.0/rules-1.4.0-sources.jar
deleted file mode 100644
index cccca58..0000000
--- a/common/androidx-test/androidx/test/rules/1.4.0/rules-1.4.0-sources.jar
+++ /dev/null
Binary files differ
diff --git a/common/androidx-test/androidx/test/rules/1.4.0/rules-1.4.0.aar b/common/androidx-test/androidx/test/rules/1.4.0/rules-1.4.0.aar
deleted file mode 100644
index 8bc6e73..0000000
--- a/common/androidx-test/androidx/test/rules/1.4.0/rules-1.4.0.aar
+++ /dev/null
Binary files differ
diff --git a/common/androidx-test/androidx/test/rules/1.4.1-alpha01/rules-1.4.1-alpha01-sources.jar b/common/androidx-test/androidx/test/rules/1.4.1-alpha01/rules-1.4.1-alpha01-sources.jar
new file mode 100644
index 0000000..25ad352
--- /dev/null
+++ b/common/androidx-test/androidx/test/rules/1.4.1-alpha01/rules-1.4.1-alpha01-sources.jar
Binary files differ
diff --git a/common/androidx-test/androidx/test/rules/1.4.1-alpha01/rules-1.4.1-alpha01.aar b/common/androidx-test/androidx/test/rules/1.4.1-alpha01/rules-1.4.1-alpha01.aar
new file mode 100644
index 0000000..a1155b2
--- /dev/null
+++ b/common/androidx-test/androidx/test/rules/1.4.1-alpha01/rules-1.4.1-alpha01.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/rules/1.4.0/rules-1.4.0.pom b/common/androidx-test/androidx/test/rules/1.4.1-alpha01/rules-1.4.1-alpha01.pom
similarity index 93%
rename from common/androidx-test/androidx/test/rules/1.4.0/rules-1.4.0.pom
rename to common/androidx-test/androidx/test/rules/1.4.1-alpha01/rules-1.4.1-alpha01.pom
index e07e67b..12ba297 100644
--- a/common/androidx-test/androidx/test/rules/1.4.0/rules-1.4.0.pom
+++ b/common/androidx-test/androidx/test/rules/1.4.1-alpha01/rules-1.4.1-alpha01.pom
@@ -5,7 +5,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>androidx.test</groupId>
   <artifactId>rules</artifactId>
-  <version>1.4.0</version>
+  <version>1.4.1-alpha01</version>
   <packaging>aar</packaging>
   <name>AndroidX Test Library</name>
   <description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
@@ -27,7 +27,7 @@
     <dependency>
       <groupId>androidx.test</groupId>
       <artifactId>runner</artifactId>
-      <version>1.4.0</version>
+      <version>1.4.1-alpha01</version>
       <scope>compile</scope>
     </dependency>
   </dependencies>
diff --git a/common/androidx-test/androidx/test/runner/1.4.0/runner-1.4.0-sources.jar b/common/androidx-test/androidx/test/runner/1.4.0/runner-1.4.0-sources.jar
deleted file mode 100644
index 322b66c..0000000
--- a/common/androidx-test/androidx/test/runner/1.4.0/runner-1.4.0-sources.jar
+++ /dev/null
Binary files differ
diff --git a/common/androidx-test/androidx/test/runner/1.4.0/runner-1.4.0.aar b/common/androidx-test/androidx/test/runner/1.4.0/runner-1.4.0.aar
deleted file mode 100644
index 3762c05..0000000
--- a/common/androidx-test/androidx/test/runner/1.4.0/runner-1.4.0.aar
+++ /dev/null
Binary files differ
diff --git a/common/androidx-test/androidx/test/runner/1.5.0-alpha01/runner-1.5.0-alpha01-sources.jar b/common/androidx-test/androidx/test/runner/1.5.0-alpha01/runner-1.5.0-alpha01-sources.jar
new file mode 100644
index 0000000..c3e81db
--- /dev/null
+++ b/common/androidx-test/androidx/test/runner/1.5.0-alpha01/runner-1.5.0-alpha01-sources.jar
Binary files differ
diff --git a/common/androidx-test/androidx/test/runner/1.5.0-alpha01/runner-1.5.0-alpha01.aar b/common/androidx-test/androidx/test/runner/1.5.0-alpha01/runner-1.5.0-alpha01.aar
new file mode 100644
index 0000000..e812a79
--- /dev/null
+++ b/common/androidx-test/androidx/test/runner/1.5.0-alpha01/runner-1.5.0-alpha01.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/runner/1.4.0/runner-1.4.0.pom b/common/androidx-test/androidx/test/runner/1.5.0-alpha01/runner-1.5.0-alpha01.pom
similarity index 75%
rename from common/androidx-test/androidx/test/runner/1.4.0/runner-1.4.0.pom
rename to common/androidx-test/androidx/test/runner/1.5.0-alpha01/runner-1.5.0-alpha01.pom
index 05885b2..254f339 100644
--- a/common/androidx-test/androidx/test/runner/1.4.0/runner-1.4.0.pom
+++ b/common/androidx-test/androidx/test/runner/1.5.0-alpha01/runner-1.5.0-alpha01.pom
@@ -5,7 +5,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>androidx.test</groupId>
   <artifactId>runner</artifactId>
-  <version>1.4.0</version>
+  <version>1.5.0-alpha01</version>
   <packaging>aar</packaging>
   <name>AndroidX Test Library</name>
   <description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
@@ -27,25 +27,37 @@
     <dependency>
       <groupId>androidx.annotation</groupId>
       <artifactId>annotation</artifactId>
+      <version>1.2.0</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>androidx.test</groupId>
+      <artifactId>annotation</artifactId>
       <version>1.0.0</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
       <groupId>androidx.test</groupId>
       <artifactId>monitor</artifactId>
-      <version>[1.4.0]</version>
+      <version>[1.6.0-alpha01]</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
       <groupId>androidx.test.services</groupId>
       <artifactId>storage</artifactId>
-      <version>[1.4.0]</version>
+      <version>[1.4.2-alpha01]</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>androidx.tracing</groupId>
+      <artifactId>tracing</artifactId>
+      <version>1.0.0</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
-      <version>4.12</version>
+      <version>4.13.2</version>
       <scope>compile</scope>
     </dependency>
   </dependencies>
diff --git a/common/androidx-test/androidx/test/services/storage/1.4.0/storage-1.4.0-sources.jar b/common/androidx-test/androidx/test/services/storage/1.4.0/storage-1.4.0-sources.jar
deleted file mode 100644
index 87e12e5..0000000
--- a/common/androidx-test/androidx/test/services/storage/1.4.0/storage-1.4.0-sources.jar
+++ /dev/null
Binary files differ
diff --git a/common/androidx-test/androidx/test/services/storage/1.4.0/storage-1.4.0.aar b/common/androidx-test/androidx/test/services/storage/1.4.0/storage-1.4.0.aar
deleted file mode 100644
index 81d285b..0000000
--- a/common/androidx-test/androidx/test/services/storage/1.4.0/storage-1.4.0.aar
+++ /dev/null
Binary files differ
diff --git a/common/androidx-test/androidx/test/services/storage/1.4.0/storage-1.4.0.pom b/common/androidx-test/androidx/test/services/storage/1.4.0/storage-1.4.0.pom
deleted file mode 100644
index 6c5759a..0000000
--- a/common/androidx-test/androidx/test/services/storage/1.4.0/storage-1.4.0.pom
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
-    xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>androidx.test.services</groupId>
-  <artifactId>storage</artifactId>
-  <version>1.4.0</version>
-  <packaging>aar</packaging>
-  <name>AndroidX Test Library</name>
-  <description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
-  <url>https://developer.android.com/testing</url>
-  <inceptionYear>2015</inceptionYear>
-  <licenses>
-    <license>
-      <name>The Apache Software License, Version 2.0</name>
-      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-      <distribution>repo</distribution>
-    </license>
-  </licenses>
-  <developers>
-    <developer>
-      <name>The Android Open Source Project</name>
-    </developer>
-  </developers>
-  <dependencies>
-    <dependency>
-      <groupId>androidx.test</groupId>
-      <artifactId>monitor</artifactId>
-      <version>[1.4.0]</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.google.code.findbugs</groupId>
-      <artifactId>jsr305</artifactId>
-      <version>2.0.1</version>
-      <scope>compile</scope>
-    </dependency>
-  </dependencies>
-</project>
diff --git a/common/androidx-test/androidx/test/services/storage/1.4.2-alpha01/storage-1.4.2-alpha01-sources.jar b/common/androidx-test/androidx/test/services/storage/1.4.2-alpha01/storage-1.4.2-alpha01-sources.jar
new file mode 100644
index 0000000..9e58990
--- /dev/null
+++ b/common/androidx-test/androidx/test/services/storage/1.4.2-alpha01/storage-1.4.2-alpha01-sources.jar
Binary files differ
diff --git a/common/androidx-test/androidx/test/services/storage/1.4.2-alpha01/storage-1.4.2-alpha01.aar b/common/androidx-test/androidx/test/services/storage/1.4.2-alpha01/storage-1.4.2-alpha01.aar
new file mode 100644
index 0000000..734d464
--- /dev/null
+++ b/common/androidx-test/androidx/test/services/storage/1.4.2-alpha01/storage-1.4.2-alpha01.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/ext/junit/1.1.3/junit-1.1.3.pom b/common/androidx-test/androidx/test/services/storage/1.4.2-alpha01/storage-1.4.2-alpha01.pom
similarity index 79%
copy from common/androidx-test/androidx/test/ext/junit/1.1.3/junit-1.1.3.pom
copy to common/androidx-test/androidx/test/services/storage/1.4.2-alpha01/storage-1.4.2-alpha01.pom
index 8b4e749..de5afd6 100644
--- a/common/androidx-test/androidx/test/ext/junit/1.1.3/junit-1.1.3.pom
+++ b/common/androidx-test/androidx/test/services/storage/1.4.2-alpha01/storage-1.4.2-alpha01.pom
@@ -3,9 +3,9 @@
     xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <modelVersion>4.0.0</modelVersion>
-  <groupId>androidx.test.ext</groupId>
-  <artifactId>junit</artifactId>
-  <version>1.1.3</version>
+  <groupId>androidx.test.services</groupId>
+  <artifactId>storage</artifactId>
+  <version>1.4.2-alpha01</version>
   <packaging>aar</packaging>
   <name>AndroidX Test Library</name>
   <description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
@@ -25,25 +25,25 @@
   </developers>
   <dependencies>
     <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.12</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>androidx.test</groupId>
-      <artifactId>core</artifactId>
-      <version>1.4.0</version>
+      <groupId>androidx.annotation</groupId>
+      <artifactId>annotation</artifactId>
+      <version>1.2.0</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
       <groupId>androidx.test</groupId>
       <artifactId>monitor</artifactId>
-      <version>1.4.0</version>
+      <version>[1.6.0-alpha01]</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
-      <groupId>androidx.annotation</groupId>
+      <groupId>com.google.code.findbugs</groupId>
+      <artifactId>jsr305</artifactId>
+      <version>2.0.1</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>androidx.test</groupId>
       <artifactId>annotation</artifactId>
       <version>1.0.0</version>
       <scope>compile</scope>
diff --git a/common/androidx-test/manifests/androidx.test.annotation/AndroidManifest.xml b/common/androidx-test/manifests/androidx.test.annotation/AndroidManifest.xml
new file mode 100644
index 0000000..da6d25a
--- /dev/null
+++ b/common/androidx-test/manifests/androidx.test.annotation/AndroidManifest.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2021 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.
+-->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="androidx.test.annotation" >
+
+    <uses-sdk
+        android:minSdkVersion="14"
+        android:targetSdkVersion="30" />
+
+</manifest>
\ No newline at end of file
diff --git a/common/androidx-test/manifests/androidx.test.core/AndroidManifest.xml b/common/androidx-test/manifests/androidx.test.core/AndroidManifest.xml
index f16ef39..ed79120 100644
--- a/common/androidx-test/manifests/androidx.test.core/AndroidManifest.xml
+++ b/common/androidx-test/manifests/androidx.test.core/AndroidManifest.xml
@@ -27,7 +27,7 @@
         <activity
             android:name="androidx.test.core.app.InstrumentationActivityInvoker$BootstrapActivity"
             android:exported="true"
-            android:theme="@android:style/Theme" >
+            android:theme="@style/WhiteBackgroundTheme" >
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
             </intent-filter>
@@ -35,7 +35,7 @@
         <activity
             android:name="androidx.test.core.app.InstrumentationActivityInvoker$EmptyActivity"
             android:exported="true"
-            android:theme="@android:style/Theme" >
+            android:theme="@style/WhiteBackgroundTheme" >
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
             </intent-filter>
@@ -43,7 +43,7 @@
         <activity
             android:name="androidx.test.core.app.InstrumentationActivityInvoker$EmptyFloatingActivity"
             android:exported="true"
-            android:theme="@android:style/Theme.Dialog" >
+            android:theme="@style/WhiteBackgroundDialogTheme" >
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
             </intent-filter>
diff --git a/common/androidx-test/update-from-gmaven.py b/common/androidx-test/update-from-gmaven.py
index e3e0e67..8e61a9e 100755
--- a/common/androidx-test/update-from-gmaven.py
+++ b/common/androidx-test/update-from-gmaven.py
@@ -18,23 +18,29 @@
 import subprocess
 import sys
 
-runnerVersion="1.4.0"
-rulesVersion=runnerVersion
-espressoVersion="3.4.0"
-coreVersion=runnerVersion
-extJUnitVersion="1.1.3"
-extTruthVersion=runnerVersion
-servicesVersion=runnerVersion
+annotationVersion="1.0.0"
+monitorVersion="1.6.0-alpha01"
+runnerVersion="1.5.0-alpha01"
+rulesVersion="1.4.1-alpha01"
+espressoVersion="3.5.0-alpha04"
+coreVersion="1.4.1-alpha04"
+extJUnitVersion="1.1.4-alpha04"
+extTruthVersion="1.5.0-alpha04"
+servicesVersion="1.4.2-alpha01"
 jankTestHelperVersion="1.0.1"
 uiAutomatorVersion="2.2.0"
 
 mavenToBpPatternMap = {
     "androidx.test:" : "androidx.test.",
+    "androidx.test.annotation:annotation" : "androidx.test.annotation",
     "androidx.test.ext:": "androidx.test.ext.",
     "androidx.test.espresso:espresso-":"androidx.test.espresso.",
     "androidx.test.janktesthelper:janktesthelper":"androidx.test.janktesthelper",
     "androidx.test.uiautomator:uiautomator":"androidx.test.uiautomator",
     "androidx.test.services:storage":"androidx.test.services.storage",
+    "androidx.tracing:tracing":"androidx.tracing_tracing",
+    "androidx.concurrent:concurrent-futures":"androidx.concurrent_concurrent-futures",
+    "com.google.guava:listenablefuture":"guava-listenablefuture-prebuilt-jar",
     }
 
 extraLibs = {
@@ -99,6 +105,7 @@
 cmd("rm -rf androidx/test")
 cmd("rm -rf manifests")
 
+downloadArtifact("androidx.test", "annotation", annotationVersion)
 downloadArtifact("androidx.test", "core", coreVersion)
 downloadArtifact("androidx.test.espresso", "espresso-core", espressoVersion)
 downloadArtifact("androidx.test.espresso", "espresso-contrib", espressoVersion)
@@ -106,7 +113,7 @@
 downloadArtifact("androidx.test.espresso", "espresso-intents", espressoVersion)
 downloadArtifact("androidx.test.espresso", "espresso-idling-resource", espressoVersion)
 downloadArtifact("androidx.test.espresso", "espresso-web", espressoVersion)
-downloadArtifact("androidx.test", "monitor", runnerVersion)
+downloadArtifact("androidx.test", "monitor", monitorVersion)
 downloadArtifact("androidx.test", "rules", rulesVersion)
 downloadArtifact("androidx.test", "runner", runnerVersion)
 downloadArtifact("androidx.test.ext", "junit", extJUnitVersion)
diff --git a/common/asm/Android.bp b/common/asm/Android.bp
index 86ca4d6..089fdf2 100644
--- a/common/asm/Android.bp
+++ b/common/asm/Android.bp
@@ -82,7 +82,7 @@
 }
 
 java_defaults {
-    name: "asm-7.0-defaults",
+    name: "asm-9.2-defaults",
     apex_available: [
         "//apex_available:anyapex",
         "//apex_available:platform",
@@ -90,36 +90,36 @@
 }
 
 java_import {
-    name: "asm-7.0",
+    name: "asm-9.2",
     host_supported: true,
-    jars: ["asm-7.0.jar"],
-    defaults: ["asm-7.0-defaults"],
+    jars: ["asm-9.2.jar"],
+    defaults: ["asm-9.2-defaults"],
 }
 
 java_import {
-    name: "asm-analysis-7.0",
+    name: "asm-analysis-9.2",
     host_supported: true,
-    jars: ["asm-analysis-7.0.jar"],
-    defaults: ["asm-7.0-defaults"],
+    jars: ["asm-analysis-9.2.jar"],
+    defaults: ["asm-9.2-defaults"],
 }
 
 java_import {
-    name: "asm-commons-7.0",
+    name: "asm-commons-9.2",
     host_supported: true,
-    jars: ["asm-commons-7.0.jar"],
-    defaults: ["asm-7.0-defaults"],
+    jars: ["asm-commons-9.2.jar"],
+    defaults: ["asm-9.2-defaults"],
 }
 
 java_import {
-    name: "asm-tree-7.0",
+    name: "asm-tree-9.2",
     host_supported: true,
-    jars: ["asm-tree-7.0.jar"],
-    defaults: ["asm-7.0-defaults"],
+    jars: ["asm-tree-9.2.jar"],
+    defaults: ["asm-9.2-defaults"],
 }
 
 java_import {
-    name: "asm-util-7.0",
+    name: "asm-util-9.2",
     host_supported: true,
-    jars: ["asm-util-7.0.jar"],
-    defaults: ["asm-7.0-defaults"],
+    jars: ["asm-util-9.2.jar"],
+    defaults: ["asm-9.2-defaults"],
 }
diff --git a/common/asm/PREBUILT b/common/asm/PREBUILT
index 72eddd2..4db93eb 100644
--- a/common/asm/PREBUILT
+++ b/common/asm/PREBUILT
@@ -4,8 +4,8 @@
 http://download.forge.ow2.org/asm/asm-5.2.tar.gz
 http://download.forge.ow2.org/asm/asm-6.0.tar.gz
 
-https://repository.ow2.org/nexus/content/repositories/releases/org/ow2/asm/asm/7.0/asm-7.0-sources.jar
-https://repository.ow2.org/nexus/content/repositories/releases/org/ow2/asm/asm-analysis/7.0/asm-analysis-7.0-sources.jar
-https://repository.ow2.org/nexus/content/repositories/releases/org/ow2/asm/asm-commons/7.0/asm-commons-7.0-sources.jar
-https://repository.ow2.org/nexus/content/repositories/releases/org/ow2/asm/asm-tree/7.0/asm-tree-7.0-sources.jar
-https://repository.ow2.org/nexus/content/repositories/releases/org/ow2/asm/asm-util/7.0/asm-util-7.0-sources.jar
+https://repository.ow2.org/nexus/content/repositories/releases/org/ow2/asm/asm/9.2/asm-9.2-sources.jar
+https://repository.ow2.org/nexus/content/repositories/releases/org/ow2/asm/asm-analysis/9.2/asm-analysis-9.2-sources.jar
+https://repository.ow2.org/nexus/content/repositories/releases/org/ow2/asm/asm-commons/9.2/asm-commons-9.2-sources.jar
+https://repository.ow2.org/nexus/content/repositories/releases/org/ow2/asm/asm-tree/9.2/asm-tree-9.2-sources.jar
+https://repository.ow2.org/nexus/content/repositories/releases/org/ow2/asm/asm-util/9.2/asm-util-9.2-sources.jar
diff --git a/common/asm/asm-7.0.jar b/common/asm/asm-7.0.jar
deleted file mode 100644
index 2cf38f4..0000000
--- a/common/asm/asm-7.0.jar
+++ /dev/null
Binary files differ
diff --git a/common/asm/asm-9.2.jar b/common/asm/asm-9.2.jar
new file mode 100644
index 0000000..3557ae4
--- /dev/null
+++ b/common/asm/asm-9.2.jar
Binary files differ
diff --git a/common/asm/asm-analysis-7.0.jar b/common/asm/asm-analysis-7.0.jar
deleted file mode 100644
index 341d0c5..0000000
--- a/common/asm/asm-analysis-7.0.jar
+++ /dev/null
Binary files differ
diff --git a/common/asm/asm-analysis-9.2.jar b/common/asm/asm-analysis-9.2.jar
new file mode 100644
index 0000000..9d575ca
--- /dev/null
+++ b/common/asm/asm-analysis-9.2.jar
Binary files differ
diff --git a/common/asm/asm-commons-7.0.jar b/common/asm/asm-commons-7.0.jar
deleted file mode 100644
index ba0de6c..0000000
--- a/common/asm/asm-commons-7.0.jar
+++ /dev/null
Binary files differ
diff --git a/common/asm/asm-commons-9.2.jar b/common/asm/asm-commons-9.2.jar
new file mode 100644
index 0000000..01028a0
--- /dev/null
+++ b/common/asm/asm-commons-9.2.jar
Binary files differ
diff --git a/common/asm/asm-tree-7.0.jar b/common/asm/asm-tree-7.0.jar
deleted file mode 100644
index 243c3cb..0000000
--- a/common/asm/asm-tree-7.0.jar
+++ /dev/null
Binary files differ
diff --git a/common/asm/asm-tree-9.2.jar b/common/asm/asm-tree-9.2.jar
new file mode 100644
index 0000000..0a6833a
--- /dev/null
+++ b/common/asm/asm-tree-9.2.jar
Binary files differ
diff --git a/common/asm/asm-util-7.0.jar b/common/asm/asm-util-7.0.jar
deleted file mode 100644
index 47717e5..0000000
--- a/common/asm/asm-util-7.0.jar
+++ /dev/null
Binary files differ
diff --git a/common/asm/asm-util-9.2.jar b/common/asm/asm-util-9.2.jar
new file mode 100644
index 0000000..3afe6e6
--- /dev/null
+++ b/common/asm/asm-util-9.2.jar
Binary files differ
diff --git a/common/commons-cli/Android.bp b/common/commons-cli/Android.bp
index cf12ca4..6e4cd78 100644
--- a/common/commons-cli/Android.bp
+++ b/common/commons-cli/Android.bp
@@ -35,7 +35,9 @@
     ],
 }
 
-java_import_host {
+java_import {
     name: "commons-cli-1.2",
+    host_supported: true,
+    sdk_version: "core_current",
     jars: ["commons-cli-1.2.jar"],
 }
diff --git a/common/ddmlib/ddmlib-prebuilt.jar b/common/ddmlib/ddmlib-prebuilt.jar
index b2c4f4e..ae0a1de 100644
--- a/common/ddmlib/ddmlib-prebuilt.jar
+++ b/common/ddmlib/ddmlib-prebuilt.jar
Binary files differ
diff --git a/common/frameworks/PREBUILT b/common/frameworks/PREBUILT
index 2580dca..71f186f 100644
--- a/common/frameworks/PREBUILT
+++ b/common/frameworks/PREBUILT
@@ -1,13 +1,17 @@
 The objects in this prebuilt directory can be built from
 	platform/frameworks/base
 
+Both are built using the aosp_arm64 variant.
+
 platformprotos-prebuilt.jar:
-Built from commit I2e7dd4868abda85d244e73592ff12d688f5c21fc.
-First AOSP build containing the change is aosp-master@7532584.
+Built from commit e72e4ca85bd1e8ecfba717283093275b9dcd2f8d.
+First AOSP build containing the change is aosp-master@8347157.
 
 platformtestprotos-prebuilt.jar:
-Built from change I82386a6c8a5e6ddf42d8377148001f4ede2f297f
+Built from commit e72e4ca85bd1e8ecfba717283093275b9dcd2f8d.
+First AOSP build containing the change is aosp-master@8347157.
 
 Note: Before dropping the jars, please run the following command to strip the
 jar manifest file, which causes hidden dependency on jars in the Class-Path.
+(Similar for platformtestprotos)
 $ zip -d platformprotos-prebuilt.jar META-INF/MANIFEST.MF
diff --git a/common/frameworks/platformprotos-prebuilt.jar b/common/frameworks/platformprotos-prebuilt.jar
index 6024892..a32e50e 100644
--- a/common/frameworks/platformprotos-prebuilt.jar
+++ b/common/frameworks/platformprotos-prebuilt.jar
Binary files differ
diff --git a/common/frameworks/platformtestprotos-prebuilt.jar b/common/frameworks/platformtestprotos-prebuilt.jar
index 77b9419..bf95702 100644
--- a/common/frameworks/platformtestprotos-prebuilt.jar
+++ b/common/frameworks/platformtestprotos-prebuilt.jar
Binary files differ
diff --git a/common/jacoco/Android.bp b/common/jacoco/Android.bp
index 9cd1065..b7fc330 100644
--- a/common/jacoco/Android.bp
+++ b/common/jacoco/Android.bp
@@ -15,11 +15,11 @@
     srcs: ["src/main/java/**/*.java"],
 
     static_libs: [
-        "asm-analysis-7.0",
-        "asm-commons-7.0",
-        "asm-7.0",
-        "asm-tree-7.0",
-        "asm-util-7.0",
+        "asm-analysis-9.2",
+        "asm-commons-9.2",
+        "asm-9.2",
+        "asm-tree-9.2",
+        "asm-util-9.2",
         "jvm-jacoco-report",
         "commons-cli-1.2",
     ],
diff --git a/common/robolectric/3.6.1/report-internal.mk b/common/robolectric/3.6.1/report-internal.mk
index 4989632..e8713e7 100644
--- a/common/robolectric/3.6.1/report-internal.mk
+++ b/common/robolectric/3.6.1/report-internal.mk
@@ -40,6 +40,9 @@
     $(my_coverage_output_zip):robotests-coverage/$(LOCAL_MODULE)/robolectric-html-coverage.zip \
     $(my_coverage_output):robotests-coverage/$(LOCAL_MODULE)/robolectric-coverage.xml)
 
+ALL_TARGETS.$(my_coverage_output_zip).META_LIC:=$(module_license_metadata)
+ALL_TARGETS.$(my_coverage_output).META_LIC:=$(module_license_metadata)
+
 # Running the coverage will always generate the report.
 $(my_target): $(my_coverage_output)
 
diff --git a/common/robolectric/3.6.1/robotest-internal.mk b/common/robolectric/3.6.1/robotest-internal.mk
index f8e4470..9bd9b5d 100644
--- a/common/robolectric/3.6.1/robotest-internal.mk
+++ b/common/robolectric/3.6.1/robotest-internal.mk
@@ -12,6 +12,9 @@
 my_target_output := $(intermediates)/$(my_filename_stem)-output.txt
 my_target_retval := $(intermediates)/$(my_filename_stem)-retval.txt
 
+ALL_TARGETS.$(my_target_output).META_LIC:=$(module_license_metadata)
+ALL_TARGETS.$(my_target_xml).META_LIC:=$(module_license_metadata)
+
 # We should always re-run the tests, even if nothing has changed.
 # So until the build system has a dedicated "no cache" option, claim
 # to write a file that is never produced.
diff --git a/common/robolectric/3.6.2/report-internal.mk b/common/robolectric/3.6.2/report-internal.mk
index 4989632..e8713e7 100644
--- a/common/robolectric/3.6.2/report-internal.mk
+++ b/common/robolectric/3.6.2/report-internal.mk
@@ -40,6 +40,9 @@
     $(my_coverage_output_zip):robotests-coverage/$(LOCAL_MODULE)/robolectric-html-coverage.zip \
     $(my_coverage_output):robotests-coverage/$(LOCAL_MODULE)/robolectric-coverage.xml)
 
+ALL_TARGETS.$(my_coverage_output_zip).META_LIC:=$(module_license_metadata)
+ALL_TARGETS.$(my_coverage_output).META_LIC:=$(module_license_metadata)
+
 # Running the coverage will always generate the report.
 $(my_target): $(my_coverage_output)
 
diff --git a/common/robolectric/3.6.2/robotest-internal.mk b/common/robolectric/3.6.2/robotest-internal.mk
index 746d9f4..81eebd0 100644
--- a/common/robolectric/3.6.2/robotest-internal.mk
+++ b/common/robolectric/3.6.2/robotest-internal.mk
@@ -12,6 +12,9 @@
 my_target_output := $(intermediates)/$(my_filename_stem)-output.txt
 my_target_retval := $(intermediates)/$(my_filename_stem)-retval.txt
 
+ALL_TARGETS.$(my_target_output).META_LIC:=$(module_license_metadata)
+ALL_TARGETS.$(my_target_xml).META_LIC:=$(module_license_metadata)
+
 # We should always re-run the tests, even if nothing has changed.
 # So until the build system has a dedicated "no cache" option, claim
 # to write a file that is never produced.
diff --git a/common/robolectric/4.3.1/report-internal.mk b/common/robolectric/4.3.1/report-internal.mk
index 4989632..e8713e7 100644
--- a/common/robolectric/4.3.1/report-internal.mk
+++ b/common/robolectric/4.3.1/report-internal.mk
@@ -40,6 +40,9 @@
     $(my_coverage_output_zip):robotests-coverage/$(LOCAL_MODULE)/robolectric-html-coverage.zip \
     $(my_coverage_output):robotests-coverage/$(LOCAL_MODULE)/robolectric-coverage.xml)
 
+ALL_TARGETS.$(my_coverage_output_zip).META_LIC:=$(module_license_metadata)
+ALL_TARGETS.$(my_coverage_output).META_LIC:=$(module_license_metadata)
+
 # Running the coverage will always generate the report.
 $(my_target): $(my_coverage_output)
 
diff --git a/common/robolectric/4.3.1/robotest-internal.mk b/common/robolectric/4.3.1/robotest-internal.mk
index f8e4470..9bd9b5d 100644
--- a/common/robolectric/4.3.1/robotest-internal.mk
+++ b/common/robolectric/4.3.1/robotest-internal.mk
@@ -12,6 +12,9 @@
 my_target_output := $(intermediates)/$(my_filename_stem)-output.txt
 my_target_retval := $(intermediates)/$(my_filename_stem)-retval.txt
 
+ALL_TARGETS.$(my_target_output).META_LIC:=$(module_license_metadata)
+ALL_TARGETS.$(my_target_xml).META_LIC:=$(module_license_metadata)
+
 # We should always re-run the tests, even if nothing has changed.
 # So until the build system has a dedicated "no cache" option, claim
 # to write a file that is never produced.
diff --git a/common/robolectric/4.4/report-internal.mk b/common/robolectric/4.4/report-internal.mk
index 4989632..e8713e7 100644
--- a/common/robolectric/4.4/report-internal.mk
+++ b/common/robolectric/4.4/report-internal.mk
@@ -40,6 +40,9 @@
     $(my_coverage_output_zip):robotests-coverage/$(LOCAL_MODULE)/robolectric-html-coverage.zip \
     $(my_coverage_output):robotests-coverage/$(LOCAL_MODULE)/robolectric-coverage.xml)
 
+ALL_TARGETS.$(my_coverage_output_zip).META_LIC:=$(module_license_metadata)
+ALL_TARGETS.$(my_coverage_output).META_LIC:=$(module_license_metadata)
+
 # Running the coverage will always generate the report.
 $(my_target): $(my_coverage_output)
 
diff --git a/common/robolectric/4.4/robotest-internal.mk b/common/robolectric/4.4/robotest-internal.mk
index f8e4470..9bd9b5d 100644
--- a/common/robolectric/4.4/robotest-internal.mk
+++ b/common/robolectric/4.4/robotest-internal.mk
@@ -12,6 +12,9 @@
 my_target_output := $(intermediates)/$(my_filename_stem)-output.txt
 my_target_retval := $(intermediates)/$(my_filename_stem)-retval.txt
 
+ALL_TARGETS.$(my_target_output).META_LIC:=$(module_license_metadata)
+ALL_TARGETS.$(my_target_xml).META_LIC:=$(module_license_metadata)
+
 # We should always re-run the tests, even if nothing has changed.
 # So until the build system has a dedicated "no cache" option, claim
 # to write a file that is never produced.
diff --git a/common/robolectric/4.5.1/report-internal.mk b/common/robolectric/4.5.1/report-internal.mk
index 4989632..e8713e7 100644
--- a/common/robolectric/4.5.1/report-internal.mk
+++ b/common/robolectric/4.5.1/report-internal.mk
@@ -40,6 +40,9 @@
     $(my_coverage_output_zip):robotests-coverage/$(LOCAL_MODULE)/robolectric-html-coverage.zip \
     $(my_coverage_output):robotests-coverage/$(LOCAL_MODULE)/robolectric-coverage.xml)
 
+ALL_TARGETS.$(my_coverage_output_zip).META_LIC:=$(module_license_metadata)
+ALL_TARGETS.$(my_coverage_output).META_LIC:=$(module_license_metadata)
+
 # Running the coverage will always generate the report.
 $(my_target): $(my_coverage_output)
 
diff --git a/common/robolectric/4.5.1/robotest-internal.mk b/common/robolectric/4.5.1/robotest-internal.mk
index 58a206a..a6c8910 100644
--- a/common/robolectric/4.5.1/robotest-internal.mk
+++ b/common/robolectric/4.5.1/robotest-internal.mk
@@ -12,6 +12,9 @@
 my_target_output := $(intermediates)/$(my_filename_stem)-output.txt
 my_target_retval := $(intermediates)/$(my_filename_stem)-retval.txt
 
+ALL_TARGETS.$(my_target_output).META_LIC:=$(module_license_metadata)
+ALL_TARGETS.$(my_target_xml).META_LIC:=$(module_license_metadata)
+
 # We should always re-run the tests, even if nothing has changed.
 # So until the build system has a dedicated "no cache" option, claim
 # to write a file that is never produced.
diff --git a/common/winscope/winscope.html b/common/winscope/winscope.html
index 2c79c18..e46fcc0 100644
--- a/common/winscope/winscope.html
+++ b/common/winscope/winscope.html
@@ -54289,9 +54289,9 @@
 /***/ "xOOu":
 /***/ (function(module, exports, __webpack_require__) {
 
-/* WEBPACK VAR INJECTION */(function(global, Buffer, setImmediate) {var require;var require;/*!
+/* WEBPACK VAR INJECTION */(function(Buffer, global, setImmediate) {var require;var require;/*!
 
-JSZip v3.6.0 - A JavaScript class for generating and reading zip files
+JSZip v3.7.1 - A JavaScript class for generating and reading zip files
 <http://stuartk.com/jszip>
 
 (c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>
@@ -54301,8 +54301,8 @@
 https://github.com/nodeca/pako/blob/master/LICENSE
 */
 
-!function(e){if(true)module.exports=e();else {}}(function(){return function s(a,o,u){function h(r,e){if(!o[r]){if(!a[r]){var t="function"==typeof require&&require;if(!e&&t)return require(r,!0);if(f)return f(r,!0);var n=new Error("Cannot find module '"+r+"'");throw n.code="MODULE_NOT_FOUND",n}var i=o[r]={exports:{}};a[r][0].call(i.exports,function(e){var t=a[r][1][e];return h(t||e)},i,i.exports,s,a,o,u)}return o[r].exports}for(var f="function"==typeof require&&require,e=0;e<u.length;e++)h(u[e]);return h}({1:[function(l,t,n){(function(r){!function(e){"object"==typeof n&&void 0!==t?t.exports=e():("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:this).JSZip=e()}(function(){return function s(a,o,u){function h(t,e){if(!o[t]){if(!a[t]){var r="function"==typeof l&&l;if(!e&&r)return r(t,!0);if(f)return f(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=o[t]={exports:{}};a[t][0].call(i.exports,function(e){return h(a[t][1][e]||e)},i,i.exports,s,a,o,u)}return o[t].exports}for(var f="function"==typeof l&&l,e=0;e<u.length;e++)h(u[e]);return h}({1:[function(l,t,n){(function(r){!function(e){"object"==typeof n&&void 0!==t?t.exports=e():("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:this).JSZip=e()}(function(){return function s(a,o,u){function h(t,e){if(!o[t]){if(!a[t]){var r="function"==typeof l&&l;if(!e&&r)return r(t,!0);if(f)return f(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=o[t]={exports:{}};a[t][0].call(i.exports,function(e){return h(a[t][1][e]||e)},i,i.exports,s,a,o,u)}return o[t].exports}for(var f="function"==typeof l&&l,e=0;e<u.length;e++)h(u[e]);return h}({1:[function(l,t,n){(function(r){!function(e){"object"==typeof n&&void 0!==t?t.exports=e():("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:this).JSZip=e()}(function(){return function s(a,o,u){function h(t,e){if(!o[t]){if(!a[t]){var r="function"==typeof l&&l;if(!e&&r)return r(t,!0);if(f)return f(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=o[t]={exports:{}};a[t][0].call(i.exports,function(e){return h(a[t][1][e]||e)},i,i.exports,s,a,o,u)}return o[t].exports}for(var f="function"==typeof l&&l,e=0;e<u.length;e++)h(u[e]);return h}({1:[function(l,t,n){(function(r){!function(e){"object"==typeof n&&void 0!==t?t.exports=e():("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:this).JSZip=e()}(function(){return function s(a,o,u){function h(t,e){if(!o[t]){if(!a[t]){var r="function"==typeof l&&l;if(!e&&r)return r(t,!0);if(f)return f(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=o[t]={exports:{}};a[t][0].call(i.exports,function(e){return h(a[t][1][e]||e)},i,i.exports,s,a,o,u)}return o[t].exports}for(var f="function"==typeof l&&l,e=0;e<u.length;e++)h(u[e]);return h}({1:[function(l,t,n){(function(r){!function(e){"object"==typeof n&&void 0!==t?t.exports=e():("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:this).JSZip=e()}(function(){return function s(a,o,u){function h(t,e){if(!o[t]){if(!a[t]){var r="function"==typeof l&&l;if(!e&&r)return r(t,!0);if(f)return f(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=o[t]={exports:{}};a[t][0].call(i.exports,function(e){return h(a[t][1][e]||e)},i,i.exports,s,a,o,u)}return o[t].exports}for(var f="function"==typeof l&&l,e=0;e<u.length;e++)h(u[e]);return h}({1:[function(e,t,r){"use strict";var c=e("./utils"),l=e("./support"),p="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";r.encode=function(e){for(var t,r,n,i,s,a,o,u=[],h=0,f=e.length,l=f,d="string"!==c.getTypeOf(e);h<e.length;)l=f-h,n=d?(t=e[h++],r=h<f?e[h++]:0,h<f?e[h++]:0):(t=e.charCodeAt(h++),r=h<f?e.charCodeAt(h++):0,h<f?e.charCodeAt(h++):0),i=t>>2,s=(3&t)<<4|r>>4,a=1<l?(15&r)<<2|n>>6:64,o=2<l?63&n:64,u.push(p.charAt(i)+p.charAt(s)+p.charAt(a)+p.charAt(o));return u.join("")},r.decode=function(e){var t,r,n,i,s,a,o=0,u=0;if("data:"===e.substr(0,"data:".length))throw new Error("Invalid base64 input, it looks like a data url.");var h,f=3*(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"")).length/4;if(e.charAt(e.length-1)===p.charAt(64)&&f--,e.charAt(e.length-2)===p.charAt(64)&&f--,f%1!=0)throw new Error("Invalid base64 input, bad content length.");for(h=l.uint8array?new Uint8Array(0|f):new Array(0|f);o<e.length;)t=p.indexOf(e.charAt(o++))<<2|(i=p.indexOf(e.charAt(o++)))>>4,r=(15&i)<<4|(s=p.indexOf(e.charAt(o++)))>>2,n=(3&s)<<6|(a=p.indexOf(e.charAt(o++))),h[u++]=t,64!==s&&(h[u++]=r),64!==a&&(h[u++]=n);return h}},{"./support":30,"./utils":32}],2:[function(e,t,r){"use strict";var n=e("./external"),i=e("./stream/DataWorker"),s=e("./stream/Crc32Probe"),a=e("./stream/DataLengthProbe");function o(e,t,r,n,i){this.compressedSize=e,this.uncompressedSize=t,this.crc32=r,this.compression=n,this.compressedContent=i}o.prototype={getContentWorker:function(){var e=new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a("data_length")),t=this;return e.on("end",function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),e},getCompressedWorker:function(){return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},o.createWorkerFrom=function(e,t,r){return e.pipe(new s).pipe(new a("uncompressedSize")).pipe(t.compressWorker(r)).pipe(new a("compressedSize")).withStreamInfo("compression",t)},t.exports=o},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(e,t,r){"use strict";var n=e("./stream/GenericWorker");r.STORE={magic:"\0\0",compressWorker:function(e){return new n("STORE compression")},uncompressWorker:function(){return new n("STORE decompression")}},r.DEFLATE=e("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(e,t,r){"use strict";var n=e("./utils"),a=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t){return void 0!==e&&e.length?"string"!==n.getTypeOf(e)?function(e,t,r){var n=a,i=0+r;e^=-1;for(var s=0;s<i;s++)e=e>>>8^n[255&(e^t[s])];return-1^e}(0|t,e,e.length):function(e,t,r){var n=a,i=0+r;e^=-1;for(var s=0;s<i;s++)e=e>>>8^n[255&(e^t.charCodeAt(s))];return-1^e}(0|t,e,e.length):0}},{"./utils":32}],5:[function(e,t,r){"use strict";r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!0,r.date=null,r.compression=null,r.compressionOptions=null,r.comment=null,r.unixPermissions=null,r.dosPermissions=null},{}],6:[function(e,t,r){"use strict";var n;n="undefined"!=typeof Promise?Promise:e("lie"),t.exports={Promise:n}},{lie:37}],7:[function(e,t,r){"use strict";var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,i=e("pako"),s=e("./utils"),a=e("./stream/GenericWorker"),o=n?"uint8array":"array";function u(e,t){a.call(this,"FlateWorker/"+e),this._pako=null,this._pakoAction=e,this._pakoOptions=t,this.meta={}}r.magic="\b\0",s.inherits(u,a),u.prototype.processChunk=function(e){this.meta=e.meta,null===this._pako&&this._createPako(),this._pako.push(s.transformTo(o,e.data),!1)},u.prototype.flush=function(){a.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},u.prototype.cleanUp=function(){a.prototype.cleanUp.call(this),this._pako=null},u.prototype._createPako=function(){this._pako=new i[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var t=this;this._pako.onData=function(e){t.push({data:e,meta:t.meta})}},r.compressWorker=function(e){return new u("Deflate",e)},r.uncompressWorker=function(){return new u("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(e,t,r){"use strict";function I(e,t){var r,n="";for(r=0;r<t;r++)n+=String.fromCharCode(255&e),e>>>=8;return n}function i(e,t,r,n,i,s){var a,o,u=e.file,h=e.compression,f=s!==B.utf8encode,l=O.transformTo("string",s(u.name)),d=O.transformTo("string",B.utf8encode(u.name)),c=u.comment,p=O.transformTo("string",s(c)),m=O.transformTo("string",B.utf8encode(c)),_=d.length!==u.name.length,g=m.length!==c.length,v="",b="",w="",y=u.dir,k=u.date,x={crc32:0,compressedSize:0,uncompressedSize:0};t&&!r||(x.crc32=e.crc32,x.compressedSize=e.compressedSize,x.uncompressedSize=e.uncompressedSize);var S=0;t&&(S|=8),f||!_&&!g||(S|=2048);var z,E=0,C=0;y&&(E|=16),"UNIX"===i?(C=798,E|=((z=u.unixPermissions)||(z=y?16893:33204),(65535&z)<<16)):(C=20,E|=63&(u.dosPermissions||0)),a=k.getUTCHours(),a<<=6,a|=k.getUTCMinutes(),a<<=5,a|=k.getUTCSeconds()/2,o=k.getUTCFullYear()-1980,o<<=4,o|=k.getUTCMonth()+1,o<<=5,o|=k.getUTCDate(),_&&(v+="up"+I((b=I(1,1)+I(T(l),4)+d).length,2)+b),g&&(v+="uc"+I((w=I(1,1)+I(T(p),4)+m).length,2)+w);var A="";return A+="\n\0",A+=I(S,2),A+=h.magic,A+=I(a,2),A+=I(o,2),A+=I(x.crc32,4),A+=I(x.compressedSize,4),A+=I(x.uncompressedSize,4),A+=I(l.length,2),A+=I(v.length,2),{fileRecord:R.LOCAL_FILE_HEADER+A+l+v,dirRecord:R.CENTRAL_FILE_HEADER+I(C,2)+A+I(p.length,2)+"\0\0\0\0"+I(E,4)+I(n,4)+l+v+p}}var O=e("../utils"),s=e("../stream/GenericWorker"),B=e("../utf8"),T=e("../crc32"),R=e("../signature");function n(e,t,r,n){s.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=t,this.zipPlatform=r,this.encodeFileName=n,this.streamFiles=e,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}O.inherits(n,s),n.prototype.push=function(e){var t=e.meta.percent||0,r=this.entriesCount,n=this._sources.length;this.accumulate?this.contentBuffer.push(e):(this.bytesWritten+=e.data.length,s.prototype.push.call(this,{data:e.data,meta:{currentFile:this.currentFile,percent:r?(t+100*(r-n-1))/r:100}}))},n.prototype.openedSource=function(e){this.currentSourceOffset=this.bytesWritten,this.currentFile=e.file.name;var t=this.streamFiles&&!e.file.dir;if(t){var r=i(e,t,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:r.fileRecord,meta:{percent:0}})}else this.accumulate=!0},n.prototype.closedSource=function(e){this.accumulate=!1;var t,r=this.streamFiles&&!e.file.dir,n=i(e,r,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(n.dirRecord),r)this.push({data:(t=e,R.DATA_DESCRIPTOR+I(t.crc32,4)+I(t.compressedSize,4)+I(t.uncompressedSize,4)),meta:{percent:100}});else for(this.push({data:n.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},n.prototype.flush=function(){for(var e=this.bytesWritten,t=0;t<this.dirRecords.length;t++)this.push({data:this.dirRecords[t],meta:{percent:100}});var r,n,i,s,a,o,u=this.bytesWritten-e,h=(r=this.dirRecords.length,n=u,i=e,s=this.zipComment,a=this.encodeFileName,o=O.transformTo("string",a(s)),R.CENTRAL_DIRECTORY_END+"\0\0\0\0"+I(r,2)+I(r,2)+I(n,4)+I(i,4)+I(o.length,2)+o);this.push({data:h,meta:{percent:100}})},n.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},n.prototype.registerPrevious=function(e){this._sources.push(e);var t=this;return e.on("data",function(e){t.processChunk(e)}),e.on("end",function(){t.closedSource(t.previous.streamInfo),t._sources.length?t.prepareNextSource():t.end()}),e.on("error",function(e){t.error(e)}),this},n.prototype.resume=function(){return!!s.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},n.prototype.error=function(e){var t=this._sources;if(!s.prototype.error.call(this,e))return!1;for(var r=0;r<t.length;r++)try{t[r].error(e)}catch(e){}return!0},n.prototype.lock=function(){s.prototype.lock.call(this);for(var e=this._sources,t=0;t<e.length;t++)e[t].lock()},t.exports=n},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(e,t,r){"use strict";var h=e("../compressions"),n=e("./ZipFileWorker");r.generateWorker=function(e,a,t){var o=new n(a.streamFiles,t,a.platform,a.encodeFileName),u=0;try{e.forEach(function(e,t){u++;var r=function(e,t){var r=e||t,n=h[r];if(!n)throw new Error(r+" is not a valid compression method !");return n}(t.options.compression,a.compression),n=t.options.compressionOptions||a.compressionOptions||{},i=t.dir,s=t.date;t._compressWorker(r,n).withStreamInfo("file",{name:e,dir:i,date:s,comment:t.comment||"",unixPermissions:t.unixPermissions,dosPermissions:t.dosPermissions}).pipe(o)}),o.entriesCount=u}catch(e){o.error(e)}return o}},{"../compressions":3,"./ZipFileWorker":8}],10:[function(e,t,r){"use strict";function n(){if(!(this instanceof n))return new n;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files={},this.comment=null,this.root="",this.clone=function(){var e=new n;for(var t in this)"function"!=typeof this[t]&&(e[t]=this[t]);return e}}(n.prototype=e("./object")).loadAsync=e("./load"),n.support=e("./support"),n.defaults=e("./defaults"),n.version="3.5.0",n.loadAsync=function(e,t){return(new n).loadAsync(e,t)},n.external=e("./external"),t.exports=n},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(e,t,r){"use strict";var n=e("./utils"),i=e("./external"),o=e("./utf8"),u=e("./zipEntries"),s=e("./stream/Crc32Probe"),h=e("./nodejsUtils");function f(n){return new i.Promise(function(e,t){var r=n.decompressed.getContentWorker().pipe(new s);r.on("error",function(e){t(e)}).on("end",function(){r.streamInfo.crc32!==n.decompressed.crc32?t(new Error("Corrupted zip : CRC32 mismatch")):e()}).resume()})}t.exports=function(e,s){var a=this;return s=n.extend(s||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:o.utf8decode}),h.isNode&&h.isStream(e)?i.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):n.prepareContent("the loaded zip file",e,!0,s.optimizedBinaryString,s.base64).then(function(e){var t=new u(s);return t.load(e),t}).then(function(e){var t=[i.Promise.resolve(e)],r=e.files;if(s.checkCRC32)for(var n=0;n<r.length;n++)t.push(f(r[n]));return i.Promise.all(t)}).then(function(e){for(var t=e.shift(),r=t.files,n=0;n<r.length;n++){var i=r[n];a.file(i.fileNameStr,i.decompressed,{binary:!0,optimizedBinaryString:!0,date:i.date,dir:i.dir,comment:i.fileCommentStr.length?i.fileCommentStr:null,unixPermissions:i.unixPermissions,dosPermissions:i.dosPermissions,createFolders:s.createFolders})}return t.zipComment.length&&(a.comment=t.zipComment),a})}},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(e,t,r){"use strict";var n=e("../utils"),i=e("../stream/GenericWorker");function s(e,t){i.call(this,"Nodejs stream input adapter for "+e),this._upstreamEnded=!1,this._bindStream(t)}n.inherits(s,i),s.prototype._bindStream=function(e){var t=this;(this._stream=e).pause(),e.on("data",function(e){t.push({data:e,meta:{percent:0}})}).on("error",function(e){t.isPaused?this.generatedError=e:t.error(e)}).on("end",function(){t.isPaused?t._upstreamEnded=!0:t.end()})},s.prototype.pause=function(){return!!i.prototype.pause.call(this)&&(this._stream.pause(),!0)},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},t.exports=s},{"../stream/GenericWorker":28,"../utils":32}],13:[function(e,t,r){"use strict";var i=e("readable-stream").Readable;function n(e,t,r){i.call(this,t),this._helper=e;var n=this;e.on("data",function(e,t){n.push(e)||n._helper.pause(),r&&r(t)}).on("error",function(e){n.emit("error",e)}).on("end",function(){n.push(null)})}e("../utils").inherits(n,i),n.prototype._read=function(){this._helper.resume()},t.exports=n},{"../utils":32,"readable-stream":16}],14:[function(e,t,r){"use strict";t.exports={isNode:"undefined"!=typeof Buffer,newBufferFrom:function(e,t){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(e,t);if("number"==typeof e)throw new Error('The "data" argument must not be a number');return new Buffer(e,t)},allocBuffer:function(e){if(Buffer.alloc)return Buffer.alloc(e);var t=new Buffer(e);return t.fill(0),t},isBuffer:function(e){return Buffer.isBuffer(e)},isStream:function(e){return e&&"function"==typeof e.on&&"function"==typeof e.pause&&"function"==typeof e.resume}}},{}],15:[function(e,t,r){"use strict";function s(e,t,r){var n,i=f.getTypeOf(t),s=f.extend(r||{},d);s.date=s.date||new Date,null!==s.compression&&(s.compression=s.compression.toUpperCase()),"string"==typeof s.unixPermissions&&(s.unixPermissions=parseInt(s.unixPermissions,8)),s.unixPermissions&&16384&s.unixPermissions&&(s.dir=!0),s.dosPermissions&&16&s.dosPermissions&&(s.dir=!0),s.dir&&(e=h(e)),s.createFolders&&(n=function(e){"/"===e.slice(-1)&&(e=e.substring(0,e.length-1));var t=e.lastIndexOf("/");return 0<t?e.substring(0,t):""}(e))&&g.call(this,n,!0);var a,o="string"===i&&!1===s.binary&&!1===s.base64;r&&void 0!==r.binary||(s.binary=!o),(t instanceof c&&0===t.uncompressedSize||s.dir||!t||0===t.length)&&(s.base64=!1,s.binary=!0,t="",s.compression="STORE",i="string"),a=t instanceof c||t instanceof l?t:m.isNode&&m.isStream(t)?new _(e,t):f.prepareContent(e,t,s.binary,s.optimizedBinaryString,s.base64);var u=new p(e,a,s);this.files[e]=u}function h(e){return"/"!==e.slice(-1)&&(e+="/"),e}var i=e("./utf8"),f=e("./utils"),l=e("./stream/GenericWorker"),a=e("./stream/StreamHelper"),d=e("./defaults"),c=e("./compressedObject"),p=e("./zipObject"),o=e("./generate"),m=e("./nodejsUtils"),_=e("./nodejs/NodejsStreamInputAdapter"),g=function(e,t){return t=void 0!==t?t:d.createFolders,e=h(e),this.files[e]||s.call(this,e,null,{dir:!0,createFolders:t}),this.files[e]};function u(e){return"[object RegExp]"===Object.prototype.toString.call(e)}var n={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(e){var t,r,n;for(t in this.files)this.files.hasOwnProperty(t)&&(n=this.files[t],(r=t.slice(this.root.length,t.length))&&t.slice(0,this.root.length)===this.root&&e(r,n))},filter:function(r){var n=[];return this.forEach(function(e,t){r(e,t)&&n.push(t)}),n},file:function(e,t,r){if(1!==arguments.length)return e=this.root+e,s.call(this,e,t,r),this;if(u(e)){var n=e;return this.filter(function(e,t){return!t.dir&&n.test(e)})}var i=this.files[this.root+e];return i&&!i.dir?i:null},folder:function(r){if(!r)return this;if(u(r))return this.filter(function(e,t){return t.dir&&r.test(e)});var e=this.root+r,t=g.call(this,e),n=this.clone();return n.root=t.name,n},remove:function(r){r=this.root+r;var e=this.files[r];if(e||("/"!==r.slice(-1)&&(r+="/"),e=this.files[r]),e&&!e.dir)delete this.files[r];else for(var t=this.filter(function(e,t){return t.name.slice(0,r.length)===r}),n=0;n<t.length;n++)delete this.files[t[n].name];return this},generate:function(e){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(e){var t,r={};try{if((r=f.extend(e||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:i.utf8encode})).type=r.type.toLowerCase(),r.compression=r.compression.toUpperCase(),"binarystring"===r.type&&(r.type="string"),!r.type)throw new Error("No output type specified.");f.checkSupport(r.type),"darwin"!==r.platform&&"freebsd"!==r.platform&&"linux"!==r.platform&&"sunos"!==r.platform||(r.platform="UNIX"),"win32"===r.platform&&(r.platform="DOS");var n=r.comment||this.comment||"";t=o.generateWorker(this,r,n)}catch(e){(t=new l("error")).error(e)}return new a(t,r.type||"string",r.mimeType)},generateAsync:function(e,t){return this.generateInternalStream(e).accumulate(t)},generateNodeStream:function(e,t){return(e=e||{}).type||(e.type="nodebuffer"),this.generateInternalStream(e).toNodejsStream(t)}};t.exports=n},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(e,t,r){t.exports=e("stream")},{stream:void 0}],17:[function(e,t,r){"use strict";var n=e("./DataReader");function i(e){n.call(this,e);for(var t=0;t<this.data.length;t++)e[t]=255&e[t]}e("../utils").inherits(i,n),i.prototype.byteAt=function(e){return this.data[this.zero+e]},i.prototype.lastIndexOfSignature=function(e){for(var t=e.charCodeAt(0),r=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),s=this.length-4;0<=s;--s)if(this.data[s]===t&&this.data[s+1]===r&&this.data[s+2]===n&&this.data[s+3]===i)return s-this.zero;return-1},i.prototype.readAndCheckSignature=function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),s=this.readData(4);return t===s[0]&&r===s[1]&&n===s[2]&&i===s[3]},i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return[];var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./DataReader":18}],18:[function(e,t,r){"use strict";var n=e("../utils");function i(e){this.data=e,this.length=e.length,this.index=0,this.zero=0}i.prototype={checkOffset:function(e){this.checkIndex(this.index+e)},checkIndex:function(e){if(this.length<this.zero+e||e<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+e+"). Corrupted zip ?")},setIndex:function(e){this.checkIndex(e),this.index=e},skip:function(e){this.setIndex(this.index+e)},byteAt:function(e){},readInt:function(e){var t,r=0;for(this.checkOffset(e),t=this.index+e-1;t>=this.index;t--)r=(r<<8)+this.byteAt(t);return this.index+=e,r},readString:function(e){return n.transformTo("string",this.readData(e))},readData:function(e){},lastIndexOfSignature:function(e){},readAndCheckSignature:function(e){},readDate:function(){var e=this.readInt(4);return new Date(Date.UTC(1980+(e>>25&127),(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(31&e)<<1))}},t.exports=i},{"../utils":32}],19:[function(e,t,r){"use strict";var n=e("./Uint8ArrayReader");function i(e){n.call(this,e)}e("../utils").inherits(i,n),i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(e,t,r){"use strict";var n=e("./DataReader");function i(e){n.call(this,e)}e("../utils").inherits(i,n),i.prototype.byteAt=function(e){return this.data.charCodeAt(this.zero+e)},i.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)-this.zero},i.prototype.readAndCheckSignature=function(e){return e===this.readData(4)},i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./DataReader":18}],21:[function(e,t,r){"use strict";var n=e("./ArrayReader");function i(e){n.call(this,e)}e("../utils").inherits(i,n),i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return new Uint8Array(0);var t=this.data.subarray(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./ArrayReader":17}],22:[function(e,t,r){"use strict";var n=e("../utils"),i=e("../support"),s=e("./ArrayReader"),a=e("./StringReader"),o=e("./NodeBufferReader"),u=e("./Uint8ArrayReader");t.exports=function(e){var t=n.getTypeOf(e);return n.checkSupport(t),"string"!==t||i.uint8array?"nodebuffer"===t?new o(e):i.uint8array?new u(n.transformTo("uint8array",e)):new s(n.transformTo("array",e)):new a(e)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(e,t,r){"use strict";r.LOCAL_FILE_HEADER="PK",r.CENTRAL_FILE_HEADER="PK",r.CENTRAL_DIRECTORY_END="PK",r.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK",r.ZIP64_CENTRAL_DIRECTORY_END="PK",r.DATA_DESCRIPTOR="PK\b"},{}],24:[function(e,t,r){"use strict";var n=e("./GenericWorker"),i=e("../utils");function s(e){n.call(this,"ConvertWorker to "+e),this.destType=e}i.inherits(s,n),s.prototype.processChunk=function(e){this.push({data:i.transformTo(this.destType,e.data),meta:e.meta})},t.exports=s},{"../utils":32,"./GenericWorker":28}],25:[function(e,t,r){"use strict";var n=e("./GenericWorker"),i=e("../crc32");function s(){n.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}e("../utils").inherits(s,n),s.prototype.processChunk=function(e){this.streamInfo.crc32=i(e.data,this.streamInfo.crc32||0),this.push(e)},t.exports=s},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(e,t,r){"use strict";var n=e("../utils"),i=e("./GenericWorker");function s(e){i.call(this,"DataLengthProbe for "+e),this.propName=e,this.withStreamInfo(e,0)}n.inherits(s,i),s.prototype.processChunk=function(e){if(e){var t=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=t+e.data.length}i.prototype.processChunk.call(this,e)},t.exports=s},{"../utils":32,"./GenericWorker":28}],27:[function(e,t,r){"use strict";var n=e("../utils"),i=e("./GenericWorker");function s(e){i.call(this,"DataWorker");var t=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,e.then(function(e){t.dataIsReady=!0,t.data=e,t.max=e&&e.length||0,t.type=n.getTypeOf(e),t.isPaused||t._tickAndRepeat()},function(e){t.error(e)})}n.inherits(s,i),s.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this.data=null},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,n.delay(this._tickAndRepeat,[],this)),!0)},s.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(n.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},s.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var e=null,t=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":e=this.data.substring(this.index,t);break;case"uint8array":e=this.data.subarray(this.index,t);break;case"array":case"nodebuffer":e=this.data.slice(this.index,t)}return this.index=t,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})},t.exports=s},{"../utils":32,"./GenericWorker":28}],28:[function(e,t,r){"use strict";function n(e){this.name=e||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}n.prototype={push:function(e){this.emit("data",e)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(e){this.emit("error",e)}return!0},error:function(e){return!this.isFinished&&(this.isPaused?this.generatedError=e:(this.isFinished=!0,this.emit("error",e),this.previous&&this.previous.error(e),this.cleanUp()),!0)},on:function(e,t){return this._listeners[e].push(t),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(e,t){if(this._listeners[e])for(var r=0;r<this._listeners[e].length;r++)this._listeners[e][r].call(this,t)},pipe:function(e){return e.registerPrevious(this)},registerPrevious:function(e){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=e.streamInfo,this.mergeStreamInfo(),this.previous=e;var t=this;return e.on("data",function(e){t.processChunk(e)}),e.on("end",function(){t.end()}),e.on("error",function(e){t.error(e)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var e=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),e=!0),this.previous&&this.previous.resume(),!e},flush:function(){},processChunk:function(e){this.push(e)},withStreamInfo:function(e,t){return this.extraStreamInfo[e]=t,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var e in this.extraStreamInfo)this.extraStreamInfo.hasOwnProperty(e)&&(this.streamInfo[e]=this.extraStreamInfo[e])},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var e="Worker "+this.name;return this.previous?this.previous+" -> "+e:e}},t.exports=n},{}],29:[function(e,t,r){"use strict";var h=e("../utils"),i=e("./ConvertWorker"),s=e("./GenericWorker"),f=e("../base64"),n=e("../support"),a=e("../external"),o=null;if(n.nodestream)try{o=e("../nodejs/NodejsStreamOutputAdapter")}catch(e){}function u(e,t,r){var n=t;switch(t){case"blob":case"arraybuffer":n="uint8array";break;case"base64":n="string"}try{this._internalType=n,this._outputType=t,this._mimeType=r,h.checkSupport(n),this._worker=e.pipe(new i(n)),e.lock()}catch(e){this._worker=new s("error"),this._worker.error(e)}}u.prototype={accumulate:function(e){return o=this,u=e,new a.Promise(function(t,r){var n=[],i=o._internalType,s=o._outputType,a=o._mimeType;o.on("data",function(e,t){n.push(e),u&&u(t)}).on("error",function(e){n=[],r(e)}).on("end",function(){try{var e=function(e,t,r){switch(e){case"blob":return h.newBlob(h.transformTo("arraybuffer",t),r);case"base64":return f.encode(t);default:return h.transformTo(e,t)}}(s,function(e,t){var r,n=0,i=null,s=0;for(r=0;r<t.length;r++)s+=t[r].length;switch(e){case"string":return t.join("");case"array":return Array.prototype.concat.apply([],t);case"uint8array":for(i=new Uint8Array(s),r=0;r<t.length;r++)i.set(t[r],n),n+=t[r].length;return i;case"nodebuffer":return Buffer.concat(t);default:throw new Error("concat : unsupported type '"+e+"'")}}(i,n),a);t(e)}catch(e){r(e)}n=[]}).resume()});var o,u},on:function(e,t){var r=this;return"data"===e?this._worker.on(e,function(e){t.call(r,e.data,e.meta)}):this._worker.on(e,function(){h.delay(t,arguments,r)}),this},resume:function(){return h.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(e){if(h.checkSupport("nodestream"),"nodebuffer"!==this._outputType)throw new Error(this._outputType+" is not supported by this method");return new o(this,{objectMode:"nodebuffer"!==this._outputType},e)}},t.exports=u},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(e,t,r){"use strict";if(r.base64=!0,r.array=!0,r.string=!0,r.arraybuffer="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,r.nodebuffer="undefined"!=typeof Buffer,r.uint8array="undefined"!=typeof Uint8Array,"undefined"==typeof ArrayBuffer)r.blob=!1;else{var n=new ArrayBuffer(0);try{r.blob=0===new Blob([n],{type:"application/zip"}).size}catch(e){try{var i=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);i.append(n),r.blob=0===i.getBlob("application/zip").size}catch(e){r.blob=!1}}}try{r.nodestream=!!e("readable-stream").Readable}catch(e){r.nodestream=!1}},{"readable-stream":16}],31:[function(e,t,s){"use strict";for(var o=e("./utils"),u=e("./support"),r=e("./nodejsUtils"),n=e("./stream/GenericWorker"),h=new Array(256),i=0;i<256;i++)h[i]=252<=i?6:248<=i?5:240<=i?4:224<=i?3:192<=i?2:1;function a(){n.call(this,"utf-8 decode"),this.leftOver=null}function f(){n.call(this,"utf-8 encode")}h[254]=h[254]=1,s.utf8encode=function(e){return u.nodebuffer?r.newBufferFrom(e,"utf-8"):function(e){var t,r,n,i,s,a=e.length,o=0;for(i=0;i<a;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),o+=r<128?1:r<2048?2:r<65536?3:4;for(t=u.uint8array?new Uint8Array(o):new Array(o),i=s=0;s<o;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),r<128?t[s++]=r:(r<2048?t[s++]=192|r>>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t}(e)},s.utf8decode=function(e){return u.nodebuffer?o.transformTo("nodebuffer",e).toString("utf-8"):function(e){var t,r,n,i,s=e.length,a=new Array(2*s);for(t=r=0;t<s;)if((n=e[t++])<128)a[r++]=n;else if(4<(i=h[n]))a[r++]=65533,t+=i-1;else{for(n&=2===i?31:3===i?15:7;1<i&&t<s;)n=n<<6|63&e[t++],i--;1<i?a[r++]=65533:n<65536?a[r++]=n:(n-=65536,a[r++]=55296|n>>10&1023,a[r++]=56320|1023&n)}return a.length!==r&&(a.subarray?a=a.subarray(0,r):a.length=r),o.applyFromCharCode(a)}(e=o.transformTo(u.uint8array?"uint8array":"array",e))},o.inherits(a,n),a.prototype.processChunk=function(e){var t=o.transformTo(u.uint8array?"uint8array":"array",e.data);if(this.leftOver&&this.leftOver.length){if(u.uint8array){var r=t;(t=new Uint8Array(r.length+this.leftOver.length)).set(this.leftOver,0),t.set(r,this.leftOver.length)}else t=this.leftOver.concat(t);this.leftOver=null}var n=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+h[e[r]]>t?r:t}(t),i=t;n!==t.length&&(u.uint8array?(i=t.subarray(0,n),this.leftOver=t.subarray(n,t.length)):(i=t.slice(0,n),this.leftOver=t.slice(n,t.length))),this.push({data:s.utf8decode(i),meta:e.meta})},a.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:s.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},s.Utf8DecodeWorker=a,o.inherits(f,n),f.prototype.processChunk=function(e){this.push({data:s.utf8encode(e.data),meta:e.meta})},s.Utf8EncodeWorker=f},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(e,t,o){"use strict";var u=e("./support"),h=e("./base64"),r=e("./nodejsUtils"),n=e("set-immediate-shim"),f=e("./external");function i(e){return e}function l(e,t){for(var r=0;r<e.length;++r)t[r]=255&e.charCodeAt(r);return t}o.newBlob=function(t,r){o.checkSupport("blob");try{return new Blob([t],{type:r})}catch(e){try{var n=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return n.append(t),n.getBlob(r)}catch(e){throw new Error("Bug : can't construct the Blob.")}}};var s={stringifyByChunk:function(e,t,r){var n=[],i=0,s=e.length;if(s<=r)return String.fromCharCode.apply(null,e);for(;i<s;)"array"===t||"nodebuffer"===t?n.push(String.fromCharCode.apply(null,e.slice(i,Math.min(i+r,s)))):n.push(String.fromCharCode.apply(null,e.subarray(i,Math.min(i+r,s)))),i+=r;return n.join("")},stringifyByChar:function(e){for(var t="",r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},applyCanBeUsed:{uint8array:function(){try{return u.uint8array&&1===String.fromCharCode.apply(null,new Uint8Array(1)).length}catch(e){return!1}}(),nodebuffer:function(){try{return u.nodebuffer&&1===String.fromCharCode.apply(null,r.allocBuffer(1)).length}catch(e){return!1}}()}};function a(e){var t=65536,r=o.getTypeOf(e),n=!0;if("uint8array"===r?n=s.applyCanBeUsed.uint8array:"nodebuffer"===r&&(n=s.applyCanBeUsed.nodebuffer),n)for(;1<t;)try{return s.stringifyByChunk(e,r,t)}catch(e){t=Math.floor(t/2)}return s.stringifyByChar(e)}function d(e,t){for(var r=0;r<e.length;r++)t[r]=e[r];return t}o.applyFromCharCode=a;var c={};c.string={string:i,array:function(e){return l(e,new Array(e.length))},arraybuffer:function(e){return c.string.uint8array(e).buffer},uint8array:function(e){return l(e,new Uint8Array(e.length))},nodebuffer:function(e){return l(e,r.allocBuffer(e.length))}},c.array={string:a,array:i,arraybuffer:function(e){return new Uint8Array(e).buffer},uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return r.newBufferFrom(e)}},c.arraybuffer={string:function(e){return a(new Uint8Array(e))},array:function(e){return d(new Uint8Array(e),new Array(e.byteLength))},arraybuffer:i,uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return r.newBufferFrom(new Uint8Array(e))}},c.uint8array={string:a,array:function(e){return d(e,new Array(e.length))},arraybuffer:function(e){return e.buffer},uint8array:i,nodebuffer:function(e){return r.newBufferFrom(e)}},c.nodebuffer={string:a,array:function(e){return d(e,new Array(e.length))},arraybuffer:function(e){return c.nodebuffer.uint8array(e).buffer},uint8array:function(e){return d(e,new Uint8Array(e.length))},nodebuffer:i},o.transformTo=function(e,t){if(t=t||"",!e)return t;o.checkSupport(e);var r=o.getTypeOf(t);return c[r][e](t)},o.getTypeOf=function(e){return"string"==typeof e?"string":"[object Array]"===Object.prototype.toString.call(e)?"array":u.nodebuffer&&r.isBuffer(e)?"nodebuffer":u.uint8array&&e instanceof Uint8Array?"uint8array":u.arraybuffer&&e instanceof ArrayBuffer?"arraybuffer":void 0},o.checkSupport=function(e){if(!u[e.toLowerCase()])throw new Error(e+" is not supported by this platform")},o.MAX_VALUE_16BITS=65535,o.MAX_VALUE_32BITS=-1,o.pretty=function(e){var t,r,n="";for(r=0;r<(e||"").length;r++)n+="\\x"+((t=e.charCodeAt(r))<16?"0":"")+t.toString(16).toUpperCase();return n},o.delay=function(e,t,r){n(function(){e.apply(r||null,t||[])})},o.inherits=function(e,t){function r(){}r.prototype=t.prototype,e.prototype=new r},o.extend=function(){var e,t,r={};for(e=0;e<arguments.length;e++)for(t in arguments[e])arguments[e].hasOwnProperty(t)&&void 0===r[t]&&(r[t]=arguments[e][t]);return r},o.prepareContent=function(n,e,i,s,a){return f.Promise.resolve(e).then(function(n){return u.blob&&(n instanceof Blob||-1!==["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(n)))&&"undefined"!=typeof FileReader?new f.Promise(function(t,r){var e=new FileReader;e.onload=function(e){t(e.target.result)},e.onerror=function(e){r(e.target.error)},e.readAsArrayBuffer(n)}):n}).then(function(e){var t,r=o.getTypeOf(e);return r?("arraybuffer"===r?e=o.transformTo("uint8array",e):"string"===r&&(a?e=h.decode(e):i&&!0!==s&&(e=l(t=e,u.uint8array?new Uint8Array(t.length):new Array(t.length)))),e):f.Promise.reject(new Error("Can't read the data of '"+n+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})}},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,"set-immediate-shim":54}],33:[function(e,t,r){"use strict";var n=e("./reader/readerFor"),i=e("./utils"),s=e("./signature"),a=e("./zipEntry"),o=(e("./utf8"),e("./support"));function u(e){this.files=[],this.loadOptions=e}u.prototype={checkSignature:function(e){if(!this.reader.readAndCheckSignature(e)){this.reader.index-=4;var t=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+i.pretty(t)+", expected "+i.pretty(e)+")")}},isSignature:function(e,t){var r=this.reader.index;this.reader.setIndex(e);var n=this.reader.readString(4)===t;return this.reader.setIndex(r),n},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var e=this.reader.readData(this.zipCommentLength),t=o.uint8array?"uint8array":"array",r=i.transformTo(t,e);this.zipComment=this.loadOptions.decodeFileName(r)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var e,t,r,n=this.zip64EndOfCentralSize-44;0<n;)e=this.reader.readInt(2),t=this.reader.readInt(4),r=this.reader.readData(t),this.zip64ExtensibleData[e]={id:e,length:t,value:r}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var e,t;for(e=0;e<this.files.length;e++)t=this.files[e],this.reader.setIndex(t.localHeaderOffset),this.checkSignature(s.LOCAL_FILE_HEADER),t.readLocalPart(this.reader),t.handleUTF8(),t.processAttributes()},readCentralDir:function(){var e;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(s.CENTRAL_FILE_HEADER);)(e=new a({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(e);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var e=this.reader.lastIndexOfSignature(s.CENTRAL_DIRECTORY_END);if(e<0)throw this.isSignature(0,s.LOCAL_FILE_HEADER)?new Error("Corrupted zip: can't find end of central directory"):new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html");this.reader.setIndex(e);var t=e;if(this.checkSignature(s.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===i.MAX_VALUE_16BITS||this.diskWithCentralDirStart===i.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===i.MAX_VALUE_16BITS||this.centralDirRecords===i.MAX_VALUE_16BITS||this.centralDirSize===i.MAX_VALUE_32BITS||this.centralDirOffset===i.MAX_VALUE_32BITS){if(this.zip64=!0,(e=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(e),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,s.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var r=this.centralDirOffset+this.centralDirSize;this.zip64&&(r+=20,r+=12+this.zip64EndOfCentralSize);var n=t-r;if(0<n)this.isSignature(t,s.CENTRAL_FILE_HEADER)||(this.reader.zero=n);else if(n<0)throw new Error("Corrupted zip: missing "+Math.abs(n)+" bytes.")},prepareReader:function(e){this.reader=n(e)},load:function(e){this.prepareReader(e),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},t.exports=u},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utf8":31,"./utils":32,"./zipEntry":34}],34:[function(e,t,r){"use strict";var n=e("./reader/readerFor"),s=e("./utils"),i=e("./compressedObject"),a=e("./crc32"),o=e("./utf8"),u=e("./compressions"),h=e("./support");function f(e,t){this.options=e,this.loadOptions=t}f.prototype={isEncrypted:function(){return 1==(1&this.bitFlag)},useUTF8:function(){return 2048==(2048&this.bitFlag)},readLocalPart:function(e){var t,r;if(e.skip(22),this.fileNameLength=e.readInt(2),r=e.readInt(2),this.fileName=e.readData(this.fileNameLength),e.skip(r),-1===this.compressedSize||-1===this.uncompressedSize)throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if(null===(t=function(e){for(var t in u)if(u.hasOwnProperty(t)&&u[t].magic===e)return u[t];return null}(this.compressionMethod)))throw new Error("Corrupted zip : compression "+s.pretty(this.compressionMethod)+" unknown (inner file : "+s.transformTo("string",this.fileName)+")");this.decompressed=new i(this.compressedSize,this.uncompressedSize,this.crc32,t,e.readData(this.compressedSize))},readCentralPart:function(e){this.versionMadeBy=e.readInt(2),e.skip(2),this.bitFlag=e.readInt(2),this.compressionMethod=e.readString(2),this.date=e.readDate(),this.crc32=e.readInt(4),this.compressedSize=e.readInt(4),this.uncompressedSize=e.readInt(4);var t=e.readInt(2);if(this.extraFieldsLength=e.readInt(2),this.fileCommentLength=e.readInt(2),this.diskNumberStart=e.readInt(2),this.internalFileAttributes=e.readInt(2),this.externalFileAttributes=e.readInt(4),this.localHeaderOffset=e.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");e.skip(t),this.readExtraFields(e),this.parseZIP64ExtraField(e),this.fileComment=e.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var e=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),0==e&&(this.dosPermissions=63&this.externalFileAttributes),3==e&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(e){if(this.extraFields[1]){var t=n(this.extraFields[1].value);this.uncompressedSize===s.MAX_VALUE_32BITS&&(this.uncompressedSize=t.readInt(8)),this.compressedSize===s.MAX_VALUE_32BITS&&(this.compressedSize=t.readInt(8)),this.localHeaderOffset===s.MAX_VALUE_32BITS&&(this.localHeaderOffset=t.readInt(8)),this.diskNumberStart===s.MAX_VALUE_32BITS&&(this.diskNumberStart=t.readInt(4))}},readExtraFields:function(e){var t,r,n,i=e.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});e.index+4<i;)t=e.readInt(2),r=e.readInt(2),n=e.readData(r),this.extraFields[t]={id:t,length:r,value:n};e.setIndex(i)},handleUTF8:function(){var e=h.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=o.utf8decode(this.fileName),this.fileCommentStr=o.utf8decode(this.fileComment);else{var t=this.findExtraFieldUnicodePath();if(null!==t)this.fileNameStr=t;else{var r=s.transformTo(e,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(r)}var n=this.findExtraFieldUnicodeComment();if(null!==n)this.fileCommentStr=n;else{var i=s.transformTo(e,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(i)}}},findExtraFieldUnicodePath:function(){var e=this.extraFields[28789];if(e){var t=n(e.value);return 1!==t.readInt(1)?null:a(this.fileName)!==t.readInt(4)?null:o.utf8decode(t.readData(e.length-5))}return null},findExtraFieldUnicodeComment:function(){var e=this.extraFields[25461];if(e){var t=n(e.value);return 1!==t.readInt(1)?null:a(this.fileComment)!==t.readInt(4)?null:o.utf8decode(t.readData(e.length-5))}return null}},t.exports=f},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(e,t,r){"use strict";function n(e,t,r){this.name=e,this.dir=r.dir,this.date=r.date,this.comment=r.comment,this.unixPermissions=r.unixPermissions,this.dosPermissions=r.dosPermissions,this._data=t,this._dataBinary=r.binary,this.options={compression:r.compression,compressionOptions:r.compressionOptions}}var s=e("./stream/StreamHelper"),i=e("./stream/DataWorker"),a=e("./utf8"),o=e("./compressedObject"),u=e("./stream/GenericWorker");n.prototype={internalStream:function(e){var t=null,r="string";try{if(!e)throw new Error("No output type specified.");var n="string"===(r=e.toLowerCase())||"text"===r;"binarystring"!==r&&"text"!==r||(r="string"),t=this._decompressWorker();var i=!this._dataBinary;i&&!n&&(t=t.pipe(new a.Utf8EncodeWorker)),!i&&n&&(t=t.pipe(new a.Utf8DecodeWorker))}catch(e){(t=new u("error")).error(e)}return new s(t,r,"")},async:function(e,t){return this.internalStream(e).accumulate(t)},nodeStream:function(e,t){return this.internalStream(e||"nodebuffer").toNodejsStream(t)},_compressWorker:function(e,t){if(this._data instanceof o&&this._data.compression.magic===e.magic)return this._data.getCompressedWorker();var r=this._decompressWorker();return this._dataBinary||(r=r.pipe(new a.Utf8EncodeWorker)),o.createWorkerFrom(r,e,t)},_decompressWorker:function(){return this._data instanceof o?this._data.getContentWorker():this._data instanceof u?this._data:new i(this._data)}};for(var h=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],f=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},l=0;l<h.length;l++)n.prototype[h[l]]=f;t.exports=n},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(e,f,t){(function(t){"use strict";var r,n,e=t.MutationObserver||t.WebKitMutationObserver;if(e){var i=0,s=new e(h),a=t.document.createTextNode("");s.observe(a,{characterData:!0}),r=function(){a.data=i=++i%2}}else if(t.setImmediate||void 0===t.MessageChannel)r="document"in t&&"onreadystatechange"in t.document.createElement("script")?function(){var e=t.document.createElement("script");e.onreadystatechange=function(){h(),e.onreadystatechange=null,e.parentNode.removeChild(e),e=null},t.document.documentElement.appendChild(e)}:function(){setTimeout(h,0)};else{var o=new t.MessageChannel;o.port1.onmessage=h,r=function(){o.port2.postMessage(0)}}var u=[];function h(){var e,t;n=!0;for(var r=u.length;r;){for(t=u,u=[],e=-1;++e<r;)t[e]();r=u.length}n=!1}f.exports=function(e){1!==u.push(e)||n||r()}}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],37:[function(e,t,r){"use strict";var i=e("immediate");function h(){}var f={},s=["REJECTED"],a=["FULFILLED"],n=["PENDING"];function o(e){if("function"!=typeof e)throw new TypeError("resolver must be a function");this.state=n,this.queue=[],this.outcome=void 0,e!==h&&c(this,e)}function u(e,t,r){this.promise=e,"function"==typeof t&&(this.onFulfilled=t,this.callFulfilled=this.otherCallFulfilled),"function"==typeof r&&(this.onRejected=r,this.callRejected=this.otherCallRejected)}function l(t,r,n){i(function(){var e;try{e=r(n)}catch(e){return f.reject(t,e)}e===t?f.reject(t,new TypeError("Cannot resolve promise with itself")):f.resolve(t,e)})}function d(e){var t=e&&e.then;if(e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof t)return function(){t.apply(e,arguments)}}function c(t,e){var r=!1;function n(e){r||(r=!0,f.reject(t,e))}function i(e){r||(r=!0,f.resolve(t,e))}var s=p(function(){e(i,n)});"error"===s.status&&n(s.value)}function p(e,t){var r={};try{r.value=e(t),r.status="success"}catch(e){r.status="error",r.value=e}return r}(t.exports=o).prototype.finally=function(t){if("function"!=typeof t)return this;var r=this.constructor;return this.then(function(e){return r.resolve(t()).then(function(){return e})},function(e){return r.resolve(t()).then(function(){throw e})})},o.prototype.catch=function(e){return this.then(null,e)},o.prototype.then=function(e,t){if("function"!=typeof e&&this.state===a||"function"!=typeof t&&this.state===s)return this;var r=new this.constructor(h);return this.state!==n?l(r,this.state===a?e:t,this.outcome):this.queue.push(new u(r,e,t)),r},u.prototype.callFulfilled=function(e){f.resolve(this.promise,e)},u.prototype.otherCallFulfilled=function(e){l(this.promise,this.onFulfilled,e)},u.prototype.callRejected=function(e){f.reject(this.promise,e)},u.prototype.otherCallRejected=function(e){l(this.promise,this.onRejected,e)},f.resolve=function(e,t){var r=p(d,t);if("error"===r.status)return f.reject(e,r.value);var n=r.value;if(n)c(e,n);else{e.state=a,e.outcome=t;for(var i=-1,s=e.queue.length;++i<s;)e.queue[i].callFulfilled(t)}return e},f.reject=function(e,t){e.state=s,e.outcome=t;for(var r=-1,n=e.queue.length;++r<n;)e.queue[r].callRejected(t);return e},o.resolve=function(e){return e instanceof this?e:f.resolve(new this(h),e)},o.reject=function(e){var t=new this(h);return f.reject(t,e)},o.all=function(e){var r=this;if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(new TypeError("must be an array"));var n=e.length,i=!1;if(!n)return this.resolve([]);for(var s=new Array(n),a=0,t=-1,o=new this(h);++t<n;)u(e[t],t);return o;function u(e,t){r.resolve(e).then(function(e){s[t]=e,++a!==n||i||(i=!0,f.resolve(o,s))},function(e){i||(i=!0,f.reject(o,e))})}},o.race=function(e){if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(new TypeError("must be an array"));var t=e.length,r=!1;if(!t)return this.resolve([]);for(var n,i=-1,s=new this(h);++i<t;)n=e[i],this.resolve(n).then(function(e){r||(r=!0,f.resolve(s,e))},function(e){r||(r=!0,f.reject(s,e))});return s}},{immediate:36}],38:[function(e,t,r){"use strict";var n={};(0,e("./lib/utils/common").assign)(n,e("./lib/deflate"),e("./lib/inflate"),e("./lib/zlib/constants")),t.exports=n},{"./lib/deflate":39,"./lib/inflate":40,"./lib/utils/common":41,"./lib/zlib/constants":44}],39:[function(e,t,r){"use strict";var a=e("./zlib/deflate"),o=e("./utils/common"),u=e("./utils/strings"),i=e("./zlib/messages"),s=e("./zlib/zstream"),h=Object.prototype.toString,f=0,l=-1,d=0,c=8;function p(e){if(!(this instanceof p))return new p(e);this.options=o.assign({level:l,method:c,chunkSize:16384,windowBits:15,memLevel:8,strategy:d,to:""},e||{});var t=this.options;t.raw&&0<t.windowBits?t.windowBits=-t.windowBits:t.gzip&&0<t.windowBits&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new s,this.strm.avail_out=0;var r=a.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(r!==f)throw new Error(i[r]);if(t.header&&a.deflateSetHeader(this.strm,t.header),t.dictionary){var n;if(n="string"==typeof t.dictionary?u.string2buf(t.dictionary):"[object ArrayBuffer]"===h.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(r=a.deflateSetDictionary(this.strm,n))!==f)throw new Error(i[r]);this._dict_set=!0}}function n(e,t){var r=new p(t);if(r.push(e,!0),r.err)throw r.msg||i[r.err];return r.result}p.prototype.push=function(e,t){var r,n,i=this.strm,s=this.options.chunkSize;if(this.ended)return!1;n=t===~~t?t:!0===t?4:0,"string"==typeof e?i.input=u.string2buf(e):"[object ArrayBuffer]"===h.call(e)?i.input=new Uint8Array(e):i.input=e,i.next_in=0,i.avail_in=i.input.length;do{if(0===i.avail_out&&(i.output=new o.Buf8(s),i.next_out=0,i.avail_out=s),1!==(r=a.deflate(i,n))&&r!==f)return this.onEnd(r),!(this.ended=!0);0!==i.avail_out&&(0!==i.avail_in||4!==n&&2!==n)||("string"===this.options.to?this.onData(u.buf2binstring(o.shrinkBuf(i.output,i.next_out))):this.onData(o.shrinkBuf(i.output,i.next_out)))}while((0<i.avail_in||0===i.avail_out)&&1!==r);return 4===n?(r=a.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===f):2!==n||(this.onEnd(f),!(i.avail_out=0))},p.prototype.onData=function(e){this.chunks.push(e)},p.prototype.onEnd=function(e){e===f&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},r.Deflate=p,r.deflate=n,r.deflateRaw=function(e,t){return(t=t||{}).raw=!0,n(e,t)},r.gzip=function(e,t){return(t=t||{}).gzip=!0,n(e,t)}},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(e,t,r){"use strict";var d=e("./zlib/inflate"),c=e("./utils/common"),p=e("./utils/strings"),m=e("./zlib/constants"),n=e("./zlib/messages"),i=e("./zlib/zstream"),s=e("./zlib/gzheader"),_=Object.prototype.toString;function a(e){if(!(this instanceof a))return new a(e);this.options=c.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&0<=t.windowBits&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(0<=t.windowBits&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),15<t.windowBits&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new i,this.strm.avail_out=0;var r=d.inflateInit2(this.strm,t.windowBits);if(r!==m.Z_OK)throw new Error(n[r]);this.header=new s,d.inflateGetHeader(this.strm,this.header)}function o(e,t){var r=new a(t);if(r.push(e,!0),r.err)throw r.msg||n[r.err];return r.result}a.prototype.push=function(e,t){var r,n,i,s,a,o,u=this.strm,h=this.options.chunkSize,f=this.options.dictionary,l=!1;if(this.ended)return!1;n=t===~~t?t:!0===t?m.Z_FINISH:m.Z_NO_FLUSH,"string"==typeof e?u.input=p.binstring2buf(e):"[object ArrayBuffer]"===_.call(e)?u.input=new Uint8Array(e):u.input=e,u.next_in=0,u.avail_in=u.input.length;do{if(0===u.avail_out&&(u.output=new c.Buf8(h),u.next_out=0,u.avail_out=h),(r=d.inflate(u,m.Z_NO_FLUSH))===m.Z_NEED_DICT&&f&&(o="string"==typeof f?p.string2buf(f):"[object ArrayBuffer]"===_.call(f)?new Uint8Array(f):f,r=d.inflateSetDictionary(this.strm,o)),r===m.Z_BUF_ERROR&&!0===l&&(r=m.Z_OK,l=!1),r!==m.Z_STREAM_END&&r!==m.Z_OK)return this.onEnd(r),!(this.ended=!0);u.next_out&&(0!==u.avail_out&&r!==m.Z_STREAM_END&&(0!==u.avail_in||n!==m.Z_FINISH&&n!==m.Z_SYNC_FLUSH)||("string"===this.options.to?(i=p.utf8border(u.output,u.next_out),s=u.next_out-i,a=p.buf2string(u.output,i),u.next_out=s,u.avail_out=h-s,s&&c.arraySet(u.output,u.output,i,s,0),this.onData(a)):this.onData(c.shrinkBuf(u.output,u.next_out)))),0===u.avail_in&&0===u.avail_out&&(l=!0)}while((0<u.avail_in||0===u.avail_out)&&r!==m.Z_STREAM_END);return r===m.Z_STREAM_END&&(n=m.Z_FINISH),n===m.Z_FINISH?(r=d.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===m.Z_OK):n!==m.Z_SYNC_FLUSH||(this.onEnd(m.Z_OK),!(u.avail_out=0))},a.prototype.onData=function(e){this.chunks.push(e)},a.prototype.onEnd=function(e){e===m.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=c.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},r.Inflate=a,r.inflate=o,r.inflateRaw=function(e,t){return(t=t||{}).raw=!0,o(e,t)},r.ungzip=o},{"./utils/common":41,"./utils/strings":42,"./zlib/constants":44,"./zlib/gzheader":47,"./zlib/inflate":49,"./zlib/messages":51,"./zlib/zstream":53}],41:[function(e,t,r){"use strict";var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;r.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var r=t.shift();if(r){if("object"!=typeof r)throw new TypeError(r+"must be non-object");for(var n in r)r.hasOwnProperty(n)&&(e[n]=r[n])}}return e},r.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var i={arraySet:function(e,t,r,n,i){if(t.subarray&&e.subarray)e.set(t.subarray(r,r+n),i);else for(var s=0;s<n;s++)e[i+s]=t[r+s]},flattenChunks:function(e){var t,r,n,i,s,a;for(t=n=0,r=e.length;t<r;t++)n+=e[t].length;for(a=new Uint8Array(n),t=i=0,r=e.length;t<r;t++)s=e[t],a.set(s,i),i+=s.length;return a}},s={arraySet:function(e,t,r,n,i){for(var s=0;s<n;s++)e[i+s]=t[r+s]},flattenChunks:function(e){return[].concat.apply([],e)}};r.setTyped=function(e){e?(r.Buf8=Uint8Array,r.Buf16=Uint16Array,r.Buf32=Int32Array,r.assign(r,i)):(r.Buf8=Array,r.Buf16=Array,r.Buf32=Array,r.assign(r,s))},r.setTyped(n)},{}],42:[function(e,t,r){"use strict";var u=e("./common"),i=!0,s=!0;try{String.fromCharCode.apply(null,[0])}catch(e){i=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){s=!1}for(var h=new u.Buf8(256),n=0;n<256;n++)h[n]=252<=n?6:248<=n?5:240<=n?4:224<=n?3:192<=n?2:1;function f(e,t){if(t<65537&&(e.subarray&&s||!e.subarray&&i))return String.fromCharCode.apply(null,u.shrinkBuf(e,t));for(var r="",n=0;n<t;n++)r+=String.fromCharCode(e[n]);return r}h[254]=h[254]=1,r.string2buf=function(e){var t,r,n,i,s,a=e.length,o=0;for(i=0;i<a;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),o+=r<128?1:r<2048?2:r<65536?3:4;for(t=new u.Buf8(o),i=s=0;s<o;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),r<128?t[s++]=r:(r<2048?t[s++]=192|r>>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t},r.buf2binstring=function(e){return f(e,e.length)},r.binstring2buf=function(e){for(var t=new u.Buf8(e.length),r=0,n=t.length;r<n;r++)t[r]=e.charCodeAt(r);return t},r.buf2string=function(e,t){var r,n,i,s,a=t||e.length,o=new Array(2*a);for(r=n=0;r<a;)if((i=e[r++])<128)o[n++]=i;else if(4<(s=h[i]))o[n++]=65533,r+=s-1;else{for(i&=2===s?31:3===s?15:7;1<s&&r<a;)i=i<<6|63&e[r++],s--;1<s?o[n++]=65533:i<65536?o[n++]=i:(i-=65536,o[n++]=55296|i>>10&1023,o[n++]=56320|1023&i)}return f(o,n)},r.utf8border=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+h[e[r]]>t?r:t}},{"./common":41}],43:[function(e,t,r){"use strict";t.exports=function(e,t,r,n){for(var i=65535&e|0,s=e>>>16&65535|0,a=0;0!==r;){for(r-=a=2e3<r?2e3:r;s=s+(i=i+t[n++]|0)|0,--a;);i%=65521,s%=65521}return i|s<<16|0}},{}],44:[function(e,t,r){"use strict";t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(e,t,r){"use strict";var o=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t[a])];return-1^e}},{}],46:[function(e,t,r){"use strict";var u,d=e("../utils/common"),h=e("./trees"),c=e("./adler32"),p=e("./crc32"),n=e("./messages"),f=0,l=0,m=-2,i=2,_=8,s=286,a=30,o=19,g=2*s+1,v=15,b=3,w=258,y=w+b+1,k=42,x=113;function S(e,t){return e.msg=n[t],t}function z(e){return(e<<1)-(4<e?9:0)}function E(e){for(var t=e.length;0<=--t;)e[t]=0}function C(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),0!==r&&(d.arraySet(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,0===t.pending&&(t.pending_out=0))}function A(e,t){h._tr_flush_block(e,0<=e.block_start?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,C(e.strm)}function I(e,t){e.pending_buf[e.pending++]=t}function O(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function B(e,t){var r,n,i=e.max_chain_length,s=e.strstart,a=e.prev_length,o=e.nice_match,u=e.strstart>e.w_size-y?e.strstart-(e.w_size-y):0,h=e.window,f=e.w_mask,l=e.prev,d=e.strstart+w,c=h[s+a-1],p=h[s+a];e.prev_length>=e.good_match&&(i>>=2),o>e.lookahead&&(o=e.lookahead);do{if(h[(r=t)+a]===p&&h[r+a-1]===c&&h[r]===h[s]&&h[++r]===h[s+1]){s+=2,r++;do{}while(h[++s]===h[++r]&&h[++s]===h[++r]&&h[++s]===h[++r]&&h[++s]===h[++r]&&h[++s]===h[++r]&&h[++s]===h[++r]&&h[++s]===h[++r]&&h[++s]===h[++r]&&s<d);if(n=w-(d-s),s=d-w,a<n){if(e.match_start=t,o<=(a=n))break;c=h[s+a-1],p=h[s+a]}}}while((t=l[t&f])>u&&0!=--i);return a<=e.lookahead?a:e.lookahead}function T(e){var t,r,n,i,s,a,o,u,h,f,l=e.w_size;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=l+(l-y)){for(d.arraySet(e.window,e.window,l,l,0),e.match_start-=l,e.strstart-=l,e.block_start-=l,t=r=e.hash_size;n=e.head[--t],e.head[t]=l<=n?n-l:0,--r;);for(t=r=l;n=e.prev[--t],e.prev[t]=l<=n?n-l:0,--r;);i+=l}if(0===e.strm.avail_in)break;if(a=e.strm,o=e.window,u=e.strstart+e.lookahead,f=void 0,(h=i)<(f=a.avail_in)&&(f=h),r=0===f?0:(a.avail_in-=f,d.arraySet(o,a.input,a.next_in,f,u),1===a.state.wrap?a.adler=c(a.adler,o,f,u):2===a.state.wrap&&(a.adler=p(a.adler,o,f,u)),a.next_in+=f,a.total_in+=f,f),e.lookahead+=r,e.lookahead+e.insert>=b)for(s=e.strstart-e.insert,e.ins_h=e.window[s],e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+b-1])&e.hash_mask,e.prev[s&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=s,s++,e.insert--,!(e.lookahead+e.insert<b)););}while(e.lookahead<y&&0!==e.strm.avail_in)}function R(e,t){for(var r,n;;){if(e.lookahead<y){if(T(e),e.lookahead<y&&t===f)return 1;if(0===e.lookahead)break}if(r=0,e.lookahead>=b&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+b-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==r&&e.strstart-r<=e.w_size-y&&(e.match_length=B(e,r)),e.match_length>=b)if(n=h._tr_tally(e,e.strstart-e.match_start,e.match_length-b),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=b){for(e.match_length--;e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+b-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart,0!=--e.match_length;);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else n=h._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(A(e,!1),0===e.strm.avail_out))return 1}return e.insert=e.strstart<b-1?e.strstart:b-1,4===t?(A(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(A(e,!1),0===e.strm.avail_out)?1:2}function D(e,t){for(var r,n,i;;){if(e.lookahead<y){if(T(e),e.lookahead<y&&t===f)return 1;if(0===e.lookahead)break}if(r=0,e.lookahead>=b&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+b-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=b-1,0!==r&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-y&&(e.match_length=B(e,r),e.match_length<=5&&(1===e.strategy||e.match_length===b&&4096<e.strstart-e.match_start)&&(e.match_length=b-1)),e.prev_length>=b&&e.match_length<=e.prev_length){for(i=e.strstart+e.lookahead-b,n=h._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-b),e.lookahead-=e.prev_length-1,e.prev_length-=2;++e.strstart<=i&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+b-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!=--e.prev_length;);if(e.match_available=0,e.match_length=b-1,e.strstart++,n&&(A(e,!1),0===e.strm.avail_out))return 1}else if(e.match_available){if((n=h._tr_tally(e,0,e.window[e.strstart-1]))&&A(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return 1}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(n=h._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<b-1?e.strstart:b-1,4===t?(A(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(A(e,!1),0===e.strm.avail_out)?1:2}function F(e,t,r,n,i){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=n,this.func=i}function N(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=_,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new d.Buf16(2*g),this.dyn_dtree=new d.Buf16(2*(2*a+1)),this.bl_tree=new d.Buf16(2*(2*o+1)),E(this.dyn_ltree),E(this.dyn_dtree),E(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new d.Buf16(v+1),this.heap=new d.Buf16(2*s+1),E(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new d.Buf16(2*s+1),E(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function U(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=i,(t=e.state).pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?k:x,e.adler=2===t.wrap?0:1,t.last_flush=f,h._tr_init(t),l):S(e,m)}function P(e){var t,r=U(e);return r===l&&((t=e.state).window_size=2*t.w_size,E(t.head),t.max_lazy_match=u[t.level].max_lazy,t.good_match=u[t.level].good_length,t.nice_match=u[t.level].nice_length,t.max_chain_length=u[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=b-1,t.match_available=0,t.ins_h=0),r}function L(e,t,r,n,i,s){if(!e)return m;var a=1;if(-1===t&&(t=6),n<0?(a=0,n=-n):15<n&&(a=2,n-=16),i<1||9<i||r!==_||n<8||15<n||t<0||9<t||s<0||4<s)return S(e,m);8===n&&(n=9);var o=new N;return(e.state=o).strm=e,o.wrap=a,o.gzhead=null,o.w_bits=n,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=i+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+b-1)/b),o.window=new d.Buf8(2*o.w_size),o.head=new d.Buf16(o.hash_size),o.prev=new d.Buf16(o.w_size),o.lit_bufsize=1<<i+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new d.Buf8(o.pending_buf_size),o.d_buf=1*o.lit_bufsize,o.l_buf=3*o.lit_bufsize,o.level=t,o.strategy=s,o.method=r,P(e)}u=[new F(0,0,0,0,function(e,t){var r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(T(e),0===e.lookahead&&t===f)return 1;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,A(e,!1),0===e.strm.avail_out))return 1;if(e.strstart-e.block_start>=e.w_size-y&&(A(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(A(e,!0),0===e.strm.avail_out?3:4):(e.strstart>e.block_start&&(A(e,!1),e.strm.avail_out),1)}),new F(4,4,8,4,R),new F(4,5,16,8,R),new F(4,6,32,32,R),new F(4,4,16,16,D),new F(8,16,32,32,D),new F(8,16,128,128,D),new F(8,32,128,256,D),new F(32,128,258,1024,D),new F(32,258,258,4096,D)],r.deflateInit=function(e,t){return L(e,t,_,15,8,0)},r.deflateInit2=L,r.deflateReset=P,r.deflateResetKeep=U,r.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?m:(e.state.gzhead=t,l):m},r.deflate=function(e,t){var r,n,i,s;if(!e||!e.state||5<t||t<0)return e?S(e,m):m;if(n=e.state,!e.output||!e.input&&0!==e.avail_in||666===n.status&&4!==t)return S(e,0===e.avail_out?-5:m);if(n.strm=e,r=n.last_flush,n.last_flush=t,n.status===k)if(2===n.wrap)e.adler=0,I(n,31),I(n,139),I(n,8),n.gzhead?(I(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),I(n,255&n.gzhead.time),I(n,n.gzhead.time>>8&255),I(n,n.gzhead.time>>16&255),I(n,n.gzhead.time>>24&255),I(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),I(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(I(n,255&n.gzhead.extra.length),I(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=p(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69):(I(n,0),I(n,0),I(n,0),I(n,0),I(n,0),I(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),I(n,3),n.status=x);else{var a=_+(n.w_bits-8<<4)<<8;a|=(2<=n.strategy||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(a|=32),a+=31-a%31,n.status=x,O(n,a),0!==n.strstart&&(O(n,e.adler>>>16),O(n,65535&e.adler)),e.adler=1}if(69===n.status)if(n.gzhead.extra){for(i=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),C(e),i=n.pending,n.pending!==n.pending_buf_size));)I(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=73)}else n.status=73;if(73===n.status)if(n.gzhead.name){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),C(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindex<n.gzhead.name.length?255&n.gzhead.name.charCodeAt(n.gzindex++):0,I(n,s)}while(0!==s);n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.gzindex=0,n.status=91)}else n.status=91;if(91===n.status)if(n.gzhead.comment){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),C(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindex<n.gzhead.comment.length?255&n.gzhead.comment.charCodeAt(n.gzindex++):0,I(n,s)}while(0!==s);n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.status=103)}else n.status=103;if(103===n.status&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&C(e),n.pending+2<=n.pending_buf_size&&(I(n,255&e.adler),I(n,e.adler>>8&255),e.adler=0,n.status=x)):n.status=x),0!==n.pending){if(C(e),0===e.avail_out)return n.last_flush=-1,l}else if(0===e.avail_in&&z(t)<=z(r)&&4!==t)return S(e,-5);if(666===n.status&&0!==e.avail_in)return S(e,-5);if(0!==e.avail_in||0!==n.lookahead||t!==f&&666!==n.status){var o=2===n.strategy?function(e,t){for(var r;;){if(0===e.lookahead&&(T(e),0===e.lookahead)){if(t===f)return 1;break}if(e.match_length=0,r=h._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(A(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(A(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(A(e,!1),0===e.strm.avail_out)?1:2}(n,t):3===n.strategy?function(e,t){for(var r,n,i,s,a=e.window;;){if(e.lookahead<=w){if(T(e),e.lookahead<=w&&t===f)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=b&&0<e.strstart&&(n=a[i=e.strstart-1])===a[++i]&&n===a[++i]&&n===a[++i]){s=e.strstart+w;do{}while(n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&i<s);e.match_length=w-(s-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=b?(r=h._tr_tally(e,1,e.match_length-b),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=h._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(A(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(A(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(A(e,!1),0===e.strm.avail_out)?1:2}(n,t):u[n.level].func(n,t);if(3!==o&&4!==o||(n.status=666),1===o||3===o)return 0===e.avail_out&&(n.last_flush=-1),l;if(2===o&&(1===t?h._tr_align(n):5!==t&&(h._tr_stored_block(n,0,0,!1),3===t&&(E(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),C(e),0===e.avail_out))return n.last_flush=-1,l}return 4!==t?l:n.wrap<=0?1:(2===n.wrap?(I(n,255&e.adler),I(n,e.adler>>8&255),I(n,e.adler>>16&255),I(n,e.adler>>24&255),I(n,255&e.total_in),I(n,e.total_in>>8&255),I(n,e.total_in>>16&255),I(n,e.total_in>>24&255)):(O(n,e.adler>>>16),O(n,65535&e.adler)),C(e),0<n.wrap&&(n.wrap=-n.wrap),0!==n.pending?l:1)},r.deflateEnd=function(e){var t;return e&&e.state?(t=e.state.status)!==k&&69!==t&&73!==t&&91!==t&&103!==t&&t!==x&&666!==t?S(e,m):(e.state=null,t===x?S(e,-3):l):m},r.deflateSetDictionary=function(e,t){var r,n,i,s,a,o,u,h,f=t.length;if(!e||!e.state)return m;if(2===(s=(r=e.state).wrap)||1===s&&r.status!==k||r.lookahead)return m;for(1===s&&(e.adler=c(e.adler,t,f,0)),r.wrap=0,f>=r.w_size&&(0===s&&(E(r.head),r.strstart=0,r.block_start=0,r.insert=0),h=new d.Buf8(r.w_size),d.arraySet(h,t,f-r.w_size,r.w_size,0),t=h,f=r.w_size),a=e.avail_in,o=e.next_in,u=e.input,e.avail_in=f,e.next_in=0,e.input=t,T(r);r.lookahead>=b;){for(n=r.strstart,i=r.lookahead-(b-1);r.ins_h=(r.ins_h<<r.hash_shift^r.window[n+b-1])&r.hash_mask,r.prev[n&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=n,n++,--i;);r.strstart=n,r.lookahead=b-1,T(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=b-1,r.match_available=0,e.next_in=o,e.input=u,e.avail_in=a,r.wrap=s,l},r.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./messages":51,"./trees":52}],47:[function(e,t,r){"use strict";t.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},{}],48:[function(e,t,r){"use strict";t.exports=function(e,t){var r,n,i,s,a,o,u,h,f,l,d,c,p,m,_,g,v,b,w,y,k,x,S,z,E;r=e.state,n=e.next_in,z=e.input,i=n+(e.avail_in-5),s=e.next_out,E=e.output,a=s-(t-e.avail_out),o=s+(e.avail_out-257),u=r.dmax,h=r.wsize,f=r.whave,l=r.wnext,d=r.window,c=r.hold,p=r.bits,m=r.lencode,_=r.distcode,g=(1<<r.lenbits)-1,v=(1<<r.distbits)-1;e:do{p<15&&(c+=z[n++]<<p,p+=8,c+=z[n++]<<p,p+=8),b=m[c&g];t:for(;;){if(c>>>=w=b>>>24,p-=w,0==(w=b>>>16&255))E[s++]=65535&b;else{if(!(16&w)){if(0==(64&w)){b=m[(65535&b)+(c&(1<<w)-1)];continue t}if(32&w){r.mode=12;break e}e.msg="invalid literal/length code",r.mode=30;break e}y=65535&b,(w&=15)&&(p<w&&(c+=z[n++]<<p,p+=8),y+=c&(1<<w)-1,c>>>=w,p-=w),p<15&&(c+=z[n++]<<p,p+=8,c+=z[n++]<<p,p+=8),b=_[c&v];r:for(;;){if(c>>>=w=b>>>24,p-=w,!(16&(w=b>>>16&255))){if(0==(64&w)){b=_[(65535&b)+(c&(1<<w)-1)];continue r}e.msg="invalid distance code",r.mode=30;break e}if(k=65535&b,p<(w&=15)&&(c+=z[n++]<<p,(p+=8)<w&&(c+=z[n++]<<p,p+=8)),u<(k+=c&(1<<w)-1)){e.msg="invalid distance too far back",r.mode=30;break e}if(c>>>=w,p-=w,(w=s-a)<k){if(f<(w=k-w)&&r.sane){e.msg="invalid distance too far back",r.mode=30;break e}if(S=d,(x=0)===l){if(x+=h-w,w<y){for(y-=w;E[s++]=d[x++],--w;);x=s-k,S=E}}else if(l<w){if(x+=h+l-w,(w-=l)<y){for(y-=w;E[s++]=d[x++],--w;);if(x=0,l<y){for(y-=w=l;E[s++]=d[x++],--w;);x=s-k,S=E}}}else if(x+=l-w,w<y){for(y-=w;E[s++]=d[x++],--w;);x=s-k,S=E}for(;2<y;)E[s++]=S[x++],E[s++]=S[x++],E[s++]=S[x++],y-=3;y&&(E[s++]=S[x++],1<y&&(E[s++]=S[x++]))}else{for(x=s-k;E[s++]=E[x++],E[s++]=E[x++],E[s++]=E[x++],2<(y-=3););y&&(E[s++]=E[x++],1<y&&(E[s++]=E[x++]))}break}}break}}while(n<i&&s<o);n-=y=p>>3,c&=(1<<(p-=y<<3))-1,e.next_in=n,e.next_out=s,e.avail_in=n<i?i-n+5:5-(n-i),e.avail_out=s<o?o-s+257:257-(s-o),r.hold=c,r.bits=p}},{}],49:[function(e,t,r){"use strict";var I=e("../utils/common"),O=e("./adler32"),B=e("./crc32"),T=e("./inffast"),R=e("./inftrees"),D=1,F=2,N=0,U=-2,P=1,n=852,i=592;function L(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function s(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new I.Buf16(320),this.work=new I.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function a(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=P,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new I.Buf32(n),t.distcode=t.distdyn=new I.Buf32(i),t.sane=1,t.back=-1,N):U}function o(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,a(e)):U}function u(e,t){var r,n;return e&&e.state?(n=e.state,t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||15<t)?U:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,o(e))):U}function h(e,t){var r,n;return e?(n=new s,(e.state=n).window=null,(r=u(e,t))!==N&&(e.state=null),r):U}var f,l,d=!0;function j(e){if(d){var t;for(f=new I.Buf32(512),l=new I.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(R(D,e.lens,0,288,f,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;R(F,e.lens,0,32,l,0,e.work,{bits:5}),d=!1}e.lencode=f,e.lenbits=9,e.distcode=l,e.distbits=5}function Z(e,t,r,n){var i,s=e.state;return null===s.window&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new I.Buf8(s.wsize)),n>=s.wsize?(I.arraySet(s.window,t,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(n<(i=s.wsize-s.wnext)&&(i=n),I.arraySet(s.window,t,r-n,i,s.wnext),(n-=i)?(I.arraySet(s.window,t,r-n,n,0),s.wnext=n,s.whave=s.wsize):(s.wnext+=i,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=i))),0}r.inflateReset=o,r.inflateReset2=u,r.inflateResetKeep=a,r.inflateInit=function(e){return h(e,15)},r.inflateInit2=h,r.inflate=function(e,t){var r,n,i,s,a,o,u,h,f,l,d,c,p,m,_,g,v,b,w,y,k,x,S,z,E=0,C=new I.Buf8(4),A=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return U;12===(r=e.state).mode&&(r.mode=13),a=e.next_out,i=e.output,u=e.avail_out,s=e.next_in,n=e.input,o=e.avail_in,h=r.hold,f=r.bits,l=o,d=u,x=N;e:for(;;)switch(r.mode){case P:if(0===r.wrap){r.mode=13;break}for(;f<16;){if(0===o)break e;o--,h+=n[s++]<<f,f+=8}if(2&r.wrap&&35615===h){C[r.check=0]=255&h,C[1]=h>>>8&255,r.check=B(r.check,C,2,0),f=h=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&h)<<8)+(h>>8))%31){e.msg="incorrect header check",r.mode=30;break}if(8!=(15&h)){e.msg="unknown compression method",r.mode=30;break}if(f-=4,k=8+(15&(h>>>=4)),0===r.wbits)r.wbits=k;else if(k>r.wbits){e.msg="invalid window size",r.mode=30;break}r.dmax=1<<k,e.adler=r.check=1,r.mode=512&h?10:12,f=h=0;break;case 2:for(;f<16;){if(0===o)break e;o--,h+=n[s++]<<f,f+=8}if(r.flags=h,8!=(255&r.flags)){e.msg="unknown compression method",r.mode=30;break}if(57344&r.flags){e.msg="unknown header flags set",r.mode=30;break}r.head&&(r.head.text=h>>8&1),512&r.flags&&(C[0]=255&h,C[1]=h>>>8&255,r.check=B(r.check,C,2,0)),f=h=0,r.mode=3;case 3:for(;f<32;){if(0===o)break e;o--,h+=n[s++]<<f,f+=8}r.head&&(r.head.time=h),512&r.flags&&(C[0]=255&h,C[1]=h>>>8&255,C[2]=h>>>16&255,C[3]=h>>>24&255,r.check=B(r.check,C,4,0)),f=h=0,r.mode=4;case 4:for(;f<16;){if(0===o)break e;o--,h+=n[s++]<<f,f+=8}r.head&&(r.head.xflags=255&h,r.head.os=h>>8),512&r.flags&&(C[0]=255&h,C[1]=h>>>8&255,r.check=B(r.check,C,2,0)),f=h=0,r.mode=5;case 5:if(1024&r.flags){for(;f<16;){if(0===o)break e;o--,h+=n[s++]<<f,f+=8}r.length=h,r.head&&(r.head.extra_len=h),512&r.flags&&(C[0]=255&h,C[1]=h>>>8&255,r.check=B(r.check,C,2,0)),f=h=0}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&(o<(c=r.length)&&(c=o),c&&(r.head&&(k=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),I.arraySet(r.head.extra,n,s,c,k)),512&r.flags&&(r.check=B(r.check,n,c,s)),o-=c,s+=c,r.length-=c),r.length))break e;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===o)break e;for(c=0;k=n[s+c++],r.head&&k&&r.length<65536&&(r.head.name+=String.fromCharCode(k)),k&&c<o;);if(512&r.flags&&(r.check=B(r.check,n,c,s)),o-=c,s+=c,k)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=8;case 8:if(4096&r.flags){if(0===o)break e;for(c=0;k=n[s+c++],r.head&&k&&r.length<65536&&(r.head.comment+=String.fromCharCode(k)),k&&c<o;);if(512&r.flags&&(r.check=B(r.check,n,c,s)),o-=c,s+=c,k)break e}else r.head&&(r.head.comment=null);r.mode=9;case 9:if(512&r.flags){for(;f<16;){if(0===o)break e;o--,h+=n[s++]<<f,f+=8}if(h!==(65535&r.check)){e.msg="header crc mismatch",r.mode=30;break}f=h=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=12;break;case 10:for(;f<32;){if(0===o)break e;o--,h+=n[s++]<<f,f+=8}e.adler=r.check=L(h),f=h=0,r.mode=11;case 11:if(0===r.havedict)return e.next_out=a,e.avail_out=u,e.next_in=s,e.avail_in=o,r.hold=h,r.bits=f,2;e.adler=r.check=1,r.mode=12;case 12:if(5===t||6===t)break e;case 13:if(r.last){h>>>=7&f,f-=7&f,r.mode=27;break}for(;f<3;){if(0===o)break e;o--,h+=n[s++]<<f,f+=8}switch(r.last=1&h,f-=1,3&(h>>>=1)){case 0:r.mode=14;break;case 1:if(j(r),r.mode=20,6!==t)break;h>>>=2,f-=2;break e;case 2:r.mode=17;break;case 3:e.msg="invalid block type",r.mode=30}h>>>=2,f-=2;break;case 14:for(h>>>=7&f,f-=7&f;f<32;){if(0===o)break e;o--,h+=n[s++]<<f,f+=8}if((65535&h)!=(h>>>16^65535)){e.msg="invalid stored block lengths",r.mode=30;break}if(r.length=65535&h,f=h=0,r.mode=15,6===t)break e;case 15:r.mode=16;case 16:if(c=r.length){if(o<c&&(c=o),u<c&&(c=u),0===c)break e;I.arraySet(i,n,s,c,a),o-=c,s+=c,u-=c,a+=c,r.length-=c;break}r.mode=12;break;case 17:for(;f<14;){if(0===o)break e;o--,h+=n[s++]<<f,f+=8}if(r.nlen=257+(31&h),h>>>=5,f-=5,r.ndist=1+(31&h),h>>>=5,f-=5,r.ncode=4+(15&h),h>>>=4,f-=4,286<r.nlen||30<r.ndist){e.msg="too many length or distance symbols",r.mode=30;break}r.have=0,r.mode=18;case 18:for(;r.have<r.ncode;){for(;f<3;){if(0===o)break e;o--,h+=n[s++]<<f,f+=8}r.lens[A[r.have++]]=7&h,h>>>=3,f-=3}for(;r.have<19;)r.lens[A[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,S={bits:r.lenbits},x=R(0,r.lens,0,19,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg="invalid code lengths set",r.mode=30;break}r.have=0,r.mode=19;case 19:for(;r.have<r.nlen+r.ndist;){for(;g=(E=r.lencode[h&(1<<r.lenbits)-1])>>>16&255,v=65535&E,!((_=E>>>24)<=f);){if(0===o)break e;o--,h+=n[s++]<<f,f+=8}if(v<16)h>>>=_,f-=_,r.lens[r.have++]=v;else{if(16===v){for(z=_+2;f<z;){if(0===o)break e;o--,h+=n[s++]<<f,f+=8}if(h>>>=_,f-=_,0===r.have){e.msg="invalid bit length repeat",r.mode=30;break}k=r.lens[r.have-1],c=3+(3&h),h>>>=2,f-=2}else if(17===v){for(z=_+3;f<z;){if(0===o)break e;o--,h+=n[s++]<<f,f+=8}f-=_,k=0,c=3+(7&(h>>>=_)),h>>>=3,f-=3}else{for(z=_+7;f<z;){if(0===o)break e;o--,h+=n[s++]<<f,f+=8}f-=_,k=0,c=11+(127&(h>>>=_)),h>>>=7,f-=7}if(r.have+c>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=30;break}for(;c--;)r.lens[r.have++]=k}}if(30===r.mode)break;if(0===r.lens[256]){e.msg="invalid code -- missing end-of-block",r.mode=30;break}if(r.lenbits=9,S={bits:r.lenbits},x=R(D,r.lens,0,r.nlen,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg="invalid literal/lengths set",r.mode=30;break}if(r.distbits=6,r.distcode=r.distdyn,S={bits:r.distbits},x=R(F,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,S),r.distbits=S.bits,x){e.msg="invalid distances set",r.mode=30;break}if(r.mode=20,6===t)break e;case 20:r.mode=21;case 21:if(6<=o&&258<=u){e.next_out=a,e.avail_out=u,e.next_in=s,e.avail_in=o,r.hold=h,r.bits=f,T(e,d),a=e.next_out,i=e.output,u=e.avail_out,s=e.next_in,n=e.input,o=e.avail_in,h=r.hold,f=r.bits,12===r.mode&&(r.back=-1);break}for(r.back=0;g=(E=r.lencode[h&(1<<r.lenbits)-1])>>>16&255,v=65535&E,!((_=E>>>24)<=f);){if(0===o)break e;o--,h+=n[s++]<<f,f+=8}if(g&&0==(240&g)){for(b=_,w=g,y=v;g=(E=r.lencode[y+((h&(1<<b+w)-1)>>b)])>>>16&255,v=65535&E,!(b+(_=E>>>24)<=f);){if(0===o)break e;o--,h+=n[s++]<<f,f+=8}h>>>=b,f-=b,r.back+=b}if(h>>>=_,f-=_,r.back+=_,r.length=v,0===g){r.mode=26;break}if(32&g){r.back=-1,r.mode=12;break}if(64&g){e.msg="invalid literal/length code",r.mode=30;break}r.extra=15&g,r.mode=22;case 22:if(r.extra){for(z=r.extra;f<z;){if(0===o)break e;o--,h+=n[s++]<<f,f+=8}r.length+=h&(1<<r.extra)-1,h>>>=r.extra,f-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=23;case 23:for(;g=(E=r.distcode[h&(1<<r.distbits)-1])>>>16&255,v=65535&E,!((_=E>>>24)<=f);){if(0===o)break e;o--,h+=n[s++]<<f,f+=8}if(0==(240&g)){for(b=_,w=g,y=v;g=(E=r.distcode[y+((h&(1<<b+w)-1)>>b)])>>>16&255,v=65535&E,!(b+(_=E>>>24)<=f);){if(0===o)break e;o--,h+=n[s++]<<f,f+=8}h>>>=b,f-=b,r.back+=b}if(h>>>=_,f-=_,r.back+=_,64&g){e.msg="invalid distance code",r.mode=30;break}r.offset=v,r.extra=15&g,r.mode=24;case 24:if(r.extra){for(z=r.extra;f<z;){if(0===o)break e;o--,h+=n[s++]<<f,f+=8}r.offset+=h&(1<<r.extra)-1,h>>>=r.extra,f-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=30;break}r.mode=25;case 25:if(0===u)break e;if(c=d-u,r.offset>c){if((c=r.offset-c)>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=30;break}p=c>r.wnext?(c-=r.wnext,r.wsize-c):r.wnext-c,c>r.length&&(c=r.length),m=r.window}else m=i,p=a-r.offset,c=r.length;for(u<c&&(c=u),u-=c,r.length-=c;i[a++]=m[p++],--c;);0===r.length&&(r.mode=21);break;case 26:if(0===u)break e;i[a++]=r.length,u--,r.mode=21;break;case 27:if(r.wrap){for(;f<32;){if(0===o)break e;o--,h|=n[s++]<<f,f+=8}if(d-=u,e.total_out+=d,r.total+=d,d&&(e.adler=r.check=r.flags?B(r.check,i,d,a-d):O(r.check,i,d,a-d)),d=u,(r.flags?h:L(h))!==r.check){e.msg="incorrect data check",r.mode=30;break}f=h=0}r.mode=28;case 28:if(r.wrap&&r.flags){for(;f<32;){if(0===o)break e;o--,h+=n[s++]<<f,f+=8}if(h!==(4294967295&r.total)){e.msg="incorrect length check",r.mode=30;break}f=h=0}r.mode=29;case 29:x=1;break e;case 30:x=-3;break e;case 31:return-4;case 32:default:return U}return e.next_out=a,e.avail_out=u,e.next_in=s,e.avail_in=o,r.hold=h,r.bits=f,(r.wsize||d!==e.avail_out&&r.mode<30&&(r.mode<27||4!==t))&&Z(e,e.output,e.next_out,d-e.avail_out)?(r.mode=31,-4):(l-=e.avail_in,d-=e.avail_out,e.total_in+=l,e.total_out+=d,r.total+=d,r.wrap&&d&&(e.adler=r.check=r.flags?B(r.check,i,d,e.next_out-d):O(r.check,i,d,e.next_out-d)),e.data_type=r.bits+(r.last?64:0)+(12===r.mode?128:0)+(20===r.mode||15===r.mode?256:0),(0==l&&0===d||4===t)&&x===N&&(x=-5),x)},r.inflateEnd=function(e){if(!e||!e.state)return U;var t=e.state;return t.window&&(t.window=null),e.state=null,N},r.inflateGetHeader=function(e,t){var r;return e&&e.state?0==(2&(r=e.state).wrap)?U:((r.head=t).done=!1,N):U},r.inflateSetDictionary=function(e,t){var r,n=t.length;return e&&e.state?0!==(r=e.state).wrap&&11!==r.mode?U:11===r.mode&&O(1,t,n,0)!==r.check?-3:Z(e,t,n,n)?(r.mode=31,-4):(r.havedict=1,N):U},r.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(e,t,r){"use strict";var D=e("../utils/common"),F=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],N=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],U=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],P=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];t.exports=function(e,t,r,n,i,s,a,o){var u,h,f,l,d,c,p,m,_,g=o.bits,v=0,b=0,w=0,y=0,k=0,x=0,S=0,z=0,E=0,C=0,A=null,I=0,O=new D.Buf16(16),B=new D.Buf16(16),T=null,R=0;for(v=0;v<=15;v++)O[v]=0;for(b=0;b<n;b++)O[t[r+b]]++;for(k=g,y=15;1<=y&&0===O[y];y--);if(y<k&&(k=y),0===y)return i[s++]=20971520,i[s++]=20971520,o.bits=1,0;for(w=1;w<y&&0===O[w];w++);for(k<w&&(k=w),v=z=1;v<=15;v++)if(z<<=1,(z-=O[v])<0)return-1;if(0<z&&(0===e||1!==y))return-1;for(B[1]=0,v=1;v<15;v++)B[v+1]=B[v]+O[v];for(b=0;b<n;b++)0!==t[r+b]&&(a[B[t[r+b]]++]=b);if(c=0===e?(A=T=a,19):1===e?(A=F,I-=257,T=N,R-=257,256):(A=U,T=P,-1),v=w,d=s,S=b=C=0,f=-1,l=(E=1<<(x=k))-1,1===e&&852<E||2===e&&592<E)return 1;for(;;){for(p=v-S,_=a[b]<c?(m=0,a[b]):a[b]>c?(m=T[R+a[b]],A[I+a[b]]):(m=96,0),u=1<<v-S,w=h=1<<x;i[d+(C>>S)+(h-=u)]=p<<24|m<<16|_|0,0!==h;);for(u=1<<v-1;C&u;)u>>=1;if(0!==u?(C&=u-1,C+=u):C=0,b++,0==--O[v]){if(v===y)break;v=t[r+a[b]]}if(k<v&&(C&l)!==f){for(0===S&&(S=k),d+=w,z=1<<(x=v-S);x+S<y&&!((z-=O[x+S])<=0);)x++,z<<=1;if(E+=1<<x,1===e&&852<E||2===e&&592<E)return 1;i[f=C&l]=k<<24|x<<16|d-s|0}}return 0!==C&&(i[d+C]=v-S<<24|64<<16|0),o.bits=k,0}},{"../utils/common":41}],51:[function(e,t,r){"use strict";t.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],52:[function(e,t,r){"use strict";var o=e("../utils/common");function n(e){for(var t=e.length;0<=--t;)e[t]=0}var _=15,i=16,u=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],h=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],a=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],f=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],l=new Array(576);n(l);var d=new Array(60);n(d);var c=new Array(512);n(c);var p=new Array(256);n(p);var m=new Array(29);n(m);var g,v,b,w=new Array(30);function y(e,t,r,n,i){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=e&&e.length}function s(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function k(e){return e<256?c[e]:c[256+(e>>>7)]}function x(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function S(e,t,r){e.bi_valid>i-r?(e.bi_buf|=t<<e.bi_valid&65535,x(e,e.bi_buf),e.bi_buf=t>>i-e.bi_valid,e.bi_valid+=r-i):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=r)}function z(e,t,r){S(e,r[2*t],r[2*t+1])}function E(e,t){for(var r=0;r|=1&e,e>>>=1,r<<=1,0<--t;);return r>>>1}function C(e,t,r){var n,i,s=new Array(_+1),a=0;for(n=1;n<=_;n++)s[n]=a=a+r[n-1]<<1;for(i=0;i<=t;i++){var o=e[2*i+1];0!==o&&(e[2*i]=E(s[o]++,o))}}function A(e){var t;for(t=0;t<286;t++)e.dyn_ltree[2*t]=0;for(t=0;t<30;t++)e.dyn_dtree[2*t]=0;for(t=0;t<19;t++)e.bl_tree[2*t]=0;e.dyn_ltree[512]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function I(e){8<e.bi_valid?x(e,e.bi_buf):0<e.bi_valid&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function O(e,t,r,n){var i=2*t,s=2*r;return e[i]<e[s]||e[i]===e[s]&&n[t]<=n[r]}function B(e,t,r){for(var n=e.heap[r],i=r<<1;i<=e.heap_len&&(i<e.heap_len&&O(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!O(t,n,e.heap[i],e.depth));)e.heap[r]=e.heap[i],r=i,i<<=1;e.heap[r]=n}function T(e,t,r){var n,i,s,a,o=0;if(0!==e.last_lit)for(;n=e.pending_buf[e.d_buf+2*o]<<8|e.pending_buf[e.d_buf+2*o+1],i=e.pending_buf[e.l_buf+o],o++,0===n?z(e,i,t):(z(e,(s=p[i])+256+1,t),0!==(a=u[s])&&S(e,i-=m[s],a),z(e,s=k(--n),r),0!==(a=h[s])&&S(e,n-=w[s],a)),o<e.last_lit;);z(e,256,t)}function R(e,t){var r,n,i,s=t.dyn_tree,a=t.stat_desc.static_tree,o=t.stat_desc.has_stree,u=t.stat_desc.elems,h=-1;for(e.heap_len=0,e.heap_max=573,r=0;r<u;r++)0!==s[2*r]?(e.heap[++e.heap_len]=h=r,e.depth[r]=0):s[2*r+1]=0;for(;e.heap_len<2;)s[2*(i=e.heap[++e.heap_len]=h<2?++h:0)]=1,e.depth[i]=0,e.opt_len--,o&&(e.static_len-=a[2*i+1]);for(t.max_code=h,r=e.heap_len>>1;1<=r;r--)B(e,s,r);for(i=u;r=e.heap[1],e.heap[1]=e.heap[e.heap_len--],B(e,s,1),n=e.heap[1],e.heap[--e.heap_max]=r,e.heap[--e.heap_max]=n,s[2*i]=s[2*r]+s[2*n],e.depth[i]=(e.depth[r]>=e.depth[n]?e.depth[r]:e.depth[n])+1,s[2*r+1]=s[2*n+1]=i,e.heap[1]=i++,B(e,s,1),2<=e.heap_len;);e.heap[--e.heap_max]=e.heap[1],function(e,t){var r,n,i,s,a,o,u=t.dyn_tree,h=t.max_code,f=t.stat_desc.static_tree,l=t.stat_desc.has_stree,d=t.stat_desc.extra_bits,c=t.stat_desc.extra_base,p=t.stat_desc.max_length,m=0;for(s=0;s<=_;s++)e.bl_count[s]=0;for(u[2*e.heap[e.heap_max]+1]=0,r=e.heap_max+1;r<573;r++)p<(s=u[2*u[2*(n=e.heap[r])+1]+1]+1)&&(s=p,m++),u[2*n+1]=s,h<n||(e.bl_count[s]++,a=0,c<=n&&(a=d[n-c]),o=u[2*n],e.opt_len+=o*(s+a),l&&(e.static_len+=o*(f[2*n+1]+a)));if(0!==m){do{for(s=p-1;0===e.bl_count[s];)s--;e.bl_count[s]--,e.bl_count[s+1]+=2,e.bl_count[p]--,m-=2}while(0<m);for(s=p;0!==s;s--)for(n=e.bl_count[s];0!==n;)h<(i=e.heap[--r])||(u[2*i+1]!==s&&(e.opt_len+=(s-u[2*i+1])*u[2*i],u[2*i+1]=s),n--)}}(e,t),C(s,h,e.bl_count)}function D(e,t,r){var n,i,s=-1,a=t[1],o=0,u=7,h=4;for(0===a&&(u=138,h=3),t[2*(r+1)+1]=65535,n=0;n<=r;n++)i=a,a=t[2*(n+1)+1],++o<u&&i===a||(o<h?e.bl_tree[2*i]+=o:0!==i?(i!==s&&e.bl_tree[2*i]++,e.bl_tree[32]++):o<=10?e.bl_tree[34]++:e.bl_tree[36]++,s=i,h=(o=0)===a?(u=138,3):i===a?(u=6,3):(u=7,4))}function F(e,t,r){var n,i,s=-1,a=t[1],o=0,u=7,h=4;for(0===a&&(u=138,h=3),n=0;n<=r;n++)if(i=a,a=t[2*(n+1)+1],!(++o<u&&i===a)){if(o<h)for(;z(e,i,e.bl_tree),0!=--o;);else 0!==i?(i!==s&&(z(e,i,e.bl_tree),o--),z(e,16,e.bl_tree),S(e,o-3,2)):o<=10?(z(e,17,e.bl_tree),S(e,o-3,3)):(z(e,18,e.bl_tree),S(e,o-11,7));s=i,h=(o=0)===a?(u=138,3):i===a?(u=6,3):(u=7,4)}}n(w);var N=!1;function U(e,t,r,n){var i,s,a;S(e,0+(n?1:0),3),s=t,a=r,I(i=e),x(i,a),x(i,~a),o.arraySet(i.pending_buf,i.window,s,a,i.pending),i.pending+=a}r._tr_init=function(e){N||(function(){var e,t,r,n,i,s=new Array(_+1);for(n=r=0;n<28;n++)for(m[n]=r,e=0;e<1<<u[n];e++)p[r++]=n;for(p[r-1]=n,n=i=0;n<16;n++)for(w[n]=i,e=0;e<1<<h[n];e++)c[i++]=n;for(i>>=7;n<30;n++)for(w[n]=i<<7,e=0;e<1<<h[n]-7;e++)c[256+i++]=n;for(t=0;t<=_;t++)s[t]=0;for(e=0;e<=143;)l[2*e+1]=8,e++,s[8]++;for(;e<=255;)l[2*e+1]=9,e++,s[9]++;for(;e<=279;)l[2*e+1]=7,e++,s[7]++;for(;e<=287;)l[2*e+1]=8,e++,s[8]++;for(C(l,287,s),e=0;e<30;e++)d[2*e+1]=5,d[2*e]=E(e,5);g=new y(l,u,257,286,_),v=new y(d,h,0,30,_),b=new y(new Array(0),a,0,19,7)}(),N=!0),e.l_desc=new s(e.dyn_ltree,g),e.d_desc=new s(e.dyn_dtree,v),e.bl_desc=new s(e.bl_tree,b),e.bi_buf=0,e.bi_valid=0,A(e)},r._tr_stored_block=U,r._tr_flush_block=function(e,t,r,n){var i,s,a=0;0<e.level?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,r=4093624447;for(t=0;t<=31;t++,r>>>=1)if(1&r&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t<256;t++)if(0!==e.dyn_ltree[2*t])return 1;return 0}(e)),R(e,e.l_desc),R(e,e.d_desc),a=function(e){var t;for(D(e,e.dyn_ltree,e.l_desc.max_code),D(e,e.dyn_dtree,e.d_desc.max_code),R(e,e.bl_desc),t=18;3<=t&&0===e.bl_tree[2*f[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),i=e.opt_len+3+7>>>3,(s=e.static_len+3+7>>>3)<=i&&(i=s)):i=s=r+5,r+4<=i&&-1!==t?U(e,t,r,n):4===e.strategy||s===i?(S(e,2+(n?1:0),3),T(e,l,d)):(S(e,4+(n?1:0),3),function(e,t,r,n){var i;for(S(e,t-257,5),S(e,r-1,5),S(e,n-4,4),i=0;i<n;i++)S(e,e.bl_tree[2*f[i]+1],3);F(e,e.dyn_ltree,t-1),F(e,e.dyn_dtree,r-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,a+1),T(e,e.dyn_ltree,e.dyn_dtree)),A(e),n&&I(e)},r._tr_tally=function(e,t,r){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(p[r]+256+1)]++,e.dyn_dtree[2*k(t)]++),e.last_lit===e.lit_bufsize-1},r._tr_align=function(e){var t;S(e,2,3),z(e,256,l),16===(t=e).bi_valid?(x(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):8<=t.bi_valid&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}},{"../utils/common":41}],53:[function(e,t,r){"use strict";t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(e,t,r){"use strict";t.exports="function"==typeof setImmediate?setImmediate:function(){var e=[].slice.apply(arguments);e.splice(1,0,0),setTimeout.apply(null,e)}},{}]},{},[10])(10)})}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[1])(1)})}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[1])(1)})}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[1])(1)})}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[1])(1)})}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[1])(1)});
-/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__("yLpj"), __webpack_require__("tjlA").Buffer, __webpack_require__("URgk").setImmediate))
+!function(t){if(true)module.exports=t();else {}}(function(){return function s(a,o,h){function u(r,t){if(!o[r]){if(!a[r]){var e="function"==typeof require&&require;if(!t&&e)return require(r,!0);if(l)return l(r,!0);var i=new Error("Cannot find module '"+r+"'");throw i.code="MODULE_NOT_FOUND",i}var n=o[r]={exports:{}};a[r][0].call(n.exports,function(t){var e=a[r][1][t];return u(e||t)},n,n.exports,s,a,o,h)}return o[r].exports}for(var l="function"==typeof require&&require,t=0;t<h.length;t++)u(h[t]);return u}({1:[function(t,e,r){"use strict";var c=t("./utils"),d=t("./support"),p="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";r.encode=function(t){for(var e,r,i,n,s,a,o,h=[],u=0,l=t.length,f=l,d="string"!==c.getTypeOf(t);u<t.length;)f=l-u,i=d?(e=t[u++],r=u<l?t[u++]:0,u<l?t[u++]:0):(e=t.charCodeAt(u++),r=u<l?t.charCodeAt(u++):0,u<l?t.charCodeAt(u++):0),n=e>>2,s=(3&e)<<4|r>>4,a=1<f?(15&r)<<2|i>>6:64,o=2<f?63&i:64,h.push(p.charAt(n)+p.charAt(s)+p.charAt(a)+p.charAt(o));return h.join("")},r.decode=function(t){var e,r,i,n,s,a,o=0,h=0,u="data:";if(t.substr(0,u.length)===u)throw new Error("Invalid base64 input, it looks like a data url.");var l,f=3*(t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"")).length/4;if(t.charAt(t.length-1)===p.charAt(64)&&f--,t.charAt(t.length-2)===p.charAt(64)&&f--,f%1!=0)throw new Error("Invalid base64 input, bad content length.");for(l=d.uint8array?new Uint8Array(0|f):new Array(0|f);o<t.length;)e=p.indexOf(t.charAt(o++))<<2|(n=p.indexOf(t.charAt(o++)))>>4,r=(15&n)<<4|(s=p.indexOf(t.charAt(o++)))>>2,i=(3&s)<<6|(a=p.indexOf(t.charAt(o++))),l[h++]=e,64!==s&&(l[h++]=r),64!==a&&(l[h++]=i);return l}},{"./support":30,"./utils":32}],2:[function(t,e,r){"use strict";var i=t("./external"),n=t("./stream/DataWorker"),s=t("./stream/Crc32Probe"),a=t("./stream/DataLengthProbe");function o(t,e,r,i,n){this.compressedSize=t,this.uncompressedSize=e,this.crc32=r,this.compression=i,this.compressedContent=n}o.prototype={getContentWorker:function(){var t=new n(i.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a("data_length")),e=this;return t.on("end",function(){if(this.streamInfo.data_length!==e.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),t},getCompressedWorker:function(){return new n(i.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},o.createWorkerFrom=function(t,e,r){return t.pipe(new s).pipe(new a("uncompressedSize")).pipe(e.compressWorker(r)).pipe(new a("compressedSize")).withStreamInfo("compression",e)},e.exports=o},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(t,e,r){"use strict";var i=t("./stream/GenericWorker");r.STORE={magic:"\0\0",compressWorker:function(t){return new i("STORE compression")},uncompressWorker:function(){return new i("STORE decompression")}},r.DEFLATE=t("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(t,e,r){"use strict";var i=t("./utils");var o=function(){for(var t,e=[],r=0;r<256;r++){t=r;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;e[r]=t}return e}();e.exports=function(t,e){return void 0!==t&&t.length?"string"!==i.getTypeOf(t)?function(t,e,r,i){var n=o,s=i+r;t^=-1;for(var a=i;a<s;a++)t=t>>>8^n[255&(t^e[a])];return-1^t}(0|e,t,t.length,0):function(t,e,r,i){var n=o,s=i+r;t^=-1;for(var a=i;a<s;a++)t=t>>>8^n[255&(t^e.charCodeAt(a))];return-1^t}(0|e,t,t.length,0):0}},{"./utils":32}],5:[function(t,e,r){"use strict";r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!0,r.date=null,r.compression=null,r.compressionOptions=null,r.comment=null,r.unixPermissions=null,r.dosPermissions=null},{}],6:[function(t,e,r){"use strict";var i=null;i="undefined"!=typeof Promise?Promise:t("lie"),e.exports={Promise:i}},{lie:37}],7:[function(t,e,r){"use strict";var i="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,n=t("pako"),s=t("./utils"),a=t("./stream/GenericWorker"),o=i?"uint8array":"array";function h(t,e){a.call(this,"FlateWorker/"+t),this._pako=null,this._pakoAction=t,this._pakoOptions=e,this.meta={}}r.magic="\b\0",s.inherits(h,a),h.prototype.processChunk=function(t){this.meta=t.meta,null===this._pako&&this._createPako(),this._pako.push(s.transformTo(o,t.data),!1)},h.prototype.flush=function(){a.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},h.prototype.cleanUp=function(){a.prototype.cleanUp.call(this),this._pako=null},h.prototype._createPako=function(){this._pako=new n[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var e=this;this._pako.onData=function(t){e.push({data:t,meta:e.meta})}},r.compressWorker=function(t){return new h("Deflate",t)},r.uncompressWorker=function(){return new h("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(t,e,r){"use strict";function A(t,e){var r,i="";for(r=0;r<e;r++)i+=String.fromCharCode(255&t),t>>>=8;return i}function i(t,e,r,i,n,s){var a,o,h=t.file,u=t.compression,l=s!==O.utf8encode,f=I.transformTo("string",s(h.name)),d=I.transformTo("string",O.utf8encode(h.name)),c=h.comment,p=I.transformTo("string",s(c)),m=I.transformTo("string",O.utf8encode(c)),_=d.length!==h.name.length,g=m.length!==c.length,b="",v="",y="",w=h.dir,k=h.date,x={crc32:0,compressedSize:0,uncompressedSize:0};e&&!r||(x.crc32=t.crc32,x.compressedSize=t.compressedSize,x.uncompressedSize=t.uncompressedSize);var S=0;e&&(S|=8),l||!_&&!g||(S|=2048);var z=0,C=0;w&&(z|=16),"UNIX"===n?(C=798,z|=function(t,e){var r=t;return t||(r=e?16893:33204),(65535&r)<<16}(h.unixPermissions,w)):(C=20,z|=function(t){return 63&(t||0)}(h.dosPermissions)),a=k.getUTCHours(),a<<=6,a|=k.getUTCMinutes(),a<<=5,a|=k.getUTCSeconds()/2,o=k.getUTCFullYear()-1980,o<<=4,o|=k.getUTCMonth()+1,o<<=5,o|=k.getUTCDate(),_&&(v=A(1,1)+A(B(f),4)+d,b+="up"+A(v.length,2)+v),g&&(y=A(1,1)+A(B(p),4)+m,b+="uc"+A(y.length,2)+y);var E="";return E+="\n\0",E+=A(S,2),E+=u.magic,E+=A(a,2),E+=A(o,2),E+=A(x.crc32,4),E+=A(x.compressedSize,4),E+=A(x.uncompressedSize,4),E+=A(f.length,2),E+=A(b.length,2),{fileRecord:R.LOCAL_FILE_HEADER+E+f+b,dirRecord:R.CENTRAL_FILE_HEADER+A(C,2)+E+A(p.length,2)+"\0\0\0\0"+A(z,4)+A(i,4)+f+b+p}}var I=t("../utils"),n=t("../stream/GenericWorker"),O=t("../utf8"),B=t("../crc32"),R=t("../signature");function s(t,e,r,i){n.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=e,this.zipPlatform=r,this.encodeFileName=i,this.streamFiles=t,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}I.inherits(s,n),s.prototype.push=function(t){var e=t.meta.percent||0,r=this.entriesCount,i=this._sources.length;this.accumulate?this.contentBuffer.push(t):(this.bytesWritten+=t.data.length,n.prototype.push.call(this,{data:t.data,meta:{currentFile:this.currentFile,percent:r?(e+100*(r-i-1))/r:100}}))},s.prototype.openedSource=function(t){this.currentSourceOffset=this.bytesWritten,this.currentFile=t.file.name;var e=this.streamFiles&&!t.file.dir;if(e){var r=i(t,e,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:r.fileRecord,meta:{percent:0}})}else this.accumulate=!0},s.prototype.closedSource=function(t){this.accumulate=!1;var e=this.streamFiles&&!t.file.dir,r=i(t,e,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(r.dirRecord),e)this.push({data:function(t){return R.DATA_DESCRIPTOR+A(t.crc32,4)+A(t.compressedSize,4)+A(t.uncompressedSize,4)}(t),meta:{percent:100}});else for(this.push({data:r.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},s.prototype.flush=function(){for(var t=this.bytesWritten,e=0;e<this.dirRecords.length;e++)this.push({data:this.dirRecords[e],meta:{percent:100}});var r=this.bytesWritten-t,i=function(t,e,r,i,n){var s=I.transformTo("string",n(i));return R.CENTRAL_DIRECTORY_END+"\0\0\0\0"+A(t,2)+A(t,2)+A(e,4)+A(r,4)+A(s.length,2)+s}(this.dirRecords.length,r,t,this.zipComment,this.encodeFileName);this.push({data:i,meta:{percent:100}})},s.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},s.prototype.registerPrevious=function(t){this._sources.push(t);var e=this;return t.on("data",function(t){e.processChunk(t)}),t.on("end",function(){e.closedSource(e.previous.streamInfo),e._sources.length?e.prepareNextSource():e.end()}),t.on("error",function(t){e.error(t)}),this},s.prototype.resume=function(){return!!n.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},s.prototype.error=function(t){var e=this._sources;if(!n.prototype.error.call(this,t))return!1;for(var r=0;r<e.length;r++)try{e[r].error(t)}catch(t){}return!0},s.prototype.lock=function(){n.prototype.lock.call(this);for(var t=this._sources,e=0;e<t.length;e++)t[e].lock()},e.exports=s},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(t,e,r){"use strict";var u=t("../compressions"),i=t("./ZipFileWorker");r.generateWorker=function(t,a,e){var o=new i(a.streamFiles,e,a.platform,a.encodeFileName),h=0;try{t.forEach(function(t,e){h++;var r=function(t,e){var r=t||e,i=u[r];if(!i)throw new Error(r+" is not a valid compression method !");return i}(e.options.compression,a.compression),i=e.options.compressionOptions||a.compressionOptions||{},n=e.dir,s=e.date;e._compressWorker(r,i).withStreamInfo("file",{name:t,dir:n,date:s,comment:e.comment||"",unixPermissions:e.unixPermissions,dosPermissions:e.dosPermissions}).pipe(o)}),o.entriesCount=h}catch(t){o.error(t)}return o}},{"../compressions":3,"./ZipFileWorker":8}],10:[function(t,e,r){"use strict";function i(){if(!(this instanceof i))return new i;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var t=new i;for(var e in this)"function"!=typeof this[e]&&(t[e]=this[e]);return t}}(i.prototype=t("./object")).loadAsync=t("./load"),i.support=t("./support"),i.defaults=t("./defaults"),i.version="3.7.1",i.loadAsync=function(t,e){return(new i).loadAsync(t,e)},i.external=t("./external"),e.exports=i},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(t,e,r){"use strict";var i=t("./utils"),n=t("./external"),o=t("./utf8"),h=t("./zipEntries"),s=t("./stream/Crc32Probe"),u=t("./nodejsUtils");function l(i){return new n.Promise(function(t,e){var r=i.decompressed.getContentWorker().pipe(new s);r.on("error",function(t){e(t)}).on("end",function(){r.streamInfo.crc32!==i.decompressed.crc32?e(new Error("Corrupted zip : CRC32 mismatch")):t()}).resume()})}e.exports=function(t,s){var a=this;return s=i.extend(s||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:o.utf8decode}),u.isNode&&u.isStream(t)?n.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):i.prepareContent("the loaded zip file",t,!0,s.optimizedBinaryString,s.base64).then(function(t){var e=new h(s);return e.load(t),e}).then(function(t){var e=[n.Promise.resolve(t)],r=t.files;if(s.checkCRC32)for(var i=0;i<r.length;i++)e.push(l(r[i]));return n.Promise.all(e)}).then(function(t){for(var e=t.shift(),r=e.files,i=0;i<r.length;i++){var n=r[i];a.file(n.fileNameStr,n.decompressed,{binary:!0,optimizedBinaryString:!0,date:n.date,dir:n.dir,comment:n.fileCommentStr.length?n.fileCommentStr:null,unixPermissions:n.unixPermissions,dosPermissions:n.dosPermissions,createFolders:s.createFolders})}return e.zipComment.length&&(a.comment=e.zipComment),a})}},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(t,e,r){"use strict";var i=t("../utils"),n=t("../stream/GenericWorker");function s(t,e){n.call(this,"Nodejs stream input adapter for "+t),this._upstreamEnded=!1,this._bindStream(e)}i.inherits(s,n),s.prototype._bindStream=function(t){var e=this;(this._stream=t).pause(),t.on("data",function(t){e.push({data:t,meta:{percent:0}})}).on("error",function(t){e.isPaused?this.generatedError=t:e.error(t)}).on("end",function(){e.isPaused?e._upstreamEnded=!0:e.end()})},s.prototype.pause=function(){return!!n.prototype.pause.call(this)&&(this._stream.pause(),!0)},s.prototype.resume=function(){return!!n.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},e.exports=s},{"../stream/GenericWorker":28,"../utils":32}],13:[function(t,e,r){"use strict";var n=t("readable-stream").Readable;function i(t,e,r){n.call(this,e),this._helper=t;var i=this;t.on("data",function(t,e){i.push(t)||i._helper.pause(),r&&r(e)}).on("error",function(t){i.emit("error",t)}).on("end",function(){i.push(null)})}t("../utils").inherits(i,n),i.prototype._read=function(){this._helper.resume()},e.exports=i},{"../utils":32,"readable-stream":16}],14:[function(t,e,r){"use strict";e.exports={isNode:"undefined"!=typeof Buffer,newBufferFrom:function(t,e){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(t,e);if("number"==typeof t)throw new Error('The "data" argument must not be a number');return new Buffer(t,e)},allocBuffer:function(t){if(Buffer.alloc)return Buffer.alloc(t);var e=new Buffer(t);return e.fill(0),e},isBuffer:function(t){return Buffer.isBuffer(t)},isStream:function(t){return t&&"function"==typeof t.on&&"function"==typeof t.pause&&"function"==typeof t.resume}}},{}],15:[function(t,e,r){"use strict";function s(t,e,r){var i,n=u.getTypeOf(e),s=u.extend(r||{},f);s.date=s.date||new Date,null!==s.compression&&(s.compression=s.compression.toUpperCase()),"string"==typeof s.unixPermissions&&(s.unixPermissions=parseInt(s.unixPermissions,8)),s.unixPermissions&&16384&s.unixPermissions&&(s.dir=!0),s.dosPermissions&&16&s.dosPermissions&&(s.dir=!0),s.dir&&(t=g(t)),s.createFolders&&(i=_(t))&&b.call(this,i,!0);var a="string"===n&&!1===s.binary&&!1===s.base64;r&&void 0!==r.binary||(s.binary=!a),(e instanceof d&&0===e.uncompressedSize||s.dir||!e||0===e.length)&&(s.base64=!1,s.binary=!0,e="",s.compression="STORE",n="string");var o=null;o=e instanceof d||e instanceof l?e:p.isNode&&p.isStream(e)?new m(t,e):u.prepareContent(t,e,s.binary,s.optimizedBinaryString,s.base64);var h=new c(t,o,s);this.files[t]=h}var n=t("./utf8"),u=t("./utils"),l=t("./stream/GenericWorker"),a=t("./stream/StreamHelper"),f=t("./defaults"),d=t("./compressedObject"),c=t("./zipObject"),o=t("./generate"),p=t("./nodejsUtils"),m=t("./nodejs/NodejsStreamInputAdapter"),_=function(t){"/"===t.slice(-1)&&(t=t.substring(0,t.length-1));var e=t.lastIndexOf("/");return 0<e?t.substring(0,e):""},g=function(t){return"/"!==t.slice(-1)&&(t+="/"),t},b=function(t,e){return e=void 0!==e?e:f.createFolders,t=g(t),this.files[t]||s.call(this,t,null,{dir:!0,createFolders:e}),this.files[t]};function h(t){return"[object RegExp]"===Object.prototype.toString.call(t)}var i={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(t){var e,r,i;for(e in this.files)i=this.files[e],(r=e.slice(this.root.length,e.length))&&e.slice(0,this.root.length)===this.root&&t(r,i)},filter:function(r){var i=[];return this.forEach(function(t,e){r(t,e)&&i.push(e)}),i},file:function(t,e,r){if(1!==arguments.length)return t=this.root+t,s.call(this,t,e,r),this;if(h(t)){var i=t;return this.filter(function(t,e){return!e.dir&&i.test(t)})}var n=this.files[this.root+t];return n&&!n.dir?n:null},folder:function(r){if(!r)return this;if(h(r))return this.filter(function(t,e){return e.dir&&r.test(t)});var t=this.root+r,e=b.call(this,t),i=this.clone();return i.root=e.name,i},remove:function(r){r=this.root+r;var t=this.files[r];if(t||("/"!==r.slice(-1)&&(r+="/"),t=this.files[r]),t&&!t.dir)delete this.files[r];else for(var e=this.filter(function(t,e){return e.name.slice(0,r.length)===r}),i=0;i<e.length;i++)delete this.files[e[i].name];return this},generate:function(t){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(t){var e,r={};try{if((r=u.extend(t||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:n.utf8encode})).type=r.type.toLowerCase(),r.compression=r.compression.toUpperCase(),"binarystring"===r.type&&(r.type="string"),!r.type)throw new Error("No output type specified.");u.checkSupport(r.type),"darwin"!==r.platform&&"freebsd"!==r.platform&&"linux"!==r.platform&&"sunos"!==r.platform||(r.platform="UNIX"),"win32"===r.platform&&(r.platform="DOS");var i=r.comment||this.comment||"";e=o.generateWorker(this,r,i)}catch(t){(e=new l("error")).error(t)}return new a(e,r.type||"string",r.mimeType)},generateAsync:function(t,e){return this.generateInternalStream(t).accumulate(e)},generateNodeStream:function(t,e){return(t=t||{}).type||(t.type="nodebuffer"),this.generateInternalStream(t).toNodejsStream(e)}};e.exports=i},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(t,e,r){e.exports=t("stream")},{stream:void 0}],17:[function(t,e,r){"use strict";var i=t("./DataReader");function n(t){i.call(this,t);for(var e=0;e<this.data.length;e++)t[e]=255&t[e]}t("../utils").inherits(n,i),n.prototype.byteAt=function(t){return this.data[this.zero+t]},n.prototype.lastIndexOfSignature=function(t){for(var e=t.charCodeAt(0),r=t.charCodeAt(1),i=t.charCodeAt(2),n=t.charCodeAt(3),s=this.length-4;0<=s;--s)if(this.data[s]===e&&this.data[s+1]===r&&this.data[s+2]===i&&this.data[s+3]===n)return s-this.zero;return-1},n.prototype.readAndCheckSignature=function(t){var e=t.charCodeAt(0),r=t.charCodeAt(1),i=t.charCodeAt(2),n=t.charCodeAt(3),s=this.readData(4);return e===s[0]&&r===s[1]&&i===s[2]&&n===s[3]},n.prototype.readData=function(t){if(this.checkOffset(t),0===t)return[];var e=this.data.slice(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=n},{"../utils":32,"./DataReader":18}],18:[function(t,e,r){"use strict";var i=t("../utils");function n(t){this.data=t,this.length=t.length,this.index=0,this.zero=0}n.prototype={checkOffset:function(t){this.checkIndex(this.index+t)},checkIndex:function(t){if(this.length<this.zero+t||t<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+t+"). Corrupted zip ?")},setIndex:function(t){this.checkIndex(t),this.index=t},skip:function(t){this.setIndex(this.index+t)},byteAt:function(t){},readInt:function(t){var e,r=0;for(this.checkOffset(t),e=this.index+t-1;e>=this.index;e--)r=(r<<8)+this.byteAt(e);return this.index+=t,r},readString:function(t){return i.transformTo("string",this.readData(t))},readData:function(t){},lastIndexOfSignature:function(t){},readAndCheckSignature:function(t){},readDate:function(){var t=this.readInt(4);return new Date(Date.UTC(1980+(t>>25&127),(t>>21&15)-1,t>>16&31,t>>11&31,t>>5&63,(31&t)<<1))}},e.exports=n},{"../utils":32}],19:[function(t,e,r){"use strict";var i=t("./Uint8ArrayReader");function n(t){i.call(this,t)}t("../utils").inherits(n,i),n.prototype.readData=function(t){this.checkOffset(t);var e=this.data.slice(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=n},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(t,e,r){"use strict";var i=t("./DataReader");function n(t){i.call(this,t)}t("../utils").inherits(n,i),n.prototype.byteAt=function(t){return this.data.charCodeAt(this.zero+t)},n.prototype.lastIndexOfSignature=function(t){return this.data.lastIndexOf(t)-this.zero},n.prototype.readAndCheckSignature=function(t){return t===this.readData(4)},n.prototype.readData=function(t){this.checkOffset(t);var e=this.data.slice(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=n},{"../utils":32,"./DataReader":18}],21:[function(t,e,r){"use strict";var i=t("./ArrayReader");function n(t){i.call(this,t)}t("../utils").inherits(n,i),n.prototype.readData=function(t){if(this.checkOffset(t),0===t)return new Uint8Array(0);var e=this.data.subarray(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=n},{"../utils":32,"./ArrayReader":17}],22:[function(t,e,r){"use strict";var i=t("../utils"),n=t("../support"),s=t("./ArrayReader"),a=t("./StringReader"),o=t("./NodeBufferReader"),h=t("./Uint8ArrayReader");e.exports=function(t){var e=i.getTypeOf(t);return i.checkSupport(e),"string"!==e||n.uint8array?"nodebuffer"===e?new o(t):n.uint8array?new h(i.transformTo("uint8array",t)):new s(i.transformTo("array",t)):new a(t)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(t,e,r){"use strict";r.LOCAL_FILE_HEADER="PK",r.CENTRAL_FILE_HEADER="PK",r.CENTRAL_DIRECTORY_END="PK",r.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK",r.ZIP64_CENTRAL_DIRECTORY_END="PK",r.DATA_DESCRIPTOR="PK\b"},{}],24:[function(t,e,r){"use strict";var i=t("./GenericWorker"),n=t("../utils");function s(t){i.call(this,"ConvertWorker to "+t),this.destType=t}n.inherits(s,i),s.prototype.processChunk=function(t){this.push({data:n.transformTo(this.destType,t.data),meta:t.meta})},e.exports=s},{"../utils":32,"./GenericWorker":28}],25:[function(t,e,r){"use strict";var i=t("./GenericWorker"),n=t("../crc32");function s(){i.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}t("../utils").inherits(s,i),s.prototype.processChunk=function(t){this.streamInfo.crc32=n(t.data,this.streamInfo.crc32||0),this.push(t)},e.exports=s},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(t,e,r){"use strict";var i=t("../utils"),n=t("./GenericWorker");function s(t){n.call(this,"DataLengthProbe for "+t),this.propName=t,this.withStreamInfo(t,0)}i.inherits(s,n),s.prototype.processChunk=function(t){if(t){var e=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=e+t.data.length}n.prototype.processChunk.call(this,t)},e.exports=s},{"../utils":32,"./GenericWorker":28}],27:[function(t,e,r){"use strict";var i=t("../utils"),n=t("./GenericWorker");function s(t){n.call(this,"DataWorker");var e=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,t.then(function(t){e.dataIsReady=!0,e.data=t,e.max=t&&t.length||0,e.type=i.getTypeOf(t),e.isPaused||e._tickAndRepeat()},function(t){e.error(t)})}i.inherits(s,n),s.prototype.cleanUp=function(){n.prototype.cleanUp.call(this),this.data=null},s.prototype.resume=function(){return!!n.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,i.delay(this._tickAndRepeat,[],this)),!0)},s.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(i.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},s.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var t=null,e=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":t=this.data.substring(this.index,e);break;case"uint8array":t=this.data.subarray(this.index,e);break;case"array":case"nodebuffer":t=this.data.slice(this.index,e)}return this.index=e,this.push({data:t,meta:{percent:this.max?this.index/this.max*100:0}})},e.exports=s},{"../utils":32,"./GenericWorker":28}],28:[function(t,e,r){"use strict";function i(t){this.name=t||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}i.prototype={push:function(t){this.emit("data",t)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(t){this.emit("error",t)}return!0},error:function(t){return!this.isFinished&&(this.isPaused?this.generatedError=t:(this.isFinished=!0,this.emit("error",t),this.previous&&this.previous.error(t),this.cleanUp()),!0)},on:function(t,e){return this._listeners[t].push(e),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(t,e){if(this._listeners[t])for(var r=0;r<this._listeners[t].length;r++)this._listeners[t][r].call(this,e)},pipe:function(t){return t.registerPrevious(this)},registerPrevious:function(t){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=t.streamInfo,this.mergeStreamInfo(),this.previous=t;var e=this;return t.on("data",function(t){e.processChunk(t)}),t.on("end",function(){e.end()}),t.on("error",function(t){e.error(t)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var t=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),t=!0),this.previous&&this.previous.resume(),!t},flush:function(){},processChunk:function(t){this.push(t)},withStreamInfo:function(t,e){return this.extraStreamInfo[t]=e,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var t in this.extraStreamInfo)this.extraStreamInfo.hasOwnProperty(t)&&(this.streamInfo[t]=this.extraStreamInfo[t])},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var t="Worker "+this.name;return this.previous?this.previous+" -> "+t:t}},e.exports=i},{}],29:[function(t,e,r){"use strict";var h=t("../utils"),n=t("./ConvertWorker"),s=t("./GenericWorker"),u=t("../base64"),i=t("../support"),a=t("../external"),o=null;if(i.nodestream)try{o=t("../nodejs/NodejsStreamOutputAdapter")}catch(t){}function l(t,o){return new a.Promise(function(e,r){var i=[],n=t._internalType,s=t._outputType,a=t._mimeType;t.on("data",function(t,e){i.push(t),o&&o(e)}).on("error",function(t){i=[],r(t)}).on("end",function(){try{var t=function(t,e,r){switch(t){case"blob":return h.newBlob(h.transformTo("arraybuffer",e),r);case"base64":return u.encode(e);default:return h.transformTo(t,e)}}(s,function(t,e){var r,i=0,n=null,s=0;for(r=0;r<e.length;r++)s+=e[r].length;switch(t){case"string":return e.join("");case"array":return Array.prototype.concat.apply([],e);case"uint8array":for(n=new Uint8Array(s),r=0;r<e.length;r++)n.set(e[r],i),i+=e[r].length;return n;case"nodebuffer":return Buffer.concat(e);default:throw new Error("concat : unsupported type '"+t+"'")}}(n,i),a);e(t)}catch(t){r(t)}i=[]}).resume()})}function f(t,e,r){var i=e;switch(e){case"blob":case"arraybuffer":i="uint8array";break;case"base64":i="string"}try{this._internalType=i,this._outputType=e,this._mimeType=r,h.checkSupport(i),this._worker=t.pipe(new n(i)),t.lock()}catch(t){this._worker=new s("error"),this._worker.error(t)}}f.prototype={accumulate:function(t){return l(this,t)},on:function(t,e){var r=this;return"data"===t?this._worker.on(t,function(t){e.call(r,t.data,t.meta)}):this._worker.on(t,function(){h.delay(e,arguments,r)}),this},resume:function(){return h.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(t){if(h.checkSupport("nodestream"),"nodebuffer"!==this._outputType)throw new Error(this._outputType+" is not supported by this method");return new o(this,{objectMode:"nodebuffer"!==this._outputType},t)}},e.exports=f},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(t,e,r){"use strict";if(r.base64=!0,r.array=!0,r.string=!0,r.arraybuffer="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,r.nodebuffer="undefined"!=typeof Buffer,r.uint8array="undefined"!=typeof Uint8Array,"undefined"==typeof ArrayBuffer)r.blob=!1;else{var i=new ArrayBuffer(0);try{r.blob=0===new Blob([i],{type:"application/zip"}).size}catch(t){try{var n=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);n.append(i),r.blob=0===n.getBlob("application/zip").size}catch(t){r.blob=!1}}}try{r.nodestream=!!t("readable-stream").Readable}catch(t){r.nodestream=!1}},{"readable-stream":16}],31:[function(t,e,s){"use strict";for(var o=t("./utils"),h=t("./support"),r=t("./nodejsUtils"),i=t("./stream/GenericWorker"),u=new Array(256),n=0;n<256;n++)u[n]=252<=n?6:248<=n?5:240<=n?4:224<=n?3:192<=n?2:1;u[254]=u[254]=1;function a(){i.call(this,"utf-8 decode"),this.leftOver=null}function l(){i.call(this,"utf-8 encode")}s.utf8encode=function(t){return h.nodebuffer?r.newBufferFrom(t,"utf-8"):function(t){var e,r,i,n,s,a=t.length,o=0;for(n=0;n<a;n++)55296==(64512&(r=t.charCodeAt(n)))&&n+1<a&&56320==(64512&(i=t.charCodeAt(n+1)))&&(r=65536+(r-55296<<10)+(i-56320),n++),o+=r<128?1:r<2048?2:r<65536?3:4;for(e=h.uint8array?new Uint8Array(o):new Array(o),n=s=0;s<o;n++)55296==(64512&(r=t.charCodeAt(n)))&&n+1<a&&56320==(64512&(i=t.charCodeAt(n+1)))&&(r=65536+(r-55296<<10)+(i-56320),n++),r<128?e[s++]=r:(r<2048?e[s++]=192|r>>>6:(r<65536?e[s++]=224|r>>>12:(e[s++]=240|r>>>18,e[s++]=128|r>>>12&63),e[s++]=128|r>>>6&63),e[s++]=128|63&r);return e}(t)},s.utf8decode=function(t){return h.nodebuffer?o.transformTo("nodebuffer",t).toString("utf-8"):function(t){var e,r,i,n,s=t.length,a=new Array(2*s);for(e=r=0;e<s;)if((i=t[e++])<128)a[r++]=i;else if(4<(n=u[i]))a[r++]=65533,e+=n-1;else{for(i&=2===n?31:3===n?15:7;1<n&&e<s;)i=i<<6|63&t[e++],n--;1<n?a[r++]=65533:i<65536?a[r++]=i:(i-=65536,a[r++]=55296|i>>10&1023,a[r++]=56320|1023&i)}return a.length!==r&&(a.subarray?a=a.subarray(0,r):a.length=r),o.applyFromCharCode(a)}(t=o.transformTo(h.uint8array?"uint8array":"array",t))},o.inherits(a,i),a.prototype.processChunk=function(t){var e=o.transformTo(h.uint8array?"uint8array":"array",t.data);if(this.leftOver&&this.leftOver.length){if(h.uint8array){var r=e;(e=new Uint8Array(r.length+this.leftOver.length)).set(this.leftOver,0),e.set(r,this.leftOver.length)}else e=this.leftOver.concat(e);this.leftOver=null}var i=function(t,e){var r;for((e=e||t.length)>t.length&&(e=t.length),r=e-1;0<=r&&128==(192&t[r]);)r--;return r<0?e:0===r?e:r+u[t[r]]>e?r:e}(e),n=e;i!==e.length&&(h.uint8array?(n=e.subarray(0,i),this.leftOver=e.subarray(i,e.length)):(n=e.slice(0,i),this.leftOver=e.slice(i,e.length))),this.push({data:s.utf8decode(n),meta:t.meta})},a.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:s.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},s.Utf8DecodeWorker=a,o.inherits(l,i),l.prototype.processChunk=function(t){this.push({data:s.utf8encode(t.data),meta:t.meta})},s.Utf8EncodeWorker=l},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(t,e,a){"use strict";var o=t("./support"),h=t("./base64"),r=t("./nodejsUtils"),i=t("set-immediate-shim"),u=t("./external");function n(t){return t}function l(t,e){for(var r=0;r<t.length;++r)e[r]=255&t.charCodeAt(r);return e}a.newBlob=function(e,r){a.checkSupport("blob");try{return new Blob([e],{type:r})}catch(t){try{var i=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return i.append(e),i.getBlob(r)}catch(t){throw new Error("Bug : can't construct the Blob.")}}};var s={stringifyByChunk:function(t,e,r){var i=[],n=0,s=t.length;if(s<=r)return String.fromCharCode.apply(null,t);for(;n<s;)"array"===e||"nodebuffer"===e?i.push(String.fromCharCode.apply(null,t.slice(n,Math.min(n+r,s)))):i.push(String.fromCharCode.apply(null,t.subarray(n,Math.min(n+r,s)))),n+=r;return i.join("")},stringifyByChar:function(t){for(var e="",r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},applyCanBeUsed:{uint8array:function(){try{return o.uint8array&&1===String.fromCharCode.apply(null,new Uint8Array(1)).length}catch(t){return!1}}(),nodebuffer:function(){try{return o.nodebuffer&&1===String.fromCharCode.apply(null,r.allocBuffer(1)).length}catch(t){return!1}}()}};function f(t){var e=65536,r=a.getTypeOf(t),i=!0;if("uint8array"===r?i=s.applyCanBeUsed.uint8array:"nodebuffer"===r&&(i=s.applyCanBeUsed.nodebuffer),i)for(;1<e;)try{return s.stringifyByChunk(t,r,e)}catch(t){e=Math.floor(e/2)}return s.stringifyByChar(t)}function d(t,e){for(var r=0;r<t.length;r++)e[r]=t[r];return e}a.applyFromCharCode=f;var c={};c.string={string:n,array:function(t){return l(t,new Array(t.length))},arraybuffer:function(t){return c.string.uint8array(t).buffer},uint8array:function(t){return l(t,new Uint8Array(t.length))},nodebuffer:function(t){return l(t,r.allocBuffer(t.length))}},c.array={string:f,array:n,arraybuffer:function(t){return new Uint8Array(t).buffer},uint8array:function(t){return new Uint8Array(t)},nodebuffer:function(t){return r.newBufferFrom(t)}},c.arraybuffer={string:function(t){return f(new Uint8Array(t))},array:function(t){return d(new Uint8Array(t),new Array(t.byteLength))},arraybuffer:n,uint8array:function(t){return new Uint8Array(t)},nodebuffer:function(t){return r.newBufferFrom(new Uint8Array(t))}},c.uint8array={string:f,array:function(t){return d(t,new Array(t.length))},arraybuffer:function(t){return t.buffer},uint8array:n,nodebuffer:function(t){return r.newBufferFrom(t)}},c.nodebuffer={string:f,array:function(t){return d(t,new Array(t.length))},arraybuffer:function(t){return c.nodebuffer.uint8array(t).buffer},uint8array:function(t){return d(t,new Uint8Array(t.length))},nodebuffer:n},a.transformTo=function(t,e){if(e=e||"",!t)return e;a.checkSupport(t);var r=a.getTypeOf(e);return c[r][t](e)},a.getTypeOf=function(t){return"string"==typeof t?"string":"[object Array]"===Object.prototype.toString.call(t)?"array":o.nodebuffer&&r.isBuffer(t)?"nodebuffer":o.uint8array&&t instanceof Uint8Array?"uint8array":o.arraybuffer&&t instanceof ArrayBuffer?"arraybuffer":void 0},a.checkSupport=function(t){if(!o[t.toLowerCase()])throw new Error(t+" is not supported by this platform")},a.MAX_VALUE_16BITS=65535,a.MAX_VALUE_32BITS=-1,a.pretty=function(t){var e,r,i="";for(r=0;r<(t||"").length;r++)i+="\\x"+((e=t.charCodeAt(r))<16?"0":"")+e.toString(16).toUpperCase();return i},a.delay=function(t,e,r){i(function(){t.apply(r||null,e||[])})},a.inherits=function(t,e){function r(){}r.prototype=e.prototype,t.prototype=new r},a.extend=function(){var t,e,r={};for(t=0;t<arguments.length;t++)for(e in arguments[t])arguments[t].hasOwnProperty(e)&&void 0===r[e]&&(r[e]=arguments[t][e]);return r},a.prepareContent=function(r,t,i,n,s){return u.Promise.resolve(t).then(function(i){return o.blob&&(i instanceof Blob||-1!==["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(i)))&&"undefined"!=typeof FileReader?new u.Promise(function(e,r){var t=new FileReader;t.onload=function(t){e(t.target.result)},t.onerror=function(t){r(t.target.error)},t.readAsArrayBuffer(i)}):i}).then(function(t){var e=a.getTypeOf(t);return e?("arraybuffer"===e?t=a.transformTo("uint8array",t):"string"===e&&(s?t=h.decode(t):i&&!0!==n&&(t=function(t){return l(t,o.uint8array?new Uint8Array(t.length):new Array(t.length))}(t))),t):u.Promise.reject(new Error("Can't read the data of '"+r+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})}},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,"set-immediate-shim":54}],33:[function(t,e,r){"use strict";var i=t("./reader/readerFor"),n=t("./utils"),s=t("./signature"),a=t("./zipEntry"),o=(t("./utf8"),t("./support"));function h(t){this.files=[],this.loadOptions=t}h.prototype={checkSignature:function(t){if(!this.reader.readAndCheckSignature(t)){this.reader.index-=4;var e=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+n.pretty(e)+", expected "+n.pretty(t)+")")}},isSignature:function(t,e){var r=this.reader.index;this.reader.setIndex(t);var i=this.reader.readString(4)===e;return this.reader.setIndex(r),i},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var t=this.reader.readData(this.zipCommentLength),e=o.uint8array?"uint8array":"array",r=n.transformTo(e,t);this.zipComment=this.loadOptions.decodeFileName(r)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var t,e,r,i=this.zip64EndOfCentralSize-44;0<i;)t=this.reader.readInt(2),e=this.reader.readInt(4),r=this.reader.readData(e),this.zip64ExtensibleData[t]={id:t,length:e,value:r}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var t,e;for(t=0;t<this.files.length;t++)e=this.files[t],this.reader.setIndex(e.localHeaderOffset),this.checkSignature(s.LOCAL_FILE_HEADER),e.readLocalPart(this.reader),e.handleUTF8(),e.processAttributes()},readCentralDir:function(){var t;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(s.CENTRAL_FILE_HEADER);)(t=new a({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(t);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var t=this.reader.lastIndexOfSignature(s.CENTRAL_DIRECTORY_END);if(t<0)throw!this.isSignature(0,s.LOCAL_FILE_HEADER)?new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html"):new Error("Corrupted zip: can't find end of central directory");this.reader.setIndex(t);var e=t;if(this.checkSignature(s.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===n.MAX_VALUE_16BITS||this.diskWithCentralDirStart===n.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===n.MAX_VALUE_16BITS||this.centralDirRecords===n.MAX_VALUE_16BITS||this.centralDirSize===n.MAX_VALUE_32BITS||this.centralDirOffset===n.MAX_VALUE_32BITS){if(this.zip64=!0,(t=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(t),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,s.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var r=this.centralDirOffset+this.centralDirSize;this.zip64&&(r+=20,r+=12+this.zip64EndOfCentralSize);var i=e-r;if(0<i)this.isSignature(e,s.CENTRAL_FILE_HEADER)||(this.reader.zero=i);else if(i<0)throw new Error("Corrupted zip: missing "+Math.abs(i)+" bytes.")},prepareReader:function(t){this.reader=i(t)},load:function(t){this.prepareReader(t),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},e.exports=h},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utf8":31,"./utils":32,"./zipEntry":34}],34:[function(t,e,r){"use strict";var i=t("./reader/readerFor"),s=t("./utils"),n=t("./compressedObject"),a=t("./crc32"),o=t("./utf8"),h=t("./compressions"),u=t("./support");function l(t,e){this.options=t,this.loadOptions=e}l.prototype={isEncrypted:function(){return 1==(1&this.bitFlag)},useUTF8:function(){return 2048==(2048&this.bitFlag)},readLocalPart:function(t){var e,r;if(t.skip(22),this.fileNameLength=t.readInt(2),r=t.readInt(2),this.fileName=t.readData(this.fileNameLength),t.skip(r),-1===this.compressedSize||-1===this.uncompressedSize)throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if(null===(e=function(t){for(var e in h)if(h.hasOwnProperty(e)&&h[e].magic===t)return h[e];return null}(this.compressionMethod)))throw new Error("Corrupted zip : compression "+s.pretty(this.compressionMethod)+" unknown (inner file : "+s.transformTo("string",this.fileName)+")");this.decompressed=new n(this.compressedSize,this.uncompressedSize,this.crc32,e,t.readData(this.compressedSize))},readCentralPart:function(t){this.versionMadeBy=t.readInt(2),t.skip(2),this.bitFlag=t.readInt(2),this.compressionMethod=t.readString(2),this.date=t.readDate(),this.crc32=t.readInt(4),this.compressedSize=t.readInt(4),this.uncompressedSize=t.readInt(4);var e=t.readInt(2);if(this.extraFieldsLength=t.readInt(2),this.fileCommentLength=t.readInt(2),this.diskNumberStart=t.readInt(2),this.internalFileAttributes=t.readInt(2),this.externalFileAttributes=t.readInt(4),this.localHeaderOffset=t.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");t.skip(e),this.readExtraFields(t),this.parseZIP64ExtraField(t),this.fileComment=t.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var t=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),0==t&&(this.dosPermissions=63&this.externalFileAttributes),3==t&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(t){if(this.extraFields[1]){var e=i(this.extraFields[1].value);this.uncompressedSize===s.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===s.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===s.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===s.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4))}},readExtraFields:function(t){var e,r,i,n=t.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});t.index+4<n;)e=t.readInt(2),r=t.readInt(2),i=t.readData(r),this.extraFields[e]={id:e,length:r,value:i};t.setIndex(n)},handleUTF8:function(){var t=u.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=o.utf8decode(this.fileName),this.fileCommentStr=o.utf8decode(this.fileComment);else{var e=this.findExtraFieldUnicodePath();if(null!==e)this.fileNameStr=e;else{var r=s.transformTo(t,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(r)}var i=this.findExtraFieldUnicodeComment();if(null!==i)this.fileCommentStr=i;else{var n=s.transformTo(t,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(n)}}},findExtraFieldUnicodePath:function(){var t=this.extraFields[28789];if(t){var e=i(t.value);return 1!==e.readInt(1)?null:a(this.fileName)!==e.readInt(4)?null:o.utf8decode(e.readData(t.length-5))}return null},findExtraFieldUnicodeComment:function(){var t=this.extraFields[25461];if(t){var e=i(t.value);return 1!==e.readInt(1)?null:a(this.fileComment)!==e.readInt(4)?null:o.utf8decode(e.readData(t.length-5))}return null}},e.exports=l},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(t,e,r){"use strict";function i(t,e,r){this.name=t,this.dir=r.dir,this.date=r.date,this.comment=r.comment,this.unixPermissions=r.unixPermissions,this.dosPermissions=r.dosPermissions,this._data=e,this._dataBinary=r.binary,this.options={compression:r.compression,compressionOptions:r.compressionOptions}}var s=t("./stream/StreamHelper"),n=t("./stream/DataWorker"),a=t("./utf8"),o=t("./compressedObject"),h=t("./stream/GenericWorker");i.prototype={internalStream:function(t){var e=null,r="string";try{if(!t)throw new Error("No output type specified.");var i="string"===(r=t.toLowerCase())||"text"===r;"binarystring"!==r&&"text"!==r||(r="string"),e=this._decompressWorker();var n=!this._dataBinary;n&&!i&&(e=e.pipe(new a.Utf8EncodeWorker)),!n&&i&&(e=e.pipe(new a.Utf8DecodeWorker))}catch(t){(e=new h("error")).error(t)}return new s(e,r,"")},async:function(t,e){return this.internalStream(t).accumulate(e)},nodeStream:function(t,e){return this.internalStream(t||"nodebuffer").toNodejsStream(e)},_compressWorker:function(t,e){if(this._data instanceof o&&this._data.compression.magic===t.magic)return this._data.getCompressedWorker();var r=this._decompressWorker();return this._dataBinary||(r=r.pipe(new a.Utf8EncodeWorker)),o.createWorkerFrom(r,t,e)},_decompressWorker:function(){return this._data instanceof o?this._data.getContentWorker():this._data instanceof h?this._data:new n(this._data)}};for(var u=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],l=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},f=0;f<u.length;f++)i.prototype[u[f]]=l;e.exports=i},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(t,l,e){(function(e){"use strict";var r,i,t=e.MutationObserver||e.WebKitMutationObserver;if(t){var n=0,s=new t(u),a=e.document.createTextNode("");s.observe(a,{characterData:!0}),r=function(){a.data=n=++n%2}}else if(e.setImmediate||void 0===e.MessageChannel)r="document"in e&&"onreadystatechange"in e.document.createElement("script")?function(){var t=e.document.createElement("script");t.onreadystatechange=function(){u(),t.onreadystatechange=null,t.parentNode.removeChild(t),t=null},e.document.documentElement.appendChild(t)}:function(){setTimeout(u,0)};else{var o=new e.MessageChannel;o.port1.onmessage=u,r=function(){o.port2.postMessage(0)}}var h=[];function u(){var t,e;i=!0;for(var r=h.length;r;){for(e=h,h=[],t=-1;++t<r;)e[t]();r=h.length}i=!1}l.exports=function(t){1!==h.push(t)||i||r()}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],37:[function(t,e,r){"use strict";var n=t("immediate");function u(){}var l={},s=["REJECTED"],a=["FULFILLED"],i=["PENDING"];function o(t){if("function"!=typeof t)throw new TypeError("resolver must be a function");this.state=i,this.queue=[],this.outcome=void 0,t!==u&&c(this,t)}function h(t,e,r){this.promise=t,"function"==typeof e&&(this.onFulfilled=e,this.callFulfilled=this.otherCallFulfilled),"function"==typeof r&&(this.onRejected=r,this.callRejected=this.otherCallRejected)}function f(e,r,i){n(function(){var t;try{t=r(i)}catch(t){return l.reject(e,t)}t===e?l.reject(e,new TypeError("Cannot resolve promise with itself")):l.resolve(e,t)})}function d(t){var e=t&&t.then;if(t&&("object"==typeof t||"function"==typeof t)&&"function"==typeof e)return function(){e.apply(t,arguments)}}function c(e,t){var r=!1;function i(t){r||(r=!0,l.reject(e,t))}function n(t){r||(r=!0,l.resolve(e,t))}var s=p(function(){t(n,i)});"error"===s.status&&i(s.value)}function p(t,e){var r={};try{r.value=t(e),r.status="success"}catch(t){r.status="error",r.value=t}return r}(e.exports=o).prototype.finally=function(e){if("function"!=typeof e)return this;var r=this.constructor;return this.then(function(t){return r.resolve(e()).then(function(){return t})},function(t){return r.resolve(e()).then(function(){throw t})})},o.prototype.catch=function(t){return this.then(null,t)},o.prototype.then=function(t,e){if("function"!=typeof t&&this.state===a||"function"!=typeof e&&this.state===s)return this;var r=new this.constructor(u);this.state!==i?f(r,this.state===a?t:e,this.outcome):this.queue.push(new h(r,t,e));return r},h.prototype.callFulfilled=function(t){l.resolve(this.promise,t)},h.prototype.otherCallFulfilled=function(t){f(this.promise,this.onFulfilled,t)},h.prototype.callRejected=function(t){l.reject(this.promise,t)},h.prototype.otherCallRejected=function(t){f(this.promise,this.onRejected,t)},l.resolve=function(t,e){var r=p(d,e);if("error"===r.status)return l.reject(t,r.value);var i=r.value;if(i)c(t,i);else{t.state=a,t.outcome=e;for(var n=-1,s=t.queue.length;++n<s;)t.queue[n].callFulfilled(e)}return t},l.reject=function(t,e){t.state=s,t.outcome=e;for(var r=-1,i=t.queue.length;++r<i;)t.queue[r].callRejected(e);return t},o.resolve=function(t){if(t instanceof this)return t;return l.resolve(new this(u),t)},o.reject=function(t){var e=new this(u);return l.reject(e,t)},o.all=function(t){var r=this;if("[object Array]"!==Object.prototype.toString.call(t))return this.reject(new TypeError("must be an array"));var i=t.length,n=!1;if(!i)return this.resolve([]);var s=new Array(i),a=0,e=-1,o=new this(u);for(;++e<i;)h(t[e],e);return o;function h(t,e){r.resolve(t).then(function(t){s[e]=t,++a!==i||n||(n=!0,l.resolve(o,s))},function(t){n||(n=!0,l.reject(o,t))})}},o.race=function(t){var e=this;if("[object Array]"!==Object.prototype.toString.call(t))return this.reject(new TypeError("must be an array"));var r=t.length,i=!1;if(!r)return this.resolve([]);var n=-1,s=new this(u);for(;++n<r;)a=t[n],e.resolve(a).then(function(t){i||(i=!0,l.resolve(s,t))},function(t){i||(i=!0,l.reject(s,t))});var a;return s}},{immediate:36}],38:[function(t,e,r){"use strict";var i={};(0,t("./lib/utils/common").assign)(i,t("./lib/deflate"),t("./lib/inflate"),t("./lib/zlib/constants")),e.exports=i},{"./lib/deflate":39,"./lib/inflate":40,"./lib/utils/common":41,"./lib/zlib/constants":44}],39:[function(t,e,r){"use strict";var a=t("./zlib/deflate"),o=t("./utils/common"),h=t("./utils/strings"),n=t("./zlib/messages"),s=t("./zlib/zstream"),u=Object.prototype.toString,l=0,f=-1,d=0,c=8;function p(t){if(!(this instanceof p))return new p(t);this.options=o.assign({level:f,method:c,chunkSize:16384,windowBits:15,memLevel:8,strategy:d,to:""},t||{});var e=this.options;e.raw&&0<e.windowBits?e.windowBits=-e.windowBits:e.gzip&&0<e.windowBits&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new s,this.strm.avail_out=0;var r=a.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(r!==l)throw new Error(n[r]);if(e.header&&a.deflateSetHeader(this.strm,e.header),e.dictionary){var i;if(i="string"==typeof e.dictionary?h.string2buf(e.dictionary):"[object ArrayBuffer]"===u.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,(r=a.deflateSetDictionary(this.strm,i))!==l)throw new Error(n[r]);this._dict_set=!0}}function i(t,e){var r=new p(e);if(r.push(t,!0),r.err)throw r.msg||n[r.err];return r.result}p.prototype.push=function(t,e){var r,i,n=this.strm,s=this.options.chunkSize;if(this.ended)return!1;i=e===~~e?e:!0===e?4:0,"string"==typeof t?n.input=h.string2buf(t):"[object ArrayBuffer]"===u.call(t)?n.input=new Uint8Array(t):n.input=t,n.next_in=0,n.avail_in=n.input.length;do{if(0===n.avail_out&&(n.output=new o.Buf8(s),n.next_out=0,n.avail_out=s),1!==(r=a.deflate(n,i))&&r!==l)return this.onEnd(r),!(this.ended=!0);0!==n.avail_out&&(0!==n.avail_in||4!==i&&2!==i)||("string"===this.options.to?this.onData(h.buf2binstring(o.shrinkBuf(n.output,n.next_out))):this.onData(o.shrinkBuf(n.output,n.next_out)))}while((0<n.avail_in||0===n.avail_out)&&1!==r);return 4===i?(r=a.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===l):2!==i||(this.onEnd(l),!(n.avail_out=0))},p.prototype.onData=function(t){this.chunks.push(t)},p.prototype.onEnd=function(t){t===l&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},r.Deflate=p,r.deflate=i,r.deflateRaw=function(t,e){return(e=e||{}).raw=!0,i(t,e)},r.gzip=function(t,e){return(e=e||{}).gzip=!0,i(t,e)}},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(t,e,r){"use strict";var d=t("./zlib/inflate"),c=t("./utils/common"),p=t("./utils/strings"),m=t("./zlib/constants"),i=t("./zlib/messages"),n=t("./zlib/zstream"),s=t("./zlib/gzheader"),_=Object.prototype.toString;function a(t){if(!(this instanceof a))return new a(t);this.options=c.assign({chunkSize:16384,windowBits:0,to:""},t||{});var e=this.options;e.raw&&0<=e.windowBits&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(0<=e.windowBits&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),15<e.windowBits&&e.windowBits<48&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new n,this.strm.avail_out=0;var r=d.inflateInit2(this.strm,e.windowBits);if(r!==m.Z_OK)throw new Error(i[r]);this.header=new s,d.inflateGetHeader(this.strm,this.header)}function o(t,e){var r=new a(e);if(r.push(t,!0),r.err)throw r.msg||i[r.err];return r.result}a.prototype.push=function(t,e){var r,i,n,s,a,o,h=this.strm,u=this.options.chunkSize,l=this.options.dictionary,f=!1;if(this.ended)return!1;i=e===~~e?e:!0===e?m.Z_FINISH:m.Z_NO_FLUSH,"string"==typeof t?h.input=p.binstring2buf(t):"[object ArrayBuffer]"===_.call(t)?h.input=new Uint8Array(t):h.input=t,h.next_in=0,h.avail_in=h.input.length;do{if(0===h.avail_out&&(h.output=new c.Buf8(u),h.next_out=0,h.avail_out=u),(r=d.inflate(h,m.Z_NO_FLUSH))===m.Z_NEED_DICT&&l&&(o="string"==typeof l?p.string2buf(l):"[object ArrayBuffer]"===_.call(l)?new Uint8Array(l):l,r=d.inflateSetDictionary(this.strm,o)),r===m.Z_BUF_ERROR&&!0===f&&(r=m.Z_OK,f=!1),r!==m.Z_STREAM_END&&r!==m.Z_OK)return this.onEnd(r),!(this.ended=!0);h.next_out&&(0!==h.avail_out&&r!==m.Z_STREAM_END&&(0!==h.avail_in||i!==m.Z_FINISH&&i!==m.Z_SYNC_FLUSH)||("string"===this.options.to?(n=p.utf8border(h.output,h.next_out),s=h.next_out-n,a=p.buf2string(h.output,n),h.next_out=s,h.avail_out=u-s,s&&c.arraySet(h.output,h.output,n,s,0),this.onData(a)):this.onData(c.shrinkBuf(h.output,h.next_out)))),0===h.avail_in&&0===h.avail_out&&(f=!0)}while((0<h.avail_in||0===h.avail_out)&&r!==m.Z_STREAM_END);return r===m.Z_STREAM_END&&(i=m.Z_FINISH),i===m.Z_FINISH?(r=d.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===m.Z_OK):i!==m.Z_SYNC_FLUSH||(this.onEnd(m.Z_OK),!(h.avail_out=0))},a.prototype.onData=function(t){this.chunks.push(t)},a.prototype.onEnd=function(t){t===m.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=c.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},r.Inflate=a,r.inflate=o,r.inflateRaw=function(t,e){return(e=e||{}).raw=!0,o(t,e)},r.ungzip=o},{"./utils/common":41,"./utils/strings":42,"./zlib/constants":44,"./zlib/gzheader":47,"./zlib/inflate":49,"./zlib/messages":51,"./zlib/zstream":53}],41:[function(t,e,r){"use strict";var i="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;r.assign=function(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var r=e.shift();if(r){if("object"!=typeof r)throw new TypeError(r+"must be non-object");for(var i in r)r.hasOwnProperty(i)&&(t[i]=r[i])}}return t},r.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var n={arraySet:function(t,e,r,i,n){if(e.subarray&&t.subarray)t.set(e.subarray(r,r+i),n);else for(var s=0;s<i;s++)t[n+s]=e[r+s]},flattenChunks:function(t){var e,r,i,n,s,a;for(e=i=0,r=t.length;e<r;e++)i+=t[e].length;for(a=new Uint8Array(i),e=n=0,r=t.length;e<r;e++)s=t[e],a.set(s,n),n+=s.length;return a}},s={arraySet:function(t,e,r,i,n){for(var s=0;s<i;s++)t[n+s]=e[r+s]},flattenChunks:function(t){return[].concat.apply([],t)}};r.setTyped=function(t){t?(r.Buf8=Uint8Array,r.Buf16=Uint16Array,r.Buf32=Int32Array,r.assign(r,n)):(r.Buf8=Array,r.Buf16=Array,r.Buf32=Array,r.assign(r,s))},r.setTyped(i)},{}],42:[function(t,e,r){"use strict";var h=t("./common"),n=!0,s=!0;try{String.fromCharCode.apply(null,[0])}catch(t){n=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){s=!1}for(var u=new h.Buf8(256),i=0;i<256;i++)u[i]=252<=i?6:248<=i?5:240<=i?4:224<=i?3:192<=i?2:1;function l(t,e){if(e<65537&&(t.subarray&&s||!t.subarray&&n))return String.fromCharCode.apply(null,h.shrinkBuf(t,e));for(var r="",i=0;i<e;i++)r+=String.fromCharCode(t[i]);return r}u[254]=u[254]=1,r.string2buf=function(t){var e,r,i,n,s,a=t.length,o=0;for(n=0;n<a;n++)55296==(64512&(r=t.charCodeAt(n)))&&n+1<a&&56320==(64512&(i=t.charCodeAt(n+1)))&&(r=65536+(r-55296<<10)+(i-56320),n++),o+=r<128?1:r<2048?2:r<65536?3:4;for(e=new h.Buf8(o),n=s=0;s<o;n++)55296==(64512&(r=t.charCodeAt(n)))&&n+1<a&&56320==(64512&(i=t.charCodeAt(n+1)))&&(r=65536+(r-55296<<10)+(i-56320),n++),r<128?e[s++]=r:(r<2048?e[s++]=192|r>>>6:(r<65536?e[s++]=224|r>>>12:(e[s++]=240|r>>>18,e[s++]=128|r>>>12&63),e[s++]=128|r>>>6&63),e[s++]=128|63&r);return e},r.buf2binstring=function(t){return l(t,t.length)},r.binstring2buf=function(t){for(var e=new h.Buf8(t.length),r=0,i=e.length;r<i;r++)e[r]=t.charCodeAt(r);return e},r.buf2string=function(t,e){var r,i,n,s,a=e||t.length,o=new Array(2*a);for(r=i=0;r<a;)if((n=t[r++])<128)o[i++]=n;else if(4<(s=u[n]))o[i++]=65533,r+=s-1;else{for(n&=2===s?31:3===s?15:7;1<s&&r<a;)n=n<<6|63&t[r++],s--;1<s?o[i++]=65533:n<65536?o[i++]=n:(n-=65536,o[i++]=55296|n>>10&1023,o[i++]=56320|1023&n)}return l(o,i)},r.utf8border=function(t,e){var r;for((e=e||t.length)>t.length&&(e=t.length),r=e-1;0<=r&&128==(192&t[r]);)r--;return r<0?e:0===r?e:r+u[t[r]]>e?r:e}},{"./common":41}],43:[function(t,e,r){"use strict";e.exports=function(t,e,r,i){for(var n=65535&t|0,s=t>>>16&65535|0,a=0;0!==r;){for(r-=a=2e3<r?2e3:r;s=s+(n=n+e[i++]|0)|0,--a;);n%=65521,s%=65521}return n|s<<16|0}},{}],44:[function(t,e,r){"use strict";e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(t,e,r){"use strict";var o=function(){for(var t,e=[],r=0;r<256;r++){t=r;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;e[r]=t}return e}();e.exports=function(t,e,r,i){var n=o,s=i+r;t^=-1;for(var a=i;a<s;a++)t=t>>>8^n[255&(t^e[a])];return-1^t}},{}],46:[function(t,e,r){"use strict";var h,d=t("../utils/common"),u=t("./trees"),c=t("./adler32"),p=t("./crc32"),i=t("./messages"),l=0,f=4,m=0,_=-2,g=-1,b=4,n=2,v=8,y=9,s=286,a=30,o=19,w=2*s+1,k=15,x=3,S=258,z=S+x+1,C=42,E=113,A=1,I=2,O=3,B=4;function R(t,e){return t.msg=i[e],e}function T(t){return(t<<1)-(4<t?9:0)}function D(t){for(var e=t.length;0<=--e;)t[e]=0}function F(t){var e=t.state,r=e.pending;r>t.avail_out&&(r=t.avail_out),0!==r&&(d.arraySet(t.output,e.pending_buf,e.pending_out,r,t.next_out),t.next_out+=r,e.pending_out+=r,t.total_out+=r,t.avail_out-=r,e.pending-=r,0===e.pending&&(e.pending_out=0))}function N(t,e){u._tr_flush_block(t,0<=t.block_start?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,F(t.strm)}function U(t,e){t.pending_buf[t.pending++]=e}function P(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function L(t,e){var r,i,n=t.max_chain_length,s=t.strstart,a=t.prev_length,o=t.nice_match,h=t.strstart>t.w_size-z?t.strstart-(t.w_size-z):0,u=t.window,l=t.w_mask,f=t.prev,d=t.strstart+S,c=u[s+a-1],p=u[s+a];t.prev_length>=t.good_match&&(n>>=2),o>t.lookahead&&(o=t.lookahead);do{if(u[(r=e)+a]===p&&u[r+a-1]===c&&u[r]===u[s]&&u[++r]===u[s+1]){s+=2,r++;do{}while(u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&s<d);if(i=S-(d-s),s=d-S,a<i){if(t.match_start=e,o<=(a=i))break;c=u[s+a-1],p=u[s+a]}}}while((e=f[e&l])>h&&0!=--n);return a<=t.lookahead?a:t.lookahead}function j(t){var e,r,i,n,s,a,o,h,u,l,f=t.w_size;do{if(n=t.window_size-t.lookahead-t.strstart,t.strstart>=f+(f-z)){for(d.arraySet(t.window,t.window,f,f,0),t.match_start-=f,t.strstart-=f,t.block_start-=f,e=r=t.hash_size;i=t.head[--e],t.head[e]=f<=i?i-f:0,--r;);for(e=r=f;i=t.prev[--e],t.prev[e]=f<=i?i-f:0,--r;);n+=f}if(0===t.strm.avail_in)break;if(a=t.strm,o=t.window,h=t.strstart+t.lookahead,u=n,l=void 0,l=a.avail_in,u<l&&(l=u),r=0===l?0:(a.avail_in-=l,d.arraySet(o,a.input,a.next_in,l,h),1===a.state.wrap?a.adler=c(a.adler,o,l,h):2===a.state.wrap&&(a.adler=p(a.adler,o,l,h)),a.next_in+=l,a.total_in+=l,l),t.lookahead+=r,t.lookahead+t.insert>=x)for(s=t.strstart-t.insert,t.ins_h=t.window[s],t.ins_h=(t.ins_h<<t.hash_shift^t.window[s+1])&t.hash_mask;t.insert&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[s+x-1])&t.hash_mask,t.prev[s&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=s,s++,t.insert--,!(t.lookahead+t.insert<x)););}while(t.lookahead<z&&0!==t.strm.avail_in)}function Z(t,e){for(var r,i;;){if(t.lookahead<z){if(j(t),t.lookahead<z&&e===l)return A;if(0===t.lookahead)break}if(r=0,t.lookahead>=x&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+x-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==r&&t.strstart-r<=t.w_size-z&&(t.match_length=L(t,r)),t.match_length>=x)if(i=u._tr_tally(t,t.strstart-t.match_start,t.match_length-x),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=x){for(t.match_length--;t.strstart++,t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+x-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart,0!=--t.match_length;);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+1])&t.hash_mask;else i=u._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(i&&(N(t,!1),0===t.strm.avail_out))return A}return t.insert=t.strstart<x-1?t.strstart:x-1,e===f?(N(t,!0),0===t.strm.avail_out?O:B):t.last_lit&&(N(t,!1),0===t.strm.avail_out)?A:I}function W(t,e){for(var r,i,n;;){if(t.lookahead<z){if(j(t),t.lookahead<z&&e===l)return A;if(0===t.lookahead)break}if(r=0,t.lookahead>=x&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+x-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=x-1,0!==r&&t.prev_length<t.max_lazy_match&&t.strstart-r<=t.w_size-z&&(t.match_length=L(t,r),t.match_length<=5&&(1===t.strategy||t.match_length===x&&4096<t.strstart-t.match_start)&&(t.match_length=x-1)),t.prev_length>=x&&t.match_length<=t.prev_length){for(n=t.strstart+t.lookahead-x,i=u._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-x),t.lookahead-=t.prev_length-1,t.prev_length-=2;++t.strstart<=n&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+x-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!=--t.prev_length;);if(t.match_available=0,t.match_length=x-1,t.strstart++,i&&(N(t,!1),0===t.strm.avail_out))return A}else if(t.match_available){if((i=u._tr_tally(t,0,t.window[t.strstart-1]))&&N(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return A}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(i=u._tr_tally(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<x-1?t.strstart:x-1,e===f?(N(t,!0),0===t.strm.avail_out?O:B):t.last_lit&&(N(t,!1),0===t.strm.avail_out)?A:I}function M(t,e,r,i,n){this.good_length=t,this.max_lazy=e,this.nice_length=r,this.max_chain=i,this.func=n}function H(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=v,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new d.Buf16(2*w),this.dyn_dtree=new d.Buf16(2*(2*a+1)),this.bl_tree=new d.Buf16(2*(2*o+1)),D(this.dyn_ltree),D(this.dyn_dtree),D(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new d.Buf16(k+1),this.heap=new d.Buf16(2*s+1),D(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new d.Buf16(2*s+1),D(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function G(t){var e;return t&&t.state?(t.total_in=t.total_out=0,t.data_type=n,(e=t.state).pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?C:E,t.adler=2===e.wrap?0:1,e.last_flush=l,u._tr_init(e),m):R(t,_)}function K(t){var e=G(t);return e===m&&function(t){t.window_size=2*t.w_size,D(t.head),t.max_lazy_match=h[t.level].max_lazy,t.good_match=h[t.level].good_length,t.nice_match=h[t.level].nice_length,t.max_chain_length=h[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=x-1,t.match_available=0,t.ins_h=0}(t.state),e}function Y(t,e,r,i,n,s){if(!t)return _;var a=1;if(e===g&&(e=6),i<0?(a=0,i=-i):15<i&&(a=2,i-=16),n<1||y<n||r!==v||i<8||15<i||e<0||9<e||s<0||b<s)return R(t,_);8===i&&(i=9);var o=new H;return(t.state=o).strm=t,o.wrap=a,o.gzhead=null,o.w_bits=i,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=n+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+x-1)/x),o.window=new d.Buf8(2*o.w_size),o.head=new d.Buf16(o.hash_size),o.prev=new d.Buf16(o.w_size),o.lit_bufsize=1<<n+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new d.Buf8(o.pending_buf_size),o.d_buf=1*o.lit_bufsize,o.l_buf=3*o.lit_bufsize,o.level=e,o.strategy=s,o.method=r,K(t)}h=[new M(0,0,0,0,function(t,e){var r=65535;for(r>t.pending_buf_size-5&&(r=t.pending_buf_size-5);;){if(t.lookahead<=1){if(j(t),0===t.lookahead&&e===l)return A;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var i=t.block_start+r;if((0===t.strstart||t.strstart>=i)&&(t.lookahead=t.strstart-i,t.strstart=i,N(t,!1),0===t.strm.avail_out))return A;if(t.strstart-t.block_start>=t.w_size-z&&(N(t,!1),0===t.strm.avail_out))return A}return t.insert=0,e===f?(N(t,!0),0===t.strm.avail_out?O:B):(t.strstart>t.block_start&&(N(t,!1),t.strm.avail_out),A)}),new M(4,4,8,4,Z),new M(4,5,16,8,Z),new M(4,6,32,32,Z),new M(4,4,16,16,W),new M(8,16,32,32,W),new M(8,16,128,128,W),new M(8,32,128,256,W),new M(32,128,258,1024,W),new M(32,258,258,4096,W)],r.deflateInit=function(t,e){return Y(t,e,v,15,8,0)},r.deflateInit2=Y,r.deflateReset=K,r.deflateResetKeep=G,r.deflateSetHeader=function(t,e){return t&&t.state?2!==t.state.wrap?_:(t.state.gzhead=e,m):_},r.deflate=function(t,e){var r,i,n,s;if(!t||!t.state||5<e||e<0)return t?R(t,_):_;if(i=t.state,!t.output||!t.input&&0!==t.avail_in||666===i.status&&e!==f)return R(t,0===t.avail_out?-5:_);if(i.strm=t,r=i.last_flush,i.last_flush=e,i.status===C)if(2===i.wrap)t.adler=0,U(i,31),U(i,139),U(i,8),i.gzhead?(U(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),U(i,255&i.gzhead.time),U(i,i.gzhead.time>>8&255),U(i,i.gzhead.time>>16&255),U(i,i.gzhead.time>>24&255),U(i,9===i.level?2:2<=i.strategy||i.level<2?4:0),U(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(U(i,255&i.gzhead.extra.length),U(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(t.adler=p(t.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=69):(U(i,0),U(i,0),U(i,0),U(i,0),U(i,0),U(i,9===i.level?2:2<=i.strategy||i.level<2?4:0),U(i,3),i.status=E);else{var a=v+(i.w_bits-8<<4)<<8;a|=(2<=i.strategy||i.level<2?0:i.level<6?1:6===i.level?2:3)<<6,0!==i.strstart&&(a|=32),a+=31-a%31,i.status=E,P(i,a),0!==i.strstart&&(P(i,t.adler>>>16),P(i,65535&t.adler)),t.adler=1}if(69===i.status)if(i.gzhead.extra){for(n=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),F(t),n=i.pending,i.pending!==i.pending_buf_size));)U(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=73)}else i.status=73;if(73===i.status)if(i.gzhead.name){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),F(t),n=i.pending,i.pending===i.pending_buf_size)){s=1;break}s=i.gzindex<i.gzhead.name.length?255&i.gzhead.name.charCodeAt(i.gzindex++):0,U(i,s)}while(0!==s);i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),0===s&&(i.gzindex=0,i.status=91)}else i.status=91;if(91===i.status)if(i.gzhead.comment){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),F(t),n=i.pending,i.pending===i.pending_buf_size)){s=1;break}s=i.gzindex<i.gzhead.comment.length?255&i.gzhead.comment.charCodeAt(i.gzindex++):0,U(i,s)}while(0!==s);i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),0===s&&(i.status=103)}else i.status=103;if(103===i.status&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&F(t),i.pending+2<=i.pending_buf_size&&(U(i,255&t.adler),U(i,t.adler>>8&255),t.adler=0,i.status=E)):i.status=E),0!==i.pending){if(F(t),0===t.avail_out)return i.last_flush=-1,m}else if(0===t.avail_in&&T(e)<=T(r)&&e!==f)return R(t,-5);if(666===i.status&&0!==t.avail_in)return R(t,-5);if(0!==t.avail_in||0!==i.lookahead||e!==l&&666!==i.status){var o=2===i.strategy?function(t,e){for(var r;;){if(0===t.lookahead&&(j(t),0===t.lookahead)){if(e===l)return A;break}if(t.match_length=0,r=u._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,r&&(N(t,!1),0===t.strm.avail_out))return A}return t.insert=0,e===f?(N(t,!0),0===t.strm.avail_out?O:B):t.last_lit&&(N(t,!1),0===t.strm.avail_out)?A:I}(i,e):3===i.strategy?function(t,e){for(var r,i,n,s,a=t.window;;){if(t.lookahead<=S){if(j(t),t.lookahead<=S&&e===l)return A;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=x&&0<t.strstart&&(i=a[n=t.strstart-1])===a[++n]&&i===a[++n]&&i===a[++n]){s=t.strstart+S;do{}while(i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&n<s);t.match_length=S-(s-n),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=x?(r=u._tr_tally(t,1,t.match_length-x),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(r=u._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),r&&(N(t,!1),0===t.strm.avail_out))return A}return t.insert=0,e===f?(N(t,!0),0===t.strm.avail_out?O:B):t.last_lit&&(N(t,!1),0===t.strm.avail_out)?A:I}(i,e):h[i.level].func(i,e);if(o!==O&&o!==B||(i.status=666),o===A||o===O)return 0===t.avail_out&&(i.last_flush=-1),m;if(o===I&&(1===e?u._tr_align(i):5!==e&&(u._tr_stored_block(i,0,0,!1),3===e&&(D(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),F(t),0===t.avail_out))return i.last_flush=-1,m}return e!==f?m:i.wrap<=0?1:(2===i.wrap?(U(i,255&t.adler),U(i,t.adler>>8&255),U(i,t.adler>>16&255),U(i,t.adler>>24&255),U(i,255&t.total_in),U(i,t.total_in>>8&255),U(i,t.total_in>>16&255),U(i,t.total_in>>24&255)):(P(i,t.adler>>>16),P(i,65535&t.adler)),F(t),0<i.wrap&&(i.wrap=-i.wrap),0!==i.pending?m:1)},r.deflateEnd=function(t){var e;return t&&t.state?(e=t.state.status)!==C&&69!==e&&73!==e&&91!==e&&103!==e&&e!==E&&666!==e?R(t,_):(t.state=null,e===E?R(t,-3):m):_},r.deflateSetDictionary=function(t,e){var r,i,n,s,a,o,h,u,l=e.length;if(!t||!t.state)return _;if(2===(s=(r=t.state).wrap)||1===s&&r.status!==C||r.lookahead)return _;for(1===s&&(t.adler=c(t.adler,e,l,0)),r.wrap=0,l>=r.w_size&&(0===s&&(D(r.head),r.strstart=0,r.block_start=0,r.insert=0),u=new d.Buf8(r.w_size),d.arraySet(u,e,l-r.w_size,r.w_size,0),e=u,l=r.w_size),a=t.avail_in,o=t.next_in,h=t.input,t.avail_in=l,t.next_in=0,t.input=e,j(r);r.lookahead>=x;){for(i=r.strstart,n=r.lookahead-(x-1);r.ins_h=(r.ins_h<<r.hash_shift^r.window[i+x-1])&r.hash_mask,r.prev[i&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=i,i++,--n;);r.strstart=i,r.lookahead=x-1,j(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=x-1,r.match_available=0,t.next_in=o,t.input=h,t.avail_in=a,r.wrap=s,m},r.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./messages":51,"./trees":52}],47:[function(t,e,r){"use strict";e.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},{}],48:[function(t,e,r){"use strict";e.exports=function(t,e){var r,i,n,s,a,o,h,u,l,f,d,c,p,m,_,g,b,v,y,w,k,x,S,z,C;r=t.state,i=t.next_in,z=t.input,n=i+(t.avail_in-5),s=t.next_out,C=t.output,a=s-(e-t.avail_out),o=s+(t.avail_out-257),h=r.dmax,u=r.wsize,l=r.whave,f=r.wnext,d=r.window,c=r.hold,p=r.bits,m=r.lencode,_=r.distcode,g=(1<<r.lenbits)-1,b=(1<<r.distbits)-1;t:do{p<15&&(c+=z[i++]<<p,p+=8,c+=z[i++]<<p,p+=8),v=m[c&g];e:for(;;){if(c>>>=y=v>>>24,p-=y,0===(y=v>>>16&255))C[s++]=65535&v;else{if(!(16&y)){if(0==(64&y)){v=m[(65535&v)+(c&(1<<y)-1)];continue e}if(32&y){r.mode=12;break t}t.msg="invalid literal/length code",r.mode=30;break t}w=65535&v,(y&=15)&&(p<y&&(c+=z[i++]<<p,p+=8),w+=c&(1<<y)-1,c>>>=y,p-=y),p<15&&(c+=z[i++]<<p,p+=8,c+=z[i++]<<p,p+=8),v=_[c&b];r:for(;;){if(c>>>=y=v>>>24,p-=y,!(16&(y=v>>>16&255))){if(0==(64&y)){v=_[(65535&v)+(c&(1<<y)-1)];continue r}t.msg="invalid distance code",r.mode=30;break t}if(k=65535&v,p<(y&=15)&&(c+=z[i++]<<p,(p+=8)<y&&(c+=z[i++]<<p,p+=8)),h<(k+=c&(1<<y)-1)){t.msg="invalid distance too far back",r.mode=30;break t}if(c>>>=y,p-=y,(y=s-a)<k){if(l<(y=k-y)&&r.sane){t.msg="invalid distance too far back",r.mode=30;break t}if(S=d,(x=0)===f){if(x+=u-y,y<w){for(w-=y;C[s++]=d[x++],--y;);x=s-k,S=C}}else if(f<y){if(x+=u+f-y,(y-=f)<w){for(w-=y;C[s++]=d[x++],--y;);if(x=0,f<w){for(w-=y=f;C[s++]=d[x++],--y;);x=s-k,S=C}}}else if(x+=f-y,y<w){for(w-=y;C[s++]=d[x++],--y;);x=s-k,S=C}for(;2<w;)C[s++]=S[x++],C[s++]=S[x++],C[s++]=S[x++],w-=3;w&&(C[s++]=S[x++],1<w&&(C[s++]=S[x++]))}else{for(x=s-k;C[s++]=C[x++],C[s++]=C[x++],C[s++]=C[x++],2<(w-=3););w&&(C[s++]=C[x++],1<w&&(C[s++]=C[x++]))}break}}break}}while(i<n&&s<o);i-=w=p>>3,c&=(1<<(p-=w<<3))-1,t.next_in=i,t.next_out=s,t.avail_in=i<n?n-i+5:5-(i-n),t.avail_out=s<o?o-s+257:257-(s-o),r.hold=c,r.bits=p}},{}],49:[function(t,e,r){"use strict";var I=t("../utils/common"),O=t("./adler32"),B=t("./crc32"),R=t("./inffast"),T=t("./inftrees"),D=1,F=2,N=0,U=-2,P=1,i=852,n=592;function L(t){return(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function s(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new I.Buf16(320),this.work=new I.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function a(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=P,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new I.Buf32(i),e.distcode=e.distdyn=new I.Buf32(n),e.sane=1,e.back=-1,N):U}function o(t){var e;return t&&t.state?((e=t.state).wsize=0,e.whave=0,e.wnext=0,a(t)):U}function h(t,e){var r,i;return t&&t.state?(i=t.state,e<0?(r=0,e=-e):(r=1+(e>>4),e<48&&(e&=15)),e&&(e<8||15<e)?U:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=r,i.wbits=e,o(t))):U}function u(t,e){var r,i;return t?(i=new s,(t.state=i).window=null,(r=h(t,e))!==N&&(t.state=null),r):U}var l,f,d=!0;function j(t){if(d){var e;for(l=new I.Buf32(512),f=new I.Buf32(32),e=0;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(T(D,t.lens,0,288,l,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;T(F,t.lens,0,32,f,0,t.work,{bits:5}),d=!1}t.lencode=l,t.lenbits=9,t.distcode=f,t.distbits=5}function Z(t,e,r,i){var n,s=t.state;return null===s.window&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new I.Buf8(s.wsize)),i>=s.wsize?(I.arraySet(s.window,e,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(i<(n=s.wsize-s.wnext)&&(n=i),I.arraySet(s.window,e,r-i,n,s.wnext),(i-=n)?(I.arraySet(s.window,e,r-i,i,0),s.wnext=i,s.whave=s.wsize):(s.wnext+=n,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=n))),0}r.inflateReset=o,r.inflateReset2=h,r.inflateResetKeep=a,r.inflateInit=function(t){return u(t,15)},r.inflateInit2=u,r.inflate=function(t,e){var r,i,n,s,a,o,h,u,l,f,d,c,p,m,_,g,b,v,y,w,k,x,S,z,C=0,E=new I.Buf8(4),A=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!t||!t.state||!t.output||!t.input&&0!==t.avail_in)return U;12===(r=t.state).mode&&(r.mode=13),a=t.next_out,n=t.output,h=t.avail_out,s=t.next_in,i=t.input,o=t.avail_in,u=r.hold,l=r.bits,f=o,d=h,x=N;t:for(;;)switch(r.mode){case P:if(0===r.wrap){r.mode=13;break}for(;l<16;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(2&r.wrap&&35615===u){E[r.check=0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0),l=u=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){t.msg="incorrect header check",r.mode=30;break}if(8!=(15&u)){t.msg="unknown compression method",r.mode=30;break}if(l-=4,k=8+(15&(u>>>=4)),0===r.wbits)r.wbits=k;else if(k>r.wbits){t.msg="invalid window size",r.mode=30;break}r.dmax=1<<k,t.adler=r.check=1,r.mode=512&u?10:12,l=u=0;break;case 2:for(;l<16;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(r.flags=u,8!=(255&r.flags)){t.msg="unknown compression method",r.mode=30;break}if(57344&r.flags){t.msg="unknown header flags set",r.mode=30;break}r.head&&(r.head.text=u>>8&1),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=3;case 3:for(;l<32;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}r.head&&(r.head.time=u),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,E[2]=u>>>16&255,E[3]=u>>>24&255,r.check=B(r.check,E,4,0)),l=u=0,r.mode=4;case 4:for(;l<16;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}r.head&&(r.head.xflags=255&u,r.head.os=u>>8),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=5;case 5:if(1024&r.flags){for(;l<16;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}r.length=u,r.head&&(r.head.extra_len=u),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&(o<(c=r.length)&&(c=o),c&&(r.head&&(k=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),I.arraySet(r.head.extra,i,s,c,k)),512&r.flags&&(r.check=B(r.check,i,c,s)),o-=c,s+=c,r.length-=c),r.length))break t;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===o)break t;for(c=0;k=i[s+c++],r.head&&k&&r.length<65536&&(r.head.name+=String.fromCharCode(k)),k&&c<o;);if(512&r.flags&&(r.check=B(r.check,i,c,s)),o-=c,s+=c,k)break t}else r.head&&(r.head.name=null);r.length=0,r.mode=8;case 8:if(4096&r.flags){if(0===o)break t;for(c=0;k=i[s+c++],r.head&&k&&r.length<65536&&(r.head.comment+=String.fromCharCode(k)),k&&c<o;);if(512&r.flags&&(r.check=B(r.check,i,c,s)),o-=c,s+=c,k)break t}else r.head&&(r.head.comment=null);r.mode=9;case 9:if(512&r.flags){for(;l<16;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(u!==(65535&r.check)){t.msg="header crc mismatch",r.mode=30;break}l=u=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),t.adler=r.check=0,r.mode=12;break;case 10:for(;l<32;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}t.adler=r.check=L(u),l=u=0,r.mode=11;case 11:if(0===r.havedict)return t.next_out=a,t.avail_out=h,t.next_in=s,t.avail_in=o,r.hold=u,r.bits=l,2;t.adler=r.check=1,r.mode=12;case 12:if(5===e||6===e)break t;case 13:if(r.last){u>>>=7&l,l-=7&l,r.mode=27;break}for(;l<3;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}switch(r.last=1&u,l-=1,3&(u>>>=1)){case 0:r.mode=14;break;case 1:if(j(r),r.mode=20,6!==e)break;u>>>=2,l-=2;break t;case 2:r.mode=17;break;case 3:t.msg="invalid block type",r.mode=30}u>>>=2,l-=2;break;case 14:for(u>>>=7&l,l-=7&l;l<32;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if((65535&u)!=(u>>>16^65535)){t.msg="invalid stored block lengths",r.mode=30;break}if(r.length=65535&u,l=u=0,r.mode=15,6===e)break t;case 15:r.mode=16;case 16:if(c=r.length){if(o<c&&(c=o),h<c&&(c=h),0===c)break t;I.arraySet(n,i,s,c,a),o-=c,s+=c,h-=c,a+=c,r.length-=c;break}r.mode=12;break;case 17:for(;l<14;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(r.nlen=257+(31&u),u>>>=5,l-=5,r.ndist=1+(31&u),u>>>=5,l-=5,r.ncode=4+(15&u),u>>>=4,l-=4,286<r.nlen||30<r.ndist){t.msg="too many length or distance symbols",r.mode=30;break}r.have=0,r.mode=18;case 18:for(;r.have<r.ncode;){for(;l<3;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}r.lens[A[r.have++]]=7&u,u>>>=3,l-=3}for(;r.have<19;)r.lens[A[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,S={bits:r.lenbits},x=T(0,r.lens,0,19,r.lencode,0,r.work,S),r.lenbits=S.bits,x){t.msg="invalid code lengths set",r.mode=30;break}r.have=0,r.mode=19;case 19:for(;r.have<r.nlen+r.ndist;){for(;g=(C=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(b<16)u>>>=_,l-=_,r.lens[r.have++]=b;else{if(16===b){for(z=_+2;l<z;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(u>>>=_,l-=_,0===r.have){t.msg="invalid bit length repeat",r.mode=30;break}k=r.lens[r.have-1],c=3+(3&u),u>>>=2,l-=2}else if(17===b){for(z=_+3;l<z;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}l-=_,k=0,c=3+(7&(u>>>=_)),u>>>=3,l-=3}else{for(z=_+7;l<z;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}l-=_,k=0,c=11+(127&(u>>>=_)),u>>>=7,l-=7}if(r.have+c>r.nlen+r.ndist){t.msg="invalid bit length repeat",r.mode=30;break}for(;c--;)r.lens[r.have++]=k}}if(30===r.mode)break;if(0===r.lens[256]){t.msg="invalid code -- missing end-of-block",r.mode=30;break}if(r.lenbits=9,S={bits:r.lenbits},x=T(D,r.lens,0,r.nlen,r.lencode,0,r.work,S),r.lenbits=S.bits,x){t.msg="invalid literal/lengths set",r.mode=30;break}if(r.distbits=6,r.distcode=r.distdyn,S={bits:r.distbits},x=T(F,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,S),r.distbits=S.bits,x){t.msg="invalid distances set",r.mode=30;break}if(r.mode=20,6===e)break t;case 20:r.mode=21;case 21:if(6<=o&&258<=h){t.next_out=a,t.avail_out=h,t.next_in=s,t.avail_in=o,r.hold=u,r.bits=l,R(t,d),a=t.next_out,n=t.output,h=t.avail_out,s=t.next_in,i=t.input,o=t.avail_in,u=r.hold,l=r.bits,12===r.mode&&(r.back=-1);break}for(r.back=0;g=(C=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(g&&0==(240&g)){for(v=_,y=g,w=b;g=(C=r.lencode[w+((u&(1<<v+y)-1)>>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}u>>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,r.length=b,0===g){r.mode=26;break}if(32&g){r.back=-1,r.mode=12;break}if(64&g){t.msg="invalid literal/length code",r.mode=30;break}r.extra=15&g,r.mode=22;case 22:if(r.extra){for(z=r.extra;l<z;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}r.length+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=23;case 23:for(;g=(C=r.distcode[u&(1<<r.distbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(0==(240&g)){for(v=_,y=g,w=b;g=(C=r.distcode[w+((u&(1<<v+y)-1)>>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}u>>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,64&g){t.msg="invalid distance code",r.mode=30;break}r.offset=b,r.extra=15&g,r.mode=24;case 24:if(r.extra){for(z=r.extra;l<z;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}r.offset+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){t.msg="invalid distance too far back",r.mode=30;break}r.mode=25;case 25:if(0===h)break t;if(c=d-h,r.offset>c){if((c=r.offset-c)>r.whave&&r.sane){t.msg="invalid distance too far back",r.mode=30;break}p=c>r.wnext?(c-=r.wnext,r.wsize-c):r.wnext-c,c>r.length&&(c=r.length),m=r.window}else m=n,p=a-r.offset,c=r.length;for(h<c&&(c=h),h-=c,r.length-=c;n[a++]=m[p++],--c;);0===r.length&&(r.mode=21);break;case 26:if(0===h)break t;n[a++]=r.length,h--,r.mode=21;break;case 27:if(r.wrap){for(;l<32;){if(0===o)break t;o--,u|=i[s++]<<l,l+=8}if(d-=h,t.total_out+=d,r.total+=d,d&&(t.adler=r.check=r.flags?B(r.check,n,d,a-d):O(r.check,n,d,a-d)),d=h,(r.flags?u:L(u))!==r.check){t.msg="incorrect data check",r.mode=30;break}l=u=0}r.mode=28;case 28:if(r.wrap&&r.flags){for(;l<32;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(u!==(4294967295&r.total)){t.msg="incorrect length check",r.mode=30;break}l=u=0}r.mode=29;case 29:x=1;break t;case 30:x=-3;break t;case 31:return-4;case 32:default:return U}return t.next_out=a,t.avail_out=h,t.next_in=s,t.avail_in=o,r.hold=u,r.bits=l,(r.wsize||d!==t.avail_out&&r.mode<30&&(r.mode<27||4!==e))&&Z(t,t.output,t.next_out,d-t.avail_out)?(r.mode=31,-4):(f-=t.avail_in,d-=t.avail_out,t.total_in+=f,t.total_out+=d,r.total+=d,r.wrap&&d&&(t.adler=r.check=r.flags?B(r.check,n,d,t.next_out-d):O(r.check,n,d,t.next_out-d)),t.data_type=r.bits+(r.last?64:0)+(12===r.mode?128:0)+(20===r.mode||15===r.mode?256:0),(0==f&&0===d||4===e)&&x===N&&(x=-5),x)},r.inflateEnd=function(t){if(!t||!t.state)return U;var e=t.state;return e.window&&(e.window=null),t.state=null,N},r.inflateGetHeader=function(t,e){var r;return t&&t.state?0==(2&(r=t.state).wrap)?U:((r.head=e).done=!1,N):U},r.inflateSetDictionary=function(t,e){var r,i=e.length;return t&&t.state?0!==(r=t.state).wrap&&11!==r.mode?U:11===r.mode&&O(1,e,i,0)!==r.check?-3:Z(t,e,i,i)?(r.mode=31,-4):(r.havedict=1,N):U},r.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(t,e,r){"use strict";var D=t("../utils/common"),F=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],N=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],U=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],P=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];e.exports=function(t,e,r,i,n,s,a,o){var h,u,l,f,d,c,p,m,_,g=o.bits,b=0,v=0,y=0,w=0,k=0,x=0,S=0,z=0,C=0,E=0,A=null,I=0,O=new D.Buf16(16),B=new D.Buf16(16),R=null,T=0;for(b=0;b<=15;b++)O[b]=0;for(v=0;v<i;v++)O[e[r+v]]++;for(k=g,w=15;1<=w&&0===O[w];w--);if(w<k&&(k=w),0===w)return n[s++]=20971520,n[s++]=20971520,o.bits=1,0;for(y=1;y<w&&0===O[y];y++);for(k<y&&(k=y),b=z=1;b<=15;b++)if(z<<=1,(z-=O[b])<0)return-1;if(0<z&&(0===t||1!==w))return-1;for(B[1]=0,b=1;b<15;b++)B[b+1]=B[b]+O[b];for(v=0;v<i;v++)0!==e[r+v]&&(a[B[e[r+v]]++]=v);if(c=0===t?(A=R=a,19):1===t?(A=F,I-=257,R=N,T-=257,256):(A=U,R=P,-1),b=y,d=s,S=v=E=0,l=-1,f=(C=1<<(x=k))-1,1===t&&852<C||2===t&&592<C)return 1;for(;;){for(p=b-S,_=a[v]<c?(m=0,a[v]):a[v]>c?(m=R[T+a[v]],A[I+a[v]]):(m=96,0),h=1<<b-S,y=u=1<<x;n[d+(E>>S)+(u-=h)]=p<<24|m<<16|_|0,0!==u;);for(h=1<<b-1;E&h;)h>>=1;if(0!==h?(E&=h-1,E+=h):E=0,v++,0==--O[b]){if(b===w)break;b=e[r+a[v]]}if(k<b&&(E&f)!==l){for(0===S&&(S=k),d+=y,z=1<<(x=b-S);x+S<w&&!((z-=O[x+S])<=0);)x++,z<<=1;if(C+=1<<x,1===t&&852<C||2===t&&592<C)return 1;n[l=E&f]=k<<24|x<<16|d-s|0}}return 0!==E&&(n[d+E]=b-S<<24|64<<16|0),o.bits=k,0}},{"../utils/common":41}],51:[function(t,e,r){"use strict";e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],52:[function(t,e,r){"use strict";var n=t("../utils/common"),o=0,h=1;function i(t){for(var e=t.length;0<=--e;)t[e]=0}var s=0,a=29,u=256,l=u+1+a,f=30,d=19,_=2*l+1,g=15,c=16,p=7,m=256,b=16,v=17,y=18,w=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],k=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],x=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],S=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],z=new Array(2*(l+2));i(z);var C=new Array(2*f);i(C);var E=new Array(512);i(E);var A=new Array(256);i(A);var I=new Array(a);i(I);var O,B,R,T=new Array(f);function D(t,e,r,i,n){this.static_tree=t,this.extra_bits=e,this.extra_base=r,this.elems=i,this.max_length=n,this.has_stree=t&&t.length}function F(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}function N(t){return t<256?E[t]:E[256+(t>>>7)]}function U(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function P(t,e,r){t.bi_valid>c-r?(t.bi_buf|=e<<t.bi_valid&65535,U(t,t.bi_buf),t.bi_buf=e>>c-t.bi_valid,t.bi_valid+=r-c):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=r)}function L(t,e,r){P(t,r[2*e],r[2*e+1])}function j(t,e){for(var r=0;r|=1&t,t>>>=1,r<<=1,0<--e;);return r>>>1}function Z(t,e,r){var i,n,s=new Array(g+1),a=0;for(i=1;i<=g;i++)s[i]=a=a+r[i-1]<<1;for(n=0;n<=e;n++){var o=t[2*n+1];0!==o&&(t[2*n]=j(s[o]++,o))}}function W(t){var e;for(e=0;e<l;e++)t.dyn_ltree[2*e]=0;for(e=0;e<f;e++)t.dyn_dtree[2*e]=0;for(e=0;e<d;e++)t.bl_tree[2*e]=0;t.dyn_ltree[2*m]=1,t.opt_len=t.static_len=0,t.last_lit=t.matches=0}function M(t){8<t.bi_valid?U(t,t.bi_buf):0<t.bi_valid&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function H(t,e,r,i){var n=2*e,s=2*r;return t[n]<t[s]||t[n]===t[s]&&i[e]<=i[r]}function G(t,e,r){for(var i=t.heap[r],n=r<<1;n<=t.heap_len&&(n<t.heap_len&&H(e,t.heap[n+1],t.heap[n],t.depth)&&n++,!H(e,i,t.heap[n],t.depth));)t.heap[r]=t.heap[n],r=n,n<<=1;t.heap[r]=i}function K(t,e,r){var i,n,s,a,o=0;if(0!==t.last_lit)for(;i=t.pending_buf[t.d_buf+2*o]<<8|t.pending_buf[t.d_buf+2*o+1],n=t.pending_buf[t.l_buf+o],o++,0===i?L(t,n,e):(L(t,(s=A[n])+u+1,e),0!==(a=w[s])&&P(t,n-=I[s],a),L(t,s=N(--i),r),0!==(a=k[s])&&P(t,i-=T[s],a)),o<t.last_lit;);L(t,m,e)}function Y(t,e){var r,i,n,s=e.dyn_tree,a=e.stat_desc.static_tree,o=e.stat_desc.has_stree,h=e.stat_desc.elems,u=-1;for(t.heap_len=0,t.heap_max=_,r=0;r<h;r++)0!==s[2*r]?(t.heap[++t.heap_len]=u=r,t.depth[r]=0):s[2*r+1]=0;for(;t.heap_len<2;)s[2*(n=t.heap[++t.heap_len]=u<2?++u:0)]=1,t.depth[n]=0,t.opt_len--,o&&(t.static_len-=a[2*n+1]);for(e.max_code=u,r=t.heap_len>>1;1<=r;r--)G(t,s,r);for(n=h;r=t.heap[1],t.heap[1]=t.heap[t.heap_len--],G(t,s,1),i=t.heap[1],t.heap[--t.heap_max]=r,t.heap[--t.heap_max]=i,s[2*n]=s[2*r]+s[2*i],t.depth[n]=(t.depth[r]>=t.depth[i]?t.depth[r]:t.depth[i])+1,s[2*r+1]=s[2*i+1]=n,t.heap[1]=n++,G(t,s,1),2<=t.heap_len;);t.heap[--t.heap_max]=t.heap[1],function(t,e){var r,i,n,s,a,o,h=e.dyn_tree,u=e.max_code,l=e.stat_desc.static_tree,f=e.stat_desc.has_stree,d=e.stat_desc.extra_bits,c=e.stat_desc.extra_base,p=e.stat_desc.max_length,m=0;for(s=0;s<=g;s++)t.bl_count[s]=0;for(h[2*t.heap[t.heap_max]+1]=0,r=t.heap_max+1;r<_;r++)p<(s=h[2*h[2*(i=t.heap[r])+1]+1]+1)&&(s=p,m++),h[2*i+1]=s,u<i||(t.bl_count[s]++,a=0,c<=i&&(a=d[i-c]),o=h[2*i],t.opt_len+=o*(s+a),f&&(t.static_len+=o*(l[2*i+1]+a)));if(0!==m){do{for(s=p-1;0===t.bl_count[s];)s--;t.bl_count[s]--,t.bl_count[s+1]+=2,t.bl_count[p]--,m-=2}while(0<m);for(s=p;0!==s;s--)for(i=t.bl_count[s];0!==i;)u<(n=t.heap[--r])||(h[2*n+1]!==s&&(t.opt_len+=(s-h[2*n+1])*h[2*n],h[2*n+1]=s),i--)}}(t,e),Z(s,u,t.bl_count)}function X(t,e,r){var i,n,s=-1,a=e[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),e[2*(r+1)+1]=65535,i=0;i<=r;i++)n=a,a=e[2*(i+1)+1],++o<h&&n===a||(o<u?t.bl_tree[2*n]+=o:0!==n?(n!==s&&t.bl_tree[2*n]++,t.bl_tree[2*b]++):o<=10?t.bl_tree[2*v]++:t.bl_tree[2*y]++,s=n,u=(o=0)===a?(h=138,3):n===a?(h=6,3):(h=7,4))}function V(t,e,r){var i,n,s=-1,a=e[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),i=0;i<=r;i++)if(n=a,a=e[2*(i+1)+1],!(++o<h&&n===a)){if(o<u)for(;L(t,n,t.bl_tree),0!=--o;);else 0!==n?(n!==s&&(L(t,n,t.bl_tree),o--),L(t,b,t.bl_tree),P(t,o-3,2)):o<=10?(L(t,v,t.bl_tree),P(t,o-3,3)):(L(t,y,t.bl_tree),P(t,o-11,7));s=n,u=(o=0)===a?(h=138,3):n===a?(h=6,3):(h=7,4)}}i(T);var q=!1;function J(t,e,r,i){P(t,(s<<1)+(i?1:0),3),function(t,e,r,i){M(t),i&&(U(t,r),U(t,~r)),n.arraySet(t.pending_buf,t.window,e,r,t.pending),t.pending+=r}(t,e,r,!0)}r._tr_init=function(t){q||(function(){var t,e,r,i,n,s=new Array(g+1);for(i=r=0;i<a-1;i++)for(I[i]=r,t=0;t<1<<w[i];t++)A[r++]=i;for(A[r-1]=i,i=n=0;i<16;i++)for(T[i]=n,t=0;t<1<<k[i];t++)E[n++]=i;for(n>>=7;i<f;i++)for(T[i]=n<<7,t=0;t<1<<k[i]-7;t++)E[256+n++]=i;for(e=0;e<=g;e++)s[e]=0;for(t=0;t<=143;)z[2*t+1]=8,t++,s[8]++;for(;t<=255;)z[2*t+1]=9,t++,s[9]++;for(;t<=279;)z[2*t+1]=7,t++,s[7]++;for(;t<=287;)z[2*t+1]=8,t++,s[8]++;for(Z(z,l+1,s),t=0;t<f;t++)C[2*t+1]=5,C[2*t]=j(t,5);O=new D(z,w,u+1,l,g),B=new D(C,k,0,f,g),R=new D(new Array(0),x,0,d,p)}(),q=!0),t.l_desc=new F(t.dyn_ltree,O),t.d_desc=new F(t.dyn_dtree,B),t.bl_desc=new F(t.bl_tree,R),t.bi_buf=0,t.bi_valid=0,W(t)},r._tr_stored_block=J,r._tr_flush_block=function(t,e,r,i){var n,s,a=0;0<t.level?(2===t.strm.data_type&&(t.strm.data_type=function(t){var e,r=4093624447;for(e=0;e<=31;e++,r>>>=1)if(1&r&&0!==t.dyn_ltree[2*e])return o;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return h;for(e=32;e<u;e++)if(0!==t.dyn_ltree[2*e])return h;return o}(t)),Y(t,t.l_desc),Y(t,t.d_desc),a=function(t){var e;for(X(t,t.dyn_ltree,t.l_desc.max_code),X(t,t.dyn_dtree,t.d_desc.max_code),Y(t,t.bl_desc),e=d-1;3<=e&&0===t.bl_tree[2*S[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}(t),n=t.opt_len+3+7>>>3,(s=t.static_len+3+7>>>3)<=n&&(n=s)):n=s=r+5,r+4<=n&&-1!==e?J(t,e,r,i):4===t.strategy||s===n?(P(t,2+(i?1:0),3),K(t,z,C)):(P(t,4+(i?1:0),3),function(t,e,r,i){var n;for(P(t,e-257,5),P(t,r-1,5),P(t,i-4,4),n=0;n<i;n++)P(t,t.bl_tree[2*S[n]+1],3);V(t,t.dyn_ltree,e-1),V(t,t.dyn_dtree,r-1)}(t,t.l_desc.max_code+1,t.d_desc.max_code+1,a+1),K(t,t.dyn_ltree,t.dyn_dtree)),W(t),i&&M(t)},r._tr_tally=function(t,e,r){return t.pending_buf[t.d_buf+2*t.last_lit]=e>>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&r,t.last_lit++,0===e?t.dyn_ltree[2*r]++:(t.matches++,e--,t.dyn_ltree[2*(A[r]+u+1)]++,t.dyn_dtree[2*N(e)]++),t.last_lit===t.lit_bufsize-1},r._tr_align=function(t){P(t,2,3),L(t,m,z),function(t){16===t.bi_valid?(U(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):8<=t.bi_valid&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}(t)}},{"../utils/common":41}],53:[function(t,e,r){"use strict";e.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(t,e,r){"use strict";e.exports="function"==typeof setImmediate?setImmediate:function(){var t=[].slice.apply(arguments);t.splice(1,0,0),setTimeout.apply(null,t)}},{}]},{},[10])(10)});
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__("tjlA").Buffer, __webpack_require__("yLpj"), __webpack_require__("URgk").setImmediate))
 
 /***/ })
 
@@ -55785,6 +55785,7 @@
     var L_2147483647 = Kotlin.Long.fromInt(-2147483647);
     var L9223372036854 = new Kotlin.Long(2077252342, 2147);
     var L_9223372036854 = new Kotlin.Long(-2077252342, -2148);
+    var L9999999999999 = new Kotlin.Long(1316134911, 2328);
     var L_4611686018426999999 = new Kotlin.Long(387905, -1073741824);
     var L4611686018426999999 = new Kotlin.Long(-387905, 1073741823);
     var L4611686018427387903 = new Kotlin.Long(-1, 1073741823);
@@ -55797,6 +55798,8 @@
     RuntimeException.prototype.constructor = RuntimeException;
     KotlinNothingValueException.prototype = Object.create(RuntimeException.prototype);
     KotlinNothingValueException.prototype.constructor = KotlinNothingValueException;
+    ReadAfterEOFException.prototype = Object.create(RuntimeException.prototype);
+    ReadAfterEOFException.prototype.constructor = ReadAfterEOFException;
     CharProgressionIterator.prototype = Object.create(CharIterator.prototype);
     CharProgressionIterator.prototype.constructor = CharProgressionIterator;
     IntProgressionIterator.prototype = Object.create(IntIterator.prototype);
@@ -77178,7 +77181,7 @@
     function minus_0($receiver, elements) {
       if (elements.length === 0)
         return toList_8($receiver);
-      var other = toHashSet(elements);
+      var other = convertToSetForSetOperation_1(elements);
       var destination = ArrayList_init();
       var tmp$;
       tmp$ = $receiver.iterator();
@@ -77204,7 +77207,7 @@
       return destination;
     }
     function minus_2($receiver, elements) {
-      var other = toHashSet_9(elements);
+      var other = convertToSetForSetOperation_0(elements);
       if (other.isEmpty())
         return toList_8($receiver);
       var destination = ArrayList_init();
@@ -80858,7 +80861,7 @@
       };
     }
     minus$ObjectLiteral_0.prototype.iterator = function () {
-      var other = toHashSet(this.closure$elements);
+      var other = convertToSetForSetOperation_1(this.closure$elements);
       return filterNot_9(this.this$minus, minus$ObjectLiteral$iterator$lambda_0(other)).iterator();
     };
     minus$ObjectLiteral_0.$metadata$ = {kind: Kind_CLASS, interfaces: [Sequence]};
@@ -80897,7 +80900,7 @@
       };
     }
     minus$ObjectLiteral_2.prototype.iterator = function () {
-      var other = toHashSet_9(this.closure$elements);
+      var other = convertToSetForSetOperation_0(this.closure$elements);
       if (other.isEmpty())
         return this.this$minus.iterator();
       else
@@ -92031,6 +92034,11 @@
     ExperimentalJsExport.$metadata$ = {kind: Kind_CLASS, simpleName: 'ExperimentalJsExport', interfaces: [Annotation]};
     var PI;
     var E;
+    function ReadAfterEOFException(message) {
+      RuntimeException_init_0(message, this);
+      this.name = 'ReadAfterEOFException';
+    }
+    ReadAfterEOFException.$metadata$ = {kind: Kind_CLASS, simpleName: 'ReadAfterEOFException', interfaces: [RuntimeException]};
     function Annotation() {
     }
     Annotation.$metadata$ = {kind: Kind_INTERFACE, simpleName: 'Annotation', interfaces: []};
@@ -95369,6 +95377,9 @@
         var message = 'capacity must be non-negative.';
         throw IllegalArgumentException_init_0(message.toString());
       }}
+    function brittleContainsOptimizationEnabled() {
+      return false;
+    }
     function AbstractMutableCollection() {
       AbstractCollection.call(this);
     }
@@ -95439,6 +95450,7 @@
     };
     AbstractMutableList.prototype.addAll_u57x28$ = function (index, elements) {
       var tmp$, tmp$_0;
+      AbstractList$Companion_getInstance().checkPositionIndex_6xvm5r$(index, this.size);
       this.checkIsMutable();
       var _index = index;
       var changed = false;
@@ -95754,16 +95766,6 @@
     Object.defineProperty(AbstractMutableMap$get_AbstractMutableMap$values$ObjectLiteral.prototype, 'size', {configurable: true, get: function () {
       return this.this$AbstractMutableMap.size;
     }});
-    AbstractMutableMap$get_AbstractMutableMap$values$ObjectLiteral.prototype.equals = function (other) {
-      if (this === other)
-        return true;
-      if (!Kotlin.isType(other, Collection))
-        return false;
-      return AbstractList$Companion_getInstance().orderedEquals_e92ka7$(this, other);
-    };
-    AbstractMutableMap$get_AbstractMutableMap$values$ObjectLiteral.prototype.hashCode = function () {
-      return AbstractList$Companion_getInstance().orderedHashCode_nykoif$(this);
-    };
     AbstractMutableMap$get_AbstractMutableMap$values$ObjectLiteral.prototype.checkIsMutable = function () {
       this.this$AbstractMutableMap.checkIsMutable();
     };
@@ -95937,8 +95939,6 @@
       return $this;
     }
     function ArrayList_init_0(initialCapacity, $this) {
-      if (initialCapacity === void 0)
-        initialCapacity = 0;
       $this = $this || Object.create(ArrayList.prototype);
       ArrayList.call($this, []);
       return $this;
@@ -96182,8 +96182,6 @@
       return $this;
     }
     function HashMap_init_1(initialCapacity, loadFactor, $this) {
-      if (loadFactor === void 0)
-        loadFactor = 0.0;
       $this = $this || Object.create(HashMap.prototype);
       HashMap_init_0($this);
       if (!(initialCapacity >= 0)) {
@@ -96252,8 +96250,6 @@
       return $this;
     }
     function HashSet_init_1(initialCapacity, loadFactor, $this) {
-      if (loadFactor === void 0)
-        loadFactor = 0.0;
       $this = $this || Object.create(HashSet.prototype);
       AbstractMutableSet.call($this);
       HashSet.call($this);
@@ -96766,8 +96762,6 @@
       return $this;
     }
     function LinkedHashMap_init_1(initialCapacity, loadFactor, $this) {
-      if (loadFactor === void 0)
-        loadFactor = 0.0;
       $this = $this || Object.create(LinkedHashMap.prototype);
       HashMap_init_1(initialCapacity, loadFactor, $this);
       LinkedHashMap.call($this);
@@ -96823,8 +96817,6 @@
       return $this;
     }
     function LinkedHashSet_init_2(initialCapacity, loadFactor, $this) {
-      if (loadFactor === void 0)
-        loadFactor = 0.0;
       $this = $this || Object.create(LinkedHashSet.prototype);
       HashSet_init_3(LinkedHashMap_init_1(initialCapacity, loadFactor), $this);
       LinkedHashSet.call($this);
@@ -96921,6 +96913,12 @@
     function print(message) {
       output.print_s8jyv4$(message);
     }
+    function readln() {
+      throw UnsupportedOperationException_init_0('readln is not supported in Kotlin/JS');
+    }
+    function readlnOrNull() {
+      throw UnsupportedOperationException_init_0('readlnOrNull is not supported in Kotlin/JS');
+    }
     function SafeContinuation(delegate, initialResult) {
       this.delegate_0 = delegate;
       this.result_0 = initialResult;
@@ -99168,6 +99166,12 @@
       }
     }
     RegexOption.valueOf_61zpoe$ = RegexOption$valueOf;
+    function toFlags$lambda(it) {
+      return it.value;
+    }
+    function toFlags($receiver, prepend) {
+      return joinToString_8($receiver, '', prepend, void 0, void 0, void 0, toFlags$lambda);
+    }
     function MatchGroup(value) {
       this.value = value;
     }
@@ -99193,8 +99197,39 @@
       Regex$Companion_getInstance();
       this.pattern = pattern;
       this.options = toSet_8(options);
-      this.nativePattern_0 = new RegExp(pattern, joinToString_8(options, '', 'gu', void 0, void 0, void 0, Regex$nativePattern$lambda));
+      this.nativePattern_0 = new RegExp(pattern, toFlags(options, 'gu'));
+      this.nativeStickyPattern_0 = null;
+      this.nativeMatchesEntirePattern_0 = null;
     }
+    Regex.prototype.initStickyPattern_0 = function () {
+      var tmp$;
+      var tmp$_0;
+      if ((tmp$ = this.nativeStickyPattern_0) != null)
+        tmp$_0 = tmp$;
+      else {
+        var $receiver = new RegExp(this.pattern, toFlags(this.options, 'yu'));
+        this.nativeStickyPattern_0 = $receiver;
+        tmp$_0 = $receiver;
+      }
+      return tmp$_0;
+    };
+    Regex.prototype.initMatchesEntirePattern_0 = function () {
+      var tmp$;
+      var tmp$_0;
+      if ((tmp$ = this.nativeMatchesEntirePattern_0) != null)
+        tmp$_0 = tmp$;
+      else {
+        var block$result;
+        if (startsWith_1(this.pattern, 94) && endsWith_0(this.pattern, 36)) {
+          block$result = this.nativePattern_0;
+        } else
+          return new RegExp('^' + trimEnd_2(trimStart_2(this.pattern, Kotlin.charArrayOf(94)), Kotlin.charArrayOf(36)) + '$', toFlags(this.options, 'gu'));
+        var $receiver = block$result;
+        this.nativeMatchesEntirePattern_0 = $receiver;
+        tmp$_0 = $receiver;
+      }
+      return tmp$_0;
+    };
     Regex.prototype.matches_6bul2c$ = function (input) {
       reset(this.nativePattern_0);
       var match = this.nativePattern_0.exec(input.toString());
@@ -99204,12 +99239,19 @@
       reset(this.nativePattern_0);
       return this.nativePattern_0.test(input.toString());
     };
+    Regex.prototype.matchesAt_905azu$ = function (input, index) {
+      if (index < 0 || index > input.length) {
+        throw new IndexOutOfBoundsException('index out of bounds: ' + index + ', input length: ' + input.length);
+      }var pattern = this.initStickyPattern_0();
+      pattern.lastIndex = index;
+      return pattern.test(input.toString());
+    };
     Regex.prototype.find_905azu$ = function (input, startIndex) {
       if (startIndex === void 0)
         startIndex = 0;
       if (startIndex < 0 || startIndex > input.length) {
         throw new IndexOutOfBoundsException('Start index out of bounds: ' + startIndex + ', input length: ' + input.length);
-      }return findNext(this.nativePattern_0, input.toString(), startIndex);
+      }return findNext(this.nativePattern_0, input.toString(), startIndex, this.nativePattern_0);
     };
     function Regex$findAll$lambda(closure$input, closure$startIndex, this$Regex) {
       return function () {
@@ -99227,57 +99269,63 @@
       }return generateSequence_1(Regex$findAll$lambda(input, startIndex, this), Regex$findAll$lambda_0);
     };
     Regex.prototype.matchEntire_6bul2c$ = function (input) {
-      if (startsWith_1(this.pattern, 94) && endsWith_0(this.pattern, 36))
-        return this.find_905azu$(input);
-      else
-        return (new Regex('^' + trimEnd_2(trimStart_2(this.pattern, Kotlin.charArrayOf(94)), Kotlin.charArrayOf(36)) + '$', this.options)).find_905azu$(input);
+      return findNext(this.initMatchesEntirePattern_0(), input.toString(), 0, this.nativePattern_0);
     };
-    Regex.prototype.replace_x2uqeu$ = function (input, replacement) {
-      return input.toString().replace(this.nativePattern_0, replacement);
+    Regex.prototype.matchAt_905azu$ = function (input, index) {
+      if (index < 0 || index > input.length) {
+        throw new IndexOutOfBoundsException('index out of bounds: ' + index + ', input length: ' + input.length);
+      }return findNext(this.initStickyPattern_0(), input.toString(), index, this.nativePattern_0);
     };
-    Regex.prototype.replace_20wsma$ = defineInlineFunction('kotlin.kotlin.text.Regex.replace_20wsma$', wrapFunction(function () {
-      var StringBuilder_init = _.kotlin.text.StringBuilder_init_za3lpa$;
-      var ensureNotNull = Kotlin.ensureNotNull;
-      return function (input, transform) {
-        var match = this.find_905azu$(input);
-        if (match == null)
-          return input.toString();
-        var lastStart = 0;
-        var length = input.length;
-        var sb = StringBuilder_init(length);
-        do {
-          var foundMatch = ensureNotNull(match);
-          sb.append_ezbsdh$(input, lastStart, foundMatch.range.start);
-          sb.append_gw00v9$(transform(foundMatch));
-          lastStart = foundMatch.range.endInclusive + 1 | 0;
-          match = foundMatch.next();
-        }
-         while (lastStart < length && match != null);
-        if (lastStart < length) {
-          sb.append_ezbsdh$(input, lastStart, length);
-        }return sb.toString();
+    function Regex$replace$lambda(closure$replacement) {
+      return function (it) {
+        return substituteGroupRefs(it, closure$replacement);
       };
-    }));
-    Regex.prototype.replaceFirst_x2uqeu$ = function (input, replacement) {
-      var $receiver = this.options;
-      var destination = ArrayList_init_0(collectionSizeOrDefault($receiver, 10));
-      var tmp$;
-      tmp$ = $receiver.iterator();
-      while (tmp$.hasNext()) {
-        var item = tmp$.next();
-        destination.add_11rb$(item.value);
+    }
+    Regex.prototype.replace_x2uqeu$ = function (input, replacement) {
+      if (!contains_54(replacement, 92) && !contains_54(replacement, 36)) {
+        return input.toString().replace(this.nativePattern_0, replacement);
+      }return this.replace_20wsma$(input, Regex$replace$lambda(replacement));
+    };
+    Regex.prototype.replace_20wsma$ = function (input, transform) {
+      var match = this.find_905azu$(input);
+      if (match == null)
+        return input.toString();
+      var lastStart = 0;
+      var length = input.length;
+      var sb = StringBuilder_init(length);
+      do {
+        var foundMatch = ensureNotNull(match);
+        sb.append_ezbsdh$(input, lastStart, foundMatch.range.start);
+        sb.append_gw00v9$(transform(foundMatch));
+        lastStart = foundMatch.range.endInclusive + 1 | 0;
+        match = foundMatch.next();
       }
-      var nonGlobalOptions = joinToString_8(destination, '');
-      return input.toString().replace(new RegExp(this.pattern, nonGlobalOptions), replacement);
+       while (lastStart < length && match != null);
+      if (lastStart < length) {
+        sb.append_ezbsdh$(input, lastStart, length);
+      }return sb.toString();
+    };
+    Regex.prototype.replaceFirst_x2uqeu$ = function (input, replacement) {
+      var tmp$;
+      if (!contains_54(replacement, 92) && !contains_54(replacement, 36)) {
+        var nonGlobalOptions = toFlags(this.options, 'u');
+        return input.toString().replace(new RegExp(this.pattern, nonGlobalOptions), replacement);
+      }tmp$ = this.find_905azu$(input);
+      if (tmp$ == null) {
+        return input.toString();
+      }var match = tmp$;
+      var $receiver = StringBuilder_init_1();
+      $receiver.append_pdl1vj$(Kotlin.subSequence(input, 0, match.range.first).toString());
+      $receiver.append_pdl1vj$(substituteGroupRefs(match, replacement));
+      $receiver.append_pdl1vj$(Kotlin.subSequence(input, match.range.last + 1 | 0, input.length).toString());
+      return $receiver.toString();
     };
     Regex.prototype.split_905azu$ = function (input, limit) {
       if (limit === void 0)
         limit = 0;
       var tmp$;
-      if (!(limit >= 0)) {
-        var message = 'Limit must be non-negative, but was ' + limit;
-        throw IllegalArgumentException_init_0(message.toString());
-      }var it = this.findAll_905azu$(input);
+      requireNonNegativeLimit(limit);
+      var it = this.findAll_905azu$(input);
       var matches = limit === 0 ? it : take_9(it, limit - 1 | 0);
       var result = ArrayList_init();
       var lastStart = 0;
@@ -99290,13 +99338,109 @@
       result.add_11rb$(Kotlin.subSequence(input, lastStart, input.length).toString());
       return result;
     };
+    function Coroutine$Regex$splitToSequence$lambda(closure$input_0, this$Regex_0, closure$limit_0, $receiver_0, controller, continuation_0) {
+      CoroutineImpl.call(this, continuation_0);
+      this.$controller = controller;
+      this.exceptionState_0 = 1;
+      this.local$closure$input = closure$input_0;
+      this.local$this$Regex = this$Regex_0;
+      this.local$closure$limit = closure$limit_0;
+      this.local$match = void 0;
+      this.local$nextStart = void 0;
+      this.local$splitCount = void 0;
+      this.local$foundMatch = void 0;
+      this.local$$receiver = $receiver_0;
+    }
+    Coroutine$Regex$splitToSequence$lambda.$metadata$ = {kind: Kotlin.Kind.CLASS, simpleName: null, interfaces: [CoroutineImpl]};
+    Coroutine$Regex$splitToSequence$lambda.prototype = Object.create(CoroutineImpl.prototype);
+    Coroutine$Regex$splitToSequence$lambda.prototype.constructor = Coroutine$Regex$splitToSequence$lambda;
+    Coroutine$Regex$splitToSequence$lambda.prototype.doResume = function () {
+      do
+        try {
+          switch (this.state_0) {
+            case 0:
+              this.local$match = this.local$this$Regex.find_905azu$(this.local$closure$input);
+              if (this.local$match == null || this.local$closure$limit === 1) {
+                this.state_0 = 2;
+                this.result_0 = this.local$$receiver.yield_11rb$(this.local$closure$input.toString(), this);
+                if (this.result_0 === get_COROUTINE_SUSPENDED())
+                  return get_COROUTINE_SUSPENDED();
+                continue;
+              } else {
+                this.state_0 = 3;
+                continue;
+              }
+
+            case 1:
+              throw this.exception_0;
+            case 2:
+              return;
+            case 3:
+              this.local$nextStart = 0;
+              this.local$splitCount = 0;
+              this.state_0 = 4;
+              continue;
+            case 4:
+              this.local$foundMatch = ensureNotNull(this.local$match);
+              this.state_0 = 5;
+              this.result_0 = this.local$$receiver.yield_11rb$(Kotlin.subSequence(this.local$closure$input, this.local$nextStart, this.local$foundMatch.range.first).toString(), this);
+              if (this.result_0 === get_COROUTINE_SUSPENDED())
+                return get_COROUTINE_SUSPENDED();
+              continue;
+            case 5:
+              this.local$nextStart = this.local$foundMatch.range.endInclusive + 1 | 0;
+              this.local$match = this.local$foundMatch.next();
+              if ((this.local$splitCount = this.local$splitCount + 1 | 0, this.local$splitCount) === (this.local$closure$limit - 1 | 0) || this.local$match == null) {
+                this.state_0 = 6;
+                continue;
+              }
+              this.state_0 = 4;
+              continue;
+            case 6:
+              this.state_0 = 7;
+              this.result_0 = this.local$$receiver.yield_11rb$(Kotlin.subSequence(this.local$closure$input, this.local$nextStart, this.local$closure$input.length).toString(), this);
+              if (this.result_0 === get_COROUTINE_SUSPENDED())
+                return get_COROUTINE_SUSPENDED();
+              continue;
+            case 7:
+              return this.result_0;
+            default:this.state_0 = 1;
+              throw new Error('State Machine Unreachable execution');
+          }
+        } catch (e) {
+          if (this.state_0 === 1) {
+            this.exceptionState_0 = this.state_0;
+            throw e;
+          } else {
+            this.state_0 = this.exceptionState_0;
+            this.exception_0 = e;
+          }
+        }
+       while (true);
+    };
+    function Regex$splitToSequence$lambda(closure$input_0, this$Regex_0, closure$limit_0) {
+      return function ($receiver_0, continuation_0, suspended) {
+        var instance = new Coroutine$Regex$splitToSequence$lambda(closure$input_0, this$Regex_0, closure$limit_0, $receiver_0, this, continuation_0);
+        if (suspended)
+          return instance;
+        else
+          return instance.doResume(null);
+      };
+    }
+    Regex.prototype.splitToSequence_905azu$ = function (input, limit) {
+      if (limit === void 0)
+        limit = 0;
+      requireNonNegativeLimit(limit);
+      return sequence(Regex$splitToSequence$lambda(input, this, limit));
+    };
     Regex.prototype.toString = function () {
       return this.nativePattern_0.toString();
     };
     function Regex$Companion() {
       Regex$Companion_instance = this;
       this.patternEscape_0 = new RegExp('[\\\\^$*+?.()|[\\]{}]', 'g');
-      this.replacementEscape_0 = new RegExp('\\$', 'g');
+      this.replacementEscape_0 = new RegExp('[\\\\$]', 'g');
+      this.nativeReplacementEscape_0 = new RegExp('\\$', 'g');
     }
     Regex$Companion.prototype.fromLiteral_61zpoe$ = function (literal) {
       return Regex_init_0(this.escape_61zpoe$(literal));
@@ -99305,7 +99449,10 @@
       return literal.replace(this.patternEscape_0, '\\$&');
     };
     Regex$Companion.prototype.escapeReplacement_61zpoe$ = function (literal) {
-      return literal.replace(this.replacementEscape_0, '$$$$');
+      return literal.replace(this.replacementEscape_0, '\\$&');
+    };
+    Regex$Companion.prototype.nativeEscapeReplacement_y4putb$ = function (literal) {
+      return literal.replace(this.nativeReplacementEscape_0, '$$$$');
     };
     Regex$Companion.$metadata$ = {kind: Kind_OBJECT, simpleName: 'Companion', interfaces: []};
     var Regex$Companion_instance = null;
@@ -99314,9 +99461,6 @@
         new Regex$Companion();
       }return Regex$Companion_instance;
     }
-    function Regex$nativePattern$lambda(it) {
-      return it.value;
-    }
     Regex.$metadata$ = {kind: Kind_CLASS, simpleName: 'Regex', interfaces: []};
     function Regex_init(pattern, option, $this) {
       $this = $this || Object.create(Regex.prototype);
@@ -99328,15 +99472,9 @@
       Regex.call($this, pattern, emptySet());
       return $this;
     }
-    function Regex_0(pattern, option) {
-      return new Regex(pattern, setOf(option));
-    }
-    function Regex_1(pattern) {
-      return new Regex(pattern, emptySet());
-    }
-    function findNext$ObjectLiteral(closure$match, this$findNext, closure$input, closure$range) {
+    function findNext$ObjectLiteral(closure$match, closure$nextPattern, closure$input, closure$range) {
       this.closure$match = closure$match;
-      this.this$findNext = this$findNext;
+      this.closure$nextPattern = closure$nextPattern;
       this.closure$input = closure$input;
       this.closure$range = closure$range;
       this.range_co6b9w$_0 = closure$range;
@@ -99370,7 +99508,7 @@
       }return ensureNotNull(this.groupValues__0);
     }});
     findNext$ObjectLiteral.prototype.next = function () {
-      return findNext(this.this$findNext, this.closure$input, this.closure$range.isEmpty() ? this.closure$range.start + 1 | 0 : this.closure$range.endInclusive + 1 | 0);
+      return findNext(this.closure$nextPattern, this.closure$input, this.closure$range.isEmpty() ? this.closure$range.start + 1 | 0 : this.closure$range.endInclusive + 1 | 0, this.closure$nextPattern);
     };
     function findNext$ObjectLiteral$groups$ObjectLiteral(closure$match) {
       this.closure$match = closure$match;
@@ -99393,13 +99531,56 @@
     };
     findNext$ObjectLiteral$groups$ObjectLiteral.$metadata$ = {kind: Kind_CLASS, interfaces: [AbstractCollection, MatchGroupCollection]};
     findNext$ObjectLiteral.$metadata$ = {kind: Kind_CLASS, interfaces: [MatchResult]};
-    function findNext($receiver, input, from) {
+    function findNext($receiver, input, from, nextPattern) {
       $receiver.lastIndex = from;
       var match = $receiver.exec(input);
       if (match == null)
         return null;
       var range = new IntRange(match.index, $receiver.lastIndex - 1 | 0);
-      return new findNext$ObjectLiteral(match, $receiver, input, range);
+      return new findNext$ObjectLiteral(match, nextPattern, input, range);
+    }
+    function substituteGroupRefs(match, replacement) {
+      var tmp$, tmp$_0;
+      var index = 0;
+      var result = StringBuilder_init(replacement.length);
+      while (index < replacement.length) {
+        var char = replacement.charCodeAt((tmp$ = index, index = tmp$ + 1 | 0, tmp$));
+        if (char === 92) {
+          if (index === replacement.length)
+            throw IllegalArgumentException_init_0('The Char to be escaped is missing');
+          result.append_s8itvh$(replacement.charCodeAt((tmp$_0 = index, index = tmp$_0 + 1 | 0, tmp$_0)));
+        } else if (char === 36) {
+          if (index === replacement.length)
+            throw IllegalArgumentException_init_0('Capturing group index is missing');
+          if (replacement.charCodeAt(index) === 123)
+            throw IllegalArgumentException_init_0('Named capturing group reference currently is not supported');
+          if (!(new CharRange(48, 57)).contains_mef7kx$(replacement.charCodeAt(index)))
+            throw IllegalArgumentException_init_0('Invalid capturing group reference');
+          var endIndex = readGroupIndex(replacement, index, match.groupValues.size);
+          var groupIndex = toInt(replacement.substring(index, endIndex));
+          if (groupIndex >= match.groupValues.size)
+            throw new IndexOutOfBoundsException('Group with index ' + groupIndex + ' does not exist');
+          result.append_pdl1vj$(match.groupValues.get_za3lpa$(groupIndex));
+          index = endIndex;
+        } else {
+          result.append_s8itvh$(char);
+        }
+      }
+      return result.toString();
+    }
+    function readGroupIndex($receiver, startIndex, groupCount) {
+      var index = startIndex + 1 | 0;
+      var groupIndex = $receiver.charCodeAt(startIndex) - 48;
+      while (index < $receiver.length && (new CharRange(48, 57)).contains_mef7kx$($receiver.charCodeAt(index))) {
+        var newGroupIndex = (groupIndex * 10 | 0) + ($receiver.charCodeAt(index) - 48) | 0;
+        if (0 <= newGroupIndex && newGroupIndex < groupCount) {
+          groupIndex = newGroupIndex;
+          index = index + 1 | 0;
+        } else {
+          break;
+        }
+      }
+      return index;
     }
     function String_1(chars) {
       var tmp$;
@@ -99537,23 +99718,20 @@
         var min = JsMath.min(n1, n2);
         if (min === 0)
           return n1 - n2 | 0;
-        var start = 0;
-        while (true) {
-          var end = JsMath.min(start + 16 | 0, min);
-          var s1 = $receiver.substring(start, end);
-          var s2 = other.substring(start, end);
-          if (!equals(s1, s2)) {
-            s1 = s1.toUpperCase();
-            s2 = s2.toUpperCase();
-            if (!equals(s1, s2)) {
-              s1 = s1.toLowerCase();
-              s2 = s2.toLowerCase();
-              if (!equals(s1, s2)) {
-                return Kotlin.compareTo(s1, s2);
-              }}}if (end === min)
-            break;
-          start = end;
-        }
+        for (var index = 0; index < min; index++) {
+          var thisChar = $receiver.charCodeAt(index);
+          var otherChar = other.charCodeAt(index);
+          if (thisChar !== otherChar) {
+            thisChar = uppercaseChar(thisChar);
+            otherChar = uppercaseChar(otherChar);
+            if (thisChar !== otherChar) {
+              var $receiver_0 = thisChar;
+              thisChar = String.fromCharCode($receiver_0).toLowerCase().charCodeAt(0);
+              var $receiver_1 = otherChar;
+              otherChar = String.fromCharCode($receiver_1).toLowerCase().charCodeAt(0);
+              if (thisChar !== otherChar) {
+                return Kotlin.compareTo(thisChar, otherChar);
+              }}}}
         return n1 - n2 | 0;
       } else {
         return Kotlin.compareTo($receiver, other);
@@ -99607,25 +99785,48 @@
       return result != null && result.length !== 0;
     }
     function isBlank($receiver) {
-      return $receiver.length === 0 || matches(typeof $receiver === 'string' ? $receiver : $receiver.toString(), '^[\\s\\xA0]+$');
+      var tmp$ = $receiver.length === 0;
+      if (!tmp$) {
+        var $receiver_0 = get_indices_13($receiver);
+        var all$result;
+        all$break: do {
+          var tmp$_0;
+          if (Kotlin.isType($receiver_0, Collection) && $receiver_0.isEmpty()) {
+            all$result = true;
+            break all$break;
+          }tmp$_0 = $receiver_0.iterator();
+          while (tmp$_0.hasNext()) {
+            var element = tmp$_0.next();
+            if (!isWhitespace($receiver.charCodeAt(element))) {
+              all$result = false;
+              break all$break;
+            }}
+          all$result = true;
+        }
+         while (false);
+        tmp$ = all$result;
+      }return tmp$;
     }
     function equals_0($receiver, other, ignoreCase) {
       if (ignoreCase === void 0)
         ignoreCase = false;
+      var tmp$;
       if ($receiver == null)
         return other == null;
-      else if (!ignoreCase)
-        return equals($receiver, other);
-      else if (other == null)
+      if (other == null)
         return false;
-      else {
-        var thisLower = $receiver.toLowerCase();
-        var otherLower = other.toLowerCase();
-        var tmp$ = equals(thisLower, otherLower);
-        if (!tmp$) {
-          tmp$ = equals(thisLower.toUpperCase(), otherLower.toUpperCase());
-        }return tmp$;
-      }
+      if (!ignoreCase)
+        return equals($receiver, other);
+      if ($receiver.length !== other.length)
+        return false;
+      tmp$ = $receiver.length;
+      for (var index = 0; index < tmp$; index++) {
+        var thisChar = $receiver.charCodeAt(index);
+        var otherChar = other.charCodeAt(index);
+        if (!equals_1(thisChar, otherChar, ignoreCase)) {
+          return false;
+        }}
+      return true;
     }
     function regionMatches($receiver, thisOffset, other, otherOffset, length, ignoreCase) {
       if (ignoreCase === void 0)
@@ -99670,7 +99871,7 @@
     function replace($receiver, oldValue, newValue, ignoreCase) {
       if (ignoreCase === void 0)
         ignoreCase = false;
-      return $receiver.replace(new RegExp(Regex$Companion_getInstance().escape_61zpoe$(oldValue), ignoreCase ? 'gui' : 'gu'), Regex$Companion_getInstance().escapeReplacement_61zpoe$(newValue));
+      return $receiver.replace(new RegExp(Regex$Companion_getInstance().escape_61zpoe$(oldValue), ignoreCase ? 'gui' : 'gu'), Regex$Companion_getInstance().nativeEscapeReplacement_y4putb$(newValue));
     }
     function replace_0($receiver, oldChar, newChar, ignoreCase) {
       if (ignoreCase === void 0)
@@ -99680,7 +99881,7 @@
     function replaceFirst($receiver, oldValue, newValue, ignoreCase) {
       if (ignoreCase === void 0)
         ignoreCase = false;
-      return $receiver.replace(new RegExp(Regex$Companion_getInstance().escape_61zpoe$(oldValue), ignoreCase ? 'ui' : 'u'), Regex$Companion_getInstance().escapeReplacement_61zpoe$(newValue));
+      return $receiver.replace(new RegExp(Regex$Companion_getInstance().escape_61zpoe$(oldValue), ignoreCase ? 'ui' : 'u'), Regex$Companion_getInstance().nativeEscapeReplacement_y4putb$(newValue));
     }
     function replaceFirst_0($receiver, oldChar, newChar, ignoreCase) {
       if (ignoreCase === void 0)
@@ -99978,6 +100179,30 @@
       return dropLast_10(stack, preLastBreak) + ('... and ' + (commonFrames - 1 | 0) + ' more common stack frames skipped');
     };
     ExceptionTraceBuilder.$metadata$ = {kind: Kind_CLASS, simpleName: 'ExceptionTraceBuilder', interfaces: []};
+    var get_durationAssertionsEnabled = defineInlineFunction('kotlin.kotlin.time.get_durationAssertionsEnabled_8be2vx$', function () {
+      return true;
+    });
+    function formatToExactDecimals(value, decimals) {
+      var tmp$, tmp$_0;
+      if (decimals === 0) {
+        tmp$ = value;
+      } else {
+        var pow = JsMath.pow(10.0, decimals);
+        tmp$ = Math.round(JsMath.abs(value) * pow) / pow * JsMath.sign(value);
+      }
+      var rounded = tmp$;
+      if (JsMath.abs(rounded) < 1.0E21) {
+        tmp$_0 = rounded.toFixed(decimals);
+      } else {
+        var positive = JsMath.abs(rounded);
+        var positiveString = positive.toPrecision(JsMath.ceil(JsMath.log10(positive)) + decimals);
+        tmp$_0 = rounded < 0 ? '-' + positiveString : positiveString;
+      }
+      return tmp$_0;
+    }
+    function formatUpToDecimals(value, decimals) {
+      return value.toLocaleString('en-us', json([to('maximumFractionDigits', decimals)]));
+    }
     function DurationUnit(name, ordinal, scale) {
       Enum.call(this);
       this.scale_8be2vx$ = scale;
@@ -100123,7 +100348,7 @@
       var f = this.this$HrTimeSource.process.hrtime(this.startedAt);
       var seconds = f[0];
       var nanos = f[1];
-      return Duration$Companion_getInstance().seconds_14dthe$(seconds).plus_cgako$(Duration$Companion_getInstance().nanoseconds_14dthe$(nanos));
+      return toDuration_1(seconds, DurationUnit$SECONDS_getInstance()).plus_cgako$(toDuration_1(nanos, DurationUnit$NANOSECONDS_getInstance()));
     };
     HrTimeSource$markNow$ObjectLiteral.$metadata$ = {kind: Kind_CLASS, interfaces: [TimeMark]};
     HrTimeSource.prototype.markNow = function () {
@@ -100161,23 +100386,6 @@
         new DateNowTimeSource();
       }return DateNowTimeSource_instance;
     }
-    function formatToExactDecimals(value, decimals) {
-      var tmp$;
-      if (decimals === 0) {
-        tmp$ = value;
-      } else {
-        var pow = JsMath.pow(10.0, decimals);
-        tmp$ = Math.round(JsMath.abs(value) * pow) / pow * JsMath.sign(value);
-      }
-      var rounded = tmp$;
-      return rounded.toFixed(decimals);
-    }
-    function formatUpToDecimals(value, decimals) {
-      return value.toLocaleString('en-us', json([to('maximumFractionDigits', decimals)]));
-    }
-    function formatScientific(value) {
-      return value.toExponential(2);
-    }
     function createElement_0($receiver, name, init) {
       var $receiver_0 = $receiver.createElement(name);
       init($receiver_0);
@@ -103015,14 +103223,10 @@
       return 'text';
     });
     var Char_0 = defineInlineFunction('kotlin.kotlin.Char_za3lpa$', wrapFunction(function () {
-      var kotlin_js_internal_CharCompanionObject = Kotlin.kotlin.js.internal.CharCompanionObject;
       var IllegalArgumentException_init = _.kotlin.IllegalArgumentException_init_pdl1vj$;
       var toChar = Kotlin.toChar;
       return function (code) {
-        var tmp$ = code < (kotlin_js_internal_CharCompanionObject.MIN_VALUE | 0);
-        if (!tmp$) {
-          tmp$ = code > (kotlin_js_internal_CharCompanionObject.MAX_VALUE | 0);
-        }if (tmp$) {
+        if (code < 0 || code > 65535) {
           throw IllegalArgumentException_init('Invalid Char code: ' + code);
         }return toChar(code);
       };
@@ -104437,6 +104641,34 @@
       result.append_s8itvh$(93);
       processed.removeAt_za3lpa$(get_lastIndex_12(processed));
     }
+    function safeToConvertToSet($receiver) {
+      return brittleContainsOptimizationEnabled() && $receiver.size > 2 && Kotlin.isType($receiver, ArrayList);
+    }
+    function convertToSetForSetOperationWith($receiver, source) {
+      if (Kotlin.isType($receiver, Set))
+        return $receiver;
+      else if (Kotlin.isType($receiver, Collection))
+        if (Kotlin.isType(source, Collection) && source.size < 2)
+          return $receiver;
+        else
+          return safeToConvertToSet($receiver) ? toHashSet_8($receiver) : $receiver;
+      else
+        return brittleContainsOptimizationEnabled() ? toHashSet_8($receiver) : toList_8($receiver);
+    }
+    function convertToSetForSetOperation($receiver) {
+      if (Kotlin.isType($receiver, Set))
+        return $receiver;
+      else if (Kotlin.isType($receiver, Collection))
+        return safeToConvertToSet($receiver) ? toHashSet_8($receiver) : $receiver;
+      else
+        return brittleContainsOptimizationEnabled() ? toHashSet_8($receiver) : toList_8($receiver);
+    }
+    function convertToSetForSetOperation_0($receiver) {
+      return brittleContainsOptimizationEnabled() ? toHashSet_9($receiver) : toList_10($receiver);
+    }
+    function convertToSetForSetOperation_1($receiver) {
+      return brittleContainsOptimizationEnabled() ? toHashSet($receiver) : asList($receiver);
+    }
     function EmptyIterator() {
       EmptyIterator_instance = this;
     }
@@ -104987,28 +105219,6 @@
     function collectionSizeOrDefault($receiver, default_0) {
       return Kotlin.isType($receiver, Collection) ? $receiver.size : default_0;
     }
-    function safeToConvertToSet($receiver) {
-      return $receiver.size > 2 && Kotlin.isType($receiver, ArrayList);
-    }
-    function convertToSetForSetOperationWith($receiver, source) {
-      if (Kotlin.isType($receiver, Set))
-        return $receiver;
-      else if (Kotlin.isType($receiver, Collection))
-        if (Kotlin.isType(source, Collection) && source.size < 2)
-          return $receiver;
-        else
-          return safeToConvertToSet($receiver) ? toHashSet_8($receiver) : $receiver;
-      else
-        return toHashSet_8($receiver);
-    }
-    function convertToSetForSetOperation($receiver) {
-      if (Kotlin.isType($receiver, Set))
-        return $receiver;
-      else if (Kotlin.isType($receiver, Collection))
-        return safeToConvertToSet($receiver) ? toHashSet_8($receiver) : $receiver;
-      else
-        return toHashSet_8($receiver);
-    }
     function flatten_0($receiver) {
       var tmp$;
       var result = ArrayList_init();
@@ -105858,11 +106068,11 @@
       return (Kotlin.isType(tmp$ = $receiver, MutableCollection) ? tmp$ : throwCCE()).removeAll_brywnq$(elements_0);
     }
     function removeAll_1($receiver, elements) {
-      var set = toHashSet_9(elements);
+      var set = convertToSetForSetOperation_0(elements);
       return !set.isEmpty() && $receiver.removeAll_brywnq$(set);
     }
     function removeAll_2($receiver, elements) {
-      return !(elements.length === 0) && $receiver.removeAll_brywnq$(toHashSet(elements));
+      return !(elements.length === 0) && $receiver.removeAll_brywnq$(convertToSetForSetOperation_1(elements));
     }
     function retainAll_0($receiver, elements) {
       var elements_0 = convertToSetForSetOperationWith(elements, $receiver);
@@ -105871,12 +106081,12 @@
     }
     function retainAll_1($receiver, elements) {
       if (!(elements.length === 0))
-        return $receiver.retainAll_brywnq$(toHashSet(elements));
+        return $receiver.retainAll_brywnq$(convertToSetForSetOperation_1(elements));
       else
         return retainNothing($receiver);
     }
     function retainAll_2($receiver, elements) {
-      var set = toHashSet_9(elements);
+      var set = convertToSetForSetOperation_0(elements);
       if (!set.isEmpty())
         return $receiver.retainAll_brywnq$(set);
       else
@@ -107845,6 +108055,9 @@
         new ReverseOrderComparator();
       }return ReverseOrderComparator_instance;
     }
+    var compareTo_0 = defineInlineFunction('kotlin.kotlin.compareTo_fir3sf$', function ($receiver, other) {
+      return Kotlin.compareTo($receiver, other);
+    });
     function ExperimentalContracts() {
     }
     ExperimentalContracts.$metadata$ = {kind: Kind_CLASS, simpleName: 'ExperimentalContracts', interfaces: [Annotation]};
@@ -108613,7 +108826,7 @@
             tmp$ = Kotlin.Long.fromInt(this.nextInt()).and(L4294967295);
           else {
             var bitCount_0 = fastLog2(nHigh);
-            tmp$ = Kotlin.Long.fromInt(this.nextBits_za3lpa$(bitCount_0)).shiftLeft(32).add(Kotlin.Long.fromInt(this.nextInt()));
+            tmp$ = Kotlin.Long.fromInt(this.nextBits_za3lpa$(bitCount_0)).shiftLeft(32).add(Kotlin.Long.fromInt(this.nextInt()).and(L4294967295));
           }
           rnd = tmp$;
         } else {
@@ -110340,35 +110553,9 @@
     var replace_1 = defineInlineFunction('kotlin.kotlin.text.replace_tb98gq$', function ($receiver, regex, replacement) {
       return regex.replace_x2uqeu$($receiver, replacement);
     });
-    var replace_2 = defineInlineFunction('kotlin.kotlin.text.replace_3avfay$', wrapFunction(function () {
-      var StringBuilder_init = _.kotlin.text.StringBuilder_init_za3lpa$;
-      var ensureNotNull = Kotlin.ensureNotNull;
-      return function ($receiver, regex, transform) {
-        var replace_20wsma$result;
-        replace_20wsma$break: do {
-          var match = regex.find_905azu$($receiver);
-          if (match == null) {
-            replace_20wsma$result = $receiver.toString();
-            break replace_20wsma$break;
-          }var lastStart = 0;
-          var length = $receiver.length;
-          var sb = StringBuilder_init(length);
-          do {
-            var foundMatch = ensureNotNull(match);
-            sb.append_ezbsdh$($receiver, lastStart, foundMatch.range.start);
-            sb.append_gw00v9$(transform(foundMatch));
-            lastStart = foundMatch.range.endInclusive + 1 | 0;
-            match = foundMatch.next();
-          }
-           while (lastStart < length && match != null);
-          if (lastStart < length) {
-            sb.append_ezbsdh$($receiver, lastStart, length);
-          }replace_20wsma$result = sb.toString();
-        }
-         while (false);
-        return replace_20wsma$result;
-      };
-    }));
+    var replace_2 = defineInlineFunction('kotlin.kotlin.text.replace_3avfay$', function ($receiver, regex, transform) {
+      return regex.replace_20wsma$($receiver, transform);
+    });
     var replaceFirst_1 = defineInlineFunction('kotlin.kotlin.text.replaceFirst_tb98gq$', function ($receiver, regex, replacement) {
       return regex.replaceFirst_x2uqeu$($receiver, replacement);
     });
@@ -110737,10 +110924,8 @@
         ignoreCase = false;
       if (limit === void 0)
         limit = 0;
-      if (!(limit >= 0)) {
-        var message = 'Limit must be non-negative, but was ' + limit + '.';
-        throw IllegalArgumentException_init_0(message.toString());
-      }return new DelimitedRangesSequence($receiver, startIndex, limit, rangesDelimitedBy$lambda(delimiters, ignoreCase));
+      requireNonNegativeLimit(limit);
+      return new DelimitedRangesSequence($receiver, startIndex, limit, rangesDelimitedBy$lambda(delimiters, ignoreCase));
     }
     function rangesDelimitedBy$lambda_0(closure$delimitersList, closure$ignoreCase) {
       return function ($receiver, currentIndex) {
@@ -110755,12 +110940,15 @@
         ignoreCase = false;
       if (limit === void 0)
         limit = 0;
-      if (!(limit >= 0)) {
-        var message = 'Limit must be non-negative, but was ' + limit + '.';
-        throw IllegalArgumentException_init_0(message.toString());
-      }var delimitersList = asList(delimiters);
+      requireNonNegativeLimit(limit);
+      var delimitersList = asList(delimiters);
       return new DelimitedRangesSequence($receiver, startIndex, limit, rangesDelimitedBy$lambda_0(delimitersList, ignoreCase));
     }
+    function requireNonNegativeLimit(limit) {
+      if (!(limit >= 0)) {
+        var message = 'Limit must be non-negative, but was ' + limit;
+        throw IllegalArgumentException_init_0(message.toString());
+      }}
     function splitToSequence$lambda(this$splitToSequence) {
       return function (it) {
         return substring_3(this$splitToSequence, it);
@@ -110822,10 +111010,8 @@
       return destination;
     }
     function split_1($receiver, delimiter, ignoreCase, limit) {
-      if (!(limit >= 0)) {
-        var message = 'Limit must be non-negative, but was ' + limit + '.';
-        throw IllegalArgumentException_init_0(message.toString());
-      }var currentOffset = 0;
+      requireNonNegativeLimit(limit);
+      var currentOffset = 0;
       var nextIndex = indexOf_17($receiver, delimiter, currentOffset, ignoreCase);
       if (nextIndex === -1 || limit === 1) {
         return listOf($receiver.toString());
@@ -110847,6 +111033,11 @@
         limit = 0;
       return regex.split_905azu$($receiver, limit);
     });
+    var splitToSequence_1 = defineInlineFunction('kotlin.kotlin.text.splitToSequence_yymnie$', function ($receiver, regex, limit) {
+      if (limit === void 0)
+        limit = 0;
+      return regex.splitToSequence_905azu$($receiver, limit);
+    });
     function lineSequence($receiver) {
       return splitToSequence($receiver, ['\r\n', '\n', '\r']);
     }
@@ -110914,8 +111105,8 @@
       this.pound = toBoxedChar(163);
       this.section = toBoxedChar(167);
       this.copyright = toBoxedChar(169);
-      this.leftGuillemete = toBoxedChar(171);
-      this.rightGuillemete = toBoxedChar(187);
+      this.leftGuillemet = toBoxedChar(171);
+      this.rightGuillemet = toBoxedChar(187);
       this.registered = toBoxedChar(174);
       this.degree = toBoxedChar(176);
       this.plusMinus = toBoxedChar(177);
@@ -110942,6 +111133,8 @@
       this.notEqual = toBoxedChar(8800);
       this.lessOrEqual = toBoxedChar(8804);
       this.greaterOrEqual = toBoxedChar(8805);
+      this.leftGuillemete = toBoxedChar(171);
+      this.rightGuillemete = toBoxedChar(187);
     }
     Typography.$metadata$ = {kind: Kind_OBJECT, simpleName: 'Typography', interfaces: []};
     var Typography_instance = null;
@@ -111021,19 +111214,20 @@
       Duration$Companion_getInstance();
       this.rawValue_0 = rawValue;
       var tmp$, tmp$_0, tmp$_1;
-      if (this.isInNanos_0()) {
-        tmp$ = this.value_0;
-        if (!(L_4611686018426999999.lessThanOrEqual(tmp$) && tmp$.lessThanOrEqual(MAX_NANOS)))
-          throw AssertionError_init_0(this.value_0.toString() + ' ns is out of nanoseconds range');
-      } else {
-        tmp$_0 = this.value_0;
-        if (!(L_4611686018427387903.lessThanOrEqual(tmp$_0) && tmp$_0.lessThanOrEqual(MAX_MILLIS)))
-          throw AssertionError_init_0(this.value_0.toString() + ' ms is out of milliseconds range');
-        tmp$_1 = this.value_0;
-        if (L_4611686018426.lessThanOrEqual(tmp$_1) && tmp$_1.lessThanOrEqual(MAX_NANOS_IN_MILLIS))
-          throw AssertionError_init_0(this.value_0.toString() + ' ms is denormalized');
-      }
-    }
+      if (true) {
+        if (this.isInNanos_0()) {
+          tmp$ = this.value_0;
+          if (!(L_4611686018426999999.lessThanOrEqual(tmp$) && tmp$.lessThanOrEqual(MAX_NANOS)))
+            throw AssertionError_init_0(this.value_0.toString() + ' ns is out of nanoseconds range');
+        } else {
+          tmp$_0 = this.value_0;
+          if (!(L_4611686018427387903.lessThanOrEqual(tmp$_0) && tmp$_0.lessThanOrEqual(MAX_MILLIS)))
+            throw AssertionError_init_0(this.value_0.toString() + ' ms is out of milliseconds range');
+          tmp$_1 = this.value_0;
+          if (L_4611686018426.lessThanOrEqual(tmp$_1) && tmp$_1.lessThanOrEqual(MAX_NANOS_IN_MILLIS))
+            throw AssertionError_init_0(this.value_0.toString() + ' ms is denormalized');
+        }
+      }}
     Object.defineProperty(Duration.prototype, 'value_0', {configurable: true, get: function () {
       return this.rawValue_0.shiftRight(1);
     }});
@@ -111058,6 +111252,153 @@
     Duration$Companion.prototype.convert_d8pp1e$ = function (value, sourceUnit, targetUnit) {
       return convertDurationUnit(value, sourceUnit, targetUnit);
     };
+    Duration$Companion.prototype.get_nanoseconds_s8ev3n$ = defineInlineFunction('kotlin.kotlin.time.Duration.Companion.get_nanoseconds_s8ev3n$', wrapFunction(function () {
+      var DurationUnit = _.kotlin.time.DurationUnit;
+      var toDuration = _.kotlin.time.toDuration_14orw9$;
+      return function ($receiver) {
+        return toDuration($receiver, DurationUnit.NANOSECONDS);
+      };
+    }));
+    Duration$Companion.prototype.get_nanoseconds_mts6qi$ = defineInlineFunction('kotlin.kotlin.time.Duration.Companion.get_nanoseconds_mts6qi$', wrapFunction(function () {
+      var DurationUnit = _.kotlin.time.DurationUnit;
+      var toDuration = _.kotlin.time.toDuration_rrkdm6$;
+      return function ($receiver) {
+        return toDuration($receiver, DurationUnit.NANOSECONDS);
+      };
+    }));
+    Duration$Companion.prototype.get_nanoseconds_yrwdxr$ = defineInlineFunction('kotlin.kotlin.time.Duration.Companion.get_nanoseconds_yrwdxr$', wrapFunction(function () {
+      var DurationUnit = _.kotlin.time.DurationUnit;
+      var toDuration = _.kotlin.time.toDuration_n769wd$;
+      return function ($receiver) {
+        return toDuration($receiver, DurationUnit.NANOSECONDS);
+      };
+    }));
+    Duration$Companion.prototype.get_microseconds_s8ev3n$ = defineInlineFunction('kotlin.kotlin.time.Duration.Companion.get_microseconds_s8ev3n$', wrapFunction(function () {
+      var DurationUnit = _.kotlin.time.DurationUnit;
+      var toDuration = _.kotlin.time.toDuration_14orw9$;
+      return function ($receiver) {
+        return toDuration($receiver, DurationUnit.MICROSECONDS);
+      };
+    }));
+    Duration$Companion.prototype.get_microseconds_mts6qi$ = defineInlineFunction('kotlin.kotlin.time.Duration.Companion.get_microseconds_mts6qi$', wrapFunction(function () {
+      var DurationUnit = _.kotlin.time.DurationUnit;
+      var toDuration = _.kotlin.time.toDuration_rrkdm6$;
+      return function ($receiver) {
+        return toDuration($receiver, DurationUnit.MICROSECONDS);
+      };
+    }));
+    Duration$Companion.prototype.get_microseconds_yrwdxr$ = defineInlineFunction('kotlin.kotlin.time.Duration.Companion.get_microseconds_yrwdxr$', wrapFunction(function () {
+      var DurationUnit = _.kotlin.time.DurationUnit;
+      var toDuration = _.kotlin.time.toDuration_n769wd$;
+      return function ($receiver) {
+        return toDuration($receiver, DurationUnit.MICROSECONDS);
+      };
+    }));
+    Duration$Companion.prototype.get_milliseconds_s8ev3n$ = defineInlineFunction('kotlin.kotlin.time.Duration.Companion.get_milliseconds_s8ev3n$', wrapFunction(function () {
+      var DurationUnit = _.kotlin.time.DurationUnit;
+      var toDuration = _.kotlin.time.toDuration_14orw9$;
+      return function ($receiver) {
+        return toDuration($receiver, DurationUnit.MILLISECONDS);
+      };
+    }));
+    Duration$Companion.prototype.get_milliseconds_mts6qi$ = defineInlineFunction('kotlin.kotlin.time.Duration.Companion.get_milliseconds_mts6qi$', wrapFunction(function () {
+      var DurationUnit = _.kotlin.time.DurationUnit;
+      var toDuration = _.kotlin.time.toDuration_rrkdm6$;
+      return function ($receiver) {
+        return toDuration($receiver, DurationUnit.MILLISECONDS);
+      };
+    }));
+    Duration$Companion.prototype.get_milliseconds_yrwdxr$ = defineInlineFunction('kotlin.kotlin.time.Duration.Companion.get_milliseconds_yrwdxr$', wrapFunction(function () {
+      var DurationUnit = _.kotlin.time.DurationUnit;
+      var toDuration = _.kotlin.time.toDuration_n769wd$;
+      return function ($receiver) {
+        return toDuration($receiver, DurationUnit.MILLISECONDS);
+      };
+    }));
+    Duration$Companion.prototype.get_seconds_s8ev3n$ = defineInlineFunction('kotlin.kotlin.time.Duration.Companion.get_seconds_s8ev3n$', wrapFunction(function () {
+      var DurationUnit = _.kotlin.time.DurationUnit;
+      var toDuration = _.kotlin.time.toDuration_14orw9$;
+      return function ($receiver) {
+        return toDuration($receiver, DurationUnit.SECONDS);
+      };
+    }));
+    Duration$Companion.prototype.get_seconds_mts6qi$ = defineInlineFunction('kotlin.kotlin.time.Duration.Companion.get_seconds_mts6qi$', wrapFunction(function () {
+      var DurationUnit = _.kotlin.time.DurationUnit;
+      var toDuration = _.kotlin.time.toDuration_rrkdm6$;
+      return function ($receiver) {
+        return toDuration($receiver, DurationUnit.SECONDS);
+      };
+    }));
+    Duration$Companion.prototype.get_seconds_yrwdxr$ = defineInlineFunction('kotlin.kotlin.time.Duration.Companion.get_seconds_yrwdxr$', wrapFunction(function () {
+      var DurationUnit = _.kotlin.time.DurationUnit;
+      var toDuration = _.kotlin.time.toDuration_n769wd$;
+      return function ($receiver) {
+        return toDuration($receiver, DurationUnit.SECONDS);
+      };
+    }));
+    Duration$Companion.prototype.get_minutes_s8ev3n$ = defineInlineFunction('kotlin.kotlin.time.Duration.Companion.get_minutes_s8ev3n$', wrapFunction(function () {
+      var DurationUnit = _.kotlin.time.DurationUnit;
+      var toDuration = _.kotlin.time.toDuration_14orw9$;
+      return function ($receiver) {
+        return toDuration($receiver, DurationUnit.MINUTES);
+      };
+    }));
+    Duration$Companion.prototype.get_minutes_mts6qi$ = defineInlineFunction('kotlin.kotlin.time.Duration.Companion.get_minutes_mts6qi$', wrapFunction(function () {
+      var DurationUnit = _.kotlin.time.DurationUnit;
+      var toDuration = _.kotlin.time.toDuration_rrkdm6$;
+      return function ($receiver) {
+        return toDuration($receiver, DurationUnit.MINUTES);
+      };
+    }));
+    Duration$Companion.prototype.get_minutes_yrwdxr$ = defineInlineFunction('kotlin.kotlin.time.Duration.Companion.get_minutes_yrwdxr$', wrapFunction(function () {
+      var DurationUnit = _.kotlin.time.DurationUnit;
+      var toDuration = _.kotlin.time.toDuration_n769wd$;
+      return function ($receiver) {
+        return toDuration($receiver, DurationUnit.MINUTES);
+      };
+    }));
+    Duration$Companion.prototype.get_hours_s8ev3n$ = defineInlineFunction('kotlin.kotlin.time.Duration.Companion.get_hours_s8ev3n$', wrapFunction(function () {
+      var DurationUnit = _.kotlin.time.DurationUnit;
+      var toDuration = _.kotlin.time.toDuration_14orw9$;
+      return function ($receiver) {
+        return toDuration($receiver, DurationUnit.HOURS);
+      };
+    }));
+    Duration$Companion.prototype.get_hours_mts6qi$ = defineInlineFunction('kotlin.kotlin.time.Duration.Companion.get_hours_mts6qi$', wrapFunction(function () {
+      var DurationUnit = _.kotlin.time.DurationUnit;
+      var toDuration = _.kotlin.time.toDuration_rrkdm6$;
+      return function ($receiver) {
+        return toDuration($receiver, DurationUnit.HOURS);
+      };
+    }));
+    Duration$Companion.prototype.get_hours_yrwdxr$ = defineInlineFunction('kotlin.kotlin.time.Duration.Companion.get_hours_yrwdxr$', wrapFunction(function () {
+      var DurationUnit = _.kotlin.time.DurationUnit;
+      var toDuration = _.kotlin.time.toDuration_n769wd$;
+      return function ($receiver) {
+        return toDuration($receiver, DurationUnit.HOURS);
+      };
+    }));
+    Duration$Companion.prototype.get_days_s8ev3n$ = defineInlineFunction('kotlin.kotlin.time.Duration.Companion.get_days_s8ev3n$', wrapFunction(function () {
+      var DurationUnit = _.kotlin.time.DurationUnit;
+      var toDuration = _.kotlin.time.toDuration_14orw9$;
+      return function ($receiver) {
+        return toDuration($receiver, DurationUnit.DAYS);
+      };
+    }));
+    Duration$Companion.prototype.get_days_mts6qi$ = defineInlineFunction('kotlin.kotlin.time.Duration.Companion.get_days_mts6qi$', wrapFunction(function () {
+      var DurationUnit = _.kotlin.time.DurationUnit;
+      var toDuration = _.kotlin.time.toDuration_rrkdm6$;
+      return function ($receiver) {
+        return toDuration($receiver, DurationUnit.DAYS);
+      };
+    }));
+    Duration$Companion.prototype.get_days_yrwdxr$ = defineInlineFunction('kotlin.kotlin.time.Duration.Companion.get_days_yrwdxr$', wrapFunction(function () {
+      var DurationUnit = _.kotlin.time.DurationUnit;
+      var toDuration = _.kotlin.time.toDuration_n769wd$;
+      return function ($receiver) {
+        return toDuration($receiver, DurationUnit.DAYS);
+      };
+    }));
     Duration$Companion.prototype.nanoseconds_za3lpa$ = function (value) {
       return toDuration(value, DurationUnit$NANOSECONDS_getInstance());
     };
@@ -111121,6 +111462,46 @@
     Duration$Companion.prototype.days_14dthe$ = function (value) {
       return toDuration_1(value, DurationUnit$DAYS_getInstance());
     };
+    Duration$Companion.prototype.parse_61zpoe$ = function (value) {
+      try {
+        return parseDuration(value, false);
+      } catch (e) {
+        if (Kotlin.isType(e, IllegalArgumentException)) {
+          throw new IllegalArgumentException("Invalid duration string format: '" + value + "'.", e);
+        } else
+          throw e;
+      }
+    };
+    Duration$Companion.prototype.parseIsoString_61zpoe$ = function (value) {
+      try {
+        return parseDuration(value, true);
+      } catch (e) {
+        if (Kotlin.isType(e, IllegalArgumentException)) {
+          throw new IllegalArgumentException("Invalid ISO duration string format: '" + value + "'.", e);
+        } else
+          throw e;
+      }
+    };
+    Duration$Companion.prototype.parseOrNull_61zpoe$ = function (value) {
+      try {
+        return parseDuration(value, false);
+      } catch (e) {
+        if (Kotlin.isType(e, IllegalArgumentException)) {
+          return null;
+        } else
+          throw e;
+      }
+    };
+    Duration$Companion.prototype.parseIsoStringOrNull_61zpoe$ = function (value) {
+      try {
+        return parseDuration(value, true);
+      } catch (e) {
+        if (Kotlin.isType(e, IllegalArgumentException)) {
+          return null;
+        } else
+          throw e;
+      }
+    };
     Duration$Companion.$metadata$ = {kind: Kind_OBJECT, simpleName: 'Companion', interfaces: []};
     var Duration$Companion_instance = null;
     function Duration$Companion_getInstance() {
@@ -111272,24 +111653,15 @@
       var r = (this.rawValue_0.toInt() & 1) - (other.rawValue_0.toInt() & 1) | 0;
       return this.isNegative() ? -r | 0 : r;
     };
-    Duration.prototype.toComponents_fnu26o$ = defineInlineFunction('kotlin.kotlin.time.Duration.toComponents_fnu26o$', wrapFunction(function () {
-      var DurationUnit = _.kotlin.time.DurationUnit;
-      return function (action) {
-        return action(this.toInt_p6uejw$(DurationUnit.DAYS), this.hoursComponent, this.minutesComponent, this.secondsComponent, this.nanosecondsComponent);
-      };
-    }));
-    Duration.prototype.toComponents_v6nad0$ = defineInlineFunction('kotlin.kotlin.time.Duration.toComponents_v6nad0$', wrapFunction(function () {
-      var DurationUnit = _.kotlin.time.DurationUnit;
-      return function (action) {
-        return action(this.toInt_p6uejw$(DurationUnit.HOURS), this.minutesComponent, this.secondsComponent, this.nanosecondsComponent);
-      };
-    }));
-    Duration.prototype.toComponents_sg9n6w$ = defineInlineFunction('kotlin.kotlin.time.Duration.toComponents_sg9n6w$', wrapFunction(function () {
-      var DurationUnit = _.kotlin.time.DurationUnit;
-      return function (action) {
-        return action(this.toInt_p6uejw$(DurationUnit.MINUTES), this.secondsComponent, this.nanosecondsComponent);
-      };
-    }));
+    Duration.prototype.toComponents_hve5lh$ = defineInlineFunction('kotlin.kotlin.time.Duration.toComponents_hve5lh$', function (action) {
+      return action(this.inWholeDays, this.hoursComponent, this.minutesComponent, this.secondsComponent, this.nanosecondsComponent);
+    });
+    Duration.prototype.toComponents_s6np4d$ = defineInlineFunction('kotlin.kotlin.time.Duration.toComponents_s6np4d$', function (action) {
+      return action(this.inWholeHours, this.minutesComponent, this.secondsComponent, this.nanosecondsComponent);
+    });
+    Duration.prototype.toComponents_vtr74h$ = defineInlineFunction('kotlin.kotlin.time.Duration.toComponents_vtr74h$', function (action) {
+      return action(this.inWholeMinutes, this.secondsComponent, this.nanosecondsComponent);
+    });
     Duration.prototype.toComponents_obfv9r$ = defineInlineFunction('kotlin.kotlin.time.Duration.toComponents_obfv9r$', function (action) {
       return action(this.inWholeSeconds, this.nanosecondsComponent);
     });
@@ -111395,7 +111767,7 @@
       return this.inWholeMilliseconds;
     };
     Duration.prototype.toString = function () {
-      var tmp$, tmp$_0, tmp$_1;
+      var tmp$;
       tmp$ = this.rawValue_0;
       if (equals(tmp$, L0))
         return '0s';
@@ -111404,73 +111776,84 @@
       else if (equals(tmp$, Duration$Companion_getInstance().NEG_INFINITE_8be2vx$.rawValue_0))
         return '-Infinity';
       else {
-        var absNs = this.absoluteValue.toDouble_p6uejw$(DurationUnit$NANOSECONDS_getInstance());
-        var scientific = {v: false};
-        var maxDecimals = {v: 0};
-        if (absNs < 1.0E-6) {
-          var $receiver = DurationUnit$SECONDS_getInstance();
-          scientific.v = true;
-          tmp$_0 = $receiver;
-        } else if (absNs < 1) {
-          var $receiver_0 = DurationUnit$NANOSECONDS_getInstance();
-          maxDecimals.v = 7;
-          tmp$_0 = $receiver_0;
-        } else if (absNs < 1000.0)
-          tmp$_0 = DurationUnit$NANOSECONDS_getInstance();
-        else if (absNs < 1000000.0)
-          tmp$_0 = DurationUnit$MICROSECONDS_getInstance();
-        else if (absNs < 1.0E9)
-          tmp$_0 = DurationUnit$MILLISECONDS_getInstance();
-        else if (absNs < 1.0E12)
-          tmp$_0 = DurationUnit$SECONDS_getInstance();
-        else if (absNs < 6.0E13)
-          tmp$_0 = DurationUnit$MINUTES_getInstance();
-        else if (absNs < 3.6E15)
-          tmp$_0 = DurationUnit$HOURS_getInstance();
-        else if (absNs < 8.64E13 * 1.0E7)
-          tmp$_0 = DurationUnit$DAYS_getInstance();
-        else {
-          var $receiver_1 = DurationUnit$DAYS_getInstance();
-          scientific.v = true;
-          tmp$_0 = $receiver_1;
-        }
-        var unit = tmp$_0;
-        var value = this.toDouble_p6uejw$(unit);
-        if (scientific.v)
-          tmp$_1 = formatScientific(value);
-        else if (maxDecimals.v > 0)
-          tmp$_1 = formatUpToDecimals(value, maxDecimals.v);
-        else {
-          tmp$_1 = formatToExactDecimals(value, this.precision_0(JsMath.abs(value)));
-        }
-        return tmp$_1 + shortName(unit);
+        var isNegative = this.isNegative();
+        var $receiver = StringBuilder_init_1();
+        if (isNegative)
+          $receiver.append_s8itvh$(45);
+        var $this = this.absoluteValue;
+        var days = $this.inWholeDays;
+        var hours = $this.hoursComponent;
+        var minutes = $this.minutesComponent;
+        var seconds = $this.secondsComponent;
+        var nanoseconds = $this.nanosecondsComponent;
+        var tmp$_0, tmp$_1, tmp$_2;
+        var hasDays = !equals(days, L0);
+        var hasHours = hours !== 0;
+        var hasMinutes = minutes !== 0;
+        var hasSeconds = seconds !== 0 || nanoseconds !== 0;
+        var components = 0;
+        if (hasDays) {
+          $receiver.append_s8jyv4$(days).append_s8itvh$(100);
+          components = components + 1 | 0;
+        }if (hasHours || (hasDays && (hasMinutes || hasSeconds))) {
+          if ((tmp$_0 = components, components = tmp$_0 + 1 | 0, tmp$_0) > 0)
+            $receiver.append_s8itvh$(32);
+          $receiver.append_s8jyv4$(hours).append_s8itvh$(104);
+        }if (hasMinutes || (hasSeconds && (hasHours || hasDays))) {
+          if ((tmp$_1 = components, components = tmp$_1 + 1 | 0, tmp$_1) > 0)
+            $receiver.append_s8itvh$(32);
+          $receiver.append_s8jyv4$(minutes).append_s8itvh$(109);
+        }if (hasSeconds) {
+          if ((tmp$_2 = components, components = tmp$_2 + 1 | 0, tmp$_2) > 0)
+            $receiver.append_s8itvh$(32);
+          if (seconds !== 0 || hasDays || hasHours || hasMinutes)
+            this.appendFractional_0($receiver, seconds, nanoseconds, 9, 's', false);
+          else if (nanoseconds >= 1000000)
+            this.appendFractional_0($receiver, nanoseconds / 1000000 | 0, nanoseconds % 1000000, 6, 'ms', false);
+          else if (nanoseconds >= 1000)
+            this.appendFractional_0($receiver, nanoseconds / 1000 | 0, nanoseconds % 1000, 3, 'us', false);
+          else
+            $receiver.append_s8jyv4$(nanoseconds).append_pdl1vj$('ns');
+        }if (isNegative && components > 1)
+          $receiver.insert_6t1mh3$(1, 40).append_s8itvh$(41);
+        return $receiver.toString();
       }
     };
-    Duration.prototype.precision_0 = function (value) {
-      if (value < 1)
-        return 3;
-      else if (value < 10)
-        return 2;
-      else if (value < 100)
-        return 1;
-      else
-        return 0;
+    Duration.prototype.appendFractional_0 = function ($receiver, whole, fractional, fractionalSize, unit, isoZeroes) {
+      $receiver.append_s8jyv4$(whole);
+      if (fractional !== 0) {
+        $receiver.append_s8itvh$(46);
+        var fracString = padStart_0(fractional.toString(), fractionalSize, 48);
+        var indexOfLast$result;
+        indexOfLast$break: do {
+          var tmp$;
+          tmp$ = reversed_9(get_indices_13(fracString)).iterator();
+          while (tmp$.hasNext()) {
+            var index = tmp$.next();
+            if (unboxChar(toBoxedChar(fracString.charCodeAt(index))) !== 48) {
+              indexOfLast$result = index;
+              break indexOfLast$break;
+            }}
+          indexOfLast$result = -1;
+        }
+         while (false);
+        var nonZeroDigits = indexOfLast$result + 1 | 0;
+        if (!isoZeroes && nonZeroDigits < 3)
+          $receiver.appendRange_3peag4$(fracString, 0, nonZeroDigits);
+        else
+          $receiver.appendRange_3peag4$(fracString, 0, ((nonZeroDigits + 2 | 0) / 3 | 0) * 3 | 0);
+      }$receiver.append_pdl1vj$(unit);
     };
     Duration.prototype.toString_mha1pa$ = function (unit, decimals) {
       if (decimals === void 0)
         decimals = 0;
-      var tmp$;
       if (!(decimals >= 0)) {
         var message = 'decimals must be not negative, but was ' + decimals;
         throw IllegalArgumentException_init_0(message.toString());
       }var number = this.toDouble_p6uejw$(unit);
       if (isInfinite(number))
         return number.toString();
-      if (JsMath.abs(number) < 1.0E14)
-        tmp$ = formatToExactDecimals(number, coerceAtMost_2(decimals, 12));
-      else
-        tmp$ = formatScientific(number);
-      return tmp$ + shortName(unit);
+      return formatToExactDecimals(number, coerceAtMost_2(decimals, 12)) + shortName(unit);
     };
     Duration.prototype.toIsoString = function () {
       var $receiver = StringBuilder_init_1();
@@ -111478,29 +111861,22 @@
         $receiver.append_s8itvh$(45);
       $receiver.append_pdl1vj$('PT');
       var $this = this.absoluteValue;
-      var hours = $this.toInt_p6uejw$(DurationUnit.HOURS);
+      var hours = $this.inWholeHours;
       var minutes = $this.minutesComponent;
       var seconds = $this.secondsComponent;
       var nanoseconds = $this.nanosecondsComponent;
-      var hasHours = hours !== 0;
+      var hours_0 = hours;
+      if (this.isInfinite()) {
+        hours_0 = L9999999999999;
+      }var hasHours = !equals(hours_0, L0);
       var hasSeconds = seconds !== 0 || nanoseconds !== 0;
       var hasMinutes = minutes !== 0 || (hasSeconds && hasHours);
       if (hasHours) {
-        $receiver.append_s8jyv4$(hours).append_s8itvh$(72);
+        $receiver.append_s8jyv4$(hours_0).append_s8itvh$(72);
       }if (hasMinutes) {
         $receiver.append_s8jyv4$(minutes).append_s8itvh$(77);
       }if (hasSeconds || (!hasHours && !hasMinutes)) {
-        $receiver.append_s8jyv4$(seconds);
-        if (nanoseconds !== 0) {
-          $receiver.append_s8itvh$(46);
-          var nss = padStart_0(nanoseconds.toString(), 9, 48);
-          if (nanoseconds % 1000000 === 0)
-            $receiver.appendRange_3peag4$(nss, 0, 3);
-          else if (nanoseconds % 1000 === 0)
-            $receiver.appendRange_3peag4$(nss, 0, 6);
-          else
-            $receiver.append_pdl1vj$(nss);
-        }$receiver.append_s8itvh$(83);
+        this.appendFractional_0($receiver, seconds, nanoseconds, 9, 'S', true);
       }return $receiver.toString();
     };
     Duration.$metadata$ = {kind: Kind_CLASS, simpleName: 'Duration', interfaces: [Comparable]};
@@ -111538,11 +111914,11 @@
       if (!!isNaN_0(valueInNs)) {
         var message = 'Duration value cannot be NaN.';
         throw IllegalArgumentException_init_0(message.toString());
-      }var nanos = Kotlin.Long.fromNumber(valueInNs);
+      }var nanos = roundToLong(valueInNs);
       if (L_4611686018426999999.lessThanOrEqual(nanos) && nanos.lessThanOrEqual(MAX_NANOS)) {
         tmp$ = durationOfNanos(nanos);
       } else {
-        var millis = Kotlin.Long.fromNumber(convertDurationUnit($receiver, unit, DurationUnit$MILLISECONDS_getInstance()));
+        var millis = roundToLong(convertDurationUnit($receiver, unit, DurationUnit$MILLISECONDS_getInstance()));
         tmp$ = durationOfMillisNormalized(millis);
       }
       return tmp$;
@@ -111616,6 +111992,188 @@
     var times_0 = defineInlineFunction('kotlin.kotlin.time.times_w68h3b$', function ($receiver, duration) {
       return duration.times_14dthe$($receiver);
     });
+    function parseDuration(value, strictIso) {
+      var length = value.length;
+      if (length === 0)
+        throw IllegalArgumentException_init_0('The string is empty');
+      var index = 0;
+      var result = Duration$Companion_getInstance().ZERO;
+      var infinityString = 'Infinity';
+      switch (value.charCodeAt(index)) {
+        case 43:
+        case 45:
+          index = index + 1 | 0;
+          break;
+      }
+      var hasSign = index > 0;
+      var isNegative = hasSign && startsWith_1(value, 45);
+      if (length <= index)
+        throw IllegalArgumentException_init_0('No components');
+      else if (value.charCodeAt(index) === 80) {
+        if ((index = index + 1 | 0, index) === length)
+          throw IllegalArgumentException_init();
+        var nonDigitSymbols = '+-.';
+        var isTimeComponent = false;
+        var prevUnit = null;
+        while (index < length) {
+          if (value.charCodeAt(index) === 84) {
+            if (isTimeComponent || (index = index + 1 | 0, index) === length)
+              throw IllegalArgumentException_init();
+            isTimeComponent = true;
+            continue;
+          }var startIndex = index;
+          var i = startIndex;
+          while (true) {
+            var tmp$ = i < value.length;
+            if (tmp$) {
+              var it = toBoxedChar(value.charCodeAt(i));
+              tmp$ = (new CharRange(48, 57)).contains_mef7kx$(unboxChar(it)) || contains_54(nonDigitSymbols, unboxChar(it));
+            }if (!tmp$)
+              break;
+            i = i + 1 | 0;
+          }
+          var component = value.substring(startIndex, i);
+          if (component.length === 0)
+            throw IllegalArgumentException_init();
+          index = index + component.length | 0;
+          var index_0 = index;
+          var tmp$_0;
+          if (index_0 >= 0 && index_0 <= get_lastIndex_13(value))
+            tmp$_0 = value.charCodeAt(index_0);
+          else {
+            throw IllegalArgumentException_init_0('Missing unit for value ' + component);
+          }
+          var unitChar = tmp$_0;
+          index = index + 1 | 0;
+          var unit = durationUnitByIsoChar(unitChar, isTimeComponent);
+          if (prevUnit != null && prevUnit.compareTo_11rb$(unit) <= 0)
+            throw IllegalArgumentException_init_0('Unexpected order of duration components');
+          prevUnit = unit;
+          var dotIndex = indexOf_16(component, 46);
+          if (unit === DurationUnit$SECONDS_getInstance() && dotIndex > 0) {
+            var whole = component.substring(0, dotIndex);
+            result = result.plus_cgako$(toDuration_0(parseOverLongIsoComponent(whole), unit));
+            result = result.plus_cgako$(toDuration_1(toDouble(component.substring(dotIndex)), unit));
+          } else {
+            result = result.plus_cgako$(toDuration_0(parseOverLongIsoComponent(component), unit));
+          }
+        }
+      } else if (strictIso)
+        throw IllegalArgumentException_init();
+      else {
+        if (regionMatches(value, index, infinityString, 0, JsMath.max(length - index | 0, infinityString.length), true))
+          result = Duration$Companion_getInstance().INFINITE;
+        else {
+          var prevUnit_0 = null;
+          var afterFirst = false;
+          var allowSpaces = !hasSign;
+          if (hasSign && value.charCodeAt(index) === 40 && last_23(value) === 41) {
+            allowSpaces = true;
+            if ((index = index + 1 | 0, index) === (length = length - 1 | 0, length))
+              throw IllegalArgumentException_init_0('No components');
+          }while (index < length) {
+            if (afterFirst && allowSpaces) {
+              var i_0 = index;
+              while (true) {
+                var tmp$_1 = i_0 < value.length;
+                if (tmp$_1) {
+                  tmp$_1 = unboxChar(toBoxedChar(value.charCodeAt(i_0))) === 32;
+                }if (!tmp$_1)
+                  break;
+                i_0 = i_0 + 1 | 0;
+              }
+              index = i_0;
+            }afterFirst = true;
+            var startIndex_0 = index;
+            var i_1 = startIndex_0;
+            while (true) {
+              var tmp$_2 = i_1 < value.length;
+              if (tmp$_2) {
+                var it_0 = toBoxedChar(value.charCodeAt(i_1));
+                tmp$_2 = (new CharRange(48, 57)).contains_mef7kx$(unboxChar(it_0)) || unboxChar(it_0) === 46;
+              }if (!tmp$_2)
+                break;
+              i_1 = i_1 + 1 | 0;
+            }
+            var component_0 = value.substring(startIndex_0, i_1);
+            if (component_0.length === 0)
+              throw IllegalArgumentException_init();
+            index = index + component_0.length | 0;
+            var startIndex_1 = index;
+            var i_2 = startIndex_1;
+            while (true) {
+              var tmp$_3 = i_2 < value.length;
+              if (tmp$_3) {
+                var it_1 = toBoxedChar(value.charCodeAt(i_2));
+                tmp$_3 = (new CharRange(97, 122)).contains_mef7kx$(unboxChar(it_1));
+              }if (!tmp$_3)
+                break;
+              i_2 = i_2 + 1 | 0;
+            }
+            var unitName = value.substring(startIndex_1, i_2);
+            index = index + unitName.length | 0;
+            var unit_0 = durationUnitByShortName(unitName);
+            if (prevUnit_0 != null && prevUnit_0.compareTo_11rb$(unit_0) <= 0)
+              throw IllegalArgumentException_init_0('Unexpected order of duration components');
+            prevUnit_0 = unit_0;
+            var dotIndex_0 = indexOf_16(component_0, 46);
+            if (dotIndex_0 > 0) {
+              var whole_0 = component_0.substring(0, dotIndex_0);
+              result = result.plus_cgako$(toDuration_0(toLong(whole_0), unit_0));
+              result = result.plus_cgako$(toDuration_1(toDouble(component_0.substring(dotIndex_0)), unit_0));
+              if (index < length)
+                throw IllegalArgumentException_init_0('Fractional component must be last');
+            } else {
+              result = result.plus_cgako$(toDuration_0(toLong(component_0), unit_0));
+            }
+          }
+        }
+      }
+      return isNegative ? result.unaryMinus() : result;
+    }
+    function parseOverLongIsoComponent(value) {
+      var length = value.length;
+      var startIndex = 0;
+      if (length > 0 && contains_54('+-', value.charCodeAt(0))) {
+        startIndex = startIndex + 1 | 0;
+      }var tmp$ = (length - startIndex | 0) > 16;
+      if (tmp$) {
+        var $receiver = new IntRange(startIndex, get_lastIndex_13(value));
+        var all$result;
+        all$break: do {
+          var tmp$_0;
+          if (Kotlin.isType($receiver, Collection) && $receiver.isEmpty()) {
+            all$result = true;
+            break all$break;
+          }tmp$_0 = $receiver.iterator();
+          while (tmp$_0.hasNext()) {
+            var element = tmp$_0.next();
+            if (!(new CharRange(48, 57)).contains_mef7kx$(value.charCodeAt(element))) {
+              all$result = false;
+              break all$break;
+            }}
+          all$result = true;
+        }
+         while (false);
+        tmp$ = all$result;
+      }if (tmp$) {
+        return value.charCodeAt(0) === 45 ? Long$Companion$MIN_VALUE : Long$Companion$MAX_VALUE;
+      }return startsWith(value, '+') ? toLong(drop_11(value, 1)) : toLong(value);
+    }
+    function substringWhile($receiver, startIndex, predicate) {
+      var i = startIndex;
+      while (i < $receiver.length && predicate(toBoxedChar($receiver.charCodeAt(i)))) {
+        i = i + 1 | 0;
+      }
+      return $receiver.substring(startIndex, i);
+    }
+    function skipWhile($receiver, startIndex, predicate) {
+      var i = startIndex;
+      while (i < $receiver.length && predicate(toBoxedChar($receiver.charCodeAt(i)))) {
+        i = i + 1 | 0;
+      }
+      return i;
+    }
     var NANOS_IN_MILLIS;
     var MAX_NANOS;
     var MAX_MILLIS;
@@ -111668,6 +112226,43 @@
         default:throw IllegalStateException_init_0(('Unknown unit: ' + $receiver).toString());
       }
     }
+    function durationUnitByShortName(shortName) {
+      switch (shortName) {
+        case 'ns':
+          return DurationUnit$NANOSECONDS_getInstance();
+        case 'us':
+          return DurationUnit$MICROSECONDS_getInstance();
+        case 'ms':
+          return DurationUnit$MILLISECONDS_getInstance();
+        case 's':
+          return DurationUnit$SECONDS_getInstance();
+        case 'm':
+          return DurationUnit$MINUTES_getInstance();
+        case 'h':
+          return DurationUnit$HOURS_getInstance();
+        case 'd':
+          return DurationUnit$DAYS_getInstance();
+        default:throw IllegalArgumentException_init_0('Unknown duration unit short name: ' + shortName);
+      }
+    }
+    function durationUnitByIsoChar(isoChar, isTimeComponent) {
+      if (!isTimeComponent) {
+        if (isoChar === 68)
+          return DurationUnit$DAYS_getInstance();
+        else
+          throw IllegalArgumentException_init_0('Invalid or unsupported duration ISO non-time unit: ' + String.fromCharCode(isoChar));
+      } else {
+        switch (isoChar) {
+          case 72:
+            return DurationUnit$HOURS_getInstance();
+          case 77:
+            return DurationUnit$MINUTES_getInstance();
+          case 83:
+            return DurationUnit$SECONDS_getInstance();
+          default:throw IllegalArgumentException_init_0('Invalid duration ISO time unit: ' + String.fromCharCode(isoChar));
+        }
+      }
+    }
     function ExperimentalTime() {
     }
     ExperimentalTime.$metadata$ = {kind: Kind_CLASS, simpleName: 'ExperimentalTime', interfaces: [Annotation]};
@@ -111723,7 +112318,7 @@
         throw Error_init('Operation is disallowed.');
       };
     }));
-    var compareTo_0 = defineInlineFunction('kotlin.kotlin.time.compareTo_8lj69b$', wrapFunction(function () {
+    var compareTo_1 = defineInlineFunction('kotlin.kotlin.time.compareTo_8lj69b$', wrapFunction(function () {
       var Error_init = _.kotlin.Error_init_pdl1vj$;
       return function ($receiver, other) {
         throw Error_init('Operation is disallowed.');
@@ -112301,7 +112896,7 @@
       KotlinVersionCurrentValue_instance = this;
     }
     KotlinVersionCurrentValue.prototype.get = function () {
-      return new KotlinVersion(1, 5, 21);
+      return new KotlinVersion(1, 6, 10);
     };
     KotlinVersionCurrentValue.$metadata$ = {kind: Kind_OBJECT, simpleName: 'KotlinVersionCurrentValue', interfaces: []};
     var KotlinVersionCurrentValue_instance = null;
@@ -117794,6 +118389,8 @@
     Object.defineProperty(package$math, 'E', {get: function () {
       return E;
     }});
+    var package$io = package$kotlin.io || (package$kotlin.io = {});
+    package$io.ReadAfterEOFException = ReadAfterEOFException;
     package$kotlin.Annotation = Annotation;
     package$kotlin.CharSequence = CharSequence;
     package$collections.Iterable = Iterable;
@@ -118139,6 +118736,7 @@
     package$collections.toMutableMap_abgq59$ = toMutableMap;
     package$collections.toSingletonMap_3imywq$ = toSingletonMap;
     package$collections.copyToArrayOfAny_e0iprw$ = copyToArrayOfAny;
+    package$collections.brittleContainsOptimizationEnabled_8be2vx$ = brittleContainsOptimizationEnabled;
     package$collections.AbstractMutableCollection = AbstractMutableCollection;
     package$collections.AbstractMutableList = AbstractMutableList;
     AbstractMutableMap.SimpleEntry_init_trwmqg$ = AbstractMutableMap$AbstractMutableMap$SimpleEntry_init;
@@ -118184,7 +118782,6 @@
     package$collections.RandomAccess = RandomAccess;
     var package$contracts = package$kotlin.contracts || (package$kotlin.contracts = {});
     package$contracts.InvocationKind = InvocationKind;
-    var package$io = package$kotlin.io || (package$kotlin.io = {});
     package$io.BaseOutput = BaseOutput;
     package$io.NodeJsOutput = NodeJsOutput;
     package$io.OutputToConsoleLog = OutputToConsoleLog;
@@ -118198,6 +118795,8 @@
     package$io.println = println;
     package$io.println_s8jyv4$ = println_0;
     package$io.print_s8jyv4$ = print;
+    package$io.readln = readln;
+    package$io.readlnOrNull = readlnOrNull;
     package$coroutines.SafeContinuation_init_wj8d80$ = SafeContinuation_init;
     package$coroutines.SafeContinuation = SafeContinuation;
     var package$cancellation = package$coroutines.cancellation || (package$coroutines.cancellation = {});
@@ -118414,8 +119013,6 @@
     package$text.Regex_init_sb3q2$ = Regex_init;
     package$text.Regex_init_61zpoe$ = Regex_init_0;
     package$text.Regex = Regex;
-    package$text.Regex_sb3q2$ = Regex_0;
-    package$text.Regex_61zpoe$ = Regex_1;
     package$text.String_4hbowm$ = String_1;
     package$text.String_8chfmy$ = String_2;
     package$text.concatToString_355ntz$ = concatToString;
@@ -118450,6 +119047,10 @@
     package$kotlin.printStackTrace_dbl4o4$ = printStackTrace;
     package$kotlin.addSuppressed_oh0dqn$ = addSuppressed;
     package$kotlin.get_suppressedExceptions_dbl4o4$ = get_suppressedExceptions;
+    var package$time = package$kotlin.time || (package$kotlin.time = {});
+    Object.defineProperty(package$time, 'durationAssertionsEnabled_8be2vx$', {get: get_durationAssertionsEnabled});
+    package$time.formatToExactDecimals_coldnx$ = formatToExactDecimals;
+    package$time.formatUpToDecimals_coldnx$ = formatUpToDecimals;
     Object.defineProperty(DurationUnit, 'NANOSECONDS', {get: DurationUnit$NANOSECONDS_getInstance});
     Object.defineProperty(DurationUnit, 'MICROSECONDS', {get: DurationUnit$MICROSECONDS_getInstance});
     Object.defineProperty(DurationUnit, 'MILLISECONDS', {get: DurationUnit$MILLISECONDS_getInstance});
@@ -118457,7 +119058,6 @@
     Object.defineProperty(DurationUnit, 'MINUTES', {get: DurationUnit$MINUTES_getInstance});
     Object.defineProperty(DurationUnit, 'HOURS', {get: DurationUnit$HOURS_getInstance});
     Object.defineProperty(DurationUnit, 'DAYS', {get: DurationUnit$DAYS_getInstance});
-    var package$time = package$kotlin.time || (package$kotlin.time = {});
     package$time.DurationUnit = DurationUnit;
     package$time.convertDurationUnit_sgln0f$ = convertDurationUnit;
     package$time.convertDurationUnitOverflow_qayl78$ = convertDurationUnitOverflow;
@@ -118466,9 +119066,6 @@
     package$time.HrTimeSource = HrTimeSource;
     package$time.PerformanceTimeSource = PerformanceTimeSource;
     Object.defineProperty(package$time, 'DateNowTimeSource', {get: DateNowTimeSource_getInstance});
-    package$time.formatToExactDecimals_coldnx$ = formatToExactDecimals;
-    package$time.formatUpToDecimals_coldnx$ = formatUpToDecimals;
-    package$time.formatScientific_tq0o01$ = formatScientific;
     package$dom_1.get_as__xbdrh1$ = get_as_;
     package$dom_1.set_as__lprayv$ = set_as_;
     package$dom_1.get_is__jkvip$ = get_is_;
@@ -118690,6 +119287,10 @@
     package$collections.unzip_v2dak7$ = unzip;
     package$collections.contentDeepEqualsImpl = contentDeepEqualsImpl;
     package$collections.contentDeepToStringImpl = contentDeepToStringImpl;
+    package$collections.convertToSetForSetOperationWith_wo44v8$ = convertToSetForSetOperationWith;
+    package$collections.convertToSetForSetOperation_tw993d$ = convertToSetForSetOperation;
+    package$collections.convertToSetForSetOperation_agw6o5$ = convertToSetForSetOperation_0;
+    package$collections.convertToSetForSetOperation_d6yotq$ = convertToSetForSetOperation_1;
     Object.defineProperty(package$collections, 'EmptyIterator', {get: EmptyIterator_getInstance});
     Object.defineProperty(package$collections, 'EmptyList', {get: EmptyList_getInstance});
     package$collections.asCollection_vj43ah$ = asCollection;
@@ -118720,8 +119321,6 @@
     package$collections.IndexedValue = IndexedValue;
     package$collections.IndexingIterable = IndexingIterable;
     package$collections.collectionSizeOrNull_7wnvza$ = collectionSizeOrNull;
-    package$collections.convertToSetForSetOperationWith_wo44v8$ = convertToSetForSetOperationWith;
-    package$collections.convertToSetForSetOperation_tw993d$ = convertToSetForSetOperation;
     package$collections.flatten_u0ad8z$ = flatten_0;
     package$collections.unzip_6hr0sd$ = unzip_0;
     package$collections.withIndex_35ci02$ = withIndex_15;
@@ -119040,6 +119639,7 @@
     package$text.lastIndexOf_l5u8uk$ = lastIndexOf_16;
     package$text.contains_li3zpu$ = contains_53;
     package$text.contains_sgbm27$ = contains_54;
+    package$text.requireNonNegativeLimit_kcn2v3$ = requireNonNegativeLimit;
     package$text.splitToSequence_ip8yn$ = splitToSequence;
     package$text.split_ip8yn$ = split;
     package$text.splitToSequence_o64adg$ = splitToSequence_0;
@@ -119055,11 +119655,11 @@
     package$text.MatchNamedGroupCollection = MatchNamedGroupCollection;
     MatchResult.Destructured = MatchResult$Destructured;
     package$text.MatchResult = MatchResult;
-    Object.defineProperty(Duration, 'Companion', {get: Duration$Companion_getInstance});
-    package$time.Duration = Duration;
     package$time.toDuration_14orw9$ = toDuration;
     package$time.toDuration_rrkdm6$ = toDuration_0;
     package$time.toDuration_n769wd$ = toDuration_1;
+    Object.defineProperty(Duration, 'Companion', {get: Duration$Companion_getInstance});
+    package$time.Duration = Duration;
     package$time.get_nanoseconds_s8ev3n$ = get_nanoseconds;
     package$time.get_nanoseconds_mts6qi$ = get_nanoseconds_0;
     package$time.get_nanoseconds_yrwdxr$ = get_nanoseconds_1;
@@ -119091,6 +119691,8 @@
       return MAX_MILLIS;
     }});
     package$time.shortName_d5gje$ = shortName;
+    package$time.durationUnitByShortName_y4putb$ = durationUnitByShortName;
+    package$time.durationUnitByIsoChar_4b3kw1$ = durationUnitByIsoChar;
     package$time.ExperimentalTime = ExperimentalTime;
     Object.defineProperty(TimeSource, 'Monotonic', {get: TimeSource$Monotonic_getInstance});
     Object.defineProperty(TimeSource, 'Companion', {get: TimeSource$Companion_getInstance});
@@ -139528,6 +140130,10 @@
                         "hardKeyboardAvailable": {
                           "type": "bool",
                           "id": 10
+                        },
+                        "windowFramesValid": {
+                          "type": "bool",
+                          "id": 11
                         }
                       }
                     },
@@ -139574,7 +140180,10 @@
                         },
                         "defaultMinSizeResizableTask": {
                           "type": "int32",
-                          "id": 8
+                          "id": 8,
+                          "options": {
+                            "deprecated": true
+                          }
                         }
                       },
                       "reserved": [
@@ -140070,6 +140679,15 @@
                           "rule": "repeated",
                           "type": "string",
                           "id": 37
+                        },
+                        "keepClearAreas": {
+                          "rule": "repeated",
+                          "type": ".android.graphics.RectProto",
+                          "id": 38
+                        },
+                        "minSizeOfResizeableTaskDp": {
+                          "type": "int32",
+                          "id": 39
                         }
                       },
                       "reserved": [
@@ -140585,6 +141203,10 @@
                         "providesMaxBounds": {
                           "type": "bool",
                           "id": 34
+                        },
+                        "enableRecentsScreenshot": {
+                          "type": "bool",
+                          "id": 35
                         }
                       },
                       "reserved": [
@@ -140846,7 +141468,10 @@
                         },
                         "finishedSeamlessRotationFrame": {
                           "type": "int64",
-                          "id": 40
+                          "id": 40,
+                          "options": {
+                            "deprecated": true
+                          }
                         },
                         "windowFrames": {
                           "type": "WindowFramesProto",
@@ -140863,6 +141488,16 @@
                         "globalScale": {
                           "type": "float",
                           "id": 44
+                        },
+                        "keepClearAreas": {
+                          "rule": "repeated",
+                          "type": ".android.graphics.RectProto",
+                          "id": 45
+                        },
+                        "unrestrictedKeepClearAreas": {
+                          "rule": "repeated",
+                          "type": ".android.graphics.RectProto",
+                          "id": 46
                         }
                       }
                     },
@@ -144323,6 +144958,24 @@
 
 /***/ }),
 
+/***/ "EEmf":
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("JPst");
+/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);
+// Imports
+
+var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});
+// Module
+___CSS_LOADER_EXPORT___.push([module.i, "\n.config-selection[data-v-62a1321f] {\n  width: 150px;\n  display: inline-flex;\n  margin-left: 5px;\n  margin-right: 5px;\n}\n.device-choice[data-v-62a1321f] {\n  display: inline-flex;\n}\nh3[data-v-62a1321f] {\n  margin-bottom: 0;\n}\n.trace-btn[data-v-62a1321f], .dump-btn[data-v-62a1321f] {\n  margin-top: 0;\n}\npre[data-v-62a1321f] {\n  white-space: pre-wrap;\n}\n", ""]);
+// Exports
+/* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
+
+
+/***/ }),
+
 /***/ "Frpt":
 /***/ (function(module) {
 
@@ -145496,6 +146149,10 @@
                 "requestedCornerRadius": {
                   "type": "float",
                   "id": 56
+                },
+                "destinationFrame": {
+                  "type": "RectProto",
+                  "id": 57
                 }
               }
             },
@@ -146001,7 +146658,7 @@
                 "LayerState": {
                   "fields": {
                     "layerId": {
-                      "type": "int32",
+                      "type": "int64",
                       "id": 1
                     },
                     "what": {
@@ -146053,11 +146710,11 @@
                       "id": 13
                     },
                     "parentId": {
-                      "type": "int32",
+                      "type": "int64",
                       "id": 14
                     },
                     "relativeParentId": {
-                      "type": "int32",
+                      "type": "int64",
                       "id": 15
                     },
                     "alpha": {
@@ -146184,7 +146841,6 @@
                         "eLayerStackChanged": 128,
                         "eReleaseBufferListenerChanged": 1024,
                         "eShadowRadiusChanged": 2048,
-                        "eLayerCreated": 4096,
                         "eBufferCropChanged": 8192,
                         "eRelativeLayerChanged": 16384,
                         "eReparent": 32768,
@@ -146398,7 +147054,7 @@
                           "id": 7
                         },
                         "cropLayerId": {
-                          "type": "int32",
+                          "type": "int64",
                           "id": 8
                         },
                         "replaceTouchableRegionWithCrop": {
@@ -149176,6 +149832,8 @@
 
 var Layer = __webpack_require__("t+B9").com.android.server.wm.traces.common.layers.Layer;
 
+var BaseLayerTraceEntry = __webpack_require__("t+B9").com.android.server.wm.traces.common.layers.BaseLayerTraceEntry;
+
 var LayerTraceEntry = __webpack_require__("t+B9").com.android.server.wm.traces.common.layers.LayerTraceEntry;
 
 var LayerTraceEntryBuilder = __webpack_require__("t+B9").com.android.server.wm.traces.common.layers.LayerTraceEntryBuilder;
@@ -149424,7 +150082,7 @@
 }
 
 
-// EXTERNAL MODULE: /home/natanieljr/android/master/prebuilts/misc/common/winscope/intDefMapping.json
+// EXTERNAL MODULE: /home/natanieljr/android/tm-dev/prebuilts/misc/common/winscope/intDefMapping.json
 var intDefMapping = __webpack_require__("Frpt");
 
 // EXTERNAL MODULE: ./src/config/Configuration.json
@@ -149590,7 +150248,7 @@
             case "TransformProto": return toTransform(obj);
             case 'ColorTransformProto': {
                 var formatted = this.formatColorTransform(obj.val);
-                return "" + formatted;
+                return "".concat(formatted);
             }
         }
         return null;
@@ -149634,7 +150292,7 @@
      */
     ObjectFormatter.translateIntDef = function (parentObj, propertyName, value) {
         var parentClassName = parentObj.constructor.name;
-        var propertyPath = parentClassName + "." + propertyName;
+        var propertyPath = "".concat(parentClassName, ".").concat(propertyName);
         var translatedValue = value;
         // Parse Flicker objects (no intdef annotation supported)
         if (this.FLICKER_INTDEF_MAP.has(propertyPath)) {
@@ -151382,51 +152040,51 @@
 
 // CONCATENATED MODULE: ./src/Timelines.vue?vue&type=template&id=744b3773&scoped=true&
 
-// EXTERNAL MODULE: /home/natanieljr/android/master/frameworks/base/core/proto/android/server/accessibilitytrace.proto
+// EXTERNAL MODULE: /home/natanieljr/android/tm-dev/frameworks/base/core/proto/android/server/accessibilitytrace.proto
 var accessibilitytrace_proto = __webpack_require__("/6vv");
 var accessibilitytrace_proto_default = /*#__PURE__*/__webpack_require__.n(accessibilitytrace_proto);
 
-// EXTERNAL MODULE: /home/natanieljr/android/master/frameworks/base/core/proto/android/server/windowmanagertrace.proto
+// EXTERNAL MODULE: /home/natanieljr/android/tm-dev/frameworks/base/core/proto/android/server/windowmanagertrace.proto
 var windowmanagertrace_proto = __webpack_require__("jneh");
 var windowmanagertrace_proto_default = /*#__PURE__*/__webpack_require__.n(windowmanagertrace_proto);
 
-// EXTERNAL MODULE: /home/natanieljr/android/master/frameworks/base/core/proto/android/internal/protolog.proto
+// EXTERNAL MODULE: /home/natanieljr/android/tm-dev/frameworks/base/core/proto/android/internal/protolog.proto
 var protolog_proto = __webpack_require__("w0eh");
 var protolog_proto_default = /*#__PURE__*/__webpack_require__.n(protolog_proto);
 
-// EXTERNAL MODULE: /home/natanieljr/android/master/frameworks/native/services/surfaceflinger/layerproto/layerstrace.proto
+// EXTERNAL MODULE: /home/natanieljr/android/tm-dev/frameworks/native/services/surfaceflinger/layerproto/layerstrace.proto
 var layerstrace_proto = __webpack_require__("Me3s");
 var layerstrace_proto_default = /*#__PURE__*/__webpack_require__.n(layerstrace_proto);
 
-// EXTERNAL MODULE: /home/natanieljr/android/master/frameworks/native/services/surfaceflinger/layerproto/transactions.proto
+// EXTERNAL MODULE: /home/natanieljr/android/tm-dev/frameworks/native/services/surfaceflinger/layerproto/transactions.proto
 var transactions_proto = __webpack_require__("NNFc");
 var transactions_proto_default = /*#__PURE__*/__webpack_require__.n(transactions_proto);
 
-// EXTERNAL MODULE: /home/natanieljr/android/master/frameworks/native/cmds/surfacereplayer/proto/src/trace.proto
+// EXTERNAL MODULE: /home/natanieljr/android/tm-dev/frameworks/native/cmds/surfacereplayer/proto/src/trace.proto
 var trace_proto = __webpack_require__("DwW8");
 var trace_proto_default = /*#__PURE__*/__webpack_require__.n(trace_proto);
 
-// EXTERNAL MODULE: /home/natanieljr/android/master/vendor/google_arc/libs/wayland_service/waylandtrace.proto
+// EXTERNAL MODULE: /home/natanieljr/android/tm-dev/vendor/google_arc/libs/wayland_service/waylandtrace.proto
 var waylandtrace_proto = __webpack_require__("IzfZ");
 var waylandtrace_proto_default = /*#__PURE__*/__webpack_require__.n(waylandtrace_proto);
 
-// EXTERNAL MODULE: /home/natanieljr/android/master/frameworks/base/packages/SystemUI/src/com/android/systemui/tracing/sysui_trace.proto
+// EXTERNAL MODULE: /home/natanieljr/android/tm-dev/frameworks/base/packages/SystemUI/src/com/android/systemui/tracing/sysui_trace.proto
 var sysui_trace_proto = __webpack_require__("Aqrh");
 var sysui_trace_proto_default = /*#__PURE__*/__webpack_require__.n(sysui_trace_proto);
 
-// EXTERNAL MODULE: /home/natanieljr/android/master/packages/apps/Launcher3/protos/launcher_trace_file.proto
+// EXTERNAL MODULE: /home/natanieljr/android/tm-dev/packages/apps/Launcher3/protos/launcher_trace_file.proto
 var launcher_trace_file_proto = __webpack_require__("DqTH");
 var launcher_trace_file_proto_default = /*#__PURE__*/__webpack_require__.n(launcher_trace_file_proto);
 
-// EXTERNAL MODULE: /home/natanieljr/android/master/frameworks/base/core/proto/android/view/inputmethod/inputmethodeditortrace.proto
+// EXTERNAL MODULE: /home/natanieljr/android/tm-dev/frameworks/base/core/proto/android/view/inputmethod/inputmethodeditortrace.proto
 var inputmethodeditortrace_proto = __webpack_require__("UnI0");
 var inputmethodeditortrace_proto_default = /*#__PURE__*/__webpack_require__.n(inputmethodeditortrace_proto);
 
-// EXTERNAL MODULE: /home/natanieljr/android/master/platform_testing/libraries/flicker/src/com/android/server/wm/proto/tags.proto
+// EXTERNAL MODULE: /home/natanieljr/android/tm-dev/platform_testing/libraries/flicker/src/com/android/server/wm/proto/tags.proto
 var tags_proto = __webpack_require__("/4ov");
 var tags_proto_default = /*#__PURE__*/__webpack_require__.n(tags_proto);
 
-// EXTERNAL MODULE: /home/natanieljr/android/master/platform_testing/libraries/flicker/src/com/android/server/wm/proto/errors.proto
+// EXTERNAL MODULE: /home/natanieljr/android/tm-dev/platform_testing/libraries/flicker/src/com/android/server/wm/proto/errors.proto
 var errors_proto = __webpack_require__("dgSw");
 var errors_proto_default = /*#__PURE__*/__webpack_require__.n(errors_proto);
 
@@ -151779,7 +152437,7 @@
 }
 
 
-// EXTERNAL MODULE: /home/natanieljr/android/master/frameworks/base/data/etc/services.core.protolog.json
+// EXTERNAL MODULE: /home/natanieljr/android/tm-dev/frameworks/base/data/etc/services.core.protolog.json
 var services_core_protolog = __webpack_require__("e/Vj");
 
 // EXTERNAL MODULE: ./node_modules/jszip/dist/jszip.min.js
@@ -152569,7 +153227,7 @@
         return name;
     }
     var className = classParts.slice(-1)[0]; // last element
-    return classParts[0] + "." + classParts[1] + ".(...)." + className;
+    return "".concat(classParts[0], ".").concat(classParts[1], ".(...).").concat(className);
 }
 
 // CONCATENATED MODULE: ./src/flickerlib/treeview/Chip.ts
@@ -152717,7 +153375,7 @@
     if (isFlagClear(type, SCALE_VAL | ROTATE_VAL)) {
         return new Matrix33(1, 0, x, 0, 1, y);
     }
-    throw new Error("Unknown transform type " + type);
+    throw new Error("Unknown transform type ".concat(type));
 }
 function isFlagSet(type, bits) {
     var type = type || 0;
@@ -152781,7 +153439,7 @@
     return entry;
 };
 function addAttributes(entry, proto) {
-    entry.kind = "" + entry.id;
+    entry.kind = "".concat(entry.id);
     entry.shortName = shortenName(entry.name);
     entry.proto = proto;
     entry.rect = entry.bounds;
@@ -152845,7 +153503,7 @@
     // Instead parse only key properties for debugging
     var entryIds = {};
     protos.forEach(function (it) {
-        return entryIds[it.id] = "\nparent=" + it.parent + "\ntype=" + it.type + "\nname=" + it.name;
+        return entryIds[it.id] = "\nparent=".concat(it.parent, "\ntype=").concat(it.type, "\nname=").concat(it.name);
     });
     entry.proto = entryIds;
     entry.shortName = entry.name;
@@ -152870,6 +153528,112 @@
 }
 /* harmony default export */ var layers_LayerTraceEntry = (LayerTraceEntry);
 
+// CONCATENATED MODULE: ./src/flickerlib/layers/LayerTraceEntryLazy.ts
+/*
+ * Copyright 2021, 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.
+ */
+var LayerTraceEntryLazy_extends = (undefined && undefined.__extends) || (function () {
+    var extendStatics = function (d, b) {
+        extendStatics = Object.setPrototypeOf ||
+            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
+        return extendStatics(d, b);
+    };
+    return function (d, b) {
+        if (typeof b !== "function" && b !== null)
+            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
+        extendStatics(d, b);
+        function __() { this.constructor = d; }
+        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+    };
+})();
+
+
+var LayerTraceEntryLazy_LayerTraceEntryLazy = /** @class */ (function (_super) {
+    LayerTraceEntryLazy_extends(LayerTraceEntryLazy, _super);
+    function LayerTraceEntryLazy(layersProto, displayProtos, timestamp, hwcBlob, where) {
+        if (where === void 0) { where = ''; }
+        var _this = _super.call(this) || this;
+        _this._isInitialized = false;
+        _this._layersProto = layersProto;
+        _this._displayProtos = displayProtos;
+        _this.timestamp = timestamp;
+        _this.timestampMs = timestamp.toString();
+        _this.hwcBlob = hwcBlob;
+        _this.where = where;
+        _this.declareLazyProperties();
+        return _this;
+    }
+    LayerTraceEntryLazy.prototype.initialize = function () {
+        if (this._isInitialized)
+            return;
+        this._isInitialized = true;
+        this._lazyLayerTraceEntry = layers_LayerTraceEntry.fromProto(this._layersProto, this._displayProtos, this.timestamp, this.hwcBlob, this.where);
+        this._layersProto = [];
+        this._displayProtos = [];
+    };
+    LayerTraceEntryLazy.prototype.declareLazyProperties = function () {
+        Object.defineProperty(this, 'kind', { configurable: true, enumerable: true, get: function () {
+                this.initialize();
+                return this._lazyLayerTraceEntry.kind;
+            } });
+        Object.defineProperty(this, 'timestampMs', { configurable: true, enumerable: true, get: function () {
+                this.initialize();
+                return this._lazyLayerTraceEntry.timestampMs;
+            } });
+        Object.defineProperty(this, 'rects', { configurable: true, enumerable: true, get: function () {
+                this.initialize();
+                return this._lazyLayerTraceEntry.rects;
+            } });
+        Object.defineProperty(this, 'proto', { configurable: true, enumerable: true, get: function () {
+                this.initialize();
+                return this._lazyLayerTraceEntry.proto;
+            } });
+        Object.defineProperty(this, 'shortName', { configurable: true, enumerable: true, get: function () {
+                this.initialize();
+                return this._lazyLayerTraceEntry.shortName;
+            } });
+        Object.defineProperty(this, 'isVisible', { configurable: true, enumerable: true, get: function () {
+                this.initialize();
+                return this._lazyLayerTraceEntry.isVisible;
+            } });
+        Object.defineProperty(this, 'flattenedLayers', { configurable: true, enumerable: true, get: function () {
+                this.initialize();
+                return this._lazyLayerTraceEntry.flattenedLayers;
+            } });
+        Object.defineProperty(this, 'stableId', { configurable: true, enumerable: true, get: function () {
+                this.initialize();
+                return this._lazyLayerTraceEntry.stableId;
+            } });
+        Object.defineProperty(this, 'visibleLayers', { configurable: true, enumerable: true, get: function () {
+                this.initialize();
+                return this._lazyLayerTraceEntry.visibleLayers;
+            } });
+        Object.defineProperty(this, 'children', { configurable: true, enumerable: true, get: function () {
+                this.initialize();
+                return this._lazyLayerTraceEntry.children;
+            } });
+        Object.defineProperty(this, 'displays', { configurable: true, enumerable: true, get: function () {
+                this.initialize();
+                return this._lazyLayerTraceEntry.displays;
+            } });
+    };
+    return LayerTraceEntryLazy;
+}(BaseLayerTraceEntry));
+/* harmony default export */ var layers_LayerTraceEntryLazy = (LayerTraceEntryLazy_LayerTraceEntryLazy);
+
 // CONCATENATED MODULE: ./src/flickerlib/LayersTrace.ts
 /*
  * Copyright 2020, The Android Open Source Project
@@ -152892,7 +153656,7 @@
     var entries = [];
     for (var _i = 0, _a = proto.entry; _i < _a.length; _i++) {
         var entryProto = _a[_i];
-        var transformedEntry = layers_LayerTraceEntry.fromProto(
+        var transformedEntry = new layers_LayerTraceEntryLazy(
         /* protos */ entryProto.layers.layers, 
         /* displays */ entryProto.displays, 
         /* timestamp */ entryProto.elapsedRealtimeNanos, 
@@ -153382,7 +154146,7 @@
     var keyguardControllerState = createKeyguardControllerState(proto.rootWindowContainer.keyguardController);
     var policy = createWindowManagerPolicy(proto.policy);
     var entry = new WindowManagerState(where, policy, proto.focusedApp, proto.focusedDisplayId, (_b = (_a = proto.focusedWindow) === null || _a === void 0 ? void 0 : _a.title) !== null && _b !== void 0 ? _b : "", inputMethodWIndowAppToken, proto.rootWindowContainer.isHomeRecentsComponent, proto.displayFrozen, proto.rootWindowContainer.pendingActivities.map(function (it) { return it.title; }), rootWindowContainer, keyguardControllerState, 
-    /*timestamp */ "" + timestamp);
+    /*timestamp */ "".concat(timestamp));
     WindowManagerState_addAttributes(entry, proto);
     return entry;
 };
@@ -153410,7 +154174,7 @@
     /* childrenProto */ (_c = (_b = (_a = proto.windowContainer) === null || _a === void 0 ? void 0 : _a.children) === null || _b === void 0 ? void 0 : _b.reverse()) !== null && _c !== void 0 ? _c : [], 
     /* isActivityInTree */ false);
     if (windowContainer == null) {
-        throw new Error("Window container should not be null.\n" + JSON.stringify(proto));
+        throw new Error("Window container should not be null.\n".concat(JSON.stringify(proto)));
     }
     var entry = new RootWindowContainer(windowContainer);
     return entry;
@@ -153517,7 +154281,7 @@
 
 TagState.fromProto = function (timestamp, protos) {
     var tags = protos.map(function (it) { return tags_Tag.fromProto(it); });
-    var state = new TagState("" + timestamp, tags);
+    var state = new TagState("".concat(timestamp), tags);
     return state;
 };
 /* harmony default export */ var tags_TagState = (TagState);
@@ -153595,7 +154359,7 @@
 
 ErrorState.fromProto = function (protos, timestamp) {
     var errors = protos.map(function (it) { return errors_Error.fromProto(it); });
-    var state = new ErrorState(errors, "" + timestamp);
+    var state = new ErrorState(errors, "".concat(timestamp));
     return state;
 };
 /* harmony default export */ var errors_ErrorState = (ErrorState);
@@ -153696,10 +154460,10 @@
     SurfaceFlinger_extends(SurfaceFlinger, _super);
     function SurfaceFlinger(files) {
         var _this = this;
-        var sfTraceFile = files[FILE_TYPES.SURFACE_FLINGER_TRACE];
+        var sfTraceFile = Object.freeze(files[FILE_TYPES.SURFACE_FLINGER_TRACE]);
         var tagGenerationTrace = files[FILE_TYPES.SURFACE_FLINGER_TRACE].tagGenerationTrace;
         _this = _super.call(this, sfTraceFile.data, sfTraceFile.timeline, files) || this;
-        _this.tagGenerationTrace = tagGenerationTrace;
+        _this.tagGenerationTrace = Object.freeze(tagGenerationTrace);
         _this.sfTraceFile = sfTraceFile;
         return _this;
     }
@@ -160171,12 +160935,12 @@
 )
 
 /* harmony default export */ var WindowManagerTraceView = (WindowManagerTraceView_component.exports);
-// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/SurfaceFlingerTraceView.vue?vue&type=template&id=e212dee8&
-var SurfaceFlingerTraceViewvue_type_template_id_e212dee8_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('TraceView',{attrs:{"store":_vm.store,"file":_vm.file,"summarizer":_vm.summarizer,"presentTags":_vm.presentTags,"presentErrors":_vm.presentErrors}})}
-var SurfaceFlingerTraceViewvue_type_template_id_e212dee8_staticRenderFns = []
+// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/SurfaceFlingerTraceView.vue?vue&type=template&id=cda590c4&
+var SurfaceFlingerTraceViewvue_type_template_id_cda590c4_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('TraceView',{attrs:{"store":_vm.store,"file":_vm.file,"summarizer":_vm.summarizer,"presentTags":_vm.presentTags,"presentErrors":_vm.presentErrors}})}
+var SurfaceFlingerTraceViewvue_type_template_id_cda590c4_staticRenderFns = []
 
 
-// CONCATENATED MODULE: ./src/SurfaceFlingerTraceView.vue?vue&type=template&id=e212dee8&
+// CONCATENATED MODULE: ./src/SurfaceFlingerTraceView.vue?vue&type=template&id=cda590c4&
 
 // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/SurfaceFlingerTraceView.vue?vue&type=script&lang=js&
 //
@@ -160218,9 +160982,17 @@
       var summary = [];
 
       if (layer !== null && layer !== void 0 && layer.visibilityReason) {
+        var reason = "";
+
+        if (Array.isArray(layer.visibilityReason)) {
+          reason = layer.visibilityReason.join(", ");
+        } else {
+          reason = layer.visibilityReason;
+        }
+
         summary.push({
           key: 'Invisible due to',
-          value: layer.visibilityReason
+          value: reason
         });
       }
 
@@ -160267,8 +161039,8 @@
 
 var SurfaceFlingerTraceView_component = Object(componentNormalizer["a" /* default */])(
   src_SurfaceFlingerTraceViewvue_type_script_lang_js_,
-  SurfaceFlingerTraceViewvue_type_template_id_e212dee8_render,
-  SurfaceFlingerTraceViewvue_type_template_id_e212dee8_staticRenderFns,
+  SurfaceFlingerTraceViewvue_type_template_id_cda590c4_render,
+  SurfaceFlingerTraceViewvue_type_template_id_cda590c4_staticRenderFns,
   false,
   null,
   null,
@@ -162647,15 +163419,15 @@
 )
 
 /* harmony default export */ var DataView = (DataView_component.exports);
-// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/DataInput.vue?vue&type=template&id=70ac4afc&
-var DataInputvue_type_template_id_70ac4afc_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{on:{"dragleave":_vm.fileDragOut,"dragover":_vm.fileDragIn,"drop":_vm.handleFileDrop}},[_c('flat-card',{staticStyle:{"min-width":"50em"}},[_c('md-card-header',[_c('div',{staticClass:"md-title"},[_vm._v("Open files")])]),_vm._v(" "),_c('md-card-content',[_c('div',{ref:"dropbox",staticClass:"dropbox",on:{"click":function($event){return _vm.$refs.fileUpload.click()}}},[_c('md-list',{directives:[{name:"show",rawName:"v-show",value:(Object.keys(_vm.dataFiles).length > 0),expression:"Object.keys(dataFiles).length > 0"}],staticClass:"uploaded-files"},_vm._l((_vm.dataFiles),function(file){return _c('md-list-item',{key:file.filename},[_c('md-icon',[_vm._v(_vm._s(_vm.FILE_ICONS[file.type]))]),_vm._v(" "),_c('span',{staticClass:"md-list-item-text"},[_vm._v(_vm._s(file.filename)+" ("+_vm._s(file.type)+")\n            ")]),_vm._v(" "),_c('md-button',{staticClass:"md-icon-button md-accent",on:{"click":function (e) {
+// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/DataInput.vue?vue&type=template&id=18ad371c&
+var DataInputvue_type_template_id_18ad371c_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{on:{"dragleave":_vm.fileDragOut,"dragover":_vm.fileDragIn,"drop":_vm.handleFileDrop}},[_c('flat-card',{staticStyle:{"min-width":"50em"}},[_c('md-card-header',[_c('div',{staticClass:"md-title"},[_vm._v("Open files")])]),_vm._v(" "),_c('md-card-content',[_c('div',{ref:"dropbox",staticClass:"dropbox",on:{"click":function($event){return _vm.$refs.fileUpload.click()}}},[_c('md-list',{directives:[{name:"show",rawName:"v-show",value:(Object.keys(_vm.dataFiles).length > 0),expression:"Object.keys(dataFiles).length > 0"}],staticClass:"uploaded-files"},_vm._l((_vm.dataFiles),function(file){return _c('md-list-item',{key:file.filename},[_c('md-icon',[_vm._v(_vm._s(_vm.FILE_ICONS[file.type]))]),_vm._v(" "),_c('span',{staticClass:"md-list-item-text"},[_vm._v(_vm._s(file.filename)+" ("+_vm._s(file.type)+")\n            ")]),_vm._v(" "),_c('md-button',{staticClass:"md-icon-button md-accent",on:{"click":function (e) {
                 e.stopPropagation()
                 _vm.onRemoveFile(file.type)
               }}},[_c('md-icon',[_vm._v("close")])],1)],1)}),1),_vm._v(" "),_c('div',{directives:[{name:"show",rawName:"v-show",value:(_vm.loadingFiles),expression:"loadingFiles"}],staticClass:"progress-spinner-wrapper"},[_c('md-progress-spinner',{staticClass:"progress-spinner",attrs:{"md-diameter":30,"md-stroke":3,"md-mode":"indeterminate"}})],1),_vm._v(" "),_c('input',{directives:[{name:"show",rawName:"v-show",value:(false),expression:"false"}],ref:"fileUpload",attrs:{"type":"file","id":"dropzone","multiple":""},on:{"change":_vm.onLoadFile,"drop":_vm.handleFileDrop}}),_vm._v(" "),(!_vm.dataReady && !_vm.loadingFiles)?_c('p',[_vm._v("\n            Drag your "),_c('b',[_vm._v(".winscope")]),_vm._v(" or "),_c('b',[_vm._v(".zip")]),_vm._v(" file(s) or click here to begin\n          ")]):_vm._e()],1),_vm._v(" "),_c('div',{staticClass:"md-layout"},[_c('div',{staticClass:"md-layout-item md-small-size-100"},[_c('md-field',[_c('md-select',{attrs:{"id":"file-type","placeholder":"File type"},model:{value:(_vm.fileType),callback:function ($$v) {_vm.fileType=$$v},expression:"fileType"}},[_c('md-option',{attrs:{"value":"auto"}},[_vm._v("Detect type")]),_vm._v(" "),_c('md-option',{attrs:{"value":"bugreport"}},[_vm._v("Bug Report (.zip)")]),_vm._v(" "),_vm._l((_vm.FILE_DECODERS),function(v,k){return _c('md-option',{key:v.name,attrs:{"value":k}},[_vm._v(_vm._s(v.name)+"\n            >")])})],2)],1)],1)]),_vm._v(" "),_c('div',{staticClass:"md-layout"},[_c('md-button',{staticClass:"md-primary md-theme-default",on:{"click":function($event){return _vm.$refs.fileUpload.click()}}},[_vm._v("\n          Add File\n        ")]),_vm._v(" "),(_vm.dataReady)?_c('md-button',{staticClass:"md-button md-primary md-raised md-theme-default",on:{"click":_vm.onSubmit}},[_vm._v("\n          Submit\n        ")]):_vm._e()],1)]),_vm._v(" "),_c('md-snackbar',{attrs:{"md-position":"center","md-duration":Infinity,"md-active":_vm.showFetchingSnackbar,"md-persistent":""},on:{"update:mdActive":function($event){_vm.showFetchingSnackbar=$event},"update:md-active":function($event){_vm.showFetchingSnackbar=$event}}},[_c('span',[_vm._v(_vm._s(_vm.fetchingSnackbarText))])]),_vm._v(" "),_c('md-snackbar',{attrs:{"md-position":"center","md-duration":_vm.snackbarDuration,"md-active":_vm.showSnackbar,"md-persistent":""},on:{"update:mdActive":function($event){_vm.showSnackbar=$event},"update:md-active":function($event){_vm.showSnackbar=$event}}},[_c('p',{staticClass:"snackbar-break-words"},[_vm._v(_vm._s(_vm.snackbarText))]),_vm._v(" "),_c('div',{on:{"click":function($event){return _vm.hideSnackbarMessage()}}},[_c('md-button',{staticClass:"md-icon-button"},[_c('md-icon',{staticStyle:{"color":"white"}},[_vm._v("close")])],1)],1)])],1)],1)}
-var DataInputvue_type_template_id_70ac4afc_staticRenderFns = []
+var DataInputvue_type_template_id_18ad371c_staticRenderFns = []
 
 
-// CONCATENATED MODULE: ./src/DataInput.vue?vue&type=template&id=70ac4afc&
+// CONCATENATED MODULE: ./src/DataInput.vue?vue&type=template&id=18ad371c&
 
 // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/DataInput.vue?vue&type=script&lang=js&
 function DataInputvue_type_script_lang_js_slicedToArray(arr, i) { return DataInputvue_type_script_lang_js_arrayWithHoles(arr) || DataInputvue_type_script_lang_js_iterableToArrayLimit(arr, i) || DataInputvue_type_script_lang_js_unsupportedIterableToArray(arr, i) || DataInputvue_type_script_lang_js_nonIterableRest(); }
@@ -163041,7 +163813,7 @@
       var _this4 = this;
 
       return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
-        var tmpTraceName, error, decodedFiles, _iterator, _step, file, result, decodedFileTypes, overriddenFileTypes, overriddenFiles, _i, _decodedFiles, decodedFile, dataType, _dataType, _files, selectedFile, index;
+        var tmpTraceName, error, decodedFiles, _iterator, _step, file, result, decodedFileTypes, overriddenFileTypes, overriddenFiles, _i, _decodedFiles, decodedFile, dataType, frozenData, _dataType, _files, selectedFile, index;
 
         return regeneratorRuntime.wrap(function _callee3$(_context3) {
           while (1) {
@@ -163154,8 +163926,11 @@
                   }
 
                   decodedFileTypes.add(dataType);
+                  frozenData = Object.freeze(decodedFile.data.data);
+                  delete decodedFile.data.data;
+                  decodedFile.data.data = frozenData;
 
-                  _this4.$set(_this4.dataFiles, dataType, decodedFile.data);
+                  _this4.$set(_this4.dataFiles, dataType, Object.freeze(decodedFile.data));
                 } // TODO(b/169305853): Remove this once we have magic numbers or another
                 // way to detect the file type more reliably.
 
@@ -163168,7 +163943,11 @@
 
                     selectedFile = _this4.getMostLikelyCandidateFile(_dataType, _files);
 
-                    _this4.$set(_this4.dataFiles, _dataType, selectedFile); // Remove selected file from overriden list
+                    if (selectedFile.data) {
+                      selectedFile.data = Object.freeze(selectedFile.data);
+                    }
+
+                    _this4.$set(_this4.dataFiles, _dataType, Object.freeze(selectedFile)); // Remove selected file from overriden list
 
 
                     index = _files.indexOf(selectedFile);
@@ -163467,11 +164246,20 @@
         }, _callee6);
       }))();
     },
+
+    /**
+     * Decode a zip file
+     *
+     * Load all files that can be decoded, even if some failures occur.
+     * For example, a zip file with an mp4 recorded via MediaProjection
+     * doesn't include the winscope metadata (b/140855415), but the trace
+     * files within the zip should be nevertheless readable
+     */
     decodeArchive: function decodeArchive(archive) {
       var _this7 = this;
 
       return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7() {
-        var buffer, zip, content, decodedFiles, filename, file, fileBlob, decodedFile;
+        var buffer, zip, content, decodedFiles, lastError, filename, file, fileBlob, decodedFile;
         return regeneratorRuntime.wrap(function _callee7$(_context7) {
           while (1) {
             switch (_context7.prev = _context7.next) {
@@ -163492,76 +164280,82 @@
 
               case 9:
                 if ((_context7.t1 = _context7.t0()).done) {
-                  _context7.next = 32;
+                  _context7.next = 31;
                   break;
                 }
 
                 filename = _context7.t1.value;
-
-                if (!content.files.hasOwnProperty(filename)) {
-                  _context7.next = 30;
-                  break;
-                }
-
                 file = content.files[filename];
 
                 if (!file.dir) {
-                  _context7.next = 15;
+                  _context7.next = 14;
                   break;
                 }
 
                 return _context7.abrupt("continue", 9);
 
-              case 15:
-                _context7.next = 17;
+              case 14:
+                _context7.next = 16;
                 return file.async('blob');
 
-              case 17:
+              case 16:
                 fileBlob = _context7.sent;
                 // Get only filename and remove rest of path
                 fileBlob.name = filename.split('/').slice(-1).pop();
-                _context7.prev = 19;
-                _context7.next = 22;
+                _context7.prev = 18;
+                _context7.next = 21;
                 return _this7.decodeFile(fileBlob);
 
-              case 22:
+              case 21:
                 decodedFile = _context7.sent;
                 decodedFiles.push(decodedFile);
-                _context7.next = 30;
+                _context7.next = 29;
                 break;
 
-              case 26:
-                _context7.prev = 26;
-                _context7.t2 = _context7["catch"](19);
+              case 25:
+                _context7.prev = 25;
+                _context7.t2 = _context7["catch"](18);
 
-                if (_context7.t2 instanceof UndetectableFileType) {
-                  _context7.next = 30;
-                  break;
+                if (!(_context7.t2 instanceof UndetectableFileType)) {
+                  lastError = _context7.t2;
                 }
 
-                throw _context7.t2;
+                console.error(_context7.t2);
 
-              case 30:
+              case 29:
                 _context7.next = 9;
                 break;
 
-              case 32:
+              case 31:
                 if (!(decodedFiles.length == 0)) {
+                  _context7.next = 37;
+                  break;
+                }
+
+                if (!lastError) {
                   _context7.next = 34;
                   break;
                 }
 
-                throw new Error('No matching files found in archive', archive);
+                throw lastError;
 
               case 34:
+                throw new Error('No matching files found in archive', archive);
+
+              case 37:
+                if (lastError) {
+                  _this7.showSnackbarMessage('Unable to parse all files, check log for more details', 3500);
+                }
+
+              case 38:
                 return _context7.abrupt("return", decodedFiles);
 
-              case 35:
+              case 39:
               case "end":
                 return _context7.stop();
             }
           }
-        }, _callee7, null, [[19, 26]]);
+        }, _callee7, null, [[18, 25]]);
       }))();
     },
     onRemoveFile: function onRemoveFile(typeName) {
@@ -163607,8 +164401,8 @@
 
 var DataInput_component = Object(componentNormalizer["a" /* default */])(
   src_DataInputvue_type_script_lang_js_,
-  DataInputvue_type_template_id_70ac4afc_render,
-  DataInputvue_type_template_id_70ac4afc_staticRenderFns,
+  DataInputvue_type_template_id_18ad371c_render,
+  DataInputvue_type_template_id_18ad371c_staticRenderFns,
   false,
   null,
   null,
@@ -163617,20 +164411,230 @@
 )
 
 /* harmony default export */ var DataInput = (DataInput_component.exports);
-// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/DataAdb.vue?vue&type=template&id=60fe90a6&scoped=true&
-var DataAdbvue_type_template_id_60fe90a6_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('flat-card',{staticStyle:{"min-width":"50em"}},[_c('md-card-header',[_c('div',{staticClass:"md-title"},[_vm._v("ADB Connect")])]),_vm._v(" "),(_vm.status === _vm.STATES.CONNECTING)?_c('md-card-content',[_c('md-progress-spinner',{attrs:{"md-indeterminate":""}})],1):_vm._e(),_vm._v(" "),(_vm.status === _vm.STATES.NO_PROXY)?_c('md-card-content',[_c('md-icon',{staticClass:"md-accent"},[_vm._v("error")]),_vm._v(" "),_c('span',{staticClass:"md-subheading"},[_vm._v("Unable to connect to Winscope ADB proxy")]),_vm._v(" "),_c('div',{staticClass:"md-body-2"},[_c('p',[_vm._v("Launch the Winscope ADB Connect proxy to capture traces directly from your browser.")]),_vm._v(" "),_c('p',[_vm._v("Python 3.5+ and ADB is required.")]),_vm._v(" "),_c('p',[_vm._v("Run:")]),_vm._v(" "),_c('pre',[_vm._v("python3 $ANDROID_BUILD_TOP/development/tools/winscope/adb_proxy/winscope_proxy.py")]),_vm._v(" "),_c('p',[_vm._v("Or get it from the AOSP repository.")])]),_vm._v(" "),_c('div',{staticClass:"md-layout"},[_c('md-button',{staticClass:"md-accent",attrs:{"href":_vm.downloadProxyUrl},on:{"click":function($event){return _vm.buttonClicked("Download from AOSP")}}},[_vm._v("Download from AOSP")]),_vm._v(" "),_c('md-button',{staticClass:"md-accent",on:{"click":_vm.restart}},[_vm._v("Retry")])],1)],1):_vm._e(),_vm._v(" "),(_vm.status === _vm.STATES.INVALID_VERSION)?_c('md-card-content',[_c('md-icon',{staticClass:"md-accent"},[_vm._v("update")]),_vm._v(" "),_c('span',{staticClass:"md-subheading"},[_vm._v("The version of Winscope ADB Connect proxy running on your machine is incopatibile with Winscope.")]),_vm._v(" "),_c('div',{staticClass:"md-body-2"},[_c('p',[_vm._v("Please update the proxy to version "+_vm._s(_vm.WINSCOPE_PROXY_VERSION))]),_vm._v(" "),_c('p',[_vm._v("Run:")]),_vm._v(" "),_c('pre',[_vm._v("python3 $ANDROID_BUILD_TOP/development/tools/winscope/adb_proxy/winscope_proxy.py")]),_vm._v(" "),_c('p',[_vm._v("Or get it from the AOSP repository.")])]),_vm._v(" "),_c('div',{staticClass:"md-layout"},[_c('md-button',{staticClass:"md-accent",attrs:{"href":_vm.downloadProxyUrl}},[_vm._v("Download from AOSP")]),_vm._v(" "),_c('md-button',{staticClass:"md-accent",on:{"click":_vm.restart}},[_vm._v("Retry")])],1)],1):_vm._e(),_vm._v(" "),(_vm.status === _vm.STATES.UNAUTH)?_c('md-card-content',[_c('md-icon',{staticClass:"md-accent"},[_vm._v("lock")]),_vm._v(" "),_c('span',{staticClass:"md-subheading"},[_vm._v("Proxy authorisation required")]),_vm._v(" "),_c('md-field',[_c('label',[_vm._v("Enter Winscope proxy token")]),_vm._v(" "),_c('md-input',{model:{value:(_vm.adbStore.proxyKey),callback:function ($$v) {_vm.$set(_vm.adbStore, "proxyKey", $$v)},expression:"adbStore.proxyKey"}})],1),_vm._v(" "),_c('div',{staticClass:"md-body-2"},[_vm._v("The proxy token is printed to console on proxy launch, copy and paste it above.")]),_vm._v(" "),_c('div',{staticClass:"md-layout"},[_c('md-button',{staticClass:"md-primary",on:{"click":_vm.restart}},[_vm._v("Connect")])],1)],1):_vm._e(),_vm._v(" "),(_vm.status === _vm.STATES.DEVICES)?_c('md-card-content',[_c('div',{staticClass:"md-subheading"},[_vm._v(_vm._s(Object.keys(_vm.devices).length > 0 ? "Connected devices:" : "No devices detected"))]),_vm._v(" "),_c('md-list',_vm._l((_vm.devices),function(device,id){return _c('md-list-item',{key:id,attrs:{"disabled":!device.authorised},on:{"click":function($event){return _vm.selectDevice(id)}}},[_c('md-icon',[_vm._v(_vm._s(device.authorised ? "smartphone" : "screen_lock_portrait"))]),_vm._v(" "),_c('span',{staticClass:"md-list-item-text"},[_vm._v(_vm._s(device.authorised ? device.model : "unauthorised")+" ("+_vm._s(id)+")")])],1)}),1),_vm._v(" "),_c('md-progress-spinner',{attrs:{"md-size":30,"md-indeterminate":""}})],1):_vm._e(),_vm._v(" "),(_vm.status === _vm.STATES.START_TRACE)?_c('md-card-content',[_c('div',{staticClass:"device-choice"},[_c('md-list',[_c('md-list-item',[_c('md-icon',[_vm._v("smartphone")]),_vm._v(" "),_c('span',{staticClass:"md-list-item-text"},[_vm._v(_vm._s(_vm.devices[_vm.selectedDevice].model)+" ("+_vm._s(_vm.selectedDevice)+")")])],1)],1),_vm._v(" "),_c('md-button',{staticClass:"md-primary",on:{"click":_vm.resetLastDevice}},[_vm._v("Change device")])],1),_vm._v(" "),_c('div',{staticClass:"trace-section"},[_c('h3',[_vm._v("Trace targets:")]),_vm._v(" "),_c('div',{staticClass:"selection"},_vm._l((Object.keys(_vm.DYNAMIC_TRACES)),function(traceKey){return _c('md-checkbox',{key:traceKey,staticClass:"md-primary",model:{value:(_vm.adbStore[traceKey]),callback:function ($$v) {_vm.$set(_vm.adbStore, traceKey, $$v)},expression:"adbStore[traceKey]"}},[_vm._v(_vm._s(_vm.DYNAMIC_TRACES[traceKey].name))])}),1),_vm._v(" "),_c('div',{staticClass:"trace-config"},[_c('h4',[_vm._v("Surface Flinger config")]),_vm._v(" "),_c('div',{staticClass:"selection"},[_vm._l((_vm.TRACE_CONFIG['layers_trace']),function(config){return _c('md-checkbox',{key:config,staticClass:"md-primary",model:{value:(_vm.adbStore[config]),callback:function ($$v) {_vm.$set(_vm.adbStore, config, $$v)},expression:"adbStore[config]"}},[_vm._v(_vm._s(config))])}),_vm._v(" "),_c('div',{staticClass:"selection"},_vm._l((Object.keys(_vm.SF_SELECTED_CONFIG)),function(selectConfig){return _c('md-field',{key:selectConfig,staticClass:"config-selection"},[_c('md-select',{attrs:{"placeholder":selectConfig},model:{value:(_vm.SF_SELECTED_CONFIG_VALUES[selectConfig]),callback:function ($$v) {_vm.$set(_vm.SF_SELECTED_CONFIG_VALUES, selectConfig, $$v)},expression:"SF_SELECTED_CONFIG_VALUES[selectConfig]"}},[_c('md-option',{attrs:{"value":""}},[_vm._v(_vm._s(selectConfig))]),_vm._v(" "),_vm._l((_vm.SF_SELECTED_CONFIG[selectConfig]),function(option){return _c('md-option',{key:option,attrs:{"value":option}},[_vm._v(_vm._s(option))])})],2)],1)}),1)],2)]),_vm._v(" "),_c('div',{staticClass:"trace-config"},[_c('h4',[_vm._v("Window Manager config")]),_vm._v(" "),_c('div',{staticClass:"selection"},_vm._l((Object.keys(_vm.WM_SELECTED_CONFIG)),function(selectConfig){return _c('md-field',{key:selectConfig,staticClass:"config-selection"},[_c('md-select',{attrs:{"placeholder":selectConfig},model:{value:(_vm.WM_SELECTED_CONFIG_VALUES[selectConfig]),callback:function ($$v) {_vm.$set(_vm.WM_SELECTED_CONFIG_VALUES, selectConfig, $$v)},expression:"WM_SELECTED_CONFIG_VALUES[selectConfig]"}},[_c('md-option',{attrs:{"value":""}},[_vm._v(_vm._s(selectConfig))]),_vm._v(" "),_vm._l((_vm.WM_SELECTED_CONFIG[selectConfig]),function(option){return _c('md-option',{key:option,attrs:{"value":option}},[_vm._v(_vm._s(option))])})],2)],1)}),1)]),_vm._v(" "),_c('md-button',{staticClass:"md-primary trace-btn",on:{"click":_vm.startTrace}},[_vm._v("Start trace")])],1),_vm._v(" "),_c('div',{staticClass:"dump-section"},[_c('h3',[_vm._v("Dump targets:")]),_vm._v(" "),_c('div',{staticClass:"selection"},_vm._l((Object.keys(_vm.DUMPS)),function(dumpKey){return _c('md-checkbox',{key:dumpKey,staticClass:"md-primary",model:{value:(_vm.adbStore[dumpKey]),callback:function ($$v) {_vm.$set(_vm.adbStore, dumpKey, $$v)},expression:"adbStore[dumpKey]"}},[_vm._v(_vm._s(_vm.DUMPS[dumpKey].name))])}),1),_vm._v(" "),_c('div',{staticClass:"md-layout"},[_c('md-button',{staticClass:"md-primary dump-btn",on:{"click":_vm.dumpState}},[_vm._v("Dump state")])],1)])]):_vm._e(),_vm._v(" "),(_vm.status === _vm.STATES.ERROR)?_c('md-card-content',[_c('md-icon',{staticClass:"md-accent"},[_vm._v("error")]),_vm._v(" "),_c('span',{staticClass:"md-subheading"},[_vm._v("Error:")]),_vm._v(" "),_c('pre',[_vm._v("      "+_vm._s(_vm.errorText)+"\n    ")]),_vm._v(" "),_c('md-button',{staticClass:"md-primary",on:{"click":_vm.restart}},[_vm._v("Retry")])],1):_vm._e(),_vm._v(" "),(_vm.status === _vm.STATES.END_TRACE)?_c('md-card-content',[_c('span',{staticClass:"md-subheading"},[_vm._v("Tracing...")]),_vm._v(" "),_c('md-progress-bar',{attrs:{"md-mode":"indeterminate"}}),_vm._v(" "),_c('div',{staticClass:"md-layout"},[_c('md-button',{staticClass:"md-primary",on:{"click":_vm.endTrace}},[_vm._v("End trace")])],1)],1):_vm._e(),_vm._v(" "),(_vm.status === _vm.STATES.LOAD_DATA)?_c('md-card-content',[_c('span',{staticClass:"md-subheading"},[_vm._v("Loading data...")]),_vm._v(" "),_c('md-progress-bar',{attrs:{"md-mode":"determinate","md-value":_vm.loadProgress}})],1):_vm._e()],1)}
-var DataAdbvue_type_template_id_60fe90a6_scoped_true_staticRenderFns = []
+// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/DataAdb.vue?vue&type=template&id=62a1321f&scoped=true&
+var DataAdbvue_type_template_id_62a1321f_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('flat-card',{staticStyle:{"min-width":"50em"}},[_c('md-card-header',[_c('div',{staticClass:"md-title"},[_vm._v("ADB Connect")])]),_vm._v(" "),(_vm.status === _vm.STATES.CONNECTING)?_c('md-card-content',[_c('md-progress-spinner',{attrs:{"md-indeterminate":""}})],1):_vm._e(),_vm._v(" "),(_vm.status === _vm.STATES.NO_PROXY)?_c('md-card-content',[_c('md-icon',{staticClass:"md-accent"},[_vm._v("error")]),_vm._v(" "),_c('span',{staticClass:"md-subheading"},[_vm._v("Unable to connect to Winscope ADB proxy")]),_vm._v(" "),_c('div',{staticClass:"md-body-2"},[_c('p',[_vm._v("Launch the Winscope ADB Connect proxy to capture traces directly from your browser.")]),_vm._v(" "),_c('p',[_vm._v("Python 3.5+ and ADB is required.")]),_vm._v(" "),_c('p',[_vm._v("Run:")]),_vm._v(" "),_c('pre',[_vm._v("python3 $ANDROID_BUILD_TOP/development/tools/winscope/adb_proxy/winscope_proxy.py")]),_vm._v(" "),_c('p',[_vm._v("Or get it from the AOSP repository.")])]),_vm._v(" "),_c('div',{staticClass:"md-layout"},[_c('md-button',{staticClass:"md-accent",attrs:{"href":_vm.downloadProxyUrl},on:{"click":function($event){return _vm.buttonClicked("Download from AOSP")}}},[_vm._v("Download from AOSP")]),_vm._v(" "),_c('md-button',{staticClass:"md-accent",on:{"click":_vm.restart}},[_vm._v("Retry")])],1)],1):_vm._e(),_vm._v(" "),(_vm.status === _vm.STATES.INVALID_VERSION)?_c('md-card-content',[_c('md-icon',{staticClass:"md-accent"},[_vm._v("update")]),_vm._v(" "),_c('span',{staticClass:"md-subheading"},[_vm._v("The version of Winscope ADB Connect proxy running on your machine is incopatibile with Winscope.")]),_vm._v(" "),_c('div',{staticClass:"md-body-2"},[_c('p',[_vm._v("Please update the proxy to version "+_vm._s(_vm.proxyClient.VERSION))]),_vm._v(" "),_c('p',[_vm._v("Run:")]),_vm._v(" "),_c('pre',[_vm._v("python3 $ANDROID_BUILD_TOP/development/tools/winscope/adb_proxy/winscope_proxy.py")]),_vm._v(" "),_c('p',[_vm._v("Or get it from the AOSP repository.")])]),_vm._v(" "),_c('div',{staticClass:"md-layout"},[_c('md-button',{staticClass:"md-accent",attrs:{"href":_vm.downloadProxyUrl}},[_vm._v("Download from AOSP")]),_vm._v(" "),_c('md-button',{staticClass:"md-accent",on:{"click":_vm.restart}},[_vm._v("Retry")])],1)],1):_vm._e(),_vm._v(" "),(_vm.status === _vm.STATES.UNAUTH)?_c('md-card-content',[_c('md-icon',{staticClass:"md-accent"},[_vm._v("lock")]),_vm._v(" "),_c('span',{staticClass:"md-subheading"},[_vm._v("Proxy authorisation required")]),_vm._v(" "),_c('md-field',[_c('label',[_vm._v("Enter Winscope proxy token")]),_vm._v(" "),_c('md-input',{model:{value:(_vm.proxyClient.store.proxyKey),callback:function ($$v) {_vm.$set(_vm.proxyClient.store, "proxyKey", $$v)},expression:"proxyClient.store.proxyKey"}})],1),_vm._v(" "),_c('div',{staticClass:"md-body-2"},[_vm._v("The proxy token is printed to console on proxy launch, copy and paste it above.")]),_vm._v(" "),_c('div',{staticClass:"md-layout"},[_c('md-button',{staticClass:"md-primary",on:{"click":_vm.restart}},[_vm._v("Connect")])],1)],1):_vm._e(),_vm._v(" "),(_vm.status === _vm.STATES.DEVICES)?_c('md-card-content',[_c('div',{staticClass:"md-subheading"},[_vm._v(_vm._s(Object.keys(_vm.proxyClient.devices).length > 0 ? "Connected devices:" : "No devices detected"))]),_vm._v(" "),_c('md-list',_vm._l((_vm.proxyClient.devices),function(device,id){return _c('md-list-item',{key:id,attrs:{"disabled":!device.authorised},on:{"click":function($event){return _vm.proxyClient.selectDevice(id)}}},[_c('md-icon',[_vm._v(_vm._s(device.authorised ? "smartphone" : "screen_lock_portrait"))]),_vm._v(" "),_c('span',{staticClass:"md-list-item-text"},[_vm._v(_vm._s(device.authorised ? device.model : "unauthorised")+" ("+_vm._s(id)+")")])],1)}),1),_vm._v(" "),_c('md-progress-spinner',{attrs:{"md-size":30,"md-indeterminate":""}})],1):_vm._e(),_vm._v(" "),(_vm.status === _vm.STATES.START_TRACE)?_c('md-card-content',[_c('div',{staticClass:"device-choice"},[_c('md-list',[_c('md-list-item',[_c('md-icon',[_vm._v("smartphone")]),_vm._v(" "),_c('span',{staticClass:"md-list-item-text"},[_vm._v(_vm._s(_vm.proxyClient.devices[_vm.proxyClient.selectedDevice].model)+" ("+_vm._s(_vm.proxyClient.selectedDevice)+")")])],1)],1),_vm._v(" "),_c('md-button',{staticClass:"md-primary",on:{"click":_vm.resetLastDevice}},[_vm._v("Change device")])],1),_vm._v(" "),_c('div',{staticClass:"trace-section"},[_c('h3',[_vm._v("Trace targets:")]),_vm._v(" "),_c('div',{staticClass:"selection"},_vm._l((Object.keys(_vm.DYNAMIC_TRACES)),function(traceKey){return _c('md-checkbox',{key:traceKey,staticClass:"md-primary",model:{value:(_vm.traceStore[traceKey]),callback:function ($$v) {_vm.$set(_vm.traceStore, traceKey, $$v)},expression:"traceStore[traceKey]"}},[_vm._v(_vm._s(_vm.DYNAMIC_TRACES[traceKey].name))])}),1),_vm._v(" "),_c('div',{staticClass:"trace-config"},[_c('h4',[_vm._v("Surface Flinger config")]),_vm._v(" "),_c('div',{staticClass:"selection"},[_vm._l((_vm.TRACE_CONFIG['layers_trace']),function(config){return _c('md-checkbox',{key:config,staticClass:"md-primary",model:{value:(_vm.traceStore[config]),callback:function ($$v) {_vm.$set(_vm.traceStore, config, $$v)},expression:"traceStore[config]"}},[_vm._v(_vm._s(config))])}),_vm._v(" "),_c('div',{staticClass:"selection"},_vm._l((Object.keys(_vm.SF_SELECTED_CONFIG)),function(selectConfig){return _c('md-field',{key:selectConfig,staticClass:"config-selection"},[_c('md-select',{attrs:{"placeholder":selectConfig},model:{value:(_vm.SF_SELECTED_CONFIG_VALUES[selectConfig]),callback:function ($$v) {_vm.$set(_vm.SF_SELECTED_CONFIG_VALUES, selectConfig, $$v)},expression:"SF_SELECTED_CONFIG_VALUES[selectConfig]"}},[_c('md-option',{attrs:{"value":""}},[_vm._v(_vm._s(selectConfig))]),_vm._v(" "),_vm._l((_vm.SF_SELECTED_CONFIG[selectConfig]),function(option){return _c('md-option',{key:option,attrs:{"value":option}},[_vm._v(_vm._s(option))])})],2)],1)}),1)],2)]),_vm._v(" "),_c('div',{staticClass:"trace-config"},[_c('h4',[_vm._v("Window Manager config")]),_vm._v(" "),_c('div',{staticClass:"selection"},_vm._l((Object.keys(_vm.WM_SELECTED_CONFIG)),function(selectConfig){return _c('md-field',{key:selectConfig,staticClass:"config-selection"},[_c('md-select',{attrs:{"placeholder":selectConfig},model:{value:(_vm.WM_SELECTED_CONFIG_VALUES[selectConfig]),callback:function ($$v) {_vm.$set(_vm.WM_SELECTED_CONFIG_VALUES, selectConfig, $$v)},expression:"WM_SELECTED_CONFIG_VALUES[selectConfig]"}},[_c('md-option',{attrs:{"value":""}},[_vm._v(_vm._s(selectConfig))]),_vm._v(" "),_vm._l((_vm.WM_SELECTED_CONFIG[selectConfig]),function(option){return _c('md-option',{key:option,attrs:{"value":option}},[_vm._v(_vm._s(option))])})],2)],1)}),1)]),_vm._v(" "),_c('md-button',{staticClass:"md-primary trace-btn",on:{"click":_vm.startTrace}},[_vm._v("Start trace")])],1),_vm._v(" "),_c('div',{staticClass:"dump-section"},[_c('h3',[_vm._v("Dump targets:")]),_vm._v(" "),_c('div',{staticClass:"selection"},_vm._l((Object.keys(_vm.DUMPS)),function(dumpKey){return _c('md-checkbox',{key:dumpKey,staticClass:"md-primary",model:{value:(_vm.traceStore[dumpKey]),callback:function ($$v) {_vm.$set(_vm.traceStore, dumpKey, $$v)},expression:"traceStore[dumpKey]"}},[_vm._v(_vm._s(_vm.DUMPS[dumpKey].name))])}),1),_vm._v(" "),_c('div',{staticClass:"md-layout"},[_c('md-button',{staticClass:"md-primary dump-btn",on:{"click":_vm.dumpState}},[_vm._v("Dump state")])],1)])]):_vm._e(),_vm._v(" "),(_vm.status === _vm.STATES.ERROR)?_c('md-card-content',[_c('md-icon',{staticClass:"md-accent"},[_vm._v("error")]),_vm._v(" "),_c('span',{staticClass:"md-subheading"},[_vm._v("Error:")]),_vm._v(" "),_c('pre',[_vm._v("      "+_vm._s(_vm.errorText)+"\n    ")]),_vm._v(" "),_c('md-button',{staticClass:"md-primary",on:{"click":_vm.restart}},[_vm._v("Retry")])],1):_vm._e(),_vm._v(" "),(_vm.status === _vm.STATES.END_TRACE)?_c('md-card-content',[_c('span',{staticClass:"md-subheading"},[_vm._v("Tracing...")]),_vm._v(" "),_c('md-progress-bar',{attrs:{"md-mode":"indeterminate"}}),_vm._v(" "),_c('div',{staticClass:"md-layout"},[_c('md-button',{staticClass:"md-primary",on:{"click":_vm.endTrace}},[_vm._v("End trace")])],1)],1):_vm._e(),_vm._v(" "),(_vm.status === _vm.STATES.LOAD_DATA)?_c('md-card-content',[_c('span',{staticClass:"md-subheading"},[_vm._v("Loading data...")]),_vm._v(" "),_c('md-progress-bar',{attrs:{"md-mode":"determinate","md-value":_vm.loadProgress}})],1):_vm._e()],1)}
+var DataAdbvue_type_template_id_62a1321f_scoped_true_staticRenderFns = []
 
 
-// CONCATENATED MODULE: ./src/DataAdb.vue?vue&type=template&id=60fe90a6&scoped=true&
+// CONCATENATED MODULE: ./src/DataAdb.vue?vue&type=template&id=62a1321f&scoped=true&
+
+// CONCATENATED MODULE: ./src/proxyclient/ProxyClient.ts
+/*
+ * Copyright 2022, 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.
+ */
+
+
+var ProxyState;
+(function (ProxyState) {
+    ProxyState[ProxyState["ERROR"] = 0] = "ERROR";
+    ProxyState[ProxyState["CONNECTING"] = 1] = "CONNECTING";
+    ProxyState[ProxyState["NO_PROXY"] = 2] = "NO_PROXY";
+    ProxyState[ProxyState["INVALID_VERSION"] = 3] = "INVALID_VERSION";
+    ProxyState[ProxyState["UNAUTH"] = 4] = "UNAUTH";
+    ProxyState[ProxyState["DEVICES"] = 5] = "DEVICES";
+    ProxyState[ProxyState["START_TRACE"] = 6] = "START_TRACE";
+    ProxyState[ProxyState["END_TRACE"] = 7] = "END_TRACE";
+    ProxyState[ProxyState["LOAD_DATA"] = 8] = "LOAD_DATA";
+})(ProxyState || (ProxyState = {}));
+;
+var ProxyEndpoint;
+(function (ProxyEndpoint) {
+    ProxyEndpoint["DEVICES"] = "/devices/";
+    ProxyEndpoint["START_TRACE"] = "/start/";
+    ProxyEndpoint["END_TRACE"] = "/end/";
+    ProxyEndpoint["CONFIG_TRACE"] = "/configtrace/";
+    ProxyEndpoint["SELECTED_WM_CONFIG_TRACE"] = "/selectedwmconfigtrace/";
+    ProxyEndpoint["SELECTED_SF_CONFIG_TRACE"] = "/selectedsfconfigtrace/";
+    ProxyEndpoint["DUMP"] = "/dump/";
+    ProxyEndpoint["FETCH"] = "/fetch/";
+    ProxyEndpoint["STATUS"] = "/status/";
+    ProxyEndpoint["CHECK_WAYLAND"] = "/checkwayland/";
+})(ProxyEndpoint || (ProxyEndpoint = {}));
+;
+var proxyFileTypeAdapter = {
+    'window_trace': FILE_TYPES.WINDOW_MANAGER_TRACE,
+    'accessibility_trace': FILE_TYPES.ACCESSIBILITY_TRACE,
+    'layers_trace': FILE_TYPES.SURFACE_FLINGER_TRACE,
+    'wl_trace': FILE_TYPES.WAYLAND_TRACE,
+    'layers_dump': FILE_TYPES.SURFACE_FLINGER_DUMP,
+    'window_dump': FILE_TYPES.WINDOW_MANAGER_DUMP,
+    'wl_dump': FILE_TYPES.WAYLAND_DUMP,
+    'screen_recording': FILE_TYPES.SCREEN_RECORDING,
+    'transactions': FILE_TYPES.TRANSACTIONS_TRACE,
+    'transactions_legacy': FILE_TYPES.TRANSACTIONS_TRACE_LEGACY,
+    'proto_log': FILE_TYPES.PROTO_LOG,
+    'system_ui_trace': FILE_TYPES.SYSTEM_UI,
+    'launcher_trace': FILE_TYPES.LAUNCHER,
+    'ime_trace_clients': FILE_TYPES.IME_TRACE_CLIENTS,
+    'ime_trace_service': FILE_TYPES.IME_TRACE_SERVICE,
+    'ime_trace_managerservice': FILE_TYPES.IME_TRACE_MANAGERSERVICE,
+};
+var ProxyClient_ProxyClient = /** @class */ (function () {
+    function ProxyClient() {
+        this.WINSCOPE_PROXY_URL = 'http://localhost:5544';
+        this.VERSION = '0.8';
+        this.store = localstore('adb', {
+            proxyKey: '',
+            lastDevice: ''
+        });
+        this.state = ProxyState.CONNECTING;
+        this.stateChangeListeners = [];
+        this.refresh_worker = null;
+        this.devices = {};
+        this.selectedDevice = "";
+        this.errorText = "";
+    }
+    ProxyClient.prototype.call = function (method, path, view, onSuccess, type, jsonRequest) {
+        if (type === void 0) { type = null; }
+        if (jsonRequest === void 0) { jsonRequest = null; }
+        var request = new XMLHttpRequest();
+        var client = this;
+        request.onreadystatechange = function () {
+            if (this.readyState !== 4) {
+                return;
+            }
+            if (this.status === 0) {
+                client.setState(ProxyState.NO_PROXY);
+            }
+            else if (this.status === 200) {
+                if (this.getResponseHeader('Winscope-Proxy-Version') !== client.VERSION) {
+                    client.setState(ProxyState.INVALID_VERSION);
+                }
+                else if (onSuccess) {
+                    onSuccess(this, view);
+                }
+            }
+            else if (this.status === 403) {
+                client.setState(ProxyState.UNAUTH);
+            }
+            else {
+                if (this.responseType === 'text' || !this.responseType) {
+                    client.errorText = this.responseText;
+                }
+                else if (this.responseType === 'arraybuffer') {
+                    client.errorText = String.fromCharCode.apply(null, new Uint8Array(this.response));
+                }
+                client.setState(ProxyState.ERROR);
+            }
+        };
+        request.responseType = type || "";
+        request.open(method, client.WINSCOPE_PROXY_URL + path);
+        request.setRequestHeader('Winscope-Token', client.store.proxyKey);
+        if (jsonRequest) {
+            var json = JSON.stringify(jsonRequest);
+            request.setRequestHeader('Content-Type', 'application/json;charset=UTF-8');
+            request.send(json);
+        }
+        else {
+            request.send();
+        }
+    };
+    ProxyClient.prototype.setState = function (state, errorText) {
+        if (errorText === void 0) { errorText = ""; }
+        this.state = state;
+        this.errorText = errorText;
+        for (var _i = 0, _a = this.stateChangeListeners; _i < _a.length; _i++) {
+            var listener = _a[_i];
+            listener(state, errorText);
+        }
+    };
+    ProxyClient.prototype.onStateChange = function (fn) {
+        this.removeOnStateChange(fn);
+        this.stateChangeListeners.push(fn);
+    };
+    ProxyClient.prototype.removeOnStateChange = function (removeFn) {
+        this.stateChangeListeners = this.stateChangeListeners.filter(function (fn) { return fn !== removeFn; });
+    };
+    ProxyClient.prototype.getDevices = function () {
+        if (this.state !== ProxyState.DEVICES && this.state !== ProxyState.CONNECTING) {
+            clearInterval(this.refresh_worker);
+            this.refresh_worker = null;
+            return;
+        }
+        var client = this;
+        this.call('GET', ProxyEndpoint.DEVICES, this, function (request, view) {
+            try {
+                client.devices = JSON.parse(request.responseText);
+                if (client.store.lastDevice && client.devices[client.store.lastDevice] &&
+                    client.devices[client.store.lastDevice].authorised) {
+                    client.selectDevice(client.store.lastDevice);
+                }
+                else {
+                    if (client.refresh_worker === null) {
+                        client.refresh_worker = setInterval(client.getDevices, 1000);
+                    }
+                    client.setState(ProxyState.DEVICES);
+                }
+            }
+            catch (err) {
+                console.error(err);
+                client.errorText = request.responseText;
+                client.setState(ProxyState.ERROR);
+            }
+        });
+    };
+    ProxyClient.prototype.selectDevice = function (device_id) {
+        this.selectedDevice = device_id;
+        this.store.lastDevice = device_id;
+        this.setState(ProxyState.START_TRACE);
+    };
+    ProxyClient.prototype.deviceId = function () {
+        return this.selectedDevice;
+    };
+    ProxyClient.prototype.resetLastDevice = function () {
+        this.store.lastDevice = '';
+    };
+    ProxyClient.prototype.loadFile = function (files, idx, traceType, view) {
+        var client = this;
+        this.call('GET', "".concat(ProxyEndpoint.FETCH).concat(proxyClient.deviceId(), "/").concat(files[idx], "/"), view, function (request, view) {
+            try {
+                var enc = new TextDecoder('utf-8');
+                var resp = enc.decode(request.response);
+                var filesByType = JSON.parse(resp);
+                for (var filetype in filesByType) {
+                    if (filesByType.hasOwnProperty(filetype)) {
+                        var files_2 = filesByType[filetype];
+                        var fileDecoder = FILE_DECODERS[proxyFileTypeAdapter[filetype]];
+                        for (var _i = 0, files_1 = files_2; _i < files_1.length; _i++) {
+                            var encodedFileBuffer = files_1[_i];
+                            var buffer = Uint8Array.from(atob(encodedFileBuffer), function (c) { return c.charCodeAt(0); });
+                            var data = fileDecoder.decoder(buffer, fileDecoder.decoderParams, fileDecoder.name, view.store);
+                            view.dataFiles.push(data);
+                            view.loadProgress = 100 * (idx + 1) / files_2.length; // TODO: Update this
+                        }
+                    }
+                }
+                if (idx < files.length - 1) {
+                    client.loadFile(files, idx + 1, traceType, view);
+                }
+                else {
+                    var currentDate = new Date().toISOString();
+                    view.$emit('dataReady', "winscope-".concat(traceType, "-").concat(currentDate), view.dataFiles);
+                }
+            }
+            catch (err) {
+                console.error(err);
+                client.setState(ProxyState.ERROR, err);
+            }
+        }, 'arraybuffer');
+    };
+    return ProxyClient;
+}());
+var proxyClient = new ProxyClient_ProxyClient();
 
 // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/DataAdb.vue?vue&type=script&lang=js&
-function DataAdbvue_type_script_lang_js_createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = DataAdbvue_type_script_lang_js_unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
-
-function DataAdbvue_type_script_lang_js_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return DataAdbvue_type_script_lang_js_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return DataAdbvue_type_script_lang_js_arrayLikeToArray(o, minLen); }
-
-function DataAdbvue_type_script_lang_js_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
-
 //
 //
 //
@@ -163779,32 +164783,7 @@
 //
 
 
-
-var STATES = {
-  ERROR: 0,
-  CONNECTING: 1,
-  NO_PROXY: 2,
-  INVALID_VERSION: 3,
-  UNAUTH: 4,
-  DEVICES: 5,
-  START_TRACE: 6,
-  END_TRACE: 7,
-  LOAD_DATA: 8
-};
-var WINSCOPE_PROXY_VERSION = '0.8';
-var WINSCOPE_PROXY_URL = 'http://localhost:5544';
-var PROXY_ENDPOINTS = {
-  DEVICES: '/devices/',
-  START_TRACE: '/start/',
-  END_TRACE: '/end/',
-  CONFIG_TRACE: '/configtrace/',
-  SELECTED_WM_CONFIG_TRACE: '/selectedwmconfigtrace/',
-  SELECTED_SF_CONFIG_TRACE: '/selectedsfconfigtrace/',
-  DUMP: '/dump/',
-  FETCH: '/fetch/',
-  STATUS: '/status/',
-  CHECK_WAYLAND: '/checkwayland/'
-}; // trace options should be added in a nested category
+ // trace options should be added in a nested category
 
 var TRACES = {
   'default': {
@@ -163861,32 +164840,18 @@
     name: 'Surface Flinger'
   }
 };
-var proxyFileTypeAdapter = {
-  'window_trace': FILE_TYPES.WINDOW_MANAGER_TRACE,
-  'accessibility_trace': FILE_TYPES.ACCESSIBILITY_TRACE,
-  'layers_trace': FILE_TYPES.SURFACE_FLINGER_TRACE,
-  'wl_trace': FILE_TYPES.WAYLAND_TRACE,
-  'layers_dump': FILE_TYPES.SURFACE_FLINGER_DUMP,
-  'window_dump': FILE_TYPES.WINDOW_MANAGER_DUMP,
-  'wl_dump': FILE_TYPES.WAYLAND_DUMP,
-  'screen_recording': FILE_TYPES.SCREEN_RECORDING,
-  'transactions': FILE_TYPES.TRANSACTIONS_TRACE,
-  'transactions_legacy': FILE_TYPES.TRANSACTIONS_TRACE_LEGACY,
-  'proto_log': FILE_TYPES.PROTO_LOG,
-  'system_ui_trace': FILE_TYPES.SYSTEM_UI,
-  'launcher_trace': FILE_TYPES.LAUNCHER,
-  'ime_trace_clients': FILE_TYPES.IME_TRACE_CLIENTS,
-  'ime_trace_service': FILE_TYPES.IME_TRACE_SERVICE,
-  'ime_trace_managerservice': FILE_TYPES.IME_TRACE_MANAGERSERVICE
-};
 var CONFIGS = Object.keys(TRACE_CONFIG).flatMap(function (file) {
   return TRACE_CONFIG[file];
 });
 /* harmony default export */ var DataAdbvue_type_script_lang_js_ = ({
   name: 'dataadb',
   data: function data() {
+    var _this = this;
+
     return {
-      STATES: STATES,
+      proxyClient: proxyClient,
+      ProxyState: ProxyState,
+      STATES: ProxyState,
       TRACES: TRACES,
       DYNAMIC_TRACES: TRACES['default'],
       TRACE_CONFIG: TRACE_CONFIG,
@@ -163895,24 +164860,20 @@
       SF_SELECTED_CONFIG_VALUES: {},
       WM_SELECTED_CONFIG_VALUES: {},
       DUMPS: DUMPS,
-      FILE_DECODERS: FILE_DECODERS,
-      WINSCOPE_PROXY_VERSION: WINSCOPE_PROXY_VERSION,
-      status: STATES.CONNECTING,
+      status: ProxyState.CONNECTING,
       dataFiles: [],
-      devices: {},
-      selectedDevice: '',
-      refresh_worker: null,
       keep_alive_worker: null,
       errorText: '',
       loadProgress: 0,
-      adbStore: localstore('adb', Object.assign({
-        proxyKey: '',
-        lastDevice: ''
-      }, this.getAllTraceKeys(TRACES).concat(Object.keys(DUMPS)).concat(CONFIGS).reduce(function (obj, key) {
+      traceStore: localstore('trace', Object.assign(this.getAllTraceKeys(TRACES).concat(Object.keys(DUMPS)).concat(CONFIGS).reduce(function (obj, key) {
         obj[key] = true;
         return obj;
       }, {}))),
-      downloadProxyUrl: 'https://android.googlesource.com/platform/development/+/master/tools/winscope/adb_proxy/winscope_proxy.py'
+      downloadProxyUrl: 'https://android.googlesource.com/platform/development/+/master/tools/winscope/adb_proxy/winscope_proxy.py',
+      onStateChangeFn: function onStateChangeFn(newState, errorText) {
+        _this.status = newState;
+        _this.errorText = errorText;
+      }
     };
   },
   props: ['store'],
@@ -163920,33 +164881,6 @@
     'flat-card': FlatCard
   },
   methods: {
-    getDevices: function getDevices() {
-      if (this.status !== STATES.DEVICES && this.status !== STATES.CONNECTING) {
-        clearInterval(this.refresh_worker);
-        this.refresh_worker = null;
-        return;
-      }
-
-      this.callProxy('GET', PROXY_ENDPOINTS.DEVICES, this, function (request, view) {
-        try {
-          view.devices = JSON.parse(request.responseText);
-
-          if (view.adbStore.lastDevice && view.devices[view.adbStore.lastDevice] && view.devices[view.adbStore.lastDevice].authorised) {
-            view.selectDevice(view.adbStore.lastDevice);
-          } else {
-            if (view.refresh_worker === null) {
-              view.refresh_worker = setInterval(view.getDevices, 1000);
-            }
-
-            view.status = STATES.DEVICES;
-          }
-        } catch (err) {
-          console.error(err);
-          view.errorText = request.responseText;
-          view.status = STATES.ERROR;
-        }
-      });
-    },
     getAllTraceKeys: function getAllTraceKeys(traces) {
       var keys = [];
 
@@ -163960,15 +164894,14 @@
     },
     setAvailableTraces: function setAvailableTraces() {
       this.DYNAMIC_TRACES = this.TRACES['default'];
-      this.callProxy('GET', PROXY_ENDPOINTS.CHECK_WAYLAND, this, function (request, view) {
+      proxyClient.call('GET', ProxyEndpoint.CHECK_WAYLAND, this, function (request, view) {
         try {
           if (request.responseText == 'true') {
             view.appendOptionalTraces('arc');
           }
         } catch (err) {
           console.error(err);
-          view.errorText = request.responseText;
-          view.status = STATES.ERROR;
+          proxyClient.setState(ProxyState.ERROR, request.responseText);
         }
       });
     },
@@ -163978,13 +164911,13 @@
       }
     },
     keepAliveTrace: function keepAliveTrace() {
-      if (this.status !== STATES.END_TRACE) {
+      if (this.status !== ProxyState.END_TRACE) {
         clearInterval(this.keep_alive_worker);
         this.keep_alive_worker = null;
         return;
       }
 
-      this.callProxy('GET', "".concat(PROXY_ENDPOINTS.STATUS).concat(this.deviceId(), "/"), this, function (request, view) {
+      proxyClient.call('GET', "".concat(ProxyEndpoint.STATUS).concat(proxyClient.deviceId(), "/"), this, function (request, view) {
         if (request.responseText !== 'True') {
           view.endTrace();
         } else if (view.keep_alive_worker === null) {
@@ -163999,18 +164932,17 @@
       var requestedSelectedWmConfig = this.toSelectedWmTraceConfig();
 
       if (requested.length < 1) {
-        this.errorText = 'No targets selected';
-        this.status = STATES.ERROR;
+        proxyClient.setState(ProxyState.ERROR, 'No targets selected');
         this.recordNewEvent("No targets selected");
         return;
       }
 
       this.recordNewEvent("Start Trace");
-      this.callProxy('POST', "".concat(PROXY_ENDPOINTS.CONFIG_TRACE).concat(this.deviceId(), "/"), this, null, null, requestedConfig);
-      this.callProxy('POST', "".concat(PROXY_ENDPOINTS.SELECTED_SF_CONFIG_TRACE).concat(this.deviceId(), "/"), this, null, null, requestedSelectedSfConfig);
-      this.callProxy('POST', "".concat(PROXY_ENDPOINTS.SELECTED_WM_CONFIG_TRACE).concat(this.deviceId(), "/"), this, null, null, requestedSelectedWmConfig);
-      this.status = STATES.END_TRACE;
-      this.callProxy('POST', "".concat(PROXY_ENDPOINTS.START_TRACE).concat(this.deviceId(), "/"), this, function (request, view) {
+      proxyClient.call('POST', "".concat(ProxyEndpoint.CONFIG_TRACE).concat(proxyClient.deviceId(), "/"), this, null, null, requestedConfig);
+      proxyClient.call('POST', "".concat(ProxyEndpoint.SELECTED_SF_CONFIG_TRACE).concat(proxyClient.deviceId(), "/"), this, null, null, requestedSelectedSfConfig);
+      proxyClient.call('POST', "".concat(ProxyEndpoint.SELECTED_WM_CONFIG_TRACE).concat(proxyClient.deviceId(), "/"), this, null, null, requestedSelectedWmConfig);
+      proxyClient.setState(ProxyState.END_TRACE);
+      proxyClient.call('POST', "".concat(ProxyEndpoint.START_TRACE).concat(proxyClient.deviceId(), "/"), this, function (request, view) {
         view.keepAliveTrace();
       }, null, requested);
     },
@@ -164019,86 +164951,39 @@
       var requested = this.toDump();
 
       if (requested.length < 1) {
-        this.errorText = 'No targets selected';
-        this.status = STATES.ERROR;
+        proxyClient.setState(ProxyState.ERROR, 'No targets selected');
         this.recordNewEvent("No targets selected");
         return;
       }
 
-      this.status = STATES.LOAD_DATA;
-      this.callProxy('POST', "".concat(PROXY_ENDPOINTS.DUMP).concat(this.deviceId(), "/"), this, function (request, view) {
-        view.loadFile(requested, 0, "dump");
+      proxyClient.setState(ProxyState.LOAD_DATA);
+      proxyClient.call('POST', "".concat(ProxyEndpoint.DUMP).concat(proxyClient.deviceId(), "/"), this, function (request, view) {
+        proxyClient.loadFile(requested, 0, "dump", view);
       }, null, requested);
     },
     endTrace: function endTrace() {
-      this.status = STATES.LOAD_DATA;
-      this.callProxy('POST', "".concat(PROXY_ENDPOINTS.END_TRACE).concat(this.deviceId(), "/"), this, function (request, view) {
-        view.loadFile(view.toTrace(), 0, "trace");
+      proxyClient.setState(ProxyState.LOAD_DATA);
+      proxyClient.call('POST', "".concat(ProxyEndpoint.END_TRACE).concat(proxyClient.deviceId(), "/"), this, function (request, view) {
+        proxyClient.loadFile(view.toTrace(), 0, "trace", view);
       });
       this.recordNewEvent("Ended Trace");
     },
-    loadFile: function loadFile(files, idx, traceType) {
-      this.callProxy('GET', "".concat(PROXY_ENDPOINTS.FETCH).concat(this.deviceId(), "/").concat(files[idx], "/"), this, function (request, view) {
-        try {
-          var enc = new TextDecoder('utf-8');
-          var resp = enc.decode(request.response);
-          var filesByType = JSON.parse(resp);
-
-          for (var filetype in filesByType) {
-            if (filesByType.hasOwnProperty(filetype)) {
-              var _files = filesByType[filetype];
-              var fileDecoder = FILE_DECODERS[proxyFileTypeAdapter[filetype]];
-
-              var _iterator = DataAdbvue_type_script_lang_js_createForOfIteratorHelper(_files),
-                  _step;
-
-              try {
-                for (_iterator.s(); !(_step = _iterator.n()).done;) {
-                  var encodedFileBuffer = _step.value;
-                  var buffer = Uint8Array.from(atob(encodedFileBuffer), function (c) {
-                    return c.charCodeAt(0);
-                  });
-                  var data = fileDecoder.decoder(buffer, fileDecoder.decoderParams, fileDecoder.name, view.store);
-                  view.dataFiles.push(data);
-                  view.loadProgress = 100 * (idx + 1) / _files.length; // TODO: Update this
-                }
-              } catch (err) {
-                _iterator.e(err);
-              } finally {
-                _iterator.f();
-              }
-            }
-          }
-
-          if (idx < files.length - 1) {
-            view.loadFile(files, idx + 1, traceType);
-          } else {
-            var currentDate = new Date().toISOString();
-            view.$emit('dataReady', "winscope-".concat(traceType, "-").concat(currentDate), view.dataFiles);
-          }
-        } catch (err) {
-          console.error(err);
-          view.errorText = err;
-          view.status = STATES.ERROR;
-        }
-      }, 'arraybuffer');
-    },
     toTrace: function toTrace() {
-      var _this = this;
+      var _this2 = this;
 
       return Object.keys(this.DYNAMIC_TRACES).filter(function (traceKey) {
-        return _this.adbStore[traceKey];
+        return _this2.traceStore[traceKey];
       });
     },
     toTraceConfig: function toTraceConfig() {
-      var _this2 = this;
+      var _this3 = this;
 
       return Object.keys(TRACE_CONFIG).filter(function (file) {
-        return _this2.adbStore[file];
+        return _this3.traceStore[file];
       }).flatMap(function (file) {
         return TRACE_CONFIG[file];
       }).filter(function (config) {
-        return _this2.adbStore[config];
+        return _this3.traceStore[config];
       });
     },
     toSelectedSfTraceConfig: function toSelectedSfTraceConfig() {
@@ -164124,89 +165009,44 @@
       return requestedSelectedConfig;
     },
     toDump: function toDump() {
-      var _this3 = this;
+      var _this4 = this;
 
       return Object.keys(DUMPS).filter(function (dumpKey) {
-        return _this3.adbStore[dumpKey];
+        return _this4.traceStore[dumpKey];
       });
     },
-    selectDevice: function selectDevice(device_id) {
-      this.selectedDevice = device_id;
-      this.adbStore.lastDevice = device_id;
-      this.status = STATES.START_TRACE;
-    },
-    deviceId: function deviceId() {
-      return this.selectedDevice;
-    },
     restart: function restart() {
       this.recordButtonClickedEvent("Connect / Retry");
-      this.status = STATES.CONNECTING;
+      proxyClient.setState(ProxyState.CONNECTING);
     },
     resetLastDevice: function resetLastDevice() {
       this.recordButtonClickedEvent("Change Device");
-      this.adbStore.lastDevice = '';
+      this.proxyClient.resetLastDevice();
       this.restart();
-    },
-    callProxy: function callProxy(method, path, view, onSuccess, type, jsonRequest) {
-      var request = new XMLHttpRequest();
-      var view = this;
-
-      request.onreadystatechange = function () {
-        if (this.readyState !== 4) {
-          return;
-        }
-
-        if (this.status === 0) {
-          view.status = STATES.NO_PROXY;
-        } else if (this.status === 200) {
-          if (this.getResponseHeader('Winscope-Proxy-Version') !== WINSCOPE_PROXY_VERSION) {
-            view.status = STATES.INVALID_VERSION;
-          } else if (onSuccess) {
-            onSuccess(this, view);
-          }
-        } else if (this.status === 403) {
-          view.status = STATES.UNAUTH;
-        } else {
-          if (this.responseType === 'text' || !this.responseType) {
-            view.errorText = this.responseText;
-          } else if (this.responseType === 'arraybuffer') {
-            view.errorText = String.fromCharCode.apply(null, new Uint8Array(this.response));
-          }
-
-          view.status = STATES.ERROR;
-        }
-      };
-
-      request.responseType = type || '';
-      request.open(method, WINSCOPE_PROXY_URL + path);
-      request.setRequestHeader('Winscope-Token', this.adbStore.proxyKey);
-
-      if (jsonRequest) {
-        var json = JSON.stringify(jsonRequest);
-        request.setRequestHeader('Content-Type', 'application/json;charset=UTF-8');
-        request.send(json);
-      } else {
-        request.send();
-      }
     }
   },
   created: function created() {
+    proxyClient.setState(ProxyState.CONNECTING);
+    this.proxyClient.onStateChange(this.onStateChangeFn);
     var urlParams = new URLSearchParams(window.location.search);
 
     if (urlParams.has('token')) {
-      this.adbStore.proxyKey = urlParams.get('token');
+      this.proxyClient.proxyKey = urlParams.get('token');
     }
 
-    this.getDevices();
+    this.proxyClient.getDevices();
+  },
+  beforeDestroy: function beforeDestroy() {
+    this.proxyClient.removeOnStateChange(this.onStateChangeFn);
   },
   watch: {
     status: {
       handler: function handler(st) {
-        if (st == STATES.CONNECTING) {
-          this.getDevices();
+        if (st == ProxyState.CONNECTING) {
+          this.proxyClient.getDevices();
         }
 
-        if (st == STATES.START_TRACE) {
+        if (st == ProxyState.START_TRACE) {
           this.setAvailableTraces();
         }
       }
@@ -164215,8 +165055,8 @@
 });
 // CONCATENATED MODULE: ./src/DataAdb.vue?vue&type=script&lang=js&
  /* harmony default export */ var src_DataAdbvue_type_script_lang_js_ = (DataAdbvue_type_script_lang_js_); 
-// EXTERNAL MODULE: ./src/DataAdb.vue?vue&type=style&index=0&id=60fe90a6&scoped=true&lang=css&
-var DataAdbvue_type_style_index_0_id_60fe90a6_scoped_true_lang_css_ = __webpack_require__("qM6R");
+// EXTERNAL MODULE: ./src/DataAdb.vue?vue&type=style&index=0&id=62a1321f&scoped=true&lang=css&
+var DataAdbvue_type_style_index_0_id_62a1321f_scoped_true_lang_css_ = __webpack_require__("u4Gs");
 
 // CONCATENATED MODULE: ./src/DataAdb.vue
 
@@ -164229,11 +165069,11 @@
 
 var DataAdb_component = Object(componentNormalizer["a" /* default */])(
   src_DataAdbvue_type_script_lang_js_,
-  DataAdbvue_type_template_id_60fe90a6_scoped_true_render,
-  DataAdbvue_type_template_id_60fe90a6_scoped_true_staticRenderFns,
+  DataAdbvue_type_template_id_62a1321f_scoped_true_render,
+  DataAdbvue_type_template_id_62a1321f_scoped_true_staticRenderFns,
   false,
   null,
-  "60fe90a6",
+  "62a1321f",
   null
   
 )
@@ -165248,7 +166088,9 @@
         }
 
         if (Object.keys(traceFiles).length > 0 && typeInfo.constructor) {
-          traces[traceType] = new typeInfo.constructor(traceFiles);
+          var newObj = new typeInfo.constructor(traceFiles);
+          newObj.data = Object.freeze(newObj.data);
+          traces[traceType] = newObj;
         }
       }
 
@@ -165290,7 +166132,10 @@
         }
 
         if (Object.keys(dumpFiles).length > 0 && _typeInfo.constructor) {
-          dumps[dumpType] = new _typeInfo.constructor(dumpFiles);
+          var _newObj = new _typeInfo.constructor(dumpFiles);
+
+          _newObj.data = Object.freeze(_newObj.data);
+          dumps[dumpType] = _newObj;
         }
       }
 
@@ -165686,6 +166531,22 @@
 
 /***/ }),
 
+/***/ "aaYB":
+/***/ (function(module, exports, __webpack_require__) {
+
+// style-loader: Adds some css to the DOM by adding a <style> tag
+
+// load the styles
+var content = __webpack_require__("EEmf");
+if(content.__esModule) content = content.default;
+if(typeof content === 'string') content = [[module.i, content, '']];
+if(content.locals) module.exports = content.locals;
+// add the styles to the DOM
+var add = __webpack_require__("SZ7m").default
+var update = add("59510c98", content, true, {});
+
+/***/ }),
+
 /***/ "c3vz":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -165815,7 +166676,7 @@
 /***/ "e/Vj":
 /***/ (function(module) {
 
-module.exports = JSON.parse("{\"version\":\"1.0.0\",\"messages\":{\"3593205\":{\"message\":\"commitVisibility: %s: visible=%b mVisibleRequested=%b\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/WallpaperWindowToken.java\"},\"9803449\":{\"message\":\"startFreezingDisplayLocked: exitAnim=%d enterAnim=%d called by %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"10608884\":{\"message\":\"  FREEZE %s: CREATE\",\"level\":\"INFO\",\"group\":\"WM_SHOW_SURFACE_ALLOC\",\"at\":\"com/android/server/wm/ScreenRotationAnimation.java\"},\"11060725\":{\"message\":\"Attempted to get system decors flag of a display that does not exist: %d\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"17696244\":{\"message\":\"startAnimation(): mPendingStart=%b mCanceled=%b\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimationController.java\"},\"35398067\":{\"message\":\"goodToGo(): onAnimationStart, transit=%s, apps=%d, wallpapers=%d, nonApps=%d\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"38267433\":{\"message\":\"Attempted to reset replacing window on non-existing app token %s\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"45285419\":{\"message\":\"startingWindow was set but startingSurface==null, couldn't remove\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"51200510\":{\"message\":\"  BLACK %s: DESTROY\",\"level\":\"INFO\",\"group\":\"WM_SHOW_SURFACE_ALLOC\",\"at\":\"com/android/server/wm/BlackFrame.java\"},\"51628177\":{\"message\":\"Attempted to get windowing mode of a display that does not exist: %d\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"51927339\":{\"message\":\"Skipping %s: voice session\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"74885950\":{\"message\":\"Waiting for top state to be released by %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityTaskSupervisor.java\"},\"83950285\":{\"message\":\"removeAnimation(%d)\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimationController.java\"},\"90764070\":{\"message\":\"Could not report token removal to the window token client.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowContextListenerController.java\"},\"95216706\":{\"message\":\"hideIme target: %s \",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_IME\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"95902367\":{\"message\":\"Relayout of %s: focusMayChange=%b\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_FOCUS\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"100936473\":{\"message\":\"Wallpaper animation!\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/AppTransitionController.java\"},\"102618780\":{\"message\":\"resumeTopActivity: Pausing %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"108170907\":{\"message\":\"Add starting %s: startingData=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"114070759\":{\"message\":\"New wallpaper target: %s prevTarget: %s caller=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WALLPAPER\",\"at\":\"com/android/server/wm/WallpaperController.java\"},\"115358443\":{\"message\":\"Focus changing: %s -> %s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_FOCUS_LIGHT\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"140319294\":{\"message\":\"IME target changed within ActivityRecord\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_IME\",\"at\":\"com/android/server/wm/ImeInsetsSourceProvider.java\"},\"146871307\":{\"message\":\"Tried to remove starting window but startingWindow was null: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"150351993\":{\"message\":\"addWindow: %s startingWindow=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"152914409\":{\"message\":\"  BLACK %s: CREATE layer=%d\",\"level\":\"INFO\",\"group\":\"WM_SHOW_SURFACE_ALLOC\",\"at\":\"com/android/server/wm/BlackFrame.java\"},\"155482615\":{\"message\":\"Focus requested for window=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_FOCUS_LIGHT\",\"at\":\"com/android/server/wm/InputMonitor.java\"},\"174572959\":{\"message\":\"DisplayArea info changed name=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/DisplayAreaOrganizerController.java\"},\"182319432\":{\"message\":\"        remove from targets %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"184362060\":{\"message\":\"screenshotTask(%d): mCanceled=%b\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimationController.java\"},\"184610856\":{\"message\":\"Start calculating TransitionInfo based on participants: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"186668272\":{\"message\":\"Now changing app %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/AppTransitionController.java\"},\"189628502\":{\"message\":\"Moving to STOPPING: %s (stop requested)\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"200829729\":{\"message\":\"ScreenRotationAnimation onAnimationEnd\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/ScreenRotationAnimation.java\"},\"202263690\":{\"message\":\"rotationForOrientation(orient=%s (%d), last=%s (%d)); user=%s (%d) %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/DisplayRotation.java\"},\"210750281\":{\"message\":\"applyAnimationUnchecked, control: %s, task: %s, transit: %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/Task.java\"},\"221540118\":{\"message\":\"mUserActivityTimeout set to %d\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_KEEP_SCREEN_ON\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"232317536\":{\"message\":\"Set intercept back pressed on root=%b\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/TaskOrganizerController.java\"},\"240271590\":{\"message\":\"moveFocusableActivityToTop: unfocusable activity=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_FOCUS\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"241961619\":{\"message\":\"Adding %s to %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/WindowToken.java\"},\"246676969\":{\"message\":\"Attempted to add window with non-application token .%s Aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"248210157\":{\"message\":\"Finishing remote animation\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"251812577\":{\"message\":\"Register display organizer=%s uid=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/DisplayAreaOrganizerController.java\"},\"254883724\":{\"message\":\"addWindowToken: Attempted to add binder token: %s for already created window token: %s displayId=%d\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"255339989\":{\"message\":\"setFocusedRootTask: taskId=%d\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_FOCUS\",\"at\":\"com/android/server/wm/ActivityTaskManagerService.java\"},\"255692476\":{\"message\":\"**** GOOD TO GO\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/AppTransitionController.java\"},\"259206414\":{\"message\":\"Creating Transition: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/TransitionController.java\"},\"269576220\":{\"message\":\"Resuming rotation after drag\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/DragState.java\"},\"269976641\":{\"message\":\"goodToGo(): Animation canceled already\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"274773837\":{\"message\":\"applyAnimation: anim=%s nextAppTransition=ANIM_CLIP_REVEAL transit=%s Callers=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS_ANIM\",\"at\":\"com/android/server/wm/AppTransition.java\"},\"288485303\":{\"message\":\"Attempted to set remove mode to a display that does not exist: %d\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"289967521\":{\"message\":\"Check opening app=%s: allDrawn=%b startingDisplayed=%b startingMoved=%b isRelaunching()=%b startingWindow=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/AppTransitionController.java\"},\"292904800\":{\"message\":\"Deferring rotation, animation in progress.\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/DisplayRotation.java\"},\"295861935\":{\"message\":\"startLockTaskMode: %s\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_LOCKTASK\",\"at\":\"com/android/server/wm/ActivityTaskManagerService.java\"},\"302969511\":{\"message\":\"Task info changed taskId=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/TaskOrganizerController.java\"},\"302992539\":{\"message\":\"addAnimation(%s)\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimationController.java\"},\"306524472\":{\"message\":\"Stop failed; moving to STOPPED: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"309039362\":{\"message\":\"SURFACE MATRIX [%f,%f,%f,%f]: %s\",\"level\":\"INFO\",\"group\":\"WM_SHOW_TRANSACTIONS\",\"at\":\"com/android/server/wm/WindowSurfaceController.java\"},\"312030608\":{\"message\":\"New topFocusedDisplayId=%d\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_FOCUS_LIGHT\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"315395835\":{\"message\":\"Trying to add window with invalid user=%d\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"327461496\":{\"message\":\"Complete pause: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"341055768\":{\"message\":\"resumeTopActivity: Skip resume: need to start pausing\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"342460966\":{\"message\":\"DRAG %s: pos=(%d,%d)\",\"level\":\"INFO\",\"group\":\"WM_SHOW_TRANSACTIONS\",\"at\":\"com/android/server/wm/DragState.java\"},\"344795667\":{\"message\":\"*** APP TRANSITION TIMEOUT. displayId=%d isTransitionSet()=%b mOpeningApps.size()=%d mClosingApps.size()=%d mChangingApps.size()=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/AppTransition.java\"},\"350168164\":{\"message\":\"Removing activity %s, reason= %s callers=%s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"352982444\":{\"message\":\" allReady query: used=%b override=%b states=[%s]\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"355720268\":{\"message\":\"stopFreezingDisplayLocked: Unfreezing now\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"371173718\":{\"message\":\"finishSync cancel=%b for %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_SYNC_ENGINE\",\"at\":\"com/android/server/wm/WindowContainer.java\"},\"371641947\":{\"message\":\"Window Manager Crash %s\",\"level\":\"WTF\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"372792199\":{\"message\":\"Non-null activity for system window of rootType=%d\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"374506950\":{\"message\":\"Reporting activity moved to display, activityRecord=%s, displayId=%d, config=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_SWITCH\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"374972436\":{\"message\":\"performEnableScreen: Waiting for anim complete\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_BOOT\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"378825104\":{\"message\":\"Enqueueing pending pause: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"397105698\":{\"message\":\"grantEmbeddedWindowFocus remove request for win=%s dropped since no candidate was found\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_FOCUS\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"397382873\":{\"message\":\"Moving to PAUSED: %s %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"399841913\":{\"message\":\"SURFACE RECOVER DESTROY: %s\",\"level\":\"INFO\",\"group\":\"WM_SHOW_SURFACE_ALLOC\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"416924848\":{\"message\":\"InsetsSource Control %s for target %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_WINDOW_INSETS\",\"at\":\"com/android/server/wm/InsetsSourceProvider.java\"},\"417311568\":{\"message\":\"onResize: Resizing %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RESIZE\",\"at\":\"com/android/server/wm/WindowState.java\"},\"422634333\":{\"message\":\"First draw done in potential wallpaper target %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WALLPAPER\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"424524729\":{\"message\":\"Attempted to add wallpaper window with unknown token %s.  Aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"430260320\":{\"message\":\"        sibling is a top target with mode %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"431715812\":{\"message\":\"Launch on display check: allow launch any on display\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/ActivityTaskSupervisor.java\"},\"435494046\":{\"message\":\"Attempted to add window to a display for which the application does not have access: %d.  Aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"463993897\":{\"message\":\"Aborted waiting for drawn: %s\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_SCREEN_ON\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"466506262\":{\"message\":\"Clear freezing of %s: visible=%b freezing=%b\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"485170982\":{\"message\":\"Not finishing noHistory %s on stop because we're just sleeping\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"487621047\":{\"message\":\"DisplayArea vanished name=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/DisplayAreaOrganizerController.java\"},\"504397469\":{\"message\":\"Unable to update layer mirroring for display %d to new bounds %s and/or orientation %d, since the surface is not available.\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_LAYER_MIRRORING\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"508887531\":{\"message\":\"applyAnimation voice: anim=%s transit=%s isEntrance=%b Callers=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS_ANIM\",\"at\":\"com/android/server/wm/AppTransition.java\"},\"528150092\":{\"message\":\"        keep as target %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"531242746\":{\"message\":\"  THUMBNAIL %s: CREATE\",\"level\":\"INFO\",\"group\":\"WM_SHOW_TRANSACTIONS\",\"at\":\"com/android/server/wm/WindowContainerThumbnail.java\"},\"535103992\":{\"message\":\"Wallpaper may change!  Adjusting\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WALLPAPER\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"539077569\":{\"message\":\"Clear freezing of %s force=%b\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"544101314\":{\"message\":\"performEnableScreen: Waited %dms for all windows to be drawn\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_BOOT\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"550717438\":{\"message\":\"SyncGroup %d: Started for listener: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_SYNC_ENGINE\",\"at\":\"com/android/server/wm/BLASTSyncEngine.java\"},\"556758086\":{\"message\":\"Applying new update lock state '%s' for %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_IMMERSIVE\",\"at\":\"com/android/server/wm/ActivityTaskManagerService.java\"},\"557227556\":{\"message\":\"onAnimationFinished(): Notify animation finished:\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"558823034\":{\"message\":\"SURFACE isOpaque=%b: %s\",\"level\":\"INFO\",\"group\":\"WM_SHOW_TRANSACTIONS\",\"at\":\"com/android/server/wm/WindowSurfaceController.java\"},\"573582981\":{\"message\":\"reparent: moving activity=%s to new task fragment in task=%d at %d\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"579298675\":{\"message\":\"Moving to DESTROYED: %s (removed from history)\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"585096182\":{\"message\":\"SURFACE isColorSpaceAgnostic=%b: %s\",\"level\":\"INFO\",\"group\":\"WM_SHOW_TRANSACTIONS\",\"at\":\"com/android/server/wm/WindowSurfaceController.java\"},\"585839596\":{\"message\":\"call showInsets(ime) on %s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_IME\",\"at\":\"com/android/server/wm/ImeInsetsSourceProvider.java\"},\"594260577\":{\"message\":\"createWallpaperAnimations()\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"594260654\":{\"message\":\"Remove %s: mSurfaceController=%s mAnimatingExit=%b mRemoveOnExit=%b mHasSurface=%b surfaceShowing=%b animating=%b app-animation=%b mWillReplaceWindow=%b mDisplayFrozen=%b callers=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/WindowState.java\"},\"600140673\":{\"message\":\"checkBootAnimationComplete: Waiting for anim complete\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_BOOT\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"608694300\":{\"message\":\"  NEW SURFACE SESSION %s\",\"level\":\"INFO\",\"group\":\"WM_SHOW_TRANSACTIONS\",\"at\":\"com/android/server/wm/Session.java\"},\"620368427\":{\"message\":\"******* TELLING SURFACE FLINGER WE ARE BOOTED!\",\"level\":\"INFO\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"620519522\":{\"message\":\"findFocusedWindow: No focusable windows, display=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_FOCUS_LIGHT\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"625447638\":{\"message\":\"Resize reasons for w=%s:  %s configChanged=%b dragResizingChanged=%b reportOrientationChanged=%b\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_RESIZE\",\"at\":\"com/android/server/wm/WindowState.java\"},\"628276090\":{\"message\":\"Delaying app transition for screen rotation animation to finish\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/AppTransitionController.java\"},\"631792420\":{\"message\":\"Attempted to add window with token that is not a window: %s.  Aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"633654009\":{\"message\":\"SURFACE POS (setPositionInTransaction) @ (%f,%f): %s\",\"level\":\"INFO\",\"group\":\"WM_SHOW_TRANSACTIONS\",\"at\":\"com/android/server/wm/WindowSurfaceController.java\"},\"638429464\":{\"message\":\"\\tRemove container=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"644675193\":{\"message\":\"Real start recents\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimation.java\"},\"646155519\":{\"message\":\"Started intent=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimation.java\"},\"646981048\":{\"message\":\"Invalid displayId for requestScrollCapture: %d\",\"level\":\"ERROR\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"662572728\":{\"message\":\"Attempted to add a toast window with bad token %s.  Aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"665256544\":{\"message\":\"All windows drawn!\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_SCREEN_ON\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"666937535\":{\"message\":\"attachWindowContextToDisplayArea: trying to attach to a non-existing display:%d\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"669361121\":{\"message\":\"Sleep still need to stop %d activities\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"674932310\":{\"message\":\"Setting Intent of %s to target %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/Task.java\"},\"675705156\":{\"message\":\"resumeTopActivity: Top activity resumed %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"685047360\":{\"message\":\"Resizing window %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_RESIZE\",\"at\":\"com/android/server/wm/WindowState.java\"},\"691515534\":{\"message\":\"  Commit wallpaper becoming invisible: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"693423992\":{\"message\":\"setAnimationLocked: setting mFocusMayChange true\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_FOCUS_LIGHT\",\"at\":\"com/android/server/wm/WindowState.java\"},\"704998117\":{\"message\":\"Failed to create surface control for %s\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"708142634\":{\"message\":\"Top resumed state released %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityTaskSupervisor.java\"},\"715749922\":{\"message\":\"Allowlisting %d:%s\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_LOCKTASK\",\"at\":\"com/android/server/wm/ActivityTaskManagerService.java\"},\"726205185\":{\"message\":\"Moving to DESTROYED: %s (destroy skipped)\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"733466617\":{\"message\":\"Wallpaper token %s visible=%b\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_WALLPAPER\",\"at\":\"com/android/server/wm/WallpaperWindowToken.java\"},\"736692676\":{\"message\":\"Config is relaunching %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"743418423\":{\"message\":\"Sending TaskFragment error exception=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/TaskFragmentOrganizerController.java\"},\"744171317\":{\"message\":\"      SKIP: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"745391677\":{\"message\":\"  CREATE SURFACE %s IN SESSION %s: pid=%d format=%d flags=0x%x / %s\",\"level\":\"INFO\",\"group\":\"WM_SHOW_SURFACE_ALLOC\",\"at\":\"com/android/server/wm/WindowStateAnimator.java\"},\"765395228\":{\"message\":\"onAnimationFinished(): controller=%s reorderMode=%d\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimation.java\"},\"781471998\":{\"message\":\"moveWindowTokenToDisplay: Cannot move to the original display for token: %s\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"791468751\":{\"message\":\"Pausing rotation during re-position\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/TaskPositioner.java\"},\"793568608\":{\"message\":\"        SKIP: sibling is visible but not part of transition\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"794570322\":{\"message\":\"Now closing app %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/AppTransitionController.java\"},\"806891543\":{\"message\":\"Setting mOrientationChangeComplete=true because wtoken %s numInteresting=%d numDrawn=%d\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"829434921\":{\"message\":\"Draw state now committed in %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/WindowStateAnimator.java\"},\"835814848\":{\"message\":\"%s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"872933199\":{\"message\":\"Changing focus from %s to %s displayId=%d Callers=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_FOCUS_LIGHT\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"873914452\":{\"message\":\"goodToGo()\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"892244061\":{\"message\":\"Waiting for drawn %s: removed=%b visible=%b mHasSurface=%b drawState=%d\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_SCREEN_ON\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"895158150\":{\"message\":\"allPausedActivitiesComplete: r=%s state=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"898863925\":{\"message\":\"Attempted to add QS dialog window with unknown token %s.  Aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"906215061\":{\"message\":\"Apply window transaction, syncId=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/WindowOrganizerController.java\"},\"913494177\":{\"message\":\"removeAllWindowsIfPossible: removing win=%s\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_WINDOW_MOVEMENT\",\"at\":\"com/android/server/wm/WindowToken.java\"},\"916191774\":{\"message\":\"Orientation change complete in %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/WindowStateAnimator.java\"},\"935418348\":{\"message\":\"resumeTopActivity: Skip resume: some activity pausing.\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"950074526\":{\"message\":\"setLockTaskMode: Can't lock due to auth\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_LOCKTASK\",\"at\":\"com/android/server/wm/LockTaskController.java\"},\"954470154\":{\"message\":\"FORCED DISPLAY SCALING DISABLED\",\"level\":\"INFO\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"956374481\":{\"message\":\"removeLockedTask: task=%s last task, reverting locktask mode. Callers=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_LOCKTASK\",\"at\":\"com/android/server/wm/LockTaskController.java\"},\"959486822\":{\"message\":\"setSyncGroup #%d on %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_SYNC_ENGINE\",\"at\":\"com/android/server/wm/WindowContainer.java\"},\"966569777\":{\"message\":\"SyncGroup %d: onSurfacePlacement checking %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_SYNC_ENGINE\",\"at\":\"com/android/server/wm/BLASTSyncEngine.java\"},\"969323241\":{\"message\":\"Sending new config to %s, config: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"972354148\":{\"message\":\"\\tcontainer=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"979347997\":{\"message\":\"Launch on display check: disallow activity embedding without permission.\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/ActivityTaskSupervisor.java\"},\"987903142\":{\"message\":\"Sleep needs to pause %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"996960396\":{\"message\":\"Starting Transition %d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"1001904964\":{\"message\":\"***** BOOT TIMEOUT: forcing display enabled\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1011462000\":{\"message\":\"Re-launching after pause: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"1022095595\":{\"message\":\"TaskFragment info changed name=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/TaskFragmentOrganizerController.java\"},\"1023413388\":{\"message\":\"Finish waiting for pause of: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1030898920\":{\"message\":\"notifyInsetsControlChanged for %s \",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_WINDOW_INSETS\",\"at\":\"com/android/server/wm/WindowState.java\"},\"1033274509\":{\"message\":\"moveWindowTokenToDisplay: Attempted to move non-existing token: %s\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1040675582\":{\"message\":\"Can't report activity configuration update - client not running, activityRecord=%s\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1046922686\":{\"message\":\"requestScrollCapture: caught exception dispatching callback: %s\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1047505501\":{\"message\":\"notifyInsetsChanged for %s \",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_WINDOW_INSETS\",\"at\":\"com/android/server/wm/WindowState.java\"},\"1047769218\":{\"message\":\"Finishing activity r=%s, result=%d, data=%s, reason=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1049367566\":{\"message\":\"Sending to proc %s new config %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/WindowProcessController.java\"},\"1051545910\":{\"message\":\"Exit animation finished in %s: remove=%b\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/WindowState.java\"},\"1068803972\":{\"message\":\"Activity paused: token=%s, timeout=%b\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1073230342\":{\"message\":\"startAnimation\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/WallpaperAnimationAdapter.java\"},\"1087494661\":{\"message\":\"Clear window stuck on animatingExit status: %s\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/WindowState.java\"},\"1088929964\":{\"message\":\"onLockTaskPackagesUpdated: starting new locktask task=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_LOCKTASK\",\"at\":\"com/android/server/wm/LockTaskController.java\"},\"1089714158\":{\"message\":\"  FREEZE %s: DESTROY\",\"level\":\"INFO\",\"group\":\"WM_SHOW_SURFACE_ALLOC\",\"at\":\"com/android/server/wm/ScreenRotationAnimation.java\"},\"1100065297\":{\"message\":\"Attempted to get IME policy of a display that does not exist: %d\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1105210816\":{\"message\":\"Skipping config check in destroyed state %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1112047265\":{\"message\":\"finishDrawingWindow: %s mDrawState=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1115248873\":{\"message\":\"Calling onTransitionReady: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"1115417974\":{\"message\":\"FORCED DISPLAY SIZE: %dx%d\",\"level\":\"INFO\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1126328412\":{\"message\":\"Scheduling idle now: forceIdle=%b immediate=%b\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1140424002\":{\"message\":\"Finished screen turning on...\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_SCREEN_ON\",\"at\":\"com/android/server/wm/DisplayPolicy.java\"},\"1149424314\":{\"message\":\"Unregister display organizer=%s uid=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/DisplayAreaOrganizerController.java\"},\"1166381079\":{\"message\":\"Execute app transition: %s, displayId: %d Callers=%s\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"1178653181\":{\"message\":\"Old wallpaper still the target.\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WALLPAPER\",\"at\":\"com/android/server/wm/WallpaperController.java\"},\"1186730970\":{\"message\":\"          no common mode yet, so set it\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"1191587912\":{\"message\":\"Moved rootTask=%s behind rootTask=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimation.java\"},\"1192413464\":{\"message\":\"Comparing existing cls=%s /aff=%s to new cls=%s /aff=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"1208313423\":{\"message\":\"addWindowToken: Attempted to add token: %s for non-exiting displayId=%d\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1210037962\":{\"message\":\"Register remote animations for organizer=%s uid=%d pid=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/TaskFragmentOrganizerController.java\"},\"1219600119\":{\"message\":\"addWindow: win=%s Callers=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_FOCUS\",\"at\":\"com/android/server/wm/WindowToken.java\"},\"1224184681\":{\"message\":\"No longer Stopped: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1224307091\":{\"message\":\"checkBootAnimationComplete: Animation complete!\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_BOOT\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1246035185\":{\"message\":\"stopFreezingDisplayLocked: Returning waitingForConfig=%b, waitingForRemoteRotation=%b, mAppsFreezingScreen=%d, mWindowsFreezingScreen=%d, mClientFreezingScreen=%b, mOpeningApps.size()=%d\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1252594551\":{\"message\":\"Window types in WindowContext and LayoutParams.type should match! Type from LayoutParams is %d, but type from WindowContext is %d\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1254403969\":{\"message\":\"Surface returned was null: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1270792394\":{\"message\":\"Resumed after relaunch %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1284122013\":{\"message\":\"TaskFragment appeared name=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/TaskFragmentOrganizerController.java\"},\"1288731814\":{\"message\":\"WindowState.hideLw: setting mFocusMayChange true\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_FOCUS_LIGHT\",\"at\":\"com/android/server/wm/WindowState.java\"},\"1305412562\":{\"message\":\"Report configuration: %s %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityClientController.java\"},\"1316533291\":{\"message\":\"State movement: %s from:%s to:%s reason:%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1325649102\":{\"message\":\"Bad requesting window %s\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1329340614\":{\"message\":\"Orientation not waiting for draw in %s, surfaceController %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/WindowState.java\"},\"1330804250\":{\"message\":\"addChild: %s at top.\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/Task.java\"},\"1331177619\":{\"message\":\"Attempted to add a toast window with unknown token %s.  Aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1337596507\":{\"message\":\"Sending to proc %s new compat %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/CompatModePackages.java\"},\"1346895820\":{\"message\":\"ScreenRotation still animating: type: %d\\nmDisplayAnimator: %s\\nmEnterBlackFrameAnimator: %s\\nmRotateScreenAnimator: %s\\nmScreenshotRotationAnimator: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/ScreenRotationAnimation.java\"},\"1364126018\":{\"message\":\"Resumed activity; dropping state of: %s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1364498663\":{\"message\":\"notifyAppResumed: wasStopped=%b %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1373000889\":{\"message\":\"abortShowImePostLayout\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_IME\",\"at\":\"com/android/server/wm/ImeInsetsSourceProvider.java\"},\"1381227466\":{\"message\":\"App is requesting an orientation, return %d for display id=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/TaskDisplayArea.java\"},\"1396893178\":{\"message\":\"createRootTask unknown displayId=%d\",\"level\":\"ERROR\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/TaskOrganizerController.java\"},\"1401295262\":{\"message\":\"Mode default, asking user\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_LOCKTASK\",\"at\":\"com/android/server/wm/LockTaskController.java\"},\"1401700824\":{\"message\":\"Window drawn win=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_SCREEN_ON\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1407569006\":{\"message\":\"Display %d was already layer mirroring, so apply transformations if necessary\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_LAYER_MIRRORING\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"1422781269\":{\"message\":\"Resuming rotation after re-position\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/TaskPositioner.java\"},\"1423418408\":{\"message\":\"unable to restore pointer icon\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1423592961\":{\"message\":\"<<< CLOSE TRANSACTION removeReplacedWindows\",\"level\":\"INFO\",\"group\":\"WM_SHOW_TRANSACTIONS\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"1430336882\":{\"message\":\"findFocusedWindow: focusedApp windows not focusable using new focus @ %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_FOCUS_LIGHT\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"1434383382\":{\"message\":\"Attempted to get flag of a display that does not exist: %d\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1448683958\":{\"message\":\"Override pending remote transitionSet=%b adapter=%s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/AppTransition.java\"},\"1457990604\":{\"message\":\"applyAnimation: anim=%s nextAppTransition=ANIM_CUSTOM_IN_PLACE transit=%s Callers=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS_ANIM\",\"at\":\"com/android/server/wm/AppTransition.java\"},\"1460759282\":{\"message\":\"getAnimationTarget in=%s, out=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS_ANIM\",\"at\":\"com/android/server/wm/AppTransitionController.java\"},\"1469310004\":{\"message\":\"          SKIP: common mode mismatch. was %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"1494644409\":{\"message\":\"  Rejecting as detached: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"1495525537\":{\"message\":\"createWallpaperAnimations()\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimationController.java\"},\"1497304204\":{\"message\":\"Deferring rotation, rotation is paused.\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/DisplayRotation.java\"},\"1504168072\":{\"message\":\"removeIfPossible: %s callers=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/WindowState.java\"},\"1515161239\":{\"message\":\"removeDeadWindows: %s\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1518495446\":{\"message\":\"removeWindowToken: Attempted to remove non-existing token: %s\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1519757176\":{\"message\":\"setHomeApp(%s)\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimationController.java\"},\"1521476038\":{\"message\":\"Attempted to set flag to a display that does not exist: %d\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1524174282\":{\"message\":\"Launch on display check: no caller info, skip check\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/ActivityTaskSupervisor.java\"},\"1525976603\":{\"message\":\"cancelAnimation(): reason=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimationController.java\"},\"1528528509\":{\"message\":\"No thumbnail header bitmap for: %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1554795024\":{\"message\":\"Previous Activity is %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_BACK_PREVIEW\",\"at\":\"com/android/server/wm/BackNavigationController.java\"},\"1557732761\":{\"message\":\"For Intent %s bringing to top: %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"1563755163\":{\"message\":\"Permission Denial: %s from pid=%d, uid=%d requires %s\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1577579529\":{\"message\":\"win=%s destroySurfaces: appStopped=%b win.mWindowRemovalAllowed=%b win.mRemoveOnExit=%b\",\"level\":\"ERROR\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/WindowState.java\"},\"1584270979\":{\"message\":\"applyAnimation: container=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS_ANIM\",\"at\":\"com/android/server/wm/WindowContainer.java\"},\"1589610525\":{\"message\":\"applyAnimation NEXT_TRANSIT_TYPE_OPEN_CROSS_PROFILE_APPS: anim=%s transit=%s isEntrance=true Callers=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS_ANIM\",\"at\":\"com/android/server/wm/AppTransition.java\"},\"1610646518\":{\"message\":\"Enqueueing pending finish: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1628345525\":{\"message\":\"Now opening app %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/AppTransitionController.java\"},\"1634557978\":{\"message\":\"**** Dismissing screen rotation animation\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1635062046\":{\"message\":\"Skipping config check invisible: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1635462459\":{\"message\":\"onMovedByResize: Moving %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RESIZE\",\"at\":\"com/android/server/wm/WindowState.java\"},\"1640436199\":{\"message\":\"No app is requesting an orientation, return %d for display id=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/TaskDisplayArea.java\"},\"1648338379\":{\"message\":\"Display id=%d is ignoring all orientation requests, return %d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"1653025361\":{\"message\":\"Register task fragment organizer=%s uid=%d pid=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/TaskFragmentOrganizerController.java\"},\"1653210583\":{\"message\":\"Removing app %s delayed=%b animation=%s animating=%b\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1658605381\":{\"message\":\"onImeControlTargetChanged %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_IME\",\"at\":\"com/android/server/wm/InsetsStateController.java\"},\"1670933628\":{\"message\":\" Setting allReady override\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"1671994402\":{\"message\":\"Nulling last startingData\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1674747211\":{\"message\":\"%s forcing orientation to %d for display id=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/DisplayArea.java\"},\"1677260366\":{\"message\":\"Finish starting %s: first real window is shown, no animation\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1679569477\":{\"message\":\"Configuration doesn't matter not running %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1687376052\":{\"message\":\"Display %d has no content and is on, so start layer mirroring for state %d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_LAYER_MIRRORING\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"1689989893\":{\"message\":\"SyncGroup %d: Set ready\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_SYNC_ENGINE\",\"at\":\"com/android/server/wm/BLASTSyncEngine.java\"},\"1699269281\":{\"message\":\"Don't organize or trigger events for untrusted displayId=%d\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/DisplayAreaOrganizerController.java\"},\"1720229827\":{\"message\":\"Creating animation bounds layer\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_APP_TRANSITIONS_ANIM\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1720696061\":{\"message\":\"Adding window to Display that has been removed.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1739298851\":{\"message\":\"removeWindowToken: Attempted to remove token: %s for non-exiting displayId=%d\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1742235936\":{\"message\":\"Removing startingView=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1746778201\":{\"message\":\"Set freezing of %s: visible=%b freezing=%b visibleRequested=%b. %s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1756082882\":{\"message\":\"Orientation change skips hidden %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/WindowStateAnimator.java\"},\"1774661765\":{\"message\":\"Devices still not ready after waiting %d milliseconds before attempting to detect safe mode.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1781673113\":{\"message\":\"onAnimationFinished(): targetRootTask=%s targetActivity=%s mRestoreTargetBehindRootTask=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimation.java\"},\"1789321832\":{\"message\":\"Then token:%s is invalid. It might be removed\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1789603530\":{\"message\":\"Removing activity %s hasSavedState=%b stateNotNeeded=%s finishing=%b state=%s callers=%s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1794249572\":{\"message\":\"Requesting StartTransition: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/TransitionController.java\"},\"1804245629\":{\"message\":\"Attempted to add starting window to token but already cleaned\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1805116444\":{\"message\":\"We don't support remote animation for Task with multiple TaskFragmentOrganizers.\",\"level\":\"ERROR\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/AppTransitionController.java\"},\"1810019902\":{\"message\":\"TRANSIT_FLAG_OPEN_BEHIND,  adding %s to mOpeningApps\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1822314934\":{\"message\":\"Expected target rootTask=%s to restored behind rootTask=%s but it is behind rootTask=%s\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimation.java\"},\"1822843721\":{\"message\":\"Aborted starting %s: startingData=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1824105730\":{\"message\":\"setLockTaskAuth: task=%s mLockTaskAuth=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_LOCKTASK\",\"at\":\"com/android/server/wm/Task.java\"},\"1829094918\":{\"message\":\"onLockTaskPackagesUpdated: removing %s mLockTaskAuth()=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_LOCKTASK\",\"at\":\"com/android/server/wm/LockTaskController.java\"},\"1831008694\":{\"message\":\"Loading animation for app transition. transit=%s enter=%b frame=%s insets=%s surfaceInsets=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/WindowContainer.java\"},\"1836214582\":{\"message\":\"startingData was nulled out before handling mAddStartingWindow: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1836306327\":{\"message\":\"Skipping set freeze of %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1853793312\":{\"message\":\"Notify removed startingWindow %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1856211951\":{\"message\":\"moveFocusableActivityToTop: already on top, activity=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_FOCUS\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1856783490\":{\"message\":\"resumeTopActivity: Restarting %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"1865125884\":{\"message\":\"finishScreenTurningOn: mAwake=%b, mScreenOnEarly=%b, mScreenOnFully=%b, mKeyguardDrawComplete=%b, mWindowManagerDrawComplete=%b\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_SCREEN_ON\",\"at\":\"com/android/server/wm/DisplayPolicy.java\"},\"1866772666\":{\"message\":\"SAFE MODE not enabled\",\"level\":\"INFO\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1874559932\":{\"message\":\"The TaskDisplayArea with %s does not exist.\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/DisplayAreaPolicyBuilder.java\"},\"1884961873\":{\"message\":\"Sleep still need to stop %d activities\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/Task.java\"},\"1891501279\":{\"message\":\"cancelAnimation(): reason=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"1903353011\":{\"message\":\"notifyAppStopped: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1912291550\":{\"message\":\"Sleep still waiting to pause %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"1918448345\":{\"message\":\"Task appeared taskId=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/TaskOrganizerController.java\"},\"1921821199\":{\"message\":\"Preserving %s until the new one is added\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/WindowState.java\"},\"1928325128\":{\"message\":\"Run showImeRunner\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_IME\",\"at\":\"com/android/server/wm/ImeInsetsSourceProvider.java\"},\"1931178855\":{\"message\":\"\\tnonApp=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"1947239194\":{\"message\":\"Deferring rotation, still finishing previous rotation\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/DisplayRotation.java\"},\"1947936538\":{\"message\":\"Found matching class!\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"1948483534\":{\"message\":\"Could not report config changes to the window token client.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowContextListenerController.java\"},\"1964565370\":{\"message\":\"Starting remote animation\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"1967975839\":{\"message\":\"Changing app %s visible=%b performLayout=%b\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/AppTransitionController.java\"},\"1984782949\":{\"message\":\">>> OPEN TRANSACTION animate\",\"level\":\"INFO\",\"group\":\"WM_SHOW_TRANSACTIONS\",\"at\":\"com/android/server/wm/WindowAnimator.java\"},\"1984843251\":{\"message\":\"Hiding wallpaper %s from %s target=%s prev=%s callers=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_WALLPAPER\",\"at\":\"com/android/server/wm/WallpaperController.java\"},\"1995093920\":{\"message\":\"Checking to restart %s: changed=0x%s, handles=0x%s, mLastReportedConfiguration=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1999594750\":{\"message\":\"startAnimation\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/NonAppWindowAnimationAdapter.java\"},\"2018454757\":{\"message\":\"WS.removeImmediately: %s Already removed...\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/WindowState.java\"},\"2018852077\":{\"message\":\"Creating SplashScreenStartingData\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"2022422429\":{\"message\":\"createAnimationAdapter(): container=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"2024493888\":{\"message\":\"\\tWallpaper of display=%s is not visible\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/WallpaperAnimationAdapter.java\"},\"2028163120\":{\"message\":\"applyAnimation: anim=%s nextAppTransition=ANIM_SCALE_UP transit=%s isEntrance=%s Callers=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS_ANIM\",\"at\":\"com/android/server/wm/AppTransition.java\"},\"2034780299\":{\"message\":\"CHECK_IF_BOOT_ANIMATION_FINISHED:\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_BOOT\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"2039056415\":{\"message\":\"Found matching affinity candidate!\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"2045641491\":{\"message\":\"Checking %d opening apps (frozen=%b timeout=%b)...\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/AppTransitionController.java\"},\"2060978050\":{\"message\":\"moveWindowTokenToDisplay: Attempted to move token: %s to non-exiting displayId=%d\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"2070726247\":{\"message\":\"InsetsSource updateVisibility for %s, serverVisible: %s clientVisible: %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_WINDOW_INSETS\",\"at\":\"com/android/server/wm/InsetsSourceProvider.java\"},\"2083556954\":{\"message\":\"Set mOrientationChanging of %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"2086878461\":{\"message\":\"Could not send command %s with parameters %s. %s\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"2088592090\":{\"message\":\"handleNotObscuredLocked: %s was holding screen wakelock but no longer has FLAG_KEEP_SCREEN_ON!!! called by%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_KEEP_SCREEN_ON\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"2096635066\":{\"message\":\"Acquiring screen wakelock due to %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_KEEP_SCREEN_ON\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"2114149926\":{\"message\":\"Not removing %s because app died while it's visible\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/WindowState.java\"},\"2117696413\":{\"message\":\"moveTaskToFront: moving taskId=%d\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/ActivityTaskManagerService.java\"},\"2119122320\":{\"message\":\"setInputMethodTarget %s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_IME\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"2128917433\":{\"message\":\"onProposedRotationChanged, rotation=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/DisplayRotation.java\"},\"2137411379\":{\"message\":\"applyAnimation: anim=%s animAttr=0x%x transit=%s isEntrance=%b Callers=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS_ANIM\",\"at\":\"com/android/server/wm/AppTransition.java\"},\"-2146181682\":{\"message\":\"Releasing screen wakelock, obscured by %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_KEEP_SCREEN_ON\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-2127842445\":{\"message\":\"Clearing startingData for token=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-2121056984\":{\"message\":\"%s\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_LOCKTASK\",\"at\":\"com/android/server/wm/LockTaskController.java\"},\"-2109936758\":{\"message\":\"removeAppToken make exiting: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-2109864870\":{\"message\":\"app-release(): mOuter=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"-2107721178\":{\"message\":\"grantEmbeddedWindowFocus win=%s grantFocus=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_FOCUS\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-2101985723\":{\"message\":\"Failed looking up window session=%s callers=%s\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-2093859262\":{\"message\":\"setClientVisible: %s clientVisible=%b Callers=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/WindowToken.java\"},\"-2072089308\":{\"message\":\"Attempted to add window with token that is a sub-window: %s.  Aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-2054442123\":{\"message\":\"Setting Intent of %s to %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/Task.java\"},\"-2049725903\":{\"message\":\"Task back pressed on root taskId=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/TaskOrganizerController.java\"},\"-2039580386\":{\"message\":\"Attempted to add input method window with unknown token %s.  Aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-2036671725\":{\"message\":\"      SKIP: is wallpaper\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"-2024464438\":{\"message\":\"app-onAnimationFinished(): mOuter=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"-2014162875\":{\"message\":\"Could not register window container listener token=%s, container=%s\",\"level\":\"ERROR\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowContextListenerController.java\"},\"-2012562539\":{\"message\":\"startAnimation(): Notify animation start:\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"-2010331310\":{\"message\":\"resumeTopActivity: Top activity resumed (dontWaitForPause) %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"-1980468143\":{\"message\":\"DisplayArea appeared name=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/DisplayAreaOrganizerController.java\"},\"-1979455254\":{\"message\":\"Launch on display check: allow launch for caller present on the display\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/ActivityTaskSupervisor.java\"},\"-1976930686\":{\"message\":\"Attempted to add Accessibility overlay window with bad token %s.  Aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1973119651\":{\"message\":\"SyncGroup %d: Adding to group: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_SYNC_ENGINE\",\"at\":\"com/android/server/wm/BLASTSyncEngine.java\"},\"-1963461591\":{\"message\":\"Removing %s from %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1963363332\":{\"message\":\"Restart top activity process of Task taskId=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/TaskOrganizerController.java\"},\"-1949279037\":{\"message\":\"Attempted to add input method window with bad token %s.  Aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1939861963\":{\"message\":\"Create root task displayId=%d winMode=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/TaskOrganizerController.java\"},\"-1938839202\":{\"message\":\"SURFACE LEAK DESTROY: %s\",\"level\":\"INFO\",\"group\":\"WM_SHOW_TRANSACTIONS\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"-1938204785\":{\"message\":\"Moving existing starting %s from %s to %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1924376693\":{\"message\":\" Setting Ready-group to %b. group=%s from %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"-1918702467\":{\"message\":\"onSyncFinishedDrawing %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_SYNC_ENGINE\",\"at\":\"com/android/server/wm/WindowContainer.java\"},\"-1915280162\":{\"message\":\"Attempted to add wallpaper window with bad token %s.  Aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1906387645\":{\"message\":\"SURFACE controller=%s alpha=%f HScale=%f, VScale=%f: %s\",\"level\":\"INFO\",\"group\":\"WM_SHOW_TRANSACTIONS\",\"at\":\"com/android/server/wm/WindowStateAnimator.java\"},\"-1905191109\":{\"message\":\"SyncGroup %d: Finished!\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_SYNC_ENGINE\",\"at\":\"com/android/server/wm/BLASTSyncEngine.java\"},\"-1898316768\":{\"message\":\"Unable to retrieve window container to start layer mirroring for display %d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_LAYER_MIRRORING\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"-1895337367\":{\"message\":\"Delete root task display=%d winMode=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/TaskOrganizerController.java\"},\"-1886145147\":{\"message\":\"resumeTopActivity: Going to sleep and all paused\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"-1884933373\":{\"message\":\"enableScreenAfterBoot: mDisplayEnabled=%b mForceDisplayEnabled=%b mShowingBootMessages=%b mSystemBooted=%b. %s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_BOOT\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1878839956\":{\"message\":\"Marking app token %s with replacing windows.\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1872288685\":{\"message\":\"applyAnimation: anim=%s nextAppTransition=%s transit=%s isEntrance=%b Callers=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS_ANIM\",\"at\":\"com/android/server/wm/AppTransition.java\"},\"-1868124841\":{\"message\":\"screenOnEarly=%b, awake=%b, currentAppOrientation=%d, orientationSensorEnabled=%b, keyguardDrawComplete=%b, windowManagerDrawComplete=%b\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/DisplayRotation.java\"},\"-1868048288\":{\"message\":\"Updating to new configuration after starting activity.\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityStarter.java\"},\"-1862269827\":{\"message\":\"applyAnimation: anim=%s transit=%s isEntrance=%b Callers=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS_ANIM\",\"at\":\"com/android/server/wm/AppTransition.java\"},\"-1844540996\":{\"message\":\"  Initial targets: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"-1838803135\":{\"message\":\"Attempted to set windowing mode to a display that does not exist: %d\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1834214907\":{\"message\":\"createNonAppWindowAnimations()\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"-1824578273\":{\"message\":\"Reporting new frame to %s: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_RESIZE\",\"at\":\"com/android/server/wm/WindowState.java\"},\"-1810446914\":{\"message\":\"Trying to update display configuration for system/invalid process.\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityTaskManagerService.java\"},\"-1800899273\":{\"message\":\"applyAnimation: anim=%s transit=%s Callers=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS_ANIM\",\"at\":\"com/android/server/wm/AppTransition.java\"},\"-1792633344\":{\"message\":\"Register task organizer=%s uid=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/TaskOrganizerController.java\"},\"-1791031393\":{\"message\":\"Ensuring correct configuration: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1782453012\":{\"message\":\"Checking theme of starting window: 0x%x\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1777196134\":{\"message\":\"goodToGo(): No apps to animate, mPendingAnimations=%d\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"-1770075711\":{\"message\":\"Adding window client %s that is dead, aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1768557332\":{\"message\":\"removeWallpaperAnimation()\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimationController.java\"},\"-1750384749\":{\"message\":\"Launch on display check: allow launch on public display\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/ActivityTaskSupervisor.java\"},\"-1750206390\":{\"message\":\"Exception thrown when creating surface for client %s (%s). %s\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1747461042\":{\"message\":\"set mOrientationChanging of %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/WindowState.java\"},\"-1740512980\":{\"message\":\"Stopping %s: nowVisible=%b animating=%b finishing=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityTaskSupervisor.java\"},\"-1730156332\":{\"message\":\"Display id=%d rotation changed to %d from %d, lastOrientation=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/DisplayRotation.java\"},\"-1715268616\":{\"message\":\"Last window, removing starting window %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1710206702\":{\"message\":\"Display id=%d is frozen while keyguard locked, return %d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"-1707370822\":{\"message\":\"Ready to stop: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityTaskSupervisor.java\"},\"-1704402370\":{\"message\":\"resetTaskIntendedTask: calling finishActivity on %s\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/ResetTargetTaskHelper.java\"},\"-1699018375\":{\"message\":\"Adding activity %s to task %s callers: %s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/Task.java\"},\"-1698815688\":{\"message\":\"Resetting app token %s of replacing window marks.\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1679411993\":{\"message\":\"setVr2dDisplayId called for: %d\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/ActivityTaskManagerService.java\"},\"-1670695197\":{\"message\":\"Attempted to add presentation window to a non-suitable display.  Aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1661704580\":{\"message\":\"Attempted to set replacing window on non-existing app token %s\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1647332198\":{\"message\":\"remove RecentTask %s when finishing user %d\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/RecentTasks.java\"},\"-1638958146\":{\"message\":\"Removing activity %s from task=%s adding to task=%s Callers=%s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/ResetTargetTaskHelper.java\"},\"-1633115609\":{\"message\":\"Key dispatch not paused for screen off\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"-1632122349\":{\"message\":\"Changing surface while display frozen: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1630752478\":{\"message\":\"removeLockedTask: removed %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_LOCKTASK\",\"at\":\"com/android/server/wm/LockTaskController.java\"},\"-1598452494\":{\"message\":\"activityDestroyedLocked: r=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_CONTAINERS\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1596995693\":{\"message\":\"startAnimation\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"-1587921395\":{\"message\":\"  Top targets: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"-1585311008\":{\"message\":\"Bring to front target: %s from %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/ActivityStarter.java\"},\"-1575977269\":{\"message\":\"Skipping %s: mismatch root %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"-1568331821\":{\"message\":\"Enabling listeners\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/DisplayRotation.java\"},\"-1567866547\":{\"message\":\"Collecting in transition %d: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"-1564228464\":{\"message\":\"App died while pausing: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"-1559645910\":{\"message\":\"Looking for task of type=%s, taskAffinity=%s, intent=%s, info=%s, preferredTDA=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"-1558137010\":{\"message\":\"Config is relaunching invisible activity %s called by %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1554521902\":{\"message\":\"showInsets(ime) was requested by different window: %s \",\"level\":\"WARN\",\"group\":\"WM_DEBUG_IME\",\"at\":\"com/android/server/wm/ImeInsetsSourceProvider.java\"},\"-1545962566\":{\"message\":\"View server did not start\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1539974875\":{\"message\":\"removeAppToken: %s delayed=%b Callers=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1526645239\":{\"message\":\"Timeout waiting for drawn: undrawn=%s\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1521427940\":{\"message\":\"commitVisibility: %s: visible=%b mVisibleRequested=%b\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1517908912\":{\"message\":\"requestScrollCapture: caught exception dispatching to window.token=%s\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1515151503\":{\"message\":\">>> OPEN TRANSACTION removeReplacedWindows\",\"level\":\"INFO\",\"group\":\"WM_SHOW_TRANSACTIONS\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"-1501564055\":{\"message\":\"Organized TaskFragment is not ready= %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/AppTransitionController.java\"},\"-1499134947\":{\"message\":\"Removing starting %s from %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1497837552\":{\"message\":\"onAnimationFinished(): mPendingAnimations=%d\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"-1495062622\":{\"message\":\"Can't report activity moved to display - client not running, activityRecord=%s, displayId=%d\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_SWITCH\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1492881555\":{\"message\":\"Starting activity when config will change = %b\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityStarter.java\"},\"-1483435730\":{\"message\":\"InsetsSource setWin %s for type %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_WINDOW_INSETS\",\"at\":\"com/android/server/wm/InsetsSourceProvider.java\"},\"-1480772131\":{\"message\":\"No app or window is requesting an orientation, return %d for display id=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"-1478175541\":{\"message\":\"No longer animating wallpaper targets!\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WALLPAPER\",\"at\":\"com/android/server/wm/WallpaperController.java\"},\"-1474602871\":{\"message\":\"Launch on display check: disallow launch on virtual display for not-embedded activity.\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/ActivityTaskSupervisor.java\"},\"-1474292612\":{\"message\":\"Could not find task for id: %d\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/ActivityTaskManagerService.java\"},\"-1471946192\":{\"message\":\"Marking app token %s with replacing child windows.\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1468740466\":{\"message\":\"Moving to PAUSED: %s (starting in paused state)\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityTaskSupervisor.java\"},\"-1452274694\":{\"message\":\"      CAN PROMOTE: promoting to parent %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"-1443029505\":{\"message\":\"SAFE MODE ENABLED (menu=%d s=%d dpad=%d trackball=%d)\",\"level\":\"INFO\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1442613680\":{\"message\":\" Creating Ready-group for Transition %d with root=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"-1438175584\":{\"message\":\"Input focus has changed to %s display=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_FOCUS_LIGHT\",\"at\":\"com/android/server/wm/InputMonitor.java\"},\"-1434147454\":{\"message\":\"cleanupAnimation(): Notify animation finished mPendingAnimations=%d reorderMode=%d\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimationController.java\"},\"-1432963966\":{\"message\":\"Moving to DESTROYING: %s (destroy requested)\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1427184084\":{\"message\":\"addWindow: New client %s: window=%s Callers=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1421296808\":{\"message\":\"Moving to RESUMED: %s (in existing)\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"-1419762046\":{\"message\":\"moveRootTaskToDisplay: moving taskId=%d to displayId=%d\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/ActivityTaskManagerService.java\"},\"-1419461256\":{\"message\":\"resumeTopActivity: Resumed %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"-1413901262\":{\"message\":\"startRecentsActivity(): intent=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimation.java\"},\"-1410260105\":{\"message\":\"Schedule IME show for %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_IME\",\"at\":\"com/android/server/wm/ImeInsetsSourceProvider.java\"},\"-1394745488\":{\"message\":\"ControlAdapter onAnimationCancelled mSource: %s mControlTarget: %s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_WINDOW_INSETS\",\"at\":\"com/android/server/wm/InsetsSourceProvider.java\"},\"-1391944764\":{\"message\":\"SURFACE DESTROY: %s. %s\",\"level\":\"INFO\",\"group\":\"WM_SHOW_SURFACE_ALLOC\",\"at\":\"com/android/server/wm/WindowStateAnimator.java\"},\"-1389772804\":{\"message\":\"Attempted to add voice interaction window with bad token %s.  Aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1376035390\":{\"message\":\"No task found\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"-1375751630\":{\"message\":\"  --- Start combine pass ---\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"-1364754753\":{\"message\":\"Task vanished taskId=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/TaskOrganizerController.java\"},\"-1352076759\":{\"message\":\"Removing app token: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1350198040\":{\"message\":\"hideBootMessagesLocked: mDisplayEnabled=%b mForceDisplayEnabled=%b mShowingBootMessages=%b mSystemBooted=%b. %s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_BOOT\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1343787701\":{\"message\":\"startBackNavigation task=%s, topRunningActivity=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_BACK_PREVIEW\",\"at\":\"com/android/server/wm/BackNavigationController.java\"},\"-1340540100\":{\"message\":\"Creating SnapshotStartingData\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1311436264\":{\"message\":\"Unregister task fragment organizer=%s uid=%d pid=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/TaskFragmentOrganizerController.java\"},\"-1305966693\":{\"message\":\"Sending position change to %s, onTop: %b\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1305791032\":{\"message\":\"Moving to STOPPED: %s (stop complete)\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1305755880\":{\"message\":\"Initial config: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityTaskManagerService.java\"},\"-1304806505\":{\"message\":\"Starting new activity %s in new task %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/ActivityStarter.java\"},\"-1292329638\":{\"message\":\"Added starting %s: startingWindow=%s startingView=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1270731689\":{\"message\":\"Attempted to set replacing window on app token with no content %s\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1270148832\":{\"message\":\"Resize start waiting for draw, mDrawState=DRAW_PENDING in %s, surfaceController %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_RESIZE\",\"at\":\"com/android/server/wm/WindowState.java\"},\"-1263316010\":{\"message\":\"Computed rotation=%s (%d) for display id=%d based on lastOrientation=%s (%d) and oldRotation=%s (%d)\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/DisplayRotation.java\"},\"-1259022216\":{\"message\":\"SURFACE HIDE ( %s ): %s\",\"level\":\"INFO\",\"group\":\"WM_SHOW_TRANSACTIONS\",\"at\":\"com/android/server/wm/WindowSurfaceController.java\"},\"-1257821162\":{\"message\":\"OUT SURFACE %s: copied\",\"level\":\"INFO\",\"group\":\"WM_SHOW_TRANSACTIONS\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1248645819\":{\"message\":\"\\tAdd container=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"-1248290210\":{\"message\":\"Passing transform hint %d for window %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1228653755\":{\"message\":\"Launch on display check: displayId=%d callingPid=%d callingUid=%d\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/ActivityTaskSupervisor.java\"},\"-1219773477\":{\"message\":\"setInputConsumerEnabled(%s): mCanceled=%b\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimationController.java\"},\"-1207757583\":{\"message\":\"startAnimation(): Notify animation start: %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimationController.java\"},\"-1198579104\":{\"message\":\"Pushing next activity %s out to target's task %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/ResetTargetTaskHelper.java\"},\"-1193946201\":{\"message\":\"Can't report activity position update - client not running, activityRecord=%s\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1187377055\":{\"message\":\"Enqueue pending stop if needed: %s wasStopping=%b visibleRequested=%b\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"-1185473319\":{\"message\":\"ControlAdapter startAnimation mSource: %s controlTarget: %s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_WINDOW_INSETS\",\"at\":\"com/android/server/wm/InsetsSourceProvider.java\"},\"-1176488860\":{\"message\":\"SURFACE isSecure=%b: %s\",\"level\":\"INFO\",\"group\":\"WM_SHOW_TRANSACTIONS\",\"at\":\"com/android/server/wm/WindowSurfaceController.java\"},\"-1164930508\":{\"message\":\"Moving to RESUMED: %s (starting new instance) callers=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/Task.java\"},\"-1156118957\":{\"message\":\"Updated config=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimation.java\"},\"-1153814764\":{\"message\":\"onAnimationCancelled\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/NonAppWindowAnimationAdapter.java\"},\"-1145384901\":{\"message\":\"shouldWaitAnimatingExit: isTransition: %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/WindowState.java\"},\"-1142279614\":{\"message\":\"Looking for focus: %s, flags=%d, canReceive=%b, reason=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_FOCUS\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"-1136467585\":{\"message\":\"The listener does not exist.\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/WindowContextListenerController.java\"},\"-1136139407\":{\"message\":\"no-history finish of %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1130891072\":{\"message\":\"Orientation continue waiting for draw in %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/WindowStateAnimator.java\"},\"-1130868271\":{\"message\":\"Resizing %s WITH DRAW PENDING\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/WindowState.java\"},\"-1128015008\":{\"message\":\"Schedule remove starting %s startingWindow=%s startingView=%s Callers=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1117599386\":{\"message\":\"Deferring rotation, display is not enabled.\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/DisplayRotation.java\"},\"-1115019498\":{\"message\":\"Configuration & display unchanged in %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1113134997\":{\"message\":\"Attempted to add application window with unknown token %s.  Aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1108775960\":{\"message\":\"%s is requesting orientation %d (%s)\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/WindowContainer.java\"},\"-1103716954\":{\"message\":\"Not removing %s due to exit animation\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/WindowState.java\"},\"-1103115659\":{\"message\":\"Performing post-rotate rotation\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"-1101551167\":{\"message\":\"Auto-PIP allowed, entering PIP mode directly: %s, didAutoPip: %b\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"-1089874824\":{\"message\":\"SURFACE SHOW (performLayout): %s\",\"level\":\"INFO\",\"group\":\"WM_SHOW_TRANSACTIONS\",\"at\":\"com/android/server/wm/WindowSurfaceController.java\"},\"-1076978367\":{\"message\":\"thawRotation: mRotation=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1069336896\":{\"message\":\"onRootTaskOrderChanged(): rootTask=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimation.java\"},\"-1060365734\":{\"message\":\"Attempted to add QS dialog window with bad token %s.  Aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1047945589\":{\"message\":\"Remove client=%x, surfaceController=%s Callers=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_FOCUS\",\"at\":\"com/android/server/wm/WindowState.java\"},\"-1042574499\":{\"message\":\"Attempted to add Accessibility overlay window with unknown token %s.  Aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1022146708\":{\"message\":\"Skipping %s: mismatch activity type\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"-1016578046\":{\"message\":\"Moving to %s Relaunching %s callers=%s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1009117329\":{\"message\":\"isFetchingAppTransitionSpecs=true\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/AppTransitionController.java\"},\"-1003678883\":{\"message\":\"Cleaning splash screen token=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1003060523\":{\"message\":\"Finish needs to pause: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-993378225\":{\"message\":\"finishDrawingLocked: mDrawState=COMMIT_DRAW_PENDING %s in %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_DRAW\",\"at\":\"com/android/server/wm/WindowStateAnimator.java\"},\"-986746907\":{\"message\":\"Starting window removed %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/WindowState.java\"},\"-957060823\":{\"message\":\"Moving to PAUSING: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"-951939129\":{\"message\":\"Unregister task organizer=%s uid=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/TaskOrganizerController.java\"},\"-948446688\":{\"message\":\"Create TaskDisplayArea uid=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/DisplayAreaOrganizerController.java\"},\"-938271693\":{\"message\":\"allResumedActivitiesIdle: rootTask=%d %s not idle\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"-937498525\":{\"message\":\"Executing finish of failed to pause activity: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-930893991\":{\"message\":\"Set sync ready, syncId=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/WindowOrganizerController.java\"},\"-929676529\":{\"message\":\"Configuration changes for %s, allChanges=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-927199900\":{\"message\":\"Updating global configuration to: %s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityTaskManagerService.java\"},\"-926231510\":{\"message\":\"State unchanged from:%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-917215012\":{\"message\":\"%s: caller %d is using old GET_TASKS but privileged; allowing\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/ActivityTaskManagerService.java\"},\"-916108501\":{\"message\":\"Adding %s to %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/WindowState.java\"},\"-914253865\":{\"message\":\"Attempted to add voice interaction window with unknown token %s.  Aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-904499590\":{\"message\":\"Provided surface for layer mirroring on display %d is not present, so do not update the surface\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_LAYER_MIRRORING\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"-883738232\":{\"message\":\"Adding more than one toast window for UID at a time.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-877494781\":{\"message\":\"Start pushing activity %s out to bottom task %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/ResetTargetTaskHelper.java\"},\"-874888131\":{\"message\":\"Set transition ready=%b %d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"-874446906\":{\"message\":\"showBootMessage: msg=%s always=%b mAllowBootMessages=%b mShowingBootMessages=%b mSystemBooted=%b. %s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_BOOT\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-863438038\":{\"message\":\"Aborting Transition: %d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"-861859917\":{\"message\":\"Attempted to add window to a display that does not exist: %d. Aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-861707633\":{\"message\":\"Destroying surface %s called by %s\",\"level\":\"INFO\",\"group\":\"WM_SHOW_SURFACE_ALLOC\",\"at\":\"com/android/server/wm/WindowSurfaceController.java\"},\"-856750101\":{\"message\":\"Launch on display check: allow launch for owner of the display\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/ActivityTaskSupervisor.java\"},\"-856590985\":{\"message\":\"dcTarget: %s mImeRequester: %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_IME\",\"at\":\"com/android/server/wm/ImeInsetsSourceProvider.java\"},\"-855366859\":{\"message\":\"        merging children in from %s: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"-853404763\":{\"message\":\"\\twallpaper=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"-853226675\":{\"message\":\"Attempted to add window with exiting application token .%s Aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-846931068\":{\"message\":\"Update camera compat control state to %s for taskId=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/TaskOrganizerController.java\"},\"-846078709\":{\"message\":\"Configuration doesn't matter in finishing %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-814760297\":{\"message\":\"Looking for task of %s in %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"-809771899\":{\"message\":\"findFocusedWindow: Reached focused app=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_FOCUS_LIGHT\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"-804217032\":{\"message\":\"Skipping config check (will change): %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-784959154\":{\"message\":\"Attempted to add private presentation window to a non-private display.  Aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-783405930\":{\"message\":\"Performing post-rotate rotation\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-779535710\":{\"message\":\"Transition %d: Set %s as transient-launch\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"-775004869\":{\"message\":\"Not a match: %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"-771177730\":{\"message\":\"Removing focused app token:%s displayId=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_FOCUS_LIGHT\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-766059044\":{\"message\":\"Display id=%d selected orientation %s (%d), got rotation %s (%d)\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/DisplayRotation.java\"},\"-760801764\":{\"message\":\"onAnimationCancelled\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/WallpaperAnimationAdapter.java\"},\"-760764543\":{\"message\":\"Focus not requested for window=%s because it has no surface or is not focusable.\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_FOCUS_LIGHT\",\"at\":\"com/android/server/wm/InputMonitor.java\"},\"-754503024\":{\"message\":\"Relayout %s: oldVis=%d newVis=%d. %s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_SCREEN_ON\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-743856570\":{\"message\":\"shouldWaitAnimatingExit: isAnimating: %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/WindowState.java\"},\"-743431900\":{\"message\":\"Configuration no differences in %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-729530161\":{\"message\":\"Moving to DESTROYED: %s (no app)\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-706481945\":{\"message\":\"TaskFragment parent info changed name=%s parentTaskId=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/TaskFragmentOrganizerController.java\"},\"-705939410\":{\"message\":\"Waiting for pause to complete...\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-703543418\":{\"message\":\"      check sibling %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"-702650156\":{\"message\":\"Override with TaskFragment remote animation for transit=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/AppTransitionController.java\"},\"-701167286\":{\"message\":\"applyAnimation: transit=%s, enter=%b, wc=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS_ANIM\",\"at\":\"com/android/server/wm/WindowContainer.java\"},\"-694710814\":{\"message\":\"Pausing rotation during drag\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/DragState.java\"},\"-677449371\":{\"message\":\"moveTaskToRootTask: moving task=%d to rootTaskId=%d toTop=%b\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/ActivityTaskManagerService.java\"},\"-672355406\":{\"message\":\"  Rejecting as no-op: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"-668956537\":{\"message\":\"  THUMBNAIL %s: CREATE\",\"level\":\"INFO\",\"group\":\"WM_SHOW_TRANSACTIONS\",\"at\":\"com/android/server/wm/SurfaceFreezer.java\"},\"-666510420\":{\"message\":\"With display frozen, orientationChangeComplete=%b\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"-663411559\":{\"message\":\"Going ahead with updating layer mirroring for display %d to new bounds %s and/or orientation %d.\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_LAYER_MIRRORING\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"-655104359\":{\"message\":\"Frontmost changed immersion: %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_IMMERSIVE\",\"at\":\"com/android/server/wm/ActivityClientController.java\"},\"-653156702\":{\"message\":\"createAppAnimations()\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"-648891906\":{\"message\":\"Activity not running or entered PiP, resuming next.\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"-641258376\":{\"message\":\"realStartActivityLocked: Skipping start of r=%s some activities pausing...\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityTaskSupervisor.java\"},\"-639217716\":{\"message\":\"setFocusedApp %s displayId=%d Callers=%s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_FOCUS_LIGHT\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"-635082269\":{\"message\":\"******** booted=%b msg=%b haveBoot=%b haveApp=%b haveWall=%b wallEnabled=%b haveKeyguard=%b\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_SCREEN_ON\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"-622997754\":{\"message\":\"postWindowRemoveCleanupLocked: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-622017164\":{\"message\":\"Finish Transition: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/TransitionController.java\"},\"-618015844\":{\"message\":\"performEnableScreen: mDisplayEnabled=%b mForceDisplayEnabled=%b mShowingBootMessages=%b mSystemBooted=%b mOnlyCore=%b. %s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_BOOT\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-597091183\":{\"message\":\"Delete TaskDisplayArea uid=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/DisplayAreaOrganizerController.java\"},\"-593535526\":{\"message\":\"Binding proc %s with config %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/am/ActivityManagerService.java\"},\"-583031528\":{\"message\":\"%s\",\"level\":\"INFO\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-576070986\":{\"message\":\"Performing post-rotate rotation after seamless rotation\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/DisplayRotation.java\"},\"-567946587\":{\"message\":\"Requested redraw for orientation change: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/WindowState.java\"},\"-561092364\":{\"message\":\"onPointerDownOutsideFocusLocked called on %s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_FOCUS_LIGHT\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-549028919\":{\"message\":\"enableScreenIfNeededLocked: mDisplayEnabled=%b mForceDisplayEnabled=%b mShowingBootMessages=%b mSystemBooted=%b. %s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_BOOT\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-548282316\":{\"message\":\"setLockTaskMode: Locking to %s Callers=%s\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_LOCKTASK\",\"at\":\"com/android/server/wm/LockTaskController.java\"},\"-547111355\":{\"message\":\"hideIme Control target: %s \",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_IME\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-545190927\":{\"message\":\"<<< CLOSE TRANSACTION animate\",\"level\":\"INFO\",\"group\":\"WM_SHOW_TRANSACTIONS\",\"at\":\"com/android/server/wm/WindowAnimator.java\"},\"-542756093\":{\"message\":\"TaskFragment vanished name=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/TaskFragmentOrganizerController.java\"},\"-532081937\":{\"message\":\"  Commit activity becoming invisible: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"-521613870\":{\"message\":\"App died during pause, not stopping: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"-519504830\":{\"message\":\"applyAnimation: anim=%s nextAppTransition=ANIM_CUSTOM transit=%s isEntrance=%b Callers=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS_ANIM\",\"at\":\"com/android/server/wm/AppTransition.java\"},\"-509601642\":{\"message\":\"    checking %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"-507657818\":{\"message\":\"Window %s is already added\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-503656156\":{\"message\":\"Update process config of %s to new config %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityTaskManagerService.java\"},\"-497620140\":{\"message\":\"Transaction ready, syncId=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/WindowOrganizerController.java\"},\"-496681057\":{\"message\":\"Attempted to get remove mode of a display that does not exist: %d\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-484194149\":{\"message\":\"no-history finish of %s on new resume\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityTaskSupervisor.java\"},\"-481924678\":{\"message\":\"handleNotObscuredLocked w: %s, w.mHasSurface: %b, w.isOnScreen(): %b, w.isDisplayedLw(): %b, w.mAttrs.userActivityTimeout: %d\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_KEEP_SCREEN_ON\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"-463348344\":{\"message\":\"Removing and adding activity %s to root task at top callers=%s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/Task.java\"},\"-449118559\":{\"message\":\"Trying to update display configuration for invalid process, pid=%d\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityTaskManagerService.java\"},\"-446752714\":{\"message\":\"        SKIP: sibling contains top target %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"-445944810\":{\"message\":\"finish(%b): mCanceled=%b\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimationController.java\"},\"-443173857\":{\"message\":\"Moving pending starting from %s to %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-439951996\":{\"message\":\"Disabling listeners\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/DisplayRotation.java\"},\"-436553282\":{\"message\":\"Remove sleep token: tag=%s, displayId=%d\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"-415865166\":{\"message\":\"findFocusedWindow: Found new focus @ %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_FOCUS_LIGHT\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"-401282500\":{\"message\":\"destroyIfPossible: r=%s destroy returned removed=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_CONTAINERS\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-401029526\":{\"message\":\"%s: caller %d does not hold REAL_GET_TASKS; limiting output\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/ActivityTaskManagerService.java\"},\"-399343789\":{\"message\":\"Skipping %s: different user\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"-393505149\":{\"message\":\"unable to update pointer icon\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-386552155\":{\"message\":\"Attempted to set system decors flag to a display that does not exist: %d\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-384564722\":{\"message\":\"Unable to start layer mirroring for display %d since the surface is not available.\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_LAYER_MIRRORING\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"-381475323\":{\"message\":\"DisplayContent: boot is waiting for window of type %d to be drawn\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_BOOT\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"-379068494\":{\"message\":\"unknownApps is not empty: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/AppTransitionController.java\"},\"-374767836\":{\"message\":\"setAppVisibility(%s, visible=%b): %s visible=%b mVisibleRequested=%b Callers=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-373110070\":{\"message\":\"Skipping task: (mismatch activity/task) %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"-360208282\":{\"message\":\"Animating wallpapers: old: %s hidden=%b new: %s hidden=%b\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WALLPAPER\",\"at\":\"com/android/server/wm/WallpaperController.java\"},\"-354571697\":{\"message\":\"Existence Changed in transition %d: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"-344488673\":{\"message\":\"Finishing drawing window %s: mDrawState=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/WindowStateAnimator.java\"},\"-322743468\":{\"message\":\"setInputMethodInputTarget %s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_IME\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"-322035974\":{\"message\":\"App freeze timeout expired.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-320419645\":{\"message\":\"Removing replaced window: %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/WindowState.java\"},\"-317761482\":{\"message\":\"Create sleep token: tag=%s, displayId=%d\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"-317194205\":{\"message\":\"clearLockedTasks: %s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_LOCKTASK\",\"at\":\"com/android/server/wm/LockTaskController.java\"},\"-312353598\":{\"message\":\"Executing finish of activity: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"-310337305\":{\"message\":\"Activity config changed during resume: %s, new next: %s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"-309399422\":{\"message\":\"Display %d state is now (%d), so update layer mirroring?\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_LAYER_MIRRORING\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"-304728471\":{\"message\":\"New wallpaper: target=%s prev=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_WALLPAPER\",\"at\":\"com/android/server/wm/WallpaperController.java\"},\"-302468788\":{\"message\":\"Expected target rootTask=%s to be top most but found rootTask=%s\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimation.java\"},\"-302335479\":{\"message\":\"        remove from topTargets %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"-292790591\":{\"message\":\"Attempted to set IME policy to a display that does not exist: %d\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-275077723\":{\"message\":\"New animation: %s old animation: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WALLPAPER\",\"at\":\"com/android/server/wm/WallpaperController.java\"},\"-262984451\":{\"message\":\"Relaunch failed %s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-251259736\":{\"message\":\"No longer freezing: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-248761393\":{\"message\":\"startPausing: taskFrag =%s mResumedActivity=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"-240296576\":{\"message\":\"handleAppTransitionReady: displayId=%d appTransition={%s} openingApps=[%s] closingApps=[%s] transit=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/AppTransitionController.java\"},\"-235225312\":{\"message\":\"Skipping config check for initializing activity: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-230587670\":{\"message\":\"SyncGroup %d:  Unfinished container: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_SYNC_ENGINE\",\"at\":\"com/android/server/wm/BLASTSyncEngine.java\"},\"-208825711\":{\"message\":\"shouldWaitAnimatingExit: isWallpaperTarget: %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/WindowState.java\"},\"-198463978\":{\"message\":\"updateRotationUnchecked: alwaysSendConfiguration=%b forceRelayout=%b\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-193782861\":{\"message\":\"Final remove of window: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_MOVEMENT\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-190034097\":{\"message\":\"Unable to retrieve window container to update layer mirroring for display %d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_LAYER_MIRRORING\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"-182877285\":{\"message\":\"Wallpaper layer changed: assigning layers + relayout\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WALLPAPER\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"-177040661\":{\"message\":\"Start rotation animation. customAnim=%s, mCurRotation=%s, mOriginalRotation=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/ScreenRotationAnimation.java\"},\"-172900257\":{\"message\":\"addTaskToTargets, target: %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimationController.java\"},\"-172326720\":{\"message\":\"Saving icicle of %s: %s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-168799453\":{\"message\":\"Allowing features %d:0x%s\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_LOCKTASK\",\"at\":\"com/android/server/wm/ActivityTaskManagerService.java\"},\"-167822951\":{\"message\":\"Attempted to add starting window to token with already existing starting window\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-163974242\":{\"message\":\"setFinishTaskTransaction(%d): transaction=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimationController.java\"},\"-143556958\":{\"message\":\"resumeNextFocusableActivityWhenRootTaskIsEmpty: %s, go home\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/Task.java\"},\"-134091882\":{\"message\":\"Screenshotting Activity %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_BACK_PREVIEW\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"-124316973\":{\"message\":\"Translucent=%s Floating=%s ShowWallpaper=%s Disable=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-116086365\":{\"message\":\"******************** ENABLING SCREEN!\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_SCREEN_ON\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-108977760\":{\"message\":\"Sandbox max bounds for uid %s to bounds %s. config to never sandbox = %s, config to always sandbox = %s, letterboxing from mismatch with parent bounds = %s, has mCompatDisplayInsets = %s, should create compatDisplayInsets = %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-106400104\":{\"message\":\"Preload recents with %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimation.java\"},\"-90559682\":{\"message\":\"Config is skipping already pausing %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-87705714\":{\"message\":\"findFocusedWindow: focusedApp=null using new focus @ %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_FOCUS_LIGHT\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"-87703044\":{\"message\":\"Boot completed: SurfaceFlinger is dead!\",\"level\":\"ERROR\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-86763148\":{\"message\":\"  KILL SURFACE SESSION %s\",\"level\":\"INFO\",\"group\":\"WM_SHOW_TRANSACTIONS\",\"at\":\"com/android/server/wm/Session.java\"},\"-80004683\":{\"message\":\"Resume failed; resetting state to %s: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"-79877120\":{\"message\":\"Display %d has content (%b) so disable layer mirroring\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_LAYER_MIRRORING\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"-70719599\":{\"message\":\"Unregister remote animations for organizer=%s uid=%d pid=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/TaskFragmentOrganizerController.java\"},\"-55185509\":{\"message\":\"setFocusedTask: taskId=%d touchedActivity=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_FOCUS\",\"at\":\"com/android/server/wm/ActivityTaskManagerService.java\"},\"-50336993\":{\"message\":\"moveFocusableActivityToTop: activity=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_FOCUS\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-33096143\":{\"message\":\"applyAnimation: transition animation is disabled or skipped. container=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS_ANIM\",\"at\":\"com/android/server/wm/WindowContainer.java\"},\"-23020844\":{\"message\":\"Back: Reset surfaces\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_BACK_PREVIEW\",\"at\":\"com/android/server/wm/BackNavigationController.java\"},\"-21399771\":{\"message\":\"activity %s already destroying, skipping request with reason:%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-8483143\":{\"message\":\"No root task above target root task=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimation.java\"}},\"groups\":{\"WM_DEBUG_ADD_REMOVE\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_APP_TRANSITIONS\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_APP_TRANSITIONS_ANIM\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_BACK_PREVIEW\":{\"tag\":\"CoreBackPreview\"},\"WM_DEBUG_BOOT\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_CONFIGURATION\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_CONTAINERS\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_DRAW\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_FOCUS\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_FOCUS_LIGHT\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_IME\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_IMMERSIVE\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_KEEP_SCREEN_ON\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_LAYER_MIRRORING\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_LOCKTASK\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_ORIENTATION\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_RECENTS_ANIMATIONS\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_REMOTE_ANIMATIONS\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_RESIZE\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_SCREEN_ON\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_STARTING_WINDOW\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_STATES\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_SWITCH\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_SYNC_ENGINE\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_TASKS\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_WALLPAPER\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_WINDOW_INSETS\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_WINDOW_MOVEMENT\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_WINDOW_ORGANIZER\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_WINDOW_TRANSITIONS\":{\"tag\":\"WindowManager\"},\"WM_ERROR\":{\"tag\":\"WindowManager\"},\"WM_SHOW_SURFACE_ALLOC\":{\"tag\":\"WindowManager\"},\"WM_SHOW_TRANSACTIONS\":{\"tag\":\"WindowManager\"}}}");
+module.exports = JSON.parse("{\"version\":\"1.0.0\",\"messages\":{\"3593205\":{\"message\":\"commitVisibility: %s: visible=%b mVisibleRequested=%b\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/WallpaperWindowToken.java\"},\"9803449\":{\"message\":\"startFreezingDisplayLocked: exitAnim=%d enterAnim=%d called by %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"10608884\":{\"message\":\"  FREEZE %s: CREATE\",\"level\":\"INFO\",\"group\":\"WM_SHOW_SURFACE_ALLOC\",\"at\":\"com/android/server/wm/ScreenRotationAnimation.java\"},\"11060725\":{\"message\":\"Attempted to get system decors flag of a display that does not exist: %d\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"17696244\":{\"message\":\"startAnimation(): mPendingStart=%b mCanceled=%b\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimationController.java\"},\"35398067\":{\"message\":\"goodToGo(): onAnimationStart, transit=%s, apps=%d, wallpapers=%d, nonApps=%d\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"38267433\":{\"message\":\"Attempted to reset replacing window on non-existing app token %s\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"45285419\":{\"message\":\"startingWindow was set but startingSurface==null, couldn't remove\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"51200510\":{\"message\":\"  BLACK %s: DESTROY\",\"level\":\"INFO\",\"group\":\"WM_SHOW_SURFACE_ALLOC\",\"at\":\"com/android/server/wm/BlackFrame.java\"},\"51628177\":{\"message\":\"Attempted to get windowing mode of a display that does not exist: %d\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"51927339\":{\"message\":\"Skipping %s: voice session\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"74885950\":{\"message\":\"Waiting for top state to be released by %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityTaskSupervisor.java\"},\"83950285\":{\"message\":\"removeAnimation(%d)\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimationController.java\"},\"90764070\":{\"message\":\"Could not report token removal to the window token client.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowContextListenerController.java\"},\"95216706\":{\"message\":\"hideIme target: %s \",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_IME\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"95902367\":{\"message\":\"Relayout of %s: focusMayChange=%b\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_FOCUS\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"100936473\":{\"message\":\"Wallpaper animation!\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/AppTransitionController.java\"},\"102618780\":{\"message\":\"resumeTopActivity: Pausing %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"108170907\":{\"message\":\"Add starting %s: startingData=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"112145970\":{\"message\":\"      SKIP: its sibling was rejected\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"114070759\":{\"message\":\"New wallpaper target: %s prevTarget: %s caller=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WALLPAPER\",\"at\":\"com/android/server/wm/WallpaperController.java\"},\"115358443\":{\"message\":\"Focus changing: %s -> %s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_FOCUS_LIGHT\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"140319294\":{\"message\":\"IME target changed within ActivityRecord\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_IME\",\"at\":\"com/android/server/wm/ImeInsetsSourceProvider.java\"},\"146871307\":{\"message\":\"Tried to remove starting window but startingWindow was null: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"150351993\":{\"message\":\"addWindow: %s startingWindow=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"152914409\":{\"message\":\"  BLACK %s: CREATE layer=%d\",\"level\":\"INFO\",\"group\":\"WM_SHOW_SURFACE_ALLOC\",\"at\":\"com/android/server/wm/BlackFrame.java\"},\"155482615\":{\"message\":\"Focus requested for window=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_FOCUS_LIGHT\",\"at\":\"com/android/server/wm/InputMonitor.java\"},\"174572959\":{\"message\":\"DisplayArea info changed name=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/DisplayAreaOrganizerController.java\"},\"182319432\":{\"message\":\"        remove from targets %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"184362060\":{\"message\":\"screenshotTask(%d): mCanceled=%b\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimationController.java\"},\"184610856\":{\"message\":\"Start calculating TransitionInfo based on participants: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"186668272\":{\"message\":\"Now changing app %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/AppTransitionController.java\"},\"189628502\":{\"message\":\"Moving to STOPPING: %s (stop requested)\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"200829729\":{\"message\":\"ScreenRotationAnimation onAnimationEnd\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/ScreenRotationAnimation.java\"},\"202263690\":{\"message\":\"rotationForOrientation(orient=%s (%d), last=%s (%d)); user=%s (%d) %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/DisplayRotation.java\"},\"210750281\":{\"message\":\"applyAnimationUnchecked, control: %s, task: %s, transit: %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/Task.java\"},\"221540118\":{\"message\":\"mUserActivityTimeout set to %d\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_KEEP_SCREEN_ON\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"232317536\":{\"message\":\"Set intercept back pressed on root=%b\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/TaskOrganizerController.java\"},\"240271590\":{\"message\":\"moveFocusableActivityToTop: unfocusable activity=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_FOCUS\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"241961619\":{\"message\":\"Adding %s to %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/WindowToken.java\"},\"246676969\":{\"message\":\"Attempted to add window with non-application token .%s Aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"248210157\":{\"message\":\"Finishing remote animation\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"251812577\":{\"message\":\"Register display organizer=%s uid=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/DisplayAreaOrganizerController.java\"},\"254883724\":{\"message\":\"addWindowToken: Attempted to add binder token: %s for already created window token: %s displayId=%d\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"255339989\":{\"message\":\"setFocusedRootTask: taskId=%d\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_FOCUS\",\"at\":\"com/android/server/wm/ActivityTaskManagerService.java\"},\"255692476\":{\"message\":\"**** GOOD TO GO\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/AppTransitionController.java\"},\"259206414\":{\"message\":\"Creating Transition: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/TransitionController.java\"},\"269576220\":{\"message\":\"Resuming rotation after drag\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/DragState.java\"},\"269976641\":{\"message\":\"goodToGo(): Animation canceled already\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"274773837\":{\"message\":\"applyAnimation: anim=%s nextAppTransition=ANIM_CLIP_REVEAL transit=%s Callers=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS_ANIM\",\"at\":\"com/android/server/wm/AppTransition.java\"},\"288485303\":{\"message\":\"Attempted to set remove mode to a display that does not exist: %d\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"289967521\":{\"message\":\"Check opening app=%s: allDrawn=%b startingDisplayed=%b startingMoved=%b isRelaunching()=%b startingWindow=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/AppTransitionController.java\"},\"292904800\":{\"message\":\"Deferring rotation, animation in progress.\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/DisplayRotation.java\"},\"295861935\":{\"message\":\"startLockTaskMode: %s\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_LOCKTASK\",\"at\":\"com/android/server/wm/ActivityTaskManagerService.java\"},\"302969511\":{\"message\":\"Task info changed taskId=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/TaskOrganizerController.java\"},\"302992539\":{\"message\":\"addAnimation(%s)\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimationController.java\"},\"306524472\":{\"message\":\"Stop failed; moving to STOPPED: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"309039362\":{\"message\":\"SURFACE MATRIX [%f,%f,%f,%f]: %s\",\"level\":\"INFO\",\"group\":\"WM_SHOW_TRANSACTIONS\",\"at\":\"com/android/server/wm/WindowSurfaceController.java\"},\"312030608\":{\"message\":\"New topFocusedDisplayId=%d\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_FOCUS_LIGHT\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"315395835\":{\"message\":\"Trying to add window with invalid user=%d\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"327461496\":{\"message\":\"Complete pause: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"341055768\":{\"message\":\"resumeTopActivity: Skip resume: need to start pausing\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"342460966\":{\"message\":\"DRAG %s: pos=(%d,%d)\",\"level\":\"INFO\",\"group\":\"WM_SHOW_TRANSACTIONS\",\"at\":\"com/android/server/wm/DragState.java\"},\"344795667\":{\"message\":\"*** APP TRANSITION TIMEOUT. displayId=%d isTransitionSet()=%b mOpeningApps.size()=%d mClosingApps.size()=%d mChangingApps.size()=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/AppTransition.java\"},\"350168164\":{\"message\":\"Removing activity %s, reason= %s callers=%s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"352982444\":{\"message\":\" allReady query: used=%b override=%b states=[%s]\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"355720268\":{\"message\":\"stopFreezingDisplayLocked: Unfreezing now\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"371173718\":{\"message\":\"finishSync cancel=%b for %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_SYNC_ENGINE\",\"at\":\"com/android/server/wm/WindowContainer.java\"},\"371641947\":{\"message\":\"Window Manager Crash %s\",\"level\":\"WTF\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"372792199\":{\"message\":\"Non-null activity for system window of rootType=%d\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"374506950\":{\"message\":\"Reporting activity moved to display, activityRecord=%s, displayId=%d, config=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_SWITCH\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"374972436\":{\"message\":\"performEnableScreen: Waiting for anim complete\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_BOOT\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"378825104\":{\"message\":\"Enqueueing pending pause: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"397105698\":{\"message\":\"grantEmbeddedWindowFocus remove request for win=%s dropped since no candidate was found\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_FOCUS\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"397382873\":{\"message\":\"Moving to PAUSED: %s %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"399841913\":{\"message\":\"SURFACE RECOVER DESTROY: %s\",\"level\":\"INFO\",\"group\":\"WM_SHOW_SURFACE_ALLOC\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"405146734\":{\"message\":\"  Final targets: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"416924848\":{\"message\":\"InsetsSource Control %s for target %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_WINDOW_INSETS\",\"at\":\"com/android/server/wm/InsetsSourceProvider.java\"},\"417311568\":{\"message\":\"onResize: Resizing %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RESIZE\",\"at\":\"com/android/server/wm/WindowState.java\"},\"422634333\":{\"message\":\"First draw done in potential wallpaper target %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WALLPAPER\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"424524729\":{\"message\":\"Attempted to add wallpaper window with unknown token %s.  Aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"431715812\":{\"message\":\"Launch on display check: allow launch any on display\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/ActivityTaskSupervisor.java\"},\"435494046\":{\"message\":\"Attempted to add window to a display for which the application does not have access: %d.  Aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"463993897\":{\"message\":\"Aborted waiting for drawn: %s\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_SCREEN_ON\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"466506262\":{\"message\":\"Clear freezing of %s: visible=%b freezing=%b\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"485170982\":{\"message\":\"Not finishing noHistory %s on stop because we're just sleeping\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"487621047\":{\"message\":\"DisplayArea vanished name=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/DisplayAreaOrganizerController.java\"},\"508887531\":{\"message\":\"applyAnimation voice: anim=%s transit=%s isEntrance=%b Callers=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS_ANIM\",\"at\":\"com/android/server/wm/AppTransition.java\"},\"528150092\":{\"message\":\"        keep as target %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"531242746\":{\"message\":\"  THUMBNAIL %s: CREATE\",\"level\":\"INFO\",\"group\":\"WM_SHOW_TRANSACTIONS\",\"at\":\"com/android/server/wm/WindowContainerThumbnail.java\"},\"535103992\":{\"message\":\"Wallpaper may change!  Adjusting\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WALLPAPER\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"539077569\":{\"message\":\"Clear freezing of %s force=%b\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"544101314\":{\"message\":\"performEnableScreen: Waited %dms for all windows to be drawn\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_BOOT\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"550717438\":{\"message\":\"SyncGroup %d: Started for listener: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_SYNC_ENGINE\",\"at\":\"com/android/server/wm/BLASTSyncEngine.java\"},\"556758086\":{\"message\":\"Applying new update lock state '%s' for %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_IMMERSIVE\",\"at\":\"com/android/server/wm/ActivityTaskManagerService.java\"},\"557227556\":{\"message\":\"onAnimationFinished(): Notify animation finished:\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"558823034\":{\"message\":\"SURFACE isOpaque=%b: %s\",\"level\":\"INFO\",\"group\":\"WM_SHOW_TRANSACTIONS\",\"at\":\"com/android/server/wm/WindowSurfaceController.java\"},\"573582981\":{\"message\":\"reparent: moving activity=%s to new task fragment in task=%d at %d\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"579298675\":{\"message\":\"Moving to DESTROYED: %s (removed from history)\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"585096182\":{\"message\":\"SURFACE isColorSpaceAgnostic=%b: %s\",\"level\":\"INFO\",\"group\":\"WM_SHOW_TRANSACTIONS\",\"at\":\"com/android/server/wm/WindowSurfaceController.java\"},\"585839596\":{\"message\":\"call showInsets(ime) on %s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_IME\",\"at\":\"com/android/server/wm/ImeInsetsSourceProvider.java\"},\"594260577\":{\"message\":\"createWallpaperAnimations()\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"594260654\":{\"message\":\"Remove %s: mSurfaceController=%s mAnimatingExit=%b mRemoveOnExit=%b mHasSurface=%b surfaceShowing=%b animating=%b app-animation=%b mWillReplaceWindow=%b mDisplayFrozen=%b callers=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/WindowState.java\"},\"599897753\":{\"message\":\"Previous Activity is %s. Back type is %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_BACK_PREVIEW\",\"at\":\"com/android/server/wm/BackNavigationController.java\"},\"600140673\":{\"message\":\"checkBootAnimationComplete: Waiting for anim complete\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_BOOT\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"608694300\":{\"message\":\"  NEW SURFACE SESSION %s\",\"level\":\"INFO\",\"group\":\"WM_SHOW_TRANSACTIONS\",\"at\":\"com/android/server/wm/Session.java\"},\"609880497\":{\"message\":\"Display %d has no content and is on, so start recording for state %d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONTENT_RECORDING\",\"at\":\"com/android/server/wm/ContentRecorder.java\"},\"620368427\":{\"message\":\"******* TELLING SURFACE FLINGER WE ARE BOOTED!\",\"level\":\"INFO\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"620519522\":{\"message\":\"findFocusedWindow: No focusable windows, display=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_FOCUS_LIGHT\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"625447638\":{\"message\":\"Resize reasons for w=%s:  %s configChanged=%b dragResizingChanged=%b reportOrientationChanged=%b\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_RESIZE\",\"at\":\"com/android/server/wm/WindowState.java\"},\"628276090\":{\"message\":\"Delaying app transition for screen rotation animation to finish\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/AppTransitionController.java\"},\"631792420\":{\"message\":\"Attempted to add window with token that is not a window: %s.  Aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"633654009\":{\"message\":\"SURFACE POS (setPositionInTransaction) @ (%f,%f): %s\",\"level\":\"INFO\",\"group\":\"WM_SHOW_TRANSACTIONS\",\"at\":\"com/android/server/wm/WindowSurfaceController.java\"},\"638429464\":{\"message\":\"\\tRemove container=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"644675193\":{\"message\":\"Real start recents\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimation.java\"},\"646155519\":{\"message\":\"Started intent=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimation.java\"},\"646981048\":{\"message\":\"Invalid displayId for requestScrollCapture: %d\",\"level\":\"ERROR\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"662572728\":{\"message\":\"Attempted to add a toast window with bad token %s.  Aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"665256544\":{\"message\":\"All windows drawn!\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_SCREEN_ON\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"666937535\":{\"message\":\"attachWindowContextToDisplayArea: trying to attach to a non-existing display:%d\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"669361121\":{\"message\":\"Sleep still need to stop %d activities\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"674932310\":{\"message\":\"Setting Intent of %s to target %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/Task.java\"},\"675705156\":{\"message\":\"resumeTopActivity: Top activity resumed %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"685047360\":{\"message\":\"Resizing window %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_RESIZE\",\"at\":\"com/android/server/wm/WindowState.java\"},\"691515534\":{\"message\":\"  Commit wallpaper becoming invisible: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"693423992\":{\"message\":\"setAnimationLocked: setting mFocusMayChange true\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_FOCUS_LIGHT\",\"at\":\"com/android/server/wm/WindowState.java\"},\"704998117\":{\"message\":\"Failed to create surface control for %s\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"708142634\":{\"message\":\"Top resumed state released %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityTaskSupervisor.java\"},\"715749922\":{\"message\":\"Allowlisting %d:%s\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_LOCKTASK\",\"at\":\"com/android/server/wm/ActivityTaskManagerService.java\"},\"726205185\":{\"message\":\"Moving to DESTROYED: %s (destroy skipped)\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"733466617\":{\"message\":\"Wallpaper token %s visible=%b\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_WALLPAPER\",\"at\":\"com/android/server/wm/WallpaperWindowToken.java\"},\"736692676\":{\"message\":\"Config is relaunching %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"743418423\":{\"message\":\"Sending TaskFragment error exception=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/TaskFragmentOrganizerController.java\"},\"744171317\":{\"message\":\"      SKIP: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"745391677\":{\"message\":\"  CREATE SURFACE %s IN SESSION %s: pid=%d format=%d flags=0x%x / %s\",\"level\":\"INFO\",\"group\":\"WM_SHOW_SURFACE_ALLOC\",\"at\":\"com/android/server/wm/WindowStateAnimator.java\"},\"765395228\":{\"message\":\"onAnimationFinished(): controller=%s reorderMode=%d\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimation.java\"},\"781471998\":{\"message\":\"moveWindowTokenToDisplay: Cannot move to the original display for token: %s\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"791468751\":{\"message\":\"Pausing rotation during re-position\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/TaskPositioner.java\"},\"793568608\":{\"message\":\"        SKIP: sibling is visible but not part of transition\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"794570322\":{\"message\":\"Now closing app %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/AppTransitionController.java\"},\"800698875\":{\"message\":\"SyncGroup %d: Started when there is other active SyncGroup\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_SYNC_ENGINE\",\"at\":\"com/android/server/wm/BLASTSyncEngine.java\"},\"806891543\":{\"message\":\"Setting mOrientationChangeComplete=true because wtoken %s numInteresting=%d numDrawn=%d\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"829434921\":{\"message\":\"Draw state now committed in %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/WindowStateAnimator.java\"},\"835814848\":{\"message\":\"%s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"872933199\":{\"message\":\"Changing focus from %s to %s displayId=%d Callers=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_FOCUS_LIGHT\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"873914452\":{\"message\":\"goodToGo()\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"892244061\":{\"message\":\"Waiting for drawn %s: removed=%b visible=%b mHasSurface=%b drawState=%d\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_SCREEN_ON\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"895158150\":{\"message\":\"allPausedActivitiesComplete: r=%s state=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"898863925\":{\"message\":\"Attempted to add QS dialog window with unknown token %s.  Aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"906215061\":{\"message\":\"Apply window transaction, syncId=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/WindowOrganizerController.java\"},\"913494177\":{\"message\":\"removeAllWindowsIfPossible: removing win=%s\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_WINDOW_MOVEMENT\",\"at\":\"com/android/server/wm/WindowToken.java\"},\"916191774\":{\"message\":\"Orientation change complete in %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/WindowStateAnimator.java\"},\"935418348\":{\"message\":\"resumeTopActivity: Skip resume: some activity pausing.\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"948208142\":{\"message\":\"Setting Activity.mLauncherTaskBehind to true. Activity=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_BACK_PREVIEW\",\"at\":\"com/android/server/wm/BackNavigationController.java\"},\"950074526\":{\"message\":\"setLockTaskMode: Can't lock due to auth\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_LOCKTASK\",\"at\":\"com/android/server/wm/LockTaskController.java\"},\"954470154\":{\"message\":\"FORCED DISPLAY SCALING DISABLED\",\"level\":\"INFO\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"956374481\":{\"message\":\"removeLockedTask: task=%s last task, reverting locktask mode. Callers=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_LOCKTASK\",\"at\":\"com/android/server/wm/LockTaskController.java\"},\"959486822\":{\"message\":\"setSyncGroup #%d on %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_SYNC_ENGINE\",\"at\":\"com/android/server/wm/WindowContainer.java\"},\"966569777\":{\"message\":\"SyncGroup %d: onSurfacePlacement checking %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_SYNC_ENGINE\",\"at\":\"com/android/server/wm/BLASTSyncEngine.java\"},\"969323241\":{\"message\":\"Sending new config to %s, config: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"972354148\":{\"message\":\"\\tcontainer=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"979347997\":{\"message\":\"Launch on display check: disallow activity embedding without permission.\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/ActivityTaskSupervisor.java\"},\"987903142\":{\"message\":\"Sleep needs to pause %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"996960396\":{\"message\":\"Starting Transition %d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"1001904964\":{\"message\":\"***** BOOT TIMEOUT: forcing display enabled\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1011462000\":{\"message\":\"Re-launching after pause: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"1022095595\":{\"message\":\"TaskFragment info changed name=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/TaskFragmentOrganizerController.java\"},\"1023413388\":{\"message\":\"Finish waiting for pause of: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1030898920\":{\"message\":\"notifyInsetsControlChanged for %s \",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_WINDOW_INSETS\",\"at\":\"com/android/server/wm/WindowState.java\"},\"1033274509\":{\"message\":\"moveWindowTokenToDisplay: Attempted to move non-existing token: %s\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1040675582\":{\"message\":\"Can't report activity configuration update - client not running, activityRecord=%s\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1046922686\":{\"message\":\"requestScrollCapture: caught exception dispatching callback: %s\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1047505501\":{\"message\":\"notifyInsetsChanged for %s \",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_WINDOW_INSETS\",\"at\":\"com/android/server/wm/WindowState.java\"},\"1047769218\":{\"message\":\"Finishing activity r=%s, result=%d, data=%s, reason=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1049367566\":{\"message\":\"Sending to proc %s new config %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/WindowProcessController.java\"},\"1051545910\":{\"message\":\"Exit animation finished in %s: remove=%b\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/WindowState.java\"},\"1068803972\":{\"message\":\"Activity paused: token=%s, timeout=%b\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1073230342\":{\"message\":\"startAnimation\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/WallpaperAnimationAdapter.java\"},\"1087494661\":{\"message\":\"Clear window stuck on animatingExit status: %s\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/WindowState.java\"},\"1088929964\":{\"message\":\"onLockTaskPackagesUpdated: starting new locktask task=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_LOCKTASK\",\"at\":\"com/android/server/wm/LockTaskController.java\"},\"1089714158\":{\"message\":\"  FREEZE %s: DESTROY\",\"level\":\"INFO\",\"group\":\"WM_SHOW_SURFACE_ALLOC\",\"at\":\"com/android/server/wm/ScreenRotationAnimation.java\"},\"1100065297\":{\"message\":\"Attempted to get IME policy of a display that does not exist: %d\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1105210816\":{\"message\":\"Skipping config check in destroyed state %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1112047265\":{\"message\":\"finishDrawingWindow: %s mDrawState=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1115248873\":{\"message\":\"Calling onTransitionReady: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"1115417974\":{\"message\":\"FORCED DISPLAY SIZE: %dx%d\",\"level\":\"INFO\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1126328412\":{\"message\":\"Scheduling idle now: forceIdle=%b immediate=%b\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1140424002\":{\"message\":\"Finished screen turning on...\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_SCREEN_ON\",\"at\":\"com/android/server/wm/DisplayPolicy.java\"},\"1149424314\":{\"message\":\"Unregister display organizer=%s uid=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/DisplayAreaOrganizerController.java\"},\"1166381079\":{\"message\":\"Execute app transition: %s, displayId: %d Callers=%s\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"1172542963\":{\"message\":\"onBackNavigationDone backType=%s, task=%s, prevTaskTopActivity=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_BACK_PREVIEW\",\"at\":\"com/android/server/wm/BackNavigationController.java\"},\"1178653181\":{\"message\":\"Old wallpaper still the target.\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WALLPAPER\",\"at\":\"com/android/server/wm/WallpaperController.java\"},\"1191587912\":{\"message\":\"Moved rootTask=%s behind rootTask=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimation.java\"},\"1192413464\":{\"message\":\"Comparing existing cls=%s /aff=%s to new cls=%s /aff=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"1208313423\":{\"message\":\"addWindowToken: Attempted to add token: %s for non-exiting displayId=%d\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1210037962\":{\"message\":\"Register remote animations for organizer=%s uid=%d pid=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/TaskFragmentOrganizerController.java\"},\"1219600119\":{\"message\":\"addWindow: win=%s Callers=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_FOCUS\",\"at\":\"com/android/server/wm/WindowToken.java\"},\"1224184681\":{\"message\":\"No longer Stopped: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1224307091\":{\"message\":\"checkBootAnimationComplete: Animation complete!\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_BOOT\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1246035185\":{\"message\":\"stopFreezingDisplayLocked: Returning waitingForConfig=%b, waitingForRemoteRotation=%b, mAppsFreezingScreen=%d, mWindowsFreezingScreen=%d, mClientFreezingScreen=%b, mOpeningApps.size()=%d\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1252594551\":{\"message\":\"Window types in WindowContext and LayoutParams.type should match! Type from LayoutParams is %d, but type from WindowContext is %d\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1254403969\":{\"message\":\"Surface returned was null: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1270792394\":{\"message\":\"Resumed after relaunch %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1284122013\":{\"message\":\"TaskFragment appeared name=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/TaskFragmentOrganizerController.java\"},\"1288731814\":{\"message\":\"WindowState.hideLw: setting mFocusMayChange true\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_FOCUS_LIGHT\",\"at\":\"com/android/server/wm/WindowState.java\"},\"1305412562\":{\"message\":\"Report configuration: %s %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityClientController.java\"},\"1316533291\":{\"message\":\"State movement: %s from:%s to:%s reason:%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1325649102\":{\"message\":\"Bad requesting window %s\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1329340614\":{\"message\":\"Orientation not waiting for draw in %s, surfaceController %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/WindowState.java\"},\"1330804250\":{\"message\":\"addChild: %s at top.\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/Task.java\"},\"1331177619\":{\"message\":\"Attempted to add a toast window with unknown token %s.  Aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1333520287\":{\"message\":\"Creating PendingTransition: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/TransitionController.java\"},\"1337596507\":{\"message\":\"Sending to proc %s new compat %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/CompatModePackages.java\"},\"1346895820\":{\"message\":\"ScreenRotation still animating: type: %d\\nmDisplayAnimator: %s\\nmEnterBlackFrameAnimator: %s\\nmRotateScreenAnimator: %s\\nmScreenshotRotationAnimator: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/ScreenRotationAnimation.java\"},\"1364126018\":{\"message\":\"Resumed activity; dropping state of: %s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1364498663\":{\"message\":\"notifyAppResumed: wasStopped=%b %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1373000889\":{\"message\":\"abortShowImePostLayout\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_IME\",\"at\":\"com/android/server/wm/ImeInsetsSourceProvider.java\"},\"1381227466\":{\"message\":\"App is requesting an orientation, return %d for display id=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/TaskDisplayArea.java\"},\"1396893178\":{\"message\":\"createRootTask unknown displayId=%d\",\"level\":\"ERROR\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/TaskOrganizerController.java\"},\"1401287081\":{\"message\":\"Handle incoming session on display %d, with a pre-existing session %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONTENT_RECORDING\",\"at\":\"com/android/server/wm/ContentRecordingController.java\"},\"1401295262\":{\"message\":\"Mode default, asking user\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_LOCKTASK\",\"at\":\"com/android/server/wm/LockTaskController.java\"},\"1401700824\":{\"message\":\"Window drawn win=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_SCREEN_ON\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1422781269\":{\"message\":\"Resuming rotation after re-position\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/TaskPositioner.java\"},\"1423418408\":{\"message\":\"unable to restore pointer icon\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1423592961\":{\"message\":\"<<< CLOSE TRANSACTION removeReplacedWindows\",\"level\":\"INFO\",\"group\":\"WM_SHOW_TRANSACTIONS\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"1430336882\":{\"message\":\"findFocusedWindow: focusedApp windows not focusable using new focus @ %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_FOCUS_LIGHT\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"1434383382\":{\"message\":\"Attempted to get flag of a display that does not exist: %d\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1444064727\":{\"message\":\"Unexpectedly null window container; unable to update recording for display %d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONTENT_RECORDING\",\"at\":\"com/android/server/wm/ContentRecorder.java\"},\"1448683958\":{\"message\":\"Override pending remote transitionSet=%b adapter=%s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/AppTransition.java\"},\"1457990604\":{\"message\":\"applyAnimation: anim=%s nextAppTransition=ANIM_CUSTOM_IN_PLACE transit=%s Callers=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS_ANIM\",\"at\":\"com/android/server/wm/AppTransition.java\"},\"1460759282\":{\"message\":\"getAnimationTarget in=%s, out=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS_ANIM\",\"at\":\"com/android/server/wm/AppTransitionController.java\"},\"1469310004\":{\"message\":\"          SKIP: common mode mismatch. was %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"1494644409\":{\"message\":\"  Rejecting as detached: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"1495525537\":{\"message\":\"createWallpaperAnimations()\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimationController.java\"},\"1497304204\":{\"message\":\"Deferring rotation, rotation is paused.\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/DisplayRotation.java\"},\"1504168072\":{\"message\":\"removeIfPossible: %s callers=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/WindowState.java\"},\"1515161239\":{\"message\":\"removeDeadWindows: %s\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1518495446\":{\"message\":\"removeWindowToken: Attempted to remove non-existing token: %s\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1519757176\":{\"message\":\"setHomeApp(%s)\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimationController.java\"},\"1521476038\":{\"message\":\"Attempted to set flag to a display that does not exist: %d\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1524174282\":{\"message\":\"Launch on display check: no caller info, skip check\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/ActivityTaskSupervisor.java\"},\"1525976603\":{\"message\":\"cancelAnimation(): reason=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimationController.java\"},\"1528528509\":{\"message\":\"No thumbnail header bitmap for: %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1544805551\":{\"message\":\"Skipping app transition animation. task=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_BACK_PREVIEW\",\"at\":\"com/android/server/wm/Task.java\"},\"1557732761\":{\"message\":\"For Intent %s bringing to top: %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"1563755163\":{\"message\":\"Permission Denial: %s from pid=%d, uid=%d requires %s\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1577579529\":{\"message\":\"win=%s destroySurfaces: appStopped=%b win.mWindowRemovalAllowed=%b win.mRemoveOnExit=%b\",\"level\":\"ERROR\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/WindowState.java\"},\"1584270979\":{\"message\":\"applyAnimation: container=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS_ANIM\",\"at\":\"com/android/server/wm/WindowContainer.java\"},\"1589610525\":{\"message\":\"applyAnimation NEXT_TRANSIT_TYPE_OPEN_CROSS_PROFILE_APPS: anim=%s transit=%s isEntrance=true Callers=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS_ANIM\",\"at\":\"com/android/server/wm/AppTransition.java\"},\"1608402305\":{\"message\":\"Unable to start recording due to invalid region for display %d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONTENT_RECORDING\",\"at\":\"com/android/server/wm/ContentRecorder.java\"},\"1610646518\":{\"message\":\"Enqueueing pending finish: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1628345525\":{\"message\":\"Now opening app %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/AppTransitionController.java\"},\"1634557978\":{\"message\":\"**** Dismissing screen rotation animation\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1635062046\":{\"message\":\"Skipping config check invisible: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1635462459\":{\"message\":\"onMovedByResize: Moving %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RESIZE\",\"at\":\"com/android/server/wm/WindowState.java\"},\"1640436199\":{\"message\":\"No app is requesting an orientation, return %d for display id=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/TaskDisplayArea.java\"},\"1648338379\":{\"message\":\"Display id=%d is ignoring all orientation requests, return %d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"1653025361\":{\"message\":\"Register task fragment organizer=%s uid=%d pid=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/TaskFragmentOrganizerController.java\"},\"1653210583\":{\"message\":\"Removing app %s delayed=%b animation=%s animating=%b\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1658605381\":{\"message\":\"onImeControlTargetChanged %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_IME\",\"at\":\"com/android/server/wm/InsetsStateController.java\"},\"1670933628\":{\"message\":\" Setting allReady override\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"1671994402\":{\"message\":\"Nulling last startingData\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1674747211\":{\"message\":\"%s forcing orientation to %d for display id=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/DisplayArea.java\"},\"1677260366\":{\"message\":\"Finish starting %s: first real window is shown, no animation\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1679569477\":{\"message\":\"Configuration doesn't matter not running %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1689989893\":{\"message\":\"SyncGroup %d: Set ready\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_SYNC_ENGINE\",\"at\":\"com/android/server/wm/BLASTSyncEngine.java\"},\"1699269281\":{\"message\":\"Don't organize or trigger events for untrusted displayId=%d\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/DisplayAreaOrganizerController.java\"},\"1720229827\":{\"message\":\"Creating animation bounds layer\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_APP_TRANSITIONS_ANIM\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1720696061\":{\"message\":\"Adding window to Display that has been removed.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1739298851\":{\"message\":\"removeWindowToken: Attempted to remove token: %s for non-exiting displayId=%d\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1742235936\":{\"message\":\"Removing startingView=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1746778201\":{\"message\":\"Set freezing of %s: visible=%b freezing=%b visibleRequested=%b. %s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1756082882\":{\"message\":\"Orientation change skips hidden %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/WindowStateAnimator.java\"},\"1774661765\":{\"message\":\"Devices still not ready after waiting %d milliseconds before attempting to detect safe mode.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1781673113\":{\"message\":\"onAnimationFinished(): targetRootTask=%s targetActivity=%s mRestoreTargetBehindRootTask=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimation.java\"},\"1789321832\":{\"message\":\"Then token:%s is invalid. It might be removed\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1789603530\":{\"message\":\"Removing activity %s hasSavedState=%b stateNotNeeded=%s finishing=%b state=%s callers=%s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1794249572\":{\"message\":\"Requesting StartTransition: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/TransitionController.java\"},\"1804245629\":{\"message\":\"Attempted to add starting window to token but already cleaned\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1805116444\":{\"message\":\"We don't support remote animation for Task with multiple TaskFragmentOrganizers.\",\"level\":\"ERROR\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/AppTransitionController.java\"},\"1810019902\":{\"message\":\"TRANSIT_FLAG_OPEN_BEHIND,  adding %s to mOpeningApps\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1822314934\":{\"message\":\"Expected target rootTask=%s to restored behind rootTask=%s but it is behind rootTask=%s\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimation.java\"},\"1822843721\":{\"message\":\"Aborted starting %s: startingData=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1824105730\":{\"message\":\"setLockTaskAuth: task=%s mLockTaskAuth=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_LOCKTASK\",\"at\":\"com/android/server/wm/Task.java\"},\"1829094918\":{\"message\":\"onLockTaskPackagesUpdated: removing %s mLockTaskAuth()=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_LOCKTASK\",\"at\":\"com/android/server/wm/LockTaskController.java\"},\"1831008694\":{\"message\":\"Loading animation for app transition. transit=%s enter=%b frame=%s insets=%s surfaceInsets=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/WindowContainer.java\"},\"1836214582\":{\"message\":\"startingData was nulled out before handling mAddStartingWindow: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1836306327\":{\"message\":\"Skipping set freeze of %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1853793312\":{\"message\":\"Notify removed startingWindow %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1856211951\":{\"message\":\"moveFocusableActivityToTop: already on top, activity=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_FOCUS\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1856783490\":{\"message\":\"resumeTopActivity: Restarting %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"1865125884\":{\"message\":\"finishScreenTurningOn: mAwake=%b, mScreenOnEarly=%b, mScreenOnFully=%b, mKeyguardDrawComplete=%b, mWindowManagerDrawComplete=%b\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_SCREEN_ON\",\"at\":\"com/android/server/wm/DisplayPolicy.java\"},\"1866772666\":{\"message\":\"SAFE MODE not enabled\",\"level\":\"INFO\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"1874559932\":{\"message\":\"The TaskDisplayArea with %s does not exist.\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/DisplayAreaPolicyBuilder.java\"},\"1891501279\":{\"message\":\"cancelAnimation(): reason=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"1903353011\":{\"message\":\"notifyAppStopped: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1912291550\":{\"message\":\"Sleep still waiting to pause %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"1918448345\":{\"message\":\"Task appeared taskId=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/TaskOrganizerController.java\"},\"1921821199\":{\"message\":\"Preserving %s until the new one is added\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/WindowState.java\"},\"1928325128\":{\"message\":\"Run showImeRunner\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_IME\",\"at\":\"com/android/server/wm/ImeInsetsSourceProvider.java\"},\"1931178855\":{\"message\":\"\\tnonApp=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"1947239194\":{\"message\":\"Deferring rotation, still finishing previous rotation\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/DisplayRotation.java\"},\"1947936538\":{\"message\":\"Found matching class!\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"1948483534\":{\"message\":\"Could not report config changes to the window token client.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowContextListenerController.java\"},\"1964565370\":{\"message\":\"Starting remote animation\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"1967975839\":{\"message\":\"Changing app %s visible=%b performLayout=%b\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/AppTransitionController.java\"},\"1984782949\":{\"message\":\">>> OPEN TRANSACTION animate\",\"level\":\"INFO\",\"group\":\"WM_SHOW_TRANSACTIONS\",\"at\":\"com/android/server/wm/WindowAnimator.java\"},\"1984843251\":{\"message\":\"Hiding wallpaper %s from %s target=%s prev=%s callers=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_WALLPAPER\",\"at\":\"com/android/server/wm/WallpaperController.java\"},\"1995093920\":{\"message\":\"Checking to restart %s: changed=0x%s, handles=0x%s, mLastReportedConfiguration=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"1999594750\":{\"message\":\"startAnimation\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/NonAppWindowAnimationAdapter.java\"},\"2001473656\":{\"message\":\"App %s is focused, but the window is not ready. Start a transaction to remove focus from the window of non-focused apps.\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_FOCUS_LIGHT\",\"at\":\"com/android/server/wm/InputMonitor.java\"},\"2018454757\":{\"message\":\"WS.removeImmediately: %s Already removed...\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/WindowState.java\"},\"2018852077\":{\"message\":\"Creating SplashScreenStartingData\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"2022422429\":{\"message\":\"createAnimationAdapter(): container=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"2024493888\":{\"message\":\"\\tWallpaper of display=%s is not visible\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/WallpaperAnimationAdapter.java\"},\"2028163120\":{\"message\":\"applyAnimation: anim=%s nextAppTransition=ANIM_SCALE_UP transit=%s isEntrance=%s Callers=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS_ANIM\",\"at\":\"com/android/server/wm/AppTransition.java\"},\"2034780299\":{\"message\":\"CHECK_IF_BOOT_ANIMATION_FINISHED:\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_BOOT\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"2034988903\":{\"message\":\"PendingStartTransaction found\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/WindowOrganizerController.java\"},\"2039056415\":{\"message\":\"Found matching affinity candidate!\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"2045641491\":{\"message\":\"Checking %d opening apps (frozen=%b timeout=%b)...\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/AppTransitionController.java\"},\"2060978050\":{\"message\":\"moveWindowTokenToDisplay: Attempted to move token: %s to non-exiting displayId=%d\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"2070726247\":{\"message\":\"InsetsSource updateVisibility for %s, serverVisible: %s clientVisible: %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_WINDOW_INSETS\",\"at\":\"com/android/server/wm/InsetsSourceProvider.java\"},\"2083556954\":{\"message\":\"Set mOrientationChanging of %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"2086878461\":{\"message\":\"Could not send command %s with parameters %s. %s\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"2088592090\":{\"message\":\"handleNotObscuredLocked: %s was holding screen wakelock but no longer has FLAG_KEEP_SCREEN_ON!!! called by%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_KEEP_SCREEN_ON\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"2096635066\":{\"message\":\"Acquiring screen wakelock due to %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_KEEP_SCREEN_ON\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"2114149926\":{\"message\":\"Not removing %s because app died while it's visible\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/WindowState.java\"},\"2117696413\":{\"message\":\"moveTaskToFront: moving taskId=%d\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/ActivityTaskManagerService.java\"},\"2119122320\":{\"message\":\"setInputMethodTarget %s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_IME\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"2128917433\":{\"message\":\"onProposedRotationChanged, rotation=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/DisplayRotation.java\"},\"2137411379\":{\"message\":\"applyAnimation: anim=%s animAttr=0x%x transit=%s isEntrance=%b Callers=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS_ANIM\",\"at\":\"com/android/server/wm/AppTransition.java\"},\"-2146181682\":{\"message\":\"Releasing screen wakelock, obscured by %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_KEEP_SCREEN_ON\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-2127842445\":{\"message\":\"Clearing startingData for token=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-2121056984\":{\"message\":\"%s\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_LOCKTASK\",\"at\":\"com/android/server/wm/LockTaskController.java\"},\"-2109936758\":{\"message\":\"removeAppToken make exiting: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-2109864870\":{\"message\":\"app-release(): mOuter=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"-2107721178\":{\"message\":\"grantEmbeddedWindowFocus win=%s grantFocus=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_FOCUS\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-2101985723\":{\"message\":\"Failed looking up window session=%s callers=%s\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-2093859262\":{\"message\":\"setClientVisible: %s clientVisible=%b Callers=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/WindowToken.java\"},\"-2072089308\":{\"message\":\"Attempted to add window with token that is a sub-window: %s.  Aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-2054442123\":{\"message\":\"Setting Intent of %s to %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/Task.java\"},\"-2049725903\":{\"message\":\"Task back pressed on root taskId=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/TaskOrganizerController.java\"},\"-2039580386\":{\"message\":\"Attempted to add input method window with unknown token %s.  Aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-2036671725\":{\"message\":\"      SKIP: is wallpaper\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"-2024464438\":{\"message\":\"app-onAnimationFinished(): mOuter=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"-2014162875\":{\"message\":\"Could not register window container listener token=%s, container=%s\",\"level\":\"ERROR\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowContextListenerController.java\"},\"-2012562539\":{\"message\":\"startAnimation(): Notify animation start:\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"-2010331310\":{\"message\":\"resumeTopActivity: Top activity resumed (dontWaitForPause) %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"-1980468143\":{\"message\":\"DisplayArea appeared name=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/DisplayAreaOrganizerController.java\"},\"-1979455254\":{\"message\":\"Launch on display check: allow launch for caller present on the display\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/ActivityTaskSupervisor.java\"},\"-1976930686\":{\"message\":\"Attempted to add Accessibility overlay window with bad token %s.  Aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1973119651\":{\"message\":\"SyncGroup %d: Adding to group: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_SYNC_ENGINE\",\"at\":\"com/android/server/wm/BLASTSyncEngine.java\"},\"-1963461591\":{\"message\":\"Removing %s from %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1963363332\":{\"message\":\"Restart top activity process of Task taskId=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/TaskOrganizerController.java\"},\"-1949279037\":{\"message\":\"Attempted to add input method window with bad token %s.  Aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1939861963\":{\"message\":\"Create root task displayId=%d winMode=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/TaskOrganizerController.java\"},\"-1938839202\":{\"message\":\"SURFACE LEAK DESTROY: %s\",\"level\":\"INFO\",\"group\":\"WM_SHOW_TRANSACTIONS\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"-1938204785\":{\"message\":\"Moving existing starting %s from %s to %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1924376693\":{\"message\":\" Setting Ready-group to %b. group=%s from %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"-1918702467\":{\"message\":\"onSyncFinishedDrawing %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_SYNC_ENGINE\",\"at\":\"com/android/server/wm/WindowContainer.java\"},\"-1915280162\":{\"message\":\"Attempted to add wallpaper window with bad token %s.  Aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1906387645\":{\"message\":\"SURFACE controller=%s alpha=%f HScale=%f, VScale=%f: %s\",\"level\":\"INFO\",\"group\":\"WM_SHOW_TRANSACTIONS\",\"at\":\"com/android/server/wm/WindowStateAnimator.java\"},\"-1905191109\":{\"message\":\"SyncGroup %d: Finished!\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_SYNC_ENGINE\",\"at\":\"com/android/server/wm/BLASTSyncEngine.java\"},\"-1895337367\":{\"message\":\"Delete root task display=%d winMode=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/TaskOrganizerController.java\"},\"-1886145147\":{\"message\":\"resumeTopActivity: Going to sleep and all paused\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"-1884933373\":{\"message\":\"enableScreenAfterBoot: mDisplayEnabled=%b mForceDisplayEnabled=%b mShowingBootMessages=%b mSystemBooted=%b. %s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_BOOT\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1878839956\":{\"message\":\"Marking app token %s with replacing windows.\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1872288685\":{\"message\":\"applyAnimation: anim=%s nextAppTransition=%s transit=%s isEntrance=%b Callers=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS_ANIM\",\"at\":\"com/android/server/wm/AppTransition.java\"},\"-1868124841\":{\"message\":\"screenOnEarly=%b, awake=%b, currentAppOrientation=%d, orientationSensorEnabled=%b, keyguardDrawComplete=%b, windowManagerDrawComplete=%b\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/DisplayRotation.java\"},\"-1868048288\":{\"message\":\"Updating to new configuration after starting activity.\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityStarter.java\"},\"-1862269827\":{\"message\":\"applyAnimation: anim=%s transit=%s isEntrance=%b Callers=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS_ANIM\",\"at\":\"com/android/server/wm/AppTransition.java\"},\"-1844540996\":{\"message\":\"  Initial targets: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"-1838803135\":{\"message\":\"Attempted to set windowing mode to a display that does not exist: %d\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1834214907\":{\"message\":\"createNonAppWindowAnimations()\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"-1824578273\":{\"message\":\"Reporting new frame to %s: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_RESIZE\",\"at\":\"com/android/server/wm/WindowState.java\"},\"-1810446914\":{\"message\":\"Trying to update display configuration for system/invalid process.\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityTaskManagerService.java\"},\"-1800899273\":{\"message\":\"applyAnimation: anim=%s transit=%s Callers=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS_ANIM\",\"at\":\"com/android/server/wm/AppTransition.java\"},\"-1792633344\":{\"message\":\"Register task organizer=%s uid=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/TaskOrganizerController.java\"},\"-1791031393\":{\"message\":\"Ensuring correct configuration: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1782453012\":{\"message\":\"Checking theme of starting window: 0x%x\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1781861035\":{\"message\":\"Display %d has content (%b) so pause recording\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONTENT_RECORDING\",\"at\":\"com/android/server/wm/ContentRecorder.java\"},\"-1777196134\":{\"message\":\"goodToGo(): No apps to animate, mPendingAnimations=%d\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"-1770075711\":{\"message\":\"Adding window client %s that is dead, aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1768557332\":{\"message\":\"removeWallpaperAnimation()\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimationController.java\"},\"-1764792832\":{\"message\":\"Start collecting in Transition: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/TransitionController.java\"},\"-1750384749\":{\"message\":\"Launch on display check: allow launch on public display\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/ActivityTaskSupervisor.java\"},\"-1750206390\":{\"message\":\"Exception thrown when creating surface for client %s (%s). %s\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1747461042\":{\"message\":\"set mOrientationChanging of %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/WindowState.java\"},\"-1740512980\":{\"message\":\"Stopping %s: nowVisible=%b animating=%b finishing=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityTaskSupervisor.java\"},\"-1730156332\":{\"message\":\"Display id=%d rotation changed to %d from %d, lastOrientation=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/DisplayRotation.java\"},\"-1728919185\":{\"message\":\"        unrelated invisible sibling %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"-1715268616\":{\"message\":\"Last window, removing starting window %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1710206702\":{\"message\":\"Display id=%d is frozen while keyguard locked, return %d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"-1707370822\":{\"message\":\"Ready to stop: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityTaskSupervisor.java\"},\"-1704402370\":{\"message\":\"resetTaskIntendedTask: calling finishActivity on %s\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/ResetTargetTaskHelper.java\"},\"-1699018375\":{\"message\":\"Adding activity %s to task %s callers: %s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/Task.java\"},\"-1698815688\":{\"message\":\"Resetting app token %s of replacing window marks.\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1679411993\":{\"message\":\"setVr2dDisplayId called for: %d\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/ActivityTaskManagerService.java\"},\"-1670695197\":{\"message\":\"Attempted to add presentation window to a non-suitable display.  Aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1661704580\":{\"message\":\"Attempted to set replacing window on non-existing app token %s\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1647332198\":{\"message\":\"remove RecentTask %s when finishing user %d\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/RecentTasks.java\"},\"-1638958146\":{\"message\":\"Removing activity %s from task=%s adding to task=%s Callers=%s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/ResetTargetTaskHelper.java\"},\"-1633115609\":{\"message\":\"Key dispatch not paused for screen off\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"-1632122349\":{\"message\":\"Changing surface while display frozen: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1630752478\":{\"message\":\"removeLockedTask: removed %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_LOCKTASK\",\"at\":\"com/android/server/wm/LockTaskController.java\"},\"-1605829532\":{\"message\":\"Unable to start recording due to null token for display %d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONTENT_RECORDING\",\"at\":\"com/android/server/wm/ContentRecorder.java\"},\"-1598452494\":{\"message\":\"activityDestroyedLocked: r=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_CONTAINERS\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1596995693\":{\"message\":\"startAnimation\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"-1585311008\":{\"message\":\"Bring to front target: %s from %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/ActivityStarter.java\"},\"-1575977269\":{\"message\":\"Skipping %s: mismatch root %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"-1568331821\":{\"message\":\"Enabling listeners\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/DisplayRotation.java\"},\"-1567866547\":{\"message\":\"Collecting in transition %d: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"-1564228464\":{\"message\":\"App died while pausing: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"-1559645910\":{\"message\":\"Looking for task of type=%s, taskAffinity=%s, intent=%s, info=%s, preferredTDA=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"-1558137010\":{\"message\":\"Config is relaunching invisible activity %s called by %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1554521902\":{\"message\":\"showInsets(ime) was requested by different window: %s \",\"level\":\"WARN\",\"group\":\"WM_DEBUG_IME\",\"at\":\"com/android/server/wm/ImeInsetsSourceProvider.java\"},\"-1545962566\":{\"message\":\"View server did not start\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1539974875\":{\"message\":\"removeAppToken: %s delayed=%b Callers=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1526645239\":{\"message\":\"Timeout waiting for drawn: undrawn=%s\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1521427940\":{\"message\":\"commitVisibility: %s: visible=%b mVisibleRequested=%b\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1517908912\":{\"message\":\"requestScrollCapture: caught exception dispatching to window.token=%s\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1515151503\":{\"message\":\">>> OPEN TRANSACTION removeReplacedWindows\",\"level\":\"INFO\",\"group\":\"WM_SHOW_TRANSACTIONS\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"-1501564055\":{\"message\":\"Organized TaskFragment is not ready= %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/AppTransitionController.java\"},\"-1499134947\":{\"message\":\"Removing starting %s from %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1497837552\":{\"message\":\"onAnimationFinished(): mPendingAnimations=%d\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"-1495062622\":{\"message\":\"Can't report activity moved to display - client not running, activityRecord=%s, displayId=%d\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_SWITCH\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1492881555\":{\"message\":\"Starting activity when config will change = %b\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityStarter.java\"},\"-1483435730\":{\"message\":\"InsetsSource setWin %s for type %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_WINDOW_INSETS\",\"at\":\"com/android/server/wm/InsetsSourceProvider.java\"},\"-1480772131\":{\"message\":\"No app or window is requesting an orientation, return %d for display id=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"-1478175541\":{\"message\":\"No longer animating wallpaper targets!\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WALLPAPER\",\"at\":\"com/android/server/wm/WallpaperController.java\"},\"-1474602871\":{\"message\":\"Launch on display check: disallow launch on virtual display for not-embedded activity.\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/ActivityTaskSupervisor.java\"},\"-1474292612\":{\"message\":\"Could not find task for id: %d\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/ActivityTaskManagerService.java\"},\"-1471946192\":{\"message\":\"Marking app token %s with replacing child windows.\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1468740466\":{\"message\":\"Moving to PAUSED: %s (starting in paused state)\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityTaskSupervisor.java\"},\"-1452274694\":{\"message\":\"      CAN PROMOTE: promoting to parent %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"-1443029505\":{\"message\":\"SAFE MODE ENABLED (menu=%d s=%d dpad=%d trackball=%d)\",\"level\":\"INFO\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1442613680\":{\"message\":\" Creating Ready-group for Transition %d with root=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"-1438175584\":{\"message\":\"Input focus has changed to %s display=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_FOCUS_LIGHT\",\"at\":\"com/android/server/wm/InputMonitor.java\"},\"-1434147454\":{\"message\":\"cleanupAnimation(): Notify animation finished mPendingAnimations=%d reorderMode=%d\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimationController.java\"},\"-1432963966\":{\"message\":\"Moving to DESTROYING: %s (destroy requested)\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1427184084\":{\"message\":\"addWindow: New client %s: window=%s Callers=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1421296808\":{\"message\":\"Moving to RESUMED: %s (in existing)\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"-1419762046\":{\"message\":\"moveRootTaskToDisplay: moving taskId=%d to displayId=%d\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/ActivityTaskManagerService.java\"},\"-1419461256\":{\"message\":\"resumeTopActivity: Resumed %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"-1413901262\":{\"message\":\"startRecentsActivity(): intent=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimation.java\"},\"-1410260105\":{\"message\":\"Schedule IME show for %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_IME\",\"at\":\"com/android/server/wm/ImeInsetsSourceProvider.java\"},\"-1394745488\":{\"message\":\"ControlAdapter onAnimationCancelled mSource: %s mControlTarget: %s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_WINDOW_INSETS\",\"at\":\"com/android/server/wm/InsetsSourceProvider.java\"},\"-1391944764\":{\"message\":\"SURFACE DESTROY: %s. %s\",\"level\":\"INFO\",\"group\":\"WM_SHOW_SURFACE_ALLOC\",\"at\":\"com/android/server/wm/WindowStateAnimator.java\"},\"-1389772804\":{\"message\":\"Attempted to add voice interaction window with bad token %s.  Aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1376035390\":{\"message\":\"No task found\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"-1373875178\":{\"message\":\"Going ahead with updating recording for display %d to new bounds %s and/or orientation %d.\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONTENT_RECORDING\",\"at\":\"com/android/server/wm/ContentRecorder.java\"},\"-1364754753\":{\"message\":\"Task vanished taskId=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/TaskOrganizerController.java\"},\"-1352076759\":{\"message\":\"Removing app token: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1350198040\":{\"message\":\"hideBootMessagesLocked: mDisplayEnabled=%b mForceDisplayEnabled=%b mShowingBootMessages=%b mSystemBooted=%b. %s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_BOOT\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1340540100\":{\"message\":\"Creating SnapshotStartingData\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1326876381\":{\"message\":\"Provided surface for recording on display %d is not present, so do not update the surface\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONTENT_RECORDING\",\"at\":\"com/android/server/wm/ContentRecorder.java\"},\"-1311436264\":{\"message\":\"Unregister task fragment organizer=%s uid=%d pid=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/TaskFragmentOrganizerController.java\"},\"-1305966693\":{\"message\":\"Sending position change to %s, onTop: %b\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1305791032\":{\"message\":\"Moving to STOPPED: %s (stop complete)\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1305755880\":{\"message\":\"Initial config: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityTaskManagerService.java\"},\"-1304806505\":{\"message\":\"Starting new activity %s in new task %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/ActivityStarter.java\"},\"-1292329638\":{\"message\":\"Added starting %s: startingWindow=%s startingView=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1270731689\":{\"message\":\"Attempted to set replacing window on app token with no content %s\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1270148832\":{\"message\":\"Resize start waiting for draw, mDrawState=DRAW_PENDING in %s, surfaceController %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_RESIZE\",\"at\":\"com/android/server/wm/WindowState.java\"},\"-1263316010\":{\"message\":\"Computed rotation=%s (%d) for display id=%d based on lastOrientation=%s (%d) and oldRotation=%s (%d)\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/DisplayRotation.java\"},\"-1259022216\":{\"message\":\"SURFACE HIDE ( %s ): %s\",\"level\":\"INFO\",\"group\":\"WM_SHOW_TRANSACTIONS\",\"at\":\"com/android/server/wm/WindowSurfaceController.java\"},\"-1257821162\":{\"message\":\"OUT SURFACE %s: copied\",\"level\":\"INFO\",\"group\":\"WM_SHOW_TRANSACTIONS\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1248645819\":{\"message\":\"\\tAdd container=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"-1228653755\":{\"message\":\"Launch on display check: displayId=%d callingPid=%d callingUid=%d\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/ActivityTaskSupervisor.java\"},\"-1219773477\":{\"message\":\"setInputConsumerEnabled(%s): mCanceled=%b\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimationController.java\"},\"-1207757583\":{\"message\":\"startAnimation(): Notify animation start: %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimationController.java\"},\"-1198579104\":{\"message\":\"Pushing next activity %s out to target's task %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/ResetTargetTaskHelper.java\"},\"-1193946201\":{\"message\":\"Can't report activity position update - client not running, activityRecord=%s\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1187377055\":{\"message\":\"Enqueue pending stop if needed: %s wasStopping=%b visibleRequested=%b\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"-1185473319\":{\"message\":\"ControlAdapter startAnimation mSource: %s controlTarget: %s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_WINDOW_INSETS\",\"at\":\"com/android/server/wm/InsetsSourceProvider.java\"},\"-1176488860\":{\"message\":\"SURFACE isSecure=%b: %s\",\"level\":\"INFO\",\"group\":\"WM_SHOW_TRANSACTIONS\",\"at\":\"com/android/server/wm/WindowSurfaceController.java\"},\"-1164930508\":{\"message\":\"Moving to RESUMED: %s (starting new instance) callers=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/Task.java\"},\"-1156118957\":{\"message\":\"Updated config=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimation.java\"},\"-1153814764\":{\"message\":\"onAnimationCancelled\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/NonAppWindowAnimationAdapter.java\"},\"-1145384901\":{\"message\":\"shouldWaitAnimatingExit: isTransition: %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/WindowState.java\"},\"-1142279614\":{\"message\":\"Looking for focus: %s, flags=%d, canReceive=%b, reason=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_FOCUS\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"-1136467585\":{\"message\":\"The listener does not exist.\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/WindowContextListenerController.java\"},\"-1136139407\":{\"message\":\"no-history finish of %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1130891072\":{\"message\":\"Orientation continue waiting for draw in %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/WindowStateAnimator.java\"},\"-1130868271\":{\"message\":\"Resizing %s WITH DRAW PENDING\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/WindowState.java\"},\"-1128015008\":{\"message\":\"Schedule remove starting %s startingWindow=%s startingView=%s Callers=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1117599386\":{\"message\":\"Deferring rotation, display is not enabled.\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/DisplayRotation.java\"},\"-1115019498\":{\"message\":\"Configuration & display unchanged in %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1113134997\":{\"message\":\"Attempted to add application window with unknown token %s.  Aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1108775960\":{\"message\":\"%s is requesting orientation %d (%s)\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/WindowContainer.java\"},\"-1103716954\":{\"message\":\"Not removing %s due to exit animation\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/WindowState.java\"},\"-1103115659\":{\"message\":\"Performing post-rotate rotation\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"-1101551167\":{\"message\":\"Auto-PIP allowed, entering PIP mode directly: %s, didAutoPip: %b\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"-1089874824\":{\"message\":\"SURFACE SHOW (performLayout): %s\",\"level\":\"INFO\",\"group\":\"WM_SHOW_TRANSACTIONS\",\"at\":\"com/android/server/wm/WindowSurfaceController.java\"},\"-1076978367\":{\"message\":\"thawRotation: mRotation=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1069336896\":{\"message\":\"onRootTaskOrderChanged(): rootTask=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimation.java\"},\"-1060365734\":{\"message\":\"Attempted to add QS dialog window with bad token %s.  Aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1047945589\":{\"message\":\"Remove client=%x, surfaceController=%s Callers=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_FOCUS\",\"at\":\"com/android/server/wm/WindowState.java\"},\"-1042574499\":{\"message\":\"Attempted to add Accessibility overlay window with unknown token %s.  Aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-1022146708\":{\"message\":\"Skipping %s: mismatch activity type\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"-1016578046\":{\"message\":\"Moving to %s Relaunching %s callers=%s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1009117329\":{\"message\":\"isFetchingAppTransitionSpecs=true\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/AppTransitionController.java\"},\"-1003678883\":{\"message\":\"Cleaning splash screen token=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-1003060523\":{\"message\":\"Finish needs to pause: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-993378225\":{\"message\":\"finishDrawingLocked: mDrawState=COMMIT_DRAW_PENDING %s in %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_DRAW\",\"at\":\"com/android/server/wm/WindowStateAnimator.java\"},\"-986746907\":{\"message\":\"Starting window removed %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/WindowState.java\"},\"-957060823\":{\"message\":\"Moving to PAUSING: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"-951939129\":{\"message\":\"Unregister task organizer=%s uid=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/TaskOrganizerController.java\"},\"-948446688\":{\"message\":\"Create TaskDisplayArea uid=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/DisplayAreaOrganizerController.java\"},\"-938271693\":{\"message\":\"allResumedActivitiesIdle: rootTask=%d %s not idle\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"-937498525\":{\"message\":\"Executing finish of failed to pause activity: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-930893991\":{\"message\":\"Set sync ready, syncId=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/WindowOrganizerController.java\"},\"-929676529\":{\"message\":\"Configuration changes for %s, allChanges=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-927199900\":{\"message\":\"Updating global configuration to: %s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityTaskManagerService.java\"},\"-926231510\":{\"message\":\"State unchanged from:%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-917215012\":{\"message\":\"%s: caller %d is using old GET_TASKS but privileged; allowing\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/ActivityTaskManagerService.java\"},\"-916108501\":{\"message\":\"Adding %s to %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/WindowState.java\"},\"-914253865\":{\"message\":\"Attempted to add voice interaction window with unknown token %s.  Aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-883738232\":{\"message\":\"Adding more than one toast window for UID at a time.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-877494781\":{\"message\":\"Start pushing activity %s out to bottom task %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/ResetTargetTaskHelper.java\"},\"-874888131\":{\"message\":\"Set transition ready=%b %d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"-874446906\":{\"message\":\"showBootMessage: msg=%s always=%b mAllowBootMessages=%b mShowingBootMessages=%b mSystemBooted=%b. %s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_BOOT\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-863438038\":{\"message\":\"Aborting Transition: %d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"-861859917\":{\"message\":\"Attempted to add window to a display that does not exist: %d. Aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-861707633\":{\"message\":\"Destroying surface %s called by %s\",\"level\":\"INFO\",\"group\":\"WM_SHOW_SURFACE_ALLOC\",\"at\":\"com/android/server/wm/WindowSurfaceController.java\"},\"-856750101\":{\"message\":\"Launch on display check: allow launch for owner of the display\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/ActivityTaskSupervisor.java\"},\"-856590985\":{\"message\":\"dcTarget: %s mImeRequester: %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_IME\",\"at\":\"com/android/server/wm/ImeInsetsSourceProvider.java\"},\"-853404763\":{\"message\":\"\\twallpaper=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"-853226675\":{\"message\":\"Attempted to add window with exiting application token .%s Aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-846931068\":{\"message\":\"Update camera compat control state to %s for taskId=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/TaskOrganizerController.java\"},\"-846078709\":{\"message\":\"Configuration doesn't matter in finishing %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-814760297\":{\"message\":\"Looking for task of %s in %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"-809771899\":{\"message\":\"findFocusedWindow: Reached focused app=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_FOCUS_LIGHT\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"-804217032\":{\"message\":\"Skipping config check (will change): %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-784959154\":{\"message\":\"Attempted to add private presentation window to a non-private display.  Aborting.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-783405930\":{\"message\":\"Performing post-rotate rotation\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-779535710\":{\"message\":\"Transition %d: Set %s as transient-launch\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"-779095785\":{\"message\":\"        sibling is a participant with mode %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"-775004869\":{\"message\":\"Not a match: %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"-771177730\":{\"message\":\"Removing focused app token:%s displayId=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_FOCUS_LIGHT\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-766059044\":{\"message\":\"Display id=%d selected orientation %s (%d), got rotation %s (%d)\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/DisplayRotation.java\"},\"-760801764\":{\"message\":\"onAnimationCancelled\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/WallpaperAnimationAdapter.java\"},\"-760764543\":{\"message\":\"Focus not requested for window=%s because it has no surface or is not focusable.\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_FOCUS_LIGHT\",\"at\":\"com/android/server/wm/InputMonitor.java\"},\"-754503024\":{\"message\":\"Relayout %s: oldVis=%d newVis=%d. %s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_SCREEN_ON\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-751255162\":{\"message\":\"Unable to update recording for display %d to new bounds %s and/or orientation %d, since the surface is not available.\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONTENT_RECORDING\",\"at\":\"com/android/server/wm/ContentRecorder.java\"},\"-743856570\":{\"message\":\"shouldWaitAnimatingExit: isAnimating: %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/WindowState.java\"},\"-743431900\":{\"message\":\"Configuration no differences in %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-732715767\":{\"message\":\"Unable to retrieve window container to start recording for display %d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONTENT_RECORDING\",\"at\":\"com/android/server/wm/ContentRecorder.java\"},\"-729530161\":{\"message\":\"Moving to DESTROYED: %s (no app)\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-711194343\":{\"message\":\"Setting Activity.mLauncherTaskBehind to false. Activity=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_BACK_PREVIEW\",\"at\":\"com/android/server/wm/BackNavigationController.java\"},\"-706481945\":{\"message\":\"TaskFragment parent info changed name=%s parentTaskId=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/TaskFragmentOrganizerController.java\"},\"-705939410\":{\"message\":\"Waiting for pause to complete...\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-703543418\":{\"message\":\"      check sibling %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"-702650156\":{\"message\":\"Override with TaskFragment remote animation for transit=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/AppTransitionController.java\"},\"-701167286\":{\"message\":\"applyAnimation: transit=%s, enter=%b, wc=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS_ANIM\",\"at\":\"com/android/server/wm/WindowContainer.java\"},\"-694710814\":{\"message\":\"Pausing rotation during drag\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/DragState.java\"},\"-677449371\":{\"message\":\"moveTaskToRootTask: moving task=%d to rootTaskId=%d toTop=%b\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/ActivityTaskManagerService.java\"},\"-672355406\":{\"message\":\"  Rejecting as no-op: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"-668956537\":{\"message\":\"  THUMBNAIL %s: CREATE\",\"level\":\"INFO\",\"group\":\"WM_SHOW_TRANSACTIONS\",\"at\":\"com/android/server/wm/SurfaceFreezer.java\"},\"-666510420\":{\"message\":\"With display frozen, orientationChangeComplete=%b\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"-655104359\":{\"message\":\"Frontmost changed immersion: %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_IMMERSIVE\",\"at\":\"com/android/server/wm/ActivityClientController.java\"},\"-653156702\":{\"message\":\"createAppAnimations()\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_REMOTE_ANIMATIONS\",\"at\":\"com/android/server/wm/RemoteAnimationController.java\"},\"-648891906\":{\"message\":\"Activity not running or entered PiP, resuming next.\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"-641258376\":{\"message\":\"realStartActivityLocked: Skipping start of r=%s some activities pausing...\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityTaskSupervisor.java\"},\"-639217716\":{\"message\":\"setFocusedApp %s displayId=%d Callers=%s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_FOCUS_LIGHT\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"-635082269\":{\"message\":\"******** booted=%b msg=%b haveBoot=%b haveApp=%b haveWall=%b wallEnabled=%b haveKeyguard=%b\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_SCREEN_ON\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"-622997754\":{\"message\":\"postWindowRemoveCleanupLocked: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-622017164\":{\"message\":\"Finish Transition: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/TransitionController.java\"},\"-618015844\":{\"message\":\"performEnableScreen: mDisplayEnabled=%b mForceDisplayEnabled=%b mShowingBootMessages=%b mSystemBooted=%b mOnlyCore=%b. %s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_BOOT\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-597091183\":{\"message\":\"Delete TaskDisplayArea uid=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/DisplayAreaOrganizerController.java\"},\"-593535526\":{\"message\":\"Binding proc %s with config %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/am/ActivityManagerService.java\"},\"-583031528\":{\"message\":\"%s\",\"level\":\"INFO\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-576070986\":{\"message\":\"Performing post-rotate rotation after seamless rotation\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/DisplayRotation.java\"},\"-567946587\":{\"message\":\"Requested redraw for orientation change: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/WindowState.java\"},\"-561092364\":{\"message\":\"onPointerDownOutsideFocusLocked called on %s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_FOCUS_LIGHT\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-549028919\":{\"message\":\"enableScreenIfNeededLocked: mDisplayEnabled=%b mForceDisplayEnabled=%b mShowingBootMessages=%b mSystemBooted=%b. %s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_BOOT\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-548282316\":{\"message\":\"setLockTaskMode: Locking to %s Callers=%s\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_LOCKTASK\",\"at\":\"com/android/server/wm/LockTaskController.java\"},\"-547111355\":{\"message\":\"hideIme Control target: %s \",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_IME\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-545190927\":{\"message\":\"<<< CLOSE TRANSACTION animate\",\"level\":\"INFO\",\"group\":\"WM_SHOW_TRANSACTIONS\",\"at\":\"com/android/server/wm/WindowAnimator.java\"},\"-542756093\":{\"message\":\"TaskFragment vanished name=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/TaskFragmentOrganizerController.java\"},\"-532081937\":{\"message\":\"  Commit activity becoming invisible: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"-521613870\":{\"message\":\"App died during pause, not stopping: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"-519504830\":{\"message\":\"applyAnimation: anim=%s nextAppTransition=ANIM_CUSTOM transit=%s isEntrance=%b Callers=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS_ANIM\",\"at\":\"com/android/server/wm/AppTransition.java\"},\"-509601642\":{\"message\":\"    checking %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"-507657818\":{\"message\":\"Window %s is already added\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-503656156\":{\"message\":\"Update process config of %s to new config %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityTaskManagerService.java\"},\"-497620140\":{\"message\":\"Transaction ready, syncId=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/WindowOrganizerController.java\"},\"-496681057\":{\"message\":\"Attempted to get remove mode of a display that does not exist: %d\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-484194149\":{\"message\":\"no-history finish of %s on new resume\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityTaskSupervisor.java\"},\"-481924678\":{\"message\":\"handleNotObscuredLocked w: %s, w.mHasSurface: %b, w.isOnScreen(): %b, w.isDisplayedLw(): %b, w.mAttrs.userActivityTimeout: %d\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_KEEP_SCREEN_ON\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"-463348344\":{\"message\":\"Removing and adding activity %s to root task at top callers=%s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/Task.java\"},\"-449118559\":{\"message\":\"Trying to update display configuration for invalid process, pid=%d\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityTaskManagerService.java\"},\"-445944810\":{\"message\":\"finish(%b): mCanceled=%b\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimationController.java\"},\"-443173857\":{\"message\":\"Moving pending starting from %s to %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-439951996\":{\"message\":\"Disabling listeners\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/DisplayRotation.java\"},\"-436553282\":{\"message\":\"Remove sleep token: tag=%s, displayId=%d\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"-432881038\":{\"message\":\"startBackNavigation task=%s, topRunningActivity=%s, applicationBackCallback=%s, systemBackCallback=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_BACK_PREVIEW\",\"at\":\"com/android/server/wm/BackNavigationController.java\"},\"-415865166\":{\"message\":\"findFocusedWindow: Found new focus @ %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_FOCUS_LIGHT\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"-401282500\":{\"message\":\"destroyIfPossible: r=%s destroy returned removed=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_CONTAINERS\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-401029526\":{\"message\":\"%s: caller %d does not hold REAL_GET_TASKS; limiting output\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/ActivityTaskManagerService.java\"},\"-399343789\":{\"message\":\"Skipping %s: different user\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"-393505149\":{\"message\":\"unable to update pointer icon\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-386552155\":{\"message\":\"Attempted to set system decors flag to a display that does not exist: %d\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-381522987\":{\"message\":\"Display %d state is now (%d), so update recording?\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONTENT_RECORDING\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"-381475323\":{\"message\":\"DisplayContent: boot is waiting for window of type %d to be drawn\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_BOOT\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"-379068494\":{\"message\":\"unknownApps is not empty: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/AppTransitionController.java\"},\"-374767836\":{\"message\":\"setAppVisibility(%s, visible=%b): %s visible=%b mVisibleRequested=%b Callers=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-373110070\":{\"message\":\"Skipping task: (mismatch activity/task) %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_TASKS\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"-360208282\":{\"message\":\"Animating wallpapers: old: %s hidden=%b new: %s hidden=%b\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WALLPAPER\",\"at\":\"com/android/server/wm/WallpaperController.java\"},\"-354571697\":{\"message\":\"Existence Changed in transition %d: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_TRANSITIONS\",\"at\":\"com/android/server/wm/Transition.java\"},\"-344488673\":{\"message\":\"Finishing drawing window %s: mDrawState=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/WindowStateAnimator.java\"},\"-322743468\":{\"message\":\"setInputMethodInputTarget %s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_IME\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"-322035974\":{\"message\":\"App freeze timeout expired.\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-320419645\":{\"message\":\"Removing replaced window: %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_ADD_REMOVE\",\"at\":\"com/android/server/wm/WindowState.java\"},\"-317761482\":{\"message\":\"Create sleep token: tag=%s, displayId=%d\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/RootWindowContainer.java\"},\"-317194205\":{\"message\":\"clearLockedTasks: %s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_LOCKTASK\",\"at\":\"com/android/server/wm/LockTaskController.java\"},\"-312353598\":{\"message\":\"Executing finish of activity: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"-310337305\":{\"message\":\"Activity config changed during resume: %s, new next: %s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"-304728471\":{\"message\":\"New wallpaper: target=%s prev=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_WALLPAPER\",\"at\":\"com/android/server/wm/WallpaperController.java\"},\"-302468788\":{\"message\":\"Expected target rootTask=%s to be top most but found rootTask=%s\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimation.java\"},\"-302468137\":{\"message\":\"Display %d was already recording, so apply transformations if necessary\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONTENT_RECORDING\",\"at\":\"com/android/server/wm/ContentRecorder.java\"},\"-292790591\":{\"message\":\"Attempted to set IME policy to a display that does not exist: %d\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-275077723\":{\"message\":\"New animation: %s old animation: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WALLPAPER\",\"at\":\"com/android/server/wm/WallpaperController.java\"},\"-262984451\":{\"message\":\"Relaunch failed %s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-251259736\":{\"message\":\"No longer freezing: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-248761393\":{\"message\":\"startPausing: taskFrag =%s mResumedActivity=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"-240296576\":{\"message\":\"handleAppTransitionReady: displayId=%d appTransition={%s} openingApps=[%s] closingApps=[%s] transit=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/AppTransitionController.java\"},\"-237664290\":{\"message\":\"Pause the recording session on display %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONTENT_RECORDING\",\"at\":\"com/android/server/wm/ContentRecordingController.java\"},\"-235225312\":{\"message\":\"Skipping config check for initializing activity: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-230587670\":{\"message\":\"SyncGroup %d:  Unfinished container: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_SYNC_ENGINE\",\"at\":\"com/android/server/wm/BLASTSyncEngine.java\"},\"-228813488\":{\"message\":\"%s: Setting back callback %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_BACK_PREVIEW\",\"at\":\"com/android/server/wm/WindowState.java\"},\"-208825711\":{\"message\":\"shouldWaitAnimatingExit: isWallpaperTarget: %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_APP_TRANSITIONS\",\"at\":\"com/android/server/wm/WindowState.java\"},\"-198463978\":{\"message\":\"updateRotationUnchecked: alwaysSendConfiguration=%b forceRelayout=%b\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-193782861\":{\"message\":\"Final remove of window: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_MOVEMENT\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-182877285\":{\"message\":\"Wallpaper layer changed: assigning layers + relayout\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WALLPAPER\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"-177040661\":{\"message\":\"Start rotation animation. customAnim=%s, mCurRotation=%s, mOriginalRotation=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_ORIENTATION\",\"at\":\"com/android/server/wm/ScreenRotationAnimation.java\"},\"-172900257\":{\"message\":\"addTaskToTargets, target: %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimationController.java\"},\"-172326720\":{\"message\":\"Saving icicle of %s: %s\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-168799453\":{\"message\":\"Allowing features %d:0x%s\",\"level\":\"WARN\",\"group\":\"WM_DEBUG_LOCKTASK\",\"at\":\"com/android/server/wm/ActivityTaskManagerService.java\"},\"-167822951\":{\"message\":\"Attempted to add starting window to token with already existing starting window\",\"level\":\"WARN\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-163974242\":{\"message\":\"setFinishTaskTransaction(%d): transaction=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimationController.java\"},\"-143556958\":{\"message\":\"resumeNextFocusableActivityWhenRootTaskIsEmpty: %s, go home\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/Task.java\"},\"-142844021\":{\"message\":\"Unable to start recording for display %d since the surface is not available.\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONTENT_RECORDING\",\"at\":\"com/android/server/wm/ContentRecorder.java\"},\"-134091882\":{\"message\":\"Screenshotting Activity %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_BACK_PREVIEW\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"-124316973\":{\"message\":\"Translucent=%s Floating=%s ShowWallpaper=%s Disable=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STARTING_WINDOW\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-116086365\":{\"message\":\"******************** ENABLING SCREEN!\",\"level\":\"INFO\",\"group\":\"WM_DEBUG_SCREEN_ON\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-108977760\":{\"message\":\"Sandbox max bounds for uid %s to bounds %s. config to never sandbox = %s, config to always sandbox = %s, letterboxing from mismatch with parent bounds = %s, has mCompatDisplayInsets = %s, should create compatDisplayInsets = %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-106400104\":{\"message\":\"Preload recents with %s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimation.java\"},\"-90559682\":{\"message\":\"Config is skipping already pausing %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_CONFIGURATION\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-87705714\":{\"message\":\"findFocusedWindow: focusedApp=null using new focus @ %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_FOCUS_LIGHT\",\"at\":\"com/android/server/wm/DisplayContent.java\"},\"-87703044\":{\"message\":\"Boot completed: SurfaceFlinger is dead!\",\"level\":\"ERROR\",\"group\":\"WM_ERROR\",\"at\":\"com/android/server/wm/WindowManagerService.java\"},\"-86763148\":{\"message\":\"  KILL SURFACE SESSION %s\",\"level\":\"INFO\",\"group\":\"WM_SHOW_TRANSACTIONS\",\"at\":\"com/android/server/wm/Session.java\"},\"-80004683\":{\"message\":\"Resume failed; resetting state to %s: %s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/TaskFragment.java\"},\"-70719599\":{\"message\":\"Unregister remote animations for organizer=%s uid=%d pid=%d\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_WINDOW_ORGANIZER\",\"at\":\"com/android/server/wm/TaskFragmentOrganizerController.java\"},\"-55185509\":{\"message\":\"setFocusedTask: taskId=%d touchedActivity=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_FOCUS\",\"at\":\"com/android/server/wm/ActivityTaskManagerService.java\"},\"-50336993\":{\"message\":\"moveFocusableActivityToTop: activity=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_FOCUS\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-33096143\":{\"message\":\"applyAnimation: transition animation is disabled or skipped. container=%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_APP_TRANSITIONS_ANIM\",\"at\":\"com/android/server/wm/WindowContainer.java\"},\"-23020844\":{\"message\":\"Back: Reset surfaces\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_BACK_PREVIEW\",\"at\":\"com/android/server/wm/BackNavigationController.java\"},\"-21399771\":{\"message\":\"activity %s already destroying, skipping request with reason:%s\",\"level\":\"VERBOSE\",\"group\":\"WM_DEBUG_STATES\",\"at\":\"com/android/server/wm/ActivityRecord.java\"},\"-8483143\":{\"message\":\"No root task above target root task=%s\",\"level\":\"DEBUG\",\"group\":\"WM_DEBUG_RECENTS_ANIMATIONS\",\"at\":\"com/android/server/wm/RecentsAnimation.java\"}},\"groups\":{\"WM_DEBUG_ADD_REMOVE\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_APP_TRANSITIONS\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_APP_TRANSITIONS_ANIM\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_BACK_PREVIEW\":{\"tag\":\"CoreBackPreview\"},\"WM_DEBUG_BOOT\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_CONFIGURATION\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_CONTAINERS\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_CONTENT_RECORDING\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_DRAW\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_FOCUS\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_FOCUS_LIGHT\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_IME\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_IMMERSIVE\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_KEEP_SCREEN_ON\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_LOCKTASK\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_ORIENTATION\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_RECENTS_ANIMATIONS\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_REMOTE_ANIMATIONS\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_RESIZE\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_SCREEN_ON\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_STARTING_WINDOW\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_STATES\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_SWITCH\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_SYNC_ENGINE\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_TASKS\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_WALLPAPER\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_WINDOW_INSETS\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_WINDOW_MOVEMENT\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_WINDOW_ORGANIZER\":{\"tag\":\"WindowManager\"},\"WM_DEBUG_WINDOW_TRANSITIONS\":{\"tag\":\"WindowManager\"},\"WM_ERROR\":{\"tag\":\"WindowManager\"},\"WM_SHOW_SURFACE_ALLOC\":{\"tag\":\"WindowManager\"},\"WM_SHOW_TRANSACTIONS\":{\"tag\":\"WindowManager\"}}}");
 
 /***/ }),
 
@@ -165853,24 +166714,6 @@
 
 /***/ }),
 
-/***/ "fQvw":
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("JPst");
-/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);
-// Imports
-
-var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});
-// Module
-___CSS_LOADER_EXPORT___.push([module.i, "\n.config-selection[data-v-60fe90a6] {\n  width: 150px;\n  display: inline-flex;\n  margin-left: 5px;\n  margin-right: 5px;\n}\n.device-choice[data-v-60fe90a6] {\n  display: inline-flex;\n}\nh3[data-v-60fe90a6] {\n  margin-bottom: 0;\n}\n.trace-btn[data-v-60fe90a6], .dump-btn[data-v-60fe90a6] {\n  margin-top: 0;\n}\npre[data-v-60fe90a6] {\n  white-space: pre-wrap;\n}\n", ""]);
-// Exports
-/* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
-
-
-/***/ }),
-
 /***/ "fcXw":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
@@ -165945,22 +166788,6 @@
 
 /***/ }),
 
-/***/ "iast":
-/***/ (function(module, exports, __webpack_require__) {
-
-// style-loader: Adds some css to the DOM by adding a <style> tag
-
-// load the styles
-var content = __webpack_require__("fQvw");
-if(content.__esModule) content = content.default;
-if(typeof content === 'string') content = [[module.i, content, '']];
-if(content.locals) module.exports = content.locals;
-// add the styles to the DOM
-var add = __webpack_require__("SZ7m").default
-var update = add("24965959", content, true, {});
-
-/***/ }),
-
 /***/ "jKyZ":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -166097,6 +166924,10 @@
                         "hardKeyboardAvailable": {
                           "type": "bool",
                           "id": 10
+                        },
+                        "windowFramesValid": {
+                          "type": "bool",
+                          "id": 11
                         }
                       }
                     },
@@ -166143,7 +166974,10 @@
                         },
                         "defaultMinSizeResizableTask": {
                           "type": "int32",
-                          "id": 8
+                          "id": 8,
+                          "options": {
+                            "deprecated": true
+                          }
                         }
                       },
                       "reserved": [
@@ -166639,6 +167473,15 @@
                           "rule": "repeated",
                           "type": "string",
                           "id": 37
+                        },
+                        "keepClearAreas": {
+                          "rule": "repeated",
+                          "type": ".android.graphics.RectProto",
+                          "id": 38
+                        },
+                        "minSizeOfResizeableTaskDp": {
+                          "type": "int32",
+                          "id": 39
                         }
                       },
                       "reserved": [
@@ -167154,6 +167997,10 @@
                         "providesMaxBounds": {
                           "type": "bool",
                           "id": 34
+                        },
+                        "enableRecentsScreenshot": {
+                          "type": "bool",
+                          "id": 35
                         }
                       },
                       "reserved": [
@@ -167415,7 +168262,10 @@
                         },
                         "finishedSeamlessRotationFrame": {
                           "type": "int64",
-                          "id": 40
+                          "id": 40,
+                          "options": {
+                            "deprecated": true
+                          }
                         },
                         "windowFrames": {
                           "type": "WindowFramesProto",
@@ -167432,6 +168282,16 @@
                         "globalScale": {
                           "type": "float",
                           "id": 44
+                        },
+                        "keepClearAreas": {
+                          "rule": "repeated",
+                          "type": ".android.graphics.RectProto",
+                          "id": 45
+                        },
+                        "unrestrictedKeepClearAreas": {
+                          "rule": "repeated",
+                          "type": ".android.graphics.RectProto",
+                          "id": 46
                         }
                       }
                     },
@@ -169826,17 +170686,6 @@
 
 /***/ }),
 
-/***/ "qM6R":
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-/* harmony import */ var _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_ref_3_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_DataAdb_vue_vue_type_style_index_0_id_60fe90a6_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("iast");
-/* harmony import */ var _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_ref_3_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_DataAdb_vue_vue_type_style_index_0_id_60fe90a6_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_ref_3_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_DataAdb_vue_vue_type_style_index_0_id_60fe90a6_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);
-/* unused harmony reexport * */
-
-
-/***/ }),
-
 /***/ "t+B9":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -169847,6 +170696,7 @@
   var Kind_CLASS = Kotlin.Kind.CLASS;
   var hashCode = Kotlin.hashCode;
   var joinToString = Kotlin.kotlin.collections.joinToString_fmv235$;
+  var listOf = Kotlin.kotlin.collections.listOf_i5x0yv$;
   var Collection = Kotlin.kotlin.collections.Collection;
   var L1000000 = Kotlin.Long.fromInt(1000000);
   var L1000000000 = Kotlin.Long.fromInt(1000000000);
@@ -169871,12 +170721,11 @@
   var RuntimeException_init = Kotlin.kotlin.RuntimeException_init_pdl1vj$;
   var Kind_INTERFACE = Kotlin.Kind.INTERFACE;
   var numberToInt = Kotlin.numberToInt;
-  var listOf = Kotlin.kotlin.collections.listOf_mh5how$;
+  var listOf_0 = Kotlin.kotlin.collections.listOf_mh5how$;
   var L500 = Kotlin.Long.fromInt(500);
   var IllegalArgumentException_init = Kotlin.kotlin.IllegalArgumentException_init_pdl1vj$;
   var ArrayList_init = Kotlin.kotlin.collections.ArrayList_init_287e2$;
   var addAll = Kotlin.kotlin.collections.addAll_ipc267$;
-  var listOf_0 = Kotlin.kotlin.collections.listOf_i5x0yv$;
   var contentEquals = Kotlin.arrayEquals;
   var contentDeepHashCode = Kotlin.arrayDeepHashCode;
   var joinToString_0 = Kotlin.kotlin.collections.joinToString_cgipc5$;
@@ -169885,14 +170734,14 @@
   var lastOrNull = Kotlin.kotlin.collections.lastOrNull_us0mfu$;
   var toList = Kotlin.kotlin.collections.toList_us0mfu$;
   var List = Kotlin.kotlin.collections.List;
+  var contentHashCode = Kotlin.arrayHashCode;
+  var copyToArray = Kotlin.kotlin.collections.copyToArray;
   var ULong_init = Kotlin.kotlin.ULong;
   var addAll_0 = Kotlin.kotlin.collections.addAll_ye1y7v$;
-  var copyToArray = Kotlin.kotlin.collections.copyToArray;
   var toMutableList = Kotlin.kotlin.collections.toMutableList_us0mfu$;
   var mutableListOf = Kotlin.kotlin.collections.mutableListOf_i5x0yv$;
   var reversed = Kotlin.kotlin.collections.reversed_7wnvza$;
   var contains_0 = Kotlin.kotlin.collections.contains_mjy6jw$;
-  var contentHashCode = Kotlin.arrayHashCode;
   var sortedWith = Kotlin.kotlin.collections.sortedWith_iwcb0m$;
   var wrapFunction = Kotlin.wrapFunction;
   var Comparator = Kotlin.kotlin.Comparator;
@@ -169954,6 +170803,8 @@
   ConditionList.prototype.constructor = ConditionList;
   Matrix33.prototype = Object.create(Matrix22.prototype);
   Matrix33.prototype.constructor = Matrix33;
+  LayerTraceEntry.prototype = Object.create(BaseLayerTraceEntry.prototype);
+  LayerTraceEntry.prototype.constructor = LayerTraceEntry;
   Region$Op.prototype = Object.create(Enum.prototype);
   Region$Op.prototype.constructor = Region$Op;
   BaseFsmState.prototype = Object.create(FSMState.prototype);
@@ -170238,6 +171089,11 @@
     return false;
   }
   ConditionList.$metadata$ = {kind: Kind_CLASS, simpleName: 'ConditionList', interfaces: [Condition]};
+  function ConditionList_init(conditions, $this) {
+    $this = $this || Object.create(ConditionList.prototype);
+    ConditionList.call($this, listOf(conditions.slice()));
+    return $this;
+  }
   function DeviceStateDump(wmState, layerState) {
     this.wmState = wmState;
     this.layerState = layerState;
@@ -170692,7 +171548,7 @@
     return this.prettyPrint();
   };
   Rect.prototype.clone = function () {
-    return new Rect(this.left, this.top, this.right, this.bottom);
+    return (this != null ? this.equals(Rect$Companion_getInstance().EMPTY) : null) ? Rect$Companion_getInstance().EMPTY : new Rect(this.left, this.top, this.right, this.bottom);
   };
   function Rect$Companion() {
     Rect$Companion_instance = this;
@@ -170944,7 +171800,7 @@
       if (Kotlin.isType(element, ConditionList)) {
         transform$result = element.conditions;
       } else {
-        transform$result = listOf(element);
+        transform$result = listOf_0(element);
       }
       var list = transform$result;
       addAll(destination, list);
@@ -170996,7 +171852,7 @@
     this.statusBarLayerName_0 = FlickerComponentName$Companion_getInstance().STATUS_BAR.toLayerName();
   }
   WindowManagerConditionsFactory.prototype.isNavBarVisible = function () {
-    return new ConditionList(listOf_0([this.isNavBarWindowVisible(), this.isNavBarLayerVisible(), this.isNavBarLayerOpaque()]));
+    return new ConditionList(listOf([this.isNavBarWindowVisible(), this.isNavBarLayerVisible(), this.isNavBarLayerOpaque()]));
   };
   function WindowManagerConditionsFactory$isNavBarWindowVisible$lambda(this$WindowManagerConditionsFactory) {
     return function (it) {
@@ -171019,7 +171875,7 @@
     return new Condition('isNavBarLayerOpaque', WindowManagerConditionsFactory$isNavBarLayerOpaque$lambda(this));
   };
   WindowManagerConditionsFactory.prototype.isStatusBarVisible = function () {
-    return new ConditionList(listOf_0([this.isStatusBarWindowVisible(), this.isStatusBarLayerVisible(), this.isStatusBarLayerOpaque()]));
+    return new ConditionList(listOf([this.isStatusBarWindowVisible(), this.isStatusBarLayerVisible(), this.isStatusBarLayerOpaque()]));
   };
   function WindowManagerConditionsFactory$isStatusBarWindowVisible$lambda(this$WindowManagerConditionsFactory) {
     return function (it) {
@@ -171106,7 +171962,12 @@
   }
   WindowManagerConditionsFactory.prototype.hasRotation_vux9f0$ = function (expectedRotation, displayId) {
     var hasRotationCondition = new Condition('hasRotation[' + expectedRotation + ', display=' + displayId + ']', WindowManagerConditionsFactory$hasRotation$lambda(displayId, expectedRotation));
-    return new ConditionList(listOf_0([hasRotationCondition, this.isLayerVisible_n5t22c$(FlickerComponentName$Companion_getInstance().ROTATION).negate(), this.isLayerVisible_n5t22c$(FlickerComponentName$Companion_getInstance().BACK_SURFACE).negate(), this.hasLayersAnimating().negate()]));
+    return new ConditionList(listOf([hasRotationCondition, this.isLayerVisible_n5t22c$(FlickerComponentName$Companion_getInstance().ROTATION).negate(), this.isLayerVisible_n5t22c$(FlickerComponentName$Companion_getInstance().BACK_SURFACE).negate(), this.hasLayersAnimating().negate()]));
+  };
+  WindowManagerConditionsFactory.prototype.isWindowVisible_em69mm$ = function (component, displayId) {
+    if (displayId === void 0)
+      displayId = 0;
+    return ConditionList_init([this.containsActivity_n5t22c$(component), this.containsWindow_n5t22c$(component), this.isActivityVisible_n5t22c$(component), this.isWindowSurfaceShown_n5t22c$(component), this.isAppTransitionIdle_za3lpa$(displayId)]);
   };
   function WindowManagerConditionsFactory$isLayerVisible$lambda(closure$layerName) {
     return function (it) {
@@ -171127,7 +171988,7 @@
   };
   function WindowManagerConditionsFactory$isLayerColorAlphaOne$lambda(closure$component, this$WindowManagerConditionsFactory) {
     return function (it) {
-      var layers = this$WindowManagerConditionsFactory.getVisibleLayersByName_p3srjn$(it.layerState, closure$component);
+      var layers = this$WindowManagerConditionsFactory.getVisibleLayersByName_9ou002$(it.layerState, closure$component);
       var any$result;
       any$break: do {
         var tmp$;
@@ -171162,7 +172023,7 @@
   };
   function WindowManagerConditionsFactory$isLayerTransformFlagSet$lambda(closure$component, this$WindowManagerConditionsFactory, closure$transform) {
     return function (it) {
-      var layers = this$WindowManagerConditionsFactory.getVisibleLayersByName_p3srjn$(it.layerState, closure$component);
+      var layers = this$WindowManagerConditionsFactory.getVisibleLayersByName_9ou002$(it.layerState, closure$component);
       var any$result;
       any$break: do {
         var tmp$;
@@ -171197,13 +172058,13 @@
     return new Condition('isLayerTransformFlagSet[' + layerId + ', ' + transform + ']', WindowManagerConditionsFactory$isLayerTransformFlagSet$lambda_0(layerId, transform));
   };
   WindowManagerConditionsFactory.prototype.isLayerTransformIdentity_za3lpa$ = function (layerId) {
-    return new ConditionList(listOf_0([this.isLayerTransformFlagSet_vux9f0$(layerId, 4).negate(), this.isLayerTransformFlagSet_vux9f0$(layerId, 1).negate(), this.isLayerTransformFlagSet_vux9f0$(layerId, 2).negate()]));
+    return new ConditionList(listOf([this.isLayerTransformFlagSet_vux9f0$(layerId, 4).negate(), this.isLayerTransformFlagSet_vux9f0$(layerId, 1).negate(), this.isLayerTransformFlagSet_vux9f0$(layerId, 2).negate()]));
   };
   WindowManagerConditionsFactory.prototype.isTransformFlagSet_0 = function (layer, transform) {
     var tmp$, tmp$_0;
     return (tmp$_0 = (tmp$ = layer.transform.type) != null ? Transform$Companion_getInstance().isFlagSet_dqglrj$(tmp$, transform) : null) != null ? tmp$_0 : false;
   };
-  WindowManagerConditionsFactory.prototype.getVisibleLayersByName_p3srjn$ = function ($receiver, component) {
+  WindowManagerConditionsFactory.prototype.getVisibleLayersByName_9ou002$ = function ($receiver, component) {
     var $receiver_0 = $receiver.visibleLayers;
     var destination = ArrayList_init();
     var tmp$;
@@ -171271,7 +172132,7 @@
     return new Condition('hasPipWindow', WindowManagerConditionsFactory$hasPipWindow$lambda);
   };
   WindowManagerConditionsFactory.prototype.isImeShown_za3lpa$ = function (displayId) {
-    return new ConditionList(listOf_0([this.isImeOnDisplay_0(displayId), this.isLayerVisible_n5t22c$(FlickerComponentName$Companion_getInstance().IME), this.isImeSurfaceShown_0(), this.isWindowSurfaceShown_61zpoe$(FlickerComponentName$Companion_getInstance().IME.toWindowName())]));
+    return new ConditionList(listOf([this.isImeOnDisplay_0(displayId), this.isLayerVisible_n5t22c$(FlickerComponentName$Companion_getInstance().IME), this.isImeSurfaceShown_0(), this.isWindowSurfaceShown_61zpoe$(FlickerComponentName$Companion_getInstance().IME.toWindowName())]));
   };
   function WindowManagerConditionsFactory$isImeOnDisplay$lambda(closure$displayId) {
     return function (it) {
@@ -171491,6 +172352,143 @@
   ErrorTrace.prototype.copy_uik7ky$ = function (entries) {
     return new ErrorTrace(entries === void 0 ? this.entries : entries);
   };
+  function BaseLayerTraceEntry() {
+    this.isVisible = true;
+  }
+  Object.defineProperty(BaseLayerTraceEntry.prototype, 'stableId', {configurable: true, get: function () {
+    var tmp$;
+    var tmp$_0;
+    if ((tmp$ = Kotlin.getKClassFromExpression(this).simpleName) != null)
+      tmp$_0 = tmp$;
+    else {
+      throw IllegalStateException_init('Unable to determine class'.toString());
+    }
+    return tmp$_0;
+  }});
+  Object.defineProperty(BaseLayerTraceEntry.prototype, 'name', {configurable: true, get: function () {
+    return prettyTimestamp(this.timestamp);
+  }});
+  Object.defineProperty(BaseLayerTraceEntry.prototype, 'visibleLayers', {configurable: true, get: function () {
+    var $receiver = this.flattenedLayers;
+    var destination = ArrayList_init();
+    var tmp$;
+    for (tmp$ = 0; tmp$ !== $receiver.length; ++tmp$) {
+      var element = $receiver[tmp$];
+      if (element.isVisible)
+        destination.add_11rb$(element);
+    }
+    return copyToArray(destination);
+  }});
+  Object.defineProperty(BaseLayerTraceEntry.prototype, 'children', {configurable: true, get: function () {
+    var $receiver = this.flattenedLayers;
+    var destination = ArrayList_init();
+    var tmp$;
+    for (tmp$ = 0; tmp$ !== $receiver.length; ++tmp$) {
+      var element = $receiver[tmp$];
+      if (element.isRootLayer)
+        destination.add_11rb$(element);
+    }
+    return copyToArray(destination);
+  }});
+  BaseLayerTraceEntry.prototype.getLayerWithBuffer_61zpoe$ = function (name) {
+    var $receiver = this.flattenedLayers;
+    var firstOrNull$result;
+    firstOrNull$break: do {
+      var tmp$;
+      for (tmp$ = 0; tmp$ !== $receiver.length; ++tmp$) {
+        var element = $receiver[tmp$];
+        if (contains(element.name, name) && element.activeBuffer.isNotEmpty) {
+          firstOrNull$result = element;
+          break firstOrNull$break;
+        }}
+      firstOrNull$result = null;
+    }
+     while (false);
+    return firstOrNull$result;
+  };
+  BaseLayerTraceEntry.prototype.getLayerById_za3lpa$ = function (layerId) {
+    var $receiver = this.flattenedLayers;
+    var firstOrNull$result;
+    firstOrNull$break: do {
+      var tmp$;
+      for (tmp$ = 0; tmp$ !== $receiver.length; ++tmp$) {
+        var element = $receiver[tmp$];
+        if (element.id === layerId) {
+          firstOrNull$result = element;
+          break firstOrNull$break;
+        }}
+      firstOrNull$result = null;
+    }
+     while (false);
+    return firstOrNull$result;
+  };
+  BaseLayerTraceEntry.prototype.isAnimating_61zpoe$ = function (windowName) {
+    if (windowName === void 0)
+      windowName = '';
+    var $receiver = this.visibleLayers;
+    var destination = ArrayList_init();
+    var tmp$;
+    for (tmp$ = 0; tmp$ !== $receiver.length; ++tmp$) {
+      var element = $receiver[tmp$];
+      if (contains(element.name, windowName))
+        destination.add_11rb$(element);
+    }
+    var layers = destination;
+    var any$result;
+    any$break: do {
+      var tmp$_0;
+      if (Kotlin.isType(layers, Collection) && layers.isEmpty()) {
+        any$result = false;
+        break any$break;
+      }tmp$_0 = layers.iterator();
+      while (tmp$_0.hasNext()) {
+        var element_0 = tmp$_0.next();
+        if (!element_0.transform.isSimpleRotation) {
+          any$result = true;
+          break any$break;
+        }}
+      any$result = false;
+    }
+     while (false);
+    var layersAnimating = any$result;
+    var pipAnimating = this.isVisible_61zpoe$(FlickerComponentName$Companion_getInstance().PIP_CONTENT_OVERLAY.toWindowName());
+    return layersAnimating || pipAnimating;
+  };
+  BaseLayerTraceEntry.prototype.isVisible_61zpoe$ = function (windowName) {
+    var $receiver = this.visibleLayers;
+    var any$result;
+    any$break: do {
+      var tmp$;
+      for (tmp$ = 0; tmp$ !== $receiver.length; ++tmp$) {
+        var element = $receiver[tmp$];
+        if (contains(element.name, windowName)) {
+          any$result = true;
+          break any$break;
+        }}
+      any$result = false;
+    }
+     while (false);
+    return any$result;
+  };
+  BaseLayerTraceEntry.prototype.asTrace = function () {
+    return new LayersTrace([this]);
+  };
+  BaseLayerTraceEntry.prototype.toString = function () {
+    return prettyTimestamp(this.timestamp) + ' (timestamp=' + this.timestamp.toString() + ')';
+  };
+  BaseLayerTraceEntry.prototype.equals = function (other) {
+    return Kotlin.isType(other, BaseLayerTraceEntry) && equals(other.timestamp, this.timestamp);
+  };
+  BaseLayerTraceEntry.prototype.hashCode = function () {
+    var result = hashCode(this.timestamp);
+    result = (31 * result | 0) + hashCode(this.hwcBlob) | 0;
+    result = (31 * result | 0) + hashCode(this.where) | 0;
+    result = (31 * result | 0) + contentHashCode(this.displays) | 0;
+    result = (31 * result | 0) + hashCode(this.isVisible) | 0;
+    result = (31 * result | 0) + contentHashCode(this.flattenedLayers) | 0;
+    return result;
+  };
+  BaseLayerTraceEntry.$metadata$ = {kind: Kind_CLASS, simpleName: 'BaseLayerTraceEntry', interfaces: [ITraceEntry]};
   function Display(id, name, layerStackId, size, layerStackSpace, transform, isVirtual) {
     Display$Companion_getInstance();
     this.id = id;
@@ -171721,45 +172719,38 @@
     return it.id.toString();
   }
   Object.defineProperty(Layer.prototype, 'visibilityReason', {configurable: true, get: function () {
-    var tmp$, tmp$_0;
-    if (this.isVisible)
-      tmp$_0 = '';
-    else if (this.isContainerLayer)
-      tmp$_0 = 'ContainerLayer';
-    else if (this.isHiddenByPolicy)
-      tmp$_0 = 'Flag is hidden';
-    else if (this.isHiddenByParent)
-      tmp$_0 = 'Hidden by parent ' + toString((tmp$ = this.parent) != null ? tmp$.name : null);
-    else if (this.isBufferLayer && this.isActiveBufferEmpty)
-      tmp$_0 = 'Buffer is empty';
-    else if (this.color.isEmpty)
-      tmp$_0 = 'Alpha is 0';
-    else {
-      var tmp$_1, tmp$_2;
-      if ((tmp$_2 = (tmp$_1 = this.crop) != null ? tmp$_1.isEmpty : null) != null ? tmp$_2 : false)
-        tmp$_0 = 'Crop is 0x0';
-      else if (this.bounds.isEmpty)
-        tmp$_0 = 'Bounds is 0x0';
-      else if (!this.transform.isValid)
-        tmp$_0 = 'Transform is invalid';
-      else if (this.isRelativeOf && this.zOrderRelativeOf == null)
-        tmp$_0 = 'RelativeOf layer has been removed';
-      else if (this.isEffectLayer && !this.fillsColor && !this.drawsShadows && !this.hasBlur)
-        tmp$_0 = 'Effect layer does not have color fill, shadow or blur';
-      else {
-        if (!this._occludedBy_0.isEmpty()) {
-          var occludedByIds = joinToString(this._occludedBy_0, ', ', void 0, void 0, void 0, void 0, Layer$get_Layer$visibilityReason$lambda);
-          tmp$_0 = 'Layer is occluded by: ' + occludedByIds;
-        } else {
-          var tmp$_3, tmp$_4;
-          if ((tmp$_4 = (tmp$_3 = this.visibleRegion) != null ? tmp$_3.isEmpty : null) != null ? tmp$_4 : false)
-            tmp$_0 = 'Visible region calculated by Composition Engine is empty';
-          else
-            tmp$_0 = 'Unknown';
-        }
-      }
-    }
-    return tmp$_0;
+    var tmp$, tmp$_0, tmp$_1;
+    if (this.isVisible) {
+      return [];
+    }var reasons = ArrayList_init();
+    if (this.isContainerLayer)
+      reasons.add_11rb$('ContainerLayer');
+    if (this.isHiddenByPolicy)
+      reasons.add_11rb$('Flag is hidden');
+    if (this.isHiddenByParent) {
+      reasons.add_11rb$('Hidden by parent ' + toString((tmp$ = this.parent) != null ? tmp$.name : null));
+    }if (this.isBufferLayer && this.isActiveBufferEmpty)
+      reasons.add_11rb$('Buffer is empty');
+    if (this.color.isEmpty)
+      reasons.add_11rb$('Alpha is 0');
+    if (((tmp$_0 = this.crop) != null ? tmp$_0.isEmpty : null) === true)
+      reasons.add_11rb$('Crop is 0x0');
+    if (this.bounds.isEmpty)
+      reasons.add_11rb$('Bounds is 0x0');
+    if (!this.transform.isValid)
+      reasons.add_11rb$('Transform is invalid');
+    if (this.isRelativeOf && this.zOrderRelativeOf == null) {
+      reasons.add_11rb$('RelativeOf layer has been removed');
+    }if (this.isEffectLayer && !this.fillsColor && !this.drawsShadows && !this.hasBlur) {
+      reasons.add_11rb$('Effect layer does not have color fill, shadow or blur');
+    }if (!this._occludedBy_0.isEmpty()) {
+      var occludedByIds = joinToString(this._occludedBy_0, ', ', void 0, void 0, void 0, void 0, Layer$get_Layer$visibilityReason$lambda);
+      reasons.add_11rb$('Layer is occluded by: ' + occludedByIds);
+    }if (((tmp$_1 = this.visibleRegion) != null ? tmp$_1.isEmpty : null) === true) {
+      reasons.add_11rb$('Visible region calculated by Composition Engine is empty');
+    }if (reasons.isEmpty())
+      reasons.add_11rb$('Unknown');
+    return copyToArray(reasons);
   }});
   Object.defineProperty(Layer.prototype, 'absoluteZ', {configurable: true, get: function () {
     var zOrderRelativeOf = this.zOrderRelativeOf;
@@ -172028,39 +173019,27 @@
     };
   });
   function LayerTraceEntry(timestamp, hwcBlob, where, displays, _rootLayers) {
+    BaseLayerTraceEntry.call(this);
     this.timestamp_16yg2k$_0 = timestamp;
-    this.hwcBlob = hwcBlob;
-    this.where = where;
-    this.displays = displays;
-    this.isVisible = true;
-    this.flattenedLayers = this.fillFlattenedLayers_gvbe2j$_0(_rootLayers);
+    this.hwcBlob_juz13r$_0 = hwcBlob;
+    this.where_xe0777$_0 = where;
+    this.displays_3q99sn$_0 = displays;
+    this.flattenedLayers_lk7anf$_0 = this.fillFlattenedLayers_gvbe2j$_0(_rootLayers);
   }
   Object.defineProperty(LayerTraceEntry.prototype, 'timestamp', {get: function () {
     return this.timestamp_16yg2k$_0;
   }});
-  Object.defineProperty(LayerTraceEntry.prototype, 'stableId', {configurable: true, get: function () {
-    var tmp$;
-    var tmp$_0;
-    if ((tmp$ = Kotlin.getKClassFromExpression(this).simpleName) != null)
-      tmp$_0 = tmp$;
-    else {
-      throw IllegalStateException_init('Unable to determine class'.toString());
-    }
-    return tmp$_0;
+  Object.defineProperty(LayerTraceEntry.prototype, 'hwcBlob', {get: function () {
+    return this.hwcBlob_juz13r$_0;
   }});
-  Object.defineProperty(LayerTraceEntry.prototype, 'name', {configurable: true, get: function () {
-    return prettyTimestamp(this.timestamp);
+  Object.defineProperty(LayerTraceEntry.prototype, 'where', {get: function () {
+    return this.where_xe0777$_0;
   }});
-  Object.defineProperty(LayerTraceEntry.prototype, 'children', {configurable: true, get: function () {
-    var $receiver = this.flattenedLayers;
-    var destination = ArrayList_init();
-    var tmp$;
-    for (tmp$ = 0; tmp$ !== $receiver.length; ++tmp$) {
-      var element = $receiver[tmp$];
-      if (element.isRootLayer)
-        destination.add_11rb$(element);
-    }
-    return copyToArray(destination);
+  Object.defineProperty(LayerTraceEntry.prototype, 'displays', {get: function () {
+    return this.displays_3q99sn$_0;
+  }});
+  Object.defineProperty(LayerTraceEntry.prototype, 'flattenedLayers', {configurable: true, get: function () {
+    return this.flattenedLayers_lk7anf$_0;
   }});
   LayerTraceEntry.prototype.fillFlattenedLayers_gvbe2j$_0 = function (rootLayers) {
     var tmp$, tmp$_0;
@@ -172104,17 +173083,6 @@
     }
     return destination;
   };
-  Object.defineProperty(LayerTraceEntry.prototype, 'visibleLayers', {configurable: true, get: function () {
-    var $receiver = this.flattenedLayers;
-    var destination = ArrayList_init();
-    var tmp$;
-    for (tmp$ = 0; tmp$ !== $receiver.length; ++tmp$) {
-      var element = $receiver[tmp$];
-      if (element.isVisible)
-        destination.add_11rb$(element);
-    }
-    return copyToArray(destination);
-  }});
   function LayerTraceEntry$topDownTraversal$lambda_0(it) {
     return it.z;
   }
@@ -172174,105 +173142,7 @@
       }}
     return $receiver;
   };
-  LayerTraceEntry.prototype.getLayerWithBuffer_61zpoe$ = function (name) {
-    var $receiver = this.flattenedLayers;
-    var firstOrNull$result;
-    firstOrNull$break: do {
-      var tmp$;
-      for (tmp$ = 0; tmp$ !== $receiver.length; ++tmp$) {
-        var element = $receiver[tmp$];
-        if (contains(element.name, name) && element.activeBuffer.isNotEmpty) {
-          firstOrNull$result = element;
-          break firstOrNull$break;
-        }}
-      firstOrNull$result = null;
-    }
-     while (false);
-    return firstOrNull$result;
-  };
-  LayerTraceEntry.prototype.getLayerById_za3lpa$ = function (layerId) {
-    var $receiver = this.flattenedLayers;
-    var firstOrNull$result;
-    firstOrNull$break: do {
-      var tmp$;
-      for (tmp$ = 0; tmp$ !== $receiver.length; ++tmp$) {
-        var element = $receiver[tmp$];
-        if (element.id === layerId) {
-          firstOrNull$result = element;
-          break firstOrNull$break;
-        }}
-      firstOrNull$result = null;
-    }
-     while (false);
-    return firstOrNull$result;
-  };
-  LayerTraceEntry.prototype.isAnimating_61zpoe$ = function (windowName) {
-    if (windowName === void 0)
-      windowName = '';
-    var $receiver = this.visibleLayers;
-    var destination = ArrayList_init();
-    var tmp$;
-    for (tmp$ = 0; tmp$ !== $receiver.length; ++tmp$) {
-      var element = $receiver[tmp$];
-      if (contains(element.name, windowName))
-        destination.add_11rb$(element);
-    }
-    var layers = destination;
-    var any$result;
-    any$break: do {
-      var tmp$_0;
-      if (Kotlin.isType(layers, Collection) && layers.isEmpty()) {
-        any$result = false;
-        break any$break;
-      }tmp$_0 = layers.iterator();
-      while (tmp$_0.hasNext()) {
-        var element_0 = tmp$_0.next();
-        if (!element_0.transform.isSimpleRotation) {
-          any$result = true;
-          break any$break;
-        }}
-      any$result = false;
-    }
-     while (false);
-    var layersAnimating = any$result;
-    var pipAnimating = this.isVisible_61zpoe$(FlickerComponentName$Companion_getInstance().PIP_CONTENT_OVERLAY.toWindowName());
-    return layersAnimating || pipAnimating;
-  };
-  LayerTraceEntry.prototype.isVisible_61zpoe$ = function (windowName) {
-    var $receiver = this.visibleLayers;
-    var any$result;
-    any$break: do {
-      var tmp$;
-      for (tmp$ = 0; tmp$ !== $receiver.length; ++tmp$) {
-        var element = $receiver[tmp$];
-        if (contains(element.name, windowName)) {
-          any$result = true;
-          break any$break;
-        }}
-      any$result = false;
-    }
-     while (false);
-    return any$result;
-  };
-  LayerTraceEntry.prototype.asTrace = function () {
-    return new LayersTrace([this]);
-  };
-  LayerTraceEntry.prototype.toString = function () {
-    return prettyTimestamp(this.timestamp) + ' (timestamp=' + this.timestamp.toString() + ')';
-  };
-  LayerTraceEntry.prototype.equals = function (other) {
-    return Kotlin.isType(other, LayerTraceEntry) && equals(other.timestamp, this.timestamp);
-  };
-  LayerTraceEntry.prototype.hashCode = function () {
-    var result = hashCode(this.timestamp);
-    result = (31 * result | 0) + hashCode(this.hwcBlob) | 0;
-    result = (31 * result | 0) + hashCode(this.where) | 0;
-    result = (31 * result | 0) + contentHashCode(this.displays) | 0;
-    result = (31 * result | 0) + hashCode(this.isVisible) | 0;
-    result = (31 * result | 0) + contentHashCode(this.flattenedLayers) | 0;
-    return result;
-  };
-  LayerTraceEntry.$metadata$ = {kind: Kind_CLASS, simpleName: 'LayerTraceEntry', interfaces: [ITraceEntry]};
+  LayerTraceEntry.$metadata$ = {kind: Kind_CLASS, simpleName: 'LayerTraceEntry', interfaces: [BaseLayerTraceEntry]};
   function LayerTraceEntryBuilder(timestamp, layers, displays, hwcBlob, where) {
     if (hwcBlob === void 0)
       hwcBlob = '';
@@ -172555,7 +173425,7 @@
   LayersTrace.prototype.component1 = function () {
     return this.entries;
   };
-  LayersTrace.prototype.copy_1llug0$ = function (entries) {
+  LayersTrace.prototype.copy_gj44gh$ = function (entries) {
     return new LayersTrace(entries === void 0 ? this.entries : entries);
   };
   function Transform(type, matrix) {
@@ -173499,7 +174369,7 @@
     bRunsIndex = bRunsIndex + 1 | 0;
     aRunsIndex = aRunsIndex + 1 | 0;
     bRunsIndex = bRunsIndex + 1 | 0;
-    var gEmptyScanline = listOf_0([0, 0, 2147483647, 0]);
+    var gEmptyScanline = listOf([0, 0, 2147483647, 0]);
     var gSentinel = 2;
     Region$Companion_getInstance().assert_sentinel_0(aTop, false);
     Region$Companion_getInstance().assert_sentinel_0(aBot, false);
@@ -173789,7 +174659,7 @@
     this.wmTrace_0 = wmTrace;
     this.layersTrace_0 = layersTrace;
     this.logger_0 = logger;
-    this.transitions_0 = listOf_0([new RotationProcessor(this.logger_0), new AppLaunchProcessor(this.logger_0), new AppCloseProcessor(this.logger_0), new ImeAppearProcessor(this.logger_0), new ImeDisappearProcessor(this.logger_0), new PipEnterProcessor(this.logger_0), new PipResizeProcessor(this.logger_0), new PipExpandProcessor(this.logger_0), new PipExitProcessor(this.logger_0)]);
+    this.transitions_0 = listOf([new RotationProcessor(this.logger_0), new AppLaunchProcessor(this.logger_0), new AppCloseProcessor(this.logger_0), new ImeAppearProcessor(this.logger_0), new ImeDisappearProcessor(this.logger_0), new PipEnterProcessor(this.logger_0), new PipResizeProcessor(this.logger_0), new PipExpandProcessor(this.logger_0), new PipExitProcessor(this.logger_0)]);
   }
   TaggingEngine.prototype.run = function () {
     var $receiver = this.transitions_0;
@@ -173855,7 +174725,7 @@
     this.$outer = $outer;
     TransitionProcessor$BaseState.call(this, this.$outer, tags);
   }
-  AppCloseProcessor$RetrieveClosingAppLayerId.prototype.doProcessState_bop1cf$ = function (previous, current, next) {
+  AppCloseProcessor$RetrieveClosingAppLayerId.prototype.doProcessState_tzuef4$ = function (previous, current, next) {
     var isStableState = this.$outer.wmStateIdle_0.isSatisfied_11rb$(current) || this.$outer.wmStateComplete_0.isSatisfied_11rb$(current) || this.$outer.areLayersAnimating_0.negate().isSatisfied_11rb$(current);
     var $receiver = current.wmState.rootTasks;
     var destination = ArrayList_init();
@@ -173940,7 +174810,7 @@
     this.layerId_0 = this.appWindow_0.layerId;
     this.isTranslating_0 = WindowManagerConditionsFactory_getInstance().isLayerTransformFlagSet_vux9f0$(this.layerId_0, 1);
   }
-  AppCloseProcessor$WaitLayerAnimationComplete.prototype.doProcessState_bop1cf$ = function (previous, current, next) {
+  AppCloseProcessor$WaitLayerAnimationComplete.prototype.doProcessState_tzuef4$ = function (previous, current, next) {
     var tmp$, tmp$_0;
     if (previous == null)
       return this;
@@ -173954,8 +174824,8 @@
     } else if (finishedClosing && isStableState) {
       var deviceStateDump = this.$outer.translatingWindows_0.get_11rb$(this.appWindow_0.token);
       if (deviceStateDump != null) {
-        this.addStartTransitionTag_cgxjfp$(deviceStateDump, this.transition_8be2vx$, this.layerId_0, this.appWindow_0.token);
-        this.addEndTransitionTag_cgxjfp$(current, this.transition_8be2vx$, this.layerId_0, this.appWindow_0.token);
+        this.addStartTransitionTag_153xe4$(deviceStateDump, this.transition_8be2vx$, this.layerId_0, this.appWindow_0.token);
+        this.addEndTransitionTag_153xe4$(current, this.transition_8be2vx$, this.layerId_0, this.appWindow_0.token);
         return new AppCloseProcessor$RetrieveClosingAppLayerId(this.$outer, this.tags);
       }}return this;
   };
@@ -173976,7 +174846,7 @@
     this.$outer = $outer;
     TransitionProcessor$BaseState.call(this, this.$outer, tags);
   }
-  AppLaunchProcessor$WaitUntilWindowIsInVisibleActivity.prototype.doProcessState_bop1cf$ = function (previous, current, next) {
+  AppLaunchProcessor$WaitUntilWindowIsInVisibleActivity.prototype.doProcessState_tzuef4$ = function (previous, current, next) {
     if (previous == null)
       return this;
     var prevVisibleWindows = previous.wmState.visibleWindows;
@@ -174022,8 +174892,8 @@
       if (!appLaunchedLayers.isEmpty()) {
         var firstDump = first_0(appLaunchedLayers.entries);
         var layerId_0 = firstDump.key;
-        this.addStartTransitionTag_cgxjfp$(firstDump.value, this.transition_8be2vx$, layerId_0, void 0, void 0, firstDump.value.layerState.timestamp);
-        this.addEndTransitionTag_cgxjfp$(current, this.transition_8be2vx$, layerId_0, void 0, void 0, current.layerState.timestamp);
+        this.addStartTransitionTag_153xe4$(firstDump.value, this.transition_8be2vx$, layerId_0, void 0, void 0, firstDump.value.layerState.timestamp);
+        this.addEndTransitionTag_153xe4$(current, this.transition_8be2vx$, layerId_0, void 0, void 0, current.layerState.timestamp);
         this.$outer.windowsBecomeVisible_0.clear();
       }}
     return this;
@@ -174035,17 +174905,17 @@
     this.logger_8be2vx$ = logger;
     this.transition_8be2vx$ = transition;
   }
-  BaseFsmState.prototype.process_73zvrm$ = function (previous, current, next) {
+  BaseFsmState.prototype.process_6gppa9$ = function (previous, current, next) {
     var tmp$;
     if (next == null) {
       var timestamp = current.layerState.timestamp;
       this.logger_8be2vx$('(' + timestamp.toString() + ') Trace has reached the end');
       if (this.hasOpenTag()) {
         this.logger_8be2vx$('(' + timestamp.toString() + ') Has an open tag, closing it on the last SF state');
-        this.addEndTransitionTag_cgxjfp$(current, this.transition_8be2vx$);
+        this.addEndTransitionTag_153xe4$(current, this.transition_8be2vx$);
       }tmp$ = null;
     } else {
-      tmp$ = this.doProcessState_bop1cf$(previous, current, next);
+      tmp$ = this.doProcessState_tzuef4$(previous, current, next);
     }
     return tmp$;
   };
@@ -174054,7 +174924,7 @@
     FSMState$Companion_getInstance();
     this.tags = tags;
   }
-  FSMState.prototype.addStartTransitionTag_cgxjfp$ = function (state, transition, layerId, windowToken, taskId, timestamp) {
+  FSMState.prototype.addStartTransitionTag_153xe4$ = function (state, transition, layerId, windowToken, taskId, timestamp) {
     if (layerId === void 0)
       layerId = 0;
     if (windowToken === void 0)
@@ -174073,7 +174943,7 @@
       tmp$.put_xwzc9p$(timestamp, value);
     }getValue(this.tags, timestamp).add_11rb$(startTag);
   };
-  FSMState.prototype.addEndTransitionTag_cgxjfp$ = function (state, transition, layerId, windowToken, taskId, timestamp) {
+  FSMState.prototype.addEndTransitionTag_153xe4$ = function (state, transition, layerId, windowToken, taskId, timestamp) {
     if (layerId === void 0)
       layerId = 0;
     if (windowToken === void 0)
@@ -174122,7 +174992,7 @@
     this.newImeVisible_0 = WindowManagerConditionsFactory_getInstance().isImeShown_za3lpa$(0);
     this.prevImeInvisible_0 = this.newImeVisible_0.negate();
   }
-  ImeAppearProcessor$WaitInputMethodVisible.prototype.doProcessState_bop1cf$ = function (previous, current, next) {
+  ImeAppearProcessor$WaitInputMethodVisible.prototype.doProcessState_tzuef4$ = function (previous, current, next) {
     var tmp$;
     if (previous == null)
       return this;
@@ -174149,7 +175019,7 @@
     }
      while (false);
     var inputMethodLayer = first$result;
-    this.addStartTransitionTag_cgxjfp$(current, this.transition_8be2vx$, inputMethodLayer.id);
+    this.addStartTransitionTag_153xe4$(current, this.transition_8be2vx$, inputMethodLayer.id);
     return new ImeAppearProcessor$WaitImeAppearFinished(this.$outer, this.tags, inputMethodLayer.id);
   };
   ImeAppearProcessor$WaitInputMethodVisible.$metadata$ = {kind: Kind_CLASS, simpleName: 'WaitInputMethodVisible', interfaces: [TransitionProcessor$BaseState]};
@@ -174157,14 +175027,14 @@
     this.$outer = $outer;
     TransitionProcessor$BaseState.call(this, this.$outer, tags);
     this.layerId_0 = layerId;
-    this.isImeAppearFinished_0 = new ConditionList(listOf_0([WindowManagerConditionsFactory_getInstance().isLayerVisible_n5t22c$(FlickerComponentName$Companion_getInstance().IME), WindowManagerConditionsFactory_getInstance().isLayerColorAlphaOne_n5t22c$(FlickerComponentName$Companion_getInstance().IME), WindowManagerConditionsFactory_getInstance().isLayerTransformFlagSet_em69mm$(FlickerComponentName$Companion_getInstance().IME, 1), WindowManagerConditionsFactory_getInstance().isLayerTransformFlagSet_em69mm$(FlickerComponentName$Companion_getInstance().IME, 4).negate()]));
+    this.isImeAppearFinished_0 = new ConditionList(listOf([WindowManagerConditionsFactory_getInstance().isLayerVisible_n5t22c$(FlickerComponentName$Companion_getInstance().IME), WindowManagerConditionsFactory_getInstance().isLayerColorAlphaOne_n5t22c$(FlickerComponentName$Companion_getInstance().IME), WindowManagerConditionsFactory_getInstance().isLayerTransformFlagSet_em69mm$(FlickerComponentName$Companion_getInstance().IME, 1), WindowManagerConditionsFactory_getInstance().isLayerTransformFlagSet_em69mm$(FlickerComponentName$Companion_getInstance().IME, 4).negate()]));
   }
-  ImeAppearProcessor$WaitImeAppearFinished.prototype.doProcessState_bop1cf$ = function (previous, current, next) {
+  ImeAppearProcessor$WaitImeAppearFinished.prototype.doProcessState_tzuef4$ = function (previous, current, next) {
     var tmp$;
     var isImeAppearFinished = this.isImeAppearFinished_0.isSatisfied_11rb$(current);
     if (isImeAppearFinished) {
       this.logger_8be2vx$('(' + current.layerState.timestamp.toString() + ') Ime appear end detected.');
-      this.addEndTransitionTag_cgxjfp$(current, this.transition_8be2vx$, this.layerId_0);
+      this.addEndTransitionTag_153xe4$(current, this.transition_8be2vx$, this.layerId_0);
       tmp$ = new ImeAppearProcessor$WaitInputMethodVisible(this.$outer, this.tags);
     } else {
       this.logger_8be2vx$('(' + current.layerState.timestamp.toString() + ") Ime appear hasn't finished.");
@@ -174188,11 +175058,11 @@
     this.$outer = $outer;
     TransitionProcessor$BaseState.call(this, this.$outer, tags);
     this.isImeShown_0 = WindowManagerConditionsFactory_getInstance().isImeShown_za3lpa$(0);
-    this.isImeAppeared_0 = new ConditionList(listOf_0([this.isImeShown_0, WindowManagerConditionsFactory_getInstance().isLayerColorAlphaOne_n5t22c$(FlickerComponentName$Companion_getInstance().IME), WindowManagerConditionsFactory_getInstance().isLayerTransformFlagSet_em69mm$(FlickerComponentName$Companion_getInstance().IME, 1), WindowManagerConditionsFactory_getInstance().isLayerTransformFlagSet_em69mm$(FlickerComponentName$Companion_getInstance().IME, 4).negate()]));
-    this.isImeDisappearByGesture_0 = new ConditionList(listOf_0([this.isImeShown_0, WindowManagerConditionsFactory_getInstance().isLayerColorAlphaOne_n5t22c$(FlickerComponentName$Companion_getInstance().IME).negate()]));
-    this.isImeDisappearByAppClose_0 = new ConditionList(listOf_0([this.isImeShown_0, WindowManagerConditionsFactory_getInstance().isLayerTransformFlagSet_em69mm$(FlickerComponentName$Companion_getInstance().IME, 4)]));
+    this.isImeAppeared_0 = new ConditionList(listOf([this.isImeShown_0, WindowManagerConditionsFactory_getInstance().isLayerColorAlphaOne_n5t22c$(FlickerComponentName$Companion_getInstance().IME), WindowManagerConditionsFactory_getInstance().isLayerTransformFlagSet_em69mm$(FlickerComponentName$Companion_getInstance().IME, 1), WindowManagerConditionsFactory_getInstance().isLayerTransformFlagSet_em69mm$(FlickerComponentName$Companion_getInstance().IME, 4).negate()]));
+    this.isImeDisappearByGesture_0 = new ConditionList(listOf([this.isImeShown_0, WindowManagerConditionsFactory_getInstance().isLayerColorAlphaOne_n5t22c$(FlickerComponentName$Companion_getInstance().IME).negate()]));
+    this.isImeDisappearByAppClose_0 = new ConditionList(listOf([this.isImeShown_0, WindowManagerConditionsFactory_getInstance().isLayerTransformFlagSet_em69mm$(FlickerComponentName$Companion_getInstance().IME, 4)]));
   }
-  ImeDisappearProcessor$WaitImeDisappearStart.prototype.doProcessState_bop1cf$ = function (previous, current, next) {
+  ImeDisappearProcessor$WaitImeDisappearStart.prototype.doProcessState_tzuef4$ = function (previous, current, next) {
     var tmp$;
     if (previous == null)
       return this;
@@ -174220,7 +175090,7 @@
     }
      while (false);
     var inputMethodLayer = first$result;
-    this.addStartTransitionTag_cgxjfp$(current, this.transition_8be2vx$, inputMethodLayer.id);
+    this.addStartTransitionTag_153xe4$(current, this.transition_8be2vx$, inputMethodLayer.id);
     return new ImeDisappearProcessor$WaitImeDisappearFinished(this.$outer, this.tags, inputMethodLayer.id);
   };
   ImeDisappearProcessor$WaitImeDisappearStart.$metadata$ = {kind: Kind_CLASS, simpleName: 'WaitImeDisappearStart', interfaces: [TransitionProcessor$BaseState]};
@@ -174230,11 +175100,11 @@
     this.layerId_0 = layerId;
     this.imeNotShown_0 = WindowManagerConditionsFactory_getInstance().isImeShown_za3lpa$(0).negate();
   }
-  ImeDisappearProcessor$WaitImeDisappearFinished.prototype.doProcessState_bop1cf$ = function (previous, current, next) {
+  ImeDisappearProcessor$WaitImeDisappearFinished.prototype.doProcessState_tzuef4$ = function (previous, current, next) {
     var tmp$;
     if (this.imeNotShown_0.isSatisfied_11rb$(current)) {
       this.logger_8be2vx$('(' + current.layerState.timestamp.toString() + ') IME disappear end detected.');
-      this.addEndTransitionTag_cgxjfp$(current, this.transition_8be2vx$, this.layerId_0);
+      this.addEndTransitionTag_153xe4$(current, this.transition_8be2vx$, this.layerId_0);
       tmp$ = new ImeDisappearProcessor$WaitImeDisappearStart(this.$outer, this.tags);
     } else {
       this.logger_8be2vx$('(' + current.layerState.timestamp.toString() + ') IME disappear not finished.');
@@ -174270,7 +175140,7 @@
     }
     return destination;
   };
-  PipEnterProcessor$WaitPipEnterStart.prototype.doProcessState_bop1cf$ = function (previous, current, next) {
+  PipEnterProcessor$WaitPipEnterStart.prototype.doProcessState_tzuef4$ = function (previous, current, next) {
     var tmp$;
     if (previous == null)
       return this;
@@ -174328,9 +175198,9 @@
     var pipWindow = first_1(current.wmState.pinnedWindows);
     var startTimestamp = this.$outer.allScalingLayers_0.get_11rb$(pipWindow.layerId);
     if (startTimestamp != null) {
-      this.addStartTransitionTag_cgxjfp$(current, this.transition_8be2vx$, pipWindow.layerId, void 0, void 0, startTimestamp);
+      this.addStartTransitionTag_153xe4$(current, this.transition_8be2vx$, pipWindow.layerId, void 0, void 0, startTimestamp);
     } else {
-      this.addStartTransitionTag_cgxjfp$(current, this.transition_8be2vx$, pipWindow.layerId);
+      this.addStartTransitionTag_153xe4$(current, this.transition_8be2vx$, pipWindow.layerId);
     }
     this.$outer.allScalingLayers_0.clear();
     this.logger_8be2vx$('(' + toString(startTimestamp) + ') PIP enter started.');
@@ -174341,13 +175211,13 @@
     this.$outer = $outer;
     TransitionProcessor$BaseState.call(this, this.$outer, tags);
     this.layerId_0 = layerId;
-    this.isPipEnterFinished_0 = new ConditionList(listOf_0([WindowManagerConditionsFactory_getInstance().isAppTransitionIdle_za3lpa$(0), WindowManagerConditionsFactory_getInstance().hasPipWindow(), WindowManagerConditionsFactory_getInstance().isPipWindowLayerSizeMatch_za3lpa$(this.layerId_0)]));
+    this.isPipEnterFinished_0 = new ConditionList(listOf([WindowManagerConditionsFactory_getInstance().isAppTransitionIdle_za3lpa$(0), WindowManagerConditionsFactory_getInstance().hasPipWindow(), WindowManagerConditionsFactory_getInstance().isPipWindowLayerSizeMatch_za3lpa$(this.layerId_0)]));
   }
-  PipEnterProcessor$WaitPipEnterFinished.prototype.doProcessState_bop1cf$ = function (previous, current, next) {
+  PipEnterProcessor$WaitPipEnterFinished.prototype.doProcessState_tzuef4$ = function (previous, current, next) {
     var tmp$;
     if (this.isPipEnterFinished_0.isSatisfied_11rb$(current)) {
       this.logger_8be2vx$('(' + current.wmState.timestamp.toString() + ') PIP enter finished.');
-      this.addEndTransitionTag_cgxjfp$(current, this.transition_8be2vx$, this.layerId_0);
+      this.addEndTransitionTag_153xe4$(current, this.transition_8be2vx$, this.layerId_0);
       tmp$ = new PipEnterProcessor$WaitPipEnterStart(this.$outer, this.tags);
     } else {
       this.logger_8be2vx$('(' + current.wmState.timestamp.toString() + ') PIP enter not finished.');
@@ -174375,7 +175245,7 @@
     this.$outer = $outer;
     TransitionProcessor$BaseState.call(this, this.$outer, tags);
   }
-  PipExitProcessor$WaitPinnedWindowSwipedOrFading.prototype.doProcessState_bop1cf$ = function (previous, current, next) {
+  PipExitProcessor$WaitPinnedWindowSwipedOrFading.prototype.doProcessState_tzuef4$ = function (previous, current, next) {
     var tmp$, tmp$_0;
     if (previous == null)
       return this;
@@ -174387,8 +175257,8 @@
     if (nextPinnedWindow == null) {
       var dump = this.$outer.scalingWindows_0.get_11rb$(currPinnedWindow.token);
       if (dump != null) {
-        this.addStartTransitionTag_cgxjfp$(dump, this.transition_8be2vx$, currPinnedWindow.layerId, currPinnedWindow.token);
-        this.addEndTransitionTag_cgxjfp$(previous, this.transition_8be2vx$, currPinnedWindow.layerId, currPinnedWindow.token);
+        this.addStartTransitionTag_153xe4$(dump, this.transition_8be2vx$, currPinnedWindow.layerId, currPinnedWindow.token);
+        this.addEndTransitionTag_153xe4$(previous, this.transition_8be2vx$, currPinnedWindow.layerId, currPinnedWindow.token);
       }return this;
     }var isScaling = WindowManagerConditionsFactory_getInstance().isLayerTransformFlagSet_vux9f0$(currPinnedWindow.layerId, 4);
     var movingPinnedWindow = isScaling.isSatisfied_11rb$(current) && isScaling.negate().isSatisfied_11rb$(previous);
@@ -174400,7 +175270,7 @@
       $receiver.put_xwzc9p$(key, current);
       tmp$_0 = this;
     } else if (pinnedWindowFading) {
-      this.addStartTransitionTag_cgxjfp$(previous, this.transition_8be2vx$, currPinnedWindow.layerId, currPinnedWindow.token);
+      this.addStartTransitionTag_153xe4$(previous, this.transition_8be2vx$, currPinnedWindow.layerId, currPinnedWindow.token);
       tmp$_0 = new PipExitProcessor$WaitUntilPipColorAlphaIsOneAndInvisible(this.$outer, this.tags, currPinnedWindow.layerId);
     } else {
       tmp$_0 = this;
@@ -174413,13 +175283,13 @@
     TransitionProcessor$BaseState.call(this, this.$outer, tags);
     this.layerId_0 = layerId;
   }
-  PipExitProcessor$WaitUntilPipColorAlphaIsOneAndInvisible.prototype.doProcessState_bop1cf$ = function (previous, current, next) {
+  PipExitProcessor$WaitUntilPipColorAlphaIsOneAndInvisible.prototype.doProcessState_tzuef4$ = function (previous, current, next) {
     var tmp$;
     var layerInvisible = WindowManagerConditionsFactory_getInstance().isLayerVisible_za3lpa$(this.layerId_0).negate().isSatisfied_11rb$(current);
     var layerColorAlphaOne = WindowManagerConditionsFactory_getInstance().isLayerColorAlphaOne_za3lpa$(this.layerId_0).isSatisfied_11rb$(current);
     var isStableState = this.$outer.wmStateIdle_0.isSatisfied_11rb$(current) || this.$outer.wmStateComplete_0.isSatisfied_11rb$(current) || this.$outer.areLayersAnimating_0.negate().isSatisfied_11rb$(current);
     if (layerInvisible && layerColorAlphaOne && isStableState) {
-      this.addEndTransitionTag_cgxjfp$(current, this.transition_8be2vx$, this.layerId_0);
+      this.addEndTransitionTag_153xe4$(current, this.transition_8be2vx$, this.layerId_0);
       tmp$ = new PipExitProcessor$WaitPinnedWindowSwipedOrFading(this.$outer, this.tags);
     } else {
       tmp$ = this;
@@ -174443,7 +175313,7 @@
     this.$outer = $outer;
     TransitionProcessor$BaseState.call(this, this.$outer, tags);
   }
-  PipExpandProcessor$WaitUntilAppIsNoLongerPinned.prototype.doProcessState_bop1cf$ = function (previous, current, next) {
+  PipExpandProcessor$WaitUntilAppIsNoLongerPinned.prototype.doProcessState_tzuef4$ = function (previous, current, next) {
     var tmp$, tmp$_0, tmp$_1;
     var prevPinnedWindows = (tmp$_1 = (tmp$_0 = (tmp$ = previous != null ? previous.wmState : null) != null ? tmp$.pinnedWindows : null) != null ? toList(tmp$_0) : null) != null ? tmp$_1 : emptyList();
     var currPinnedWindows = toList(current.wmState.pinnedWindows);
@@ -174459,7 +175329,7 @@
     this.isScaling_0 = WindowManagerConditionsFactory_getInstance().isLayerTransformFlagSet_vux9f0$(this.layerId_0, 4);
     this.isIdentity_0 = WindowManagerConditionsFactory_getInstance().isLayerTransformIdentity_za3lpa$(this.layerId_0);
   }
-  PipExpandProcessor$WaitUntilAppCompletesExpanding.prototype.doProcessState_bop1cf$ = function (previous, current, next) {
+  PipExpandProcessor$WaitUntilAppCompletesExpanding.prototype.doProcessState_tzuef4$ = function (previous, current, next) {
     var tmp$, tmp$_0, tmp$_1, tmp$_2;
     if (previous == null)
       return this;
@@ -174482,8 +175352,8 @@
     } else if (finishedExpanding) {
       var dump = this.$outer.scalingLayers_0.get_11rb$(this.layerId_0);
       if (dump != null) {
-        this.addStartTransitionTag_cgxjfp$(current, this.transition_8be2vx$, this.layerId_0, void 0, void 0, dump.layerState.timestamp);
-        this.addEndTransitionTag_cgxjfp$(current, this.transition_8be2vx$, this.layerId_0, void 0, void 0, current.layerState.timestamp);
+        this.addStartTransitionTag_153xe4$(current, this.transition_8be2vx$, this.layerId_0, void 0, void 0, dump.layerState.timestamp);
+        this.addEndTransitionTag_153xe4$(current, this.transition_8be2vx$, this.layerId_0, void 0, void 0, current.layerState.timestamp);
         this.$outer.scalingLayers_0.clear();
         return new PipExpandProcessor$WaitUntilAppIsNoLongerPinned(this.$outer, this.tags);
       }}return this;
@@ -174505,7 +175375,7 @@
     this.$outer = $outer;
     TransitionProcessor$BaseState.call(this, this.$outer, tags);
   }
-  PipResizeProcessor$WaitUntilAppStopsAnimatingYetStillPinned.prototype.doProcessState_bop1cf$ = function (previous, current, next) {
+  PipResizeProcessor$WaitUntilAppStopsAnimatingYetStillPinned.prototype.doProcessState_tzuef4$ = function (previous, current, next) {
     var tmp$, tmp$_0, tmp$_1, tmp$_2, tmp$_3;
     tmp$ = firstOrNull(current.wmState.pinnedWindows);
     if (tmp$ == null) {
@@ -174525,8 +175395,8 @@
     if (finishedResizing) {
       var lastScaledDump = this.$outer.scalingWindows_0.get_11rb$(currPinnedWindow.token);
       if (lastScaledDump != null) {
-        this.addStartTransitionTag_cgxjfp$(lastScaledDump, this.transition_8be2vx$, currPinnedWindow.layerId, currPinnedWindow.token, void 0, lastScaledDump.layerState.timestamp);
-        this.addEndTransitionTag_cgxjfp$(lastScaledDump, this.transition_8be2vx$, currPinnedWindow.layerId, currPinnedWindow.token, void 0, current.layerState.timestamp);
+        this.addStartTransitionTag_153xe4$(lastScaledDump, this.transition_8be2vx$, currPinnedWindow.layerId, currPinnedWindow.token, void 0, lastScaledDump.layerState.timestamp);
+        this.addEndTransitionTag_153xe4$(lastScaledDump, this.transition_8be2vx$, currPinnedWindow.layerId, currPinnedWindow.token, void 0, current.layerState.timestamp);
         this.$outer.scalingWindows_0.remove_11rb$(currPinnedWindow.token);
       }}return this;
   };
@@ -174556,7 +175426,7 @@
     this.$outer = $outer;
     TransitionProcessor$BaseState.call(this, this.$outer, tags);
   }
-  RotationProcessor$InitialState.prototype.doProcessState_bop1cf$ = function (previous, current, next) {
+  RotationProcessor$InitialState.prototype.doProcessState_tzuef4$ = function (previous, current, next) {
     var currDisplayRect = RotationProcessor$Companion_getInstance().displaySize_0(current.wmState);
     this.logger_8be2vx$('(' + current.wmState.timestamp.toString() + ') Initial state. ' + ('Display size ' + currDisplayRect));
     return new RotationProcessor$WaitDisplayRectChange(this.$outer, this.tags, currDisplayRect);
@@ -174567,7 +175437,7 @@
     TransitionProcessor$BaseState.call(this, this.$outer, tags);
     this.currDisplayRect_0 = currDisplayRect;
   }
-  RotationProcessor$WaitDisplayRectChange.prototype.doProcessState_bop1cf$ = function (previous, current, next) {
+  RotationProcessor$WaitDisplayRectChange.prototype.doProcessState_tzuef4$ = function (previous, current, next) {
     var tmp$, tmp$_0;
     var newWmDisplayRect = RotationProcessor$Companion_getInstance().displaySize_0(current.wmState);
     var newLayersDisplayRect = RotationProcessor$Companion_getInstance().screenBounds_0(current.layerState);
@@ -174591,7 +175461,7 @@
   RotationProcessor$WaitDisplayRectChange.prototype.processDisplaySizeChange_0 = function (previous, newDisplayRect) {
     this.logger_8be2vx$('(' + previous.wmState.timestamp.toString() + ') Display size changed ' + ('to ' + newDisplayRect));
     this.logger_8be2vx$('(' + previous.wmState.timestamp.toString() + ') Tagging transition start');
-    this.addStartTransitionTag_cgxjfp$(previous, this.transition_8be2vx$);
+    this.addStartTransitionTag_153xe4$(previous, this.transition_8be2vx$);
     return new RotationProcessor$WaitRotationFinished(this.$outer, this.tags);
   };
   RotationProcessor$WaitDisplayRectChange.$metadata$ = {kind: Kind_CLASS, simpleName: 'WaitDisplayRectChange', interfaces: [TransitionProcessor$BaseState]};
@@ -174604,7 +175474,7 @@
     this.wmStateIdle_0 = WindowManagerConditionsFactory_getInstance().isAppTransitionIdle_za3lpa$(0);
     this.wmStateComplete_0 = WindowManagerConditionsFactory_getInstance().isWMStateComplete();
   }
-  RotationProcessor$WaitRotationFinished.prototype.doProcessState_bop1cf$ = function (previous, current, next) {
+  RotationProcessor$WaitRotationFinished.prototype.doProcessState_tzuef4$ = function (previous, current, next) {
     var tmp$;
     var anyLayerAnimating = this.areLayersAnimating_0.isSatisfied_11rb$(current);
     var rotationLayerExists = this.rotationLayerExists_0.isSatisfied_11rb$(current);
@@ -174620,7 +175490,7 @@
       tmp$ = this;
     } else {
       this.logger_8be2vx$('(' + current.layerState.timestamp.toString() + ') Tagging transition end');
-      this.addEndTransitionTag_cgxjfp$(current, this.transition_8be2vx$);
+      this.addEndTransitionTag_153xe4$(current, this.transition_8be2vx$);
       var lastDisplayRect = RotationProcessor$Companion_getInstance().displaySize_0(current.wmState);
       tmp$ = new RotationProcessor$WaitDisplayRectChange(this.$outer, this.tags, lastDisplayRect);
     }
@@ -174721,7 +175591,7 @@
       if (current == null) {
         var message = "Current state shouldn't be null";
         throw IllegalArgumentException_init(message.toString());
-      }var newPosition = currPosition.process_73zvrm$(previous, current, next);
+      }var newPosition = currPosition.process_6gppa9$(previous, current, next);
       currPosition = newPosition;
     }
     return this.buildTagTrace_yi9zhu$_0(tags);
@@ -175273,24 +176143,27 @@
     }
     return copyToArray(destination_0);
   }});
-  Object.defineProperty(WindowManagerState.prototype, 'topVisibleAppWindow', {configurable: true, get: function () {
-    var tmp$;
+  Object.defineProperty(WindowManagerState.prototype, 'visibleAppWindows', {configurable: true, get: function () {
     var $receiver = this.visibleWindows;
     var destination = ArrayList_init();
-    var tmp$_0;
-    for (tmp$_0 = 0; tmp$_0 !== $receiver.length; ++tmp$_0) {
-      var element = $receiver[tmp$_0];
+    var tmp$;
+    for (tmp$ = 0; tmp$ !== $receiver.length; ++tmp$) {
+      var element = $receiver[tmp$];
       if (element.isAppWindow)
         destination.add_11rb$(element);
     }
-    var destination_0 = ArrayList_init_0(collectionSizeOrDefault(destination, 10));
-    var tmp$_1;
-    tmp$_1 = destination.iterator();
-    while (tmp$_1.hasNext()) {
-      var item = tmp$_1.next();
-      destination_0.add_11rb$(item.title);
+    return copyToArray(destination);
+  }});
+  Object.defineProperty(WindowManagerState.prototype, 'topVisibleAppWindow', {configurable: true, get: function () {
+    var tmp$;
+    var $receiver = this.visibleAppWindows;
+    var destination = ArrayList_init_0($receiver.length);
+    var tmp$_0;
+    for (tmp$_0 = 0; tmp$_0 !== $receiver.length; ++tmp$_0) {
+      var item = $receiver[tmp$_0];
+      destination.add_11rb$(item.title);
     }
-    return (tmp$ = firstOrNull_0(destination_0)) != null ? tmp$ : '';
+    return (tmp$ = firstOrNull_0(destination)) != null ? tmp$ : '';
   }});
   Object.defineProperty(WindowManagerState.prototype, 'pinnedWindows', {configurable: true, get: function () {
     var $receiver = this.visibleWindows;
@@ -175711,11 +176584,11 @@
       tmp$ = this.windowStates.length === 0;
     }var tmp$_0 = tmp$;
     if (!tmp$_0) {
-      tmp$_0 = (this.focusedApp.length === 0 && this.homeActivity == null);
-    }var tmp$_1 = tmp$_0;
-    if (!tmp$_1) {
-      tmp$_1 = this.focusedWindow.length === 0;
-    }var tmp$_2 = tmp$_1;
+      var tmp$_1 = this.focusedApp.length === 0;
+      if (!tmp$_1) {
+        tmp$_1 = this.focusedWindow.length === 0;
+      }tmp$_0 = (tmp$_1 && this.homeActivity == null);
+    }var tmp$_2 = tmp$_0;
     if (!tmp$_2) {
       var tmp$_3 = this.focusedActivity.length === 0;
       if (!tmp$_3) {
@@ -176829,7 +177702,7 @@
   WindowContainer.prototype.toString = function () {
     var tmp$ = this.title.length === 0;
     if (!tmp$) {
-      var $receiver = listOf_0(['WindowContainer', 'Task']);
+      var $receiver = listOf(['WindowContainer', 'Task']);
       var any$result;
       any$break: do {
         var tmp$_0;
@@ -177481,6 +178354,7 @@
   Object.defineProperty(Color3, 'Companion', {get: Color3$Companion_getInstance});
   package$common.Color3 = Color3;
   package$common.Condition = Condition;
+  package$common.ConditionList_init_v59lim$ = ConditionList_init;
   package$common.ConditionList = ConditionList;
   package$common.DeviceStateDump = DeviceStateDump;
   package$common.DeviceTraceDump = DeviceTraceDump;
@@ -177510,13 +178384,14 @@
   package$errors.Error = Error_0;
   package$errors.ErrorState = ErrorState;
   package$errors.ErrorTrace = ErrorTrace;
-  Object.defineProperty(Display, 'Companion', {get: Display$Companion_getInstance});
   var package$layers = package$common.layers || (package$common.layers = {});
+  package$layers.BaseLayerTraceEntry = BaseLayerTraceEntry;
+  Object.defineProperty(Display, 'Companion', {get: Display$Companion_getInstance});
   package$layers.Display = Display;
   package$layers.Layer = Layer;
   package$layers.LayerTraceEntry = LayerTraceEntry;
   package$layers.LayerTraceEntryBuilder = LayerTraceEntryBuilder;
-  package$layers.LayersTrace_init_zbopxu$ = LayersTrace_init;
+  package$layers.LayersTrace_init_3ma5jx$ = LayersTrace_init;
   package$layers.LayersTrace = LayersTrace;
   Object.defineProperty(Transform, 'Companion', {get: Transform$Companion_getInstance});
   package$layers.Transform = Transform;
@@ -177636,6 +178511,17 @@
 
 /***/ }),
 
+/***/ "u4Gs":
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_ref_3_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_DataAdb_vue_vue_type_style_index_0_id_62a1321f_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("aaYB");
+/* harmony import */ var _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_ref_3_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_DataAdb_vue_vue_type_style_index_0_id_62a1321f_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_ref_3_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_DataAdb_vue_vue_type_style_index_0_id_62a1321f_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);
+/* unused harmony reexport * */
+
+
+/***/ }),
+
 /***/ "ua+W":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {