prepare to release pkg:dwds v24.1.0 (#2475)

diff --git a/dwds/CHANGELOG.md b/dwds/CHANGELOG.md
index d3d913f..c931e06 100644
--- a/dwds/CHANGELOG.md
+++ b/dwds/CHANGELOG.md
@@ -1,4 +1,4 @@
-## 24.1.0-wip
+## 24.1.0
 
 - Fix bug where debugging clients are not aware of service extensions when connecting to a new web app. - [#2388](https://github.com/dart-lang/webdev/pull/2388)
 - Respect the value of `pause_isolates_on_start` during page-refreshes. - [#2431](https://github.com/dart-lang/webdev/pull/2431)
@@ -6,8 +6,9 @@
 - Add implementation for the VM Service's `getFlagList` API. - [#2438](https://github.com/dart-lang/webdev/pull/2438)
 - Hide more variables from the local scope when debugging. These variables were synthetically added by the compiler to
   support late local variables and don't appear in the original source code. - [#2445](https://github.com/dart-lang/webdev/pull/2445)
-- Require Dart `^3.4`
 - Spawn DDS in a separate process using `dart development-service` instead of launching from `package:dds`. - [#2466](https://github.com/dart-lang/webdev/pull/2466)
+- Update package `web_socket_channel: '>=2.2.0 <4.0.0'`.
+- Require Dart `^3.4`
 
 ## 24.0.0
 
diff --git a/dwds/debug_extension/pubspec.yaml b/dwds/debug_extension/pubspec.yaml
index ebfb5e8..9a161c4 100644
--- a/dwds/debug_extension/pubspec.yaml
+++ b/dwds/debug_extension/pubspec.yaml
@@ -23,7 +23,7 @@
   dwds: ^16.0.0
   path: ^1.8.1
   sse: ^4.1.2
-  web_socket_channel: ^2.2.0
+  web_socket_channel: '>=2.2.0 <4.0.0'
 
 dependency_overrides:
   dwds:
diff --git a/dwds/lib/src/injected/client.js b/dwds/lib/src/injected/client.js
index 297711e..a72407c 100644
--- a/dwds/lib/src/injected/client.js
+++ b/dwds/lib/src/injected/client.js
@@ -1,4 +1,4 @@
-// Generated by dart2js (NullSafetyMode.sound, csp, intern-composite-values), the Dart to JavaScript compiler version: 3.4.0-282.2.beta.
+// Generated by dart2js (NullSafetyMode.sound, csp, intern-composite-values), the Dart to JavaScript compiler version: 3.6.0-122.0.dev.
 // The code supports the following hooks:
 // dartPrint(message):
 //    if this function is defined it is called instead of the Dart [print]
@@ -127,8 +127,7 @@
     };
   }
   function makeConstList(list) {
-    list.immutable$list = Array;
-    list.fixed$length = Array;
+    list.$flags = 7;
     return list;
   }
   function convertToFastObject(properties) {
@@ -295,16 +294,9 @@
       return A._setArrayType(new Array($length), $E._eval$1("JSArray<0>"));
     },
     JSArray_JSArray$markFixed(allocation, $E) {
-      return J.JSArray_markFixedList(A._setArrayType(allocation, $E._eval$1("JSArray<0>")), $E);
-    },
-    JSArray_markFixedList(list, $T) {
-      list.fixed$length = Array;
-      return list;
-    },
-    JSArray_markUnmodifiableList(list) {
-      list.fixed$length = Array;
-      list.immutable$list = Array;
-      return list;
+      var t1 = A._setArrayType(allocation, $E._eval$1("JSArray<0>"));
+      t1.$flags = 1;
+      return t1;
     },
     JSArray__compareAny(a, b) {
       var t1 = type$.Comparable_dynamic;
@@ -1334,13 +1326,10 @@
       return A.Primitives__generalApplyFunction($function, positionalArguments, namedArguments);
     },
     Primitives__generalApplyFunction($function, positionalArguments, namedArguments) {
-      var $arguments, argumentCount, requiredParameterCount, defaultValuesClosure, t1, defaultValues, interceptor, jsFunction, maxArguments, missingDefaults, keys, _i, defaultValue, used, key;
-      if (positionalArguments != null)
-        $arguments = Array.isArray(positionalArguments) ? positionalArguments : A.List_List$of(positionalArguments, true, type$.dynamic);
-      else
-        $arguments = [];
-      argumentCount = $arguments.length;
-      requiredParameterCount = $function.$requiredArgCount;
+      var defaultValuesClosure, t1, defaultValues, interceptor, jsFunction, maxArguments, missingDefaults, keys, _i, defaultValue, used, key,
+        $arguments = Array.isArray(positionalArguments) ? positionalArguments : A.List_List$of(positionalArguments, true, type$.dynamic),
+        argumentCount = $arguments.length,
+        requiredParameterCount = $function.$requiredArgCount;
       if (argumentCount < requiredParameterCount)
         return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
       defaultValuesClosure = $function.$defaultValues;
@@ -1464,6 +1453,42 @@
     throwExpressionWithWrapper(ex, wrapper) {
       throw A.initializeExceptionWrapper(wrapper, ex);
     },
+    throwUnsupportedOperation(o, operation, verb) {
+      var wrapper;
+      if (operation == null)
+        operation = 0;
+      if (verb == null)
+        verb = 0;
+      wrapper = Error();
+      A.throwExpressionWithWrapper(A._diagnoseUnsupportedOperation(o, operation, verb), wrapper);
+    },
+    _diagnoseUnsupportedOperation(o, encodedOperation, encodedVerb) {
+      var operation, table, tableLength, index, verb, object, flags, article, adjective;
+      if (typeof encodedOperation == "string")
+        operation = encodedOperation;
+      else {
+        table = "[]=;add;removeWhere;retainWhere;removeRange;setRange;setInt8;setInt16;setInt32;setUint8;setUint16;setUint32;setFloat32;setFloat64".split(";");
+        tableLength = table.length;
+        index = encodedOperation;
+        if (index > tableLength) {
+          encodedVerb = index / tableLength | 0;
+          index %= tableLength;
+        }
+        operation = table[index];
+      }
+      verb = typeof encodedVerb == "string" ? encodedVerb : "modify;remove from;add to".split(";")[encodedVerb];
+      object = type$.List_dynamic._is(o) ? "list" : "ByteData";
+      flags = o.$flags | 0;
+      article = "a ";
+      if ((flags & 4) !== 0)
+        adjective = "constant ";
+      else if ((flags & 2) !== 0) {
+        adjective = "unmodifiable ";
+        article = "an ";
+      } else
+        adjective = (flags & 1) !== 0 ? "fixed-length " : "";
+      return new A.UnsupportedError("'" + operation + "': Cannot " + verb + " " + article + adjective + object);
+    },
     throwConcurrentModificationError(collection) {
       throw A.wrapException(A.ConcurrentModificationError$(collection));
     },
@@ -1606,16 +1631,6 @@
         return A.Primitives_objectHashCode(object);
       return J.get$hashCode$(object);
     },
-    fillLiteralMap(keyValuePairs, result) {
-      var index, index0, index1,
-        $length = keyValuePairs.length;
-      for (index = 0; index < $length; index = index1) {
-        index0 = index + 1;
-        index1 = index0 + 1;
-        result.$indexSet(0, keyValuePairs[index], keyValuePairs[index0]);
-      }
-      return result;
-    },
     _invokeClosure(closure, numberOfArguments, arg1, arg2, arg3, arg4) {
       type$.Function._as(closure);
       switch (A._asInt(numberOfArguments)) {
@@ -1869,9 +1884,11 @@
       return closure._interceptor;
     },
     BoundClosure__computeFieldNamed(fieldName) {
-      var t1, i, $name,
+      var names, i, $name,
         template = new A.BoundClosure("receiver", "interceptor"),
-        names = J.JSArray_markFixedList(Object.getOwnPropertyNames(template), type$.nullable_Object);
+        t1 = Object.getOwnPropertyNames(template);
+      t1.$flags = 1;
+      names = t1;
       for (t1 = names.length, i = 0; i < t1; ++i) {
         $name = names[i];
         if (template[$name] === fieldName)
@@ -2274,7 +2291,14 @@
       this.__late_helper$_value = null;
     },
     _ensureNativeList(list) {
-      return list;
+      var t1, result, i;
+      if (type$.JSIndexable_dynamic._is(list))
+        return list;
+      t1 = J.getInterceptor$asx(list);
+      result = A.List_List$filled(t1.get$length(list), null, false, type$.dynamic);
+      for (i = 0; i < t1.get$length(list); ++i)
+        B.JSArray_methods.$indexSet(result, i, t1.$index(list, i));
+      return result;
     },
     NativeInt8List__create1(arg) {
       return new Int8Array(arg);
@@ -2667,24 +2691,14 @@
       return testRti._as(object);
     },
     _nullIs(testRti) {
-      var t1,
-        kind = testRti._kind;
+      var kind = testRti._kind,
+        t1 = true;
       if (!A.isSoundTopType(testRti))
         if (!(testRti === type$.legacy_Object))
           if (!(testRti === type$.legacy_Never))
             if (kind !== 7)
               if (!(kind === 6 && A._nullIs(testRti._primary)))
                 t1 = kind === 8 && A._nullIs(testRti._primary) || testRti === type$.Null || testRti === type$.JSNull;
-              else
-                t1 = true;
-            else
-              t1 = true;
-          else
-            t1 = true;
-        else
-          t1 = true;
-      else
-        t1 = true;
       return t1;
     },
     _generalIsTestImplementation(object) {
@@ -2916,13 +2930,12 @@
       return s + "})";
     },
     _functionRtiToString(functionType, genericContext, bounds) {
-      var boundsLength, outerContextLength, offset, i, t1, t2, typeParametersText, typeSep, t3, t4, boundRti, kind, parameters, requiredPositional, requiredPositionalLength, optionalPositional, optionalPositionalLength, named, namedLength, returnTypeText, argumentsText, sep, _s2_ = ", ";
+      var boundsLength, offset, i, t1, t2, typeParametersText, typeSep, t3, t4, boundRti, kind, parameters, requiredPositional, requiredPositionalLength, optionalPositional, optionalPositionalLength, named, namedLength, returnTypeText, argumentsText, sep, _s2_ = ", ", outerContextLength = null;
       if (bounds != null) {
         boundsLength = bounds.length;
-        if (genericContext == null) {
+        if (genericContext == null)
           genericContext = A._setArrayType([], type$.JSArray_String);
-          outerContextLength = null;
-        } else
+        else
           outerContextLength = genericContext.length;
         offset = genericContext.length;
         for (i = boundsLength; i > 0; --i)
@@ -2943,10 +2956,8 @@
             typeParametersText += " extends " + A._rtiToString(boundRti, genericContext);
         }
         typeParametersText += ">";
-      } else {
+      } else
         typeParametersText = "";
-        outerContextLength = null;
-      }
       t1 = functionType._primary;
       parameters = functionType._rest;
       requiredPositional = parameters._requiredPositional;
@@ -3153,16 +3164,11 @@
       var baseKind, t1, starArgument, rti;
       if (normalize) {
         baseKind = baseType._kind;
+        t1 = true;
         if (!A.isSoundTopType(baseType))
           if (!(baseType === type$.Null || baseType === type$.JSNull))
             if (baseKind !== 7)
               t1 = baseKind === 8 && A.isNullable(baseType._primary);
-            else
-              t1 = true;
-          else
-            t1 = true;
-        else
-          t1 = true;
         if (t1)
           return baseType;
         else if (baseKind === 1 || baseType === type$.legacy_Never)
@@ -3534,30 +3540,24 @@
       }
     },
     _Parser_handleArguments(parser, stack) {
-      var optionalPositional, named, requiredPositional, returnType, parameters, _null = null,
+      var requiredPositional, returnType, parameters,
         t1 = parser.u,
-        head = stack.pop();
+        head = stack.pop(),
+        optionalPositional = null, named = null;
       if (typeof head == "number")
         switch (head) {
           case -1:
             optionalPositional = stack.pop();
-            named = _null;
             break;
           case -2:
             named = stack.pop();
-            optionalPositional = _null;
             break;
           default:
             stack.push(head);
-            named = _null;
-            optionalPositional = named;
             break;
         }
-      else {
+      else
         stack.push(head);
-        named = _null;
-        optionalPositional = named;
-      }
       requiredPositional = A._Parser_collectArray(parser, stack);
       head = stack.pop();
       switch (head) {
@@ -3877,21 +3877,13 @@
       return true;
     },
     isNullable(t) {
-      var t1,
-        kind = t._kind;
+      var kind = t._kind,
+        t1 = true;
       if (!(t === type$.Null || t === type$.JSNull))
         if (!A.isSoundTopType(t))
           if (kind !== 7)
             if (!(kind === 6 && A.isNullable(t._primary)))
               t1 = kind === 8 && A.isNullable(t._primary);
-            else
-              t1 = true;
-          else
-            t1 = true;
-        else
-          t1 = true;
-      else
-        t1 = true;
       return t1;
     },
     isDefinitelyTopType(t) {
@@ -4040,15 +4032,13 @@
     },
     Future_Future$microtask(computation, $T) {
       var result = new A._Future($.Zone__current, $T._eval$1("_Future<0>"));
-      A.scheduleMicrotask(new A.Future_Future$microtask_closure(result, computation));
+      A.scheduleMicrotask(new A.Future_Future$microtask_closure(computation, result));
       return result;
     },
     Future_Future$sync(computation, $T) {
-      var result, error, stackTrace, future, replacement, t1, exception;
+      var error, stackTrace, future, replacement, exception, t1, result = null;
       try {
         result = computation.call$0();
-        t1 = $T._eval$1("Future<0>")._is(result) ? result : A._Future$value(result, $T);
-        return t1;
       } catch (exception) {
         error = A.unwrapException(exception);
         stackTrace = A.getTraceFromException(exception);
@@ -4061,6 +4051,7 @@
           future._asyncCompleteError$2(error, stackTrace);
         return future;
       }
+      return $T._eval$1("Future<0>")._is(result) ? result : A._Future$value(result, $T);
     },
     Future_Future$value(value, $T) {
       var t1 = value == null ? $T._as(value) : value,
@@ -4091,6 +4082,10 @@
       var t1, t2, listeners;
       for (t1 = type$._Future_dynamic; t2 = source._state, (t2 & 4) !== 0;)
         source = t1._as(source._resultOrListeners);
+      if (source === target) {
+        target._asyncCompleteError$2(new A.ArgumentError(true, source, null, "Cannot complete a future with itself"), A.StackTrace_current());
+        return;
+      }
       t1 = t2 | target._state & 1;
       source._state = t1;
       if ((t1 & 24) !== 0) {
@@ -4110,6 +4105,10 @@
         source = t2._as(t1._resultOrListeners);
         _box_0.source = source;
       }
+      if (t1 === target) {
+        target._asyncCompleteError$2(new A.ArgumentError(true, t1, null, "Cannot complete a future with itself"), A.StackTrace_current());
+        return;
+      }
       if ((t3 & 24) === 0) {
         listeners = type$.nullable__FutureListener_dynamic_dynamic._as(target._resultOrListeners);
         target._setChained$1(t1);
@@ -4549,8 +4548,10 @@
       this.stackTrace = t1;
     },
     Future_Future$microtask_closure: function Future_Future$microtask_closure(t0, t1) {
-      this.result = t0;
-      this.computation = t1;
+      this.computation = t0;
+      this.result = t1;
+    },
+    TimeoutException: function TimeoutException() {
     },
     _Completer: function _Completer() {
     },
@@ -4932,9 +4933,6 @@
     LinkedHashMap_LinkedHashMap($K, $V) {
       return new A.JsLinkedHashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("JsLinkedHashMap<1,2>"));
     },
-    LinkedHashMap_LinkedHashMap$_literal(keyValuePairs, $K, $V) {
-      return $K._eval$1("@<0>")._bind$1($V)._eval$1("LinkedHashMap<1,2>")._as(A.fillLiteralMap(keyValuePairs, new A.JsLinkedHashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("JsLinkedHashMap<1,2>"))));
-    },
     LinkedHashMap_LinkedHashMap$_empty($K, $V) {
       return new A.JsLinkedHashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("JsLinkedHashMap<1,2>"));
     },
@@ -5197,10 +5195,10 @@
         throw A.wrapException(A.FormatException$("Invalid base64 padding, more than two '=' characters", source, sourceIndex));
     },
     _Base64Encoder_encodeChunk(alphabet, bytes, start, end, isLast, output, outputIndex, state) {
-      var t1, t2, t3, i, byteOr, byte, outputIndex0, t4, outputIndex1,
+      var t1, t2, t3, i, byteOr, byte, outputIndex0, t4, t5, outputIndex1,
         bits = state >>> 2,
         expectedChars = 3 - (state & 3);
-      for (t1 = J.getInterceptor$asx(bytes), t2 = alphabet.length, t3 = output.length, i = start, byteOr = 0; i < end; ++i) {
+      for (t1 = J.getInterceptor$asx(bytes), t2 = alphabet.length, t3 = output.$flags | 0, i = start, byteOr = 0; i < end; ++i) {
         byte = t1.$index(bytes, i);
         byteOr = (byteOr | byte) >>> 0;
         bits = (bits << 8 | byte) & 16777215;
@@ -5210,28 +5208,30 @@
           t4 = bits >>> 18 & 63;
           if (!(t4 < t2))
             return A.ioore(alphabet, t4);
-          if (!(outputIndex < t3))
+          t3 & 2 && A.throwUnsupportedOperation(output);
+          t5 = output.length;
+          if (!(outputIndex < t5))
             return A.ioore(output, outputIndex);
           output[outputIndex] = alphabet.charCodeAt(t4);
           outputIndex = outputIndex0 + 1;
           t4 = bits >>> 12 & 63;
           if (!(t4 < t2))
             return A.ioore(alphabet, t4);
-          if (!(outputIndex0 < t3))
+          if (!(outputIndex0 < t5))
             return A.ioore(output, outputIndex0);
           output[outputIndex0] = alphabet.charCodeAt(t4);
           outputIndex0 = outputIndex + 1;
           t4 = bits >>> 6 & 63;
           if (!(t4 < t2))
             return A.ioore(alphabet, t4);
-          if (!(outputIndex < t3))
+          if (!(outputIndex < t5))
             return A.ioore(output, outputIndex);
           output[outputIndex] = alphabet.charCodeAt(t4);
           outputIndex = outputIndex0 + 1;
           t4 = bits & 63;
           if (!(t4 < t2))
             return A.ioore(alphabet, t4);
-          if (!(outputIndex0 < t3))
+          if (!(outputIndex0 < t5))
             return A.ioore(output, outputIndex0);
           output[outputIndex0] = alphabet.charCodeAt(t4);
           bits = 0;
@@ -5246,6 +5246,8 @@
             t1 = bits >>> 2 & 63;
             if (!(t1 < t2))
               return A.ioore(alphabet, t1);
+            t3 & 2 && A.throwUnsupportedOperation(output);
+            t3 = output.length;
             if (!(outputIndex < t3))
               return A.ioore(output, outputIndex);
             output[outputIndex] = alphabet.charCodeAt(t1);
@@ -5266,6 +5268,8 @@
             t1 = bits >>> 10 & 63;
             if (!(t1 < t2))
               return A.ioore(alphabet, t1);
+            t3 & 2 && A.throwUnsupportedOperation(output);
+            t3 = output.length;
             if (!(outputIndex < t3))
               return A.ioore(output, outputIndex);
             output[outputIndex] = alphabet.charCodeAt(t1);
@@ -5305,7 +5309,7 @@
         bits = B.JSInt_methods._shrOtherPositive$1(state, 2),
         count = state & 3,
         inverseAlphabet = $.$get$_Base64Decoder__inverseAlphabet();
-      for (t1 = input.length, t2 = inverseAlphabet.length, t3 = output.length, i = start, charOr = 0; i < end; ++i) {
+      for (t1 = input.length, t2 = inverseAlphabet.length, t3 = output.$flags | 0, i = start, charOr = 0; i < end; ++i) {
         if (!(i < t1))
           return A.ioore(input, i);
         char = input.charCodeAt(i);
@@ -5319,15 +5323,17 @@
           count = count + 1 & 3;
           if (count === 0) {
             outIndex0 = outIndex + 1;
-            if (!(outIndex < t3))
+            t3 & 2 && A.throwUnsupportedOperation(output);
+            t4 = output.length;
+            if (!(outIndex < t4))
               return A.ioore(output, outIndex);
             output[outIndex] = bits >>> 16 & 255;
             outIndex = outIndex0 + 1;
-            if (!(outIndex0 < t3))
+            if (!(outIndex0 < t4))
               return A.ioore(output, outIndex0);
             output[outIndex0] = bits >>> 8 & 255;
             outIndex0 = outIndex + 1;
-            if (!(outIndex < t3))
+            if (!(outIndex < t4))
               return A.ioore(output, outIndex);
             output[outIndex] = bits & 255;
             outIndex = outIndex0;
@@ -5341,16 +5347,19 @@
             if ((bits & 3) !== 0)
               throw A.wrapException(A.FormatException$(_s31_, input, i));
             outIndex0 = outIndex + 1;
-            if (!(outIndex < t3))
+            t3 & 2 && A.throwUnsupportedOperation(output);
+            t1 = output.length;
+            if (!(outIndex < t1))
               return A.ioore(output, outIndex);
             output[outIndex] = bits >>> 10;
-            if (!(outIndex0 < t3))
+            if (!(outIndex0 < t1))
               return A.ioore(output, outIndex0);
             output[outIndex0] = bits >>> 2;
           } else {
             if ((bits & 15) !== 0)
               throw A.wrapException(A.FormatException$(_s31_, input, i));
-            if (!(outIndex < t3))
+            t3 & 2 && A.throwUnsupportedOperation(output);
+            if (!(outIndex < output.length))
               return A.ioore(output, outIndex);
             output[outIndex] = bits >>> 4;
           }
@@ -5728,17 +5737,19 @@
         return 0;
       if (n === 0 && resultDigits === xDigits)
         return xUsed;
-      for (i = xUsed - 1, t1 = xDigits.length, t2 = resultDigits.length; i >= 0; --i) {
+      for (i = xUsed - 1, t1 = xDigits.length, t2 = resultDigits.$flags | 0; i >= 0; --i) {
         t3 = i + n;
         if (!(i < t1))
           return A.ioore(xDigits, i);
         t4 = xDigits[i];
-        if (!(t3 >= 0 && t3 < t2))
+        t2 & 2 && A.throwUnsupportedOperation(resultDigits);
+        if (!(t3 >= 0 && t3 < resultDigits.length))
           return A.ioore(resultDigits, t3);
         resultDigits[t3] = t4;
       }
       for (i = n - 1; i >= 0; --i) {
-        if (!(i < t2))
+        t2 & 2 && A.throwUnsupportedOperation(resultDigits);
+        if (!(i < resultDigits.length))
           return A.ioore(resultDigits, i);
         resultDigits[i] = 0;
       }
@@ -5750,38 +5761,41 @@
         bitShift = B.JSInt_methods.$mod(n, 16),
         carryBitShift = 16 - bitShift,
         bitMask = B.JSInt_methods.$shl(1, carryBitShift) - 1;
-      for (i = xUsed - 1, t1 = xDigits.length, t2 = resultDigits.length, carry = 0; i >= 0; --i) {
+      for (i = xUsed - 1, t1 = xDigits.length, t2 = resultDigits.$flags | 0, carry = 0; i >= 0; --i) {
         if (!(i < t1))
           return A.ioore(xDigits, i);
         digit = xDigits[i];
         t3 = i + digitShift + 1;
         t4 = B.JSInt_methods.$shr(digit, carryBitShift);
-        if (!(t3 >= 0 && t3 < t2))
+        t2 & 2 && A.throwUnsupportedOperation(resultDigits);
+        if (!(t3 >= 0 && t3 < resultDigits.length))
           return A.ioore(resultDigits, t3);
         resultDigits[t3] = (t4 | carry) >>> 0;
         carry = B.JSInt_methods.$shl((digit & bitMask) >>> 0, bitShift);
       }
-      if (!(digitShift >= 0 && digitShift < t2))
+      t2 & 2 && A.throwUnsupportedOperation(resultDigits);
+      if (!(digitShift >= 0 && digitShift < resultDigits.length))
         return A.ioore(resultDigits, digitShift);
       resultDigits[digitShift] = carry;
     },
     _BigIntImpl__lShiftDigits(xDigits, xUsed, n, resultDigits) {
-      var resultUsed, t1, i, t2,
+      var resultUsed, t1, i,
         digitsShift = B.JSInt_methods._tdivFast$1(n, 16);
       if (B.JSInt_methods.$mod(n, 16) === 0)
         return A._BigIntImpl__dlShiftDigits(xDigits, xUsed, digitsShift, resultDigits);
       resultUsed = xUsed + digitsShift + 1;
       A._BigIntImpl__lsh(xDigits, xUsed, n, resultDigits);
-      for (t1 = resultDigits.length, i = digitsShift; --i, i >= 0;) {
-        if (!(i < t1))
+      for (t1 = resultDigits.$flags | 0, i = digitsShift; --i, i >= 0;) {
+        t1 & 2 && A.throwUnsupportedOperation(resultDigits);
+        if (!(i < resultDigits.length))
           return A.ioore(resultDigits, i);
         resultDigits[i] = 0;
       }
-      t2 = resultUsed - 1;
-      if (!(t2 >= 0 && t2 < t1))
-        return A.ioore(resultDigits, t2);
-      if (resultDigits[t2] === 0)
-        resultUsed = t2;
+      t1 = resultUsed - 1;
+      if (!(t1 >= 0 && t1 < resultDigits.length))
+        return A.ioore(resultDigits, t1);
+      if (resultDigits[t1] === 0)
+        resultUsed = t1;
       return resultUsed;
     },
     _BigIntImpl__rsh(xDigits, xUsed, n, resultDigits) {
@@ -5795,18 +5809,20 @@
         return A.ioore(xDigits, digitsShift);
       carry = B.JSInt_methods.$shr(xDigits[digitsShift], bitShift);
       last = xUsed - digitsShift - 1;
-      for (t2 = resultDigits.length, i = 0; i < last; ++i) {
+      for (t2 = resultDigits.$flags | 0, i = 0; i < last; ++i) {
         t3 = i + digitsShift + 1;
         if (!(t3 < t1))
           return A.ioore(xDigits, t3);
         digit = xDigits[t3];
         t3 = B.JSInt_methods.$shl((digit & bitMask) >>> 0, carryBitShift);
-        if (!(i < t2))
+        t2 & 2 && A.throwUnsupportedOperation(resultDigits);
+        if (!(i < resultDigits.length))
           return A.ioore(resultDigits, i);
         resultDigits[i] = (t3 | carry) >>> 0;
         carry = B.JSInt_methods.$shr(digit, bitShift);
       }
-      if (!(last >= 0 && last < t2))
+      t2 & 2 && A.throwUnsupportedOperation(resultDigits);
+      if (!(last >= 0 && last < resultDigits.length))
         return A.ioore(resultDigits, last);
       resultDigits[last] = carry;
     },
@@ -5828,14 +5844,15 @@
     },
     _BigIntImpl__absAdd(digits, used, otherDigits, otherUsed, resultDigits) {
       var t1, t2, t3, carry, i, t4;
-      for (t1 = digits.length, t2 = otherDigits.length, t3 = resultDigits.length, carry = 0, i = 0; i < otherUsed; ++i) {
+      for (t1 = digits.length, t2 = otherDigits.length, t3 = resultDigits.$flags | 0, carry = 0, i = 0; i < otherUsed; ++i) {
         if (!(i < t1))
           return A.ioore(digits, i);
         t4 = digits[i];
         if (!(i < t2))
           return A.ioore(otherDigits, i);
         carry += t4 + otherDigits[i];
-        if (!(i < t3))
+        t3 & 2 && A.throwUnsupportedOperation(resultDigits);
+        if (!(i < resultDigits.length))
           return A.ioore(resultDigits, i);
         resultDigits[i] = carry & 65535;
         carry = B.JSInt_methods._shrOtherPositive$1(carry, 16);
@@ -5844,25 +5861,28 @@
         if (!(i >= 0 && i < t1))
           return A.ioore(digits, i);
         carry += digits[i];
-        if (!(i < t3))
+        t3 & 2 && A.throwUnsupportedOperation(resultDigits);
+        if (!(i < resultDigits.length))
           return A.ioore(resultDigits, i);
         resultDigits[i] = carry & 65535;
         carry = B.JSInt_methods._shrOtherPositive$1(carry, 16);
       }
-      if (!(used >= 0 && used < t3))
+      t3 & 2 && A.throwUnsupportedOperation(resultDigits);
+      if (!(used >= 0 && used < resultDigits.length))
         return A.ioore(resultDigits, used);
       resultDigits[used] = carry;
     },
     _BigIntImpl__absSub(digits, used, otherDigits, otherUsed, resultDigits) {
       var t1, t2, t3, carry, i, t4;
-      for (t1 = digits.length, t2 = otherDigits.length, t3 = resultDigits.length, carry = 0, i = 0; i < otherUsed; ++i) {
+      for (t1 = digits.length, t2 = otherDigits.length, t3 = resultDigits.$flags | 0, carry = 0, i = 0; i < otherUsed; ++i) {
         if (!(i < t1))
           return A.ioore(digits, i);
         t4 = digits[i];
         if (!(i < t2))
           return A.ioore(otherDigits, i);
         carry += t4 - otherDigits[i];
-        if (!(i < t3))
+        t3 & 2 && A.throwUnsupportedOperation(resultDigits);
+        if (!(i < resultDigits.length))
           return A.ioore(resultDigits, i);
         resultDigits[i] = carry & 65535;
         carry = 0 - (B.JSInt_methods._shrOtherPositive$1(carry, 16) & 1);
@@ -5871,25 +5891,27 @@
         if (!(i >= 0 && i < t1))
           return A.ioore(digits, i);
         carry += digits[i];
-        if (!(i < t3))
+        t3 & 2 && A.throwUnsupportedOperation(resultDigits);
+        if (!(i < resultDigits.length))
           return A.ioore(resultDigits, i);
         resultDigits[i] = carry & 65535;
         carry = 0 - (B.JSInt_methods._shrOtherPositive$1(carry, 16) & 1);
       }
     },
     _BigIntImpl__mulAdd(x, multiplicandDigits, i, accumulatorDigits, j, n) {
-      var t1, t2, c, i0, t3, combined, j0, l;
+      var t1, t2, t3, c, i0, t4, combined, j0, l;
       if (x === 0)
         return;
-      for (t1 = multiplicandDigits.length, t2 = accumulatorDigits.length, c = 0; --n, n >= 0; j = j0, i = i0) {
+      for (t1 = multiplicandDigits.length, t2 = accumulatorDigits.length, t3 = accumulatorDigits.$flags | 0, c = 0; --n, n >= 0; j = j0, i = i0) {
         i0 = i + 1;
         if (!(i < t1))
           return A.ioore(multiplicandDigits, i);
-        t3 = multiplicandDigits[i];
+        t4 = multiplicandDigits[i];
         if (!(j >= 0 && j < t2))
           return A.ioore(accumulatorDigits, j);
-        combined = x * t3 + accumulatorDigits[j] + c;
+        combined = x * t4 + accumulatorDigits[j] + c;
         j0 = j + 1;
+        t3 & 2 && A.throwUnsupportedOperation(accumulatorDigits);
         accumulatorDigits[j] = combined & 65535;
         c = B.JSInt_methods._tdivFast$1(combined, 65536);
       }
@@ -5898,6 +5920,7 @@
           return A.ioore(accumulatorDigits, j);
         l = accumulatorDigits[j] + c;
         j0 = j + 1;
+        t3 & 2 && A.throwUnsupportedOperation(accumulatorDigits);
         accumulatorDigits[j] = l & 65535;
         c = B.JSInt_methods._tdivFast$1(l, 65536);
       }
@@ -5918,24 +5941,11 @@
         return 65535;
       return quotientDigit;
     },
-    _symbolMapToStringMap(map) {
-      var result = new A.JsLinkedHashMap(type$.JsLinkedHashMap_String_dynamic);
-      map.forEach$1(0, new A._symbolMapToStringMap_closure(result));
-      return result;
-    },
     identityHashCode(object) {
       return A.objectHashCode(object);
     },
-    Function_apply($function, positionalArguments, namedArguments) {
-      return A.Primitives_applyFunction($function, positionalArguments, namedArguments == null ? null : A._symbolMapToStringMap(namedArguments));
-    },
-    Expando__checkType(object) {
-      var t1 = typeof object == "number";
-      if (t1)
-        A.Expando__badExpandoKey(object);
-    },
-    Expando__badExpandoKey(object) {
-      throw A.wrapException(A.ArgumentError$value(object, "object", "Expandos are not allowed on strings, numbers, bools, records or null"));
+    Function_apply($function, positionalArguments) {
+      return A.Primitives_applyFunction($function, positionalArguments, null);
     },
     int_parse(source, radix) {
       var value = A.Primitives_parseInt(source, radix);
@@ -5951,12 +5961,6 @@
       throw error;
       throw A.wrapException("unreachable");
     },
-    DateTime$fromMillisecondsSinceEpoch(millisecondsSinceEpoch, isUtc) {
-      if (Math.abs(millisecondsSinceEpoch) > 864e13)
-        A.throwExpression(A.ArgumentError$("DateTime is outside valid range: " + millisecondsSinceEpoch, null));
-      A.checkNotNullable(isUtc, "isUtc", type$.bool);
-      return new A.DateTime(millisecondsSinceEpoch, isUtc);
-    },
     List_List$filled($length, fill, growable, $E) {
       var i,
         result = growable ? J.JSArray_JSArray$growable($length, $E) : J.JSArray_JSArray$fixed($length, $E);
@@ -5972,13 +5976,15 @@
         B.JSArray_methods.add$1(list, $E._as(t1.get$current(t1)));
       if (growable)
         return list;
-      return J.JSArray_markFixedList(list, $E);
+      list.$flags = 1;
+      return list;
     },
     List_List$of(elements, growable, $E) {
       var t1;
       if (growable)
         return A.List_List$_of(elements, $E);
-      t1 = J.JSArray_markFixedList(A.List_List$_of(elements, $E), $E);
+      t1 = A.List_List$_of(elements, $E);
+      t1.$flags = 1;
       return t1;
     },
     List_List$_of(elements, $E) {
@@ -5991,7 +5997,9 @@
       return list;
     },
     List_List$unmodifiable(elements, $E) {
-      return J.JSArray_markUnmodifiableList(A.List_List$from(elements, false, $E));
+      var result = A.List_List$from(elements, false, $E);
+      result.$flags = 3;
+      return result;
     },
     String_String$fromCharCodes(charCodes, start, end) {
       var t1, t2, maxLength, array, len;
@@ -6080,6 +6088,17 @@
     StackTrace_current() {
       return A.getTraceFromException(new Error());
     },
+    DateTime__validate(millisecondsSinceEpoch, microsecond, isUtc) {
+      var _s11_ = "microsecond";
+      if (microsecond < 0 || microsecond > 999)
+        throw A.wrapException(A.RangeError$range(microsecond, 0, 999, _s11_, null));
+      if (millisecondsSinceEpoch < -864e13 || millisecondsSinceEpoch > 864e13)
+        throw A.wrapException(A.RangeError$range(millisecondsSinceEpoch, -864e13, 864e13, "millisecondsSinceEpoch", null));
+      if (millisecondsSinceEpoch === 864e13 && microsecond !== 0)
+        throw A.wrapException(A.ArgumentError$value(microsecond, _s11_, string$.Time_i));
+      A.checkNotNullable(isUtc, "isUtc", type$.bool);
+      return millisecondsSinceEpoch;
+    },
     DateTime__fourDigits(n) {
       var absN = Math.abs(n),
         sign = n < 0 ? "-" : "";
@@ -6328,7 +6347,7 @@
         toZone.call$1(object);
     },
     Uri_parse(uri) {
-      var delta, indices, schemeEnd, hostStart, portStart, pathStart, queryStart, fragmentStart, isSimple, scheme, t1, t2, schemeAuth, queryStart0, pathStart0, userInfoStart, userInfo, host, portNumber, port, path, query, _null = null,
+      var delta, indices, schemeEnd, hostStart, portStart, pathStart, queryStart, fragmentStart, isSimple, scheme, t1, t2, schemeAuth, queryStart0, pathStart0, port, userInfoStart, userInfo, host, portNumber, path, query, _null = null,
         end = uri.length;
       if (end >= 5) {
         if (4 >= end)
@@ -6368,16 +6387,12 @@
       if (portStart < hostStart)
         portStart = pathStart;
       isSimple = indices[7] < 0;
-      if (isSimple)
-        if (hostStart > schemeEnd + 3) {
-          scheme = _null;
-          isSimple = false;
-        } else {
+      scheme = _null;
+      if (isSimple) {
+        isSimple = false;
+        if (!(hostStart > schemeEnd + 3)) {
           t1 = portStart > 0;
-          if (t1 && portStart + 1 === pathStart) {
-            scheme = _null;
-            isSimple = false;
-          } else {
+          if (!(t1 && portStart + 1 === pathStart)) {
             if (!B.JSString_methods.startsWith$2(uri, "\\", pathStart))
               if (hostStart > 0)
                 t2 = B.JSString_methods.startsWith$2(uri, "\\", hostStart - 1) || B.JSString_methods.startsWith$2(uri, "\\", hostStart - 2);
@@ -6385,85 +6400,66 @@
                 t2 = false;
             else
               t2 = true;
-            if (t2) {
-              scheme = _null;
-              isSimple = false;
-            } else {
+            if (!t2) {
               if (!(queryStart < end && queryStart === pathStart + 2 && B.JSString_methods.startsWith$2(uri, "..", pathStart)))
                 t2 = queryStart > pathStart + 2 && B.JSString_methods.startsWith$2(uri, "/..", queryStart - 3);
               else
                 t2 = true;
-              if (t2)
-                scheme = _null;
-              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;
+              if (!t2)
+                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);
+                      queryStart += delta;
+                      fragmentStart += delta;
+                      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;
                     }
-                    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 = "http";
                   }
-                  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;
+                } 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 = "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 = B.JSString_methods.replaceRange$3(uri, portStart, pathStart, "");
-                  end -= 3;
-                  pathStart = pathStart0;
+                  scheme = "https";
                 }
-                scheme = "https";
-              } else
-                scheme = _null;
               isSimple = !t2;
             }
           }
         }
-      else
-        scheme = _null;
-      if (isSimple) {
-        if (end < uri.length) {
-          uri = B.JSString_methods.substring$2(uri, 0, end);
-          schemeEnd -= 0;
-          hostStart -= 0;
-          portStart -= 0;
-          pathStart -= 0;
-          queryStart -= 0;
-          fragmentStart -= 0;
-        }
-        return new A._SimpleUri(uri, schemeEnd, hostStart, portStart, pathStart, queryStart, fragmentStart, scheme);
       }
+      if (isSimple)
+        return new A._SimpleUri(end < uri.length ? B.JSString_methods.substring$2(uri, 0, end) : uri, schemeEnd, hostStart, portStart, pathStart, queryStart, fragmentStart, scheme);
       if (scheme == null)
         if (schemeEnd > 0)
           scheme = A._Uri__makeScheme(uri, 0, schemeEnd);
@@ -6472,6 +6468,7 @@
             A._Uri__fail(uri, 0, "Invalid empty scheme");
           scheme = "";
         }
+      port = _null;
       if (hostStart > 0) {
         userInfoStart = schemeEnd + 3;
         userInfo = userInfoStart < hostStart ? A._Uri__makeUserInfo(uri, userInfoStart, hostStart - 1) : "";
@@ -6480,11 +6477,9 @@
         if (t1 < pathStart) {
           portNumber = A.Primitives_parseInt(B.JSString_methods.substring$2(uri, t1, pathStart), _null);
           port = A._Uri__makePort(portNumber == null ? A.throwExpression(A.FormatException$("Invalid port", uri, t1)) : portNumber, scheme);
-        } else
-          port = _null;
+        }
       } else {
-        port = _null;
-        host = port;
+        host = _null;
         userInfo = "";
       }
       path = A._Uri__makePath(uri, pathStart, queryStart, _null, scheme, host != null);
@@ -6672,7 +6667,7 @@
       return index >= start && index < end ? index : end;
     },
     _Uri__normalizeZoneID(host, start, end, prefix) {
-      var t1, index, sectionStart, isNormalized, char, replacement, t2, t3, tail, sourceLength, slice,
+      var t1, index, sectionStart, isNormalized, char, replacement, t2, t3, sourceLength, tail, slice,
         buffer = prefix !== "" ? new A.StringBuffer(prefix) : null;
       for (t1 = host.length, index = start, sectionStart = index, isNormalized = true; index < end;) {
         if (!(index >= 0 && index < t1))
@@ -6716,6 +6711,7 @@
             }
             ++index;
           } else {
+            sourceLength = 1;
             if ((char & 64512) === 55296 && index + 1 < end) {
               t2 = index + 1;
               if (!(t2 < t1))
@@ -6724,10 +6720,8 @@
               if ((tail & 64512) === 56320) {
                 char = (char & 1023) << 10 | tail & 1023 | 65536;
                 sourceLength = 2;
-              } else
-                sourceLength = 1;
-            } else
-              sourceLength = 1;
+              }
+            }
             slice = B.JSString_methods.substring$2(host, sectionStart, index);
             if (buffer == null) {
               buffer = new A.StringBuffer("");
@@ -6770,14 +6764,13 @@
           if (!isNormalized)
             slice = slice.toLowerCase();
           t3 = buffer._contents += slice;
-          if (t2) {
+          sourceLength = 3;
+          if (t2)
             replacement = B.JSString_methods.substring$2(host, index, index + 3);
-            sourceLength = 3;
-          } else if (replacement === "%") {
+          else if (replacement === "%") {
             replacement = "%25";
             sourceLength = 1;
-          } else
-            sourceLength = 3;
+          }
           buffer._contents = t3 + replacement;
           index += sourceLength;
           sectionStart = index;
@@ -6812,6 +6805,7 @@
             if (t2)
               A._Uri__fail(host, index, "Invalid character");
             else {
+              sourceLength = 1;
               if ((char & 64512) === 55296 && index + 1 < end) {
                 t2 = index + 1;
                 if (!(t2 < t1))
@@ -6820,10 +6814,8 @@
                 if ((tail & 64512) === 56320) {
                   char = (char & 1023) << 10 | tail & 1023 | 65536;
                   sourceLength = 2;
-                } else
-                  sourceLength = 1;
-              } else
-                sourceLength = 1;
+                }
+              }
               slice = B.JSString_methods.substring$2(host, sectionStart, index);
               if (!isNormalized)
                 slice = slice.toLowerCase();
@@ -7015,7 +7007,7 @@
       return t1 == null ? B.JSString_methods.substring$2(component, start, end) : t1;
     },
     _Uri__normalize(component, start, end, charTable, escapeDelimiters, replaceBackslash) {
-      var t1, t2, index, sectionStart, buffer, char, t3, replacement, sourceLength, tail, t4, _null = null;
+      var t1, t2, index, sectionStart, buffer, char, t3, sourceLength, replacement, tail, t4, _null = null;
       for (t1 = !escapeDelimiters, t2 = component.length, index = start, sectionStart = index, buffer = _null; index < end;) {
         if (!(index >= 0 && index < t2))
           return A.ioore(component, index);
@@ -7030,31 +7022,28 @@
         if (t3)
           ++index;
         else {
+          sourceLength = 1;
           if (char === 37) {
             replacement = A._Uri__normalizeEscape(component, index, false);
             if (replacement == null) {
               index += 3;
               continue;
             }
-            if ("%" === replacement) {
+            if ("%" === replacement)
               replacement = "%25";
-              sourceLength = 1;
-            } else
+            else
               sourceLength = 3;
-          } else if (char === 92 && replaceBackslash) {
+          } else if (char === 92 && replaceBackslash)
             replacement = "/";
-            sourceLength = 1;
-          } else {
+          else {
+            t3 = false;
             if (t1)
               if (char <= 93) {
                 t3 = char >>> 4;
                 if (!(t3 < 8))
                   return A.ioore(B.List_VOY, t3);
                 t3 = (B.List_VOY[t3] & 1 << (char & 15)) !== 0;
-              } else
-                t3 = false;
-            else
-              t3 = false;
+              }
             if (t3) {
               A._Uri__fail(component, index, "Invalid character");
               sourceLength = _null;
@@ -7069,12 +7058,9 @@
                   if ((tail & 64512) === 56320) {
                     char = (char & 1023) << 10 | tail & 1023 | 65536;
                     sourceLength = 2;
-                  } else
-                    sourceLength = 1;
-                } else
-                  sourceLength = 1;
-              } else
-                sourceLength = 1;
+                  }
+                }
+              }
               replacement = A._Uri__escapeChar(char);
             }
           }
@@ -7439,16 +7425,14 @@
     },
     _BigIntImpl_hashCode_finish: function _BigIntImpl_hashCode_finish() {
     },
-    _symbolMapToStringMap_closure: function _symbolMapToStringMap_closure(t0) {
-      this.result = t0;
-    },
     NoSuchMethodError_toString_closure: function NoSuchMethodError_toString_closure(t0, t1) {
       this._box_0 = t0;
       this.sb = t1;
     },
-    DateTime: function DateTime(t0, t1) {
+    DateTime: function DateTime(t0, t1, t2) {
       this._value = t0;
-      this.isUtc = t1;
+      this._microsecond = t1;
+      this.isUtc = t2;
     },
     Duration: function Duration(t0) {
       this._duration = t0;
@@ -7587,10 +7571,6 @@
       _._fragment = t6;
       _.___Uri_hashCode_FI = _.___Uri_pathSegments_FI = _.___Uri__text_FI = $;
     },
-    Expando: function Expando(t0, t1) {
-      this._jsWeakMap = t0;
-      this.$ti = t1;
-    },
     CustomEvent_CustomEvent(type, detail) {
       var e, t1, exception,
         canBubble = true,
@@ -7674,7 +7654,7 @@
       return true;
     },
     _Html5NodeValidator__uriAttributeValidator(element, attributeName, value, context) {
-      var t1, t2, t3, t4, t5;
+      var t1, t2, t3, t4, t5, t6;
       type$.Element._as(element);
       A._asString(attributeName);
       A._asString(value);
@@ -7683,29 +7663,28 @@
       B.AnchorElement_methods.set$href(t2, value);
       t3 = t2.hostname;
       t1 = t1._loc;
+      t4 = false;
       if (t3 == t1.hostname) {
-        t4 = t2.port;
-        t5 = t1.port;
-        t5.toString;
-        if (t4 === t5) {
+        t5 = t2.port;
+        t6 = t1.port;
+        t6.toString;
+        if (t5 === t6) {
           t4 = t2.protocol;
           t1 = t1.protocol;
           t1.toString;
           t1 = t4 === t1;
         } else
-          t1 = false;
+          t1 = t4;
       } else
+        t1 = t4;
+      if (!t1) {
         t1 = false;
-      if (!t1)
         if (t3 === "")
           if (t2.port === "") {
             t1 = t2.protocol;
             t1 = t1 === ":" || t1 === "";
-          } else
-            t1 = false;
-        else
-          t1 = false;
-      else
+          }
+      } else
         t1 = true;
       return t1;
     },
@@ -8190,7 +8169,7 @@
       }
       t1 = type$.dynamic;
       dartArgs = A.List_List$from(J.map$1$1$ax($arguments, A.js___convertToDart$closure(), t1), true, t1);
-      return A._convertToJS(A.Function_apply(type$.Function._as(callback), dartArgs, null));
+      return A._convertToJS(A.Function_apply(type$.Function._as(callback), dartArgs));
     },
     JsObject_JsObject$fromBrowserObject(object) {
       return A._wrapToDart(A._convertToJS(object));
@@ -8242,7 +8221,7 @@
       else if (o instanceof Object && type$.TypedData._is(o))
         return o;
       else if (o instanceof Date)
-        return A.DateTime$fromMillisecondsSinceEpoch(A._asInt(o.getTime()), false);
+        return new A.DateTime(A.DateTime__validate(A._asInt(o.getTime()), 0, false), 0, false);
       else if (o.constructor === $.$get$_dartProxyCtor())
         return o.o;
       else
@@ -8302,7 +8281,7 @@
     },
     _callDartFunctionFast(callback, $arguments) {
       type$.List_dynamic._as($arguments);
-      return A.Function_apply(type$.Function._as(callback), $arguments, null);
+      return A.Function_apply(type$.Function._as(callback), $arguments);
     },
     allowInterop(f, $F) {
       if (typeof f == "function")
@@ -8310,6 +8289,24 @@
       else
         return $F._as(A._convertDartFunctionFast(f));
     },
+    _functionToJS1(f) {
+      var result;
+      if (typeof f == "function")
+        throw A.wrapException(A.ArgumentError$("Attempting to rewrap a JS function.", null));
+      result = function(_call, f) {
+        return function(arg1) {
+          return _call(f, arg1, arguments.length);
+        };
+      }(A._callDartFunctionFast1, f);
+      result[$.$get$DART_CLOSURE_PROPERTY_NAME()] = f;
+      return result;
+    },
+    _callDartFunctionFast1(callback, arg1, $length) {
+      type$.Function._as(callback);
+      if (A._asInt($length) >= 1)
+        return callback.call$1(arg1);
+      return callback.call$0();
+    },
     _noJsifyRequired(o) {
       return o == null || A._isBool(o) || typeof o == "number" || typeof o == "string" || type$.Int8List._is(o) || type$.Uint8List._is(o) || type$.Uint8ClampedList._is(o) || type$.Int16List._is(o) || type$.Uint16List._is(o) || type$.Int32List._is(o) || type$.Uint32List._is(o) || type$.Float32List._is(o) || type$.Float64List._is(o) || type$.ByteBuffer._is(o) || type$.ByteData._is(o);
     },
@@ -8349,20 +8346,10 @@
       this.isUndefined = t0;
     },
     Random_Random(seed) {
-      var t1;
-      if (seed == null)
-        t1 = B.C__JSRandom;
-      else {
-        t1 = new A._Random();
-        t1._Random$1(seed);
-      }
-      return t1;
+      return B.C__JSRandom;
     },
     _JSRandom: function _JSRandom() {
     },
