Prepare release of v4.1.5 (#105)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index b652f9c..eaca669 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,4 @@
-## 4.1.5-wip
+## 4.1.5
 
 - Drop unneeded dependency on `package:js`.
 - Update the minimum Dart SDK version to `3.3.0`.
diff --git a/pubspec.yaml b/pubspec.yaml
index 4aae6e4..71fbfaa 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
 name: sse
-version: 4.1.5-wip
+version: 4.1.5
 description: >-
   Provides client and server functionality for setting up bi-directional
   communication through Server Sent Events (SSE) and corresponding POST
diff --git a/test/web/index.dart.js b/test/web/index.dart.js
index d0f3d2b..e1b37b9 100644
--- a/test/web/index.dart.js
+++ b/test/web/index.dart.js
@@ -1,4 +1,4 @@
-// Generated by dart2js (NullSafetyMode.sound, csp, intern-composite-values), the Dart to JavaScript compiler version: 3.3.0-170.0.dev.
+// Generated by dart2js (NullSafetyMode.sound, csp, intern-composite-values), the Dart to JavaScript compiler version: 3.4.0-157.0.dev.
 // The code supports the following hooks:
 // dartPrint(message):
 //    if this function is defined it is called instead of the Dart [print]
@@ -17,6 +17,14 @@
 //    this uri being loaded. The loadPriority argument is the priority the
 //    library should be loaded with as specified in the code via the
 //    load-priority annotation (0: normal, 1: high).
+// dartDeferredLibraryMultiLoader(uris, successCallback, errorCallback, loadId, loadPriority):
+//    if this function is defined, it will be called when a deferred library
+//    is loaded. It should load and eval the javascript of every URI in `uris`,
+//    and call successCallback. If it fails to do so, it should call
+//    errorCallback with an error. The loadId argument is the deferred import
+//    that resulted in this uri being loaded. The loadPriority argument is the
+//    priority the library should be loaded with as specified in the code via
+//    the load-priority annotation (0: normal, 1: high).
 //
 // dartCallInstrumentation(id, qualifiedName):
 //    if this function is defined, it will be called at each entry of a
@@ -87,33 +95,6 @@
     mixinPropertiesHard(mixin.prototype, cls.prototype);
     cls.prototype.constructor = cls;
   }
-  function lazyOld(holder, name, getterName, initializer) {
-    var uninitializedSentinel = holder;
-    holder[name] = uninitializedSentinel;
-    holder[getterName] = function() {
-      holder[getterName] = function() {
-        A.throwCyclicInit(name);
-      };
-      var result;
-      var sentinelInProgress = initializer;
-      try {
-        if (holder[name] === uninitializedSentinel) {
-          result = holder[name] = sentinelInProgress;
-          result = holder[name] = initializer();
-        } else {
-          result = holder[name];
-        }
-      } finally {
-        if (result === sentinelInProgress) {
-          holder[name] = null;
-        }
-        holder[getterName] = function() {
-          return this[name];
-        };
-      }
-      return result;
-    };
-  }
   function lazy(holder, name, getterName, initializer) {
     var uninitializedSentinel = holder;
     holder[name] = uninitializedSentinel;
@@ -238,7 +219,7 @@
           return installStaticTearOff(container, getterName, requiredParameterCount, optionalParameterDefaultValues, callNames, [name], funType, applyIndex);
         };
       };
-    return {inherit: inherit, inheritMany: inheritMany, mixin: mixinEasy, mixinHard: mixinHard, installStaticTearOff: installStaticTearOff, installInstanceTearOff: installInstanceTearOff, _instance_0u: mkInstance(0, 0, null, ["call$0"], 0), _instance_1u: mkInstance(0, 1, null, ["call$1"], 0), _instance_2u: mkInstance(0, 2, null, ["call$2"], 0), _instance_0i: mkInstance(1, 0, null, ["call$0"], 0), _instance_1i: mkInstance(1, 1, null, ["call$1"], 0), _instance_2i: mkInstance(1, 2, null, ["call$2"], 0), _static_0: mkStatic(0, null, ["call$0"], 0), _static_1: mkStatic(1, null, ["call$1"], 0), _static_2: mkStatic(2, null, ["call$2"], 0), makeConstList: makeConstList, lazy: lazy, lazyFinal: lazyFinal, lazyOld: lazyOld, updateHolder: updateHolder, convertToFastObject: convertToFastObject, updateTypes: updateTypes, setOrUpdateInterceptorsByTag: setOrUpdateInterceptorsByTag, setOrUpdateLeafTags: setOrUpdateLeafTags};
+    return {inherit: inherit, inheritMany: inheritMany, mixin: mixinEasy, mixinHard: mixinHard, installStaticTearOff: installStaticTearOff, installInstanceTearOff: installInstanceTearOff, _instance_0u: mkInstance(0, 0, null, ["call$0"], 0), _instance_1u: mkInstance(0, 1, null, ["call$1"], 0), _instance_2u: mkInstance(0, 2, null, ["call$2"], 0), _instance_0i: mkInstance(1, 0, null, ["call$0"], 0), _instance_1i: mkInstance(1, 1, null, ["call$1"], 0), _instance_2i: mkInstance(1, 2, null, ["call$2"], 0), _static_0: mkStatic(0, null, ["call$0"], 0), _static_1: mkStatic(1, null, ["call$1"], 0), _static_2: mkStatic(2, null, ["call$2"], 0), makeConstList: makeConstList, lazy: lazy, lazyFinal: lazyFinal, updateHolder: updateHolder, convertToFastObject: convertToFastObject, updateTypes: updateTypes, setOrUpdateInterceptorsByTag: setOrUpdateInterceptorsByTag, setOrUpdateLeafTags: setOrUpdateLeafTags};
   }();
   function initializeDeferredHunk(hunk) {
     typesOffset = init.types.length;
@@ -394,16 +375,6 @@
         return J.UnknownJavaScriptObject.prototype;
       return receiver;
     },
-    getInterceptor$z(receiver) {
-      if (receiver == null)
-        return receiver;
-      if (!(receiver instanceof A.Object))
-        return J.UnknownJavaScriptObject.prototype;
-      return receiver;
-    },
-    get$error$z(receiver) {
-      return J.getInterceptor$z(receiver).get$error(receiver);
-    },
     get$hashCode$(receiver) {
       return J.getInterceptor$(receiver).get$hashCode(receiver);
     },
