From 5a815610368d451c1a30e168f44d0a48ffa0f938 Mon Sep 17 00:00:00 2001 From: Anna Gringauze Date: Tue, 8 Mar 2022 19:17:45 -0800 Subject: [PATCH 1/4] Fix race condition causing crash when sending events to client.js during hot restart --- dwds/CHANGELOG.md | 2 + dwds/lib/src/injected/client.js | 760 +++++++++++++++----------------- dwds/test/reload_test.dart | 51 +++ dwds/web/client.dart | 53 ++- 4 files changed, 456 insertions(+), 410 deletions(-) diff --git a/dwds/CHANGELOG.md b/dwds/CHANGELOG.md index e63eb2895..01e3e2053 100644 --- a/dwds/CHANGELOG.md +++ b/dwds/CHANGELOG.md @@ -8,6 +8,8 @@ - Fix an issue in reporting DevTools stats where the DevTools load time was not always recorded. - Add an `ide` query parameter to the Dart DevTools URL for analytics. +- Fix a race where injected client crashed on events send just before hot + restart. **Breaking changes:** - `Dwds.start` and `ExpressionCompilerService` now take diff --git a/dwds/lib/src/injected/client.js b/dwds/lib/src/injected/client.js index eafdd1f92..16d1d9852 100644 --- a/dwds/lib/src/injected/client.js +++ b/dwds/lib/src/injected/client.js @@ -1,4 +1,4 @@ -// Generated by dart2js (NullSafetyMode.unsound, no-legacy-javascript, csp), the Dart to JavaScript compiler version: 2.16.1. +// Generated by dart2js (NullSafetyMode.unsound, csp), the Dart to JavaScript compiler version: 2.17.0-162.0.dev. // The code supports the following hooks: // dartPrint(message): // if this function is defined it is called instead of the Dart [print] @@ -777,10 +777,8 @@ Primitives_objectHashCode(object) { var hash, property = $.Primitives__identityHashCodeProperty; - if (property == null) { - property = Symbol("identityHashCode"); - $.Primitives__identityHashCodeProperty = property; - } + if (property == null) + property = $.Primitives__identityHashCodeProperty = Symbol("identityHashCode"); hash = object[property]; if (hash == null) { hash = Math.random() * 0x3fffffff | 0; @@ -943,15 +941,14 @@ t1.argumentCount = positionalArguments.length; B.JSArray_methods.addAll$1($arguments, positionalArguments); t1.names = ""; - if (namedArguments != null && !namedArguments.get$isEmpty(namedArguments)) + if (namedArguments != null && namedArguments._length !== 0) namedArguments.forEach$1(0, new A.Primitives_functionNoSuchMethod_closure(t1, namedArgumentList, $arguments)); - "" + t1.argumentCount; return J.noSuchMethod$1$($function, new A.JSInvocationMirror(B.Symbol_call, 0, $arguments, namedArgumentList, 0)); }, Primitives_applyFunction($function, positionalArguments, namedArguments) { var t1, argumentCount, jsStub; if (Array.isArray(positionalArguments)) - t1 = namedArguments == null || namedArguments.get$isEmpty(namedArguments); + t1 = namedArguments == null || namedArguments._length === 0; else t1 = false; if (t1) { @@ -998,14 +995,14 @@ if (typeof jsFunction == "string") jsFunction = interceptor[jsFunction]; if (t1) { - if (namedArguments != null && namedArguments.get$isNotEmpty(namedArguments)) + if (namedArguments != null && namedArguments._length !== 0) return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); if (argumentCount === requiredParameterCount) return jsFunction.apply($function, $arguments); return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); } if (Array.isArray(defaultValues)) { - if (namedArguments != null && namedArguments.get$isNotEmpty(namedArguments)) + if (namedArguments != null && namedArguments._length !== 0) return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); maxArguments = requiredParameterCount + defaultValues.length; if (argumentCount > maxArguments) @@ -1043,7 +1040,7 @@ B.JSArray_methods.add$1($arguments, defaultValue); } } - if (used !== namedArguments.get$length(namedArguments)) + if (used !== namedArguments._length) return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); } return jsFunction.apply($function, $arguments); @@ -1179,8 +1176,8 @@ return A.saveStackTrace(ex, A.JsNoSuchMethodError$(A.S(message) + " (Error " + ieErrorCode + ")", _null)); case 445: case 5007: - t1 = A.S(message) + " (Error " + ieErrorCode + ")"; - return A.saveStackTrace(ex, new A.NullError(t1, _null)); + t1 = A.S(message); + return A.saveStackTrace(ex, new A.NullError(t1 + " (Error " + ieErrorCode + ")", _null)); } } if (ex instanceof TypeError) { @@ -1498,11 +1495,11 @@ } }, Closure_forwardInterceptedCallTo(stubName, $function, needsDirectAccess) { - var receiverField, arity, t1, - interceptorField = $.BoundClosure__interceptorFieldNameCache; - interceptorField == null ? $.BoundClosure__interceptorFieldNameCache = A.BoundClosure__computeFieldNamed("interceptor") : interceptorField; - receiverField = $.BoundClosure__receiverFieldNameCache; - receiverField == null ? $.BoundClosure__receiverFieldNameCache = A.BoundClosure__computeFieldNamed("receiver") : receiverField; + var arity, t1; + if ($.BoundClosure__interceptorFieldNameCache == null) + $.BoundClosure__interceptorFieldNameCache = A.BoundClosure__computeFieldNamed("interceptor"); + if ($.BoundClosure__receiverFieldNameCache == null) + $.BoundClosure__receiverFieldNameCache = A.BoundClosure__computeFieldNamed("receiver"); arity = $function.length; t1 = A.Closure_cspForwardInterceptedCall(arity, needsDirectAccess, stubName, $function); return t1; @@ -1544,6 +1541,11 @@ getIsolateAffinityTag($name) { return init.getIsolateTag($name); }, + LinkedHashMapKeyIterator$(_map, _modifications, $E) { + var t1 = new A.LinkedHashMapKeyIterator(_map, _modifications, $E._eval$1("LinkedHashMapKeyIterator<0>")); + t1._cell = _map._first; + return t1; + }, defineProperty(obj, property, value) { Object.defineProperty(obj, property, {value: value, enumerable: false, writable: true, configurable: true}); }, @@ -1721,9 +1723,7 @@ return string; }, stringReplaceRangeUnchecked(receiver, start, end, replacement) { - var prefix = receiver.substring(0, start), - suffix = receiver.substring(end); - return prefix + replacement + suffix; + return receiver.substring(0, start) + replacement + receiver.substring(end); }, ConstantMapView: function ConstantMapView(t0, t1) { this._collection$_map = t0; @@ -1738,7 +1738,7 @@ }, ConstantStringMap: function ConstantStringMap(t0, t1, t2, t3) { var _ = this; - _.__js_helper$_length = t0; + _._length = t0; _._jsObject = t1; _.__js_helper$_keys = t2; _.$ti = t3; @@ -1816,7 +1816,7 @@ }, JsLinkedHashMap: function JsLinkedHashMap(t0) { var _ = this; - _.__js_helper$_length = 0; + _._length = 0; _._last = _._first = _.__js_helper$_rest = _._nums = _._strings = null; _._modifications = 0; _.$ti = t0; @@ -2344,9 +2344,8 @@ throw A.wrapException(A._TypeError$fromMessage("The type argument '" + A.S(A._rtiToString(type, _null)) + "' is not a subtype of the type variable bound '" + A.S(A._rtiToString(bound, _null)) + "' of type variable '" + A.S(variable) + "' in '" + A.S(methodName) + "'.")); }, _Error_compose(object, objectRti, checkedTypeDescription) { - var objectDescription = A.Error_safeToString(object), - objectTypeDescription = A._rtiToString(objectRti == null ? A.instanceType(object) : objectRti, null); - return objectDescription + ": type '" + A.S(objectTypeDescription) + "' is not a subtype of type '" + A.S(checkedTypeDescription) + "'"; + var objectDescription = A.Error_safeToString(object); + return objectDescription + ": type '" + A.S(A._rtiToString(objectRti == null ? A.instanceType(object) : objectRti, null)) + "' is not a subtype of type '" + A.S(checkedTypeDescription) + "'"; }, _TypeError$fromMessage(message) { return new A._TypeError("TypeError: " + message); @@ -2498,12 +2497,11 @@ for (i = boundsLength; i > 0; --i) B.JSArray_methods.add$1(genericContext, "T" + (offset + i)); for (t1 = type$.nullable_Object, t2 = type$.legacy_Object, t3 = type$.Object, typeParametersText = "<", typeSep = "", i = 0; i < boundsLength; ++i, typeSep = _s2_) { - typeParametersText += typeSep; t4 = genericContext.length; t5 = t4 - 1 - i; if (!(t5 >= 0)) return A.ioore(genericContext, t5); - typeParametersText = B.JSString_methods.$add(typeParametersText, genericContext[t5]); + typeParametersText = B.JSString_methods.$add(typeParametersText + typeSep, genericContext[t5]); boundRti = bounds[i]; kind = boundRti._kind; if (!(kind === 2 || kind === 3 || kind === 4 || kind === 5 || boundRti === t1)) @@ -2812,13 +2810,12 @@ return s; }, _Universe__canonicalRecipeJoinNamed($arguments) { - var s, sep, i, t1, nameSep, s0, + var s, sep, i, t1, nameSep, $length = $arguments.length; for (s = "", sep = "", i = 0; i < $length; i += 3, sep = ",") { t1 = $arguments[i]; nameSep = $arguments[i + 1] ? "!" : ":"; - s0 = $arguments[i + 2]._canonicalRecipe; - s += sep + t1 + nameSep + s0; + s += sep + t1 + nameSep + $arguments[i + 2]._canonicalRecipe; } return s; }, @@ -2864,7 +2861,7 @@ return t1; }, _Universe__lookupFunctionRti(universe, returnType, parameters) { - var sep, t1, key, probe, rti, + var sep, key, probe, rti, t1, s = returnType._canonicalRecipe, requiredPositional = parameters._requiredPositional, requiredPositionalLength = requiredPositional.length, @@ -2875,13 +2872,11 @@ recipe = "(" + A._Universe__canonicalRecipeJoin(requiredPositional); if (optionalPositionalLength > 0) { sep = requiredPositionalLength > 0 ? "," : ""; - t1 = A._Universe__canonicalRecipeJoin(optionalPositional); - recipe += sep + "[" + t1 + "]"; + recipe += sep + "[" + A._Universe__canonicalRecipeJoin(optionalPositional) + "]"; } if (namedLength > 0) { sep = requiredPositionalLength > 0 ? "," : ""; - t1 = A._Universe__canonicalRecipeJoinNamed(named); - recipe += sep + "{" + t1 + "}"; + recipe += sep + "{" + A._Universe__canonicalRecipeJoinNamed(named) + "}"; } key = s + (recipe + ")"); probe = universe.eC.get(key); @@ -4685,19 +4680,12 @@ _._collection$_current = null; _.$ti = t2; }, - _LinkedIdentityHashMap: function _LinkedIdentityHashMap(t0) { - var _ = this; - _.__js_helper$_length = 0; - _._last = _._first = _.__js_helper$_rest = _._nums = _._strings = null; - _._modifications = 0; - _.$ti = t0; - }, _LinkedCustomHashMap: function _LinkedCustomHashMap(t0, t1, t2, t3) { var _ = this; _._equals = t0; _._hashCode = t1; _._validKey = t2; - _.__js_helper$_length = 0; + _._length = 0; _._last = _._first = _.__js_helper$_rest = _._nums = _._strings = null; _._modifications = 0; _.$ti = t3; @@ -5891,23 +5879,6 @@ return 443; return 0; }, - _Uri__compareScheme(scheme, uri) { - var t1, i, schemeChar, uriChar, delta, lowerChar; - for (t1 = scheme.length, i = 0; i < t1; ++i) { - schemeChar = B.JSString_methods._codeUnitAt$1(scheme, i); - uriChar = B.JSString_methods._codeUnitAt$1(uri, i); - delta = schemeChar ^ uriChar; - if (delta !== 0) { - if (delta === 32) { - lowerChar = uriChar | delta; - if (97 <= lowerChar && lowerChar <= 122) - continue; - } - return false; - } - } - return true; - }, _Uri__fail(uri, index, message) { throw A.wrapException(A.FormatException$(message, uri, index)); }, @@ -6275,7 +6246,7 @@ return t1 == null ? B.JSString_methods.substring$2(component, start, end) : t1; }, _Uri__normalize(component, start, end, charTable, escapeDelimiters) { - var t1, index, sectionStart, buffer, char, t2, replacement, sourceLength, tail, _null = null; + var t1, index, sectionStart, buffer, char, t2, replacement, sourceLength, tail, t3, _null = null; for (t1 = !escapeDelimiters, index = start, sectionStart = index, buffer = _null; index < end;) { char = B.JSString_methods.codeUnitAt$1(component, index); if (char < 127) { @@ -6337,8 +6308,8 @@ t2 = buffer; } else t2 = buffer; - t2._contents += B.JSString_methods.substring$2(component, sectionStart, index); - t2._contents += A.S(replacement); + t3 = t2._contents += B.JSString_methods.substring$2(component, sectionStart, index); + t2._contents = t3 + A.S(replacement); if (typeof sourceLength !== "number") return A.iae(sourceLength); index += sourceLength; @@ -6650,6 +6621,25 @@ } return state; }, + _caseInsensitiveCompareStart(prefix, string, start) { + var t1, result, i, prefixChar, stringChar, delta, lowerChar; + for (t1 = prefix.length, result = 0, i = 0; i < t1; ++i) { + prefixChar = B.JSString_methods._codeUnitAt$1(prefix, i); + stringChar = B.JSString_methods._codeUnitAt$1(string, start + i); + delta = prefixChar ^ stringChar; + if (delta !== 0) { + if (delta === 32) { + lowerChar = stringChar | delta; + if (97 <= lowerChar && lowerChar <= 122) { + result = 32; + continue; + } + } + return -1; + } + } + return result; + }, _symbolMapToStringMap_closure: function _symbolMapToStringMap_closure(t0) { this.result = t0; }, @@ -6742,10 +6732,6 @@ }, IntegerDivisionByZeroException: function IntegerDivisionByZeroException() { }, - Expando: function Expando(t0, t1) { - this._jsWeakMap = t0; - this.$ti = t1; - }, Iterable: function Iterable() { }, Iterator: function Iterator() { @@ -6818,6 +6804,10 @@ _._fragment = t6; _.___Uri_hashCode = _.___Uri_pathSegments = _.___Uri__text = $; }, + Expando: function Expando(t0, t1) { + this._jsWeakMap = t0; + this.$ti = t1; + }, CustomEvent_CustomEvent(type) { var exception, canBubble = true, @@ -7228,7 +7218,7 @@ FixedSizeListIterator: function FixedSizeListIterator(t0, t1, t2) { var _ = this; _._array = t0; - _._length = t1; + _._html$_length = t1; _._position = -1; _._current = null; _.$ti = t2; @@ -8646,7 +8636,7 @@ var _ = this; _._webSocket = t0; _._localCloseReason = _._localCloseCode = null; - _._html$_controller = t1; + _._html0$_controller = t1; _.__HtmlWebSocketChannel_sink = $; }, HtmlWebSocketChannel_closure: function HtmlWebSocketChannel_closure(t0) { @@ -8665,7 +8655,7 @@ this.$this = t0; }, _HtmlWebSocketSink: function _HtmlWebSocketSink(t0, t1) { - this._html$_channel = t0; + this._html0$_channel = t0; this._sink = t1; }, WebSocketChannel: function WebSocketChannel(t0) { @@ -9122,6 +9112,9 @@ get$runtimeType$(receiver) { return J.getInterceptor$(receiver).get$runtimeType(receiver); }, + get$stream$z(receiver) { + return J.getInterceptor$z(receiver).get$stream(receiver); + }, $add$ansx(receiver, a0) { if (typeof receiver == "number" && typeof a0 == "number") return receiver + a0; @@ -10185,14 +10178,12 @@ }; A.LateError.prototype = { toString$0(_) { - var t1 = "LateInitializationError: " + this._message; - return t1; + return "LateInitializationError: " + this._message; } }; A.ReachabilityError.prototype = { toString$0(_) { - var t1 = "ReachabilityError: " + this._message; - return t1; + return "ReachabilityError: " + this._message; } }; A.nullFuture_closure.prototype = { @@ -10615,7 +10606,7 @@ }; A.ConstantStringMap.prototype = { get$length(_) { - return this.__js_helper$_length; + return this._length; }, containsKey$1(_, key) { if (typeof key != "string") @@ -10838,13 +10829,10 @@ A._Required.prototype = {}; A.JsLinkedHashMap.prototype = { get$length(_) { - return this.__js_helper$_length; + return this._length; }, get$isEmpty(_) { - return this.__js_helper$_length === 0; - }, - get$isNotEmpty(_) { - return !this.get$isEmpty(this); + return this._length === 0; }, get$keys(_) { return new A.LinkedHashMapKeyIterable(this, A._instanceType(this)._eval$1("LinkedHashMapKeyIterable<1>")); @@ -10855,48 +10843,47 @@ strings = this._strings; if (strings == null) return false; - return this._containsTableEntry$2(strings, key); + return strings[key] != null; } else { t1 = this.internalContainsKey$1(key); return t1; } }, internalContainsKey$1(key) { - var _this = this, - rest = _this.__js_helper$_rest; + var rest = this.__js_helper$_rest; if (rest == null) return false; - return _this.internalFindBucketIndex$2(_this._getTableBucket$2(rest, _this.internalComputeHashCode$1(key)), key) >= 0; + return this.internalFindBucketIndex$2(rest[this.internalComputeHashCode$1(key)], key) >= 0; }, addAll$1(_, other) { A._instanceType(this)._eval$1("Map<1,2>")._as(other).forEach$1(0, new A.JsLinkedHashMap_addAll_closure(this)); }, $index(_, key) { - var strings, cell, t1, nums, _this = this, _null = null; + var strings, cell, t1, nums, _null = null; if (typeof key == "string") { - strings = _this._strings; + strings = this._strings; if (strings == null) return _null; - cell = _this._getTableCell$2(strings, key); + cell = strings[key]; t1 = cell == null ? _null : cell.hashMapCellValue; return t1; - } else if (typeof key == "number" && (key & 0x3ffffff) === key) { - nums = _this._nums; + } else if (typeof key == "number" && (key & 0x3fffffff) === key) { + nums = this._nums; if (nums == null) return _null; - cell = _this._getTableCell$2(nums, key); + cell = nums[key]; t1 = cell == null ? _null : cell.hashMapCellValue; return t1; } else - return _this.internalGet$1(key); + return this.internalGet$1(key); }, internalGet$1(key) { - var bucket, index, _this = this, - rest = _this.__js_helper$_rest; + var bucket, index, + rest = this.__js_helper$_rest; if (rest == null) return null; - bucket = _this._getTableBucket$2(rest, _this.internalComputeHashCode$1(key)); - index = _this.internalFindBucketIndex$2(bucket, key); + bucket = rest[this.internalComputeHashCode$1(key)]; + index = this.internalFindBucketIndex$2(bucket, key); if (index < 0) return null; return bucket[index].hashMapCellValue; @@ -10909,7 +10896,7 @@ if (typeof key == "string") { strings = _this._strings; _this._addHashTableEntry$3(strings == null ? _this._strings = _this._newHashTable$0() : strings, key, value); - } else if (typeof key == "number" && (key & 0x3ffffff) === key) { + } else if (typeof key == "number" && (key & 0x3fffffff) === key) { nums = _this._nums; _this._addHashTableEntry$3(nums == null ? _this._nums = _this._newHashTable$0() : nums, key, value); } else @@ -10924,9 +10911,9 @@ if (rest == null) rest = _this.__js_helper$_rest = _this._newHashTable$0(); hash = _this.internalComputeHashCode$1(key); - bucket = _this._getTableBucket$2(rest, hash); + bucket = rest[hash]; if (bucket == null) - _this._setTableEntry$3(rest, hash, [_this._newLinkedCell$2(key, value)]); + rest[hash] = [_this._newLinkedCell$2(key, value)]; else { index = _this.internalFindBucketIndex$2(bucket, key); if (index >= 0) @@ -10950,7 +10937,7 @@ var _this = this; if (typeof key == "string") return _this._removeHashTableEntry$2(_this._strings, key); - else if (typeof key == "number" && (key & 0x3ffffff) === key) + else if (typeof key == "number" && (key & 0x3fffffff) === key) return _this._removeHashTableEntry$2(_this._nums, key); else return _this.internalRemove$1(key); @@ -10961,14 +10948,14 @@ if (rest == null) return null; hash = _this.internalComputeHashCode$1(key); - bucket = _this._getTableBucket$2(rest, hash); + bucket = rest[hash]; index = _this.internalFindBucketIndex$2(bucket, key); if (index < 0) return null; cell = bucket.splice(index, 1)[0]; _this._unlinkCell$1(cell); if (bucket.length === 0) - _this._deleteTableEntry$2(rest, hash); + delete rest[hash]; return cell.hashMapCellValue; }, forEach$1(_, action) { @@ -10984,13 +10971,13 @@ } }, _addHashTableEntry$3(table, key, value) { - var cell, _this = this, - t1 = A._instanceType(_this); + var cell, + t1 = A._instanceType(this); t1._precomputed1._as(key); t1._rest[1]._as(value); - cell = _this._getTableCell$2(table, key); + cell = table[key]; if (cell == null) - _this._setTableEntry$3(table, key, _this._newLinkedCell$2(key, value)); + table[key] = this._newLinkedCell$2(key, value); else cell.hashMapCellValue = value; }, @@ -10998,15 +10985,15 @@ var cell; if (table == null) return null; - cell = this._getTableCell$2(table, key); + cell = table[key]; if (cell == null) return null; this._unlinkCell$1(cell); - this._deleteTableEntry$2(table, key); + delete table[key]; return cell.hashMapCellValue; }, _modified$0() { - this._modifications = this._modifications + 1 & 67108863; + this._modifications = this._modifications + 1 & 1073741823; }, _newLinkedCell$2(key, value) { var _this = this, @@ -11020,7 +11007,7 @@ cell._previous = t1; _this._last = t1._next = cell; } - ++_this.__js_helper$_length; + ++_this._length; _this._modified$0(); return cell; }, @@ -11036,11 +11023,11 @@ _this._last = previous; else next._previous = previous; - --_this.__js_helper$_length; + --_this._length; _this._modified$0(); }, internalComputeHashCode$1(key) { - return J.get$hashCode$(key) & 0x3ffffff; + return J.get$hashCode$(key) & 0x3fffffff; }, internalFindBucketIndex$2(bucket, key) { var $length, i; @@ -11055,26 +11042,10 @@ toString$0(_) { return A.MapBase_mapToString(this); }, - _getTableCell$2(table, key) { - return table[key]; - }, - _getTableBucket$2(table, key) { - return table[key]; - }, - _setTableEntry$3(table, key, value) { - table[key] = value; - }, - _deleteTableEntry$2(table, key) { - delete table[key]; - }, - _containsTableEntry$2(table, key) { - return this._getTableCell$2(table, key) != null; - }, _newHashTable$0() { - var _s20_ = "", - table = Object.create(null); - this._setTableEntry$3(table, _s20_, table); - this._deleteTableEntry$2(table, _s20_); + var table = Object.create(null); + table[""] = table; + delete table[""]; return table; }, $isLinkedHashMap: 1 @@ -11092,10 +11063,10 @@ A.LinkedHashMapCell.prototype = {}; A.LinkedHashMapKeyIterable.prototype = { get$length(_) { - return this._map.__js_helper$_length; + return this._map._length; }, get$isEmpty(_) { - return this._map.__js_helper$_length === 0; + return this._map._length === 0; }, get$iterator(_) { var t1 = this._map, @@ -11806,7 +11777,7 @@ t1 = this.$ti; t1._bind$1($E)._eval$1("1/(2)")._as(f); result = new A._Future($.Zone__current, $E._eval$1("_Future<0>")); - this._addListener$1(new A._FutureListener(result, 19, f, onError, t1._eval$1("@<1>")._bind$1($E)._eval$1("_FutureListener<1,2>"))); + this._addListener$1(new A._FutureListener(result, 3, f, onError, t1._eval$1("@<1>")._bind$1($E)._eval$1("_FutureListener<1,2>"))); return result; }, catchError$1(onError) { @@ -12532,7 +12503,7 @@ var result, t1 = {}; $E._eval$1("0?")._as(futureValue); t1.resultValue = null; - t1.resultValue = $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); @@ -13722,23 +13693,6 @@ }, $isIterator: 1 }; - A._LinkedIdentityHashMap.prototype = { - internalComputeHashCode$1(key) { - return A.objectHashCode(key) & 1073741823; - }, - internalFindBucketIndex$2(bucket, key) { - var $length, i, t1; - if (bucket == null) - return -1; - $length = bucket.length; - for (i = 0; i < $length; ++i) { - t1 = bucket[i].hashMapCellKey; - if (t1 == null ? key == null : t1 === key) - return i; - } - return -1; - } - }; A._LinkedCustomHashMap.prototype = { $index(_, key) { if (!A.boolConversionCheck(this._validKey.call$1(key))) @@ -14925,13 +14879,7 @@ } }, get$length(_) { - var t1; - if (this._processed == null) { - t1 = this._data; - t1 = t1.get$length(t1); - } else - t1 = this._convert$_computeKeys$0().length; - return t1; + return this._processed == null ? this._data._length : this._convert$_computeKeys$0().length; }, get$isEmpty(_) { return this.get$length(this) === 0; @@ -14940,7 +14888,7 @@ var t1; if (this._processed == null) { t1 = this._data; - return t1.get$keys(t1); + return new A.LinkedHashMapKeyIterable(t1, A._instanceType(t1)._eval$1("LinkedHashMapKeyIterable<1>")); } return new A._JsonMapKeyIterable(this); }, @@ -15540,8 +15488,9 @@ type$.Symbol._as(key); t1 = this.sb; t2 = this._box_0; - t1._contents += t2.comma; - t3 = t1._contents += A.S(key._name); + t3 = t1._contents += t2.comma; + t3 += A.S(key._name); + t1._contents = t3; t1._contents = t3 + ": "; t1._contents += A.Error_safeToString(value); t2.comma = ", "; @@ -15923,11 +15872,12 @@ h = A.DateTime__twoDigits(A.Primitives_getHours(_this)), min = A.DateTime__twoDigits(A.Primitives_getMinutes(_this)), sec = A.DateTime__twoDigits(A.Primitives_getSeconds(_this)), - ms = A.DateTime__threeDigits(A.Primitives_getMilliseconds(_this)); + ms = A.DateTime__threeDigits(A.Primitives_getMilliseconds(_this)), + t1 = y + "-" + m; if (_this.isUtc) - return y + "-" + m + "-" + d + " " + h + ":" + min + ":" + sec + "." + ms + "Z"; + return t1 + "-" + d + " " + h + ":" + min + ":" + sec + "." + ms + "Z"; else - return y + "-" + m + "-" + d + " " + h + ":" + min + ":" + sec + "." + ms; + return t1 + "-" + d + " " + h + ":" + min + ":" + sec + "." + ms; }, $isComparable: 1 }; @@ -15950,7 +15900,7 @@ return B.JSInt_methods.compareTo$1(this._duration, type$.Duration._as(other)._duration); }, toString$0(_) { - var minutes, minutesPadding, seconds, secondsPadding, paddedMicroseconds, + var minutes, minutesPadding, seconds, secondsPadding, microseconds = this._duration, hours = B.JSInt_methods._tdivFast$1(microseconds, 3600000000); microseconds %= 3600000000; @@ -15961,8 +15911,7 @@ minutesPadding = minutes < 10 ? "0" : ""; seconds = B.JSInt_methods._tdivFast$1(microseconds, 1000000); secondsPadding = seconds < 10 ? "0" : ""; - paddedMicroseconds = B.JSString_methods.padLeft$2(B.JSInt_methods.toString$0(microseconds % 1000000), 6, "0"); - return "" + hours + ":" + minutesPadding + minutes + ":" + secondsPadding + seconds + "." + paddedMicroseconds; + return "" + hours + ":" + minutesPadding + minutes + ":" + secondsPadding + seconds + "." + B.JSString_methods.padLeft$2(B.JSInt_methods.toString$0(microseconds % 1000000), 6, "0"); }, $isComparable: 1 }; @@ -15993,7 +15942,7 @@ return ""; }, toString$0(_) { - var explanation, errorValue, _this = this, + var _this = this, $name = _this.name, nameString = $name == null ? "" : " (" + $name + ")", message = _this.message, @@ -16001,9 +15950,7 @@ prefix = _this.get$_errorName() + nameString + messageString; if (!_this._hasValue) return prefix; - explanation = _this.get$_errorExplanation(); - errorValue = A.Error_safeToString(_this.invalidValue); - return prefix + explanation + ": " + errorValue; + return prefix + _this.get$_errorExplanation() + ": " + A.Error_safeToString(_this.invalidValue); } }; A.RangeError.prototype = { @@ -16060,8 +16007,7 @@ _this._namedArguments.forEach$1(0, new A.NoSuchMethodError_toString_closure(_box_0, sb)); receiverText = A.Error_safeToString(_this._core$_receiver); actualParameters = sb.toString$0(0); - t1 = "NoSuchMethodError: method not found: '" + A.S(_this._core$_memberName._name) + "'\nReceiver: " + receiverText + "\nArguments: [" + actualParameters + "]"; - return t1; + return "NoSuchMethodError: method not found: '" + A.S(_this._core$_memberName._name) + "'\nReceiver: " + receiverText + "\nArguments: [" + actualParameters + "]"; } }; A.UnsupportedError.prototype = { @@ -16119,7 +16065,7 @@ }; A.FormatException.prototype = { toString$0(_) { - var t1, lineNum, lineStart, previousCharWasCR, i, char, lineEnd, end, start, prefix, postfix, slice, + var t1, lineNum, lineStart, previousCharWasCR, i, char, lineEnd, end, start, prefix, postfix, message = this.message, report = message != null && "" !== message ? "FormatException: " + A.S(message) : "FormatException", offset = this.offset, @@ -16182,8 +16128,7 @@ prefix = ""; postfix = ""; } - slice = B.JSString_methods.substring$2(source, start, end); - return report + prefix + slice + postfix + "\n" + B.JSString_methods.$mul(" ", offset - start + prefix.length) + "^\n"; + return report + prefix + B.JSString_methods.substring$2(source, start, end) + postfix + "\n" + B.JSString_methods.$mul(" ", offset - start + prefix.length) + "^\n"; } else return offset != null ? report + (" (at offset " + A.S(offset) + ")") : report; } @@ -16197,17 +16142,6 @@ }, $isError: 1 }; - A.Expando.prototype = { - $index(_, object) { - var t1 = typeof object == "number" || false; - if (t1) - A.throwExpression(A.ArgumentError$value(object, string$.Expand, null)); - return this._jsWeakMap.get(object); - }, - toString$0(_) { - return "Expando:null"; - } - }; A.Iterable.prototype = { cast$1$0(_, $R) { return A.CastIterable_CastIterable(this, A._instanceType(this)._eval$1("Iterable.E"), $R); @@ -16393,7 +16327,7 @@ t2 = _this._fragment; if (t2 != null) t1 = t1 + "#" + t2; - A._lateInitializeOnceCheck(_this.___Uri__text, "_text"); + A._lateInitializeOnceCheck(value, "_text"); value = _this.___Uri__text = t1.charCodeAt(0) == 0 ? t1 : t1; } return value; @@ -16436,7 +16370,7 @@ var thisScheme = this.scheme; if (scheme.length !== thisScheme.length) return false; - return A._Uri__compareScheme(scheme, thisScheme); + return A._caseInsensitiveCompareStart(scheme, thisScheme, 0) >= 0; }, replace$1$scheme(_, scheme) { var isFile, userInfo, port, host, currentPath, t1, path, _this = this; @@ -16616,7 +16550,7 @@ return this._schemeEnd < 0; if (t1 !== this._schemeEnd) return false; - return A._Uri__compareScheme(scheme, this._uri); + return A._caseInsensitiveCompareStart(scheme, this._uri, 0) >= 0; }, get$scheme() { var t1 = this._schemeCache; @@ -16718,6 +16652,17 @@ $isUri: 1 }; A._DataUri.prototype = {}; + A.Expando.prototype = { + $index(_, object) { + var t1 = typeof object == "number" || false; + if (t1) + A.throwExpression(A.ArgumentError$value(object, string$.Expand, null)); + return this._jsWeakMap.get(object); + }, + toString$0(_) { + return "Expando:null"; + } + }; A.HtmlElement.prototype = {$isHtmlElement: 1}; A.AccessibleNodeList.prototype = { get$length(receiver) { @@ -16830,10 +16775,9 @@ var t2, t1 = receiver.left; t1.toString; - t1 = "Rectangle (" + A.S(t1) + ", "; t2 = receiver.top; t2.toString; - return t1 + A.S(t2) + ") " + A.S(this.get$width(receiver)) + " x " + A.S(this.get$height(receiver)); + 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; @@ -17818,19 +17762,16 @@ }; A._DomRect.prototype = { toString$0(receiver) { - var t2, + var t2, t3, t4, t1 = receiver.left; t1.toString; - t1 = "Rectangle (" + A.S(t1) + ", "; t2 = receiver.top; t2.toString; - t2 = t1 + A.S(t2) + ") "; - t1 = receiver.width; - t1.toString; - t1 = t2 + A.S(t1) + " x "; - t2 = receiver.height; - t2.toString; - return t1 + A.S(t2); + t3 = receiver.width; + t3.toString; + t4 = receiver.height; + t4.toString; + return "Rectangle (" + A.S(t1) + ", " + A.S(t2) + ") " + A.S(t3) + " x " + A.S(t4); }, $eq(receiver, other) { var t1, t2; @@ -18140,11 +18081,11 @@ A._Html5NodeValidator.prototype = { _Html5NodeValidator$1$uriPolicy(uriPolicy) { var _i; - if ($._Html5NodeValidator__attributeValidators.get$isEmpty($._Html5NodeValidator__attributeValidators)) { + if ($._Html5NodeValidator__attributeValidators._length === 0) { for (_i = 0; _i < 262; ++_i) - $._Html5NodeValidator__attributeValidators.$indexSet(0, B.List_2Zi[_i], A.html0__Html5NodeValidator__standardAttributeValidator$closure()); + $._Html5NodeValidator__attributeValidators.$indexSet(0, B.List_2Zi[_i], A.html__Html5NodeValidator__standardAttributeValidator$closure()); for (_i = 0; _i < 12; ++_i) - $._Html5NodeValidator__attributeValidators.$indexSet(0, B.List_yrN[_i], A.html0__Html5NodeValidator__uriAttributeValidator$closure()); + $._Html5NodeValidator__attributeValidators.$indexSet(0, B.List_yrN[_i], A.html__Html5NodeValidator__uriAttributeValidator$closure()); } }, allowsElement$1(element) { @@ -18205,23 +18146,27 @@ return this.allowedElements.contains$1(0, A.Element__safeTagName(element)); }, allowsAttribute$3(element, attributeName, value) { - var _this = this, - tagName = A.Element__safeTagName(element), - t1 = _this.allowedUriAttributes; - if (t1.contains$1(0, A.S(tagName) + "::" + attributeName)) - return _this.uriPolicy.allowsUri$1(value); - else if (t1.contains$1(0, "*::" + attributeName)) + var t4, _this = this, + t1 = _this.allowedUriAttributes, + t2 = A.S(A.Element__safeTagName(element)), + t3 = t2 + "::" + attributeName; + if (t1.contains$1(0, t3)) return _this.uriPolicy.allowsUri$1(value); else { - t1 = _this.allowedAttributes; - if (t1.contains$1(0, A.S(tagName) + "::" + attributeName)) - return true; - else if (t1.contains$1(0, "*::" + attributeName)) - return true; - else if (t1.contains$1(0, A.S(tagName) + "::*")) - return true; - else if (t1.contains$1(0, "*::*")) - return true; + t4 = "*::" + attributeName; + if (t1.contains$1(0, t4)) + return _this.uriPolicy.allowsUri$1(value); + else { + t1 = _this.allowedAttributes; + if (t1.contains$1(0, t3)) + return true; + else if (t1.contains$1(0, t4)) + return true; + else if (t1.contains$1(0, t2 + "::*")) + return true; + else if (t1.contains$1(0, "*::*")) + return true; + } } return false; }, @@ -18279,7 +18224,7 @@ moveNext$0() { var _this = this, nextPosition = _this._position + 1, - t1 = _this._length; + t1 = _this._html$_length; if (nextPosition < t1) { _this.set$_current(J.$index$asx(_this._array, nextPosition)); _this._position = nextPosition; @@ -18361,53 +18306,51 @@ else { this._removeNode$2(element, $parent); window; - t1 = "Removing corrupted element " + A.S(elementText); + t1 = A.S(elementText); if (typeof console != "undefined") - window.console.warn(t1); + window.console.warn("Removing corrupted element " + t1); } } }, _sanitizeElement$7(element, $parent, corrupted, text, tag, attrs, isAttr) { - var t1, keys, i, $name, t2, t3, _this = this; + var t1, keys, i, t2, $name, t3, t4, _this = this; if (corrupted) { _this._removeNode$2(element, $parent); window; - t1 = "Removing element due to corrupted attributes on <" + text + ">"; if (typeof console != "undefined") - window.console.warn(t1); + window.console.warn("Removing element due to corrupted attributes on <" + text + ">"); return; } if (!_this.validator.allowsElement$1(element)) { _this._removeNode$2(element, $parent); window; - t1 = "Removing disallowed element <" + A.S(tag) + "> from " + A.S($parent); + t1 = A.S($parent); if (typeof console != "undefined") - window.console.warn(t1); + window.console.warn("Removing disallowed element <" + A.S(tag) + "> from " + t1); return; } if (isAttr != null) if (!_this.validator.allowsAttribute$3(element, "is", isAttr)) { _this._removeNode$2(element, $parent); window; - t1 = "Removing disallowed type extension <" + A.S(tag) + ' is="' + isAttr + '">'; if (typeof console != "undefined") - window.console.warn(t1); + window.console.warn("Removing disallowed type extension <" + A.S(tag) + ' is="' + isAttr + '">'); return; } t1 = attrs.get$keys(attrs); keys = A._setArrayType(t1.slice(0), A._arrayInstanceType(t1)); - for (i = attrs.get$keys(attrs).length - 1, t1 = attrs._element; i >= 0; --i) { + for (i = attrs.get$keys(attrs).length - 1, t1 = attrs._element, t2 = "Removing disallowed attribute <" + A.S(tag) + " "; i >= 0; --i) { if (!(i < keys.length)) return A.ioore(keys, i); $name = keys[i]; - t2 = _this.validator; - t3 = J.toLowerCase$0$s($name); + t3 = _this.validator; + t4 = J.toLowerCase$0$s($name); A._asStringS($name); - if (!t2.allowsAttribute$3(element, t3, t1.getAttribute($name))) { + if (!t3.allowsAttribute$3(element, t4, t1.getAttribute($name))) { window; - t2 = "Removing disallowed attribute <" + A.S(tag) + " " + $name + '="' + A.S(t1.getAttribute($name)) + '">'; + t3 = t1.getAttribute($name); if (typeof console != "undefined") - window.console.warn(t2); + window.console.warn(t2 + $name + '="' + A.S(t3) + '">'); t1.removeAttribute($name); } } @@ -19042,17 +18985,16 @@ }; A.SvgElement.prototype = { createFragment$3$treeSanitizer$validator(receiver, svg, treeSanitizer, validator) { - var html, t2, fragment, svgFragment, root, + var t2, fragment, svgFragment, root, t1 = A._setArrayType([], type$.JSArray_NodeValidator); B.JSArray_methods.add$1(t1, A._Html5NodeValidator$(null)); B.JSArray_methods.add$1(t1, A._TemplatingNodeValidator$()); B.JSArray_methods.add$1(t1, new A._SvgNodeValidator()); treeSanitizer = new A._ValidatingTreeSanitizer(new A.NodeValidatorBuilder(t1)); - html = '' + svg + ""; t1 = document; t2 = t1.body; t2.toString; - fragment = B.BodyElement_methods.createFragment$2$treeSanitizer(t2, html, treeSanitizer); + fragment = B.BodyElement_methods.createFragment$2$treeSanitizer(t2, '' + svg + "", treeSanitizer); svgFragment = t1.createDocumentFragment(); fragment.toString; t1 = new A._ChildNodeListLazy(fragment); @@ -19586,9 +19528,8 @@ t1 = _this._list_multimap$_hashCode; if (t1 == null) { t1 = _this._list_multimap$_map; - t1 = t1.get$keys(t1); - t2 = A._instanceType(t1); - t2 = A.MappedIterable_MappedIterable(t1, t2._eval$1("int(Iterable.E)")._as(new A.BuiltListMultimap_hashCode_closure(_this)), t2._eval$1("Iterable.E"), type$.int); + t2 = A._instanceType(t1)._eval$1("LinkedHashMapKeyIterable<1>"); + t2 = A.MappedIterable_MappedIterable(new A.LinkedHashMapKeyIterable(t1, t2), t2._eval$1("int(Iterable.E)")._as(new A.BuiltListMultimap_hashCode_closure(_this)), t2._eval$1("Iterable.E"), type$.int); t2 = A.List_List$of(t2, false, A._instanceType(t2)._eval$1("Iterable.E")); B.JSArray_methods.sort$0(t2); t2 = _this._list_multimap$_hashCode = A.hashObjects(t2); @@ -19606,12 +19547,12 @@ return false; t1 = other._list_multimap$_map; t2 = _this._list_multimap$_map; - if (t1.get$length(t1) !== t2.get$length(t2)) + if (t1._length !== t2._length) return false; if (other.get$hashCode(other) != _this.get$hashCode(_this)) return false; - for (t3 = _this.get$keys(_this), t3 = t3.get$iterator(t3), t4 = other._emptyList, t5 = _this._emptyList; t3.moveNext$0();) { - key = t3.get$current(t3); + for (t3 = _this.get$keys(_this), t4 = t3._map, t3 = A.LinkedHashMapKeyIterator$(t4, t4._modifications, A._instanceType(t3)._precomputed1), t4 = other._emptyList, t5 = _this._emptyList; t3.moveNext$0();) { + key = t3.__js_helper$_current; result = t1.$index(0, key); t6 = result == null ? t4 : result; result = t2.$index(0, key); @@ -19631,15 +19572,14 @@ var t1, _this = this; if (_this._list_multimap$_keys == null) { t1 = _this._list_multimap$_map; - _this.set$_list_multimap$_keys(t1.get$keys(t1)); + _this.set$_list_multimap$_keys(new A.LinkedHashMapKeyIterable(t1, A._instanceType(t1)._eval$1("LinkedHashMapKeyIterable<1>"))); } t1 = _this._list_multimap$_keys; t1.toString; return t1; }, get$length(_) { - var t1 = this._list_multimap$_map; - return t1.get$length(t1); + return this._list_multimap$_map._length; }, set$_list_multimap$_keys(_keys) { this._list_multimap$_keys = this.$ti._eval$1("Iterable<1>?")._as(_keys); @@ -19682,8 +19622,8 @@ _s11_ = "_builderMap", _s9_ = "_builtMap"; if (_this._list_multimap$_builtMapOwner == null) { - for (t1 = J.get$keys$x(A._lateReadCheck(_this.__ListMultimapBuilder__builderMap, _s11_)), t1 = t1.get$iterator(t1); t1.moveNext$0();) { - key = t1.get$current(t1); + for (t1 = A._lateReadCheck(_this.__ListMultimapBuilder__builderMap, _s11_), t1 = A.LinkedHashMapKeyIterator$(t1, t1._modifications, A.instanceType(t1)._precomputed1); t1.moveNext$0();) { + key = t1.__js_helper$_current; t2 = J.$index$asx(A._lateReadCheck(_this.__ListMultimapBuilder__builderMap, _s11_), key); if (t2._listOwner == null) { t3 = A._lateReadCheck(t2.__ListBuilder__list, "_list"); @@ -19828,9 +19768,8 @@ t1 = _this._map$_hashCode; if (t1 == null) { t1 = _this._map$_map; - t1 = t1.get$keys(t1); - t2 = A._instanceType(t1); - t2 = A.MappedIterable_MappedIterable(t1, t2._eval$1("int(Iterable.E)")._as(new A.BuiltMap_hashCode_closure(_this)), t2._eval$1("Iterable.E"), type$.int); + t2 = A._instanceType(t1)._eval$1("LinkedHashMapKeyIterable<1>"); + t2 = A.MappedIterable_MappedIterable(new A.LinkedHashMapKeyIterable(t1, t2), t2._eval$1("int(Iterable.E)")._as(new A.BuiltMap_hashCode_closure(_this)), t2._eval$1("Iterable.E"), type$.int); t2 = A.List_List$of(t2, false, A._instanceType(t2)._eval$1("Iterable.E")); B.JSArray_methods.sort$0(t2); t2 = _this._map$_hashCode = A.hashObjects(t2); @@ -19839,7 +19778,7 @@ return t1; }, $eq(_, other) { - var t1, t2, t3, key, _this = this; + var t1, t2, t3, t4, key, _this = this; if (other == null) return false; if (other === _this) @@ -19848,12 +19787,12 @@ return false; t1 = other._map$_map; t2 = _this._map$_map; - if (t1.get$length(t1) !== t2.get$length(t2)) + if (t1._length !== t2._length) return false; if (other.get$hashCode(other) != _this.get$hashCode(_this)) return false; - for (t3 = _this.get$keys(_this), t3 = t3.get$iterator(t3); t3.moveNext$0();) { - key = t3.get$current(t3); + for (t3 = _this.get$keys(_this), t4 = t3._map, t3 = A.LinkedHashMapKeyIterator$(t4, t4._modifications, A._instanceType(t3)._precomputed1); t3.moveNext$0();) { + key = t3.__js_helper$_current; if (!J.$eq$(t1.$index(0, key), t2.$index(0, key))) return false; } @@ -19869,15 +19808,14 @@ var t1, _this = this; if (_this._map$_keys == null) { t1 = _this._map$_map; - _this.set$_map$_keys(t1.get$keys(t1)); + _this.set$_map$_keys(new A.LinkedHashMapKeyIterable(t1, A._instanceType(t1)._eval$1("LinkedHashMapKeyIterable<1>"))); } t1 = _this._map$_keys; t1.toString; return t1; }, get$length(_) { - var t1 = this._map$_map; - return t1.get$length(t1); + return this._map$_map._length; }, map$1(_, f) { var t1 = type$.dynamic, @@ -19961,7 +19899,7 @@ J.$indexSet$ax(A._lateReadCheck(_this.__MapBuilder__map, "_map"), key, value); }, get$length(_) { - return J.get$length$asx(A._lateReadCheck(this.__MapBuilder__map, "_map")); + return A._lateReadCheck(this.__MapBuilder__map, "_map")._length; }, get$_safeMap() { var t1, _this = this; @@ -20184,9 +20122,8 @@ t1 = _this._set_multimap$_hashCode; if (t1 == null) { t1 = _this._set_multimap$_map; - t1 = t1.get$keys(t1); - t2 = A._instanceType(t1); - t2 = A.MappedIterable_MappedIterable(t1, t2._eval$1("int(Iterable.E)")._as(new A.BuiltSetMultimap_hashCode_closure(_this)), t2._eval$1("Iterable.E"), type$.int); + t2 = A._instanceType(t1)._eval$1("LinkedHashMapKeyIterable<1>"); + t2 = A.MappedIterable_MappedIterable(new A.LinkedHashMapKeyIterable(t1, t2), t2._eval$1("int(Iterable.E)")._as(new A.BuiltSetMultimap_hashCode_closure(_this)), t2._eval$1("Iterable.E"), type$.int); t2 = A.List_List$of(t2, false, A._instanceType(t2)._eval$1("Iterable.E")); B.JSArray_methods.sort$0(t2); t2 = _this._set_multimap$_hashCode = A.hashObjects(t2); @@ -20204,12 +20141,12 @@ return false; t1 = other._set_multimap$_map; t2 = _this._set_multimap$_map; - if (t1.get$length(t1) !== t2.get$length(t2)) + if (t1._length !== t2._length) return false; if (other.get$hashCode(other) != _this.get$hashCode(_this)) return false; - for (t3 = _this.get$keys(_this), t3 = t3.get$iterator(t3), t4 = other._emptySet, t5 = _this._emptySet; t3.moveNext$0();) { - key = t3.get$current(t3); + for (t3 = _this.get$keys(_this), t4 = t3._map, t3 = A.LinkedHashMapKeyIterator$(t4, t4._modifications, A._instanceType(t3)._precomputed1), t4 = other._emptySet, t5 = _this._emptySet; t3.moveNext$0();) { + key = t3.__js_helper$_current; result = t1.$index(0, key); t6 = result == null ? t4 : result; result = t2.$index(0, key); @@ -20229,15 +20166,14 @@ var t1, _this = this; if (_this._set_multimap$_keys == null) { t1 = _this._set_multimap$_map; - _this.set$_set_multimap$_keys(t1.get$keys(t1)); + _this.set$_set_multimap$_keys(new A.LinkedHashMapKeyIterable(t1, A._instanceType(t1)._eval$1("LinkedHashMapKeyIterable<1>"))); } t1 = _this._set_multimap$_keys; t1.toString; return t1; }, get$length(_) { - var t1 = this._set_multimap$_map; - return t1.get$length(t1); + return this._set_multimap$_map._length; }, set$_set_multimap$_keys(_keys) { this._set_multimap$_keys = this.$ti._eval$1("Iterable<1>?")._as(_keys); @@ -20263,8 +20199,8 @@ _s11_ = "_builderMap", _s9_ = "_builtMap"; if (_this._builtMapOwner == null) { - for (t1 = J.get$keys$x(A._lateReadCheck(_this.__SetMultimapBuilder__builderMap, _s11_)), t1 = t1.get$iterator(t1); t1.moveNext$0();) { - key = t1.get$current(t1); + for (t1 = A._lateReadCheck(_this.__SetMultimapBuilder__builderMap, _s11_), t1 = A.LinkedHashMapKeyIterator$(t1, t1._modifications, A.instanceType(t1)._precomputed1); t1.moveNext$0();) { + key = t1.__js_helper$_current; t2 = J.$index$asx(A._lateReadCheck(_this.__SetMultimapBuilder__builderMap, _s11_), key); if (t2._setOwner == null) t2.set$_setOwner(new A._BuiltSet(t2._setFactory, A._lateReadCheck(t2.__SetBuilder__set, "_set"), A._instanceType(t2)._eval$1("_BuiltSet<1>"))); @@ -20873,8 +20809,8 @@ valueType = t1[1]; } result = []; - for (t1 = builtListMultimap.get$keys(builtListMultimap), t1 = t1.get$iterator(t1), t2 = builtListMultimap._list_multimap$_map, t3 = builtListMultimap._emptyList; t1.moveNext$0();) { - key = t1.get$current(t1); + for (t1 = builtListMultimap.get$keys(builtListMultimap), t2 = t1._map, t1 = A.LinkedHashMapKeyIterator$(t2, t2._modifications, A._instanceType(t1)._precomputed1), t2 = builtListMultimap._list_multimap$_map, t3 = builtListMultimap._emptyList; t1.moveNext$0();) { + key = t1.__js_helper$_current; result.push(serializers.serialize$2$specifiedType(key, keyType)); result0 = t2.$index(0, key); t4 = result0 == null ? t3 : result0; @@ -21062,8 +20998,8 @@ valueType = t1[1]; } result = []; - for (t1 = builtMap.get$keys(builtMap), t1 = t1.get$iterator(t1), t2 = builtMap._map$_map; t1.moveNext$0();) { - key = t1.get$current(t1); + for (t1 = builtMap.get$keys(builtMap), t2 = t1._map, t1 = A.LinkedHashMapKeyIterator$(t2, t2._modifications, A._instanceType(t1)._precomputed1), t2 = builtMap._map$_map; t1.moveNext$0();) { + key = t1.__js_helper$_current; result.push(serializers.serialize$2$specifiedType(key, keyType)); result.push(serializers.serialize$2$specifiedType(t2.$index(0, key), valueType)); } @@ -21150,8 +21086,8 @@ valueType = t1[1]; } result = []; - for (t1 = builtSetMultimap.get$keys(builtSetMultimap), t1 = t1.get$iterator(t1), t2 = builtSetMultimap._set_multimap$_map, t3 = builtSetMultimap._emptySet; t1.moveNext$0();) { - key = t1.get$current(t1); + for (t1 = builtSetMultimap.get$keys(builtSetMultimap), t2 = t1._map, t1 = A.LinkedHashMapKeyIterator$(t2, t2._modifications, A._instanceType(t1)._precomputed1), t2 = builtSetMultimap._set_multimap$_map, t3 = builtSetMultimap._emptySet; t1.moveNext$0();) { + key = t1.__js_helper$_current; result.push(serializers.serialize$2$specifiedType(key, keyType)); result0 = t2.$index(0, key); t4 = result0 == null ? t3 : result0; @@ -23388,14 +23324,14 @@ t1 = this._channel, value = t1.__HtmlWebSocketChannel_sink; if (value === $) { - t2 = A._lateReadCheck(A._lateReadCheck(t1._html$_controller.__StreamChannelController__foreign, "_foreign").__GuaranteeChannel__sink, "_sink"); + t2 = A._lateReadCheck(A._lateReadCheck(t1._html0$_controller.__StreamChannelController__foreign, "_foreign").__GuaranteeChannel__sink, "_sink"); A._lateInitializeOnceCheck(t1.__HtmlWebSocketChannel_sink, "sink"); value = t1.__HtmlWebSocketChannel_sink = new A._HtmlWebSocketSink(t1, t2); } return value; }, get$stream(_) { - var t1 = A._lateReadCheck(A._lateReadCheck(this._channel._html$_controller.__StreamChannelController__foreign, "_foreign").__GuaranteeChannel__streamController, "_streamController"), + var t1 = A._lateReadCheck(A._lateReadCheck(this._channel._html0$_controller.__StreamChannelController__foreign, "_foreign").__GuaranteeChannel__streamController, "_streamController"), t2 = A._instanceType(t1)._eval$1("_ControllerStream<1>"); return new A._MapStream(t2._eval$1("String*(Stream.T)")._as(new A.WebSocketClient_stream_closure()), new A._ControllerStream(t1, t2), t2._eval$1("_MapStream")); } @@ -23783,25 +23719,25 @@ A.PoolResource.prototype = {}; A.SseClient.prototype = { SseClient$1(serverUrl) { - var t2, t3, t4, _this = this, + var t3, t4, _this = this, _s12_ = "_eventSource", - clientId = A.generateUuidV4(), - t1 = A.EventSource__factoryEventSource(serverUrl + "?sseClientId=" + clientId, A.LinkedHashMap_LinkedHashMap$_literal(["withCredentials", true], type$.String, type$.dynamic)); - _this.__SseClient__eventSource = t1; - _this.__SseClient__serverUrl = serverUrl + "?sseClientId=" + clientId; - t1 = new A._EventStream(A._lateReadCheck(t1, _s12_), "open", false, type$._EventStream_legacy_Event); - t1.get$first(t1).whenComplete$1(new A.SseClient_closure(_this)); - t1 = A._lateReadCheck(_this.__SseClient__eventSource, _s12_); - (t1 && B.EventSource_methods).addEventListener$2(t1, "message", _this.get$_onIncomingMessage()); - t1 = A._lateReadCheck(_this.__SseClient__eventSource, _s12_); - (t1 && B.EventSource_methods).addEventListener$2(t1, "control", _this.get$_onIncomingControlMessage()); - t1 = A._lateReadCheck(_this.__SseClient__eventSource, _s12_); - t2 = type$.nullable_void_Function_legacy_Event; - t3 = t2._as(new A.SseClient_closure0(_this)); + t1 = serverUrl + "?sseClientId=" + A.generateUuidV4(), + t2 = A.EventSource__factoryEventSource(t1, A.LinkedHashMap_LinkedHashMap$_literal(["withCredentials", true], type$.String, type$.dynamic)); + _this.__SseClient__eventSource = t2; + _this.__SseClient__serverUrl = t1; + t2 = new A._EventStream(A._lateReadCheck(t2, _s12_), "open", false, type$._EventStream_legacy_Event); + t2.get$first(t2).whenComplete$1(new A.SseClient_closure(_this)); + t2 = A._lateReadCheck(_this.__SseClient__eventSource, _s12_); + (t2 && B.EventSource_methods).addEventListener$2(t2, "message", _this.get$_onIncomingMessage()); + t2 = A._lateReadCheck(_this.__SseClient__eventSource, _s12_); + (t2 && B.EventSource_methods).addEventListener$2(t2, "control", _this.get$_onIncomingControlMessage()); + t2 = A._lateReadCheck(_this.__SseClient__eventSource, _s12_); + t1 = type$.nullable_void_Function_legacy_Event; + t3 = t1._as(new A.SseClient_closure0(_this)); type$.nullable_void_Function._as(null); t4 = type$.legacy_Event; - A._EventStreamSubscription$(t1, "open", t3, false, t4); - A._EventStreamSubscription$(A._lateReadCheck(_this.__SseClient__eventSource, _s12_), "error", t2._as(new A.SseClient_closure1(_this)), false, t4); + A._EventStreamSubscription$(t2, "open", t3, false, t4); + A._EventStreamSubscription$(A._lateReadCheck(_this.__SseClient__eventSource, _s12_), "error", t1._as(new A.SseClient_closure1(_this)), false, t4); }, close$0(_) { var t1, _this = this; @@ -24109,7 +24045,7 @@ return t1; }, v1$0() { - var seedBytes, nodeId, t2, t3, t4, clockSeq, mSecs, nSecs, tl, tmh, node, n, _this = this, + 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", @@ -24214,63 +24150,63 @@ t3 = buf[1]; if (!(t3 < 256)) return A.ioore(t1, t3); - t3 = t2 + t1[t3]; - t2 = buf[2]; - if (!(t2 < 256)) - return A.ioore(t1, t2); - t2 = t3 + t1[t2]; - t3 = buf[3]; - if (!(t3 < 256)) - return A.ioore(t1, t3); - t3 = t2 + t1[t3] + "-"; - t2 = buf[4]; - if (!(t2 < 256)) - return A.ioore(t1, t2); - t2 = t3 + t1[t2]; - t3 = buf[5]; - if (!(t3 < 256)) - return A.ioore(t1, t3); - t3 = t2 + t1[t3] + "-"; - t2 = buf[6]; - if (!(t2 < 256)) - return A.ioore(t1, t2); - t2 = t3 + t1[t2]; - t3 = buf[7]; - if (!(t3 < 256)) - return A.ioore(t1, t3); - t3 = t2 + t1[t3] + "-"; - t2 = buf[8]; - if (!(t2 < 256)) - return A.ioore(t1, t2); - t2 = t3 + t1[t2]; - t3 = buf[9]; - if (!(t3 < 256)) - return A.ioore(t1, t3); - t3 = t2 + t1[t3] + "-"; - t2 = buf[10]; - if (!(t2 < 256)) - return A.ioore(t1, t2); - t2 = t3 + t1[t2]; - t3 = buf[11]; - if (!(t3 < 256)) - return A.ioore(t1, t3); - t3 = t2 + t1[t3]; - t2 = buf[12]; - if (!(t2 < 256)) - return A.ioore(t1, t2); - t2 = t3 + t1[t2]; - t3 = buf[13]; - if (!(t3 < 256)) - return A.ioore(t1, t3); - t3 = t2 + t1[t3]; - t2 = buf[14]; - if (!(t2 < 256)) - return A.ioore(t1, t2); - t2 = t3 + t1[t2]; - t3 = buf[15]; - if (!(t3 < 256)) - return A.ioore(t1, t3); - return t2 + t1[t3]; + t3 = t1[t3]; + t4 = buf[2]; + if (!(t4 < 256)) + return A.ioore(t1, t4); + t4 = t1[t4]; + t5 = buf[3]; + if (!(t5 < 256)) + return A.ioore(t1, t5); + t5 = t1[t5]; + t6 = buf[4]; + if (!(t6 < 256)) + return A.ioore(t1, t6); + t6 = t1[t6]; + t7 = buf[5]; + if (!(t7 < 256)) + return A.ioore(t1, t7); + t7 = t1[t7]; + t8 = buf[6]; + if (!(t8 < 256)) + return A.ioore(t1, t8); + t8 = t1[t8]; + t9 = buf[7]; + if (!(t9 < 256)) + return A.ioore(t1, t9); + t9 = t1[t9]; + t10 = buf[8]; + if (!(t10 < 256)) + return A.ioore(t1, t10); + t10 = t1[t10]; + t11 = buf[9]; + if (!(t11 < 256)) + return A.ioore(t1, t11); + t11 = t1[t11]; + t12 = buf[10]; + if (!(t12 < 256)) + return A.ioore(t1, t12); + t12 = t1[t12]; + t13 = buf[11]; + if (!(t13 < 256)) + return A.ioore(t1, t13); + t13 = t1[t13]; + t14 = buf[12]; + if (!(t14 < 256)) + return A.ioore(t1, t14); + t14 = t1[t14]; + t15 = buf[13]; + if (!(t15 < 256)) + return A.ioore(t1, t15); + t15 = t1[t15]; + t16 = buf[14]; + if (!(t16 < 256)) + return A.ioore(t1, t16); + t16 = t1[t16]; + t17 = buf[15]; + if (!(t17 < 256)) + return A.ioore(t1, t17); + return t2 + t3 + t4 + t5 + "-" + t6 + t7 + "-" + t8 + t9 + "-" + t10 + t11 + "-" + t12 + t13 + t14 + t15 + t16 + t1[t17]; } }; A.HtmlWebSocketChannel.prototype = { @@ -24293,7 +24229,7 @@ t1.get$first(t1).then$1$1(0, new A.HtmlWebSocketChannel_closure2(_this), t3); }, _listen$0() { - var t1 = A._lateReadCheck(A._lateReadCheck(this._html$_controller.__StreamChannelController__local, "_local").__GuaranteeChannel__streamController, "_streamController"); + var t1 = A._lateReadCheck(A._lateReadCheck(this._html0$_controller.__StreamChannelController__local, "_local").__GuaranteeChannel__streamController, "_streamController"); new A._ControllerStream(t1, A._instanceType(t1)._eval$1("_ControllerStream<1>")).listen$2$onDone(B.WebSocket_methods.get$send(this._webSocket), new A.HtmlWebSocketChannel__listen_closure(this)); }, $isWebSocketChannel: 1 @@ -24309,7 +24245,7 @@ call$1(_) { var t1; type$.Event._as(_); - t1 = this.$this._html$_controller; + t1 = this.$this._html0$_controller; A._lateReadCheck(A._lateReadCheck(t1.__StreamChannelController__local, "_local").__GuaranteeChannel__sink, "_sink").addError$1(new A.WebSocketChannelException("WebSocket connection failed.")); A._lateReadCheck(A._lateReadCheck(t1.__StreamChannelController__local, "_local").__GuaranteeChannel__sink, "_sink").close$0(0); }, @@ -24320,7 +24256,7 @@ var data = new A._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(type$.MessageEvent._as($event).data, true); if (type$.ByteBuffer._is(data)) data = A.NativeUint8List_NativeUint8List$view(data, 0, null); - A._lateReadCheck(A._lateReadCheck(this.$this._html$_controller.__StreamChannelController__local, "_local").__GuaranteeChannel__sink, "_sink").add$1(0, data); + A._lateReadCheck(A._lateReadCheck(this.$this._html0$_controller.__StreamChannelController__local, "_local").__GuaranteeChannel__sink, "_sink").add$1(0, data); }, $signature: 64 }; @@ -24329,7 +24265,7 @@ type$.CloseEvent._as($event); $event.code; $event.reason; - A._lateReadCheck(A._lateReadCheck(this.$this._html$_controller.__StreamChannelController__local, "_local").__GuaranteeChannel__sink, "_sink").close$0(0); + A._lateReadCheck(A._lateReadCheck(this.$this._html0$_controller.__StreamChannelController__local, "_local").__GuaranteeChannel__sink, "_sink").close$0(0); }, $signature: 65 }; @@ -24343,8 +24279,7 @@ A.WebSocketChannel.prototype = {}; A.WebSocketChannelException.prototype = { toString$0(_) { - var t1 = "WebSocketChannelException: " + this.message; - return t1; + return "WebSocketChannelException: " + this.message; } }; A.BatchedStreamController.prototype = { @@ -24471,7 +24406,7 @@ call$0() { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.Null), - uri, fixedPath, fixedUri, client, restarter, manager, debugEventController, t1, t2, t3; + $async$next = [], client, uri, fixedPath, fixedUri, restarter, manager, debugEventController, t1, t2, t3, exception; var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -24524,20 +24459,27 @@ self.$emitDebugEvent = A.allowInterop(new A.main__closure1(debugEventController), type$.legacy_void_Function_2_legacy_String_and_legacy_String); self.$emitRegisterEvent = A.allowInterop(new A.main__closure2(client), type$.legacy_void_Function_legacy_String); self.$launchDevTools = A.allowInterop(new A.main__closure3(client), type$.legacy_void_Function); - client.get$stream(client).listen$2$onError(new A.main__closure4(manager), new A.main__closure5()); + J.get$stream$z(client).listen$2$onError(new A.main__closure4(manager), new A.main__closure5()); if (A.boolConversionCheck(self.$dwdsEnableDevtoolsLaunch)) { t1 = window; t2 = type$.nullable_void_Function_legacy_KeyboardEvent._as(new A.main__closure6()); type$.nullable_void_Function._as(null); A._EventStreamSubscription$(t1, "keydown", t2, false, type$.legacy_KeyboardEvent); } - if (J.contains$1$asx(window.navigator.vendor, "Google")) { - t1 = client.get$sink(); - t2 = $.$get$serializers(); - t3 = new A.ConnectRequestBuilder(); - type$.legacy_void_Function_legacy_ConnectRequestBuilder._as(new A.main__closure7()).call$1(t3); - t1.add$1(0, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3.build$0()), null)); - } else + if (J.contains$1$asx(window.navigator.vendor, "Google")) + try { + t1 = client.get$sink(); + t2 = $.$get$serializers(); + t3 = new A.ConnectRequestBuilder(); + type$.legacy_void_Function_legacy_ConnectRequestBuilder._as(new A.main__closure7()).call$1(t3); + t1.add$1(0, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3.build$0()), null)); + } catch (exception) { + if (A.unwrapException(exception) instanceof A.StateError) + A.print("Cannot send ConnectRequest. Injected client connection is closed."); + else + throw exception; + } + else A.runMain(); self.window.top.document.dispatchEvent(A.CustomEvent_CustomEvent("dart-app-ready")); // implicit return @@ -24556,13 +24498,20 @@ }; A.main__closure0.prototype = { call$1(events) { - var t1, t2, t3; + var t1, t2, t3, exception; type$.legacy_List_legacy_DebugEvent._as(events); - t1 = this.client.get$sink(); - t2 = $.$get$serializers(); - t3 = new A.BatchedDebugEventsBuilder(); - type$.legacy_void_Function_legacy_BatchedDebugEventsBuilder._as(new A.main___closure2(events)).call$1(t3); - t1.add$1(0, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3.build$0()), null)); + try { + t1 = this.client.get$sink(); + t2 = $.$get$serializers(); + t3 = new A.BatchedDebugEventsBuilder(); + type$.legacy_void_Function_legacy_BatchedDebugEventsBuilder._as(new A.main___closure2(events)).call$1(t3); + t1.add$1(0, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3.build$0()), null)); + } catch (exception) { + if (A.unwrapException(exception) instanceof A.StateError) + A.print("Cannot send BatchedDEbugEvents(" + A.S(events) + "). Injected client connection is closed."); + else + throw exception; + } }, $signature: 69 }; @@ -24601,13 +24550,20 @@ }; A.main__closure2.prototype = { call$1(eventData) { - var t1, t2, t3; + var t1, t2, t3, exception; A._asStringS(eventData); - t1 = this.client.get$sink(); - t2 = $.$get$serializers(); - t3 = new A.RegisterEventBuilder(); - type$.legacy_void_Function_legacy_RegisterEventBuilder._as(new A.main___closure0(eventData)).call$1(t3); - t1.add$1(0, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3.build$0()), null)); + try { + t1 = this.client.get$sink(); + t2 = $.$get$serializers(); + t3 = new A.RegisterEventBuilder(); + type$.legacy_void_Function_legacy_RegisterEventBuilder._as(new A.main___closure0(eventData)).call$1(t3); + t1.add$1(0, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3.build$0()), null)); + } catch (exception) { + if (A.unwrapException(exception) instanceof A.StateError) + A.print("Cannot send RegisterEvent(" + A.S(eventData) + "). Injected client connection is closed."); + else + throw exception; + } }, $signature: 73 }; @@ -24622,16 +24578,23 @@ }; A.main__closure3.prototype = { call$0() { - var t1, t2, t3; + var t1, t2, t3, exception; if (!J.contains$1$asx(window.navigator.vendor, "Google")) { B.Window_methods.alert$1(window, "Dart DevTools is only supported on Chromium based browsers."); return; } - t1 = this.client.get$sink(); - t2 = $.$get$serializers(); - t3 = new A.DevToolsRequestBuilder(); - type$.legacy_void_Function_legacy_DevToolsRequestBuilder._as(new A.main___closure()).call$1(t3); - t1.add$1(0, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3.build$0()), null)); + try { + t1 = this.client.get$sink(); + t2 = $.$get$serializers(); + t3 = new A.DevToolsRequestBuilder(); + type$.legacy_void_Function_legacy_DevToolsRequestBuilder._as(new A.main___closure()).call$1(t3); + t1.add$1(0, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3.build$0()), null)); + } catch (exception) { + if (A.unwrapException(exception) instanceof A.StateError) + A.print("Cannot send DevToolsRequest. Injected client connection is closed."); + else + throw exception; + } }, $signature: 2 }; @@ -24652,7 +24615,7 @@ $call$body$main__closure(serialized) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.Null), - $async$self = this, $alert, t1, $event; + $async$self = this, $alert, t1, t2, $event; var $async$call$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -24710,9 +24673,10 @@ } else if ($event instanceof A.RunRequest) A.runMain(); else if ($event instanceof A.ErrorResponse) { - t1 = "Error from backend:\n\nError: " + $event.error + "\n\nStack Trace:\n" + $event.stackTrace; + t1 = $event.error; + t2 = $event.stackTrace; if (typeof console != "undefined") - window.console.error(t1); + window.console.error("Error from backend:\n\nError: " + t1 + "\n\nStack Trace:\n" + t2); } case 3: // join @@ -25336,8 +25300,8 @@ _static_1(A, "convert___defaultToEncodable$closure", "_defaultToEncodable", 1); _static_1(A, "core__identityHashCode$closure", "identityHashCode", 14); _static_2(A, "core__identical$closure", "identical", 13); - _static(A, "html0__Html5NodeValidator__standardAttributeValidator$closure", 4, null, ["call$4"], ["_Html5NodeValidator__standardAttributeValidator"], 23, 0); - _static(A, "html0__Html5NodeValidator__uriAttributeValidator$closure", 4, null, ["call$4"], ["_Html5NodeValidator__uriAttributeValidator"], 23, 0); + _static(A, "html__Html5NodeValidator__standardAttributeValidator$closure", 4, null, ["call$4"], ["_Html5NodeValidator__standardAttributeValidator"], 23, 0); + _static(A, "html__Html5NodeValidator__uriAttributeValidator$closure", 4, null, ["call$4"], ["_Html5NodeValidator__uriAttributeValidator"], 23, 0); _instance_0_i(A.Node.prototype, "get$remove", "remove$0", 0); _instance_1_i(A.WebSocket.prototype, "get$send", "send$1", 4); _static_1(A, "js___convertToJS$closure", "_convertToJS", 27); @@ -25359,7 +25323,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.MapMixin, A.Error, A.SentinelValue, A.ListIterator, A.Iterator, A.EmptyIterator, A.FixedLengthListMixin, A.UnmodifiableListMixin, A._ListBase_Object_ListMixin, A.Symbol, A.MapView, A.ConstantMap, A.JSInvocationMirror, A.TypeErrorDecoder, A.NullThrownFromJavaScriptException, A.ExceptionAndStackTrace, A._StackTrace, A._Required, A.LinkedHashMapCell, A.LinkedHashMapKeyIterator, A.JSSyntaxRegExp, A._MatchImplementation, A._AllMatchesIterator, A.StringMatch, A._StringAllMatchesIterator, A._Cell, A.Rti, A._FunctionParameters, A._Type, A._TimerImpl, A._AsyncAwaitCompleter, A.AsyncError, A._Completer, A._FutureListener, A._Future, A._AsyncCallbackEntry, A.Stream, A.StreamSubscription, A.StreamTransformerBase, A._StreamController, A._SyncStreamControllerDispatch, A._AsyncStreamControllerDispatch, A._BufferingStreamSubscription, A._StreamSinkWrapper, A._DelayedEvent, A._DelayedDone, A._PendingEvents, A._StreamIterator, A._ZoneFunction, A._RunNullaryZoneFunction, A._RunUnaryZoneFunction, A._RunBinaryZoneFunction, A._RegisterNullaryZoneFunction, A._RegisterUnaryZoneFunction, A._RegisterBinaryZoneFunction, A._ZoneSpecification, A._ZoneDelegate, A._Zone, A._HashMapKeyIterator, A.__SetBase_Object_SetMixin, A._HashSetIterator, A._LinkedHashSetCell, A._LinkedHashSetIterator, A.IterableMixin, A.ListMixin, A._UnmodifiableMapMixin, A._ListQueueIterator, A.SetMixin, A._SplayTreeNode, A._SplayTree, A._SplayTreeIterator, A.Codec, A._JsonStringifier, A._Utf8Encoder, A._BigIntImpl, A.DateTime, A.Duration, A.OutOfMemoryError, A.StackOverflowError, A._Exception, A.FormatException, A.IntegerDivisionByZeroException, A.Expando, A.Null, A._StringStackTrace, A.StringBuffer, A._Uri, A.UriData, A._SimpleUri, A.CssStyleDeclarationBase, A.EventStreamProvider, 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.CopyOnWriteList, 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.Int64Serializer, A.IntSerializer, A.JsonObjectSerializer, A.NullSerializer, A.NumSerializer, A.RegExpSerializer, A.StringSerializer, 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.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.SocketClient, A.Int64, A.Level, A.LogRecord, A.Logger, A.Pool, A.PoolResource, A.StreamChannelMixin, A._GuaranteeSink, A.StreamChannelController, A.Uuid, A.WebSocketChannelException, A.BatchedStreamController, A.LegacyRestarter, A.ReloadingManager, A.HotReloadFailedException, A.RequireRestarter]); + _inheritMany(A.Object, [A.JS_CONST, J.Interceptor, J.ArrayIterator, A.Iterable, A.CastIterator, A.Closure, A.MapMixin, A.Error, A.SentinelValue, A.ListIterator, A.Iterator, A.EmptyIterator, A.FixedLengthListMixin, A.UnmodifiableListMixin, A._ListBase_Object_ListMixin, A.Symbol, A.MapView, A.ConstantMap, A.JSInvocationMirror, A.TypeErrorDecoder, A.NullThrownFromJavaScriptException, A.ExceptionAndStackTrace, A._StackTrace, A._Required, A.LinkedHashMapCell, A.LinkedHashMapKeyIterator, A.JSSyntaxRegExp, A._MatchImplementation, A._AllMatchesIterator, A.StringMatch, A._StringAllMatchesIterator, A._Cell, A.Rti, A._FunctionParameters, A._Type, A._TimerImpl, A._AsyncAwaitCompleter, A.AsyncError, A._Completer, A._FutureListener, A._Future, A._AsyncCallbackEntry, A.Stream, A.StreamSubscription, A.StreamTransformerBase, A._StreamController, A._SyncStreamControllerDispatch, A._AsyncStreamControllerDispatch, A._BufferingStreamSubscription, A._StreamSinkWrapper, A._DelayedEvent, A._DelayedDone, A._PendingEvents, A._StreamIterator, A._ZoneFunction, A._RunNullaryZoneFunction, A._RunUnaryZoneFunction, A._RunBinaryZoneFunction, A._RegisterNullaryZoneFunction, A._RegisterUnaryZoneFunction, A._RegisterBinaryZoneFunction, A._ZoneSpecification, A._ZoneDelegate, A._Zone, A._HashMapKeyIterator, A.__SetBase_Object_SetMixin, A._HashSetIterator, A._LinkedHashSetCell, A._LinkedHashSetIterator, A.IterableMixin, A.ListMixin, A._UnmodifiableMapMixin, A._ListQueueIterator, A.SetMixin, A._SplayTreeNode, A._SplayTree, A._SplayTreeIterator, A.Codec, 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._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.CopyOnWriteList, 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.Int64Serializer, A.IntSerializer, A.JsonObjectSerializer, A.NullSerializer, A.NumSerializer, A.RegExpSerializer, A.StringSerializer, 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.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.SocketClient, A.Int64, A.Level, A.LogRecord, A.Logger, A.Pool, A.PoolResource, A.StreamChannelMixin, A._GuaranteeSink, A.StreamChannelController, A.Uuid, A.WebSocketChannelException, A.BatchedStreamController, A.LegacyRestarter, A.ReloadingManager, A.HotReloadFailedException, A.RequireRestarter]); _inheritMany(J.Interceptor, [J.JSBool, J.JSNull, J.JavaScriptObject, J.JSArray, J.JSNumber, J.JSString, A.NativeByteBuffer, A.NativeTypedData]); _inheritMany(J.JavaScriptObject, [J.LegacyJavaScriptObject, A.EventTarget, A.AccessibleNodeList, A.Blob, A.Event, A.CssTransformComponent, A.CssRule, A._CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase, A.CssStyleValue, 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.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]); @@ -25410,7 +25374,7 @@ _inherit(A._MapStream, A._ForwardingStream); _inheritMany(A._Zone, [A._CustomZone, A._RootZone]); _inheritMany(A._HashMap, [A._IdentityHashMap, A._CustomHashMap]); - _inheritMany(A.JsLinkedHashMap, [A._LinkedIdentityHashMap, A._LinkedCustomHashMap]); + _inherit(A._LinkedCustomHashMap, A.JsLinkedHashMap); _inherit(A._SetBase, A.__SetBase_Object_SetMixin); _inheritMany(A._SetBase, [A._HashSet, A._LinkedHashSet]); _inherit(A.UnmodifiableListView, A.UnmodifiableListBase); @@ -25597,7 +25561,7 @@ leafTags: null, arrayRti: Symbol("$ti") }; - A._Universe_addRules(init.typeUniverse, JSON.parse('{"PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","JavaScriptFunction":"LegacyJavaScriptObject","Promise":"LegacyJavaScriptObject","JsError":"LegacyJavaScriptObject","RequireLoader":"LegacyJavaScriptObject","JsMap":"LegacyJavaScriptObject","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","HttpRequestUpload":"HttpRequestEventTarget","HtmlFormControlsCollection":"HtmlCollection","CssCharsetRule":"CssRule","CssStyleSheet":"StyleSheet","JSBool":{"bool":[]},"JSNull":{"Null":[]},"LegacyJavaScriptObject":{"JSObject":[],"Promise":["1&"],"JsError":[]},"JSArray":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"ArrayIterator":{"Iterator":["1"]},"JSNumber":{"double":[],"num":[],"Comparable":["num"]},"JSInt":{"double":[],"int":[],"num":[],"Comparable":["num"]},"JSNumNotInt":{"double":[],"num":[],"Comparable":["num"]},"JSString":{"String":[],"Comparable":["String"],"Pattern":[]},"_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":{"ListMixin":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"]},"CastList":{"_CastListBase":["1","2"],"ListMixin":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListMixin.E":"2","Iterable.E":"2"},"CastSet":{"Set":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"CastMap":{"MapMixin":["3","4"],"Map":["3","4"],"MapMixin.K":"3","MapMixin.V":"4"},"CastQueue":{"Queue":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"LateError":{"Error":[]},"ReachabilityError":{"Error":[]},"NotNullableError":{"TypeError":[],"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"]},"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":{"ListMixin":["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"]},"_ConstantMapKeyIterable":{"Iterable":["1"],"Iterable.E":"1"},"JSInvocationMirror":{"Invocation":[]},"NullError":{"TypeError":[],"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Function":[]},"Closure2Args":{"Function":[]},"TearOffClosure":{"Function":[]},"StaticClosure":{"Function":[]},"BoundClosure":{"Function":[]},"RuntimeError":{"Error":[]},"_AssertionError":{"Error":[]},"JsLinkedHashMap":{"MapMixin":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapMixin.K":"1","MapMixin.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":{"ByteBuffer":[]},"NativeTypedData":{"TypedData":[]},"NativeByteData":{"NativeTypedData":[],"TypedData":[]},"NativeTypedArray":{"JavaScriptIndexingBehavior":["1"],"NativeTypedData":[],"TypedData":[]},"NativeTypedArrayOfDouble":{"ListMixin":["double"],"JavaScriptIndexingBehavior":["double"],"List":["double"],"NativeTypedData":[],"EfficientLengthIterable":["double"],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"ListMixin":["double"],"JavaScriptIndexingBehavior":["double"],"List":["double"],"NativeTypedData":[],"EfficientLengthIterable":["double"],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"ListMixin.E":"double"},"NativeFloat64List":{"ListMixin":["double"],"JavaScriptIndexingBehavior":["double"],"List":["double"],"NativeTypedData":[],"EfficientLengthIterable":["double"],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"ListMixin.E":"double"},"NativeInt16List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeInt32List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeInt8List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeUint16List":{"ListMixin":["int"],"Uint16List":[],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeUint32List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeUint8ClampedList":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeUint8List":{"ListMixin":["int"],"Uint8List":[],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.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"]},"StreamTransformerBase":{"StreamTransformer":["1","2"]},"_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":["@"]},"_StreamImplEvents":{"_PendingEvents":["1"]},"_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.K":"1","_SplayTreeNode.1":"_SplayTreeSetNode<1>"},"_HashMap":{"MapMixin":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapMixin.K":"1","MapMixin.V":"2"},"_IdentityHashMap":{"_HashMap":["1","2"],"MapMixin":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapMixin.K":"1","MapMixin.V":"2"},"_CustomHashMap":{"_HashMap":["1","2"],"MapMixin":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapMixin.K":"1","MapMixin.V":"2"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashMapKeyIterator":{"Iterator":["1"]},"_LinkedIdentityHashMap":{"JsLinkedHashMap":["1","2"],"MapMixin":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapMixin.K":"1","MapMixin.V":"2"},"_LinkedCustomHashMap":{"JsLinkedHashMap":["1","2"],"MapMixin":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapMixin.K":"1","MapMixin.V":"2"},"_HashSet":{"_SetBase":["1"],"SetMixin":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_HashSetIterator":{"Iterator":["1"]},"_LinkedHashSet":{"_SetBase":["1"],"SetMixin":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_LinkedHashSetIterator":{"Iterator":["1"]},"UnmodifiableListView":{"ListMixin":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListMixin.E":"1","UnmodifiableListMixin.E":"1"},"IterableBase":{"Iterable":["1"]},"ListBase":{"ListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapBase":{"MapMixin":["1","2"],"Map":["1","2"]},"MapMixin":{"Map":["1","2"]},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ListQueue":{"ListIterable":["1"],"Queue":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"_ListQueueIterator":{"Iterator":["1"]},"_SetBase":{"SetMixin":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SplayTreeIterator":{"Iterator":["3"]},"_SplayTreeKeyIterator":{"_SplayTreeIterator":["1","2","1"],"Iterator":["1"],"_SplayTreeIterator.1":"2","_SplayTreeIterator.K":"1"},"SplayTreeSet":{"SetMixin":["1"],"Set":["1"],"IterableMixin":["1"],"EfficientLengthIterable":["1"],"_SplayTree":["1","_SplayTreeSetNode<1>"],"Iterable":["1"],"_SplayTree.K":"1","_SplayTree.1":"_SplayTreeSetNode<1>"},"_JsonMap":{"MapMixin":["String","@"],"Map":["String","@"],"MapMixin.K":"String","MapMixin.V":"@"},"_JsonMapKeyIterable":{"ListIterable":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"ListIterable.E":"String","Iterable.E":"String"},"Base64Codec":{"Codec":["List","String"],"Codec.S":"List"},"Base64Encoder":{"Converter":["List","String"],"StreamTransformer":["List","String"]},"Converter":{"StreamTransformer":["1","2"]},"Encoding":{"Codec":["String","List"]},"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"],"Codec.S":"String"},"Utf8Encoder":{"Converter":["String","List"],"StreamTransformer":["String","List"]},"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":[]},"NullThrownError":{"Error":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"NoSuchMethodError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"CyclicInitializationError":{"Error":[]},"IntegerDivisionByZeroException":{"Error":[]},"_StringStackTrace":{"StackTrace":[]},"StringBuffer":{"StringSink":[]},"_Uri":{"Uri":[]},"_SimpleUri":{"Uri":[]},"_DataUri":{"Uri":[]},"CloseEvent":{"Event":[]},"Element":{"Node":[],"EventTarget":[]},"File":{"Blob":[]},"HttpRequest":{"EventTarget":[]},"KeyboardEvent":{"Event":[]},"MessageEvent":{"Event":[]},"Node":{"EventTarget":[]},"ProgressEvent":{"Event":[]},"ScriptElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"SourceBuffer":{"EventTarget":[]},"TextTrack":{"EventTarget":[]},"TextTrackCue":{"EventTarget":[]},"_Html5NodeValidator":{"NodeValidator":[]},"HtmlElement":{"Element":[],"Node":[],"EventTarget":[]},"AnchorElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"AreaElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"BaseElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"BodyElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"CharacterData":{"Node":[],"EventTarget":[]},"CustomEvent":{"Event":[]},"Document":{"Node":[],"EventTarget":[]},"DomRectList":{"ListMixin":["Rectangle"],"ImmutableListMixin":["Rectangle"],"List":["Rectangle"],"JavaScriptIndexingBehavior":["Rectangle"],"EfficientLengthIterable":["Rectangle"],"Iterable":["Rectangle"],"ImmutableListMixin.E":"Rectangle","ListMixin.E":"Rectangle"},"DomRectReadOnly":{"Rectangle":["num"]},"DomStringList":{"ListMixin":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptIndexingBehavior":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"ImmutableListMixin.E":"String","ListMixin.E":"String"},"_FrozenElementList":{"ListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListMixin.E":"1"},"EventSource":{"EventTarget":[]},"FileList":{"ListMixin":["File"],"ImmutableListMixin":["File"],"List":["File"],"JavaScriptIndexingBehavior":["File"],"EfficientLengthIterable":["File"],"Iterable":["File"],"ImmutableListMixin.E":"File","ListMixin.E":"File"},"FileWriter":{"EventTarget":[]},"FormElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"HtmlCollection":{"ListMixin":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"EfficientLengthIterable":["Node"],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListMixin.E":"Node"},"HtmlDocument":{"Document":[],"Node":[],"EventTarget":[]},"HttpRequestEventTarget":{"EventTarget":[]},"MessagePort":{"EventTarget":[]},"MidiInputMap":{"MapMixin":["String","@"],"Map":["String","@"],"MapMixin.K":"String","MapMixin.V":"@"},"MidiOutputMap":{"MapMixin":["String","@"],"Map":["String","@"],"MapMixin.K":"String","MapMixin.V":"@"},"MimeTypeArray":{"ListMixin":["MimeType"],"ImmutableListMixin":["MimeType"],"List":["MimeType"],"JavaScriptIndexingBehavior":["MimeType"],"EfficientLengthIterable":["MimeType"],"Iterable":["MimeType"],"ImmutableListMixin.E":"MimeType","ListMixin.E":"MimeType"},"_ChildNodeListLazy":{"ListMixin":["Node"],"List":["Node"],"EfficientLengthIterable":["Node"],"Iterable":["Node"],"ListMixin.E":"Node"},"NodeList":{"ListMixin":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"EfficientLengthIterable":["Node"],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListMixin.E":"Node"},"PluginArray":{"ListMixin":["Plugin"],"ImmutableListMixin":["Plugin"],"List":["Plugin"],"JavaScriptIndexingBehavior":["Plugin"],"EfficientLengthIterable":["Plugin"],"Iterable":["Plugin"],"ImmutableListMixin.E":"Plugin","ListMixin.E":"Plugin"},"RtcStatsReport":{"MapMixin":["String","@"],"Map":["String","@"],"MapMixin.K":"String","MapMixin.V":"@"},"SelectElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"SourceBufferList":{"ListMixin":["SourceBuffer"],"ImmutableListMixin":["SourceBuffer"],"EventTarget":[],"List":["SourceBuffer"],"JavaScriptIndexingBehavior":["SourceBuffer"],"EfficientLengthIterable":["SourceBuffer"],"Iterable":["SourceBuffer"],"ImmutableListMixin.E":"SourceBuffer","ListMixin.E":"SourceBuffer"},"SpeechGrammarList":{"ListMixin":["SpeechGrammar"],"ImmutableListMixin":["SpeechGrammar"],"List":["SpeechGrammar"],"JavaScriptIndexingBehavior":["SpeechGrammar"],"EfficientLengthIterable":["SpeechGrammar"],"Iterable":["SpeechGrammar"],"ImmutableListMixin.E":"SpeechGrammar","ListMixin.E":"SpeechGrammar"},"Storage":{"MapMixin":["String","String"],"Map":["String","String"],"MapMixin.K":"String","MapMixin.V":"String"},"TableElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"TableRowElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"TableSectionElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"TemplateElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"TextTrackCueList":{"ListMixin":["TextTrackCue"],"ImmutableListMixin":["TextTrackCue"],"List":["TextTrackCue"],"JavaScriptIndexingBehavior":["TextTrackCue"],"EfficientLengthIterable":["TextTrackCue"],"Iterable":["TextTrackCue"],"ImmutableListMixin.E":"TextTrackCue","ListMixin.E":"TextTrackCue"},"TextTrackList":{"ListMixin":["TextTrack"],"ImmutableListMixin":["TextTrack"],"EventTarget":[],"List":["TextTrack"],"JavaScriptIndexingBehavior":["TextTrack"],"EfficientLengthIterable":["TextTrack"],"Iterable":["TextTrack"],"ImmutableListMixin.E":"TextTrack","ListMixin.E":"TextTrack"},"TouchList":{"ListMixin":["Touch"],"ImmutableListMixin":["Touch"],"List":["Touch"],"JavaScriptIndexingBehavior":["Touch"],"EfficientLengthIterable":["Touch"],"Iterable":["Touch"],"ImmutableListMixin.E":"Touch","ListMixin.E":"Touch"},"UIEvent":{"Event":[]},"VideoTrackList":{"EventTarget":[]},"WebSocket":{"EventTarget":[]},"Window":{"EventTarget":[]},"WorkerGlobalScope":{"EventTarget":[]},"_Attr":{"Node":[],"EventTarget":[]},"_CssRuleList":{"ListMixin":["CssRule"],"ImmutableListMixin":["CssRule"],"List":["CssRule"],"JavaScriptIndexingBehavior":["CssRule"],"EfficientLengthIterable":["CssRule"],"Iterable":["CssRule"],"ImmutableListMixin.E":"CssRule","ListMixin.E":"CssRule"},"_DomRect":{"Rectangle":["num"]},"_GamepadList":{"ListMixin":["Gamepad?"],"ImmutableListMixin":["Gamepad?"],"List":["Gamepad?"],"JavaScriptIndexingBehavior":["Gamepad?"],"EfficientLengthIterable":["Gamepad?"],"Iterable":["Gamepad?"],"ImmutableListMixin.E":"Gamepad?","ListMixin.E":"Gamepad?"},"_NamedNodeMap":{"ListMixin":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"EfficientLengthIterable":["Node"],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListMixin.E":"Node"},"_SpeechRecognitionResultList":{"ListMixin":["SpeechRecognitionResult"],"ImmutableListMixin":["SpeechRecognitionResult"],"List":["SpeechRecognitionResult"],"JavaScriptIndexingBehavior":["SpeechRecognitionResult"],"EfficientLengthIterable":["SpeechRecognitionResult"],"Iterable":["SpeechRecognitionResult"],"ImmutableListMixin.E":"SpeechRecognitionResult","ListMixin.E":"SpeechRecognitionResult"},"_StyleSheetList":{"ListMixin":["StyleSheet"],"ImmutableListMixin":["StyleSheet"],"List":["StyleSheet"],"JavaScriptIndexingBehavior":["StyleSheet"],"EfficientLengthIterable":["StyleSheet"],"Iterable":["StyleSheet"],"ImmutableListMixin.E":"StyleSheet","ListMixin.E":"StyleSheet"},"_AttributeMap":{"MapMixin":["String","String"],"Map":["String","String"]},"_ElementAttributeMap":{"MapMixin":["String","String"],"Map":["String","String"],"MapMixin.K":"String","MapMixin.V":"String"},"_EventStream":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription":{"StreamSubscription":["1"]},"NodeValidatorBuilder":{"NodeValidator":[]},"_SimpleNodeValidator":{"NodeValidator":[]},"_TemplatingNodeValidator":{"NodeValidator":[]},"_SvgNodeValidator":{"NodeValidator":[]},"FixedSizeListIterator":{"Iterator":["1"]},"_DOMWindowCrossFrame":{"EventTarget":[]},"_SameOriginUriPolicy":{"UriPolicy":[]},"_ValidatingTreeSanitizer":{"NodeTreeSanitizer":[]},"JsFunction":{"JsObject":[]},"JsArray":{"ListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"JsObject":[],"Iterable":["1"],"ListMixin.E":"1"},"LengthList":{"ListMixin":["Length"],"ImmutableListMixin":["Length"],"List":["Length"],"EfficientLengthIterable":["Length"],"Iterable":["Length"],"ImmutableListMixin.E":"Length","ListMixin.E":"Length"},"NumberList":{"ListMixin":["Number"],"ImmutableListMixin":["Number"],"List":["Number"],"EfficientLengthIterable":["Number"],"Iterable":["Number"],"ImmutableListMixin.E":"Number","ListMixin.E":"Number"},"ScriptElement0":{"SvgElement":[],"Element":[],"Node":[],"EventTarget":[]},"StringList":{"ListMixin":["String"],"ImmutableListMixin":["String"],"List":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"ImmutableListMixin.E":"String","ListMixin.E":"String"},"SvgElement":{"Element":[],"Node":[],"EventTarget":[]},"TransformList":{"ListMixin":["Transform"],"ImmutableListMixin":["Transform"],"List":["Transform"],"EfficientLengthIterable":["Transform"],"Iterable":["Transform"],"ImmutableListMixin.E":"Transform","ListMixin.E":"Transform"},"AudioParamMap":{"MapMixin":["String","@"],"Map":["String","@"],"MapMixin.K":"String","MapMixin.V":"@"},"AudioTrackList":{"EventTarget":[]},"BaseAudioContext":{"EventTarget":[]},"OfflineAudioContext":{"EventTarget":[]},"DelegatingStreamSink":{"StreamSink":["1"]},"ErrorResult":{"Result":["0&"]},"ValueResult":{"Result":["1"]},"_NextRequest":{"_EventRequest":["1"]},"_HasNextRequest":{"_EventRequest":["1"]},"CopyOnWriteList":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"BuiltList":{"Iterable":["1"]},"_BuiltList":{"BuiltList":["1"],"Iterable":["1"]},"_BuiltListMultimap":{"BuiltListMultimap":["1","2"]},"_BuiltMap":{"BuiltMap":["1","2"]},"BuiltSet":{"Iterable":["1"]},"_BuiltSet":{"BuiltSet":["1"],"Iterable":["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"]},"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"]},"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":{"ListMixin":["1"],"List":["1"],"Queue":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListMixin.E":"1","QueueList.E":"1"},"_CastQueueList":{"QueueList":["2"],"ListMixin":["2"],"List":["2"],"Queue":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListMixin.E":"2","QueueList.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":[]},"_$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":[]},"Int64":{"Comparable":["Object"]},"Level":{"Comparable":["Level"]},"SseClient":{"StreamChannel":["String?"]},"GuaranteeChannel":{"StreamChannel":["1"]},"_GuaranteeSink":{"StreamSink":["1"]},"StreamChannelMixin":{"StreamChannel":["1"]},"HtmlWebSocketChannel":{"WebSocketChannel":[],"StreamChannel":["@"]},"_HtmlWebSocketSink":{"WebSocketSink":[],"DelegatingStreamSink":["@"],"StreamSink":["@"],"DelegatingStreamSink.T":"@"},"WebSocketChannel":{"StreamChannel":["@"]},"LegacyRestarter":{"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","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","HttpRequestUpload":"HttpRequestEventTarget","HtmlFormControlsCollection":"HtmlCollection","CssCharsetRule":"CssRule","CssStyleSheet":"StyleSheet","JSBool":{"bool":[]},"JSNull":{"Null":[]},"LegacyJavaScriptObject":{"JSObject":[],"Promise":["1&"],"JsError":[]},"JSArray":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"ArrayIterator":{"Iterator":["1"]},"JSNumber":{"double":[],"num":[],"Comparable":["num"]},"JSInt":{"double":[],"int":[],"num":[],"Comparable":["num"]},"JSNumNotInt":{"double":[],"num":[],"Comparable":["num"]},"JSString":{"String":[],"Comparable":["String"],"Pattern":[]},"_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":{"ListMixin":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"]},"CastList":{"_CastListBase":["1","2"],"ListMixin":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListMixin.E":"2","Iterable.E":"2"},"CastSet":{"Set":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"CastMap":{"MapMixin":["3","4"],"Map":["3","4"],"MapMixin.K":"3","MapMixin.V":"4"},"CastQueue":{"Queue":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"LateError":{"Error":[]},"ReachabilityError":{"Error":[]},"NotNullableError":{"TypeError":[],"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"]},"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":{"ListMixin":["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"]},"_ConstantMapKeyIterable":{"Iterable":["1"],"Iterable.E":"1"},"JSInvocationMirror":{"Invocation":[]},"NullError":{"TypeError":[],"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Function":[]},"Closure2Args":{"Function":[]},"TearOffClosure":{"Function":[]},"StaticClosure":{"Function":[]},"BoundClosure":{"Function":[]},"RuntimeError":{"Error":[]},"_AssertionError":{"Error":[]},"JsLinkedHashMap":{"MapMixin":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapMixin.K":"1","MapMixin.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":{"ByteBuffer":[]},"NativeTypedData":{"TypedData":[]},"NativeByteData":{"NativeTypedData":[],"TypedData":[]},"NativeTypedArray":{"JavaScriptIndexingBehavior":["1"],"NativeTypedData":[],"TypedData":[]},"NativeTypedArrayOfDouble":{"ListMixin":["double"],"JavaScriptIndexingBehavior":["double"],"List":["double"],"NativeTypedData":[],"EfficientLengthIterable":["double"],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"ListMixin":["double"],"JavaScriptIndexingBehavior":["double"],"List":["double"],"NativeTypedData":[],"EfficientLengthIterable":["double"],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"ListMixin.E":"double"},"NativeFloat64List":{"ListMixin":["double"],"JavaScriptIndexingBehavior":["double"],"List":["double"],"NativeTypedData":[],"EfficientLengthIterable":["double"],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"ListMixin.E":"double"},"NativeInt16List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeInt32List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeInt8List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeUint16List":{"ListMixin":["int"],"Uint16List":[],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeUint32List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeUint8ClampedList":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeUint8List":{"ListMixin":["int"],"Uint8List":[],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.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"]},"StreamTransformerBase":{"StreamTransformer":["1","2"]},"_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":["@"]},"_StreamImplEvents":{"_PendingEvents":["1"]},"_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.K":"1","_SplayTreeNode.1":"_SplayTreeSetNode<1>"},"_HashMap":{"MapMixin":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapMixin.K":"1","MapMixin.V":"2"},"_IdentityHashMap":{"_HashMap":["1","2"],"MapMixin":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapMixin.K":"1","MapMixin.V":"2"},"_CustomHashMap":{"_HashMap":["1","2"],"MapMixin":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapMixin.K":"1","MapMixin.V":"2"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashMapKeyIterator":{"Iterator":["1"]},"_LinkedCustomHashMap":{"JsLinkedHashMap":["1","2"],"MapMixin":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapMixin.K":"1","MapMixin.V":"2"},"_HashSet":{"_SetBase":["1"],"SetMixin":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_HashSetIterator":{"Iterator":["1"]},"_LinkedHashSet":{"_SetBase":["1"],"SetMixin":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_LinkedHashSetIterator":{"Iterator":["1"]},"UnmodifiableListView":{"ListMixin":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListMixin.E":"1","UnmodifiableListMixin.E":"1"},"IterableBase":{"Iterable":["1"]},"ListBase":{"ListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapBase":{"MapMixin":["1","2"],"Map":["1","2"]},"MapMixin":{"Map":["1","2"]},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ListQueue":{"ListIterable":["1"],"Queue":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"_ListQueueIterator":{"Iterator":["1"]},"_SetBase":{"SetMixin":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SplayTreeIterator":{"Iterator":["3"]},"_SplayTreeKeyIterator":{"_SplayTreeIterator":["1","2","1"],"Iterator":["1"],"_SplayTreeIterator.1":"2","_SplayTreeIterator.K":"1"},"SplayTreeSet":{"SetMixin":["1"],"Set":["1"],"IterableMixin":["1"],"EfficientLengthIterable":["1"],"_SplayTree":["1","_SplayTreeSetNode<1>"],"Iterable":["1"],"_SplayTree.K":"1","_SplayTree.1":"_SplayTreeSetNode<1>"},"_JsonMap":{"MapMixin":["String","@"],"Map":["String","@"],"MapMixin.K":"String","MapMixin.V":"@"},"_JsonMapKeyIterable":{"ListIterable":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"ListIterable.E":"String","Iterable.E":"String"},"Base64Codec":{"Codec":["List","String"],"Codec.S":"List"},"Base64Encoder":{"Converter":["List","String"],"StreamTransformer":["List","String"]},"Converter":{"StreamTransformer":["1","2"]},"Encoding":{"Codec":["String","List"]},"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"],"Codec.S":"String"},"Utf8Encoder":{"Converter":["String","List"],"StreamTransformer":["String","List"]},"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":[]},"NullThrownError":{"Error":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"NoSuchMethodError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"CyclicInitializationError":{"Error":[]},"IntegerDivisionByZeroException":{"Error":[]},"_StringStackTrace":{"StackTrace":[]},"StringBuffer":{"StringSink":[]},"_Uri":{"Uri":[]},"_SimpleUri":{"Uri":[]},"_DataUri":{"Uri":[]},"CloseEvent":{"Event":[]},"Element":{"Node":[],"EventTarget":[]},"File":{"Blob":[]},"HttpRequest":{"EventTarget":[]},"KeyboardEvent":{"Event":[]},"MessageEvent":{"Event":[]},"Node":{"EventTarget":[]},"ProgressEvent":{"Event":[]},"ScriptElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"SourceBuffer":{"EventTarget":[]},"TextTrack":{"EventTarget":[]},"TextTrackCue":{"EventTarget":[]},"_Html5NodeValidator":{"NodeValidator":[]},"HtmlElement":{"Element":[],"Node":[],"EventTarget":[]},"AnchorElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"AreaElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"BaseElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"BodyElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"CharacterData":{"Node":[],"EventTarget":[]},"CustomEvent":{"Event":[]},"Document":{"Node":[],"EventTarget":[]},"DomRectList":{"ListMixin":["Rectangle"],"ImmutableListMixin":["Rectangle"],"List":["Rectangle"],"JavaScriptIndexingBehavior":["Rectangle"],"EfficientLengthIterable":["Rectangle"],"Iterable":["Rectangle"],"ImmutableListMixin.E":"Rectangle","ListMixin.E":"Rectangle"},"DomRectReadOnly":{"Rectangle":["num"]},"DomStringList":{"ListMixin":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptIndexingBehavior":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"ImmutableListMixin.E":"String","ListMixin.E":"String"},"_FrozenElementList":{"ListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListMixin.E":"1"},"EventSource":{"EventTarget":[]},"FileList":{"ListMixin":["File"],"ImmutableListMixin":["File"],"List":["File"],"JavaScriptIndexingBehavior":["File"],"EfficientLengthIterable":["File"],"Iterable":["File"],"ImmutableListMixin.E":"File","ListMixin.E":"File"},"FileWriter":{"EventTarget":[]},"FormElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"HtmlCollection":{"ListMixin":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"EfficientLengthIterable":["Node"],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListMixin.E":"Node"},"HtmlDocument":{"Document":[],"Node":[],"EventTarget":[]},"HttpRequestEventTarget":{"EventTarget":[]},"MessagePort":{"EventTarget":[]},"MidiInputMap":{"MapMixin":["String","@"],"Map":["String","@"],"MapMixin.K":"String","MapMixin.V":"@"},"MidiOutputMap":{"MapMixin":["String","@"],"Map":["String","@"],"MapMixin.K":"String","MapMixin.V":"@"},"MimeTypeArray":{"ListMixin":["MimeType"],"ImmutableListMixin":["MimeType"],"List":["MimeType"],"JavaScriptIndexingBehavior":["MimeType"],"EfficientLengthIterable":["MimeType"],"Iterable":["MimeType"],"ImmutableListMixin.E":"MimeType","ListMixin.E":"MimeType"},"_ChildNodeListLazy":{"ListMixin":["Node"],"List":["Node"],"EfficientLengthIterable":["Node"],"Iterable":["Node"],"ListMixin.E":"Node"},"NodeList":{"ListMixin":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"EfficientLengthIterable":["Node"],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListMixin.E":"Node"},"PluginArray":{"ListMixin":["Plugin"],"ImmutableListMixin":["Plugin"],"List":["Plugin"],"JavaScriptIndexingBehavior":["Plugin"],"EfficientLengthIterable":["Plugin"],"Iterable":["Plugin"],"ImmutableListMixin.E":"Plugin","ListMixin.E":"Plugin"},"RtcStatsReport":{"MapMixin":["String","@"],"Map":["String","@"],"MapMixin.K":"String","MapMixin.V":"@"},"SelectElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"SourceBufferList":{"ListMixin":["SourceBuffer"],"ImmutableListMixin":["SourceBuffer"],"EventTarget":[],"List":["SourceBuffer"],"JavaScriptIndexingBehavior":["SourceBuffer"],"EfficientLengthIterable":["SourceBuffer"],"Iterable":["SourceBuffer"],"ImmutableListMixin.E":"SourceBuffer","ListMixin.E":"SourceBuffer"},"SpeechGrammarList":{"ListMixin":["SpeechGrammar"],"ImmutableListMixin":["SpeechGrammar"],"List":["SpeechGrammar"],"JavaScriptIndexingBehavior":["SpeechGrammar"],"EfficientLengthIterable":["SpeechGrammar"],"Iterable":["SpeechGrammar"],"ImmutableListMixin.E":"SpeechGrammar","ListMixin.E":"SpeechGrammar"},"Storage":{"MapMixin":["String","String"],"Map":["String","String"],"MapMixin.K":"String","MapMixin.V":"String"},"TableElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"TableRowElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"TableSectionElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"TemplateElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"TextTrackCueList":{"ListMixin":["TextTrackCue"],"ImmutableListMixin":["TextTrackCue"],"List":["TextTrackCue"],"JavaScriptIndexingBehavior":["TextTrackCue"],"EfficientLengthIterable":["TextTrackCue"],"Iterable":["TextTrackCue"],"ImmutableListMixin.E":"TextTrackCue","ListMixin.E":"TextTrackCue"},"TextTrackList":{"ListMixin":["TextTrack"],"ImmutableListMixin":["TextTrack"],"EventTarget":[],"List":["TextTrack"],"JavaScriptIndexingBehavior":["TextTrack"],"EfficientLengthIterable":["TextTrack"],"Iterable":["TextTrack"],"ImmutableListMixin.E":"TextTrack","ListMixin.E":"TextTrack"},"TouchList":{"ListMixin":["Touch"],"ImmutableListMixin":["Touch"],"List":["Touch"],"JavaScriptIndexingBehavior":["Touch"],"EfficientLengthIterable":["Touch"],"Iterable":["Touch"],"ImmutableListMixin.E":"Touch","ListMixin.E":"Touch"},"UIEvent":{"Event":[]},"VideoTrackList":{"EventTarget":[]},"WebSocket":{"EventTarget":[]},"Window":{"EventTarget":[]},"WorkerGlobalScope":{"EventTarget":[]},"_Attr":{"Node":[],"EventTarget":[]},"_CssRuleList":{"ListMixin":["CssRule"],"ImmutableListMixin":["CssRule"],"List":["CssRule"],"JavaScriptIndexingBehavior":["CssRule"],"EfficientLengthIterable":["CssRule"],"Iterable":["CssRule"],"ImmutableListMixin.E":"CssRule","ListMixin.E":"CssRule"},"_DomRect":{"Rectangle":["num"]},"_GamepadList":{"ListMixin":["Gamepad?"],"ImmutableListMixin":["Gamepad?"],"List":["Gamepad?"],"JavaScriptIndexingBehavior":["Gamepad?"],"EfficientLengthIterable":["Gamepad?"],"Iterable":["Gamepad?"],"ImmutableListMixin.E":"Gamepad?","ListMixin.E":"Gamepad?"},"_NamedNodeMap":{"ListMixin":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"EfficientLengthIterable":["Node"],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListMixin.E":"Node"},"_SpeechRecognitionResultList":{"ListMixin":["SpeechRecognitionResult"],"ImmutableListMixin":["SpeechRecognitionResult"],"List":["SpeechRecognitionResult"],"JavaScriptIndexingBehavior":["SpeechRecognitionResult"],"EfficientLengthIterable":["SpeechRecognitionResult"],"Iterable":["SpeechRecognitionResult"],"ImmutableListMixin.E":"SpeechRecognitionResult","ListMixin.E":"SpeechRecognitionResult"},"_StyleSheetList":{"ListMixin":["StyleSheet"],"ImmutableListMixin":["StyleSheet"],"List":["StyleSheet"],"JavaScriptIndexingBehavior":["StyleSheet"],"EfficientLengthIterable":["StyleSheet"],"Iterable":["StyleSheet"],"ImmutableListMixin.E":"StyleSheet","ListMixin.E":"StyleSheet"},"_AttributeMap":{"MapMixin":["String","String"],"Map":["String","String"]},"_ElementAttributeMap":{"MapMixin":["String","String"],"Map":["String","String"],"MapMixin.K":"String","MapMixin.V":"String"},"_EventStream":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription":{"StreamSubscription":["1"]},"NodeValidatorBuilder":{"NodeValidator":[]},"_SimpleNodeValidator":{"NodeValidator":[]},"_TemplatingNodeValidator":{"NodeValidator":[]},"_SvgNodeValidator":{"NodeValidator":[]},"FixedSizeListIterator":{"Iterator":["1"]},"_DOMWindowCrossFrame":{"EventTarget":[]},"_SameOriginUriPolicy":{"UriPolicy":[]},"_ValidatingTreeSanitizer":{"NodeTreeSanitizer":[]},"JsFunction":{"JsObject":[]},"JsArray":{"ListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"JsObject":[],"Iterable":["1"],"ListMixin.E":"1"},"LengthList":{"ListMixin":["Length"],"ImmutableListMixin":["Length"],"List":["Length"],"EfficientLengthIterable":["Length"],"Iterable":["Length"],"ImmutableListMixin.E":"Length","ListMixin.E":"Length"},"NumberList":{"ListMixin":["Number"],"ImmutableListMixin":["Number"],"List":["Number"],"EfficientLengthIterable":["Number"],"Iterable":["Number"],"ImmutableListMixin.E":"Number","ListMixin.E":"Number"},"ScriptElement0":{"SvgElement":[],"Element":[],"Node":[],"EventTarget":[]},"StringList":{"ListMixin":["String"],"ImmutableListMixin":["String"],"List":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"ImmutableListMixin.E":"String","ListMixin.E":"String"},"SvgElement":{"Element":[],"Node":[],"EventTarget":[]},"TransformList":{"ListMixin":["Transform"],"ImmutableListMixin":["Transform"],"List":["Transform"],"EfficientLengthIterable":["Transform"],"Iterable":["Transform"],"ImmutableListMixin.E":"Transform","ListMixin.E":"Transform"},"AudioParamMap":{"MapMixin":["String","@"],"Map":["String","@"],"MapMixin.K":"String","MapMixin.V":"@"},"AudioTrackList":{"EventTarget":[]},"BaseAudioContext":{"EventTarget":[]},"OfflineAudioContext":{"EventTarget":[]},"DelegatingStreamSink":{"StreamSink":["1"]},"ErrorResult":{"Result":["0&"]},"ValueResult":{"Result":["1"]},"_NextRequest":{"_EventRequest":["1"]},"_HasNextRequest":{"_EventRequest":["1"]},"CopyOnWriteList":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"BuiltList":{"Iterable":["1"]},"_BuiltList":{"BuiltList":["1"],"Iterable":["1"]},"_BuiltListMultimap":{"BuiltListMultimap":["1","2"]},"_BuiltMap":{"BuiltMap":["1","2"]},"BuiltSet":{"Iterable":["1"]},"_BuiltSet":{"BuiltSet":["1"],"Iterable":["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"]},"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"]},"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":{"ListMixin":["1"],"List":["1"],"Queue":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListMixin.E":"1","QueueList.E":"1"},"_CastQueueList":{"QueueList":["2"],"ListMixin":["2"],"List":["2"],"Queue":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListMixin.E":"2","QueueList.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":[]},"_$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":[]},"Int64":{"Comparable":["Object"]},"Level":{"Comparable":["Level"]},"SseClient":{"StreamChannel":["String?"]},"GuaranteeChannel":{"StreamChannel":["1"]},"_GuaranteeSink":{"StreamSink":["1"]},"StreamChannelMixin":{"StreamChannel":["1"]},"HtmlWebSocketChannel":{"WebSocketChannel":[],"StreamChannel":["@"]},"_HtmlWebSocketSink":{"WebSocketSink":[],"DelegatingStreamSink":["@"],"StreamSink":["@"],"DelegatingStreamSink.T":"@"},"WebSocketChannel":{"StreamChannel":["@"]},"LegacyRestarter":{"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_addErasedTypes(init.typeUniverse, JSON.parse('{"UnmodifiableListBase":1,"__CastListBase__CastIterableBase_ListMixin":2,"NativeTypedArray":1,"StreamTransformerBase":2,"IterableBase":1,"ListBase":1,"MapBase":2,"_ListBase_Object_ListMixin":1,"_SplayTreeSet__SplayTree_IterableMixin":1,"_SplayTreeSet__SplayTree_IterableMixin_SetMixin":1,"__SetBase_Object_SetMixin":1,"MapEntry":2,"_JsArray_JsObject_ListMixin":1,"_QueueList_Object_ListMixin":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", @@ -26393,9 +26357,6 @@ Function.prototype.call$0 = function() { return this(); }; - Function.prototype.call$3 = function(a, b, c) { - return this(a, b, c); - }; Function.prototype.call$1$1 = function(a) { return this(a); }; @@ -26405,6 +26366,9 @@ Function.prototype.call$5 = function(a, b, c, d, e) { return this(a, b, c, d, e); }; + Function.prototype.call$3 = function(a, b, c) { + return this(a, b, c); + }; Function.prototype.call$4 = function(a, b, c, d) { return this(a, b, c, d); }; diff --git a/dwds/test/reload_test.dart b/dwds/test/reload_test.dart index 4bdc856de..1d5c4874a 100644 --- a/dwds/test/reload_test.dart +++ b/dwds/test/reload_test.dart @@ -165,6 +165,57 @@ void main() { expect(source, contains('Gary is awesome!')); }); + test('can send events before and after hot restart', () async { + var client = context.debugConnection.vmService; + await client.streamListen('Isolate'); + + // The event just before hot restart is never received, + // but the injected client continues to work and send + // events after hot restart. + var eventsDone = expectLater( + client.onIsolateEvent, + emitsInOrder([ + _hasKind(EventKind.kIsolateExit), + _hasKind(EventKind.kIsolateStart), + _hasKind(EventKind.kIsolateRunnable), + _hasKind(EventKind.kServiceExtensionAdded).having( + (e) => e.extensionRPC, 'service', 'ext.flutter.disassemble'), + _hasKind(EventKind.kServiceExtensionAdded) + .having((e) => e.extensionRPC, 'service', 'ext.bar'), + ])); + + var vm = await client.getVM(); + var isolateId = vm.isolates.first.id; + var isolate = await client.getIsolate(isolateId); + var library = isolate.rootLib.uri; + + await client.evaluate( + isolateId, + library, + "registerExtension('ext.foo', (method, params) {})", + ); + + expect(await client.callServiceExtension('hotRestart'), + const TypeMatcher()); + + vm = await client.getVM(); + isolateId = vm.isolates.first.id; + isolate = await client.getIsolate(isolateId); + library = isolate.rootLib.uri; + + await client.evaluate( + isolateId, + library, + "registerExtension('ext.bar', (method, params) {})", + ); + + await eventsDone; + + var source = await context.webDriver.pageSource; + // Main is re-invoked which shouldn't clear the state. + expect(source, contains('Hello World!')); + }); + test('can refresh the page via the fullReload service extension', () async { var client = context.debugConnection.vmService; await client.streamListen('Isolate'); diff --git a/dwds/web/client.dart b/dwds/web/client.dart index 3b1015aa1..7928b3688 100644 --- a/dwds/web/client.dart +++ b/dwds/web/client.dart @@ -68,8 +68,15 @@ Future main() { var debugEventController = BatchedStreamController(delay: _batchDelayMilliseconds); debugEventController.stream.listen((events) { - client.sink.add(jsonEncode(serializers.serialize(BatchedDebugEvents( - (b) => b.events = ListBuilder(events))))); + try { + client.sink.add(jsonEncode(serializers.serialize(BatchedDebugEvents( + (b) => b.events = ListBuilder(events))))); + } on StateError catch (_) { + // An error is propagated on a full page reload as Chrome presumably + // forces the SSE connection to close in a bad state. + print('Cannot send BatchedDEbugEvents($events). ' + 'Injected client connection is closed.'); + } }); emitDebugEvent = allowInterop((String kind, String eventData) { @@ -82,9 +89,16 @@ Future main() { }); emitRegisterEvent = allowInterop((String eventData) { - client.sink.add(jsonEncode(serializers.serialize(RegisterEvent((b) => b - ..timestamp = (DateTime.now().millisecondsSinceEpoch) - ..eventData = eventData)))); + try { + client.sink.add(jsonEncode(serializers.serialize(RegisterEvent((b) => b + ..timestamp = (DateTime.now().millisecondsSinceEpoch) + ..eventData = eventData)))); + } on StateError catch (_) { + // An error is propagated on a full page reload as Chrome presumably + // forces the SSE connection to close in a bad state. + print('Cannot send RegisterEvent($eventData). ' + 'Injected client connection is closed.'); + } }); launchDevToolsJs = allowInterop(() { @@ -93,9 +107,17 @@ Future main() { 'Dart DevTools is only supported on Chromium based browsers.'); return; } - client.sink.add(jsonEncode(serializers.serialize(DevToolsRequest((b) => b - ..appId = dartAppId - ..instanceId = dartAppInstanceId)))); + try { + client.sink + .add(jsonEncode(serializers.serialize(DevToolsRequest((b) => b + ..appId = dartAppId + ..instanceId = dartAppInstanceId)))); + } on StateError catch (_) { + // An error is propagated on a full page reload as Chrome presumably + // forces the SSE connection to close in a bad state. + print('Cannot send DevToolsRequest. ' + 'Injected client connection is closed.'); + } }); client.stream.listen((serialized) async { @@ -150,10 +172,17 @@ Future main() { } if (_isChromium) { - client.sink.add(jsonEncode(serializers.serialize(ConnectRequest((b) => b - ..appId = dartAppId - ..instanceId = dartAppInstanceId - ..entrypointPath = dartEntrypointPath)))); + try { + client.sink.add(jsonEncode(serializers.serialize(ConnectRequest((b) => b + ..appId = dartAppId + ..instanceId = dartAppInstanceId + ..entrypointPath = dartEntrypointPath)))); + } on StateError catch (_) { + // An error is propagated on a full page reload as Chrome presumably + // forces the SSE connection to close in a bad state. + print('Cannot send ConnectRequest. ' + 'Injected client connection is closed.'); + } } else { // If not Chromium we just invoke main, devtools aren't supported. runMain(); From a29331667ef621a4ea9397cfb29fcdeab4debf3b Mon Sep 17 00:00:00 2001 From: Anna Gringauze Date: Wed, 9 Mar 2022 08:56:49 -0800 Subject: [PATCH 2/4] Fix tests --- dwds/test/reload_test.dart | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/dwds/test/reload_test.dart b/dwds/test/reload_test.dart index 1d5c4874a..7e20c66e4 100644 --- a/dwds/test/reload_test.dart +++ b/dwds/test/reload_test.dart @@ -169,20 +169,15 @@ void main() { var client = context.debugConnection.vmService; await client.streamListen('Isolate'); - // The event just before hot restart is never received, - // but the injected client continues to work and send - // events after hot restart. + // The event just before hot restart might never be received, + // but the injected client continues to work and send events + // after hot restart. var eventsDone = expectLater( client.onIsolateEvent, - emitsInOrder([ - _hasKind(EventKind.kIsolateExit), - _hasKind(EventKind.kIsolateStart), - _hasKind(EventKind.kIsolateRunnable), - _hasKind(EventKind.kServiceExtensionAdded).having( - (e) => e.extensionRPC, 'service', 'ext.flutter.disassemble'), + emitsThrough( _hasKind(EventKind.kServiceExtensionAdded) .having((e) => e.extensionRPC, 'service', 'ext.bar'), - ])); + )); var vm = await client.getVM(); var isolateId = vm.isolates.first.id; @@ -214,7 +209,7 @@ void main() { var source = await context.webDriver.pageSource; // Main is re-invoked which shouldn't clear the state. expect(source, contains('Hello World!')); - }); + }, solo: true); test('can refresh the page via the fullReload service extension', () async { var client = context.debugConnection.vmService; From 078e24c95527b2a35a0281db2a567e7c6b5db0b8 Mon Sep 17 00:00:00 2001 From: Anna Gringauze Date: Wed, 9 Mar 2022 09:04:10 -0800 Subject: [PATCH 3/4] Removed stray solo --- dwds/test/reload_test.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dwds/test/reload_test.dart b/dwds/test/reload_test.dart index 7e20c66e4..0cb7276ca 100644 --- a/dwds/test/reload_test.dart +++ b/dwds/test/reload_test.dart @@ -209,7 +209,7 @@ void main() { var source = await context.webDriver.pageSource; // Main is re-invoked which shouldn't clear the state. expect(source, contains('Hello World!')); - }, solo: true); + }); test('can refresh the page via the fullReload service extension', () async { var client = context.debugConnection.vmService; From e3695d128f594191c182823182e6254607ba9948 Mon Sep 17 00:00:00 2001 From: Anna Gringauze Date: Wed, 9 Mar 2022 11:07:07 -0800 Subject: [PATCH 4/4] Addressed CR comments --- dwds/lib/src/injected/client.js | 389 +++++++++----------------------- dwds/web/client.dart | 82 ++++--- 2 files changed, 148 insertions(+), 323 deletions(-) diff --git a/dwds/lib/src/injected/client.js b/dwds/lib/src/injected/client.js index 16d1d9852..d25c60a3d 100644 --- a/dwds/lib/src/injected/client.js +++ b/dwds/lib/src/injected/client.js @@ -1911,10 +1911,6 @@ this.__late_helper$_name = t0; this.__late_helper$_value = null; }, - _checkViewArguments(buffer, offsetInBytes, $length) { - if (!A._isInt(offsetInBytes)) - throw A.wrapException(A.ArgumentError$("Invalid view offsetInBytes " + A.S(offsetInBytes), null)); - }, _ensureNativeList(list) { return list; }, @@ -1922,7 +1918,8 @@ return new Int8Array(arg); }, NativeUint8List_NativeUint8List$view(buffer, offsetInBytes, $length) { - A._checkViewArguments(buffer, offsetInBytes, $length); + if (!A._isInt(offsetInBytes)) + A.throwExpression(A.ArgumentError$("Invalid view offsetInBytes " + A.S(offsetInBytes), null)); return $length == null ? new Uint8Array(buffer, offsetInBytes) : new Uint8Array(buffer, offsetInBytes, $length); }, _checkValidIndex(index, list, $length) { @@ -2542,7 +2539,7 @@ argumentsText += sep; if (named[i + 1]) argumentsText += "required "; - argumentsText += J.$add$ansx(A._rtiToString(named[i + 2], genericContext), " ") + named[i]; + argumentsText += J.$add$ns(A._rtiToString(named[i + 2], genericContext), " ") + named[i]; } argumentsText += "}"; } @@ -2573,7 +2570,7 @@ questionArgument = rti._primary; s = A._rtiToString(questionArgument, genericContext); argumentKind = questionArgument._kind; - return J.$add$ansx(argumentKind === 11 || argumentKind === 12 ? B.JSString_methods.$add("(", s) + ")" : s, "?"); + return J.$add$ns(argumentKind === 11 || argumentKind === 12 ? B.JSString_methods.$add("(", s) + ")" : s, "?"); } if (kind === 8) return "FutureOr<" + A.S(A._rtiToString(rti._primary, genericContext)) + ">"; @@ -4944,7 +4941,7 @@ Expando__checkType(object) { var t1 = typeof object == "number" || false; if (t1) - throw A.wrapException(A.ArgumentError$value(object, string$.Expand, null)); + throw A.wrapException(A.ArgumentError$value(object, "Expandos are not allowed on strings, numbers, booleans or null", null)); }, int_parse(source, radix) { var value = A.Primitives_parseInt(source, radix); @@ -5309,11 +5306,11 @@ return A.ioore(xDigits, i); digit = xDigits[i]; t3 = i + digitShift + 1; - t4 = B.JSInt_methods._shrReceiverPositive$1(digit, carryBitShift); + t4 = B.JSInt_methods.$shr(digit, carryBitShift); if (!(t3 >= 0 && t3 < t2)) return A.ioore(resultDigits, t3); resultDigits[t3] = (t4 | carry) >>> 0; - carry = B.JSInt_methods.$shl(digit & bitMask, bitShift); + carry = B.JSInt_methods.$shl((digit & bitMask) >>> 0, bitShift); } if (!(digitShift >= 0 && digitShift < t2)) return A.ioore(resultDigits, digitShift); @@ -5347,18 +5344,18 @@ t1 = xDigits.length; if (!(digitsShift >= 0 && digitsShift < t1)) return A.ioore(xDigits, digitsShift); - carry = B.JSInt_methods._shrReceiverPositive$1(xDigits[digitsShift], bitShift); + carry = B.JSInt_methods.$shr(xDigits[digitsShift], bitShift); last = xUsed - digitsShift - 1; for (t2 = resultDigits.length, 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, carryBitShift); + t3 = B.JSInt_methods.$shl((digit & bitMask) >>> 0, carryBitShift); if (!(i < t2)) return A.ioore(resultDigits, i); resultDigits[i] = (t3 | carry) >>> 0; - carry = B.JSInt_methods._shrReceiverPositive$1(digit, bitShift); + carry = B.JSInt_methods.$shr(digit, bitShift); } if (!(last >= 0 && last < t2)) return A.ioore(resultDigits, last); @@ -5392,7 +5389,7 @@ if (!(i < t3)) return A.ioore(resultDigits, i); resultDigits[i] = carry & 65535; - carry = carry >>> 16; + carry = B.JSInt_methods._shrOtherPositive$1(carry, 16); } for (i = otherUsed; i < used; ++i) { if (!(i >= 0 && i < t1)) @@ -5401,7 +5398,7 @@ if (!(i < t3)) return A.ioore(resultDigits, i); resultDigits[i] = carry & 65535; - carry = carry >>> 16; + carry = B.JSInt_methods._shrOtherPositive$1(carry, 16); } if (!(used >= 0 && used < t3)) return A.ioore(resultDigits, used); @@ -8678,6 +8675,17 @@ main() { return A.runZonedGuarded(new A.main_closure(), new A.main_closure0(), type$.legacy_Future_void); }, + _trySendEvent(sink, serialized, $T) { + var exception; + try { + sink.add$1(0, serialized); + } catch (exception) { + if (A.unwrapException(exception) instanceof A.StateError) + A.print("Cannot send event " + A.S(serialized) + ". Injected client connection is closed."); + else + throw exception; + } + }, main_closure: function main_closure() { }, main__closure: function main__closure(t0) { @@ -8974,24 +8982,6 @@ return receiver; return J.getNativeInterceptor(receiver); }, - getInterceptor$ansx(receiver) { - if (typeof receiver == "number") - return J.JSNumber.prototype; - if (typeof receiver == "string") - return J.JSString.prototype; - if (receiver == null) - return receiver; - if (receiver.constructor == Array) - return J.JSArray.prototype; - if (typeof receiver != "object") { - if (typeof receiver == "function") - return J.JavaScriptFunction.prototype; - return receiver; - } - if (receiver instanceof A.Object) - return receiver; - return J.getNativeInterceptor(receiver); - }, getInterceptor$asx(receiver) { if (typeof receiver == "string") return J.JSString.prototype; @@ -9022,15 +9012,6 @@ return receiver; return J.getNativeInterceptor(receiver); }, - getInterceptor$n(receiver) { - if (typeof receiver == "number") - return J.JSNumber.prototype; - if (receiver == null) - return receiver; - if (!(receiver instanceof A.Object)) - return J.UnknownJavaScriptObject.prototype; - return receiver; - }, getInterceptor$ns(receiver) { if (typeof receiver == "number") return J.JSNumber.prototype; @@ -9112,13 +9093,10 @@ get$runtimeType$(receiver) { return J.getInterceptor$(receiver).get$runtimeType(receiver); }, - get$stream$z(receiver) { - return J.getInterceptor$z(receiver).get$stream(receiver); - }, - $add$ansx(receiver, a0) { + $add$ns(receiver, a0) { if (typeof receiver == "number" && typeof a0 == "number") return receiver + a0; - return J.getInterceptor$ansx(receiver).$add(receiver, a0); + return J.getInterceptor$ns(receiver).$add(receiver, a0); }, $eq$(receiver, a0) { if (receiver == null) @@ -9140,11 +9118,6 @@ $indexSet$ax(receiver, a0, a1) { return J.getInterceptor$ax(receiver).$indexSet(receiver, a0, a1); }, - $sub$n(receiver, a0) { - if (typeof receiver == "number" && typeof a0 == "number") - return receiver - a0; - return J.getInterceptor$n(receiver).$sub(receiver, a0); - }, _clearChildren$0$x(receiver) { return J.getInterceptor$x(receiver)._clearChildren$0(receiver); }, @@ -9612,13 +9585,6 @@ throw A.wrapException(A.diagnoseIndexError(receiver, index)); receiver[index] = value; }, - $add(receiver, other) { - var t1 = A._arrayInstanceType(receiver); - t1._eval$1("List<1>")._as(other); - t1 = A.List_List$of(receiver, true, t1._precomputed1); - this.addAll$1(t1, other); - return t1; - }, $isEfficientLengthIterable: 1, $isIterable: 1, $isList: 1 @@ -9755,17 +9721,6 @@ scaled = absolute < 1 ? absolute / factor : factor / absolute; return ((scaled * 9007199254740992 | 0) + (scaled * 3542243181176521 | 0)) * 599197 + floorLog2 * 1259 & 536870911; }, - $add(receiver, other) { - if (typeof other != "number") - throw A.wrapException(A.argumentErrorValue(other)); - return receiver + other; - }, - $sub(receiver, other) { - A._asNumS(other); - if (typeof other != "number") - throw A.wrapException(A.argumentErrorValue(other)); - return receiver - other; - }, $mod(receiver, other) { var result = receiver % other; if (result === 0) @@ -9802,6 +9757,18 @@ _shlPositive$1(receiver, other) { return other > 31 ? 0 : receiver << other >>> 0; }, + $shr(receiver, other) { + var t1; + if (other < 0) + throw A.wrapException(A.argumentErrorValue(other)); + if (receiver > 0) + t1 = this._shrBothPositive$1(receiver, other); + else { + t1 = other > 31 ? 31 : other; + t1 = receiver >> t1 >>> 0; + } + return t1; + }, _shrOtherPositive$1(receiver, other) { var t1; if (receiver > 0) @@ -9895,7 +9862,6 @@ return new A.StringMatch(start, receiver); }, $add(receiver, other) { - A._asStringS(other); if (typeof other != "string") throw A.wrapException(A.ArgumentError$value(other, null, null)); return receiver + other; @@ -10013,11 +9979,6 @@ get$length(receiver) { return receiver.length; }, - $index(receiver, index) { - if (index >= receiver.length) - throw A.wrapException(A.diagnoseIndexError(receiver, index)); - return receiver[index]; - }, $isComparable: 1, $isPattern: 1, $isString: 1 @@ -11193,12 +11154,6 @@ var t1 = this._match; return t1.index + t1[0].length; }, - $index(_, index) { - var t1 = this._match; - if (!(index < t1.length)) - return A.ioore(t1, index); - return t1[index]; - }, $isMatch: 1, $isRegExpMatch: 1 }; @@ -11250,14 +11205,7 @@ }, $isIterator: 1 }; - A.StringMatch.prototype = { - $index(_, g) { - if (g !== 0) - A.throwExpression(A.RangeError$value(g, null)); - return this.pattern; - }, - $isMatch: 1 - }; + A.StringMatch.prototype = {$isMatch: 1}; A._StringAllMatchesIterable.prototype = { get$iterator(_) { return new A._StringAllMatchesIterator(this._input, this._pattern, this.__js_helper$_index); @@ -13028,17 +12976,6 @@ bindUnaryCallbackGuarded$1$1(f, $T) { return new A._CustomZone_bindUnaryCallbackGuarded_closure(this, this.registerUnaryCallback$2$1($T._eval$1("~(0)")._as(f), type$.void, $T), $T); }, - $index(_, key) { - var value, - t1 = this._async$_map, - result = t1.$index(0, key); - if (result != null || t1.containsKey$1(0, key)) - return result; - value = this.parent.$index(0, key); - if (value != null) - t1.$indexSet(0, key, value); - return value; - }, handleUncaughtError$2(error, stackTrace) { this._processUncaughtError$3(this, error, type$.StackTrace._as(stackTrace)); }, @@ -13327,9 +13264,6 @@ bindUnaryCallbackGuarded$1$1(f, $T) { return new A._RootZone_bindUnaryCallbackGuarded_closure(this, $T._eval$1("~(0)")._as(f), $T); }, - $index(_, key) { - return null; - }, handleUncaughtError$2(error, stackTrace) { A._rootHandleError(error, type$.StackTrace._as(stackTrace)); }, @@ -14216,13 +14150,6 @@ t2 = compare == null ? A.collection_ListMixin__compareAny$closure() : compare; A.Sort_sort(receiver, t2, t1._eval$1("ListMixin.E")); }, - $add(receiver, other) { - var t1 = A.instanceType(receiver); - t1._eval$1("List")._as(other); - t1 = A.List_List$of(receiver, true, t1._eval$1("ListMixin.E")); - B.JSArray_methods.addAll$1(t1, other); - return t1; - }, sublist$2(receiver, start, end) { var listLength = this.get$length(receiver); if (end == null) @@ -15565,7 +15492,7 @@ t1 = digits.length; if (!(digitShift >= 0 && digitShift < t1)) return A.ioore(digits, digitShift); - if ((digits[digitShift] & B.JSInt_methods.$shl(1, bitShift) - 1) !== 0) + if ((digits[digitShift] & B.JSInt_methods.$shl(1, bitShift) - 1) >>> 0 !== 0) return result.$sub(0, $.$get$_BigIntImpl_one()); for (i = 0; i < digitShift; ++i) { if (!(i < t1)) @@ -15616,9 +15543,8 @@ return new A._BigIntImpl(t1 === 0 ? false : isNegative, resultDigits, t1); }, $add(_, other) { - var t1, t2, isNegative, _this = this; - type$._BigIntImpl._as(other); - t1 = _this._used; + var t2, isNegative, _this = this, + t1 = _this._used; if (t1 === 0) return other; t2 = other._used; @@ -15632,9 +15558,8 @@ return other._absSubSetSign$2(_this, !isNegative); }, $sub(_, other) { - var t1, t2, isNegative, _this = this; - type$._BigIntImpl._as(other); - t1 = _this._used; + var t2, isNegative, _this = this, + t1 = _this._used; if (t1 === 0) return other.$negate(0); t2 = other._used; @@ -15882,12 +15807,6 @@ $isComparable: 1 }; A.Duration.prototype = { - $add(_, other) { - return new A.Duration(B.JSInt_methods.$add(this._duration, type$.Duration._as(other).get$_duration())); - }, - $sub(_, other) { - return new A.Duration(B.JSInt_methods.$sub(this._duration, type$.Duration._as(other).get$_duration())); - }, $eq(_, other) { if (other == null) return false; @@ -16653,12 +16572,6 @@ }; A._DataUri.prototype = {}; A.Expando.prototype = { - $index(_, object) { - var t1 = typeof object == "number" || false; - if (t1) - A.throwExpression(A.ArgumentError$value(object, string$.Expand, null)); - return this._jsWeakMap.get(object); - }, toString$0(_) { return "Expando:null"; } @@ -16725,9 +16638,6 @@ A.DataTransferItemList.prototype = { get$length(receiver) { return receiver.length; - }, - $index(receiver, index) { - return receiver[index]; } }; A.Document.prototype = {$isDocument: 1}; @@ -19268,10 +19178,6 @@ $index(_, index) { return J.$index$asx(this._copy_on_write_list$_list, index); }, - $add(_, other) { - this.$ti._eval$1("List<1>")._as(other); - return J.$add$ansx(this._copy_on_write_list$_list, other); - }, cast$1$0(_, $T) { return new A.CopyOnWriteList(true, J.cast$1$0$ax(this._copy_on_write_list$_list, $T), $T._eval$1("CopyOnWriteList<0>")); }, @@ -19389,16 +19295,6 @@ toString$0(_) { return A.IterableBase_iterableToFullString(this._list, "[", "]"); }, - $index(_, index) { - var t1 = this._list; - if (!(index < t1.length)) - return A.ioore(t1, index); - return t1[index]; - }, - $add(_, other) { - var t1 = this.$ti; - return new A._BuiltList(B.JSArray_methods.$add(this._list, t1._eval$1("BuiltList<1>")._as(other).get$_list()), t1._eval$1("_BuiltList<1>")); - }, get$length(_) { return this._list.length; }, @@ -19486,9 +19382,6 @@ _this.set$_listOwner(null); } }, - $index(_, index) { - return J.$index$asx(A._lateReadCheck(this.__ListBuilder__list, "_list"), index); - }, get$length(_) { return J.get$length$asx(A._lateReadCheck(this.__ListBuilder__list, "_list")); }, @@ -19564,10 +19457,6 @@ toString$0(_) { return A.MapBase_mapToString(this._list_multimap$_map); }, - $index(_, key) { - var result = this._list_multimap$_map.$index(0, key); - return result == null ? this._emptyList : result; - }, get$keys(_) { var t1, _this = this; if (_this._list_multimap$_keys == null) { @@ -19652,12 +19541,6 @@ replace$1(_, multimap) { this._list_multimap$_setWithCopyAndCheck$2(multimap.get$keys(multimap), new A.ListMultimapBuilder_replace_closure(multimap)); }, - $index(_, key) { - var t1; - this._makeWriteableCopy$0(); - t1 = this.$ti; - return t1._precomputed1._is(key) ? this._list_multimap$_getValuesBuilder$1(key) : A.ListBuilder_ListBuilder(B.List_empty0, t1._rest[1]); - }, _list_multimap$_getValuesBuilder$1(key) { var result, builtValues, _this = this, _s11_ = "_builderMap", @@ -19671,14 +19554,6 @@ } return result; }, - _makeWriteableCopy$0() { - var t1, _this = this; - if (_this._list_multimap$_builtMapOwner != null) { - t1 = _this.$ti; - _this.set$__ListMultimapBuilder__builtMap(t1._eval$1("Map<1,BuiltList<2>>")._as(A.LinkedHashMap_LinkedHashMap$from(A._lateReadCheck(_this.__ListMultimapBuilder__builtMap, "_builtMap"), t1._precomputed1, t1._eval$1("BuiltList<2>")))); - _this.set$_list_multimap$_builtMapOwner(null); - } - }, _list_multimap$_setWithCopyAndCheck$2(keys, lookup) { var t1, t2, t3, t4, t5, t6, key, t7, value, t8, t9, t10, _this = this, _null = null; _this.set$_list_multimap$_builtMapOwner(_null); @@ -19801,9 +19676,6 @@ toString$0(_) { return A.MapBase_mapToString(this._map$_map); }, - $index(_, key) { - return this._map$_map.$index(0, key); - }, get$keys(_) { var t1, _this = this; if (_this._map$_keys == null) { @@ -19880,9 +19752,6 @@ _this.set$_mapOwner(null); _this.set$__MapBuilder__map(replacement); }, - $index(_, key) { - return J.$index$asx(A._lateReadCheck(this.__MapBuilder__map, "_map"), key); - }, $indexSet(_, key, value) { var t2, _this = this, t1 = _this.$ti; @@ -20158,10 +20027,6 @@ toString$0(_) { return A.MapBase_mapToString(this._set_multimap$_map); }, - $index(_, key) { - var result = this._set_multimap$_map.$index(0, key); - return result == null ? this._emptySet : result; - }, get$keys(_) { var t1, _this = this; if (_this._set_multimap$_keys == null) { @@ -21606,32 +21471,34 @@ equals$2(elements1, elements2) { var counts, $length, e, count, t1 = A._instanceType(this), - t2 = t1._eval$1("_UnorderedEquality.T"); + t2 = t1._eval$1("_UnorderedEquality.T?"); t2._as(elements1); t2._as(elements2); if (elements1 === elements2) return true; t2 = this._elementEquality; - counts = A.HashMap_HashMap(t1._eval$1("bool(_UnorderedEquality.E,_UnorderedEquality.E)")._as(t2.get$equals()), t1._eval$1("int(_UnorderedEquality.E)")._as(t2.get$hash(t2)), t2.get$isValidKey(), t1._eval$1("_UnorderedEquality.E"), type$.dynamic); + counts = A.HashMap_HashMap(t1._eval$1("bool(_UnorderedEquality.E,_UnorderedEquality.E)")._as(t2.get$equals()), t1._eval$1("int(_UnorderedEquality.E)")._as(t2.get$hash(t2)), t2.get$isValidKey(), t1._eval$1("_UnorderedEquality.E"), type$.int); for (t1 = J.get$iterator$ax(elements1), $length = 0; t1.moveNext$0();) { e = t1.get$current(t1); count = counts.$index(0, e); - counts.$indexSet(0, e, J.$add$ansx(count == null ? 0 : count, 1)); + counts.$indexSet(0, e, (count == null ? 0 : count) + 1); ++$length; } for (t1 = J.get$iterator$ax(elements2); t1.moveNext$0();) { e = t1.get$current(t1); count = counts.$index(0, e); - if (count == null || J.$eq$(count, 0)) + if (count == null || count === 0) return false; - counts.$indexSet(0, e, J.$sub$n(count, 1)); + if (typeof count !== "number") + return count.$sub(); + counts.$indexSet(0, e, count - 1); --$length; } return $length === 0; }, hash$1(_, elements) { var t1, t2, hash, c; - A._instanceType(this)._eval$1("_UnorderedEquality.T")._as(elements); + A._instanceType(this)._eval$1("_UnorderedEquality.T?")._as(elements); for (t1 = J.get$iterator$ax(elements), t2 = this._elementEquality, hash = 0; t1.moveNext$0();) { c = t2.hash$1(0, t1.get$current(t1)); if (typeof c !== "number") @@ -23343,16 +23210,6 @@ $signature: 59 }; A.Int64.prototype = { - $add(_, other) { - var o = A.Int64__promote(other), - sum0 = this._l + o._l, - sum1 = this._m + o._m + (sum0 >>> 22); - return new A.Int64(sum0 & 4194303, sum1 & 4194303, this._h + o._h + (sum1 >>> 22) & 1048575); - }, - $sub(_, other) { - var o = A.Int64__promote(other); - return A.Int64__sub(this._l, this._m, this._h, o._l, o._m, o._h); - }, $eq(_, other) { var o, _this = this; if (other == null) @@ -24045,7 +23902,7 @@ 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, + var seedBytes, nodeId, t2, t3, t4, clockSeq, nSecs, mSecs, 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", @@ -24056,9 +23913,9 @@ t1 = J.$index$asx(_this.get$_uuid$_state(), _s9_); t1.toString; if (!A._asBoolS(t1)) { - B.Map_empty.$index(0, "v1rngPositionalArgs"); - B.Map_empty.$index(0, "v1rngNamedArgs"); - B.Map_empty.$index(0, "v1rng"); + B.Map_empty1.$index(0, "v1rngPositionalArgs"); + B.Map_empty1.$index(0, "v1rngNamedArgs"); + B.Map_empty1.$index(0, "v1rng"); seedBytes = A.UuidUtil_mathRNG(); if (J.$index$asx(_this.get$_uuid$_state(), _s9_0) != null) J.$index$asx(_this.get$_uuid$_state(), _s9_0); @@ -24082,48 +23939,48 @@ options.$index(0, _s8_); clockSeq = A._asIntS(J.$index$asx(_this.get$_uuid$_state(), _s8_)); options.$index(0, _s5_); - mSecs = Date.now(); + t1 = Date.now(); options.$index(0, _s5_0); - t1 = J.$index$asx(_this.get$_uuid$_state(), _s5_0); - t1.toString; - nSecs = A._asIntS(t1) + 1; - t1 = J.$index$asx(_this.get$_uuid$_state(), _s5_); - if (typeof t1 !== "number") - return A.iae(t1); t2 = J.$index$asx(_this.get$_uuid$_state(), _s5_0); + t2.toString; + nSecs = A._asIntS(t2) + 1; + t2 = A._asNumS(J.$index$asx(_this.get$_uuid$_state(), _s5_)); if (typeof t2 !== "number") return A.iae(t2); - t1 = mSecs - t1 + (nSecs - t2) / 10000 < 0; - if (t1) { + t3 = A._asNumS(J.$index$asx(_this.get$_uuid$_state(), _s5_0)); + if (typeof t3 !== "number") + return A.iae(t3); + t2 = t1 - t2 + (nSecs - t3) / 10000 < 0; + if (t2) { options.$index(0, _s8_); - t2 = true; + t3 = true; } else - t2 = false; - if (t2) { + t3 = false; + if (t3) { if (typeof clockSeq !== "number") return clockSeq.$add(); clockSeq = clockSeq + 1 & 16383; } - if (!t1) { - t1 = J.$index$asx(_this.get$_uuid$_state(), _s5_); - if (typeof t1 !== "number") - return A.iae(t1); - t1 = mSecs > t1; + if (!t2) { + t2 = A._asNumS(J.$index$asx(_this.get$_uuid$_state(), _s5_)); + if (typeof t2 !== "number") + return A.iae(t2); + t2 = t1 > t2; } else - t1 = true; - if (t1) { + t2 = true; + if (t2) { options.$index(0, _s5_0); - t1 = true; + t2 = true; } else - t1 = false; - if (t1) + t2 = false; + if (t2) 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_, t1); J.$indexSet$ax(_this.get$_uuid$_state(), _s5_0, nSecs); J.$indexSet$ax(_this.get$_uuid$_state(), _s8_, clockSeq); - mSecs += 122192928e5; + mSecs = t1 + 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; @@ -24139,7 +23996,7 @@ buf[8] = clockSeq >>> 8 & 63 | 128; buf[9] = clockSeq & 255; options.$index(0, _s4_); - node = J.$index$asx(_this.get$_uuid$_state(), _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) B.NativeUint8List_methods.$indexSet(buf, 10 + n, A._asIntS(t1.$index(node, n))); t1 = $.$get$Uuid__byteToHex(); @@ -24406,7 +24263,7 @@ call$0() { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.Null), - $async$next = [], client, uri, fixedPath, fixedUri, restarter, manager, debugEventController, t1, t2, t3, exception; + uri, fixedPath, fixedUri, client, restarter, manager, debugEventController, t1, t2, t3; var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -24459,27 +24316,20 @@ self.$emitDebugEvent = A.allowInterop(new A.main__closure1(debugEventController), type$.legacy_void_Function_2_legacy_String_and_legacy_String); self.$emitRegisterEvent = A.allowInterop(new A.main__closure2(client), type$.legacy_void_Function_legacy_String); self.$launchDevTools = A.allowInterop(new A.main__closure3(client), type$.legacy_void_Function); - J.get$stream$z(client).listen$2$onError(new A.main__closure4(manager), new A.main__closure5()); + client.get$stream(client).listen$2$onError(new A.main__closure4(manager), new A.main__closure5()); if (A.boolConversionCheck(self.$dwdsEnableDevtoolsLaunch)) { t1 = window; t2 = type$.nullable_void_Function_legacy_KeyboardEvent._as(new A.main__closure6()); type$.nullable_void_Function._as(null); A._EventStreamSubscription$(t1, "keydown", t2, false, type$.legacy_KeyboardEvent); } - if (J.contains$1$asx(window.navigator.vendor, "Google")) - try { - t1 = client.get$sink(); - t2 = $.$get$serializers(); - t3 = new A.ConnectRequestBuilder(); - type$.legacy_void_Function_legacy_ConnectRequestBuilder._as(new A.main__closure7()).call$1(t3); - t1.add$1(0, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3.build$0()), null)); - } catch (exception) { - if (A.unwrapException(exception) instanceof A.StateError) - A.print("Cannot send ConnectRequest. Injected client connection is closed."); - else - throw exception; - } - else + if (J.contains$1$asx(window.navigator.vendor, "Google")) { + t1 = client.get$sink(); + t2 = $.$get$serializers(); + t3 = new A.ConnectRequestBuilder(); + type$.legacy_void_Function_legacy_ConnectRequestBuilder._as(new A.main__closure7()).call$1(t3); + A._trySendEvent(t1, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3.build$0()), null), type$.dynamic); + } else A.runMain(); self.window.top.document.dispatchEvent(A.CustomEvent_CustomEvent("dart-app-ready")); // implicit return @@ -24498,19 +24348,14 @@ }; A.main__closure0.prototype = { call$1(events) { - var t1, t2, t3, exception; + var t1, t2, t3; type$.legacy_List_legacy_DebugEvent._as(events); - try { + if (A.boolConversionCheck(self.$dartEmitDebugEvents)) { t1 = this.client.get$sink(); t2 = $.$get$serializers(); t3 = new A.BatchedDebugEventsBuilder(); type$.legacy_void_Function_legacy_BatchedDebugEventsBuilder._as(new A.main___closure2(events)).call$1(t3); - t1.add$1(0, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3.build$0()), null)); - } catch (exception) { - if (A.unwrapException(exception) instanceof A.StateError) - A.print("Cannot send BatchedDEbugEvents(" + A.S(events) + "). Injected client connection is closed."); - else - throw exception; + A._trySendEvent(t1, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3.build$0()), null), type$.dynamic); } }, $signature: 69 @@ -24533,7 +24378,7 @@ t1 = this.debugEventController._inputController; t2 = new A.DebugEventBuilder(); type$.legacy_void_Function_legacy_DebugEventBuilder._as(new A.main___closure1(kind, eventData)).call$1(t2); - t1.add$1(0, A._instanceType(t1)._precomputed1._as(t2.build$0())); + A._trySendEvent(new A._StreamSinkWrapper(t1, A._instanceType(t1)._eval$1("_StreamSinkWrapper<1>")), t2.build$0(), type$.legacy_DebugEvent); } }, $signature: 71 @@ -24550,20 +24395,13 @@ }; A.main__closure2.prototype = { call$1(eventData) { - var t1, t2, t3, exception; + var t1, t2, t3; A._asStringS(eventData); - try { - t1 = this.client.get$sink(); - t2 = $.$get$serializers(); - t3 = new A.RegisterEventBuilder(); - type$.legacy_void_Function_legacy_RegisterEventBuilder._as(new A.main___closure0(eventData)).call$1(t3); - t1.add$1(0, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3.build$0()), null)); - } catch (exception) { - if (A.unwrapException(exception) instanceof A.StateError) - A.print("Cannot send RegisterEvent(" + A.S(eventData) + "). Injected client connection is closed."); - else - throw exception; - } + t1 = this.client.get$sink(); + t2 = $.$get$serializers(); + t3 = new A.RegisterEventBuilder(); + type$.legacy_void_Function_legacy_RegisterEventBuilder._as(new A.main___closure0(eventData)).call$1(t3); + A._trySendEvent(t1, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3.build$0()), null), type$.dynamic); }, $signature: 73 }; @@ -24578,23 +24416,16 @@ }; A.main__closure3.prototype = { call$0() { - var t1, t2, t3, exception; + var t1, t2, t3; if (!J.contains$1$asx(window.navigator.vendor, "Google")) { B.Window_methods.alert$1(window, "Dart DevTools is only supported on Chromium based browsers."); return; } - try { - t1 = this.client.get$sink(); - t2 = $.$get$serializers(); - t3 = new A.DevToolsRequestBuilder(); - type$.legacy_void_Function_legacy_DevToolsRequestBuilder._as(new A.main___closure()).call$1(t3); - t1.add$1(0, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3.build$0()), null)); - } catch (exception) { - if (A.unwrapException(exception) instanceof A.StateError) - A.print("Cannot send DevToolsRequest. Injected client connection is closed."); - else - throw exception; - } + t1 = this.client.get$sink(); + t2 = $.$get$serializers(); + t3 = new A.DevToolsRequestBuilder(); + type$.legacy_void_Function_legacy_DevToolsRequestBuilder._as(new A.main___closure()).call$1(t3); + A._trySendEvent(t1, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3.build$0()), null), type$.dynamic); }, $signature: 2 }; @@ -25561,11 +25392,10 @@ leafTags: null, arrayRti: Symbol("$ti") }; - A._Universe_addRules(init.typeUniverse, JSON.parse('{"PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","JavaScriptFunction":"LegacyJavaScriptObject","Promise":"LegacyJavaScriptObject","JsError":"LegacyJavaScriptObject","RequireLoader":"LegacyJavaScriptObject","JsMap":"LegacyJavaScriptObject","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","HttpRequestUpload":"HttpRequestEventTarget","HtmlFormControlsCollection":"HtmlCollection","CssCharsetRule":"CssRule","CssStyleSheet":"StyleSheet","JSBool":{"bool":[]},"JSNull":{"Null":[]},"LegacyJavaScriptObject":{"JSObject":[],"Promise":["1&"],"JsError":[]},"JSArray":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"ArrayIterator":{"Iterator":["1"]},"JSNumber":{"double":[],"num":[],"Comparable":["num"]},"JSInt":{"double":[],"int":[],"num":[],"Comparable":["num"]},"JSNumNotInt":{"double":[],"num":[],"Comparable":["num"]},"JSString":{"String":[],"Comparable":["String"],"Pattern":[]},"_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":{"ListMixin":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"]},"CastList":{"_CastListBase":["1","2"],"ListMixin":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListMixin.E":"2","Iterable.E":"2"},"CastSet":{"Set":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"CastMap":{"MapMixin":["3","4"],"Map":["3","4"],"MapMixin.K":"3","MapMixin.V":"4"},"CastQueue":{"Queue":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"LateError":{"Error":[]},"ReachabilityError":{"Error":[]},"NotNullableError":{"TypeError":[],"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"]},"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":{"ListMixin":["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"]},"_ConstantMapKeyIterable":{"Iterable":["1"],"Iterable.E":"1"},"JSInvocationMirror":{"Invocation":[]},"NullError":{"TypeError":[],"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Function":[]},"Closure2Args":{"Function":[]},"TearOffClosure":{"Function":[]},"StaticClosure":{"Function":[]},"BoundClosure":{"Function":[]},"RuntimeError":{"Error":[]},"_AssertionError":{"Error":[]},"JsLinkedHashMap":{"MapMixin":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapMixin.K":"1","MapMixin.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":{"ByteBuffer":[]},"NativeTypedData":{"TypedData":[]},"NativeByteData":{"NativeTypedData":[],"TypedData":[]},"NativeTypedArray":{"JavaScriptIndexingBehavior":["1"],"NativeTypedData":[],"TypedData":[]},"NativeTypedArrayOfDouble":{"ListMixin":["double"],"JavaScriptIndexingBehavior":["double"],"List":["double"],"NativeTypedData":[],"EfficientLengthIterable":["double"],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"ListMixin":["double"],"JavaScriptIndexingBehavior":["double"],"List":["double"],"NativeTypedData":[],"EfficientLengthIterable":["double"],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"ListMixin.E":"double"},"NativeFloat64List":{"ListMixin":["double"],"JavaScriptIndexingBehavior":["double"],"List":["double"],"NativeTypedData":[],"EfficientLengthIterable":["double"],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"ListMixin.E":"double"},"NativeInt16List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeInt32List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeInt8List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeUint16List":{"ListMixin":["int"],"Uint16List":[],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeUint32List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeUint8ClampedList":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeUint8List":{"ListMixin":["int"],"Uint8List":[],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.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"]},"StreamTransformerBase":{"StreamTransformer":["1","2"]},"_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":["@"]},"_StreamImplEvents":{"_PendingEvents":["1"]},"_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.K":"1","_SplayTreeNode.1":"_SplayTreeSetNode<1>"},"_HashMap":{"MapMixin":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapMixin.K":"1","MapMixin.V":"2"},"_IdentityHashMap":{"_HashMap":["1","2"],"MapMixin":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapMixin.K":"1","MapMixin.V":"2"},"_CustomHashMap":{"_HashMap":["1","2"],"MapMixin":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapMixin.K":"1","MapMixin.V":"2"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashMapKeyIterator":{"Iterator":["1"]},"_LinkedCustomHashMap":{"JsLinkedHashMap":["1","2"],"MapMixin":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapMixin.K":"1","MapMixin.V":"2"},"_HashSet":{"_SetBase":["1"],"SetMixin":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_HashSetIterator":{"Iterator":["1"]},"_LinkedHashSet":{"_SetBase":["1"],"SetMixin":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_LinkedHashSetIterator":{"Iterator":["1"]},"UnmodifiableListView":{"ListMixin":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListMixin.E":"1","UnmodifiableListMixin.E":"1"},"IterableBase":{"Iterable":["1"]},"ListBase":{"ListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapBase":{"MapMixin":["1","2"],"Map":["1","2"]},"MapMixin":{"Map":["1","2"]},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ListQueue":{"ListIterable":["1"],"Queue":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"_ListQueueIterator":{"Iterator":["1"]},"_SetBase":{"SetMixin":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SplayTreeIterator":{"Iterator":["3"]},"_SplayTreeKeyIterator":{"_SplayTreeIterator":["1","2","1"],"Iterator":["1"],"_SplayTreeIterator.1":"2","_SplayTreeIterator.K":"1"},"SplayTreeSet":{"SetMixin":["1"],"Set":["1"],"IterableMixin":["1"],"EfficientLengthIterable":["1"],"_SplayTree":["1","_SplayTreeSetNode<1>"],"Iterable":["1"],"_SplayTree.K":"1","_SplayTree.1":"_SplayTreeSetNode<1>"},"_JsonMap":{"MapMixin":["String","@"],"Map":["String","@"],"MapMixin.K":"String","MapMixin.V":"@"},"_JsonMapKeyIterable":{"ListIterable":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"ListIterable.E":"String","Iterable.E":"String"},"Base64Codec":{"Codec":["List","String"],"Codec.S":"List"},"Base64Encoder":{"Converter":["List","String"],"StreamTransformer":["List","String"]},"Converter":{"StreamTransformer":["1","2"]},"Encoding":{"Codec":["String","List"]},"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"],"Codec.S":"String"},"Utf8Encoder":{"Converter":["String","List"],"StreamTransformer":["String","List"]},"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":[]},"NullThrownError":{"Error":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"NoSuchMethodError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"CyclicInitializationError":{"Error":[]},"IntegerDivisionByZeroException":{"Error":[]},"_StringStackTrace":{"StackTrace":[]},"StringBuffer":{"StringSink":[]},"_Uri":{"Uri":[]},"_SimpleUri":{"Uri":[]},"_DataUri":{"Uri":[]},"CloseEvent":{"Event":[]},"Element":{"Node":[],"EventTarget":[]},"File":{"Blob":[]},"HttpRequest":{"EventTarget":[]},"KeyboardEvent":{"Event":[]},"MessageEvent":{"Event":[]},"Node":{"EventTarget":[]},"ProgressEvent":{"Event":[]},"ScriptElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"SourceBuffer":{"EventTarget":[]},"TextTrack":{"EventTarget":[]},"TextTrackCue":{"EventTarget":[]},"_Html5NodeValidator":{"NodeValidator":[]},"HtmlElement":{"Element":[],"Node":[],"EventTarget":[]},"AnchorElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"AreaElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"BaseElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"BodyElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"CharacterData":{"Node":[],"EventTarget":[]},"CustomEvent":{"Event":[]},"Document":{"Node":[],"EventTarget":[]},"DomRectList":{"ListMixin":["Rectangle"],"ImmutableListMixin":["Rectangle"],"List":["Rectangle"],"JavaScriptIndexingBehavior":["Rectangle"],"EfficientLengthIterable":["Rectangle"],"Iterable":["Rectangle"],"ImmutableListMixin.E":"Rectangle","ListMixin.E":"Rectangle"},"DomRectReadOnly":{"Rectangle":["num"]},"DomStringList":{"ListMixin":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptIndexingBehavior":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"ImmutableListMixin.E":"String","ListMixin.E":"String"},"_FrozenElementList":{"ListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListMixin.E":"1"},"EventSource":{"EventTarget":[]},"FileList":{"ListMixin":["File"],"ImmutableListMixin":["File"],"List":["File"],"JavaScriptIndexingBehavior":["File"],"EfficientLengthIterable":["File"],"Iterable":["File"],"ImmutableListMixin.E":"File","ListMixin.E":"File"},"FileWriter":{"EventTarget":[]},"FormElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"HtmlCollection":{"ListMixin":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"EfficientLengthIterable":["Node"],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListMixin.E":"Node"},"HtmlDocument":{"Document":[],"Node":[],"EventTarget":[]},"HttpRequestEventTarget":{"EventTarget":[]},"MessagePort":{"EventTarget":[]},"MidiInputMap":{"MapMixin":["String","@"],"Map":["String","@"],"MapMixin.K":"String","MapMixin.V":"@"},"MidiOutputMap":{"MapMixin":["String","@"],"Map":["String","@"],"MapMixin.K":"String","MapMixin.V":"@"},"MimeTypeArray":{"ListMixin":["MimeType"],"ImmutableListMixin":["MimeType"],"List":["MimeType"],"JavaScriptIndexingBehavior":["MimeType"],"EfficientLengthIterable":["MimeType"],"Iterable":["MimeType"],"ImmutableListMixin.E":"MimeType","ListMixin.E":"MimeType"},"_ChildNodeListLazy":{"ListMixin":["Node"],"List":["Node"],"EfficientLengthIterable":["Node"],"Iterable":["Node"],"ListMixin.E":"Node"},"NodeList":{"ListMixin":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"EfficientLengthIterable":["Node"],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListMixin.E":"Node"},"PluginArray":{"ListMixin":["Plugin"],"ImmutableListMixin":["Plugin"],"List":["Plugin"],"JavaScriptIndexingBehavior":["Plugin"],"EfficientLengthIterable":["Plugin"],"Iterable":["Plugin"],"ImmutableListMixin.E":"Plugin","ListMixin.E":"Plugin"},"RtcStatsReport":{"MapMixin":["String","@"],"Map":["String","@"],"MapMixin.K":"String","MapMixin.V":"@"},"SelectElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"SourceBufferList":{"ListMixin":["SourceBuffer"],"ImmutableListMixin":["SourceBuffer"],"EventTarget":[],"List":["SourceBuffer"],"JavaScriptIndexingBehavior":["SourceBuffer"],"EfficientLengthIterable":["SourceBuffer"],"Iterable":["SourceBuffer"],"ImmutableListMixin.E":"SourceBuffer","ListMixin.E":"SourceBuffer"},"SpeechGrammarList":{"ListMixin":["SpeechGrammar"],"ImmutableListMixin":["SpeechGrammar"],"List":["SpeechGrammar"],"JavaScriptIndexingBehavior":["SpeechGrammar"],"EfficientLengthIterable":["SpeechGrammar"],"Iterable":["SpeechGrammar"],"ImmutableListMixin.E":"SpeechGrammar","ListMixin.E":"SpeechGrammar"},"Storage":{"MapMixin":["String","String"],"Map":["String","String"],"MapMixin.K":"String","MapMixin.V":"String"},"TableElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"TableRowElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"TableSectionElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"TemplateElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"TextTrackCueList":{"ListMixin":["TextTrackCue"],"ImmutableListMixin":["TextTrackCue"],"List":["TextTrackCue"],"JavaScriptIndexingBehavior":["TextTrackCue"],"EfficientLengthIterable":["TextTrackCue"],"Iterable":["TextTrackCue"],"ImmutableListMixin.E":"TextTrackCue","ListMixin.E":"TextTrackCue"},"TextTrackList":{"ListMixin":["TextTrack"],"ImmutableListMixin":["TextTrack"],"EventTarget":[],"List":["TextTrack"],"JavaScriptIndexingBehavior":["TextTrack"],"EfficientLengthIterable":["TextTrack"],"Iterable":["TextTrack"],"ImmutableListMixin.E":"TextTrack","ListMixin.E":"TextTrack"},"TouchList":{"ListMixin":["Touch"],"ImmutableListMixin":["Touch"],"List":["Touch"],"JavaScriptIndexingBehavior":["Touch"],"EfficientLengthIterable":["Touch"],"Iterable":["Touch"],"ImmutableListMixin.E":"Touch","ListMixin.E":"Touch"},"UIEvent":{"Event":[]},"VideoTrackList":{"EventTarget":[]},"WebSocket":{"EventTarget":[]},"Window":{"EventTarget":[]},"WorkerGlobalScope":{"EventTarget":[]},"_Attr":{"Node":[],"EventTarget":[]},"_CssRuleList":{"ListMixin":["CssRule"],"ImmutableListMixin":["CssRule"],"List":["CssRule"],"JavaScriptIndexingBehavior":["CssRule"],"EfficientLengthIterable":["CssRule"],"Iterable":["CssRule"],"ImmutableListMixin.E":"CssRule","ListMixin.E":"CssRule"},"_DomRect":{"Rectangle":["num"]},"_GamepadList":{"ListMixin":["Gamepad?"],"ImmutableListMixin":["Gamepad?"],"List":["Gamepad?"],"JavaScriptIndexingBehavior":["Gamepad?"],"EfficientLengthIterable":["Gamepad?"],"Iterable":["Gamepad?"],"ImmutableListMixin.E":"Gamepad?","ListMixin.E":"Gamepad?"},"_NamedNodeMap":{"ListMixin":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"EfficientLengthIterable":["Node"],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListMixin.E":"Node"},"_SpeechRecognitionResultList":{"ListMixin":["SpeechRecognitionResult"],"ImmutableListMixin":["SpeechRecognitionResult"],"List":["SpeechRecognitionResult"],"JavaScriptIndexingBehavior":["SpeechRecognitionResult"],"EfficientLengthIterable":["SpeechRecognitionResult"],"Iterable":["SpeechRecognitionResult"],"ImmutableListMixin.E":"SpeechRecognitionResult","ListMixin.E":"SpeechRecognitionResult"},"_StyleSheetList":{"ListMixin":["StyleSheet"],"ImmutableListMixin":["StyleSheet"],"List":["StyleSheet"],"JavaScriptIndexingBehavior":["StyleSheet"],"EfficientLengthIterable":["StyleSheet"],"Iterable":["StyleSheet"],"ImmutableListMixin.E":"StyleSheet","ListMixin.E":"StyleSheet"},"_AttributeMap":{"MapMixin":["String","String"],"Map":["String","String"]},"_ElementAttributeMap":{"MapMixin":["String","String"],"Map":["String","String"],"MapMixin.K":"String","MapMixin.V":"String"},"_EventStream":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription":{"StreamSubscription":["1"]},"NodeValidatorBuilder":{"NodeValidator":[]},"_SimpleNodeValidator":{"NodeValidator":[]},"_TemplatingNodeValidator":{"NodeValidator":[]},"_SvgNodeValidator":{"NodeValidator":[]},"FixedSizeListIterator":{"Iterator":["1"]},"_DOMWindowCrossFrame":{"EventTarget":[]},"_SameOriginUriPolicy":{"UriPolicy":[]},"_ValidatingTreeSanitizer":{"NodeTreeSanitizer":[]},"JsFunction":{"JsObject":[]},"JsArray":{"ListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"JsObject":[],"Iterable":["1"],"ListMixin.E":"1"},"LengthList":{"ListMixin":["Length"],"ImmutableListMixin":["Length"],"List":["Length"],"EfficientLengthIterable":["Length"],"Iterable":["Length"],"ImmutableListMixin.E":"Length","ListMixin.E":"Length"},"NumberList":{"ListMixin":["Number"],"ImmutableListMixin":["Number"],"List":["Number"],"EfficientLengthIterable":["Number"],"Iterable":["Number"],"ImmutableListMixin.E":"Number","ListMixin.E":"Number"},"ScriptElement0":{"SvgElement":[],"Element":[],"Node":[],"EventTarget":[]},"StringList":{"ListMixin":["String"],"ImmutableListMixin":["String"],"List":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"ImmutableListMixin.E":"String","ListMixin.E":"String"},"SvgElement":{"Element":[],"Node":[],"EventTarget":[]},"TransformList":{"ListMixin":["Transform"],"ImmutableListMixin":["Transform"],"List":["Transform"],"EfficientLengthIterable":["Transform"],"Iterable":["Transform"],"ImmutableListMixin.E":"Transform","ListMixin.E":"Transform"},"AudioParamMap":{"MapMixin":["String","@"],"Map":["String","@"],"MapMixin.K":"String","MapMixin.V":"@"},"AudioTrackList":{"EventTarget":[]},"BaseAudioContext":{"EventTarget":[]},"OfflineAudioContext":{"EventTarget":[]},"DelegatingStreamSink":{"StreamSink":["1"]},"ErrorResult":{"Result":["0&"]},"ValueResult":{"Result":["1"]},"_NextRequest":{"_EventRequest":["1"]},"_HasNextRequest":{"_EventRequest":["1"]},"CopyOnWriteList":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"BuiltList":{"Iterable":["1"]},"_BuiltList":{"BuiltList":["1"],"Iterable":["1"]},"_BuiltListMultimap":{"BuiltListMultimap":["1","2"]},"_BuiltMap":{"BuiltMap":["1","2"]},"BuiltSet":{"Iterable":["1"]},"_BuiltSet":{"BuiltSet":["1"],"Iterable":["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"]},"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"]},"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":{"ListMixin":["1"],"List":["1"],"Queue":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListMixin.E":"1","QueueList.E":"1"},"_CastQueueList":{"QueueList":["2"],"ListMixin":["2"],"List":["2"],"Queue":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListMixin.E":"2","QueueList.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":[]},"_$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":[]},"Int64":{"Comparable":["Object"]},"Level":{"Comparable":["Level"]},"SseClient":{"StreamChannel":["String?"]},"GuaranteeChannel":{"StreamChannel":["1"]},"_GuaranteeSink":{"StreamSink":["1"]},"StreamChannelMixin":{"StreamChannel":["1"]},"HtmlWebSocketChannel":{"WebSocketChannel":[],"StreamChannel":["@"]},"_HtmlWebSocketSink":{"WebSocketSink":[],"DelegatingStreamSink":["@"],"StreamSink":["@"],"DelegatingStreamSink.T":"@"},"WebSocketChannel":{"StreamChannel":["@"]},"LegacyRestarter":{"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","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","HttpRequestUpload":"HttpRequestEventTarget","HtmlFormControlsCollection":"HtmlCollection","CssCharsetRule":"CssRule","CssStyleSheet":"StyleSheet","JSBool":{"bool":[]},"JSNull":{"Null":[]},"LegacyJavaScriptObject":{"JSObject":[],"Promise":["1&"],"JsError":[]},"JSArray":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"ArrayIterator":{"Iterator":["1"]},"JSNumber":{"double":[],"num":[],"Comparable":["num"]},"JSInt":{"double":[],"int":[],"num":[],"Comparable":["num"]},"JSNumNotInt":{"double":[],"num":[],"Comparable":["num"]},"JSString":{"String":[],"Comparable":["String"],"Pattern":[]},"_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":{"ListMixin":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"]},"CastList":{"_CastListBase":["1","2"],"ListMixin":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListMixin.E":"2","Iterable.E":"2"},"CastSet":{"Set":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"CastMap":{"MapMixin":["3","4"],"Map":["3","4"],"MapMixin.K":"3","MapMixin.V":"4"},"CastQueue":{"Queue":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"LateError":{"Error":[]},"ReachabilityError":{"Error":[]},"NotNullableError":{"TypeError":[],"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"]},"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":{"ListMixin":["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"]},"_ConstantMapKeyIterable":{"Iterable":["1"],"Iterable.E":"1"},"JSInvocationMirror":{"Invocation":[]},"NullError":{"TypeError":[],"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Function":[]},"Closure2Args":{"Function":[]},"TearOffClosure":{"Function":[]},"StaticClosure":{"Function":[]},"BoundClosure":{"Function":[]},"RuntimeError":{"Error":[]},"_AssertionError":{"Error":[]},"JsLinkedHashMap":{"MapMixin":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapMixin.K":"1","MapMixin.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":{"ByteBuffer":[]},"NativeTypedData":{"TypedData":[]},"NativeByteData":{"NativeTypedData":[],"TypedData":[]},"NativeTypedArray":{"JavaScriptIndexingBehavior":["1"],"NativeTypedData":[],"TypedData":[]},"NativeTypedArrayOfDouble":{"ListMixin":["double"],"JavaScriptIndexingBehavior":["double"],"List":["double"],"NativeTypedData":[],"EfficientLengthIterable":["double"],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"ListMixin":["double"],"JavaScriptIndexingBehavior":["double"],"List":["double"],"NativeTypedData":[],"EfficientLengthIterable":["double"],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"ListMixin.E":"double"},"NativeFloat64List":{"ListMixin":["double"],"JavaScriptIndexingBehavior":["double"],"List":["double"],"NativeTypedData":[],"EfficientLengthIterable":["double"],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"ListMixin.E":"double"},"NativeInt16List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeInt32List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeInt8List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeUint16List":{"ListMixin":["int"],"Uint16List":[],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeUint32List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeUint8ClampedList":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeUint8List":{"ListMixin":["int"],"Uint8List":[],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.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"]},"StreamTransformerBase":{"StreamTransformer":["1","2"]},"_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":["@"]},"_StreamImplEvents":{"_PendingEvents":["1"]},"_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.K":"1","_SplayTreeNode.1":"_SplayTreeSetNode<1>"},"_HashMap":{"MapMixin":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapMixin.K":"1","MapMixin.V":"2"},"_IdentityHashMap":{"_HashMap":["1","2"],"MapMixin":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapMixin.K":"1","MapMixin.V":"2"},"_CustomHashMap":{"_HashMap":["1","2"],"MapMixin":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapMixin.K":"1","MapMixin.V":"2"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashMapKeyIterator":{"Iterator":["1"]},"_LinkedCustomHashMap":{"JsLinkedHashMap":["1","2"],"MapMixin":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapMixin.K":"1","MapMixin.V":"2"},"_HashSet":{"_SetBase":["1"],"SetMixin":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_HashSetIterator":{"Iterator":["1"]},"_LinkedHashSet":{"_SetBase":["1"],"SetMixin":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_LinkedHashSetIterator":{"Iterator":["1"]},"UnmodifiableListView":{"ListMixin":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListMixin.E":"1","UnmodifiableListMixin.E":"1"},"IterableBase":{"Iterable":["1"]},"ListBase":{"ListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapBase":{"MapMixin":["1","2"],"Map":["1","2"]},"MapMixin":{"Map":["1","2"]},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ListQueue":{"ListIterable":["1"],"Queue":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"_ListQueueIterator":{"Iterator":["1"]},"_SetBase":{"SetMixin":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SplayTreeIterator":{"Iterator":["3"]},"_SplayTreeKeyIterator":{"_SplayTreeIterator":["1","2","1"],"Iterator":["1"],"_SplayTreeIterator.1":"2","_SplayTreeIterator.K":"1"},"SplayTreeSet":{"SetMixin":["1"],"Set":["1"],"IterableMixin":["1"],"EfficientLengthIterable":["1"],"_SplayTree":["1","_SplayTreeSetNode<1>"],"Iterable":["1"],"_SplayTree.K":"1","_SplayTree.1":"_SplayTreeSetNode<1>"},"_JsonMap":{"MapMixin":["String","@"],"Map":["String","@"],"MapMixin.K":"String","MapMixin.V":"@"},"_JsonMapKeyIterable":{"ListIterable":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"ListIterable.E":"String","Iterable.E":"String"},"Base64Codec":{"Codec":["List","String"],"Codec.S":"List"},"Base64Encoder":{"Converter":["List","String"],"StreamTransformer":["List","String"]},"Converter":{"StreamTransformer":["1","2"]},"Encoding":{"Codec":["String","List"]},"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"],"Codec.S":"String"},"Utf8Encoder":{"Converter":["String","List"],"StreamTransformer":["String","List"]},"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":[]},"NullThrownError":{"Error":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"NoSuchMethodError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"CyclicInitializationError":{"Error":[]},"IntegerDivisionByZeroException":{"Error":[]},"_StringStackTrace":{"StackTrace":[]},"StringBuffer":{"StringSink":[]},"_Uri":{"Uri":[]},"_SimpleUri":{"Uri":[]},"_DataUri":{"Uri":[]},"CloseEvent":{"Event":[]},"Element":{"Node":[],"EventTarget":[]},"File":{"Blob":[]},"HttpRequest":{"EventTarget":[]},"KeyboardEvent":{"Event":[]},"MessageEvent":{"Event":[]},"Node":{"EventTarget":[]},"ProgressEvent":{"Event":[]},"ScriptElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"SourceBuffer":{"EventTarget":[]},"TextTrack":{"EventTarget":[]},"TextTrackCue":{"EventTarget":[]},"_Html5NodeValidator":{"NodeValidator":[]},"HtmlElement":{"Element":[],"Node":[],"EventTarget":[]},"AnchorElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"AreaElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"BaseElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"BodyElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"CharacterData":{"Node":[],"EventTarget":[]},"CustomEvent":{"Event":[]},"Document":{"Node":[],"EventTarget":[]},"DomRectList":{"ListMixin":["Rectangle"],"ImmutableListMixin":["Rectangle"],"List":["Rectangle"],"JavaScriptIndexingBehavior":["Rectangle"],"EfficientLengthIterable":["Rectangle"],"Iterable":["Rectangle"],"ImmutableListMixin.E":"Rectangle","ListMixin.E":"Rectangle"},"DomRectReadOnly":{"Rectangle":["num"]},"DomStringList":{"ListMixin":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptIndexingBehavior":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"ImmutableListMixin.E":"String","ListMixin.E":"String"},"_FrozenElementList":{"ListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListMixin.E":"1"},"EventSource":{"EventTarget":[]},"FileList":{"ListMixin":["File"],"ImmutableListMixin":["File"],"List":["File"],"JavaScriptIndexingBehavior":["File"],"EfficientLengthIterable":["File"],"Iterable":["File"],"ImmutableListMixin.E":"File","ListMixin.E":"File"},"FileWriter":{"EventTarget":[]},"FormElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"HtmlCollection":{"ListMixin":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"EfficientLengthIterable":["Node"],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListMixin.E":"Node"},"HtmlDocument":{"Document":[],"Node":[],"EventTarget":[]},"HttpRequestEventTarget":{"EventTarget":[]},"MessagePort":{"EventTarget":[]},"MidiInputMap":{"MapMixin":["String","@"],"Map":["String","@"],"MapMixin.K":"String","MapMixin.V":"@"},"MidiOutputMap":{"MapMixin":["String","@"],"Map":["String","@"],"MapMixin.K":"String","MapMixin.V":"@"},"MimeTypeArray":{"ListMixin":["MimeType"],"ImmutableListMixin":["MimeType"],"List":["MimeType"],"JavaScriptIndexingBehavior":["MimeType"],"EfficientLengthIterable":["MimeType"],"Iterable":["MimeType"],"ImmutableListMixin.E":"MimeType","ListMixin.E":"MimeType"},"_ChildNodeListLazy":{"ListMixin":["Node"],"List":["Node"],"EfficientLengthIterable":["Node"],"Iterable":["Node"],"ListMixin.E":"Node"},"NodeList":{"ListMixin":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"EfficientLengthIterable":["Node"],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListMixin.E":"Node"},"PluginArray":{"ListMixin":["Plugin"],"ImmutableListMixin":["Plugin"],"List":["Plugin"],"JavaScriptIndexingBehavior":["Plugin"],"EfficientLengthIterable":["Plugin"],"Iterable":["Plugin"],"ImmutableListMixin.E":"Plugin","ListMixin.E":"Plugin"},"RtcStatsReport":{"MapMixin":["String","@"],"Map":["String","@"],"MapMixin.K":"String","MapMixin.V":"@"},"SelectElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"SourceBufferList":{"ListMixin":["SourceBuffer"],"ImmutableListMixin":["SourceBuffer"],"EventTarget":[],"List":["SourceBuffer"],"JavaScriptIndexingBehavior":["SourceBuffer"],"EfficientLengthIterable":["SourceBuffer"],"Iterable":["SourceBuffer"],"ImmutableListMixin.E":"SourceBuffer","ListMixin.E":"SourceBuffer"},"SpeechGrammarList":{"ListMixin":["SpeechGrammar"],"ImmutableListMixin":["SpeechGrammar"],"List":["SpeechGrammar"],"JavaScriptIndexingBehavior":["SpeechGrammar"],"EfficientLengthIterable":["SpeechGrammar"],"Iterable":["SpeechGrammar"],"ImmutableListMixin.E":"SpeechGrammar","ListMixin.E":"SpeechGrammar"},"Storage":{"MapMixin":["String","String"],"Map":["String","String"],"MapMixin.K":"String","MapMixin.V":"String"},"TableElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"TableRowElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"TableSectionElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"TemplateElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"TextTrackCueList":{"ListMixin":["TextTrackCue"],"ImmutableListMixin":["TextTrackCue"],"List":["TextTrackCue"],"JavaScriptIndexingBehavior":["TextTrackCue"],"EfficientLengthIterable":["TextTrackCue"],"Iterable":["TextTrackCue"],"ImmutableListMixin.E":"TextTrackCue","ListMixin.E":"TextTrackCue"},"TextTrackList":{"ListMixin":["TextTrack"],"ImmutableListMixin":["TextTrack"],"EventTarget":[],"List":["TextTrack"],"JavaScriptIndexingBehavior":["TextTrack"],"EfficientLengthIterable":["TextTrack"],"Iterable":["TextTrack"],"ImmutableListMixin.E":"TextTrack","ListMixin.E":"TextTrack"},"TouchList":{"ListMixin":["Touch"],"ImmutableListMixin":["Touch"],"List":["Touch"],"JavaScriptIndexingBehavior":["Touch"],"EfficientLengthIterable":["Touch"],"Iterable":["Touch"],"ImmutableListMixin.E":"Touch","ListMixin.E":"Touch"},"UIEvent":{"Event":[]},"VideoTrackList":{"EventTarget":[]},"WebSocket":{"EventTarget":[]},"Window":{"EventTarget":[]},"WorkerGlobalScope":{"EventTarget":[]},"_Attr":{"Node":[],"EventTarget":[]},"_CssRuleList":{"ListMixin":["CssRule"],"ImmutableListMixin":["CssRule"],"List":["CssRule"],"JavaScriptIndexingBehavior":["CssRule"],"EfficientLengthIterable":["CssRule"],"Iterable":["CssRule"],"ImmutableListMixin.E":"CssRule","ListMixin.E":"CssRule"},"_DomRect":{"Rectangle":["num"]},"_GamepadList":{"ListMixin":["Gamepad?"],"ImmutableListMixin":["Gamepad?"],"List":["Gamepad?"],"JavaScriptIndexingBehavior":["Gamepad?"],"EfficientLengthIterable":["Gamepad?"],"Iterable":["Gamepad?"],"ImmutableListMixin.E":"Gamepad?","ListMixin.E":"Gamepad?"},"_NamedNodeMap":{"ListMixin":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"EfficientLengthIterable":["Node"],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListMixin.E":"Node"},"_SpeechRecognitionResultList":{"ListMixin":["SpeechRecognitionResult"],"ImmutableListMixin":["SpeechRecognitionResult"],"List":["SpeechRecognitionResult"],"JavaScriptIndexingBehavior":["SpeechRecognitionResult"],"EfficientLengthIterable":["SpeechRecognitionResult"],"Iterable":["SpeechRecognitionResult"],"ImmutableListMixin.E":"SpeechRecognitionResult","ListMixin.E":"SpeechRecognitionResult"},"_StyleSheetList":{"ListMixin":["StyleSheet"],"ImmutableListMixin":["StyleSheet"],"List":["StyleSheet"],"JavaScriptIndexingBehavior":["StyleSheet"],"EfficientLengthIterable":["StyleSheet"],"Iterable":["StyleSheet"],"ImmutableListMixin.E":"StyleSheet","ListMixin.E":"StyleSheet"},"_AttributeMap":{"MapMixin":["String","String"],"Map":["String","String"]},"_ElementAttributeMap":{"MapMixin":["String","String"],"Map":["String","String"],"MapMixin.K":"String","MapMixin.V":"String"},"_EventStream":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription":{"StreamSubscription":["1"]},"NodeValidatorBuilder":{"NodeValidator":[]},"_SimpleNodeValidator":{"NodeValidator":[]},"_TemplatingNodeValidator":{"NodeValidator":[]},"_SvgNodeValidator":{"NodeValidator":[]},"FixedSizeListIterator":{"Iterator":["1"]},"_DOMWindowCrossFrame":{"EventTarget":[]},"_SameOriginUriPolicy":{"UriPolicy":[]},"_ValidatingTreeSanitizer":{"NodeTreeSanitizer":[]},"JsFunction":{"JsObject":[]},"JsArray":{"ListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"JsObject":[],"Iterable":["1"],"ListMixin.E":"1"},"LengthList":{"ListMixin":["Length"],"ImmutableListMixin":["Length"],"List":["Length"],"EfficientLengthIterable":["Length"],"Iterable":["Length"],"ImmutableListMixin.E":"Length","ListMixin.E":"Length"},"NumberList":{"ListMixin":["Number"],"ImmutableListMixin":["Number"],"List":["Number"],"EfficientLengthIterable":["Number"],"Iterable":["Number"],"ImmutableListMixin.E":"Number","ListMixin.E":"Number"},"ScriptElement0":{"SvgElement":[],"Element":[],"Node":[],"EventTarget":[]},"StringList":{"ListMixin":["String"],"ImmutableListMixin":["String"],"List":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"ImmutableListMixin.E":"String","ListMixin.E":"String"},"SvgElement":{"Element":[],"Node":[],"EventTarget":[]},"TransformList":{"ListMixin":["Transform"],"ImmutableListMixin":["Transform"],"List":["Transform"],"EfficientLengthIterable":["Transform"],"Iterable":["Transform"],"ImmutableListMixin.E":"Transform","ListMixin.E":"Transform"},"AudioParamMap":{"MapMixin":["String","@"],"Map":["String","@"],"MapMixin.K":"String","MapMixin.V":"@"},"AudioTrackList":{"EventTarget":[]},"BaseAudioContext":{"EventTarget":[]},"OfflineAudioContext":{"EventTarget":[]},"DelegatingStreamSink":{"StreamSink":["1"]},"ErrorResult":{"Result":["0&"]},"ValueResult":{"Result":["1"]},"_NextRequest":{"_EventRequest":["1"]},"_HasNextRequest":{"_EventRequest":["1"]},"CopyOnWriteList":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"BuiltList":{"Iterable":["1"]},"_BuiltList":{"BuiltList":["1"],"Iterable":["1"]},"_BuiltListMultimap":{"BuiltListMultimap":["1","2"]},"_BuiltMap":{"BuiltMap":["1","2"]},"BuiltSet":{"Iterable":["1"]},"_BuiltSet":{"BuiltSet":["1"],"Iterable":["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"]},"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"]},"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":{"ListMixin":["1"],"List":["1"],"Queue":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListMixin.E":"1","QueueList.E":"1"},"_CastQueueList":{"QueueList":["2"],"ListMixin":["2"],"List":["2"],"Queue":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListMixin.E":"2","QueueList.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":[]},"_$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":[]},"Int64":{"Comparable":["Object"]},"Level":{"Comparable":["Level"]},"SseClient":{"StreamChannel":["String?"]},"GuaranteeChannel":{"StreamChannel":["1"]},"_GuaranteeSink":{"StreamSink":["1"]},"StreamChannelMixin":{"StreamChannel":["1"]},"HtmlWebSocketChannel":{"WebSocketChannel":[],"StreamChannel":["@"]},"_HtmlWebSocketSink":{"WebSocketSink":[],"DelegatingStreamSink":["@"],"StreamSink":["@"],"DelegatingStreamSink.T":"@"},"WebSocketChannel":{"StreamChannel":["@"]},"LegacyRestarter":{"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_addErasedTypes(init.typeUniverse, JSON.parse('{"UnmodifiableListBase":1,"__CastListBase__CastIterableBase_ListMixin":2,"NativeTypedArray":1,"StreamTransformerBase":2,"IterableBase":1,"ListBase":1,"MapBase":2,"_ListBase_Object_ListMixin":1,"_SplayTreeSet__SplayTree_IterableMixin":1,"_SplayTreeSet__SplayTree_IterableMixin_SetMixin":1,"__SetBase_Object_SetMixin":1,"MapEntry":2,"_JsArray_JsObject_ListMixin":1,"_QueueList_Object_ListMixin":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", - Expand: "Expandos are not allowed on strings, numbers, booleans or null", _null_: "`null` encountered as the result from expression with type `Never`.", max_mu: "max must be in range 0 < max \u2264 2^32, was ", serial: "serializer must be StructuredSerializer or PrimitiveSerializer" @@ -26091,6 +25921,7 @@ B.List_yrN = A._setArrayType(makeConstList(["A::href", "AREA::href", "BLOCKQUOTE::cite", "BODY::background", "COMMAND::icon", "DEL::cite", "FORM::action", "IMG::src", "INPUT::src", "INS::cite", "Q::cite", "VIDEO::poster"]), type$.JSArray_legacy_String); B.List_zgw = A._setArrayType(makeConstList(["d", "D", "\u2202", "\xce"]), type$.JSArray_legacy_String); B.Map_empty = new A.ConstantStringMap(0, {}, B.List_empty0, A.findType("ConstantStringMap<@,@>")); + B.Map_empty1 = new A.ConstantStringMap(0, {}, B.List_empty, A.findType("ConstantStringMap")); B.List_empty2 = A._setArrayType(makeConstList([]), A.findType("JSArray")); B.Map_empty0 = new A.ConstantStringMap(0, {}, B.List_empty2, A.findType("ConstantStringMap")); B.Symbol_call = new A.Symbol("call"); @@ -26393,15 +26224,15 @@ Function.prototype.call$3$4 = function(a, b, c, d) { return this(a, b, c, d); }; - Function.prototype.call$1$2 = function(a, b) { - return this(a, b); - }; Function.prototype.call$2$2 = function(a, b) { return this(a, b); }; Function.prototype.call$2$3 = function(a, b, c) { return this(a, b, c); }; + Function.prototype.call$1$2 = function(a, b) { + return this(a, b); + }; Function.prototype.call$2$0 = function() { return this(); }; diff --git a/dwds/web/client.dart b/dwds/web/client.dart index 7928b3688..b3f50ac3b 100644 --- a/dwds/web/client.dart +++ b/dwds/web/client.dart @@ -68,37 +68,31 @@ Future main() { var debugEventController = BatchedStreamController(delay: _batchDelayMilliseconds); debugEventController.stream.listen((events) { - try { - client.sink.add(jsonEncode(serializers.serialize(BatchedDebugEvents( - (b) => b.events = ListBuilder(events))))); - } on StateError catch (_) { - // An error is propagated on a full page reload as Chrome presumably - // forces the SSE connection to close in a bad state. - print('Cannot send BatchedDEbugEvents($events). ' - 'Injected client connection is closed.'); + if (dartEmitDebugEvents) { + _trySendEvent( + client.sink, + jsonEncode(serializers.serialize(BatchedDebugEvents( + (b) => b.events = ListBuilder(events))))); } }); emitDebugEvent = allowInterop((String kind, String eventData) { if (dartEmitDebugEvents) { - debugEventController.sink.add(DebugEvent((b) => b - ..timestamp = (DateTime.now().millisecondsSinceEpoch) - ..kind = kind - ..eventData = eventData)); + _trySendEvent( + debugEventController.sink, + DebugEvent((b) => b + ..timestamp = (DateTime.now().millisecondsSinceEpoch) + ..kind = kind + ..eventData = eventData)); } }); emitRegisterEvent = allowInterop((String eventData) { - try { - client.sink.add(jsonEncode(serializers.serialize(RegisterEvent((b) => b - ..timestamp = (DateTime.now().millisecondsSinceEpoch) - ..eventData = eventData)))); - } on StateError catch (_) { - // An error is propagated on a full page reload as Chrome presumably - // forces the SSE connection to close in a bad state. - print('Cannot send RegisterEvent($eventData). ' - 'Injected client connection is closed.'); - } + _trySendEvent( + client.sink, + jsonEncode(serializers.serialize(RegisterEvent((b) => b + ..timestamp = (DateTime.now().millisecondsSinceEpoch) + ..eventData = eventData)))); }); launchDevToolsJs = allowInterop(() { @@ -107,17 +101,11 @@ Future main() { 'Dart DevTools is only supported on Chromium based browsers.'); return; } - try { - client.sink - .add(jsonEncode(serializers.serialize(DevToolsRequest((b) => b - ..appId = dartAppId - ..instanceId = dartAppInstanceId)))); - } on StateError catch (_) { - // An error is propagated on a full page reload as Chrome presumably - // forces the SSE connection to close in a bad state. - print('Cannot send DevToolsRequest. ' - 'Injected client connection is closed.'); - } + _trySendEvent( + client.sink, + jsonEncode(serializers.serialize(DevToolsRequest((b) => b + ..appId = dartAppId + ..instanceId = dartAppInstanceId)))); }); client.stream.listen((serialized) async { @@ -172,17 +160,12 @@ Future main() { } if (_isChromium) { - try { - client.sink.add(jsonEncode(serializers.serialize(ConnectRequest((b) => b - ..appId = dartAppId - ..instanceId = dartAppInstanceId - ..entrypointPath = dartEntrypointPath)))); - } on StateError catch (_) { - // An error is propagated on a full page reload as Chrome presumably - // forces the SSE connection to close in a bad state. - print('Cannot send ConnectRequest. ' - 'Injected client connection is closed.'); - } + _trySendEvent( + client.sink, + jsonEncode(serializers.serialize(ConnectRequest((b) => b + ..appId = dartAppId + ..instanceId = dartAppInstanceId + ..entrypointPath = dartEntrypointPath)))); } else { // If not Chromium we just invoke main, devtools aren't supported. runMain(); @@ -205,6 +188,17 @@ $stackTrace }); } +void _trySendEvent(StreamSink sink, T serialized) { + try { + sink.add(serialized); + } on StateError catch (_) { + // An error is propagated on a full page reload as Chrome presumably + // forces the SSE connection to close in a bad state. + print('Cannot send event $serialized. ' + 'Injected client connection is closed.'); + } +} + /// Returns [url] modified if necessary so that, if the current page is served /// over `https`, then the URL is converted to `https`. String _fixProtocol(String url) {