-    _Random: function _Random() {
-      this._hi = this._lo = 0;
-    },
     Length: function Length() {
     },
     LengthList: function LengthList() {
@@ -9027,17 +9014,18 @@
     },
     _$DevToolsResponseSerializer: function _$DevToolsResponseSerializer() {
     },
-    _$DevToolsRequest: function _$DevToolsRequest(t0, t1, t2, t3, t4) {
+    _$DevToolsRequest: function _$DevToolsRequest(t0, t1, t2, t3, t4, t5) {
       var _ = this;
       _.appId = t0;
       _.instanceId = t1;
       _.contextId = t2;
       _.tabUrl = t3;
       _.uriOnly = t4;
+      _.client = t5;
     },
     DevToolsRequestBuilder: function DevToolsRequestBuilder() {
       var _ = this;
-      _._uriOnly = _._devtools_request$_tabUrl = _._contextId = _._devtools_request$_instanceId = _._devtools_request$_appId = _._devtools_request$_$v = null;
+      _._devtools_request$_client = _._uriOnly = _._devtools_request$_tabUrl = _._contextId = _._devtools_request$_instanceId = _._devtools_request$_appId = _._devtools_request$_$v = null;
     },
     _$DevToolsResponse: function _$DevToolsResponse(t0, t1, t2) {
       this.success = t0;
@@ -9485,7 +9473,13 @@
     },
     StreamChannelMixin: function StreamChannelMixin() {
     },
-    Uuid: function Uuid() {
+    RNG: function RNG() {
+    },
+    MathRNG: function MathRNG(t0) {
+      this._rnd = t0;
+    },
+    UuidV1: function UuidV1(t0) {
+      this.goptions = t0;
     },
     _EventStreamSubscription$0(_target, _eventType, onData, _useCapture, $T) {
       var t1;
@@ -9493,7 +9487,7 @@
         t1 = null;
       else {
         t1 = A._wrapZone0(new A._EventStreamSubscription_closure0(onData), type$.JSObject);
-        t1 = t1 == null ? null : type$.JavaScriptFunction._as(A.allowInterop(t1, type$.Function));
+        t1 = t1 == null ? null : A._functionToJS1(t1);
       }
       t1 = new A._EventStreamSubscription0(_target, _eventType, t1, false, $T._eval$1("_EventStreamSubscription0<0>"));
       t1._streams$_tryResume$0();
@@ -9531,61 +9525,134 @@
     _EventStreamSubscription_onData_closure: function _EventStreamSubscription_onData_closure(t0) {
       this.handleData = t0;
     },
-    HtmlWebSocketChannel$connect(url, protocols) {
-      var t4, localToForeignController, foreignToLocalController, t5, t6, _null = null,
-        t1 = self,
-        t2 = t1.WebSocket,
-        t3 = url.toString$0(0);
-      t1 = type$.JSArray_nullable_Object._as(new t1.Array());
-      t4 = type$.JSObject;
-      t1 = t4._as(new t2(t3, t1));
-      t1.binaryType = "arraybuffer";
-      t2 = new A.StreamChannelController(type$.StreamChannelController_nullable_Object);
-      t3 = type$.nullable_Object;
-      localToForeignController = A.StreamController_StreamController(_null, _null, true, t3);
-      foreignToLocalController = A.StreamController_StreamController(_null, _null, true, t3);
-      t5 = A._instanceType(foreignToLocalController);
-      t6 = A._instanceType(localToForeignController);
-      t2.set$__StreamChannelController__local_F(A.GuaranteeChannel$(new A._ControllerStream(foreignToLocalController, t5._eval$1("_ControllerStream<1>")), new A._StreamSinkWrapper(localToForeignController, t6._eval$1("_StreamSinkWrapper<1>")), true, t3));
-      t3 = A.GuaranteeChannel$(new A._ControllerStream(localToForeignController, t6._eval$1("_ControllerStream<1>")), new A._StreamSinkWrapper(foreignToLocalController, t5._eval$1("_StreamSinkWrapper<1>")), false, t3);
+    BrowserWebSocket_connect(url, protocols) {
+      var $async$goto = 0,
+        $async$completer = A._makeAsyncAwaitCompleter(type$.BrowserWebSocket),
+        $async$returnValue, t1, t2, t3, t4, t5, webSocket, browserSocket, webSocketConnected;
+      var $async$BrowserWebSocket_connect = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
+        if ($async$errorCode === 1)
+          return A._asyncRethrow($async$result, $async$completer);
+        while (true)
+          switch ($async$goto) {
+            case 0:
+              // Function start
+              if (!url.isScheme$1("ws") && !url.isScheme$1("wss"))
+                throw A.wrapException(A.ArgumentError$value(url, "url", "only ws: and wss: schemes are supported"));
+              t1 = self;
+              t2 = t1.WebSocket;
+              t3 = url.toString$0(0);
+              t4 = type$.JSArray_nullable_Object._as(new t1.Array());
+              t5 = type$.JSObject;
+              webSocket = t5._as(new t2(t3, t4));
+              webSocket.binaryType = "arraybuffer";
+              browserSocket = new A.BrowserWebSocket(webSocket, A.StreamController_StreamController(null, null, false, type$.WebSocketEvent));
+              t4 = new A._Future($.Zone__current, type$._Future_BrowserWebSocket);
+              webSocketConnected = new A._AsyncCompleter(t4, type$._AsyncCompleter_BrowserWebSocket);
+              if (A._asInt(webSocket.readyState) === A._asInt(t1.WebSocket.OPEN))
+                webSocketConnected.complete$1(0, browserSocket);
+              else if (A._asInt(webSocket.readyState) === A._asInt(t1.WebSocket.CLOSING) || A._asInt(webSocket.readyState) === A._asInt(t1.WebSocket.CLOSED)) {
+                A._asInt(webSocket.readyState);
+                webSocketConnected.completeError$1(new A.WebSocketException());
+              } else
+                new A._EventStream(webSocket, "open", false, type$._EventStream_JSObject).get$first(0).then$1$1(0, new A.BrowserWebSocket_connect_closure(webSocketConnected, browserSocket), type$.void);
+              t1 = type$._EventStream_JSObject;
+              t2 = type$.void;
+              new A._EventStream(webSocket, "error", false, t1).get$first(0).then$1$1(0, new A.BrowserWebSocket_connect_closure0(webSocketConnected, browserSocket), t2);
+              A._EventStreamSubscription$0(webSocket, "message", type$.nullable_void_Function_JSObject._as(new A.BrowserWebSocket_connect_closure1(browserSocket)), false, t5);
+              new A._EventStream(webSocket, "close", false, t1).get$first(0).then$1$1(0, new A.BrowserWebSocket_connect_closure2(webSocketConnected, browserSocket), t2);
+              $async$returnValue = t4;
+              // goto return
+              $async$goto = 1;
+              break;
+            case 1:
+              // return
+              return A._asyncReturn($async$returnValue, $async$completer);
+          }
+      });
+      return A._asyncStartSync($async$BrowserWebSocket_connect, $async$completer);
+    },
+    BrowserWebSocket: function BrowserWebSocket(t0, t1) {
+      this._webSocket = t0;
+      this._browser_web_socket$_events = t1;
+    },
+    BrowserWebSocket_connect_closure: function BrowserWebSocket_connect_closure(t0, t1) {
+      this.webSocketConnected = t0;
+      this.browserSocket = t1;
+    },
+    BrowserWebSocket_connect_closure0: function BrowserWebSocket_connect_closure0(t0, t1) {
+      this.webSocketConnected = t0;
+      this.browserSocket = t1;
+    },
+    BrowserWebSocket_connect_closure1: function BrowserWebSocket_connect_closure1(t0) {
+      this.browserSocket = t0;
+    },
+    BrowserWebSocket_connect_closure2: function BrowserWebSocket_connect_closure2(t0, t1) {
+      this.webSocketConnected = t0;
+      this.browserSocket = t1;
+    },
+    WebSocketConnectionClosed$() {
+      return new A.WebSocketConnectionClosed();
+    },
+    WebSocketEvent: function WebSocketEvent() {
+    },
+    TextDataReceived: function TextDataReceived(t0) {
+      this.text = t0;
+    },
+    BinaryDataReceived: function BinaryDataReceived(t0) {
+      this.data = t0;
+    },
+    CloseReceived: function CloseReceived(t0, t1) {
+      this.code = t0;
+      this.reason = t1;
+    },
+    WebSocketException: function WebSocketException() {
+    },
+    WebSocketConnectionClosed: function WebSocketConnectionClosed() {
+    },
+    AdapterWebSocketChannel$(webSocket) {
+      var _null = null,
+        t1 = $.Zone__current,
+        t2 = new A.StreamChannelController(type$.StreamChannelController_nullable_Object),
+        t3 = type$.nullable_Object,
+        localToForeignController = A.StreamController_StreamController(_null, _null, true, t3),
+        foreignToLocalController = A.StreamController_StreamController(_null, _null, true, t3),
+        t4 = A._instanceType(foreignToLocalController),
+        t5 = A._instanceType(localToForeignController);
+      t2.set$__StreamChannelController__local_F(A.GuaranteeChannel$(new A._ControllerStream(foreignToLocalController, t4._eval$1("_ControllerStream<1>")), new A._StreamSinkWrapper(localToForeignController, t5._eval$1("_StreamSinkWrapper<1>")), true, t3));
+      t3 = A.GuaranteeChannel$(new A._ControllerStream(localToForeignController, t5._eval$1("_ControllerStream<1>")), new A._StreamSinkWrapper(foreignToLocalController, t4._eval$1("_StreamSinkWrapper<1>")), false, t3);
       t2.__StreamChannelController__foreign_F !== $ && A.throwLateFieldAI("_foreign");
       t2.set$__StreamChannelController__foreign_F(t3);
-      t4._as(t1);
-      t2 = new A.HtmlWebSocketChannel(t1, t2);
-      t2.HtmlWebSocketChannel$1(t1);
+      t2 = new A.AdapterWebSocketChannel(new A._AsyncCompleter(new A._Future(t1, type$._Future_void), type$._AsyncCompleter_void), t2);
+      t2.AdapterWebSocketChannel$1(webSocket);
       return t2;
     },
-    HtmlWebSocketChannel: function HtmlWebSocketChannel(t0, t1) {
+    AdapterWebSocketChannel: function AdapterWebSocketChannel(t0, t1) {
       var _ = this;
-      _.innerWebSocket = t0;
       _._localCloseReason = _._localCloseCode = null;
-      _.__HtmlWebSocketChannel__readyCompleter_A = $;
-      _._html$_controller = t1;
-      _.__HtmlWebSocketChannel_sink_FI = $;
+      _._readyCompleter = t0;
+      _._adapter_web_socket_channel$_controller = t1;
+      _.__AdapterWebSocketChannel_sink_FI = $;
     },
-    HtmlWebSocketChannel_closure: function HtmlWebSocketChannel_closure(t0) {
+    AdapterWebSocketChannel_closure: function AdapterWebSocketChannel_closure(t0) {
       this.$this = t0;
     },
-    HtmlWebSocketChannel_closure0: function HtmlWebSocketChannel_closure0(t0) {
+    AdapterWebSocketChannel__closure: function AdapterWebSocketChannel__closure(t0) {
       this.$this = t0;
     },
-    HtmlWebSocketChannel_closure1: function HtmlWebSocketChannel_closure1(t0) {
+    AdapterWebSocketChannel__closure0: function AdapterWebSocketChannel__closure0(t0) {
+      this.webSocket = t0;
+    },
+    AdapterWebSocketChannel__closure1: function AdapterWebSocketChannel__closure1(t0, t1) {
+      this.$this = t0;
+      this.webSocket = t1;
+    },
+    AdapterWebSocketChannel_closure0: function AdapterWebSocketChannel_closure0(t0) {
       this.$this = t0;
     },
-    HtmlWebSocketChannel__listen_closure: function HtmlWebSocketChannel__listen_closure(t0) {
-      this.$this = t0;
-    },
-    HtmlWebSocketChannel__listen_closure0: function HtmlWebSocketChannel__listen_closure0(t0) {
-      this.$this = t0;
-    },
-    _HtmlWebSocketSink: function _HtmlWebSocketSink(t0, t1) {
-      this._html$_channel = t0;
+    _WebSocketSink: function _WebSocketSink(t0, t1) {
+      this._adapter_web_socket_channel$_channel = t0;
       this._sink = t1;
     },
-    WebSocketChannel: function WebSocketChannel(t0, t1) {
-      this._webSocket = t0;
-      this.ready = t1;
-    },
     WebSocketChannelException: function WebSocketChannelException(t0) {
       this.message = t0;
     },
@@ -9874,18 +9941,6 @@
         return letter + 10;
       else
         return 255;
-    },
-    UuidUtil_mathRNG() {
-      var i, t1,
-        b = new Uint8Array(16),
-        rand = $.$get$UuidUtil__random();
-      for (i = 0; i < 16; ++i) {
-        t1 = rand.nextInt$1(256);
-        if (!(i < 16))
-          return A.ioore(b, i);
-        b[i] = t1;
-      }
-      return b;
     }
   },
   B = {};
@@ -10012,15 +10067,13 @@
     },
     add$1(receiver, value) {
       A._arrayInstanceType(receiver)._precomputed1._as(value);
-      if (!!receiver.fixed$length)
-        A.throwExpression(A.UnsupportedError$("add"));
+      receiver.$flags & 1 && A.throwUnsupportedOperation(receiver, 29);
       receiver.push(value);
     },
     addAll$1(receiver, collection) {
       var t1;
       A._arrayInstanceType(receiver)._eval$1("Iterable<1>")._as(collection);
-      if (!!receiver.fixed$length)
-        A.throwExpression(A.UnsupportedError$("addAll"));
+      receiver.$flags & 1 && A.throwUnsupportedOperation(receiver, "addAll", 2);
       if (Array.isArray(collection)) {
         this._addAllFromArray$1(receiver, collection);
         return;
@@ -10040,8 +10093,7 @@
         receiver.push(array[i]);
     },
     clear$0(receiver) {
-      if (!!receiver.fixed$length)
-        A.throwExpression(A.UnsupportedError$("clear"));
+      receiver.$flags & 1 && A.throwUnsupportedOperation(receiver, "clear", "clear");
       receiver.length = 0;
     },
     map$1$1(receiver, f, $T) {
@@ -10110,8 +10162,7 @@
     setRange$4(receiver, start, end, iterable, skipCount) {
       var $length, otherList, otherStart, t1, i;
       A._arrayInstanceType(receiver)._eval$1("Iterable<1>")._as(iterable);
-      if (!!receiver.immutable$list)
-        A.throwExpression(A.UnsupportedError$("setRange"));
+      receiver.$flags & 2 && A.throwUnsupportedOperation(receiver, 5);
       A.RangeError_checkValidRange(start, end, receiver.length);
       $length = end - start;
       if ($length === 0)
@@ -10150,8 +10201,7 @@
       var len, a, b, undefineds, i,
         t1 = A._arrayInstanceType(receiver);
       t1._eval$1("int(1,1)?")._as(compare);
-      if (!!receiver.immutable$list)
-        A.throwExpression(A.UnsupportedError$("sort"));
+      receiver.$flags & 2 && A.throwUnsupportedOperation(receiver, "sort");
       len = receiver.length;
       if (len < 2)
         return;
@@ -10169,14 +10219,13 @@
         }
         return;
       }
-      if (t1._precomputed1._is(null)) {
-        for (undefineds = 0, i = 0; i < receiver.length; ++i)
+      undefineds = 0;
+      if (t1._precomputed1._is(null))
+        for (i = 0; i < receiver.length; ++i)
           if (receiver[i] === void 0) {
             receiver[i] = null;
             ++undefineds;
           }
-      } else
-        undefineds = 0;
       receiver.sort(A.convertDartClosureToJS(compare, 2));
       if (undefineds > 0)
         this._replaceSomeNullsWithUndefined$1(receiver, undefineds);
@@ -10234,8 +10283,7 @@
     },
     $indexSet(receiver, index, value) {
       A._arrayInstanceType(receiver)._precomputed1._as(value);
-      if (!!receiver.immutable$list)
-        A.throwExpression(A.UnsupportedError$("indexed set"));
+      receiver.$flags & 2 && A.throwUnsupportedOperation(receiver);
       if (!(index >= 0 && index < receiver.length))
         throw A.wrapException(A.diagnoseIndexError(receiver, index));
       receiver[index] = value;
@@ -10243,6 +10291,7 @@
     get$runtimeType(receiver) {
       return A.createRuntimeType(A._arrayInstanceType(receiver));
     },
+    $isJSIndexable: 1,
     $isEfficientLengthIterable: 1,
     $isIterable: 1,
     $isList: 1
@@ -10303,6 +10352,16 @@
     get$isNegative(receiver) {
       return receiver === 0 ? 1 / receiver < 0 : receiver < 0;
     },
+    toInt$0(receiver) {
+      var t1;
+      if (receiver >= -2147483648 && receiver <= 2147483647)
+        return receiver | 0;
+      if (isFinite(receiver)) {
+        t1 = receiver < 0 ? Math.ceil(receiver) : Math.floor(receiver);
+        return t1 + 0;
+      }
+      throw A.wrapException(A.UnsupportedError$("" + receiver + ".toInt()"));
+    },
     ceil$0(receiver) {
       var truncated, d;
       if (receiver >= 0) {
@@ -10331,14 +10390,6 @@
         return d;
       throw A.wrapException(A.UnsupportedError$("" + receiver + ".floor()"));
     },
-    round$0(receiver) {
-      if (receiver > 0) {
-        if (receiver !== 1 / 0)
-          return Math.round(receiver);
-      } else if (receiver > -1 / 0)
-        return 0 - Math.round(0 - receiver);
-      throw A.wrapException(A.UnsupportedError$("" + receiver + ".round()"));
-    },
     toRadixString$1(receiver, radix) {
       var result, t1, t2, match, exponent;
       if (radix < 2 || radix > 36)
@@ -10626,6 +10677,7 @@
     get$length(receiver) {
       return receiver.length;
     },
+    $isJSIndexable: 1,
     $isTrustedGetRuntimeType: 1,
     $isComparable: 1,
     $isPattern: 1,
@@ -10633,8 +10685,7 @@
   };
   A._CastIterableBase.prototype = {
     get$iterator(_) {
-      var t1 = A._instanceType(this);
-      return new A.CastIterator(J.get$iterator$ax(this.get$__internal$_source()), t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("CastIterator<1,2>"));
+      return new A.CastIterator(J.get$iterator$ax(this.get$__internal$_source()), A._instanceType(this)._eval$1("CastIterator<1,2>"));
     },
     get$length(_) {
       return J.get$length$asx(this.get$__internal$_source());
@@ -10726,8 +10777,7 @@
   };
   A.CastMap.prototype = {
     cast$2$0(_, RK, RV) {
-      var t1 = this.$ti;
-      return new A.CastMap(this.__internal$_source, t1._eval$1("@<1>")._bind$1(t1._rest[1])._bind$1(RK)._bind$1(RV)._eval$1("CastMap<1,2,3,4>"));
+      return new A.CastMap(this.__internal$_source, this.$ti._eval$1("@<1,2>")._bind$1(RK)._bind$1(RV)._eval$1("CastMap<1,2,3,4>"));
     },
     containsKey$1(_, key) {
       return J.containsKey$1$x(this.__internal$_source, key);
@@ -10775,7 +10825,7 @@
     call$0() {
       return A.Future_Future$value(null, type$.Null);
     },
-    $signature: 28
+    $signature: 27
   };
   A.SentinelValue.prototype = {};
   A.EfficientLengthIterable.prototype = {};
@@ -10962,8 +11012,7 @@
   };
   A.MappedIterable.prototype = {
     get$iterator(_) {
-      var t1 = A._instanceType(this);
-      return new A.MappedIterator(J.get$iterator$ax(this.__internal$_iterable), this._f, t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("MappedIterator<1,2>"));
+      return new A.MappedIterator(J.get$iterator$ax(this.__internal$_iterable), this._f, A._instanceType(this)._eval$1("MappedIterator<1,2>"));
     },
     get$length(_) {
       return J.get$length$asx(this.__internal$_iterable);
@@ -11320,7 +11369,8 @@
       list = [];
       for (index = 0; index < argumentCount; ++index)
         list.push(t2.$index(t1, index));
-      return J.JSArray_markUnmodifiableList(list);
+      list.$flags = 3;
+      return list;
     },
     get$namedArguments() {
       var t1, t2, namedArgumentCount, t3, t4, namedArgumentsStartIndex, map, i, _this = this;
@@ -11707,8 +11757,7 @@
       table["<non-identifier-key>"] = table;
       delete table["<non-identifier-key>"];
       return table;
-    },
-    $isLinkedHashMap: 1
+    }
   };
   A.JsLinkedHashMap_addAll_closure.prototype = {
     call$2(key, value) {
@@ -11869,7 +11918,7 @@
       return t1 == null ? type$.RegExpMatch._as(t1) : t1;
     },
     moveNext$0() {
-      var t1, t2, t3, match, nextIndex, _this = this,
+      var t1, t2, t3, match, nextIndex, t4, _this = this,
         string = _this._string;
       if (string == null)
         return false;
@@ -11882,24 +11931,22 @@
           _this.__js_helper$_current = match;
           nextIndex = match.get$end(0);
           if (match._match.index === nextIndex) {
+            t1 = false;
             if (t3._nativeRegExp.unicode) {
-              t1 = _this._nextIndex;
-              t3 = t1 + 1;
-              if (t3 < t2) {
-                if (!(t1 >= 0 && t1 < t2))
-                  return A.ioore(string, t1);
-                t1 = string.charCodeAt(t1);
-                if (t1 >= 55296 && t1 <= 56319) {
-                  if (!(t3 >= 0))
-                    return A.ioore(string, t3);
-                  t1 = string.charCodeAt(t3);
+              t3 = _this._nextIndex;
+              t4 = t3 + 1;
+              if (t4 < t2) {
+                if (!(t3 >= 0 && t3 < t2))
+                  return A.ioore(string, t3);
+                t3 = string.charCodeAt(t3);
+                if (t3 >= 55296 && t3 <= 56319) {
+                  if (!(t4 >= 0))
+                    return A.ioore(string, t4);
+                  t1 = string.charCodeAt(t4);
                   t1 = t1 >= 56320 && t1 <= 57343;
-                } else
-                  t1 = false;
-              } else
-                t1 = false;
-            } else
-              t1 = false;
+                }
+              }
+            }
             nextIndex = (t1 ? nextIndex + 1 : nextIndex) + 1;
           }
           _this._nextIndex = nextIndex;
@@ -11964,6 +12011,12 @@
     readLocal$0() {
       return this.readLocal$1$0(type$.dynamic);
     },
+    _readLocal$0() {
+      var t1 = this.__late_helper$_value;
+      if (t1 === this)
+        throw A.wrapException(new A.LateError("Local '" + this.__late_helper$_name + "' has not been initialized."));
+      return t1;
+    },
     _readField$0() {
       var t1 = this.__late_helper$_value;
       if (t1 === this)
@@ -11991,6 +12044,7 @@
     get$length(receiver) {
       return receiver.length;
     },
+    $isJSIndexable: 1,
     $isJavaScriptIndexingBehavior: 1
   };
   A.NativeTypedArrayOfDouble.prototype = {
@@ -12000,6 +12054,7 @@
     },
     $indexSet(receiver, index, value) {
       A._asDouble(value);
+      receiver.$flags & 2 && A.throwUnsupportedOperation(receiver);
       A._checkValidIndex(index, receiver, receiver.length);
       receiver[index] = value;
     },
@@ -12010,6 +12065,7 @@
   A.NativeTypedArrayOfInt.prototype = {
     $indexSet(receiver, index, value) {
       A._asInt(value);
+      receiver.$flags & 2 && A.throwUnsupportedOperation(receiver);
       A._checkValidIndex(index, receiver, receiver.length);
       receiver[index] = value;
     },
@@ -12318,13 +12374,13 @@
     call$2(error, stackTrace) {
       this.bodyFunction.call$2(1, new A.ExceptionAndStackTrace(error, type$.StackTrace._as(stackTrace)));
     },
-    $signature: 60
+    $signature: 86
   };
   A._wrapJsFunctionForAsync_closure.prototype = {
     call$2(errorCode, result) {
       this.$protected(A._asInt(errorCode), result);
     },
-    $signature: 62
+    $signature: 43
   };
   A.AsyncError.prototype = {
     toString$0(_) {
@@ -12337,17 +12393,20 @@
   };
   A.Future_Future$microtask_closure.prototype = {
     call$0() {
-      var e, s, exception;
+      var e, s, exception, computationResult = null;
       try {
-        this.result._complete$1(this.computation.call$0());
+        computationResult = this.computation.call$0();
       } catch (exception) {
         e = A.unwrapException(exception);
         s = A.getTraceFromException(exception);
         A._completeWithErrorCallback(this.result, e, s);
+        return;
       }
+      this.result._complete$1(computationResult);
     },
     $signature: 0
   };
+  A.TimeoutException.prototype = {};
   A._Completer.prototype = {
     completeError$2(error, stackTrace) {
       var replacement;
@@ -12469,7 +12528,7 @@
         result = new A._Future(t2, t1);
       if (t2 !== B.C__RootZone)
         onError = A._registerErrorHandler(onError, t2);
-      this._addListener$1(new A._FutureListener(result, 2, null, onError, t1._eval$1("@<1>")._bind$1(t1._precomputed1)._eval$1("_FutureListener<1,2>")));
+      this._addListener$1(new A._FutureListener(result, 2, null, onError, t1._eval$1("_FutureListener<1,1>")));
       return result;
     },
     whenComplete$1(action) {
@@ -12480,7 +12539,7 @@
       result = new A._Future(t2, t1);
       if (t2 !== B.C__RootZone)
         action = t2.registerCallback$1$1(action, type$.dynamic);
-      this._addListener$1(new A._FutureListener(result, 8, action, null, t1._eval$1("@<1>")._bind$1(t1._precomputed1)._eval$1("_FutureListener<1,2>")));
+      this._addListener$1(new A._FutureListener(result, 8, action, null, t1._eval$1("_FutureListener<1,1>")));
       return result;
     },
     _setErrorObject$1(error) {
@@ -12737,7 +12796,7 @@
     call$1(_) {
       return this.originalSource;
     },
-    $signature: 49
+    $signature: 60
   };
   A._Future__propagateToListeners_handleValueCallback.prototype = {
     call$0() {
@@ -13305,15 +13364,13 @@
         t1 = _this._state;
       if ((t1 & 128) !== 0 && _this._pending.lastPendingEvent == null) {
         t1 = _this._state = (t1 & 4294967167) >>> 0;
+        t2 = false;
         if ((t1 & 4) !== 0)
           if (t1 < 256) {
             t2 = _this._pending;
             t2 = t2 == null ? null : t2.lastPendingEvent == null;
             t2 = t2 !== false;
-          } else
-            t2 = false;
-        else
-          t2 = false;
+          }
         if (t2) {
           t1 = (t1 & 4294967291) >>> 0;
           _this._state = t1;
@@ -13514,20 +13571,19 @@
   };
   A._ForwardingStream.prototype = {
     listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError) {
-      var t2, t3, t4, t5, t6, t7, t8,
+      var t2, t3, t4, t5, t6, t7,
         t1 = this.$ti;
       t1._eval$1("~(2)?")._as(onData);
       type$.nullable_void_Function._as(onDone);
-      t2 = t1._rest[1];
-      t3 = $.Zone__current;
-      t4 = cancelOnError === true ? 1 : 0;
-      t5 = onError != null ? 32 : 0;
-      t6 = A._BufferingStreamSubscription__registerDataHandler(t3, onData, t2);
-      t7 = A._BufferingStreamSubscription__registerErrorHandler(t3, onError);
-      t8 = onDone == null ? A.async___nullDoneHandler$closure() : onDone;
-      t2 = new A._ForwardingStreamSubscription(this, t6, t7, t3.registerCallback$1$1(t8, type$.void), t3, t4 | t5, t1._eval$1("@<1>")._bind$1(t2)._eval$1("_ForwardingStreamSubscription<1,2>"));
-      t2.set$_subscription(this._source.listen$3$onDone$onError(t2.get$_handleData(), t2.get$_handleDone(), t2.get$_handleError()));
-      return t2;
+      t2 = $.Zone__current;
+      t3 = cancelOnError === true ? 1 : 0;
+      t4 = onError != null ? 32 : 0;
+      t5 = A._BufferingStreamSubscription__registerDataHandler(t2, onData, t1._rest[1]);
+      t6 = A._BufferingStreamSubscription__registerErrorHandler(t2, onError);
+      t7 = onDone == null ? A.async___nullDoneHandler$closure() : onDone;
+      t1 = new A._ForwardingStreamSubscription(this, t5, t6, t2.registerCallback$1$1(t7, type$.void), t2, t3 | t4, t1._eval$1("_ForwardingStreamSubscription<1,2>"));
+      t1.set$_subscription(this._source.listen$3$onDone$onError(t1.get$_handleData(), t1.get$_handleDone(), t1.get$_handleError()));
+      return t1;
     },
     listen$2$onError(onData, onError) {
       return this.listen$4$cancelOnError$onDone$onError(onData, null, null, onError);
@@ -14086,7 +14142,7 @@
           t2._processUncaughtError$3(zone, type$.Object._as(e), t1._as(s));
       }
     },
-    $signature: 45
+    $signature: 46
   };
   A._HashMap.prototype = {
     get$length(_) {
@@ -14191,21 +14247,21 @@
       }
     },
     _computeKeys$0() {
-      var strings, names, entries, index, i, nums, rest, bucket, $length, i0, _this = this,
+      var strings, index, names, entries, i, nums, rest, bucket, $length, i0, _this = this,
         result = _this._keys;
       if (result != null)
         return result;
       result = A.List_List$filled(_this._collection$_length, null, false, type$.dynamic);
       strings = _this._collection$_strings;
+      index = 0;
       if (strings != null) {
         names = Object.getOwnPropertyNames(strings);
         entries = names.length;
-        for (index = 0, i = 0; i < entries; ++i) {
+        for (i = 0; i < entries; ++i) {
           result[index] = names[i];
           ++index;
         }
-      } else
-        index = 0;
+      }
       nums = _this._collection$_nums;
       if (nums != null) {
         names = Object.getOwnPropertyNames(nums);
@@ -14442,21 +14498,21 @@
       return true;
     },
     _computeElements$0() {
-      var strings, names, entries, index, i, nums, rest, bucket, $length, i0, _this = this,
+      var strings, index, names, entries, i, nums, rest, bucket, $length, i0, _this = this,
         result = _this._collection$_elements;
       if (result != null)
         return result;
       result = A.List_List$filled(_this._collection$_length, null, false, type$.dynamic);
       strings = _this._collection$_strings;
+      index = 0;
       if (strings != null) {
         names = Object.getOwnPropertyNames(strings);
         entries = names.length;
-        for (index = 0, i = 0; i < entries; ++i) {
+        for (i = 0; i < entries; ++i) {
           result[index] = names[i];
           ++index;
         }
-      } else
-        index = 0;
+      }
       nums = _this._collection$_nums;
       if (nums != null) {
         names = Object.getOwnPropertyNames(nums);
@@ -14743,7 +14799,7 @@
       if (end == null)
         end = listLength;
       A.RangeError_checkValidRange(start, end, listLength);
-      return A.List_List$from(this.getRange$2(receiver, start, end), true, A.instanceType(receiver)._eval$1("ListBase.E"));
+      return A.List_List$of(this.getRange$2(receiver, start, end), true, A.instanceType(receiver)._eval$1("ListBase.E"));
     },
     sublist$1(receiver, start) {
       return this.sublist$2(receiver, start, null);
@@ -15289,7 +15345,7 @@
   A.SplayTreeSet.prototype = {
     get$iterator(_) {
       var t1 = this.$ti;
-      return new A._SplayTreeKeyIterator(this, A._setArrayType([], t1._eval$1("JSArray<_SplayTreeSetNode<1>>")), this._splayCount, t1._eval$1("@<1>")._bind$1(t1._eval$1("_SplayTreeSetNode<1>"))._eval$1("_SplayTreeKeyIterator<1,2>"));
+      return new A._SplayTreeKeyIterator(this, A._setArrayType([], t1._eval$1("JSArray<_SplayTreeSetNode<1>>")), this._splayCount, t1._eval$1("_SplayTreeKeyIterator<1,_SplayTreeSetNode<1>>"));
     },
     get$length(_) {
       return this._count;
@@ -15911,14 +15967,13 @@
   A.Utf8Codec.prototype = {};
   A.Utf8Encoder.prototype = {
     convert$1(string) {
-      var stringLength, end, $length, t1, encoder, t2;
+      var stringLength, end, t1, encoder, t2;
       A._asString(string);
       stringLength = string.length;
       end = A.RangeError_checkValidRange(0, null, stringLength);
-      $length = end - 0;
-      if ($length === 0)
+      if (end === 0)
         return new Uint8Array(0);
-      t1 = new Uint8Array($length * 3);
+      t1 = new Uint8Array(end * 3);
       encoder = new A._Utf8Encoder(t1);
       if (encoder._fillBuffer$3(string, 0, end) !== end) {
         t2 = end - 1;
@@ -15931,11 +15986,12 @@
   };
   A._Utf8Encoder.prototype = {
     _writeReplacementCharacter$0() {
-      var _this = this,
+      var t4, _this = this,
         t1 = _this._buffer,
         t2 = _this._bufferIndex,
-        t3 = _this._bufferIndex = t2 + 1,
-        t4 = t1.length;
+        t3 = _this._bufferIndex = t2 + 1;
+      t1.$flags & 2 && A.throwUnsupportedOperation(t1);
+      t4 = t1.length;
       if (!(t2 < t4))
         return A.ioore(t1, t2);
       t1[t2] = 239;
@@ -15955,6 +16011,7 @@
         t1 = _this._buffer;
         t2 = _this._bufferIndex;
         t3 = _this._bufferIndex = t2 + 1;
+        t1.$flags & 2 && A.throwUnsupportedOperation(t1);
         t4 = t1.length;
         if (!(t2 < t4))
           return A.ioore(t1, t2);
@@ -15978,7 +16035,7 @@
       }
     },
     _fillBuffer$3(str, start, end) {
-      var t1, t2, t3, stringIndex, codeUnit, t4, t5, _this = this;
+      var t1, t2, t3, t4, stringIndex, codeUnit, t5, t6, _this = this;
       if (start !== end) {
         t1 = end - 1;
         if (!(t1 >= 0 && t1 < str.length))
@@ -15988,57 +16045,60 @@
         t1 = false;
       if (t1)
         --end;
-      for (t1 = _this._buffer, t2 = t1.length, t3 = str.length, stringIndex = start; stringIndex < end; ++stringIndex) {
-        if (!(stringIndex < t3))
+      for (t1 = _this._buffer, t2 = t1.$flags | 0, t3 = t1.length, t4 = str.length, stringIndex = start; stringIndex < end; ++stringIndex) {
+        if (!(stringIndex < t4))
           return A.ioore(str, stringIndex);
         codeUnit = str.charCodeAt(stringIndex);
         if (codeUnit <= 127) {
-          t4 = _this._bufferIndex;
-          if (t4 >= t2)
+          t5 = _this._bufferIndex;
+          if (t5 >= t3)
             break;
-          _this._bufferIndex = t4 + 1;
-          t1[t4] = codeUnit;
+          _this._bufferIndex = t5 + 1;
+          t2 & 2 && A.throwUnsupportedOperation(t1);
+          t1[t5] = codeUnit;
         } else {
-          t4 = codeUnit & 64512;
-          if (t4 === 55296) {
-            if (_this._bufferIndex + 4 > t2)
+          t5 = codeUnit & 64512;
+          if (t5 === 55296) {
+            if (_this._bufferIndex + 4 > t3)
               break;
-            t4 = stringIndex + 1;
-            if (!(t4 < t3))
-              return A.ioore(str, t4);
-            if (_this._writeSurrogate$2(codeUnit, str.charCodeAt(t4)))
-              stringIndex = t4;
-          } else if (t4 === 56320) {
-            if (_this._bufferIndex + 3 > t2)
+            t5 = stringIndex + 1;
+            if (!(t5 < t4))
+              return A.ioore(str, t5);
+            if (_this._writeSurrogate$2(codeUnit, str.charCodeAt(t5)))
+              stringIndex = t5;
+          } else if (t5 === 56320) {
+            if (_this._bufferIndex + 3 > t3)
               break;
             _this._writeReplacementCharacter$0();
           } else if (codeUnit <= 2047) {
-            t4 = _this._bufferIndex;
-            t5 = t4 + 1;
-            if (t5 >= t2)
+            t5 = _this._bufferIndex;
+            t6 = t5 + 1;
+            if (t6 >= t3)
               break;
-            _this._bufferIndex = t5;
-            if (!(t4 < t2))
-              return A.ioore(t1, t4);
-            t1[t4] = codeUnit >>> 6 | 192;
-            _this._bufferIndex = t5 + 1;
-            t1[t5] = codeUnit & 63 | 128;
-          } else {
-            t4 = _this._bufferIndex;
-            if (t4 + 2 >= t2)
-              break;
-            t5 = _this._bufferIndex = t4 + 1;
-            if (!(t4 < t2))
-              return A.ioore(t1, t4);
-            t1[t4] = codeUnit >>> 12 | 224;
-            t4 = _this._bufferIndex = t5 + 1;
-            if (!(t5 < t2))
+            _this._bufferIndex = t6;
+            t2 & 2 && A.throwUnsupportedOperation(t1);
+            if (!(t5 < t3))
               return A.ioore(t1, t5);
-            t1[t5] = codeUnit >>> 6 & 63 | 128;
-            _this._bufferIndex = t4 + 1;
-            if (!(t4 < t2))
-              return A.ioore(t1, t4);
-            t1[t4] = codeUnit & 63 | 128;
+            t1[t5] = codeUnit >>> 6 | 192;
+            _this._bufferIndex = t6 + 1;
+            t1[t6] = codeUnit & 63 | 128;
+          } else {
+            t5 = _this._bufferIndex;
+            if (t5 + 2 >= t3)
+              break;
+            t6 = _this._bufferIndex = t5 + 1;
+            t2 & 2 && A.throwUnsupportedOperation(t1);
+            if (!(t5 < t3))
+              return A.ioore(t1, t5);
+            t1[t5] = codeUnit >>> 12 | 224;
+            t5 = _this._bufferIndex = t6 + 1;
+            if (!(t6 < t3))
+              return A.ioore(t1, t6);
+            t1[t6] = codeUnit >>> 6 & 63 | 128;
+            _this._bufferIndex = t5 + 1;
+            if (!(t5 < t3))
+              return A.ioore(t1, t5);
+            t1[t5] = codeUnit & 63 | 128;
           }
         }
       }
@@ -16235,7 +16295,7 @@
       return _this._isNegative && rem._used > 0 ? rem.$negate(0) : rem;
     },
     _divRem$1(other) {
-      var yDigits, yUsed, t1, nsh, yDigits0, yUsed0, resultDigits, resultUsed0, topDigitDivisor, j, tmpDigits, tmpUsed, resultUsed1, t2, nyDigits, i, estimatedQuotientDigit, _this = this,
+      var yDigits, yUsed, t1, nsh, yDigits0, yUsed0, resultDigits, resultUsed0, topDigitDivisor, j, tmpDigits, tmpUsed, resultUsed1, nyDigits, i, estimatedQuotientDigit, _this = this,
         resultUsed = _this._used;
       if (resultUsed === $._BigIntImpl__lastDividendUsed && other._used === $._BigIntImpl__lastDivisorUsed && _this._digits === $._BigIntImpl__lastDividendDigits && other._digits === $._BigIntImpl__lastDivisorDigits)
         return;
@@ -16264,25 +16324,27 @@
       tmpDigits = new Uint16Array(resultUsed0);
       tmpUsed = A._BigIntImpl__dlShiftDigits(yDigits0, yUsed0, j, tmpDigits);
       resultUsed1 = resultUsed0 + 1;
-      t1 = resultDigits.length;
+      t1 = resultDigits.$flags | 0;
       if (A._BigIntImpl__compareDigits(resultDigits, resultUsed0, tmpDigits, tmpUsed) >= 0) {
-        if (!(resultUsed0 >= 0 && resultUsed0 < t1))
+        t1 & 2 && A.throwUnsupportedOperation(resultDigits);
+        if (!(resultUsed0 >= 0 && resultUsed0 < resultDigits.length))
           return A.ioore(resultDigits, resultUsed0);
         resultDigits[resultUsed0] = 1;
         A._BigIntImpl__absSub(resultDigits, resultUsed1, tmpDigits, tmpUsed, resultDigits);
       } else {
-        if (!(resultUsed0 >= 0 && resultUsed0 < t1))
+        t1 & 2 && A.throwUnsupportedOperation(resultDigits);
+        if (!(resultUsed0 >= 0 && resultUsed0 < resultDigits.length))
           return A.ioore(resultDigits, resultUsed0);
         resultDigits[resultUsed0] = 0;
       }
-      t2 = yUsed0 + 2;
-      nyDigits = new Uint16Array(t2);
-      if (!(yUsed0 >= 0 && yUsed0 < t2))
+      t1 = yUsed0 + 2;
+      nyDigits = new Uint16Array(t1);
+      if (!(yUsed0 >= 0 && yUsed0 < t1))
         return A.ioore(nyDigits, yUsed0);
       nyDigits[yUsed0] = 1;
       A._BigIntImpl__absSub(nyDigits, yUsed0 + 1, yDigits0, yUsed0, nyDigits);
       i = resultUsed0 - 1;
-      for (; j > 0;) {
+      for (t1 = resultDigits.length; j > 0;) {
         estimatedQuotientDigit = A._BigIntImpl__estimateQuotientDigit(topDigitDivisor, resultDigits, i);
         --j;
         A._BigIntImpl__mulAdd(estimatedQuotientDigit, nyDigits, 0, resultDigits, j, yUsed0);
@@ -16386,12 +16448,6 @@
     },
     $signature: 23
   };
-  A._symbolMapToStringMap_closure.prototype = {
-    call$2(key, value) {
-      this.result.$indexSet(0, type$.Symbol._as(key)._name, value);
-    },
-    $signature: 24
-  };
   A.NoSuchMethodError_toString_closure.prototype = {
     call$2(key, value) {
       var t1, t2, t3;
@@ -16406,20 +16462,24 @@
       t1._contents += t3;
       t2.comma = ", ";
     },
-    $signature: 24
+    $signature: 85
   };
   A.DateTime.prototype = {
     $eq(_, other) {
       if (other == null)
         return false;
-      return other instanceof A.DateTime && this._value === other._value && this.isUtc === other.isUtc;
-    },
-    compareTo$1(_, other) {
-      return B.JSInt_methods.compareTo$1(this._value, type$.DateTime._as(other)._value);
+      return other instanceof A.DateTime && this._value === other._value && this._microsecond === other._microsecond && this.isUtc === other.isUtc;
     },
     get$hashCode(_) {
-      var t1 = this._value;
-      return (t1 ^ B.JSInt_methods._shrOtherPositive$1(t1, 30)) & 1073741823;
+      return A.Object_hash(this._value, this._microsecond, B.C_SentinelValue, B.C_SentinelValue);
+    },
+    compareTo$1(_, other) {
+      var r;
+      type$.DateTime._as(other);
+      r = B.JSInt_methods.compareTo$1(this._value, other._value);
+      if (r !== 0)
+        return r;
+      return B.JSInt_methods.compareTo$1(this._microsecond, other._microsecond);
     },
     toString$0(_) {
       var _this = this,
@@ -16430,11 +16490,13 @@
         min = A.DateTime__twoDigits(A.Primitives_getMinutes(_this)),
         sec = A.DateTime__twoDigits(A.Primitives_getSeconds(_this)),
         ms = A.DateTime__threeDigits(A.Primitives_getMilliseconds(_this)),
-        t1 = y + "-" + m;
+        t1 = _this._microsecond,
+        us = t1 === 0 ? "" : A.DateTime__threeDigits(t1);
+      t1 = y + "-" + m;
       if (_this.isUtc)
-        return t1 + "-" + d + " " + h + ":" + min + ":" + sec + "." + ms + "Z";
+        return t1 + "-" + d + " " + h + ":" + min + ":" + sec + "." + ms + us + "Z";
       else
-        return t1 + "-" + d + " " + h + ":" + min + ":" + sec + "." + ms;
+        return t1 + "-" + d + " " + h + ":" + min + ":" + sec + "." + ms + us;
     },
     $isComparable: 1
   };
@@ -16617,7 +16679,7 @@
   };
   A.FormatException.prototype = {
     toString$0(_) {
-      var t1, lineEnd, lineNum, lineStart, previousCharWasCR, i, char, end, start, prefix, postfix,
+      var t1, lineEnd, lineNum, lineStart, previousCharWasCR, i, char, prefix, postfix, end, start,
         message = this.message,
         report = "" !== message ? "FormatException: " + message : "FormatException",
         offset = this.offset,
@@ -16659,12 +16721,12 @@
             break;
           }
         }
-        if (lineEnd - lineStart > 78)
+        prefix = "";
+        if (lineEnd - lineStart > 78) {
+          postfix = "...";
           if (offset - lineStart < 75) {
             end = lineStart + 75;
             start = lineStart;
-            prefix = "";
-            postfix = "...";
           } else {
             if (lineEnd - offset < 75) {
               start = lineEnd - 75;
@@ -16673,14 +16735,12 @@
             } else {
               start = offset - 36;
               end = offset + 36;
-              postfix = "...";
             }
             prefix = "...";
           }
-        else {
+        } else {
           end = lineEnd;
           start = lineStart;
-          prefix = "";
           postfix = "";
         }
         return report + prefix + B.JSString_methods.substring$2(source, start, end) + postfix + "\n" + B.JSString_methods.$mul(" ", offset - start + prefix.length) + "^\n";
@@ -16831,13 +16891,13 @@
     call$2(msg, position) {
       throw A.wrapException(A.FormatException$("Illegal IPv4 address, " + msg, this.host, position));
     },
-    $signature: 69
+    $signature: 67
   };
   A.Uri_parseIPv6Address_error.prototype = {
     call$2(msg, position) {
       throw A.wrapException(A.FormatException$("Illegal IPv6 address, " + msg, this.host, position));
     },
-    $signature: 57
+    $signature: 66
   };
   A.Uri_parseIPv6Address_parseHex.prototype = {
     call$2(start, end) {
@@ -16977,11 +17037,12 @@
       return this.get$_text();
     },
     $eq(_, other) {
-      var t1, t2, _this = this;
+      var t1, t2, t3, _this = this;
       if (other == null)
         return false;
       if (_this === other)
         return true;
+      t1 = false;
       if (type$.Uri._is(other))
         if (_this.scheme === other.get$scheme())
           if (_this._host != null === other.get$hasAuthority())
@@ -16989,38 +17050,21 @@
               if (_this.get$host(0) === other.get$host(other))
                 if (_this.get$port(0) === other.get$port(other))
                   if (_this.path === other.get$path(other)) {
-                    t1 = _this._query;
-                    t2 = t1 == null;
-                    if (!t2 === other.get$hasQuery()) {
-                      if (t2)
-                        t1 = "";
-                      if (t1 === other.get$query(other)) {
-                        t1 = _this._fragment;
-                        t2 = t1 == null;
-                        if (!t2 === other.get$hasFragment()) {
-                          if (t2)
-                            t1 = "";
+                    t2 = _this._query;
+                    t3 = t2 == null;
+                    if (!t3 === other.get$hasQuery()) {
+                      if (t3)
+                        t2 = "";
+                      if (t2 === other.get$query(other)) {
+                        t2 = _this._fragment;
+                        t3 = t2 == null;
+                        if (!t3 === other.get$hasFragment()) {
+                          t1 = t3 ? "" : t2;
                           t1 = t1 === other.get$fragment();
-                        } else
-                          t1 = false;
-                      } else
-                        t1 = false;
-                    } else
-                      t1 = false;
-                  } else
-                    t1 = false;
-                else
-                  t1 = false;
-              else
-                t1 = false;
-            else
-              t1 = false;
-          else
-            t1 = false;
-        else
-          t1 = false;
-      else
-        t1 = false;
+                        }
+                      }
+                    }
+                  }
       return t1;
     },
     $isUri: 1,
@@ -17035,7 +17079,7 @@
     call$1(s) {
       return A._Uri__uriEncode(B.List_M2I0, A._asString(s), B.C_Utf8Codec, false);
     },
-    $signature: 25
+    $signature: 24
   };
   A.UriData.prototype = {
     get$uri() {
@@ -17076,23 +17120,24 @@
       B.NativeUint8List_methods.fillRange$3(t1, 0, 96, defaultTransition);
       return t1;
     },
-    $signature: 65
+    $signature: 62
   };
   A._createTables_setChars.prototype = {
     call$3(target, chars, transition) {
-      var t1, i, t2;
-      for (t1 = chars.length, i = 0; i < t1; ++i) {
-        t2 = chars.charCodeAt(i) ^ 96;
-        if (!(t2 < 96))
-          return A.ioore(target, t2);
-        target[t2] = transition;
+      var t1, t2, i, t3;
+      for (t1 = chars.length, t2 = target.$flags | 0, i = 0; i < t1; ++i) {
+        t3 = chars.charCodeAt(i) ^ 96;
+        t2 & 2 && A.throwUnsupportedOperation(target);
+        if (!(t3 < 96))
+          return A.ioore(target, t3);
+        target[t3] = transition;
       }
     },
-    $signature: 26
+    $signature: 25
   };
   A._createTables_setRange.prototype = {
     call$3(target, range, transition) {
-      var i, n,
+      var i, n, t2,
         t1 = range.length;
       if (0 >= t1)
         return A.ioore(range, 0);
@@ -17100,14 +17145,16 @@
       if (1 >= t1)
         return A.ioore(range, 1);
       n = range.charCodeAt(1);
+      t1 = target.$flags | 0;
       for (; i <= n; ++i) {
-        t1 = (i ^ 96) >>> 0;
-        if (!(t1 < 96))
-          return A.ioore(target, t1);
-        target[t1] = transition;
+        t2 = (i ^ 96) >>> 0;
+        t1 & 2 && A.throwUnsupportedOperation(target);
+        if (!(t2 < 96))
+          return A.ioore(target, t2);
+        target[t2] = transition;
       }
     },
-    $signature: 26
+    $signature: 25
   };
   A._SimpleUri.prototype = {
     get$hasAuthority() {
@@ -17247,11 +17294,6 @@
     $isUri: 1
   };
   A._DataUri.prototype = {};
-  A.Expando.prototype = {
-    toString$0(_) {
-      return "Expando:null";
-    }
-  };
   A.HtmlElement.prototype = {$isHtmlElement: 1};
   A.AccessibleNodeList.prototype = {
     get$length(receiver) {
@@ -17370,6 +17412,7 @@
         return A.ioore(receiver, index);
       return receiver[index];
     },
+    $isJSIndexable: 1,
     $isEfficientLengthIterable: 1,
     $isJavaScriptIndexingBehavior: 1,
     $isIterable: 1,
@@ -17385,28 +17428,26 @@
       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;
+      var t1, t2, t3;
       if (other == null)
         return false;
+      t1 = false;
       if (type$.Rectangle_num._is(other)) {
-        t1 = receiver.left;
-        t1.toString;
-        t2 = other.left;
+        t2 = receiver.left;
         t2.toString;
-        if (t1 === t2) {
-          t1 = receiver.top;
-          t1.toString;
-          t2 = other.top;
+        t3 = other.left;
+        t3.toString;
+        if (t2 === t3) {
+          t2 = receiver.top;
           t2.toString;
-          if (t1 === t2) {
+          t3 = other.top;
+          t3.toString;
+          if (t2 === t3) {
             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) {
@@ -17469,6 +17510,7 @@
         return A.ioore(receiver, index);
       return receiver[index];
     },
+    $isJSIndexable: 1,
     $isEfficientLengthIterable: 1,
     $isJavaScriptIndexingBehavior: 1,
     $isIterable: 1,
@@ -17614,7 +17656,7 @@
     call$1(e) {
       return type$.Element._is(type$.Node._as(e));
     },
-    $signature: 43
+    $signature: 57
   };
   A.Event.prototype = {$isEvent: 1};
   A.EventTarget.prototype = {
@@ -17669,6 +17711,7 @@
         return A.ioore(receiver, index);
       return receiver[index];
     },
+    $isJSIndexable: 1,
     $isEfficientLengthIterable: 1,
     $isJavaScriptIndexingBehavior: 1,
     $isIterable: 1,
@@ -17727,6 +17770,7 @@
         return A.ioore(receiver, index);
       return receiver[index];
     },
+    $isJSIndexable: 1,
     $isEfficientLengthIterable: 1,
     $isJavaScriptIndexingBehavior: 1,
     $isIterable: 1,
@@ -17762,7 +17806,7 @@
       else
         t3.completeError$1(e);
     },
-    $signature: 97
+    $signature: 100
   };
   A.HttpRequestEventTarget.prototype = {};
   A.ImageData.prototype = {$isImageData: 1};
@@ -17930,6 +17974,7 @@
         return A.ioore(receiver, index);
       return receiver[index];
     },
+    $isJSIndexable: 1,
     $isEfficientLengthIterable: 1,
     $isJavaScriptIndexingBehavior: 1,
     $isIterable: 1,
@@ -18051,6 +18096,7 @@
         return A.ioore(receiver, index);
       return receiver[index];
     },
+    $isJSIndexable: 1,
     $isEfficientLengthIterable: 1,
     $isJavaScriptIndexingBehavior: 1,
     $isIterable: 1,
@@ -18096,6 +18142,7 @@
         return A.ioore(receiver, index);
       return receiver[index];
     },
+    $isJSIndexable: 1,
     $isEfficientLengthIterable: 1,
     $isJavaScriptIndexingBehavior: 1,
     $isIterable: 1,
@@ -18193,6 +18240,7 @@
         return A.ioore(receiver, index);
       return receiver[index];
     },
+    $isJSIndexable: 1,
     $isEfficientLengthIterable: 1,
     $isJavaScriptIndexingBehavior: 1,
     $isIterable: 1,
@@ -18233,6 +18281,7 @@
         return A.ioore(receiver, index);
       return receiver[index];
     },
+    $isJSIndexable: 1,
     $isEfficientLengthIterable: 1,
     $isJavaScriptIndexingBehavior: 1,
     $isIterable: 1,
@@ -18285,7 +18334,7 @@
     call$2(k, v) {
       return B.JSArray_methods.add$1(this.keys, k);
     },
-    $signature: 33
+    $signature: 18
   };
   A.StyleSheet.prototype = {$isStyleSheet: 1};
   A.TableElement.prototype = {
@@ -18382,6 +18431,7 @@
         return A.ioore(receiver, index);
       return receiver[index];
     },
+    $isJSIndexable: 1,
     $isEfficientLengthIterable: 1,
     $isJavaScriptIndexingBehavior: 1,
     $isIterable: 1,
@@ -18421,6 +18471,7 @@
         return A.ioore(receiver, index);
       return receiver[index];
     },
+    $isJSIndexable: 1,
     $isEfficientLengthIterable: 1,
     $isJavaScriptIndexingBehavior: 1,
     $isIterable: 1,
@@ -18468,6 +18519,7 @@
         return A.ioore(receiver, index);
       return receiver[index];
     },
+    $isJSIndexable: 1,
     $isEfficientLengthIterable: 1,
     $isJavaScriptIndexingBehavior: 1,
     $isIterable: 1,
@@ -18539,6 +18591,7 @@
         return A.ioore(receiver, index);
       return receiver[index];
     },
+    $isJSIndexable: 1,
     $isEfficientLengthIterable: 1,
     $isJavaScriptIndexingBehavior: 1,
     $isIterable: 1,
@@ -18558,36 +18611,33 @@
       return "Rectangle (" + A.S(t1) + ", " + A.S(t2) + ") " + A.S(t3) + " x " + A.S(t4);
     },
     $eq(receiver, other) {
-      var t1, t2;
+      var t1, t2, t3;
       if (other == null)
         return false;
+      t1 = false;
       if (type$.Rectangle_num._is(other)) {
-        t1 = receiver.left;
-        t1.toString;
-        t2 = other.left;
+        t2 = receiver.left;
         t2.toString;
-        if (t1 === t2) {
-          t1 = receiver.top;
-          t1.toString;
-          t2 = other.top;
+        t3 = other.left;
+        t3.toString;
+        if (t2 === t3) {
+          t2 = receiver.top;
           t2.toString;
-          if (t1 === t2) {
-            t1 = receiver.width;
-            t1.toString;
-            t2 = J.getInterceptor$x(other);
-            if (t1 === t2.get$width(other)) {
+          t3 = other.top;
+          t3.toString;
+          if (t2 === t3) {
+            t2 = receiver.width;
+            t2.toString;
+            t3 = J.getInterceptor$x(other);
+            if (t2 === t3.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;
+              t3 = t1 === t3.get$height(other);
+              t1 = t3;
+            }
+          }
+        }
+      }
       return t1;
     },
     get$hashCode(receiver) {
@@ -18647,6 +18697,7 @@
         return A.ioore(receiver, index);
       return receiver[index];
     },
+    $isJSIndexable: 1,
     $isEfficientLengthIterable: 1,
     $isJavaScriptIndexingBehavior: 1,
     $isIterable: 1,
@@ -18686,6 +18737,7 @@
         return A.ioore(receiver, index);
       return receiver[index];
     },
+    $isJSIndexable: 1,
     $isEfficientLengthIterable: 1,
     $isJavaScriptIndexingBehavior: 1,
     $isIterable: 1,
@@ -18725,6 +18777,7 @@
         return A.ioore(receiver, index);
       return receiver[index];
     },
+    $isJSIndexable: 1,
     $isEfficientLengthIterable: 1,
     $isJavaScriptIndexingBehavior: 1,
     $isIterable: 1,
@@ -18764,6 +18817,7 @@
         return A.ioore(receiver, index);
       return receiver[index];
     },
+    $isJSIndexable: 1,
     $isEfficientLengthIterable: 1,
     $isJavaScriptIndexingBehavior: 1,
     $isIterable: 1,
@@ -18905,9 +18959,9 @@
       var _i;
       if ($._Html5NodeValidator__attributeValidators.__js_helper$_length === 0) {
         for (_i = 0; _i < 262; ++_i)
-          $._Html5NodeValidator__attributeValidators.$indexSet(0, B.List_AOY[_i], A.html0__Html5NodeValidator__standardAttributeValidator$closure());
+          $._Html5NodeValidator__attributeValidators.$indexSet(0, B.List_AOY[_i], A.html__Html5NodeValidator__standardAttributeValidator$closure());
         for (_i = 0; _i < 12; ++_i)
-          $._Html5NodeValidator__attributeValidators.$indexSet(0, B.List_4Jt[_i], A.html0__Html5NodeValidator__uriAttributeValidator$closure());
+          $._Html5NodeValidator__attributeValidators.$indexSet(0, B.List_4Jt[_i], A.html__Html5NodeValidator__uriAttributeValidator$closure());
       }
     },
     allowsElement$1(element) {
@@ -18945,13 +18999,13 @@
     call$1(v) {
       return type$.NodeValidator._as(v).allowsElement$1(this.element);
     },
-    $signature: 29
+    $signature: 28
   };
   A.NodeValidatorBuilder_allowsAttribute_closure.prototype = {
     call$1(v) {
       return type$.NodeValidator._as(v).allowsAttribute$3(this.element, this.attributeName, this.value);
     },
-    $signature: 29
+    $signature: 28
   };
   A._SimpleNodeValidator.prototype = {
     _SimpleNodeValidator$4$allowedAttributes$allowedElements$allowedUriAttributes(uriPolicy, allowedAttributes, allowedElements, allowedUriAttributes) {
@@ -18998,13 +19052,13 @@
     call$1(x) {
       return !B.JSArray_methods.contains$1(B.List_4Jt, A._asString(x));
     },
-    $signature: 30
+    $signature: 29
   };
   A._SimpleNodeValidator_closure0.prototype = {
     call$1(x) {
       return B.JSArray_methods.contains$1(B.List_4Jt, A._asString(x));
     },
-    $signature: 30
+    $signature: 29
   };
   A._TemplatingNodeValidator.prototype = {
     allowsAttribute$3(element, attributeName, value) {
@@ -19021,7 +19075,7 @@
     call$1(attr) {
       return "TEMPLATE::" + A._asString(attr);
     },
-    $signature: 25
+    $signature: 24
   };
   A._SvgNodeValidator.prototype = {
     allowsElement$1(element) {
@@ -19266,7 +19320,7 @@
         child = nextChild;
       }
     },
-    $signature: 83
+    $signature: 37
   };
   A._CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase.prototype = {};
   A._DomRectList_JavaScriptObject_ListMixin.prototype = {};
@@ -19435,7 +19489,7 @@
       if (t1) {
         t1 = e.getTime();
         t1.toString;
-        return A.DateTime$fromMillisecondsSinceEpoch(t1, true);
+        return new A.DateTime(A.DateTime__validate(t1, 0, true), 0, true);
       }
       t1 = e instanceof RegExp;
       t1.toString;
@@ -19685,7 +19739,7 @@
       if (t1.containsKey$1(0, o))
         return t1.$index(0, o);
       if (o instanceof Date)
-        return A.DateTime$fromMillisecondsSinceEpoch(o.getTime(), true);
+        return new A.DateTime(A.DateTime__validate(o.getTime(), 0, true), 0, true);
       if (o instanceof RegExp)
         throw A.wrapException(A.ArgumentError$("structured clone of RegExp", null));
       if (typeof Promise != "undefined" && o instanceof Promise)
@@ -19730,77 +19784,10 @@
   A._JSRandom.prototype = {
     nextInt$1(max) {
       if (max <= 0 || max > 4294967296)
-        throw A.wrapException(A.RangeError$(string$.max_mu + max));
+        throw A.wrapException(A.RangeError$("max must be in range 0 < max \u2264 2^32, was " + max));
       return Math.random() * max >>> 0;
-    }
-  };
-  A._Random.prototype = {
-    _Random$1(seed) {
-      var low, high, tmplow, low0, t1, t2, t3, _this = this, _4294967296 = 4294967296,
-        empty_seed = seed < 0 ? -1 : 0;
-      do {
-        low = seed >>> 0;
-        seed = B.JSInt_methods._tdivFast$1(seed - low, _4294967296);
-        high = seed >>> 0;
-        seed = B.JSInt_methods._tdivFast$1(seed - high, _4294967296);
-        tmplow = (~low >>> 0) + (low << 21 >>> 0);
-        low0 = tmplow >>> 0;
-        high = (~high >>> 0) + ((high << 21 | low >>> 11) >>> 0) + B.JSInt_methods._tdivFast$1(tmplow - low0, _4294967296) >>> 0;
-        tmplow = ((low0 ^ (low0 >>> 24 | high << 8)) >>> 0) * 265;
-        low = tmplow >>> 0;
-        high = ((high ^ high >>> 24) >>> 0) * 265 + B.JSInt_methods._tdivFast$1(tmplow - low, _4294967296) >>> 0;
-        tmplow = ((low ^ (low >>> 14 | high << 18)) >>> 0) * 21;
-        low = tmplow >>> 0;
-        high = ((high ^ high >>> 14) >>> 0) * 21 + B.JSInt_methods._tdivFast$1(tmplow - low, _4294967296) >>> 0;
-        low = (low ^ (low >>> 28 | high << 4)) >>> 0;
-        high = (high ^ high >>> 28) >>> 0;
-        tmplow = (low << 31 >>> 0) + low;
-        low0 = tmplow >>> 0;
-        t1 = B.JSInt_methods._tdivFast$1(tmplow - low0, _4294967296);
-        tmplow = _this._lo * 1037;
-        t2 = _this._lo = tmplow >>> 0;
-        t3 = _this._hi * 1037 + B.JSInt_methods._tdivFast$1(tmplow - t2, _4294967296) >>> 0;
-        _this._hi = t3;
-        t2 = (t2 ^ low0) >>> 0;
-        _this._lo = t2;
-        t1 = (t3 ^ high + ((high << 31 | low >>> 1) >>> 0) + t1 >>> 0) >>> 0;
-        _this._hi = t1;
-      } while (seed !== empty_seed);
-      if (t1 === 0 && t2 === 0)
-        _this._lo = 23063;
-      _this._nextState$0();
-      _this._nextState$0();
-      _this._nextState$0();
-      _this._nextState$0();
     },
-    _nextState$0() {
-      var _this = this,
-        t1 = _this._lo,
-        tmpHi = 4294901760 * t1,
-        tmpHiLo = tmpHi >>> 0,
-        tmpLo = 55905 * t1,
-        tmpLoLo = tmpLo >>> 0,
-        newLo = tmpLoLo + tmpHiLo + _this._hi;
-      t1 = newLo >>> 0;
-      _this._lo = t1;
-      _this._hi = B.JSInt_methods._tdivFast$1(tmpLo - tmpLoLo + (tmpHi - tmpHiLo) + (newLo - t1), 4294967296) >>> 0;
-    },
-    nextInt$1(max) {
-      var t1, rnd32, result, _this = this;
-      if (max <= 0 || max > 4294967296)
-        throw A.wrapException(A.RangeError$(string$.max_mu + max));
-      t1 = max - 1;
-      if ((max & t1) >>> 0 === 0) {
-        _this._nextState$0();
-        return (_this._lo & t1) >>> 0;
-      }
-      do {
-        _this._nextState$0();
-        rnd32 = _this._lo;
-        result = rnd32 % max;
-      } while (rnd32 - result + max >= 4294967296);
-      return result;
-    }
+    $isRandom: 1
   };
   A.Length.prototype = {$isLength: 1};
   A.LengthList.prototype = {
@@ -20503,8 +20490,7 @@
         t1 = _this.__ListMultimapBuilder__builtMap_A;
         t1 === $ && A.throwLateFieldNI(_s9_);
         t2 = _this.$ti;
-        t3 = t2._rest[1];
-        _this.set$_list_multimap$_builtMapOwner(new A._BuiltListMultimap(t1, A.BuiltList_BuiltList$from(B.List_empty, t3), t2._eval$1("@<1>")._bind$1(t3)._eval$1("_BuiltListMultimap<1,2>")));
+        _this.set$_list_multimap$_builtMapOwner(new A._BuiltListMultimap(t1, A.BuiltList_BuiltList$from(B.List_empty, t2._rest[1]), t2._eval$1("_BuiltListMultimap<1,2>")));
       }
       t1 = _this._list_multimap$_builtMapOwner;
       t1.toString;
@@ -20617,7 +20603,7 @@
     toBuilder$0() {
       var t1 = this.$ti;
       t1._eval$1("_BuiltMap<1,2>")._as(this);
-      return new A.MapBuilder(this._mapFactory, this._map$_map, this, t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("MapBuilder<1,2>"));
+      return new A.MapBuilder(this._mapFactory, this._map$_map, this, t1._eval$1("MapBuilder<1,2>"));
     },
     get$hashCode(_) {
       var t2, _this = this,
@@ -20716,12 +20702,11 @@
   };
   A.MapBuilder.prototype = {
     build$0() {
-      var t1, t2, _this = this;
+      var t1, _this = this;
       if (_this._mapOwner == null) {
         t1 = _this.__MapBuilder__map_A;
         t1 === $ && A.throwLateFieldNI("_map");
-        t2 = _this.$ti;
-        _this.set$_mapOwner(new A._BuiltMap(_this._mapFactory, t1, t2._eval$1("@<1>")._bind$1(t2._rest[1])._eval$1("_BuiltMap<1,2>")));
+        _this.set$_mapOwner(new A._BuiltMap(_this._mapFactory, t1, _this.$ti._eval$1("_BuiltMap<1,2>")));
       }
       t1 = _this._mapOwner;
       t1.toString;
@@ -21090,8 +21075,7 @@
         t1 = _this.__SetMultimapBuilder__builtMap_A;
         t1 === $ && A.throwLateFieldNI(_s9_);
         t2 = _this.$ti;
-        t3 = t2._rest[1];
-        _this.set$_builtMapOwner(new A._BuiltSetMultimap(t1, A.BuiltSet_BuiltSet$from(B.List_empty, t3), t2._eval$1("@<1>")._bind$1(t3)._eval$1("_BuiltSetMultimap<1,2>")));
+        _this.set$_builtMapOwner(new A._BuiltSetMultimap(t1, A.BuiltSet_BuiltSet$from(B.List_empty, t2._rest[1]), t2._eval$1("_BuiltSetMultimap<1,2>")));
       }
       t1 = _this._builtMapOwner;
       t1.toString;
@@ -21211,7 +21195,7 @@
       $._indentingBuiltValueToStringHelperIndent = $._indentingBuiltValueToStringHelperIndent + 2;
       return new A.IndentingBuiltValueToStringHelper(t1);
     },
-    $signature: 37
+    $signature: 45
   };
   A.IndentingBuiltValueToStringHelper.prototype = {
     add$2(_, field, value) {
@@ -21347,7 +21331,7 @@
     call$0() {
       return A.ListBuilder_ListBuilder(B.List_empty, type$.Object);
     },
-    $signature: 46
+    $signature: 87
   };
   A.Serializers_Serializers_closure0.prototype = {
     call$0() {
@@ -21367,7 +21351,7 @@
     call$0() {
       return A.SetBuilder_SetBuilder(type$.Object);
     },
-    $signature: 98
+    $signature: 49
   };
   A.Serializers_Serializers_closure3.prototype = {
     call$0() {
@@ -22135,17 +22119,22 @@
       type$.DateTime._as(dateTime);
       if (!dateTime.isUtc)
         throw A.wrapException(A.ArgumentError$value(dateTime, "dateTime", "Must be in utc for serialization."));
-      return 1000 * dateTime._value;
+      return 1000 * dateTime._value + dateTime._microsecond;
     },
     serialize$2(serializers, dateTime) {
       return this.serialize$3$specifiedType(serializers, dateTime, B.FullType_null_List_empty_false);
     },
     deserialize$3$specifiedType(serializers, serialized, specifiedType) {
-      var t1 = B.JSNumber_methods.round$0(A._asInt(serialized) / 1000);
-      if (Math.abs(t1) > 864e13)
-        A.throwExpression(A.ArgumentError$("DateTime is outside valid range: " + t1, null));
+      var t1, t2;
+      A._asInt(serialized);
+      t1 = B.JSInt_methods.$mod(serialized, 1000);
+      t2 = B.JSInt_methods._tdivFast$1(serialized - t1, 1000);
+      if (t2 < -864e13 || t2 > 864e13)
+        A.throwExpression(A.RangeError$range(t2, -864e13, 864e13, "millisecondsSinceEpoch", null));
+      if (t2 === 864e13 && t1 !== 0)
+        A.throwExpression(A.ArgumentError$value(t1, "microsecond", string$.Time_i));
       A.checkNotNullable(true, "isUtc", type$.bool);
-      return new A.DateTime(t1, true);
+      return new A.DateTime(t2, t1, true);
     },
     deserialize$2(serializers, serialized) {
       return this.deserialize$3$specifiedType(serializers, serialized, B.FullType_null_List_empty_false);
@@ -23452,6 +23441,11 @@
         result.push("uriOnly");
         result.push(serializers.serialize$2$specifiedType(value, B.FullType_mpw));
       }
+      value = object.client;
+      if (value != null) {
+        result.push("client");
+        result.push(serializers.serialize$2$specifiedType(value, B.FullType_iHz));
+      }
       return result;
     },
     serialize$2(serializers, object) {
@@ -23492,6 +23486,10 @@
             t1 = A._asBoolQ(serializers.deserialize$2$specifiedType(value, B.FullType_mpw));
             result.get$_devtools_request$_$this()._uriOnly = t1;
             break;
+          case "client":
+            t1 = A._asStringQ(serializers.deserialize$2$specifiedType(value, B.FullType_iHz));
+            result.get$_devtools_request$_$this()._devtools_request$_client = t1;
+            break;
         }
       }
       return result._devtools_request$_build$0();
@@ -23585,11 +23583,11 @@
         return false;
       if (other === _this)
         return true;
-      return other instanceof A._$DevToolsRequest && _this.appId === other.appId && _this.instanceId === other.instanceId && _this.contextId == other.contextId && _this.tabUrl == other.tabUrl && _this.uriOnly == other.uriOnly;
+      return other instanceof A._$DevToolsRequest && _this.appId === other.appId && _this.instanceId === other.instanceId && _this.contextId == other.contextId && _this.tabUrl == other.tabUrl && _this.uriOnly == other.uriOnly && _this.client == other.client;
     },
     get$hashCode(_) {
       var _this = this;
-      return A.$jf(A.$jc(A.$jc(A.$jc(A.$jc(A.$jc(0, B.JSString_methods.get$hashCode(_this.appId)), B.JSString_methods.get$hashCode(_this.instanceId)), J.get$hashCode$(_this.contextId)), J.get$hashCode$(_this.tabUrl)), J.get$hashCode$(_this.uriOnly)));
+      return A.$jf(A.$jc(A.$jc(A.$jc(A.$jc(A.$jc(A.$jc(0, B.JSString_methods.get$hashCode(_this.appId)), B.JSString_methods.get$hashCode(_this.instanceId)), J.get$hashCode$(_this.contextId)), J.get$hashCode$(_this.tabUrl)), J.get$hashCode$(_this.uriOnly)), J.get$hashCode$(_this.client)));
     },
     toString$0(_) {
       var _this = this,
@@ -23600,6 +23598,7 @@
       t2.add$2(t1, "contextId", _this.contextId);
       t2.add$2(t1, "tabUrl", _this.tabUrl);
       t2.add$2(t1, "uriOnly", _this.uriOnly);
+      t2.add$2(t1, "client", _this.client);
       return t2.toString$0(t1);
     }
   };
@@ -23613,6 +23612,7 @@
         _this._contextId = $$v.contextId;
         _this._devtools_request$_tabUrl = $$v.tabUrl;
         _this._uriOnly = $$v.uriOnly;
+        _this._devtools_request$_client = $$v.client;
         _this._devtools_request$_$v = null;
       }
       return _this;
@@ -23626,7 +23626,7 @@
         t1 = type$.String;
         t2 = A.BuiltValueNullFieldError_checkNotNull(_this.get$_devtools_request$_$this()._devtools_request$_appId, _s15_, "appId", t1);
         t3 = A.BuiltValueNullFieldError_checkNotNull(_this.get$_devtools_request$_$this()._devtools_request$_instanceId, _s15_, _s10_, t1);
-        _$result = new A._$DevToolsRequest(t2, t3, _this.get$_devtools_request$_$this()._contextId, _this.get$_devtools_request$_$this()._devtools_request$_tabUrl, _this.get$_devtools_request$_$this()._uriOnly);
+        _$result = new A._$DevToolsRequest(t2, t3, _this.get$_devtools_request$_$this()._contextId, _this.get$_devtools_request$_$this()._devtools_request$_tabUrl, _this.get$_devtools_request$_$this()._uriOnly, _this.get$_devtools_request$_$this()._devtools_request$_client);
         A.BuiltValueNullFieldError_checkNotNull(t2, _s15_, "appId", t1);
         A.BuiltValueNullFieldError_checkNotNull(t3, _s15_, _s10_, t1);
       }
@@ -24610,13 +24610,13 @@
     call$0() {
       return true;
     },
-    $signature: 32
+    $signature: 31
   };
   A.BatchedStreamController__hasEventDuring_closure.prototype = {
     call$0() {
       return false;
     },
-    $signature: 32
+    $signature: 31
   };
   A.SocketClient.prototype = {};
   A.SseSocketClient.prototype = {
@@ -24633,20 +24633,20 @@
     get$sink() {
       var t2,
         t1 = this._channel,
-        value = t1.__HtmlWebSocketChannel_sink_FI;
+        value = t1.__AdapterWebSocketChannel_sink_FI;
       if (value === $) {
-        t2 = t1._html$_controller.__StreamChannelController__foreign_F;
+        t2 = t1._adapter_web_socket_channel$_controller.__StreamChannelController__foreign_F;
         t2 === $ && A.throwLateFieldNI("_foreign");
         t2 = t2.__GuaranteeChannel__sink_F;
         t2 === $ && A.throwLateFieldNI("_sink");
         value !== $ && A.throwLateFieldADI("sink");
-        value = t1.__HtmlWebSocketChannel_sink_FI = new A._HtmlWebSocketSink(t1, t2);
+        value = t1.__AdapterWebSocketChannel_sink_FI = new A._WebSocketSink(t1, t2);
       }
       return value;
     },
     get$stream(_) {
       var t2,
-        t1 = this._channel._html$_controller.__StreamChannelController__foreign_F;
+        t1 = this._channel._adapter_web_socket_channel$_controller.__StreamChannelController__foreign_F;
       t1 === $ && A.throwLateFieldNI("_foreign");
       t1 = t1.__GuaranteeChannel__streamController_F;
       t1 === $ && A.throwLateFieldNI("_streamController");
@@ -24665,7 +24665,7 @@
       type$.StackTrace._as(stackTrace);
       return $.$get$_logger().log$4(B.Level_WARNING_900, "Error in unawaited Future:", error, stackTrace);
     },
-    $signature: 27
+    $signature: 19
   };
   A.Int32.prototype = {
     _toInt$1(val) {
@@ -25014,17 +25014,15 @@
   A.PoolResource.prototype = {};
   A.SseClient.prototype = {
     SseClient$2$debugKey(serverUrl, debugKey) {
-      var t2, t3, _this = this,
+      var t2, _this = this,
         t1 = serverUrl + "?sseClientId=" + _this._clientId;
       _this.__SseClient__serverUrl_A = t1;
       t2 = type$.JSObject;
       t1 = t2._as(new self.EventSource(t1, {withCredentials: true}));
       _this.__SseClient__eventSource_A = t1;
       new A._EventStream(t1, "open", false, type$._EventStream_JSObject).get$first(0).whenComplete$1(new A.SseClient_closure(_this));
-      t1 = type$.Function;
-      t3 = type$.JavaScriptFunction;
-      _this.__SseClient__eventSource_A.addEventListener("message", t3._as(A.allowInterop(_this.get$_onIncomingMessage(), t1)));
-      _this.__SseClient__eventSource_A.addEventListener("control", t3._as(A.allowInterop(_this.get$_onIncomingControlMessage(), t1)));
+      _this.__SseClient__eventSource_A.addEventListener("message", A._functionToJS1(_this.get$_onIncomingMessage()));
+      _this.__SseClient__eventSource_A.addEventListener("control", A._functionToJS1(_this.get$_onIncomingControlMessage()));
       t1 = type$.nullable_void_Function_JSObject;
       A._EventStreamSubscription$0(_this.__SseClient__eventSource_A, "open", t1._as(new A.SseClient_closure0(_this)), false, t2);
       A._EventStreamSubscription$0(_this.__SseClient__eventSource_A, "error", t1._as(new A.SseClient_closure1(_this)), false, t2);
@@ -25198,7 +25196,7 @@
       });
       return A._asyncStartSync($async$call$0, $async$completer);
     },
-    $signature: 28
+    $signature: 27
   };
   A.generateUuidV4_generateBits.prototype = {
     call$1(bitCount) {
@@ -25210,13 +25208,13 @@
     call$2(value, count) {
       return B.JSString_methods.padLeft$2(B.JSInt_methods.toRadixString$1(value, 16), count, "0");
     },
-    $signature: 34
+    $signature: 36
   };
   A.generateUuidV4_bitsDigits.prototype = {
     call$2(bitCount, digitCount) {
       return this.printDigits.call$2(this.generateBits.call$1(bitCount), digitCount);
     },
-    $signature: 34
+    $signature: 36
   };
   A.GuaranteeChannel.prototype = {
     GuaranteeChannel$3$allowSinkErrors(innerSink, allowSinkErrors, _box_0, $T) {
@@ -25340,95 +25338,86 @@
     }
   };
   A.StreamChannelMixin.prototype = {$isStreamChannel: 1};
-  A.Uuid.prototype = {
-    get$_uuid$_state() {
-      var t2, t3,
-        t1 = $.$get$Uuid__stateExpando();
-      A.Expando__checkType(this);
-      t2 = t1._jsWeakMap;
-      t3 = t2.get(this);
-      if (t3 == null) {
-        t3 = A.LinkedHashMap_LinkedHashMap$_literal(["seedBytes", null, "node", null, "clockSeq", null, "mSecs", 0, "nSecs", 0, "hasInitV1", false, "hasInitV4", false], type$.String, type$.dynamic);
-        t1.$ti._eval$1("1?")._as(t3);
-        t2.set(this, t3);
-        t1 = t3;
-      } else
-        t1 = t3;
-      return t1;
-    },
-    v1$0() {
-      var seedBytes, nodeId, t2, t3, t4, clockSeq, mSecs, nSecs, tl, tmh, node, n, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, _this = this,
-        _s9_ = "hasInitV1",
-        _s9_0 = "seedBytes",
-        _s4_ = "node",
-        _s8_ = "clockSeq",
-        _s5_ = "mSecs", _s5_0 = "nSecs",
-        buf = new Uint8Array(16),
-        options = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic),
-        t1 = J.$index$asx(_this.get$_uuid$_state(), _s9_);
-      t1.toString;
-      if (!A._asBool(t1)) {
-        seedBytes = A.UuidUtil_mathRNG();
-        if (J.$index$asx(_this.get$_uuid$_state(), _s9_0) != null)
-          J.$index$asx(_this.get$_uuid$_state(), _s9_0);
-        else
-          J.$indexSet$ax(_this.get$_uuid$_state(), _s9_0, seedBytes);
-        nodeId = A._setArrayType([seedBytes[0] | 1, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]], type$.JSArray_int);
-        if (J.$index$asx(_this.get$_uuid$_state(), _s4_) != null)
-          J.$index$asx(_this.get$_uuid$_state(), _s4_);
-        else
-          J.$indexSet$ax(_this.get$_uuid$_state(), _s4_, nodeId);
-        t1 = seedBytes[6];
-        t2 = seedBytes[7];
-        t3 = _this.get$_uuid$_state();
-        t4 = J.getInterceptor$asx(t3);
-        if (t4.$index(t3, _s8_) == null)
-          t4.$indexSet(t3, _s8_, (t1 << 8 | t2) & 262143);
-        J.$indexSet$ax(_this.get$_uuid$_state(), _s5_, 0);
-        J.$indexSet$ax(_this.get$_uuid$_state(), _s5_0, 0);
-        J.$indexSet$ax(_this.get$_uuid$_state(), _s9_, true);
+  A.RNG.prototype = {};
+  A.MathRNG.prototype = {
+    _generateInternal$0() {
+      var t1, i, k, t2, t3,
+        b = new Uint8Array(16);
+      for (t1 = this._rnd, i = 0; i < 16; i += 4) {
+        k = t1.nextInt$1(B.JSNumber_methods.toInt$0(Math.pow(2, 32)));
+        if (!(i < 16))
+          return A.ioore(b, i);
+        b[i] = k;
+        t2 = i + 1;
+        t3 = B.JSInt_methods._shrOtherPositive$1(k, 8);
+        if (!(t2 < 16))
+          return A.ioore(b, t2);
+        b[t2] = t3;
+        t3 = i + 2;
+        t2 = B.JSInt_methods._shrOtherPositive$1(k, 16);
+        if (!(t3 < 16))
+          return A.ioore(b, t3);
+        b[t3] = t2;
+        t2 = i + 3;
+        t3 = B.JSInt_methods._shrOtherPositive$1(k, 24);
+        if (!(t2 < 16))
+          return A.ioore(b, t2);
+        b[t2] = t3;
       }
-      options.$index(0, _s8_);
-      clockSeq = A._asInt(J.$index$asx(_this.get$_uuid$_state(), _s8_));
-      options.$index(0, _s5_);
+      return b;
+    }
+  };
+  A.UuidV1.prototype = {
+    _init$0() {
+      if ($.V1State_initialized)
+        return;
+      var uint8list = $.$get$V1State_random()._generateInternal$0();
+      $.V1State_nodeId = A._setArrayType([uint8list[0] | 1, uint8list[1], uint8list[2], uint8list[3], uint8list[4], uint8list[5]], type$.JSArray_int);
+      $.V1State_clockSeq = (uint8list[6] << 8 | uint8list[7]) & 262143;
+      $.V1State_initialized = true;
+    },
+    generate$1$options(options) {
+      var buf, clockSeq, mSecs, t1, nSecs, t2, tl, tmh, node, n, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17;
+      this._init$0();
+      buf = new Uint8Array(16);
+      clockSeq = $.V1State_clockSeq;
       mSecs = Date.now();
-      options.$index(0, _s5_0);
-      t1 = J.$index$asx(_this.get$_uuid$_state(), _s5_0);
-      t1.toString;
-      nSecs = A._asInt(t1) + 1;
-      t1 = mSecs - A._asNum(J.$index$asx(_this.get$_uuid$_state(), _s5_)) + (nSecs - A._asNum(J.$index$asx(_this.get$_uuid$_state(), _s5_0))) / 10000 < 0;
-      if (t1)
-        options.$index(0, _s8_);
+      t1 = $.V1State_nSecs;
+      nSecs = t1 + 1;
+      t2 = $.V1State_mSecs;
+      t1 = mSecs - t2 + (nSecs - t1) / 10000 < 0;
       if (t1)
         clockSeq = clockSeq + 1 & 16383;
-      t1 = t1 || mSecs > A._asNum(J.$index$asx(_this.get$_uuid$_state(), _s5_));
-      if (t1)
-        options.$index(0, _s5_0);
+      t1 = t1 || mSecs > t2;
       if (t1)
         nSecs = 0;
       if (nSecs >= 10000)
         throw A.wrapException(A.Exception_Exception("uuid.v1(): Can't create more than 10M uuids/sec"));
-      J.$indexSet$ax(_this.get$_uuid$_state(), _s5_, mSecs);
-      J.$indexSet$ax(_this.get$_uuid$_state(), _s5_0, nSecs);
-      J.$indexSet$ax(_this.get$_uuid$_state(), _s8_, clockSeq);
+      $.V1State_mSecs = mSecs;
+      $.V1State_nSecs = nSecs;
+      $.V1State_clockSeq = clockSeq;
       mSecs += 122192928e5;
-      tl = B.JSInt_methods.$mod((mSecs & 268435455) * 10000 + nSecs, 4294967296);
-      buf[0] = B.JSInt_methods._shrOtherPositive$1(tl, 24) & 255;
-      buf[1] = B.JSInt_methods._shrOtherPositive$1(tl, 16) & 255;
-      buf[2] = B.JSInt_methods._shrOtherPositive$1(tl, 8) & 255;
+      tl = ((mSecs & 268435455) * 10000 + nSecs) % 4294967296;
+      buf[0] = tl >>> 24 & 255;
+      buf[1] = tl >>> 16 & 255;
+      buf[2] = tl >>> 8 & 255;
       buf[3] = tl & 255;
       tmh = B.JSNumber_methods.floor$0(mSecs / 4294967296 * 10000) & 268435455;
       buf[4] = tmh >>> 8 & 255;
       buf[5] = tmh & 255;
-      buf[6] = tmh >>> 24 & 15 | 16;
+      buf[6] = tmh >>> 24 & 255;
       buf[7] = tmh >>> 16 & 255;
-      buf[8] = clockSeq >>> 8 & 63 | 128;
+      buf[8] = clockSeq >>> 8 & 63;
       buf[9] = clockSeq & 255;
-      options.$index(0, _s4_);
-      node = type$.List_dynamic._as(J.$index$asx(_this.get$_uuid$_state(), _s4_));
-      for (t1 = J.getInterceptor$asx(node), n = 0; n < 6; ++n)
-        buf[10 + n] = A._asInt(t1.$index(node, n));
-      t1 = $.$get$Uuid__byteToHex();
+      buf[6] = buf[6] & 15 | 16;
+      buf[8] = buf[8] | 128;
+      node = $.V1State_nodeId;
+      for (t1 = node.length, n = 0; n < 6; ++n) {
+        if (!(n < t1))
+          return A.ioore(node, n);
+        buf[10 + n] = node[n];
+      }
+      t1 = $.$get$UuidParsing__byteToHex();
       t2 = buf[0];
       if (!(t2 < 256))
         return A.ioore(t1, t2);
@@ -25524,7 +25513,7 @@
         throw A.wrapException(A.StateError$("Subscription has been canceled."));
       _this._streams$_unlisten$0();
       t1 = A._wrapZone0(new A._EventStreamSubscription_onData_closure(handleData), type$.JSObject);
-      t1 = t1 == null ? null : type$.JavaScriptFunction._as(A.allowInterop(t1, type$.Function));
+      t1 = t1 == null ? null : A._functionToJS1(t1);
       _this._streams$_onData = t1;
       _this._streams$_tryResume$0();
     },
@@ -25566,73 +25555,308 @@
     },
     $signature: 3
   };
-  A.HtmlWebSocketChannel.prototype = {
-    HtmlWebSocketChannel$1(webSocket) {
-      var _this = this,
-        t1 = _this.__HtmlWebSocketChannel__readyCompleter_A = new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._AsyncCompleter_void),
-        t2 = _this.innerWebSocket,
-        t3 = A._asInt(t2.readyState),
-        t4 = self;
-      if (t3 === A._asInt(t4.WebSocket.OPEN)) {
-        t1.complete$0(0);
-        _this._listen$0();
-      } else {
-        if (A._asInt(t2.readyState) === A._asInt(t4.WebSocket.CLOSING) || A._asInt(t2.readyState) === A._asInt(t4.WebSocket.CLOSED))
-          t1.completeError$1(new A.WebSocketChannelException("WebSocket state error: " + A._asInt(t2.readyState)));
-        new A._EventStream(t2, "open", false, type$._EventStream_JSObject).get$first(0).then$1$1(0, new A.HtmlWebSocketChannel_closure(_this), type$.Null);
-      }
-      t1 = type$._EventStream_JSObject;
-      t3 = type$.Null;
-      new A._EventStream(t2, "error", false, t1).get$first(0).then$1$1(0, new A.HtmlWebSocketChannel_closure0(_this), t3);
-      A._EventStreamSubscription$0(t2, "message", type$.nullable_void_Function_JSObject._as(_this.get$_innerListen()), false, type$.JSObject);
-      new A._EventStream(t2, "close", false, t1).get$first(0).then$1$1(0, new A.HtmlWebSocketChannel_closure1(_this), t3);
+  A.BrowserWebSocket.prototype = {
+    _browser_web_socket$_closed$2(code, reason) {
+      var t1 = this._browser_web_socket$_events;
+      if ((t1._state & 4) !== 0)
+        return;
+      t1.add$1(0, new A.CloseReceived(code, reason));
+      t1.close$0(0);
     },
-    _innerListen$1($event) {
-      var data, t1,
-        eventData = $event.data;
-      if (typeof eventData === "string") {
-        A._asString(eventData);
-        data = eventData;
-      } else
-        data = typeof eventData === "object" && A.JSAnyUtilityExtension_instanceOfString(type$.JSObject._as(eventData), "ArrayBuffer") ? A.NativeUint8List_NativeUint8List$view(type$.NativeByteBuffer._as(eventData), 0, null) : eventData;
-      t1 = this._html$_controller.__StreamChannelController__local_F;
-      t1 === $ && A.throwLateFieldNI("_local");
-      t1 = t1.__GuaranteeChannel__sink_F;
-      t1 === $ && A.throwLateFieldNI("_sink");
-      t1.add$1(0, data);
+    sendBytes$1(b) {
+      var t1;
+      if ((this._browser_web_socket$_events._state & 4) !== 0)
+        throw A.wrapException(A.WebSocketConnectionClosed$());
+      t1 = A.jsify(b);
+      t1.toString;
+      this._webSocket.send(t1);
     },
-    _listen$0() {
-      var t1 = this._html$_controller.__StreamChannelController__local_F;
-      t1 === $ && A.throwLateFieldNI("_local");
-      t1 = t1.__GuaranteeChannel__streamController_F;
-      t1 === $ && A.throwLateFieldNI("_streamController");
-      new A._ControllerStream(t1, A._instanceType(t1)._eval$1("_ControllerStream<1>")).listen$2$onDone(new A.HtmlWebSocketChannel__listen_closure(this), new A.HtmlWebSocketChannel__listen_closure0(this));
+    close$2(_, code, reason) {
+      var $async$goto = 0,
+        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
+        $async$self = this, t1;
+      var $async$close$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
+        if ($async$errorCode === 1)
+          return A._asyncRethrow($async$result, $async$completer);
+        while (true)
+          switch ($async$goto) {
+            case 0:
+              // Function start
+              t1 = $async$self._browser_web_socket$_events;
+              if ((t1._state & 4) !== 0)
+                throw A.wrapException(A.WebSocketConnectionClosed$());
+              t1.close$0(0);
+              $async$self._webSocket.close();
+              // implicit return
+              return A._asyncReturn(null, $async$completer);
+          }
+      });
+      return A._asyncStartSync($async$close$2, $async$completer);
     },
-    $isWebSocketChannel: 1
+    $isWebSocket0: 1
   };
-  A.HtmlWebSocketChannel_closure.prototype = {
+  A.BrowserWebSocket_connect_closure.prototype = {
     call$1(_) {
-      var t1, t2;
       type$.JSObject._as(_);
-      t1 = this.$this;
-      t2 = t1.__HtmlWebSocketChannel__readyCompleter_A;
-      t2 === $ && A.throwLateFieldNI("_readyCompleter");
-      t2.complete$0(0);
-      t1._listen$0();
+      this.webSocketConnected.complete$1(0, this.browserSocket);
     },
     $signature: 17
   };
-  A.HtmlWebSocketChannel_closure0.prototype = {
-    call$1(_) {
+  A.BrowserWebSocket_connect_closure0.prototype = {
+    call$1(e) {
+      var t1;
+      type$.JSObject._as(e);
+      t1 = this.webSocketConnected;
+      if ((t1.future._state & 30) === 0)
+        t1.completeError$1(new A.WebSocketException());
+      else
+        this.browserSocket._browser_web_socket$_closed$2(1006, "error");
+    },
+    $signature: 17
+  };
+  A.BrowserWebSocket_connect_closure1.prototype = {
+    call$1(e) {
+      var t2, data,
+        t1 = this.browserSocket._browser_web_socket$_events;
+      if ((t1._state & 4) !== 0)
+        return;
+      t2 = e.data;
+      t2.toString;
+      data = A._Cell$named("data");
+      if (typeof t2 === "string")
+        data.__late_helper$_value = new A.TextDataReceived(A._asString(t2));
+      else if (typeof t2 === "object" && A.JSAnyUtilityExtension_instanceOfString(type$.JSObject._as(t2), "ArrayBuffer"))
+        data.__late_helper$_value = new A.BinaryDataReceived(A.NativeUint8List_NativeUint8List$view(type$.NativeByteBuffer._as(t2), 0, null));
+      else
+        throw A.wrapException(A.StateError$("unexpected message type: " + J.get$runtimeType$(t2).toString$0(0)));
+      t1.add$1(0, data._readLocal$0());
+    },
+    $signature: 3
+  };
+  A.BrowserWebSocket_connect_closure2.prototype = {
+    call$1($event) {
+      var t1;
+      type$.JSObject._as($event);
+      t1 = this.webSocketConnected;
+      if ((t1.future._state & 30) === 0)
+        t1.complete$1(0, this.browserSocket);
+      this.browserSocket._browser_web_socket$_closed$2(A._asInt($event.code), A._asString($event.reason));
+    },
+    $signature: 17
+  };
+  A.WebSocketEvent.prototype = {};
+  A.TextDataReceived.prototype = {
+    $eq(_, other) {
+      if (other == null)
+        return false;
+      return other instanceof A.TextDataReceived && other.text === this.text;
+    },
+    get$hashCode(_) {
+      return B.JSString_methods.get$hashCode(this.text);
+    }
+  };
+  A.BinaryDataReceived.prototype = {
+    $eq(_, other) {
+      var t1, t2, t3, t4, i;
+      if (other == null)
+        return false;
+      if (other instanceof A.BinaryDataReceived && other.data.length === this.data.length) {
+        for (t1 = this.data, t2 = t1.length, t3 = other.data, t4 = t3.length, i = 0; i < t2; ++i) {
+          if (!(i < t4))
+            return A.ioore(t3, i);
+          if (t3[i] !== t1[i])
+            return false;
+        }
+        return true;
+      }
+      return false;
+    },
+    get$hashCode(_) {
+      return A.Primitives_objectHashCode(this.data);
+    },
+    toString$0(_) {
+      return "BinaryDataReceived(" + A.S(this.data) + ")";
+    }
+  };
+  A.CloseReceived.prototype = {
+    $eq(_, other) {
+      if (other == null)
+        return false;
+      return other instanceof A.CloseReceived && other.code === this.code && other.reason === this.reason;
+    },
+    get$hashCode(_) {
+      return A.Primitives_objectHashCode([this.code, this.reason]);
+    },
+    toString$0(_) {
+      return "CloseReceived(" + this.code + ", " + this.reason + ")";
+    }
+  };
+  A.WebSocketException.prototype = {};
+  A.WebSocketConnectionClosed.prototype = {};
+  A.AdapterWebSocketChannel.prototype = {
+    AdapterWebSocketChannel$1(webSocket) {
+      webSocket.then$1$2$onError(0, new A.AdapterWebSocketChannel_closure(this), new A.AdapterWebSocketChannel_closure0(this), type$.Null);
+    },
+    $isWebSocketChannel: 1
+  };
+  A.AdapterWebSocketChannel_closure.prototype = {
+    call$1(webSocket) {
+      var t1, t2;
+      type$.WebSocket._as(webSocket);
+      t1 = webSocket._browser_web_socket$_events;
+      t2 = this.$this;
+      new A._ControllerStream(t1, A._instanceType(t1)._eval$1("_ControllerStream<1>")).listen$1(new A.AdapterWebSocketChannel__closure(t2));
+      t1 = t2._adapter_web_socket_channel$_controller.__StreamChannelController__local_F;
+      t1 === $ && A.throwLateFieldNI("_local");
+      t1 = t1.__GuaranteeChannel__streamController_F;
+      t1 === $ && A.throwLateFieldNI("_streamController");
+      new A._ControllerStream(t1, A._instanceType(t1)._eval$1("_ControllerStream<1>")).listen$2$onDone(new A.AdapterWebSocketChannel__closure0(webSocket), new A.AdapterWebSocketChannel__closure1(t2, webSocket));
+      A._asString(webSocket._webSocket.protocol);
+      t2._readyCompleter.complete$0(0);
+    },
+    $signature: 64
+  };
+  A.AdapterWebSocketChannel__closure.prototype = {
+    call$1($event) {
+      var t1, text, data, _s6_ = "_local", _s5_ = "_sink";
+      type$.WebSocketEvent._as($event);
+      $label0$0: {
+        t1 = $event instanceof A.TextDataReceived;
+        text = t1 ? $event.text : null;
+        if (t1) {
+          t1 = this.$this._adapter_web_socket_channel$_controller.__StreamChannelController__local_F;
+          t1 === $ && A.throwLateFieldNI(_s6_);
+          t1 = t1.__GuaranteeChannel__sink_F;
+          t1 === $ && A.throwLateFieldNI(_s5_);
+          t1.add$1(0, text);
+          break $label0$0;
+        }
+        t1 = $event instanceof A.BinaryDataReceived;
+        data = t1 ? $event.data : null;
+        if (t1) {
+          t1 = this.$this._adapter_web_socket_channel$_controller.__StreamChannelController__local_F;
+          t1 === $ && A.throwLateFieldNI(_s6_);
+          t1 = t1.__GuaranteeChannel__sink_F;
+          t1 === $ && A.throwLateFieldNI(_s5_);
+          t1.add$1(0, data);
+          break $label0$0;
+        }
+        if ($event instanceof A.CloseReceived) {
+          t1 = this.$this._adapter_web_socket_channel$_controller.__StreamChannelController__local_F;
+          t1 === $ && A.throwLateFieldNI(_s6_);
+          t1 = t1.__GuaranteeChannel__sink_F;
+          t1 === $ && A.throwLateFieldNI(_s5_);
+          t1.close$0(0);
+        }
+      }
+    },
+    $signature: 65
+  };
+  A.AdapterWebSocketChannel__closure0.prototype = {
+    call$1(obj) {
+      var _1_0, s, b, b0, t1, t2, exception;
+      try {
+        $label1$1: {
+          _1_0 = obj;
+          s = null;
+          t1 = typeof _1_0 == "string";
+          if (t1)
+            s = _1_0;
+          if (t1) {
+            t1 = this.webSocket;
+            t2 = A._asString(s);
+            if ((t1._browser_web_socket$_events._state & 4) !== 0)
+              A.throwExpression(A.WebSocketConnectionClosed$());
+            t2 = A.jsify(t2);
+            t2.toString;
+            t1._webSocket.send(t2);
+            break $label1$1;
+          }
+          b = null;
+          t1 = type$.Uint8List._is(_1_0);
+          if (t1)
+            b = _1_0;
+          if (t1) {
+            this.webSocket.sendBytes$1(b);
+            break $label1$1;
+          }
+          b0 = null;
+          t1 = type$.List_int._is(_1_0);
+          if (t1)
+            b0 = _1_0;
+          if (t1) {
+            this.webSocket.sendBytes$1(new Uint8Array(A._ensureNativeList(b0)));
+            break $label1$1;
+          }
+          t1 = A.UnsupportedError$("Cannot send " + J.get$runtimeType$(obj).toString$0(0));
+          throw A.wrapException(t1);
+        }
+      } catch (exception) {
+        if (!(A.unwrapException(exception) instanceof A.WebSocketConnectionClosed))
+          throw exception;
+      }
+    },
+    $signature: 12
+  };
+  A.AdapterWebSocketChannel__closure1.prototype = {
+    call$0() {
+      var $async$goto = 0,
+        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
+        $async$handler = 1, $async$currentError, $async$self = this, t1, exception, $async$exception;
+      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
+        if ($async$errorCode === 1) {
+          $async$currentError = $async$result;
+          $async$goto = $async$handler;
+        }
+        while (true)
+          switch ($async$goto) {
+            case 0:
+              // Function start
+              $async$handler = 3;
+              t1 = $async$self.$this;
+              $async$goto = 6;
+              return A._asyncAwait($async$self.webSocket.close$2(0, t1._localCloseCode, t1._localCloseReason), $async$call$0);
+            case 6:
+              // returning from await.
+              $async$handler = 1;
+              // goto after finally
+              $async$goto = 5;
+              break;
+            case 3:
+              // catch
+              $async$handler = 2;
+              $async$exception = $async$currentError;
+              if (!(A.unwrapException($async$exception) instanceof A.WebSocketConnectionClosed))
+                throw $async$exception;
+              // goto after finally
+              $async$goto = 5;
+              break;
+            case 2:
+              // uncaught
+              // goto rethrow
+              $async$goto = 1;
+              break;
+            case 5:
+              // after finally
+              // implicit return
+              return A._asyncReturn(null, $async$completer);
+            case 1:
+              // rethrow
+              return A._asyncRethrow($async$currentError, $async$completer);
+          }
+      });
+      return A._asyncStartSync($async$call$0, $async$completer);
+    },
+    $signature: 33
+  };
+  A.AdapterWebSocketChannel_closure0.prototype = {
+    call$1(e) {
       var error, t1, t2;
-      type$.JSObject._as(_);
-      error = new A.WebSocketChannelException("WebSocket connection failed.");
+      type$.Object._as(e);
+      error = e instanceof A.TimeoutException ? e : new A.WebSocketChannelException(J.toString$0$(e));
       t1 = this.$this;
-      t2 = t1.__HtmlWebSocketChannel__readyCompleter_A;
-      t2 === $ && A.throwLateFieldNI("_readyCompleter");
-      if ((t2.future._state & 30) === 0)
-        t2.completeError$1(error);
-      t1 = t1._html$_controller.__StreamChannelController__local_F;
+      t1._readyCompleter.completeError$1(error);
+      t1 = t1._adapter_web_socket_channel$_controller.__StreamChannelController__local_F;
       t1 === $ && A.throwLateFieldNI("_local");
       t2 = t1.__GuaranteeChannel__sink_F;
       t2 === $ && A.throwLateFieldNI("_sink");
@@ -25641,41 +25865,9 @@
       t1 === $ && A.throwLateFieldNI("_sink");
       t1.close$0(0);
     },
-    $signature: 17
+    $signature: 101
   };
-  A.HtmlWebSocketChannel_closure1.prototype = {
-    call$1($event) {
-      var t1;
-      type$.JSObject._as($event);
-      A._asInt($event.code);
-      A._asString($event.reason);
-      t1 = this.$this._html$_controller.__StreamChannelController__local_F;
-      t1 === $ && A.throwLateFieldNI("_local");
-      t1 = t1.__GuaranteeChannel__sink_F;
-      t1 === $ && A.throwLateFieldNI("_sink");
-      t1.close$0(0);
-    },
-    $signature: 17
-  };
-  A.HtmlWebSocketChannel__listen_closure.prototype = {
-    call$1(obj) {
-      var t2,
-        t1 = this.$this.innerWebSocket;
-      obj.toString;
-      t2 = A.jsify(obj);
-      t2.toString;
-      return t1.send.apply(t1, [t2]);
-    },
-    $signature: 12
-  };
-  A.HtmlWebSocketChannel__listen_closure0.prototype = {
-    call$0() {
-      this.$this.innerWebSocket.close();
-    },
-    $signature: 0
-  };
-  A._HtmlWebSocketSink.prototype = {$isWebSocketSink: 1};
-  A.WebSocketChannel.prototype = {};
+  A._WebSocketSink.prototype = {$isWebSocketSink: 1};
   A.WebSocketChannelException.prototype = {
     toString$0(_) {
       return "WebSocketChannelException: " + this.message;
@@ -25698,7 +25890,7 @@
               // Function start
               t1 = {};
               if (self.$dartAppInstanceId == null)
-                self.$dartAppInstanceId = B.C_Uuid.v1$0();
+                self.$dartAppInstanceId = new A.UuidV1(null).generate$1$options(null);
               uri = A.Uri_parse(self.$dwdsDevHandlerPath);
               t2 = type$.Location;
               t3 = t2._as(window.location).protocol;
@@ -25713,7 +25905,7 @@
               }
               fixedPath = uri.toString$0(0);
               fixedUri = A.Uri_parse(fixedPath);
-              client = fixedUri.isScheme$1("ws") || fixedUri.isScheme$1("wss") ? new A.WebSocketClient(A.HtmlWebSocketChannel$connect(fixedUri, null)) : new A.SseSocketClient(A.SseClient$(fixedPath, "InjectedClient"));
+              client = fixedUri.isScheme$1("ws") || fixedUri.isScheme$1("wss") ? new A.WebSocketClient(A.AdapterWebSocketChannel$(A.BrowserWebSocket_connect(fixedUri, null))) : new A.SseSocketClient(A.SseClient$(fixedPath, "InjectedClient"));
               $async$goto = J.$eq$(self.$dartModuleStrategy, "require-js") ? 2 : 4;
               break;
             case 2:
@@ -25776,7 +25968,7 @@
       });
       return A._asyncStartSync($async$call$0, $async$completer);
     },
-    $signature: 64
+    $signature: 33
   };
   A.main__closure.prototype = {
     call$2(runId, pauseIsolatesOnStart) {
@@ -25800,7 +25992,7 @@
     $defaultValues() {
       return [null];
     },
-    $signature: 82
+    $signature: 68
   };
   A.main__closure0.prototype = {
     call$0() {
@@ -25827,7 +26019,7 @@
         A._trySendEvent(t1, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3._debug_event$_build$0()), null), type$.dynamic);
       }
     },
-    $signature: 66
+    $signature: 69
   };
   A.main___closure2.prototype = {
     call$1(b) {
@@ -25836,7 +26028,7 @@
       b.get$_debug_event$_$this().set$_events(t1);
       return t1;
     },
-    $signature: 67
+    $signature: 70
   };
   A.main__closure2.prototype = {
     call$2(kind, eventData) {
@@ -25850,7 +26042,7 @@
         A._trySendEvent(new A._StreamSinkWrapper(t1, A._instanceType(t1)._eval$1("_StreamSinkWrapper<1>")), t2._debug_event$_build$0(), type$.DebugEvent);
       }
     },
-    $signature: 33
+    $signature: 18
   };
   A.main___closure1.prototype = {
     call$1(b) {
@@ -25860,7 +26052,7 @@
       b.get$_debug_event$_$this()._eventData = this.eventData;
       return b;
     },
-    $signature: 68
+    $signature: 71
   };
   A.main__closure3.prototype = {
     call$1(eventData) {
@@ -25872,7 +26064,7 @@
       type$.nullable_void_Function_RegisterEventBuilder._as(new A.main___closure0(eventData)).call$1(t3);
       A._trySendEvent(t1, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3._register_event$_build$0()), null), type$.dynamic);
     },
-    $signature: 36
+    $signature: 26
   };
   A.main___closure0.prototype = {
     call$1(b) {
@@ -25881,7 +26073,7 @@
       b.get$_register_event$_$this()._register_event$_eventData = this.eventData;
       return b;
     },
-    $signature: 70
+    $signature: 73
   };
   A.main__closure4.prototype = {
     call$0() {
@@ -25910,7 +26102,7 @@
       b.get$_devtools_request$_$this()._devtools_request$_instanceId = t1;
       return b;
     },
-    $signature: 84
+    $signature: 74
   };
   A.main__closure5.prototype = {
     call$1(serialized) {
@@ -26003,7 +26195,7 @@
       });
       return A._asyncStartSync($async$call$1, $async$completer);
     },