@@ -1540,7 +1511,7 @@
       return A._Universe_eval(init.typeUniverse, recipe, false);
     },
     _substitute(universe, rti, typeArguments, depth) {
-      var baseType, substitutedBaseType, interfaceTypeArguments, substitutedInterfaceTypeArguments, base, substitutedBase, $arguments, substitutedArguments, returnType, substitutedReturnType, functionParameters, substitutedFunctionParameters, bounds, substitutedBounds, index, argument,
+      var baseType, substitutedBaseType, interfaceTypeArguments, substitutedInterfaceTypeArguments, base, substitutedBase, $arguments, substitutedArguments, t1, fields, substitutedFields, returnType, substitutedReturnType, functionParameters, substitutedFunctionParameters, bounds, substitutedBounds, index, argument,
         kind = rti._kind;
       switch (kind) {
         case 5:
@@ -1581,6 +1552,13 @@
           if (substitutedBase === base && substitutedArguments === $arguments)
             return rti;
           return A._Universe__lookupBindingRti(universe, substitutedBase, substitutedArguments);
+        case 11:
+          t1 = rti._primary;
+          fields = rti._rest;
+          substitutedFields = A._substituteArray(universe, fields, typeArguments, depth);
+          if (substitutedFields === fields)
+            return rti;
+          return A._Universe__lookupRecordRti(universe, t1, substitutedFields);
         case 12:
           returnType = rti._primary;
           substitutedReturnType = A._substitute(universe, returnType, typeArguments, depth);
@@ -1756,10 +1734,7 @@
       if (testRti === type$.Object)
         return A._finishIsFn(testRti, object, A._isObject);
       if (!A.isSoundTopType(testRti))
-        if (!(testRti === type$.legacy_Object))
-          t1 = false;
-        else
-          t1 = true;
+        t1 = testRti === type$.legacy_Object;
       else
         t1 = true;
       if (t1)
@@ -1805,10 +1780,7 @@
       var t1, testRti = this,
         asFn = A._generalAsCheckImplementation;
       if (!A.isSoundTopType(testRti))
-        if (!(testRti === type$.legacy_Object))
-          t1 = false;
-        else
-          t1 = true;
+        t1 = testRti === type$.legacy_Object;
       else
         t1 = true;
       if (t1)
@@ -2088,10 +2060,7 @@
           boundRti = bounds[i];
           kind = boundRti._kind;
           if (!(kind === 2 || kind === 3 || kind === 4 || kind === 5 || boundRti === t1))
-            if (!(boundRti === t2))
-              t3 = false;
-            else
-              t3 = true;
+            t3 = boundRti === t2;
           else
             t3 = true;
           if (!t3)
@@ -2818,10 +2787,7 @@
       if (s === t)
         return true;
       if (!A.isSoundTopType(t))
-        if (!(t === type$.legacy_Object))
-          t1 = false;
-        else
-          t1 = true;
+        t1 = t === type$.legacy_Object;
       else
         t1 = true;
       if (t1)
@@ -2831,11 +2797,8 @@
         return true;
       if (A.isSoundTopType(s))
         return false;
-      if (s._kind !== 1)
-        t1 = false;
-      else
-        t1 = true;
-      if (t1)
+      t1 = s._kind;
+      if (t1 === 1)
         return true;
       leftTypeVariable = sKind === 14;
       if (leftTypeVariable)
@@ -3058,10 +3021,7 @@
     isDefinitelyTopType(t) {
       var t1;
       if (!A.isSoundTopType(t))
-        if (!(t === type$.legacy_Object))
-          t1 = false;
-        else
-          t1 = true;
+        t1 = t === type$.legacy_Object;
       else
         t1 = true;
       return t1;
@@ -3210,7 +3170,7 @@
         type$.nullable_StackTrace._as(stackTrace);
         replacement = null;
         if (replacement != null)
-          future._asyncCompleteError$2(J.get$error$z(replacement), replacement.get$stackTrace());
+          future._asyncCompleteError$2(replacement.get$error(), replacement.get$stackTrace());
         else
           future._asyncCompleteError$2(error, stackTrace);
         return future;
@@ -3429,17 +3389,12 @@
       }
     },
     scheduleMicrotask(callback) {
-      var t1, _null = null,
+      var _null = null,
         currentZone = $.Zone__current;
       if (B.C__RootZone === currentZone) {
         A._rootScheduleMicrotask(_null, _null, B.C__RootZone, callback);
         return;
       }
-      t1 = false;
-      if (t1) {
-        A._rootScheduleMicrotask(_null, _null, currentZone, type$.void_Function._as(callback));
-        return;
-      }
       A._rootScheduleMicrotask(_null, _null, currentZone, type$.void_Function._as(currentZone.bindCallbackGuarded$1(callback)));
     },
     StreamIterator_StreamIterator(stream, $T) {
@@ -4473,8 +4428,8 @@
       if (onData == null)
         t1 = null;
       else {
-        t1 = A._wrapZone(new A._EventStreamSubscription_closure(onData), type$.JavaScriptObject);
-        t1 = t1 == null ? null : A.allowInterop(t1, type$.Function);
+        t1 = A._wrapZone(new A._EventStreamSubscription_closure(onData), type$.JSObject);
+        t1 = t1 == null ? null : type$.JavaScriptFunction._as(A.allowInterop(t1, type$.Function));
       }
       t1 = new A._EventStreamSubscription(_target, _eventType, t1, false, $T._eval$1("_EventStreamSubscription<0>"));
       t1._tryResume$0();
@@ -4521,9 +4476,9 @@
     main() {
       var t2,
         channel = A.SseClient$("/test"),
-        t1 = type$.nullable_JavaScriptObject._as(type$.JavaScriptObject._as(self.document).querySelector("button"));
+        t1 = type$.nullable_JSObject._as(type$.JSObject._as(self.document).querySelector("button"));
       t1.toString;
-      t2 = type$._ElementEventStreamImpl_JavaScriptObject;
+      t2 = type$._ElementEventStreamImpl_JSObject;
       A._EventStreamSubscription$(t1, "click", t2._eval$1("~(1)?")._as(new A.main_closure(channel)), false, t2._precomputed1);
       t2 = channel._incomingController;
       new A._ControllerStream(t2, A._instanceType(t2)._eval$1("_ControllerStream<1>")).listen$1(new A.main_closure0(channel));
@@ -4874,14 +4829,14 @@
       }
       return J.matchAsPrefix$2$s(pattern, receiver, index) != null;
     },
-    startsWith$1($receiver, pattern) {
-      return this.startsWith$2($receiver, pattern, 0);
+    startsWith$1(receiver, pattern) {
+      return this.startsWith$2(receiver, pattern, 0);
     },
     substring$2(receiver, start, end) {
       return receiver.substring(start, A.RangeError_checkValidRange(start, end, receiver.length));
     },
-    substring$1($receiver, start) {
-      return this.substring$2($receiver, start, null);
+    substring$1(receiver, start) {
+      return this.substring$2(receiver, start, null);
     },
     $mul(receiver, times) {
       var s, result;
@@ -4919,8 +4874,8 @@
         start = t2 - t1;
       return receiver.lastIndexOf(pattern, start);
     },
-    lastIndexOf$1($receiver, pattern) {
-      return this.lastIndexOf$2($receiver, pattern, null);
+    lastIndexOf$1(receiver, pattern) {
+      return this.lastIndexOf$2(receiver, pattern, null);
     },
     toString$0(receiver) {
       return receiver;
@@ -5046,44 +5001,39 @@
   A.JSInvocationMirror.prototype = {
     get$memberName() {
       var t1 = this._memberName;
-      return t1;
+      if (t1 instanceof A.Symbol)
+        return t1;
+      return this._memberName = new A.Symbol(A._asString(t1));
     },
     get$positionalArguments() {
-      var t1, argumentCount, list, index, _this = this;
+      var t1, t2, argumentCount, list, index, _this = this;
       if (_this.__js_helper$_kind === 1)
         return B.List_empty;
       t1 = _this._arguments;
-      argumentCount = t1.length - _this._namedArgumentNames.length - _this._typeArgumentCount;
+      t2 = J.getInterceptor$asx(t1);
+      argumentCount = t2.get$length(t1) - J.get$length$asx(_this._namedArgumentNames) - _this._typeArgumentCount;
       if (argumentCount === 0)
         return B.List_empty;
       list = [];
-      for (index = 0; index < argumentCount; ++index) {
-        if (!(index < t1.length))
-          return A.ioore(t1, index);
-        list.push(t1[index]);
-      }
+      for (index = 0; index < argumentCount; ++index)
+        list.push(t2.$index(t1, index));
       return J.JSArray_markUnmodifiableList(list);
     },
     get$namedArguments() {
-      var t1, namedArgumentCount, t2, namedArgumentsStartIndex, map, i, t3, t4, _this = this;
+      var t1, t2, namedArgumentCount, t3, t4, namedArgumentsStartIndex, map, i, _this = this;
       if (_this.__js_helper$_kind !== 0)
         return B.Map_empty;
       t1 = _this._namedArgumentNames;
-      namedArgumentCount = t1.length;
-      t2 = _this._arguments;
-      namedArgumentsStartIndex = t2.length - namedArgumentCount - _this._typeArgumentCount;
+      t2 = J.getInterceptor$asx(t1);
+      namedArgumentCount = t2.get$length(t1);
+      t3 = _this._arguments;
+      t4 = J.getInterceptor$asx(t3);
+      namedArgumentsStartIndex = t4.get$length(t3) - namedArgumentCount - _this._typeArgumentCount;
       if (namedArgumentCount === 0)
         return B.Map_empty;
       map = new A.JsLinkedHashMap(type$.JsLinkedHashMap_Symbol_dynamic);
-      for (i = 0; i < namedArgumentCount; ++i) {
-        if (!(i < t1.length))
-          return A.ioore(t1, i);
-        t3 = t1[i];
-        t4 = namedArgumentsStartIndex + i;
-        if (!(t4 >= 0 && t4 < t2.length))
-          return A.ioore(t2, t4);
-        map.$indexSet(0, new A.Symbol(t3), t2[t4]);
-      }
+      for (i = 0; i < namedArgumentCount; ++i)
+        map.$indexSet(0, new A.Symbol(A._asString(t2.$index(t1, i))), t4.$index(t3, namedArgumentsStartIndex + i));
       return new A.ConstantMapView(map, type$.ConstantMapView_Symbol_dynamic);
     },
     $isInvocation: 1
@@ -6137,7 +6087,7 @@
       if ((_this._state & 8) === 0)
         return A._instanceType(_this)._eval$1("_PendingEvents<1>?")._as(_this._varData);
       t1 = A._instanceType(_this);
-      return t1._eval$1("_PendingEvents<1>?")._as(t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData).get$varData());
+      return t1._eval$1("_PendingEvents<1>?")._as(t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData).get$_varData());
     },
     _ensurePendingEvents$0() {
       var events, t1, _this = this;
@@ -6148,13 +6098,13 @@
         return A._instanceType(_this)._eval$1("_PendingEvents<1>")._as(events);
       }
       t1 = A._instanceType(_this);
-      events = t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData).get$varData();
+      events = t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData).get$_varData();
       return t1._eval$1("_PendingEvents<1>")._as(events);
     },
     get$_subscription() {
       var varData = this._varData;
       if ((this._state & 8) !== 0)
-        varData = type$._StreamControllerAddStreamState_nullable_Object._as(varData).get$varData();
+        varData = type$._StreamControllerAddStreamState_nullable_Object._as(varData).get$_varData();
       return A._instanceType(this)._eval$1("_ControllerSubscription<1>")._as(varData);
     },
     _badEventState$0() {
@@ -6195,7 +6145,7 @@
       return _this._ensureDoneFuture$0();
     },
     _subscribe$4(onData, onError, onDone, cancelOnError) {
-      var t2, t3, t4, t5, t6, t7, subscription, pendingEvents, addState, _this = this,
+      var t2, t3, t4, t5, t6, t7, t8, subscription, pendingEvents, addState, _this = this,
         t1 = A._instanceType(_this);
       t1._eval$1("~(1)?")._as(onData);
       type$.nullable_void_Function._as(onDone);
@@ -6203,25 +6153,26 @@
         throw A.wrapException(A.StateError$("Stream has already been listened to."));
       t2 = $.Zone__current;
       t3 = cancelOnError ? 1 : 0;
-      t4 = A._BufferingStreamSubscription__registerDataHandler(t2, onData, t1._precomputed1);
-      t5 = A._BufferingStreamSubscription__registerErrorHandler(t2, onError);
-      t6 = onDone == null ? A.async___nullDoneHandler$closure() : onDone;
-      t7 = type$.void_Function;
-      subscription = new A._ControllerSubscription(_this, t4, t5, t7._as(t6), t2, t3, t1._eval$1("_ControllerSubscription<1>"));
+      t4 = onError != null ? 32 : 0;
+      t5 = A._BufferingStreamSubscription__registerDataHandler(t2, onData, t1._precomputed1);
+      t6 = A._BufferingStreamSubscription__registerErrorHandler(t2, onError);
+      t7 = onDone == null ? A.async___nullDoneHandler$closure() : onDone;
+      t8 = type$.void_Function;
+      subscription = new A._ControllerSubscription(_this, t5, t6, t8._as(t7), t2, t3 | t4, t1._eval$1("_ControllerSubscription<1>"));
       pendingEvents = _this.get$_pendingEvents();
-      t3 = _this._state |= 1;
-      if ((t3 & 8) !== 0) {
+      t4 = _this._state |= 1;
+      if ((t4 & 8) !== 0) {
         addState = t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData);
-        addState.set$varData(subscription);
+        addState.set$_varData(subscription);
         addState.resume$0();
       } else
         _this._varData = subscription;
       subscription._setPendingEvents$1(pendingEvents);
-      t1 = t7._as(new A._StreamController__subscribe_closure(_this));
+      t1 = t8._as(new A._StreamController__subscribe_closure(_this));
       t2 = subscription._state;
-      subscription._state = t2 | 32;
+      subscription._state = t2 | 64;
       t1.call$0();
-      subscription._state &= 4294967263;
+      subscription._state &= 4294967231;
       subscription._checkState$1((t2 & 4) !== 0);
       return subscription;
     },
