[test] Require Dart 3.3, drop dependency on pkg:js
diff --git a/.github/workflows/dart.yml b/.github/workflows/dart.yml
index 60be796..6595df5 100644
--- a/.github/workflows/dart.yml
+++ b/.github/workflows/dart.yml
@@ -1,4 +1,4 @@
-# Created with package:mono_repo v6.6.0
+# Created with package:mono_repo v6.6.1
 name: Dart CI
 on:
   push:
@@ -36,7 +36,7 @@
         name: Checkout repository
         uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
       - name: mono_repo self validate
-        run: dart pub global activate mono_repo 6.6.0
+        run: dart pub global activate mono_repo 6.6.1
       - name: mono_repo self validate
         run: dart pub global run mono_repo generate --validate
   job_002:
@@ -282,181 +282,6 @@
       - job_003
       - job_004
   job_007:
-    name: "unit_test; linux; Dart 3.0.0; PKG: pkgs/test; `xvfb-run -s \"-screen 0 1024x768x24\" dart test --preset travis --total-shards 5 --shard-index 0`"
-    runs-on: ubuntu-latest
-    steps:
-      - name: Cache Pub hosted dependencies
-        uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2
-        with:
-          path: "~/.pub-cache/hosted"
-          key: "os:ubuntu-latest;pub-cache-hosted;sdk:3.0.0;packages:pkgs/test;commands:command_02"
-          restore-keys: |
-            os:ubuntu-latest;pub-cache-hosted;sdk:3.0.0;packages:pkgs/test
-            os:ubuntu-latest;pub-cache-hosted;sdk:3.0.0
-            os:ubuntu-latest;pub-cache-hosted
-            os:ubuntu-latest
-      - name: Setup Dart SDK
-        uses: dart-lang/setup-dart@fedb1266e91cf51be2fdb382869461a434b920a3
-        with:
-          sdk: "3.0.0"
-      - id: checkout
-        name: Checkout repository
-        uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
-      - id: pkgs_test_pub_upgrade
-        name: pkgs/test; dart pub upgrade
-        run: dart pub upgrade
-        if: "always() && steps.checkout.conclusion == 'success'"
-        working-directory: pkgs/test
-      - name: "pkgs/test; xvfb-run -s \"-screen 0 1024x768x24\" dart test --preset travis --total-shards 5 --shard-index 0"
-        run: "xvfb-run -s \"-screen 0 1024x768x24\" dart test --preset travis --total-shards 5 --shard-index 0"
-        if: "always() && steps.pkgs_test_pub_upgrade.conclusion == 'success'"
-        working-directory: pkgs/test
-    needs:
-      - job_001
-      - job_002
-      - job_003
-      - job_004
-  job_008:
-    name: "unit_test; linux; Dart 3.0.0; PKG: pkgs/test; `xvfb-run -s \"-screen 0 1024x768x24\" dart test --preset travis --total-shards 5 --shard-index 1`"
-    runs-on: ubuntu-latest
-    steps:
-      - name: Cache Pub hosted dependencies
-        uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2
-        with:
-          path: "~/.pub-cache/hosted"
-          key: "os:ubuntu-latest;pub-cache-hosted;sdk:3.0.0;packages:pkgs/test;commands:command_03"
-          restore-keys: |
-            os:ubuntu-latest;pub-cache-hosted;sdk:3.0.0;packages:pkgs/test
-            os:ubuntu-latest;pub-cache-hosted;sdk:3.0.0
-            os:ubuntu-latest;pub-cache-hosted
-            os:ubuntu-latest
-      - name: Setup Dart SDK
-        uses: dart-lang/setup-dart@fedb1266e91cf51be2fdb382869461a434b920a3
-        with:
-          sdk: "3.0.0"
-      - id: checkout
-        name: Checkout repository
-        uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
-      - id: pkgs_test_pub_upgrade
-        name: pkgs/test; dart pub upgrade
-        run: dart pub upgrade
-        if: "always() && steps.checkout.conclusion == 'success'"
-        working-directory: pkgs/test
-      - name: "pkgs/test; xvfb-run -s \"-screen 0 1024x768x24\" dart test --preset travis --total-shards 5 --shard-index 1"
-        run: "xvfb-run -s \"-screen 0 1024x768x24\" dart test --preset travis --total-shards 5 --shard-index 1"
-        if: "always() && steps.pkgs_test_pub_upgrade.conclusion == 'success'"
-        working-directory: pkgs/test
-    needs:
-      - job_001
-      - job_002
-      - job_003
-      - job_004
-  job_009:
-    name: "unit_test; linux; Dart 3.0.0; PKG: pkgs/test; `xvfb-run -s \"-screen 0 1024x768x24\" dart test --preset travis --total-shards 5 --shard-index 2`"
-    runs-on: ubuntu-latest
-    steps:
-      - name: Cache Pub hosted dependencies
-        uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2
-        with:
-          path: "~/.pub-cache/hosted"
-          key: "os:ubuntu-latest;pub-cache-hosted;sdk:3.0.0;packages:pkgs/test;commands:command_04"
-          restore-keys: |
-            os:ubuntu-latest;pub-cache-hosted;sdk:3.0.0;packages:pkgs/test
-            os:ubuntu-latest;pub-cache-hosted;sdk:3.0.0
-            os:ubuntu-latest;pub-cache-hosted
-            os:ubuntu-latest
-      - name: Setup Dart SDK
-        uses: dart-lang/setup-dart@fedb1266e91cf51be2fdb382869461a434b920a3
-        with:
-          sdk: "3.0.0"
-      - id: checkout
-        name: Checkout repository
-        uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
-      - id: pkgs_test_pub_upgrade
-        name: pkgs/test; dart pub upgrade
-        run: dart pub upgrade
-        if: "always() && steps.checkout.conclusion == 'success'"
-        working-directory: pkgs/test
-      - name: "pkgs/test; xvfb-run -s \"-screen 0 1024x768x24\" dart test --preset travis --total-shards 5 --shard-index 2"
-        run: "xvfb-run -s \"-screen 0 1024x768x24\" dart test --preset travis --total-shards 5 --shard-index 2"
-        if: "always() && steps.pkgs_test_pub_upgrade.conclusion == 'success'"
-        working-directory: pkgs/test
-    needs:
-      - job_001
-      - job_002
-      - job_003
-      - job_004
-  job_010:
-    name: "unit_test; linux; Dart 3.0.0; PKG: pkgs/test; `xvfb-run -s \"-screen 0 1024x768x24\" dart test --preset travis --total-shards 5 --shard-index 3`"
-    runs-on: ubuntu-latest
-    steps:
-      - name: Cache Pub hosted dependencies
-        uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2
-        with:
-          path: "~/.pub-cache/hosted"
-          key: "os:ubuntu-latest;pub-cache-hosted;sdk:3.0.0;packages:pkgs/test;commands:command_05"
-          restore-keys: |
-            os:ubuntu-latest;pub-cache-hosted;sdk:3.0.0;packages:pkgs/test
-            os:ubuntu-latest;pub-cache-hosted;sdk:3.0.0
-            os:ubuntu-latest;pub-cache-hosted
-            os:ubuntu-latest
-      - name: Setup Dart SDK
-        uses: dart-lang/setup-dart@fedb1266e91cf51be2fdb382869461a434b920a3
-        with:
-          sdk: "3.0.0"
-      - id: checkout
-        name: Checkout repository
-        uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
-      - id: pkgs_test_pub_upgrade
-        name: pkgs/test; dart pub upgrade
-        run: dart pub upgrade
-        if: "always() && steps.checkout.conclusion == 'success'"
-        working-directory: pkgs/test
-      - name: "pkgs/test; xvfb-run -s \"-screen 0 1024x768x24\" dart test --preset travis --total-shards 5 --shard-index 3"
-        run: "xvfb-run -s \"-screen 0 1024x768x24\" dart test --preset travis --total-shards 5 --shard-index 3"
-        if: "always() && steps.pkgs_test_pub_upgrade.conclusion == 'success'"
-        working-directory: pkgs/test
-    needs:
-      - job_001
-      - job_002
-      - job_003
-      - job_004
-  job_011:
-    name: "unit_test; linux; Dart 3.0.0; PKG: pkgs/test; `xvfb-run -s \"-screen 0 1024x768x24\" dart test --preset travis --total-shards 5 --shard-index 4`"
-    runs-on: ubuntu-latest
-    steps:
-      - name: Cache Pub hosted dependencies
-        uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2
-        with:
-          path: "~/.pub-cache/hosted"
-          key: "os:ubuntu-latest;pub-cache-hosted;sdk:3.0.0;packages:pkgs/test;commands:command_06"
-          restore-keys: |
-            os:ubuntu-latest;pub-cache-hosted;sdk:3.0.0;packages:pkgs/test
-            os:ubuntu-latest;pub-cache-hosted;sdk:3.0.0
-            os:ubuntu-latest;pub-cache-hosted
-            os:ubuntu-latest
-      - name: Setup Dart SDK
-        uses: dart-lang/setup-dart@fedb1266e91cf51be2fdb382869461a434b920a3
-        with:
-          sdk: "3.0.0"
-      - id: checkout
-        name: Checkout repository
-        uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
-      - id: pkgs_test_pub_upgrade
-        name: pkgs/test; dart pub upgrade
-        run: dart pub upgrade
-        if: "always() && steps.checkout.conclusion == 'success'"
-        working-directory: pkgs/test
-      - name: "pkgs/test; xvfb-run -s \"-screen 0 1024x768x24\" dart test --preset travis --total-shards 5 --shard-index 4"
-        run: "xvfb-run -s \"-screen 0 1024x768x24\" dart test --preset travis --total-shards 5 --shard-index 4"
-        if: "always() && steps.pkgs_test_pub_upgrade.conclusion == 'success'"
-        working-directory: pkgs/test
-    needs:
-      - job_001
-      - job_002
-      - job_003
-      - job_004
-  job_012:
     name: "unit_test; linux; Dart 3.0.0; PKG: pkgs/test_api; `dart test --preset travis -x browser`"
     runs-on: ubuntu-latest
     steps:
@@ -491,6 +316,181 @@
       - job_002
       - job_003
       - job_004
+  job_008:
+    name: "unit_test; linux; Dart 3.3.0; PKG: pkgs/test; `xvfb-run -s \"-screen 0 1024x768x24\" dart test --preset travis --total-shards 5 --shard-index 0`"
+    runs-on: ubuntu-latest
+    steps:
+      - name: Cache Pub hosted dependencies
+        uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2
+        with:
+          path: "~/.pub-cache/hosted"
+          key: "os:ubuntu-latest;pub-cache-hosted;sdk:3.3.0;packages:pkgs/test;commands:command_02"
+          restore-keys: |
+            os:ubuntu-latest;pub-cache-hosted;sdk:3.3.0;packages:pkgs/test
+            os:ubuntu-latest;pub-cache-hosted;sdk:3.3.0
+            os:ubuntu-latest;pub-cache-hosted
+            os:ubuntu-latest
+      - name: Setup Dart SDK
+        uses: dart-lang/setup-dart@fedb1266e91cf51be2fdb382869461a434b920a3
+        with:
+          sdk: "3.3.0"
+      - id: checkout
+        name: Checkout repository
+        uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
+      - id: pkgs_test_pub_upgrade
+        name: pkgs/test; dart pub upgrade
+        run: dart pub upgrade
+        if: "always() && steps.checkout.conclusion == 'success'"
+        working-directory: pkgs/test
+      - name: "pkgs/test; xvfb-run -s \"-screen 0 1024x768x24\" dart test --preset travis --total-shards 5 --shard-index 0"
+        run: "xvfb-run -s \"-screen 0 1024x768x24\" dart test --preset travis --total-shards 5 --shard-index 0"
+        if: "always() && steps.pkgs_test_pub_upgrade.conclusion == 'success'"
+        working-directory: pkgs/test
+    needs:
+      - job_001
+      - job_002
+      - job_003
+      - job_004
+  job_009:
+    name: "unit_test; linux; Dart 3.3.0; PKG: pkgs/test; `xvfb-run -s \"-screen 0 1024x768x24\" dart test --preset travis --total-shards 5 --shard-index 1`"
+    runs-on: ubuntu-latest
+    steps:
+      - name: Cache Pub hosted dependencies
+        uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2
+        with:
+          path: "~/.pub-cache/hosted"
+          key: "os:ubuntu-latest;pub-cache-hosted;sdk:3.3.0;packages:pkgs/test;commands:command_03"
+          restore-keys: |
+            os:ubuntu-latest;pub-cache-hosted;sdk:3.3.0;packages:pkgs/test
+            os:ubuntu-latest;pub-cache-hosted;sdk:3.3.0
+            os:ubuntu-latest;pub-cache-hosted
+            os:ubuntu-latest
+      - name: Setup Dart SDK
+        uses: dart-lang/setup-dart@fedb1266e91cf51be2fdb382869461a434b920a3
+        with:
+          sdk: "3.3.0"
+      - id: checkout
+        name: Checkout repository
+        uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
+      - id: pkgs_test_pub_upgrade
+        name: pkgs/test; dart pub upgrade
+        run: dart pub upgrade
+        if: "always() && steps.checkout.conclusion == 'success'"
+        working-directory: pkgs/test
+      - name: "pkgs/test; xvfb-run -s \"-screen 0 1024x768x24\" dart test --preset travis --total-shards 5 --shard-index 1"
+        run: "xvfb-run -s \"-screen 0 1024x768x24\" dart test --preset travis --total-shards 5 --shard-index 1"
+        if: "always() && steps.pkgs_test_pub_upgrade.conclusion == 'success'"
+        working-directory: pkgs/test
+    needs:
+      - job_001
+      - job_002
+      - job_003
+      - job_004
+  job_010:
+    name: "unit_test; linux; Dart 3.3.0; PKG: pkgs/test; `xvfb-run -s \"-screen 0 1024x768x24\" dart test --preset travis --total-shards 5 --shard-index 2`"
+    runs-on: ubuntu-latest
+    steps:
+      - name: Cache Pub hosted dependencies
+        uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2
+        with:
+          path: "~/.pub-cache/hosted"
+          key: "os:ubuntu-latest;pub-cache-hosted;sdk:3.3.0;packages:pkgs/test;commands:command_04"
+          restore-keys: |
+            os:ubuntu-latest;pub-cache-hosted;sdk:3.3.0;packages:pkgs/test
+            os:ubuntu-latest;pub-cache-hosted;sdk:3.3.0
+            os:ubuntu-latest;pub-cache-hosted
+            os:ubuntu-latest
+      - name: Setup Dart SDK
+        uses: dart-lang/setup-dart@fedb1266e91cf51be2fdb382869461a434b920a3
+        with:
+          sdk: "3.3.0"
+      - id: checkout
+        name: Checkout repository
+        uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
+      - id: pkgs_test_pub_upgrade
+        name: pkgs/test; dart pub upgrade
+        run: dart pub upgrade
+        if: "always() && steps.checkout.conclusion == 'success'"
+        working-directory: pkgs/test
+      - name: "pkgs/test; xvfb-run -s \"-screen 0 1024x768x24\" dart test --preset travis --total-shards 5 --shard-index 2"
+        run: "xvfb-run -s \"-screen 0 1024x768x24\" dart test --preset travis --total-shards 5 --shard-index 2"
+        if: "always() && steps.pkgs_test_pub_upgrade.conclusion == 'success'"
+        working-directory: pkgs/test
+    needs:
+      - job_001
+      - job_002
+      - job_003
+      - job_004
+  job_011:
+    name: "unit_test; linux; Dart 3.3.0; PKG: pkgs/test; `xvfb-run -s \"-screen 0 1024x768x24\" dart test --preset travis --total-shards 5 --shard-index 3`"
+    runs-on: ubuntu-latest
+    steps:
+      - name: Cache Pub hosted dependencies
+        uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2
+        with:
+          path: "~/.pub-cache/hosted"
+          key: "os:ubuntu-latest;pub-cache-hosted;sdk:3.3.0;packages:pkgs/test;commands:command_05"
+          restore-keys: |
+            os:ubuntu-latest;pub-cache-hosted;sdk:3.3.0;packages:pkgs/test
+            os:ubuntu-latest;pub-cache-hosted;sdk:3.3.0
+            os:ubuntu-latest;pub-cache-hosted
+            os:ubuntu-latest
+      - name: Setup Dart SDK
+        uses: dart-lang/setup-dart@fedb1266e91cf51be2fdb382869461a434b920a3
+        with:
+          sdk: "3.3.0"
+      - id: checkout
+        name: Checkout repository
+        uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
+      - id: pkgs_test_pub_upgrade
+        name: pkgs/test; dart pub upgrade
+        run: dart pub upgrade
+        if: "always() && steps.checkout.conclusion == 'success'"
+        working-directory: pkgs/test
+      - name: "pkgs/test; xvfb-run -s \"-screen 0 1024x768x24\" dart test --preset travis --total-shards 5 --shard-index 3"
+        run: "xvfb-run -s \"-screen 0 1024x768x24\" dart test --preset travis --total-shards 5 --shard-index 3"
+        if: "always() && steps.pkgs_test_pub_upgrade.conclusion == 'success'"
+        working-directory: pkgs/test
+    needs:
+      - job_001
+      - job_002
+      - job_003
+      - job_004
+  job_012:
+    name: "unit_test; linux; Dart 3.3.0; PKG: pkgs/test; `xvfb-run -s \"-screen 0 1024x768x24\" dart test --preset travis --total-shards 5 --shard-index 4`"
+    runs-on: ubuntu-latest
+    steps:
+      - name: Cache Pub hosted dependencies
+        uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2
+        with:
+          path: "~/.pub-cache/hosted"
+          key: "os:ubuntu-latest;pub-cache-hosted;sdk:3.3.0;packages:pkgs/test;commands:command_06"
+          restore-keys: |
+            os:ubuntu-latest;pub-cache-hosted;sdk:3.3.0;packages:pkgs/test
+            os:ubuntu-latest;pub-cache-hosted;sdk:3.3.0
+            os:ubuntu-latest;pub-cache-hosted
+            os:ubuntu-latest
+      - name: Setup Dart SDK
+        uses: dart-lang/setup-dart@fedb1266e91cf51be2fdb382869461a434b920a3
+        with:
+          sdk: "3.3.0"
+      - id: checkout
+        name: Checkout repository
+        uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
+      - id: pkgs_test_pub_upgrade
+        name: pkgs/test; dart pub upgrade
+        run: dart pub upgrade
+        if: "always() && steps.checkout.conclusion == 'success'"
+        working-directory: pkgs/test
+      - name: "pkgs/test; xvfb-run -s \"-screen 0 1024x768x24\" dart test --preset travis --total-shards 5 --shard-index 4"
+        run: "xvfb-run -s \"-screen 0 1024x768x24\" dart test --preset travis --total-shards 5 --shard-index 4"
+        if: "always() && steps.pkgs_test_pub_upgrade.conclusion == 'success'"
+        working-directory: pkgs/test
+    needs:
+      - job_001
+      - job_002
+      - job_003
+      - job_004
   job_013:
     name: "unit_test; linux; Dart dev; PKG: integration_tests/regression; `dart test`"
     runs-on: ubuntu-latest
@@ -871,13 +871,13 @@
       - job_003
       - job_004
   job_024:
-    name: "unit_test; windows; Dart 3.0.0; PKG: pkgs/test; `dart test --preset travis --total-shards 5 --shard-index 0`"
+    name: "unit_test; windows; Dart 3.3.0; PKG: pkgs/test; `dart test --preset travis --total-shards 5 --shard-index 0`"
     runs-on: windows-latest
     steps:
       - name: Setup Dart SDK
         uses: dart-lang/setup-dart@fedb1266e91cf51be2fdb382869461a434b920a3
         with:
-          sdk: "3.0.0"
+          sdk: "3.3.0"
       - id: checkout
         name: Checkout repository
         uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
@@ -896,13 +896,13 @@
       - job_003
       - job_004
   job_025:
-    name: "unit_test; windows; Dart 3.0.0; PKG: pkgs/test; `dart test --preset travis --total-shards 5 --shard-index 1`"
+    name: "unit_test; windows; Dart 3.3.0; PKG: pkgs/test; `dart test --preset travis --total-shards 5 --shard-index 1`"
     runs-on: windows-latest
     steps:
       - name: Setup Dart SDK
         uses: dart-lang/setup-dart@fedb1266e91cf51be2fdb382869461a434b920a3
         with:
-          sdk: "3.0.0"
+          sdk: "3.3.0"
       - id: checkout
         name: Checkout repository
         uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
@@ -921,13 +921,13 @@
       - job_003
       - job_004
   job_026:
-    name: "unit_test; windows; Dart 3.0.0; PKG: pkgs/test; `dart test --preset travis --total-shards 5 --shard-index 2`"
+    name: "unit_test; windows; Dart 3.3.0; PKG: pkgs/test; `dart test --preset travis --total-shards 5 --shard-index 2`"
     runs-on: windows-latest
     steps:
       - name: Setup Dart SDK
         uses: dart-lang/setup-dart@fedb1266e91cf51be2fdb382869461a434b920a3
         with:
-          sdk: "3.0.0"
+          sdk: "3.3.0"
       - id: checkout
         name: Checkout repository
         uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
@@ -946,13 +946,13 @@
       - job_003
       - job_004
   job_027:
-    name: "unit_test; windows; Dart 3.0.0; PKG: pkgs/test; `dart test --preset travis --total-shards 5 --shard-index 3`"
+    name: "unit_test; windows; Dart 3.3.0; PKG: pkgs/test; `dart test --preset travis --total-shards 5 --shard-index 3`"
     runs-on: windows-latest
     steps:
       - name: Setup Dart SDK
         uses: dart-lang/setup-dart@fedb1266e91cf51be2fdb382869461a434b920a3
         with:
-          sdk: "3.0.0"
+          sdk: "3.3.0"
       - id: checkout
         name: Checkout repository
         uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
@@ -971,13 +971,13 @@
       - job_003
       - job_004
   job_028:
-    name: "unit_test; windows; Dart 3.0.0; PKG: pkgs/test; `dart test --preset travis --total-shards 5 --shard-index 4`"
+    name: "unit_test; windows; Dart 3.3.0; PKG: pkgs/test; `dart test --preset travis --total-shards 5 --shard-index 4`"
     runs-on: windows-latest
     steps:
       - name: Setup Dart SDK
         uses: dart-lang/setup-dart@fedb1266e91cf51be2fdb382869461a434b920a3
         with:
-          sdk: "3.0.0"
+          sdk: "3.3.0"
       - id: checkout
         name: Checkout repository
         uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
diff --git a/pkgs/test/CHANGELOG.md b/pkgs/test/CHANGELOG.md
index 2f01de4..7f21e24 100644
--- a/pkgs/test/CHANGELOG.md
+++ b/pkgs/test/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 1.25.3-wip
+
+* Require Dart 3.3
+
 ## 1.25.2
 
 * Fix a bug running browser tests with paths containing windows directory
diff --git a/pkgs/test/lib/src/runner/browser/compilers/dart2js.dart b/pkgs/test/lib/src/runner/browser/compilers/dart2js.dart
index 2c26ed0..5ec848c 100644
--- a/pkgs/test/lib/src/runner/browser/compilers/dart2js.dart
+++ b/pkgs/test/lib/src/runner/browser/compilers/dart2js.dart
@@ -112,13 +112,14 @@
       var jsPath = p.join(dir, '${p.basename(dartPath)}.browser_test.dart.js');
       var bootstrapContent = '''
         ${suiteConfig.metadata.languageVersionComment ?? await rootPackageLanguageVersionComment}
+        import 'dart:js_interop';
         import 'package:test/src/bootstrap/browser.dart';
         import 'package:test/src/runner/browser/dom.dart' as dom;
 
         import '${await absoluteUri(dartPath)}' as test;
 
         void main() {
-          dom.window.console.log(r'Startup for test path $dartPath');
+          dom.window.console.log(r'Startup for test path $dartPath'.toJS);
           internalBootstrapBrowserTest(() => test.main);
         }
       ''';
diff --git a/pkgs/test/lib/src/runner/browser/dom.dart b/pkgs/test/lib/src/runner/browser/dom.dart
index d0fba48..9bd7fdb 100644
--- a/pkgs/test/lib/src/runner/browser/dom.dart
+++ b/pkgs/test/lib/src/runner/browser/dom.dart
@@ -2,10 +2,9 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+import 'dart:js_interop';
 import 'dart:js_util' as js_util;
 
-import 'package:js/js.dart';
-
 @JS()
 @staticInterop
 class Window extends EventTarget {}
@@ -38,8 +37,8 @@
 class Console {}
 
 extension ConsoleExtension on Console {
-  external void log(Object? object);
-  external void warn(Object? object);
+  external void log(JSString object);
+  external void warn(JSString object);
 }
 
 @JS()
@@ -238,7 +237,7 @@
 class WebSocket extends EventTarget {}
 
 extension WebSocketExtension on WebSocket {
-  external void send(Object? data);
+  external void send(JSAny? data);
 }
 
 WebSocket createWebSocket(String url) =>
diff --git a/pkgs/test/lib/src/runner/browser/post_message_channel.dart b/pkgs/test/lib/src/runner/browser/post_message_channel.dart
index 60a5a6b..6a1aca1 100644
--- a/pkgs/test/lib/src/runner/browser/post_message_channel.dart
+++ b/pkgs/test/lib/src/runner/browser/post_message_channel.dart
@@ -2,6 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+import 'dart:js_interop';
 import 'dart:js_util';
 
 import 'package:stream_channel/stream_channel.dart';
@@ -13,7 +14,7 @@
 ///
 /// Sends a [MessagePort] to the host page for the channel.
 StreamChannel<Object?> postMessageChannel() {
-  dom.window.console.log('Suite starting, sending channel to host');
+  dom.window.console.log('Suite starting, sending channel to host'.toJS);
   var controller = StreamChannelController<Object?>(sync: true);
   var channel = dom.createMessageChannel();
   dom.window.parent
diff --git a/pkgs/test/lib/src/runner/browser/static/host.dart.js b/pkgs/test/lib/src/runner/browser/static/host.dart.js
index fd3ef38..103f293 100644
--- a/pkgs/test/lib/src/runner/browser/static/host.dart.js
+++ b/pkgs/test/lib/src/runner/browser/static/host.dart.js
@@ -1,4 +1,4 @@
-// Generated by dart2js (NullSafetyMode.sound, csp, intern-composite-values), the Dart to JavaScript compiler version: 3.2.0-228.0.dev.
+// Generated by dart2js (NullSafetyMode.sound, csp, intern-composite-values), the Dart to JavaScript compiler version: 3.4.0-148.0.dev.
 // The code supports the following hooks:
 // dartPrint(message):
 //    if this function is defined it is called instead of the Dart [print]
@@ -17,6 +17,14 @@
 //    this uri being loaded. The loadPriority argument is the priority the
 //    library should be loaded with as specified in the code via the
 //    load-priority annotation (0: normal, 1: high).
+// dartDeferredLibraryMultiLoader(uris, successCallback, errorCallback, loadId, loadPriority):
+//    if this function is defined, it will be called when a deferred library
+//    is loaded. It should load and eval the javascript of every URI in `uris`,
+//    and call successCallback. If it fails to do so, it should call
+//    errorCallback with an error. The loadId argument is the deferred import
+//    that resulted in this uri being loaded. The loadPriority argument is the
+//    priority the library should be loaded with as specified in the code via
+//    the load-priority annotation (0: normal, 1: high).
 //
 // dartCallInstrumentation(id, qualifiedName):
 //    if this function is defined, it will be called at each entry of a
@@ -34,8 +42,9 @@
     var keys = Object.keys(from);
     for (var i = 0; i < keys.length; i++) {
       var key = keys[i];
-      if (!to.hasOwnProperty(key))
+      if (!to.hasOwnProperty(key)) {
         to[key] = from[key];
+      }
     }
   }
   function mixinPropertiesEasy(from, to) {
@@ -74,8 +83,9 @@
     }
   }
   function inheritMany(sup, classes) {
-    for (var i = 0; i < classes.length; i++)
+    for (var i = 0; i < classes.length; i++) {
       inherit(classes[i], sup);
+    }
   }
   function mixinEasy(cls, mixin) {
     mixinPropertiesEasy(mixin.prototype, cls.prototype);
@@ -85,37 +95,13 @@
     mixinPropertiesHard(mixin.prototype, cls.prototype);
     cls.prototype.constructor = cls;
   }
-  function lazyOld(holder, name, getterName, initializer) {
-    var uninitializedSentinel = holder;
-    holder[name] = uninitializedSentinel;
-    holder[getterName] = function() {
-      holder[getterName] = function() {
-        A.throwCyclicInit(name);
-      };
-      var result;
-      var sentinelInProgress = initializer;
-      try {
-        if (holder[name] === uninitializedSentinel) {
-          result = holder[name] = sentinelInProgress;
-          result = holder[name] = initializer();
-        } else
-          result = holder[name];
-      } finally {
-        if (result === sentinelInProgress)
-          holder[name] = null;
-        holder[getterName] = function() {
-          return this[name];
-        };
-      }
-      return result;
-    };
-  }
   function lazy(holder, name, getterName, initializer) {
     var uninitializedSentinel = holder;
     holder[name] = uninitializedSentinel;
     holder[getterName] = function() {
-      if (holder[name] === uninitializedSentinel)
+      if (holder[name] === uninitializedSentinel) {
         holder[name] = initializer();
+      }
       holder[getterName] = function() {
         return this[name];
       };
@@ -128,8 +114,9 @@
     holder[getterName] = function() {
       if (holder[name] === uninitializedSentinel) {
         var value = initializer();
-        if (holder[name] !== uninitializedSentinel)
+        if (holder[name] !== uninitializedSentinel) {
           A.throwLateFieldADI(name);
+        }
         holder[name] = value;
       }
       var finalValue = holder[name];
@@ -152,8 +139,9 @@
     return properties;
   }
   function convertAllToFastObject(arrayOfObjects) {
-    for (var i = 0; i < arrayOfObjects.length; ++i)
+    for (var i = 0; i < arrayOfObjects.length; ++i) {
       convertToFastObject(arrayOfObjects[i]);
+    }
   }
   var functionCounter = 0;
   function instanceTearOffGetter(isIntercepted, parameters) {
@@ -178,8 +166,9 @@
   }
   var typesOffset = 0;
   function tearOffParameters(container, isStatic, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex, needsDirectAccess) {
-    if (typeof funType == "number")
+    if (typeof funType == "number") {
       funType += typesOffset;
+    }
     return {co: container, iS: isStatic, iI: isIntercepted, rC: requiredParameterCount, dV: optionalParameterDefaultValues, cs: callNames, fs: funsOrNames, fT: funType, aI: applyIndex || 0, nDA: needsDirectAccess};
   }
   function installStaticTearOff(holder, getterName, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) {
@@ -230,7 +219,7 @@
           return installStaticTearOff(container, getterName, requiredParameterCount, optionalParameterDefaultValues, callNames, [name], funType, applyIndex);
         };
       };
-    return {inherit: inherit, inheritMany: inheritMany, mixin: mixinEasy, mixinHard: mixinHard, installStaticTearOff: installStaticTearOff, installInstanceTearOff: installInstanceTearOff, _instance_0u: mkInstance(0, 0, null, ["call$0"], 0), _instance_1u: mkInstance(0, 1, null, ["call$1"], 0), _instance_2u: mkInstance(0, 2, null, ["call$2"], 0), _instance_0i: mkInstance(1, 0, null, ["call$0"], 0), _instance_1i: mkInstance(1, 1, null, ["call$1"], 0), _instance_2i: mkInstance(1, 2, null, ["call$2"], 0), _static_0: mkStatic(0, null, ["call$0"], 0), _static_1: mkStatic(1, null, ["call$1"], 0), _static_2: mkStatic(2, null, ["call$2"], 0), makeConstList: makeConstList, lazy: lazy, lazyFinal: lazyFinal, lazyOld: lazyOld, updateHolder: updateHolder, convertToFastObject: convertToFastObject, updateTypes: updateTypes, setOrUpdateInterceptorsByTag: setOrUpdateInterceptorsByTag, setOrUpdateLeafTags: setOrUpdateLeafTags};
+    return {inherit: inherit, inheritMany: inheritMany, mixin: mixinEasy, mixinHard: mixinHard, installStaticTearOff: installStaticTearOff, installInstanceTearOff: installInstanceTearOff, _instance_0u: mkInstance(0, 0, null, ["call$0"], 0), _instance_1u: mkInstance(0, 1, null, ["call$1"], 0), _instance_2u: mkInstance(0, 2, null, ["call$2"], 0), _instance_0i: mkInstance(1, 0, null, ["call$0"], 0), _instance_1i: mkInstance(1, 1, null, ["call$1"], 0), _instance_2i: mkInstance(1, 2, null, ["call$2"], 0), _static_0: mkStatic(0, null, ["call$0"], 0), _static_1: mkStatic(1, null, ["call$1"], 0), _static_2: mkStatic(2, null, ["call$2"], 0), makeConstList: makeConstList, lazy: lazy, lazyFinal: lazyFinal, updateHolder: updateHolder, convertToFastObject: convertToFastObject, updateTypes: updateTypes, setOrUpdateInterceptorsByTag: setOrUpdateInterceptorsByTag, setOrUpdateLeafTags: setOrUpdateLeafTags};
   }();
   function initializeDeferredHunk(hunk) {
     typesOffset = init.types.length;
@@ -456,29 +445,6 @@
         return J.UnknownJavaScriptObject.prototype;
       return receiver;
     },
-    getInterceptor$x(receiver) {
-      if (receiver == null)
-        return receiver;
-      if (typeof receiver != "object") {
-        if (typeof receiver == "function")
-          return J.JavaScriptFunction.prototype;
-        if (typeof receiver == "symbol")
-          return J.JavaScriptSymbol.prototype;
-        if (typeof receiver == "bigint")
-          return J.JavaScriptBigInt.prototype;
-        return receiver;
-      }
-      if (receiver instanceof A.Object)
-        return receiver;
-      return J.getNativeInterceptor(receiver);
-    },
-    getInterceptor$z(receiver) {
-      if (receiver == null)
-        return receiver;
-      if (!(receiver instanceof A.Object))
-        return J.UnknownJavaScriptObject.prototype;
-      return receiver;
-    },
     get$hashCode$(receiver) {
       return J.getInterceptor$(receiver).get$hashCode(receiver);
     },
@@ -491,15 +457,9 @@
     get$iterator$ax(receiver) {
       return J.getInterceptor$ax(receiver).get$iterator(receiver);
     },
-    get$keys$x(receiver) {
-      return J.getInterceptor$x(receiver).get$keys(receiver);
-    },
     get$length$asx(receiver) {
       return J.getInterceptor$asx(receiver).get$length(receiver);
     },
-    get$parent$z(receiver) {
-      return J.getInterceptor$z(receiver).get$parent(receiver);
-    },
     get$runtimeType$(receiver) {
       return J.getInterceptor$(receiver).get$runtimeType(receiver);
     },
@@ -526,30 +486,18 @@
     allMatches$2$s(receiver, a0, a1) {
       return J.getInterceptor$s(receiver).allMatches$2(receiver, a0, a1);
     },
-    cancel$0$z(receiver) {
-      return J.getInterceptor$z(receiver).cancel$0(receiver);
-    },
     cast$1$0$ax(receiver, $T1) {
       return J.getInterceptor$ax(receiver).cast$1$0(receiver, $T1);
     },
-    codeUnitAt$1$s(receiver, a0) {
-      return J.getInterceptor$s(receiver).codeUnitAt$1(receiver, a0);
-    },
     contains$1$asx(receiver, a0) {
       return J.getInterceptor$asx(receiver).contains$1(receiver, a0);
     },
-    containsKey$1$x(receiver, a0) {
-      return J.getInterceptor$x(receiver).containsKey$1(receiver, a0);
-    },
     elementAt$1$ax(receiver, a0) {
       return J.getInterceptor$ax(receiver).elementAt$1(receiver, a0);
     },
     endsWith$1$s(receiver, a0) {
       return J.getInterceptor$s(receiver).endsWith$1(receiver, a0);
     },
-    forEach$1$x(receiver, a0) {
-      return J.getInterceptor$x(receiver).forEach$1(receiver, a0);
-    },
     map$1$1$ax(receiver, a0, $T1) {
       return J.getInterceptor$ax(receiver).map$1$1(receiver, a0, $T1);
     },
@@ -562,6 +510,9 @@
     skip$1$ax(receiver, a0) {
       return J.getInterceptor$ax(receiver).skip$1(receiver, a0);
     },
+    take$1$ax(receiver, a0) {
+      return J.getInterceptor$ax(receiver).take$1(receiver, a0);
+    },
     toInt$0$n(receiver) {
       return J.getInterceptor$n(receiver).toInt$0(receiver);
     },
@@ -600,7 +551,7 @@
     ArrayIterator: function ArrayIterator(t0, t1, t2) {
       var _ = this;
       _._iterable = t0;
-      _.__interceptors$_length = t1;
+      _._length = t1;
       _._index = 0;
       _._current = null;
       _.$ti = t2;
@@ -1081,14 +1032,14 @@
       t1.argumentCount = positionalArguments.length;
       B.JSArray_methods.addAll$1($arguments, positionalArguments);
       t1.names = "";
-      if (namedArguments != null && namedArguments._length !== 0)
+      if (namedArguments != null && namedArguments.__js_helper$_length !== 0)
         namedArguments.forEach$1(0, new A.Primitives_functionNoSuchMethod_closure(t1, namedArgumentList, $arguments));
       return J.noSuchMethod$1$($function, new A.JSInvocationMirror(B.Symbol_call, 0, $arguments, namedArgumentList, 0));
     },
     Primitives_applyFunction($function, positionalArguments, namedArguments) {
       var t1, argumentCount, jsStub;
       if (Array.isArray(positionalArguments))
-        t1 = namedArguments == null || namedArguments._length === 0;
+        t1 = namedArguments == null || namedArguments.__js_helper$_length === 0;
       else
         t1 = false;
       if (t1) {
@@ -1132,14 +1083,14 @@
       if (typeof jsFunction == "string")
         jsFunction = interceptor[jsFunction];
       if (t1) {
-        if (namedArguments != null && namedArguments._length !== 0)
+        if (namedArguments != null && namedArguments.__js_helper$_length !== 0)
           return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
         if (argumentCount === requiredParameterCount)
           return jsFunction.apply($function, $arguments);
         return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
       }
       if (Array.isArray(defaultValues)) {
-        if (namedArguments != null && namedArguments._length !== 0)
+        if (namedArguments != null && namedArguments.__js_helper$_length !== 0)
           return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
         maxArguments = requiredParameterCount + defaultValues.length;
         if (argumentCount > maxArguments)
@@ -1167,7 +1118,7 @@
         else {
           for (t1 = keys.length, used = 0, _i = 0; _i < keys.length; keys.length === t1 || (0, A.throwConcurrentModificationError)(keys), ++_i) {
             key = A._asString(keys[_i]);
-            if (namedArguments.containsKey$1(0, key)) {
+            if (namedArguments.containsKey$1(key)) {
               ++used;
               B.JSArray_methods.add$1($arguments, namedArguments.$index(0, key));
             } else {
@@ -1177,7 +1128,7 @@
               B.JSArray_methods.add$1($arguments, defaultValue);
             }
           }
-          if (used !== namedArguments._length)
+          if (used !== namedArguments.__js_helper$_length)
             return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
         }
         return jsFunction.apply($function, $arguments);
@@ -1450,14 +1401,11 @@
       t1.toString;
       $prototype = isStatic ? Object.create(new A.StaticClosure().constructor.prototype) : Object.create(new A.BoundClosure(null, null).constructor.prototype);
       $prototype.$initialize = $prototype.constructor;
-      if (isStatic)
-        $constructor = function static_tear_off() {
-          this.$initialize();
-        };
-      else
-        $constructor = function tear_off(a, b) {
-          this.$initialize(a, b);
-        };
+      $constructor = isStatic ? function static_tear_off() {
+        this.$initialize();
+      } : function tear_off(a, b) {
+        this.$initialize(a, b);
+      };
       $prototype.constructor = $constructor;
       $constructor.prototype = $prototype;
       $prototype.$_name = $name;
@@ -1555,12 +1503,9 @@
       }
     },
     Closure_forwardCallTo(stubName, $function, isIntercepted, needsDirectAccess) {
-      var arity, t1;
       if (isIntercepted)
         return A.Closure_forwardInterceptedCallTo(stubName, $function, needsDirectAccess);
-      arity = $function.length;
-      t1 = A.Closure_cspForwardCall(arity, needsDirectAccess, stubName, $function);
-      return t1;
+      return A.Closure_cspForwardCall($function.length, needsDirectAccess, stubName, $function);
     },
     Closure_cspForwardInterceptedCall(arity, needsDirectAccess, stubName, $function) {
       var getReceiver = A.BoundClosure_receiverOf,
@@ -1661,6 +1606,9 @@
     getIsolateAffinityTag($name) {
       return init.getIsolateTag($name);
     },
+    staticInteropGlobalContext() {
+      return self;
+    },
     defineProperty(obj, property, value) {
       Object.defineProperty(obj, property, {value: value, enumerable: false, writable: true, configurable: true});
     },
@@ -1837,10 +1785,8 @@
       else if (other instanceof A.JSSyntaxRegExp) {
         t1 = B.JSString_methods.substring$1(receiver, startIndex);
         return other._nativeRegExp.test(t1);
-      } else {
-        t1 = J.allMatches$1$s(other, B.JSString_methods.substring$1(receiver, startIndex));
-        return !t1.get$isEmpty(t1);
-      }
+      } else
+        return !J.allMatches$1$s(other, B.JSString_methods.substring$1(receiver, startIndex)).get$isEmpty(0);
     },
     escapeReplacement(replacement) {
       if (replacement.indexOf("$", 0) >= 0)
@@ -1851,7 +1797,7 @@
       var match = regexp._execGlobal$2(receiver, startIndex);
       if (match == null)
         return receiver;
-      return A.stringReplaceRangeUnchecked(receiver, match._match.index, match.get$end(match), replacement);
+      return A.stringReplaceRangeUnchecked(receiver, match._match.index, match.get$end(), replacement);
     },
     quoteStringForRegExp(string) {
       if (/[[\]{}()*+?.\\^$|]/.test(string))
@@ -1872,9 +1818,9 @@
     stringReplaceAllGeneral(receiver, pattern, replacement) {
       var t1, startIndex, t2, match;
       for (t1 = J.allMatches$1$s(pattern, receiver), t1 = t1.get$iterator(t1), startIndex = 0, t2 = ""; t1.moveNext$0();) {
-        match = t1.get$current(t1);
-        t2 = t2 + receiver.substring(startIndex, match.get$start(match)) + replacement;
-        startIndex = match.get$end(match);
+        match = t1.get$current();
+        t2 = t2 + receiver.substring(startIndex, match.get$start()) + replacement;
+        startIndex = match.get$end();
       }
       t1 = t2 + receiver.substring(startIndex);
       return t1.charCodeAt(0) == 0 ? t1 : t1;
@@ -1910,8 +1856,8 @@
       matches = t1.get$iterator(t1);
       if (!matches.moveNext$0())
         return receiver;
-      match = matches.get$current(matches);
-      return B.JSString_methods.replaceRange$3(receiver, match.get$start(match), match.get$end(match), replacement);
+      match = matches.get$current();
+      return B.JSString_methods.replaceRange$3(receiver, match.get$start(), match.get$end(), replacement);
     },
     stringReplaceRangeUnchecked(receiver, start, end, replacement) {
       return receiver.substring(0, start) + replacement + receiver.substring(end);
@@ -1934,7 +1880,7 @@
     _KeysOrValuesOrElementsIterator: function _KeysOrValuesOrElementsIterator(t0, t1, t2) {
       var _ = this;
       _._elements = t0;
-      _._length = t1;
+      _.__js_helper$_length = t1;
       _.__js_helper$_index = 0;
       _.__js_helper$_current = null;
       _.$ti = t2;
@@ -2011,8 +1957,8 @@
     },
     JsLinkedHashMap: function JsLinkedHashMap(t0) {
       var _ = this;
-      _._length = 0;
-      _._last = _._first = _.__js_helper$_rest = _._nums = _._strings = null;
+      _.__js_helper$_length = 0;
+      _._last = _._first = _.__js_helper$_rest = _.__js_helper$_nums = _.__js_helper$_strings = null;
       _._modifications = 0;
       _.$ti = t0;
     },
@@ -2026,12 +1972,12 @@
       _._previous = _._next = null;
     },
     LinkedHashMapKeyIterable: function LinkedHashMapKeyIterable(t0, t1) {
-      this._map = t0;
+      this.__js_helper$_map = t0;
       this.$ti = t1;
     },
     LinkedHashMapKeyIterator: function LinkedHashMapKeyIterator(t0, t1, t2) {
       var _ = this;
-      _._map = t0;
+      _.__js_helper$_map = t0;
       _._modifications = t1;
       _.__js_helper$_current = _._cell = null;
       _.$ti = t2;
@@ -2089,31 +2035,25 @@
       A.throwExpressionWithWrapper(new A.LateError("Field '" + fieldName + "' has already been initialized."), new Error());
     },
     throwLateFieldADI(fieldName) {
-      A.throwExpressionWithWrapper(new A.LateError("Field '" + fieldName + string$.x27_has_), new Error());
+      A.throwExpressionWithWrapper(new A.LateError("Field '" + fieldName + "' has been assigned during initialization."), new Error());
     },
     _Cell$named(_name) {
       var t1 = new A._Cell(_name);
       return t1._value = t1;
     },
-    _InitializedCell$named(_name, _initializer) {
-      var t1 = new A._InitializedCell(_name, _initializer);
-      return t1._value = t1;
-    },
     _Cell: function _Cell(t0) {
       this.__late_helper$_name = t0;
       this._value = null;
     },
-    _InitializedCell: function _InitializedCell(t0, t1) {
-      this.__late_helper$_name = t0;
-      this._value = null;
-      this._initializer = t1;
-    },
     _ensureNativeList(list) {
       return list;
     },
     NativeInt8List__create1(arg) {
       return new Int8Array(arg);
     },
+    NativeUint8List_NativeUint8List($length) {
+      return new Uint8Array($length);
+    },
     _checkValidIndex(index, list, $length) {
       if (index >>> 0 !== index || index >= $length)
         throw A.wrapException(A.diagnoseIndexError(list, index));
@@ -2174,12 +2114,6 @@
       var future = rti._precomputed1;
       return future == null ? rti._precomputed1 = A._Universe__lookupInterfaceRti(universe, "Future", [rti._primary]) : future;
     },
-    Rti__getIsSubtypeCache(rti) {
-      var probe = rti._isSubtypeCache;
-      if (probe != null)
-        return probe;
-      return rti._isSubtypeCache = new Map();
-    },
     Rti__isUnionOfFunctionType(rti) {
       var kind = rti._kind;
       if (kind === 6 || kind === 7 || kind === 8)
@@ -2209,7 +2143,7 @@
       return rti;
     },
     _substitute(universe, rti, typeArguments, depth) {
-      var baseType, substitutedBaseType, interfaceTypeArguments, substitutedInterfaceTypeArguments, base, substitutedBase, $arguments, substitutedArguments, returnType, substitutedReturnType, functionParameters, substitutedFunctionParameters, bounds, substitutedBounds, index, argument,
+      var baseType, substitutedBaseType, interfaceTypeArguments, substitutedInterfaceTypeArguments, base, substitutedBase, $arguments, substitutedArguments, t1, fields, substitutedFields, returnType, substitutedReturnType, functionParameters, substitutedFunctionParameters, bounds, substitutedBounds, index, argument,
         kind = rti._kind;
       switch (kind) {
         case 5:
@@ -2250,6 +2184,13 @@
           if (substitutedBase === base && substitutedArguments === $arguments)
             return rti;
           return A._Universe__lookupBindingRti(universe, substitutedBase, substitutedArguments);
+        case 11:
+          t1 = rti._primary;
+          fields = rti._rest;
+          substitutedFields = A._substituteArray(universe, fields, typeArguments, depth);
+          if (substitutedFields === fields)
+            return rti;
+          return A._Universe__lookupRecordRti(universe, t1, substitutedFields);
         case 12:
           returnType = rti._primary;
           substitutedReturnType = A._substitute(universe, returnType, typeArguments, depth);
@@ -2328,13 +2269,11 @@
       return target;
     },
     closureFunctionType(closure) {
-      var t1,
-        signature = closure.$signature;
+      var signature = closure.$signature;
       if (signature != null) {
         if (typeof signature == "number")
           return A.getTypeFromTypesTable(signature);
-        t1 = closure.$signature();
-        return t1;
+        return closure.$signature();
       }
       return null;
     },
@@ -2430,11 +2369,8 @@
       var t1, unstarred, unstarredKind, isFn, $name, predicate, testRti = this;
       if (testRti === type$.Object)
         return A._finishIsFn(testRti, object, A._isObject);
-      if (!A.isStrongTopType(testRti))
-        if (!(testRti === type$.legacy_Object))
-          t1 = false;
-        else
-          t1 = true;
+      if (!A.isSoundTopType(testRti))
+        t1 = testRti === type$.legacy_Object;
       else
         t1 = true;
       if (t1)
@@ -2460,7 +2396,7 @@
         return A._finishIsFn(testRti, object, isFn);
       if (unstarredKind === 9) {
         $name = unstarred._primary;
-        if (unstarred._rest.every(A.isTopType)) {
+        if (unstarred._rest.every(A.isDefinitelyTopType)) {
           testRti._specializedTestResource = "$is" + $name;
           if ($name === "List")
             return A._finishIsFn(testRti, object, A._isListTestViaProperty);
@@ -2479,11 +2415,8 @@
     _installSpecializedAsCheck(object) {
       var t1, testRti = this,
         asFn = A._generalAsCheckImplementation;
-      if (!A.isStrongTopType(testRti))
-        if (!(testRti === type$.legacy_Object))
-          t1 = false;
-        else
-          t1 = true;
+      if (!A.isSoundTopType(testRti))
+        t1 = testRti === type$.legacy_Object;
       else
         t1 = true;
       if (t1)
@@ -2501,7 +2434,7 @@
     _nullIs(testRti) {
       var t1,
         kind = testRti._kind;
-      if (!A.isStrongTopType(testRti))
+      if (!A.isSoundTopType(testRti))
         if (!(testRti === type$.legacy_Object))
           if (!(testRti === type$.legacy_Never))
             if (kind !== 7)
@@ -2553,10 +2486,9 @@
       return !!J.getInterceptor$(object)[tag];
     },
     _generalAsCheckImplementation(object) {
-      var t1, testRti = this;
+      var testRti = this;
       if (object == null) {
-        t1 = A.isNullable(testRti);
-        if (t1)
+        if (A.isNullable(testRti))
           return object;
       } else if (testRti._is(object))
         return object;
@@ -2769,10 +2701,7 @@
           boundRti = bounds[i];
           kind = boundRti._kind;
           if (!(kind === 2 || kind === 3 || kind === 4 || kind === 5 || boundRti === t1))
-            if (!(boundRti === t2))
-              t3 = false;
-            else
-              t3 = true;
+            t3 = boundRti === t2;
           else
             t3 = true;
           if (!t3)
@@ -2817,7 +2746,7 @@
       return typeParametersText + "(" + argumentsText + ") => " + returnTypeText;
     },
     _rtiToString(rti, genericContext) {
-      var s, questionArgument, argumentKind, $name, $arguments, t1, t2,
+      var questionArgument, s, argumentKind, $name, $arguments, t1, t2,
         kind = rti._kind;
       if (kind === 5)
         return "erased";
@@ -2829,10 +2758,8 @@
         return "Never";
       if (kind === 4)
         return "any";
-      if (kind === 6) {
-        s = A._rtiToString(rti._primary, genericContext);
-        return s;
-      }
+      if (kind === 6)
+        return A._rtiToString(rti._primary, genericContext);
       if (kind === 7) {
         questionArgument = rti._primary;
         s = A._rtiToString(questionArgument, genericContext);
@@ -2964,7 +2891,7 @@
       var baseKind, t1, rti;
       if (normalize) {
         baseKind = baseType._kind;
-        if (!A.isStrongTopType(baseType))
+        if (!A.isSoundTopType(baseType))
           t1 = baseType === type$.Null || baseType === type$.JSNull || baseKind === 7 || baseKind === 6;
         else
           t1 = true;
@@ -2991,7 +2918,7 @@
       var baseKind, t1, starArgument, rti;
       if (normalize) {
         baseKind = baseType._kind;
-        if (!A.isStrongTopType(baseType))
+        if (!A.isSoundTopType(baseType))
           if (!(baseType === type$.Null || baseType === type$.JSNull))
             if (baseKind !== 7)
               t1 = baseKind === 8 && A.isNullable(baseType._primary);
@@ -3030,17 +2957,10 @@
       return t1;
     },
     _Universe__createFutureOrRti(universe, baseType, key, normalize) {
-      var t1, t2, rti;
+      var t1, rti;
       if (normalize) {
         t1 = baseType._kind;
-        if (!A.isStrongTopType(baseType))
-          if (!(baseType === type$.legacy_Object))
-            t2 = false;
-          else
-            t2 = true;
-        else
-          t2 = true;
-        if (t2 || baseType === type$.Object)
+        if (A.isSoundTopType(baseType) || baseType === type$.Object || baseType === type$.legacy_Object)
           return baseType;
         else if (t1 === 1)
           return A._Universe__lookupInterfaceRti(universe, "Future", [baseType]);
@@ -3489,23 +3409,26 @@
     },
     isSubtype(universe, s, t) {
       var result,
-        sCache = A.Rti__getIsSubtypeCache(s),
-        probe = sCache.get(t);
-      if (probe != null)
-        return probe;
-      result = A._isSubtype(universe, s, null, t, null);
-      sCache.set(t, result);
-      return result;
+        sCache = s._isSubtypeCache;
+      if (sCache == null)
+        sCache = s._isSubtypeCache = new Map();
+      result = sCache.get(t);
+      if (result == null) {
+        result = A._isSubtype(universe, s, null, t, null, false) ? 1 : 0;
+        sCache.set(t, result);
+      }
+      if (0 === result)
+        return false;
+      if (1 === result)
+        return true;
+      return true;
     },
-    _isSubtype(universe, s, sEnv, t, tEnv) {
+    _isSubtype(universe, s, sEnv, t, tEnv, isLegacy) {
       var t1, sKind, leftTypeVariable, tKind, t2, sBounds, tBounds, sLength, i, sBound, tBound;
       if (s === t)
         return true;
-      if (!A.isStrongTopType(t))
-        if (!(t === type$.legacy_Object))
-          t1 = false;
-        else
-          t1 = true;
+      if (!A.isSoundTopType(t))
+        t1 = t === type$.legacy_Object;
       else
         t1 = true;
       if (t1)
@@ -3513,55 +3436,52 @@
       sKind = s._kind;
       if (sKind === 4)
         return true;
-      if (A.isStrongTopType(s))
+      if (A.isSoundTopType(s))
         return false;
-      if (s._kind !== 1)
-        t1 = false;
-      else
-        t1 = true;
-      if (t1)
+      t1 = s._kind;
+      if (t1 === 1)
         return true;
       leftTypeVariable = sKind === 14;
       if (leftTypeVariable)
-        if (A._isSubtype(universe, sEnv[s._primary], sEnv, t, tEnv))
+        if (A._isSubtype(universe, sEnv[s._primary], sEnv, t, tEnv, false))
           return true;
       tKind = t._kind;
       t1 = s === type$.Null || s === type$.JSNull;
       if (t1) {
         if (tKind === 8)
-          return A._isSubtype(universe, s, sEnv, t._primary, tEnv);
+          return A._isSubtype(universe, s, sEnv, t._primary, tEnv, false);
         return t === type$.Null || t === type$.JSNull || tKind === 7 || tKind === 6;
       }
       if (t === type$.Object) {
         if (sKind === 8)
-          return A._isSubtype(universe, s._primary, sEnv, t, tEnv);
+          return A._isSubtype(universe, s._primary, sEnv, t, tEnv, false);
         if (sKind === 6)
-          return A._isSubtype(universe, s._primary, sEnv, t, tEnv);
+          return A._isSubtype(universe, s._primary, sEnv, t, tEnv, false);
         return sKind !== 7;
       }
       if (sKind === 6)
-        return A._isSubtype(universe, s._primary, sEnv, t, tEnv);
+        return A._isSubtype(universe, s._primary, sEnv, t, tEnv, false);
       if (tKind === 6) {
         t1 = A.Rti__getQuestionFromStar(universe, t);
-        return A._isSubtype(universe, s, sEnv, t1, tEnv);
+        return A._isSubtype(universe, s, sEnv, t1, tEnv, false);
       }
       if (sKind === 8) {
-        if (!A._isSubtype(universe, s._primary, sEnv, t, tEnv))
+        if (!A._isSubtype(universe, s._primary, sEnv, t, tEnv, false))
           return false;
-        return A._isSubtype(universe, A.Rti__getFutureFromFutureOr(universe, s), sEnv, t, tEnv);
+        return A._isSubtype(universe, A.Rti__getFutureFromFutureOr(universe, s), sEnv, t, tEnv, false);
       }
       if (sKind === 7) {
-        t1 = A._isSubtype(universe, type$.Null, sEnv, t, tEnv);
-        return t1 && A._isSubtype(universe, s._primary, sEnv, t, tEnv);
+        t1 = A._isSubtype(universe, type$.Null, sEnv, t, tEnv, false);
+        return t1 && A._isSubtype(universe, s._primary, sEnv, t, tEnv, false);
       }
       if (tKind === 8) {
-        if (A._isSubtype(universe, s, sEnv, t._primary, tEnv))
+        if (A._isSubtype(universe, s, sEnv, t._primary, tEnv, false))
           return true;
-        return A._isSubtype(universe, s, sEnv, A.Rti__getFutureFromFutureOr(universe, t), tEnv);
+        return A._isSubtype(universe, s, sEnv, A.Rti__getFutureFromFutureOr(universe, t), tEnv, false);
       }
       if (tKind === 7) {
-        t1 = A._isSubtype(universe, s, sEnv, type$.Null, tEnv);
-        return t1 || A._isSubtype(universe, s, sEnv, t._primary, tEnv);
+        t1 = A._isSubtype(universe, s, sEnv, type$.Null, tEnv, false);
+        return t1 || A._isSubtype(universe, s, sEnv, t._primary, tEnv, false);
       }
       if (leftTypeVariable)
         return false;
@@ -3586,30 +3506,30 @@
         for (i = 0; i < sLength; ++i) {
           sBound = sBounds[i];
           tBound = tBounds[i];
-          if (!A._isSubtype(universe, sBound, sEnv, tBound, tEnv) || !A._isSubtype(universe, tBound, tEnv, sBound, sEnv))
+          if (!A._isSubtype(universe, sBound, sEnv, tBound, tEnv, false) || !A._isSubtype(universe, tBound, tEnv, sBound, sEnv, false))
             return false;
         }
-        return A._isFunctionSubtype(universe, s._primary, sEnv, t._primary, tEnv);
+        return A._isFunctionSubtype(universe, s._primary, sEnv, t._primary, tEnv, false);
       }
       if (tKind === 12) {
         if (s === type$.JavaScriptFunction)
           return true;
         if (t1)
           return false;
-        return A._isFunctionSubtype(universe, s, sEnv, t, tEnv);
+        return A._isFunctionSubtype(universe, s, sEnv, t, tEnv, false);
       }
       if (sKind === 9) {
         if (tKind !== 9)
           return false;
-        return A._isInterfaceSubtype(universe, s, sEnv, t, tEnv);
+        return A._isInterfaceSubtype(universe, s, sEnv, t, tEnv, false);
       }
       if (t2 && tKind === 11)
-        return A._isRecordSubtype(universe, s, sEnv, t, tEnv);
+        return A._isRecordSubtype(universe, s, sEnv, t, tEnv, false);
       return false;
     },
-    _isFunctionSubtype(universe, s, sEnv, t, tEnv) {
+    _isFunctionSubtype(universe, s, sEnv, t, tEnv, isLegacy) {
       var sParameters, tParameters, sRequiredPositional, tRequiredPositional, sRequiredPositionalLength, tRequiredPositionalLength, requiredPositionalDelta, sOptionalPositional, tOptionalPositional, sOptionalPositionalLength, tOptionalPositionalLength, i, t1, sNamed, tNamed, sNamedLength, tNamedLength, sIndex, tIndex, tName, sName, sIsRequired;
-      if (!A._isSubtype(universe, s._primary, sEnv, t._primary, tEnv))
+      if (!A._isSubtype(universe, s._primary, sEnv, t._primary, tEnv, false))
         return false;
       sParameters = s._rest;
       tParameters = t._rest;
@@ -3628,17 +3548,17 @@
         return false;
       for (i = 0; i < sRequiredPositionalLength; ++i) {
         t1 = sRequiredPositional[i];
-        if (!A._isSubtype(universe, tRequiredPositional[i], tEnv, t1, sEnv))
+        if (!A._isSubtype(universe, tRequiredPositional[i], tEnv, t1, sEnv, false))
           return false;
       }
       for (i = 0; i < requiredPositionalDelta; ++i) {
         t1 = sOptionalPositional[i];
-        if (!A._isSubtype(universe, tRequiredPositional[sRequiredPositionalLength + i], tEnv, t1, sEnv))
+        if (!A._isSubtype(universe, tRequiredPositional[sRequiredPositionalLength + i], tEnv, t1, sEnv, false))
           return false;
       }
       for (i = 0; i < tOptionalPositionalLength; ++i) {
         t1 = sOptionalPositional[requiredPositionalDelta + i];
-        if (!A._isSubtype(universe, tOptionalPositional[i], tEnv, t1, sEnv))
+        if (!A._isSubtype(universe, tOptionalPositional[i], tEnv, t1, sEnv, false))
           return false;
       }
       sNamed = sParameters._named;
@@ -3664,7 +3584,7 @@
           if (sIsRequired && !t1)
             return false;
           t1 = sNamed[sIndex - 1];
-          if (!A._isSubtype(universe, tNamed[tIndex + 2], tEnv, t1, sEnv))
+          if (!A._isSubtype(universe, tNamed[tIndex + 2], tEnv, t1, sEnv, false))
             return false;
           break;
         }
@@ -3676,8 +3596,8 @@
       }
       return true;
     },
-    _isInterfaceSubtype(universe, s, sEnv, t, tEnv) {
-      var rule, recipes, $length, supertypeArgs, i, t1, t2,
+    _isInterfaceSubtype(universe, s, sEnv, t, tEnv, isLegacy) {
+      var rule, recipes, $length, supertypeArgs, i,
         sName = s._primary,
         tName = t._primary;
       for (; sName !== tName;) {
@@ -3695,24 +3615,19 @@
         supertypeArgs = $length > 0 ? new Array($length) : init.typeUniverse.sEA;
         for (i = 0; i < $length; ++i)
           supertypeArgs[i] = A._Universe_evalInEnvironment(universe, s, recipes[i]);
-        return A._areArgumentsSubtypes(universe, supertypeArgs, null, sEnv, t._rest, tEnv);
+        return A._areArgumentsSubtypes(universe, supertypeArgs, null, sEnv, t._rest, tEnv, false);
       }
-      t1 = s._rest;
-      t2 = t._rest;
-      return A._areArgumentsSubtypes(universe, t1, null, sEnv, t2, tEnv);
+      return A._areArgumentsSubtypes(universe, s._rest, null, sEnv, t._rest, tEnv, false);
     },
-    _areArgumentsSubtypes(universe, sArgs, sVariances, sEnv, tArgs, tEnv) {
-      var i, t1, t2,
+    _areArgumentsSubtypes(universe, sArgs, sVariances, sEnv, tArgs, tEnv, isLegacy) {
+      var i,
         $length = sArgs.length;
-      for (i = 0; i < $length; ++i) {
-        t1 = sArgs[i];
-        t2 = tArgs[i];
-        if (!A._isSubtype(universe, t1, sEnv, t2, tEnv))
+      for (i = 0; i < $length; ++i)
+        if (!A._isSubtype(universe, sArgs[i], sEnv, tArgs[i], tEnv, false))
           return false;
-      }
       return true;
     },
-    _isRecordSubtype(universe, s, sEnv, t, tEnv) {
+    _isRecordSubtype(universe, s, sEnv, t, tEnv, isLegacy) {
       var i,
         sFields = s._rest,
         tFields = t._rest,
@@ -3722,7 +3637,7 @@
       if (s._primary !== t._primary)
         return false;
       for (i = 0; i < sCount; ++i)
-        if (!A._isSubtype(universe, sFields[i], sEnv, tFields[i], tEnv))
+        if (!A._isSubtype(universe, sFields[i], sEnv, tFields[i], tEnv, false))
           return false;
       return true;
     },
@@ -3730,7 +3645,7 @@
       var t1,
         kind = t._kind;
       if (!(t === type$.Null || t === type$.JSNull))
-        if (!A.isStrongTopType(t))
+        if (!A.isSoundTopType(t))
           if (kind !== 7)
             if (!(kind === 6 && A.isNullable(t._primary)))
               t1 = kind === 8 && A.isNullable(t._primary);
@@ -3744,18 +3659,15 @@
         t1 = true;
       return t1;
     },
-    isTopType(t) {
+    isDefinitelyTopType(t) {
       var t1;
-      if (!A.isStrongTopType(t))
-        if (!(t === type$.legacy_Object))
-          t1 = false;
-        else
-          t1 = true;
+      if (!A.isSoundTopType(t))
+        t1 = t === type$.legacy_Object;
       else
         t1 = true;
       return t1;
     },
-    isStrongTopType(t) {
+    isSoundTopType(t) {
       var kind = t._kind;
       return kind === 2 || kind === 3 || kind === 4 || kind === 5 || t === type$.nullable_Object;
     },
@@ -3775,7 +3687,7 @@
       var _ = this;
       _._as = t0;
       _._is = t1;
-      _._cachedRuntimeType = _._specializedTestResource = _._unsoundIsSubtypeCache = _._isSubtypeCache = _._precomputed1 = null;
+      _._cachedRuntimeType = _._specializedTestResource = _._isSubtypeCache = _._precomputed1 = null;
       _._kind = 0;
       _._canonicalRecipe = _._bindCache = _._evalCache = _._rest = _._primary = null;
     },
@@ -3814,12 +3726,10 @@
       A.Timer__createTimer(B.Duration_0, type$.void_Function._as(callback));
     },
     Timer__createTimer(duration, callback) {
-      var milliseconds = B.JSInt_methods._tdivFast$1(duration._duration, 1000);
-      return A._TimerImpl$(milliseconds, callback);
+      return A._TimerImpl$(duration._duration / 1000 | 0, callback);
     },
     Timer__createPeriodicTimer(duration, callback) {
-      var milliseconds = B.JSInt_methods._tdivFast$1(duration._duration, 1000);
-      return A._TimerImpl$periodic(milliseconds, callback);
+      return A._TimerImpl$periodic(duration._duration / 1000 | 0, callback);
     },
     _TimerImpl$(milliseconds, callback) {
       var t1 = new A._TimerImpl();
@@ -4216,7 +4126,7 @@
       var valueMap, t1, handleUncaughtError;
       type$.nullable_ZoneSpecification._as(specification);
       type$.nullable_Map_of_nullable_Object_and_nullable_Object._as(zoneValues);
-      valueMap = zone.get$_async$_map();
+      valueMap = zone.get$_map();
       t1 = new A._CustomZone(zone.get$_run(), zone.get$_runUnary(), zone.get$_runBinary(), zone.get$_registerCallback(), zone.get$_registerUnaryCallback(), zone.get$_registerBinaryCallback(), zone.get$_errorCallback(), zone.get$_scheduleMicrotask(), zone.get$_createTimer(), zone.get$_createPeriodicTimer(), zone.get$_print(), zone.get$_fork(), zone.get$_handleUncaughtError(), zone, valueMap);
       handleUncaughtError = specification.handleUncaughtError;
       if (handleUncaughtError != null)
@@ -4498,7 +4408,7 @@
       _._handleUncaughtError = t12;
       _._delegateCache = null;
       _.parent = t13;
-      _._async$_map = t14;
+      _._map = t14;
     },
     _CustomZone_bindCallback_closure: function _CustomZone_bindCallback_closure(t0, t1, t2) {
       this.$this = t0;
@@ -4600,7 +4510,7 @@
         B.JSArray_methods.add$1($.toStringVisiting, m);
         result._contents += "{";
         t1.first = true;
-        J.forEach$1$x(m, new A.MapBase_mapToString_closure(t1, result));
+        m.forEach$1(0, new A.MapBase_mapToString_closure(t1, result));
         result._contents += "}";
       } finally {
         if (0 >= $.toStringVisiting.length)
@@ -4613,13 +4523,13 @@
     _HashMap: function _HashMap(t0) {
       var _ = this;
       _._collection$_length = 0;
-      _._keys = _._collection$_rest = _._collection$_nums = _._collection$_strings = null;
+      _._keys = _._collection$_rest = _._nums = _._strings = null;
       _.$ti = t0;
     },
     _IdentityHashMap: function _IdentityHashMap(t0) {
       var _ = this;
       _._collection$_length = 0;
-      _._keys = _._collection$_rest = _._collection$_nums = _._collection$_strings = null;
+      _._keys = _._collection$_rest = _._nums = _._strings = null;
       _.$ti = t0;
     },
     _HashMapKeyIterable: function _HashMapKeyIterable(t0, t1) {
@@ -4637,7 +4547,7 @@
     _LinkedHashSet: function _LinkedHashSet(t0) {
       var _ = this;
       _._collection$_length = 0;
-      _._collection$_last = _._collection$_first = _._collection$_rest = _._collection$_nums = _._collection$_strings = null;
+      _._collection$_last = _._collection$_first = _._collection$_rest = _._nums = _._strings = null;
       _._collection$_modifications = 0;
       _.$ti = t0;
     },
@@ -4698,30 +4608,30 @@
         object[i] = A._convertJsonToDartLazy(object[i]);
       return object;
     },
-    Utf8Decoder__convertIntercepted(allowMalformed, codeUnits, start, end) {
-      var casted, result;
-      if (codeUnits instanceof Uint8Array) {
-        casted = codeUnits;
-        end = casted.length;
-        if (end - start < 15)
-          return null;
-        result = A.Utf8Decoder__convertInterceptedUint8List(allowMalformed, casted, start, end);
-        if (result != null && allowMalformed)
-          if (result.indexOf("\ufffd") >= 0)
-            return null;
-        return result;
+    _Utf8Decoder__makeNativeUint8List(codeUnits, start, end) {
+      var bytes, t1, i, b,
+        $length = end - start;
+      if ($length <= 4096)
+        bytes = $.$get$_Utf8Decoder__reusableBuffer();
+      else
+        bytes = new Uint8Array($length);
+      for (t1 = J.getInterceptor$asx(codeUnits), i = 0; i < $length; ++i) {
+        b = t1.$index(codeUnits, start + i);
+        if ((b & 255) !== b)
+          b = 255;
+        bytes[i] = b;
       }
-      return null;
+      return bytes;
     },
-    Utf8Decoder__convertInterceptedUint8List(allowMalformed, codeUnits, start, end) {
-      var decoder = allowMalformed ? $.$get$Utf8Decoder__decoderNonfatal() : $.$get$Utf8Decoder__decoder();
+    _Utf8Decoder__convertInterceptedUint8List(allowMalformed, codeUnits, start, end) {
+      var decoder = allowMalformed ? $.$get$_Utf8Decoder__decoderNonfatal() : $.$get$_Utf8Decoder__decoder();
       if (decoder == null)
         return null;
       if (0 === start && end === codeUnits.length)
-        return A.Utf8Decoder__useTextDecoder(decoder, codeUnits);
-      return A.Utf8Decoder__useTextDecoder(decoder, codeUnits.subarray(start, A.RangeError_checkValidRange(start, end, codeUnits.length)));
+        return A._Utf8Decoder__useTextDecoder(decoder, codeUnits);
+      return A._Utf8Decoder__useTextDecoder(decoder, codeUnits.subarray(start, end));
     },
-    Utf8Decoder__useTextDecoder(decoder, codeUnits) {
+    _Utf8Decoder__useTextDecoder(decoder, codeUnits) {
       var t1, exception;
       try {
         t1 = decoder.decode(codeUnits);
@@ -4778,20 +4688,6 @@
           return "";
       }
     },
-    _Utf8Decoder__makeUint8List(codeUnits, start, end) {
-      var t1, i, b,
-        $length = end - start,
-        bytes = new Uint8Array($length);
-      for (t1 = J.getInterceptor$asx(codeUnits), i = 0; i < $length; ++i) {
-        b = t1.$index(codeUnits, start + i);
-        if ((b & 4294967040) >>> 0 !== 0)
-          b = 255;
-        if (!(i < $length))
-          return A.ioore(bytes, i);
-        bytes[i] = b;
-      }
-      return bytes;
-    },
     _JsonMap: function _JsonMap(t0, t1) {
       this._original = t0;
       this._processed = t1;
@@ -4800,9 +4696,9 @@
     _JsonMapKeyIterable: function _JsonMapKeyIterable(t0) {
       this._convert$_parent = t0;
     },
-    Utf8Decoder__decoder_closure: function Utf8Decoder__decoder_closure() {
+    _Utf8Decoder__decoder_closure: function _Utf8Decoder__decoder_closure() {
     },
-    Utf8Decoder__decoderNonfatal_closure: function Utf8Decoder__decoderNonfatal_closure() {
+    _Utf8Decoder__decoderNonfatal_closure: function _Utf8Decoder__decoderNonfatal_closure() {
     },
     AsciiCodec: function AsciiCodec() {
     },
@@ -4895,7 +4791,7 @@
       var t1,
         list = A._setArrayType([], $E._eval$1("JSArray<0>"));
       for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();)
-        B.JSArray_methods.add$1(list, $E._as(t1.get$current(t1)));
+        B.JSArray_methods.add$1(list, $E._as(t1.get$current()));
       if (growable)
         return list;
       return J.JSArray_markFixedList(list, $E);
@@ -4913,49 +4809,47 @@
         return A._setArrayType(elements.slice(0), $E._eval$1("JSArray<0>"));
       list = A._setArrayType([], $E._eval$1("JSArray<0>"));
       for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();)
-        B.JSArray_methods.add$1(list, t1.get$current(t1));
+        B.JSArray_methods.add$1(list, t1.get$current());
       return list;
     },
     List_List$unmodifiable(elements, $E) {
       return J.JSArray_markUnmodifiableList(A.List_List$from(elements, false, $E));
     },
     String_String$fromCharCodes(charCodes, start, end) {
-      var array, len;
+      var t1, t2, maxLength, array, len;
+      A.RangeError_checkNotNegative(start, "start");
+      t1 = end == null;
+      t2 = !t1;
+      if (t2) {
+        maxLength = end - start;
+        if (maxLength < 0)
+          throw A.wrapException(A.RangeError$range(end, start, null, "end", null));
+        if (maxLength === 0)
+          return "";
+      }
       if (Array.isArray(charCodes)) {
         array = charCodes;
         len = array.length;
-        end = A.RangeError_checkValidRange(start, end, len);
+        if (t1)
+          end = len;
         return A.Primitives_stringFromCharCodes(start > 0 || end < len ? array.slice(start, end) : array);
       }
       if (type$.NativeUint8List._is(charCodes))
-        return A.Primitives_stringFromNativeUint8List(charCodes, start, A.RangeError_checkValidRange(start, end, charCodes.length));
-      return A.String__stringFromIterable(charCodes, start, end);
+        return A.String__stringFromUint8List(charCodes, start, end);
+      if (t2)
+        charCodes = J.take$1$ax(charCodes, end);
+      if (start > 0)
+        charCodes = J.skip$1$ax(charCodes, start);
+      return A.Primitives_stringFromCharCodes(A.List_List$of(charCodes, true, type$.int));
     },
     String_String$fromCharCode(charCode) {
       return A.Primitives_stringFromCharCode(charCode);
     },
-    String__stringFromIterable(charCodes, start, end) {
-      var t1, it, i, list, _null = null;
-      if (start < 0)
-        throw A.wrapException(A.RangeError$range(start, 0, J.get$length$asx(charCodes), _null, _null));
-      t1 = end == null;
-      if (!t1 && end < start)
-        throw A.wrapException(A.RangeError$range(end, start, J.get$length$asx(charCodes), _null, _null));
-      it = J.get$iterator$ax(charCodes);
-      for (i = 0; i < start; ++i)
-        if (!it.moveNext$0())
-          throw A.wrapException(A.RangeError$range(start, 0, i, _null, _null));
-      list = [];
-      if (t1)
-        for (; it.moveNext$0();)
-          list.push(it.get$current(it));
-      else
-        for (i = start; i < end; ++i) {
-          if (!it.moveNext$0())
-            throw A.wrapException(A.RangeError$range(end, start, i, _null, _null));
-          list.push(it.get$current(it));
-        }
-      return A.Primitives_stringFromCharCodes(list);
+    String__stringFromUint8List(charCodes, start, endOrNull) {
+      var len = charCodes.length;
+      if (start >= len)
+        return "";
+      return A.Primitives_stringFromNativeUint8List(charCodes, start, endOrNull == null || endOrNull > len ? len : endOrNull);
     },
     RegExp_RegExp(source, multiLine) {
       return new A.JSSyntaxRegExp(source, A.JSSyntaxRegExp_makeNative(source, multiLine, true, false, false, false));
@@ -4966,12 +4860,12 @@
         return string;
       if (separator.length === 0) {
         do
-          string += A.S(iterator.get$current(iterator));
+          string += A.S(iterator.get$current());
         while (iterator.moveNext$0());
       } else {
-        string += A.S(iterator.get$current(iterator));
+        string += A.S(iterator.get$current());
         for (; iterator.moveNext$0();)
-          string = string + separator + A.S(iterator.get$current(iterator));
+          string = string + separator + A.S(iterator.get$current());
       }
       return string;
     },
@@ -5155,7 +5049,7 @@
           break;
         if (!it.moveNext$0())
           return;
-        next = A.S(it.get$current(it));
+        next = A.S(it.get$current());
         B.JSArray_methods.add$1(parts, next);
         $length += next.length + 2;
         ++count;
@@ -5170,7 +5064,7 @@
           return A.ioore(parts, -1);
         penultimateString = parts.pop();
       } else {
-        penultimate = it.get$current(it);
+        penultimate = it.get$current();
         ++count;
         if (!it.moveNext$0()) {
           if (count <= 4) {
@@ -5183,10 +5077,10 @@
           penultimateString = parts.pop();
           $length += ultimateString.length + 2;
         } else {
-          ultimate = it.get$current(it);
+          ultimate = it.get$current();
           ++count;
           for (; it.moveNext$0(); penultimate = ultimate, ultimate = ultimate0) {
-            ultimate0 = it.get$current(it);
+            ultimate0 = it.get$current();
             ++count;
             if (count > 100) {
               while (true) {
@@ -5227,25 +5121,11 @@
       B.JSArray_methods.add$1(parts, penultimateString);
       B.JSArray_methods.add$1(parts, ultimateString);
     },
-    Object_hash(object1, object2, object3, object4) {
-      var t1;
-      if (B.C_SentinelValue === object3) {
-        t1 = J.get$hashCode$(object1);
-        object2 = J.get$hashCode$(object2);
-        return A.SystemHash_finish(A.SystemHash_combine(A.SystemHash_combine($.$get$_hashSeed(), t1), object2));
-      }
-      if (B.C_SentinelValue === object4) {
-        t1 = J.get$hashCode$(object1);
-        object2 = J.get$hashCode$(object2);
-        object3 = J.get$hashCode$(object3);
-        return A.SystemHash_finish(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine($.$get$_hashSeed(), t1), object2), object3));
-      }
-      t1 = J.get$hashCode$(object1);
-      object2 = J.get$hashCode$(object2);
-      object3 = J.get$hashCode$(object3);
-      object4 = J.get$hashCode$(object4);
-      object4 = A.SystemHash_finish(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine($.$get$_hashSeed(), t1), object2), object3), object4));
-      return object4;
+    Object_hash(object1, object2) {
+      var t1 = object1.get$hashCode(object1);
+      object2 = A.Primitives_objectHashCode(object2);
+      object2 = A.SystemHash_finish(A.SystemHash_combine(A.SystemHash_combine($.$get$_hashSeed(), t1), object2));
+      return object2;
     },
     Uri_Uri$dataFromString($content) {
       var t1, _null = null,
@@ -5324,63 +5204,60 @@
                 t2 = queryStart > pathStart + 2 && B.JSString_methods.startsWith$2(uri, "/..", queryStart - 3);
               else
                 t2 = true;
-              if (t2) {
+              if (t2)
                 scheme = _null;
-                isSimple = false;
-              } else {
-                if (schemeEnd === 4)
-                  if (B.JSString_methods.startsWith$2(uri, "file", 0)) {
-                    if (hostStart <= 0) {
-                      if (!B.JSString_methods.startsWith$2(uri, "/", pathStart)) {
-                        schemeAuth = "file:///";
-                        delta = 3;
-                      } else {
-                        schemeAuth = "file://";
-                        delta = 2;
-                      }
-                      uri = schemeAuth + B.JSString_methods.substring$2(uri, pathStart, end);
-                      schemeEnd -= 0;
-                      t1 = delta - 0;
-                      queryStart += t1;
-                      fragmentStart += t1;
-                      end = uri.length;
-                      hostStart = 7;
-                      portStart = 7;
-                      pathStart = 7;
-                    } else if (pathStart === queryStart) {
-                      ++fragmentStart;
-                      queryStart0 = queryStart + 1;
-                      uri = B.JSString_methods.replaceRange$3(uri, pathStart, queryStart, "/");
-                      ++end;
-                      queryStart = queryStart0;
+              else if (schemeEnd === 4)
+                if (B.JSString_methods.startsWith$2(uri, "file", 0)) {
+                  if (hostStart <= 0) {
+                    if (!B.JSString_methods.startsWith$2(uri, "/", pathStart)) {
+                      schemeAuth = "file:///";
+                      delta = 3;
+                    } else {
+                      schemeAuth = "file://";
+                      delta = 2;
                     }
-                    scheme = "file";
-                  } else if (B.JSString_methods.startsWith$2(uri, "http", 0)) {
-                    if (t1 && portStart + 3 === pathStart && B.JSString_methods.startsWith$2(uri, "80", portStart + 1)) {
-                      fragmentStart -= 3;
-                      pathStart0 = pathStart - 3;
-                      queryStart -= 3;
-                      uri = B.JSString_methods.replaceRange$3(uri, portStart, pathStart, "");
-                      end -= 3;
-                      pathStart = pathStart0;
-                    }
-                    scheme = "http";
-                  } else
-                    scheme = _null;
-                else if (schemeEnd === 5 && B.JSString_methods.startsWith$2(uri, "https", 0)) {
-                  if (t1 && portStart + 4 === pathStart && B.JSString_methods.startsWith$2(uri, "443", portStart + 1)) {
-                    fragmentStart -= 4;
-                    pathStart0 = pathStart - 4;
-                    queryStart -= 4;
+                    uri = schemeAuth + B.JSString_methods.substring$2(uri, pathStart, end);
+                    schemeEnd -= 0;
+                    t1 = delta - 0;
+                    queryStart += t1;
+                    fragmentStart += t1;
+                    end = uri.length;
+                    hostStart = 7;
+                    portStart = 7;
+                    pathStart = 7;
+                  } else if (pathStart === queryStart) {
+                    ++fragmentStart;
+                    queryStart0 = queryStart + 1;
+                    uri = B.JSString_methods.replaceRange$3(uri, pathStart, queryStart, "/");
+                    ++end;
+                    queryStart = queryStart0;
+                  }
+                  scheme = "file";
+                } else if (B.JSString_methods.startsWith$2(uri, "http", 0)) {
+                  if (t1 && portStart + 3 === pathStart && B.JSString_methods.startsWith$2(uri, "80", portStart + 1)) {
+                    fragmentStart -= 3;
+                    pathStart0 = pathStart - 3;
+                    queryStart -= 3;
                     uri = B.JSString_methods.replaceRange$3(uri, portStart, pathStart, "");
                     end -= 3;
                     pathStart = pathStart0;
                   }
-                  scheme = "https";
+                  scheme = "http";
                 } else
                   scheme = _null;
-                isSimple = true;
-              }
+              else if (schemeEnd === 5 && B.JSString_methods.startsWith$2(uri, "https", 0)) {
+                if (t1 && portStart + 4 === pathStart && B.JSString_methods.startsWith$2(uri, "443", portStart + 1)) {
+                  fragmentStart -= 4;
+                  pathStart0 = pathStart - 4;
+                  queryStart -= 4;
+                  uri = B.JSString_methods.replaceRange$3(uri, portStart, pathStart, "");
+                  end -= 3;
+                  pathStart = pathStart0;
+                }
+                scheme = "https";
+              } else
+                scheme = _null;
+              isSimple = !t2;
             }
           }
         }
@@ -5602,7 +5479,7 @@
     },
     _Uri__checkWindowsPathReservedCharacters(segments, argumentError, firstSegment) {
       var t1, t2, t3;
-      for (t1 = A.SubListIterable$(segments, firstSegment, null, A._arrayInstanceType(segments)._precomputed1), t2 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(t1), t2._eval$1("ListIterator<ListIterable.E>")), t2 = t2._eval$1("ListIterable.E"); t1.moveNext$0();) {
+      for (t1 = A.SubListIterable$(segments, firstSegment, null, A._arrayInstanceType(segments)._precomputed1), t2 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator<ListIterable.E>")), t2 = t2._eval$1("ListIterable.E"); t1.moveNext$0();) {
         t3 = t1.__internal$_current;
         if (t3 == null)
           t3 = t2._as(t3);
@@ -5810,7 +5687,8 @@
             } else
               t2 = buffer;
             t2._contents += slice;
-            t2._contents += A._Uri__escapeChar(char);
+            t3 = A._Uri__escapeChar(char);
+            t2._contents += t3;
             index += sourceLength;
             sectionStart = index;
           }
@@ -5818,8 +5696,10 @@
       }
       if (buffer == null)
         return B.JSString_methods.substring$2(host, start, end);
-      if (sectionStart < end)
-        buffer._contents += B.JSString_methods.substring$2(host, sectionStart, end);
+      if (sectionStart < end) {
+        slice = B.JSString_methods.substring$2(host, sectionStart, end);
+        buffer._contents += slice;
+      }
       t1 = buffer._contents;
       return t1.charCodeAt(0) == 0 ? t1 : t1;
     },
@@ -5839,7 +5719,9 @@
           if (buffer == null)
             buffer = new A.StringBuffer("");
           slice = B.JSString_methods.substring$2(host, sectionStart, index);
-          t3 = buffer._contents += !isNormalized ? slice.toLowerCase() : slice;
+          if (!isNormalized)
+            slice = slice.toLowerCase();
+          t3 = buffer._contents += slice;
           if (t2) {
             replacement = B.JSString_methods.substring$2(host, index, index + 3);
             sourceLength = 3;
@@ -5903,7 +5785,8 @@
               } else
                 t2 = buffer;
               t2._contents += slice;
-              t2._contents += A._Uri__escapeChar(char);
+              t3 = A._Uri__escapeChar(char);
+              t2._contents += t3;
               index += sourceLength;
               sectionStart = index;
             }
@@ -5914,7 +5797,9 @@
         return B.JSString_methods.substring$2(host, start, end);
       if (sectionStart < end) {
         slice = B.JSString_methods.substring$2(host, sectionStart, end);
-        buffer._contents += !isNormalized ? slice.toLowerCase() : slice;
+        if (!isNormalized)
+          slice = slice.toLowerCase();
+        buffer._contents += slice;
       }
       t1 = buffer._contents;
       return t1.charCodeAt(0) == 0 ? t1 : t1;
@@ -6160,8 +6045,10 @@
       }
       if (buffer == null)
         return _null;
-      if (sectionStart < end)
-        buffer._contents += B.JSString_methods.substring$2(component, sectionStart, end);
+      if (sectionStart < end) {
+        t1 = B.JSString_methods.substring$2(component, sectionStart, end);
+        buffer._contents += t1;
+      }
       t1 = buffer._contents;
       return t1.charCodeAt(0) == 0 ? t1 : t1;
     },
@@ -6187,11 +6074,10 @@
               B.JSArray_methods.add$1(output, "");
           }
           appendSlash = true;
-        } else if ("." === segment)
-          appendSlash = true;
-        else {
-          B.JSArray_methods.add$1(output, segment);
-          appendSlash = false;
+        } else {
+          appendSlash = "." === segment;
+          if (!appendSlash)
+            B.JSArray_methods.add$1(output, segment);
         }
       }
       if (appendSlash)
@@ -6205,21 +6091,18 @@
       output = A._setArrayType([], type$.JSArray_String);
       for (t1 = path.split("/"), t2 = t1.length, appendSlash = false, _i = 0; _i < t2; ++_i) {
         segment = t1[_i];
-        if (".." === segment)
-          if (output.length !== 0 && B.JSArray_methods.get$last(output) !== "..") {
+        if (".." === segment) {
+          appendSlash = output.length !== 0 && B.JSArray_methods.get$last(output) !== "..";
+          if (appendSlash) {
             if (0 >= output.length)
               return A.ioore(output, -1);
             output.pop();
-            appendSlash = true;
-          } else {
+          } else
             B.JSArray_methods.add$1(output, "..");
-            appendSlash = false;
-          }
-        else if ("." === segment)
-          appendSlash = true;
-        else {
-          B.JSArray_methods.add$1(output, segment);
-          appendSlash = false;
+        } else {
+          appendSlash = "." === segment;
+          if (!appendSlash)
+            B.JSArray_methods.add$1(output, segment);
         }
       }
       t1 = output.length;
@@ -6268,30 +6151,6 @@
         return A._skipPackageNameChars(path, 0, path.length);
       return -1;
     },
-    _Uri__toWindowsFilePath(uri) {
-      var hasDriveLetter, t2, host,
-        segments = uri.get$pathSegments(),
-        t1 = segments.length;
-      if (t1 > 0 && J.get$length$asx(segments[0]) === 2 && J.codeUnitAt$1$s(segments[0], 1) === 58) {
-        if (0 >= t1)
-          return A.ioore(segments, 0);
-        A._Uri__checkWindowsDriveLetter(J.codeUnitAt$1$s(segments[0], 0), false);
-        A._Uri__checkWindowsPathReservedCharacters(segments, false, 1);
-        hasDriveLetter = true;
-      } else {
-        A._Uri__checkWindowsPathReservedCharacters(segments, false, 0);
-        hasDriveLetter = false;
-      }
-      t2 = uri.get$hasAbsolutePath() && !hasDriveLetter ? "" + "\\" : "";
-      if (uri.get$hasAuthority()) {
-        host = uri.get$host(uri);
-        if (host.length !== 0)
-          t2 = t2 + "\\" + host + "\\";
-      }
-      t2 = A.StringBuffer__writeAll(t2, segments, "\\");
-      t1 = hasDriveLetter && t1 === 1 ? t2 + "\\" : t2;
-      return t1.charCodeAt(0) == 0 ? t1 : t1;
-    },
     _Uri__hexCharPairToByte(s, pos) {
       var t1, byte, i, t2, charCode;
       for (t1 = s.length, byte = 0, i = 0; i < 2; ++i) {
@@ -6336,16 +6195,12 @@
         }
         ++i;
       }
-      if (simple) {
-        if (B.C_Utf8Codec !== encoding)
-          t1 = false;
-        else
-          t1 = true;
-        if (t1)
+      if (simple)
+        if (B.C_Utf8Codec === encoding)
           return B.JSString_methods.substring$2(text, start, end);
         else
           bytes = new A.CodeUnits(B.JSString_methods.substring$2(text, start, end));
-      } else {
+      else {
         bytes = A._setArrayType([], type$.JSArray_int);
         for (i = start; i < end; ++i) {
           if (!(i < t1))
@@ -6372,30 +6227,7 @@
       return 97 <= lowerCase && lowerCase <= 122;
     },
     UriData__writeUri(mimeType, charsetName, parameters, buffer, indices) {
-      var slashIndex, t1;
-      if (true)
-        buffer._contents = buffer._contents;
-      else {
-        slashIndex = A.UriData__validateMimeType("");
-        if (slashIndex < 0)
-          throw A.wrapException(A.ArgumentError$value("", "mimeType", "Invalid MIME type"));
-        t1 = buffer._contents += A._Uri__uriEncode(B.List_yzX, B.JSString_methods.substring$2("", 0, slashIndex), B.C_Utf8Codec, false);
-        buffer._contents = t1 + "/";
-        buffer._contents += A._Uri__uriEncode(B.List_yzX, B.JSString_methods.substring$1("", slashIndex + 1), B.C_Utf8Codec, false);
-      }
-    },
-    UriData__validateMimeType(mimeType) {
-      var t1, slashIndex, i;
-      for (t1 = mimeType.length, slashIndex = -1, i = 0; i < t1; ++i) {
-        if (mimeType.charCodeAt(i) !== 47)
-          continue;
-        if (slashIndex < 0) {
-          slashIndex = i;
-          continue;
-        }
-        return -1;
-      }
-      return slashIndex;
+      buffer._contents = buffer._contents;
     },
     UriData__parse(text, start, sourceUri) {
       var t1, i, slashIndex, char, equalsIndex, lastSeparator, t2, data,
@@ -6440,7 +6272,7 @@
       B.JSArray_methods.add$1(indices, i);
       t2 = i + 1;
       if ((indices.length & 1) === 1)
-        text = B.C_Base64Codec.normalize$3(0, text, t2, t1);
+        text = B.C_Base64Codec.normalize$3(text, t2, t1);
       else {
         data = A._Uri__normalize(text, t2, t1, B.List_oFp, true, false);
         if (data != null)
@@ -6461,15 +6293,19 @@
           t2 = (canonicalTable[t2] & 1 << (byte & 15)) !== 0;
         } else
           t2 = false;
-        if (t2)
-          buffer._contents += A.Primitives_stringFromCharCode(byte);
-        else {
-          buffer._contents += A.Primitives_stringFromCharCode(37);
+        if (t2) {
+          t2 = A.Primitives_stringFromCharCode(byte);
+          buffer._contents += t2;
+        } else {
+          t2 = A.Primitives_stringFromCharCode(37);
+          buffer._contents += t2;
           t2 = byte >>> 4;
           if (!(t2 < 16))
             return A.ioore(_s16_, t2);
-          buffer._contents += A.Primitives_stringFromCharCode(_s16_.charCodeAt(t2));
-          buffer._contents += A.Primitives_stringFromCharCode(_s16_.charCodeAt(byte & 15));
+          t2 = A.Primitives_stringFromCharCode(_s16_.charCodeAt(t2));
+          buffer._contents += t2;
+          t2 = A.Primitives_stringFromCharCode(_s16_.charCodeAt(byte & 15));
+          buffer._contents += t2;
         }
       }
       if ((byteOr & 4294967040) !== 0)
@@ -6825,234 +6661,6 @@
       _._fragment = t6;
       _.___Uri_queryParameters_FI = _.___Uri_hashCode_FI = _.___Uri_pathSegments_FI = _.___Uri__text_FI = $;
     },
-    HtmlElement: function HtmlElement() {
-    },
-    AccessibleNodeList: function AccessibleNodeList() {
-    },
-    AnchorElement: function AnchorElement() {
-    },
-    AreaElement: function AreaElement() {
-    },
-    Blob: function Blob() {
-    },
-    CharacterData: function CharacterData() {
-    },
-    CssPerspective: function CssPerspective() {
-    },
-    CssRule: function CssRule() {
-    },
-    CssStyleDeclaration: function CssStyleDeclaration() {
-    },
-    CssStyleDeclarationBase: function CssStyleDeclarationBase() {
-    },
-    CssStyleValue: function CssStyleValue() {
-    },
-    CssTransformComponent: function CssTransformComponent() {
-    },
-    CssTransformValue: function CssTransformValue() {
-    },
-    CssUnparsedValue: function CssUnparsedValue() {
-    },
-    DataTransferItemList: function DataTransferItemList() {
-    },
-    DomException: function DomException() {
-    },
-    DomRectList: function DomRectList() {
-    },
-    DomRectReadOnly: function DomRectReadOnly() {
-    },
-    DomStringList: function DomStringList() {
-    },
-    DomTokenList: function DomTokenList() {
-    },
-    Element: function Element() {
-    },
-    EventTarget: function EventTarget() {
-    },
-    File: function File() {
-    },
-    FileList: function FileList() {
-    },
-    FileWriter: function FileWriter() {
-    },
-    FormElement: function FormElement() {
-    },
-    Gamepad: function Gamepad() {
-    },
-    History: function History() {
-    },
-    HtmlCollection: function HtmlCollection() {
-    },
-    Location: function Location() {
-    },
-    MediaList: function MediaList() {
-    },
-    MidiInputMap: function MidiInputMap() {
-    },
-    MidiInputMap_keys_closure: function MidiInputMap_keys_closure(t0) {
-      this.keys = t0;
-    },
-    MidiOutputMap: function MidiOutputMap() {
-    },
-    MidiOutputMap_keys_closure: function MidiOutputMap_keys_closure(t0) {
-      this.keys = t0;
-    },
-    MimeType: function MimeType() {
-    },
-    MimeTypeArray: function MimeTypeArray() {
-    },
-    Node: function Node() {
-    },
-    NodeList: function NodeList() {
-    },
-    Plugin: function Plugin() {
-    },
-    PluginArray: function PluginArray() {
-    },
-    RtcStatsReport: function RtcStatsReport() {
-    },
-    RtcStatsReport_keys_closure: function RtcStatsReport_keys_closure(t0) {
-      this.keys = t0;
-    },
-    SelectElement: function SelectElement() {
-    },
-    SourceBuffer: function SourceBuffer() {
-    },
-    SourceBufferList: function SourceBufferList() {
-    },
-    SpeechGrammar: function SpeechGrammar() {
-    },
-    SpeechGrammarList: function SpeechGrammarList() {
-    },
-    SpeechRecognitionResult: function SpeechRecognitionResult() {
-    },
-    Storage: function Storage() {
-    },
-    Storage_keys_closure: function Storage_keys_closure(t0) {
-      this.keys = t0;
-    },
-    StyleSheet: function StyleSheet() {
-    },
-    TextTrack: function TextTrack() {
-    },
-    TextTrackCue: function TextTrackCue() {
-    },
-    TextTrackCueList: function TextTrackCueList() {
-    },
-    TextTrackList: function TextTrackList() {
-    },
-    TimeRanges: function TimeRanges() {
-    },
-    Touch: function Touch() {
-    },
-    TouchList: function TouchList() {
-    },
-    TrackDefaultList: function TrackDefaultList() {
-    },
-    Url: function Url() {
-    },
-    VideoTrackList: function VideoTrackList() {
-    },
-    _CssRuleList: function _CssRuleList() {
-    },
-    _DomRect: function _DomRect() {
-    },
-    _GamepadList: function _GamepadList() {
-    },
-    _NamedNodeMap: function _NamedNodeMap() {
-    },
-    _SpeechRecognitionResultList: function _SpeechRecognitionResultList() {
-    },
-    _StyleSheetList: function _StyleSheetList() {
-    },
-    ImmutableListMixin: function ImmutableListMixin() {
-    },
-    FixedSizeListIterator: function FixedSizeListIterator(t0, t1, t2) {
-      var _ = this;
-      _._array = t0;
-      _._html$_length = t1;
-      _._position = -1;
-      _._html$_current = null;
-      _.$ti = t2;
-    },
-    _CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase: function _CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase() {
-    },
-    _DomRectList_JavaScriptObject_ListMixin: function _DomRectList_JavaScriptObject_ListMixin() {
-    },
-    _DomRectList_JavaScriptObject_ListMixin_ImmutableListMixin: function _DomRectList_JavaScriptObject_ListMixin_ImmutableListMixin() {
-    },
-    _DomStringList_JavaScriptObject_ListMixin: function _DomStringList_JavaScriptObject_ListMixin() {
-    },
-    _DomStringList_JavaScriptObject_ListMixin_ImmutableListMixin: function _DomStringList_JavaScriptObject_ListMixin_ImmutableListMixin() {
-    },
-    _FileList_JavaScriptObject_ListMixin: function _FileList_JavaScriptObject_ListMixin() {
-    },
-    _FileList_JavaScriptObject_ListMixin_ImmutableListMixin: function _FileList_JavaScriptObject_ListMixin_ImmutableListMixin() {
-    },
-    _HtmlCollection_JavaScriptObject_ListMixin: function _HtmlCollection_JavaScriptObject_ListMixin() {
-    },
-    _HtmlCollection_JavaScriptObject_ListMixin_ImmutableListMixin: function _HtmlCollection_JavaScriptObject_ListMixin_ImmutableListMixin() {
-    },
-    _MidiInputMap_JavaScriptObject_MapMixin: function _MidiInputMap_JavaScriptObject_MapMixin() {
-    },
-    _MidiOutputMap_JavaScriptObject_MapMixin: function _MidiOutputMap_JavaScriptObject_MapMixin() {
-    },
-    _MimeTypeArray_JavaScriptObject_ListMixin: function _MimeTypeArray_JavaScriptObject_ListMixin() {
-    },
-    _MimeTypeArray_JavaScriptObject_ListMixin_ImmutableListMixin: function _MimeTypeArray_JavaScriptObject_ListMixin_ImmutableListMixin() {
-    },
-    _NodeList_JavaScriptObject_ListMixin: function _NodeList_JavaScriptObject_ListMixin() {
-    },
-    _NodeList_JavaScriptObject_ListMixin_ImmutableListMixin: function _NodeList_JavaScriptObject_ListMixin_ImmutableListMixin() {
-    },
-    _PluginArray_JavaScriptObject_ListMixin: function _PluginArray_JavaScriptObject_ListMixin() {
-    },
-    _PluginArray_JavaScriptObject_ListMixin_ImmutableListMixin: function _PluginArray_JavaScriptObject_ListMixin_ImmutableListMixin() {
-    },
-    _RtcStatsReport_JavaScriptObject_MapMixin: function _RtcStatsReport_JavaScriptObject_MapMixin() {
-    },
-    _SourceBufferList_EventTarget_ListMixin: function _SourceBufferList_EventTarget_ListMixin() {
-    },
-    _SourceBufferList_EventTarget_ListMixin_ImmutableListMixin: function _SourceBufferList_EventTarget_ListMixin_ImmutableListMixin() {
-    },
-    _SpeechGrammarList_JavaScriptObject_ListMixin: function _SpeechGrammarList_JavaScriptObject_ListMixin() {
-    },
-    _SpeechGrammarList_JavaScriptObject_ListMixin_ImmutableListMixin: function _SpeechGrammarList_JavaScriptObject_ListMixin_ImmutableListMixin() {
-    },
-    _Storage_JavaScriptObject_MapMixin: function _Storage_JavaScriptObject_MapMixin() {
-    },
-    _TextTrackCueList_JavaScriptObject_ListMixin: function _TextTrackCueList_JavaScriptObject_ListMixin() {
-    },
-    _TextTrackCueList_JavaScriptObject_ListMixin_ImmutableListMixin: function _TextTrackCueList_JavaScriptObject_ListMixin_ImmutableListMixin() {
-    },
-    _TextTrackList_EventTarget_ListMixin: function _TextTrackList_EventTarget_ListMixin() {
-    },
-    _TextTrackList_EventTarget_ListMixin_ImmutableListMixin: function _TextTrackList_EventTarget_ListMixin_ImmutableListMixin() {
-    },
-    _TouchList_JavaScriptObject_ListMixin: function _TouchList_JavaScriptObject_ListMixin() {
-    },
-    _TouchList_JavaScriptObject_ListMixin_ImmutableListMixin: function _TouchList_JavaScriptObject_ListMixin_ImmutableListMixin() {
-    },
-    __CssRuleList_JavaScriptObject_ListMixin: function __CssRuleList_JavaScriptObject_ListMixin() {
-    },
-    __CssRuleList_JavaScriptObject_ListMixin_ImmutableListMixin: function __CssRuleList_JavaScriptObject_ListMixin_ImmutableListMixin() {
-    },
-    __GamepadList_JavaScriptObject_ListMixin: function __GamepadList_JavaScriptObject_ListMixin() {
-    },
-    __GamepadList_JavaScriptObject_ListMixin_ImmutableListMixin: function __GamepadList_JavaScriptObject_ListMixin_ImmutableListMixin() {
-    },
-    __NamedNodeMap_JavaScriptObject_ListMixin: function __NamedNodeMap_JavaScriptObject_ListMixin() {
-    },
-    __NamedNodeMap_JavaScriptObject_ListMixin_ImmutableListMixin: function __NamedNodeMap_JavaScriptObject_ListMixin_ImmutableListMixin() {
-    },
-    __SpeechRecognitionResultList_JavaScriptObject_ListMixin: function __SpeechRecognitionResultList_JavaScriptObject_ListMixin() {
-    },
-    __SpeechRecognitionResultList_JavaScriptObject_ListMixin_ImmutableListMixin: function __SpeechRecognitionResultList_JavaScriptObject_ListMixin_ImmutableListMixin() {
-    },
-    __StyleSheetList_JavaScriptObject_ListMixin: function __StyleSheetList_JavaScriptObject_ListMixin() {
-    },
-    __StyleSheetList_JavaScriptObject_ListMixin_ImmutableListMixin: function __StyleSheetList_JavaScriptObject_ListMixin_ImmutableListMixin() {
-    },
     _convertDartFunctionFast(f) {
       var ret,
         existing = f.$dart_jsFunction;
@@ -7143,53 +6751,6 @@
     NullRejectionException: function NullRejectionException(t0) {
       this.isUndefined = t0;
     },
-    Length: function Length() {
-    },
-    LengthList: function LengthList() {
-    },
-    Number: function Number() {
-    },
-    NumberList: function NumberList() {
-    },
-    PointList: function PointList() {
-    },
-    StringList: function StringList() {
-    },
-    Transform: function Transform() {
-    },
-    TransformList: function TransformList() {
-    },
-    _LengthList_JavaScriptObject_ListMixin: function _LengthList_JavaScriptObject_ListMixin() {
-    },
-    _LengthList_JavaScriptObject_ListMixin_ImmutableListMixin: function _LengthList_JavaScriptObject_ListMixin_ImmutableListMixin() {
-    },
-    _NumberList_JavaScriptObject_ListMixin: function _NumberList_JavaScriptObject_ListMixin() {
-    },
-    _NumberList_JavaScriptObject_ListMixin_ImmutableListMixin: function _NumberList_JavaScriptObject_ListMixin_ImmutableListMixin() {
-    },
-    _StringList_JavaScriptObject_ListMixin: function _StringList_JavaScriptObject_ListMixin() {
-    },
-    _StringList_JavaScriptObject_ListMixin_ImmutableListMixin: function _StringList_JavaScriptObject_ListMixin_ImmutableListMixin() {
-    },
-    _TransformList_JavaScriptObject_ListMixin: function _TransformList_JavaScriptObject_ListMixin() {
-    },
-    _TransformList_JavaScriptObject_ListMixin_ImmutableListMixin: function _TransformList_JavaScriptObject_ListMixin_ImmutableListMixin() {
-    },
-    AudioBuffer: function AudioBuffer() {
-    },
-    AudioParamMap: function AudioParamMap() {
-    },
-    AudioParamMap_keys_closure: function AudioParamMap_keys_closure(t0) {
-      this.keys = t0;
-    },
-    AudioTrackList: function AudioTrackList() {
-    },
-    BaseAudioContext: function BaseAudioContext() {
-    },
-    OfflineAudioContext: function OfflineAudioContext() {
-    },
-    _AudioParamMap_JavaScriptObject_MapMixin: function _AudioParamMap_JavaScriptObject_MapMixin() {
-    },
     NullStreamSink: function NullStreamSink(t0, t1) {
       var _ = this;
       _.done = t0;
@@ -7293,8 +6854,7 @@
     Style__getPlatformStyle() {
       if (A.Uri_base().get$scheme() !== "file")
         return $.$get$Style_url();
-      var t1 = A.Uri_base();
-      if (!B.JSString_methods.endsWith$1(t1.get$path(t1), "/"))
+      if (!B.JSString_methods.endsWith$1(A.Uri_base().get$path(), "/"))
         return $.$get$Style_url();
       if (A._Uri__Uri(null, "a/b", null, null).toFilePath$0() === "a\\b")
         return $.$get$Style_windows();
@@ -7325,7 +6885,7 @@
     },
     Chain_Chain$parse(chain) {
       var t1, t2,
-        _s51_ = string$.x3d_____;
+        _s51_ = string$.______;
       if (chain.length === 0)
         return new A.Chain(A.List_List$unmodifiable(A._setArrayType([], type$.JSArray_Trace), type$.Trace));
       t1 = $.$get$vmChainGap();
@@ -7463,7 +7023,7 @@
           t1 = A.Trace$parseFirefox(trace);
           return t1;
         }
-        if (B.JSString_methods.contains$1(trace, string$.x3d_____)) {
+        if (B.JSString_methods.contains$1(trace, string$.______)) {
           t1 = A.Chain_Chain$parse(trace).toTrace$0();
           return t1;
         }
@@ -7495,14 +7055,14 @@
         t2 = $.$get$vmChainGap(),
         t3 = type$.WhereIterable_String,
         lines = new A.WhereIterable(A._setArrayType(A.stringReplaceAllUnchecked(t1, t2, "").split("\n"), type$.JSArray_String), type$.bool_Function_String._as(new A.Trace__parseVM_closure()), t3);
-      if (!lines.get$iterator(lines).moveNext$0())
+      if (!lines.get$iterator(0).moveNext$0())
         return A._setArrayType([], type$.JSArray_Frame);
-      t1 = A.TakeIterable_TakeIterable(lines, lines.get$length(lines) - 1, t3._eval$1("Iterable.E"));
+      t1 = A.TakeIterable_TakeIterable(lines, lines.get$length(0) - 1, t3._eval$1("Iterable.E"));
       t2 = A._instanceType(t1);
       t2 = A.MappedIterable_MappedIterable(t1, t2._eval$1("Frame(Iterable.E)")._as(A.frame_Frame___parseVM_tearOff$closure()), t2._eval$1("Iterable.E"), type$.Frame);
       $frames = A.List_List$of(t2, true, A._instanceType(t2)._eval$1("Iterable.E"));
-      if (!J.endsWith$1$s(lines.get$last(lines), ".da"))
-        B.JSArray_methods.add$1($frames, A.Frame_Frame$parseVM(lines.get$last(lines)));
+      if (!J.endsWith$1$s(lines.get$last(0), ".da"))
+        B.JSArray_methods.add$1($frames, A.Frame_Frame$parseVM(lines.get$last(0)));
       return $frames;
     },
     Trace$parseV8(trace) {
@@ -7673,17 +7233,17 @@
     },
     EventTargetExtension_addEventListener(_this, type, listener) {
       var t1 = A._setArrayType([type, listener], type$.JSArray_Object);
-      A.callMethod(_this, "addEventListener", t1, type$.dynamic);
+      A.callMethod(_this, "addEventListener", t1, type$.void);
     },
     EventTargetExtension_removeEventListener(_this, type, listener) {
       var t1 = A._setArrayType([type, listener], type$.JSArray_Object);
-      A.callMethod(_this, "removeEventListener", t1, type$.dynamic);
+      A.callMethod(_this, "removeEventListener", t1, type$.void);
     },
     MessagePortExtension_get_postMessage(_this) {
       return new A.MessagePortExtension_get_postMessage_closure(_this);
     },
     _callConstructor(constructorName, args) {
-      var $constructor = self.window[constructorName];
+      var $constructor = type$.JavaScriptObject._as(self.window)[constructorName];
       if ($constructor == null)
         return null;
       return A.callConstructor($constructor, args, type$.nullable_Object);
@@ -7701,46 +7261,47 @@
       this.listener = t2;
     },
     main() {
-      var t1 = type$.JavaScriptObject;
-      t1._as(self.window.console).log("Dart test runner browser host running");
+      var t1 = self,
+        t2 = type$.JavaScriptObject;
+      t2._as(t2._as(t1.window).console).log("Dart test runner browser host running");
       if (J.$eq$($.$get$_currentUrl().get$queryParameters().$index(0, "debug"), "true"))
-        t1._as(type$.nullable_JavaScriptObject._as(self.document.body).classList).add("debug");
+        t2._as(type$.nullable_JavaScriptObject._as(t2._as(t1.document).body).classList).add("debug");
       A.runZonedGuarded(new A.main_closure(), new A.main_closure0(), type$.Null);
     },
     _connectToServer() {
-      var t2, controller, t3,
+      var controller, t2,
         t1 = $.$get$_currentUrl().get$queryParameters().$index(0, "managerUrl");
       t1.toString;
       t1 = A._callConstructor("WebSocket", A._setArrayType([t1], type$.JSArray_Object));
       t1.toString;
       type$.JavaScriptObject._as(t1);
-      t2 = type$.dynamic;
-      controller = A.StreamChannelController$(true, t2);
-      A.EventTargetExtension_addEventListener(t1, "message", A.allowInterop(new A._connectToServer_closure(controller), type$.void_Function_JavaScriptObject));
-      t3 = controller.__StreamChannelController__local_F;
-      t3 === $ && A.throwLateFieldNI("_local");
-      t3 = t3.__GuaranteeChannel__streamController_F;
-      t3 === $ && A.throwLateFieldNI("_streamController");
-      new A._ControllerStream(t3, A._instanceType(t3)._eval$1("_ControllerStream<1>")).listen$1(new A._connectToServer_closure0(t1));
+      controller = A.StreamChannelController$(true, type$.nullable_Object);
+      A.EventTargetExtension_addEventListener(t1, "message", new A._connectToServer_closure(controller));
+      t2 = controller.__StreamChannelController__local_F;
+      t2 === $ && A.throwLateFieldNI("_local");
+      t2 = t2.__GuaranteeChannel__streamController_F;
+      t2 === $ && A.throwLateFieldNI("_streamController");
+      new A._ControllerStream(t2, A._instanceType(t2)._eval$1("_ControllerStream<1>")).listen$1(new A._connectToServer_closure0(t1));
       t1 = controller.__StreamChannelController__foreign_F;
       t1 === $ && A.throwLateFieldNI("_foreign");
-      return A._MultiChannel$(t1, t2);
+      return A._MultiChannel$(t1, type$.dynamic);
     },
     _connectToIframe(url, id) {
-      var t2, t3, t4, iframe, controller, windowSubscription,
+      var t3, t4, iframe, controller, windowSubscription,
         suiteUrl = A.Uri_parse(url).removeFragment$0(),
-        t1 = type$.JavaScriptObject;
-      t1._as(self.window.console).log("Starting suite " + suiteUrl.toString$0(0));
-      t2 = self.document;
-      t3 = A._setArrayType(["iframe"], type$.JSArray_Object);
-      t4 = type$.dynamic;
-      iframe = t1._as(A.callMethod(t2, "createElement", t3, t4));
+        t1 = self,
+        t2 = type$.JavaScriptObject;
+      t2._as(t2._as(t1.window).console).log("Starting suite " + suiteUrl.toString$0(0));
+      t3 = t2._as(t1.document);
+      t4 = A._setArrayType(["iframe"], type$.JSArray_Object);
+      iframe = t2._as(A.callMethod(t3, "createElement", t4, type$.dynamic));
       $._iframes.$indexSet(0, id, iframe);
-      controller = A.StreamChannelController$(true, t4);
+      controller = A.StreamChannelController$(true, type$.nullable_Object);
       windowSubscription = A._Cell$named("windowSubscription");
-      windowSubscription._value = A.Subscription$(self.window, "message", A.allowInterop(new A._connectToIframe_closure(iframe, windowSubscription, suiteUrl, id, controller), type$.void_Function_JavaScriptObject));
+      windowSubscription._value = A.Subscription$(t2._as(t1.window), "message", new A._connectToIframe_closure(iframe, windowSubscription, suiteUrl, id, controller));
       iframe.src = url;
-      t1._as(type$.nullable_JavaScriptObject._as(self.document.body).appendChild(iframe));
+      t2._as(type$.nullable_JavaScriptObject._as(t2._as(t1.document).body).appendChild(iframe));
+      t2._as(t2._as(t1.window).console).log("Appended iframe with src " + url);
       t1 = controller.__StreamChannelController__foreign_F;
       t1 === $ && A.throwLateFieldNI("_foreign");
       return t1;
@@ -7750,24 +7311,6 @@
     main__closure: function main__closure(t0) {
       this.serverChannel = t0;
     },
-    main___closure: function main___closure(t0) {
-      this._0_0 = t0;
-    },
-    main___closure0: function main___closure0(t0) {
-      this._0_0 = t0;
-    },
-    main___closure1: function main___closure1(t0) {
-      this._0_0 = t0;
-    },
-    main___closure2: function main___closure2(t0) {
-      this._0_0 = t0;
-    },
-    main___closure3: function main___closure3(t0) {
-      this._0_0 = t0;
-    },
-    main___closure4: function main___closure4(t0) {
-      this._0_0 = t0;
-    },
     main__closure0: function main__closure0(t0) {
       this.serverChannel = t0;
     },
@@ -7796,18 +7339,8 @@
       _.id = t3;
       _.controller = t4;
     },
-    _connectToIframe__closure1: function _connectToIframe__closure1(t0) {
-      this.controller = t0;
-    },
     _connectToIframe__closure: function _connectToIframe__closure(t0) {
-      this._0_0 = t0;
-    },
-    _connectToIframe__closure0: function _connectToIframe__closure0(t0) {
-      this._0_0 = t0;
-    },
-    max(a, b, $T) {
-      A.checkTypeBound($T, type$.num, "T", "max");
-      return Math.max($T._as(a), $T._as(b));
+      this.controller = t0;
     },
     printString(string) {
       if (typeof dartPrint == "function") {
@@ -7824,52 +7357,9 @@
       }
       throw "Unable to print message: " + String(string);
     },
-    _convertNativeToDart_Value(value) {
-      var proto, t1, values, i;
-      if (value == null)
-        return value;
-      if (typeof value == "string" || typeof value == "number" || A._isBool(value))
-        return value;
-      proto = Object.getPrototypeOf(value);
-      t1 = proto === Object.prototype;
-      t1.toString;
-      if (!t1) {
-        t1 = proto === null;
-        t1.toString;
-      } else
-        t1 = true;
-      if (t1)
-        return A.convertNativeToDart_Dictionary(value);
-      t1 = Array.isArray(value);
-      t1.toString;
-      if (t1) {
-        values = [];
-        i = 0;
-        while (true) {
-          t1 = value.length;
-          t1.toString;
-          if (!(i < t1))
-            break;
-          values.push(A._convertNativeToDart_Value(value[i]));
-          ++i;
-        }
-        return values;
-      }
-      return value;
-    },
-    convertNativeToDart_Dictionary(object) {
-      var dict, keys, t1, _i, key, t2;
-      if (object == null)
-        return null;
-      dict = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic);
-      keys = Object.getOwnPropertyNames(object);
-      for (t1 = keys.length, _i = 0; _i < keys.length; keys.length === t1 || (0, A.throwConcurrentModificationError)(keys), ++_i) {
-        key = keys[_i];
-        t2 = key;
-        t2.toString;
-        dict.$indexSet(0, t2, A._convertNativeToDart_Value(object[key]));
-      }
-      return dict;
+    max(a, b, $T) {
+      A.checkTypeBound($T, type$.num, "T", "max");
+      return Math.max($T._as(a), $T._as(b));
     },
     current() {
       var exception, t1, path, lastIndex, uri = null;
@@ -7907,26 +7397,35 @@
         t1 = true;
       return t1;
     },
-    isDriveLetter(path, index) {
-      var t3,
+    driveLetterEnd(path, index) {
+      var t2, t3, _null = null,
         t1 = path.length,
-        t2 = index + 2;
-      if (t1 < t2)
-        return false;
+        index0 = index + 2;
+      if (t1 < index0)
+        return _null;
       if (!(index >= 0 && index < t1))
         return A.ioore(path, index);
       if (!A.isAlphabetic(path.charCodeAt(index)))
-        return false;
-      t3 = index + 1;
-      if (!(t3 < t1))
-        return A.ioore(path, t3);
-      if (path.charCodeAt(t3) !== 58)
-        return false;
+        return _null;
+      t2 = index + 1;
+      if (!(t2 < t1))
+        return A.ioore(path, t2);
+      if (path.charCodeAt(t2) !== 58) {
+        t3 = index + 4;
+        if (t1 < t3)
+          return _null;
+        if (B.JSString_methods.substring$2(path, t2, t3).toLowerCase() !== "%3a")
+          return _null;
+        index = index0;
+      }
+      t2 = index + 2;
       if (t1 === t2)
-        return true;
+        return t2;
       if (!(t2 >= 0 && t2 < t1))
         return A.ioore(path, t2);
-      return path.charCodeAt(t2) === 47;
+      if (path.charCodeAt(t2) !== 47)
+        return _null;
+      return index + 3;
     }
   },
   B = {};
@@ -8072,7 +7571,7 @@
         return;
       }
       for (t1 = J.get$iterator$ax(collection); t1.moveNext$0();)
-        receiver.push(t1.get$current(t1));
+        receiver.push(t1.get$current());
     },
     _addAllFromArray$1(receiver, array) {
       var len, i;
@@ -8101,8 +7600,11 @@
         this.$indexSet(list, i, A.S(receiver[i]));
       return list.join(separator);
     },
-    join$0($receiver) {
-      return this.join$1($receiver, "");
+    join$0(receiver) {
+      return this.join$1(receiver, "");
+    },
+    take$1(receiver, n) {
+      return A.SubListIterable$(receiver, 0, A.checkNotNullable(n, "count", type$.int), A._arrayInstanceType(receiver)._precomputed1);
     },
     skip$1(receiver, n) {
       return A.SubListIterable$(receiver, n, null, A._arrayInstanceType(receiver)._precomputed1);
@@ -8162,15 +7664,8 @@
         for (i = 0; i < $length; ++i)
           receiver[start + i] = t1.$index(otherList, otherStart + i);
     },
-    setRange$3($receiver, start, end, iterable) {
-      return this.setRange$4($receiver, start, end, iterable, 0);
-    },
-    contains$1(receiver, other) {
-      var i;
-      for (i = 0; i < receiver.length; ++i)
-        if (J.$eq$(receiver[i], other))
-          return true;
-      return false;
+    setRange$3(receiver, start, end, iterable) {
+      return this.setRange$4(receiver, start, end, iterable, 0);
     },
     get$isEmpty(receiver) {
       return receiver.length === 0;
@@ -8185,8 +7680,8 @@
       var t1 = A._setArrayType(receiver.slice(0), A._arrayInstanceType(receiver));
       return t1;
     },
-    toList$0($receiver) {
-      return this.toList$1$growable($receiver, true);
+    toList$0(receiver) {
+      return this.toList$1$growable(receiver, true);
     },
     get$iterator(receiver) {
       return new J.ArrayIterator(receiver, receiver.length, A._arrayInstanceType(receiver)._eval$1("ArrayIterator<1>"));
@@ -8216,7 +7711,7 @@
   };
   J.JSUnmodifiableArray.prototype = {};
   J.ArrayIterator.prototype = {
-    get$current(_) {
+    get$current() {
       var t1 = this._current;
       return t1 == null ? this.$ti._precomputed1._as(t1) : t1;
     },
@@ -8224,7 +7719,7 @@
       var t2, _this = this,
         t1 = _this._iterable,
         $length = t1.length;
-      if (_this.__interceptors$_length !== $length) {
+      if (_this._length !== $length) {
         t1 = A.throwConcurrentModificationError(t1);
         throw A.wrapException(t1);
       }
@@ -8270,6 +7765,9 @@
       scaled = absolute < 1 ? absolute / factor : factor / absolute;
       return ((scaled * 9007199254740992 | 0) + (scaled * 3542243181176521 | 0)) * 599197 + floorLog2 * 1259 & 536870911;
     },
+    $add(receiver, other) {
+      return receiver + other;
+    },
     $mod(receiver, other) {
       var result = receiver % other;
       if (result === 0)
@@ -8280,7 +7778,7 @@
     },
     $tdiv(receiver, other) {
       if ((receiver | 0) === receiver)
-        if (other >= 1 || false)
+        if (other >= 1)
           return receiver / other | 0;
       return this._tdivSlow$1(receiver, other);
     },
@@ -8336,21 +7834,14 @@
     $isTrustedGetRuntimeType: 1
   };
   J.JSString.prototype = {
-    codeUnitAt$1(receiver, index) {
-      if (index < 0)
-        throw A.wrapException(A.diagnoseIndexError(receiver, index));
-      if (index >= receiver.length)
-        A.throwExpression(A.diagnoseIndexError(receiver, index));
-      return receiver.charCodeAt(index);
-    },
     allMatches$2(receiver, string, start) {
       var t1 = string.length;
       if (start > t1)
         throw A.wrapException(A.RangeError$range(start, 0, t1, null, null));
       return new A._StringAllMatchesIterable(string, receiver, start);
     },
-    allMatches$1($receiver, string) {
-      return this.allMatches$2($receiver, string, 0);
+    allMatches$1(receiver, string) {
+      return this.allMatches$2(receiver, string, 0);
     },
     matchAsPrefix$2(receiver, string, start) {
       var t1, t2, i, t3, _null = null;
@@ -8399,9 +7890,9 @@
       var t1, start, $length, match, matchStart, matchEnd,
         result = A._setArrayType([], type$.JSArray_String);
       for (t1 = J.allMatches$1$s(pattern, receiver), t1 = t1.get$iterator(t1), start = 0, $length = 1; t1.moveNext$0();) {
-        match = t1.get$current(t1);
-        matchStart = match.get$start(match);
-        matchEnd = match.get$end(match);
+        match = t1.get$current();
+        matchStart = match.get$start();
+        matchEnd = match.get$end();
         $length = matchEnd - matchStart;
         if ($length === 0 && start === matchStart)
           continue;
@@ -8424,14 +7915,14 @@
       }
       return J.matchAsPrefix$2$s(pattern, receiver, index) != null;
     },
-    startsWith$1($receiver, pattern) {
-      return this.startsWith$2($receiver, pattern, 0);
+    startsWith$1(receiver, pattern) {
+      return this.startsWith$2(receiver, pattern, 0);
     },
     substring$2(receiver, start, end) {
       return receiver.substring(start, A.RangeError_checkValidRange(start, end, receiver.length));
     },
-    substring$1($receiver, start) {
-      return this.substring$2($receiver, start, null);
+    substring$1(receiver, start) {
+      return this.substring$2(receiver, start, null);
     },
     trim$0(receiver) {
       var startIndex, t1, endIndex0,
@@ -8492,8 +7983,8 @@
       t1 = receiver.indexOf(pattern, start);
       return t1;
     },
-    indexOf$1($receiver, pattern) {
-      return this.indexOf$2($receiver, pattern, 0);
+    indexOf$1(receiver, pattern) {
+      return this.indexOf$2(receiver, pattern, 0);
     },
     lastIndexOf$2(receiver, pattern, start) {
       var t1, t2;
@@ -8507,8 +7998,8 @@
         start = t2 - t1;
       return receiver.lastIndexOf(pattern, start);
     },
-    lastIndexOf$1($receiver, pattern) {
-      return this.lastIndexOf$2($receiver, pattern, null);
+    lastIndexOf$1(receiver, pattern) {
+      return this.lastIndexOf$2(receiver, pattern, null);
     },
     contains$1(receiver, other) {
       return A.stringContainsUnchecked(receiver, other, 0);
@@ -8546,7 +8037,7 @@
       t1 = new A.CastStreamSubscription(t2, $.Zone__current, t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("CastStreamSubscription<1,2>"));
       t2.onData$1(t1.get$__internal$_onData());
       t1.onData$1(onData);
-      t1.onError$1(0, onError);
+      t1.onError$1(onError);
       return t1;
     },
     listen$1(onData) {
@@ -8560,17 +8051,17 @@
     }
   };
   A.CastStreamSubscription.prototype = {
-    cancel$0(_) {
-      return this._source.cancel$0(0);
+    cancel$0() {
+      return this._source.cancel$0();
     },
     onData$1(handleData) {
       var t1 = this.$ti;
       t1._eval$1("~(2)?")._as(handleData);
       this.set$_handleData(handleData == null ? null : this.__internal$_zone.registerUnaryCallback$2$1(handleData, type$.dynamic, t1._rest[1]));
     },
-    onError$1(_, handleError) {
+    onError$1(handleError) {
       var _this = this;
-      _this._source.onError$1(0, handleError);
+      _this._source.onError$1(handleError);
       if (handleError == null)
         _this._handleError = null;
       else if (type$.void_Function_Object_StackTrace._is(handleError))
@@ -8631,6 +8122,10 @@
       var t1 = A._instanceType(this);
       return A.CastIterable_CastIterable(J.skip$1$ax(this.get$_source(), count), t1._precomputed1, t1._rest[1]);
     },
+    take$1(_, count) {
+      var t1 = A._instanceType(this);
+      return A.CastIterable_CastIterable(J.take$1$ax(this.get$_source(), count), t1._precomputed1, t1._rest[1]);
+    },
     elementAt$1(_, index) {
       return A._instanceType(this)._rest[1]._as(J.elementAt$1$ax(this.get$_source(), index));
     },
@@ -8642,9 +8137,8 @@
     moveNext$0() {
       return this._source.moveNext$0();
     },
-    get$current(_) {
-      var t1 = this._source;
-      return this.$ti._rest[1]._as(t1.get$current(t1));
+    get$current() {
+      return this.$ti._rest[1]._as(this._source.get$current());
     },
     $isIterator: 1
   };
@@ -8693,7 +8187,7 @@
     call$0() {
       return A.Future_Future$value(null, type$.Null);
     },
-    $signature: 60
+    $signature: 38
   };
   A.SentinelValue.prototype = {};
   A.EfficientLengthIterable.prototype = {};
@@ -8729,8 +8223,8 @@
         return t1.charCodeAt(0) == 0 ? t1 : t1;
       }
     },
-    join$0($receiver) {
-      return this.join$1($receiver, "");
+    join$0(_) {
+      return this.join$1(0, "");
     },
     map$1$1(_, toElement, $T) {
       var t1 = A._instanceType(this);
@@ -8750,6 +8244,9 @@
     },
     skip$1(_, count) {
       return A.SubListIterable$(this, count, null, A._instanceType(this)._eval$1("ListIterable.E"));
+    },
+    take$1(_, count) {
+      return A.SubListIterable$(this, 0, A.checkNotNullable(count, "count", type$.int), A._instanceType(this)._eval$1("ListIterable.E"));
     }
   };
   A.SubListIterable.prototype = {
@@ -8795,7 +8292,7 @@
       var _this = this,
         realIndex = _this.get$_startIndex() + index;
       if (index < 0 || realIndex >= _this.get$_endIndex())
-        throw A.wrapException(A.IndexError$withLength(index, _this.get$length(_this), _this, "index"));
+        throw A.wrapException(A.IndexError$withLength(index, _this.get$length(0), _this, "index"));
       return J.elementAt$1$ax(_this.__internal$_iterable, realIndex);
     },
     skip$1(_, count) {
@@ -8807,6 +8304,20 @@
         return new A.EmptyIterable(_this.$ti._eval$1("EmptyIterable<1>"));
       return A.SubListIterable$(_this.__internal$_iterable, newStart, endOrLength, _this.$ti._precomputed1);
     },
+    take$1(_, count) {
+      var endOrLength, t1, newEnd, _this = this;
+      A.RangeError_checkNotNegative(count, "count");
+      endOrLength = _this._endOrLength;
+      t1 = _this._start;
+      if (endOrLength == null)
+        return A.SubListIterable$(_this.__internal$_iterable, t1, B.JSInt_methods.$add(t1, count), _this.$ti._precomputed1);
+      else {
+        newEnd = B.JSInt_methods.$add(t1, count);
+        if (endOrLength < newEnd)
+          return _this;
+        return A.SubListIterable$(_this.__internal$_iterable, t1, newEnd, _this.$ti._precomputed1);
+      }
+    },
     toList$1$growable(_, growable) {
       var $length, result, i, _this = this,
         start = _this._start,
@@ -8831,7 +8342,7 @@
     }
   };
   A.ListIterator.prototype = {
-    get$current(_) {
+    get$current() {
       var t1 = this.__internal$_current;
       return t1 == null ? this.$ti._precomputed1._as(t1) : t1;
     },
@@ -8877,13 +8388,13 @@
       var _this = this,
         t1 = _this._iterator;
       if (t1.moveNext$0()) {
-        _this.set$__internal$_current(_this._f.call$1(t1.get$current(t1)));
+        _this.set$__internal$_current(_this._f.call$1(t1.get$current()));
         return true;
       }
       _this.set$__internal$_current(null);
       return false;
     },
-    get$current(_) {
+    get$current() {
       var t1 = this.__internal$_current;
       return t1 == null ? this.$ti._rest[1]._as(t1) : t1;
     },
@@ -8913,13 +8424,12 @@
     moveNext$0() {
       var t1, t2;
       for (t1 = this._iterator, t2 = this._f; t1.moveNext$0();)
-        if (A.boolConversionCheck(t2.call$1(t1.get$current(t1))))
+        if (A.boolConversionCheck(t2.call$1(t1.get$current())))
           return true;
       return false;
     },
-    get$current(_) {
-      var t1 = this._iterator;
-      return t1.get$current(t1);
+    get$current() {
+      return this._iterator.get$current();
     },
     $isIterator: 1
   };
@@ -8930,7 +8440,7 @@
     }
   };
   A.ExpandIterator.prototype = {
-    get$current(_) {
+    get$current() {
       var t1 = this.__internal$_current;
       return t1 == null ? this.$ti._rest[1]._as(t1) : t1;
     },
@@ -8942,12 +8452,11 @@
         _this.set$__internal$_current(null);
         if (t1.moveNext$0()) {
           _this.set$_currentExpansion(null);
-          _this.set$_currentExpansion(J.get$iterator$ax(t2.call$1(t1.get$current(t1))));
+          _this.set$_currentExpansion(J.get$iterator$ax(t2.call$1(t1.get$current())));
         } else
           return false;
       }
-      t1 = _this._currentExpansion;
-      _this.set$__internal$_current(t1.get$current(t1));
+      _this.set$__internal$_current(_this._currentExpansion.get$current());
       return true;
     },
     set$_currentExpansion(_currentExpansion) {
@@ -8980,14 +8489,12 @@
       this._remaining = -1;
       return false;
     },
-    get$current(_) {
-      var t1;
+    get$current() {
       if (this._remaining < 0) {
         this.$ti._precomputed1._as(null);
         return null;
       }
-      t1 = this._iterator;
-      return t1.get$current(t1);
+      return this._iterator.get$current();
     },
     $isIterator: 1
   };
@@ -9023,9 +8530,8 @@
       this._skipCount = 0;
       return t1.moveNext$0();
     },
-    get$current(_) {
-      var t1 = this._iterator;
-      return t1.get$current(t1);
+    get$current() {
+      return this._iterator.get$current();
     },
     $isIterator: 1
   };
@@ -9040,14 +8546,13 @@
       if (!_this._hasSkipped) {
         _this._hasSkipped = true;
         for (t1 = _this._iterator, t2 = _this._f; t1.moveNext$0();)
-          if (!A.boolConversionCheck(t2.call$1(t1.get$current(t1))))
+          if (!A.boolConversionCheck(t2.call$1(t1.get$current())))
             return true;
       }
       return _this._iterator.moveNext$0();
     },
-    get$current(_) {
-      var t1 = this._iterator;
-      return t1.get$current(t1);
+    get$current() {
+      return this._iterator.get$current();
     },
     $isIterator: 1
   };
@@ -9071,13 +8576,17 @@
     skip$1(_, count) {
       A.RangeError_checkNotNegative(count, "count");
       return this;
+    },
+    take$1(_, count) {
+      A.RangeError_checkNotNegative(count, "count");
+      return this;
     }
   };
   A.EmptyIterator.prototype = {
     moveNext$0() {
       return false;
     },
-    get$current(_) {
+    get$current() {
       throw A.wrapException(A.IterableElementError_noElement());
     },
     $isIterator: 1
@@ -9091,13 +8600,12 @@
     moveNext$0() {
       var t1, t2;
       for (t1 = this._source, t2 = this.$ti._precomputed1; t1.moveNext$0();)
-        if (t2._is(t1.get$current(t1)))
+        if (t2._is(t1.get$current()))
           return true;
       return false;
     },
-    get$current(_) {
-      var t1 = this._source;
-      return this.$ti._precomputed1._as(t1.get$current(t1));
+    get$current() {
+      return this.$ti._precomputed1._as(this._source.get$current());
     },
     $isIterator: 1
   };
@@ -9167,7 +8675,7 @@
       }
       return keys;
     },
-    containsKey$1(_, key) {
+    containsKey$1(key) {
       if (typeof key != "string")
         return false;
       if ("__proto__" === key)
@@ -9175,7 +8683,7 @@
       return this._jsIndex.hasOwnProperty(key);
     },
     $index(_, key) {
-      if (!this.containsKey$1(0, key))
+      if (!this.containsKey$1(key))
         return null;
       return this._values[this._jsIndex[key]];
     },
@@ -9187,7 +8695,7 @@
       for (t1 = keys.length, i = 0; i < t1; ++i)
         f.call$2(keys[i], values[i]);
     },
-    get$keys(_) {
+    get$keys() {
       return new A._KeysOrValues(this.get$__js_helper$_keys(), this.$ti._eval$1("_KeysOrValues<1>"));
     }
   };
@@ -9207,14 +8715,14 @@
     }
   };
   A._KeysOrValuesOrElementsIterator.prototype = {
-    get$current(_) {
+    get$current() {
       var t1 = this.__js_helper$_current;
       return t1 == null ? this.$ti._precomputed1._as(t1) : t1;
     },
     moveNext$0() {
       var _this = this,
         t1 = _this.__js_helper$_index;
-      if (t1 >= _this._length) {
+      if (t1 >= _this.__js_helper$_length) {
         _this.set$__js_helper$_current(null);
         return false;
       }
@@ -9234,7 +8742,7 @@
       return other instanceof A.Instantiation1 && this._genericClosure.$eq(0, other._genericClosure) && A.getRuntimeTypeOfClosure(this) === A.getRuntimeTypeOfClosure(other);
     },
     get$hashCode(_) {
-      return A.Object_hash(this._genericClosure, A.getRuntimeTypeOfClosure(this), B.C_SentinelValue, B.C_SentinelValue);
+      return A.Object_hash(this._genericClosure, A.getRuntimeTypeOfClosure(this));
     },
     toString$0(_) {
       var t1 = B.JSArray_methods.join$1([A.createRuntimeType(this.$ti._precomputed1)], ", ");
@@ -9255,44 +8763,39 @@
   A.JSInvocationMirror.prototype = {
     get$memberName() {
       var t1 = this._memberName;
-      return t1;
+      if (t1 instanceof A.Symbol)
+        return t1;
+      return this._memberName = new A.Symbol(A._asString(t1));
     },
     get$positionalArguments() {
-      var t1, argumentCount, list, index, _this = this;
+      var t1, t2, argumentCount, list, index, _this = this;
       if (_this.__js_helper$_kind === 1)
         return B.List_empty0;
       t1 = _this._arguments;
-      argumentCount = t1.length - _this._namedArgumentNames.length - _this._typeArgumentCount;
+      t2 = J.getInterceptor$asx(t1);
+      argumentCount = t2.get$length(t1) - J.get$length$asx(_this._namedArgumentNames) - _this._typeArgumentCount;
       if (argumentCount === 0)
         return B.List_empty0;
       list = [];
-      for (index = 0; index < argumentCount; ++index) {
-        if (!(index < t1.length))
-          return A.ioore(t1, index);
-        list.push(t1[index]);
-      }
+      for (index = 0; index < argumentCount; ++index)
+        list.push(t2.$index(t1, index));
       return J.JSArray_markUnmodifiableList(list);
     },
     get$namedArguments() {
-      var t1, namedArgumentCount, t2, namedArgumentsStartIndex, map, i, t3, t4, _this = this;
+      var t1, t2, namedArgumentCount, t3, t4, namedArgumentsStartIndex, map, i, _this = this;
       if (_this.__js_helper$_kind !== 0)
         return B.Map_empty0;
       t1 = _this._namedArgumentNames;
-      namedArgumentCount = t1.length;
-      t2 = _this._arguments;
-      namedArgumentsStartIndex = t2.length - namedArgumentCount - _this._typeArgumentCount;
+      t2 = J.getInterceptor$asx(t1);
+      namedArgumentCount = t2.get$length(t1);
+      t3 = _this._arguments;
+      t4 = J.getInterceptor$asx(t3);
+      namedArgumentsStartIndex = t4.get$length(t3) - namedArgumentCount - _this._typeArgumentCount;
       if (namedArgumentCount === 0)
         return B.Map_empty0;
       map = new A.JsLinkedHashMap(type$.JsLinkedHashMap_Symbol_dynamic);
-      for (i = 0; i < namedArgumentCount; ++i) {
-        if (!(i < t1.length))
-          return A.ioore(t1, i);
-        t3 = t1[i];
-        t4 = namedArgumentsStartIndex + i;
-        if (!(t4 >= 0 && t4 < t2.length))
-          return A.ioore(t2, t4);
-        map.$indexSet(0, new A.Symbol(t3), t2[t4]);
-      }
+      for (i = 0; i < namedArgumentCount; ++i)
+        map.$indexSet(0, new A.Symbol(A._asString(t2.$index(t1, i))), t4.$index(t3, namedArgumentsStartIndex + i));
       return new A.ConstantMapView(map, type$.ConstantMapView_Symbol_dynamic);
     },
     $isInvocation: 1
@@ -9307,7 +8810,7 @@
       B.JSArray_methods.add$1(this.$arguments, argument);
       ++t1.argumentCount;
     },
-    $signature: 4
+    $signature: 33
   };
   A.TypeErrorDecoder.prototype = {
     matchTypeError$1(message) {
@@ -9436,27 +8939,27 @@
   A._Required.prototype = {};
   A.JsLinkedHashMap.prototype = {
     get$length(_) {
-      return this._length;
+      return this.__js_helper$_length;
     },
     get$isEmpty(_) {
-      return this._length === 0;
+      return this.__js_helper$_length === 0;
     },
-    get$keys(_) {
+    get$keys() {
       return new A.LinkedHashMapKeyIterable(this, A._instanceType(this)._eval$1("LinkedHashMapKeyIterable<1>"));
     },
-    get$values(_) {
+    get$values() {
       var t1 = A._instanceType(this);
       return A.MappedIterable_MappedIterable(new A.LinkedHashMapKeyIterable(this, t1._eval$1("LinkedHashMapKeyIterable<1>")), new A.JsLinkedHashMap_values_closure(this), t1._precomputed1, t1._rest[1]);
     },
-    containsKey$1(_, key) {
+    containsKey$1(key) {
       var strings, nums;
       if (typeof key == "string") {
-        strings = this._strings;
+        strings = this.__js_helper$_strings;
         if (strings == null)
           return false;
         return strings[key] != null;
       } else if (typeof key == "number" && (key & 0x3fffffff) === key) {
-        nums = this._nums;
+        nums = this.__js_helper$_nums;
         if (nums == null)
           return false;
         return nums[key] != null;
@@ -9472,14 +8975,14 @@
     $index(_, key) {
       var strings, cell, t1, nums, _null = null;
       if (typeof key == "string") {
-        strings = this._strings;
+        strings = this.__js_helper$_strings;
         if (strings == null)
           return _null;
         cell = strings[key];
         t1 = cell == null ? _null : cell.hashMapCellValue;
         return t1;
       } else if (typeof key == "number" && (key & 0x3fffffff) === key) {
-        nums = this._nums;
+        nums = this.__js_helper$_nums;
         if (nums == null)
           return _null;
         cell = nums[key];
@@ -9505,11 +9008,11 @@
       t1._precomputed1._as(key);
       t1._rest[1]._as(value);
       if (typeof key == "string") {
-        strings = _this._strings;
-        _this._addHashTableEntry$3(strings == null ? _this._strings = _this._newHashTable$0() : strings, key, value);
+        strings = _this.__js_helper$_strings;
+        _this.__js_helper$_addHashTableEntry$3(strings == null ? _this.__js_helper$_strings = _this._newHashTable$0() : strings, key, value);
       } else if (typeof key == "number" && (key & 0x3fffffff) === key) {
-        nums = _this._nums;
-        _this._addHashTableEntry$3(nums == null ? _this._nums = _this._newHashTable$0() : nums, key, value);
+        nums = _this.__js_helper$_nums;
+        _this.__js_helper$_addHashTableEntry$3(nums == null ? _this.__js_helper$_nums = _this._newHashTable$0() : nums, key, value);
       } else {
         rest = _this.__js_helper$_rest;
         if (rest == null)
@@ -9527,12 +9030,12 @@
         }
       }
     },
-    putIfAbsent$2(_, key, ifAbsent) {
+    putIfAbsent$2(key, ifAbsent) {
       var t2, value, _this = this,
         t1 = A._instanceType(_this);
       t1._precomputed1._as(key);
       t1._eval$1("2()")._as(ifAbsent);
-      if (_this.containsKey$1(0, key)) {
+      if (_this.containsKey$1(key)) {
         t2 = _this.$index(0, key);
         return t2 == null ? t1._rest[1]._as(t2) : t2;
       }
@@ -9543,9 +9046,9 @@
     remove$1(_, key) {
       var _this = this;
       if (typeof key == "string")
-        return _this._removeHashTableEntry$2(_this._strings, key);
+        return _this._removeHashTableEntry$2(_this.__js_helper$_strings, key);
       else if (typeof key == "number" && (key & 0x3fffffff) === key)
-        return _this._removeHashTableEntry$2(_this._nums, key);
+        return _this._removeHashTableEntry$2(_this.__js_helper$_nums, key);
       else
         return _this.internalRemove$1(key);
     },
@@ -9567,9 +9070,9 @@
     },
     clear$0(_) {
       var _this = this;
-      if (_this._length > 0) {
-        _this._strings = _this._nums = _this.__js_helper$_rest = _this._first = _this._last = null;
-        _this._length = 0;
+      if (_this.__js_helper$_length > 0) {
+        _this.__js_helper$_strings = _this.__js_helper$_nums = _this.__js_helper$_rest = _this._first = _this._last = null;
+        _this.__js_helper$_length = 0;
         _this._modified$0();
       }
     },
@@ -9585,7 +9088,7 @@
         cell = cell._next;
       }
     },
-    _addHashTableEntry$3(table, key, value) {
+    __js_helper$_addHashTableEntry$3(table, key, value) {
       var cell,
         t1 = A._instanceType(this);
       t1._precomputed1._as(key);
@@ -9622,7 +9125,7 @@
         cell._previous = t1;
         _this._last = t1._next = cell;
       }
-      ++_this._length;
+      ++_this.__js_helper$_length;
       _this._modified$0();
       return cell;
     },
@@ -9638,7 +9141,7 @@
         _this._last = previous;
       else
         next._previous = previous;
-      --_this._length;
+      --_this.__js_helper$_length;
       _this._modified$0();
     },
     internalComputeHashCode$1(key) {
@@ -9679,28 +9182,28 @@
   A.LinkedHashMapCell.prototype = {};
   A.LinkedHashMapKeyIterable.prototype = {
     get$length(_) {
-      return this._map._length;
+      return this.__js_helper$_map.__js_helper$_length;
     },
     get$isEmpty(_) {
-      return this._map._length === 0;
+      return this.__js_helper$_map.__js_helper$_length === 0;
     },
     get$iterator(_) {
-      var t1 = this._map,
+      var t1 = this.__js_helper$_map,
         t2 = new A.LinkedHashMapKeyIterator(t1, t1._modifications, this.$ti._eval$1("LinkedHashMapKeyIterator<1>"));
       t2._cell = t1._first;
       return t2;
     },
     contains$1(_, element) {
-      return this._map.containsKey$1(0, element);
+      return this.__js_helper$_map.containsKey$1(element);
     }
   };
   A.LinkedHashMapKeyIterator.prototype = {
-    get$current(_) {
+    get$current() {
       return this.__js_helper$_current;
     },
     moveNext$0() {
       var cell, _this = this,
-        t1 = _this._map;
+        t1 = _this.__js_helper$_map;
       if (_this._modifications !== t1._modifications)
         throw A.wrapException(A.ConcurrentModificationError$(t1));
       cell = _this._cell;
@@ -9722,19 +9225,19 @@
     call$1(o) {
       return this.getTag(o);
     },
-    $signature: 15
+    $signature: 13
   };
   A.initHooks_closure0.prototype = {
     call$2(o, tag) {
       return this.getUnknownTag(o, tag);
     },
-    $signature: 36
+    $signature: 43
   };
   A.initHooks_closure1.prototype = {
     call$1(tag) {
       return this.prototypeForTag(A._asString(tag));
     },
-    $signature: 37
+    $signature: 26
   };
   A.JSSyntaxRegExp.prototype = {
     toString$0(_) {
@@ -9768,8 +9271,8 @@
         throw A.wrapException(A.RangeError$range(start, 0, t1, null, null));
       return new A._AllMatchesIterable(this, string, start);
     },
-    allMatches$1($receiver, string) {
-      return this.allMatches$2($receiver, string, 0);
+    allMatches$1(_, string) {
+      return this.allMatches$2(0, string, 0);
     },
     _execGlobal$2(string, start) {
       var match,
@@ -9806,10 +9309,10 @@
     $isRegExp: 1
   };
   A._MatchImplementation.prototype = {
-    get$start(_) {
+    get$start() {
       return this._match.index;
     },
-    get$end(_) {
+    get$end() {
       var t1 = this._match;
       return t1.index + t1[0].length;
     },
@@ -9822,7 +9325,7 @@
     }
   };
   A._AllMatchesIterator.prototype = {
-    get$current(_) {
+    get$current() {
       var t1 = this.__js_helper$_current;
       return t1 == null ? type$.RegExpMatch._as(t1) : t1;
     },
@@ -9838,7 +9341,7 @@
         match = t3._execGlobal$2(string, t1);
         if (match != null) {
           _this.__js_helper$_current = match;
-          nextIndex = match.get$end(match);
+          nextIndex = match.get$end();
           if (match._match.index === nextIndex) {
             if (t3._nativeRegExp.unicode) {
               t1 = _this._nextIndex;
@@ -9870,11 +9373,11 @@
     $isIterator: 1
   };
   A.StringMatch.prototype = {
-    get$end(_) {
+    get$end() {
       return this.start + this.pattern.length;
     },
     $isMatch: 1,
-    get$start(receiver) {
+    get$start() {
       return this.start;
     }
   };
@@ -9906,7 +9409,7 @@
       _this.__js_helper$_index = end === _this.__js_helper$_index ? end + 1 : end;
       return true;
     },
-    get$current(_) {
+    get$current() {
       var t1 = this.__js_helper$_current;
       t1.toString;
       return t1;
@@ -9921,20 +9424,6 @@
       return t1;
     }
   };
-  A._InitializedCell.prototype = {
-    _readFinal$0() {
-      var result, _this = this,
-        t1 = _this._value;
-      if (t1 === _this) {
-        result = _this._initializer.call$0();
-        if (_this._value !== _this)
-          throw A.wrapException(new A.LateError("Local '" + _this.__late_helper$_name + string$.x27_has_));
-        _this._value = result;
-        t1 = result;
-      }
-      return t1;
-    }
-  };
   A.NativeByteBuffer.prototype = {
     get$runtimeType(receiver) {
       return B.Type_ByteBuffer_RkP;
@@ -10112,7 +9601,7 @@
       t1.storedCallback = null;
       f.call$0();
     },
-    $signature: 10
+    $signature: 8
   };
   A._AsyncRun__initializeScheduleImmediate_closure.prototype = {
     call$1(callback) {
@@ -10122,19 +9611,19 @@
       t2 = this.span;
       t1.firstChild ? t1.removeChild(t2) : t1.appendChild(t2);
     },
-    $signature: 30
+    $signature: 36
   };
   A._AsyncRun__scheduleImmediateJsOverride_internalCallback.prototype = {
     call$0() {
       this.callback.call$0();
     },
-    $signature: 3
+    $signature: 2
   };
   A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback.prototype = {
     call$0() {
       this.callback.call$0();
     },
-    $signature: 3
+    $signature: 2
   };
   A._TimerImpl.prototype = {
     _TimerImpl$2(milliseconds, callback) {
@@ -10172,7 +9661,7 @@
       t1._tick = tick;
       _this.callback.call$1(t1);
     },
-    $signature: 3
+    $signature: 2
   };
   A.AsyncError.prototype = {
     toString$0(_) {
@@ -10203,7 +9692,7 @@
     $isCompleter: 1
   };
   A._AsyncCompleter.prototype = {
-    complete$1(_, value) {
+    complete$1(value) {
       var t2,
         t1 = this.$ti;
       t1._eval$1("1/?")._as(value);
@@ -10212,15 +9701,15 @@
         throw A.wrapException(A.StateError$("Future already completed"));
       t2._asyncComplete$1(t1._eval$1("1/")._as(value));
     },
-    complete$0($receiver) {
-      return this.complete$1($receiver, null);
+    complete$0() {
+      return this.complete$1(null);
     },
     _completeError$2(error, stackTrace) {
       this.future._asyncCompleteError$2(error, stackTrace);
     }
   };
   A._SyncCompleter.prototype = {
-    complete$1(_, value) {
+    complete$1(value) {
       var t2,
         t1 = this.$ti;
       t1._eval$1("1/?")._as(value);
@@ -10229,8 +9718,8 @@
         throw A.wrapException(A.StateError$("Future already completed"));
       t2._complete$1(t1._eval$1("1/")._as(value));
     },
-    complete$0($receiver) {
-      return this.complete$1($receiver, null);
+    complete$0() {
+      return this.complete$1(null);
     },
     _completeError$2(error, stackTrace) {
       this.future._completeError$2(error, stackTrace);
@@ -10471,13 +9960,13 @@
         t1._completeError$2(error, stackTrace);
       }
     },
-    $signature: 10
+    $signature: 8
   };
   A._Future__chainForeignFuture_closure0.prototype = {
     call$2(error, stackTrace) {
       this.$this._completeError$2(type$.Object._as(error), type$.StackTrace._as(stackTrace));
     },
-    $signature: 26
+    $signature: 27
   };
   A._Future__chainForeignFuture_closure1.prototype = {
     call$0() {
@@ -10592,7 +10081,7 @@
   A.Stream.prototype = {
     pipe$1(streamConsumer) {
       A._instanceType(this)._eval$1("StreamConsumer<Stream.T>")._as(streamConsumer);
-      return streamConsumer.addStream$1(0, this).then$1$1(new A.Stream_pipe_closure(streamConsumer), type$.dynamic);
+      return streamConsumer.addStream$1(this).then$1$1(new A.Stream_pipe_closure(streamConsumer), type$.dynamic);
     },
     get$length(_) {
       var t1 = {},
@@ -10604,7 +10093,7 @@
   };
   A.Stream_pipe_closure.prototype = {
     call$1(_) {
-      return this.streamConsumer.close$0(0);
+      return this.streamConsumer.close$0();
     },
     $signature: 29
   };
@@ -10668,7 +10157,7 @@
       A._instanceType(_this)._precomputed1._as(value);
       if (_this._async$_state >= 4)
         throw A.wrapException(_this._badEventState$0());
-      _this._add$1(0, value);
+      _this._add$1(value);
     },
     addError$2(error, stackTrace) {
       var replacement,
@@ -10689,7 +10178,7 @@
     addError$1(error) {
       return this.addError$2(error, null);
     },
-    close$0(_) {
+    close$0() {
       var _this = this,
         t1 = _this._async$_state;
       if ((t1 & 4) !== 0)
@@ -10703,7 +10192,7 @@
         _this._ensurePendingEvents$0().add$1(0, B.C__DelayedDone);
       return _this._ensureDoneFuture$0();
     },
-    _add$1(_, value) {
+    _add$1(value) {
       var t2, _this = this,
         t1 = A._instanceType(_this);
       t1._precomputed1._as(value);
@@ -10738,7 +10227,7 @@
       if ((t3 & 8) !== 0) {
         addState = t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData);
         addState.varData = subscription;
-        addState.addSubscription.resume$0(0);
+        addState.addSubscription.resume$0();
       } else
         _this._varData = subscription;
       subscription._setPendingEvents$1(pendingEvents);
@@ -10751,7 +10240,7 @@
       t1._eval$1("StreamSubscription<1>")._as(subscription);
       result = null;
       if ((_this._async$_state & 8) !== 0)
-        result = t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData).cancel$0(0);
+        result = t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData).cancel$0();
       _this._varData = null;
       _this._async$_state = _this._async$_state & 4294967286 | 2;
       onCancel = _this.onCancel;
@@ -10800,7 +10289,7 @@
   A._SyncStreamControllerDispatch.prototype = {
     _sendData$1(data) {
       this.$ti._precomputed1._as(data);
-      this.get$_async$_subscription()._add$1(0, data);
+      this.get$_async$_subscription()._add$1(data);
     },
     _sendError$2(error, stackTrace) {
       this.get$_async$_subscription()._async$_addError$2(error, stackTrace);
@@ -10831,7 +10320,7 @@
         t2 = A._instanceType(t1);
       t2._eval$1("StreamSubscription<1>")._as(this);
       if ((t1._async$_state & 8) !== 0)
-        t2._eval$1("_StreamControllerAddStreamState<1>")._as(t1._varData).addSubscription.pause$0(0);
+        t2._eval$1("_StreamControllerAddStreamState<1>")._as(t1._varData).addSubscription.pause$0();
       A._runGuarded(t1.onPause);
     },
     _onResume$0() {
@@ -10839,7 +10328,7 @@
         t2 = A._instanceType(t1);
       t2._eval$1("StreamSubscription<1>")._as(this);
       if ((t1._async$_state & 8) !== 0)
-        t2._eval$1("_StreamControllerAddStreamState<1>")._as(t1._varData).addSubscription.resume$0(0);
+        t2._eval$1("_StreamControllerAddStreamState<1>")._as(t1._varData).addSubscription.resume$0();
       A._runGuarded(t1.onResume);
     }
   };
@@ -10854,7 +10343,7 @@
     call$0() {
       this.$this.addStreamFuture._asyncComplete$1(null);
     },
-    $signature: 3
+    $signature: 2
   };
   A._BufferingStreamSubscription.prototype = {
     _setPendingEvents$1(pendingEvents) {
@@ -10872,10 +10361,10 @@
       var t1 = A._instanceType(this);
       this.set$_onData(A._BufferingStreamSubscription__registerDataHandler(this._zone, t1._eval$1("~(_BufferingStreamSubscription.T)?")._as(handleData), t1._eval$1("_BufferingStreamSubscription.T")));
     },
-    onError$1(_, handleError) {
+    onError$1(handleError) {
       this._onError = A._BufferingStreamSubscription__registerErrorHandler(this._zone, handleError);
     },
-    cancel$0(_) {
+    cancel$0() {
       var _this = this,
         t1 = (_this._async$_state & 4294967279) >>> 0;
       _this._async$_state = t1;
@@ -10896,7 +10385,7 @@
         _this.set$_pending(null);
       _this._cancelFuture = _this._onCancel$0();
     },
-    _add$1(_, data) {
+    _add$1(data) {
       var t2, _this = this,
         t1 = A._instanceType(_this);
       t1._eval$1("_BufferingStreamSubscription.T")._as(data);
@@ -11099,10 +10588,10 @@
     }
   };
   A._DelayedEvent.prototype = {
-    set$next(_, next) {
+    set$next(next) {
       this.next = type$.nullable__DelayedEvent_dynamic._as(next);
     },
-    get$next(receiver) {
+    get$next() {
       return this.next;
     }
   };
@@ -11120,10 +10609,10 @@
     perform$1(dispatch) {
       dispatch._sendDone$0();
     },
-    get$next(_) {
+    get$next() {
       return null;
     },
-    set$next(_, _0) {
+    set$next(_) {
       throw A.wrapException(A.StateError$("No events after a done."));
     },
     $is_DelayedEvent: 1
@@ -11148,7 +10637,7 @@
       if (lastEvent == null)
         _this.firstPendingEvent = _this.lastPendingEvent = $event;
       else {
-        lastEvent.set$next(0, $event);
+        lastEvent.set$next($event);
         _this.lastPendingEvent = $event;
       }
     }
@@ -11163,7 +10652,7 @@
         return;
       t2 = t1.$ti._eval$1("_EventDispatch<1>")._as(this.dispatch);
       $event = t1.firstPendingEvent;
-      nextEvent = $event.get$next($event);
+      nextEvent = $event.get$next();
       t1.firstPendingEvent = nextEvent;
       if (nextEvent == null)
         t1.lastPendingEvent = null;
@@ -11175,29 +10664,22 @@
     onData$1(handleData) {
       this.$ti._eval$1("~(1)?")._as(handleData);
     },
-    onError$1(_, handleError) {
+    onError$1(handleError) {
     },
-    cancel$0(_) {
+    cancel$0() {
       this._async$_state = -1;
       this.set$_onDone(null);
       return $.$get$Future__nullFuture();
     },
     _onMicrotask$0() {
-      var _0_0, doneHandler, t1, _this = this,
+      var _0_0, _this = this,
         unscheduledState = _this._async$_state - 1;
       if (unscheduledState === 0) {
         _this._async$_state = -1;
         _0_0 = _this._onDone;
         if (_0_0 != null) {
-          doneHandler = _0_0;
-          t1 = true;
-        } else {
-          doneHandler = null;
-          t1 = false;
-        }
-        if (t1) {
           _this.set$_onDone(null);
-          _this._zone.runGuarded$1(doneHandler);
+          _this._zone.runGuarded$1(_0_0);
         }
       } else
         _this._async$_state = unscheduledState;
@@ -11245,7 +10727,7 @@
       }
       handler = implementation.$function;
       parentDelegate = implZone.get$_parentDelegate();
-      t1 = J.get$parent$z(implZone);
+      t1 = implZone.get$parent();
       t1.toString;
       parentZone = t1;
       currentZone = $.Zone__current;
@@ -11440,11 +10922,11 @@
     get$_handleUncaughtError() {
       return this._handleUncaughtError;
     },
-    get$parent(receiver) {
+    get$parent() {
       return this.parent;
     },
-    get$_async$_map() {
-      return this._async$_map;
+    get$_map() {
+      return this._map;
     }
   };
   A._CustomZone_bindCallback_closure.prototype = {
@@ -11526,10 +11008,10 @@
     get$_handleUncaughtError() {
       return B._ZoneFunction_NMc;
     },
-    get$parent(_) {
+    get$parent() {
       return null;
     },
-    get$_async$_map() {
+    get$_map() {
       return $.$get$_RootZone__rootMap();
     },
     get$_delegate() {
@@ -11699,7 +11181,7 @@
           t2._processUncaughtError$3(zone, type$.Object._as(e), t1._as(s));
       }
     },
-    $signature: 34
+    $signature: 35
   };
   A._HashMap.prototype = {
     get$length(_) {
@@ -11708,16 +11190,16 @@
     get$isEmpty(_) {
       return this._collection$_length === 0;
     },
-    get$keys(_) {
+    get$keys() {
       return new A._HashMapKeyIterable(this, A._instanceType(this)._eval$1("_HashMapKeyIterable<1>"));
     },
-    containsKey$1(_, key) {
+    containsKey$1(key) {
       var strings, nums;
       if (typeof key == "string" && key !== "__proto__") {
-        strings = this._collection$_strings;
+        strings = this._strings;
         return strings == null ? false : strings[key] != null;
       } else if (typeof key == "number" && (key & 1073741823) === key) {
-        nums = this._collection$_nums;
+        nums = this._nums;
         return nums == null ? false : nums[key] != null;
       } else
         return this._containsKey$1(key);
@@ -11731,17 +11213,17 @@
     $index(_, key) {
       var strings, t1, nums;
       if (typeof key == "string" && key !== "__proto__") {
-        strings = this._collection$_strings;
+        strings = this._strings;
         t1 = strings == null ? null : A._HashMap__getTableEntry(strings, key);
         return t1;
       } else if (typeof key == "number" && (key & 1073741823) === key) {
-        nums = this._collection$_nums;
+        nums = this._nums;
         t1 = nums == null ? null : A._HashMap__getTableEntry(nums, key);
         return t1;
       } else
-        return this._get$1(0, key);
+        return this._get$1(key);
     },
-    _get$1(_, key) {
+    _get$1(key) {
       var bucket, index,
         rest = this._collection$_rest;
       if (rest == null)
@@ -11756,11 +11238,11 @@
       t1._precomputed1._as(key);
       t1._rest[1]._as(value);
       if (typeof key == "string" && key !== "__proto__") {
-        strings = _this._collection$_strings;
-        _this._collection$_addHashTableEntry$3(strings == null ? _this._collection$_strings = A._HashMap__newHashTable() : strings, key, value);
+        strings = _this._strings;
+        _this._addHashTableEntry$3(strings == null ? _this._strings = A._HashMap__newHashTable() : strings, key, value);
       } else if (typeof key == "number" && (key & 1073741823) === key) {
-        nums = _this._collection$_nums;
-        _this._collection$_addHashTableEntry$3(nums == null ? _this._collection$_nums = A._HashMap__newHashTable() : nums, key, value);
+        nums = _this._nums;
+        _this._addHashTableEntry$3(nums == null ? _this._nums = A._HashMap__newHashTable() : nums, key, value);
       } else
         _this._set$2(key, value);
     },
@@ -11809,7 +11291,7 @@
       if (result != null)
         return result;
       result = A.List_List$filled(_this._collection$_length, null, false, type$.dynamic);
-      strings = _this._collection$_strings;
+      strings = _this._strings;
       if (strings != null) {
         names = Object.getOwnPropertyNames(strings);
         entries = names.length;
@@ -11819,7 +11301,7 @@
         }
       } else
         index = 0;
-      nums = _this._collection$_nums;
+      nums = _this._nums;
       if (nums != null) {
         names = Object.getOwnPropertyNames(nums);
         entries = names.length;
@@ -11843,7 +11325,7 @@
       }
       return _this._keys = result;
     },
-    _collection$_addHashTableEntry$3(table, key, value) {
+    _addHashTableEntry$3(table, key, value) {
       var t1 = A._instanceType(this);
       t1._precomputed1._as(key);
       t1._rest[1]._as(value);
@@ -11902,11 +11384,11 @@
       return new A._HashMapKeyIterator(t1, t1._computeKeys$0(), this.$ti._eval$1("_HashMapKeyIterator<1>"));
     },
     contains$1(_, element) {
-      return this._collection$_map.containsKey$1(0, element);
+      return this._collection$_map.containsKey$1(element);
     }
   };
   A._HashMapKeyIterator.prototype = {
-    get$current(_) {
+    get$current() {
       var t1 = this._collection$_current;
       return t1 == null ? this.$ti._precomputed1._as(t1) : t1;
     },
@@ -11950,7 +11432,7 @@
     contains$1(_, object) {
       var nums;
       if ((object & 1073741823) === object) {
-        nums = this._collection$_nums;
+        nums = this._nums;
         if (nums == null)
           return false;
         return type$.nullable__LinkedHashSetCell._as(nums[object]) != null;
@@ -11967,15 +11449,15 @@
       var strings, nums, _this = this;
       _this.$ti._precomputed1._as(element);
       if (typeof element == "string" && element !== "__proto__") {
-        strings = _this._collection$_strings;
-        return _this._collection$_addHashTableEntry$2(strings == null ? _this._collection$_strings = A._LinkedHashSet__newHashTable() : strings, element);
+        strings = _this._strings;
+        return _this._addHashTableEntry$2(strings == null ? _this._strings = A._LinkedHashSet__newHashTable() : strings, element);
       } else if (typeof element == "number" && (element & 1073741823) === element) {
-        nums = _this._collection$_nums;
-        return _this._collection$_addHashTableEntry$2(nums == null ? _this._collection$_nums = A._LinkedHashSet__newHashTable() : nums, element);
+        nums = _this._nums;
+        return _this._addHashTableEntry$2(nums == null ? _this._nums = A._LinkedHashSet__newHashTable() : nums, element);
       } else
-        return _this._collection$_add$1(0, element);
+        return _this._collection$_add$1(element);
     },
-    _collection$_add$1(_, element) {
+    _collection$_add$1(element) {
       var rest, hash, bucket, _this = this;
       _this.$ti._precomputed1._as(element);
       rest = _this._collection$_rest;
@@ -11994,11 +11476,11 @@
     },
     remove$1(_, object) {
       if ((object & 1073741823) === object)
-        return this._collection$_removeHashTableEntry$2(this._collection$_nums, object);
+        return this._collection$_removeHashTableEntry$2(this._nums, object);
       else
-        return this._remove$1(0, object);
+        return this._remove$1(object);
     },
-    _remove$1(_, object) {
+    _remove$1(object) {
       var hash, bucket, index, cell,
         rest = this._collection$_rest;
       if (rest == null)
@@ -12014,7 +11496,7 @@
       this._collection$_unlinkCell$1(cell);
       return true;
     },
-    _collection$_addHashTableEntry$2(table, element) {
+    _addHashTableEntry$2(table, element) {
       this.$ti._precomputed1._as(element);
       if (type$.nullable__LinkedHashSetCell._as(table[element]) != null)
         return false;
@@ -12078,7 +11560,7 @@
   };
   A._LinkedHashSetCell.prototype = {};
   A._LinkedHashSetIterator.prototype = {
-    get$current(_) {
+    get$current() {
       var t1 = this._collection$_current;
       return t1 == null ? this.$ti._precomputed1._as(t1) : t1;
     },
@@ -12127,6 +11609,9 @@
     skip$1(receiver, count) {
       return A.SubListIterable$(receiver, count, null, A.instanceType(receiver)._eval$1("ListBase.E"));
     },
+    take$1(receiver, count) {
+      return A.SubListIterable$(receiver, 0, A.checkNotNullable(count, "count", type$.int), A.instanceType(receiver)._eval$1("ListBase.E"));
+    },
     cast$1$0(receiver, $R) {
       return new A.CastList(receiver, A.instanceType(receiver)._eval$1("@<ListBase.E>")._bind$1($R)._eval$1("CastList<1,2>"));
     },
@@ -12145,27 +11630,29 @@
     $isList: 1
   };
   A.MapBase.prototype = {
-    forEach$1(receiver, action) {
+    forEach$1(_, action) {
       var t2, key, t3,
-        t1 = A.instanceType(receiver);
+        t1 = A._instanceType(this);
       t1._eval$1("~(MapBase.K,MapBase.V)")._as(action);
-      for (t2 = J.get$iterator$ax(this.get$keys(receiver)), t1 = t1._eval$1("MapBase.V"); t2.moveNext$0();) {
-        key = t2.get$current(t2);
-        t3 = this.$index(receiver, key);
+      for (t2 = this.get$keys(), t2 = t2.get$iterator(t2), t1 = t1._eval$1("MapBase.V"); t2.moveNext$0();) {
+        key = t2.get$current();
+        t3 = this.$index(0, key);
         action.call$2(key, t3 == null ? t1._as(t3) : t3);
       }
     },
-    containsKey$1(receiver, key) {
-      return J.contains$1$asx(this.get$keys(receiver), key);
+    containsKey$1(key) {
+      return this.get$keys().contains$1(0, key);
     },
-    get$length(receiver) {
-      return J.get$length$asx(this.get$keys(receiver));
+    get$length(_) {
+      var t1 = this.get$keys();
+      return t1.get$length(t1);
     },
-    get$isEmpty(receiver) {
-      return J.get$isEmpty$asx(this.get$keys(receiver));
+    get$isEmpty(_) {
+      var t1 = this.get$keys();
+      return t1.get$isEmpty(t1);
     },
-    toString$0(receiver) {
-      return A.MapBase_mapToString(receiver);
+    toString$0(_) {
+      return A.MapBase_mapToString(this);
     },
     $isMap: 1
   };
@@ -12177,11 +11664,13 @@
         this.result._contents += ", ";
       t1.first = false;
       t1 = this.result;
-      t2 = t1._contents += A.S(k);
+      t2 = A.S(k);
+      t2 = t1._contents += t2;
       t1._contents = t2 + ": ";
-      t1._contents += A.S(v);
+      t2 = A.S(v);
+      t1._contents += t2;
     },
-    $signature: 16
+    $signature: 14
   };
   A._UnmodifiableMapMixin.prototype = {
     $indexSet(_, key, value) {
@@ -12193,29 +11682,31 @@
   };
   A.MapView.prototype = {
     $index(_, key) {
-      return J.$index$asx(this._collection$_map, key);
+      return this._collection$_map.$index(0, key);
     },
     $indexSet(_, key, value) {
       var t1 = A._instanceType(this);
-      J.$indexSet$ax(this._collection$_map, t1._precomputed1._as(key), t1._rest[1]._as(value));
+      this._collection$_map.$indexSet(0, t1._precomputed1._as(key), t1._rest[1]._as(value));
     },
-    containsKey$1(_, key) {
-      return J.containsKey$1$x(this._collection$_map, key);
+    containsKey$1(key) {
+      return this._collection$_map.containsKey$1(key);
     },
     forEach$1(_, action) {
-      J.forEach$1$x(this._collection$_map, A._instanceType(this)._eval$1("~(1,2)")._as(action));
+      this._collection$_map.forEach$1(0, A._instanceType(this)._eval$1("~(1,2)")._as(action));
     },
     get$isEmpty(_) {
-      return J.get$isEmpty$asx(this._collection$_map);
+      var t1 = this._collection$_map;
+      return t1.get$isEmpty(t1);
     },
     get$length(_) {
-      return J.get$length$asx(this._collection$_map);
+      var t1 = this._collection$_map;
+      return t1.get$length(t1);
     },
-    get$keys(_) {
-      return J.get$keys$x(this._collection$_map);
+    get$keys() {
+      return this._collection$_map.get$keys();
     },
     toString$0(_) {
-      return J.toString$0$(this._collection$_map);
+      return this._collection$_map.toString$0(0);
     },
     $isMap: 1
   };
@@ -12234,6 +11725,9 @@
     toString$0(_) {
       return A.Iterable_iterableToFullString(this, "{", "}");
     },
+    take$1(_, n) {
+      return A.TakeIterable_TakeIterable(this, n, this.$ti._precomputed1);
+    },
     skip$1(_, n) {
       return A.SkipIterable_SkipIterable(this, n, this.$ti._precomputed1);
     },
@@ -12270,15 +11764,14 @@
       }
     },
     get$length(_) {
-      return this._processed == null ? this._data._length : this._convert$_computeKeys$0().length;
+      return this._processed == null ? this._data.__js_helper$_length : this._convert$_computeKeys$0().length;
     },
     get$isEmpty(_) {
-      return this.get$length(this) === 0;
+      return this.get$length(0) === 0;
     },
-    get$keys(_) {
-      var t1;
+    get$keys() {
       if (this._processed == null) {
-        t1 = this._data;
+        var t1 = this._data;
         return new A.LinkedHashMapKeyIterable(t1, A._instanceType(t1)._eval$1("LinkedHashMapKeyIterable<1>"));
       }
       return new A._JsonMapKeyIterable(this);
@@ -12287,7 +11780,7 @@
       var processed, original, _this = this;
       if (_this._processed == null)
         _this._data.$indexSet(0, key, value);
-      else if (_this.containsKey$1(0, key)) {
+      else if (_this.containsKey$1(key)) {
         processed = _this._processed;
         processed[key] = value;
         original = _this._original;
@@ -12296,9 +11789,9 @@
       } else
         _this._upgrade$0().$indexSet(0, key, value);
     },
-    containsKey$1(_, key) {
+    containsKey$1(key) {
       if (this._processed == null)
-        return this._data.containsKey$1(0, key);
+        return this._data.containsKey$1(key);
       return Object.prototype.hasOwnProperty.call(this._original, key);
     },
     forEach$1(_, f) {
@@ -12352,13 +11845,12 @@
   };
   A._JsonMapKeyIterable.prototype = {
     get$length(_) {
-      var t1 = this._convert$_parent;
-      return t1.get$length(t1);
+      return this._convert$_parent.get$length(0);
     },
     elementAt$1(_, index) {
       var t1 = this._convert$_parent;
       if (t1._processed == null)
-        t1 = t1.get$keys(t1).elementAt$1(0, index);
+        t1 = t1.get$keys().elementAt$1(0, index);
       else {
         t1 = t1._convert$_computeKeys$0();
         if (!(index >= 0 && index < t1.length))
@@ -12370,7 +11862,7 @@
     get$iterator(_) {
       var t1 = this._convert$_parent;
       if (t1._processed == null) {
-        t1 = t1.get$keys(t1);
+        t1 = t1.get$keys();
         t1 = t1.get$iterator(t1);
       } else {
         t1 = t1._convert$_computeKeys$0();
@@ -12379,10 +11871,10 @@
       return t1;
     },
     contains$1(_, key) {
-      return this._convert$_parent.containsKey$1(0, key);
+      return this._convert$_parent.containsKey$1(key);
     }
   };
-  A.Utf8Decoder__decoder_closure.prototype = {
+  A._Utf8Decoder__decoder_closure.prototype = {
     call$0() {
       var t1, exception;
       try {
@@ -12392,9 +11884,9 @@
       }
       return null;
     },
-    $signature: 2
+    $signature: 15
   };
-  A.Utf8Decoder__decoderNonfatal_closure.prototype = {
+  A._Utf8Decoder__decoderNonfatal_closure.prototype = {
     call$0() {
       var t1, exception;
       try {
@@ -12404,7 +11896,7 @@
       }
       return null;
     },
-    $signature: 2
+    $signature: 15
   };
   A.AsciiCodec.prototype = {
     encode$1(source) {
@@ -12433,8 +11925,8 @@
   };
   A.AsciiEncoder.prototype = {};
   A.Base64Codec.prototype = {
-    normalize$3(_, source, start, end) {
-      var inverseAlphabet, t2, i, sliceStart, buffer, firstPadding, firstPaddingSourceIndex, paddingCount, i0, char, i1, digit1, t3, digit2, char0, value, endLength, $length,
+    normalize$3(source, start, end) {
+      var inverseAlphabet, t2, i, sliceStart, buffer, firstPadding, firstPaddingSourceIndex, paddingCount, i0, char, i1, digit1, t3, digit2, char0, value, t4, endLength, $length,
         _s64_ = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
         _s31_ = "Invalid base64 encoding length ",
         t1 = source.length;
@@ -12496,7 +11988,8 @@
             } else
               t3 = buffer;
             t3._contents += B.JSString_methods.substring$2(source, sliceStart, i);
-            t3._contents += A.Primitives_stringFromCharCode(char);
+            t4 = A.Primitives_stringFromCharCode(char);
+            t3._contents += t4;
             sliceStart = i0;
             continue;
           }
@@ -12504,7 +11997,8 @@
         throw A.wrapException(A.FormatException$("Invalid base64 data", source, i));
       }
       if (buffer != null) {
-        t1 = buffer._contents += B.JSString_methods.substring$2(source, sliceStart, end);
+        t1 = B.JSString_methods.substring$2(source, sliceStart, end);
+        t1 = buffer._contents += t1;
         t2 = t1.length;
         if (firstPadding >= 0)
           A.Base64Codec__checkPadding(source, firstPaddingSourceIndex, end, firstPadding, paddingCount, t2);
@@ -12551,7 +12045,7 @@
     }
   };
   A.JsonCodec.prototype = {
-    decode$2$reviver(_, source, reviver) {
+    decode$2$reviver(source, reviver) {
       var t1 = A._parseJson(source, this.get$decoder()._reviver);
       return t1;
     },
@@ -12735,28 +12229,27 @@
       _this.writeString$1("]");
     },
     writeMap$1(map) {
-      var t2, keyValueList, i, separator, _this = this, _box_0 = {},
-        t1 = J.getInterceptor$asx(map);
-      if (t1.get$isEmpty(map)) {
+      var t1, keyValueList, i, separator, t2, _this = this, _box_0 = {};
+      if (map.get$isEmpty(map)) {
         _this.writeString$1("{}");
         return true;
       }
-      t2 = t1.get$length(map) * 2;
-      keyValueList = A.List_List$filled(t2, null, false, type$.nullable_Object);
+      t1 = map.get$length(map) * 2;
+      keyValueList = A.List_List$filled(t1, null, false, type$.nullable_Object);
       i = _box_0.i = 0;
       _box_0.allStringKeys = true;
-      t1.forEach$1(map, new A._JsonStringifier_writeMap_closure(_box_0, keyValueList));
+      map.forEach$1(0, new A._JsonStringifier_writeMap_closure(_box_0, keyValueList));
       if (!_box_0.allStringKeys)
         return false;
       _this.writeString$1("{");
-      for (separator = '"'; i < t2; i += 2, separator = ',"') {
+      for (separator = '"'; i < t1; i += 2, separator = ',"') {
         _this.writeString$1(separator);
         _this.writeStringContent$1(A._asString(keyValueList[i]));
         _this.writeString$1('":');
-        t1 = i + 1;
-        if (!(t1 < t2))
-          return A.ioore(keyValueList, t1);
-        _this.writeObject$1(keyValueList[t1]);
+        t2 = i + 1;
+        if (!(t2 < t1))
+          return A.ioore(keyValueList, t2);
+        _this.writeObject$1(keyValueList[t2]);
       }
       _this.writeString$1("}");
       return true;
@@ -12772,7 +12265,7 @@
       B.JSArray_methods.$indexSet(t1, t2.i++, key);
       B.JSArray_methods.$indexSet(t1, t2.i++, value);
     },
-    $signature: 16
+    $signature: 14
   };
   A._JsonStringStringifier.prototype = {
     get$_partialResult() {
@@ -12780,13 +12273,13 @@
       return t1 instanceof A.StringBuffer ? t1.toString$0(0) : null;
     },
     writeNumber$1(number) {
-      this._sink.write$1(0, B.JSNumber_methods.toString$0(number));
+      this._sink.write$1(B.JSNumber_methods.toString$0(number));
     },
     writeString$1(string) {
-      this._sink.write$1(0, string);
+      this._sink.write$1(string);
     },
     writeStringSlice$3(string, start, end) {
-      this._sink.write$1(0, B.JSString_methods.substring$2(string, start, end));
+      this._sink.write$1(B.JSString_methods.substring$2(string, start, end));
     },
     writeCharCode$1(charCode) {
       this._sink.writeCharCode$1(charCode);
@@ -12931,32 +12424,37 @@
   };
   A.Utf8Decoder.prototype = {
     convert$1(codeUnits) {
-      var t1, result;
-      type$.List_int._as(codeUnits);
-      t1 = this._allowMalformed;
-      result = A.Utf8Decoder__convertIntercepted(t1, codeUnits, 0, null);
-      if (result != null)
-        return result;
-      return new A._Utf8Decoder(t1).convertGeneral$4(codeUnits, 0, null, true);
+      return new A._Utf8Decoder(this._allowMalformed)._convertGeneral$4(type$.List_int._as(codeUnits), 0, null, true);
     }
   };
   A._Utf8Decoder.prototype = {
-    convertGeneral$4(codeUnits, start, maybeEnd, single) {
-      var end, bytes, errorOffset, result, t1, message, _this = this;
+    _convertGeneral$4(codeUnits, start, maybeEnd, single) {
+      var end, casted, bytes, errorOffset, t1, result, message, _this = this;
       type$.List_int._as(codeUnits);
       end = A.RangeError_checkValidRange(start, maybeEnd, J.get$length$asx(codeUnits));
       if (start === end)
         return "";
-      if (type$.Uint8List._is(codeUnits)) {
-        bytes = codeUnits;
+      if (codeUnits instanceof Uint8Array) {
+        casted = codeUnits;
+        bytes = casted;
         errorOffset = 0;
       } else {
-        bytes = A._Utf8Decoder__makeUint8List(codeUnits, start, end);
+        bytes = A._Utf8Decoder__makeNativeUint8List(codeUnits, start, end);
         end -= start;
         errorOffset = start;
         start = 0;
       }
-      result = _this._convertRecursive$4(bytes, start, end, single);
+      if (single && end - start >= 15) {
+        t1 = _this.allowMalformed;
+        result = A._Utf8Decoder__convertInterceptedUint8List(t1, bytes, start, end);
+        if (result != null) {
+          if (!t1)
+            return result;
+          if (result.indexOf("\ufffd") < 0)
+            return result;
+        }
+      }
+      result = _this._decodeRecursive$4(bytes, start, end, single);
       t1 = _this._state;
       if ((t1 & 1) !== 0) {
         message = A._Utf8Decoder_errorDescription(t1);
@@ -12965,14 +12463,14 @@
       }
       return result;
     },
-    _convertRecursive$4(bytes, start, end, single) {
+    _decodeRecursive$4(bytes, start, end, single) {
       var mid, s1, _this = this;
       if (end - start > 1000) {
         mid = B.JSInt_methods._tdivFast$1(start + end, 2);
-        s1 = _this._convertRecursive$4(bytes, start, mid, false);
+        s1 = _this._decodeRecursive$4(bytes, start, mid, false);
         if ((_this._state & 1) !== 0)
           return s1;
-        return s1 + _this._convertRecursive$4(bytes, mid, end, single);
+        return s1 + _this._decodeRecursive$4(bytes, mid, end, single);
       }
       return _this.decodeGeneral$4(bytes, start, end, single);
     },
@@ -13001,7 +12499,8 @@
               return A.ioore(_s144_, t3);
             state = _s144_.charCodeAt(t3);
             if (state === 0) {
-              buffer._contents += A.Primitives_stringFromCharCode(char);
+              t3 = A.Primitives_stringFromCharCode(char);
+              buffer._contents += t3;
               if (i === end)
                 break $label0$0;
               break;
@@ -13010,14 +12509,17 @@
                 switch (state) {
                   case 69:
                   case 67:
-                    buffer._contents += A.Primitives_stringFromCharCode(_65533);
+                    t3 = A.Primitives_stringFromCharCode(_65533);
+                    buffer._contents += t3;
                     break;
                   case 65:
-                    buffer._contents += A.Primitives_stringFromCharCode(_65533);
+                    t3 = A.Primitives_stringFromCharCode(_65533);
+                    buffer._contents += t3;
                     --i;
                     break;
                   default:
-                    t3 = buffer._contents += A.Primitives_stringFromCharCode(_65533);
+                    t3 = A.Primitives_stringFromCharCode(_65533);
+                    t3 = buffer._contents += t3;
                     buffer._contents = t3 + A.Primitives_stringFromCharCode(_65533);
                     break;
                 }
@@ -13060,10 +12562,13 @@
               for (m = i; m < markEnd; ++m) {
                 if (!(m < t1))
                   return A.ioore(bytes, m);
-                buffer._contents += A.Primitives_stringFromCharCode(bytes[m]);
+                t3 = A.Primitives_stringFromCharCode(bytes[m]);
+                buffer._contents += t3;
               }
-            else
-              buffer._contents += A.String_String$fromCharCodes(bytes, i, markEnd);
+            else {
+              t3 = A.String_String$fromCharCodes(bytes, i, markEnd);
+              buffer._contents += t3;
+            }
             if (markEnd === end)
               break $label0$0;
             i = i0;
@@ -13071,9 +12576,10 @@
             i = i0;
         }
       if (single && state > 32)
-        if (t2)
-          buffer._contents += A.Primitives_stringFromCharCode(_65533);
-        else {
+        if (t2) {
+          t1 = A.Primitives_stringFromCharCode(_65533);
+          buffer._contents += t1;
+        } else {
           _this._state = 77;
           _this._charOrIndex = end;
           return "";
@@ -13094,16 +12600,22 @@
       t3 += key._name;
       t1._contents = t3;
       t1._contents = t3 + ": ";
-      t1._contents += A.Error_safeToString(value);
+      t3 = A.Error_safeToString(value);
+      t1._contents += t3;
       t2.comma = ", ";
     },
     $signature: 39
   };
   A.DateTime.prototype = {
     $eq(_, other) {
+      var t1;
       if (other == null)
         return false;
-      return other instanceof A.DateTime && this._core$_value === other._core$_value && true;
+      if (other instanceof A.DateTime)
+        t1 = this._core$_value === other._core$_value;
+      else
+        t1 = false;
+      return t1;
     },
     get$hashCode(_) {
       var t1 = this._core$_value;
@@ -13131,16 +12643,15 @@
       return B.JSInt_methods.get$hashCode(this._duration);
     },
     toString$0(_) {
-      var minutes, minutesPadding, seconds, secondsPadding,
+      var minutesPadding, seconds, secondsPadding,
         microseconds = this._duration,
-        hours = B.JSInt_methods._tdivFast$1(microseconds, 3600000000);
-      microseconds %= 3600000000;
-      minutes = B.JSInt_methods._tdivFast$1(microseconds, 60000000);
-      microseconds %= 60000000;
+        microseconds0 = microseconds % 3600000000,
+        minutes = B.JSInt_methods._tdivFast$1(microseconds0, 60000000);
+      microseconds0 %= 60000000;
       minutesPadding = minutes < 10 ? "0" : "";
-      seconds = B.JSInt_methods._tdivFast$1(microseconds, 1000000);
+      seconds = B.JSInt_methods._tdivFast$1(microseconds0, 1000000);
       secondsPadding = seconds < 10 ? "0" : "";
-      return "" + hours + ":" + minutesPadding + minutes + ":" + secondsPadding + seconds + "." + B.JSString_methods.padLeft$2(B.JSInt_methods.toString$0(microseconds % 1000000), 6, "0");
+      return "" + (microseconds / 3600000000 | 0) + ":" + minutesPadding + minutes + ":" + secondsPadding + seconds + "." + B.JSString_methods.padLeft$2(B.JSInt_methods.toString$0(microseconds0 % 1000000), 6, "0");
     }
   };
   A.Error.prototype = {
@@ -13229,7 +12740,8 @@
       for (t1 = $arguments.length, _i = 0, t2 = "", t3 = ""; _i < t1; ++_i, t3 = ", ") {
         argument = $arguments[_i];
         sb._contents = t2 + t3;
-        t2 = sb._contents += A.Error_safeToString(argument);
+        t2 = A.Error_safeToString(argument);
+        t2 = sb._contents += t2;
         _box_0.comma = ", ";
       }
       _this._namedArguments.forEach$1(0, new A.NoSuchMethodError_toString_closure(_box_0, sb));
@@ -13370,8 +12882,8 @@
     toList$1$growable(_, growable) {
       return A.List_List$of(this, growable, A._instanceType(this)._eval$1("Iterable.E"));
     },
-    toList$0($receiver) {
-      return this.toList$1$growable($receiver, true);
+    toList$0(_) {
+      return this.toList$1$growable(0, true);
     },
     get$length(_) {
       var count,
@@ -13386,6 +12898,9 @@
     get$isNotEmpty(_) {
       return !this.get$isEmpty(this);
     },
+    take$1(_, count) {
+      return A.TakeIterable_TakeIterable(this, count, A._instanceType(this)._eval$1("Iterable.E"));
+    },
     skip$1(_, count) {
       return A.SkipIterable_SkipIterable(this, count, A._instanceType(this)._eval$1("Iterable.E"));
     },
@@ -13397,7 +12912,7 @@
       var it = this.get$iterator(this);
       if (!it.moveNext$0())
         throw A.wrapException(A.IterableElementError_noElement());
-      return it.get$current(it);
+      return it.get$current();
     },
     get$last(_) {
       var result,
@@ -13405,7 +12920,7 @@
       if (!it.moveNext$0())
         throw A.wrapException(A.IterableElementError_noElement());
       do
-        result = it.get$current(it);
+        result = it.get$current();
       while (it.moveNext$0());
       return result;
     },
@@ -13415,7 +12930,7 @@
       iterator = this.get$iterator(this);
       for (skipCount = index; iterator.moveNext$0();) {
         if (skipCount === 0)
-          return iterator.get$current(iterator);
+          return iterator.get$current();
         --skipCount;
       }
       throw A.wrapException(A.IndexError$withLength(index, index - skipCount, this, "index"));
@@ -13426,7 +12941,7 @@
   };
   A.Null.prototype = {
     get$hashCode(_) {
-      return A.Object.prototype.get$hashCode.call(this, this);
+      return A.Object.prototype.get$hashCode.call(this, 0);
     },
     toString$0(_) {
       return "null";
@@ -13462,11 +12977,13 @@
     get$length(_) {
       return this._contents.length;
     },
-    write$1(_, obj) {
-      this._contents += A.S(obj);
+    write$1(obj) {
+      var t1 = A.S(obj);
+      this._contents += t1;
     },
     writeCharCode$1(charCode) {
-      this._contents += A.Primitives_stringFromCharCode(charCode);
+      var t1 = A.Primitives_stringFromCharCode(charCode);
+      this._contents += t1;
     },
     toString$0(_) {
       var t1 = this._contents;
@@ -13482,28 +12999,28 @@
       index = B.JSString_methods.indexOf$1(element, "=");
       if (index === -1) {
         if (element !== "")
-          J.$indexSet$ax(map, A._Uri__uriDecode(element, 0, element.length, this.encoding, true), "");
+          map.$indexSet(0, A._Uri__uriDecode(element, 0, element.length, this.encoding, true), "");
       } else if (index !== 0) {
         key = B.JSString_methods.substring$2(element, 0, index);
         value = B.JSString_methods.substring$1(element, index + 1);
         t1 = this.encoding;
-        J.$indexSet$ax(map, A._Uri__uriDecode(key, 0, key.length, t1, true), A._Uri__uriDecode(value, 0, value.length, t1, true));
+        map.$indexSet(0, A._Uri__uriDecode(key, 0, key.length, t1, true), A._Uri__uriDecode(value, 0, value.length, t1, true));
       }
       return map;
     },
-    $signature: 40
+    $signature: 23
   };
   A.Uri__parseIPv4Address_error.prototype = {
     call$2(msg, position) {
       throw A.wrapException(A.FormatException$("Illegal IPv4 address, " + msg, this.host, position));
     },
-    $signature: 25
+    $signature: 44
   };
   A.Uri_parseIPv6Address_error.prototype = {
     call$2(msg, position) {
       throw A.wrapException(A.FormatException$("Illegal IPv6 address, " + msg, this.host, position));
     },
-    $signature: 45
+    $signature: 58
   };
   A.Uri_parseIPv6Address_parseHex.prototype = {
     call$2(start, end) {
@@ -13515,7 +13032,7 @@
         this.error.call$2("each part must be in the range of `0x0..0xFFFF`", start);
       return value;
     },
-    $signature: 46
+    $signature: 59
   };
   A._Uri.prototype = {
     get$_text() {
@@ -13597,7 +13114,7 @@
     get$userInfo() {
       return this._userInfo;
     },
-    get$host(_) {
+    get$host() {
       var host = this._host;
       if (host == null)
         return "";
@@ -13605,11 +13122,11 @@
         return B.JSString_methods.substring$2(host, 1, host.length - 1);
       return host;
     },
-    get$port(_) {
+    get$port() {
       var t1 = this._port;
       return t1 == null ? A._Uri__defaultPort(this.scheme) : t1;
     },
-    get$query(_) {
+    get$query() {
       var t1 = this._query;
       return t1 == null ? "" : t1;
     },
@@ -13677,51 +13194,51 @@
         targetScheme = reference.get$scheme();
         if (reference.get$hasAuthority()) {
           targetUserInfo = reference.get$userInfo();
-          targetHost = reference.get$host(reference);
-          targetPort = reference.get$hasPort() ? reference.get$port(reference) : _null;
+          targetHost = reference.get$host();
+          targetPort = reference.get$hasPort() ? reference.get$port() : _null;
         } else {
           targetPort = _null;
           targetHost = targetPort;
           targetUserInfo = "";
         }
-        targetPath = A._Uri__removeDotSegments(reference.get$path(reference));
-        targetQuery = reference.get$hasQuery() ? reference.get$query(reference) : _null;
+        targetPath = A._Uri__removeDotSegments(reference.get$path());
+        targetQuery = reference.get$hasQuery() ? reference.get$query() : _null;
       } else {
         targetScheme = _this.scheme;
         if (reference.get$hasAuthority()) {
           targetUserInfo = reference.get$userInfo();
-          targetHost = reference.get$host(reference);
-          targetPort = A._Uri__makePort(reference.get$hasPort() ? reference.get$port(reference) : _null, targetScheme);
-          targetPath = A._Uri__removeDotSegments(reference.get$path(reference));
-          targetQuery = reference.get$hasQuery() ? reference.get$query(reference) : _null;
+          targetHost = reference.get$host();
+          targetPort = A._Uri__makePort(reference.get$hasPort() ? reference.get$port() : _null, targetScheme);
+          targetPath = A._Uri__removeDotSegments(reference.get$path());
+          targetQuery = reference.get$hasQuery() ? reference.get$query() : _null;
         } else {
           targetUserInfo = _this._userInfo;
           targetHost = _this._host;
           targetPort = _this._port;
           targetPath = _this.path;
-          if (reference.get$path(reference) === "")
-            targetQuery = reference.get$hasQuery() ? reference.get$query(reference) : _this._query;
+          if (reference.get$path() === "")
+            targetQuery = reference.get$hasQuery() ? reference.get$query() : _this._query;
           else {
             packageNameEnd = A._Uri__packageNameEnd(_this, targetPath);
             if (packageNameEnd > 0) {
               packageName = B.JSString_methods.substring$2(targetPath, 0, packageNameEnd);
-              targetPath = reference.get$hasAbsolutePath() ? packageName + A._Uri__removeDotSegments(reference.get$path(reference)) : packageName + A._Uri__removeDotSegments(_this._mergePaths$2(B.JSString_methods.substring$1(targetPath, packageName.length), reference.get$path(reference)));
+              targetPath = reference.get$hasAbsolutePath() ? packageName + A._Uri__removeDotSegments(reference.get$path()) : packageName + A._Uri__removeDotSegments(_this._mergePaths$2(B.JSString_methods.substring$1(targetPath, packageName.length), reference.get$path()));
             } else if (reference.get$hasAbsolutePath())
-              targetPath = A._Uri__removeDotSegments(reference.get$path(reference));
+              targetPath = A._Uri__removeDotSegments(reference.get$path());
             else if (targetPath.length === 0)
               if (targetHost == null)
-                targetPath = targetScheme.length === 0 ? reference.get$path(reference) : A._Uri__removeDotSegments(reference.get$path(reference));
+                targetPath = targetScheme.length === 0 ? reference.get$path() : A._Uri__removeDotSegments(reference.get$path());
               else
-                targetPath = A._Uri__removeDotSegments("/" + reference.get$path(reference));
+                targetPath = A._Uri__removeDotSegments("/" + reference.get$path());
             else {
-              mergedPath = _this._mergePaths$2(targetPath, reference.get$path(reference));
+              mergedPath = _this._mergePaths$2(targetPath, reference.get$path());
               t1 = targetScheme.length === 0;
               if (!t1 || targetHost != null || B.JSString_methods.startsWith$1(targetPath, "/"))
                 targetPath = A._Uri__removeDotSegments(mergedPath);
               else
                 targetPath = A._Uri__normalizeRelativePath(mergedPath, !t1 || targetHost != null);
             }
-            targetQuery = reference.get$hasQuery() ? reference.get$query(reference) : _null;
+            targetQuery = reference.get$hasQuery() ? reference.get$query() : _null;
           }
         }
       }
@@ -13753,17 +13270,12 @@
       t1 = _this._fragment;
       if ((t1 == null ? "" : t1) !== "")
         throw A.wrapException(A.UnsupportedError$(string$.Cannotff));
-      t1 = $.$get$_Uri__isWindowsCached();
-      if (t1)
-        t1 = A._Uri__toWindowsFilePath(_this);
-      else {
-        if (_this._host != null && _this.get$host(_this) !== "")
-          A.throwExpression(A.UnsupportedError$(string$.Cannotn));
-        pathSegments = _this.get$pathSegments();
-        A._Uri__checkNonWindowsPathReservedCharacters(pathSegments, false);
-        t1 = A.StringBuffer__writeAll(B.JSString_methods.startsWith$1(_this.path, "/") ? "" + "/" : "", pathSegments, "/");
-        t1 = t1.charCodeAt(0) == 0 ? t1 : t1;
-      }
+      if (_this._host != null && _this.get$host() !== "")
+        A.throwExpression(A.UnsupportedError$(string$.Cannotn));
+      pathSegments = _this.get$pathSegments();
+      A._Uri__checkNonWindowsPathReservedCharacters(pathSegments, false);
+      t1 = A.StringBuffer__writeAll(B.JSString_methods.startsWith$1(_this.path, "/") ? "" + "/" : "", pathSegments, "/");
+      t1 = t1.charCodeAt(0) == 0 ? t1 : t1;
       return t1;
     },
     toString$0(_) {
@@ -13779,15 +13291,15 @@
         if (_this.scheme === other.get$scheme())
           if (_this._host != null === other.get$hasAuthority())
             if (_this._userInfo === other.get$userInfo())
-              if (_this.get$host(_this) === other.get$host(other))
-                if (_this.get$port(_this) === other.get$port(other))
-                  if (_this.path === other.get$path(other)) {
+              if (_this.get$host() === other.get$host())
+                if (_this.get$port() === other.get$port())
+                  if (_this.path === other.get$path()) {
                     t1 = _this._query;
                     t2 = t1 == null;
                     if (!t2 === other.get$hasQuery()) {
                       if (t2)
                         t1 = "";
-                      if (t1 === other.get$query(other)) {
+                      if (t1 === other.get$query()) {
                         t1 = _this._fragment;
                         t2 = t1 == null;
                         if (!t2 === other.get$hasFragment()) {
@@ -13826,7 +13338,7 @@
     get$scheme() {
       return this.scheme;
     },
-    get$path(receiver) {
+    get$path() {
       return this.path;
     }
   };
@@ -13834,7 +13346,7 @@
     call$1(s) {
       return A._Uri__uriEncode(B.List_XRg0, A._asString(s), B.C_Utf8Codec, false);
     },
-    $signature: 17
+    $signature: 16
   };
   A.UriData.prototype = {
     get$uri() {
@@ -13875,7 +13387,7 @@
       B.NativeUint8List_methods.fillRange$3(t1, 0, 96, defaultTransition);
       return t1;
     },
-    $signature: 61
+    $signature: 25
   };
   A._createTables_setChars.prototype = {
     call$3(target, chars, transition) {
@@ -13887,7 +13399,7 @@
         target[t2] = transition;
       }
     },
-    $signature: 18
+    $signature: 17
   };
   A._createTables_setRange.prototype = {
     call$3(target, range, transition) {
@@ -13906,7 +13418,7 @@
         target[t1] = transition;
       }
     },
-    $signature: 18
+    $signature: 17
   };
   A._SimpleUri.prototype = {
     get$hasAuthority() {
@@ -13949,11 +13461,11 @@
         t2 = this._schemeEnd + 3;
       return t1 > t2 ? B.JSString_methods.substring$2(this._uri, t2, t1 - 1) : "";
     },
-    get$host(_) {
+    get$host() {
       var t1 = this._hostStart;
       return t1 > 0 ? B.JSString_methods.substring$2(this._uri, t1, this._portStart) : "";
     },
-    get$port(_) {
+    get$port() {
       var t1, _this = this;
       if (_this.get$hasPort())
         return A.int_parse(B.JSString_methods.substring$2(_this._uri, _this._portStart + 1, _this._pathStart), null);
@@ -13964,10 +13476,10 @@
         return 443;
       return 0;
     },
-    get$path(_) {
+    get$path() {
       return B.JSString_methods.substring$2(this._uri, this._pathStart, this._queryStart);
     },
-    get$query(_) {
+    get$query() {
       var t1 = this._queryStart,
         t2 = this._fragmentStart;
       return t1 < t2 ? B.JSString_methods.substring$2(this._uri, t1 + 1, t2) : "";
@@ -13977,32 +13489,10 @@
         t2 = this._uri;
       return t1 < t2.length ? B.JSString_methods.substring$1(t2, t1 + 1) : "";
     },
-    get$pathSegments() {
-      var parts, t2, i,
-        start = this._pathStart,
-        end = this._queryStart,
-        t1 = this._uri;
-      if (B.JSString_methods.startsWith$2(t1, "/", start))
-        ++start;
-      if (start === end)
-        return B.List_empty;
-      parts = A._setArrayType([], type$.JSArray_String);
-      for (t2 = t1.length, i = start; i < end; ++i) {
-        if (!(i >= 0 && i < t2))
-          return A.ioore(t1, i);
-        if (t1.charCodeAt(i) === 47) {
-          B.JSArray_methods.add$1(parts, B.JSString_methods.substring$2(t1, start, i));
-          start = i + 1;
-        }
-      }
-      B.JSArray_methods.add$1(parts, B.JSString_methods.substring$2(t1, start, end));
-      return A.List_List$unmodifiable(parts, type$.String);
-    },
     get$queryParameters() {
-      var _this = this;
-      if (_this._queryStart >= _this._fragmentStart)
+      if (this._queryStart >= this._fragmentStart)
         return B.Map_empty;
-      return new A.UnmodifiableMapView(A.Uri_splitQueryString(_this.get$query(_this)), type$.UnmodifiableMapView_String_String);
+      return new A.UnmodifiableMapView(A.Uri_splitQueryString(this.get$query()), type$.UnmodifiableMapView_String_String);
     },
     _isPort$1(port) {
       var portDigitStart = this._portStart + 1;
@@ -14115,7 +13605,7 @@
       return new A._SimpleUri(B.JSString_methods.substring$2(baseUri, 0, baseEnd) + insert + B.JSString_methods.substring$1(t2, refStart), base._schemeEnd, base._hostStart, base._portStart, baseStart, t1 + delta, ref._fragmentStart + delta, base._schemeCache);
     },
     toFilePath$0() {
-      var t2, t3, _this = this,
+      var t2, _this = this,
         t1 = _this._schemeEnd;
       if (t1 >= 0) {
         t2 = !(t1 === 4 && B.JSString_methods.startsWith$1(_this._uri, "file"));
@@ -14131,14 +13621,9 @@
           throw A.wrapException(A.UnsupportedError$(string$.Cannotfq));
         throw A.wrapException(A.UnsupportedError$(string$.Cannotff));
       }
-      t3 = $.$get$_Uri__isWindowsCached();
-      if (t3)
-        t1 = A._Uri__toWindowsFilePath(_this);
-      else {
-        if (_this._hostStart < _this._portStart)
-          A.throwExpression(A.UnsupportedError$(string$.Cannotn));
-        t1 = B.JSString_methods.substring$2(t2, _this._pathStart, t1);
-      }
+      if (_this._hostStart < _this._portStart)
+        A.throwExpression(A.UnsupportedError$(string$.Cannotn));
+      t1 = B.JSString_methods.substring$2(t2, _this._pathStart, t1);
       return t1;
     },
     get$hashCode(_) {
@@ -14156,13 +13641,13 @@
       var _this = this, _null = null,
         t1 = _this.get$scheme(),
         t2 = _this.get$userInfo(),
-        t3 = _this._hostStart > 0 ? _this.get$host(_this) : _null,
-        t4 = _this.get$hasPort() ? _this.get$port(_this) : _null,
+        t3 = _this._hostStart > 0 ? _this.get$host() : _null,
+        t4 = _this.get$hasPort() ? _this.get$port() : _null,
         t5 = _this._uri,
         t6 = _this._queryStart,
         t7 = B.JSString_methods.substring$2(t5, _this._pathStart, t6),
         t8 = _this._fragmentStart;
-      t6 = t6 < t8 ? _this.get$query(_this) : _null;
+      t6 = t6 < t8 ? _this.get$query() : _null;
       return A._Uri$_internal(t1, t2, t3, t4, t7, t6, t8 < t5.length ? _this.get$fragment() : _null);
     },
     toString$0(_) {
@@ -14171,1082 +13656,20 @@
     $isUri: 1
   };
   A._DataUri.prototype = {};
-  A.HtmlElement.prototype = {};
-  A.AccessibleNodeList.prototype = {
-    get$length(receiver) {
-      return receiver.length;
-    }
-  };
-  A.AnchorElement.prototype = {
-    toString$0(receiver) {
-      var t1 = String(receiver);
-      t1.toString;
-      return t1;
-    }
-  };
-  A.AreaElement.prototype = {
-    toString$0(receiver) {
-      var t1 = String(receiver);
-      t1.toString;
-      return t1;
-    }
-  };
-  A.Blob.prototype = {};
-  A.CharacterData.prototype = {
-    get$length(receiver) {
-      return receiver.length;
-    }
-  };
-  A.CssPerspective.prototype = {
-    get$length(receiver) {
-      return receiver.length;
-    }
-  };
-  A.CssRule.prototype = {$isCssRule: 1};
-  A.CssStyleDeclaration.prototype = {
-    get$length(receiver) {
-      var t1 = receiver.length;
-      t1.toString;
-      return t1;
-    }
-  };
-  A.CssStyleDeclarationBase.prototype = {};
-  A.CssStyleValue.prototype = {};
-  A.CssTransformComponent.prototype = {};
-  A.CssTransformValue.prototype = {
-    get$length(receiver) {
-      return receiver.length;
-    }
-  };
-  A.CssUnparsedValue.prototype = {
-    get$length(receiver) {
-      return receiver.length;
-    }
-  };
-  A.DataTransferItemList.prototype = {
-    get$length(receiver) {
-      return receiver.length;
-    }
-  };
-  A.DomException.prototype = {
-    toString$0(receiver) {
-      var t1 = String(receiver);
-      t1.toString;
-      return t1;
-    }
-  };
-  A.DomRectList.prototype = {
-    get$length(receiver) {
-      var t1 = receiver.length;
-      t1.toString;
-      return t1;
-    },
-    $index(receiver, index) {
-      var t1 = receiver.length,
-        t2 = index >>> 0 !== index || index >= t1;
-      t2.toString;
-      if (t2)
-        throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null));
-      t1 = receiver[index];
-      t1.toString;
-      return t1;
-    },
-    $indexSet(receiver, index, value) {
-      type$.Rectangle_num._as(value);
-      throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
-    },
-    elementAt$1(receiver, index) {
-      if (!(index >= 0 && index < receiver.length))
-        return A.ioore(receiver, index);
-      return receiver[index];
-    },
-    $isEfficientLengthIterable: 1,
-    $isJavaScriptIndexingBehavior: 1,
-    $isIterable: 1,
-    $isList: 1
-  };
-  A.DomRectReadOnly.prototype = {
-    toString$0(receiver) {
-      var t2,
-        t1 = receiver.left;
-      t1.toString;
-      t2 = receiver.top;
-      t2.toString;
-      return "Rectangle (" + A.S(t1) + ", " + A.S(t2) + ") " + A.S(this.get$width(receiver)) + " x " + A.S(this.get$height(receiver));
-    },
-    $eq(receiver, other) {
-      var t1, t2;
-      if (other == null)
-        return false;
-      if (type$.Rectangle_num._is(other)) {
-        t1 = receiver.left;
-        t1.toString;
-        t2 = other.left;
-        t2.toString;
-        if (t1 === t2) {
-          t1 = receiver.top;
-          t1.toString;
-          t2 = other.top;
-          t2.toString;
-          if (t1 === t2) {
-            t1 = J.getInterceptor$x(other);
-            t1 = this.get$width(receiver) === t1.get$width(other) && this.get$height(receiver) === t1.get$height(other);
-          } else
-            t1 = false;
-        } else
-          t1 = false;
-      } else
-        t1 = false;
-      return t1;
-    },
-    get$hashCode(receiver) {
-      var t2,
-        t1 = receiver.left;
-      t1.toString;
-      t2 = receiver.top;
-      t2.toString;
-      return A.Object_hash(t1, t2, this.get$width(receiver), this.get$height(receiver));
-    },
-    get$_height(receiver) {
-      return receiver.height;
-    },
-    get$height(receiver) {
-      var t1 = this.get$_height(receiver);
-      t1.toString;
-      return t1;
-    },
-    get$_width(receiver) {
-      return receiver.width;
-    },
-    get$width(receiver) {
-      var t1 = this.get$_width(receiver);
-      t1.toString;
-      return t1;
-    },
-    $isRectangle: 1
-  };
-  A.DomStringList.prototype = {
-    get$length(receiver) {
-      var t1 = receiver.length;
-      t1.toString;
-      return t1;
-    },
-    $index(receiver, index) {
-      var t1 = receiver.length,
-        t2 = index >>> 0 !== index || index >= t1;
-      t2.toString;
-      if (t2)
-        throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null));
-      t1 = receiver[index];
-      t1.toString;
-      return t1;
-    },
-    $indexSet(receiver, index, value) {
-      A._asString(value);
-      throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
-    },
-    elementAt$1(receiver, index) {
-      if (!(index >= 0 && index < receiver.length))
-        return A.ioore(receiver, index);
-      return receiver[index];
-    },
-    $isEfficientLengthIterable: 1,
-    $isJavaScriptIndexingBehavior: 1,
-    $isIterable: 1,
-    $isList: 1
-  };
-  A.DomTokenList.prototype = {
-    get$length(receiver) {
-      var t1 = receiver.length;
-      t1.toString;
-      return t1;
-    }
-  };
-  A.Element.prototype = {
-    toString$0(receiver) {
-      var t1 = receiver.localName;
-      t1.toString;
-      return t1;
-    }
-  };
-  A.EventTarget.prototype = {};
-  A.File.prototype = {$isFile: 1};
-  A.FileList.prototype = {
-    get$length(receiver) {
-      var t1 = receiver.length;
-      t1.toString;
-      return t1;
-    },
-    $index(receiver, index) {
-      var t1 = receiver.length,
-        t2 = index >>> 0 !== index || index >= t1;
-      t2.toString;
-      if (t2)
-        throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null));
-      t1 = receiver[index];
-      t1.toString;
-      return t1;
-    },
-    $indexSet(receiver, index, value) {
-      type$.File._as(value);
-      throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
-    },
-    elementAt$1(receiver, index) {
-      if (!(index >= 0 && index < receiver.length))
-        return A.ioore(receiver, index);
-      return receiver[index];
-    },
-    $isEfficientLengthIterable: 1,
-    $isJavaScriptIndexingBehavior: 1,
-    $isIterable: 1,
-    $isList: 1
-  };
-  A.FileWriter.prototype = {
-    get$length(receiver) {
-      return receiver.length;
-    }
-  };
-  A.FormElement.prototype = {
-    get$length(receiver) {
-      return receiver.length;
-    }
-  };
-  A.Gamepad.prototype = {$isGamepad: 1};
-  A.History.prototype = {
-    get$length(receiver) {
-      var t1 = receiver.length;
-      t1.toString;
-      return t1;
-    }
-  };
-  A.HtmlCollection.prototype = {
-    get$length(receiver) {
-      var t1 = receiver.length;
-      t1.toString;
-      return t1;
-    },
-    $index(receiver, index) {
-      var t1 = receiver.length,
-        t2 = index >>> 0 !== index || index >= t1;
-      t2.toString;
-      if (t2)
-        throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null));
-      t1 = receiver[index];
-      t1.toString;
-      return t1;
-    },
-    $indexSet(receiver, index, value) {
-      type$.Node._as(value);
-      throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
-    },
-    elementAt$1(receiver, index) {
-      if (!(index >= 0 && index < receiver.length))
-        return A.ioore(receiver, index);
-      return receiver[index];
-    },
-    $isEfficientLengthIterable: 1,
-    $isJavaScriptIndexingBehavior: 1,
-    $isIterable: 1,
-    $isList: 1
-  };
-  A.Location.prototype = {
-    toString$0(receiver) {
-      var t1 = String(receiver);
-      t1.toString;
-      return t1;
-    }
-  };
-  A.MediaList.prototype = {
-    get$length(receiver) {
-      return receiver.length;
-    }
-  };
-  A.MidiInputMap.prototype = {
-    containsKey$1(receiver, key) {
-      return A.convertNativeToDart_Dictionary(receiver.get(key)) != null;
-    },
-    $index(receiver, key) {
-      return A.convertNativeToDart_Dictionary(receiver.get(A._asString(key)));
-    },
-    forEach$1(receiver, f) {
-      var entries, entry, t1;
-      type$.void_Function_String_dynamic._as(f);
-      entries = receiver.entries();
-      for (; true;) {
-        entry = entries.next();
-        t1 = entry.done;
-        t1.toString;
-        if (t1)
-          return;
-        t1 = entry.value[0];
-        t1.toString;
-        f.call$2(t1, A.convertNativeToDart_Dictionary(entry.value[1]));
-      }
-    },
-    get$keys(receiver) {
-      var keys = A._setArrayType([], type$.JSArray_String);
-      this.forEach$1(receiver, new A.MidiInputMap_keys_closure(keys));
-      return keys;
-    },
-    get$length(receiver) {
-      var t1 = receiver.size;
-      t1.toString;
-      return t1;
-    },
-    get$isEmpty(receiver) {
-      var t1 = receiver.size;
-      t1.toString;
-      return t1 === 0;
-    },
-    $indexSet(receiver, key, value) {
-      throw A.wrapException(A.UnsupportedError$("Not supported"));
-    },
-    $isMap: 1
-  };
-  A.MidiInputMap_keys_closure.prototype = {
-    call$2(k, v) {
-      return B.JSArray_methods.add$1(this.keys, k);
-    },
-    $signature: 4
-  };
-  A.MidiOutputMap.prototype = {
-    containsKey$1(receiver, key) {
-      return A.convertNativeToDart_Dictionary(receiver.get(key)) != null;
-    },
-    $index(receiver, key) {
-      return A.convertNativeToDart_Dictionary(receiver.get(A._asString(key)));
-    },
-    forEach$1(receiver, f) {
-      var entries, entry, t1;
-      type$.void_Function_String_dynamic._as(f);
-      entries = receiver.entries();
-      for (; true;) {
-        entry = entries.next();
-        t1 = entry.done;
-        t1.toString;
-        if (t1)
-          return;
-        t1 = entry.value[0];
-        t1.toString;
-        f.call$2(t1, A.convertNativeToDart_Dictionary(entry.value[1]));
-      }
-    },
-    get$keys(receiver) {
-      var keys = A._setArrayType([], type$.JSArray_String);
-      this.forEach$1(receiver, new A.MidiOutputMap_keys_closure(keys));
-      return keys;
-    },
-    get$length(receiver) {
-      var t1 = receiver.size;
-      t1.toString;
-      return t1;
-    },
-    get$isEmpty(receiver) {
-      var t1 = receiver.size;
-      t1.toString;
-      return t1 === 0;
-    },
-    $indexSet(receiver, key, value) {
-      throw A.wrapException(A.UnsupportedError$("Not supported"));
-    },
-    $isMap: 1
-  };
-  A.MidiOutputMap_keys_closure.prototype = {
-    call$2(k, v) {
-      return B.JSArray_methods.add$1(this.keys, k);
-    },
-    $signature: 4
-  };
-  A.MimeType.prototype = {$isMimeType: 1};
-  A.MimeTypeArray.prototype = {
-    get$length(receiver) {
-      var t1 = receiver.length;
-      t1.toString;
-      return t1;
-    },
-    $index(receiver, index) {
-      var t1 = receiver.length,
-        t2 = index >>> 0 !== index || index >= t1;
-      t2.toString;
-      if (t2)
-        throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null));
-      t1 = receiver[index];
-      t1.toString;
-      return t1;
-    },
-    $indexSet(receiver, index, value) {
-      type$.MimeType._as(value);
-      throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
-    },
-    elementAt$1(receiver, index) {
-      if (!(index >= 0 && index < receiver.length))
-        return A.ioore(receiver, index);
-      return receiver[index];
-    },
-    $isEfficientLengthIterable: 1,
-    $isJavaScriptIndexingBehavior: 1,
-    $isIterable: 1,
-    $isList: 1
-  };
-  A.Node.prototype = {
-    toString$0(receiver) {
-      var value = receiver.nodeValue;
-      return value == null ? this.super$Interceptor$toString(receiver) : value;
-    },
-    $isNode: 1
-  };
-  A.NodeList.prototype = {
-    get$length(receiver) {
-      var t1 = receiver.length;
-      t1.toString;
-      return t1;
-    },
-    $index(receiver, index) {
-      var t1 = receiver.length,
-        t2 = index >>> 0 !== index || index >= t1;
-      t2.toString;
-      if (t2)
-        throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null));
-      t1 = receiver[index];
-      t1.toString;
-      return t1;
-    },
-    $indexSet(receiver, index, value) {
-      type$.Node._as(value);
-      throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
-    },
-    elementAt$1(receiver, index) {
-      if (!(index >= 0 && index < receiver.length))
-        return A.ioore(receiver, index);
-      return receiver[index];
-    },
-    $isEfficientLengthIterable: 1,
-    $isJavaScriptIndexingBehavior: 1,
-    $isIterable: 1,
-    $isList: 1
-  };
-  A.Plugin.prototype = {
-    get$length(receiver) {
-      return receiver.length;
-    },
-    $isPlugin: 1
-  };
-  A.PluginArray.prototype = {
-    get$length(receiver) {
-      var t1 = receiver.length;
-      t1.toString;
-      return t1;
-    },
-    $index(receiver, index) {
-      var t1 = receiver.length,
-        t2 = index >>> 0 !== index || index >= t1;
-      t2.toString;
-      if (t2)
-        throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null));
-      t1 = receiver[index];
-      t1.toString;
-      return t1;
-    },
-    $indexSet(receiver, index, value) {
-      type$.Plugin._as(value);
-      throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
-    },
-    elementAt$1(receiver, index) {
-      if (!(index >= 0 && index < receiver.length))
-        return A.ioore(receiver, index);
-      return receiver[index];
-    },
-    $isEfficientLengthIterable: 1,
-    $isJavaScriptIndexingBehavior: 1,
-    $isIterable: 1,
-    $isList: 1
-  };
-  A.RtcStatsReport.prototype = {
-    containsKey$1(receiver, key) {
-      return A.convertNativeToDart_Dictionary(receiver.get(key)) != null;
-    },
-    $index(receiver, key) {
-      return A.convertNativeToDart_Dictionary(receiver.get(A._asString(key)));
-    },
-    forEach$1(receiver, f) {
-      var entries, entry, t1;
-      type$.void_Function_String_dynamic._as(f);
-      entries = receiver.entries();
-      for (; true;) {
-        entry = entries.next();
-        t1 = entry.done;
-        t1.toString;
-        if (t1)
-          return;
-        t1 = entry.value[0];
-        t1.toString;
-        f.call$2(t1, A.convertNativeToDart_Dictionary(entry.value[1]));
-      }
-    },
-    get$keys(receiver) {
-      var keys = A._setArrayType([], type$.JSArray_String);
-      this.forEach$1(receiver, new A.RtcStatsReport_keys_closure(keys));
-      return keys;
-    },
-    get$length(receiver) {
-      var t1 = receiver.size;
-      t1.toString;
-      return t1;
-    },
-    get$isEmpty(receiver) {
-      var t1 = receiver.size;
-      t1.toString;
-      return t1 === 0;
-    },
-    $indexSet(receiver, key, value) {
-      throw A.wrapException(A.UnsupportedError$("Not supported"));
-    },
-    $isMap: 1
-  };
-  A.RtcStatsReport_keys_closure.prototype = {
-    call$2(k, v) {
-      return B.JSArray_methods.add$1(this.keys, k);
-    },
-    $signature: 4
-  };
-  A.SelectElement.prototype = {
-    get$length(receiver) {
-      return receiver.length;
-    }
-  };
-  A.SourceBuffer.prototype = {$isSourceBuffer: 1};
-  A.SourceBufferList.prototype = {
-    get$length(receiver) {
-      var t1 = receiver.length;
-      t1.toString;
-      return t1;
-    },
-    $index(receiver, index) {
-      var t1 = receiver.length,
-        t2 = index >>> 0 !== index || index >= t1;
-      t2.toString;
-      if (t2)
-        throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null));
-      t1 = receiver[index];
-      t1.toString;
-      return t1;
-    },
-    $indexSet(receiver, index, value) {
-      type$.SourceBuffer._as(value);
-      throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
-    },
-    elementAt$1(receiver, index) {
-      if (!(index >= 0 && index < receiver.length))
-        return A.ioore(receiver, index);
-      return receiver[index];
-    },
-    $isEfficientLengthIterable: 1,
-    $isJavaScriptIndexingBehavior: 1,
-    $isIterable: 1,
-    $isList: 1
-  };
-  A.SpeechGrammar.prototype = {$isSpeechGrammar: 1};
-  A.SpeechGrammarList.prototype = {
-    get$length(receiver) {
-      var t1 = receiver.length;
-      t1.toString;
-      return t1;
-    },
-    $index(receiver, index) {
-      var t1 = receiver.length,
-        t2 = index >>> 0 !== index || index >= t1;
-      t2.toString;
-      if (t2)
-        throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null));
-      t1 = receiver[index];
-      t1.toString;
-      return t1;
-    },
-    $indexSet(receiver, index, value) {
-      type$.SpeechGrammar._as(value);
-      throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
-    },
-    elementAt$1(receiver, index) {
-      if (!(index >= 0 && index < receiver.length))
-        return A.ioore(receiver, index);
-      return receiver[index];
-    },
-    $isEfficientLengthIterable: 1,
-    $isJavaScriptIndexingBehavior: 1,
-    $isIterable: 1,
-    $isList: 1
-  };
-  A.SpeechRecognitionResult.prototype = {
-    get$length(receiver) {
-      return receiver.length;
-    },
-    $isSpeechRecognitionResult: 1
-  };
-  A.Storage.prototype = {
-    containsKey$1(receiver, key) {
-      return receiver.getItem(key) != null;
-    },
-    $index(receiver, key) {
-      return receiver.getItem(A._asString(key));
-    },
-    $indexSet(receiver, key, value) {
-      receiver.setItem(key, value);
-    },
-    forEach$1(receiver, f) {
-      var i, key, t1;
-      type$.void_Function_String_String._as(f);
-      for (i = 0; true; ++i) {
-        key = receiver.key(i);
-        if (key == null)
-          return;
-        t1 = receiver.getItem(key);
-        t1.toString;
-        f.call$2(key, t1);
-      }
-    },
-    get$keys(receiver) {
-      var keys = A._setArrayType([], type$.JSArray_String);
-      this.forEach$1(receiver, new A.Storage_keys_closure(keys));
-      return keys;
-    },
-    get$length(receiver) {
-      var t1 = receiver.length;
-      t1.toString;
-      return t1;
-    },
-    get$isEmpty(receiver) {
-      return receiver.key(0) == null;
-    },
-    $isMap: 1
-  };
-  A.Storage_keys_closure.prototype = {
-    call$2(k, v) {
-      return B.JSArray_methods.add$1(this.keys, k);
-    },
-    $signature: 27
-  };
-  A.StyleSheet.prototype = {$isStyleSheet: 1};
-  A.TextTrack.prototype = {$isTextTrack: 1};
-  A.TextTrackCue.prototype = {$isTextTrackCue: 1};
-  A.TextTrackCueList.prototype = {
-    get$length(receiver) {
-      var t1 = receiver.length;
-      t1.toString;
-      return t1;
-    },
-    $index(receiver, index) {
-      var t1 = receiver.length,
-        t2 = index >>> 0 !== index || index >= t1;
-      t2.toString;
-      if (t2)
-        throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null));
-      t1 = receiver[index];
-      t1.toString;
-      return t1;
-    },
-    $indexSet(receiver, index, value) {
-      type$.TextTrackCue._as(value);
-      throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
-    },
-    elementAt$1(receiver, index) {
-      if (!(index >= 0 && index < receiver.length))
-        return A.ioore(receiver, index);
-      return receiver[index];
-    },
-    $isEfficientLengthIterable: 1,
-    $isJavaScriptIndexingBehavior: 1,
-    $isIterable: 1,
-    $isList: 1
-  };
-  A.TextTrackList.prototype = {
-    get$length(receiver) {
-      var t1 = receiver.length;
-      t1.toString;
-      return t1;
-    },
-    $index(receiver, index) {
-      var t1 = receiver.length,
-        t2 = index >>> 0 !== index || index >= t1;
-      t2.toString;
-      if (t2)
-        throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null));
-      t1 = receiver[index];
-      t1.toString;
-      return t1;
-    },
-    $indexSet(receiver, index, value) {
-      type$.TextTrack._as(value);
-      throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
-    },
-    elementAt$1(receiver, index) {
-      if (!(index >= 0 && index < receiver.length))
-        return A.ioore(receiver, index);
-      return receiver[index];
-    },
-    $isEfficientLengthIterable: 1,
-    $isJavaScriptIndexingBehavior: 1,
-    $isIterable: 1,
-    $isList: 1
-  };
-  A.TimeRanges.prototype = {
-    get$length(receiver) {
-      var t1 = receiver.length;
-      t1.toString;
-      return t1;
-    }
-  };
-  A.Touch.prototype = {$isTouch: 1};
-  A.TouchList.prototype = {
-    get$length(receiver) {
-      var t1 = receiver.length;
-      t1.toString;
-      return t1;
-    },
-    $index(receiver, index) {
-      var t1 = receiver.length,
-        t2 = index >>> 0 !== index || index >= t1;
-      t2.toString;
-      if (t2)
-        throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null));
-      t1 = receiver[index];
-      t1.toString;
-      return t1;
-    },
-    $indexSet(receiver, index, value) {
-      type$.Touch._as(value);
-      throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
-    },
-    elementAt$1(receiver, index) {
-      if (!(index >= 0 && index < receiver.length))
-        return A.ioore(receiver, index);
-      return receiver[index];
-    },
-    $isEfficientLengthIterable: 1,
-    $isJavaScriptIndexingBehavior: 1,
-    $isIterable: 1,
-    $isList: 1
-  };
-  A.TrackDefaultList.prototype = {
-    get$length(receiver) {
-      return receiver.length;
-    }
-  };
-  A.Url.prototype = {
-    toString$0(receiver) {
-      var t1 = String(receiver);
-      t1.toString;
-      return t1;
-    }
-  };
-  A.VideoTrackList.prototype = {
-    get$length(receiver) {
-      return receiver.length;
-    }
-  };
-  A._CssRuleList.prototype = {
-    get$length(receiver) {
-      var t1 = receiver.length;
-      t1.toString;
-      return t1;
-    },
-    $index(receiver, index) {
-      var t1 = receiver.length,
-        t2 = index >>> 0 !== index || index >= t1;
-      t2.toString;
-      if (t2)
-        throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null));
-      t1 = receiver[index];
-      t1.toString;
-      return t1;
-    },
-    $indexSet(receiver, index, value) {
-      type$.CssRule._as(value);
-      throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
-    },
-    elementAt$1(receiver, index) {
-      if (!(index >= 0 && index < receiver.length))
-        return A.ioore(receiver, index);
-      return receiver[index];
-    },
-    $isEfficientLengthIterable: 1,
-    $isJavaScriptIndexingBehavior: 1,
-    $isIterable: 1,
-    $isList: 1
-  };
-  A._DomRect.prototype = {
-    toString$0(receiver) {
-      var t2, t3, t4,
-        t1 = receiver.left;
-      t1.toString;
-      t2 = receiver.top;
-      t2.toString;
-      t3 = receiver.width;
-      t3.toString;
-      t4 = receiver.height;
-      t4.toString;
-      return "Rectangle (" + A.S(t1) + ", " + A.S(t2) + ") " + A.S(t3) + " x " + A.S(t4);
-    },
-    $eq(receiver, other) {
-      var t1, t2;
-      if (other == null)
-        return false;
-      if (type$.Rectangle_num._is(other)) {
-        t1 = receiver.left;
-        t1.toString;
-        t2 = other.left;
-        t2.toString;
-        if (t1 === t2) {
-          t1 = receiver.top;
-          t1.toString;
-          t2 = other.top;
-          t2.toString;
-          if (t1 === t2) {
-            t1 = receiver.width;
-            t1.toString;
-            t2 = J.getInterceptor$x(other);
-            if (t1 === t2.get$width(other)) {
-              t1 = receiver.height;
-              t1.toString;
-              t2 = t1 === t2.get$height(other);
-              t1 = t2;
-            } else
-              t1 = false;
-          } else
-            t1 = false;
-        } else
-          t1 = false;
-      } else
-        t1 = false;
-      return t1;
-    },
-    get$hashCode(receiver) {
-      var t2, t3, t4,
-        t1 = receiver.left;
-      t1.toString;
-      t2 = receiver.top;
-      t2.toString;
-      t3 = receiver.width;
-      t3.toString;
-      t4 = receiver.height;
-      t4.toString;
-      return A.Object_hash(t1, t2, t3, t4);
-    },
-    get$_height(receiver) {
-      return receiver.height;
-    },
-    get$height(receiver) {
-      var t1 = receiver.height;
-      t1.toString;
-      return t1;
-    },
-    get$_width(receiver) {
-      return receiver.width;
-    },
-    get$width(receiver) {
-      var t1 = receiver.width;
-      t1.toString;
-      return t1;
-    }
-  };
-  A._GamepadList.prototype = {
-    get$length(receiver) {
-      var t1 = receiver.length;
-      t1.toString;
-      return t1;
-    },
-    $index(receiver, index) {
-      var t1 = receiver.length,
-        t2 = index >>> 0 !== index || index >= t1;
-      t2.toString;
-      if (t2)
-        throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null));
-      return receiver[index];
-    },
-    $indexSet(receiver, index, value) {
-      type$.nullable_Gamepad._as(value);
-      throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
-    },
-    elementAt$1(receiver, index) {
-      if (!(index >= 0 && index < receiver.length))
-        return A.ioore(receiver, index);
-      return receiver[index];
-    },
-    $isEfficientLengthIterable: 1,
-    $isJavaScriptIndexingBehavior: 1,
-    $isIterable: 1,
-    $isList: 1
-  };
-  A._NamedNodeMap.prototype = {
-    get$length(receiver) {
-      var t1 = receiver.length;
-      t1.toString;
-      return t1;
-    },
-    $index(receiver, index) {
-      var t1 = receiver.length,
-        t2 = index >>> 0 !== index || index >= t1;
-      t2.toString;
-      if (t2)
-        throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null));
-      t1 = receiver[index];
-      t1.toString;
-      return t1;
-    },
-    $indexSet(receiver, index, value) {
-      type$.Node._as(value);
-      throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
-    },
-    elementAt$1(receiver, index) {
-      if (!(index >= 0 && index < receiver.length))
-        return A.ioore(receiver, index);
-      return receiver[index];
-    },
-    $isEfficientLengthIterable: 1,
-    $isJavaScriptIndexingBehavior: 1,
-    $isIterable: 1,
-    $isList: 1
-  };
-  A._SpeechRecognitionResultList.prototype = {
-    get$length(receiver) {
-      var t1 = receiver.length;
-      t1.toString;
-      return t1;
-    },
-    $index(receiver, index) {
-      var t1 = receiver.length,
-        t2 = index >>> 0 !== index || index >= t1;
-      t2.toString;
-      if (t2)
-        throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null));
-      t1 = receiver[index];
-      t1.toString;
-      return t1;
-    },
-    $indexSet(receiver, index, value) {
-      type$.SpeechRecognitionResult._as(value);
-      throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
-    },
-    elementAt$1(receiver, index) {
-      if (!(index >= 0 && index < receiver.length))
-        return A.ioore(receiver, index);
-      return receiver[index];
-    },
-    $isEfficientLengthIterable: 1,
-    $isJavaScriptIndexingBehavior: 1,
-    $isIterable: 1,
-    $isList: 1
-  };
-  A._StyleSheetList.prototype = {
-    get$length(receiver) {
-      var t1 = receiver.length;
-      t1.toString;
-      return t1;
-    },
-    $index(receiver, index) {
-      var t1 = receiver.length,
-        t2 = index >>> 0 !== index || index >= t1;
-      t2.toString;
-      if (t2)
-        throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null));
-      t1 = receiver[index];
-      t1.toString;
-      return t1;
-    },
-    $indexSet(receiver, index, value) {
-      type$.StyleSheet._as(value);
-      throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
-    },
-    elementAt$1(receiver, index) {
-      if (!(index >= 0 && index < receiver.length))
-        return A.ioore(receiver, index);
-      return receiver[index];
-    },
-    $isEfficientLengthIterable: 1,
-    $isJavaScriptIndexingBehavior: 1,
-    $isIterable: 1,
-    $isList: 1
-  };
-  A.ImmutableListMixin.prototype = {
-    get$iterator(receiver) {
-      return new A.FixedSizeListIterator(receiver, this.get$length(receiver), A.instanceType(receiver)._eval$1("FixedSizeListIterator<ImmutableListMixin.E>"));
-    }
-  };
-  A.FixedSizeListIterator.prototype = {
-    moveNext$0() {
-      var _this = this,
-        nextPosition = _this._position + 1,
-        t1 = _this._html$_length;
-      if (nextPosition < t1) {
-        _this.set$_html$_current(J.$index$asx(_this._array, nextPosition));
-        _this._position = nextPosition;
-        return true;
-      }
-      _this.set$_html$_current(null);
-      _this._position = t1;
-      return false;
-    },
-    get$current(_) {
-      var t1 = this._html$_current;
-      return t1 == null ? this.$ti._precomputed1._as(t1) : t1;
-    },
-    set$_html$_current(_current) {
-      this._html$_current = this.$ti._eval$1("1?")._as(_current);
-    },
-    $isIterator: 1
-  };
-  A._CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase.prototype = {};
-  A._DomRectList_JavaScriptObject_ListMixin.prototype = {};
-  A._DomRectList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {};
-  A._DomStringList_JavaScriptObject_ListMixin.prototype = {};
-  A._DomStringList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {};
-  A._FileList_JavaScriptObject_ListMixin.prototype = {};
-  A._FileList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {};
-  A._HtmlCollection_JavaScriptObject_ListMixin.prototype = {};
-  A._HtmlCollection_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {};
-  A._MidiInputMap_JavaScriptObject_MapMixin.prototype = {};
-  A._MidiOutputMap_JavaScriptObject_MapMixin.prototype = {};
-  A._MimeTypeArray_JavaScriptObject_ListMixin.prototype = {};
-  A._MimeTypeArray_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {};
-  A._NodeList_JavaScriptObject_ListMixin.prototype = {};
-  A._NodeList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {};
-  A._PluginArray_JavaScriptObject_ListMixin.prototype = {};
-  A._PluginArray_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {};
-  A._RtcStatsReport_JavaScriptObject_MapMixin.prototype = {};
-  A._SourceBufferList_EventTarget_ListMixin.prototype = {};
-  A._SourceBufferList_EventTarget_ListMixin_ImmutableListMixin.prototype = {};
-  A._SpeechGrammarList_JavaScriptObject_ListMixin.prototype = {};
-  A._SpeechGrammarList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {};
-  A._Storage_JavaScriptObject_MapMixin.prototype = {};
-  A._TextTrackCueList_JavaScriptObject_ListMixin.prototype = {};
-  A._TextTrackCueList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {};
-  A._TextTrackList_EventTarget_ListMixin.prototype = {};
-  A._TextTrackList_EventTarget_ListMixin_ImmutableListMixin.prototype = {};
-  A._TouchList_JavaScriptObject_ListMixin.prototype = {};
-  A._TouchList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {};
-  A.__CssRuleList_JavaScriptObject_ListMixin.prototype = {};
-  A.__CssRuleList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {};
-  A.__GamepadList_JavaScriptObject_ListMixin.prototype = {};
-  A.__GamepadList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {};
-  A.__NamedNodeMap_JavaScriptObject_ListMixin.prototype = {};
-  A.__NamedNodeMap_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {};
-  A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin.prototype = {};
-  A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {};
-  A.__StyleSheetList_JavaScriptObject_ListMixin.prototype = {};
-  A.__StyleSheetList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {};
   A.jsify__convert.prototype = {
     call$1(o) {
-      var t1, convertedMap, t2, key, convertedList;
+      var t1, convertedMap, key, convertedList;
       if (A._noJsifyRequired(o))
         return o;
       t1 = this._convertedObjects;
-      if (t1.containsKey$1(0, o))
+      if (t1.containsKey$1(o))
         return t1.$index(0, o);
       if (type$.Map_of_nullable_Object_and_nullable_Object._is(o)) {
         convertedMap = {};
         t1.$indexSet(0, o, convertedMap);
-        for (t1 = J.getInterceptor$x(o), t2 = J.get$iterator$ax(t1.get$keys(o)); t2.moveNext$0();) {
-          key = t2.get$current(t2);
-          convertedMap[key] = this.call$1(t1.$index(o, key));
+        for (t1 = o.get$keys(), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
+          key = t1.get$current();
+          convertedMap[key] = this.call$1(o.$index(0, key));
         }
         return convertedMap;
       } else if (type$.Iterable_nullable_Object._is(o)) {
@@ -15257,11 +13680,11 @@
       } else
         return o;
     },
-    $signature: 19
+    $signature: 18
   };
   A.promiseToFuture_closure.prototype = {
     call$1(r) {
-      return this.completer.complete$1(0, this.T._eval$1("0/?")._as(r));
+      return this.completer.complete$1(this.T._eval$1("0/?")._as(r));
     },
     $signature: 5
   };
@@ -15280,15 +13703,11 @@
         return o;
       t1 = this._convertedObjects;
       o.toString;
-      if (t1.containsKey$1(0, o))
+      if (t1.containsKey$1(o))
         return t1.$index(0, o);
       if (o instanceof Date) {
         millisSinceEpoch = o.getTime();
-        if (Math.abs(millisSinceEpoch) <= 864e13)
-          t1 = false;
-        else
-          t1 = true;
-        if (t1)
+        if (Math.abs(millisSinceEpoch) > 864e13)
           A.throwExpression(A.ArgumentError$("DateTime is outside valid range: " + millisSinceEpoch, null));
         A.checkNotNullable(true, "isUtc", type$.bool);
         return new A.DateTime(millisSinceEpoch, true);
@@ -15305,7 +13724,7 @@
         originalKeys = Object.keys(o);
         dartKeys = [];
         for (t1 = J.getInterceptor$ax(originalKeys), t2 = t1.get$iterator(originalKeys); t2.moveNext$0();)
-          dartKeys.push(A.dartify(t2.get$current(t2)));
+          dartKeys.push(A.dartify(t2.get$current()));
         for (i = 0; i < t1.get$length(originalKeys); ++i) {
           jsKey = t1.$index(originalKeys, i);
           if (!(i < dartKeys.length))
@@ -15327,7 +13746,7 @@
       }
       return o;
     },
-    $signature: 19
+    $signature: 18
   };
   A.NullRejectionException.prototype = {
     toString$0(_) {
@@ -15335,206 +13754,13 @@
     },
     $isException: 1
   };
-  A.Length.prototype = {$isLength: 1};
-  A.LengthList.prototype = {
-    get$length(receiver) {
-      var t1 = receiver.length;
-      t1.toString;
-      return t1;
-    },
-    $index(receiver, index) {
-      var t1 = receiver.length;
-      t1.toString;
-      t1 = index >>> 0 !== index || index >= t1;
-      t1.toString;
-      if (t1)
-        throw A.wrapException(A.IndexError$withLength(index, this.get$length(receiver), receiver, null));
-      t1 = receiver.getItem(index);
-      t1.toString;
-      return t1;
-    },
-    $indexSet(receiver, index, value) {
-      type$.Length._as(value);
-      throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
-    },
-    elementAt$1(receiver, index) {
-      return this.$index(receiver, index);
-    },
-    $isEfficientLengthIterable: 1,
-    $isIterable: 1,
-    $isList: 1
-  };
-  A.Number.prototype = {$isNumber: 1};
-  A.NumberList.prototype = {
-    get$length(receiver) {
-      var t1 = receiver.length;
-      t1.toString;
-      return t1;
-    },
-    $index(receiver, index) {
-      var t1 = receiver.length;
-      t1.toString;
-      t1 = index >>> 0 !== index || index >= t1;
-      t1.toString;
-      if (t1)
-        throw A.wrapException(A.IndexError$withLength(index, this.get$length(receiver), receiver, null));
-      t1 = receiver.getItem(index);
-      t1.toString;
-      return t1;
-    },
-    $indexSet(receiver, index, value) {
-      type$.Number._as(value);
-      throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
-    },
-    elementAt$1(receiver, index) {
-      return this.$index(receiver, index);
-    },
-    $isEfficientLengthIterable: 1,
-    $isIterable: 1,
-    $isList: 1
-  };
-  A.PointList.prototype = {
-    get$length(receiver) {
-      return receiver.length;
-    }
-  };
-  A.StringList.prototype = {
-    get$length(receiver) {
-      var t1 = receiver.length;
-      t1.toString;
-      return t1;
-    },
-    $index(receiver, index) {
-      var t1 = receiver.length;
-      t1.toString;
-      t1 = index >>> 0 !== index || index >= t1;
-      t1.toString;
-      if (t1)
-        throw A.wrapException(A.IndexError$withLength(index, this.get$length(receiver), receiver, null));
-      t1 = receiver.getItem(index);
-      t1.toString;
-      return t1;
-    },
-    $indexSet(receiver, index, value) {
-      A._asString(value);
-      throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
-    },
-    elementAt$1(receiver, index) {
-      return this.$index(receiver, index);
-    },
-    $isEfficientLengthIterable: 1,
-    $isIterable: 1,
-    $isList: 1
-  };
-  A.Transform.prototype = {$isTransform: 1};
-  A.TransformList.prototype = {
-    get$length(receiver) {
-      var t1 = receiver.length;
-      t1.toString;
-      return t1;
-    },
-    $index(receiver, index) {
-      var t1 = receiver.length;
-      t1.toString;
-      t1 = index >>> 0 !== index || index >= t1;
-      t1.toString;
-      if (t1)
-        throw A.wrapException(A.IndexError$withLength(index, this.get$length(receiver), receiver, null));
-      t1 = receiver.getItem(index);
-      t1.toString;
-      return t1;
-    },
-    $indexSet(receiver, index, value) {
-      type$.Transform._as(value);
-      throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
-    },
-    elementAt$1(receiver, index) {
-      return this.$index(receiver, index);
-    },
-    $isEfficientLengthIterable: 1,
-    $isIterable: 1,
-    $isList: 1
-  };
-  A._LengthList_JavaScriptObject_ListMixin.prototype = {};
-  A._LengthList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {};
-  A._NumberList_JavaScriptObject_ListMixin.prototype = {};
-  A._NumberList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {};
-  A._StringList_JavaScriptObject_ListMixin.prototype = {};
-  A._StringList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {};
-  A._TransformList_JavaScriptObject_ListMixin.prototype = {};
-  A._TransformList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {};
-  A.AudioBuffer.prototype = {
-    get$length(receiver) {
-      return receiver.length;
-    }
-  };
-  A.AudioParamMap.prototype = {
-    containsKey$1(receiver, key) {
-      return A.convertNativeToDart_Dictionary(receiver.get(key)) != null;
-    },
-    $index(receiver, key) {
-      return A.convertNativeToDart_Dictionary(receiver.get(A._asString(key)));
-    },
-    forEach$1(receiver, f) {
-      var entries, entry, t1;
-      type$.void_Function_String_dynamic._as(f);
-      entries = receiver.entries();
-      for (; true;) {
-        entry = entries.next();
-        t1 = entry.done;
-        t1.toString;
-        if (t1)
-          return;
-        t1 = entry.value[0];
-        t1.toString;
-        f.call$2(t1, A.convertNativeToDart_Dictionary(entry.value[1]));
-      }
-    },
-    get$keys(receiver) {
-      var keys = A._setArrayType([], type$.JSArray_String);
-      this.forEach$1(receiver, new A.AudioParamMap_keys_closure(keys));
-      return keys;
-    },
-    get$length(receiver) {
-      var t1 = receiver.size;
-      t1.toString;
-      return t1;
-    },
-    get$isEmpty(receiver) {
-      var t1 = receiver.size;
-      t1.toString;
-      return t1 === 0;
-    },
-    $indexSet(receiver, key, value) {
-      throw A.wrapException(A.UnsupportedError$("Not supported"));
-    },
-    $isMap: 1
-  };
-  A.AudioParamMap_keys_closure.prototype = {
-    call$2(k, v) {
-      return B.JSArray_methods.add$1(this.keys, k);
-    },
-    $signature: 4
-  };
-  A.AudioTrackList.prototype = {
-    get$length(receiver) {
-      return receiver.length;
-    }
-  };
-  A.BaseAudioContext.prototype = {};
-  A.OfflineAudioContext.prototype = {
-    get$length(receiver) {
-      return receiver.length;
-    }
-  };
-  A._AudioParamMap_JavaScriptObject_MapMixin.prototype = {};
   A.NullStreamSink.prototype = {
-    addStream$1(_, stream) {
+    addStream$1(stream) {
       var _this = this;
       _this.$ti._eval$1("Stream<1>")._as(stream);
       _this._checkEventAllowed$0();
       _this._addingStream = true;
-      return stream.listen$1(null).cancel$0(0).whenComplete$1(new A.NullStreamSink_addStream_closure(_this));
+      return stream.listen$1(null).cancel$0().whenComplete$1(new A.NullStreamSink_addStream_closure(_this));
     },
     _checkEventAllowed$0() {
       if (this._null_stream_sink$_closed)
@@ -15542,7 +13768,7 @@
       if (this._addingStream)
         throw A.wrapException(A.StateError$("Cannot add to a sink while adding a stream."));
     },
-    close$0(_) {
+    close$0() {
       this._null_stream_sink$_closed = true;
       return this.done;
     },
@@ -15553,10 +13779,10 @@
     call$0() {
       this.$this._addingStream = false;
     },
-    $signature: 3
+    $signature: 2
   };
   A.Context.prototype = {
-    absolute$15(_, part1, part2, part3, part4, part5, part6, part7, part8, part9, part10, part11, part12, part13, part14, part15) {
+    absolute$15(part1, part2, part3, part4, part5, part6, part7, part8, part9, part10, part11, part12, part13, part14, part15) {
       var t1;
       A._validateArgList("absolute", A._setArrayType([part1, part2, part3, part4, part5, part6, part7, part8, part9, part10, part11, part12, part13, part14, part15], type$.JSArray_nullable_String));
       t1 = this.style;
@@ -15566,22 +13792,24 @@
       t1 = this._context$_current;
       return this.join$16(0, t1 == null ? A.current() : t1, part1, part2, part3, part4, part5, part6, part7, part8, part9, part10, part11, part12, part13, part14, part15);
     },
-    absolute$1($receiver, part1) {
-      return this.absolute$15($receiver, part1, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
+    absolute$1(part1) {
+      var _null = null;
+      return this.absolute$15(part1, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
     },
     join$16(_, part1, part2, part3, part4, part5, part6, part7, part8, part9, part10, part11, part12, part13, part14, part15, part16) {
       var parts = A._setArrayType([part1, part2, part3, part4, part5, part6, part7, part8, part9, part10, part11, part12, part13, part14, part15, part16], type$.JSArray_nullable_String);
       A._validateArgList("join", parts);
       return this.joinAll$1(new A.WhereTypeIterable(parts, type$.WhereTypeIterable_String));
     },
-    join$2($receiver, part1, part2) {
-      return this.join$16($receiver, part1, part2, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
+    join$2(_, part1, part2) {
+      var _null = null;
+      return this.join$16(0, part1, part2, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
     },
     joinAll$1(parts) {
       var t1, t2, t3, needsSeparator, isAbsoluteAndNotRootRelative, t4, t5, parsed, path, t6;
       type$.Iterable_String._as(parts);
-      for (t1 = parts.$ti, t2 = t1._eval$1("bool(Iterable.E)")._as(new A.Context_joinAll_closure()), t3 = parts.get$iterator(parts), t1 = new A.WhereIterator(t3, t2, t1._eval$1("WhereIterator<Iterable.E>")), t2 = this.style, needsSeparator = false, isAbsoluteAndNotRootRelative = false, t4 = ""; t1.moveNext$0();) {
-        t5 = t3.get$current(t3);
+      for (t1 = parts.$ti, t2 = t1._eval$1("bool(Iterable.E)")._as(new A.Context_joinAll_closure()), t3 = parts.get$iterator(0), t1 = new A.WhereIterator(t3, t2, t1._eval$1("WhereIterator<Iterable.E>")), t2 = this.style, needsSeparator = false, isAbsoluteAndNotRootRelative = false, t4 = ""; t1.moveNext$0();) {
+        t5 = t3.get$current();
         if (t2.isRootRelative$1(t5) && isAbsoluteAndNotRootRelative) {
           parsed = A.ParsedPath_ParsedPath$parse(t5, t2);
           path = t4.charCodeAt(0) == 0 ? t4 : t4;
@@ -15621,12 +13849,12 @@
         B.JSArray_methods.insert$2(parsed.parts, 0, t1);
       return parsed.parts;
     },
-    normalize$1(_, path) {
+    normalize$1(path) {
       var parsed;
       if (!this._needsNormalization$1(path))
         return path;
       parsed = A.ParsedPath_ParsedPath$parse(path, this.style);
-      parsed.normalize$0(0);
+      parsed.normalize$0();
       return parsed.toString$0(0);
     },
     _needsNormalization$1(path) {
@@ -15682,19 +13910,19 @@
         t1 = _this.style,
         t2 = t1.rootLength$1(path);
       if (t2 <= 0)
-        return _this.normalize$1(0, path);
+        return _this.normalize$1(path);
       t2 = _this._context$_current;
       from = t2 == null ? A.current() : t2;
       if (t1.rootLength$1(from) <= 0 && t1.rootLength$1(path) > 0)
-        return _this.normalize$1(0, path);
+        return _this.normalize$1(path);
       if (t1.rootLength$1(path) <= 0 || t1.isRootRelative$1(path))
-        path = _this.absolute$1(0, path);
+        path = _this.absolute$1(path);
       if (t1.rootLength$1(path) <= 0 && t1.rootLength$1(from) > 0)
         throw A.wrapException(A.PathException$(_s26_ + path + '" from "' + from + '".'));
       fromParsed = A.ParsedPath_ParsedPath$parse(from, t1);
-      fromParsed.normalize$0(0);
+      fromParsed.normalize$0();
       pathParsed = A.ParsedPath_ParsedPath$parse(path, t1);
-      pathParsed.normalize$0(0);
+      pathParsed.normalize$0();
       t2 = fromParsed.parts;
       t3 = t2.length;
       if (t3 !== 0) {
@@ -15788,7 +14016,7 @@
         return typedUri.toString$0(0);
       else if (typedUri.get$scheme() !== "file" && typedUri.get$scheme() !== "" && _this.style !== $.$get$Style_url())
         return typedUri.toString$0(0);
-      path = _this.normalize$1(0, _this.style.pathFromUri$1(A._parseUri(typedUri)));
+      path = _this.normalize$1(_this.style.pathFromUri$1(A._parseUri(typedUri)));
       rel = _this.relative$1(path);
       return _this.split$1(0, rel).length > _this.split$1(0, path).length ? path : rel;
     }
@@ -15810,7 +14038,7 @@
       A._asStringQ(arg);
       return arg == null ? "null" : '"' + arg + '"';
     },
-    $signature: 31
+    $signature: 30
   };
   A.InternalStyle.prototype = {
     getRoot$1(path) {
@@ -15869,7 +14097,7 @@
       if (t2 !== 0)
         B.JSArray_methods.$indexSet(t1, t2 - 1, "");
     },
-    normalize$0(_) {
+    normalize$0() {
       var t1, t2, leadingDoubles, _i, part, t3, _this = this,
         newParts = A._setArrayType([], type$.JSArray_String);
       for (t1 = _this.parts, t2 = t1.length, leadingDoubles = 0, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
@@ -15936,7 +14164,7 @@
   };
   A.Style.prototype = {
     toString$0(_) {
-      return this.get$name(this);
+      return this.get$name();
     }
   };
   A.PosixStyle.prototype = {
@@ -15980,7 +14208,7 @@
     pathFromUri$1(uri) {
       var t1;
       if (uri.get$scheme() === "" || uri.get$scheme() === "file") {
-        t1 = uri.get$path(uri);
+        t1 = uri.get$path();
         return A._Uri__uriDecode(t1, 0, t1.length, B.C_Utf8Codec, false);
       }
       throw A.wrapException(A.ArgumentError$("Uri " + uri.toString$0(0) + " must have scheme 'file:'.", null));
@@ -16021,7 +14249,7 @@
       return B.JSString_methods.endsWith$1(path, "://") && this.rootLength$1(path) === t1;
     },
     rootLength$2$withDrive(path, withDrive) {
-      var i, codeUnit, index, t2,
+      var i, codeUnit, index,
         t1 = path.length;
       if (t1 === 0)
         return 0;
@@ -16043,10 +14271,8 @@
             return index;
           if (!B.JSString_methods.startsWith$1(path, "file://"))
             return index;
-          if (!A.isDriveLetter(path, index + 1))
-            return index;
-          t2 = index + 3;
-          return t1 === t2 ? t2 : index + 4;
+          t1 = A.driveLetterEnd(path, index + 1);
+          return t1 == null ? index : t1;
         }
       }
       return 0;
@@ -16145,12 +14371,12 @@
       var path, t1;
       if (uri.get$scheme() !== "" && uri.get$scheme() !== "file")
         throw A.wrapException(A.ArgumentError$("Uri " + uri.toString$0(0) + " must have scheme 'file:'.", null));
-      path = uri.get$path(uri);
-      if (uri.get$host(uri) === "") {
-        if (path.length >= 3 && B.JSString_methods.startsWith$1(path, "/") && A.isDriveLetter(path, 1))
+      path = uri.get$path();
+      if (uri.get$host() === "") {
+        if (path.length >= 3 && B.JSString_methods.startsWith$1(path, "/") && A.driveLetterEnd(path, 1) != null)
           path = B.JSString_methods.replaceFirst$2(path, "/", "");
       } else
-        path = "\\\\" + uri.get$host(uri) + path;
+        path = "\\\\" + uri.get$host() + path;
       t1 = A.stringReplaceAllUnchecked(path, "/", "\\");
       return A._Uri__uriDecode(t1, 0, t1.length, B.C_Utf8Codec, false);
     },
@@ -16161,10 +14387,10 @@
       t1.toString;
       if (B.JSString_methods.startsWith$1(t1, "\\\\")) {
         rootParts = new A.WhereIterable(A._setArrayType(t1.split("\\"), type$.JSArray_String), type$.bool_Function_String._as(new A.WindowsStyle_absolutePathToUri_closure()), type$.WhereIterable_String);
-        B.JSArray_methods.insert$2(parsed.parts, 0, rootParts.get$last(rootParts));
+        B.JSArray_methods.insert$2(parsed.parts, 0, rootParts.get$last(0));
         if (parsed.get$hasTrailingSeparator())
           B.JSArray_methods.add$1(parsed.parts, "");
-        return A._Uri__Uri(rootParts.get$first(rootParts), null, parsed.parts, "file");
+        return A._Uri__Uri(rootParts.get$first(0), null, parsed.parts, "file");
       } else {
         if (parsed.parts.length === 0 || parsed.get$hasTrailingSeparator())
           B.JSArray_methods.add$1(parsed.parts, "");
@@ -16227,7 +14453,7 @@
     toString$0(_) {
       var t1 = this.traces,
         t2 = A._arrayInstanceType(t1);
-      return new A.MappedListIterable(t1, t2._eval$1("String(1)")._as(new A.Chain_toString_closure(new A.MappedListIterable(t1, t2._eval$1("int(1)")._as(new A.Chain_toString_closure0()), t2._eval$1("MappedListIterable<1,int>")).fold$1$2(0, 0, B.CONSTANT, type$.int))), t2._eval$1("MappedListIterable<1,String>")).join$1(0, string$.x3d_____);
+      return new A.MappedListIterable(t1, t2._eval$1("String(1)")._as(new A.Chain_toString_closure(new A.MappedListIterable(t1, t2._eval$1("int(1)")._as(new A.Chain_toString_closure0()), t2._eval$1("MappedListIterable<1,int>")).fold$1$2(0, 0, B.CONSTANT, type$.int))), t2._eval$1("MappedListIterable<1,String>")).join$1(0, string$.______);
     },
     $isStackTrace: 1
   };
@@ -16241,7 +14467,7 @@
     call$1(trace) {
       return type$.Trace._as(trace).get$frames();
     },
-    $signature: 32
+    $signature: 31
   };
   A.Chain_toString_closure0.prototype = {
     call$1(trace) {
@@ -16249,14 +14475,13 @@
         t2 = A._arrayInstanceType(t1);
       return new A.MappedListIterable(t1, t2._eval$1("int(1)")._as(new A.Chain_toString__closure0()), t2._eval$1("MappedListIterable<1,int>")).fold$1$2(0, 0, B.CONSTANT, type$.int);
     },
-    $signature: 33
+    $signature: 32
   };
   A.Chain_toString__closure0.prototype = {
     call$1(frame) {
-      type$.Frame._as(frame);
-      return frame.get$location(frame).length;
+      return type$.Frame._as(frame).get$location().length;
     },
-    $signature: 20
+    $signature: 19
   };
   A.Chain_toString_closure.prototype = {
     call$1(trace) {
@@ -16264,14 +14489,14 @@
         t2 = A._arrayInstanceType(t1);
       return new A.MappedListIterable(t1, t2._eval$1("String(1)")._as(new A.Chain_toString__closure(this.longest)), t2._eval$1("MappedListIterable<1,String>")).join$0(0);
     },
-    $signature: 35
+    $signature: 34
   };
   A.Chain_toString__closure.prototype = {
     call$1(frame) {
       type$.Frame._as(frame);
-      return B.JSString_methods.padRight$1(frame.get$location(frame), this.longest) + "  " + A.S(frame.get$member()) + "\n";
+      return B.JSString_methods.padRight$1(frame.get$location(), this.longest) + "  " + A.S(frame.get$member()) + "\n";
     },
-    $signature: 21
+    $signature: 20
   };
   A.Frame.prototype = {
     get$isCore() {
@@ -16287,9 +14512,9 @@
       var t1 = this.uri;
       if (t1.get$scheme() !== "package")
         return null;
-      return B.JSArray_methods.get$first(t1.get$path(t1).split("/"));
+      return B.JSArray_methods.get$first(t1.get$path().split("/"));
     },
-    get$location(_) {
+    get$location() {
       var t2, _this = this,
         t1 = _this.line;
       if (t1 == null)
@@ -16300,12 +14525,12 @@
       return _this.get$library() + " " + A.S(t1) + ":" + A.S(t2);
     },
     toString$0(_) {
-      return this.get$location(this) + " in " + A.S(this.member);
+      return this.get$location() + " in " + A.S(this.member);
     },
     get$uri() {
       return this.uri;
     },
-    get$line(receiver) {
+    get$line() {
       return this.line;
     },
     get$column() {
@@ -16351,7 +14576,7 @@
       line = t1 > 1 ? A.int_parse(lineAndColumn[1], _null) : _null;
       return new A.Frame(uri, line, t1 > 2 ? A.int_parse(lineAndColumn[2], _null) : _null, member);
     },
-    $signature: 6
+    $signature: 4
   };
   A.Frame_Frame$parseV8_closure.prototype = {
     call$0() {
@@ -16382,7 +14607,7 @@
         return t1.call$2(t2, _s4_);
       }
     },
-    $signature: 6
+    $signature: 4
   };
   A.Frame_Frame$parseV8_closure_parseLocation.prototype = {
     call$2($location, member) {
@@ -16418,7 +14643,7 @@
       columnMatch = t1[3];
       return new A.Frame(uri, line, columnMatch != null ? A.int_parse(columnMatch, _null) : _null, member);
     },
-    $signature: 38
+    $signature: 37
   };
   A.Frame_Frame$_parseFirefoxEval_closure.prototype = {
     call$0() {
@@ -16445,7 +14670,7 @@
       line = A.int_parse(t1, _null);
       return new A.Frame(uri, line, _null, member.length === 0 || member === "anonymous" ? "<fn>" : member);
     },
-    $signature: 6
+    $signature: 4
   };
   A.Frame_Frame$parseFirefox_closure.prototype = {
     call$0() {
@@ -16474,8 +14699,7 @@
           return A.ioore(t2, 2);
         t1 = t2[2];
         t1.toString;
-        t1 = B.JSString_methods.allMatches$1("/", t1);
-        member += B.JSArray_methods.join$0(A.List_List$filled(t1.get$length(t1), ".<fn>", false, type$.String));
+        member += B.JSArray_methods.join$0(A.List_List$filled(B.JSString_methods.allMatches$1("/", t1).get$length(0), ".<fn>", false, type$.String));
         if (member === "")
           member = "<fn>";
         member = B.JSString_methods.replaceFirst$2(member, $.$get$_initialDot(), "");
@@ -16503,7 +14727,7 @@
       }
       return new A.Frame(uri, line, column, member);
     },
-    $signature: 6
+    $signature: 4
   };
   A.Frame_Frame$parseFriendly_closure.prototype = {
     call$0() {
@@ -16525,7 +14749,7 @@
       }
       if (uri.get$scheme() === "") {
         t2 = $.$get$context();
-        uri = t2.toUri$1(t2.absolute$15(0, t2.style.pathFromUri$1(A._parseUri(uri)), _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null));
+        uri = t2.toUri$1(t2.absolute$15(t2.style.pathFromUri$1(A._parseUri(uri)), _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null));
       }
       if (2 >= t1.length)
         return A.ioore(t1, 2);
@@ -16551,7 +14775,7 @@
         return A.ioore(t1, 4);
       return new A.Frame(uri, line, column, t1[4]);
     },
-    $signature: 6
+    $signature: 4
   };
   A.LazyTrace.prototype = {
     get$_lazy_trace$_trace() {
@@ -16581,7 +14805,7 @@
     call$0() {
       return this.$this.get$_lazy_trace$_trace().get$terse();
     },
-    $signature: 22
+    $signature: 21
   };
   A.Trace.prototype = {
     get$terse() {
@@ -16594,14 +14818,14 @@
       _box_0.predicate = predicate;
       _box_0.predicate = new A.Trace_foldFrames_closure(predicate);
       newFrames = A._setArrayType([], type$.JSArray_Frame);
-      for (t1 = this.frames, t2 = A._arrayInstanceType(t1)._eval$1("ReversedListIterable<1>"), t1 = new A.ReversedListIterable(t1, t2), t1 = new A.ListIterator(t1, t1.get$length(t1), t2._eval$1("ListIterator<ListIterable.E>")), t2 = t2._eval$1("ListIterable.E"); t1.moveNext$0();) {
+      for (t1 = this.frames, t2 = A._arrayInstanceType(t1)._eval$1("ReversedListIterable<1>"), t1 = new A.ReversedListIterable(t1, t2), t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator<ListIterable.E>")), t2 = t2._eval$1("ListIterable.E"); t1.moveNext$0();) {
         t3 = t1.__internal$_current;
         if (t3 == null)
           t3 = t2._as(t3);
         if (t3 instanceof A.UnparsedFrame || !A.boolConversionCheck(_box_0.predicate.call$1(t3)))
           B.JSArray_methods.add$1(newFrames, t3);
         else if (newFrames.length === 0 || !A.boolConversionCheck(_box_0.predicate.call$1(B.JSArray_methods.get$last(newFrames))))
-          B.JSArray_methods.add$1(newFrames, new A.Frame(t3.get$uri(), t3.get$line(t3), t3.get$column(), t3.get$member()));
+          B.JSArray_methods.add$1(newFrames, new A.Frame(t3.get$uri(), t3.get$line(), t3.get$column(), t3.get$member()));
       }
       t1 = type$.MappedListIterable_Frame_Frame;
       newFrames = A.List_List$of(new A.MappedListIterable(newFrames, type$.Frame_Function_Frame._as(new A.Trace_foldFrames_closure0(_box_0)), t1), true, t1._eval$1("ListIterable.E"));
@@ -16623,7 +14847,7 @@
     call$0() {
       return A.Trace_Trace$parse(this.trace.toString$0(0));
     },
-    $signature: 22
+    $signature: 21
   };
   A.Trace__parseVM_closure.prototype = {
     call$1(line) {
@@ -16660,7 +14884,7 @@
     call$1(_) {
       return false;
     },
-    $signature: 23
+    $signature: 22
   };
   A.Trace_foldFrames_closure.prototype = {
     call$1(frame) {
@@ -16675,9 +14899,9 @@
       t1.toString;
       if (!B.JSString_methods.contains$1(t1, "<async>"))
         return false;
-      return frame.get$line(frame) == null;
+      return frame.get$line() == null;
     },
-    $signature: 23
+    $signature: 22
   };
   A.Trace_foldFrames_closure0.prototype = {
     call$1(frame) {
@@ -16689,23 +14913,22 @@
       t2 = $.$get$_terseRegExp();
       return new A.Frame(A.Uri_parse(A.stringReplaceAllUnchecked(t1, t2, "")), null, null, frame.get$member());
     },
-    $signature: 62
+    $signature: 60
   };
   A.Trace_toString_closure0.prototype = {
     call$1(frame) {
-      type$.Frame._as(frame);
-      return frame.get$location(frame).length;
+      return type$.Frame._as(frame).get$location().length;
     },
-    $signature: 20
+    $signature: 19
   };
   A.Trace_toString_closure.prototype = {
     call$1(frame) {
       type$.Frame._as(frame);
       if (frame instanceof A.UnparsedFrame)
         return frame.toString$0(0) + "\n";
-      return B.JSString_methods.padRight$1(frame.get$location(frame), this.longest) + "  " + A.S(frame.get$member()) + "\n";
+      return B.JSString_methods.padRight$1(frame.get$location(), this.longest) + "  " + A.S(frame.get$member()) + "\n";
     },
-    $signature: 21
+    $signature: 20
   };
   A.UnparsedFrame.prototype = {
     toString$0(_) {
@@ -16753,10 +14976,10 @@
       this._disconnected = true;
       subscription = this._subscription;
       if (subscription != null)
-        subscription.cancel$0(0);
+        subscription.cancel$0();
       t1 = this.__GuaranteeChannel__streamController_F;
       t1 === $ && A.throwLateFieldNI("_streamController");
-      t1.close$0(0);
+      t1.close$0();
     },
     set$__GuaranteeChannel__sink_F(__GuaranteeChannel__sink_F) {
       this.__GuaranteeChannel__sink_F = this.$ti._eval$1("_GuaranteeSink<1>")._as(__GuaranteeChannel__sink_F);
@@ -16789,7 +15012,7 @@
       t2._onStreamDisconnected$0();
       t1 = t1.__GuaranteeChannel__streamController_F;
       t1 === $ && A.throwLateFieldNI("_streamController");
-      t1.close$0(0);
+      t1.close$0();
     },
     $signature: 0
   };
@@ -16828,7 +15051,7 @@
     _addError$1(error) {
       return this._addError$2(error, null);
     },
-    addStream$1(_, stream) {
+    addStream$1(stream) {
       var t2, t3, _this = this,
         t1 = _this.$ti;
       t1._eval$1("Stream<1>")._as(stream);
@@ -16838,12 +15061,13 @@
         throw A.wrapException(A.StateError$("Cannot add stream while adding stream."));
       if (_this._disconnected)
         return A.Future_Future$value(null, type$.void);
-      t2 = _this._addStreamCompleter = new A._SyncCompleter(new A._Future($.Zone__current, type$._Future_dynamic), type$._SyncCompleter_dynamic);
+      t2 = new A._SyncCompleter(new A._Future($.Zone__current, type$._Future_dynamic), type$._SyncCompleter_dynamic);
+      _this._addStreamCompleter = t2;
       t3 = _this._inner;
-      _this.set$_addStreamSubscription(stream.listen$3$onDone$onError(t1._eval$1("~(1)")._as(t3.get$add(t3)), type$.void_Function_$opt_dynamic._as(t2.get$complete(t2)), _this.get$_addError()));
+      _this.set$_addStreamSubscription(stream.listen$3$onDone$onError(t1._eval$1("~(1)")._as(t3.get$add(t3)), type$.void_Function_$opt_dynamic._as(t2.get$complete()), _this.get$_addError()));
       return _this._addStreamCompleter.future.then$1$1(new A._GuaranteeSink_addStream_closure(_this), type$.void);
     },
-    close$0(_) {
+    close$0() {
       var _this = this;
       if (_this._addStreamSubscription != null)
         throw A.wrapException(A.StateError$("Cannot close sink while adding stream."));
@@ -16852,7 +15076,7 @@
       _this._closed = true;
       if (!_this._disconnected) {
         _this._channel._onSinkDisconnected$0();
-        _this._doneCompleter.complete$1(0, _this._inner._target.close$0(0));
+        _this._doneCompleter.complete$1(_this._inner._target.close$0());
       }
       return _this._doneCompleter.future;
     },
@@ -16861,13 +15085,13 @@
       _this._disconnected = true;
       t1 = _this._doneCompleter;
       if ((t1.future._async$_state & 30) === 0)
-        t1.complete$0(0);
+        t1.complete$0();
       t1 = _this._addStreamSubscription;
       if (t1 == null)
         return;
       t2 = _this._addStreamCompleter;
       t2.toString;
-      t2.complete$1(0, t1.cancel$0(0));
+      t2.complete$1(t1.cancel$0());
       _this._addStreamCompleter = null;
       _this.set$_addStreamSubscription(null);
     },
@@ -16883,7 +15107,7 @@
       t1._addStreamCompleter = null;
       t1.set$_addStreamSubscription(null);
     },
-    $signature: 10
+    $signature: 8
   };
   A._MultiChannel.prototype = {
     _MultiChannel$1(inner, $T) {
@@ -16923,7 +15147,7 @@
         controller._value = t2;
       } else {
         t2 = _this._controllers;
-        if (t2.containsKey$1(0, id) || _this._closedIds.contains$1(0, id))
+        if (t2.containsKey$1(id) || _this._closedIds.contains$1(0, id))
           throw A.wrapException(A.ArgumentError$("A virtual channel with id " + id + " already exists.", null));
         else {
           controller._value = A.StreamChannelController$(true, _this.$ti._precomputed1);
@@ -16955,29 +15179,29 @@
       t2 === $ && A.throwLateFieldNI("_local");
       t2 = t2.__GuaranteeChannel__sink_F;
       t2 === $ && A.throwLateFieldNI("_sink");
-      t2.close$0(0);
+      t2.close$0();
       t2 = _this._multi_channel$_inner;
       if (t2 == null)
         return;
       t2 = t2.__GuaranteeChannel__sink_F;
       t2 === $ && A.throwLateFieldNI("_sink");
       t2.add$1(0, A._setArrayType([outputId], type$.JSArray_int));
-      if (t1._length === 0)
+      if (t1.__js_helper$_length === 0)
         _this._closeInnerChannel$0();
     },
     _closeInnerChannel$0() {
       var t2, t3, _i, t4, _this = this,
         t1 = _this._multi_channel$_inner.__GuaranteeChannel__sink_F;
       t1 === $ && A.throwLateFieldNI("_sink");
-      t1.close$0(0);
-      _this._innerStreamSubscription._source.cancel$0(0);
+      t1.close$0();
+      _this._innerStreamSubscription._source.cancel$0();
       _this._multi_channel$_inner = null;
-      for (t1 = _this._controllers, t2 = t1.get$values(t1), t2 = A.List_List$of(t2, false, A._instanceType(t2)._eval$1("Iterable.E")), t3 = t2.length, _i = 0; _i < t3; ++_i) {
+      for (t1 = _this._controllers, t2 = t1.get$values(), t2 = A.List_List$of(t2, false, A._instanceType(t2)._eval$1("Iterable.E")), t3 = t2.length, _i = 0; _i < t3; ++_i) {
         t4 = t2[_i].__StreamChannelController__local_F;
         t4 === $ && A.throwLateFieldNI("_local");
         t4 = t4.__GuaranteeChannel__sink_F;
         t4 === $ && A.throwLateFieldNI("_sink");
-        t4.close$0(0);
+        t4.close$0();
       }
       t1.clear$0(0);
     },
@@ -17011,7 +15235,7 @@
       if (t2._closedIds.contains$1(0, id))
         return;
       t3 = this.T;
-      controller = t2._controllers.putIfAbsent$2(0, id, new A._MultiChannel__closure(t2, id, t3));
+      controller = t2._controllers.putIfAbsent$2(id, new A._MultiChannel__closure(t2, id, t3));
       t2 = t1.get$length(message);
       t4 = controller.__StreamChannelController__local_F;
       if (t2 > 1) {
@@ -17023,10 +15247,10 @@
         t4 === $ && A.throwLateFieldNI("_local");
         t1 = t4.__GuaranteeChannel__sink_F;
         t1 === $ && A.throwLateFieldNI("_sink");
-        t1.close$0(0);
+        t1.close$0();
       }
     },
-    $signature: 42
+    $signature: 41
   };
   A._MultiChannel__closure.prototype = {
     call$0() {
@@ -17076,116 +15300,156 @@
       }
       return A.callMethod(this._this, "postMessage", t1, type$.void);
     },
-    $signature: 7
+    $signature: 3
   };
   A.Subscription.prototype = {};
   A.main_closure.prototype = {
     call$0() {
-      var play,
+      var t2, play, t3, t4,
         serverChannel = A._connectToServer(),
         t1 = serverChannel._mainController.__StreamChannelController__foreign_F;
       t1 === $ && A.throwLateFieldNI("_foreign");
       t1 = t1.__GuaranteeChannel__streamController_F;
       t1 === $ && A.throwLateFieldNI("_streamController");
       new A._ControllerStream(t1, A._instanceType(t1)._eval$1("_ControllerStream<1>")).listen$1(new A.main__closure(serverChannel));
-      A.Timer_Timer$periodic(new A.Duration(1000000), new A.main__closure0(serverChannel));
-      play = type$.nullable_JavaScriptObject._as(self.document.querySelector("#play"));
+      A.Timer_Timer$periodic(B.Duration_1000000, new A.main__closure0(serverChannel));
+      t1 = self;
+      t2 = type$.JavaScriptObject;
+      play = type$.nullable_JavaScriptObject._as(t2._as(t1.document).querySelector("#play"));
       play.toString;
-      A.EventTargetExtension_addEventListener(play, "click", A.allowInterop(new A.main__closure1(serverChannel), type$.void_Function_JavaScriptObject));
-      t1 = type$.void_Function;
-      self.dartTest = type$.JavaScriptObject._as({resume: A.allowInterop(new A.main__closure2(serverChannel), t1), restartCurrent: A.allowInterop(new A.main__closure3(serverChannel), t1)});
+      A.EventTargetExtension_addEventListener(play, "click", new A.main__closure1(serverChannel));
+      t3 = type$.Function;
+      t4 = type$.JavaScriptFunction;
+      t1.dartTest = t2._as({resume: t4._as(A.allowInterop(new A.main__closure2(serverChannel), t3)), restartCurrent: t4._as(A.allowInterop(new A.main__closure3(serverChannel), t3))});
     },
-    $signature: 3
+    $signature: 2
   };
   A.main__closure.prototype = {
     call$1(message) {
-      var _0_4, _0_3, _0_9, _0_12, _0_15, _0_14, t1, t2, channel, url, id, suiteChannel, _null = null;
+      var _0_4_isSet, _0_4, _0_3_isSet, _0_3, t1, _0_9, _0_12, _0_15_isSet, _0_15, _0_14_isSet, _0_14, id, url, channel, suiteChannel, t2, _0_4_isSet0, _null = null,
+        _s7_ = "command",
+        _s2_ = "id";
       $label0$0: {
-        _0_4 = A._InitializedCell$named("#0#4", new A.main___closure(message));
-        _0_3 = A._InitializedCell$named("#0#3", new A.main___closure0(message));
-        _0_9 = A._InitializedCell$named("#0#9", new A.main___closure1(message));
-        _0_12 = A._InitializedCell$named("#0#12", new A.main___closure2(message));
-        _0_15 = A._InitializedCell$named("#0#15", new A.main___closure3(message));
-        _0_14 = A._InitializedCell$named("#0#14", new A.main___closure4(message));
-        t1 = type$.Map_dynamic_dynamic._is(message);
-        if (t1) {
-          if (_0_4._readFinal$0() == null)
-            t2 = A.boolConversionCheck(_0_3._readFinal$0());
-          else
-            t2 = true;
-          if (t2)
-            if ("loadSuite" === _0_4._readFinal$0()) {
-              if (_0_9._readFinal$0() == null)
-                t2 = J.containsKey$1$x(message, "channel");
+        _0_4_isSet = type$.Map_dynamic_dynamic._is(message);
+        if (_0_4_isSet) {
+          _0_4 = message.$index(0, _s7_);
+          _0_3_isSet = _0_4 == null;
+          if (_0_3_isSet) {
+            _0_3 = message.containsKey$1(_s7_);
+            t1 = _0_3;
+          } else {
+            _0_3 = _null;
+            t1 = true;
+          }
+          if (t1)
+            if ("loadSuite" === _0_4) {
+              _0_9 = message.$index(0, "channel");
+              if (_0_9 == null)
+                t1 = message.containsKey$1("channel");
               else
-                t2 = true;
-              if (t2)
-                if (typeof _0_9._readFinal$0() == "number") {
-                  channel = _0_9._readFinal$0();
-                  if (_0_12._readFinal$0() == null)
-                    t2 = J.containsKey$1$x(message, "url");
+                t1 = true;
+              if (t1)
+                if (typeof _0_9 == "number") {
+                  _0_12 = message.$index(0, "url");
+                  if (_0_12 == null)
+                    t1 = message.containsKey$1("url");
                   else
-                    t2 = true;
-                  if (t2)
-                    if (typeof _0_12._readFinal$0() == "string") {
-                      url = _0_12._readFinal$0();
-                      if (_0_15._readFinal$0() == null)
-                        t2 = A.boolConversionCheck(_0_14._readFinal$0());
-                      else
-                        t2 = true;
-                      if (t2)
-                        if (typeof _0_15._readFinal$0() == "number") {
-                          id = _0_15._readFinal$0();
-                          t2 = true;
-                        } else {
-                          id = _null;
-                          t2 = false;
-                        }
-                      else {
-                        id = _null;
-                        t2 = false;
+                    t1 = true;
+                  if (t1) {
+                    _0_15_isSet = typeof _0_12 == "string";
+                    if (_0_15_isSet) {
+                      _0_15 = message.$index(0, _s2_);
+                      _0_14_isSet = _0_15 == null;
+                      if (_0_14_isSet) {
+                        _0_14 = message.containsKey$1(_s2_);
+                        t1 = _0_14;
+                      } else {
+                        _0_14 = _null;
+                        t1 = true;
                       }
+                      if (t1) {
+                        t1 = typeof _0_15 == "number";
+                        if (t1)
+                          id = _0_15;
+                        else
+                          id = _null;
+                      } else {
+                        id = _null;
+                        t1 = false;
+                      }
+                      url = _0_12;
                     } else {
                       id = _null;
                       url = id;
-                      t2 = false;
+                      _0_14 = url;
+                      _0_15 = _0_14;
+                      _0_14_isSet = false;
+                      t1 = false;
                     }
-                  else {
+                  } else {
                     id = _null;
                     url = id;
-                    t2 = false;
+                    _0_14 = url;
+                    _0_15 = _0_14;
+                    _0_15_isSet = false;
+                    _0_14_isSet = false;
+                    t1 = false;
                   }
+                  channel = _0_9;
                 } else {
                   id = _null;
                   url = id;
                   channel = url;
-                  t2 = false;
+                  _0_14 = channel;
+                  _0_15 = _0_14;
+                  _0_15_isSet = false;
+                  _0_14_isSet = false;
+                  t1 = false;
                 }
               else {
                 id = _null;
                 url = id;
                 channel = url;
-                t2 = false;
+                _0_14 = channel;
+                _0_15 = _0_14;
+                _0_15_isSet = false;
+                _0_14_isSet = false;
+                t1 = false;
               }
             } else {
               id = _null;
               url = id;
               channel = url;
-              t2 = false;
+              _0_14 = channel;
+              _0_15 = _0_14;
+              _0_15_isSet = false;
+              _0_14_isSet = false;
+              t1 = false;
             }
           else {
             id = _null;
             url = id;
             channel = url;
-            t2 = false;
+            _0_14 = channel;
+            _0_15 = _0_14;
+            _0_15_isSet = false;
+            _0_14_isSet = false;
+            t1 = false;
           }
         } else {
           id = _null;
           url = id;
           channel = url;
-          t2 = false;
+          _0_14 = channel;
+          _0_15 = _0_14;
+          _0_3 = _0_15;
+          _0_4 = _0_3;
+          _0_3_isSet = false;
+          _0_15_isSet = false;
+          _0_14_isSet = false;
+          t1 = false;
         }
-        if (t2) {
+        if (t1) {
           suiteChannel = this.serverChannel.virtualChannel$1(J.toInt$0$n(channel));
           t1 = suiteChannel.$ti._eval$1("StreamChannel<1>")._as(A._connectToIframe(url, J.toInt$0$n(id)));
           t2 = t1.__GuaranteeChannel__sink_F;
@@ -17196,48 +15460,85 @@
           new A._ControllerStream(t1, A._instanceType(t1)._eval$1("_ControllerStream<1>")).pipe$1(suiteChannel.sink);
           break $label0$0;
         }
-        if (t1) {
-          if (_0_4._readFinal$0() == null)
-            t2 = A.boolConversionCheck(_0_3._readFinal$0());
+        if (_0_4_isSet) {
+          if (_0_4 == null) {
+            if (_0_3_isSet)
+              t1 = _0_3;
+            else {
+              _0_3 = message.containsKey$1(_s7_);
+              t1 = _0_3;
+              _0_3_isSet = true;
+            }
+            A.boolConversionCheck(t1);
+          } else
+            t1 = true;
+          if (t1)
+            t1 = "displayPause" === _0_4;
           else
-            t2 = true;
-          t2 = t2 && "displayPause" === _0_4._readFinal$0();
+            t1 = false;
         } else
-          t2 = false;
-        if (t2) {
-          type$.JavaScriptObject._as(type$.nullable_JavaScriptObject._as(self.document.body).classList).add("paused");
+          t1 = false;
+        if (t1) {
+          t1 = type$.JavaScriptObject;
+          t1._as(type$.nullable_JavaScriptObject._as(t1._as(self.document).body).classList).add("paused");
           break $label0$0;
         }
-        if (t1) {
-          if (_0_4._readFinal$0() == null)
-            t2 = A.boolConversionCheck(_0_3._readFinal$0());
+        if (_0_4_isSet) {
+          if (_0_4 == null) {
+            if (_0_3_isSet)
+              t1 = _0_3;
+            else {
+              _0_3 = message.containsKey$1(_s7_);
+              t1 = _0_3;
+              _0_3_isSet = true;
+            }
+            A.boolConversionCheck(t1);
+          } else
+            t1 = true;
+          if (t1)
+            t1 = "resume" === _0_4;
           else
-            t2 = true;
-          t2 = t2 && "resume" === _0_4._readFinal$0();
-        } else
-          t2 = false;
-        if (t2) {
-          type$.JavaScriptObject._as(type$.nullable_JavaScriptObject._as(self.document.body).classList).remove("paused");
-          break $label0$0;
+            t1 = false;
+          _0_4_isSet0 = true;
+        } else {
+          _0_4_isSet0 = _0_4_isSet;
+          t1 = false;
         }
         if (t1) {
-          if (_0_4._readFinal$0() == null)
-            t1 = A.boolConversionCheck(_0_3._readFinal$0());
+          t1 = type$.JavaScriptObject;
+          t1._as(type$.nullable_JavaScriptObject._as(t1._as(self.document).body).classList).remove("paused");
+          break $label0$0;
+        }
+        if (_0_4_isSet) {
+          if (_0_4_isSet0) {
+            t1 = _0_4;
+            _0_4_isSet = _0_4_isSet0;
+          } else {
+            _0_4 = message.$index(0, _s7_);
+            t1 = _0_4;
+            _0_4_isSet = true;
+          }
+          if (t1 == null)
+            t1 = A.boolConversionCheck(_0_3_isSet ? _0_3 : message.containsKey$1(_s7_));
           else
             t1 = true;
           if (t1)
-            if ("closeSuite" === _0_4._readFinal$0()) {
-              if (_0_15._readFinal$0() == null)
-                t1 = A.boolConversionCheck(_0_14._readFinal$0());
+            if ("closeSuite" === (_0_4_isSet ? _0_4 : message.$index(0, _s7_))) {
+              if (_0_15_isSet)
+                t1 = _0_15;
+              else {
+                _0_15 = message.$index(0, _s2_);
+                t1 = _0_15;
+                _0_15_isSet = true;
+              }
+              if (t1 == null)
+                t1 = A.boolConversionCheck(_0_14_isSet ? _0_14 : message.containsKey$1(_s2_));
               else
                 t1 = true;
-              if (t1) {
-                id = _0_15._readFinal$0();
-                t1 = true;
-              } else {
+              if (t1)
+                id = _0_15_isSet ? _0_15 : message.$index(0, _s2_);
+              else
                 id = _null;
-                t1 = false;
-              }
             } else {
               id = _null;
               t1 = false;
@@ -17257,53 +15558,18 @@
             type$.JavaScriptObject._as(t2._as(t1.parentNode).removeChild(t1));
           t1 = $._subscriptions.remove$1(0, id);
           if (t1 != null)
-            J.cancel$0$z(t1);
+            t1.cancel$0();
           t1 = $._domSubscriptions.remove$1(0, id);
           if (t1 != null)
             A.EventTargetExtension_removeEventListener(t1.target, t1.type, t1.listener);
           break $label0$0;
         }
-        type$.JavaScriptObject._as(self.window.console).warn("Unhandled message from test runner: " + A.S(message));
+        t1 = type$.JavaScriptObject;
+        t1._as(t1._as(self.window).console).warn("Unhandled message from test runner: " + A.S(message));
       }
     },
     $signature: 5
   };
-  A.main___closure.prototype = {
-    call$0() {
-      return J.$index$asx(type$.Map_dynamic_dynamic._as(this._0_0), "command");
-    },
-    $signature: 2
-  };
-  A.main___closure0.prototype = {
-    call$0() {
-      return J.containsKey$1$x(type$.Map_dynamic_dynamic._as(this._0_0), "command");
-    },
-    $signature: 24
-  };
-  A.main___closure1.prototype = {
-    call$0() {
-      return J.$index$asx(type$.Map_dynamic_dynamic._as(this._0_0), "channel");
-    },
-    $signature: 2
-  };
-  A.main___closure2.prototype = {
-    call$0() {
-      return J.$index$asx(type$.Map_dynamic_dynamic._as(this._0_0), "url");
-    },
-    $signature: 2
-  };
-  A.main___closure3.prototype = {
-    call$0() {
-      return J.$index$asx(type$.Map_dynamic_dynamic._as(this._0_0), "id");
-    },
-    $signature: 2
-  };
-  A.main___closure4.prototype = {
-    call$0() {
-      return J.containsKey$1$x(type$.Map_dynamic_dynamic._as(this._0_0), "id");
-    },
-    $signature: 24
-  };
   A.main__closure0.prototype = {
     call$1(_) {
       var t1, t2;
@@ -17315,17 +15581,18 @@
       t2 = type$.String;
       return t1.add$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["command", "ping"], t2, t2));
     },
-    $signature: 44
+    $signature: 42
   };
   A.main__closure1.prototype = {
     call$1(_) {
-      var t2,
+      var t2, t3,
         t1 = type$.JavaScriptObject;
       t1._as(_);
-      t2 = type$.nullable_JavaScriptObject;
-      if (!A._asBool(t1._as(t2._as(self.document.body).classList).contains("paused")))
+      t2 = self;
+      t3 = type$.nullable_JavaScriptObject;
+      if (!A._asBool(t1._as(t3._as(t1._as(t2.document).body).classList).contains("paused")))
         return;
-      t1._as(t2._as(self.document.body).classList).remove("paused");
+      t1._as(t3._as(t1._as(t2.document).body).classList).remove("paused");
       t1 = this.serverChannel._mainController.__StreamChannelController__foreign_F;
       t1 === $ && A.throwLateFieldNI("_foreign");
       t1 = t1.__GuaranteeChannel__sink_F;
@@ -17333,15 +15600,16 @@
       t2 = type$.String;
       t1.add$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["command", "resume"], t2, t2));
     },
-    $signature: 8
+    $signature: 6
   };
   A.main__closure2.prototype = {
     call$0() {
-      var t1 = type$.nullable_JavaScriptObject,
-        t2 = type$.JavaScriptObject;
-      if (!A._asBool(t2._as(t1._as(self.document.body).classList).contains("paused")))
+      var t1 = self,
+        t2 = type$.JavaScriptObject,
+        t3 = type$.nullable_JavaScriptObject;
+      if (!A._asBool(t2._as(t3._as(t2._as(t1.document).body).classList).contains("paused")))
         return;
-      t2._as(t1._as(self.document.body).classList).remove("paused");
+      t2._as(t3._as(t2._as(t1.document).body).classList).remove("paused");
       t1 = this.serverChannel._mainController.__StreamChannelController__foreign_F;
       t1 === $ && A.throwLateFieldNI("_foreign");
       t1 = t1.__GuaranteeChannel__sink_F;
@@ -17349,7 +15617,7 @@
       t2 = type$.String;
       t1.add$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["command", "resume"], t2, t2));
     },
-    $signature: 0
+    $signature: 2
   };
   A.main__closure3.prototype = {
     call$0() {
@@ -17361,15 +15629,17 @@
       t2 = type$.String;
       t1.add$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["command", "restart"], t2, t2));
     },
-    $signature: 0
+    $signature: 2
   };
   A.main_closure0.prototype = {
     call$2(error, stackTrace) {
+      var t1;
       type$.Object._as(error);
       type$.StackTrace._as(stackTrace);
-      type$.JavaScriptObject._as(self.window.console).warn(A.S(error) + "\n" + A.Trace_Trace$from(stackTrace).get$terse().toString$0(0));
+      t1 = type$.JavaScriptObject;
+      t1._as(t1._as(self.window).console).warn(A.S(error) + "\n" + A.Trace_Trace$from(stackTrace).get$terse().toString$0(0));
     },
-    $signature: 11
+    $signature: 9
   };
   A._connectToServer_closure.prototype = {
     call$1(message) {
@@ -17379,22 +15649,25 @@
       t1 === $ && A.throwLateFieldNI("_local");
       t1 = t1.__GuaranteeChannel__sink_F;
       t1 === $ && A.throwLateFieldNI("_sink");
-      t1.add$1(0, B.C_JsonCodec.decode$2$reviver(0, A._asString(A.dartify(message.data)), null));
+      t1.add$1(0, B.C_JsonCodec.decode$2$reviver(A._asString(A.dartify(message.data)), null));
     },
-    $signature: 8
+    $signature: 6
   };
   A._connectToServer_closure0.prototype = {
     call$1(message) {
       return this.webSocket.send(B.C_JsonCodec.encode$2$toEncodable(message, null));
     },
-    $signature: 5
+    $signature: 3
   };
   A._connectToIframe_closure.prototype = {
     call$1($event) {
-      var t2, _0_0, _0_6, _0_11, port, data, _this = this, _null = null,
+      var t2, t3, _0_0, port, _0_6, _0_11, data, _this = this, _null = null,
+        _s9_ = "exception",
         t1 = type$.JavaScriptObject;
       t1._as($event);
-      if (A._asString($event.origin) !== A._asString(t1._as(self.window.location).origin))
+      t2 = A._asString($event.origin);
+      t3 = self;
+      if (t2 !== A._asString(t1._as(t1._as(t3.window).location).origin))
         return;
       t2 = $event.source.location;
       t2 = t2 == null ? _null : A._asStringQ(t2.href);
@@ -17405,15 +15678,13 @@
       A.EventTargetExtension_removeEventListener(t2.target, t2.type, t2.listener);
       $label0$0: {
         _0_0 = A.dartify($event.data);
-        _0_6 = A._InitializedCell$named("#0#6", new A._connectToIframe__closure(_0_0));
-        _0_11 = A._InitializedCell$named("#0#11", new A._connectToIframe__closure0(_0_0));
         if ("port" === _0_0) {
-          t1._as(self.window.console).log("Connecting channel for suite " + _this.suiteUrl.toString$0(0));
+          t1._as(t1._as(t3.window).console).log("Connecting channel for suite " + _this.suiteUrl.toString$0(0));
           t1 = J.cast$1$0$ax(type$.List_dynamic._as($event.ports), t1);
           port = t1.get$first(t1);
           t1 = _this.id;
           t2 = _this.controller;
-          $._domSubscriptions.$indexSet(0, t1, A.Subscription$(port, "message", A.allowInterop(new A._connectToIframe__closure1(t2), type$.void_Function_JavaScriptObject)));
+          $._domSubscriptions.$indexSet(0, t1, A.Subscription$(port, "message", new A._connectToIframe__closure(t2)));
           port.start();
           t2 = t2.__StreamChannelController__local_F;
           t2 === $ && A.throwLateFieldNI("_local");
@@ -17423,23 +15694,22 @@
           break $label0$0;
         }
         if (type$.Map_dynamic_dynamic._is(_0_0)) {
-          if (_0_6._readFinal$0() == null)
-            t1 = J.containsKey$1$x(_0_0, "exception");
+          _0_6 = _0_0.$index(0, _s9_);
+          if (_0_6 == null)
+            t1 = _0_0.containsKey$1(_s9_);
           else
             t1 = true;
           if (t1)
-            if (true === _0_6._readFinal$0()) {
-              if (_0_11._readFinal$0() == null)
-                t1 = J.containsKey$1$x(_0_0, "data");
+            if (true === _0_6) {
+              _0_11 = _0_0.$index(0, "data");
+              if (_0_11 == null)
+                t1 = _0_0.containsKey$1("data");
               else
                 t1 = true;
-              if (t1) {
-                data = _0_11._readFinal$0();
-                t1 = true;
-              } else {
+              if (t1)
+                data = _0_11;
+              else
                 data = _null;
-                t1 = false;
-              }
             } else {
               data = _null;
               t1 = false;
@@ -17461,9 +15731,9 @@
         }
       }
     },
-    $signature: 8
+    $signature: 6
   };
-  A._connectToIframe__closure1.prototype = {
+  A._connectToIframe__closure.prototype = {
     call$1($event) {
       var t1;
       type$.JavaScriptObject._as($event);
@@ -17473,24 +15743,10 @@
       t1 === $ && A.throwLateFieldNI("_sink");
       t1.add$1(0, A.dartify($event.data));
     },
-    $signature: 8
-  };
-  A._connectToIframe__closure.prototype = {
-    call$0() {
-      return J.$index$asx(type$.Map_dynamic_dynamic._as(this._0_0), "exception");
-    },
-    $signature: 2
-  };
-  A._connectToIframe__closure0.prototype = {
-    call$0() {
-      return J.$index$asx(type$.Map_dynamic_dynamic._as(this._0_0), "data");
-    },
-    $signature: 2
+    $signature: 6
   };
   (function aliases() {
-    var _ = J.Interceptor.prototype;
-    _.super$Interceptor$toString = _.toString$0;
-    _ = J.LegacyJavaScriptObject.prototype;
+    var _ = J.LegacyJavaScriptObject.prototype;
     _.super$LegacyJavaScriptObject$toString = _.toString$0;
     _ = A.Iterable.prototype;
     _.super$Iterable$skipWhile = _.skipWhile$1;
@@ -17505,77 +15761,81 @@
       _instance_2_u = hunkHelpers._instance_2u,
       _instance_1_i = hunkHelpers._instance_1i,
       _instance_0_u = hunkHelpers._instance_0u;
-    _instance_1_u(A.CastStreamSubscription.prototype, "get$__internal$_onData", "__internal$_onData$1", 7);
-    _static_1(A, "async__AsyncRun__scheduleImmediateJsOverride$closure", "_AsyncRun__scheduleImmediateJsOverride", 13);
-    _static_1(A, "async__AsyncRun__scheduleImmediateWithSetImmediate$closure", "_AsyncRun__scheduleImmediateWithSetImmediate", 13);
-    _static_1(A, "async__AsyncRun__scheduleImmediateWithTimer$closure", "_AsyncRun__scheduleImmediateWithTimer", 13);
+    _instance_1_u(A.CastStreamSubscription.prototype, "get$__internal$_onData", "__internal$_onData$1", 3);
+    _static_1(A, "async__AsyncRun__scheduleImmediateJsOverride$closure", "_AsyncRun__scheduleImmediateJsOverride", 11);
+    _static_1(A, "async__AsyncRun__scheduleImmediateWithSetImmediate$closure", "_AsyncRun__scheduleImmediateWithSetImmediate", 11);
+    _static_1(A, "async__AsyncRun__scheduleImmediateWithTimer$closure", "_AsyncRun__scheduleImmediateWithTimer", 11);
     _static_0(A, "async___startMicrotaskLoop$closure", "_startMicrotaskLoop", 0);
     _static_1(A, "async___nullDataHandler$closure", "_nullDataHandler", 5);
-    _static_2(A, "async___nullErrorHandler$closure", "_nullErrorHandler", 11);
+    _static_2(A, "async___nullErrorHandler$closure", "_nullErrorHandler", 9);
     _static_0(A, "async___nullDoneHandler$closure", "_nullDoneHandler", 0);
-    _static(A, "async___rootHandleUncaughtError$closure", 5, null, ["call$5"], ["_rootHandleUncaughtError"], 47, 0);
+    _static(A, "async___rootHandleUncaughtError$closure", 5, null, ["call$5"], ["_rootHandleUncaughtError"], 45, 0);
     _static(A, "async___rootRun$closure", 4, null, ["call$1$4", "call$4"], ["_rootRun", function($self, $parent, zone, f) {
       return A._rootRun($self, $parent, zone, f, type$.dynamic);
-    }], 48, 1);
+    }], 46, 1);
     _static(A, "async___rootRunUnary$closure", 5, null, ["call$2$5", "call$5"], ["_rootRunUnary", function($self, $parent, zone, f, arg) {
-      return A._rootRunUnary($self, $parent, zone, f, arg, type$.dynamic, type$.dynamic);
-    }], 49, 1);
+      var t1 = type$.dynamic;
+      return A._rootRunUnary($self, $parent, zone, f, arg, t1, t1);
+    }], 47, 1);
     _static(A, "async___rootRunBinary$closure", 6, null, ["call$3$6", "call$6"], ["_rootRunBinary", function($self, $parent, zone, f, arg1, arg2) {
-      return A._rootRunBinary($self, $parent, zone, f, arg1, arg2, type$.dynamic, type$.dynamic, type$.dynamic);
-    }], 50, 1);
+      var t1 = type$.dynamic;
+      return A._rootRunBinary($self, $parent, zone, f, arg1, arg2, t1, t1, t1);
+    }], 48, 1);
     _static(A, "async___rootRegisterCallback$closure", 4, null, ["call$1$4", "call$4"], ["_rootRegisterCallback", function($self, $parent, zone, f) {
       return A._rootRegisterCallback($self, $parent, zone, f, type$.dynamic);
-    }], 51, 0);
+    }], 49, 0);
     _static(A, "async___rootRegisterUnaryCallback$closure", 4, null, ["call$2$4", "call$4"], ["_rootRegisterUnaryCallback", function($self, $parent, zone, f) {
-      return A._rootRegisterUnaryCallback($self, $parent, zone, f, type$.dynamic, type$.dynamic);
-    }], 52, 0);
+      var t1 = type$.dynamic;
+      return A._rootRegisterUnaryCallback($self, $parent, zone, f, t1, t1);
+    }], 50, 0);
     _static(A, "async___rootRegisterBinaryCallback$closure", 4, null, ["call$3$4", "call$4"], ["_rootRegisterBinaryCallback", function($self, $parent, zone, f) {
-      return A._rootRegisterBinaryCallback($self, $parent, zone, f, type$.dynamic, type$.dynamic, type$.dynamic);
-    }], 53, 0);
-    _static(A, "async___rootErrorCallback$closure", 5, null, ["call$5"], ["_rootErrorCallback"], 54, 0);
-    _static(A, "async___rootScheduleMicrotask$closure", 4, null, ["call$4"], ["_rootScheduleMicrotask"], 55, 0);
-    _static(A, "async___rootCreateTimer$closure", 5, null, ["call$5"], ["_rootCreateTimer"], 56, 0);
-    _static(A, "async___rootCreatePeriodicTimer$closure", 5, null, ["call$5"], ["_rootCreatePeriodicTimer"], 57, 0);
-    _static(A, "async___rootPrint$closure", 4, null, ["call$4"], ["_rootPrint"], 58, 0);
-    _static(A, "async___rootFork$closure", 5, null, ["call$5"], ["_rootFork"], 59, 0);
-    _instance(A._SyncCompleter.prototype, "get$complete", 1, 0, function() {
+      var t1 = type$.dynamic;
+      return A._rootRegisterBinaryCallback($self, $parent, zone, f, t1, t1, t1);
+    }], 51, 0);
+    _static(A, "async___rootErrorCallback$closure", 5, null, ["call$5"], ["_rootErrorCallback"], 52, 0);
+    _static(A, "async___rootScheduleMicrotask$closure", 4, null, ["call$4"], ["_rootScheduleMicrotask"], 53, 0);
+    _static(A, "async___rootCreateTimer$closure", 5, null, ["call$5"], ["_rootCreateTimer"], 54, 0);
+    _static(A, "async___rootCreatePeriodicTimer$closure", 5, null, ["call$5"], ["_rootCreatePeriodicTimer"], 55, 0);
+    _static(A, "async___rootPrint$closure", 4, null, ["call$4"], ["_rootPrint"], 56, 0);
+    _static(A, "async___rootFork$closure", 5, null, ["call$5"], ["_rootFork"], 57, 0);
+    _instance(A._SyncCompleter.prototype, "get$complete", 0, 0, function() {
       return [null];
-    }, ["call$1", "call$0"], ["complete$1", "complete$0"], 43, 0, 0);
-    _instance_2_u(A._Future.prototype, "get$_completeError", "_completeError$2", 11);
+    }, ["call$1", "call$0"], ["complete$1", "complete$0"], 24, 0, 0);
+    _instance_2_u(A._Future.prototype, "get$_completeError", "_completeError$2", 9);
     var _;
-    _instance_1_i(_ = A._StreamController.prototype, "get$add", "add$1", 7);
+    _instance_1_i(_ = A._StreamController.prototype, "get$add", "add$1", 3);
     _instance(_, "get$addError", 0, 1, function() {
       return [null];
-    }, ["call$2", "call$1"], ["addError$2", "addError$1"], 12, 0, 0);
-    _instance_1_i(A._StreamSinkWrapper.prototype, "get$add", "add$1", 7);
+    }, ["call$2", "call$1"], ["addError$2", "addError$1"], 10, 0, 0);
+    _instance_1_i(A._StreamSinkWrapper.prototype, "get$add", "add$1", 3);
     _instance_0_u(A._DoneStreamSubscription.prototype, "get$_onMicrotask", "_onMicrotask$0", 0);
-    _static_1(A, "convert___defaultToEncodable$closure", "_defaultToEncodable", 15);
-    _static_1(A, "core_Uri_decodeComponent$closure", "Uri_decodeComponent", 17);
-    _static_1(A, "frame_Frame___parseVM_tearOff$closure", "Frame___parseVM_tearOff", 9);
-    _static_1(A, "frame_Frame___parseV8_tearOff$closure", "Frame___parseV8_tearOff", 9);
-    _static_1(A, "frame_Frame___parseFirefox_tearOff$closure", "Frame___parseFirefox_tearOff", 9);
-    _static_1(A, "frame_Frame___parseFriendly_tearOff$closure", "Frame___parseFriendly_tearOff", 9);
-    _static_1(A, "trace_Trace___parseVM_tearOff$closure", "Trace___parseVM_tearOff", 14);
-    _static_1(A, "trace_Trace___parseFriendly_tearOff$closure", "Trace___parseFriendly_tearOff", 14);
+    _static_1(A, "convert___defaultToEncodable$closure", "_defaultToEncodable", 13);
+    _static_1(A, "core_Uri_decodeComponent$closure", "Uri_decodeComponent", 16);
+    _static_1(A, "frame_Frame___parseVM_tearOff$closure", "Frame___parseVM_tearOff", 7);
+    _static_1(A, "frame_Frame___parseV8_tearOff$closure", "Frame___parseV8_tearOff", 7);
+    _static_1(A, "frame_Frame___parseFirefox_tearOff$closure", "Frame___parseFirefox_tearOff", 7);
+    _static_1(A, "frame_Frame___parseFriendly_tearOff$closure", "Frame___parseFriendly_tearOff", 7);
+    _static_1(A, "trace_Trace___parseVM_tearOff$closure", "Trace___parseVM_tearOff", 12);
+    _static_1(A, "trace_Trace___parseFriendly_tearOff$closure", "Trace___parseFriendly_tearOff", 12);
     _instance(_ = A._GuaranteeSink.prototype, "get$addError", 0, 1, function() {
       return [null];
-    }, ["call$2", "call$1"], ["addError$2", "addError$1"], 12, 0, 0);
+    }, ["call$2", "call$1"], ["addError$2", "addError$1"], 10, 0, 0);
     _instance(_, "get$_addError", 0, 1, function() {
       return [null];
-    }, ["call$2", "call$1"], ["_addError$2", "_addError$1"], 12, 0, 0);
+    }, ["call$2", "call$1"], ["_addError$2", "_addError$1"], 10, 0, 0);
     _instance_0_u(A._MultiChannel.prototype, "get$_closeInnerChannel", "_closeInnerChannel$0", 0);
     _static(A, "math__max$closure", 2, null, ["call$1$2", "call$2"], ["max", function(a, b) {
       return A.max(a, b, type$.num);
-    }], 41, 0);
+    }], 40, 0);
   })();
   (function inheritance() {
     var _mixin = hunkHelpers.mixin,
       _inherit = hunkHelpers.inherit,
       _inheritMany = hunkHelpers.inheritMany;
     _inherit(A.Object, null);
-    _inheritMany(A.Object, [A.JS_CONST, J.Interceptor, J.ArrayIterator, A.Stream, A.CastStreamSubscription, A.Iterable, A.CastIterator, A.Error, A.ListBase, A.Closure, A.SentinelValue, A.ListIterator, A.MappedIterator, A.WhereIterator, A.ExpandIterator, A.TakeIterator, A.SkipIterator, A.SkipWhileIterator, A.EmptyIterator, A.WhereTypeIterator, A.FixedLengthListMixin, A.UnmodifiableListMixin, A.Symbol, A.MapView, A.ConstantMap, A._KeysOrValuesOrElementsIterator, A.JSInvocationMirror, A.TypeErrorDecoder, A.NullThrownFromJavaScriptException, A._StackTrace, A._Required, A.MapBase, A.LinkedHashMapCell, A.LinkedHashMapKeyIterator, A.JSSyntaxRegExp, A._MatchImplementation, A._AllMatchesIterator, A.StringMatch, A._StringAllMatchesIterator, A._Cell, A._InitializedCell, A.Rti, A._FunctionParameters, A._Type, A._TimerImpl, A.AsyncError, A._Completer, A._FutureListener, A._Future, A._AsyncCallbackEntry, A._StreamController, A._SyncStreamControllerDispatch, A._BufferingStreamSubscription, A._StreamSinkWrapper, A._DelayedEvent, A._DelayedDone, A._PendingEvents, A._DoneStreamSubscription, A._ZoneFunction, A._ZoneSpecification, A._ZoneDelegate, A._Zone, A._HashMapKeyIterator, A.SetBase, A._LinkedHashSetCell, A._LinkedHashSetIterator, A._UnmodifiableMapMixin, A.Codec, A.Converter, A._JsonStringifier, A._Utf8Encoder, A._Utf8Decoder, A.DateTime, A.Duration, A.OutOfMemoryError, A.StackOverflowError, A._Exception, A.FormatException, A.Null, A._StringStackTrace, A.StringBuffer, A._Uri, A.UriData, A._SimpleUri, A.CssStyleDeclarationBase, A.ImmutableListMixin, A.FixedSizeListIterator, A.NullRejectionException, A.NullStreamSink, A.Context, A.Style, A.ParsedPath, A.PathException, A.Chain, A.Frame, A.LazyTrace, A.Trace, A.UnparsedFrame, A.StreamChannelMixin, A._GuaranteeSink, A.StreamChannelController, A.Subscription]);
+    _inheritMany(A.Object, [A.JS_CONST, J.Interceptor, J.ArrayIterator, A.Stream, A.CastStreamSubscription, A.Iterable, A.CastIterator, A.Error, A.ListBase, A.Closure, A.SentinelValue, A.ListIterator, A.MappedIterator, A.WhereIterator, A.ExpandIterator, A.TakeIterator, A.SkipIterator, A.SkipWhileIterator, A.EmptyIterator, A.WhereTypeIterator, A.FixedLengthListMixin, A.UnmodifiableListMixin, A.Symbol, A.MapView, A.ConstantMap, A._KeysOrValuesOrElementsIterator, A.JSInvocationMirror, A.TypeErrorDecoder, A.NullThrownFromJavaScriptException, A._StackTrace, A._Required, A.MapBase, A.LinkedHashMapCell, A.LinkedHashMapKeyIterator, A.JSSyntaxRegExp, A._MatchImplementation, A._AllMatchesIterator, A.StringMatch, A._StringAllMatchesIterator, A._Cell, A.Rti, A._FunctionParameters, A._Type, A._TimerImpl, A.AsyncError, A._Completer, A._FutureListener, A._Future, A._AsyncCallbackEntry, A._StreamController, A._SyncStreamControllerDispatch, A._BufferingStreamSubscription, A._StreamSinkWrapper, A._DelayedEvent, A._DelayedDone, A._PendingEvents, A._DoneStreamSubscription, A._ZoneFunction, A._ZoneSpecification, A._ZoneDelegate, A._Zone, A._HashMapKeyIterator, A.SetBase, A._LinkedHashSetCell, A._LinkedHashSetIterator, A._UnmodifiableMapMixin, A.Codec, A.Converter, A._JsonStringifier, A._Utf8Encoder, A._Utf8Decoder, A.DateTime, A.Duration, A.OutOfMemoryError, A.StackOverflowError, A._Exception, A.FormatException, A.Null, A._StringStackTrace, A.StringBuffer, A._Uri, A.UriData, A._SimpleUri, A.NullRejectionException, A.NullStreamSink, A.Context, A.Style, A.ParsedPath, A.PathException, A.Chain, A.Frame, A.LazyTrace, A.Trace, A.UnparsedFrame, A.StreamChannelMixin, A._GuaranteeSink, A.StreamChannelController, A.Subscription]);
     _inheritMany(J.Interceptor, [J.JSBool, J.JSNull, J.JavaScriptObject, J.JavaScriptBigInt, J.JavaScriptSymbol, J.JSNumber, J.JSString]);
-    _inheritMany(J.JavaScriptObject, [J.LegacyJavaScriptObject, J.JSArray, A.NativeByteBuffer, A.NativeTypedData, A.EventTarget, A.AccessibleNodeList, A.Blob, A.CssTransformComponent, A.CssRule, A._CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase, A.CssStyleValue, A.DataTransferItemList, A.DomException, A._DomRectList_JavaScriptObject_ListMixin, A.DomRectReadOnly, A._DomStringList_JavaScriptObject_ListMixin, A.DomTokenList, A._FileList_JavaScriptObject_ListMixin, A.Gamepad, A.History, A._HtmlCollection_JavaScriptObject_ListMixin, A.Location, A.MediaList, A._MidiInputMap_JavaScriptObject_MapMixin, A._MidiOutputMap_JavaScriptObject_MapMixin, A.MimeType, A._MimeTypeArray_JavaScriptObject_ListMixin, A._NodeList_JavaScriptObject_ListMixin, A.Plugin, A._PluginArray_JavaScriptObject_ListMixin, A._RtcStatsReport_JavaScriptObject_MapMixin, A.SpeechGrammar, A._SpeechGrammarList_JavaScriptObject_ListMixin, A.SpeechRecognitionResult, A._Storage_JavaScriptObject_MapMixin, A.StyleSheet, A._TextTrackCueList_JavaScriptObject_ListMixin, A.TimeRanges, A.Touch, A._TouchList_JavaScriptObject_ListMixin, A.TrackDefaultList, A.Url, A.__CssRuleList_JavaScriptObject_ListMixin, A.__GamepadList_JavaScriptObject_ListMixin, A.__NamedNodeMap_JavaScriptObject_ListMixin, A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin, A.__StyleSheetList_JavaScriptObject_ListMixin, A.Length, A._LengthList_JavaScriptObject_ListMixin, A.Number, A._NumberList_JavaScriptObject_ListMixin, A.PointList, A._StringList_JavaScriptObject_ListMixin, A.Transform, A._TransformList_JavaScriptObject_ListMixin, A.AudioBuffer, A._AudioParamMap_JavaScriptObject_MapMixin]);
+    _inheritMany(J.JavaScriptObject, [J.LegacyJavaScriptObject, J.JSArray, A.NativeByteBuffer, A.NativeTypedData]);
     _inheritMany(J.LegacyJavaScriptObject, [J.PlainJavaScriptObject, J.UnknownJavaScriptObject, J.JavaScriptFunction]);
     _inherit(J.JSUnmodifiableArray, J.JSArray);
     _inheritMany(J.JSNumber, [J.JSInt, J.JSNumNotInt]);
@@ -17588,8 +15848,8 @@
     _inheritMany(A.Error, [A.LateError, A.TypeError, A.JsNoSuchMethodError, A.UnknownJsTypeError, A._CyclicInitializationError, A.RuntimeError, A.AssertionError, A._Error, A.JsonUnsupportedObjectError, A.ArgumentError, A.NoSuchMethodError, A.UnsupportedError, A.UnimplementedError, A.StateError, A.ConcurrentModificationError]);
     _inherit(A.UnmodifiableListBase, A.ListBase);
     _inherit(A.CodeUnits, A.UnmodifiableListBase);
-    _inheritMany(A.Closure, [A.Closure0Args, A.Instantiation, A.Closure2Args, A.TearOffClosure, A.JsLinkedHashMap_values_closure, A.initHooks_closure, A.initHooks_closure1, A._AsyncRun__initializeScheduleImmediate_internalCallback, A._AsyncRun__initializeScheduleImmediate_closure, A._Future__chainForeignFuture_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure, A.Stream_pipe_closure, A.Stream_length_closure, A._CustomZone_bindUnaryCallback_closure, A._CustomZone_bindUnaryCallbackGuarded_closure, A._RootZone_bindUnaryCallback_closure, A._RootZone_bindUnaryCallbackGuarded_closure, A.runZonedGuarded_closure, A._Uri__makePath_closure, A._createTables_setChars, A._createTables_setRange, A.jsify__convert, A.promiseToFuture_closure, A.promiseToFuture_closure0, A.dartify_convert, A.Context_joinAll_closure, A.Context_split_closure, A._validateArgList_closure, A.WindowsStyle_absolutePathToUri_closure, A.Chain_Chain$parse_closure, A.Chain_toTrace_closure, A.Chain_toString_closure0, A.Chain_toString__closure0, A.Chain_toString_closure, A.Chain_toString__closure, A.Trace__parseVM_closure, A.Trace$parseV8_closure, A.Trace$parseJSCore_closure, A.Trace$parseFirefox_closure, A.Trace$parseFriendly_closure, A.Trace_terse_closure, A.Trace_foldFrames_closure, A.Trace_foldFrames_closure0, A.Trace_toString_closure0, A.Trace_toString_closure, A._GuaranteeSink_addStream_closure, A._MultiChannel_closure, A._MultiChannel_closure1, A._MultiChannel_virtualChannel_closure, A.MessagePortExtension_get_postMessage_closure, A.main__closure, A.main__closure0, A.main__closure1, A._connectToServer_closure, A._connectToServer_closure0, A._connectToIframe_closure, A._connectToIframe__closure1]);
-    _inheritMany(A.Closure0Args, [A.nullFuture_closure, A._AsyncRun__scheduleImmediateJsOverride_internalCallback, A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, A._TimerImpl_internalCallback, A._TimerImpl$periodic_closure, A._Future__addListener_closure, A._Future__prependListeners_closure, A._Future__chainForeignFuture_closure1, A._Future__chainCoreFutureAsync_closure, A._Future__asyncCompleteWithValue_closure, A._Future__asyncCompleteError_closure, A._Future__propagateToListeners_handleWhenCompleteCallback, A._Future__propagateToListeners_handleValueCallback, A._Future__propagateToListeners_handleError, A.Stream_length_closure0, A._StreamController__subscribe_closure, A._StreamController__recordCancel_complete, A._AddStreamState_cancel_closure, A._BufferingStreamSubscription__sendError_sendError, A._BufferingStreamSubscription__sendDone_sendDone, A._PendingEvents_schedule_closure, A._CustomZone_bindCallback_closure, A._CustomZone_bindCallbackGuarded_closure, A._rootHandleError_closure, A._RootZone_bindCallback_closure, A._RootZone_bindCallbackGuarded_closure, A.Utf8Decoder__decoder_closure, A.Utf8Decoder__decoderNonfatal_closure, A.NullStreamSink_addStream_closure, A.Frame_Frame$parseVM_closure, A.Frame_Frame$parseV8_closure, A.Frame_Frame$_parseFirefoxEval_closure, A.Frame_Frame$parseFirefox_closure, A.Frame_Frame$parseFriendly_closure, A.LazyTrace_terse_closure, A.Trace_Trace$from_closure, A.GuaranteeChannel_closure, A.GuaranteeChannel__closure, A._MultiChannel_closure0, A._MultiChannel__closure, A._MultiChannel_virtualChannel_closure0, A.main_closure, A.main___closure, A.main___closure0, A.main___closure1, A.main___closure2, A.main___closure3, A.main___closure4, A.main__closure2, A.main__closure3, A._connectToIframe__closure, A._connectToIframe__closure0]);
+    _inheritMany(A.Closure, [A.Closure0Args, A.Instantiation, A.Closure2Args, A.TearOffClosure, A.JsLinkedHashMap_values_closure, A.initHooks_closure, A.initHooks_closure1, A._AsyncRun__initializeScheduleImmediate_internalCallback, A._AsyncRun__initializeScheduleImmediate_closure, A._Future__chainForeignFuture_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure, A.Stream_pipe_closure, A.Stream_length_closure, A._CustomZone_bindUnaryCallback_closure, A._CustomZone_bindUnaryCallbackGuarded_closure, A._RootZone_bindUnaryCallback_closure, A._RootZone_bindUnaryCallbackGuarded_closure, A.runZonedGuarded_closure, A._Uri__makePath_closure, A._createTables_setChars, A._createTables_setRange, A.jsify__convert, A.promiseToFuture_closure, A.promiseToFuture_closure0, A.dartify_convert, A.Context_joinAll_closure, A.Context_split_closure, A._validateArgList_closure, A.WindowsStyle_absolutePathToUri_closure, A.Chain_Chain$parse_closure, A.Chain_toTrace_closure, A.Chain_toString_closure0, A.Chain_toString__closure0, A.Chain_toString_closure, A.Chain_toString__closure, A.Trace__parseVM_closure, A.Trace$parseV8_closure, A.Trace$parseJSCore_closure, A.Trace$parseFirefox_closure, A.Trace$parseFriendly_closure, A.Trace_terse_closure, A.Trace_foldFrames_closure, A.Trace_foldFrames_closure0, A.Trace_toString_closure0, A.Trace_toString_closure, A._GuaranteeSink_addStream_closure, A._MultiChannel_closure, A._MultiChannel_closure1, A._MultiChannel_virtualChannel_closure, A.MessagePortExtension_get_postMessage_closure, A.main__closure, A.main__closure0, A.main__closure1, A._connectToServer_closure, A._connectToServer_closure0, A._connectToIframe_closure, A._connectToIframe__closure]);
+    _inheritMany(A.Closure0Args, [A.nullFuture_closure, A._AsyncRun__scheduleImmediateJsOverride_internalCallback, A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, A._TimerImpl_internalCallback, A._TimerImpl$periodic_closure, A._Future__addListener_closure, A._Future__prependListeners_closure, A._Future__chainForeignFuture_closure1, A._Future__chainCoreFutureAsync_closure, A._Future__asyncCompleteWithValue_closure, A._Future__asyncCompleteError_closure, A._Future__propagateToListeners_handleWhenCompleteCallback, A._Future__propagateToListeners_handleValueCallback, A._Future__propagateToListeners_handleError, A.Stream_length_closure0, A._StreamController__subscribe_closure, A._StreamController__recordCancel_complete, A._AddStreamState_cancel_closure, A._BufferingStreamSubscription__sendError_sendError, A._BufferingStreamSubscription__sendDone_sendDone, A._PendingEvents_schedule_closure, A._CustomZone_bindCallback_closure, A._CustomZone_bindCallbackGuarded_closure, A._rootHandleError_closure, A._RootZone_bindCallback_closure, A._RootZone_bindCallbackGuarded_closure, A._Utf8Decoder__decoder_closure, A._Utf8Decoder__decoderNonfatal_closure, A.NullStreamSink_addStream_closure, A.Frame_Frame$parseVM_closure, A.Frame_Frame$parseV8_closure, A.Frame_Frame$_parseFirefoxEval_closure, A.Frame_Frame$parseFirefox_closure, A.Frame_Frame$parseFriendly_closure, A.LazyTrace_terse_closure, A.Trace_Trace$from_closure, A.GuaranteeChannel_closure, A.GuaranteeChannel__closure, A._MultiChannel_closure0, A._MultiChannel__closure, A._MultiChannel_virtualChannel_closure0, A.main_closure, A.main__closure2, A.main__closure3]);
     _inheritMany(A.EfficientLengthIterable, [A.ListIterable, A.EmptyIterable, A.LinkedHashMapKeyIterable, A._HashMapKeyIterable]);
     _inheritMany(A.ListIterable, [A.SubListIterable, A.MappedListIterable, A.ReversedListIterable, A._JsonMapKeyIterable]);
     _inherit(A.EfficientLengthMappedIterable, A.MappedIterable);
@@ -17600,7 +15860,7 @@
     _inherit(A.ConstantMapView, A.UnmodifiableMapView);
     _inherit(A.ConstantStringMap, A.ConstantMap);
     _inherit(A.Instantiation1, A.Instantiation);
-    _inheritMany(A.Closure2Args, [A.Primitives_functionNoSuchMethod_closure, A.initHooks_closure0, A._Future__chainForeignFuture_closure0, A.MapBase_mapToString_closure, A._JsonStringifier_writeMap_closure, A.NoSuchMethodError_toString_closure, A.Uri_splitQueryString_closure, A.Uri__parseIPv4Address_error, A.Uri_parseIPv6Address_error, A.Uri_parseIPv6Address_parseHex, A._createTables_build, A.MidiInputMap_keys_closure, A.MidiOutputMap_keys_closure, A.RtcStatsReport_keys_closure, A.Storage_keys_closure, A.AudioParamMap_keys_closure, A.Frame_Frame$parseV8_closure_parseLocation, A.main_closure0]);
+    _inheritMany(A.Closure2Args, [A.Primitives_functionNoSuchMethod_closure, A.initHooks_closure0, A._Future__chainForeignFuture_closure0, A.MapBase_mapToString_closure, A._JsonStringifier_writeMap_closure, A.NoSuchMethodError_toString_closure, A.Uri_splitQueryString_closure, A.Uri__parseIPv4Address_error, A.Uri_parseIPv6Address_error, A.Uri_parseIPv6Address_parseHex, A._createTables_build, A.Frame_Frame$parseV8_closure_parseLocation, A.main_closure0]);
     _inherit(A.NullError, A.TypeError);
     _inheritMany(A.TearOffClosure, [A.StaticClosure, A.BoundClosure]);
     _inherit(A._AssertionError, A.AssertionError);
@@ -17631,63 +15891,6 @@
     _inherit(A._JsonStringStringifier, A._JsonStringifier);
     _inheritMany(A.ArgumentError, [A.RangeError, A.IndexError]);
     _inherit(A._DataUri, A._Uri);
-    _inheritMany(A.EventTarget, [A.Node, A.FileWriter, A.SourceBuffer, A._SourceBufferList_EventTarget_ListMixin, A.TextTrack, A.TextTrackCue, A._TextTrackList_EventTarget_ListMixin, A.VideoTrackList, A.AudioTrackList, A.BaseAudioContext]);
-    _inheritMany(A.Node, [A.Element, A.CharacterData]);
-    _inherit(A.HtmlElement, A.Element);
-    _inheritMany(A.HtmlElement, [A.AnchorElement, A.AreaElement, A.FormElement, A.SelectElement]);
-    _inherit(A.CssPerspective, A.CssTransformComponent);
-    _inherit(A.CssStyleDeclaration, A._CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase);
-    _inheritMany(A.CssStyleValue, [A.CssTransformValue, A.CssUnparsedValue]);
-    _inherit(A._DomRectList_JavaScriptObject_ListMixin_ImmutableListMixin, A._DomRectList_JavaScriptObject_ListMixin);
-    _inherit(A.DomRectList, A._DomRectList_JavaScriptObject_ListMixin_ImmutableListMixin);
-    _inherit(A._DomStringList_JavaScriptObject_ListMixin_ImmutableListMixin, A._DomStringList_JavaScriptObject_ListMixin);
-    _inherit(A.DomStringList, A._DomStringList_JavaScriptObject_ListMixin_ImmutableListMixin);
-    _inherit(A.File, A.Blob);
-    _inherit(A._FileList_JavaScriptObject_ListMixin_ImmutableListMixin, A._FileList_JavaScriptObject_ListMixin);
-    _inherit(A.FileList, A._FileList_JavaScriptObject_ListMixin_ImmutableListMixin);
-    _inherit(A._HtmlCollection_JavaScriptObject_ListMixin_ImmutableListMixin, A._HtmlCollection_JavaScriptObject_ListMixin);
-    _inherit(A.HtmlCollection, A._HtmlCollection_JavaScriptObject_ListMixin_ImmutableListMixin);
-    _inherit(A.MidiInputMap, A._MidiInputMap_JavaScriptObject_MapMixin);
-    _inherit(A.MidiOutputMap, A._MidiOutputMap_JavaScriptObject_MapMixin);
-    _inherit(A._MimeTypeArray_JavaScriptObject_ListMixin_ImmutableListMixin, A._MimeTypeArray_JavaScriptObject_ListMixin);
-    _inherit(A.MimeTypeArray, A._MimeTypeArray_JavaScriptObject_ListMixin_ImmutableListMixin);
-    _inherit(A._NodeList_JavaScriptObject_ListMixin_ImmutableListMixin, A._NodeList_JavaScriptObject_ListMixin);
-    _inherit(A.NodeList, A._NodeList_JavaScriptObject_ListMixin_ImmutableListMixin);
-    _inherit(A._PluginArray_JavaScriptObject_ListMixin_ImmutableListMixin, A._PluginArray_JavaScriptObject_ListMixin);
-    _inherit(A.PluginArray, A._PluginArray_JavaScriptObject_ListMixin_ImmutableListMixin);
-    _inherit(A.RtcStatsReport, A._RtcStatsReport_JavaScriptObject_MapMixin);
-    _inherit(A._SourceBufferList_EventTarget_ListMixin_ImmutableListMixin, A._SourceBufferList_EventTarget_ListMixin);
-    _inherit(A.SourceBufferList, A._SourceBufferList_EventTarget_ListMixin_ImmutableListMixin);
-    _inherit(A._SpeechGrammarList_JavaScriptObject_ListMixin_ImmutableListMixin, A._SpeechGrammarList_JavaScriptObject_ListMixin);
-    _inherit(A.SpeechGrammarList, A._SpeechGrammarList_JavaScriptObject_ListMixin_ImmutableListMixin);
-    _inherit(A.Storage, A._Storage_JavaScriptObject_MapMixin);
-    _inherit(A._TextTrackCueList_JavaScriptObject_ListMixin_ImmutableListMixin, A._TextTrackCueList_JavaScriptObject_ListMixin);
-    _inherit(A.TextTrackCueList, A._TextTrackCueList_JavaScriptObject_ListMixin_ImmutableListMixin);
-    _inherit(A._TextTrackList_EventTarget_ListMixin_ImmutableListMixin, A._TextTrackList_EventTarget_ListMixin);
-    _inherit(A.TextTrackList, A._TextTrackList_EventTarget_ListMixin_ImmutableListMixin);
-    _inherit(A._TouchList_JavaScriptObject_ListMixin_ImmutableListMixin, A._TouchList_JavaScriptObject_ListMixin);
-    _inherit(A.TouchList, A._TouchList_JavaScriptObject_ListMixin_ImmutableListMixin);
-    _inherit(A.__CssRuleList_JavaScriptObject_ListMixin_ImmutableListMixin, A.__CssRuleList_JavaScriptObject_ListMixin);
-    _inherit(A._CssRuleList, A.__CssRuleList_JavaScriptObject_ListMixin_ImmutableListMixin);
-    _inherit(A._DomRect, A.DomRectReadOnly);
-    _inherit(A.__GamepadList_JavaScriptObject_ListMixin_ImmutableListMixin, A.__GamepadList_JavaScriptObject_ListMixin);
-    _inherit(A._GamepadList, A.__GamepadList_JavaScriptObject_ListMixin_ImmutableListMixin);
-    _inherit(A.__NamedNodeMap_JavaScriptObject_ListMixin_ImmutableListMixin, A.__NamedNodeMap_JavaScriptObject_ListMixin);
-    _inherit(A._NamedNodeMap, A.__NamedNodeMap_JavaScriptObject_ListMixin_ImmutableListMixin);
-    _inherit(A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin_ImmutableListMixin, A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin);
-    _inherit(A._SpeechRecognitionResultList, A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin_ImmutableListMixin);
-    _inherit(A.__StyleSheetList_JavaScriptObject_ListMixin_ImmutableListMixin, A.__StyleSheetList_JavaScriptObject_ListMixin);
-    _inherit(A._StyleSheetList, A.__StyleSheetList_JavaScriptObject_ListMixin_ImmutableListMixin);
-    _inherit(A._LengthList_JavaScriptObject_ListMixin_ImmutableListMixin, A._LengthList_JavaScriptObject_ListMixin);
-    _inherit(A.LengthList, A._LengthList_JavaScriptObject_ListMixin_ImmutableListMixin);
-    _inherit(A._NumberList_JavaScriptObject_ListMixin_ImmutableListMixin, A._NumberList_JavaScriptObject_ListMixin);
-    _inherit(A.NumberList, A._NumberList_JavaScriptObject_ListMixin_ImmutableListMixin);
-    _inherit(A._StringList_JavaScriptObject_ListMixin_ImmutableListMixin, A._StringList_JavaScriptObject_ListMixin);
-    _inherit(A.StringList, A._StringList_JavaScriptObject_ListMixin_ImmutableListMixin);
-    _inherit(A._TransformList_JavaScriptObject_ListMixin_ImmutableListMixin, A._TransformList_JavaScriptObject_ListMixin);
-    _inherit(A.TransformList, A._TransformList_JavaScriptObject_ListMixin_ImmutableListMixin);
-    _inherit(A.AudioParamMap, A._AudioParamMap_JavaScriptObject_MapMixin);
-    _inherit(A.OfflineAudioContext, A.BaseAudioContext);
     _inherit(A.InternalStyle, A.Style);
     _inheritMany(A.InternalStyle, [A.PosixStyle, A.UrlStyle, A.WindowsStyle]);
     _inheritMany(A.StreamChannelMixin, [A.GuaranteeChannel, A._MultiChannel, A.VirtualChannel]);
@@ -17699,69 +15902,20 @@
     _mixin(A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin, A.FixedLengthListMixin);
     _mixin(A._SyncStreamController, A._SyncStreamControllerDispatch);
     _mixin(A._UnmodifiableMapView_MapView__UnmodifiableMapMixin, A._UnmodifiableMapMixin);
-    _mixin(A._CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase, A.CssStyleDeclarationBase);
-    _mixin(A._DomRectList_JavaScriptObject_ListMixin, A.ListBase);
-    _mixin(A._DomRectList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
-    _mixin(A._DomStringList_JavaScriptObject_ListMixin, A.ListBase);
-    _mixin(A._DomStringList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
-    _mixin(A._FileList_JavaScriptObject_ListMixin, A.ListBase);
-    _mixin(A._FileList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
-    _mixin(A._HtmlCollection_JavaScriptObject_ListMixin, A.ListBase);
-    _mixin(A._HtmlCollection_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
-    _mixin(A._MidiInputMap_JavaScriptObject_MapMixin, A.MapBase);
-    _mixin(A._MidiOutputMap_JavaScriptObject_MapMixin, A.MapBase);
-    _mixin(A._MimeTypeArray_JavaScriptObject_ListMixin, A.ListBase);
-    _mixin(A._MimeTypeArray_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
-    _mixin(A._NodeList_JavaScriptObject_ListMixin, A.ListBase);
-    _mixin(A._NodeList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
-    _mixin(A._PluginArray_JavaScriptObject_ListMixin, A.ListBase);
-    _mixin(A._PluginArray_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
-    _mixin(A._RtcStatsReport_JavaScriptObject_MapMixin, A.MapBase);
-    _mixin(A._SourceBufferList_EventTarget_ListMixin, A.ListBase);
-    _mixin(A._SourceBufferList_EventTarget_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
-    _mixin(A._SpeechGrammarList_JavaScriptObject_ListMixin, A.ListBase);
-    _mixin(A._SpeechGrammarList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
-    _mixin(A._Storage_JavaScriptObject_MapMixin, A.MapBase);
-    _mixin(A._TextTrackCueList_JavaScriptObject_ListMixin, A.ListBase);
-    _mixin(A._TextTrackCueList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
-    _mixin(A._TextTrackList_EventTarget_ListMixin, A.ListBase);
-    _mixin(A._TextTrackList_EventTarget_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
-    _mixin(A._TouchList_JavaScriptObject_ListMixin, A.ListBase);
-    _mixin(A._TouchList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
-    _mixin(A.__CssRuleList_JavaScriptObject_ListMixin, A.ListBase);
-    _mixin(A.__CssRuleList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
-    _mixin(A.__GamepadList_JavaScriptObject_ListMixin, A.ListBase);
-    _mixin(A.__GamepadList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
-    _mixin(A.__NamedNodeMap_JavaScriptObject_ListMixin, A.ListBase);
-    _mixin(A.__NamedNodeMap_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
-    _mixin(A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin, A.ListBase);
-    _mixin(A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
-    _mixin(A.__StyleSheetList_JavaScriptObject_ListMixin, A.ListBase);
-    _mixin(A.__StyleSheetList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
-    _mixin(A._LengthList_JavaScriptObject_ListMixin, A.ListBase);
-    _mixin(A._LengthList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
-    _mixin(A._NumberList_JavaScriptObject_ListMixin, A.ListBase);
-    _mixin(A._NumberList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
-    _mixin(A._StringList_JavaScriptObject_ListMixin, A.ListBase);
-    _mixin(A._StringList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
-    _mixin(A._TransformList_JavaScriptObject_ListMixin, A.ListBase);
-    _mixin(A._TransformList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
-    _mixin(A._AudioParamMap_JavaScriptObject_MapMixin, A.MapBase);
   })();
   var init = {
     typeUniverse: {eC: new Map(), tR: {}, eT: {}, tPV: {}, sEA: []},
-    mangledGlobalNames: {int: "int", double: "double", num: "num", String: "String", bool: "bool", Null: "Null", List: "List"},
+    mangledGlobalNames: {int: "int", double: "double", num: "num", String: "String", bool: "bool", Null: "Null", List: "List", Object: "Object", Map: "Map"},
     mangledNames: {},
-    types: ["~()", "bool(String)", "@()", "Null()", "~(String,@)", "~(@)", "Frame()", "~(Object?)", "~(JavaScriptObject)", "Frame(String)", "Null(@)", "~(Object,StackTrace)", "~(Object[StackTrace?])", "~(~())", "Trace(String)", "@(@)", "~(Object?,Object?)", "String(String)", "~(Uint8List,String,int)", "Object?(Object?)", "int(Frame)", "String(Frame)", "Trace()", "bool(Frame)", "bool()", "~(String,int)", "Null(Object,StackTrace)", "~(String,String)", "_Future<@>(@)", "Future<@>(@)", "Null(~())", "String(String?)", "List<Frame>(Trace)", "int(Trace)", "~(Zone,ZoneDelegate,Zone,Object,StackTrace)", "String(Trace)", "@(@,String)", "@(String)", "Frame(String,String)", "~(Symbol0,@)", "Map<String,String>(Map<String,String>,String)", "0^(0^,0^)<num>", "~(List<@>)", "~([Object?])", "~(Timer)", "~(String,int?)", "int(int,int)", "~(Zone?,ZoneDelegate?,Zone,Object,StackTrace)", "0^(Zone?,ZoneDelegate?,Zone,0^())<Object?>", "0^(Zone?,ZoneDelegate?,Zone,0^(1^),1^)<Object?,Object?>", "0^(Zone?,ZoneDelegate?,Zone,0^(1^,2^),1^,2^)<Object?,Object?,Object?>", "0^()(Zone,ZoneDelegate,Zone,0^())<Object?>", "0^(1^)(Zone,ZoneDelegate,Zone,0^(1^))<Object?,Object?>", "0^(1^,2^)(Zone,ZoneDelegate,Zone,0^(1^,2^))<Object?,Object?,Object?>", "AsyncError?(Zone,ZoneDelegate,Zone,Object,StackTrace?)", "~(Zone?,ZoneDelegate?,Zone,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~(Timer))", "~(Zone,ZoneDelegate,Zone,String)", "Zone(Zone?,ZoneDelegate?,Zone,ZoneSpecification?,Map<Object?,Object?>?)", "Future<Null>()", "Uint8List(@,@)", "Frame(Frame)"],
+    types: ["~()", "bool(String)", "Null()", "~(Object?)", "Frame()", "~(@)", "~(JavaScriptObject)", "Frame(String)", "Null(@)", "~(Object,StackTrace)", "~(Object[StackTrace?])", "~(~())", "Trace(String)", "@(@)", "~(Object?,Object?)", "@()", "String(String)", "~(Uint8List,String,int)", "Object?(Object?)", "int(Frame)", "String(Frame)", "Trace()", "bool(Frame)", "Map<String,String>(Map<String,String>,String)", "~([Object?])", "Uint8List(@,@)", "@(String)", "Null(Object,StackTrace)", "_Future<@>(@)", "Future<@>(@)", "String(String?)", "List<Frame>(Trace)", "int(Trace)", "~(String,@)", "String(Trace)", "~(Zone,ZoneDelegate,Zone,Object,StackTrace)", "Null(~())", "Frame(String,String)", "Future<Null>()", "~(Symbol0,@)", "0^(0^,0^)<num>", "~(List<@>)", "~(Timer)", "@(@,String)", "~(String,int)", "~(Zone?,ZoneDelegate?,Zone,Object,StackTrace)", "0^(Zone?,ZoneDelegate?,Zone,0^())<Object?>", "0^(Zone?,ZoneDelegate?,Zone,0^(1^),1^)<Object?,Object?>", "0^(Zone?,ZoneDelegate?,Zone,0^(1^,2^),1^,2^)<Object?,Object?,Object?>", "0^()(Zone,ZoneDelegate,Zone,0^())<Object?>", "0^(1^)(Zone,ZoneDelegate,Zone,0^(1^))<Object?,Object?>", "0^(1^,2^)(Zone,ZoneDelegate,Zone,0^(1^,2^))<Object?,Object?,Object?>", "AsyncError?(Zone,ZoneDelegate,Zone,Object,StackTrace?)", "~(Zone?,ZoneDelegate?,Zone,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~(Timer))", "~(Zone,ZoneDelegate,Zone,String)", "Zone(Zone?,ZoneDelegate?,Zone,ZoneSpecification?,Map<Object?,Object?>?)", "~(String,int?)", "int(int,int)", "Frame(Frame)"],
     interceptorsByTag: null,
     leafTags: null,
     arrayRti: Symbol("$ti")
   };
-  A._Universe_addRules(init.typeUniverse, JSON.parse('{"PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","JavaScriptFunction":"LegacyJavaScriptObject","AbortPaymentEvent":"JavaScriptObject","ExtendableEvent":"JavaScriptObject","Event":"JavaScriptObject","AudioContext":"BaseAudioContext","AbsoluteOrientationSensor":"EventTarget","OrientationSensor":"EventTarget","Sensor":"EventTarget","MathMLElement":"Element","AudioElement":"HtmlElement","MediaElement":"HtmlElement","HtmlDocument":"Node","Document":"Node","VttCue":"TextTrackCue","CDataSection":"CharacterData","Text":"CharacterData","HtmlFormControlsCollection":"HtmlCollection","CssCharsetRule":"CssRule","CssMatrixComponent":"CssTransformComponent","CssStyleSheet":"StyleSheet","CssurlImageValue":"CssStyleValue","CssImageValue":"CssStyleValue","CssResourceValue":"CssStyleValue","JSBool":{"bool":[],"TrustedGetRuntimeType":[]},"JSNull":{"Null":[],"TrustedGetRuntimeType":[]},"LegacyJavaScriptObject":{"JavaScriptObject":[]},"JSArray":{"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"Iterable":["1"]},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"Iterable":["1"]},"ArrayIterator":{"Iterator":["1"]},"JSNumber":{"double":[],"num":[]},"JSInt":{"double":[],"int":[],"num":[],"TrustedGetRuntimeType":[]},"JSNumNotInt":{"double":[],"num":[],"TrustedGetRuntimeType":[]},"JSString":{"String":[],"Pattern":[],"TrustedGetRuntimeType":[]},"CastStream":{"Stream":["2"],"Stream.T":"2"},"CastStreamSubscription":{"StreamSubscription":["2"]},"_CastIterableBase":{"Iterable":["2"]},"CastIterator":{"Iterator":["2"]},"CastIterable":{"_CastIterableBase":["1","2"],"Iterable":["2"],"Iterable.E":"2"},"_EfficientLengthCastIterable":{"CastIterable":["1","2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"_CastListBase":{"ListBase":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"]},"CastList":{"_CastListBase":["1","2"],"ListBase":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListBase.E":"2","Iterable.E":"2"},"LateError":{"Error":[]},"CodeUnits":{"ListBase":["int"],"UnmodifiableListMixin":["int"],"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"ListBase.E":"int","UnmodifiableListMixin.E":"int"},"EfficientLengthIterable":{"Iterable":["1"]},"ListIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"SubListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"ListIterator":{"Iterator":["1"]},"MappedIterable":{"Iterable":["2"],"Iterable.E":"2"},"EfficientLengthMappedIterable":{"MappedIterable":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"MappedIterator":{"Iterator":["2"]},"MappedListIterable":{"ListIterable":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListIterable.E":"2","Iterable.E":"2"},"WhereIterable":{"Iterable":["1"],"Iterable.E":"1"},"WhereIterator":{"Iterator":["1"]},"ExpandIterable":{"Iterable":["2"],"Iterable.E":"2"},"ExpandIterator":{"Iterator":["2"]},"TakeIterable":{"Iterable":["1"],"Iterable.E":"1"},"EfficientLengthTakeIterable":{"TakeIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"TakeIterator":{"Iterator":["1"]},"SkipIterable":{"Iterable":["1"],"Iterable.E":"1"},"EfficientLengthSkipIterable":{"SkipIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"SkipIterator":{"Iterator":["1"]},"SkipWhileIterable":{"Iterable":["1"],"Iterable.E":"1"},"SkipWhileIterator":{"Iterator":["1"]},"EmptyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"EmptyIterator":{"Iterator":["1"]},"WhereTypeIterable":{"Iterable":["1"],"Iterable.E":"1"},"WhereTypeIterator":{"Iterator":["1"]},"UnmodifiableListBase":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"ReversedListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"Symbol":{"Symbol0":[]},"ConstantMapView":{"UnmodifiableMapView":["1","2"],"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ConstantMap":{"Map":["1","2"]},"ConstantStringMap":{"ConstantMap":["1","2"],"Map":["1","2"]},"_KeysOrValues":{"Iterable":["1"],"Iterable.E":"1"},"_KeysOrValuesOrElementsIterator":{"Iterator":["1"]},"Instantiation":{"Closure":[],"Function":[]},"Instantiation1":{"Closure":[],"Function":[]},"JSInvocationMirror":{"Invocation":[]},"NullError":{"TypeError":[],"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"NullThrownFromJavaScriptException":{"Exception":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Closure":[],"Function":[]},"Closure2Args":{"Closure":[],"Function":[]},"TearOffClosure":{"Closure":[],"Function":[]},"StaticClosure":{"Closure":[],"Function":[]},"BoundClosure":{"Closure":[],"Function":[]},"_CyclicInitializationError":{"Error":[]},"RuntimeError":{"Error":[]},"_AssertionError":{"Error":[]},"JsLinkedHashMap":{"MapBase":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"LinkedHashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"LinkedHashMapKeyIterator":{"Iterator":["1"]},"JSSyntaxRegExp":{"RegExp":[],"Pattern":[]},"_MatchImplementation":{"RegExpMatch":[],"Match":[]},"_AllMatchesIterable":{"Iterable":["RegExpMatch"],"Iterable.E":"RegExpMatch"},"_AllMatchesIterator":{"Iterator":["RegExpMatch"]},"StringMatch":{"Match":[]},"_StringAllMatchesIterable":{"Iterable":["Match"],"Iterable.E":"Match"},"_StringAllMatchesIterator":{"Iterator":["Match"]},"NativeByteBuffer":{"JavaScriptObject":[],"ByteBuffer":[],"TrustedGetRuntimeType":[]},"NativeTypedData":{"JavaScriptObject":[]},"NativeByteData":{"JavaScriptObject":[],"ByteData":[],"TrustedGetRuntimeType":[]},"NativeTypedArray":{"JavaScriptIndexingBehavior":["1"],"JavaScriptObject":[]},"NativeTypedArrayOfDouble":{"ListBase":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"ListBase":["double"],"Float32List":[],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double"},"NativeFloat64List":{"ListBase":["double"],"Float64List":[],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double"},"NativeInt16List":{"ListBase":["int"],"Int16List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeInt32List":{"ListBase":["int"],"Int32List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeInt8List":{"ListBase":["int"],"Int8List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint16List":{"ListBase":["int"],"Uint16List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint32List":{"ListBase":["int"],"Uint32List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint8ClampedList":{"ListBase":["int"],"Uint8ClampedList":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint8List":{"ListBase":["int"],"Uint8List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"_Error":{"Error":[]},"_TypeError":{"TypeError":[],"Error":[]},"AsyncError":{"Error":[]},"_Future":{"Future":["1"]},"_TimerImpl":{"Timer":[]},"_Completer":{"Completer":["1"]},"_AsyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_SyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_StreamController":{"StreamController":["1"],"StreamSink":["1"],"StreamConsumer":["1"],"_StreamControllerLifecycle":["1"],"_EventDispatch":["1"]},"_SyncStreamController":{"_SyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"StreamConsumer":["1"],"_StreamControllerLifecycle":["1"],"_EventDispatch":["1"]},"_ControllerStream":{"_StreamImpl":["1"],"Stream":["1"],"Stream.T":"1"},"_ControllerSubscription":{"_BufferingStreamSubscription":["1"],"StreamSubscription":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamSinkWrapper":{"StreamSink":["1"],"StreamConsumer":["1"]},"_BufferingStreamSubscription":{"StreamSubscription":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamImpl":{"Stream":["1"]},"_DelayedData":{"_DelayedEvent":["1"]},"_DelayedError":{"_DelayedEvent":["@"]},"_DelayedDone":{"_DelayedEvent":["@"]},"_DoneStreamSubscription":{"StreamSubscription":["1"]},"_EmptyStream":{"Stream":["1"],"Stream.T":"1"},"_ZoneSpecification":{"ZoneSpecification":[]},"_ZoneDelegate":{"ZoneDelegate":[]},"_Zone":{"Zone":[]},"_CustomZone":{"_Zone":[],"Zone":[]},"_RootZone":{"_Zone":[],"Zone":[]},"_HashMap":{"MapBase":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_IdentityHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashMapKeyIterator":{"Iterator":["1"]},"_LinkedHashSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_LinkedHashSetIterator":{"Iterator":["1"]},"ListBase":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapBase":{"Map":["1","2"]},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"SetBase":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SetBase":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_JsonMap":{"MapBase":["String","@"],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"_JsonMapKeyIterable":{"ListIterable":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"ListIterable.E":"String","Iterable.E":"String"},"AsciiCodec":{"Codec":["String","List<int>"]},"_UnicodeSubsetEncoder":{"Converter":["String","List<int>"],"StreamTransformer":["String","List<int>"]},"AsciiEncoder":{"Converter":["String","List<int>"],"StreamTransformer":["String","List<int>"]},"Base64Codec":{"Codec":["List<int>","String"]},"Base64Encoder":{"Converter":["List<int>","String"],"StreamTransformer":["List<int>","String"]},"_FusedCodec":{"Codec":["1","3"]},"Converter":{"StreamTransformer":["1","2"]},"Encoding":{"Codec":["String","List<int>"]},"JsonUnsupportedObjectError":{"Error":[]},"JsonCyclicError":{"Error":[]},"JsonCodec":{"Codec":["Object?","String"]},"JsonEncoder":{"Converter":["Object?","String"],"StreamTransformer":["Object?","String"]},"JsonDecoder":{"Converter":["String","Object?"],"StreamTransformer":["String","Object?"]},"Utf8Codec":{"Codec":["String","List<int>"]},"Utf8Encoder":{"Converter":["String","List<int>"],"StreamTransformer":["String","List<int>"]},"Utf8Decoder":{"Converter":["List<int>","String"],"StreamTransformer":["List<int>","String"]},"double":{"num":[]},"int":{"num":[]},"List":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"RegExpMatch":{"Match":[]},"String":{"Pattern":[]},"AssertionError":{"Error":[]},"TypeError":{"Error":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"NoSuchMethodError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"_Exception":{"Exception":[]},"FormatException":{"Exception":[]},"_StringStackTrace":{"StackTrace":[]},"StringBuffer":{"StringSink":[]},"_Uri":{"Uri":[]},"_SimpleUri":{"Uri":[]},"_DataUri":{"Uri":[]},"CssRule":{"JavaScriptObject":[]},"File":{"JavaScriptObject":[]},"Gamepad":{"JavaScriptObject":[]},"MimeType":{"JavaScriptObject":[]},"Node":{"JavaScriptObject":[]},"Plugin":{"JavaScriptObject":[]},"SourceBuffer":{"JavaScriptObject":[]},"SpeechGrammar":{"JavaScriptObject":[]},"SpeechRecognitionResult":{"JavaScriptObject":[]},"StyleSheet":{"JavaScriptObject":[]},"TextTrack":{"JavaScriptObject":[]},"TextTrackCue":{"JavaScriptObject":[]},"Touch":{"JavaScriptObject":[]},"HtmlElement":{"Node":[],"JavaScriptObject":[]},"AccessibleNodeList":{"JavaScriptObject":[]},"AnchorElement":{"Node":[],"JavaScriptObject":[]},"AreaElement":{"Node":[],"JavaScriptObject":[]},"Blob":{"JavaScriptObject":[]},"CharacterData":{"Node":[],"JavaScriptObject":[]},"CssPerspective":{"JavaScriptObject":[]},"CssStyleDeclaration":{"JavaScriptObject":[]},"CssStyleValue":{"JavaScriptObject":[]},"CssTransformComponent":{"JavaScriptObject":[]},"CssTransformValue":{"JavaScriptObject":[]},"CssUnparsedValue":{"JavaScriptObject":[]},"DataTransferItemList":{"JavaScriptObject":[]},"DomException":{"JavaScriptObject":[]},"DomRectList":{"ListBase":["Rectangle<num>"],"ImmutableListMixin":["Rectangle<num>"],"List":["Rectangle<num>"],"JavaScriptIndexingBehavior":["Rectangle<num>"],"JavaScriptObject":[],"EfficientLengthIterable":["Rectangle<num>"],"Iterable":["Rectangle<num>"],"ImmutableListMixin.E":"Rectangle<num>","ListBase.E":"Rectangle<num>"},"DomRectReadOnly":{"JavaScriptObject":[],"Rectangle":["num"]},"DomStringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptIndexingBehavior":["String"],"JavaScriptObject":[],"EfficientLengthIterable":["String"],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String"},"DomTokenList":{"JavaScriptObject":[]},"Element":{"Node":[],"JavaScriptObject":[]},"EventTarget":{"JavaScriptObject":[]},"FileList":{"ListBase":["File"],"ImmutableListMixin":["File"],"List":["File"],"JavaScriptIndexingBehavior":["File"],"JavaScriptObject":[],"EfficientLengthIterable":["File"],"Iterable":["File"],"ImmutableListMixin.E":"File","ListBase.E":"File"},"FileWriter":{"JavaScriptObject":[]},"FormElement":{"Node":[],"JavaScriptObject":[]},"History":{"JavaScriptObject":[]},"HtmlCollection":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node"},"Location":{"JavaScriptObject":[]},"MediaList":{"JavaScriptObject":[]},"MidiInputMap":{"JavaScriptObject":[],"MapBase":["String","@"],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MidiOutputMap":{"JavaScriptObject":[],"MapBase":["String","@"],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MimeTypeArray":{"ListBase":["MimeType"],"ImmutableListMixin":["MimeType"],"List":["MimeType"],"JavaScriptIndexingBehavior":["MimeType"],"JavaScriptObject":[],"EfficientLengthIterable":["MimeType"],"Iterable":["MimeType"],"ImmutableListMixin.E":"MimeType","ListBase.E":"MimeType"},"NodeList":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node"},"PluginArray":{"ListBase":["Plugin"],"ImmutableListMixin":["Plugin"],"List":["Plugin"],"JavaScriptIndexingBehavior":["Plugin"],"JavaScriptObject":[],"EfficientLengthIterable":["Plugin"],"Iterable":["Plugin"],"ImmutableListMixin.E":"Plugin","ListBase.E":"Plugin"},"RtcStatsReport":{"JavaScriptObject":[],"MapBase":["String","@"],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"SelectElement":{"Node":[],"JavaScriptObject":[]},"SourceBufferList":{"ListBase":["SourceBuffer"],"ImmutableListMixin":["SourceBuffer"],"List":["SourceBuffer"],"JavaScriptIndexingBehavior":["SourceBuffer"],"JavaScriptObject":[],"EfficientLengthIterable":["SourceBuffer"],"Iterable":["SourceBuffer"],"ImmutableListMixin.E":"SourceBuffer","ListBase.E":"SourceBuffer"},"SpeechGrammarList":{"ListBase":["SpeechGrammar"],"ImmutableListMixin":["SpeechGrammar"],"List":["SpeechGrammar"],"JavaScriptIndexingBehavior":["SpeechGrammar"],"JavaScriptObject":[],"EfficientLengthIterable":["SpeechGrammar"],"Iterable":["SpeechGrammar"],"ImmutableListMixin.E":"SpeechGrammar","ListBase.E":"SpeechGrammar"},"Storage":{"JavaScriptObject":[],"MapBase":["String","String"],"Map":["String","String"],"MapBase.K":"String","MapBase.V":"String"},"TextTrackCueList":{"ListBase":["TextTrackCue"],"ImmutableListMixin":["TextTrackCue"],"List":["TextTrackCue"],"JavaScriptIndexingBehavior":["TextTrackCue"],"JavaScriptObject":[],"EfficientLengthIterable":["TextTrackCue"],"Iterable":["TextTrackCue"],"ImmutableListMixin.E":"TextTrackCue","ListBase.E":"TextTrackCue"},"TextTrackList":{"ListBase":["TextTrack"],"ImmutableListMixin":["TextTrack"],"List":["TextTrack"],"JavaScriptIndexingBehavior":["TextTrack"],"JavaScriptObject":[],"EfficientLengthIterable":["TextTrack"],"Iterable":["TextTrack"],"ImmutableListMixin.E":"TextTrack","ListBase.E":"TextTrack"},"TimeRanges":{"JavaScriptObject":[]},"TouchList":{"ListBase":["Touch"],"ImmutableListMixin":["Touch"],"List":["Touch"],"JavaScriptIndexingBehavior":["Touch"],"JavaScriptObject":[],"EfficientLengthIterable":["Touch"],"Iterable":["Touch"],"ImmutableListMixin.E":"Touch","ListBase.E":"Touch"},"TrackDefaultList":{"JavaScriptObject":[]},"Url":{"JavaScriptObject":[]},"VideoTrackList":{"JavaScriptObject":[]},"_CssRuleList":{"ListBase":["CssRule"],"ImmutableListMixin":["CssRule"],"List":["CssRule"],"JavaScriptIndexingBehavior":["CssRule"],"JavaScriptObject":[],"EfficientLengthIterable":["CssRule"],"Iterable":["CssRule"],"ImmutableListMixin.E":"CssRule","ListBase.E":"CssRule"},"_DomRect":{"JavaScriptObject":[],"Rectangle":["num"]},"_GamepadList":{"ListBase":["Gamepad?"],"ImmutableListMixin":["Gamepad?"],"List":["Gamepad?"],"JavaScriptIndexingBehavior":["Gamepad?"],"JavaScriptObject":[],"EfficientLengthIterable":["Gamepad?"],"Iterable":["Gamepad?"],"ImmutableListMixin.E":"Gamepad?","ListBase.E":"Gamepad?"},"_NamedNodeMap":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node"},"_SpeechRecognitionResultList":{"ListBase":["SpeechRecognitionResult"],"ImmutableListMixin":["SpeechRecognitionResult"],"List":["SpeechRecognitionResult"],"JavaScriptIndexingBehavior":["SpeechRecognitionResult"],"JavaScriptObject":[],"EfficientLengthIterable":["SpeechRecognitionResult"],"Iterable":["SpeechRecognitionResult"],"ImmutableListMixin.E":"SpeechRecognitionResult","ListBase.E":"SpeechRecognitionResult"},"_StyleSheetList":{"ListBase":["StyleSheet"],"ImmutableListMixin":["StyleSheet"],"List":["StyleSheet"],"JavaScriptIndexingBehavior":["StyleSheet"],"JavaScriptObject":[],"EfficientLengthIterable":["StyleSheet"],"Iterable":["StyleSheet"],"ImmutableListMixin.E":"StyleSheet","ListBase.E":"StyleSheet"},"FixedSizeListIterator":{"Iterator":["1"]},"NullRejectionException":{"Exception":[]},"Length":{"JavaScriptObject":[]},"Number":{"JavaScriptObject":[]},"Transform":{"JavaScriptObject":[]},"LengthList":{"ListBase":["Length"],"ImmutableListMixin":["Length"],"List":["Length"],"JavaScriptObject":[],"EfficientLengthIterable":["Length"],"Iterable":["Length"],"ImmutableListMixin.E":"Length","ListBase.E":"Length"},"NumberList":{"ListBase":["Number"],"ImmutableListMixin":["Number"],"List":["Number"],"JavaScriptObject":[],"EfficientLengthIterable":["Number"],"Iterable":["Number"],"ImmutableListMixin.E":"Number","ListBase.E":"Number"},"PointList":{"JavaScriptObject":[]},"StringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptObject":[],"EfficientLengthIterable":["String"],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String"},"TransformList":{"ListBase":["Transform"],"ImmutableListMixin":["Transform"],"List":["Transform"],"JavaScriptObject":[],"EfficientLengthIterable":["Transform"],"Iterable":["Transform"],"ImmutableListMixin.E":"Transform","ListBase.E":"Transform"},"AudioBuffer":{"JavaScriptObject":[]},"AudioParamMap":{"JavaScriptObject":[],"MapBase":["String","@"],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"AudioTrackList":{"JavaScriptObject":[]},"BaseAudioContext":{"JavaScriptObject":[]},"OfflineAudioContext":{"JavaScriptObject":[]},"NullStreamSink":{"StreamSink":["1"],"StreamConsumer":["1"]},"PathException":{"Exception":[]},"PosixStyle":{"InternalStyle":[]},"UrlStyle":{"InternalStyle":[]},"WindowsStyle":{"InternalStyle":[]},"Chain":{"StackTrace":[]},"LazyTrace":{"Trace":[],"StackTrace":[]},"Trace":{"StackTrace":[]},"UnparsedFrame":{"Frame":[]},"GuaranteeChannel":{"StreamChannelMixin":["1"],"StreamChannel":["1"]},"_GuaranteeSink":{"StreamSink":["1"],"StreamConsumer":["1"]},"_MultiChannel":{"StreamChannelMixin":["1"],"MultiChannel":["1"],"StreamChannel":["1"]},"VirtualChannel":{"StreamChannelMixin":["1"],"MultiChannel":["1"],"StreamChannel":["1"]},"StreamChannelMixin":{"StreamChannel":["1"]},"Int8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint8ClampedList":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Int16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Int32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Float32List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"]},"Float64List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"]}}'));
+  A._Universe_addRules(init.typeUniverse, JSON.parse('{"PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","JavaScriptFunction":"LegacyJavaScriptObject","JSBool":{"bool":[],"TrustedGetRuntimeType":[]},"JSNull":{"Null":[],"TrustedGetRuntimeType":[]},"LegacyJavaScriptObject":{"JavaScriptObject":[]},"JSArray":{"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"Iterable":["1"]},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"Iterable":["1"]},"ArrayIterator":{"Iterator":["1"]},"JSNumber":{"double":[],"num":[]},"JSInt":{"double":[],"int":[],"num":[],"TrustedGetRuntimeType":[]},"JSNumNotInt":{"double":[],"num":[],"TrustedGetRuntimeType":[]},"JSString":{"String":[],"Pattern":[],"TrustedGetRuntimeType":[]},"CastStream":{"Stream":["2"],"Stream.T":"2"},"CastStreamSubscription":{"StreamSubscription":["2"]},"_CastIterableBase":{"Iterable":["2"]},"CastIterator":{"Iterator":["2"]},"CastIterable":{"_CastIterableBase":["1","2"],"Iterable":["2"],"Iterable.E":"2"},"_EfficientLengthCastIterable":{"CastIterable":["1","2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"_CastListBase":{"ListBase":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"]},"CastList":{"_CastListBase":["1","2"],"ListBase":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListBase.E":"2","Iterable.E":"2"},"LateError":{"Error":[]},"CodeUnits":{"ListBase":["int"],"UnmodifiableListMixin":["int"],"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"ListBase.E":"int","UnmodifiableListMixin.E":"int"},"EfficientLengthIterable":{"Iterable":["1"]},"ListIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"SubListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"ListIterator":{"Iterator":["1"]},"MappedIterable":{"Iterable":["2"],"Iterable.E":"2"},"EfficientLengthMappedIterable":{"MappedIterable":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"MappedIterator":{"Iterator":["2"]},"MappedListIterable":{"ListIterable":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListIterable.E":"2","Iterable.E":"2"},"WhereIterable":{"Iterable":["1"],"Iterable.E":"1"},"WhereIterator":{"Iterator":["1"]},"ExpandIterable":{"Iterable":["2"],"Iterable.E":"2"},"ExpandIterator":{"Iterator":["2"]},"TakeIterable":{"Iterable":["1"],"Iterable.E":"1"},"EfficientLengthTakeIterable":{"TakeIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"TakeIterator":{"Iterator":["1"]},"SkipIterable":{"Iterable":["1"],"Iterable.E":"1"},"EfficientLengthSkipIterable":{"SkipIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"SkipIterator":{"Iterator":["1"]},"SkipWhileIterable":{"Iterable":["1"],"Iterable.E":"1"},"SkipWhileIterator":{"Iterator":["1"]},"EmptyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"EmptyIterator":{"Iterator":["1"]},"WhereTypeIterable":{"Iterable":["1"],"Iterable.E":"1"},"WhereTypeIterator":{"Iterator":["1"]},"UnmodifiableListBase":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"ReversedListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"Symbol":{"Symbol0":[]},"ConstantMapView":{"UnmodifiableMapView":["1","2"],"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ConstantMap":{"Map":["1","2"]},"ConstantStringMap":{"ConstantMap":["1","2"],"Map":["1","2"]},"_KeysOrValues":{"Iterable":["1"],"Iterable.E":"1"},"_KeysOrValuesOrElementsIterator":{"Iterator":["1"]},"Instantiation":{"Closure":[],"Function":[]},"Instantiation1":{"Closure":[],"Function":[]},"JSInvocationMirror":{"Invocation":[]},"NullError":{"TypeError":[],"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"NullThrownFromJavaScriptException":{"Exception":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Closure":[],"Function":[]},"Closure2Args":{"Closure":[],"Function":[]},"TearOffClosure":{"Closure":[],"Function":[]},"StaticClosure":{"Closure":[],"Function":[]},"BoundClosure":{"Closure":[],"Function":[]},"_CyclicInitializationError":{"Error":[]},"RuntimeError":{"Error":[]},"_AssertionError":{"Error":[]},"JsLinkedHashMap":{"MapBase":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"LinkedHashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"LinkedHashMapKeyIterator":{"Iterator":["1"]},"JSSyntaxRegExp":{"RegExp":[],"Pattern":[]},"_MatchImplementation":{"RegExpMatch":[],"Match":[]},"_AllMatchesIterable":{"Iterable":["RegExpMatch"],"Iterable.E":"RegExpMatch"},"_AllMatchesIterator":{"Iterator":["RegExpMatch"]},"StringMatch":{"Match":[]},"_StringAllMatchesIterable":{"Iterable":["Match"],"Iterable.E":"Match"},"_StringAllMatchesIterator":{"Iterator":["Match"]},"NativeByteBuffer":{"JavaScriptObject":[],"ByteBuffer":[],"TrustedGetRuntimeType":[]},"NativeTypedData":{"JavaScriptObject":[]},"NativeByteData":{"JavaScriptObject":[],"ByteData":[],"TrustedGetRuntimeType":[]},"NativeTypedArray":{"JavaScriptIndexingBehavior":["1"],"JavaScriptObject":[]},"NativeTypedArrayOfDouble":{"ListBase":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"ListBase":["double"],"Float32List":[],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double"},"NativeFloat64List":{"ListBase":["double"],"Float64List":[],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double"},"NativeInt16List":{"ListBase":["int"],"Int16List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeInt32List":{"ListBase":["int"],"Int32List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeInt8List":{"ListBase":["int"],"Int8List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint16List":{"ListBase":["int"],"Uint16List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint32List":{"ListBase":["int"],"Uint32List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint8ClampedList":{"ListBase":["int"],"Uint8ClampedList":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint8List":{"ListBase":["int"],"Uint8List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"_Error":{"Error":[]},"_TypeError":{"TypeError":[],"Error":[]},"AsyncError":{"Error":[]},"_Future":{"Future":["1"]},"_TimerImpl":{"Timer":[]},"_Completer":{"Completer":["1"]},"_AsyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_SyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_StreamController":{"StreamController":["1"],"StreamSink":["1"],"StreamConsumer":["1"],"_StreamControllerLifecycle":["1"],"_EventDispatch":["1"]},"_SyncStreamController":{"_SyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"StreamConsumer":["1"],"_StreamControllerLifecycle":["1"],"_EventDispatch":["1"]},"_ControllerStream":{"_StreamImpl":["1"],"Stream":["1"],"Stream.T":"1"},"_ControllerSubscription":{"_BufferingStreamSubscription":["1"],"StreamSubscription":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamSinkWrapper":{"StreamSink":["1"],"StreamConsumer":["1"]},"_BufferingStreamSubscription":{"StreamSubscription":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamImpl":{"Stream":["1"]},"_DelayedData":{"_DelayedEvent":["1"]},"_DelayedError":{"_DelayedEvent":["@"]},"_DelayedDone":{"_DelayedEvent":["@"]},"_DoneStreamSubscription":{"StreamSubscription":["1"]},"_EmptyStream":{"Stream":["1"],"Stream.T":"1"},"_ZoneSpecification":{"ZoneSpecification":[]},"_ZoneDelegate":{"ZoneDelegate":[]},"_Zone":{"Zone":[]},"_CustomZone":{"_Zone":[],"Zone":[]},"_RootZone":{"_Zone":[],"Zone":[]},"_HashMap":{"MapBase":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_IdentityHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashMapKeyIterator":{"Iterator":["1"]},"_LinkedHashSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_LinkedHashSetIterator":{"Iterator":["1"]},"ListBase":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapBase":{"Map":["1","2"]},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"SetBase":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SetBase":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_JsonMap":{"MapBase":["String","@"],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"_JsonMapKeyIterable":{"ListIterable":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"ListIterable.E":"String","Iterable.E":"String"},"AsciiCodec":{"Codec":["String","List<int>"]},"_UnicodeSubsetEncoder":{"Converter":["String","List<int>"],"StreamTransformer":["String","List<int>"]},"AsciiEncoder":{"Converter":["String","List<int>"],"StreamTransformer":["String","List<int>"]},"Base64Codec":{"Codec":["List<int>","String"]},"Base64Encoder":{"Converter":["List<int>","String"],"StreamTransformer":["List<int>","String"]},"_FusedCodec":{"Codec":["1","3"]},"Converter":{"StreamTransformer":["1","2"]},"Encoding":{"Codec":["String","List<int>"]},"JsonUnsupportedObjectError":{"Error":[]},"JsonCyclicError":{"Error":[]},"JsonCodec":{"Codec":["Object?","String"]},"JsonEncoder":{"Converter":["Object?","String"],"StreamTransformer":["Object?","String"]},"JsonDecoder":{"Converter":["String","Object?"],"StreamTransformer":["String","Object?"]},"Utf8Codec":{"Codec":["String","List<int>"]},"Utf8Encoder":{"Converter":["String","List<int>"],"StreamTransformer":["String","List<int>"]},"Utf8Decoder":{"Converter":["List<int>","String"],"StreamTransformer":["List<int>","String"]},"double":{"num":[]},"int":{"num":[]},"List":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"RegExpMatch":{"Match":[]},"String":{"Pattern":[]},"AssertionError":{"Error":[]},"TypeError":{"Error":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"NoSuchMethodError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"_Exception":{"Exception":[]},"FormatException":{"Exception":[]},"_StringStackTrace":{"StackTrace":[]},"StringBuffer":{"StringSink":[]},"_Uri":{"Uri":[]},"_SimpleUri":{"Uri":[]},"_DataUri":{"Uri":[]},"NullRejectionException":{"Exception":[]},"NullStreamSink":{"StreamSink":["1"],"StreamConsumer":["1"]},"PathException":{"Exception":[]},"PosixStyle":{"InternalStyle":[]},"UrlStyle":{"InternalStyle":[]},"WindowsStyle":{"InternalStyle":[]},"Chain":{"StackTrace":[]},"LazyTrace":{"Trace":[],"StackTrace":[]},"Trace":{"StackTrace":[]},"UnparsedFrame":{"Frame":[]},"GuaranteeChannel":{"StreamChannelMixin":["1"],"StreamChannel":["1"]},"_GuaranteeSink":{"StreamSink":["1"],"StreamConsumer":["1"]},"_MultiChannel":{"StreamChannelMixin":["1"],"MultiChannel":["1"],"StreamChannel":["1"]},"VirtualChannel":{"StreamChannelMixin":["1"],"MultiChannel":["1"],"StreamChannel":["1"]},"StreamChannelMixin":{"StreamChannel":["1"]},"Int8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint8ClampedList":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Int16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Int32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Float32List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"]},"Float64List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"]}}'));
   A._Universe_addErasedTypes(init.typeUniverse, JSON.parse('{"UnmodifiableListBase":1,"__CastListBase__CastIterableBase_ListMixin":2,"NativeTypedArray":1,"_DelayedEvent":1,"_SetBase":1}'));
   var string$ = {
-    x27_has_: "' has been assigned during initialization.",
-    x3d_____: "===== asynchronous gap ===========================\n",
+    ______: "===== asynchronous gap ===========================\n",
     Cannotff: "Cannot extract a file path from a URI with a fragment component",
     Cannotfq: "Cannot extract a file path from a URI with a query component",
     Cannotn: "Cannot extract a non-Windows file path from a file URI with an authority",
@@ -17775,12 +15929,10 @@
       ByteBuffer: findType("ByteBuffer"),
       ByteData: findType("ByteData"),
       ConstantMapView_Symbol_dynamic: findType("ConstantMapView<Symbol0,@>"),
-      CssRule: findType("CssRule"),
       Duration: findType("Duration"),
       EfficientLengthIterable_dynamic: findType("EfficientLengthIterable<@>"),
       Error: findType("Error"),
       Exception: findType("Exception"),
-      File: findType("File"),
       Float32List: findType("Float32List"),
       Float64List: findType("Float64List"),
       Frame: findType("Frame"),
@@ -17808,7 +15960,6 @@
       JavaScriptIndexingBehavior_dynamic: findType("JavaScriptIndexingBehavior<@>"),
       JavaScriptObject: findType("JavaScriptObject"),
       JsLinkedHashMap_Symbol_dynamic: findType("JsLinkedHashMap<Symbol0,@>"),
-      Length: findType("Length"),
       List_String: findType("List<String>"),
       List_dynamic: findType("List<@>"),
       List_int: findType("List<int>"),
@@ -17819,30 +15970,17 @@
       MappedListIterable_Frame_Frame: findType("MappedListIterable<Frame,Frame>"),
       MappedListIterable_String_Trace: findType("MappedListIterable<String,Trace>"),
       MappedListIterable_String_dynamic: findType("MappedListIterable<String,@>"),
-      MimeType: findType("MimeType"),
       NativeUint8List: findType("NativeUint8List"),
-      Node: findType("Node"),
       Null: findType("Null"),
-      Number: findType("Number"),
       Object: findType("Object"),
-      Plugin: findType("Plugin"),
       Record: findType("Record"),
-      Rectangle_num: findType("Rectangle<num>"),
       RegExpMatch: findType("RegExpMatch"),
-      SourceBuffer: findType("SourceBuffer"),
-      SpeechGrammar: findType("SpeechGrammar"),
-      SpeechRecognitionResult: findType("SpeechRecognitionResult"),
       StackTrace: findType("StackTrace"),
       String: findType("String"),
-      StyleSheet: findType("StyleSheet"),
       Symbol: findType("Symbol0"),
-      TextTrack: findType("TextTrack"),
-      TextTrackCue: findType("TextTrackCue"),
       Timer: findType("Timer"),
-      Touch: findType("Touch"),
       Trace: findType("Trace"),
       Trace_Function_String: findType("Trace(String)"),
-      Transform: findType("Transform"),
       TrustedGetRuntimeType: findType("TrustedGetRuntimeType"),
       TypeError: findType("TypeError"),
       Uint16List: findType("Uint16List"),
@@ -17877,7 +16015,6 @@
       legacy_Never: findType("0&*"),
       legacy_Object: findType("Object*"),
       nullable_Future_Null: findType("Future<Null>?"),
-      nullable_Gamepad: findType("Gamepad?"),
       nullable_JavaScriptObject: findType("JavaScriptObject?"),
       nullable_List_dynamic: findType("List<@>?"),
       nullable_Map_of_nullable_Object_and_nullable_Object: findType("Map<Object?,Object?>?"),
@@ -17894,10 +16031,8 @@
       void: findType("~"),
       void_Function: findType("~()"),
       void_Function_$opt_dynamic: findType("~([@])"),
-      void_Function_JavaScriptObject: findType("~(JavaScriptObject)"),
       void_Function_Object: findType("~(Object)"),
       void_Function_Object_StackTrace: findType("~(Object,StackTrace)"),
-      void_Function_String_String: findType("~(String,String)"),
       void_Function_String_dynamic: findType("~(String,@)"),
       void_Function_Timer: findType("~(Timer)")
     };
@@ -17938,7 +16073,7 @@
     }
   }
   function getUnknownTagGenericBrowser(object, tag) {
-    if (self.HTMLElement && object instanceof HTMLElement) return "HTMLElement";
+    if (object instanceof HTMLElement) return "HTMLElement";
     return getUnknownTag(object, tag);
   }
   function prototypeForTag(tag) {
@@ -17949,7 +16084,7 @@
     return constructor.prototype;
   }
   function discriminator(tag) { return null; }
-  var isBrowser = typeof navigator == "object";
+  var isBrowser = typeof HTMLElement == "function";
   return {
     getTag: getTag,
     getUnknownTag: isBrowser ? getUnknownTagGenericBrowser : getUnknownTag,
@@ -17959,9 +16094,10 @@
     B.C_JS_CONST6 = function(getTagFallback) {
   return function(hooks) {
     if (typeof navigator != "object") return hooks;
-    var ua = navigator.userAgent;
-    if (ua.indexOf("DumpRenderTree") >= 0) return hooks;
-    if (ua.indexOf("Chrome") >= 0) {
+    var userAgent = navigator.userAgent;
+    if (typeof userAgent != "string") return hooks;
+    if (userAgent.indexOf("DumpRenderTree") >= 0) return hooks;
+    if (userAgent.indexOf("Chrome") >= 0) {
       function confirm(p) {
         return typeof window == "object" && window[p] && window[p].name == p;
       }
@@ -17974,26 +16110,10 @@
   if (typeof dartExperimentalFixupGetTag != "function") return hooks;
   hooks.getTag = dartExperimentalFixupGetTag(hooks.getTag);
 };
-    B.C_JS_CONST2 = function(hooks) {
-  var getTag = hooks.getTag;
-  var prototypeForTag = hooks.prototypeForTag;
-  function getTagFixed(o) {
-    var tag = getTag(o);
-    if (tag == "Document") {
-      if (!!o.xmlVersion) return "!Document";
-      return "!HTMLDocument";
-    }
-    return tag;
-  }
-  function prototypeForTagFixed(tag) {
-    if (tag == "Document") return null;
-    return prototypeForTag(tag);
-  }
-  hooks.getTag = getTagFixed;
-  hooks.prototypeForTag = prototypeForTagFixed;
-};
     B.C_JS_CONST5 = function(hooks) {
-  var userAgent = typeof navigator == "object" ? navigator.userAgent : "";
+  if (typeof navigator != "object") return hooks;
+  var userAgent = navigator.userAgent;
+  if (typeof userAgent != "string") return hooks;
   if (userAgent.indexOf("Firefox") == -1) return hooks;
   var getTag = hooks.getTag;
   var quickMap = {
@@ -18010,7 +16130,9 @@
   hooks.getTag = getTagFirefox;
 };
     B.C_JS_CONST4 = function(hooks) {
-  var userAgent = typeof navigator == "object" ? navigator.userAgent : "";
+  if (typeof navigator != "object") return hooks;
+  var userAgent = navigator.userAgent;
+  if (typeof userAgent != "string") return hooks;
   if (userAgent.indexOf("Trident/") == -1) return hooks;
   var getTag = hooks.getTag;
   var quickMap = {
@@ -18038,6 +16160,24 @@
   hooks.getTag = getTagIE;
   hooks.prototypeForTag = prototypeForTagIE;
 };
+    B.C_JS_CONST2 = function(hooks) {
+  var getTag = hooks.getTag;
+  var prototypeForTag = hooks.prototypeForTag;
+  function getTagFixed(o) {
+    var tag = getTag(o);
+    if (tag == "Document") {
+      if (!!o.xmlVersion) return "!Document";
+      return "!HTMLDocument";
+    }
+    return tag;
+  }
+  function prototypeForTagFixed(tag) {
+    if (tag == "Document") return null;
+    return prototypeForTag(tag);
+  }
+  hooks.getTag = getTagFixed;
+  hooks.prototypeForTag = prototypeForTagFixed;
+};
     B.C_JS_CONST3 = function(hooks) { return hooks; }
 ;
     B.C_JsonCodec = new A.JsonCodec();
@@ -18049,6 +16189,7 @@
     B.C__Required = new A._Required();
     B.C__RootZone = new A._RootZone();
     B.Duration_0 = new A.Duration(0);
+    B.Duration_1000000 = new A.Duration(1000000);
     B.JsonDecoder_null = new A.JsonDecoder(null);
     B.JsonEncoder_null = new A.JsonEncoder(null);
     B.List_M1A = A._setArrayType(makeConstList([0, 0, 24576, 1023, 65534, 34815, 65534, 18431]), type$.JSArray_int);
@@ -18061,7 +16202,6 @@
     B.List_empty = A._setArrayType(makeConstList([]), type$.JSArray_String);
     B.List_empty0 = A._setArrayType(makeConstList([]), type$.JSArray_dynamic);
     B.List_oFp = A._setArrayType(makeConstList([0, 0, 65490, 45055, 65535, 34815, 65534, 18431]), type$.JSArray_int);
-    B.List_yzX = A._setArrayType(makeConstList([0, 0, 27858, 1023, 65534, 51199, 65535, 32767]), type$.JSArray_int);
     B.Object_empty = {};
     B.Map_empty = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap<String,String>"));
     B.Map_empty0 = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap<Symbol0,@>"));
@@ -18174,10 +16314,10 @@
       var t1 = type$.dynamic;
       return A.HashMap_HashMap(t1, t1);
     });
-    _lazyFinal($, "Utf8Decoder__decoder", "$get$Utf8Decoder__decoder", () => new A.Utf8Decoder__decoder_closure().call$0());
-    _lazyFinal($, "Utf8Decoder__decoderNonfatal", "$get$Utf8Decoder__decoderNonfatal", () => new A.Utf8Decoder__decoderNonfatal_closure().call$0());
+    _lazyFinal($, "_Utf8Decoder__reusableBuffer", "$get$_Utf8Decoder__reusableBuffer", () => A.NativeUint8List_NativeUint8List(4096));
+    _lazyFinal($, "_Utf8Decoder__decoder", "$get$_Utf8Decoder__decoder", () => new A._Utf8Decoder__decoder_closure().call$0());
+    _lazyFinal($, "_Utf8Decoder__decoderNonfatal", "$get$_Utf8Decoder__decoderNonfatal", () => new A._Utf8Decoder__decoderNonfatal_closure().call$0());
     _lazyFinal($, "_Base64Decoder__inverseAlphabet", "$get$_Base64Decoder__inverseAlphabet", () => A.NativeInt8List__create1(A._ensureNativeList(A._setArrayType([-2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, 62, -2, 62, -2, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -2, -2, -2, -1, -2, -2, -2, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -2, -2, -2, -2, 63, -2, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -2, -2, -2, -2, -2], type$.JSArray_int))));
-    _lazyFinal($, "_Uri__isWindowsCached", "$get$_Uri__isWindowsCached", () => typeof process != "undefined" && Object.prototype.toString.call(process) == "[object process]" && process.platform == "win32");
     _lazyFinal($, "_Uri__needsNoEncoding", "$get$_Uri__needsNoEncoding", () => A.RegExp_RegExp("^[\\-\\.0-9A-Z_a-z~]*$", false));
     _lazyFinal($, "_hashSeed", "$get$_hashSeed", () => A.objectHashCode(B.Type_Object_xQ6));
     _lazyFinal($, "_scannerTables", "$get$_scannerTables", () => A._createTables());
@@ -18205,7 +16345,10 @@
     _lazyFinal($, "_firefoxSafariTrace", "$get$_firefoxSafariTrace", () => A.RegExp_RegExp("^(([.0-9A-Za-z_$/<]|\\(.*\\))*@)?[^\\s]*:\\d*$", true));
     _lazyFinal($, "_friendlyTrace", "$get$_friendlyTrace", () => A.RegExp_RegExp("^[^\\s<][^\\s]*( \\d+(:\\d+)?)?[ \\t]+[^\\s]+$", true));
     _lazyFinal($, "vmChainGap", "$get$vmChainGap", () => A.RegExp_RegExp("^<asynchronous suspension>\\n?$", true));
-    _lazyFinal($, "_currentUrl", "$get$_currentUrl", () => A.Uri_parse(A.getProperty(A.getProperty(self.window, "location", type$.JavaScriptObject), "href", type$.String)));
+    _lazyFinal($, "_currentUrl", "$get$_currentUrl", () => {
+      var t1 = type$.JavaScriptObject;
+      return A.Uri_parse(A.getProperty(A.getProperty(A.getProperty(A.staticInteropGlobalContext(), "window", t1), "location", t1), "href", type$.String));
+    });
   })();
   (function nativeSupport() {
     !function() {
@@ -18230,8 +16373,8 @@
       }
       init.dispatchPropertyName = init.getIsolateTag("dispatch_record");
     }();
-    hunkHelpers.setOrUpdateInterceptorsByTag({WebGL: J.Interceptor, AbortPaymentEvent: J.JavaScriptObject, AnimationEffectReadOnly: J.JavaScriptObject, AnimationEffectTiming: J.JavaScriptObject, AnimationEffectTimingReadOnly: J.JavaScriptObject, AnimationEvent: J.JavaScriptObject, AnimationPlaybackEvent: J.JavaScriptObject, AnimationTimeline: J.JavaScriptObject, AnimationWorkletGlobalScope: J.JavaScriptObject, ApplicationCacheErrorEvent: J.JavaScriptObject, AuthenticatorAssertionResponse: J.JavaScriptObject, AuthenticatorAttestationResponse: J.JavaScriptObject, AuthenticatorResponse: J.JavaScriptObject, BackgroundFetchClickEvent: J.JavaScriptObject, BackgroundFetchEvent: J.JavaScriptObject, BackgroundFetchFailEvent: J.JavaScriptObject, BackgroundFetchFetch: J.JavaScriptObject, BackgroundFetchManager: J.JavaScriptObject, BackgroundFetchSettledFetch: J.JavaScriptObject, BackgroundFetchedEvent: J.JavaScriptObject, BarProp: J.JavaScriptObject, BarcodeDetector: J.JavaScriptObject, BeforeInstallPromptEvent: J.JavaScriptObject, BeforeUnloadEvent: J.JavaScriptObject, BlobEvent: J.JavaScriptObject, BluetoothRemoteGATTDescriptor: J.JavaScriptObject, Body: J.JavaScriptObject, BudgetState: J.JavaScriptObject, CacheStorage: J.JavaScriptObject, CanMakePaymentEvent: J.JavaScriptObject, CanvasGradient: J.JavaScriptObject, CanvasPattern: J.JavaScriptObject, CanvasRenderingContext2D: J.JavaScriptObject, Client: J.JavaScriptObject, Clients: J.JavaScriptObject, ClipboardEvent: J.JavaScriptObject, CloseEvent: J.JavaScriptObject, CompositionEvent: J.JavaScriptObject, CookieStore: J.JavaScriptObject, Coordinates: J.JavaScriptObject, Credential: J.JavaScriptObject, CredentialUserData: J.JavaScriptObject, CredentialsContainer: J.JavaScriptObject, Crypto: J.JavaScriptObject, CryptoKey: J.JavaScriptObject, CSS: J.JavaScriptObject, CSSVariableReferenceValue: J.JavaScriptObject, CustomElementRegistry: J.JavaScriptObject, CustomEvent: J.JavaScriptObject, DataTransfer: J.JavaScriptObject, DataTransferItem: J.JavaScriptObject, DeprecatedStorageInfo: J.JavaScriptObject, DeprecatedStorageQuota: J.JavaScriptObject, DeprecationReport: J.JavaScriptObject, DetectedBarcode: J.JavaScriptObject, DetectedFace: J.JavaScriptObject, DetectedText: J.JavaScriptObject, DeviceAcceleration: J.JavaScriptObject, DeviceMotionEvent: J.JavaScriptObject, DeviceOrientationEvent: J.JavaScriptObject, DeviceRotationRate: J.JavaScriptObject, DirectoryEntry: J.JavaScriptObject, webkitFileSystemDirectoryEntry: J.JavaScriptObject, FileSystemDirectoryEntry: J.JavaScriptObject, DirectoryReader: J.JavaScriptObject, WebKitDirectoryReader: J.JavaScriptObject, webkitFileSystemDirectoryReader: J.JavaScriptObject, FileSystemDirectoryReader: J.JavaScriptObject, DocumentOrShadowRoot: J.JavaScriptObject, DocumentTimeline: J.JavaScriptObject, DOMError: J.JavaScriptObject, DOMImplementation: J.JavaScriptObject, Iterator: J.JavaScriptObject, DOMMatrix: J.JavaScriptObject, DOMMatrixReadOnly: J.JavaScriptObject, DOMParser: J.JavaScriptObject, DOMPoint: J.JavaScriptObject, DOMPointReadOnly: J.JavaScriptObject, DOMQuad: J.JavaScriptObject, DOMStringMap: J.JavaScriptObject, Entry: J.JavaScriptObject, webkitFileSystemEntry: J.JavaScriptObject, FileSystemEntry: J.JavaScriptObject, ErrorEvent: J.JavaScriptObject, Event: J.JavaScriptObject, InputEvent: J.JavaScriptObject, SubmitEvent: J.JavaScriptObject, ExtendableEvent: J.JavaScriptObject, ExtendableMessageEvent: J.JavaScriptObject, External: J.JavaScriptObject, FaceDetector: J.JavaScriptObject, FederatedCredential: J.JavaScriptObject, FetchEvent: J.JavaScriptObject, FileEntry: J.JavaScriptObject, webkitFileSystemFileEntry: J.JavaScriptObject, FileSystemFileEntry: J.JavaScriptObject, DOMFileSystem: J.JavaScriptObject, WebKitFileSystem: J.JavaScriptObject, webkitFileSystem: J.JavaScriptObject, FileSystem: J.JavaScriptObject, FocusEvent: J.JavaScriptObject, FontFace: J.JavaScriptObject, FontFaceSetLoadEvent: J.JavaScriptObject, FontFaceSource: J.JavaScriptObject, ForeignFetchEvent: J.JavaScriptObject, FormData: J.JavaScriptObject, GamepadButton: J.JavaScriptObject, GamepadEvent: J.JavaScriptObject, GamepadPose: J.JavaScriptObject, Geolocation: J.JavaScriptObject, Position: J.JavaScriptObject, GeolocationPosition: J.JavaScriptObject, HashChangeEvent: J.JavaScriptObject, Headers: J.JavaScriptObject, HTMLHyperlinkElementUtils: J.JavaScriptObject, IdleDeadline: J.JavaScriptObject, ImageBitmap: J.JavaScriptObject, ImageBitmapRenderingContext: J.JavaScriptObject, ImageCapture: J.JavaScriptObject, ImageData: J.JavaScriptObject, InputDeviceCapabilities: J.JavaScriptObject, InstallEvent: J.JavaScriptObject, IntersectionObserver: J.JavaScriptObject, IntersectionObserverEntry: J.JavaScriptObject, InterventionReport: J.JavaScriptObject, KeyboardEvent: J.JavaScriptObject, KeyframeEffect: J.JavaScriptObject, KeyframeEffectReadOnly: J.JavaScriptObject, MediaCapabilities: J.JavaScriptObject, MediaCapabilitiesInfo: J.JavaScriptObject, MediaDeviceInfo: J.JavaScriptObject, MediaEncryptedEvent: J.JavaScriptObject, MediaError: J.JavaScriptObject, MediaKeyMessageEvent: J.JavaScriptObject, MediaKeyStatusMap: J.JavaScriptObject, MediaKeySystemAccess: J.JavaScriptObject, MediaKeys: J.JavaScriptObject, MediaKeysPolicy: J.JavaScriptObject, MediaMetadata: J.JavaScriptObject, MediaQueryListEvent: J.JavaScriptObject, MediaSession: J.JavaScriptObject, MediaSettingsRange: J.JavaScriptObject, MediaStreamEvent: J.JavaScriptObject, MediaStreamTrackEvent: J.JavaScriptObject, MemoryInfo: J.JavaScriptObject, MessageChannel: J.JavaScriptObject, MessageEvent: J.JavaScriptObject, Metadata: J.JavaScriptObject, MIDIConnectionEvent: J.JavaScriptObject, MIDIMessageEvent: J.JavaScriptObject, MouseEvent: J.JavaScriptObject, DragEvent: J.JavaScriptObject, MutationEvent: J.JavaScriptObject, MutationObserver: J.JavaScriptObject, WebKitMutationObserver: J.JavaScriptObject, MutationRecord: J.JavaScriptObject, NavigationPreloadManager: J.JavaScriptObject, Navigator: J.JavaScriptObject, NavigatorAutomationInformation: J.JavaScriptObject, NavigatorConcurrentHardware: J.JavaScriptObject, NavigatorCookies: J.JavaScriptObject, NavigatorUserMediaError: J.JavaScriptObject, NodeFilter: J.JavaScriptObject, NodeIterator: J.JavaScriptObject, NonDocumentTypeChildNode: J.JavaScriptObject, NonElementParentNode: J.JavaScriptObject, NoncedElement: J.JavaScriptObject, NotificationEvent: J.JavaScriptObject, OffscreenCanvasRenderingContext2D: J.JavaScriptObject, OverconstrainedError: J.JavaScriptObject, PageTransitionEvent: J.JavaScriptObject, PaintRenderingContext2D: J.JavaScriptObject, PaintSize: J.JavaScriptObject, PaintWorkletGlobalScope: J.JavaScriptObject, PasswordCredential: J.JavaScriptObject, Path2D: J.JavaScriptObject, PaymentAddress: J.JavaScriptObject, PaymentInstruments: J.JavaScriptObject, PaymentManager: J.JavaScriptObject, PaymentRequestEvent: J.JavaScriptObject, PaymentRequestUpdateEvent: J.JavaScriptObject, PaymentResponse: J.JavaScriptObject, PerformanceEntry: J.JavaScriptObject, PerformanceLongTaskTiming: J.JavaScriptObject, PerformanceMark: J.JavaScriptObject, PerformanceMeasure: J.JavaScriptObject, PerformanceNavigation: J.JavaScriptObject, PerformanceNavigationTiming: J.JavaScriptObject, PerformanceObserver: J.JavaScriptObject, PerformanceObserverEntryList: J.JavaScriptObject, PerformancePaintTiming: J.JavaScriptObject, PerformanceResourceTiming: J.JavaScriptObject, PerformanceServerTiming: J.JavaScriptObject, PerformanceTiming: J.JavaScriptObject, Permissions: J.JavaScriptObject, PhotoCapabilities: J.JavaScriptObject, PointerEvent: J.JavaScriptObject, PopStateEvent: J.JavaScriptObject, PositionError: J.JavaScriptObject, GeolocationPositionError: J.JavaScriptObject, Presentation: J.JavaScriptObject, PresentationConnectionAvailableEvent: J.JavaScriptObject, PresentationConnectionCloseEvent: J.JavaScriptObject, PresentationReceiver: J.JavaScriptObject, ProgressEvent: J.JavaScriptObject, PromiseRejectionEvent: J.JavaScriptObject, PublicKeyCredential: J.JavaScriptObject, PushEvent: J.JavaScriptObject, PushManager: J.JavaScriptObject, PushMessageData: J.JavaScriptObject, PushSubscription: J.JavaScriptObject, PushSubscriptionOptions: J.JavaScriptObject, Range: J.JavaScriptObject, RelatedApplication: J.JavaScriptObject, ReportBody: J.JavaScriptObject, ReportingObserver: J.JavaScriptObject, ResizeObserver: J.JavaScriptObject, ResizeObserverEntry: J.JavaScriptObject, RTCCertificate: J.JavaScriptObject, RTCDataChannelEvent: J.JavaScriptObject, RTCDTMFToneChangeEvent: J.JavaScriptObject, RTCIceCandidate: J.JavaScriptObject, mozRTCIceCandidate: J.JavaScriptObject, RTCLegacyStatsReport: J.JavaScriptObject, RTCPeerConnectionIceEvent: J.JavaScriptObject, RTCRtpContributingSource: J.JavaScriptObject, RTCRtpReceiver: J.JavaScriptObject, RTCRtpSender: J.JavaScriptObject, RTCSessionDescription: J.JavaScriptObject, mozRTCSessionDescription: J.JavaScriptObject, RTCStatsResponse: J.JavaScriptObject, RTCTrackEvent: J.JavaScriptObject, Screen: J.JavaScriptObject, ScrollState: J.JavaScriptObject, ScrollTimeline: J.JavaScriptObject, SecurityPolicyViolationEvent: J.JavaScriptObject, Selection: J.JavaScriptObject, SensorErrorEvent: J.JavaScriptObject, SharedArrayBuffer: J.JavaScriptObject, SpeechRecognitionAlternative: J.JavaScriptObject, SpeechRecognitionError: J.JavaScriptObject, SpeechRecognitionEvent: J.JavaScriptObject, SpeechSynthesisEvent: J.JavaScriptObject, SpeechSynthesisVoice: J.JavaScriptObject, StaticRange: J.JavaScriptObject, StorageEvent: J.JavaScriptObject, StorageManager: J.JavaScriptObject, StyleMedia: J.JavaScriptObject, StylePropertyMap: J.JavaScriptObject, StylePropertyMapReadonly: J.JavaScriptObject, SyncEvent: J.JavaScriptObject, SyncManager: J.JavaScriptObject, TaskAttributionTiming: J.JavaScriptObject, TextDetector: J.JavaScriptObject, TextEvent: J.JavaScriptObject, TextMetrics: J.JavaScriptObject, TouchEvent: J.JavaScriptObject, TrackDefault: J.JavaScriptObject, TrackEvent: J.JavaScriptObject, TransitionEvent: J.JavaScriptObject, WebKitTransitionEvent: J.JavaScriptObject, TreeWalker: J.JavaScriptObject, TrustedHTML: J.JavaScriptObject, TrustedScriptURL: J.JavaScriptObject, TrustedURL: J.JavaScriptObject, UIEvent: J.JavaScriptObject, UnderlyingSourceBase: J.JavaScriptObject, URLSearchParams: J.JavaScriptObject, VRCoordinateSystem: J.JavaScriptObject, VRDeviceEvent: J.JavaScriptObject, VRDisplayCapabilities: J.JavaScriptObject, VRDisplayEvent: J.JavaScriptObject, VREyeParameters: J.JavaScriptObject, VRFrameData: J.JavaScriptObject, VRFrameOfReference: J.JavaScriptObject, VRPose: J.JavaScriptObject, VRSessionEvent: J.JavaScriptObject, VRStageBounds: J.JavaScriptObject, VRStageBoundsPoint: J.JavaScriptObject, VRStageParameters: J.JavaScriptObject, ValidityState: J.JavaScriptObject, VideoPlaybackQuality: J.JavaScriptObject, VideoTrack: J.JavaScriptObject, VTTRegion: J.JavaScriptObject, WheelEvent: J.JavaScriptObject, WindowClient: J.JavaScriptObject, WorkletAnimation: J.JavaScriptObject, WorkletGlobalScope: J.JavaScriptObject, XPathEvaluator: J.JavaScriptObject, XPathExpression: J.JavaScriptObject, XPathNSResolver: J.JavaScriptObject, XPathResult: J.JavaScriptObject, XMLSerializer: J.JavaScriptObject, XSLTProcessor: J.JavaScriptObject, Bluetooth: J.JavaScriptObject, BluetoothCharacteristicProperties: J.JavaScriptObject, BluetoothRemoteGATTServer: J.JavaScriptObject, BluetoothRemoteGATTService: J.JavaScriptObject, BluetoothUUID: J.JavaScriptObject, BudgetService: J.JavaScriptObject, Cache: J.JavaScriptObject, DOMFileSystemSync: J.JavaScriptObject, DirectoryEntrySync: J.JavaScriptObject, DirectoryReaderSync: J.JavaScriptObject, EntrySync: J.JavaScriptObject, FileEntrySync: J.JavaScriptObject, FileReaderSync: J.JavaScriptObject, FileWriterSync: J.JavaScriptObject, HTMLAllCollection: J.JavaScriptObject, Mojo: J.JavaScriptObject, MojoHandle: J.JavaScriptObject, MojoInterfaceRequestEvent: J.JavaScriptObject, MojoWatcher: J.JavaScriptObject, NFC: J.JavaScriptObject, PagePopupController: J.JavaScriptObject, Report: J.JavaScriptObject, Request: J.JavaScriptObject, ResourceProgressEvent: J.JavaScriptObject, Response: J.JavaScriptObject, SubtleCrypto: J.JavaScriptObject, USBAlternateInterface: J.JavaScriptObject, USBConfiguration: J.JavaScriptObject, USBConnectionEvent: J.JavaScriptObject, USBDevice: J.JavaScriptObject, USBEndpoint: J.JavaScriptObject, USBInTransferResult: J.JavaScriptObject, USBInterface: J.JavaScriptObject, USBIsochronousInTransferPacket: J.JavaScriptObject, USBIsochronousInTransferResult: J.JavaScriptObject, USBIsochronousOutTransferPacket: J.JavaScriptObject, USBIsochronousOutTransferResult: J.JavaScriptObject, USBOutTransferResult: J.JavaScriptObject, WorkerLocation: J.JavaScriptObject, WorkerNavigator: J.JavaScriptObject, Worklet: J.JavaScriptObject, IDBCursor: J.JavaScriptObject, IDBCursorWithValue: J.JavaScriptObject, IDBFactory: J.JavaScriptObject, IDBIndex: J.JavaScriptObject, IDBKeyRange: J.JavaScriptObject, IDBObjectStore: J.JavaScriptObject, IDBObservation: J.JavaScriptObject, IDBObserver: J.JavaScriptObject, IDBObserverChanges: J.JavaScriptObject, IDBVersionChangeEvent: J.JavaScriptObject, SVGAngle: J.JavaScriptObject, SVGAnimatedAngle: J.JavaScriptObject, SVGAnimatedBoolean: J.JavaScriptObject, SVGAnimatedEnumeration: J.JavaScriptObject, SVGAnimatedInteger: J.JavaScriptObject, SVGAnimatedLength: J.JavaScriptObject, SVGAnimatedLengthList: J.JavaScriptObject, SVGAnimatedNumber: J.JavaScriptObject, SVGAnimatedNumberList: J.JavaScriptObject, SVGAnimatedPreserveAspectRatio: J.JavaScriptObject, SVGAnimatedRect: J.JavaScriptObject, SVGAnimatedString: J.JavaScriptObject, SVGAnimatedTransformList: J.JavaScriptObject, SVGMatrix: J.JavaScriptObject, SVGPoint: J.JavaScriptObject, SVGPreserveAspectRatio: J.JavaScriptObject, SVGRect: J.JavaScriptObject, SVGUnitTypes: J.JavaScriptObject, AudioListener: J.JavaScriptObject, AudioParam: J.JavaScriptObject, AudioProcessingEvent: J.JavaScriptObject, AudioTrack: J.JavaScriptObject, AudioWorkletGlobalScope: J.JavaScriptObject, AudioWorkletProcessor: J.JavaScriptObject, OfflineAudioCompletionEvent: J.JavaScriptObject, PeriodicWave: J.JavaScriptObject, WebGLActiveInfo: J.JavaScriptObject, ANGLEInstancedArrays: J.JavaScriptObject, ANGLE_instanced_arrays: J.JavaScriptObject, WebGLBuffer: J.JavaScriptObject, WebGLCanvas: J.JavaScriptObject, WebGLColorBufferFloat: J.JavaScriptObject, WebGLCompressedTextureASTC: J.JavaScriptObject, WebGLCompressedTextureATC: J.JavaScriptObject, WEBGL_compressed_texture_atc: J.JavaScriptObject, WebGLCompressedTextureETC1: J.JavaScriptObject, WEBGL_compressed_texture_etc1: J.JavaScriptObject, WebGLCompressedTextureETC: J.JavaScriptObject, WebGLCompressedTexturePVRTC: J.JavaScriptObject, WEBGL_compressed_texture_pvrtc: J.JavaScriptObject, WebGLCompressedTextureS3TC: J.JavaScriptObject, WEBGL_compressed_texture_s3tc: J.JavaScriptObject, WebGLCompressedTextureS3TCsRGB: J.JavaScriptObject, WebGLContextEvent: J.JavaScriptObject, WebGLDebugRendererInfo: J.JavaScriptObject, WEBGL_debug_renderer_info: J.JavaScriptObject, WebGLDebugShaders: J.JavaScriptObject, WEBGL_debug_shaders: J.JavaScriptObject, WebGLDepthTexture: J.JavaScriptObject, WEBGL_depth_texture: J.JavaScriptObject, WebGLDrawBuffers: J.JavaScriptObject, WEBGL_draw_buffers: J.JavaScriptObject, EXTsRGB: J.JavaScriptObject, EXT_sRGB: J.JavaScriptObject, EXTBlendMinMax: J.JavaScriptObject, EXT_blend_minmax: J.JavaScriptObject, EXTColorBufferFloat: J.JavaScriptObject, EXTColorBufferHalfFloat: J.JavaScriptObject, EXTDisjointTimerQuery: J.JavaScriptObject, EXTDisjointTimerQueryWebGL2: J.JavaScriptObject, EXTFragDepth: J.JavaScriptObject, EXT_frag_depth: J.JavaScriptObject, EXTShaderTextureLOD: J.JavaScriptObject, EXT_shader_texture_lod: J.JavaScriptObject, EXTTextureFilterAnisotropic: J.JavaScriptObject, EXT_texture_filter_anisotropic: J.JavaScriptObject, WebGLFramebuffer: J.JavaScriptObject, WebGLGetBufferSubDataAsync: J.JavaScriptObject, WebGLLoseContext: J.JavaScriptObject, WebGLExtensionLoseContext: J.JavaScriptObject, WEBGL_lose_context: J.JavaScriptObject, OESElementIndexUint: J.JavaScriptObject, OES_element_index_uint: J.JavaScriptObject, OESStandardDerivatives: J.JavaScriptObject, OES_standard_derivatives: J.JavaScriptObject, OESTextureFloat: J.JavaScriptObject, OES_texture_float: J.JavaScriptObject, OESTextureFloatLinear: J.JavaScriptObject, OES_texture_float_linear: J.JavaScriptObject, OESTextureHalfFloat: J.JavaScriptObject, OES_texture_half_float: J.JavaScriptObject, OESTextureHalfFloatLinear: J.JavaScriptObject, OES_texture_half_float_linear: J.JavaScriptObject, OESVertexArrayObject: J.JavaScriptObject, OES_vertex_array_object: J.JavaScriptObject, WebGLProgram: J.JavaScriptObject, WebGLQuery: J.JavaScriptObject, WebGLRenderbuffer: J.JavaScriptObject, WebGLRenderingContext: J.JavaScriptObject, WebGL2RenderingContext: J.JavaScriptObject, WebGLSampler: J.JavaScriptObject, WebGLShader: J.JavaScriptObject, WebGLShaderPrecisionFormat: J.JavaScriptObject, WebGLSync: J.JavaScriptObject, WebGLTexture: J.JavaScriptObject, WebGLTimerQueryEXT: J.JavaScriptObject, WebGLTransformFeedback: J.JavaScriptObject, WebGLUniformLocation: J.JavaScriptObject, WebGLVertexArrayObject: J.JavaScriptObject, WebGLVertexArrayObjectOES: J.JavaScriptObject, WebGL2RenderingContextBase: J.JavaScriptObject, ArrayBuffer: A.NativeByteBuffer, ArrayBufferView: A.NativeTypedData, DataView: A.NativeByteData, Float32Array: A.NativeFloat32List, Float64Array: A.NativeFloat64List, Int16Array: A.NativeInt16List, Int32Array: A.NativeInt32List, Int8Array: A.NativeInt8List, Uint16Array: A.NativeUint16List, Uint32Array: A.NativeUint32List, Uint8ClampedArray: A.NativeUint8ClampedList, CanvasPixelArray: A.NativeUint8ClampedList, Uint8Array: A.NativeUint8List, HTMLAudioElement: A.HtmlElement, HTMLBRElement: A.HtmlElement, HTMLBaseElement: A.HtmlElement, HTMLBodyElement: A.HtmlElement, HTMLButtonElement: A.HtmlElement, HTMLCanvasElement: A.HtmlElement, HTMLContentElement: A.HtmlElement, HTMLDListElement: A.HtmlElement, HTMLDataElement: A.HtmlElement, HTMLDataListElement: A.HtmlElement, HTMLDetailsElement: A.HtmlElement, HTMLDialogElement: A.HtmlElement, HTMLDivElement: A.HtmlElement, HTMLEmbedElement: A.HtmlElement, HTMLFieldSetElement: A.HtmlElement, HTMLHRElement: A.HtmlElement, HTMLHeadElement: A.HtmlElement, HTMLHeadingElement: A.HtmlElement, HTMLHtmlElement: A.HtmlElement, HTMLIFrameElement: A.HtmlElement, HTMLImageElement: A.HtmlElement, HTMLInputElement: A.HtmlElement, HTMLLIElement: A.HtmlElement, HTMLLabelElement: A.HtmlElement, HTMLLegendElement: A.HtmlElement, HTMLLinkElement: A.HtmlElement, HTMLMapElement: A.HtmlElement, HTMLMediaElement: A.HtmlElement, HTMLMenuElement: A.HtmlElement, HTMLMetaElement: A.HtmlElement, HTMLMeterElement: A.HtmlElement, HTMLModElement: A.HtmlElement, HTMLOListElement: A.HtmlElement, HTMLObjectElement: A.HtmlElement, HTMLOptGroupElement: A.HtmlElement, HTMLOptionElement: A.HtmlElement, HTMLOutputElement: A.HtmlElement, HTMLParagraphElement: A.HtmlElement, HTMLParamElement: A.HtmlElement, HTMLPictureElement: A.HtmlElement, HTMLPreElement: A.HtmlElement, HTMLProgressElement: A.HtmlElement, HTMLQuoteElement: A.HtmlElement, HTMLScriptElement: A.HtmlElement, HTMLShadowElement: A.HtmlElement, HTMLSlotElement: A.HtmlElement, HTMLSourceElement: A.HtmlElement, HTMLSpanElement: A.HtmlElement, HTMLStyleElement: A.HtmlElement, HTMLTableCaptionElement: A.HtmlElement, HTMLTableCellElement: A.HtmlElement, HTMLTableDataCellElement: A.HtmlElement, HTMLTableHeaderCellElement: A.HtmlElement, HTMLTableColElement: A.HtmlElement, HTMLTableElement: A.HtmlElement, HTMLTableRowElement: A.HtmlElement, HTMLTableSectionElement: A.HtmlElement, HTMLTemplateElement: A.HtmlElement, HTMLTextAreaElement: A.HtmlElement, HTMLTimeElement: A.HtmlElement, HTMLTitleElement: A.HtmlElement, HTMLTrackElement: A.HtmlElement, HTMLUListElement: A.HtmlElement, HTMLUnknownElement: A.HtmlElement, HTMLVideoElement: A.HtmlElement, HTMLDirectoryElement: A.HtmlElement, HTMLFontElement: A.HtmlElement, HTMLFrameElement: A.HtmlElement, HTMLFrameSetElement: A.HtmlElement, HTMLMarqueeElement: A.HtmlElement, HTMLElement: A.HtmlElement, AccessibleNodeList: A.AccessibleNodeList, HTMLAnchorElement: A.AnchorElement, HTMLAreaElement: A.AreaElement, Blob: A.Blob, CDATASection: A.CharacterData, CharacterData: A.CharacterData, Comment: A.CharacterData, ProcessingInstruction: A.CharacterData, Text: A.CharacterData, CSSPerspective: A.CssPerspective, CSSCharsetRule: A.CssRule, CSSConditionRule: A.CssRule, CSSFontFaceRule: A.CssRule, CSSGroupingRule: A.CssRule, CSSImportRule: A.CssRule, CSSKeyframeRule: A.CssRule, MozCSSKeyframeRule: A.CssRule, WebKitCSSKeyframeRule: A.CssRule, CSSKeyframesRule: A.CssRule, MozCSSKeyframesRule: A.CssRule, WebKitCSSKeyframesRule: A.CssRule, CSSMediaRule: A.CssRule, CSSNamespaceRule: A.CssRule, CSSPageRule: A.CssRule, CSSRule: A.CssRule, CSSStyleRule: A.CssRule, CSSSupportsRule: A.CssRule, CSSViewportRule: A.CssRule, CSSStyleDeclaration: A.CssStyleDeclaration, MSStyleCSSProperties: A.CssStyleDeclaration, CSS2Properties: A.CssStyleDeclaration, CSSImageValue: A.CssStyleValue, CSSKeywordValue: A.CssStyleValue, CSSNumericValue: A.CssStyleValue, CSSPositionValue: A.CssStyleValue, CSSResourceValue: A.CssStyleValue, CSSUnitValue: A.CssStyleValue, CSSURLImageValue: A.CssStyleValue, CSSStyleValue: A.CssStyleValue, CSSMatrixComponent: A.CssTransformComponent, CSSRotation: A.CssTransformComponent, CSSScale: A.CssTransformComponent, CSSSkew: A.CssTransformComponent, CSSTranslation: A.CssTransformComponent, CSSTransformComponent: A.CssTransformComponent, CSSTransformValue: A.CssTransformValue, CSSUnparsedValue: A.CssUnparsedValue, DataTransferItemList: A.DataTransferItemList, DOMException: A.DomException, ClientRectList: A.DomRectList, DOMRectList: A.DomRectList, DOMRectReadOnly: A.DomRectReadOnly, DOMStringList: A.DomStringList, DOMTokenList: A.DomTokenList, MathMLElement: A.Element, SVGAElement: A.Element, SVGAnimateElement: A.Element, SVGAnimateMotionElement: A.Element, SVGAnimateTransformElement: A.Element, SVGAnimationElement: A.Element, SVGCircleElement: A.Element, SVGClipPathElement: A.Element, SVGDefsElement: A.Element, SVGDescElement: A.Element, SVGDiscardElement: A.Element, SVGEllipseElement: A.Element, SVGFEBlendElement: A.Element, SVGFEColorMatrixElement: A.Element, SVGFEComponentTransferElement: A.Element, SVGFECompositeElement: A.Element, SVGFEConvolveMatrixElement: A.Element, SVGFEDiffuseLightingElement: A.Element, SVGFEDisplacementMapElement: A.Element, SVGFEDistantLightElement: A.Element, SVGFEFloodElement: A.Element, SVGFEFuncAElement: A.Element, SVGFEFuncBElement: A.Element, SVGFEFuncGElement: A.Element, SVGFEFuncRElement: A.Element, SVGFEGaussianBlurElement: A.Element, SVGFEImageElement: A.Element, SVGFEMergeElement: A.Element, SVGFEMergeNodeElement: A.Element, SVGFEMorphologyElement: A.Element, SVGFEOffsetElement: A.Element, SVGFEPointLightElement: A.Element, SVGFESpecularLightingElement: A.Element, SVGFESpotLightElement: A.Element, SVGFETileElement: A.Element, SVGFETurbulenceElement: A.Element, SVGFilterElement: A.Element, SVGForeignObjectElement: A.Element, SVGGElement: A.Element, SVGGeometryElement: A.Element, SVGGraphicsElement: A.Element, SVGImageElement: A.Element, SVGLineElement: A.Element, SVGLinearGradientElement: A.Element, SVGMarkerElement: A.Element, SVGMaskElement: A.Element, SVGMetadataElement: A.Element, SVGPathElement: A.Element, SVGPatternElement: A.Element, SVGPolygonElement: A.Element, SVGPolylineElement: A.Element, SVGRadialGradientElement: A.Element, SVGRectElement: A.Element, SVGScriptElement: A.Element, SVGSetElement: A.Element, SVGStopElement: A.Element, SVGStyleElement: A.Element, SVGElement: A.Element, SVGSVGElement: A.Element, SVGSwitchElement: A.Element, SVGSymbolElement: A.Element, SVGTSpanElement: A.Element, SVGTextContentElement: A.Element, SVGTextElement: A.Element, SVGTextPathElement: A.Element, SVGTextPositioningElement: A.Element, SVGTitleElement: A.Element, SVGUseElement: A.Element, SVGViewElement: A.Element, SVGGradientElement: A.Element, SVGComponentTransferFunctionElement: A.Element, SVGFEDropShadowElement: A.Element, SVGMPathElement: A.Element, Element: A.Element, AbsoluteOrientationSensor: A.EventTarget, Accelerometer: A.EventTarget, AccessibleNode: A.EventTarget, AmbientLightSensor: A.EventTarget, Animation: A.EventTarget, ApplicationCache: A.EventTarget, DOMApplicationCache: A.EventTarget, OfflineResourceList: A.EventTarget, BackgroundFetchRegistration: A.EventTarget, BatteryManager: A.EventTarget, BroadcastChannel: A.EventTarget, CanvasCaptureMediaStreamTrack: A.EventTarget, DedicatedWorkerGlobalScope: A.EventTarget, EventSource: A.EventTarget, FileReader: A.EventTarget, FontFaceSet: A.EventTarget, Gyroscope: A.EventTarget, XMLHttpRequest: A.EventTarget, XMLHttpRequestEventTarget: A.EventTarget, XMLHttpRequestUpload: A.EventTarget, LinearAccelerationSensor: A.EventTarget, Magnetometer: A.EventTarget, MediaDevices: A.EventTarget, MediaKeySession: A.EventTarget, MediaQueryList: A.EventTarget, MediaRecorder: A.EventTarget, MediaSource: A.EventTarget, MediaStream: A.EventTarget, MediaStreamTrack: A.EventTarget, MessagePort: A.EventTarget, MIDIAccess: A.EventTarget, MIDIInput: A.EventTarget, MIDIOutput: A.EventTarget, MIDIPort: A.EventTarget, NetworkInformation: A.EventTarget, Notification: A.EventTarget, OffscreenCanvas: A.EventTarget, OrientationSensor: A.EventTarget, PaymentRequest: A.EventTarget, Performance: A.EventTarget, PermissionStatus: A.EventTarget, PresentationAvailability: A.EventTarget, PresentationConnection: A.EventTarget, PresentationConnectionList: A.EventTarget, PresentationRequest: A.EventTarget, RelativeOrientationSensor: A.EventTarget, RemotePlayback: A.EventTarget, RTCDataChannel: A.EventTarget, DataChannel: A.EventTarget, RTCDTMFSender: A.EventTarget, RTCPeerConnection: A.EventTarget, webkitRTCPeerConnection: A.EventTarget, mozRTCPeerConnection: A.EventTarget, ScreenOrientation: A.EventTarget, Sensor: A.EventTarget, ServiceWorker: A.EventTarget, ServiceWorkerContainer: A.EventTarget, ServiceWorkerGlobalScope: A.EventTarget, ServiceWorkerRegistration: A.EventTarget, SharedWorker: A.EventTarget, SharedWorkerGlobalScope: A.EventTarget, SpeechRecognition: A.EventTarget, webkitSpeechRecognition: A.EventTarget, SpeechSynthesis: A.EventTarget, SpeechSynthesisUtterance: A.EventTarget, VR: A.EventTarget, VRDevice: A.EventTarget, VRDisplay: A.EventTarget, VRSession: A.EventTarget, VisualViewport: A.EventTarget, WebSocket: A.EventTarget, Window: A.EventTarget, DOMWindow: A.EventTarget, Worker: A.EventTarget, WorkerGlobalScope: A.EventTarget, WorkerPerformance: A.EventTarget, BluetoothDevice: A.EventTarget, BluetoothRemoteGATTCharacteristic: A.EventTarget, Clipboard: A.EventTarget, MojoInterfaceInterceptor: A.EventTarget, USB: A.EventTarget, IDBDatabase: A.EventTarget, IDBOpenDBRequest: A.EventTarget, IDBVersionChangeRequest: A.EventTarget, IDBRequest: A.EventTarget, IDBTransaction: A.EventTarget, AnalyserNode: A.EventTarget, RealtimeAnalyserNode: A.EventTarget, AudioBufferSourceNode: A.EventTarget, AudioDestinationNode: A.EventTarget, AudioNode: A.EventTarget, AudioScheduledSourceNode: A.EventTarget, AudioWorkletNode: A.EventTarget, BiquadFilterNode: A.EventTarget, ChannelMergerNode: A.EventTarget, AudioChannelMerger: A.EventTarget, ChannelSplitterNode: A.EventTarget, AudioChannelSplitter: A.EventTarget, ConstantSourceNode: A.EventTarget, ConvolverNode: A.EventTarget, DelayNode: A.EventTarget, DynamicsCompressorNode: A.EventTarget, GainNode: A.EventTarget, AudioGainNode: A.EventTarget, IIRFilterNode: A.EventTarget, MediaElementAudioSourceNode: A.EventTarget, MediaStreamAudioDestinationNode: A.EventTarget, MediaStreamAudioSourceNode: A.EventTarget, OscillatorNode: A.EventTarget, Oscillator: A.EventTarget, PannerNode: A.EventTarget, AudioPannerNode: A.EventTarget, webkitAudioPannerNode: A.EventTarget, ScriptProcessorNode: A.EventTarget, JavaScriptAudioNode: A.EventTarget, StereoPannerNode: A.EventTarget, WaveShaperNode: A.EventTarget, EventTarget: A.EventTarget, File: A.File, FileList: A.FileList, FileWriter: A.FileWriter, HTMLFormElement: A.FormElement, Gamepad: A.Gamepad, History: A.History, HTMLCollection: A.HtmlCollection, HTMLFormControlsCollection: A.HtmlCollection, HTMLOptionsCollection: A.HtmlCollection, Location: A.Location, MediaList: A.MediaList, MIDIInputMap: A.MidiInputMap, MIDIOutputMap: A.MidiOutputMap, MimeType: A.MimeType, MimeTypeArray: A.MimeTypeArray, Document: A.Node, DocumentFragment: A.Node, HTMLDocument: A.Node, ShadowRoot: A.Node, XMLDocument: A.Node, Attr: A.Node, DocumentType: A.Node, Node: A.Node, NodeList: A.NodeList, RadioNodeList: A.NodeList, Plugin: A.Plugin, PluginArray: A.PluginArray, RTCStatsReport: A.RtcStatsReport, HTMLSelectElement: A.SelectElement, SourceBuffer: A.SourceBuffer, SourceBufferList: A.SourceBufferList, SpeechGrammar: A.SpeechGrammar, SpeechGrammarList: A.SpeechGrammarList, SpeechRecognitionResult: A.SpeechRecognitionResult, Storage: A.Storage, CSSStyleSheet: A.StyleSheet, StyleSheet: A.StyleSheet, TextTrack: A.TextTrack, TextTrackCue: A.TextTrackCue, VTTCue: A.TextTrackCue, TextTrackCueList: A.TextTrackCueList, TextTrackList: A.TextTrackList, TimeRanges: A.TimeRanges, Touch: A.Touch, TouchList: A.TouchList, TrackDefaultList: A.TrackDefaultList, URL: A.Url, VideoTrackList: A.VideoTrackList, CSSRuleList: A._CssRuleList, ClientRect: A._DomRect, DOMRect: A._DomRect, GamepadList: A._GamepadList, NamedNodeMap: A._NamedNodeMap, MozNamedAttrMap: A._NamedNodeMap, SpeechRecognitionResultList: A._SpeechRecognitionResultList, StyleSheetList: A._StyleSheetList, SVGLength: A.Length, SVGLengthList: A.LengthList, SVGNumber: A.Number, SVGNumberList: A.NumberList, SVGPointList: A.PointList, SVGStringList: A.StringList, SVGTransform: A.Transform, SVGTransformList: A.TransformList, AudioBuffer: A.AudioBuffer, AudioParamMap: A.AudioParamMap, AudioTrackList: A.AudioTrackList, AudioContext: A.BaseAudioContext, webkitAudioContext: A.BaseAudioContext, BaseAudioContext: A.BaseAudioContext, OfflineAudioContext: A.OfflineAudioContext});
-    hunkHelpers.setOrUpdateLeafTags({WebGL: true, AbortPaymentEvent: true, AnimationEffectReadOnly: true, AnimationEffectTiming: true, AnimationEffectTimingReadOnly: true, AnimationEvent: true, AnimationPlaybackEvent: true, AnimationTimeline: true, AnimationWorkletGlobalScope: true, ApplicationCacheErrorEvent: true, AuthenticatorAssertionResponse: true, AuthenticatorAttestationResponse: true, AuthenticatorResponse: true, BackgroundFetchClickEvent: true, BackgroundFetchEvent: true, BackgroundFetchFailEvent: true, BackgroundFetchFetch: true, BackgroundFetchManager: true, BackgroundFetchSettledFetch: true, BackgroundFetchedEvent: true, BarProp: true, BarcodeDetector: true, BeforeInstallPromptEvent: true, BeforeUnloadEvent: true, BlobEvent: true, BluetoothRemoteGATTDescriptor: true, Body: true, BudgetState: true, CacheStorage: true, CanMakePaymentEvent: true, CanvasGradient: true, CanvasPattern: true, CanvasRenderingContext2D: true, Client: true, Clients: true, ClipboardEvent: true, CloseEvent: true, CompositionEvent: true, CookieStore: true, Coordinates: true, Credential: true, CredentialUserData: true, CredentialsContainer: true, Crypto: true, CryptoKey: true, CSS: true, CSSVariableReferenceValue: true, CustomElementRegistry: true, CustomEvent: true, DataTransfer: true, DataTransferItem: true, DeprecatedStorageInfo: true, DeprecatedStorageQuota: true, DeprecationReport: true, DetectedBarcode: true, DetectedFace: true, DetectedText: true, DeviceAcceleration: true, DeviceMotionEvent: true, DeviceOrientationEvent: true, DeviceRotationRate: true, DirectoryEntry: true, webkitFileSystemDirectoryEntry: true, FileSystemDirectoryEntry: true, DirectoryReader: true, WebKitDirectoryReader: true, webkitFileSystemDirectoryReader: true, FileSystemDirectoryReader: true, DocumentOrShadowRoot: true, DocumentTimeline: true, DOMError: true, DOMImplementation: true, Iterator: true, DOMMatrix: true, DOMMatrixReadOnly: true, DOMParser: true, DOMPoint: true, DOMPointReadOnly: true, DOMQuad: true, DOMStringMap: true, Entry: true, webkitFileSystemEntry: true, FileSystemEntry: true, ErrorEvent: true, Event: true, InputEvent: true, SubmitEvent: true, ExtendableEvent: true, ExtendableMessageEvent: true, External: true, FaceDetector: true, FederatedCredential: true, FetchEvent: true, FileEntry: true, webkitFileSystemFileEntry: true, FileSystemFileEntry: true, DOMFileSystem: true, WebKitFileSystem: true, webkitFileSystem: true, FileSystem: true, FocusEvent: true, FontFace: true, FontFaceSetLoadEvent: true, FontFaceSource: true, ForeignFetchEvent: true, FormData: true, GamepadButton: true, GamepadEvent: true, GamepadPose: true, Geolocation: true, Position: true, GeolocationPosition: true, HashChangeEvent: true, Headers: true, HTMLHyperlinkElementUtils: true, IdleDeadline: true, ImageBitmap: true, ImageBitmapRenderingContext: true, ImageCapture: true, ImageData: true, InputDeviceCapabilities: true, InstallEvent: true, IntersectionObserver: true, IntersectionObserverEntry: true, InterventionReport: true, KeyboardEvent: true, KeyframeEffect: true, KeyframeEffectReadOnly: true, MediaCapabilities: true, MediaCapabilitiesInfo: true, MediaDeviceInfo: true, MediaEncryptedEvent: true, MediaError: true, MediaKeyMessageEvent: true, MediaKeyStatusMap: true, MediaKeySystemAccess: true, MediaKeys: true, MediaKeysPolicy: true, MediaMetadata: true, MediaQueryListEvent: true, MediaSession: true, MediaSettingsRange: true, MediaStreamEvent: true, MediaStreamTrackEvent: true, MemoryInfo: true, MessageChannel: true, MessageEvent: true, Metadata: true, MIDIConnectionEvent: true, MIDIMessageEvent: true, MouseEvent: true, DragEvent: true, MutationEvent: true, MutationObserver: true, WebKitMutationObserver: true, MutationRecord: true, NavigationPreloadManager: true, Navigator: true, NavigatorAutomationInformation: true, NavigatorConcurrentHardware: true, NavigatorCookies: true, NavigatorUserMediaError: true, NodeFilter: true, NodeIterator: true, NonDocumentTypeChildNode: true, NonElementParentNode: true, NoncedElement: true, NotificationEvent: true, OffscreenCanvasRenderingContext2D: true, OverconstrainedError: true, PageTransitionEvent: true, PaintRenderingContext2D: true, PaintSize: true, PaintWorkletGlobalScope: true, PasswordCredential: true, Path2D: true, PaymentAddress: true, PaymentInstruments: true, PaymentManager: true, PaymentRequestEvent: true, PaymentRequestUpdateEvent: true, PaymentResponse: true, PerformanceEntry: true, PerformanceLongTaskTiming: true, PerformanceMark: true, PerformanceMeasure: true, PerformanceNavigation: true, PerformanceNavigationTiming: true, PerformanceObserver: true, PerformanceObserverEntryList: true, PerformancePaintTiming: true, PerformanceResourceTiming: true, PerformanceServerTiming: true, PerformanceTiming: true, Permissions: true, PhotoCapabilities: true, PointerEvent: true, PopStateEvent: true, PositionError: true, GeolocationPositionError: true, Presentation: true, PresentationConnectionAvailableEvent: true, PresentationConnectionCloseEvent: true, PresentationReceiver: true, ProgressEvent: true, PromiseRejectionEvent: true, PublicKeyCredential: true, PushEvent: true, PushManager: true, PushMessageData: true, PushSubscription: true, PushSubscriptionOptions: true, Range: true, RelatedApplication: true, ReportBody: true, ReportingObserver: true, ResizeObserver: true, ResizeObserverEntry: true, RTCCertificate: true, RTCDataChannelEvent: true, RTCDTMFToneChangeEvent: true, RTCIceCandidate: true, mozRTCIceCandidate: true, RTCLegacyStatsReport: true, RTCPeerConnectionIceEvent: true, RTCRtpContributingSource: true, RTCRtpReceiver: true, RTCRtpSender: true, RTCSessionDescription: true, mozRTCSessionDescription: true, RTCStatsResponse: true, RTCTrackEvent: true, Screen: true, ScrollState: true, ScrollTimeline: true, SecurityPolicyViolationEvent: true, Selection: true, SensorErrorEvent: true, SharedArrayBuffer: true, SpeechRecognitionAlternative: true, SpeechRecognitionError: true, SpeechRecognitionEvent: true, SpeechSynthesisEvent: true, SpeechSynthesisVoice: true, StaticRange: true, StorageEvent: true, StorageManager: true, StyleMedia: true, StylePropertyMap: true, StylePropertyMapReadonly: true, SyncEvent: true, SyncManager: true, TaskAttributionTiming: true, TextDetector: true, TextEvent: true, TextMetrics: true, TouchEvent: true, TrackDefault: true, TrackEvent: true, TransitionEvent: true, WebKitTransitionEvent: true, TreeWalker: true, TrustedHTML: true, TrustedScriptURL: true, TrustedURL: true, UIEvent: true, UnderlyingSourceBase: true, URLSearchParams: true, VRCoordinateSystem: true, VRDeviceEvent: true, VRDisplayCapabilities: true, VRDisplayEvent: true, VREyeParameters: true, VRFrameData: true, VRFrameOfReference: true, VRPose: true, VRSessionEvent: true, VRStageBounds: true, VRStageBoundsPoint: true, VRStageParameters: true, ValidityState: true, VideoPlaybackQuality: true, VideoTrack: true, VTTRegion: true, WheelEvent: true, WindowClient: true, WorkletAnimation: true, WorkletGlobalScope: true, XPathEvaluator: true, XPathExpression: true, XPathNSResolver: true, XPathResult: true, XMLSerializer: true, XSLTProcessor: true, Bluetooth: true, BluetoothCharacteristicProperties: true, BluetoothRemoteGATTServer: true, BluetoothRemoteGATTService: true, BluetoothUUID: true, BudgetService: true, Cache: true, DOMFileSystemSync: true, DirectoryEntrySync: true, DirectoryReaderSync: true, EntrySync: true, FileEntrySync: true, FileReaderSync: true, FileWriterSync: true, HTMLAllCollection: true, Mojo: true, MojoHandle: true, MojoInterfaceRequestEvent: true, MojoWatcher: true, NFC: true, PagePopupController: true, Report: true, Request: true, ResourceProgressEvent: true, Response: true, SubtleCrypto: true, USBAlternateInterface: true, USBConfiguration: true, USBConnectionEvent: true, USBDevice: true, USBEndpoint: true, USBInTransferResult: true, USBInterface: true, USBIsochronousInTransferPacket: true, USBIsochronousInTransferResult: true, USBIsochronousOutTransferPacket: true, USBIsochronousOutTransferResult: true, USBOutTransferResult: true, WorkerLocation: true, WorkerNavigator: true, Worklet: true, IDBCursor: true, IDBCursorWithValue: true, IDBFactory: true, IDBIndex: true, IDBKeyRange: true, IDBObjectStore: true, IDBObservation: true, IDBObserver: true, IDBObserverChanges: true, IDBVersionChangeEvent: true, SVGAngle: true, SVGAnimatedAngle: true, SVGAnimatedBoolean: true, SVGAnimatedEnumeration: true, SVGAnimatedInteger: true, SVGAnimatedLength: true, SVGAnimatedLengthList: true, SVGAnimatedNumber: true, SVGAnimatedNumberList: true, SVGAnimatedPreserveAspectRatio: true, SVGAnimatedRect: true, SVGAnimatedString: true, SVGAnimatedTransformList: true, SVGMatrix: true, SVGPoint: true, SVGPreserveAspectRatio: true, SVGRect: true, SVGUnitTypes: true, AudioListener: true, AudioParam: true, AudioProcessingEvent: true, AudioTrack: true, AudioWorkletGlobalScope: true, AudioWorkletProcessor: true, OfflineAudioCompletionEvent: true, PeriodicWave: true, WebGLActiveInfo: true, ANGLEInstancedArrays: true, ANGLE_instanced_arrays: true, WebGLBuffer: true, WebGLCanvas: true, WebGLColorBufferFloat: true, WebGLCompressedTextureASTC: true, WebGLCompressedTextureATC: true, WEBGL_compressed_texture_atc: true, WebGLCompressedTextureETC1: true, WEBGL_compressed_texture_etc1: true, WebGLCompressedTextureETC: true, WebGLCompressedTexturePVRTC: true, WEBGL_compressed_texture_pvrtc: true, WebGLCompressedTextureS3TC: true, WEBGL_compressed_texture_s3tc: true, WebGLCompressedTextureS3TCsRGB: true, WebGLContextEvent: true, WebGLDebugRendererInfo: true, WEBGL_debug_renderer_info: true, WebGLDebugShaders: true, WEBGL_debug_shaders: true, WebGLDepthTexture: true, WEBGL_depth_texture: true, WebGLDrawBuffers: true, WEBGL_draw_buffers: true, EXTsRGB: true, EXT_sRGB: true, EXTBlendMinMax: true, EXT_blend_minmax: true, EXTColorBufferFloat: true, EXTColorBufferHalfFloat: true, EXTDisjointTimerQuery: true, EXTDisjointTimerQueryWebGL2: true, EXTFragDepth: true, EXT_frag_depth: true, EXTShaderTextureLOD: true, EXT_shader_texture_lod: true, EXTTextureFilterAnisotropic: true, EXT_texture_filter_anisotropic: true, WebGLFramebuffer: true, WebGLGetBufferSubDataAsync: true, WebGLLoseContext: true, WebGLExtensionLoseContext: true, WEBGL_lose_context: true, OESElementIndexUint: true, OES_element_index_uint: true, OESStandardDerivatives: true, OES_standard_derivatives: true, OESTextureFloat: true, OES_texture_float: true, OESTextureFloatLinear: true, OES_texture_float_linear: true, OESTextureHalfFloat: true, OES_texture_half_float: true, OESTextureHalfFloatLinear: true, OES_texture_half_float_linear: true, OESVertexArrayObject: true, OES_vertex_array_object: true, WebGLProgram: true, WebGLQuery: true, WebGLRenderbuffer: true, WebGLRenderingContext: true, WebGL2RenderingContext: true, WebGLSampler: true, WebGLShader: true, WebGLShaderPrecisionFormat: true, WebGLSync: true, WebGLTexture: true, WebGLTimerQueryEXT: true, WebGLTransformFeedback: true, WebGLUniformLocation: true, WebGLVertexArrayObject: true, WebGLVertexArrayObjectOES: true, WebGL2RenderingContextBase: true, ArrayBuffer: true, ArrayBufferView: false, DataView: true, Float32Array: true, Float64Array: true, Int16Array: true, Int32Array: true, Int8Array: true, Uint16Array: true, Uint32Array: true, Uint8ClampedArray: true, CanvasPixelArray: true, Uint8Array: false, HTMLAudioElement: true, HTMLBRElement: true, HTMLBaseElement: true, HTMLBodyElement: true, HTMLButtonElement: true, HTMLCanvasElement: true, HTMLContentElement: true, HTMLDListElement: true, HTMLDataElement: true, HTMLDataListElement: true, HTMLDetailsElement: true, HTMLDialogElement: true, HTMLDivElement: true, HTMLEmbedElement: true, HTMLFieldSetElement: true, HTMLHRElement: true, HTMLHeadElement: true, HTMLHeadingElement: true, HTMLHtmlElement: true, HTMLIFrameElement: true, HTMLImageElement: true, HTMLInputElement: true, HTMLLIElement: true, HTMLLabelElement: true, HTMLLegendElement: true, HTMLLinkElement: true, HTMLMapElement: true, HTMLMediaElement: true, HTMLMenuElement: true, HTMLMetaElement: true, HTMLMeterElement: true, HTMLModElement: true, HTMLOListElement: true, HTMLObjectElement: true, HTMLOptGroupElement: true, HTMLOptionElement: true, HTMLOutputElement: true, HTMLParagraphElement: true, HTMLParamElement: true, HTMLPictureElement: true, HTMLPreElement: true, HTMLProgressElement: true, HTMLQuoteElement: true, HTMLScriptElement: true, HTMLShadowElement: true, HTMLSlotElement: true, HTMLSourceElement: true, HTMLSpanElement: true, HTMLStyleElement: true, HTMLTableCaptionElement: true, HTMLTableCellElement: true, HTMLTableDataCellElement: true, HTMLTableHeaderCellElement: true, HTMLTableColElement: true, HTMLTableElement: true, HTMLTableRowElement: true, HTMLTableSectionElement: true, HTMLTemplateElement: true, HTMLTextAreaElement: true, HTMLTimeElement: true, HTMLTitleElement: true, HTMLTrackElement: true, HTMLUListElement: true, HTMLUnknownElement: true, HTMLVideoElement: true, HTMLDirectoryElement: true, HTMLFontElement: true, HTMLFrameElement: true, HTMLFrameSetElement: true, HTMLMarqueeElement: true, HTMLElement: false, AccessibleNodeList: true, HTMLAnchorElement: true, HTMLAreaElement: true, Blob: false, CDATASection: true, CharacterData: true, Comment: true, ProcessingInstruction: true, Text: true, CSSPerspective: true, CSSCharsetRule: true, CSSConditionRule: true, CSSFontFaceRule: true, CSSGroupingRule: true, CSSImportRule: true, CSSKeyframeRule: true, MozCSSKeyframeRule: true, WebKitCSSKeyframeRule: true, CSSKeyframesRule: true, MozCSSKeyframesRule: true, WebKitCSSKeyframesRule: true, CSSMediaRule: true, CSSNamespaceRule: true, CSSPageRule: true, CSSRule: true, CSSStyleRule: true, CSSSupportsRule: true, CSSViewportRule: true, CSSStyleDeclaration: true, MSStyleCSSProperties: true, CSS2Properties: true, CSSImageValue: true, CSSKeywordValue: true, CSSNumericValue: true, CSSPositionValue: true, CSSResourceValue: true, CSSUnitValue: true, CSSURLImageValue: true, CSSStyleValue: false, CSSMatrixComponent: true, CSSRotation: true, CSSScale: true, CSSSkew: true, CSSTranslation: true, CSSTransformComponent: false, CSSTransformValue: true, CSSUnparsedValue: true, DataTransferItemList: true, DOMException: true, ClientRectList: true, DOMRectList: true, DOMRectReadOnly: false, DOMStringList: true, DOMTokenList: true, MathMLElement: true, SVGAElement: true, SVGAnimateElement: true, SVGAnimateMotionElement: true, SVGAnimateTransformElement: true, SVGAnimationElement: true, SVGCircleElement: true, SVGClipPathElement: true, SVGDefsElement: true, SVGDescElement: true, SVGDiscardElement: true, SVGEllipseElement: true, SVGFEBlendElement: true, SVGFEColorMatrixElement: true, SVGFEComponentTransferElement: true, SVGFECompositeElement: true, SVGFEConvolveMatrixElement: true, SVGFEDiffuseLightingElement: true, SVGFEDisplacementMapElement: true, SVGFEDistantLightElement: true, SVGFEFloodElement: true, SVGFEFuncAElement: true, SVGFEFuncBElement: true, SVGFEFuncGElement: true, SVGFEFuncRElement: true, SVGFEGaussianBlurElement: true, SVGFEImageElement: true, SVGFEMergeElement: true, SVGFEMergeNodeElement: true, SVGFEMorphologyElement: true, SVGFEOffsetElement: true, SVGFEPointLightElement: true, SVGFESpecularLightingElement: true, SVGFESpotLightElement: true, SVGFETileElement: true, SVGFETurbulenceElement: true, SVGFilterElement: true, SVGForeignObjectElement: true, SVGGElement: true, SVGGeometryElement: true, SVGGraphicsElement: true, SVGImageElement: true, SVGLineElement: true, SVGLinearGradientElement: true, SVGMarkerElement: true, SVGMaskElement: true, SVGMetadataElement: true, SVGPathElement: true, SVGPatternElement: true, SVGPolygonElement: true, SVGPolylineElement: true, SVGRadialGradientElement: true, SVGRectElement: true, SVGScriptElement: true, SVGSetElement: true, SVGStopElement: true, SVGStyleElement: true, SVGElement: true, SVGSVGElement: true, SVGSwitchElement: true, SVGSymbolElement: true, SVGTSpanElement: true, SVGTextContentElement: true, SVGTextElement: true, SVGTextPathElement: true, SVGTextPositioningElement: true, SVGTitleElement: true, SVGUseElement: true, SVGViewElement: true, SVGGradientElement: true, SVGComponentTransferFunctionElement: true, SVGFEDropShadowElement: true, SVGMPathElement: true, Element: false, AbsoluteOrientationSensor: true, Accelerometer: true, AccessibleNode: true, AmbientLightSensor: true, Animation: true, ApplicationCache: true, DOMApplicationCache: true, OfflineResourceList: true, BackgroundFetchRegistration: true, BatteryManager: true, BroadcastChannel: true, CanvasCaptureMediaStreamTrack: true, DedicatedWorkerGlobalScope: true, EventSource: true, FileReader: true, FontFaceSet: true, Gyroscope: true, XMLHttpRequest: true, XMLHttpRequestEventTarget: true, XMLHttpRequestUpload: true, LinearAccelerationSensor: true, Magnetometer: true, MediaDevices: true, MediaKeySession: true, MediaQueryList: true, MediaRecorder: true, MediaSource: true, MediaStream: true, MediaStreamTrack: true, MessagePort: true, MIDIAccess: true, MIDIInput: true, MIDIOutput: true, MIDIPort: true, NetworkInformation: true, Notification: true, OffscreenCanvas: true, OrientationSensor: true, PaymentRequest: true, Performance: true, PermissionStatus: true, PresentationAvailability: true, PresentationConnection: true, PresentationConnectionList: true, PresentationRequest: true, RelativeOrientationSensor: true, RemotePlayback: true, RTCDataChannel: true, DataChannel: true, RTCDTMFSender: true, RTCPeerConnection: true, webkitRTCPeerConnection: true, mozRTCPeerConnection: true, ScreenOrientation: true, Sensor: true, ServiceWorker: true, ServiceWorkerContainer: true, ServiceWorkerGlobalScope: true, ServiceWorkerRegistration: true, SharedWorker: true, SharedWorkerGlobalScope: true, SpeechRecognition: true, webkitSpeechRecognition: true, SpeechSynthesis: true, SpeechSynthesisUtterance: true, VR: true, VRDevice: true, VRDisplay: true, VRSession: true, VisualViewport: true, WebSocket: true, Window: true, DOMWindow: true, Worker: true, WorkerGlobalScope: true, WorkerPerformance: true, BluetoothDevice: true, BluetoothRemoteGATTCharacteristic: true, Clipboard: true, MojoInterfaceInterceptor: true, USB: true, IDBDatabase: true, IDBOpenDBRequest: true, IDBVersionChangeRequest: true, IDBRequest: true, IDBTransaction: true, AnalyserNode: true, RealtimeAnalyserNode: true, AudioBufferSourceNode: true, AudioDestinationNode: true, AudioNode: true, AudioScheduledSourceNode: true, AudioWorkletNode: true, BiquadFilterNode: true, ChannelMergerNode: true, AudioChannelMerger: true, ChannelSplitterNode: true, AudioChannelSplitter: true, ConstantSourceNode: true, ConvolverNode: true, DelayNode: true, DynamicsCompressorNode: true, GainNode: true, AudioGainNode: true, IIRFilterNode: true, MediaElementAudioSourceNode: true, MediaStreamAudioDestinationNode: true, MediaStreamAudioSourceNode: true, OscillatorNode: true, Oscillator: true, PannerNode: true, AudioPannerNode: true, webkitAudioPannerNode: true, ScriptProcessorNode: true, JavaScriptAudioNode: true, StereoPannerNode: true, WaveShaperNode: true, EventTarget: false, File: true, FileList: true, FileWriter: true, HTMLFormElement: true, Gamepad: true, History: true, HTMLCollection: true, HTMLFormControlsCollection: true, HTMLOptionsCollection: true, Location: true, MediaList: true, MIDIInputMap: true, MIDIOutputMap: true, MimeType: true, MimeTypeArray: true, Document: true, DocumentFragment: true, HTMLDocument: true, ShadowRoot: true, XMLDocument: true, Attr: true, DocumentType: true, Node: false, NodeList: true, RadioNodeList: true, Plugin: true, PluginArray: true, RTCStatsReport: true, HTMLSelectElement: true, SourceBuffer: true, SourceBufferList: true, SpeechGrammar: true, SpeechGrammarList: true, SpeechRecognitionResult: true, Storage: true, CSSStyleSheet: true, StyleSheet: true, TextTrack: true, TextTrackCue: true, VTTCue: true, TextTrackCueList: true, TextTrackList: true, TimeRanges: true, Touch: true, TouchList: true, TrackDefaultList: true, URL: true, VideoTrackList: true, CSSRuleList: true, ClientRect: true, DOMRect: true, GamepadList: true, NamedNodeMap: true, MozNamedAttrMap: true, SpeechRecognitionResultList: true, StyleSheetList: true, SVGLength: true, SVGLengthList: true, SVGNumber: true, SVGNumberList: true, SVGPointList: true, SVGStringList: true, SVGTransform: true, SVGTransformList: true, AudioBuffer: true, AudioParamMap: true, AudioTrackList: true, AudioContext: true, webkitAudioContext: true, BaseAudioContext: false, OfflineAudioContext: true});
+    hunkHelpers.setOrUpdateInterceptorsByTag({ArrayBuffer: A.NativeByteBuffer, ArrayBufferView: A.NativeTypedData, DataView: A.NativeByteData, Float32Array: A.NativeFloat32List, Float64Array: A.NativeFloat64List, Int16Array: A.NativeInt16List, Int32Array: A.NativeInt32List, Int8Array: A.NativeInt8List, Uint16Array: A.NativeUint16List, Uint32Array: A.NativeUint32List, Uint8ClampedArray: A.NativeUint8ClampedList, CanvasPixelArray: A.NativeUint8ClampedList, Uint8Array: A.NativeUint8List});
+    hunkHelpers.setOrUpdateLeafTags({ArrayBuffer: true, ArrayBufferView: false, DataView: true, Float32Array: true, Float64Array: true, Int16Array: true, Int32Array: true, Int8Array: true, Uint16Array: true, Uint32Array: true, Uint8ClampedArray: true, CanvasPixelArray: true, Uint8Array: false});
     A.NativeTypedArray.$nativeSuperclassTag = "ArrayBufferView";
     A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin.$nativeSuperclassTag = "ArrayBufferView";
     A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin.$nativeSuperclassTag = "ArrayBufferView";
@@ -18239,20 +16382,16 @@
     A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin.$nativeSuperclassTag = "ArrayBufferView";
     A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin.$nativeSuperclassTag = "ArrayBufferView";
     A.NativeTypedArrayOfInt.$nativeSuperclassTag = "ArrayBufferView";
-    A._SourceBufferList_EventTarget_ListMixin.$nativeSuperclassTag = "EventTarget";
-    A._SourceBufferList_EventTarget_ListMixin_ImmutableListMixin.$nativeSuperclassTag = "EventTarget";
-    A._TextTrackList_EventTarget_ListMixin.$nativeSuperclassTag = "EventTarget";
-    A._TextTrackList_EventTarget_ListMixin_ImmutableListMixin.$nativeSuperclassTag = "EventTarget";
   })();
   Function.prototype.call$1 = function(a) {
     return this(a);
   };
-  Function.prototype.call$2 = function(a, b) {
-    return this(a, b);
-  };
   Function.prototype.call$0 = function() {
     return this();
   };
+  Function.prototype.call$2 = function(a, b) {
+    return this(a, b);
+  };
   Function.prototype.call$1$1 = function(a) {
     return this(a);
   };
@@ -18314,19 +16453,22 @@
     }
     var scripts = document.scripts;
     function onLoad(event) {
-      for (var i = 0; i < scripts.length; ++i)
+      for (var i = 0; i < scripts.length; ++i) {
         scripts[i].removeEventListener("load", onLoad, false);
+      }
       callback(event.target);
     }
-    for (var i = 0; i < scripts.length; ++i)
+    for (var i = 0; i < scripts.length; ++i) {
       scripts[i].addEventListener("load", onLoad, false);
+    }
   })(function(currentScript) {
     init.currentScript = currentScript;
     var callMain = A.main;
-    if (typeof dartMainRunner === "function")
+    if (typeof dartMainRunner === "function") {
       dartMainRunner(callMain, []);
-    else
+    } else {
       callMain([]);
+    }
   });
 })();
 
diff --git a/pkgs/test/lib/src/runner/node/socket_channel.dart b/pkgs/test/lib/src/runner/node/socket_channel.dart
index 1d9055e..a7608dd 100644
--- a/pkgs/test/lib/src/runner/node/socket_channel.dart
+++ b/pkgs/test/lib/src/runner/node/socket_channel.dart
@@ -3,12 +3,12 @@
 // BSD-style license that can be found in the LICENSE file.
 
 @JS()
-library node;
+library;
 
 import 'dart:async';
 import 'dart:convert';
+import 'dart:js_interop';
 
-import 'package:js/js.dart';
 import 'package:stream_channel/stream_channel.dart';
 
 @JS('require')
@@ -40,7 +40,7 @@
     ..stream.listen((event) => socket.write('${jsonEncode(event)}\n'));
 
   var socketStream = StreamController<String>(sync: true);
-  socket.on('data', allowInterop(socketStream.add));
+  socket.on('data', socketStream.add);
 
   return StreamChannel.withCloseGuarantee(
       socketStream.stream.transform(const LineSplitter()).map(jsonDecode),
diff --git a/pkgs/test/pubspec.yaml b/pkgs/test/pubspec.yaml
index d3c9b76..41a8f94 100644
--- a/pkgs/test/pubspec.yaml
+++ b/pkgs/test/pubspec.yaml
@@ -1,11 +1,11 @@
 name: test
-version: 1.25.2
+version: 1.25.3-wip
 description: >-
   A full featured library for writing and running Dart tests across platforms.
 repository: https://github.com/dart-lang/test/tree/master/pkgs/test
 
 environment:
-  sdk: ^3.0.0
+  sdk: ^3.3.0
 
 dependencies:
   analyzer: '>=5.12.0 <7.0.0'
@@ -15,7 +15,6 @@
   coverage: ^1.0.1
   http_multi_server: ^3.0.0
   io: ^1.0.0
-  js: '>=0.6.4 <0.8.0'
 
   # Use a tight version constraint to ensure that a constraint on matcher
   # properly constrains all features it provides.
diff --git a/pkgs/test/tool/host.dart b/pkgs/test/tool/host.dart
index 0d320d3..5b505fa 100644
--- a/pkgs/test/tool/host.dart
+++ b/pkgs/test/tool/host.dart
@@ -3,12 +3,12 @@
 // BSD-style license that can be found in the LICENSE file.
 
 @JS()
-library test.host;
+library;
 
 import 'dart:async';
 import 'dart:convert';
+import 'dart:js_interop';
 
-import 'package:js/js.dart';
 import 'package:stack_trace/stack_trace.dart';
 import 'package:stream_channel/stream_channel.dart';
 import 'package:test/src/runner/browser/dom.dart' as dom;
@@ -21,20 +21,19 @@
 @anonymous
 @staticInterop
 class _JSApi {
-  external factory _JSApi(
-      {void Function() resume, void Function() restartCurrent});
+  external factory _JSApi({JSFunction resume, JSFunction restartCurrent});
 }
 
 extension _JSApiExtension on _JSApi {
   /// Causes the test runner to resume running, as though the user had clicked
   /// the "play" button.
   // ignore: unused_element
-  external Function get resume;
+  external JSFunction get resume;
 
   /// Causes the test runner to restart the current test once it finishes
   /// running.
   // ignore: unused_element
-  external Function get restartCurrent;
+  external JSFunction get restartCurrent;
 }
 
 /// Sets the top-level `dartTest` object so that it's visible to JS.
@@ -103,7 +102,7 @@
 /// does mean that the server needs to be sure to nest its [MultiChannel]s at
 /// the same place the client does.
 void main() {
-  dom.window.console.log('Dart test runner browser host running');
+  dom.window.console.log('Dart test runner browser host running'.toJS);
   if (_currentUrl.queryParameters['debug'] == 'true') {
     dom.document.body!.classList.add('debug');
   }
@@ -131,7 +130,7 @@
           _domSubscriptions.remove(id)?.cancel();
         default:
           dom.window.console
-              .warn('Unhandled message from test runner: $message');
+              .warn('Unhandled message from test runner: $message'.toJS);
       }
     });
 
@@ -141,21 +140,23 @@
         (_) => serverChannel.sink.add({'command': 'ping'}));
 
     var play = dom.document.querySelector('#play');
-    play!.addEventListener('click', allowInterop((_) {
+    play!.addEventListener('click', (_) {
       if (!dom.document.body!.classList.contains('paused')) return;
       dom.document.body!.classList.remove('paused');
       serverChannel.sink.add({'command': 'resume'});
-    }));
+    });
 
-    _jsApi = _JSApi(resume: allowInterop(() {
-      if (!dom.document.body!.classList.contains('paused')) return;
-      dom.document.body!.classList.remove('paused');
-      serverChannel.sink.add({'command': 'resume'});
-    }), restartCurrent: allowInterop(() {
-      serverChannel.sink.add({'command': 'restart'});
-    }));
+    _jsApi = _JSApi(
+        resume: (() {
+          if (!dom.document.body!.classList.contains('paused')) return;
+          dom.document.body!.classList.remove('paused');
+          serverChannel.sink.add({'command': 'resume'});
+        }).toJS,
+        restartCurrent: (() {
+          serverChannel.sink.add({'command': 'restart'});
+        }).toJS);
   }, (error, stackTrace) {
-    dom.window.console.warn('$error\n${Trace.from(stackTrace).terse}');
+    dom.window.console.warn('$error\n${Trace.from(stackTrace).terse}'.toJS);
   });
 }
 
@@ -168,13 +169,13 @@
       dom.createWebSocket(_currentUrl.queryParameters['managerUrl']!);
 
   var controller = StreamChannelController<Object?>(sync: true);
-  webSocket.addEventListener('message', allowInterop((message) {
+  webSocket.addEventListener('message', (message) {
     controller.local.sink
         .add(jsonDecode((message as dom.MessageEvent).data as String));
-  }));
+  });
 
   controller.local.stream
-      .listen((message) => webSocket.send(jsonEncode(message)));
+      .listen((message) => webSocket.send(jsonEncode(message).toJS));
 
   return MultiChannel(controller.foreign);
 }
@@ -202,14 +203,14 @@
 /// message channel port is active.
 StreamChannel<dynamic> _connectToIframe(String url, int id) {
   var suiteUrl = Uri.parse(url).removeFragment();
-  dom.window.console.log('Starting suite $suiteUrl');
+  dom.window.console.log('Starting suite $suiteUrl'.toJS);
   var iframe = dom.createHTMLIFrameElement();
   _iframes[id] = iframe;
   var controller = StreamChannelController<Object?>(sync: true);
 
   late dom.Subscription windowSubscription;
   windowSubscription =
-      dom.Subscription(dom.window, 'message', allowInterop((dom.Event event) {
+      dom.Subscription(dom.window, 'message', (dom.Event event) {
     // A message on the Window can theoretically come from any website. It's
     // very unlikely that a malicious site would care about hacking someone's
     // unit tests, let alone be able to find the test server while it's
@@ -225,14 +226,13 @@
 
     switch (message.data) {
       case 'port':
-        dom.window.console.log('Connecting channel for suite $suiteUrl');
+        dom.window.console.log('Connecting channel for suite $suiteUrl'.toJS);
         // The frame is starting and sending a port to forward for the suite.
         final port = message.ports.first;
         assert(!_domSubscriptions.containsKey(id));
-        _domSubscriptions[id] =
-            dom.Subscription(port, 'message', allowInterop((event) {
+        _domSubscriptions[id] = dom.Subscription(port, 'message', (event) {
           controller.local.sink.add((event as dom.MessageEvent).data);
-        }));
+        });
         port.start();
 
         assert(!_subscriptions.containsKey(id));
@@ -242,11 +242,11 @@
         // loading the test.
         controller.local.sink.add(data);
     }
-  }));
+  });
 
   iframe.src = url;
   dom.document.body!.appendChild(iframe);
-  dom.window.console.log('Appended iframe with src $url');
+  dom.window.console.log('Appended iframe with src $url'.toJS);
 
   return controller.foreign;
 }
diff --git a/pkgs/test_api/lib/fake.dart b/pkgs/test_api/lib/fake.dart
index 702bb5f..f8b2d80 100644
--- a/pkgs/test_api/lib/fake.dart
+++ b/pkgs/test_api/lib/fake.dart
@@ -8,6 +8,6 @@
 
 @Deprecated('package:test_api is not intended for general use. '
     'Please use package:test.')
-library test_api.fake;
+library;
 
 export 'src/frontend/fake.dart';
diff --git a/pkgs/test_api/lib/scaffolding.dart b/pkgs/test_api/lib/scaffolding.dart
index 84185b8..9d864bb 100644
--- a/pkgs/test_api/lib/scaffolding.dart
+++ b/pkgs/test_api/lib/scaffolding.dart
@@ -8,7 +8,7 @@
 /// {@canonicalFor tags.Tags}
 /// {@canonicalFor test_on.TestOn}
 /// {@canonicalFor timeout.Timeout}
-library test_api.scaffolding;
+library;
 
 export 'src/backend/configuration/on_platform.dart' show OnPlatform;
 export 'src/backend/configuration/retry.dart' show Retry;
diff --git a/pkgs/test_api/lib/test_api.dart b/pkgs/test_api/lib/test_api.dart
index 7804cda..75c1540 100644
--- a/pkgs/test_api/lib/test_api.dart
+++ b/pkgs/test_api/lib/test_api.dart
@@ -4,7 +4,7 @@
 
 @Deprecated('package:test_api is not intended for general use. '
     'Please use package:test.')
-library test_api;
+library;
 
 export 'hooks.dart' show TestFailure;
 export 'scaffolding.dart';
diff --git a/pkgs/test_core/lib/backend.dart b/pkgs/test_core/lib/backend.dart
index 69f6552..f5a3b46 100644
--- a/pkgs/test_core/lib/backend.dart
+++ b/pkgs/test_core/lib/backend.dart
@@ -4,7 +4,7 @@
 
 @Deprecated('package:test_core is not intended for general use. '
     'Please use package:test.')
-library test_core.backend;
+library;
 
 export 'package:test_api/backend.dart'
     show Compiler, Metadata, PlatformSelector, Runtime, SuitePlatform;
diff --git a/pkgs/test_core/lib/test_core.dart b/pkgs/test_core/lib/test_core.dart
index 01f4454..b1df09d 100644
--- a/pkgs/test_core/lib/test_core.dart
+++ b/pkgs/test_core/lib/test_core.dart
@@ -4,7 +4,7 @@
 
 @Deprecated('package:test_core is not intended for general use. '
     'Please use package:test.')
-library test_core;
+library;
 
 export 'package:test_api/hooks.dart' show TestFailure;
 
diff --git a/tool/ci.sh b/tool/ci.sh
index 4e00803..e7dc4de 100755
--- a/tool/ci.sh
+++ b/tool/ci.sh
@@ -1,9 +1,10 @@
 #!/bin/bash
-# Created with package:mono_repo v6.6.0
+# Created with package:mono_repo v6.6.1
 
 # Support built in commands on windows out of the box.
+
 # When it is a flutter repo (check the pubspec.yaml for "sdk: flutter")
-# then "flutter" is called instead of "pub".
+# then "flutter pub" is called instead of "dart pub".
 # This assumes that the Flutter SDK has been installed in a previous step.
 function pub() {
   if grep -Fq "sdk: flutter" "${PWD}/pubspec.yaml"; then
@@ -12,18 +13,13 @@
     command dart pub "$@"
   fi
 }
-# When it is a flutter repo (check the pubspec.yaml for "sdk: flutter")
-# then "flutter" is called instead of "pub".
-# This assumes that the Flutter SDK has been installed in a previous step.
+
 function format() {
-  if grep -Fq "sdk: flutter" "${PWD}/pubspec.yaml"; then
-    command flutter format "$@"
-  else
-    command dart format "$@"
-  fi
+  command dart format "$@"
 }
+
 # When it is a flutter repo (check the pubspec.yaml for "sdk: flutter")
-# then "flutter" is called instead of "pub".
+# then "flutter analyze" is called instead of "dart analyze".
 # This assumes that the Flutter SDK has been installed in a previous step.
 function analyze() {
   if grep -Fq "sdk: flutter" "${PWD}/pubspec.yaml"; then