-    $signature: 72
+    $signature: 75
   };
   A.main__closure6.prototype = {
     call$1(error) {
@@ -26012,26 +26204,22 @@
   };
   A.main__closure7.prototype = {
     call$1(e) {
-      var t1;
+      var t2,
+        t1 = false;
       if (type$.KeyboardEvent._is(e))
         if (B.JSArray_methods.contains$1(B.List_2ZF, e.key)) {
-          t1 = e.altKey;
-          t1.toString;
-          if (t1) {
-            t1 = e.ctrlKey;
-            t1.toString;
-            if (!t1) {
+          t2 = e.altKey;
+          t2.toString;
+          if (t2) {
+            t2 = e.ctrlKey;
+            t2.toString;
+            if (!t2) {
               t1 = e.metaKey;
               t1.toString;
               t1 = !t1;
-            } else
-              t1 = false;
-          } else
-            t1 = false;
-        } else
-          t1 = false;
-      else
-        t1 = false;
+            }
+          }
+        }
       if (t1) {
         e.preventDefault();
         self.$launchDevTools.call$0();
@@ -26049,7 +26237,7 @@
       b.get$_connect_request$_$this()._entrypointPath = t1;
       return b;
     },
-    $signature: 73
+    $signature: 76
   };
   A.main_closure0.prototype = {
     call$2(error, stackTrace) {
@@ -26094,7 +26282,7 @@
       b.get$_$this()._workspaceName = t1;
       return b;
     },
-    $signature: 74
+    $signature: 77
   };
   A._listenForDebugExtensionAuthRequest_closure.prototype = {
     call$1($event) {
@@ -26146,7 +26334,7 @@
       });
       return A._asyncStartSync($async$call$1, $async$completer);
     },