@@ -6331,7 +6282,7 @@
         return;
       _this.set$_pending(pendingEvents);
       if (pendingEvents.lastPendingEvent != null) {
-        _this._state |= 64;
+        _this._state |= 128;
         pendingEvents.schedule$1(_this);
       }
     },
@@ -6347,26 +6298,27 @@
       return t1 == null ? $.$get$Future__nullFuture() : t1;
     },
     asFuture$1$1(futureValue, $E) {
-      var result, t1 = {};
+      var result, _this = this, t1 = {};
       t1.resultValue = null;
       if (!$E._is(null))
         throw A.wrapException(A.ArgumentError$notNull("futureValue"));
       $E._as(futureValue);
       t1.resultValue = futureValue;
       result = new A._Future($.Zone__current, $E._eval$1("_Future<0>"));
-      this.set$_onDone(new A._BufferingStreamSubscription_asFuture_closure(t1, result));
-      this._onError = new A._BufferingStreamSubscription_asFuture_closure0(this, result);
+      _this.set$_onDone(new A._BufferingStreamSubscription_asFuture_closure(t1, result));
+      _this._state |= 32;
+      _this._onError = new A._BufferingStreamSubscription_asFuture_closure0(_this, result);
       return result;
     },
     _cancel$0() {
       var t2, _this = this,
         t1 = _this._state |= 8;
-      if ((t1 & 64) !== 0) {
+      if ((t1 & 128) !== 0) {
         t2 = _this._pending;
         if (t2._state === 1)
           t2._state = 3;
       }
-      if ((t1 & 32) === 0)
+      if ((t1 & 64) === 0)
         _this.set$_pending(null);
       _this._cancelFuture = _this._onCancel$0();
     },
@@ -6386,10 +6338,10 @@
       }
       pending.add$1(0, $event);
       t1 = _this._state;