-    $signature: 75
+    $signature: 78
   };
   A.DdcRestarter.prototype = {
     restart$2$readyToRunMain$runId(readyToRunMain, runId) {
@@ -26203,7 +26391,7 @@
       if (t1)
         this.reloadCompleter.complete$1(0, true);
     },
-    $signature: 76
+    $signature: 79
   };
   A.DdcRestarter_restart_closure.prototype = {
     call$1(value) {
@@ -26211,7 +26399,7 @@
       this.sub.cancel$0(0);
       return value;
     },
-    $signature: 77
+    $signature: 80
   };
   A.ReloadingManager.prototype = {
     hotRestart$2$readyToRunMain$runId(readyToRunMain, runId) {
@@ -26653,16 +26841,16 @@
     call$1(e) {
       this.completer.completeError$2(new A.HotReloadFailedException(J.get$message$x(type$.JsError._as(e))), this.stackTrace);
     },
-    $signature: 80
+    $signature: 83
   };
   A._createScript_closure.prototype = {
     call$0() {
       var nonce = A._findNonce();
       if (nonce == null)
-        return A.html0_ScriptElement___new_tearOff$closure();
+        return A.html_ScriptElement___new_tearOff$closure();
       return new A._createScript__closure(nonce);
     },
-    $signature: 81
+    $signature: 84
   };
   A._createScript__closure.prototype = {
     call$0() {
@@ -26670,7 +26858,7 @@
       t1.setAttribute("nonce", this.nonce);
       return t1;
     },
-    $signature: 18
+    $signature: 30
   };
   (function aliases() {
     var _ = J.Interceptor.prototype;
@@ -26709,7 +26897,7 @@
       _instance_0_u = hunkHelpers._instance_0u,
       _instance_1_u = hunkHelpers._instance_1u,
       _instance_0_i = hunkHelpers._instance_0i;
-    _static_2(J, "_interceptors_JSArray__compareAny$closure", "JSArray__compareAny", 19);
+    _static_2(J, "_interceptors_JSArray__compareAny$closure", "JSArray__compareAny", 35);
     _static_1(A, "async__AsyncRun__scheduleImmediateJsOverride$closure", "_AsyncRun__scheduleImmediateJsOverride", 10);
     _static_1(A, "async__AsyncRun__scheduleImmediateWithSetImmediate$closure", "_AsyncRun__scheduleImmediateWithSetImmediate", 10);
     _static_1(A, "async__AsyncRun__scheduleImmediateWithTimer$closure", "_AsyncRun__scheduleImmediateWithTimer", 10);
@@ -26717,37 +26905,37 @@
     _static_1(A, "async___nullDataHandler$closure", "_nullDataHandler", 7);
     _static_2(A, "async___nullErrorHandler$closure", "_nullErrorHandler", 11);
     _static_0(A, "async___nullDoneHandler$closure", "_nullDoneHandler", 0);
-    _static(A, "async___rootHandleUncaughtError$closure", 5, null, ["call$5"], ["_rootHandleUncaughtError"], 85, 0);
+    _static(A, "async___rootHandleUncaughtError$closure", 5, null, ["call$5"], ["_rootHandleUncaughtError"], 88, 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);
-    }], 86, 1);
+    }], 89, 1);
     _static(A, "async___rootRunUnary$closure", 5, null, ["call$2$5", "call$5"], ["_rootRunUnary", function($self, $parent, zone, f, arg) {
       var t1 = type$.dynamic;
       return A._rootRunUnary($self, $parent, zone, f, arg, t1, t1);
-    }], 87, 1);
+    }], 90, 1);
     _static(A, "async___rootRunBinary$closure", 6, null, ["call$3$6", "call$6"], ["_rootRunBinary", function($self, $parent, zone, f, arg1, arg2) {
       var t1 = type$.dynamic;
       return A._rootRunBinary($self, $parent, zone, f, arg1, arg2, t1, t1, t1);
-    }], 88, 1);
+    }], 91, 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);
-    }], 89, 0);
+    }], 92, 0);
     _static(A, "async___rootRegisterUnaryCallback$closure", 4, null, ["call$2$4", "call$4"], ["_rootRegisterUnaryCallback", function($self, $parent, zone, f) {
       var t1 = type$.dynamic;
       return A._rootRegisterUnaryCallback($self, $parent, zone, f, t1, t1);
-    }], 90, 0);
+    }], 93, 0);
     _static(A, "async___rootRegisterBinaryCallback$closure", 4, null, ["call$3$4", "call$4"], ["_rootRegisterBinaryCallback", function($self, $parent, zone, f) {
       var t1 = type$.dynamic;
       return A._rootRegisterBinaryCallback($self, $parent, zone, f, t1, t1, t1);
-    }], 91, 0);
-    _static(A, "async___rootErrorCallback$closure", 5, null, ["call$5"], ["_rootErrorCallback"], 92, 0);
-    _static(A, "async___rootScheduleMicrotask$closure", 4, null, ["call$4"], ["_rootScheduleMicrotask"], 93, 0);
-    _static(A, "async___rootCreateTimer$closure", 5, null, ["call$5"], ["_rootCreateTimer"], 94, 0);
-    _static(A, "async___rootCreatePeriodicTimer$closure", 5, null, ["call$5"], ["_rootCreatePeriodicTimer"], 95, 0);
-    _static(A, "async___rootPrint$closure", 4, null, ["call$4"], ["_rootPrint"], 96, 0);
-    _static_1(A, "async___printToZone$closure", "_printToZone", 36);
-    _static(A, "async___rootFork$closure", 5, null, ["call$5"], ["_rootFork"], 71, 0);
-    _instance(A._Completer.prototype, "get$completeError", 0, 1, null, ["call$2", "call$1"], ["completeError$2", "completeError$1"], 31, 0, 0);
+    }], 94, 0);
+    _static(A, "async___rootErrorCallback$closure", 5, null, ["call$5"], ["_rootErrorCallback"], 95, 0);
+    _static(A, "async___rootScheduleMicrotask$closure", 4, null, ["call$4"], ["_rootScheduleMicrotask"], 96, 0);
+    _static(A, "async___rootCreateTimer$closure", 5, null, ["call$5"], ["_rootCreateTimer"], 97, 0);
+    _static(A, "async___rootCreatePeriodicTimer$closure", 5, null, ["call$5"], ["_rootCreatePeriodicTimer"], 98, 0);
+    _static(A, "async___rootPrint$closure", 4, null, ["call$4"], ["_rootPrint"], 99, 0);
+    _static_1(A, "async___printToZone$closure", "_printToZone", 26);
+    _static(A, "async___rootFork$closure", 5, null, ["call$5"], ["_rootFork"], 72, 0);
+    _instance(A._Completer.prototype, "get$completeError", 0, 1, null, ["call$2", "call$1"], ["completeError$2", "completeError$1"], 34, 0, 0);
     _instance(A._AsyncCompleter.prototype, "get$complete", 1, 0, function() {
       return [null];
     }, ["call$1", "call$0"], ["complete$1", "complete$0"], 51, 0, 0);
@@ -26756,7 +26944,7 @@
     _instance_1_i(_ = A._StreamController.prototype, "get$add", "add$1", 12);
     _instance(_, "get$addError", 0, 1, function() {
       return [null];
-    }, ["call$2", "call$1"], ["addError$2", "addError$1"], 31, 0, 0);
+    }, ["call$2", "call$1"], ["addError$2", "addError$1"], 34, 0, 0);
     _instance_0_u(_ = A._ControllerSubscription.prototype, "get$_onPause", "_onPause$0", 0);
     _instance_0_u(_, "get$_onResume", "_onResume$0", 0);
     _instance_0_u(_ = A._BufferingStreamSubscription.prototype, "get$_onPause", "_onPause$0", 0);
@@ -26764,17 +26952,17 @@
     _instance_0_u(_ = A._ForwardingStreamSubscription.prototype, "get$_onPause", "_onPause$0", 0);
     _instance_0_u(_, "get$_onResume", "_onResume$0", 0);
     _instance_1_u(_, "get$_handleData", "_handleData$1", 12);
-    _instance_2_u(_, "get$_handleError", "_handleError$2", 27);
+    _instance_2_u(_, "get$_handleError", "_handleError$2", 19);
     _instance_0_u(_, "get$_handleDone", "_handleDone$0", 0);
     _static_2(A, "collection___defaultEquals$closure", "_defaultEquals0", 15);
     _static_1(A, "collection___defaultHashCode$closure", "_defaultHashCode", 16);
-    _static_2(A, "collection_ListBase__compareAny$closure", "ListBase__compareAny", 19);
+    _static_2(A, "collection_ListBase__compareAny$closure", "ListBase__compareAny", 35);
     _static_1(A, "convert___defaultToEncodable$closure", "_defaultToEncodable", 1);
     _static_1(A, "core__identityHashCode$closure", "identityHashCode", 16);
     _static_2(A, "core__identical$closure", "identical", 15);