-      if ((t1 & 64) === 0) {
-        t1 |= 64;
+      if ((t1 & 128) === 0) {
+        t1 |= 128;
         _this._state = t1;
-        if (t1 < 128)
+        if (t1 < 256)
           pending.schedule$1(_this);
       }
     },
@@ -6398,9 +6350,9 @@
         t1 = A._instanceType(_this)._precomputed1;
       t1._as(data);
       t2 = _this._state;
-      _this._state = t2 | 32;
+      _this._state = t2 | 64;
       _this._zone.runUnaryGuarded$1$2(_this._onData, data, t1);
-      _this._state &= 4294967263;
+      _this._state &= 4294967231;
       _this._checkState$1((t2 & 4) !== 0);
     },
     _sendError$2(error, stackTrace) {
@@ -6434,10 +6386,10 @@
     _checkState$1(wasInputPaused) {
       var t2, isInputPaused, _this = this,
         t1 = _this._state;
-      if ((t1 & 64) !== 0 && _this._pending.lastPendingEvent == null) {
-        t1 = _this._state = t1 & 4294967231;
+      if ((t1 & 128) !== 0 && _this._pending.lastPendingEvent == null) {
+        t1 = _this._state = t1 & 4294967167;
         if ((t1 & 4) !== 0)
-          if (t1 < 128) {
+          if (t1 < 256) {
             t2 = _this._pending;
             t2 = t2 == null ? null : t2.lastPendingEvent == null;
             t2 = t2 !== false;
@@ -6458,14 +6410,14 @@
         isInputPaused = (t1 & 4) !== 0;
         if (wasInputPaused === isInputPaused)
           break;
-        _this._state = t1 ^ 32;
+        _this._state = t1 ^ 64;
         if (isInputPaused)
           _this._onPause$0();
         else
           _this._onResume$0();
-        t1 = _this._state &= 4294967263;
+        t1 = _this._state &= 4294967231;
       }
-      if ((t1 & 64) !== 0 && t1 < 128)
+      if ((t1 & 128) !== 0 && t1 < 256)
         _this._pending.schedule$1(_this);
     },
     set$_onData(_onData) {
@@ -6510,7 +6462,7 @@
         t2 = t1._state;
       if ((t2 & 8) !== 0 && (t2 & 16) === 0)
         return;
-      t1._state = t2 | 32;
+      t1._state = t2 | 64;
       onError = t1._onError;
       t2 = this.error;
       t3 = type$.Object;
@@ -6519,7 +6471,7 @@
         t4.runBinaryGuarded$2$3(onError, t2, this.stackTrace, t3, type$.StackTrace);
       else
         t4.runUnaryGuarded$1$2(type$.void_Function_Object._as(onError), t2, t3);
-      t1._state &= 4294967263;
+      t1._state &= 4294967231;
     },
     $signature: 0
   };
@@ -6529,9 +6481,9 @@
         t2 = t1._state;
       if ((t2 & 16) === 0)
         return;
-      t1._state = t2 | 42;
+      t1._state = t2 | 74;
       t1._zone.runGuarded$1(t1._onDone);
-      t1._state &= 4294967263;
+      t1._state &= 4294967231;
     },
     $signature: 0
   };
@@ -6981,9 +6933,11 @@
         this.result._contents += ", ";
       t1.first = false;
       t1 = this.result;
-      t2 = t1._contents += A.S(k);
+      t2 = A.S(k);
+      t2 = t1._contents += t2;
       t1._contents = t2 + ": ";
-      t1._contents += A.S(v);
+      t2 = A.S(v);
+      t1._contents += t2;
     },
     $signature: 10
   };