-    _static_0(A, "html0_ScriptElement___new_tearOff$closure", "ScriptElement___new_tearOff", 18);
-    _static(A, "html0__Html5NodeValidator__standardAttributeValidator$closure", 4, null, ["call$4"], ["_Html5NodeValidator__standardAttributeValidator"], 35, 0);
-    _static(A, "html0__Html5NodeValidator__uriAttributeValidator$closure", 4, null, ["call$4"], ["_Html5NodeValidator__uriAttributeValidator"], 35, 0);
+    _static_0(A, "html_ScriptElement___new_tearOff$closure", "ScriptElement___new_tearOff", 30);
+    _static(A, "html__Html5NodeValidator__standardAttributeValidator$closure", 4, null, ["call$4"], ["_Html5NodeValidator__standardAttributeValidator"], 32, 0);
+    _static(A, "html__Html5NodeValidator__uriAttributeValidator$closure", 4, null, ["call$4"], ["_Html5NodeValidator__uriAttributeValidator"], 32, 0);
     _instance_0_i(A.Node.prototype, "get$remove", "remove$0", 0);
     _static_1(A, "js___convertToJS$closure", "_convertToJS", 9);
     _static_1(A, "js___convertToDart$closure", "_convertToDart", 2);
@@ -26785,9 +26973,8 @@
     _instance_1_u(_, "get$_onIncomingMessage", "_onIncomingMessage$1", 3);
     _instance_0_u(_, "get$_onOutgoingDone", "_onOutgoingDone$0", 0);
     _instance_1_u(_, "get$_onOutgoingMessage", "_onOutgoingMessage$1", 61);
-    _instance_1_u(A.HtmlWebSocketChannel.prototype, "get$_innerListen", "_innerListen$1", 3);
-    _instance_1_u(_ = A.RequireRestarter.prototype, "get$_moduleParents", "_moduleParents$1", 78);
-    _instance_2_u(_, "get$_moduleTopologicalCompare", "_moduleTopologicalCompare$2", 79);
+    _instance_1_u(_ = A.RequireRestarter.prototype, "get$_moduleParents", "_moduleParents$1", 81);
+    _instance_2_u(_, "get$_moduleTopologicalCompare", "_moduleTopologicalCompare$2", 82);
   })();
   (function inheritance() {
     var _mixin = hunkHelpers.mixin,
@@ -26795,7 +26982,7 @@
       _inherit = hunkHelpers.inherit,
       _inheritMany = hunkHelpers.inheritMany;
     _inherit(A.Object, null);
-    _inheritMany(A.Object, [A.JS_CONST, J.Interceptor, J.ArrayIterator, A.Iterable, A.CastIterator, A.Closure, A.MapBase, A.Error, A.SentinelValue, A.ListIterator, A.MappedIterator, A.WhereIterator, A.TakeIterator, A.SkipIterator, A.EmptyIterator, A.FixedLengthListMixin, A.UnmodifiableListMixin, A.ListBase, A.Symbol, A.MapView, A.ConstantMap, A._KeysOrValuesOrElementsIterator, A.JSInvocationMirror, A.TypeErrorDecoder, A.NullThrownFromJavaScriptException, A.ExceptionAndStackTrace, A._StackTrace, A._Required, A.LinkedHashMapCell, A.LinkedHashMapKeyIterator, A._Record, A.JSSyntaxRegExp, A._MatchImplementation, A._AllMatchesIterator, A.StringMatch, A._StringAllMatchesIterator, A._Cell, A.Rti, A._FunctionParameters, A._Type, A._TimerImpl, A._AsyncAwaitCompleter, A.AsyncError, A._Completer, A._FutureListener, A._Future, A._AsyncCallbackEntry, A.Stream, A._StreamController, A._SyncStreamControllerDispatch, A._AsyncStreamControllerDispatch, A._BufferingStreamSubscription, A._StreamSinkWrapper, A._DelayedEvent, A._DelayedDone, A._PendingEvents, A._StreamIterator, A._ZoneFunction, A._ZoneSpecification, A._ZoneDelegate, A._Zone, A._HashMapKeyIterator, A.SetBase, A._HashSetIterator, A._LinkedHashSetCell, A._LinkedHashSetIterator, A._UnmodifiableMapMixin, A._ListQueueIterator, A._SplayTreeNode, A._SplayTree, A._SplayTreeIterator, A.Codec, A.Converter, A._Base64Encoder, A._Base64Decoder, A._JsonStringifier, A._Utf8Encoder, A._BigIntImpl, A.DateTime, A.Duration, A.OutOfMemoryError, A.StackOverflowError, A._Exception, A.FormatException, A.IntegerDivisionByZeroException, A.Null, A._StringStackTrace, A.StringBuffer, A._Uri, A.UriData, A._SimpleUri, A.Expando, A.CssStyleDeclarationBase, A.EventStreamProvider, A._EventStreamSubscription, A._Html5NodeValidator, A.ImmutableListMixin, A.NodeValidatorBuilder, A._SimpleNodeValidator, A._SvgNodeValidator, A.FixedSizeListIterator, A._DOMWindowCrossFrame, A._SameOriginUriPolicy, A._ValidatingTreeSanitizer, A._StructuredClone, A._AcceptStructuredClone, A.JsObject, A.NullRejectionException, A._JSRandom, A._Random, A.AsyncMemoizer, A.DelegatingStreamSink, A.ErrorResult, A.ValueResult, A.StreamQueue, A._NextRequest, A._HasNextRequest, A.BuiltList, A.ListBuilder, A.BuiltListMultimap, A.ListMultimapBuilder, A.BuiltMap, A.MapBuilder, A.BuiltSet, A.SetBuilder, A.BuiltSetMultimap, A.SetMultimapBuilder, A.EnumClass, A.IndentingBuiltValueToStringHelper, A.JsonObject, A.FullType, A.BigIntSerializer, A.BoolSerializer, A.BuiltJsonSerializers, A.BuiltJsonSerializersBuilder, A.BuiltListMultimapSerializer, A.BuiltListSerializer, A.BuiltMapSerializer, A.BuiltSetMultimapSerializer, A.BuiltSetSerializer, A.DateTimeSerializer, A.DoubleSerializer, A.DurationSerializer, A.Int32Serializer, A.Int64Serializer, A.IntSerializer, A.JsonObjectSerializer, A.NullSerializer, A.NumSerializer, A.RegExpSerializer, A.StringSerializer, A.Uint8ListSerializer, A.UriSerializer, A.DefaultEquality, A.IterableEquality, A.ListEquality, A._UnorderedEquality, A._MapEntry, A.MapEquality, A.DeepCollectionEquality, A._QueueList_Object_ListMixin, A.BuildResult, A._$BuildStatusSerializer, A._$BuildResultSerializer, A.BuildResultBuilder, A.ConnectRequest, A._$ConnectRequestSerializer, A.ConnectRequestBuilder, A.DebugEvent, A.BatchedDebugEvents, A._$DebugEventSerializer, A._$BatchedDebugEventsSerializer, A.DebugEventBuilder, A.BatchedDebugEventsBuilder, A.DebugInfo, A._$DebugInfoSerializer, A.DebugInfoBuilder, A.DevToolsRequest, A.DevToolsResponse, A._$DevToolsRequestSerializer, A._$DevToolsResponseSerializer, A.DevToolsRequestBuilder, A.DevToolsResponseBuilder, A.ErrorResponse, A._$ErrorResponseSerializer, A.ErrorResponseBuilder, A.ExtensionRequest, A.ExtensionResponse, A.ExtensionEvent, A.BatchedEvents, A._$ExtensionRequestSerializer, A._$ExtensionResponseSerializer, A._$ExtensionEventSerializer, A._$BatchedEventsSerializer, A.ExtensionRequestBuilder, A.ExtensionResponseBuilder, A.ExtensionEventBuilder, A.BatchedEventsBuilder, A.IsolateExit, A.IsolateStart, A._$IsolateExitSerializer, A._$IsolateStartSerializer, A.IsolateExitBuilder, A.IsolateStartBuilder, A.RegisterEvent, A._$RegisterEventSerializer, A.RegisterEventBuilder, A.RunRequest, A._$RunRequestSerializer, A.BatchedStreamController, A.SocketClient, A.Int32, A.Int64, A._StackState, A.Level, A.LogRecord, A.Logger, A.Pool, A.PoolResource, A.StreamChannelMixin, A._GuaranteeSink, A.StreamChannelController, A.Uuid, A.EventStreamProvider0, A._EventStreamSubscription0, A.WebSocketChannelException, A.DdcRestarter, A.ReloadingManager, A.HotReloadFailedException, A.RequireRestarter]);
+    _inheritMany(A.Object, [A.JS_CONST, J.Interceptor, J.ArrayIterator, A.Iterable, A.CastIterator, A.Closure, A.MapBase, A.Error, A.SentinelValue, A.ListIterator, A.MappedIterator, A.WhereIterator, A.TakeIterator, A.SkipIterator, A.EmptyIterator, A.FixedLengthListMixin, A.UnmodifiableListMixin, A.ListBase, A.Symbol, A.MapView, A.ConstantMap, A._KeysOrValuesOrElementsIterator, A.JSInvocationMirror, A.TypeErrorDecoder, A.NullThrownFromJavaScriptException, A.ExceptionAndStackTrace, A._StackTrace, A._Required, A.LinkedHashMapCell, A.LinkedHashMapKeyIterator, A._Record, A.JSSyntaxRegExp, A._MatchImplementation, A._AllMatchesIterator, A.StringMatch, A._StringAllMatchesIterator, A._Cell, A.Rti, A._FunctionParameters, A._Type, A._TimerImpl, A._AsyncAwaitCompleter, A.AsyncError, A.TimeoutException, A._Completer, A._FutureListener, A._Future, A._AsyncCallbackEntry, A.Stream, A._StreamController, A._SyncStreamControllerDispatch, A._AsyncStreamControllerDispatch, A._BufferingStreamSubscription, A._StreamSinkWrapper, A._DelayedEvent, A._DelayedDone, A._PendingEvents, A._StreamIterator, A._ZoneFunction, A._ZoneSpecification, A._ZoneDelegate, A._Zone, A._HashMapKeyIterator, A.SetBase, A._HashSetIterator, A._LinkedHashSetCell, A._LinkedHashSetIterator, A._UnmodifiableMapMixin, A._ListQueueIterator, A._SplayTreeNode, A._SplayTree, A._SplayTreeIterator, A.Codec, A.Converter, A._Base64Encoder, A._Base64Decoder, A._JsonStringifier, A._Utf8Encoder, A._BigIntImpl, A.DateTime, A.Duration, A.OutOfMemoryError, A.StackOverflowError, A._Exception, A.FormatException, A.IntegerDivisionByZeroException, A.Null, A._StringStackTrace, A.StringBuffer, A._Uri, A.UriData, A._SimpleUri, A.CssStyleDeclarationBase, A.EventStreamProvider, A._EventStreamSubscription, A._Html5NodeValidator, A.ImmutableListMixin, A.NodeValidatorBuilder, A._SimpleNodeValidator, A._SvgNodeValidator, A.FixedSizeListIterator, A._DOMWindowCrossFrame, A._SameOriginUriPolicy, A._ValidatingTreeSanitizer, A._StructuredClone, A._AcceptStructuredClone, A.JsObject, A.NullRejectionException, A._JSRandom, A.AsyncMemoizer, A.DelegatingStreamSink, A.ErrorResult, A.ValueResult, A.StreamQueue, A._NextRequest, A._HasNextRequest, A.BuiltList, A.ListBuilder, A.BuiltListMultimap, A.ListMultimapBuilder, A.BuiltMap, A.MapBuilder, A.BuiltSet, A.SetBuilder, A.BuiltSetMultimap, A.SetMultimapBuilder, A.EnumClass, A.IndentingBuiltValueToStringHelper, A.JsonObject, A.FullType, A.BigIntSerializer, A.BoolSerializer, A.BuiltJsonSerializers, A.BuiltJsonSerializersBuilder, A.BuiltListMultimapSerializer, A.BuiltListSerializer, A.BuiltMapSerializer, A.BuiltSetMultimapSerializer, A.BuiltSetSerializer, A.DateTimeSerializer, A.DoubleSerializer, A.DurationSerializer, A.Int32Serializer, A.Int64Serializer, A.IntSerializer, A.JsonObjectSerializer, A.NullSerializer, A.NumSerializer, A.RegExpSerializer, A.StringSerializer, A.Uint8ListSerializer, A.UriSerializer, A.DefaultEquality, A.IterableEquality, A.ListEquality, A._UnorderedEquality, A._MapEntry, A.MapEquality, A.DeepCollectionEquality, A._QueueList_Object_ListMixin, A.BuildResult, A._$BuildStatusSerializer, A._$BuildResultSerializer, A.BuildResultBuilder, A.ConnectRequest, A._$ConnectRequestSerializer, A.ConnectRequestBuilder, A.DebugEvent, A.BatchedDebugEvents, A._$DebugEventSerializer, A._$BatchedDebugEventsSerializer, A.DebugEventBuilder, A.BatchedDebugEventsBuilder, A.DebugInfo, A._$DebugInfoSerializer, A.DebugInfoBuilder, A.DevToolsRequest, A.DevToolsResponse, A._$DevToolsRequestSerializer, A._$DevToolsResponseSerializer, A.DevToolsRequestBuilder, A.DevToolsResponseBuilder, A.ErrorResponse, A._$ErrorResponseSerializer, A.ErrorResponseBuilder, A.ExtensionRequest, A.ExtensionResponse, A.ExtensionEvent, A.BatchedEvents, A._$ExtensionRequestSerializer, A._$ExtensionResponseSerializer, A._$ExtensionEventSerializer, A._$BatchedEventsSerializer, A.ExtensionRequestBuilder, A.ExtensionResponseBuilder, A.ExtensionEventBuilder, A.BatchedEventsBuilder, A.IsolateExit, A.IsolateStart, A._$IsolateExitSerializer, A._$IsolateStartSerializer, A.IsolateExitBuilder, A.IsolateStartBuilder, A.RegisterEvent, A._$RegisterEventSerializer, A.RegisterEventBuilder, A.RunRequest, A._$RunRequestSerializer, A.BatchedStreamController, A.SocketClient, A.Int32, A.Int64, A._StackState, A.Level, A.LogRecord, A.Logger, A.Pool, A.PoolResource, A.StreamChannelMixin, A._GuaranteeSink, A.StreamChannelController, A.RNG, A.UuidV1, A.EventStreamProvider0, A._EventStreamSubscription0, A.BrowserWebSocket, A.WebSocketEvent, A.WebSocketException, A.WebSocketChannelException, A.DdcRestarter, A.ReloadingManager, A.HotReloadFailedException, A.RequireRestarter]);
     _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.Event, A.DataTransferItemList, A.DomException, A.DomImplementation, 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.ImageData, 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.SharedArrayBuffer, 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.KeyRange, 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.LegacyJavaScriptObject, [J.PlainJavaScriptObject, J.UnknownJavaScriptObject, J.JavaScriptFunction, A.Promise, A.RequireLoader, A.JsError, A.JsMap]);
@@ -26805,12 +26992,12 @@
     _inheritMany(A._CastIterableBase, [A.CastIterable, A.__CastListBase__CastIterableBase_ListMixin]);
     _inherit(A._EfficientLengthCastIterable, A.CastIterable);
     _inherit(A._CastListBase, A.__CastListBase__CastIterableBase_ListMixin);
-    _inheritMany(A.Closure, [A.Closure2Args, A.Closure0Args, A.TearOffClosure, A.initHooks_closure, A.initHooks_closure1, A._AsyncRun__initializeScheduleImmediate_internalCallback, A._AsyncRun__initializeScheduleImmediate_closure, A._awaitOnObject_closure, A._Future__chainForeignFuture_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure, A._Future_timeout_closure0, A.Stream_length_closure, A.Stream_first_closure0, A._CustomZone_bindUnaryCallback_closure, A._CustomZone_bindUnaryCallbackGuarded_closure, A._RootZone_bindUnaryCallback_closure, A._RootZone_bindUnaryCallbackGuarded_closure, A.runZonedGuarded_closure, A._CustomHashMap_closure, A.SplayTreeSet_closure, A._BigIntImpl_hashCode_finish, A._Uri__makePath_closure, A._createTables_setChars, A._createTables_setRange, A.Element_Element$html_closure, A.HttpRequest_request_closure, A._EventStreamSubscription_closure, A._EventStreamSubscription_onData_closure0, A.NodeValidatorBuilder_allowsElement_closure, A.NodeValidatorBuilder_allowsAttribute_closure, A._SimpleNodeValidator_closure, A._SimpleNodeValidator_closure0, A._TemplatingNodeValidator_closure, A._convertToJS_closure, A._convertToJS_closure0, A._wrapToDart_closure, A._wrapToDart_closure0, A._wrapToDart_closure1, A.jsify__convert, A.promiseToFuture_closure, A.promiseToFuture_closure0, A.dartify_convert, A.StreamQueue__ensureListening_closure, A.BuiltListMultimap_BuiltListMultimap_closure, A.BuiltListMultimap_hashCode_closure, A.ListMultimapBuilder_replace_closure, A.BuiltMap_BuiltMap_closure, A.BuiltMap_hashCode_closure, A.BuiltSet_hashCode_closure, A.BuiltSetMultimap_hashCode_closure, A.SetMultimapBuilder_replace_closure, A.newBuiltValueToStringHelper_closure, A.BuiltListMultimapSerializer_serialize_closure, A.BuiltListMultimapSerializer_deserialize_closure, A.BuiltListSerializer_serialize_closure, A.BuiltListSerializer_deserialize_closure, A.BuiltSetMultimapSerializer_serialize_closure, A.BuiltSetMultimapSerializer_deserialize_closure, A.BuiltSetSerializer_serialize_closure, A.BuiltSetSerializer_deserialize_closure, A.WebSocketClient_stream_closure, A.Pool__runOnRelease_closure, A.SseClient_closure0, A.SseClient_closure1, A.generateUuidV4_generateBits, A._GuaranteeSink__addError_closure, A._EventStreamSubscription_closure0, A._EventStreamSubscription_onData_closure, A.HtmlWebSocketChannel_closure, A.HtmlWebSocketChannel_closure0, A.HtmlWebSocketChannel_closure1, A.HtmlWebSocketChannel__listen_closure, A.main__closure, A.main__closure1, A.main___closure2, A.main___closure1, A.main__closure3, A.main___closure0, A.main___closure, A.main__closure5, A.main__closure6, A.main__closure7, A.main__closure8, A._launchCommunicationWithDebugExtension_closure, A._listenForDebugExtensionAuthRequest_closure, A.DdcRestarter_restart_closure0, A.DdcRestarter_restart_closure, A.toFuture_closure, A.RequireRestarter__reloadModule_closure]);
-    _inheritMany(A.Closure2Args, [A._CastListBase_sort_closure, A.CastMap_forEach_closure, A.ConstantMap_map_closure, A.Primitives_functionNoSuchMethod_closure, A.JsLinkedHashMap_addAll_closure, A.initHooks_closure0, A._awaitOnObject_closure0, A._wrapJsFunctionForAsync_closure, A._Future__chainForeignFuture_closure0, A._Future_timeout_closure1, A._BufferingStreamSubscription_asFuture_closure0, A.LinkedHashMap_LinkedHashMap$from_closure, A.MapBase_mapToString_closure, A._JsonStringifier_writeMap_closure, A._BigIntImpl_hashCode_combine, A._symbolMapToStringMap_closure, A.NoSuchMethodError_toString_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._ValidatingTreeSanitizer_sanitizeTree_walk, A._StructuredClone_walk_closure, A._StructuredClone_walk_closure0, A._AcceptStructuredClone_walk_closure, A.AudioParamMap_keys_closure, A.StreamQueue__ensureListening_closure1, A.hashObjects_closure, A.MapBuilder_replace_closure, A.safeUnawaited_closure, A.Pool__runOnRelease_closure0, A.generateUuidV4_printDigits, A.generateUuidV4_bitsDigits, A.main__closure2, A.main_closure0, A.toPromise_closure]);
+    _inheritMany(A.Closure, [A.Closure2Args, A.Closure0Args, A.TearOffClosure, A.initHooks_closure, A.initHooks_closure1, A._AsyncRun__initializeScheduleImmediate_internalCallback, A._AsyncRun__initializeScheduleImmediate_closure, A._awaitOnObject_closure, A._Future__chainForeignFuture_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure, A._Future_timeout_closure0, A.Stream_length_closure, A.Stream_first_closure0, A._CustomZone_bindUnaryCallback_closure, A._CustomZone_bindUnaryCallbackGuarded_closure, A._RootZone_bindUnaryCallback_closure, A._RootZone_bindUnaryCallbackGuarded_closure, A.runZonedGuarded_closure, A._CustomHashMap_closure, A.SplayTreeSet_closure, A._BigIntImpl_hashCode_finish, A._Uri__makePath_closure, A._createTables_setChars, A._createTables_setRange, A.Element_Element$html_closure, A.HttpRequest_request_closure, A._EventStreamSubscription_closure, A._EventStreamSubscription_onData_closure0, A.NodeValidatorBuilder_allowsElement_closure, A.NodeValidatorBuilder_allowsAttribute_closure, A._SimpleNodeValidator_closure, A._SimpleNodeValidator_closure0, A._TemplatingNodeValidator_closure, A._convertToJS_closure, A._convertToJS_closure0, A._wrapToDart_closure, A._wrapToDart_closure0, A._wrapToDart_closure1, A.jsify__convert, A.promiseToFuture_closure, A.promiseToFuture_closure0, A.dartify_convert, A.StreamQueue__ensureListening_closure, A.BuiltListMultimap_BuiltListMultimap_closure, A.BuiltListMultimap_hashCode_closure, A.ListMultimapBuilder_replace_closure, A.BuiltMap_BuiltMap_closure, A.BuiltMap_hashCode_closure, A.BuiltSet_hashCode_closure, A.BuiltSetMultimap_hashCode_closure, A.SetMultimapBuilder_replace_closure, A.newBuiltValueToStringHelper_closure, A.BuiltListMultimapSerializer_serialize_closure, A.BuiltListMultimapSerializer_deserialize_closure, A.BuiltListSerializer_serialize_closure, A.BuiltListSerializer_deserialize_closure, A.BuiltSetMultimapSerializer_serialize_closure, A.BuiltSetMultimapSerializer_deserialize_closure, A.BuiltSetSerializer_serialize_closure, A.BuiltSetSerializer_deserialize_closure, A.WebSocketClient_stream_closure, A.Pool__runOnRelease_closure, A.SseClient_closure0, A.SseClient_closure1, A.generateUuidV4_generateBits, A._GuaranteeSink__addError_closure, A._EventStreamSubscription_closure0, A._EventStreamSubscription_onData_closure, A.BrowserWebSocket_connect_closure, A.BrowserWebSocket_connect_closure0, A.BrowserWebSocket_connect_closure1, A.BrowserWebSocket_connect_closure2, A.AdapterWebSocketChannel_closure, A.AdapterWebSocketChannel__closure, A.AdapterWebSocketChannel__closure0, A.AdapterWebSocketChannel_closure0, A.main__closure, A.main__closure1, A.main___closure2, A.main___closure1, A.main__closure3, A.main___closure0, A.main___closure, A.main__closure5, A.main__closure6, A.main__closure7, A.main__closure8, A._launchCommunicationWithDebugExtension_closure, A._listenForDebugExtensionAuthRequest_closure, A.DdcRestarter_restart_closure0, A.DdcRestarter_restart_closure, A.toFuture_closure, A.RequireRestarter__reloadModule_closure]);
+    _inheritMany(A.Closure2Args, [A._CastListBase_sort_closure, A.CastMap_forEach_closure, A.ConstantMap_map_closure, A.Primitives_functionNoSuchMethod_closure, A.JsLinkedHashMap_addAll_closure, A.initHooks_closure0, A._awaitOnObject_closure0, A._wrapJsFunctionForAsync_closure, A._Future__chainForeignFuture_closure0, A._Future_timeout_closure1, A._BufferingStreamSubscription_asFuture_closure0, A.LinkedHashMap_LinkedHashMap$from_closure, A.MapBase_mapToString_closure, A._JsonStringifier_writeMap_closure, A._BigIntImpl_hashCode_combine, A.NoSuchMethodError_toString_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._ValidatingTreeSanitizer_sanitizeTree_walk, A._StructuredClone_walk_closure, A._StructuredClone_walk_closure0, A._AcceptStructuredClone_walk_closure, A.AudioParamMap_keys_closure, A.StreamQueue__ensureListening_closure1, A.hashObjects_closure, A.MapBuilder_replace_closure, A.safeUnawaited_closure, A.Pool__runOnRelease_closure0, A.generateUuidV4_printDigits, A.generateUuidV4_bitsDigits, A.main__closure2, A.main_closure0, A.toPromise_closure]);
     _inherit(A.CastList, A._CastListBase);
     _inheritMany(A.MapBase, [A.CastMap, A.JsLinkedHashMap, A._HashMap, A._JsonMap, A._AttributeMap]);
     _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, A.BuiltValueNullFieldError, A.BuiltValueNestedFieldError, A.DeserializationError]);
-    _inheritMany(A.Closure0Args, [A.nullFuture_closure, A._AsyncRun__scheduleImmediateJsOverride_internalCallback, A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, A._TimerImpl_internalCallback, A._TimerImpl$periodic_closure, A.Future_Future$microtask_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._Future_timeout_closure, A.Stream_length_closure0, A.Stream_first_closure, A._StreamController__subscribe_closure, A._StreamController__recordCancel_complete, A._BufferingStreamSubscription_asFuture_closure, A._BufferingStreamSubscription_asFuture__closure, A._BufferingStreamSubscription__sendError_sendError, A._BufferingStreamSubscription__sendDone_sendDone, A._PendingEvents_schedule_closure, A._cancelAndValue_closure, A._CustomZone_bindCallback_closure, A._CustomZone_bindCallbackGuarded_closure, A._rootHandleError_closure, A._RootZone_bindCallback_closure, A._RootZone_bindCallbackGuarded_closure, A.StreamQueue__ensureListening_closure0, A.Serializers_Serializers_closure, A.Serializers_Serializers_closure0, A.Serializers_Serializers_closure1, A.Serializers_Serializers_closure2, A.Serializers_Serializers_closure3, A._$serializers_closure, A._$serializers_closure0, A.BatchedStreamController__hasEventOrTimeOut_closure, A.BatchedStreamController__hasEventDuring_closure, A.Logger_Logger_closure, A.SseClient_closure, A.SseClient__closure, A.SseClient__onOutgoingMessage_closure, A.GuaranteeChannel_closure, A.GuaranteeChannel__closure, A.HtmlWebSocketChannel__listen_closure0, A.main_closure, A.main__closure0, A.main__closure4, A.RequireRestarter__reload_closure, A._createScript_closure, A._createScript__closure]);
+    _inheritMany(A.Closure0Args, [A.nullFuture_closure, A._AsyncRun__scheduleImmediateJsOverride_internalCallback, A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, A._TimerImpl_internalCallback, A._TimerImpl$periodic_closure, A.Future_Future$microtask_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._Future_timeout_closure, A.Stream_length_closure0, A.Stream_first_closure, A._StreamController__subscribe_closure, A._StreamController__recordCancel_complete, A._BufferingStreamSubscription_asFuture_closure, A._BufferingStreamSubscription_asFuture__closure, A._BufferingStreamSubscription__sendError_sendError, A._BufferingStreamSubscription__sendDone_sendDone, A._PendingEvents_schedule_closure, A._cancelAndValue_closure, A._CustomZone_bindCallback_closure, A._CustomZone_bindCallbackGuarded_closure, A._rootHandleError_closure, A._RootZone_bindCallback_closure, A._RootZone_bindCallbackGuarded_closure, A.StreamQueue__ensureListening_closure0, A.Serializers_Serializers_closure, A.Serializers_Serializers_closure0, A.Serializers_Serializers_closure1, A.Serializers_Serializers_closure2, A.Serializers_Serializers_closure3, A._$serializers_closure, A._$serializers_closure0, A.BatchedStreamController__hasEventOrTimeOut_closure, A.BatchedStreamController__hasEventDuring_closure, A.Logger_Logger_closure, A.SseClient_closure, A.SseClient__closure, A.SseClient__onOutgoingMessage_closure, A.GuaranteeChannel_closure, A.GuaranteeChannel__closure, A.AdapterWebSocketChannel__closure1, A.main_closure, A.main__closure0, A.main__closure4, A.RequireRestarter__reload_closure, A._createScript_closure, A._createScript__closure]);
     _inheritMany(A.EfficientLengthIterable, [A.ListIterable, A.EmptyIterable, A.LinkedHashMapKeyIterable, A._HashMapKeyIterable]);
     _inheritMany(A.ListIterable, [A.SubListIterable, A.MappedListIterable, A.ReversedListIterable, A.ListQueue, A._JsonMapKeyIterable]);
     _inherit(A.EfficientLengthMappedIterable, A.MappedIterable);
@@ -26952,8 +27139,11 @@
     _inherit(A._$RegisterEvent, A.RegisterEvent);
     _inherit(A._$RunRequest, A.RunRequest);
     _inheritMany(A.SocketClient, [A.SseSocketClient, A.WebSocketClient]);
-    _inheritMany(A.StreamChannelMixin, [A.SseClient, A.GuaranteeChannel, A.HtmlWebSocketChannel, A.WebSocketChannel]);
-    _inherit(A._HtmlWebSocketSink, A.DelegatingStreamSink);
+    _inheritMany(A.StreamChannelMixin, [A.SseClient, A.GuaranteeChannel, A.AdapterWebSocketChannel]);
+    _inherit(A.MathRNG, A.RNG);
+    _inheritMany(A.WebSocketEvent, [A.TextDataReceived, A.BinaryDataReceived, A.CloseReceived]);
+    _inherit(A.WebSocketConnectionClosed, A.WebSocketException);
+    _inherit(A._WebSocketSink, A.DelegatingStreamSink);
     _mixin(A.UnmodifiableListBase, A.UnmodifiableListMixin);
     _mixin(A.__CastListBase__CastIterableBase_ListMixin, A.ListBase);
     _mixin(A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin, A.ListBase);
@@ -27020,18 +27210,18 @@
     typeUniverse: {eC: new Map(), tR: {}, eT: {}, tPV: {}, sEA: []},
     mangledGlobalNames: {int: "int", double: "double", num: "num", String: "String", bool: "bool", Null: "Null", List: "List", Object: "Object", Map: "Map"},
     mangledNames: {},
-    types: ["~()", "@(@)", "Object?(@)", "~(JSObject)", "Null()", "~(String,@)", "Null(@)", "~(@)", "Null(Object,StackTrace)", "Object?(Object?)", "~(~())", "~(Object,StackTrace)", "~(Object?)", "~(@,@)", "~(Event)", "bool(Object?,Object?)", "int(Object?)", "Null(JSObject)", "ScriptElement()", "int(@,@)", "bool(@)", "~(Object?,Object?)", "int(int,int)", "int(int)", "~(Symbol0,@)", "String(String)", "~(Uint8List,String,int)", "~(@,StackTrace)", "Future<Null>()", "bool(NodeValidator)", "bool(String)", "~(Object[StackTrace?])", "bool()", "~(String,String)", "String(int,int)", "bool(Element,String,String,_Html5NodeValidator)", "~(String)", "IndentingBuiltValueToStringHelper(String)", "Null(@,@)", "@(@,@)", "JsFunction(@)", "JsArray<@>(@)", "JsObject(@)", "bool(Node)", "int(int,@)", "~(Zone,ZoneDelegate,Zone,Object,StackTrace)", "ListBuilder<Object>()", "ListMultimapBuilder<Object,Object>()", "MapBuilder<Object,Object>()", "_Future<@>(@)", "SetMultimapBuilder<Object,Object>()", "~([Object?])", "@(String)", "@(@,String)", "bool(Object?)", "ListBuilder<DebugEvent>()", "ListBuilder<ExtensionEvent>()", "~(String,int?)", "String(@)", "Logger()", "Null(@,StackTrace)", "~(String?)", "~(int,@)", "Null(~())", "Future<~>()", "Uint8List(@,@)", "~(List<DebugEvent>)", "ListBuilder<DebugEvent>(BatchedDebugEventsBuilder)", "DebugEventBuilder(DebugEventBuilder)", "~(String,int)", "RegisterEventBuilder(RegisterEventBuilder)", "Zone(Zone?,ZoneDelegate?,Zone,ZoneSpecification?,Map<Object?,Object?>?)", "Future<~>(String)", "ConnectRequestBuilder(ConnectRequestBuilder)", "DebugInfoBuilder(DebugInfoBuilder)", "Future<Null>(Event)", "~(MessageEvent)", "bool(bool)", "List<String>(String)", "int(String,String)", "~(JsError)", "ScriptElement()()", "Promise<1&>(String[bool?])", "~(Node,Node?)", "DevToolsRequestBuilder(DevToolsRequestBuilder)", "~(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)", "~(ProgressEvent)", "SetBuilder<Object>()"],
+    types: ["~()", "@(@)", "Object?(@)", "~(JSObject)", "Null()", "~(String,@)", "Null(@)", "~(@)", "Null(Object,StackTrace)", "Object?(Object?)", "~(~())", "~(Object,StackTrace)", "~(Object?)", "~(@,@)", "~(Event)", "bool(Object?,Object?)", "int(Object?)", "Null(JSObject)", "~(String,String)", "~(@,StackTrace)", "bool(@)", "~(Object?,Object?)", "int(int,int)", "int(int)", "String(String)", "~(Uint8List,String,int)", "~(String)", "Future<Null>()", "bool(NodeValidator)", "bool(String)", "ScriptElement()", "bool()", "bool(Element,String,String,_Html5NodeValidator)", "Future<~>()", "~(Object[StackTrace?])", "int(@,@)", "String(int,int)", "~(Node,Node?)", "Null(@,@)", "@(@,@)", "JsFunction(@)", "JsArray<@>(@)", "JsObject(@)", "~(int,@)", "int(int,@)", "IndentingBuiltValueToStringHelper(String)", "~(Zone,ZoneDelegate,Zone,Object,StackTrace)", "ListMultimapBuilder<Object,Object>()", "MapBuilder<Object,Object>()", "SetBuilder<Object>()", "SetMultimapBuilder<Object,Object>()", "~([Object?])", "@(String)", "@(@,String)", "bool(Object?)", "ListBuilder<DebugEvent>()", "ListBuilder<ExtensionEvent>()", "bool(Node)", "String(@)", "Logger()", "_Future<@>(@)", "~(String?)", "Uint8List(@,@)", "Null(~())", "Null(WebSocket0)", "~(WebSocketEvent)", "~(String,int?)", "~(String,int)", "Promise<1&>(String[bool?])", "~(List<DebugEvent>)", "ListBuilder<DebugEvent>(BatchedDebugEventsBuilder)", "DebugEventBuilder(DebugEventBuilder)", "Zone(Zone?,ZoneDelegate?,Zone,ZoneSpecification?,Map<Object?,Object?>?)", "RegisterEventBuilder(RegisterEventBuilder)", "DevToolsRequestBuilder(DevToolsRequestBuilder)", "Future<~>(String)", "ConnectRequestBuilder(ConnectRequestBuilder)", "DebugInfoBuilder(DebugInfoBuilder)", "Future<Null>(Event)", "~(MessageEvent)", "bool(bool)", "List<String>(String)", "int(String,String)", "~(JsError)", "ScriptElement()()", "~(Symbol0,@)", "Null(@,StackTrace)", "ListBuilder<Object>()", "~(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)", "~(ProgressEvent)", "Null(Object)"],
     interceptorsByTag: null,
     leafTags: null,
     arrayRti: Symbol("$ti"),
     rttc: {}
   };
-  A._Universe_addRules(init.typeUniverse, JSON.parse('{"PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","JavaScriptFunction":"LegacyJavaScriptObject","Promise":"LegacyJavaScriptObject","JsError":"LegacyJavaScriptObject","RequireLoader":"LegacyJavaScriptObject","JsMap":"LegacyJavaScriptObject","KeyframeEffect":"JavaScriptObject","KeyframeEffectReadOnly":"JavaScriptObject","AnimationEffectReadOnly":"JavaScriptObject","AbortPaymentEvent":"Event","ExtendableEvent":"Event","AudioContext":"BaseAudioContext","AbsoluteOrientationSensor":"EventTarget","OrientationSensor":"EventTarget","Sensor":"EventTarget","AElement":"SvgElement","GraphicsElement":"SvgElement","_ResourceProgressEvent":"ProgressEvent","AudioElement":"HtmlElement","MediaElement":"HtmlElement","ShadowRoot":"Node","DocumentFragment":"Node","XmlDocument":"Document","VttCue":"TextTrackCue","CompositionEvent":"UIEvent","DedicatedWorkerGlobalScope":"WorkerGlobalScope","CDataSection":"CharacterData","Text":"CharacterData","MathMLElement":"Element","HttpRequestUpload":"HttpRequestEventTarget","HtmlFormControlsCollection":"HtmlCollection","CssCharsetRule":"CssRule","CssMatrixComponent":"CssTransformComponent","CssStyleSheet":"StyleSheet","CssurlImageValue":"CssStyleValue","CssImageValue":"CssStyleValue","CssResourceValue":"CssStyleValue","JSArray":{"List":["1"],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"Iterable.E":"1"},"JSBool":{"bool":[],"TrustedGetRuntimeType":[]},"JSNull":{"Null":[],"TrustedGetRuntimeType":[]},"JavaScriptObject":{"JSObject":[]},"LegacyJavaScriptObject":{"JSObject":[],"Promise":["1&"],"JsError":[]},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"Iterable.E":"1"},"ArrayIterator":{"Iterator":["1"]},"JSNumber":{"double":[],"num":[],"Comparable":["num"]},"JSInt":{"double":[],"int":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSNumNotInt":{"double":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSString":{"String":[],"Comparable":["String"],"Pattern":[],"TrustedGetRuntimeType":[]},"_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"},"CastMap":{"MapBase":["3","4"],"Map":["3","4"],"MapBase.K":"3","MapBase.V":"4"},"LateError":{"Error":[]},"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"]},"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"]},"EmptyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"EmptyIterator":{"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"]},"JSInvocationMirror":{"Invocation":[]},"NullError":{"TypeError":[],"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Function":[]},"Closure2Args":{"Function":[]},"TearOffClosure":{"Function":[]},"StaticClosure":{"Function":[]},"BoundClosure":{"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":{"JSObject":[],"ByteBuffer":[],"TrustedGetRuntimeType":[]},"NativeTypedData":{"JSObject":[],"TypedData":[]},"NativeByteData":{"NativeTypedData":[],"ByteData":[],"JSObject":[],"TypedData":[],"TrustedGetRuntimeType":[]},"NativeTypedArray":{"NativeTypedData":[],"JavaScriptIndexingBehavior":["1"],"JSObject":[],"TypedData":[]},"NativeTypedArrayOfDouble":{"ListBase":["double"],"List":["double"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"ListBase":["double"],"Float32List":[],"List":["double"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double"},"NativeFloat64List":{"ListBase":["double"],"Float64List":[],"List":["double"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double"},"NativeInt16List":{"ListBase":["int"],"Int16List":[],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeInt32List":{"ListBase":["int"],"Int32List":[],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeInt8List":{"ListBase":["int"],"Int8List":[],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint16List":{"ListBase":["int"],"Uint16List":[],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint32List":{"ListBase":["int"],"Uint32List":[],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint8ClampedList":{"ListBase":["int"],"Uint8ClampedList":[],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint8List":{"ListBase":["int"],"Uint8List":[],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"_Type":{"Type":[]},"_Error":{"Error":[]},"_TypeError":{"TypeError":[],"Error":[]},"AsyncError":{"Error":[]},"_Future":{"Future":["1"]},"_TimerImpl":{"Timer":[]},"_AsyncAwaitCompleter":{"Completer":["1"]},"_Completer":{"Completer":["1"]},"_AsyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_SyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_StreamController":{"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_AsyncStreamController":{"_AsyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_SyncStreamController":{"_SyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_ControllerStream":{"_StreamImpl":["1"],"Stream":["1"],"Stream.T":"1"},"_ControllerSubscription":{"_BufferingStreamSubscription":["1"],"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamSinkWrapper":{"StreamSink":["1"]},"_BufferingStreamSubscription":{"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamImpl":{"Stream":["1"]},"_DelayedData":{"_DelayedEvent":["1"]},"_DelayedError":{"_DelayedEvent":["@"]},"_DelayedDone":{"_DelayedEvent":["@"]},"_ForwardingStream":{"Stream":["2"]},"_ForwardingStreamSubscription":{"_BufferingStreamSubscription":["2"],"StreamSubscription":["2"],"_EventSink":["2"],"_EventDispatch":["2"],"_BufferingStreamSubscription.T":"2"},"_MapStream":{"_ForwardingStream":["1","2"],"Stream":["2"],"Stream.T":"2"},"_ZoneSpecification":{"ZoneSpecification":[]},"_ZoneDelegate":{"ZoneDelegate":[]},"_Zone":{"Zone":[]},"_CustomZone":{"_Zone":[],"Zone":[]},"_RootZone":{"_Zone":[],"Zone":[]},"_SplayTreeSetNode":{"_SplayTreeNode":["1","_SplayTreeSetNode<1>"],"_SplayTreeNode.1":"_SplayTreeSetNode<1>","_SplayTreeNode.K":"1"},"_HashMap":{"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_IdentityHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_CustomHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashMapKeyIterator":{"Iterator":["1"]},"_HashSet":{"_SetBase":["1"],"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashSetIterator":{"Iterator":["1"]},"_LinkedHashSet":{"_SetBase":["1"],"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_LinkedHashSetIterator":{"Iterator":["1"]},"UnmodifiableListView":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1","UnmodifiableListMixin.E":"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"]},"ListQueue":{"Queue":["1"],"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"_ListQueueIterator":{"Iterator":["1"]},"SetBase":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SetBase":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SplayTreeIterator":{"Iterator":["3"]},"_SplayTreeKeyIterator":{"_SplayTreeIterator":["1","2","1"],"Iterator":["1"],"_SplayTreeIterator.K":"1","_SplayTreeIterator.T":"1","_SplayTreeIterator.1":"2"},"SplayTreeSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"_SplayTree":["1","_SplayTreeSetNode<1>"],"Iterable":["1"],"Iterable.E":"1","_SplayTree.1":"_SplayTreeSetNode<1>","_SplayTree.K":"1"},"_JsonMap":{"MapBase":["String","@"],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"_JsonMapKeyIterable":{"ListIterable":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"ListIterable.E":"String","Iterable.E":"String"},"Base64Codec":{"Codec":["List<int>","String"],"Codec.S":"List<int>"},"Base64Encoder":{"Converter":["List<int>","String"],"StreamTransformer":["List<int>","String"]},"Base64Decoder":{"Converter":["String","List<int>"],"StreamTransformer":["String","List<int>"]},"Converter":{"StreamTransformer":["1","2"]},"Encoding":{"Codec":["String","List<int>"]},"JsonUnsupportedObjectError":{"Error":[]},"JsonCyclicError":{"Error":[]},"JsonCodec":{"Codec":["Object?","String"],"Codec.S":"Object?"},"JsonEncoder":{"Converter":["Object?","String"],"StreamTransformer":["Object?","String"]},"JsonDecoder":{"Converter":["String","Object?"],"StreamTransformer":["String","Object?"]},"Utf8Codec":{"Codec":["String","List<int>"],"Codec.S":"String"},"Utf8Encoder":{"Converter":["String","List<int>"],"StreamTransformer":["String","List<int>"]},"BigInt":{"Comparable":["BigInt"]},"DateTime":{"Comparable":["DateTime"]},"double":{"num":[],"Comparable":["num"]},"Duration":{"Comparable":["Duration"]},"int":{"num":[],"Comparable":["num"]},"List":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"num":{"Comparable":["num"]},"RegExp":{"Pattern":[]},"RegExpMatch":{"Match":[]},"Set":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"String":{"Comparable":["String"],"Pattern":[]},"_BigIntImpl":{"BigInt":[],"Comparable":["BigInt"]},"AssertionError":{"Error":[]},"TypeError":{"Error":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"NoSuchMethodError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"IntegerDivisionByZeroException":{"Error":[]},"_StringStackTrace":{"StackTrace":[]},"StringBuffer":{"StringSink":[]},"_Uri":{"Uri":[]},"_SimpleUri":{"Uri":[]},"_DataUri":{"Uri":[]},"CssRule":{"JSObject":[]},"Element":{"Node":[],"EventTarget":[],"JSObject":[]},"Event":{"JSObject":[]},"File":{"Blob":[],"JSObject":[]},"Gamepad":{"JSObject":[]},"HttpRequest":{"EventTarget":[],"JSObject":[]},"KeyboardEvent":{"Event":[],"JSObject":[]},"MessageEvent":{"Event":[],"JSObject":[]},"MimeType":{"JSObject":[]},"Node":{"EventTarget":[],"JSObject":[]},"Plugin":{"JSObject":[]},"ProgressEvent":{"Event":[],"JSObject":[]},"ScriptElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"SourceBuffer":{"EventTarget":[],"JSObject":[]},"SpeechGrammar":{"JSObject":[]},"SpeechRecognitionResult":{"JSObject":[]},"StyleSheet":{"JSObject":[]},"TextTrack":{"EventTarget":[],"JSObject":[]},"TextTrackCue":{"EventTarget":[],"JSObject":[]},"Touch":{"JSObject":[]},"_Html5NodeValidator":{"NodeValidator":[]},"HtmlElement":{"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"AccessibleNodeList":{"JSObject":[]},"AnchorElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"AreaElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"BaseElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"Blob":{"JSObject":[]},"BodyElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"CharacterData":{"Node":[],"EventTarget":[],"JSObject":[]},"CssPerspective":{"JSObject":[]},"CssStyleDeclaration":{"JSObject":[]},"CssStyleValue":{"JSObject":[]},"CssTransformComponent":{"JSObject":[]},"CssTransformValue":{"JSObject":[]},"CssUnparsedValue":{"JSObject":[]},"CustomEvent":{"Event":[],"JSObject":[]},"DataTransferItemList":{"JSObject":[]},"Document":{"Node":[],"EventTarget":[],"JSObject":[]},"DomException":{"JSObject":[]},"DomImplementation":{"JSObject":[]},"DomRectList":{"ListBase":["Rectangle<num>"],"ImmutableListMixin":["Rectangle<num>"],"List":["Rectangle<num>"],"JavaScriptIndexingBehavior":["Rectangle<num>"],"EfficientLengthIterable":["Rectangle<num>"],"JSObject":[],"Iterable":["Rectangle<num>"],"ImmutableListMixin.E":"Rectangle<num>","ListBase.E":"Rectangle<num>","Iterable.E":"Rectangle<num>"},"DomRectReadOnly":{"Rectangle":["num"],"JSObject":[]},"DomStringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptIndexingBehavior":["String"],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"DomTokenList":{"JSObject":[]},"_FrozenElementList":{"ListBase":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1"},"EventTarget":{"JSObject":[]},"FileList":{"ListBase":["File"],"ImmutableListMixin":["File"],"List":["File"],"JavaScriptIndexingBehavior":["File"],"EfficientLengthIterable":["File"],"JSObject":[],"Iterable":["File"],"ImmutableListMixin.E":"File","ListBase.E":"File","Iterable.E":"File"},"FileWriter":{"EventTarget":[],"JSObject":[]},"FormElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"History":{"JSObject":[]},"HtmlCollection":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"HtmlDocument":{"Document":[],"Node":[],"EventTarget":[],"JSObject":[]},"HttpRequestEventTarget":{"EventTarget":[],"JSObject":[]},"ImageData":{"JSObject":[]},"Location":{"JSObject":[]},"MediaList":{"JSObject":[]},"MessagePort":{"EventTarget":[],"JSObject":[]},"MidiInputMap":{"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MidiOutputMap":{"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MimeTypeArray":{"ListBase":["MimeType"],"ImmutableListMixin":["MimeType"],"List":["MimeType"],"JavaScriptIndexingBehavior":["MimeType"],"EfficientLengthIterable":["MimeType"],"JSObject":[],"Iterable":["MimeType"],"ImmutableListMixin.E":"MimeType","ListBase.E":"MimeType","Iterable.E":"MimeType"},"_ChildNodeListLazy":{"ListBase":["Node"],"List":["Node"],"EfficientLengthIterable":["Node"],"Iterable":["Node"],"ListBase.E":"Node","Iterable.E":"Node"},"NodeList":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"PluginArray":{"ListBase":["Plugin"],"ImmutableListMixin":["Plugin"],"List":["Plugin"],"JavaScriptIndexingBehavior":["Plugin"],"EfficientLengthIterable":["Plugin"],"JSObject":[],"Iterable":["Plugin"],"ImmutableListMixin.E":"Plugin","ListBase.E":"Plugin","Iterable.E":"Plugin"},"RtcStatsReport":{"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"SelectElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"SharedArrayBuffer":{"JSObject":[]},"SourceBufferList":{"ListBase":["SourceBuffer"],"ImmutableListMixin":["SourceBuffer"],"List":["SourceBuffer"],"EventTarget":[],"JavaScriptIndexingBehavior":["SourceBuffer"],"EfficientLengthIterable":["SourceBuffer"],"JSObject":[],"Iterable":["SourceBuffer"],"ImmutableListMixin.E":"SourceBuffer","ListBase.E":"SourceBuffer","Iterable.E":"SourceBuffer"},"SpeechGrammarList":{"ListBase":["SpeechGrammar"],"ImmutableListMixin":["SpeechGrammar"],"List":["SpeechGrammar"],"JavaScriptIndexingBehavior":["SpeechGrammar"],"EfficientLengthIterable":["SpeechGrammar"],"JSObject":[],"Iterable":["SpeechGrammar"],"ImmutableListMixin.E":"SpeechGrammar","ListBase.E":"SpeechGrammar","Iterable.E":"SpeechGrammar"},"Storage":{"MapBase":["String","String"],"JSObject":[],"Map":["String","String"],"MapBase.K":"String","MapBase.V":"String"},"TableElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"TableRowElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"TableSectionElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"TemplateElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"TextTrackCueList":{"ListBase":["TextTrackCue"],"ImmutableListMixin":["TextTrackCue"],"List":["TextTrackCue"],"JavaScriptIndexingBehavior":["TextTrackCue"],"EfficientLengthIterable":["TextTrackCue"],"JSObject":[],"Iterable":["TextTrackCue"],"ImmutableListMixin.E":"TextTrackCue","ListBase.E":"TextTrackCue","Iterable.E":"TextTrackCue"},"TextTrackList":{"ListBase":["TextTrack"],"ImmutableListMixin":["TextTrack"],"List":["TextTrack"],"EventTarget":[],"JavaScriptIndexingBehavior":["TextTrack"],"EfficientLengthIterable":["TextTrack"],"JSObject":[],"Iterable":["TextTrack"],"ImmutableListMixin.E":"TextTrack","ListBase.E":"TextTrack","Iterable.E":"TextTrack"},"TimeRanges":{"JSObject":[]},"TouchList":{"ListBase":["Touch"],"ImmutableListMixin":["Touch"],"List":["Touch"],"JavaScriptIndexingBehavior":["Touch"],"EfficientLengthIterable":["Touch"],"JSObject":[],"Iterable":["Touch"],"ImmutableListMixin.E":"Touch","ListBase.E":"Touch","Iterable.E":"Touch"},"TrackDefaultList":{"JSObject":[]},"UIEvent":{"Event":[],"JSObject":[]},"Url":{"JSObject":[]},"VideoTrackList":{"EventTarget":[],"JSObject":[]},"Window":{"WindowBase":[],"EventTarget":[],"JSObject":[]},"WorkerGlobalScope":{"EventTarget":[],"JSObject":[]},"_Attr":{"Node":[],"EventTarget":[],"JSObject":[]},"_CssRuleList":{"ListBase":["CssRule"],"ImmutableListMixin":["CssRule"],"List":["CssRule"],"JavaScriptIndexingBehavior":["CssRule"],"EfficientLengthIterable":["CssRule"],"JSObject":[],"Iterable":["CssRule"],"ImmutableListMixin.E":"CssRule","ListBase.E":"CssRule","Iterable.E":"CssRule"},"_DomRect":{"Rectangle":["num"],"JSObject":[]},"_GamepadList":{"ListBase":["Gamepad?"],"ImmutableListMixin":["Gamepad?"],"List":["Gamepad?"],"JavaScriptIndexingBehavior":["Gamepad?"],"EfficientLengthIterable":["Gamepad?"],"JSObject":[],"Iterable":["Gamepad?"],"ImmutableListMixin.E":"Gamepad?","ListBase.E":"Gamepad?","Iterable.E":"Gamepad?"},"_NamedNodeMap":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"_SpeechRecognitionResultList":{"ListBase":["SpeechRecognitionResult"],"ImmutableListMixin":["SpeechRecognitionResult"],"List":["SpeechRecognitionResult"],"JavaScriptIndexingBehavior":["SpeechRecognitionResult"],"EfficientLengthIterable":["SpeechRecognitionResult"],"JSObject":[],"Iterable":["SpeechRecognitionResult"],"ImmutableListMixin.E":"SpeechRecognitionResult","ListBase.E":"SpeechRecognitionResult","Iterable.E":"SpeechRecognitionResult"},"_StyleSheetList":{"ListBase":["StyleSheet"],"ImmutableListMixin":["StyleSheet"],"List":["StyleSheet"],"JavaScriptIndexingBehavior":["StyleSheet"],"EfficientLengthIterable":["StyleSheet"],"JSObject":[],"Iterable":["StyleSheet"],"ImmutableListMixin.E":"StyleSheet","ListBase.E":"StyleSheet","Iterable.E":"StyleSheet"},"_AttributeMap":{"MapBase":["String","String"],"Map":["String","String"]},"_ElementAttributeMap":{"MapBase":["String","String"],"Map":["String","String"],"MapBase.K":"String","MapBase.V":"String"},"_EventStream0":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription":{"StreamSubscription":["1"]},"NodeValidatorBuilder":{"NodeValidator":[]},"_SimpleNodeValidator":{"NodeValidator":[]},"_TemplatingNodeValidator":{"NodeValidator":[]},"_SvgNodeValidator":{"NodeValidator":[]},"FixedSizeListIterator":{"Iterator":["1"]},"_DOMWindowCrossFrame":{"WindowBase":[],"EventTarget":[],"JSObject":[]},"_SameOriginUriPolicy":{"UriPolicy":[]},"_ValidatingTreeSanitizer":{"NodeTreeSanitizer":[]},"KeyRange":{"JSObject":[]},"JsArray":{"ListBase":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1"},"Length":{"JSObject":[]},"Number":{"JSObject":[]},"Transform":{"JSObject":[]},"LengthList":{"ListBase":["Length"],"ImmutableListMixin":["Length"],"List":["Length"],"EfficientLengthIterable":["Length"],"JSObject":[],"Iterable":["Length"],"ImmutableListMixin.E":"Length","ListBase.E":"Length","Iterable.E":"Length"},"NumberList":{"ListBase":["Number"],"ImmutableListMixin":["Number"],"List":["Number"],"EfficientLengthIterable":["Number"],"JSObject":[],"Iterable":["Number"],"ImmutableListMixin.E":"Number","ListBase.E":"Number","Iterable.E":"Number"},"PointList":{"JSObject":[]},"ScriptElement0":{"SvgElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"StringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"SvgElement":{"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"TransformList":{"ListBase":["Transform"],"ImmutableListMixin":["Transform"],"List":["Transform"],"EfficientLengthIterable":["Transform"],"JSObject":[],"Iterable":["Transform"],"ImmutableListMixin.E":"Transform","ListBase.E":"Transform","Iterable.E":"Transform"},"AudioBuffer":{"JSObject":[]},"AudioParamMap":{"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"AudioTrackList":{"EventTarget":[],"JSObject":[]},"BaseAudioContext":{"EventTarget":[],"JSObject":[]},"OfflineAudioContext":{"EventTarget":[],"JSObject":[]},"DelegatingStreamSink":{"StreamSink":["1"]},"ErrorResult":{"Result":["0&"]},"ValueResult":{"Result":["1"]},"_NextRequest":{"_EventRequest":["1"]},"_HasNextRequest":{"_EventRequest":["1"]},"BuiltList":{"Iterable":["1"]},"_BuiltList":{"BuiltList":["1"],"Iterable":["1"],"Iterable.E":"1"},"_BuiltListMultimap":{"BuiltListMultimap":["1","2"]},"_BuiltMap":{"BuiltMap":["1","2"]},"BuiltSet":{"Iterable":["1"]},"_BuiltSet":{"BuiltSet":["1"],"Iterable":["1"],"Iterable.E":"1"},"_BuiltSetMultimap":{"BuiltSetMultimap":["1","2"]},"BuiltValueNullFieldError":{"Error":[]},"BuiltValueNestedFieldError":{"Error":[]},"BoolJsonObject":{"JsonObject":[]},"ListJsonObject":{"JsonObject":[]},"MapJsonObject":{"JsonObject":[]},"NumJsonObject":{"JsonObject":[]},"StringJsonObject":{"JsonObject":[]},"DeserializationError":{"Error":[]},"BigIntSerializer":{"PrimitiveSerializer":["BigInt"],"Serializer":["BigInt"]},"BoolSerializer":{"PrimitiveSerializer":["bool"],"Serializer":["bool"]},"BuiltJsonSerializers":{"Serializers":[]},"BuiltListMultimapSerializer":{"StructuredSerializer":["BuiltListMultimap<@,@>"],"Serializer":["BuiltListMultimap<@,@>"]},"BuiltListSerializer":{"StructuredSerializer":["BuiltList<@>"],"Serializer":["BuiltList<@>"]},"BuiltMapSerializer":{"StructuredSerializer":["BuiltMap<@,@>"],"Serializer":["BuiltMap<@,@>"]},"BuiltSetMultimapSerializer":{"StructuredSerializer":["BuiltSetMultimap<@,@>"],"Serializer":["BuiltSetMultimap<@,@>"]},"BuiltSetSerializer":{"StructuredSerializer":["BuiltSet<@>"],"Serializer":["BuiltSet<@>"]},"DateTimeSerializer":{"PrimitiveSerializer":["DateTime"],"Serializer":["DateTime"]},"DoubleSerializer":{"PrimitiveSerializer":["double"],"Serializer":["double"]},"DurationSerializer":{"PrimitiveSerializer":["Duration"],"Serializer":["Duration"]},"Int32Serializer":{"PrimitiveSerializer":["Int32"],"Serializer":["Int32"]},"Int64Serializer":{"PrimitiveSerializer":["Int64"],"Serializer":["Int64"]},"IntSerializer":{"PrimitiveSerializer":["int"],"Serializer":["int"]},"JsonObjectSerializer":{"PrimitiveSerializer":["JsonObject"],"Serializer":["JsonObject"]},"NullSerializer":{"PrimitiveSerializer":["Null"],"Serializer":["Null"]},"NumSerializer":{"PrimitiveSerializer":["num"],"Serializer":["num"]},"RegExpSerializer":{"PrimitiveSerializer":["RegExp"],"Serializer":["RegExp"]},"StringSerializer":{"PrimitiveSerializer":["String"],"Serializer":["String"]},"Uint8ListSerializer":{"PrimitiveSerializer":["Uint8List"],"Serializer":["Uint8List"]},"UriSerializer":{"PrimitiveSerializer":["Uri"],"Serializer":["Uri"]},"DefaultEquality":{"Equality":["1"]},"IterableEquality":{"Equality":["Iterable<1>"]},"ListEquality":{"Equality":["List<1>"]},"_UnorderedEquality":{"Equality":["2"]},"SetEquality":{"_UnorderedEquality":["1","Set<1>"],"Equality":["Set<1>"],"_UnorderedEquality.E":"1","_UnorderedEquality.T":"Set<1>"},"MapEquality":{"Equality":["Map<1,2>"]},"DeepCollectionEquality":{"Equality":["@"]},"QueueList":{"ListBase":["1"],"List":["1"],"Queue":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","QueueList.E":"1","Iterable.E":"1"},"_CastQueueList":{"QueueList":["2"],"ListBase":["2"],"List":["2"],"Queue":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListBase.E":"2","QueueList.E":"2","Iterable.E":"2"},"_$BuildStatusSerializer":{"PrimitiveSerializer":["BuildStatus"],"Serializer":["BuildStatus"]},"_$BuildResultSerializer":{"StructuredSerializer":["BuildResult"],"Serializer":["BuildResult"]},"_$BuildResult":{"BuildResult":[]},"_$ConnectRequestSerializer":{"StructuredSerializer":["ConnectRequest"],"Serializer":["ConnectRequest"]},"_$ConnectRequest":{"ConnectRequest":[]},"_$DebugEventSerializer":{"StructuredSerializer":["DebugEvent"],"Serializer":["DebugEvent"]},"_$BatchedDebugEventsSerializer":{"StructuredSerializer":["BatchedDebugEvents"],"Serializer":["BatchedDebugEvents"]},"_$DebugEvent":{"DebugEvent":[]},"_$BatchedDebugEvents":{"BatchedDebugEvents":[]},"_$DebugInfoSerializer":{"StructuredSerializer":["DebugInfo"],"Serializer":["DebugInfo"]},"_$DebugInfo":{"DebugInfo":[]},"_$DevToolsRequestSerializer":{"StructuredSerializer":["DevToolsRequest"],"Serializer":["DevToolsRequest"]},"_$DevToolsResponseSerializer":{"StructuredSerializer":["DevToolsResponse"],"Serializer":["DevToolsResponse"]},"_$DevToolsRequest":{"DevToolsRequest":[]},"_$DevToolsResponse":{"DevToolsResponse":[]},"_$ErrorResponseSerializer":{"StructuredSerializer":["ErrorResponse"],"Serializer":["ErrorResponse"]},"_$ErrorResponse":{"ErrorResponse":[]},"_$ExtensionRequestSerializer":{"StructuredSerializer":["ExtensionRequest"],"Serializer":["ExtensionRequest"]},"_$ExtensionResponseSerializer":{"StructuredSerializer":["ExtensionResponse"],"Serializer":["ExtensionResponse"]},"_$ExtensionEventSerializer":{"StructuredSerializer":["ExtensionEvent"],"Serializer":["ExtensionEvent"]},"_$BatchedEventsSerializer":{"StructuredSerializer":["BatchedEvents"],"Serializer":["BatchedEvents"]},"_$ExtensionRequest":{"ExtensionRequest":[]},"_$ExtensionResponse":{"ExtensionResponse":[]},"_$ExtensionEvent":{"ExtensionEvent":[]},"_$BatchedEvents":{"BatchedEvents":[]},"_$IsolateExitSerializer":{"StructuredSerializer":["IsolateExit"],"Serializer":["IsolateExit"]},"_$IsolateStartSerializer":{"StructuredSerializer":["IsolateStart"],"Serializer":["IsolateStart"]},"_$IsolateExit":{"IsolateExit":[]},"_$IsolateStart":{"IsolateStart":[]},"_$RegisterEventSerializer":{"StructuredSerializer":["RegisterEvent"],"Serializer":["RegisterEvent"]},"_$RegisterEvent":{"RegisterEvent":[]},"_$RunRequestSerializer":{"StructuredSerializer":["RunRequest"],"Serializer":["RunRequest"]},"_$RunRequest":{"RunRequest":[]},"SseSocketClient":{"SocketClient":[]},"WebSocketClient":{"SocketClient":[]},"Int32":{"Comparable":["Object"]},"Int64":{"Comparable":["Object"]},"Level":{"Comparable":["Level"]},"SseClient":{"StreamChannel":["String?"]},"GuaranteeChannel":{"StreamChannel":["1"]},"_GuaranteeSink":{"StreamSink":["1"]},"StreamChannelMixin":{"StreamChannel":["1"]},"_EventStream":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription0":{"StreamSubscription":["1"]},"HtmlWebSocketChannel":{"WebSocketChannel":[],"StreamChannel":["@"]},"_HtmlWebSocketSink":{"WebSocketSink":[],"DelegatingStreamSink":["@"],"StreamSink":["@"],"DelegatingStreamSink.T":"@"},"WebSocketChannel":{"StreamChannel":["@"]},"DdcRestarter":{"Restarter":[]},"RequireRestarter":{"Restarter":[]},"ByteData":{"TypedData":[]},"Int8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint8ClampedList":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Int16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Int32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Float32List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"],"TypedData":[]},"Float64List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"],"TypedData":[]}}'));
+  A._Universe_addRules(init.typeUniverse, JSON.parse('{"PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","JavaScriptFunction":"LegacyJavaScriptObject","Promise":"LegacyJavaScriptObject","JsError":"LegacyJavaScriptObject","RequireLoader":"LegacyJavaScriptObject","JsMap":"LegacyJavaScriptObject","KeyframeEffect":"JavaScriptObject","KeyframeEffectReadOnly":"JavaScriptObject","AnimationEffectReadOnly":"JavaScriptObject","AbortPaymentEvent":"Event","ExtendableEvent":"Event","AudioContext":"BaseAudioContext","AbsoluteOrientationSensor":"EventTarget","OrientationSensor":"EventTarget","Sensor":"EventTarget","AElement":"SvgElement","GraphicsElement":"SvgElement","_ResourceProgressEvent":"ProgressEvent","AudioElement":"HtmlElement","MediaElement":"HtmlElement","ShadowRoot":"Node","DocumentFragment":"Node","XmlDocument":"Document","VttCue":"TextTrackCue","CompositionEvent":"UIEvent","DedicatedWorkerGlobalScope":"WorkerGlobalScope","CDataSection":"CharacterData","Text":"CharacterData","MathMLElement":"Element","HttpRequestUpload":"HttpRequestEventTarget","HtmlFormControlsCollection":"HtmlCollection","CssCharsetRule":"CssRule","CssMatrixComponent":"CssTransformComponent","CssStyleSheet":"StyleSheet","CssurlImageValue":"CssStyleValue","CssImageValue":"CssStyleValue","CssResourceValue":"CssStyleValue","JSArray":{"List":["1"],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"JSIndexable":["1"],"Iterable.E":"1"},"JSBool":{"bool":[],"TrustedGetRuntimeType":[]},"JSNull":{"Null":[],"TrustedGetRuntimeType":[]},"JavaScriptObject":{"JSObject":[]},"LegacyJavaScriptObject":{"JSObject":[],"Promise":["1&"],"JsError":[]},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"JSIndexable":["1"],"Iterable.E":"1"},"ArrayIterator":{"Iterator":["1"]},"JSNumber":{"double":[],"num":[],"Comparable":["num"]},"JSInt":{"double":[],"int":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSNumNotInt":{"double":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSString":{"String":[],"Comparable":["String"],"Pattern":[],"JSIndexable":["@"],"TrustedGetRuntimeType":[]},"_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"},"CastMap":{"MapBase":["3","4"],"Map":["3","4"],"MapBase.K":"3","MapBase.V":"4"},"LateError":{"Error":[]},"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"]},"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"]},"EmptyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"EmptyIterator":{"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"]},"JSInvocationMirror":{"Invocation":[]},"NullError":{"TypeError":[],"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Function":[]},"Closure2Args":{"Function":[]},"TearOffClosure":{"Function":[]},"StaticClosure":{"Function":[]},"BoundClosure":{"Function":[]},"_CyclicInitializationError":{"Error":[]},"RuntimeError":{"Error":[]},"_AssertionError":{"Error":[]},"JsLinkedHashMap":{"MapBase":["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":{"JSObject":[],"ByteBuffer":[],"TrustedGetRuntimeType":[]},"NativeTypedData":{"JSObject":[],"TypedData":[]},"NativeByteData":{"NativeTypedData":[],"ByteData":[],"JSObject":[],"TypedData":[],"TrustedGetRuntimeType":[]},"NativeTypedArray":{"NativeTypedData":[],"JavaScriptIndexingBehavior":["1"],"JSObject":[],"TypedData":[],"JSIndexable":["1"]},"NativeTypedArrayOfDouble":{"ListBase":["double"],"List":["double"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"JSIndexable":["double"],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"Float32List":[],"ListBase":["double"],"List":["double"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"JSIndexable":["double"],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double"},"NativeFloat64List":{"Float64List":[],"ListBase":["double"],"List":["double"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"JSIndexable":["double"],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double"},"NativeInt16List":{"Int16List":[],"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeInt32List":{"Int32List":[],"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeInt8List":{"Int8List":[],"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint16List":{"Uint16List":[],"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint32List":{"Uint32List":[],"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint8ClampedList":{"Uint8ClampedList":[],"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint8List":{"Uint8List":[],"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"_Type":{"Type":[]},"_Error":{"Error":[]},"_TypeError":{"TypeError":[],"Error":[]},"AsyncError":{"Error":[]},"_Future":{"Future":["1"]},"_TimerImpl":{"Timer":[]},"_AsyncAwaitCompleter":{"Completer":["1"]},"_Completer":{"Completer":["1"]},"_AsyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_SyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_StreamController":{"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_AsyncStreamController":{"_AsyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_SyncStreamController":{"_SyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_ControllerStream":{"_StreamImpl":["1"],"Stream":["1"],"Stream.T":"1"},"_ControllerSubscription":{"_BufferingStreamSubscription":["1"],"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamSinkWrapper":{"StreamSink":["1"]},"_BufferingStreamSubscription":{"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamImpl":{"Stream":["1"]},"_DelayedData":{"_DelayedEvent":["1"]},"_DelayedError":{"_DelayedEvent":["@"]},"_DelayedDone":{"_DelayedEvent":["@"]},"_ForwardingStream":{"Stream":["2"]},"_ForwardingStreamSubscription":{"_BufferingStreamSubscription":["2"],"StreamSubscription":["2"],"_EventSink":["2"],"_EventDispatch":["2"],"_BufferingStreamSubscription.T":"2"},"_MapStream":{"_ForwardingStream":["1","2"],"Stream":["2"],"Stream.T":"2"},"_ZoneSpecification":{"ZoneSpecification":[]},"_ZoneDelegate":{"ZoneDelegate":[]},"_Zone":{"Zone":[]},"_CustomZone":{"_Zone":[],"Zone":[]},"_RootZone":{"_Zone":[],"Zone":[]},"_SplayTreeSetNode":{"_SplayTreeNode":["1","_SplayTreeSetNode<1>"],"_SplayTreeNode.1":"_SplayTreeSetNode<1>","_SplayTreeNode.K":"1"},"_HashMap":{"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_IdentityHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_CustomHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashMapKeyIterator":{"Iterator":["1"]},"_HashSet":{"_SetBase":["1"],"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashSetIterator":{"Iterator":["1"]},"_LinkedHashSet":{"_SetBase":["1"],"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_LinkedHashSetIterator":{"Iterator":["1"]},"UnmodifiableListView":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1","UnmodifiableListMixin.E":"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"]},"ListQueue":{"Queue":["1"],"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"_ListQueueIterator":{"Iterator":["1"]},"SetBase":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SetBase":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SplayTreeIterator":{"Iterator":["3"]},"_SplayTreeKeyIterator":{"_SplayTreeIterator":["1","2","1"],"Iterator":["1"],"_SplayTreeIterator.K":"1","_SplayTreeIterator.T":"1","_SplayTreeIterator.1":"2"},"SplayTreeSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"_SplayTree":["1","_SplayTreeSetNode<1>"],"Iterable":["1"],"Iterable.E":"1","_SplayTree.1":"_SplayTreeSetNode<1>","_SplayTree.K":"1"},"_JsonMap":{"MapBase":["String","@"],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"_JsonMapKeyIterable":{"ListIterable":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"ListIterable.E":"String","Iterable.E":"String"},"Base64Codec":{"Codec":["List<int>","String"],"Codec.S":"List<int>"},"Base64Encoder":{"Converter":["List<int>","String"],"StreamTransformer":["List<int>","String"]},"Base64Decoder":{"Converter":["String","List<int>"],"StreamTransformer":["String","List<int>"]},"Converter":{"StreamTransformer":["1","2"]},"Encoding":{"Codec":["String","List<int>"]},"JsonUnsupportedObjectError":{"Error":[]},"JsonCyclicError":{"Error":[]},"JsonCodec":{"Codec":["Object?","String"],"Codec.S":"Object?"},"JsonEncoder":{"Converter":["Object?","String"],"StreamTransformer":["Object?","String"]},"JsonDecoder":{"Converter":["String","Object?"],"StreamTransformer":["String","Object?"]},"Utf8Codec":{"Codec":["String","List<int>"],"Codec.S":"String"},"Utf8Encoder":{"Converter":["String","List<int>"],"StreamTransformer":["String","List<int>"]},"BigInt":{"Comparable":["BigInt"]},"DateTime":{"Comparable":["DateTime"]},"double":{"num":[],"Comparable":["num"]},"Duration":{"Comparable":["Duration"]},"int":{"num":[],"Comparable":["num"]},"List":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"num":{"Comparable":["num"]},"RegExp":{"Pattern":[]},"RegExpMatch":{"Match":[]},"Set":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"String":{"Comparable":["String"],"Pattern":[]},"_BigIntImpl":{"BigInt":[],"Comparable":["BigInt"]},"AssertionError":{"Error":[]},"TypeError":{"Error":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"NoSuchMethodError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"IntegerDivisionByZeroException":{"Error":[]},"_StringStackTrace":{"StackTrace":[]},"StringBuffer":{"StringSink":[]},"_Uri":{"Uri":[]},"_SimpleUri":{"Uri":[]},"_DataUri":{"Uri":[]},"CssRule":{"JSObject":[]},"Element":{"Node":[],"EventTarget":[],"JSObject":[]},"Event":{"JSObject":[]},"File":{"Blob":[],"JSObject":[]},"Gamepad":{"JSObject":[]},"HttpRequest":{"EventTarget":[],"JSObject":[]},"KeyboardEvent":{"Event":[],"JSObject":[]},"MessageEvent":{"Event":[],"JSObject":[]},"MimeType":{"JSObject":[]},"Node":{"EventTarget":[],"JSObject":[]},"Plugin":{"JSObject":[]},"ProgressEvent":{"Event":[],"JSObject":[]},"ScriptElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"SourceBuffer":{"EventTarget":[],"JSObject":[]},"SpeechGrammar":{"JSObject":[]},"SpeechRecognitionResult":{"JSObject":[]},"StyleSheet":{"JSObject":[]},"TextTrack":{"EventTarget":[],"JSObject":[]},"TextTrackCue":{"EventTarget":[],"JSObject":[]},"Touch":{"JSObject":[]},"_Html5NodeValidator":{"NodeValidator":[]},"HtmlElement":{"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"AccessibleNodeList":{"JSObject":[]},"AnchorElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"AreaElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"BaseElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"Blob":{"JSObject":[]},"BodyElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"CharacterData":{"Node":[],"EventTarget":[],"JSObject":[]},"CssPerspective":{"JSObject":[]},"CssStyleDeclaration":{"JSObject":[]},"CssStyleValue":{"JSObject":[]},"CssTransformComponent":{"JSObject":[]},"CssTransformValue":{"JSObject":[]},"CssUnparsedValue":{"JSObject":[]},"CustomEvent":{"Event":[],"JSObject":[]},"DataTransferItemList":{"JSObject":[]},"Document":{"Node":[],"EventTarget":[],"JSObject":[]},"DomException":{"JSObject":[]},"DomImplementation":{"JSObject":[]},"DomRectList":{"ListBase":["Rectangle<num>"],"ImmutableListMixin":["Rectangle<num>"],"List":["Rectangle<num>"],"JavaScriptIndexingBehavior":["Rectangle<num>"],"EfficientLengthIterable":["Rectangle<num>"],"JSObject":[],"Iterable":["Rectangle<num>"],"JSIndexable":["Rectangle<num>"],"ImmutableListMixin.E":"Rectangle<num>","ListBase.E":"Rectangle<num>","Iterable.E":"Rectangle<num>"},"DomRectReadOnly":{"Rectangle":["num"],"JSObject":[]},"DomStringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptIndexingBehavior":["String"],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"JSIndexable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"DomTokenList":{"JSObject":[]},"_FrozenElementList":{"ListBase":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1"},"EventTarget":{"JSObject":[]},"FileList":{"ListBase":["File"],"ImmutableListMixin":["File"],"List":["File"],"JavaScriptIndexingBehavior":["File"],"EfficientLengthIterable":["File"],"JSObject":[],"Iterable":["File"],"JSIndexable":["File"],"ImmutableListMixin.E":"File","ListBase.E":"File","Iterable.E":"File"},"FileWriter":{"EventTarget":[],"JSObject":[]},"FormElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"History":{"JSObject":[]},"HtmlCollection":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"JSIndexable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"HtmlDocument":{"Document":[],"Node":[],"EventTarget":[],"JSObject":[]},"HttpRequestEventTarget":{"EventTarget":[],"JSObject":[]},"ImageData":{"JSObject":[]},"Location":{"JSObject":[]},"MediaList":{"JSObject":[]},"MessagePort":{"EventTarget":[],"JSObject":[]},"MidiInputMap":{"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MidiOutputMap":{"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MimeTypeArray":{"ListBase":["MimeType"],"ImmutableListMixin":["MimeType"],"List":["MimeType"],"JavaScriptIndexingBehavior":["MimeType"],"EfficientLengthIterable":["MimeType"],"JSObject":[],"Iterable":["MimeType"],"JSIndexable":["MimeType"],"ImmutableListMixin.E":"MimeType","ListBase.E":"MimeType","Iterable.E":"MimeType"},"_ChildNodeListLazy":{"ListBase":["Node"],"List":["Node"],"EfficientLengthIterable":["Node"],"Iterable":["Node"],"ListBase.E":"Node","Iterable.E":"Node"},"NodeList":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"JSIndexable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"PluginArray":{"ListBase":["Plugin"],"ImmutableListMixin":["Plugin"],"List":["Plugin"],"JavaScriptIndexingBehavior":["Plugin"],"EfficientLengthIterable":["Plugin"],"JSObject":[],"Iterable":["Plugin"],"JSIndexable":["Plugin"],"ImmutableListMixin.E":"Plugin","ListBase.E":"Plugin","Iterable.E":"Plugin"},"RtcStatsReport":{"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"SelectElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"SharedArrayBuffer":{"JSObject":[]},"SourceBufferList":{"ListBase":["SourceBuffer"],"ImmutableListMixin":["SourceBuffer"],"List":["SourceBuffer"],"EventTarget":[],"JavaScriptIndexingBehavior":["SourceBuffer"],"EfficientLengthIterable":["SourceBuffer"],"JSObject":[],"Iterable":["SourceBuffer"],"JSIndexable":["SourceBuffer"],"ImmutableListMixin.E":"SourceBuffer","ListBase.E":"SourceBuffer","Iterable.E":"SourceBuffer"},"SpeechGrammarList":{"ListBase":["SpeechGrammar"],"ImmutableListMixin":["SpeechGrammar"],"List":["SpeechGrammar"],"JavaScriptIndexingBehavior":["SpeechGrammar"],"EfficientLengthIterable":["SpeechGrammar"],"JSObject":[],"Iterable":["SpeechGrammar"],"JSIndexable":["SpeechGrammar"],"ImmutableListMixin.E":"SpeechGrammar","ListBase.E":"SpeechGrammar","Iterable.E":"SpeechGrammar"},"Storage":{"MapBase":["String","String"],"JSObject":[],"Map":["String","String"],"MapBase.K":"String","MapBase.V":"String"},"TableElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"TableRowElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"TableSectionElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"TemplateElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"TextTrackCueList":{"ListBase":["TextTrackCue"],"ImmutableListMixin":["TextTrackCue"],"List":["TextTrackCue"],"JavaScriptIndexingBehavior":["TextTrackCue"],"EfficientLengthIterable":["TextTrackCue"],"JSObject":[],"Iterable":["TextTrackCue"],"JSIndexable":["TextTrackCue"],"ImmutableListMixin.E":"TextTrackCue","ListBase.E":"TextTrackCue","Iterable.E":"TextTrackCue"},"TextTrackList":{"ListBase":["TextTrack"],"ImmutableListMixin":["TextTrack"],"List":["TextTrack"],"EventTarget":[],"JavaScriptIndexingBehavior":["TextTrack"],"EfficientLengthIterable":["TextTrack"],"JSObject":[],"Iterable":["TextTrack"],"JSIndexable":["TextTrack"],"ImmutableListMixin.E":"TextTrack","ListBase.E":"TextTrack","Iterable.E":"TextTrack"},"TimeRanges":{"JSObject":[]},"TouchList":{"ListBase":["Touch"],"ImmutableListMixin":["Touch"],"List":["Touch"],"JavaScriptIndexingBehavior":["Touch"],"EfficientLengthIterable":["Touch"],"JSObject":[],"Iterable":["Touch"],"JSIndexable":["Touch"],"ImmutableListMixin.E":"Touch","ListBase.E":"Touch","Iterable.E":"Touch"},"TrackDefaultList":{"JSObject":[]},"UIEvent":{"Event":[],"JSObject":[]},"Url":{"JSObject":[]},"VideoTrackList":{"EventTarget":[],"JSObject":[]},"Window":{"WindowBase":[],"EventTarget":[],"JSObject":[]},"WorkerGlobalScope":{"EventTarget":[],"JSObject":[]},"_Attr":{"Node":[],"EventTarget":[],"JSObject":[]},"_CssRuleList":{"ListBase":["CssRule"],"ImmutableListMixin":["CssRule"],"List":["CssRule"],"JavaScriptIndexingBehavior":["CssRule"],"EfficientLengthIterable":["CssRule"],"JSObject":[],"Iterable":["CssRule"],"JSIndexable":["CssRule"],"ImmutableListMixin.E":"CssRule","ListBase.E":"CssRule","Iterable.E":"CssRule"},"_DomRect":{"Rectangle":["num"],"JSObject":[]},"_GamepadList":{"ListBase":["Gamepad?"],"ImmutableListMixin":["Gamepad?"],"List":["Gamepad?"],"JavaScriptIndexingBehavior":["Gamepad?"],"EfficientLengthIterable":["Gamepad?"],"JSObject":[],"Iterable":["Gamepad?"],"JSIndexable":["Gamepad?"],"ImmutableListMixin.E":"Gamepad?","ListBase.E":"Gamepad?","Iterable.E":"Gamepad?"},"_NamedNodeMap":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"JSIndexable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"_SpeechRecognitionResultList":{"ListBase":["SpeechRecognitionResult"],"ImmutableListMixin":["SpeechRecognitionResult"],"List":["SpeechRecognitionResult"],"JavaScriptIndexingBehavior":["SpeechRecognitionResult"],"EfficientLengthIterable":["SpeechRecognitionResult"],"JSObject":[],"Iterable":["SpeechRecognitionResult"],"JSIndexable":["SpeechRecognitionResult"],"ImmutableListMixin.E":"SpeechRecognitionResult","ListBase.E":"SpeechRecognitionResult","Iterable.E":"SpeechRecognitionResult"},"_StyleSheetList":{"ListBase":["StyleSheet"],"ImmutableListMixin":["StyleSheet"],"List":["StyleSheet"],"JavaScriptIndexingBehavior":["StyleSheet"],"EfficientLengthIterable":["StyleSheet"],"JSObject":[],"Iterable":["StyleSheet"],"JSIndexable":["StyleSheet"],"ImmutableListMixin.E":"StyleSheet","ListBase.E":"StyleSheet","Iterable.E":"StyleSheet"},"_AttributeMap":{"MapBase":["String","String"],"Map":["String","String"]},"_ElementAttributeMap":{"MapBase":["String","String"],"Map":["String","String"],"MapBase.K":"String","MapBase.V":"String"},"_EventStream0":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription":{"StreamSubscription":["1"]},"NodeValidatorBuilder":{"NodeValidator":[]},"_SimpleNodeValidator":{"NodeValidator":[]},"_TemplatingNodeValidator":{"NodeValidator":[]},"_SvgNodeValidator":{"NodeValidator":[]},"FixedSizeListIterator":{"Iterator":["1"]},"_DOMWindowCrossFrame":{"WindowBase":[],"EventTarget":[],"JSObject":[]},"_SameOriginUriPolicy":{"UriPolicy":[]},"_ValidatingTreeSanitizer":{"NodeTreeSanitizer":[]},"KeyRange":{"JSObject":[]},"JsArray":{"ListBase":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1"},"_JSRandom":{"Random":[]},"Length":{"JSObject":[]},"Number":{"JSObject":[]},"Transform":{"JSObject":[]},"LengthList":{"ListBase":["Length"],"ImmutableListMixin":["Length"],"List":["Length"],"EfficientLengthIterable":["Length"],"JSObject":[],"Iterable":["Length"],"ImmutableListMixin.E":"Length","ListBase.E":"Length","Iterable.E":"Length"},"NumberList":{"ListBase":["Number"],"ImmutableListMixin":["Number"],"List":["Number"],"EfficientLengthIterable":["Number"],"JSObject":[],"Iterable":["Number"],"ImmutableListMixin.E":"Number","ListBase.E":"Number","Iterable.E":"Number"},"PointList":{"JSObject":[]},"ScriptElement0":{"SvgElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"StringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"SvgElement":{"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"TransformList":{"ListBase":["Transform"],"ImmutableListMixin":["Transform"],"List":["Transform"],"EfficientLengthIterable":["Transform"],"JSObject":[],"Iterable":["Transform"],"ImmutableListMixin.E":"Transform","ListBase.E":"Transform","Iterable.E":"Transform"},"AudioBuffer":{"JSObject":[]},"AudioParamMap":{"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"AudioTrackList":{"EventTarget":[],"JSObject":[]},"BaseAudioContext":{"EventTarget":[],"JSObject":[]},"OfflineAudioContext":{"EventTarget":[],"JSObject":[]},"DelegatingStreamSink":{"StreamSink":["1"]},"ErrorResult":{"Result":["0&"]},"ValueResult":{"Result":["1"]},"_NextRequest":{"_EventRequest":["1"]},"_HasNextRequest":{"_EventRequest":["1"]},"BuiltList":{"Iterable":["1"]},"_BuiltList":{"BuiltList":["1"],"Iterable":["1"],"Iterable.E":"1"},"_BuiltListMultimap":{"BuiltListMultimap":["1","2"]},"_BuiltMap":{"BuiltMap":["1","2"]},"BuiltSet":{"Iterable":["1"]},"_BuiltSet":{"BuiltSet":["1"],"Iterable":["1"],"Iterable.E":"1"},"_BuiltSetMultimap":{"BuiltSetMultimap":["1","2"]},"BuiltValueNullFieldError":{"Error":[]},"BuiltValueNestedFieldError":{"Error":[]},"BoolJsonObject":{"JsonObject":[]},"ListJsonObject":{"JsonObject":[]},"MapJsonObject":{"JsonObject":[]},"NumJsonObject":{"JsonObject":[]},"StringJsonObject":{"JsonObject":[]},"DeserializationError":{"Error":[]},"BigIntSerializer":{"PrimitiveSerializer":["BigInt"],"Serializer":["BigInt"]},"BoolSerializer":{"PrimitiveSerializer":["bool"],"Serializer":["bool"]},"BuiltJsonSerializers":{"Serializers":[]},"BuiltListMultimapSerializer":{"StructuredSerializer":["BuiltListMultimap<@,@>"],"Serializer":["BuiltListMultimap<@,@>"]},"BuiltListSerializer":{"StructuredSerializer":["BuiltList<@>"],"Serializer":["BuiltList<@>"]},"BuiltMapSerializer":{"StructuredSerializer":["BuiltMap<@,@>"],"Serializer":["BuiltMap<@,@>"]},"BuiltSetMultimapSerializer":{"StructuredSerializer":["BuiltSetMultimap<@,@>"],"Serializer":["BuiltSetMultimap<@,@>"]},"BuiltSetSerializer":{"StructuredSerializer":["BuiltSet<@>"],"Serializer":["BuiltSet<@>"]},"DateTimeSerializer":{"PrimitiveSerializer":["DateTime"],"Serializer":["DateTime"]},"DoubleSerializer":{"PrimitiveSerializer":["double"],"Serializer":["double"]},"DurationSerializer":{"PrimitiveSerializer":["Duration"],"Serializer":["Duration"]},"Int32Serializer":{"PrimitiveSerializer":["Int32"],"Serializer":["Int32"]},"Int64Serializer":{"PrimitiveSerializer":["Int64"],"Serializer":["Int64"]},"IntSerializer":{"PrimitiveSerializer":["int"],"Serializer":["int"]},"JsonObjectSerializer":{"PrimitiveSerializer":["JsonObject"],"Serializer":["JsonObject"]},"NullSerializer":{"PrimitiveSerializer":["Null"],"Serializer":["Null"]},"NumSerializer":{"PrimitiveSerializer":["num"],"Serializer":["num"]},"RegExpSerializer":{"PrimitiveSerializer":["RegExp"],"Serializer":["RegExp"]},"StringSerializer":{"PrimitiveSerializer":["String"],"Serializer":["String"]},"Uint8ListSerializer":{"PrimitiveSerializer":["Uint8List"],"Serializer":["Uint8List"]},"UriSerializer":{"PrimitiveSerializer":["Uri"],"Serializer":["Uri"]},"DefaultEquality":{"Equality":["1"]},"IterableEquality":{"Equality":["Iterable<1>"]},"ListEquality":{"Equality":["List<1>"]},"_UnorderedEquality":{"Equality":["2"]},"SetEquality":{"_UnorderedEquality":["1","Set<1>"],"Equality":["Set<1>"],"_UnorderedEquality.E":"1","_UnorderedEquality.T":"Set<1>"},"MapEquality":{"Equality":["Map<1,2>"]},"DeepCollectionEquality":{"Equality":["@"]},"QueueList":{"ListBase":["1"],"List":["1"],"Queue":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","QueueList.E":"1","Iterable.E":"1"},"_CastQueueList":{"QueueList":["2"],"ListBase":["2"],"List":["2"],"Queue":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListBase.E":"2","QueueList.E":"2","Iterable.E":"2"},"_$BuildStatusSerializer":{"PrimitiveSerializer":["BuildStatus"],"Serializer":["BuildStatus"]},"_$BuildResultSerializer":{"StructuredSerializer":["BuildResult"],"Serializer":["BuildResult"]},"_$BuildResult":{"BuildResult":[]},"_$ConnectRequestSerializer":{"StructuredSerializer":["ConnectRequest"],"Serializer":["ConnectRequest"]},"_$ConnectRequest":{"ConnectRequest":[]},"_$DebugEventSerializer":{"StructuredSerializer":["DebugEvent"],"Serializer":["DebugEvent"]},"_$BatchedDebugEventsSerializer":{"StructuredSerializer":["BatchedDebugEvents"],"Serializer":["BatchedDebugEvents"]},"_$DebugEvent":{"DebugEvent":[]},"_$BatchedDebugEvents":{"BatchedDebugEvents":[]},"_$DebugInfoSerializer":{"StructuredSerializer":["DebugInfo"],"Serializer":["DebugInfo"]},"_$DebugInfo":{"DebugInfo":[]},"_$DevToolsRequestSerializer":{"StructuredSerializer":["DevToolsRequest"],"Serializer":["DevToolsRequest"]},"_$DevToolsResponseSerializer":{"StructuredSerializer":["DevToolsResponse"],"Serializer":["DevToolsResponse"]},"_$DevToolsRequest":{"DevToolsRequest":[]},"_$DevToolsResponse":{"DevToolsResponse":[]},"_$ErrorResponseSerializer":{"StructuredSerializer":["ErrorResponse"],"Serializer":["ErrorResponse"]},"_$ErrorResponse":{"ErrorResponse":[]},"_$ExtensionRequestSerializer":{"StructuredSerializer":["ExtensionRequest"],"Serializer":["ExtensionRequest"]},"_$ExtensionResponseSerializer":{"StructuredSerializer":["ExtensionResponse"],"Serializer":["ExtensionResponse"]},"_$ExtensionEventSerializer":{"StructuredSerializer":["ExtensionEvent"],"Serializer":["ExtensionEvent"]},"_$BatchedEventsSerializer":{"StructuredSerializer":["BatchedEvents"],"Serializer":["BatchedEvents"]},"_$ExtensionRequest":{"ExtensionRequest":[]},"_$ExtensionResponse":{"ExtensionResponse":[]},"_$ExtensionEvent":{"ExtensionEvent":[]},"_$BatchedEvents":{"BatchedEvents":[]},"_$IsolateExitSerializer":{"StructuredSerializer":["IsolateExit"],"Serializer":["IsolateExit"]},"_$IsolateStartSerializer":{"StructuredSerializer":["IsolateStart"],"Serializer":["IsolateStart"]},"_$IsolateExit":{"IsolateExit":[]},"_$IsolateStart":{"IsolateStart":[]},"_$RegisterEventSerializer":{"StructuredSerializer":["RegisterEvent"],"Serializer":["RegisterEvent"]},"_$RegisterEvent":{"RegisterEvent":[]},"_$RunRequestSerializer":{"StructuredSerializer":["RunRequest"],"Serializer":["RunRequest"]},"_$RunRequest":{"RunRequest":[]},"SseSocketClient":{"SocketClient":[]},"WebSocketClient":{"SocketClient":[]},"Int32":{"Comparable":["Object"]},"Int64":{"Comparable":["Object"]},"Level":{"Comparable":["Level"]},"SseClient":{"StreamChannel":["String?"]},"GuaranteeChannel":{"StreamChannel":["1"]},"_GuaranteeSink":{"StreamSink":["1"]},"StreamChannelMixin":{"StreamChannel":["1"]},"_EventStream":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription0":{"StreamSubscription":["1"]},"BrowserWebSocket":{"WebSocket0":[]},"TextDataReceived":{"WebSocketEvent":[]},"BinaryDataReceived":{"WebSocketEvent":[]},"CloseReceived":{"WebSocketEvent":[]},"AdapterWebSocketChannel":{"WebSocketChannel":[],"StreamChannel":["@"]},"_WebSocketSink":{"WebSocketSink":[],"DelegatingStreamSink":["@"],"StreamSink":["@"],"DelegatingStreamSink.T":"@"},"DdcRestarter":{"Restarter":[]},"RequireRestarter":{"Restarter":[]},"ByteData":{"TypedData":[]},"Int8List":{"List":["int"],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"]},"Uint8List":{"List":["int"],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"]},"Uint8ClampedList":{"List":["int"],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"]},"Int16List":{"List":["int"],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"]},"Uint16List":{"List":["int"],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"]},"Int32List":{"List":["int"],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"]},"Uint32List":{"List":["int"],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"]},"Float32List":{"List":["double"],"EfficientLengthIterable":["double"],"TypedData":[],"Iterable":["double"]},"Float64List":{"List":["double"],"EfficientLengthIterable":["double"],"TypedData":[],"Iterable":["double"]}}'));
   A._Universe_addErasedTypes(init.typeUniverse, JSON.parse('{"UnmodifiableListBase":1,"__CastListBase__CastIterableBase_ListMixin":2,"NativeTypedArray":1,"_DelayedEvent":1,"_SplayTreeSet__SplayTree_Iterable":1,"_SplayTreeSet__SplayTree_Iterable_SetMixin":1,"MapEntry":2,"_JsArray_JsObject_ListMixin":1,"_QueueList_Object_ListMixin":1,"StreamChannelMixin":1}'));
   var string$ = {
     ABCDEF: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
     Error_: "Error handler must accept one Object or one Object and a StackTrace as arguments, and return a value of the returned future's type",
-    max_mu: "max must be in range 0 < max \u2264 2^32, was ",
+    Time_i: "Time including microseconds is outside valid range",
     serial: "serializer must be StructuredSerializer or PrimitiveSerializer"
   };
   var type$ = (function rtii() {
@@ -27046,6 +27236,7 @@
       BigInt: findType("BigInt"),
       Blob: findType("Blob"),
       BodyElement: findType("BodyElement"),
+      BrowserWebSocket: findType("BrowserWebSocket"),
       BuildResult: findType("BuildResult"),
       BuildStatus: findType("BuildStatus"),
       BuiltListMultimap_dynamic_dynamic: findType("BuiltListMultimap<@,@>"),
@@ -27109,13 +27300,13 @@
       JSArray_dynamic: findType("JSArray<@>"),
       JSArray_int: findType("JSArray<int>"),
       JSArray_nullable_Object: findType("JSArray<Object?>"),
+      JSIndexable_dynamic: findType("JSIndexable<@>"),
       JSNull: findType("JSNull"),
       JSObject: findType("JSObject"),
       JavaScriptFunction: findType("JavaScriptFunction"),
       JavaScriptIndexingBehavior_dynamic: findType("JavaScriptIndexingBehavior<@>"),
       JsArray_dynamic: findType("JsArray<@>"),
       JsError: findType("JsError"),
-      JsLinkedHashMap_String_dynamic: findType("JsLinkedHashMap<String,@>"),
       JsLinkedHashMap_Symbol_dynamic: findType("JsLinkedHashMap<Symbol0,@>"),
       JsonObject: findType("JsonObject"),
       KeyRange: findType("KeyRange"),
@@ -27208,10 +27399,13 @@
       UnmodifiableListView_nullable_Object: findType("UnmodifiableListView<Object?>"),
       UnmodifiableMapView_of_String_and_nullable_Object: findType("UnmodifiableMapView<String,Object?>"),
       Uri: findType("Uri"),
+      WebSocket: findType("WebSocket0"),
+      WebSocketEvent: findType("WebSocketEvent"),
       Window: findType("Window"),
       WindowBase: findType("WindowBase"),
       WorkerGlobalScope: findType("WorkerGlobalScope"),
       Zone: findType("Zone"),
+      _AsyncCompleter_BrowserWebSocket: findType("_AsyncCompleter<BrowserWebSocket>"),
       _AsyncCompleter_HttpRequest: findType("_AsyncCompleter<HttpRequest>"),
       _AsyncCompleter_PoolResource: findType("_AsyncCompleter<PoolResource>"),
       _AsyncCompleter_bool: findType("_AsyncCompleter<bool>"),
@@ -27224,6 +27418,7 @@
       _EventRequest_dynamic: findType("_EventRequest<@>"),
       _EventStream_JSObject: findType("_EventStream<JSObject>"),
       _FrozenElementList_Element: findType("_FrozenElementList<Element>"),
+      _Future_BrowserWebSocket: findType("_Future<BrowserWebSocket>"),
       _Future_HttpRequest: findType("_Future<HttpRequest>"),
       _Future_PoolResource: findType("_Future<PoolResource>"),
       _Future_bool: findType("_Future<bool>"),
@@ -27454,7 +27649,6 @@
     B.C_SentinelValue = new A.SentinelValue();
     B.C_Utf8Codec = new A.Utf8Codec();
     B.C_Utf8Encoder = new A.Utf8Encoder();
-    B.C_Uuid = new A.Uuid();
     B.C__DelayedDone = new A._DelayedDone();
     B.C__JSRandom = new A._JSRandom();
     B.C__Required = new A._Required();
@@ -27644,6 +27838,11 @@
     $._indentingBuiltValueToStringHelperIndent = 0;
     $.LogRecord__nextNumber = 0;
     $.Logger__loggers = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.Logger);
+    $.V1State_nodeId = A._setArrayType([], type$.JSArray_int);
+    $.V1State_clockSeq = 0;
+    $.V1State_mSecs = 0;
+    $.V1State_nSecs = 0;
+    $.V1State_initialized = false;
     $.___lastKnownDigests = A._Cell$named("_lastKnownDigests");
   })();
   (function lazyInitializers() {
@@ -27772,15 +27971,17 @@
       t4 = A.Completer_Completer(type$.dynamic);
       return new A.Pool(t2, t3, t1, 1000, new A.AsyncMemoizer(t4, A.findType("AsyncMemoizer<@>")));
     });