@@ -7017,7 +6971,7 @@
     },
     elementAt$1(_, index) {
       var t2, t3, _this = this,
-        t1 = _this.get$length(_this);
+        t1 = _this.get$length(0);
       if (0 > index || index >= t1)
         A.throwExpression(A.IndexError$withLength(index, t1, _this, null, "index"));
       t1 = _this._table;
@@ -7118,7 +7072,7 @@
       return this._processed == null ? this._data.__js_helper$_length : this._convert$_computeKeys$0().length;
     },
     get$isEmpty(_) {
-      return this.get$length(this) === 0;
+      return this.get$length(0) === 0;
     },
     get$keys() {
       if (this._processed == null) {
@@ -7161,8 +7115,7 @@
   };
   A._JsonMapKeyIterable.prototype = {
     get$length(_) {
-      var t1 = this._parent;
-      return t1.get$length(t1);
+      return this._parent.get$length(0);
     },
     elementAt$1(_, index) {
       var t1 = this._parent;
@@ -7430,7 +7383,9 @@
       return t1.charCodeAt(0) == 0 ? t1 : t1;
     },
     writeNumber$1(number) {
-      this._sink._contents += B.JSNumber_methods.toString$0(number);
+      var t1 = this._sink,
+        t2 = B.JSNumber_methods.toString$0(number);
+      t1._contents += t2;
     },
     writeString$1(string) {
       this._sink._contents += string;
@@ -7439,7 +7394,9 @@
       this._sink._contents += B.JSString_methods.substring$2(string, start, end);
     },
     writeCharCode$1(charCode) {
-      this._sink._contents += A.Primitives_stringFromCharCode(charCode);
+      var t1 = this._sink,
+        t2 = A.Primitives_stringFromCharCode(charCode);
+      t1._contents += t2;
     }
   };
   A.NoSuchMethodError_toString_closure.prototype = {
@@ -7452,7 +7409,8 @@
       t3 += key._name;
       t1._contents = t3;
       t1._contents = t3 + ": ";
-      t1._contents += A.Error_safeToString(value);
+      t3 = A.Error_safeToString(value);
+      t1._contents += t3;
       t2.comma = ", ";
     },
     $signature: 19
@@ -7590,7 +7548,8 @@
       for (t1 = $arguments.length, _i = 0, t2 = "", t3 = ""; _i < t1; ++_i, t3 = ", ") {
         argument = $arguments[_i];
         sb._contents = t2 + t3;
-        t2 = sb._contents += A.Error_safeToString(argument);
+        t2 = A.Error_safeToString(argument);
+        t2 = sb._contents += t2;
         _box_0.comma = ", ";
       }
       _this._namedArguments.forEach$1(0, new A.NoSuchMethodError_toString_closure(_box_0, sb));
@@ -7743,7 +7702,7 @@
   };
   A.Null.prototype = {
     get$hashCode(_) {
-      return A.Object.prototype.get$hashCode.call(this, this);
+      return A.Object.prototype.get$hashCode.call(this, 0);
     },
     toString$0(_) {
       return "null";
@@ -7810,11 +7769,7 @@
         return t1.$index(0, o);
       if (o instanceof Date) {
         millisSinceEpoch = o.getTime();
-        if (Math.abs(millisSinceEpoch) <= 864e13)
-          t1 = false;
-        else
-          t1 = true;
-        if (t1)
+        if (Math.abs(millisSinceEpoch) > 864e13)
           A.throwExpression(A.ArgumentError$("DateTime is outside valid range: " + millisSinceEpoch, null));
         A.checkNotNullable(true, "isUtc", type$.bool);
         return new A.DateTime(millisSinceEpoch, true);
@@ -7963,7 +7918,7 @@
         return A.Future_Future$value(new A.PoolResource(_this), type$.PoolResource);
       } else {
         t1 = _this._onReleaseCallbacks;
-        if (!t1.get$isEmpty(t1))
+        if (!t1.get$isEmpty(0))
           return _this._runOnRelease$1(t1.removeFirst$0());
         else {
           t1 = new A._Future($.Zone__current, type$._Future_PoolResource);
@@ -8026,7 +7981,7 @@
               t1 = t1._pool;
               t1._resetTimer$0();
               t2 = t1._requestedResources;
-              if (!t2.get$isEmpty(t2))
+              if (!t2.get$isEmpty(0))
                 t2.removeFirst$0().complete$1(new A.PoolResource(t1));
               else {
                 t2 = --t1._allocatedResources;
@@ -8093,18 +8048,18 @@
   A.PoolResource.prototype = {};
   A.SseClient.prototype = {
     SseClient$2$debugKey(serverUrl, debugKey) {
-      var t2, _this = this,
+      var t2, t3, _this = this,
         t1 = serverUrl + "?sseClientId=" + _this._clientId;
       _this.__SseClient__serverUrl_A = t1;
-      t2 = type$.JavaScriptObject;
-      t1 = t2._as(new self.EventSource(t1, t2._as({withCredentials: true})));
+      t2 = type$.JSObject;
+      t1 = t2._as(new self.EventSource(t1, {withCredentials: true}));
       _this.__SseClient__eventSource_A = t1;
-      t1 = new A._EventStream(t1, "open", false, type$._EventStream_JavaScriptObject);
-      t1.get$first(t1).whenComplete$1(new A.SseClient_closure(_this));
+      new A._EventStream(t1, "open", false, type$._EventStream_JSObject).get$first(0).whenComplete$1(new A.SseClient_closure(_this));
       t1 = type$.Function;
-      _this.__SseClient__eventSource_A.addEventListener("message", A.allowInterop(_this.get$_onIncomingMessage(), t1));
-      _this.__SseClient__eventSource_A.addEventListener("control", A.allowInterop(_this.get$_onIncomingControlMessage(), t1));
-      t1 = type$.nullable_void_Function_JavaScriptObject;
+      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)));
+      t1 = type$.nullable_void_Function_JSObject;
       A._EventStreamSubscription$(_this.__SseClient__eventSource_A, "open", t1._as(new A.SseClient_closure0(_this)), false, t2);
       A._EventStreamSubscription$(_this.__SseClient__eventSource_A, "error", t1._as(new A.SseClient_closure1(_this)), false, t2);
     },
@@ -8138,14 +8093,14 @@
         t1.completeError$1(error);
     },
     _onIncomingControlMessage$1(message) {
-      var data = type$.JavaScriptObject._as(message).data;
+      var data = type$.JSObject._as(message).data;
       if (J.$eq$(A.dartify(data), "close"))
         this.close$0();
       else
         throw A.wrapException(A.UnsupportedError$("[" + this._clientId + '] Illegal Control Message "' + A.S(data) + '"'));
     },
     _onIncomingMessage$1(message) {
-      this._incomingController.add$1(0, A._asString(B.C_JsonCodec.decode$2$reviver(A._asString(type$.JavaScriptObject._as(message).data), null)));
+      this._incomingController.add$1(0, A._asString(B.C_JsonCodec.decode$2$reviver(A._asString(type$.JSObject._as(message).data), null)));
     },
     _onOutgoingDone$0() {
       this.close$0();
@@ -8155,7 +8110,7 @@
     },
     _onOutgoingMessage$body$SseClient(message) {
       var $async$goto = 0,
-        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
+        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
         $async$self = this, t1;
       var $async$_onOutgoingMessage$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
         if ($async$errorCode === 1)
@@ -8248,10 +8203,10 @@
               t1 = $async$self._box_0.encodedMessage;
               if (t1 == null)
                 t1 = null;
-              t2 = type$.JavaScriptObject;
-              t1 = t2._as({method: "POST", body: t1, credentials: "include"});
+              t1 = {method: "POST", body: t1, credentials: "include"};
+              t2 = type$.JSObject;
               $async$goto = 6;
-              return A._asyncAwait(A.promiseToFuture(type$.JSObject._as(t2._as(self.window).fetch(url, t1)), type$.nullable_Object), $async$call$0);
+              return A._asyncAwait(A.promiseToFuture(t2._as(t2._as(self.window).fetch(url, t1)), t2), $async$call$0);
             case 6:
               // returning from await.
               $async$handler = 1;
@@ -8333,14 +8288,14 @@
       if (_this._target == null)
         throw A.wrapException(A.StateError$("Subscription has been canceled."));
       _this._unlisten$0();
-      t1 = A._wrapZone(new A._EventStreamSubscription_onData_closure(handleData), type$.JavaScriptObject);
-      t1 = t1 == null ? null : A.allowInterop(t1, type$.Function);
+      t1 = A._wrapZone(new A._EventStreamSubscription_onData_closure(handleData), type$.JSObject);
+      t1 = t1 == null ? null : type$.JavaScriptFunction._as(A.allowInterop(t1, type$.Function));
       _this._streams$_onData = t1;
       _this._tryResume$0();
     },
     _tryResume$0() {
       var t1 = this._streams$_onData;
-      if (t1 != null && true)
+      if (t1 != null)
         this._target.addEventListener(this._eventType, t1, false);
     },
     _unlisten$0() {
@@ -8352,13 +8307,13 @@
   };
   A._EventStreamSubscription_closure.prototype = {
     call$1(e) {
-      return this.onData.call$1(type$.JavaScriptObject._as(e));
+      return this.onData.call$1(type$.JSObject._as(e));
     },
     $signature: 1
   };
   A._EventStreamSubscription_onData_closure.prototype = {
     call$1(e) {
-      return this.handleData.call$1(type$.JavaScriptObject._as(e));
+      return this.handleData.call$1(type$.JSObject._as(e));
     },
     $signature: 1
   };
@@ -8486,12 +8441,12 @@
     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: ["~()", "~(JavaScriptObject)", "Null()", "~(@)", "Null(@)", "Null(Object,StackTrace)", "~(~())", "Future<Null>()", "@(@)", "~(Object,StackTrace)", "~(Object?,Object?)", "String(int,int)", "~(String,@)", "@(@,String)", "@(String)", "Null(~())", "Null(@,StackTrace)", "~(int,@)", "_Future<@>(@)", "~(Symbol0,@)", "Object?(Object?)", "Logger()", "~(String?)", "int(int)", "~(String)"],
+    types: ["~()", "~(JSObject)", "Null()", "~(@)", "Null(@)", "Null(Object,StackTrace)", "~(~())", "Future<Null>()", "@(@)", "~(Object,StackTrace)", "~(Object?,Object?)", "String(int,int)", "~(String,@)", "@(@,String)", "@(String)", "Null(~())", "Null(@,StackTrace)", "~(int,@)", "_Future<@>(@)", "~(Symbol0,@)", "Object?(Object?)", "Logger()", "~(String?)", "int(int)", "~(String)"],
     interceptorsByTag: null,
     leafTags: null,
     arrayRti: Symbol("$ti")
   };
-  A._Universe_addRules(init.typeUniverse, JSON.parse('{"PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","JavaScriptFunction":"LegacyJavaScriptObject","JavaScriptObject":{"JSObject":[]},"JSBool":{"bool":[],"TrustedGetRuntimeType":[]},"JSNull":{"Null":[],"TrustedGetRuntimeType":[]},"LegacyJavaScriptObject":{"JavaScriptObject":[],"JSObject":[]},"JSArray":{"List":["1"],"JavaScriptObject":[],"JSObject":[],"Iterable":["1"]},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"JavaScriptObject":[],"JSObject":[],"Iterable":["1"]},"JSNumber":{"double":[],"num":[]},"JSInt":{"double":[],"int":[],"num":[],"TrustedGetRuntimeType":[]},"JSNumNotInt":{"double":[],"num":[],"TrustedGetRuntimeType":[]},"JSString":{"String":[],"Pattern":[],"TrustedGetRuntimeType":[]},"LateError":{"Error":[]},"EfficientLengthIterable":{"Iterable":["1"]},"ListIterable":{"Iterable":["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"]},"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":[]},"JsLinkedHashMap":{"MapBase":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"LinkedHashMapKeyIterable":{"Iterable":["1"]},"NativeByteBuffer":{"JavaScriptObject":[],"JSObject":[],"TrustedGetRuntimeType":[]},"NativeTypedData":{"JavaScriptObject":[],"JSObject":[]},"NativeByteData":{"JavaScriptObject":[],"JSObject":[],"TrustedGetRuntimeType":[]},"NativeTypedArray":{"JavaScriptIndexingBehavior":["1"],"JavaScriptObject":[],"JSObject":[]},"NativeTypedArrayOfDouble":{"ListBase":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"JSObject":[],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"ListBase":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"JSObject":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double"},"NativeFloat64List":{"ListBase":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"JSObject":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double"},"NativeInt16List":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeInt32List":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeInt8List":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint16List":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint32List":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint8ClampedList":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint8List":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"_Error":{"Error":[]},"_TypeError":{"TypeError":[],"Error":[]},"_Future":{"Future":["1"]},"_TimerImpl":{"Timer":[]},"_AsyncAwaitCompleter":{"Completer":["1"]},"AsyncError":{"Error":[]},"_Completer":{"Completer":["1"]},"_AsyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_SyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_StreamController":{"StreamController":["1"],"_StreamControllerLifecycle":["1"],"_EventDispatch":["1"]},"_AsyncStreamController":{"_AsyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"_StreamControllerLifecycle":["1"],"_EventDispatch":["1"]},"_ControllerStream":{"_StreamImpl":["1"],"Stream":["1"]},"_ControllerSubscription":{"_BufferingStreamSubscription":["1"],"StreamSubscription":["1"],"_EventDispatch":["1"]},"_BufferingStreamSubscription":{"StreamSubscription":["1"],"_EventDispatch":["1"]},"_StreamImpl":{"Stream":["1"]},"_DelayedData":{"_DelayedEvent":["1"]},"_DelayedError":{"_DelayedEvent":["@"]},"_DelayedDone":{"_DelayedEvent":["@"]},"_Zone":{"Zone":[]},"_RootZone":{"_Zone":[],"Zone":[]},"_HashMap":{"MapBase":["1","2"],"Map":["1","2"]},"_IdentityHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_HashMapKeyIterable":{"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"],"Iterable":["1"],"ListIterable.E":"1"},"_JsonMap":{"MapBase":["String","@"],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"_JsonMapKeyIterable":{"ListIterable":["String"],"Iterable":["String"],"ListIterable.E":"String"},"JsonUnsupportedObjectError":{"Error":[]},"JsonCyclicError":{"Error":[]},"JsonCodec":{"Codec":["Object?","String"]},"JsonEncoder":{"Converter":["Object?","String"]},"JsonDecoder":{"Converter":["String","Object?"]},"double":{"num":[]},"int":{"num":[]},"String":{"Pattern":[]},"AssertionError":{"Error":[]},"TypeError":{"Error":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"NoSuchMethodError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"_StringStackTrace":{"StackTrace":[]},"StringBuffer":{"StringSink":[]},"_EventStream":{"Stream":["1"]},"_ElementEventStreamImpl":{"_EventStream":["1"],"Stream":["1"]},"_EventStreamSubscription":{"StreamSubscription":["1"]},"Int8List":{"List":["int"],"Iterable":["int"]},"Uint8List":{"List":["int"],"Iterable":["int"]},"Uint8ClampedList":{"List":["int"],"Iterable":["int"]},"Int16List":{"List":["int"],"Iterable":["int"]},"Uint16List":{"List":["int"],"Iterable":["int"]},"Int32List":{"List":["int"],"Iterable":["int"]},"Uint32List":{"List":["int"],"Iterable":["int"]},"Float32List":{"List":["double"],"Iterable":["double"]},"Float64List":{"List":["double"],"Iterable":["double"]}}'));
+  A._Universe_addRules(init.typeUniverse, JSON.parse('{"PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","JavaScriptFunction":"LegacyJavaScriptObject","JSBool":{"bool":[],"TrustedGetRuntimeType":[]},"JSNull":{"Null":[],"TrustedGetRuntimeType":[]},"JavaScriptObject":{"JSObject":[]},"LegacyJavaScriptObject":{"JSObject":[]},"JSArray":{"List":["1"],"JSObject":[],"Iterable":["1"]},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"JSObject":[],"Iterable":["1"]},"JSNumber":{"double":[],"num":[]},"JSInt":{"double":[],"int":[],"num":[],"TrustedGetRuntimeType":[]},"JSNumNotInt":{"double":[],"num":[],"TrustedGetRuntimeType":[]},"JSString":{"String":[],"Pattern":[],"TrustedGetRuntimeType":[]},"LateError":{"Error":[]},"EfficientLengthIterable":{"Iterable":["1"]},"ListIterable":{"Iterable":["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"]},"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":[]},"JsLinkedHashMap":{"MapBase":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"LinkedHashMapKeyIterable":{"Iterable":["1"]},"NativeByteBuffer":{"JSObject":[],"TrustedGetRuntimeType":[]},"NativeTypedData":{"JSObject":[]},"NativeByteData":{"JSObject":[],"TrustedGetRuntimeType":[]},"NativeTypedArray":{"JavaScriptIndexingBehavior":["1"],"JSObject":[]},"NativeTypedArrayOfDouble":{"ListBase":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JSObject":[],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"ListBase":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JSObject":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double"},"NativeFloat64List":{"ListBase":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JSObject":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double"},"NativeInt16List":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeInt32List":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeInt8List":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint16List":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint32List":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint8ClampedList":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint8List":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"_Error":{"Error":[]},"_TypeError":{"TypeError":[],"Error":[]},"_Future":{"Future":["1"]},"_TimerImpl":{"Timer":[]},"_AsyncAwaitCompleter":{"Completer":["1"]},"AsyncError":{"Error":[]},"_Completer":{"Completer":["1"]},"_AsyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_SyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_StreamController":{"StreamController":["1"],"_StreamControllerLifecycle":["1"],"_EventDispatch":["1"]},"_AsyncStreamController":{"_AsyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"_StreamControllerLifecycle":["1"],"_EventDispatch":["1"]},"_ControllerStream":{"_StreamImpl":["1"],"Stream":["1"]},"_ControllerSubscription":{"_BufferingStreamSubscription":["1"],"StreamSubscription":["1"],"_EventDispatch":["1"]},"_BufferingStreamSubscription":{"StreamSubscription":["1"],"_EventDispatch":["1"]},"_StreamImpl":{"Stream":["1"]},"_DelayedData":{"_DelayedEvent":["1"]},"_DelayedError":{"_DelayedEvent":["@"]},"_DelayedDone":{"_DelayedEvent":["@"]},"_Zone":{"Zone":[]},"_RootZone":{"_Zone":[],"Zone":[]},"_HashMap":{"MapBase":["1","2"],"Map":["1","2"]},"_IdentityHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_HashMapKeyIterable":{"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"],"Iterable":["1"],"ListIterable.E":"1"},"_JsonMap":{"MapBase":["String","@"],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"_JsonMapKeyIterable":{"ListIterable":["String"],"Iterable":["String"],"ListIterable.E":"String"},"JsonUnsupportedObjectError":{"Error":[]},"JsonCyclicError":{"Error":[]},"JsonCodec":{"Codec":["Object?","String"]},"JsonEncoder":{"Converter":["Object?","String"]},"JsonDecoder":{"Converter":["String","Object?"]},"double":{"num":[]},"int":{"num":[]},"String":{"Pattern":[]},"AssertionError":{"Error":[]},"TypeError":{"Error":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"NoSuchMethodError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"_StringStackTrace":{"StackTrace":[]},"StringBuffer":{"StringSink":[]},"_EventStream":{"Stream":["1"]},"_ElementEventStreamImpl":{"_EventStream":["1"],"Stream":["1"]},"_EventStreamSubscription":{"StreamSubscription":["1"]},"Int8List":{"List":["int"],"Iterable":["int"]},"Uint8List":{"List":["int"],"Iterable":["int"]},"Uint8ClampedList":{"List":["int"],"Iterable":["int"]},"Int16List":{"List":["int"],"Iterable":["int"]},"Uint16List":{"List":["int"],"Iterable":["int"]},"Int32List":{"List":["int"],"Iterable":["int"]},"Uint32List":{"List":["int"],"Iterable":["int"]},"Float32List":{"List":["double"],"Iterable":["double"]},"Float64List":{"List":["double"],"Iterable":["double"]}}'));
   A._Universe_addErasedTypes(init.typeUniverse, JSON.parse('{"EfficientLengthIterable":1,"NativeTypedArray":1,"_DelayedEvent":1,"StreamChannelMixin":1}'));
   var string$ = {
     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"
@@ -8513,7 +8468,6 @@
       JSObject: findType("JSObject"),
       JavaScriptFunction: findType("JavaScriptFunction"),
       JavaScriptIndexingBehavior_dynamic: findType("JavaScriptIndexingBehavior<@>"),
-      JavaScriptObject: findType("JavaScriptObject"),
       JsLinkedHashMap_Symbol_dynamic: findType("JsLinkedHashMap<Symbol0,@>"),
       List_dynamic: findType("List<@>"),
       Logger: findType("Logger"),
@@ -8530,8 +8484,8 @@
       UnknownJavaScriptObject: findType("UnknownJavaScriptObject"),
       _AsyncCompleter_PoolResource: findType("_AsyncCompleter<PoolResource>"),
       _AsyncCompleter_void: findType("_AsyncCompleter<~>"),
-      _ElementEventStreamImpl_JavaScriptObject: findType("_ElementEventStreamImpl<JavaScriptObject>"),
-      _EventStream_JavaScriptObject: findType("_EventStream<JavaScriptObject>"),
+      _ElementEventStreamImpl_JSObject: findType("_ElementEventStreamImpl<JSObject>"),
+      _EventStream_JSObject: findType("_EventStream<JSObject>"),
       _Future_PoolResource: findType("_Future<PoolResource>"),
       _Future_dynamic: findType("_Future<@>"),
       _Future_int: findType("_Future<int>"),
@@ -8550,14 +8504,14 @@
       legacy_Never: findType("0&*"),
       legacy_Object: findType("Object*"),
       nullable_Future_Null: findType("Future<Null>?"),
-      nullable_JavaScriptObject: findType("JavaScriptObject?"),
+      nullable_JSObject: findType("JSObject?"),
       nullable_List_dynamic: findType("List<@>?"),
       nullable_Object: findType("Object?"),
       nullable_StackTrace: findType("StackTrace?"),
       nullable__DelayedEvent_dynamic: findType("_DelayedEvent<@>?"),
       nullable__FutureListener_dynamic_dynamic: findType("_FutureListener<@,@>?"),
       nullable_void_Function: findType("~()?"),
-      nullable_void_Function_JavaScriptObject: findType("~(JavaScriptObject)?"),
+      nullable_void_Function_JSObject: findType("~(JSObject)?"),
       num: findType("num"),
       void: findType("~"),
       void_Function: findType("~()"),