-    _lazyFinal($, "Uuid__byteToHex", "$get$Uuid__byteToHex", () => {
+    _lazy($, "V1State_random", "$get$V1State_random", () => {
+      var t1 = A.Random_Random(null);
+      return new A.MathRNG(t1);
+    });
+    _lazyFinal($, "UuidParsing__byteToHex", "$get$UuidParsing__byteToHex", () => {
       var i,
         _list = J.JSArray_JSArray$allocateGrowable(256, type$.String);
       for (i = 0; i < 256; ++i)
         _list[i] = B.JSString_methods.padLeft$2(B.JSInt_methods.toRadixString$1(i, 16), 2, "0");
       return _list;
     });
-    _lazyFinal($, "Uuid__stateExpando", "$get$Uuid__stateExpando", () => new A.Expando(new WeakMap(), A.findType("Expando<Map<String,@>>")));
-    _lazyFinal($, "UuidUtil__random", "$get$UuidUtil__random", () => A.Random_Random(null));
     _lazyFinal($, "_createScript", "$get$_createScript", () => new A._createScript_closure().call$0());
     _lazyFinal($, "_noncePattern", "$get$_noncePattern", () => A.RegExp_RegExp("^[\\w+/_-]+[=]{0,2}$", true, false));
   })();
diff --git a/dwds/lib/src/version.dart b/dwds/lib/src/version.dart
index afb26f2..2822125 100644
--- a/dwds/lib/src/version.dart
+++ b/dwds/lib/src/version.dart
@@ -1,2 +1,2 @@
 // Generated code. Do not modify.
-const packageVersion = '24.1.0-wip';
+const packageVersion = '24.1.0';
diff --git a/dwds/pubspec.yaml b/dwds/pubspec.yaml
index 77f292b..cd75a59 100644
--- a/dwds/pubspec.yaml
+++ b/dwds/pubspec.yaml
@@ -1,6 +1,6 @@
 name: dwds
 # Every time this changes you need to run `dart run build_runner build`.
-version: 24.1.0-wip
+version: 24.1.0
 description: >-
   A service that proxies between the Chrome debug protocol and the Dart VM
   service protocol.
@@ -35,7 +35,7 @@
   uuid: ^4.0.0
   vm_service: ^14.2.4
   vm_service_interface: 1.1.0
-  web_socket_channel: ^2.4.0
+  web_socket_channel: '>=2.2.0 <4.0.0'
   webkit_inspection_protocol: ^1.0.1
 
 dev_dependencies: