blob: 034c69b770946485b612073dd5d7cc9295f6a734 [file] [log] [blame]
// Generated by dart2js (fast startup emitter, strong), the Dart to JavaScript compiler version: 2.12.0-223.0.dev.
// The code supports the following hooks:
// dartPrint(message):
// if this function is defined it is called instead of the Dart [print]
// method.
//
// dartMainRunner(main, args):
// if this function is defined, the Dart [main] method will not be invoked
// directly. Instead, a closure that will invoke [main], and its arguments
// [args] is passed to [dartMainRunner].
//
// dartDeferredLibraryLoader(uri, successCallback, errorCallback):
// if this function is defined, it will be called when a deferred library
// is loaded. It should load and eval the javascript of `uri`, and call
// successCallback. If it fails to do so, it should call errorCallback with
// an error.
//
// dartCallInstrumentation(id, qualifiedName):
// if this function is defined, it will be called at each entry of a
// method or constructor. Used only when compiling programs with
// --experiment-call-instrumentation.
(function dartProgram() {
function copyProperties(from, to) {
var keys = Object.keys(from);
for (var i = 0; i < keys.length; i++) {
var key = keys[i];
to[key] = from[key];
}
}
function mixinProperties(from, to) {
var keys = Object.keys(from);
for (var i = 0; i < keys.length; i++) {
var key = keys[i];
if (!to.hasOwnProperty(key))
to[key] = from[key];
}
}
var supportsDirectProtoAccess = function() {
var cls = function() {
};
cls.prototype = {p: {}};
var object = new cls();
if (!(object.__proto__ && object.__proto__.p === cls.prototype.p))
return false;
try {
if (typeof navigator != "undefined" && typeof navigator.userAgent == "string" && navigator.userAgent.indexOf("Chrome/") >= 0)
return true;
if (typeof version == "function" && version.length == 0) {
var v = version();
if (/^\d+\.\d+\.\d+\.\d+$/.test(v))
return true;
}
} catch (_) {
}
return false;
}();
function setFunctionNamesIfNecessary(holders) {
function t() {
}
;
if (typeof t.name == "string")
return;
for (var i = 0; i < holders.length; i++) {
var holder = holders[i];
var keys = Object.keys(holder);
for (var j = 0; j < keys.length; j++) {
var key = keys[j];
var f = holder[key];
if (typeof f == "function")
f.name = key;
}
}
}
function inherit(cls, sup) {
cls.prototype.constructor = cls;
cls.prototype["$is" + cls.name] = cls;
if (sup != null) {
if (supportsDirectProtoAccess) {
cls.prototype.__proto__ = sup.prototype;
return;
}
var clsPrototype = Object.create(sup.prototype);
copyProperties(cls.prototype, clsPrototype);
cls.prototype = clsPrototype;
}
}
function inheritMany(sup, classes) {
for (var i = 0; i < classes.length; i++)
inherit(classes[i], sup);
}
function mixin(cls, mixin) {
mixinProperties(mixin.prototype, cls.prototype);
cls.prototype.constructor = cls;
}
function lazyOld(holder, name, getterName, initializer) {
var uninitializedSentinel = holder;
holder[name] = uninitializedSentinel;
holder[getterName] = function() {
holder[getterName] = function() {
H.throwCyclicInit(name);
};
var result;
var sentinelInProgress = initializer;
try {
if (holder[name] === uninitializedSentinel) {
result = holder[name] = sentinelInProgress;
result = holder[name] = initializer();
} else
result = holder[name];
} finally {
if (result === sentinelInProgress)
holder[name] = null;
holder[getterName] = function() {
return this[name];
};
}
return result;
};
}
function lazy(holder, name, getterName, initializer) {
var uninitializedSentinel = holder;
holder[name] = uninitializedSentinel;
holder[getterName] = function() {
if (holder[name] === uninitializedSentinel)
holder[name] = initializer();
holder[getterName] = function() {
return this[name];
};
return holder[name];
};
}
function lazyFinal(holder, name, getterName, initializer) {
var uninitializedSentinel = holder;
holder[name] = uninitializedSentinel;
holder[getterName] = function() {
if (holder[name] === uninitializedSentinel) {
var value = initializer();
if (holder[name] !== uninitializedSentinel)
H.throwLateInitializationError(name);
holder[name] = value;
}
holder[getterName] = function() {
return this[name];
};
return holder[name];
};
}
function makeConstList(list) {
list.immutable$list = Array;
list.fixed$length = Array;
return list;
}
function convertToFastObject(properties) {
function t() {
}
t.prototype = properties;
new t();
return properties;
}
function convertAllToFastObject(arrayOfObjects) {
for (var i = 0; i < arrayOfObjects.length; ++i)
convertToFastObject(arrayOfObjects[i]);
}
var functionCounter = 0;
function tearOffGetter(funcs, applyTrampolineIndex, reflectionInfo, name, isIntercepted) {
return isIntercepted ? new Function("funcs", "applyTrampolineIndex", "reflectionInfo", "name", "H", "c", "return function tearOff_" + name + functionCounter++ + "(receiver) {" + "if (c === null) c = " + "H.closureFromTearOff" + "(" + "this, funcs, applyTrampolineIndex, reflectionInfo, false, true, name);" + "return new c(this, funcs[0], receiver, name);" + "}")(funcs, applyTrampolineIndex, reflectionInfo, name, H, null) : new Function("funcs", "applyTrampolineIndex", "reflectionInfo", "name", "H", "c", "return function tearOff_" + name + functionCounter++ + "() {" + "if (c === null) c = " + "H.closureFromTearOff" + "(" + "this, funcs, applyTrampolineIndex, reflectionInfo, false, false, name);" + "return new c(this, funcs[0], null, name);" + "}")(funcs, applyTrampolineIndex, reflectionInfo, name, H, null);
}
function tearOff(funcs, applyTrampolineIndex, reflectionInfo, isStatic, name, isIntercepted) {
var cache = null;
return isStatic ? function() {
if (cache === null)
cache = H.closureFromTearOff(this, funcs, applyTrampolineIndex, reflectionInfo, true, false, name).prototype;
return cache;
} : tearOffGetter(funcs, applyTrampolineIndex, reflectionInfo, name, isIntercepted);
}
var typesOffset = 0;
function installTearOff(container, getterName, isStatic, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) {
var funs = [];
for (var i = 0; i < funsOrNames.length; i++) {
var fun = funsOrNames[i];
if (typeof fun == "string")
fun = container[fun];
fun.$callName = callNames[i];
funs.push(fun);
}
var fun = funs[0];
fun.$requiredArgCount = requiredParameterCount;
fun.$defaultValues = optionalParameterDefaultValues;
var reflectionInfo = funType;
if (typeof reflectionInfo == "number")
reflectionInfo += typesOffset;
var name = funsOrNames[0];
fun.$stubName = name;
var getterFunction = tearOff(funs, applyIndex || 0, reflectionInfo, isStatic, name, isIntercepted);
container[getterName] = getterFunction;
if (isStatic)
fun.$tearOff = getterFunction;
}
function installStaticTearOff(container, getterName, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) {
return installTearOff(container, getterName, true, false, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex);
}
function installInstanceTearOff(container, getterName, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) {
return installTearOff(container, getterName, false, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex);
}
function setOrUpdateInterceptorsByTag(newTags) {
var tags = init.interceptorsByTag;
if (!tags) {
init.interceptorsByTag = newTags;
return;
}
copyProperties(newTags, tags);
}
function setOrUpdateLeafTags(newTags) {
var tags = init.leafTags;
if (!tags) {
init.leafTags = newTags;
return;
}
copyProperties(newTags, tags);
}
function updateTypes(newTypes) {
var types = init.types;
var length = types.length;
types.push.apply(types, newTypes);
return length;
}
function updateHolder(holder, newHolder) {
copyProperties(newHolder, holder);
return holder;
}
var hunkHelpers = function() {
var mkInstance = function(isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, applyIndex) {
return function(container, getterName, name, funType) {
return installInstanceTearOff(container, getterName, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, [name], funType, applyIndex);
};
},
mkStatic = function(requiredParameterCount, optionalParameterDefaultValues, callNames, applyIndex) {
return function(container, getterName, name, funType) {
return installStaticTearOff(container, getterName, requiredParameterCount, optionalParameterDefaultValues, callNames, [name], funType, applyIndex);
};
};
return {inherit: inherit, inheritMany: inheritMany, mixin: mixin, installStaticTearOff: installStaticTearOff, installInstanceTearOff: installInstanceTearOff, _instance_0u: mkInstance(0, 0, null, ["call$0"], 0), _instance_1u: mkInstance(0, 1, null, ["call$1"], 0), _instance_2u: mkInstance(0, 2, null, ["call$2"], 0), _instance_0i: mkInstance(1, 0, null, ["call$0"], 0), _instance_1i: mkInstance(1, 1, null, ["call$1"], 0), _instance_2i: mkInstance(1, 2, null, ["call$2"], 0), _static_0: mkStatic(0, null, ["call$0"], 0), _static_1: mkStatic(1, null, ["call$1"], 0), _static_2: mkStatic(2, null, ["call$2"], 0), makeConstList: makeConstList, lazy: lazy, lazyFinal: lazyFinal, lazyOld: lazyOld, updateHolder: updateHolder, convertToFastObject: convertToFastObject, setFunctionNamesIfNecessary: setFunctionNamesIfNecessary, updateTypes: updateTypes, setOrUpdateInterceptorsByTag: setOrUpdateInterceptorsByTag, setOrUpdateLeafTags: setOrUpdateLeafTags};
}();
function initializeDeferredHunk(hunk) {
typesOffset = init.types.length;
hunk(hunkHelpers, init, holders, $);
}
function getGlobalFromName(name) {
for (var i = 0; i < holders.length; i++) {
if (holders[i] == C)
continue;
if (holders[i][name])
return holders[i][name];
}
}
var C = {},
H = {JS_CONST: function JS_CONST() {
},
checkNotNullable: function(value, $name, $T) {
if (value == null)
throw H.wrapException(new H.NotNullableError($name, $T._eval$1("NotNullableError<0>")));
return value;
},
IterableElementError_noElement: function() {
return new P.StateError("No element");
},
LateError: function LateError(t0) {
this._message = t0;
},
nullFuture_closure: function nullFuture_closure() {
},
NotNullableError: function NotNullableError(t0, t1) {
this.__internal$_name = t0;
this.$ti = t1;
},
EfficientLengthIterable: function EfficientLengthIterable() {
},
ListIterable: function ListIterable() {
},
ListIterator: function ListIterator(t0, t1, t2) {
var _ = this;
_.__internal$_iterable = t0;
_.__internal$_length = t1;
_.__internal$_index = 0;
_.__internal$_current = null;
_.$ti = t2;
},
FixedLengthListMixin: function FixedLengthListMixin() {
},
unminifyOrTag: function(rawClassName) {
var preserved = H.unmangleGlobalNameIfPreservedAnyways(rawClassName);
if (preserved != null)
return preserved;
return rawClassName;
},
isJsIndexable: function(object, record) {
var result;
if (record != null) {
result = record.x;
if (result != null)
return result;
}
return type$.JavaScriptIndexingBehavior_dynamic._is(object);
},
S: function(value) {
var res;
if (typeof value == "string")
return value;
if (typeof value == "number") {
if (value !== 0)
return "" + value;
} else if (true === value)
return "true";
else if (false === value)
return "false";
else if (value == null)
return "null";
res = J.toString$0$(value);
if (typeof res != "string")
throw H.wrapException(H.argumentErrorValue(value));
return res;
},
Primitives_objectHashCode: function(object) {
var hash = object.$identityHash;
if (hash == null) {
hash = Math.random() * 0x3fffffff | 0;
object.$identityHash = hash;
}
return hash;
},
Primitives_parseInt: function(source, radix) {
var match, decimalMatch;
if (typeof source != "string")
H.throwExpression(H.argumentErrorValue(source));
match = /^\s*[+-]?((0x[a-f0-9]+)|(\d+)|([a-z0-9]+))\s*$/i.exec(source);
if (match == null)
return null;
if (3 >= match.length)
return H.ioore(match, 3);
decimalMatch = match[3];
if (decimalMatch != null)
return parseInt(source, 10);
if (match[2] != null)
return parseInt(source, 16);
return null;
},
Primitives_objectTypeName: function(object) {
return H.Primitives__objectTypeNameNewRti(object);
},
Primitives__objectTypeNameNewRti: function(object) {
var dispatchName, $constructor, constructorName;
if (object instanceof P.Object)
return H._rtiToString(H.instanceType(object), null);
if (J.getInterceptor$(object) === C.Interceptor_methods || type$.UnknownJavaScriptObject._is(object)) {
dispatchName = C.C_JS_CONST(object);
if (H.Primitives__saneNativeClassName(dispatchName))
return dispatchName;
$constructor = object.constructor;
if (typeof $constructor == "function") {
constructorName = $constructor.name;
if (typeof constructorName == "string" && H.Primitives__saneNativeClassName(constructorName))
return constructorName;
}
}
return H._rtiToString(H.instanceType(object), null);
},
Primitives__saneNativeClassName: function($name) {
var t1 = $name !== "Object" && $name !== "";
return t1;
},
Primitives_stringFromCharCode: function(charCode) {
var bits;
if (charCode <= 65535)
return String.fromCharCode(charCode);
if (charCode <= 1114111) {
bits = charCode - 65536;
return String.fromCharCode((C.JSInt_methods._shrOtherPositive$1(bits, 10) | 55296) >>> 0, bits & 1023 | 56320);
}
throw H.wrapException(P.RangeError$range(charCode, 0, 1114111, null, null));
},
Primitives_lazyAsJsDate: function(receiver) {
if (receiver.date === void 0)
receiver.date = new Date(receiver._value);
return receiver.date;
},
Primitives_getYear: function(receiver) {
return receiver.isUtc ? H.Primitives_lazyAsJsDate(receiver).getUTCFullYear() + 0 : H.Primitives_lazyAsJsDate(receiver).getFullYear() + 0;
},
Primitives_getMonth: function(receiver) {
return receiver.isUtc ? H.Primitives_lazyAsJsDate(receiver).getUTCMonth() + 1 : H.Primitives_lazyAsJsDate(receiver).getMonth() + 1;
},
Primitives_getDay: function(receiver) {
return receiver.isUtc ? H.Primitives_lazyAsJsDate(receiver).getUTCDate() + 0 : H.Primitives_lazyAsJsDate(receiver).getDate() + 0;
},
Primitives_getHours: function(receiver) {
return receiver.isUtc ? H.Primitives_lazyAsJsDate(receiver).getUTCHours() + 0 : H.Primitives_lazyAsJsDate(receiver).getHours() + 0;
},
Primitives_getMinutes: function(receiver) {
return receiver.isUtc ? H.Primitives_lazyAsJsDate(receiver).getUTCMinutes() + 0 : H.Primitives_lazyAsJsDate(receiver).getMinutes() + 0;
},
Primitives_getSeconds: function(receiver) {
return receiver.isUtc ? H.Primitives_lazyAsJsDate(receiver).getUTCSeconds() + 0 : H.Primitives_lazyAsJsDate(receiver).getSeconds() + 0;
},
Primitives_getMilliseconds: function(receiver) {
return receiver.isUtc ? H.Primitives_lazyAsJsDate(receiver).getUTCMilliseconds() + 0 : H.Primitives_lazyAsJsDate(receiver).getMilliseconds() + 0;
},
iae: function(argument) {
throw H.wrapException(H.argumentErrorValue(argument));
},
ioore: function(receiver, index) {
if (receiver == null)
J.get$length$asx(receiver);
throw H.wrapException(H.diagnoseIndexError(receiver, index));
},
diagnoseIndexError: function(indexable, index) {
var $length, t1, _s5_ = "index";
if (!H._isInt(index))
return new P.ArgumentError(true, index, _s5_, null);
$length = H._asIntS(J.get$length$asx(indexable));
if (!(index < 0)) {
if (typeof $length !== "number")
return H.iae($length);
t1 = index >= $length;
} else
t1 = true;
if (t1)
return P.IndexError$(index, indexable, _s5_, null, $length);
return P.RangeError$value(index, _s5_);
},
argumentErrorValue: function(object) {
return new P.ArgumentError(true, object, null, null);
},
wrapException: function(ex) {
var wrapper, t1;
if (ex == null)
ex = new P.NullThrownError();
wrapper = new Error();
wrapper.dartException = ex;
t1 = H.toStringWrapper;
if ("defineProperty" in Object) {
Object.defineProperty(wrapper, "message", {get: t1});
wrapper.name = "";
} else
wrapper.toString = t1;
return wrapper;
},
toStringWrapper: function() {
return J.toString$0$(this.dartException);
},
throwExpression: function(ex) {
throw H.wrapException(ex);
},
throwConcurrentModificationError: function(collection) {
throw H.wrapException(P.ConcurrentModificationError$(collection));
},
TypeErrorDecoder_extractPattern: function(message) {
var match, $arguments, argumentsExpr, expr, method, receiver;
message = H.quoteStringForRegExp(message.replace(String({}), "$receiver$"));
match = message.match(/\\\$[a-zA-Z]+\\\$/g);
if (match == null)
match = H.setRuntimeTypeInfo([], type$.JSArray_String);
$arguments = match.indexOf("\\$arguments\\$");
argumentsExpr = match.indexOf("\\$argumentsExpr\\$");
expr = match.indexOf("\\$expr\\$");
method = match.indexOf("\\$method\\$");
receiver = match.indexOf("\\$receiver\\$");
return new H.TypeErrorDecoder(message.replace(new RegExp("\\\\\\$arguments\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$argumentsExpr\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$expr\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$method\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$receiver\\\\\\$", "g"), "((?:x|[^x])*)"), $arguments, argumentsExpr, expr, method, receiver);
},
TypeErrorDecoder_provokeCallErrorOn: function(expression) {
return function($expr$) {
var $argumentsExpr$ = "$arguments$";
try {
$expr$.$method$($argumentsExpr$);
} catch (e) {
return e.message;
}
}(expression);
},
TypeErrorDecoder_provokePropertyErrorOn: function(expression) {
return function($expr$) {
try {
$expr$.$method$;
} catch (e) {
return e.message;
}
}(expression);
},
NullError$: function(_message, match) {
return new H.NullError(_message, match == null ? null : match.method);
},
JsNoSuchMethodError$: function(_message, match) {
var t1 = match == null,
t2 = t1 ? null : match.method;
return new H.JsNoSuchMethodError(_message, t2, t1 ? null : match.receiver);
},
unwrapException: function(ex) {
if (ex == null)
return new H.NullThrownFromJavaScriptException(ex);
if (ex instanceof H.ExceptionAndStackTrace)
return H.saveStackTrace(ex, ex.dartException);
if (typeof ex !== "object")
return ex;
if ("dartException" in ex)
return H.saveStackTrace(ex, ex.dartException);
return H._unwrapNonDartException(ex);
},
saveStackTrace: function(ex, error) {
if (type$.Error._is(error))
if (error.$thrownJsError == null)
error.$thrownJsError = ex;
return error;
},
_unwrapNonDartException: function(ex) {
var message, number, ieErrorCode, nsme, notClosure, nullCall, nullLiteralCall, undefCall, undefLiteralCall, nullProperty, undefProperty, undefLiteralProperty, match, t1, _null = null;
if (!("message" in ex))
return ex;
message = ex.message;
if ("number" in ex && typeof ex.number == "number") {
number = ex.number;
ieErrorCode = number & 65535;
if ((C.JSInt_methods._shrOtherPositive$1(number, 16) & 8191) === 10)
switch (ieErrorCode) {
case 438:
return H.saveStackTrace(ex, H.JsNoSuchMethodError$(H.S(message) + " (Error " + ieErrorCode + ")", _null));
case 445:
case 5007:
return H.saveStackTrace(ex, H.NullError$(H.S(message) + " (Error " + ieErrorCode + ")", _null));
}
}
if (ex instanceof TypeError) {
nsme = $.$get$TypeErrorDecoder_noSuchMethodPattern();
notClosure = $.$get$TypeErrorDecoder_notClosurePattern();
nullCall = $.$get$TypeErrorDecoder_nullCallPattern();
nullLiteralCall = $.$get$TypeErrorDecoder_nullLiteralCallPattern();
undefCall = $.$get$TypeErrorDecoder_undefinedCallPattern();
undefLiteralCall = $.$get$TypeErrorDecoder_undefinedLiteralCallPattern();
nullProperty = $.$get$TypeErrorDecoder_nullPropertyPattern();
$.$get$TypeErrorDecoder_nullLiteralPropertyPattern();
undefProperty = $.$get$TypeErrorDecoder_undefinedPropertyPattern();
undefLiteralProperty = $.$get$TypeErrorDecoder_undefinedLiteralPropertyPattern();
match = nsme.matchTypeError$1(message);
if (match != null)
return H.saveStackTrace(ex, H.JsNoSuchMethodError$(H._asStringS(message), match));
else {
match = notClosure.matchTypeError$1(message);
if (match != null) {
match.method = "call";
return H.saveStackTrace(ex, H.JsNoSuchMethodError$(H._asStringS(message), match));
} else {
match = nullCall.matchTypeError$1(message);
if (match == null) {
match = nullLiteralCall.matchTypeError$1(message);
if (match == null) {
match = undefCall.matchTypeError$1(message);
if (match == null) {
match = undefLiteralCall.matchTypeError$1(message);
if (match == null) {
match = nullProperty.matchTypeError$1(message);
if (match == null) {
match = nullLiteralCall.matchTypeError$1(message);
if (match == null) {
match = undefProperty.matchTypeError$1(message);
if (match == null) {
match = undefLiteralProperty.matchTypeError$1(message);
t1 = match != null;
} else
t1 = true;
} else
t1 = true;
} else
t1 = true;
} else
t1 = true;
} else
t1 = true;
} else
t1 = true;
} else
t1 = true;
if (t1)
return H.saveStackTrace(ex, H.NullError$(H._asStringS(message), match));
}
}
return H.saveStackTrace(ex, new H.UnknownJsTypeError(typeof message == "string" ? message : ""));
}
if (ex instanceof RangeError) {
if (typeof message == "string" && message.indexOf("call stack") !== -1)
return new P.StackOverflowError();
message = function(ex) {
try {
return String(ex);
} catch (e) {
}
return null;
}(ex);
return H.saveStackTrace(ex, new P.ArgumentError(false, _null, _null, typeof message == "string" ? message.replace(/^RangeError:\s*/, "") : message));
}
if (typeof InternalError == "function" && ex instanceof InternalError)
if (typeof message == "string" && message === "too much recursion")
return new P.StackOverflowError();
return ex;
},
getTraceFromException: function(exception) {
var trace;
if (exception instanceof H.ExceptionAndStackTrace)
return exception.stackTrace;
if (exception == null)
return new H._StackTrace(exception);
trace = exception.$cachedTrace;
if (trace != null)
return trace;
return exception.$cachedTrace = new H._StackTrace(exception);
},
fillLiteralMap: function(keyValuePairs, result) {
var index, index0, index1,
$length = keyValuePairs.length;
for (index = 0; index < $length; index = index1) {
index0 = index + 1;
index1 = index0 + 1;
result.$indexSet(0, keyValuePairs[index], keyValuePairs[index0]);
}
return result;
},
invokeClosure: function(closure, numberOfArguments, arg1, arg2, arg3, arg4) {
type$.Function._as(closure);
switch (H._asIntS(numberOfArguments)) {
case 0:
return closure.call$0();
case 1:
return closure.call$1(arg1);
case 2:
return closure.call$2(arg1, arg2);
case 3:
return closure.call$3(arg1, arg2, arg3);
case 4:
return closure.call$4(arg1, arg2, arg3, arg4);
}
throw H.wrapException(new P._Exception("Unsupported number of arguments for wrapped closure"));
},
convertDartClosureToJS: function(closure, arity) {
var $function;
if (closure == null)
return null;
$function = closure.$identity;
if (!!$function)
return $function;
$function = function(closure, arity, invoke) {
return function(a1, a2, a3, a4) {
return invoke(closure, arity, a1, a2, a3, a4);
};
}(closure, arity, H.invokeClosure);
closure.$identity = $function;
return $function;
},
Closure_fromTearOff: function(receiver, functions, applyTrampolineIndex, reflectionInfo, isStatic, isIntercepted, propertyName) {
var $constructor, t1, trampoline, applyTrampoline, i, stub, stubCallName,
$function = functions[0],
callName = $function.$callName,
$prototype = isStatic ? Object.create(new H.StaticClosure().constructor.prototype) : Object.create(new H.BoundClosure(null, null, null, "").constructor.prototype);
$prototype.$initialize = $prototype.constructor;
if (isStatic)
$constructor = function static_tear_off() {
this.$initialize();
};
else {
t1 = $.Closure_functionCounter;
if (typeof t1 !== "number")
return t1.$add();
$.Closure_functionCounter = t1 + 1;
t1 = new Function("a,b,c,d" + t1, "this.$initialize(a,b,c,d" + t1 + ")");
$constructor = t1;
}
$prototype.constructor = $constructor;
$constructor.prototype = $prototype;
if (!isStatic) {
trampoline = H.Closure_forwardCallTo(receiver, $function, isIntercepted);
trampoline.$reflectionInfo = reflectionInfo;
} else {
$prototype.$static_name = propertyName;
trampoline = $function;
}
$prototype.$signature = H.Closure__computeSignatureFunctionNewRti(reflectionInfo, isStatic, isIntercepted);
$prototype[callName] = trampoline;
for (applyTrampoline = trampoline, i = 1; i < functions.length; ++i) {
stub = functions[i];
stubCallName = stub.$callName;
if (stubCallName != null) {
stub = isStatic ? stub : H.Closure_forwardCallTo(receiver, stub, isIntercepted);
$prototype[stubCallName] = stub;
}
if (i === applyTrampolineIndex) {
stub.$reflectionInfo = reflectionInfo;
applyTrampoline = stub;
}
}
$prototype["call*"] = applyTrampoline;
$prototype.$requiredArgCount = $function.$requiredArgCount;
$prototype.$defaultValues = $function.$defaultValues;
return $constructor;
},
Closure__computeSignatureFunctionNewRti: function(functionType, isStatic, isIntercepted) {
var typeEvalMethod;
if (typeof functionType == "number")
return function(getType, t) {
return function() {
return getType(t);
};
}(H.getTypeFromTypesTable, functionType);
if (typeof functionType == "string") {
if (isStatic)
throw H.wrapException("Cannot compute signature for static tearoff.");
typeEvalMethod = isIntercepted ? H.BoundClosure_evalRecipeIntercepted : H.BoundClosure_evalRecipe;
return function(recipe, evalOnReceiver) {
return function() {
return evalOnReceiver(this, recipe);
};
}(functionType, typeEvalMethod);
}
throw H.wrapException("Error in functionType of tearoff");
},
Closure_cspForwardCall: function(arity, isSuperCall, stubName, $function) {
var getSelf = H.BoundClosure_selfOf;
switch (isSuperCall ? -1 : arity) {
case 0:
return function(n, S) {
return function() {
return S(this)[n]();
};
}(stubName, getSelf);
case 1:
return function(n, S) {
return function(a) {
return S(this)[n](a);
};
}(stubName, getSelf);
case 2:
return function(n, S) {
return function(a, b) {
return S(this)[n](a, b);
};
}(stubName, getSelf);
case 3:
return function(n, S) {
return function(a, b, c) {
return S(this)[n](a, b, c);
};
}(stubName, getSelf);
case 4:
return function(n, S) {
return function(a, b, c, d) {
return S(this)[n](a, b, c, d);
};
}(stubName, getSelf);
case 5:
return function(n, S) {
return function(a, b, c, d, e) {
return S(this)[n](a, b, c, d, e);
};
}(stubName, getSelf);
default:
return function(f, s) {
return function() {
return f.apply(s(this), arguments);
};
}($function, getSelf);
}
},
Closure_forwardCallTo: function(receiver, $function, isIntercepted) {
var stubName, arity, lookedUpFunction, t1, t2, selfName, $arguments;
if (isIntercepted)
return H.Closure_forwardInterceptedCallTo(receiver, $function);
stubName = $function.$stubName;
arity = $function.length;
lookedUpFunction = receiver[stubName];
t1 = $function == null ? lookedUpFunction == null : $function === lookedUpFunction;
t2 = !t1 || arity >= 27;
if (t2)
return H.Closure_cspForwardCall(arity, !t1, stubName, $function);
if (arity === 0) {
t1 = $.Closure_functionCounter;
if (typeof t1 !== "number")
return t1.$add();
$.Closure_functionCounter = t1 + 1;
selfName = "self" + t1;
return new Function("return function(){var " + selfName + " = this." + H.S(H.BoundClosure_selfFieldName()) + ";return " + selfName + "." + H.S(stubName) + "();}")();
}
$arguments = "abcdefghijklmnopqrstuvwxyz".split("").splice(0, arity).join(",");
t1 = $.Closure_functionCounter;
if (typeof t1 !== "number")
return t1.$add();
$.Closure_functionCounter = t1 + 1;
$arguments += t1;
return new Function("return function(" + $arguments + "){return this." + H.S(H.BoundClosure_selfFieldName()) + "." + H.S(stubName) + "(" + $arguments + ");}")();
},
Closure_cspForwardInterceptedCall: function(arity, isSuperCall, $name, $function) {
var getSelf = H.BoundClosure_selfOf,
getReceiver = H.BoundClosure_receiverOf;
switch (isSuperCall ? -1 : arity) {
case 0:
throw H.wrapException(new H.RuntimeError("Intercepted function with no arguments."));
case 1:
return function(n, s, r) {
return function() {
return s(this)[n](r(this));
};
}($name, getSelf, getReceiver);
case 2:
return function(n, s, r) {
return function(a) {
return s(this)[n](r(this), a);
};
}($name, getSelf, getReceiver);
case 3:
return function(n, s, r) {
return function(a, b) {
return s(this)[n](r(this), a, b);
};
}($name, getSelf, getReceiver);
case 4:
return function(n, s, r) {
return function(a, b, c) {
return s(this)[n](r(this), a, b, c);
};
}($name, getSelf, getReceiver);
case 5:
return function(n, s, r) {
return function(a, b, c, d) {
return s(this)[n](r(this), a, b, c, d);
};
}($name, getSelf, getReceiver);
case 6:
return function(n, s, r) {
return function(a, b, c, d, e) {
return s(this)[n](r(this), a, b, c, d, e);
};
}($name, getSelf, getReceiver);
default:
return function(f, s, r, a) {
return function() {
a = [r(this)];
Array.prototype.push.apply(a, arguments);
return f.apply(s(this), a);
};
}($function, getSelf, getReceiver);
}
},
Closure_forwardInterceptedCallTo: function(receiver, $function) {
var stubName, arity, lookedUpFunction, t1, t2, $arguments,
selfField = H.BoundClosure_selfFieldName(),
receiverField = $.BoundClosure_receiverFieldNameCache;
if (receiverField == null)
receiverField = $.BoundClosure_receiverFieldNameCache = H.BoundClosure_computeFieldNamed("receiver");
stubName = $function.$stubName;
arity = $function.length;
lookedUpFunction = receiver[stubName];
t1 = $function == null ? lookedUpFunction == null : $function === lookedUpFunction;
t2 = !t1 || arity >= 28;
if (t2)
return H.Closure_cspForwardInterceptedCall(arity, !t1, stubName, $function);
if (arity === 1) {
t1 = "return function(){return this." + H.S(selfField) + "." + H.S(stubName) + "(this." + receiverField + ");";
t2 = $.Closure_functionCounter;
if (typeof t2 !== "number")
return t2.$add();
$.Closure_functionCounter = t2 + 1;
return new Function(t1 + t2 + "}")();
}
$arguments = "abcdefghijklmnopqrstuvwxyz".split("").splice(0, arity - 1).join(",");
t1 = "return function(" + $arguments + "){return this." + H.S(selfField) + "." + H.S(stubName) + "(this." + receiverField + ", " + $arguments + ");";
t2 = $.Closure_functionCounter;
if (typeof t2 !== "number")
return t2.$add();
$.Closure_functionCounter = t2 + 1;
return new Function(t1 + t2 + "}")();
},
closureFromTearOff: function(receiver, functions, applyTrampolineIndex, reflectionInfo, isStatic, isIntercepted, $name) {
return H.Closure_fromTearOff(receiver, functions, applyTrampolineIndex, reflectionInfo, !!isStatic, !!isIntercepted, $name);
},
BoundClosure_evalRecipe: function(closure, recipe) {
return H._Universe_evalInEnvironment(init.typeUniverse, H.instanceType(closure._self), recipe);
},
BoundClosure_evalRecipeIntercepted: function(closure, recipe) {
return H._Universe_evalInEnvironment(init.typeUniverse, H.instanceType(closure._receiver), recipe);
},
BoundClosure_selfOf: function(closure) {
return closure._self;
},
BoundClosure_receiverOf: function(closure) {
return closure._receiver;
},
BoundClosure_selfFieldName: function() {
var t1 = $.BoundClosure_selfFieldNameCache;
return t1 == null ? $.BoundClosure_selfFieldNameCache = H.BoundClosure_computeFieldNamed("self") : t1;
},
BoundClosure_computeFieldNamed: function(fieldName) {
var t1, i, $name,
template = new H.BoundClosure("self", "target", "receiver", "name"),
names = J.JSArray_markFixedList(Object.getOwnPropertyNames(template), type$.nullable_Object);
for (t1 = names.length, i = 0; i < t1; ++i) {
$name = names[i];
if (template[$name] === fieldName)
return $name;
}
throw H.wrapException(P.ArgumentError$("Field name " + fieldName + " not found."));
},
boolConversionCheck: function(value) {
if (value == null)
H.assertThrow("boolean expression must not be null");
return value;
},
assertThrow: function(message) {
throw H.wrapException(new H._AssertionError(message));
},
throwCyclicInit: function(staticName) {
throw H.wrapException(new P.CyclicInitializationError(staticName));
},
getIsolateAffinityTag: function($name) {
return init.getIsolateTag($name);
},
throwLateInitializationError: function($name) {
return H.throwExpression(new H.LateError($name));
},
defineProperty: function(obj, property, value) {
Object.defineProperty(obj, property, {value: value, enumerable: false, writable: true, configurable: true});
},
lookupAndCacheInterceptor: function(obj) {
var interceptor, interceptorClass, altTag, mark, t1,
tag = H._asStringS($.getTagFunction.call$1(obj)),
record = $.dispatchRecordsForInstanceTags[tag];
if (record != null) {
Object.defineProperty(obj, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true});
return record.i;
}
interceptor = $.interceptorsForUncacheableTags[tag];
if (interceptor != null)
return interceptor;
interceptorClass = init.interceptorsByTag[tag];
if (interceptorClass == null) {
altTag = H._asStringQ($.alternateTagFunction.call$2(obj, tag));
if (altTag != null) {
record = $.dispatchRecordsForInstanceTags[altTag];
if (record != null) {
Object.defineProperty(obj, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true});
return record.i;
}
interceptor = $.interceptorsForUncacheableTags[altTag];
if (interceptor != null)
return interceptor;
interceptorClass = init.interceptorsByTag[altTag];
tag = altTag;
}
}
if (interceptorClass == null)
return null;
interceptor = interceptorClass.prototype;
mark = tag[0];
if (mark === "!") {
record = H.makeLeafDispatchRecord(interceptor);
$.dispatchRecordsForInstanceTags[tag] = record;
Object.defineProperty(obj, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true});
return record.i;
}
if (mark === "~") {
$.interceptorsForUncacheableTags[tag] = interceptor;
return interceptor;
}
if (mark === "-") {
t1 = H.makeLeafDispatchRecord(interceptor);
Object.defineProperty(Object.getPrototypeOf(obj), init.dispatchPropertyName, {value: t1, enumerable: false, writable: true, configurable: true});
return t1.i;
}
if (mark === "+")
return H.patchInteriorProto(obj, interceptor);
if (mark === "*")
throw H.wrapException(P.UnimplementedError$(tag));
if (init.leafTags[tag] === true) {
t1 = H.makeLeafDispatchRecord(interceptor);
Object.defineProperty(Object.getPrototypeOf(obj), init.dispatchPropertyName, {value: t1, enumerable: false, writable: true, configurable: true});
return t1.i;
} else
return H.patchInteriorProto(obj, interceptor);
},
patchInteriorProto: function(obj, interceptor) {
var proto = Object.getPrototypeOf(obj);
Object.defineProperty(proto, init.dispatchPropertyName, {value: J.makeDispatchRecord(interceptor, proto, null, null), enumerable: false, writable: true, configurable: true});
return interceptor;
},
makeLeafDispatchRecord: function(interceptor) {
return J.makeDispatchRecord(interceptor, false, null, !!interceptor.$isJavaScriptIndexingBehavior);
},
makeDefaultDispatchRecord: function(tag, interceptorClass, proto) {
var interceptor = interceptorClass.prototype;
if (init.leafTags[tag] === true)
return H.makeLeafDispatchRecord(interceptor);
else
return J.makeDispatchRecord(interceptor, proto, null, null);
},
initNativeDispatch: function() {
if (true === $.initNativeDispatchFlag)
return;
$.initNativeDispatchFlag = true;
H.initNativeDispatchContinue();
},
initNativeDispatchContinue: function() {
var map, tags, fun, i, tag, proto, record, interceptorClass;
$.dispatchRecordsForInstanceTags = Object.create(null);
$.interceptorsForUncacheableTags = Object.create(null);
H.initHooks();
map = init.interceptorsByTag;
tags = Object.getOwnPropertyNames(map);
if (typeof window != "undefined") {
window;
fun = function() {
};
for (i = 0; i < tags.length; ++i) {
tag = tags[i];
proto = $.prototypeForTagFunction.call$1(tag);
if (proto != null) {
record = H.makeDefaultDispatchRecord(tag, map[tag], proto);
if (record != null) {
Object.defineProperty(proto, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true});
fun.prototype = proto;
}
}
}
}
for (i = 0; i < tags.length; ++i) {
tag = tags[i];
if (/^[A-Za-z_]/.test(tag)) {
interceptorClass = map[tag];
map["!" + tag] = interceptorClass;
map["~" + tag] = interceptorClass;
map["-" + tag] = interceptorClass;
map["+" + tag] = interceptorClass;
map["*" + tag] = interceptorClass;
}
}
},
initHooks: function() {
var transformers, i, transformer, getTag, getUnknownTag, prototypeForTag,
hooks = C.C_JS_CONST0();
hooks = H.applyHooksTransformer(C.C_JS_CONST1, H.applyHooksTransformer(C.C_JS_CONST2, H.applyHooksTransformer(C.C_JS_CONST3, H.applyHooksTransformer(C.C_JS_CONST3, H.applyHooksTransformer(C.C_JS_CONST4, H.applyHooksTransformer(C.C_JS_CONST5, H.applyHooksTransformer(C.C_JS_CONST6(C.C_JS_CONST), hooks)))))));
if (typeof dartNativeDispatchHooksTransformer != "undefined") {
transformers = dartNativeDispatchHooksTransformer;
if (typeof transformers == "function")
transformers = [transformers];
if (transformers.constructor == Array)
for (i = 0; i < transformers.length; ++i) {
transformer = transformers[i];
if (typeof transformer == "function")
hooks = transformer(hooks) || hooks;
}
}
getTag = hooks.getTag;
getUnknownTag = hooks.getUnknownTag;
prototypeForTag = hooks.prototypeForTag;
$.getTagFunction = new H.initHooks_closure(getTag);
$.alternateTagFunction = new H.initHooks_closure0(getUnknownTag);
$.prototypeForTagFunction = new H.initHooks_closure1(prototypeForTag);
},
applyHooksTransformer: function(transformer, hooks) {
return transformer(hooks) || hooks;
},
quoteStringForRegExp: function(string) {
if (/[[\]{}()*+?.\\^$|]/.test(string))
return string.replace(/[[\]{}()*+?.\\^$|]/g, "\\$&");
return string;
},
TypeErrorDecoder: function TypeErrorDecoder(t0, t1, t2, t3, t4, t5) {
var _ = this;
_._pattern = t0;
_._arguments = t1;
_._argumentsExpr = t2;
_._expr = t3;
_._method = t4;
_._receiver = t5;
},
NullError: function NullError(t0, t1) {
this.__js_helper$_message = t0;
this._method = t1;
},
JsNoSuchMethodError: function JsNoSuchMethodError(t0, t1, t2) {
this.__js_helper$_message = t0;
this._method = t1;
this._receiver = t2;
},
UnknownJsTypeError: function UnknownJsTypeError(t0) {
this.__js_helper$_message = t0;
},
NullThrownFromJavaScriptException: function NullThrownFromJavaScriptException(t0) {
this._irritant = t0;
},
ExceptionAndStackTrace: function ExceptionAndStackTrace(t0, t1) {
this.dartException = t0;
this.stackTrace = t1;
},
_StackTrace: function _StackTrace(t0) {
this._exception = t0;
this._trace = null;
},
Closure: function Closure() {
},
TearOffClosure: function TearOffClosure() {
},
StaticClosure: function StaticClosure() {
},
BoundClosure: function BoundClosure(t0, t1, t2, t3) {
var _ = this;
_._self = t0;
_.__js_helper$_target = t1;
_._receiver = t2;
_._name = t3;
},
RuntimeError: function RuntimeError(t0) {
this.message = t0;
},
_AssertionError: function _AssertionError(t0) {
this.message = t0;
},
JsLinkedHashMap: function JsLinkedHashMap(t0) {
var _ = this;
_.__js_helper$_length = 0;
_._last = _._first = _.__js_helper$_rest = _._nums = _._strings = null;
_._modifications = 0;
_.$ti = t0;
},
LinkedHashMapCell: function LinkedHashMapCell(t0, t1) {
this.hashMapCellKey = t0;
this.hashMapCellValue = t1;
this._next = null;
},
LinkedHashMapKeyIterable: function LinkedHashMapKeyIterable(t0, t1) {
this._map = t0;
this.$ti = t1;
},
LinkedHashMapKeyIterator: function LinkedHashMapKeyIterator(t0, t1, t2) {
var _ = this;
_._map = t0;
_._modifications = t1;
_.__js_helper$_current = _._cell = null;
_.$ti = t2;
},
initHooks_closure: function initHooks_closure(t0) {
this.getTag = t0;
},
initHooks_closure0: function initHooks_closure0(t0) {
this.getUnknownTag = t0;
},
initHooks_closure1: function initHooks_closure1(t0) {
this.prototypeForTag = t0;
},
_checkValidIndex: function(index, list, $length) {
if (index >>> 0 !== index || index >= $length)
throw H.wrapException(H.diagnoseIndexError(list, index));
},
NativeTypedData: function NativeTypedData() {
},
NativeTypedArray: function NativeTypedArray() {
},
NativeTypedArrayOfDouble: function NativeTypedArrayOfDouble() {
},
NativeTypedArrayOfInt: function NativeTypedArrayOfInt() {
},
NativeInt16List: function NativeInt16List() {
},
NativeInt32List: function NativeInt32List() {
},
NativeInt8List: function NativeInt8List() {
},
NativeUint16List: function NativeUint16List() {
},
NativeUint32List: function NativeUint32List() {
},
NativeUint8ClampedList: function NativeUint8ClampedList() {
},
NativeUint8List: function NativeUint8List() {
},
_NativeTypedArrayOfDouble_NativeTypedArray_ListMixin: function _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin() {
},
_NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin: function _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin() {
},
_NativeTypedArrayOfInt_NativeTypedArray_ListMixin: function _NativeTypedArrayOfInt_NativeTypedArray_ListMixin() {
},
_NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin: function _NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin() {
},
Rti__getQuestionFromStar: function(universe, rti) {
var question = rti._precomputed1;
return question == null ? rti._precomputed1 = H._Universe__lookupQuestionRti(universe, rti._primary, true) : question;
},
Rti__getFutureFromFutureOr: function(universe, rti) {
var future = rti._precomputed1;
return future == null ? rti._precomputed1 = H._Universe__lookupInterfaceRti(universe, "Future", [rti._primary]) : future;
},
Rti__isUnionOfFunctionType: function(rti) {
var kind = rti._kind;
if (kind === 6 || kind === 7 || kind === 8)
return H.Rti__isUnionOfFunctionType(rti._primary);
return kind === 11 || kind === 12;
},
Rti__getCanonicalRecipe: function(rti) {
return rti._canonicalRecipe;
},
findType: function(recipe) {
return H._Universe_eval(init.typeUniverse, recipe, false);
},
_substitute: function(universe, rti, typeArguments, depth) {
var baseType, substitutedBaseType, interfaceTypeArguments, substitutedInterfaceTypeArguments, base, substitutedBase, $arguments, substitutedArguments, returnType, substitutedReturnType, functionParameters, substitutedFunctionParameters, bounds, substitutedBounds, index, argument,
kind = rti._kind;
switch (kind) {
case 5:
case 1:
case 2:
case 3:
case 4:
return rti;
case 6:
baseType = rti._primary;
substitutedBaseType = H._substitute(universe, baseType, typeArguments, depth);
if (substitutedBaseType === baseType)
return rti;
return H._Universe__lookupStarRti(universe, substitutedBaseType, true);
case 7:
baseType = rti._primary;
substitutedBaseType = H._substitute(universe, baseType, typeArguments, depth);
if (substitutedBaseType === baseType)
return rti;
return H._Universe__lookupQuestionRti(universe, substitutedBaseType, true);
case 8:
baseType = rti._primary;
substitutedBaseType = H._substitute(universe, baseType, typeArguments, depth);
if (substitutedBaseType === baseType)
return rti;
return H._Universe__lookupFutureOrRti(universe, substitutedBaseType, true);
case 9:
interfaceTypeArguments = rti._rest;
substitutedInterfaceTypeArguments = H._substituteArray(universe, interfaceTypeArguments, typeArguments, depth);
if (substitutedInterfaceTypeArguments === interfaceTypeArguments)
return rti;
return H._Universe__lookupInterfaceRti(universe, rti._primary, substitutedInterfaceTypeArguments);
case 10:
base = rti._primary;
substitutedBase = H._substitute(universe, base, typeArguments, depth);
$arguments = rti._rest;
substitutedArguments = H._substituteArray(universe, $arguments, typeArguments, depth);
if (substitutedBase === base && substitutedArguments === $arguments)
return rti;
return H._Universe__lookupBindingRti(universe, substitutedBase, substitutedArguments);
case 11:
returnType = rti._primary;
substitutedReturnType = H._substitute(universe, returnType, typeArguments, depth);
functionParameters = rti._rest;
substitutedFunctionParameters = H._substituteFunctionParameters(universe, functionParameters, typeArguments, depth);
if (substitutedReturnType === returnType && substitutedFunctionParameters === functionParameters)
return rti;
return H._Universe__lookupFunctionRti(universe, substitutedReturnType, substitutedFunctionParameters);
case 12:
bounds = rti._rest;
depth += bounds.length;
substitutedBounds = H._substituteArray(universe, bounds, typeArguments, depth);
base = rti._primary;
substitutedBase = H._substitute(universe, base, typeArguments, depth);
if (substitutedBounds === bounds && substitutedBase === base)
return rti;
return H._Universe__lookupGenericFunctionRti(universe, substitutedBase, substitutedBounds, true);
case 13:
index = rti._primary;
if (index < depth)
return rti;
argument = typeArguments[index - depth];
if (argument == null)
return rti;
return argument;
default:
throw H.wrapException(P.AssertionError$("Attempted to substitute unexpected RTI kind " + kind));
}
},
_substituteArray: function(universe, rtiArray, typeArguments, depth) {
var changed, i, rti, substitutedRti,
$length = rtiArray.length,
result = [];
for (changed = false, i = 0; i < $length; ++i) {
rti = rtiArray[i];
substitutedRti = H._substitute(universe, rti, typeArguments, depth);
if (substitutedRti !== rti)
changed = true;
result.push(substitutedRti);
}
return changed ? result : rtiArray;
},
_substituteNamed: function(universe, namedArray, typeArguments, depth) {
var changed, i, t1, t2, rti, substitutedRti,
$length = namedArray.length,
result = [];
for (changed = false, i = 0; i < $length; i += 3) {
t1 = namedArray[i];
t2 = namedArray[i + 1];
rti = namedArray[i + 2];
substitutedRti = H._substitute(universe, rti, typeArguments, depth);
if (substitutedRti !== rti)
changed = true;
result.push(t1);
result.push(t2);
result.push(substitutedRti);
}
return changed ? result : namedArray;
},
_substituteFunctionParameters: function(universe, functionParameters, typeArguments, depth) {
var result,
requiredPositional = functionParameters._requiredPositional,
substitutedRequiredPositional = H._substituteArray(universe, requiredPositional, typeArguments, depth),
optionalPositional = functionParameters._optionalPositional,
substitutedOptionalPositional = H._substituteArray(universe, optionalPositional, typeArguments, depth),
named = functionParameters._named,
substitutedNamed = H._substituteNamed(universe, named, typeArguments, depth);
if (substitutedRequiredPositional === requiredPositional && substitutedOptionalPositional === optionalPositional && substitutedNamed === named)
return functionParameters;
result = new H._FunctionParameters();
result._requiredPositional = substitutedRequiredPositional;
result._optionalPositional = substitutedOptionalPositional;
result._named = substitutedNamed;
return result;
},
setRuntimeTypeInfo: function(target, rti) {
target[init.arrayRti] = rti;
return target;
},
closureFunctionType: function(closure) {
var signature = closure.$signature;
if (signature != null) {
if (typeof signature == "number")
return H.getTypeFromTypesTable(signature);
return closure.$signature();
}
return null;
},
instanceOrFunctionType: function(object, testRti) {
var rti;
if (H.Rti__isUnionOfFunctionType(testRti))
if (object instanceof H.Closure) {
rti = H.closureFunctionType(object);
if (rti != null)
return rti;
}
return H.instanceType(object);
},
instanceType: function(object) {
var rti;
if (object instanceof P.Object) {
rti = object.$ti;
return rti != null ? rti : H._instanceTypeFromConstructor(object);
}
if (Array.isArray(object))
return H._arrayInstanceType(object);
return H._instanceTypeFromConstructor(J.getInterceptor$(object));
},
_arrayInstanceType: function(object) {
var rti = object[init.arrayRti],
defaultRti = type$.JSArray_dynamic;
if (rti == null)
return defaultRti;
if (rti.constructor !== defaultRti.constructor)
return defaultRti;
return rti;
},
_instanceType: function(object) {
var rti = object.$ti;
return rti != null ? rti : H._instanceTypeFromConstructor(object);
},
_instanceTypeFromConstructor: function(instance) {
var $constructor = instance.constructor,
probe = $constructor.$ccache;
if (probe != null)
return probe;
return H._instanceTypeFromConstructorMiss(instance, $constructor);
},
_instanceTypeFromConstructorMiss: function(instance, $constructor) {
var effectiveConstructor = instance instanceof H.Closure ? instance.__proto__.__proto__.constructor : $constructor,
rti = H._Universe_findErasedType(init.typeUniverse, effectiveConstructor.name);
$constructor.$ccache = rti;
return rti;
},
getTypeFromTypesTable: function(index) {
var table, type, rti;
H._asIntS(index);
table = init.types;
type = table[index];
if (typeof type == "string") {
rti = H._Universe_eval(init.typeUniverse, type, false);
table[index] = rti;
return rti;
}
return type;
},
createRuntimeType: function(rti) {
var recipe, starErasedRecipe, starErasedRti,
type = rti._cachedRuntimeType;
if (type != null)
return type;
recipe = rti._canonicalRecipe;
starErasedRecipe = recipe.replace(/\*/g, "");
if (starErasedRecipe === recipe)
return rti._cachedRuntimeType = new H._Type(rti);
starErasedRti = H._Universe_eval(init.typeUniverse, starErasedRecipe, true);
type = starErasedRti._cachedRuntimeType;
return rti._cachedRuntimeType = type == null ? starErasedRti._cachedRuntimeType = new H._Type(starErasedRti) : type;
},
_installSpecializedIsTest: function(object) {
var unstarred, isFn, testRti = this,
t1 = type$.Object;
if (testRti === t1)
return H._finishIsFn(testRti, object, H._isObject);
if (!H.isStrongTopType(testRti))
if (!(testRti === type$.legacy_Object))
t1 = testRti === t1;
else
t1 = true;
else
t1 = true;
if (t1)
return H._finishIsFn(testRti, object, H._isTop);
t1 = testRti._kind;
unstarred = t1 === 6 ? testRti._primary : testRti;
if (unstarred === type$.int)
isFn = H._isInt;
else if (unstarred === type$.double || unstarred === type$.num)
isFn = H._isNum;
else if (unstarred === type$.String)
isFn = H._isString;
else
isFn = unstarred === type$.bool ? H._isBool : null;
if (isFn != null)
return H._finishIsFn(testRti, object, isFn);
if (unstarred._kind === 9) {
t1 = unstarred._primary;
if (unstarred._rest.every(H.isTopType)) {
testRti._specializedTestResource = "$is" + t1;
return H._finishIsFn(testRti, object, H._isTestViaProperty);
}
} else if (t1 === 7)
return H._finishIsFn(testRti, object, H._generalNullableIsTestImplementation);
return H._finishIsFn(testRti, object, H._generalIsTestImplementation);
},
_finishIsFn: function(testRti, object, isFn) {
testRti._is = isFn;
return testRti._is(object);
},
_installSpecializedAsCheck: function(object) {
var t1, asFn, testRti = this;
if (!H.isStrongTopType(testRti))
if (!(testRti === type$.legacy_Object))
t1 = testRti === type$.Object;
else
t1 = true;
else
t1 = true;
if (t1)
asFn = H._asTop;
else if (testRti === type$.Object)
asFn = H._asObject;
else
asFn = H._generalNullableAsCheckImplementation;
testRti._as = asFn;
return testRti._as(object);
},
_nullIs: function(testRti) {
var t1,
kind = testRti._kind;
if (!H.isStrongTopType(testRti))
if (!(testRti === type$.legacy_Object))
if (!(testRti === type$.legacy_Never))
if (kind !== 7)
t1 = kind === 8 && H._nullIs(testRti._primary) || testRti === type$.Null || testRti === type$.JSNull;
else
t1 = true;
else
t1 = true;
else
t1 = true;
else
t1 = true;
return t1;
},
_generalIsTestImplementation: function(object) {
var testRti = this;
if (object == null)
return H._nullIs(testRti);
return H._isSubtype(init.typeUniverse, H.instanceOrFunctionType(object, testRti), null, testRti, null);
},
_generalNullableIsTestImplementation: function(object) {
if (object == null)
return true;
return this._primary._is(object);
},
_isTestViaProperty: function(object) {
var tag, testRti = this;
if (object == null)
return H._nullIs(testRti);
tag = testRti._specializedTestResource;
if (object instanceof P.Object)
return !!object[tag];
return !!J.getInterceptor$(object)[tag];
},
_generalAsCheckImplementation: function(object) {
var testRti = this;
if (object == null)
return object;
else if (testRti._is(object))
return object;
H._failedAsCheck(object, testRti);
},
_generalNullableAsCheckImplementation: function(object) {
var testRti = this;
if (object == null)
return object;
else if (testRti._is(object))
return object;
H._failedAsCheck(object, testRti);
},
_failedAsCheck: function(object, testRti) {
throw H.wrapException(H._TypeError$fromMessage(H._Error_compose(object, H.instanceOrFunctionType(object, testRti), H._rtiToString(testRti, null))));
},
_Error_compose: function(object, objectRti, checkedTypeDescription) {
var objectDescription = P.Error_safeToString(object),
objectTypeDescription = H._rtiToString(objectRti == null ? H.instanceType(object) : objectRti, null);
return objectDescription + ": type '" + H.S(objectTypeDescription) + "' is not a subtype of type '" + H.S(checkedTypeDescription) + "'";
},
_TypeError$fromMessage: function(message) {
return new H._TypeError("TypeError: " + message);
},
_TypeError__TypeError$forType: function(object, type) {
return new H._TypeError("TypeError: " + H._Error_compose(object, null, type));
},
_isObject: function(object) {
return object != null;
},
_asObject: function(object) {
return object;
},
_isTop: function(object) {
return true;
},
_asTop: function(object) {
return object;
},
_isBool: function(object) {
return true === object || false === object;
},
_asBool: function(object) {
if (true === object)
return true;
if (false === object)
return false;
throw H.wrapException(H._TypeError__TypeError$forType(object, "bool"));
},
_asBoolS: function(object) {
if (true === object)
return true;
if (false === object)
return false;
if (object == null)
return object;
throw H.wrapException(H._TypeError__TypeError$forType(object, "bool"));
},
_asBoolQ: function(object) {
if (true === object)
return true;
if (false === object)
return false;
if (object == null)
return object;
throw H.wrapException(H._TypeError__TypeError$forType(object, "bool?"));
},
_asDouble: function(object) {
if (typeof object == "number")
return object;
throw H.wrapException(H._TypeError__TypeError$forType(object, "double"));
},
_asDoubleS: function(object) {
if (typeof object == "number")
return object;
if (object == null)
return object;
throw H.wrapException(H._TypeError__TypeError$forType(object, "double"));
},
_asDoubleQ: function(object) {
if (typeof object == "number")
return object;
if (object == null)
return object;
throw H.wrapException(H._TypeError__TypeError$forType(object, "double?"));
},
_isInt: function(object) {
return typeof object == "number" && Math.floor(object) === object;
},
_asInt: function(object) {
if (typeof object == "number" && Math.floor(object) === object)
return object;
throw H.wrapException(H._TypeError__TypeError$forType(object, "int"));
},
_asIntS: function(object) {
if (typeof object == "number" && Math.floor(object) === object)
return object;
if (object == null)
return object;
throw H.wrapException(H._TypeError__TypeError$forType(object, "int"));
},
_asIntQ: function(object) {
if (typeof object == "number" && Math.floor(object) === object)
return object;
if (object == null)
return object;
throw H.wrapException(H._TypeError__TypeError$forType(object, "int?"));
},
_isNum: function(object) {
return typeof object == "number";
},
_asNum: function(object) {
if (typeof object == "number")
return object;
throw H.wrapException(H._TypeError__TypeError$forType(object, "num"));
},
_asNumS: function(object) {
if (typeof object == "number")
return object;
if (object == null)
return object;
throw H.wrapException(H._TypeError__TypeError$forType(object, "num"));
},
_asNumQ: function(object) {
if (typeof object == "number")
return object;
if (object == null)
return object;
throw H.wrapException(H._TypeError__TypeError$forType(object, "num?"));
},
_isString: function(object) {
return typeof object == "string";
},
_asString: function(object) {
if (typeof object == "string")
return object;
throw H.wrapException(H._TypeError__TypeError$forType(object, "String"));
},
_asStringS: function(object) {
if (typeof object == "string")
return object;
if (object == null)
return object;
throw H.wrapException(H._TypeError__TypeError$forType(object, "String"));
},
_asStringQ: function(object) {
if (typeof object == "string")
return object;
if (object == null)
return object;
throw H.wrapException(H._TypeError__TypeError$forType(object, "String?"));
},
_rtiArrayToString: function(array, genericContext) {
var s, sep, i;
for (s = "", sep = "", i = 0; i < array.length; ++i, sep = ", ")
s += C.JSString_methods.$add(sep, H._rtiToString(array[i], genericContext));
return s;
},
_functionRtiToString: function(functionType, genericContext, bounds) {
var boundsLength, outerContextLength, offset, i, t1, t2, t3, typeParametersText, typeSep, t4, t5, boundRti, kind, parameters, requiredPositional, requiredPositionalLength, optionalPositional, optionalPositionalLength, named, namedLength, returnTypeText, argumentsText, sep, _s2_ = ", ";
if (bounds != null) {
boundsLength = bounds.length;
if (genericContext == null) {
genericContext = H.setRuntimeTypeInfo([], type$.JSArray_String);
outerContextLength = null;
} else
outerContextLength = genericContext.length;
offset = genericContext.length;
for (i = boundsLength; i > 0; --i)
C.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 H.ioore(genericContext, t5);
typeParametersText = C.JSString_methods.$add(typeParametersText, genericContext[t5]);
boundRti = bounds[i];
kind = boundRti._kind;
if (!(kind === 2 || kind === 3 || kind === 4 || kind === 5 || boundRti === t1))
if (!(boundRti === t2))
t4 = boundRti === t3;
else
t4 = true;
else
t4 = true;
if (!t4)
typeParametersText += C.JSString_methods.$add(" extends ", H._rtiToString(boundRti, genericContext));
}
typeParametersText += ">";
} else {
typeParametersText = "";
outerContextLength = null;
}
t1 = functionType._primary;
parameters = functionType._rest;
requiredPositional = parameters._requiredPositional;
requiredPositionalLength = requiredPositional.length;
optionalPositional = parameters._optionalPositional;
optionalPositionalLength = optionalPositional.length;
named = parameters._named;
namedLength = named.length;
returnTypeText = H._rtiToString(t1, genericContext);
for (argumentsText = "", sep = "", i = 0; i < requiredPositionalLength; ++i, sep = _s2_)
argumentsText += C.JSString_methods.$add(sep, H._rtiToString(requiredPositional[i], genericContext));
if (optionalPositionalLength > 0) {
argumentsText += sep + "[";
for (sep = "", i = 0; i < optionalPositionalLength; ++i, sep = _s2_)
argumentsText += C.JSString_methods.$add(sep, H._rtiToString(optionalPositional[i], genericContext));
argumentsText += "]";
}
if (namedLength > 0) {
argumentsText += sep + "{";
for (sep = "", i = 0; i < namedLength; i += 3, sep = _s2_) {
argumentsText += sep;
if (named[i + 1])
argumentsText += "required ";
argumentsText += J.$add$ansx(H._rtiToString(named[i + 2], genericContext), " ") + named[i];
}
argumentsText += "}";
}
if (outerContextLength != null) {
genericContext.toString;
genericContext.length = outerContextLength;
}
return typeParametersText + "(" + argumentsText + ") => " + H.S(returnTypeText);
},
_rtiToString: function(rti, genericContext) {
var s, questionArgument, argumentKind, $name, $arguments, t1, t2,
kind = rti._kind;
if (kind === 5)
return "erased";
if (kind === 2)
return "dynamic";
if (kind === 3)
return "void";
if (kind === 1)
return "Never";
if (kind === 4)
return "any";
if (kind === 6) {
s = H._rtiToString(rti._primary, genericContext);
return s;
}
if (kind === 7) {
questionArgument = rti._primary;
s = H._rtiToString(questionArgument, genericContext);
argumentKind = questionArgument._kind;
return J.$add$ansx(argumentKind === 11 || argumentKind === 12 ? C.JSString_methods.$add("(", s) + ")" : s, "?");
}
if (kind === 8)
return "FutureOr<" + H.S(H._rtiToString(rti._primary, genericContext)) + ">";
if (kind === 9) {
$name = H._unminifyOrTag(rti._primary);
$arguments = rti._rest;
return $arguments.length !== 0 ? $name + ("<" + H._rtiArrayToString($arguments, genericContext) + ">") : $name;
}
if (kind === 11)
return H._functionRtiToString(rti, genericContext, null);
if (kind === 12)
return H._functionRtiToString(rti._primary, genericContext, rti._rest);
if (kind === 13) {
genericContext.toString;
t1 = rti._primary;
t2 = genericContext.length;
t1 = t2 - 1 - t1;
if (t1 < 0 || t1 >= t2)
return H.ioore(genericContext, t1);
return genericContext[t1];
}
return "?";
},
_unminifyOrTag: function(rawClassName) {
var preserved = H.unmangleGlobalNameIfPreservedAnyways(rawClassName);
if (preserved != null)
return preserved;
return rawClassName;
},
_Universe_findRule: function(universe, targetType) {
var rule = universe.tR[targetType];
for (; typeof rule == "string";)
rule = universe.tR[rule];
return rule;
},
_Universe_findErasedType: function(universe, cls) {
var $length, erased, $arguments, i, $interface,
metadata = universe.eT,
probe = metadata[cls];
if (probe == null)
return H._Universe_eval(universe, cls, false);
else if (typeof probe == "number") {
$length = probe;
erased = H._Universe__lookupTerminalRti(universe, 5, "#");
$arguments = [];
for (i = 0; i < $length; ++i)
$arguments.push(erased);
$interface = H._Universe__lookupInterfaceRti(universe, cls, $arguments);
metadata[cls] = $interface;
return $interface;
} else
return probe;
},
_Universe_addRules: function(universe, rules) {
return H._Utils_objectAssign(universe.tR, rules);
},
_Universe_addErasedTypes: function(universe, types) {
return H._Utils_objectAssign(universe.eT, types);
},
_Universe_eval: function(universe, recipe, normalize) {
var rti,
cache = universe.eC,
probe = cache.get(recipe);
if (probe != null)
return probe;
rti = H._Parser_parse(H._Parser_create(universe, null, recipe, normalize));
cache.set(recipe, rti);
return rti;
},
_Universe_evalInEnvironment: function(universe, environment, recipe) {
var probe, rti,
cache = environment._evalCache;
if (cache == null)
cache = environment._evalCache = new Map();
probe = cache.get(recipe);
if (probe != null)
return probe;
rti = H._Parser_parse(H._Parser_create(universe, environment, recipe, true));
cache.set(recipe, rti);
return rti;
},
_Universe_bind: function(universe, environment, argumentsRti) {
var argumentsRecipe, probe, rti,
cache = environment._bindCache;
if (cache == null)
cache = environment._bindCache = new Map();
argumentsRecipe = argumentsRti._canonicalRecipe;
probe = cache.get(argumentsRecipe);
if (probe != null)
return probe;
rti = H._Universe__lookupBindingRti(universe, environment, argumentsRti._kind === 10 ? argumentsRti._rest : [argumentsRti]);
cache.set(argumentsRecipe, rti);
return rti;
},
_Universe__installTypeTests: function(universe, rti) {
rti._as = H._installSpecializedAsCheck;
rti._is = H._installSpecializedIsTest;
return rti;
},
_Universe__lookupTerminalRti: function(universe, kind, key) {
var rti, t1,
probe = universe.eC.get(key);
if (probe != null)
return probe;
rti = new H.Rti(null, null);
rti._kind = kind;
rti._canonicalRecipe = key;
t1 = H._Universe__installTypeTests(universe, rti);
universe.eC.set(key, t1);
return t1;
},
_Universe__lookupStarRti: function(universe, baseType, normalize) {
var t1,
key = baseType._canonicalRecipe + "*",
probe = universe.eC.get(key);
if (probe != null)
return probe;
t1 = H._Universe__createStarRti(universe, baseType, key, normalize);
universe.eC.set(key, t1);
return t1;
},
_Universe__createStarRti: function(universe, baseType, key, normalize) {
var baseKind, t1, rti;
if (normalize) {
baseKind = baseType._kind;
if (!H.isStrongTopType(baseType))
t1 = baseType === type$.Null || baseType === type$.JSNull || baseKind === 7 || baseKind === 6;
else
t1 = true;
if (t1)
return baseType;
}
rti = new H.Rti(null, null);
rti._kind = 6;
rti._primary = baseType;
rti._canonicalRecipe = key;
return H._Universe__installTypeTests(universe, rti);
},
_Universe__lookupQuestionRti: function(universe, baseType, normalize) {
var t1,
key = baseType._canonicalRecipe + "?",
probe = universe.eC.get(key);
if (probe != null)
return probe;
t1 = H._Universe__createQuestionRti(universe, baseType, key, normalize);
universe.eC.set(key, t1);
return t1;
},
_Universe__createQuestionRti: function(universe, baseType, key, normalize) {
var baseKind, t1, starArgument, rti;
if (normalize) {
baseKind = baseType._kind;
if (!H.isStrongTopType(baseType))
if (!(baseType === type$.Null || baseType === type$.JSNull))
if (baseKind !== 7)
t1 = baseKind === 8 && H.isNullable(baseType._primary);
else
t1 = true;
else
t1 = true;
else
t1 = true;
if (t1)
return baseType;
else if (baseKind === 1 || baseType === type$.legacy_Never)
return type$.Null;
else if (baseKind === 6) {
starArgument = baseType._primary;
if (starArgument._kind === 8 && H.isNullable(starArgument._primary))
return starArgument;
else
return H.Rti__getQuestionFromStar(universe, baseType);
}
}
rti = new H.Rti(null, null);
rti._kind = 7;
rti._primary = baseType;
rti._canonicalRecipe = key;
return H._Universe__installTypeTests(universe, rti);
},
_Universe__lookupFutureOrRti: function(universe, baseType, normalize) {
var t1,
key = baseType._canonicalRecipe + "/",
probe = universe.eC.get(key);
if (probe != null)
return probe;
t1 = H._Universe__createFutureOrRti(universe, baseType, key, normalize);
universe.eC.set(key, t1);
return t1;
},
_Universe__createFutureOrRti: function(universe, baseType, key, normalize) {
var t1, t2, rti;
if (normalize) {
t1 = baseType._kind;
if (!H.isStrongTopType(baseType))
if (!(baseType === type$.legacy_Object))
t2 = baseType === type$.Object;
else
t2 = true;
else
t2 = true;
if (t2 || baseType === type$.Object)
return baseType;
else if (t1 === 1)
return H._Universe__lookupInterfaceRti(universe, "Future", [baseType]);
else if (baseType === type$.Null || baseType === type$.JSNull)
return type$.nullable_Future_Null;
}
rti = new H.Rti(null, null);
rti._kind = 8;
rti._primary = baseType;
rti._canonicalRecipe = key;
return H._Universe__installTypeTests(universe, rti);
},
_Universe__lookupGenericFunctionParameterRti: function(universe, index) {
var rti, t1,
key = "" + index + "^",
probe = universe.eC.get(key);
if (probe != null)
return probe;
rti = new H.Rti(null, null);
rti._kind = 13;
rti._primary = index;
rti._canonicalRecipe = key;
t1 = H._Universe__installTypeTests(universe, rti);
universe.eC.set(key, t1);
return t1;
},
_Universe__canonicalRecipeJoin: function($arguments) {
var s, sep, i,
$length = $arguments.length;
for (s = "", sep = "", i = 0; i < $length; ++i, sep = ",")
s += sep + $arguments[i]._canonicalRecipe;
return s;
},
_Universe__canonicalRecipeJoinNamed: function($arguments) {
var s, sep, i, t1, nameSep, s0,
$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;
}
return s;
},
_Universe__lookupInterfaceRti: function(universe, $name, $arguments) {
var probe, rti, t1,
s = $name;
if ($arguments.length !== 0)
s += "<" + H._Universe__canonicalRecipeJoin($arguments) + ">";
probe = universe.eC.get(s);
if (probe != null)
return probe;
rti = new H.Rti(null, null);
rti._kind = 9;
rti._primary = $name;
rti._rest = $arguments;
if ($arguments.length > 0)
rti._precomputed1 = $arguments[0];
rti._canonicalRecipe = s;
t1 = H._Universe__installTypeTests(universe, rti);
universe.eC.set(s, t1);
return t1;
},
_Universe__lookupBindingRti: function(universe, base, $arguments) {
var newBase, newArguments, key, probe, rti, t1;
if (base._kind === 10) {
newBase = base._primary;
newArguments = base._rest.concat($arguments);
} else {
newArguments = $arguments;
newBase = base;
}
key = newBase._canonicalRecipe + (";<" + H._Universe__canonicalRecipeJoin(newArguments) + ">");
probe = universe.eC.get(key);
if (probe != null)
return probe;
rti = new H.Rti(null, null);
rti._kind = 10;
rti._primary = newBase;
rti._rest = newArguments;
rti._canonicalRecipe = key;
t1 = H._Universe__installTypeTests(universe, rti);
universe.eC.set(key, t1);
return t1;
},
_Universe__lookupFunctionRti: function(universe, returnType, parameters) {
var sep, t1, key, probe, rti,
s = returnType._canonicalRecipe,
requiredPositional = parameters._requiredPositional,
requiredPositionalLength = requiredPositional.length,
optionalPositional = parameters._optionalPositional,
optionalPositionalLength = optionalPositional.length,
named = parameters._named,
namedLength = named.length,
recipe = "(" + H._Universe__canonicalRecipeJoin(requiredPositional);
if (optionalPositionalLength > 0) {
sep = requiredPositionalLength > 0 ? "," : "";
t1 = H._Universe__canonicalRecipeJoin(optionalPositional);
recipe += sep + "[" + t1 + "]";
}
if (namedLength > 0) {
sep = requiredPositionalLength > 0 ? "," : "";
t1 = H._Universe__canonicalRecipeJoinNamed(named);
recipe += sep + "{" + t1 + "}";
}
key = s + (recipe + ")");
probe = universe.eC.get(key);
if (probe != null)
return probe;
rti = new H.Rti(null, null);
rti._kind = 11;
rti._primary = returnType;
rti._rest = parameters;
rti._canonicalRecipe = key;
t1 = H._Universe__installTypeTests(universe, rti);
universe.eC.set(key, t1);
return t1;
},
_Universe__lookupGenericFunctionRti: function(universe, baseFunctionType, bounds, normalize) {
var t1,
key = baseFunctionType._canonicalRecipe + ("<" + H._Universe__canonicalRecipeJoin(bounds) + ">"),
probe = universe.eC.get(key);
if (probe != null)
return probe;
t1 = H._Universe__createGenericFunctionRti(universe, baseFunctionType, bounds, key, normalize);
universe.eC.set(key, t1);
return t1;
},
_Universe__createGenericFunctionRti: function(universe, baseFunctionType, bounds, key, normalize) {
var $length, typeArguments, count, i, bound, substitutedBase, substitutedBounds, rti;
if (normalize) {
$length = bounds.length;
typeArguments = new Array($length);
for (count = 0, i = 0; i < $length; ++i) {
bound = bounds[i];
if (bound._kind === 1) {
typeArguments[i] = bound;
++count;
}
}
if (count > 0) {
substitutedBase = H._substitute(universe, baseFunctionType, typeArguments, 0);
substitutedBounds = H._substituteArray(universe, bounds, typeArguments, 0);
return H._Universe__lookupGenericFunctionRti(universe, substitutedBase, substitutedBounds, bounds !== substitutedBounds);
}
}
rti = new H.Rti(null, null);
rti._kind = 12;
rti._primary = baseFunctionType;
rti._rest = bounds;
rti._canonicalRecipe = key;
return H._Universe__installTypeTests(universe, rti);
},
_Parser_create: function(universe, environment, recipe, normalize) {
return {u: universe, e: environment, r: recipe, s: [], p: 0, n: normalize};
},
_Parser_parse: function(parser) {
var t1, i, ch, universe, array, head, base, u, parameters, optionalPositional, named, item,
source = parser.r,
stack = parser.s;
for (t1 = source.length, i = 0; i < t1;) {
ch = source.charCodeAt(i);
if (ch >= 48 && ch <= 57)
i = H._Parser_handleDigit(i + 1, ch, source, stack);
else if ((((ch | 32) >>> 0) - 97 & 65535) < 26 || ch === 95 || ch === 36)
i = H._Parser_handleIdentifier(parser, i, source, stack, false);
else if (ch === 46)
i = H._Parser_handleIdentifier(parser, i, source, stack, true);
else {
++i;
switch (ch) {
case 44:
break;
case 58:
stack.push(false);
break;
case 33:
stack.push(true);
break;
case 59:
stack.push(H._Parser_toType(parser.u, parser.e, stack.pop()));
break;
case 94:
stack.push(H._Universe__lookupGenericFunctionParameterRti(parser.u, stack.pop()));
break;
case 35:
stack.push(H._Universe__lookupTerminalRti(parser.u, 5, "#"));
break;
case 64:
stack.push(H._Universe__lookupTerminalRti(parser.u, 2, "@"));
break;
case 126:
stack.push(H._Universe__lookupTerminalRti(parser.u, 3, "~"));
break;
case 60:
stack.push(parser.p);
parser.p = stack.length;
break;
case 62:
universe = parser.u;
array = stack.splice(parser.p);
H._Parser_toTypes(parser.u, parser.e, array);
parser.p = stack.pop();
head = stack.pop();
if (typeof head == "string")
stack.push(H._Universe__lookupInterfaceRti(universe, head, array));
else {
base = H._Parser_toType(universe, parser.e, head);
switch (base._kind) {
case 11:
stack.push(H._Universe__lookupGenericFunctionRti(universe, base, array, parser.n));
break;
default:
stack.push(H._Universe__lookupBindingRti(universe, base, array));
break;
}
}
break;
case 38:
H._Parser_handleExtendedOperations(parser, stack);
break;
case 42:
u = parser.u;
stack.push(H._Universe__lookupStarRti(u, H._Parser_toType(u, parser.e, stack.pop()), parser.n));
break;
case 63:
u = parser.u;
stack.push(H._Universe__lookupQuestionRti(u, H._Parser_toType(u, parser.e, stack.pop()), parser.n));
break;
case 47:
u = parser.u;
stack.push(H._Universe__lookupFutureOrRti(u, H._Parser_toType(u, parser.e, stack.pop()), parser.n));
break;
case 40:
stack.push(parser.p);
parser.p = stack.length;
break;
case 41:
universe = parser.u;
parameters = new H._FunctionParameters();
optionalPositional = universe.sEA;
named = universe.sEA;
head = stack.pop();
if (typeof head == "number")
switch (head) {
case -1:
optionalPositional = stack.pop();
break;
case -2:
named = stack.pop();
break;
default:
stack.push(head);
break;
}
else
stack.push(head);
array = stack.splice(parser.p);
H._Parser_toTypes(parser.u, parser.e, array);
parser.p = stack.pop();
parameters._requiredPositional = array;
parameters._optionalPositional = optionalPositional;
parameters._named = named;
stack.push(H._Universe__lookupFunctionRti(universe, H._Parser_toType(universe, parser.e, stack.pop()), parameters));
break;
case 91:
stack.push(parser.p);
parser.p = stack.length;
break;
case 93:
array = stack.splice(parser.p);
H._Parser_toTypes(parser.u, parser.e, array);
parser.p = stack.pop();
stack.push(array);
stack.push(-1);
break;
case 123:
stack.push(parser.p);
parser.p = stack.length;
break;
case 125:
array = stack.splice(parser.p);
H._Parser_toTypesNamed(parser.u, parser.e, array);
parser.p = stack.pop();
stack.push(array);
stack.push(-2);
break;
default:
throw "Bad character " + ch;
}
}
}
item = stack.pop();
return H._Parser_toType(parser.u, parser.e, item);
},
_Parser_handleDigit: function(i, digit, source, stack) {
var t1, ch,
value = digit - 48;
for (t1 = source.length; i < t1; ++i) {
ch = source.charCodeAt(i);
if (!(ch >= 48 && ch <= 57))
break;
value = value * 10 + (ch - 48);
}
stack.push(value);
return i;
},
_Parser_handleIdentifier: function(parser, start, source, stack, hasPeriod) {
var t1, ch, t2, string, environment, recipe,
i = start + 1;
for (t1 = source.length; i < t1; ++i) {
ch = source.charCodeAt(i);
if (ch === 46) {
if (hasPeriod)
break;
hasPeriod = true;
} else {
if (!((((ch | 32) >>> 0) - 97 & 65535) < 26 || ch === 95 || ch === 36))
t2 = ch >= 48 && ch <= 57;
else
t2 = true;
if (!t2)
break;
}
}
string = source.substring(start, i);
if (hasPeriod) {
t1 = parser.u;
environment = parser.e;
if (environment._kind === 10)
environment = environment._primary;
recipe = H._Universe_findRule(t1, environment._primary)[string];
if (recipe == null)
H.throwExpression('No "' + string + '" in "' + H.Rti__getCanonicalRecipe(environment) + '"');
stack.push(H._Universe_evalInEnvironment(t1, environment, recipe));
} else
stack.push(string);
return i;
},
_Parser_handleExtendedOperations: function(parser, stack) {
var $top = stack.pop();
if (0 === $top) {
stack.push(H._Universe__lookupTerminalRti(parser.u, 1, "0&"));
return;
}
if (1 === $top) {
stack.push(H._Universe__lookupTerminalRti(parser.u, 4, "1&"));
return;
}
throw H.wrapException(P.AssertionError$("Unexpected extended operation " + H.S($top)));
},
_Parser_toType: function(universe, environment, item) {
if (typeof item == "string")
return H._Universe__lookupInterfaceRti(universe, item, universe.sEA);
else if (typeof item == "number")
return H._Parser_indexToType(universe, environment, item);
else
return item;
},
_Parser_toTypes: function(universe, environment, items) {
var i,
$length = items.length;
for (i = 0; i < $length; ++i)
items[i] = H._Parser_toType(universe, environment, items[i]);
},
_Parser_toTypesNamed: function(universe, environment, items) {
var i,
$length = items.length;
for (i = 2; i < $length; i += 3)
items[i] = H._Parser_toType(universe, environment, items[i]);
},
_Parser_indexToType: function(universe, environment, index) {
var typeArguments, len,
kind = environment._kind;
if (kind === 10) {
if (index === 0)
return environment._primary;
typeArguments = environment._rest;
len = typeArguments.length;
if (index <= len)
return typeArguments[index - 1];
index -= len;
environment = environment._primary;
kind = environment._kind;
} else if (index === 0)
return environment;
if (kind !== 9)
throw H.wrapException(P.AssertionError$("Indexed base must be an interface type"));
typeArguments = environment._rest;
if (index <= typeArguments.length)
return typeArguments[index - 1];
throw H.wrapException(P.AssertionError$("Bad index " + index + " for " + environment.toString$0(0)));
},
_isSubtype: function(universe, s, sEnv, t, tEnv) {
var t1, sKind, leftTypeVariable, tKind, sBounds, tBounds, sLength, i, sBound, tBound;
if (s === t)
return true;
if (!H.isStrongTopType(t))
if (!(t === type$.legacy_Object))
t1 = t === type$.Object;
else
t1 = true;
else
t1 = true;
if (t1)
return true;
sKind = s._kind;
if (sKind === 4)
return true;
if (H.isStrongTopType(s))
return false;
if (s._kind !== 1)
t1 = s === type$.Null || s === type$.JSNull;
else
t1 = true;
if (t1)
return true;
leftTypeVariable = sKind === 13;
if (leftTypeVariable)
if (H._isSubtype(universe, sEnv[s._primary], sEnv, t, tEnv))
return true;
tKind = t._kind;
if (sKind === 6)
return H._isSubtype(universe, s._primary, sEnv, t, tEnv);
if (tKind === 6) {
t1 = t._primary;
return H._isSubtype(universe, s, sEnv, t1, tEnv);
}
if (sKind === 8) {
if (!H._isSubtype(universe, s._primary, sEnv, t, tEnv))
return false;
return H._isSubtype(universe, H.Rti__getFutureFromFutureOr(universe, s), sEnv, t, tEnv);
}
if (sKind === 7) {
t1 = H._isSubtype(universe, s._primary, sEnv, t, tEnv);
return t1;
}
if (tKind === 8) {
if (H._isSubtype(universe, s, sEnv, t._primary, tEnv))
return true;
return H._isSubtype(universe, s, sEnv, H.Rti__getFutureFromFutureOr(universe, t), tEnv);
}
if (tKind === 7) {
t1 = H._isSubtype(universe, s, sEnv, t._primary, tEnv);
return t1;
}
if (leftTypeVariable)
return false;
t1 = sKind !== 11;
if ((!t1 || sKind === 12) && t === type$.Function)
return true;
if (tKind === 12) {
if (s === type$.JavaScriptFunction)
return true;
if (sKind !== 12)
return false;
sBounds = s._rest;
tBounds = t._rest;
sLength = sBounds.length;
if (sLength !== tBounds.length)
return false;
sEnv = sEnv == null ? sBounds : sBounds.concat(sEnv);
tEnv = tEnv == null ? tBounds : tBounds.concat(tEnv);
for (i = 0; i < sLength; ++i) {
sBound = sBounds[i];
tBound = tBounds[i];
if (!H._isSubtype(universe, sBound, sEnv, tBound, tEnv) || !H._isSubtype(universe, tBound, tEnv, sBound, sEnv))
return false;
}
return H._isFunctionSubtype(universe, s._primary, sEnv, t._primary, tEnv);
}
if (tKind === 11) {
if (s === type$.JavaScriptFunction)
return true;
if (t1)
return false;
return H._isFunctionSubtype(universe, s, sEnv, t, tEnv);
}
if (sKind === 9) {
if (tKind !== 9)
return false;
return H._isInterfaceSubtype(universe, s, sEnv, t, tEnv);
}
return false;
},
_isFunctionSubtype: function(universe, s, sEnv, t, tEnv) {
var sParameters, tParameters, sRequiredPositional, tRequiredPositional, sRequiredPositionalLength, tRequiredPositionalLength, requiredPositionalDelta, sOptionalPositional, tOptionalPositional, sOptionalPositionalLength, tOptionalPositionalLength, i, t1, sNamed, tNamed, sNamedLength, tNamedLength, sIndex, tIndex, tName, sName;
if (!H._isSubtype(universe, s._primary, sEnv, t._primary, tEnv))
return false;
sParameters = s._rest;
tParameters = t._rest;
sRequiredPositional = sParameters._requiredPositional;
tRequiredPositional = tParameters._requiredPositional;
sRequiredPositionalLength = sRequiredPositional.length;
tRequiredPositionalLength = tRequiredPositional.length;
if (sRequiredPositionalLength > tRequiredPositionalLength)
return false;
requiredPositionalDelta = tRequiredPositionalLength - sRequiredPositionalLength;
sOptionalPositional = sParameters._optionalPositional;
tOptionalPositional = tParameters._optionalPositional;
sOptionalPositionalLength = sOptionalPositional.length;
tOptionalPositionalLength = tOptionalPositional.length;
if (sRequiredPositionalLength + sOptionalPositionalLength < tRequiredPositionalLength + tOptionalPositionalLength)
return false;
for (i = 0; i < sRequiredPositionalLength; ++i) {
t1 = sRequiredPositional[i];
if (!H._isSubtype(universe, tRequiredPositional[i], tEnv, t1, sEnv))
return false;
}
for (i = 0; i < requiredPositionalDelta; ++i) {
t1 = sOptionalPositional[i];
if (!H._isSubtype(universe, tRequiredPositional[sRequiredPositionalLength + i], tEnv, t1, sEnv))
return false;
}
for (i = 0; i < tOptionalPositionalLength; ++i) {
t1 = sOptionalPositional[requiredPositionalDelta + i];
if (!H._isSubtype(universe, tOptionalPositional[i], tEnv, t1, sEnv))
return false;
}
sNamed = sParameters._named;
tNamed = tParameters._named;
sNamedLength = sNamed.length;
tNamedLength = tNamed.length;
for (sIndex = 0, tIndex = 0; tIndex < tNamedLength; tIndex += 3) {
tName = tNamed[tIndex];
for (; true;) {
if (sIndex >= sNamedLength)
return false;
sName = sNamed[sIndex];
sIndex += 3;
if (tName < sName)
return false;
if (sName < tName)
continue;
t1 = sNamed[sIndex - 1];
if (!H._isSubtype(universe, tNamed[tIndex + 2], tEnv, t1, sEnv))
return false;
break;
}
}
return true;
},
_isInterfaceSubtype: function(universe, s, sEnv, t, tEnv) {
var sArgs, tArgs, $length, i, t1, t2, rule, supertypeArgs,
sName = s._primary,
tName = t._primary;
if (sName === tName) {
sArgs = s._rest;
tArgs = t._rest;
$length = sArgs.length;
for (i = 0; i < $length; ++i) {
t1 = sArgs[i];
t2 = tArgs[i];
if (!H._isSubtype(universe, t1, sEnv, t2, tEnv))
return false;
}
return true;
}
if (t === type$.Object)
return true;
rule = H._Universe_findRule(universe, sName);
if (rule == null)
return false;
supertypeArgs = rule[tName];
if (supertypeArgs == null)
return false;
$length = supertypeArgs.length;
tArgs = t._rest;
for (i = 0; i < $length; ++i)
if (!H._isSubtype(universe, H._Universe_evalInEnvironment(universe, s, supertypeArgs[i]), sEnv, tArgs[i], tEnv))
return false;
return true;
},
isNullable: function(t) {
var t1,
kind = t._kind;
if (!(t === type$.Null || t === type$.JSNull))
if (!H.isStrongTopType(t))
if (kind !== 7)
if (!(kind === 6 && H.isNullable(t._primary)))
t1 = kind === 8 && H.isNullable(t._primary);
else
t1 = true;
else
t1 = true;
else
t1 = true;
else
t1 = true;
return t1;
},
isTopType: function(t) {
var t1;
if (!H.isStrongTopType(t))
if (!(t === type$.legacy_Object))
t1 = t === type$.Object;
else
t1 = true;
else
t1 = true;
return t1;
},
isStrongTopType: function(t) {
var kind = t._kind;
return kind === 2 || kind === 3 || kind === 4 || kind === 5 || t === type$.nullable_Object;
},
_Utils_objectAssign: function(o, other) {
var i, key,
keys = Object.keys(other),
$length = keys.length;
for (i = 0; i < $length; ++i) {
key = keys[i];
o[key] = other[key];
}
},
Rti: function Rti(t0, t1) {
var _ = this;
_._as = t0;
_._is = t1;
_._cachedRuntimeType = _._specializedTestResource = _._precomputed1 = null;
_._kind = 0;
_._canonicalRecipe = _._bindCache = _._evalCache = _._rest = _._primary = null;
},
_FunctionParameters: function _FunctionParameters() {
this._named = this._optionalPositional = this._requiredPositional = null;
},
_Type: function _Type(t0) {
this._rti = t0;
},
_Error: function _Error() {
},
_TypeError: function _TypeError(t0) {
this.__rti$_message = t0;
},
unmangleGlobalNameIfPreservedAnyways: function($name) {
return init.mangledGlobalNames[$name];
}
},
J = {
makeDispatchRecord: function(interceptor, proto, extension, indexability) {
return {i: interceptor, p: proto, e: extension, x: indexability};
},
getNativeInterceptor: function(object) {
var proto, objectProto, $constructor, interceptor,
record = object[init.dispatchPropertyName];
if (record == null)
if ($.initNativeDispatchFlag == null) {
H.initNativeDispatch();
record = object[init.dispatchPropertyName];
}
if (record != null) {
proto = record.p;
if (false === proto)
return record.i;
if (true === proto)
return object;
objectProto = Object.getPrototypeOf(object);
if (proto === objectProto)
return record.i;
if (record.e === objectProto)
throw H.wrapException(P.UnimplementedError$("Return interceptor for " + H.S(proto(object, record))));
}
$constructor = object.constructor;
interceptor = $constructor == null ? null : $constructor[J.JS_INTEROP_INTERCEPTOR_TAG()];
if (interceptor != null)
return interceptor;
interceptor = H.lookupAndCacheInterceptor(object);
if (interceptor != null)
return interceptor;
if (typeof object == "function")
return C.JavaScriptFunction_methods;
proto = Object.getPrototypeOf(object);
if (proto == null)
return C.PlainJavaScriptObject_methods;
if (proto === Object.prototype)
return C.PlainJavaScriptObject_methods;
if (typeof $constructor == "function") {
Object.defineProperty($constructor, J.JS_INTEROP_INTERCEPTOR_TAG(), {value: C.UnknownJavaScriptObject_methods, enumerable: false, writable: true, configurable: true});
return C.UnknownJavaScriptObject_methods;
}
return C.UnknownJavaScriptObject_methods;
},
JS_INTEROP_INTERCEPTOR_TAG: function() {
var t1 = $._JS_INTEROP_INTERCEPTOR_TAG;
return t1 == null ? $._JS_INTEROP_INTERCEPTOR_TAG = init.getIsolateTag("_$dart_js") : t1;
},
JSArray_markFixedList: function(list, $T) {
list.fixed$length = Array;
return list;
},
getInterceptor$: function(receiver) {
if (typeof receiver == "number") {
if (Math.floor(receiver) == receiver)
return J.JSInt.prototype;
return J.JSDouble.prototype;
}
if (typeof receiver == "string")
return J.JSString.prototype;
if (receiver == null)
return J.JSNull.prototype;
if (typeof receiver == "boolean")
return J.JSBool.prototype;
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 P.Object)
return receiver;
return J.getNativeInterceptor(receiver);
},
getInterceptor$ansx: function(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 P.Object)
return receiver;
return J.getNativeInterceptor(receiver);
},
getInterceptor$asx: function(receiver) {
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 P.Object)
return receiver;
return J.getNativeInterceptor(receiver);
},
getInterceptor$ax: function(receiver) {
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 P.Object)
return receiver;
return J.getNativeInterceptor(receiver);
},
getInterceptor$s: function(receiver) {
if (typeof receiver == "string")
return J.JSString.prototype;
if (receiver == null)
return receiver;
if (!(receiver instanceof P.Object))
return J.UnknownJavaScriptObject.prototype;
return receiver;
},
getInterceptor$x: function(receiver) {
if (receiver == null)
return receiver;
if (typeof receiver != "object") {
if (typeof receiver == "function")
return J.JavaScriptFunction.prototype;
return receiver;
}
if (receiver instanceof P.Object)
return receiver;
return J.getNativeInterceptor(receiver);
},
get$hashCode$: function(receiver) {
return J.getInterceptor$(receiver).get$hashCode(receiver);
},
get$iterator$ax: function(receiver) {
return J.getInterceptor$ax(receiver).get$iterator(receiver);
},
get$length$asx: function(receiver) {
return J.getInterceptor$asx(receiver).get$length(receiver);
},
get$onClick$x: function(receiver) {
return J.getInterceptor$x(receiver).get$onClick(receiver);
},
$add$ansx: function(receiver, a0) {
if (typeof receiver == "number" && typeof a0 == "number")
return receiver + a0;
return J.getInterceptor$ansx(receiver).$add(receiver, a0);
},
$eq$: function(receiver, a0) {
if (receiver == null)
return a0 == null;
if (typeof receiver != "object")
return a0 != null && receiver === a0;
return J.getInterceptor$(receiver).$eq(receiver, a0);
},
$indexSet$ax: function(receiver, a0, a1) {
return J.getInterceptor$ax(receiver).$indexSet(receiver, a0, a1);
},
_removeEventListener$3$x: function(receiver, a0, a1, a2) {
return J.getInterceptor$x(receiver)._removeEventListener$3(receiver, a0, a1, a2);
},
addEventListener$3$x: function(receiver, a0, a1, a2) {
return J.getInterceptor$x(receiver).addEventListener$3(receiver, a0, a1, a2);
},
forEach$1$ax: function(receiver, a0) {
return J.getInterceptor$ax(receiver).forEach$1(receiver, a0);
},
startsWith$1$s: function(receiver, a0) {
return J.getInterceptor$s(receiver).startsWith$1(receiver, a0);
},
toString$0$: function(receiver) {
return J.getInterceptor$(receiver).toString$0(receiver);
},
Interceptor: function Interceptor() {
},
JSBool: function JSBool() {
},
JSNull: function JSNull() {
},
JavaScriptObject: function JavaScriptObject() {
},
PlainJavaScriptObject: function PlainJavaScriptObject() {
},
UnknownJavaScriptObject: function UnknownJavaScriptObject() {
},
JavaScriptFunction: function JavaScriptFunction() {
},
JSArray: function JSArray(t0) {
this.$ti = t0;
},
JSUnmodifiableArray: function JSUnmodifiableArray(t0) {
this.$ti = t0;
},
ArrayIterator: function ArrayIterator(t0, t1, t2) {
var _ = this;
_._iterable = t0;
_._length = t1;
_._index = 0;
_._current = null;
_.$ti = t2;
},
JSNumber: function JSNumber() {
},
JSInt: function JSInt() {
},
JSDouble: function JSDouble() {
},
JSString: function JSString() {
}
},
P = {
_AsyncRun__initializeScheduleImmediate: function() {
var div, span, t1 = {};
if (self.scheduleImmediate != null)
return P.async__AsyncRun__scheduleImmediateJsOverride$closure();
if (self.MutationObserver != null && self.document != null) {
div = self.document.createElement("div");
span = self.document.createElement("span");
t1.storedCallback = null;
new self.MutationObserver(H.convertDartClosureToJS(new P._AsyncRun__initializeScheduleImmediate_internalCallback(t1), 1)).observe(div, {childList: true});
return new P._AsyncRun__initializeScheduleImmediate_closure(t1, div, span);
} else if (self.setImmediate != null)
return P.async__AsyncRun__scheduleImmediateWithSetImmediate$closure();
return P.async__AsyncRun__scheduleImmediateWithTimer$closure();
},
_AsyncRun__scheduleImmediateJsOverride: function(callback) {
self.scheduleImmediate(H.convertDartClosureToJS(new P._AsyncRun__scheduleImmediateJsOverride_internalCallback(type$.void_Function._as(callback)), 0));
},
_AsyncRun__scheduleImmediateWithSetImmediate: function(callback) {
self.setImmediate(H.convertDartClosureToJS(new P._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback(type$.void_Function._as(callback)), 0));
},
_AsyncRun__scheduleImmediateWithTimer: function(callback) {
P.Timer__createTimer(C.Duration_0, type$.void_Function._as(callback));
},
Timer__createTimer: function(duration, callback) {
var milliseconds = C.JSInt_methods._tdivFast$1(duration._duration, 1000);
return P._TimerImpl$(milliseconds < 0 ? 0 : milliseconds, callback);
},
_TimerImpl$: function(milliseconds, callback) {
var t1 = new P._TimerImpl();
t1._TimerImpl$2(milliseconds, callback);
return t1;
},
_makeAsyncAwaitCompleter: function($T) {
return new P._AsyncAwaitCompleter(new P._Future($.Zone__current, $T._eval$1("_Future<0>")), $T._eval$1("_AsyncAwaitCompleter<0>"));
},
_asyncStartSync: function(bodyFunction, completer) {
bodyFunction.call$2(0, null);
completer.isSync = true;
return completer._future;
},
_asyncAwait: function(object, bodyFunction) {
P._awaitOnObject(object, bodyFunction);
},
_asyncReturn: function(object, completer) {
completer.complete$1(0, object);
},
_asyncRethrow: function(object, completer) {
completer.completeError$2(H.unwrapException(object), H.getTraceFromException(object));
},
_awaitOnObject: function(object, bodyFunction) {
var t1, future,
thenCallback = new P._awaitOnObject_closure(bodyFunction),
errorCallback = new P._awaitOnObject_closure0(bodyFunction);
if (object instanceof P._Future)
object._thenAwait$1$2(thenCallback, errorCallback, type$.dynamic);
else {
t1 = type$.dynamic;
if (type$.Future_dynamic._is(object))
object.then$1$2$onError(thenCallback, errorCallback, t1);
else {
future = new P._Future($.Zone__current, type$._Future_dynamic);
future._state = 4;
future._resultOrListeners = object;
future._thenAwait$1$2(thenCallback, errorCallback, t1);
}
}
},
_wrapJsFunctionForAsync: function($function) {
var $protected = function(fn, ERROR) {
return function(errorCode, result) {
while (true)
try {
fn(errorCode, result);
break;
} catch (error) {
result = error;
errorCode = ERROR;
}
};
}($function, 1);
return $.Zone__current.registerBinaryCallback$3$1(new P._wrapJsFunctionForAsync_closure($protected), type$.void, type$.int, type$.dynamic);
},
_Future__chainCoreFuture: function(source, target) {
var t1, t2, listeners;
for (t1 = type$._Future_dynamic; t2 = source._state, t2 === 2;)
source = t1._as(source._resultOrListeners);
if (t2 >= 4) {
listeners = target._removeListeners$0();
target._state = source._state;
target._resultOrListeners = source._resultOrListeners;
P._Future__propagateToListeners(target, listeners);
} else {
listeners = type$.nullable__FutureListener_dynamic_dynamic._as(target._resultOrListeners);
target._state = 2;
target._resultOrListeners = source;
source._prependListeners$1(listeners);
}
},
_Future__propagateToListeners: function(source, listeners) {
var t2, t3, t4, _box_0, hasError, asyncError, nextListener, nextListener0, t5, sourceResult, t6, t7, zone, oldZone, result, current, _null = null, _box_1 = {},
t1 = _box_1.source = source;
for (t2 = type$.AsyncError, t3 = type$.nullable__FutureListener_dynamic_dynamic, t4 = type$.Future_dynamic; true;) {
_box_0 = {};
hasError = t1._state === 8;
if (listeners == null) {
if (hasError) {
asyncError = t2._as(t1._resultOrListeners);
P._rootHandleUncaughtError(_null, _null, t1._zone, asyncError.error, asyncError.stackTrace);
}
return;
}
_box_0.listener = listeners;
nextListener = listeners._nextListener;
for (t1 = listeners; nextListener != null; t1 = nextListener, nextListener = nextListener0) {
t1._nextListener = null;
P._Future__propagateToListeners(_box_1.source, t1);
_box_0.listener = nextListener;
nextListener0 = nextListener._nextListener;
}
t5 = _box_1.source;
sourceResult = t5._resultOrListeners;
_box_0.listenerHasError = hasError;
_box_0.listenerValueOrError = sourceResult;
t6 = !hasError;
if (t6) {
t7 = t1.state;
t7 = (t7 & 1) !== 0 || (t7 & 15) === 8;
} else
t7 = true;
if (t7) {
zone = t1.result._zone;
if (hasError) {
t7 = t5._zone === zone;
t7 = !(t7 || t7);
} else
t7 = false;
if (t7) {
t2._as(sourceResult);
P._rootHandleUncaughtError(_null, _null, t5._zone, sourceResult.error, sourceResult.stackTrace);
return;
}
oldZone = $.Zone__current;
if (oldZone !== zone)
$.Zone__current = zone;
else
oldZone = _null;
t1 = t1.state;
if ((t1 & 15) === 8)
new P._Future__propagateToListeners_handleWhenCompleteCallback(_box_0, _box_1, hasError).call$0();
else if (t6) {
if ((t1 & 1) !== 0)
new P._Future__propagateToListeners_handleValueCallback(_box_0, sourceResult).call$0();
} else if ((t1 & 2) !== 0)
new P._Future__propagateToListeners_handleError(_box_1, _box_0).call$0();
if (oldZone != null)
$.Zone__current = oldZone;
t1 = _box_0.listenerValueOrError;
if (t4._is(t1)) {
t5 = _box_0.listener.$ti;
t5 = t5._eval$1("Future<2>")._is(t1) || !t5._rest[1]._is(t1);
} else
t5 = false;
if (t5) {
t4._as(t1);
result = _box_0.listener.result;
if (t1 instanceof P._Future)
if (t1._state >= 4) {
current = t3._as(result._resultOrListeners);
result._resultOrListeners = null;
listeners = result._reverseListeners$1(current);
result._state = t1._state;
result._resultOrListeners = t1._resultOrListeners;
_box_1.source = t1;
continue;
} else
P._Future__chainCoreFuture(t1, result);
else
result._chainForeignFuture$1(t1);
return;
}
}
result = _box_0.listener.result;
current = t3._as(result._resultOrListeners);
result._resultOrListeners = null;
listeners = result._reverseListeners$1(current);
t1 = _box_0.listenerHasError;
t5 = _box_0.listenerValueOrError;
if (!t1) {
result.$ti._precomputed1._as(t5);
result._state = 4;
result._resultOrListeners = t5;
} else {
t2._as(t5);
result._state = 8;
result._resultOrListeners = t5;
}
_box_1.source = result;
t1 = result;
}
},
_registerErrorHandler: function(errorHandler, zone) {
var t1;
if (type$.dynamic_Function_Object_StackTrace._is(errorHandler))
return zone.registerBinaryCallback$3$1(errorHandler, type$.dynamic, type$.Object, type$.StackTrace);
t1 = type$.dynamic_Function_Object;
if (t1._is(errorHandler))
return t1._as(errorHandler);
throw H.wrapException(P.ArgumentError$value(errorHandler, "onError", "Error handler must accept one Object or one Object and a StackTrace as arguments, and return a valid result"));
},
_microtaskLoop: function() {
var entry, next;
for (entry = $._nextCallback; entry != null; entry = $._nextCallback) {
$._lastPriorityCallback = null;
next = entry.next;
$._nextCallback = next;
if (next == null)
$._lastCallback = null;
entry.callback.call$0();
}
},
_startMicrotaskLoop: function() {
$._isInCallbackLoop = true;
try {
P._microtaskLoop();
} finally {
$._lastPriorityCallback = null;
$._isInCallbackLoop = false;
if ($._nextCallback != null)
$.$get$_AsyncRun__scheduleImmediateClosure().call$1(P.async___startMicrotaskLoop$closure());
}
},
_scheduleAsyncCallback: function(callback) {
var newEntry = new P._AsyncCallbackEntry(callback),
lastCallback = $._lastCallback;
if (lastCallback == null) {
$._nextCallback = $._lastCallback = newEntry;
if (!$._isInCallbackLoop)
$.$get$_AsyncRun__scheduleImmediateClosure().call$1(P.async___startMicrotaskLoop$closure());
} else
$._lastCallback = lastCallback.next = newEntry;
},
_schedulePriorityAsyncCallback: function(callback) {
var entry, lastPriorityCallback, next,
t1 = $._nextCallback;
if (t1 == null) {
P._scheduleAsyncCallback(callback);
$._lastPriorityCallback = $._lastCallback;
return;
}
entry = new P._AsyncCallbackEntry(callback);
lastPriorityCallback = $._lastPriorityCallback;
if (lastPriorityCallback == null) {
entry.next = t1;
$._nextCallback = $._lastPriorityCallback = entry;
} else {
next = lastPriorityCallback.next;
entry.next = next;
$._lastPriorityCallback = lastPriorityCallback.next = entry;
if (next == null)
$._lastCallback = entry;
}
},
scheduleMicrotask: function(callback) {
var _null = null,
currentZone = $.Zone__current;
if (C.C__RootZone === currentZone) {
P._rootScheduleMicrotask(_null, _null, C.C__RootZone, callback);
return;
}
P._rootScheduleMicrotask(_null, _null, currentZone, type$.void_Function._as(currentZone.bindCallbackGuarded$1(callback)));
},
StreamIterator_StreamIterator: function(stream, $T) {
H.checkNotNullable(stream, "stream", type$.Object);
return new P._StreamIterator($T._eval$1("_StreamIterator<0>"));
},
StreamController_StreamController: function($T) {
var _null = null;
return new P._AsyncStreamController(_null, _null, _null, _null, $T._eval$1("_AsyncStreamController<0>"));
},
_runGuarded: function(notificationHandler) {
return;
},
_BufferingStreamSubscription__registerDataHandler: function(zone, handleData, $T) {
var t1 = handleData == null ? P.async___nullDataHandler$closure() : handleData;
return type$.$env_1_1_void._bind$1($T)._eval$1("1(2)")._as(t1);
},
_BufferingStreamSubscription__registerErrorHandler: function(zone, handleError) {
if (handleError == null)
handleError = P.async___nullErrorHandler$closure();
if (type$.void_Function_Object_StackTrace._is(handleError))
return zone.registerBinaryCallback$3$1(handleError, type$.dynamic, type$.Object, type$.StackTrace);
if (type$.void_Function_Object._is(handleError))
return type$.dynamic_Function_Object._as(handleError);
throw H.wrapException(P.ArgumentError$("handleError callback must take either an Object (the error), or both an Object (the error) and a StackTrace."));
},
_nullDataHandler: function(value) {
},
_nullErrorHandler: function(error, stackTrace) {
P._rootHandleUncaughtError(null, null, $.Zone__current, error, stackTrace);
},
_nullDoneHandler: function() {
},
_cancelAndValue: function(subscription, future, value) {
var cancelFuture = subscription.cancel$0();
if (cancelFuture != null && cancelFuture !== $.$get$Future__nullFuture())
cancelFuture.whenComplete$1(new P._cancelAndValue_closure(future, value));
else
future._complete$1(value);
},
Timer_Timer: function(duration, callback) {
var t1 = $.Zone__current;
if (t1 === C.C__RootZone)
return P.Timer__createTimer(duration, type$.void_Function._as(callback));
return P.Timer__createTimer(duration, type$.void_Function._as(t1.bindCallbackGuarded$1(callback)));
},
AsyncError$: function(error, stackTrace) {
var t1 = H.checkNotNullable(error, "error", type$.Object);
return new P.AsyncError(t1, stackTrace == null ? P.AsyncError_defaultStackTrace(error) : stackTrace);
},
AsyncError_defaultStackTrace: function(error) {
var stackTrace;
if (type$.Error._is(error)) {
stackTrace = error.get$stackTrace();
if (stackTrace != null)
return stackTrace;
}
return C.C__StringStackTrace;
},
_rootHandleUncaughtError: function($self, $parent, zone, error, stackTrace) {
P._schedulePriorityAsyncCallback(new P._rootHandleUncaughtError_closure(error, stackTrace));
},
_rootRun: function($self, $parent, zone, f, $R) {
var old,
t1 = $.Zone__current;
if (t1 === zone)
return f.call$0();
$.Zone__current = zone;
old = t1;
try {
t1 = f.call$0();
return t1;
} finally {
$.Zone__current = old;
}
},
_rootRunUnary: function($self, $parent, zone, f, arg, $R, $T) {
var old,
t1 = $.Zone__current;
if (t1 === zone)
return f.call$1(arg);
$.Zone__current = zone;
old = t1;
try {
t1 = f.call$1(arg);
return t1;
} finally {
$.Zone__current = old;
}
},
_rootRunBinary: function($self, $parent, zone, f, arg1, arg2, $R, T1, T2) {
var old,
t1 = $.Zone__current;
if (t1 === zone)
return f.call$2(arg1, arg2);
$.Zone__current = zone;
old = t1;
try {
t1 = f.call$2(arg1, arg2);
return t1;
} finally {
$.Zone__current = old;
}
},
_rootScheduleMicrotask: function($self, $parent, zone, f) {
var t1;
type$.void_Function._as(f);
t1 = C.C__RootZone !== zone;
if (t1)
f = !(!t1 || false) ? zone.bindCallbackGuarded$1(f) : zone.bindCallback$1$1(f, type$.void);
P._scheduleAsyncCallback(f);
},
_AsyncRun__initializeScheduleImmediate_internalCallback: function _AsyncRun__initializeScheduleImmediate_internalCallback(t0) {
this._box_0 = t0;
},
_AsyncRun__initializeScheduleImmediate_closure: function _AsyncRun__initializeScheduleImmediate_closure(t0, t1, t2) {
this._box_0 = t0;
this.div = t1;
this.span = t2;
},
_AsyncRun__scheduleImmediateJsOverride_internalCallback: function _AsyncRun__scheduleImmediateJsOverride_internalCallback(t0) {
this.callback = t0;
},
_AsyncRun__scheduleImmediateWithSetImmediate_internalCallback: function _AsyncRun__scheduleImmediateWithSetImmediate_internalCallback(t0) {
this.callback = t0;
},
_TimerImpl: function _TimerImpl() {
this._handle = null;
},
_TimerImpl_internalCallback: function _TimerImpl_internalCallback(t0, t1) {
this.$this = t0;
this.callback = t1;
},
_AsyncAwaitCompleter: function _AsyncAwaitCompleter(t0, t1) {
this._future = t0;
this.isSync = false;
this.$ti = t1;
},
_awaitOnObject_closure: function _awaitOnObject_closure(t0) {
this.bodyFunction = t0;
},
_awaitOnObject_closure0: function _awaitOnObject_closure0(t0) {
this.bodyFunction = t0;
},
_wrapJsFunctionForAsync_closure: function _wrapJsFunctionForAsync_closure(t0) {
this.$protected = t0;
},
_Completer: function _Completer() {
},
_AsyncCompleter: function _AsyncCompleter(t0, t1) {
this.future = t0;
this.$ti = t1;
},
_FutureListener: function _FutureListener(t0, t1, t2, t3, t4) {
var _ = this;
_._nextListener = null;
_.result = t0;
_.state = t1;
_.callback = t2;
_.errorCallback = t3;
_.$ti = t4;
},
_Future: function _Future(t0, t1) {
var _ = this;
_._state = 0;
_._zone = t0;
_._resultOrListeners = null;
_.$ti = t1;
},
_Future__addListener_closure: function _Future__addListener_closure(t0, t1) {
this.$this = t0;
this.listener = t1;
},
_Future__prependListeners_closure: function _Future__prependListeners_closure(t0, t1) {
this._box_0 = t0;
this.$this = t1;
},
_Future__chainForeignFuture_closure: function _Future__chainForeignFuture_closure(t0) {
this.$this = t0;
},
_Future__chainForeignFuture_closure0: function _Future__chainForeignFuture_closure0(t0) {
this.$this = t0;
},
_Future__chainForeignFuture_closure1: function _Future__chainForeignFuture_closure1(t0, t1, t2) {
this.$this = t0;
this.e = t1;
this.s = t2;
},
_Future__asyncCompleteWithValue_closure: function _Future__asyncCompleteWithValue_closure(t0, t1) {
this.$this = t0;
this.value = t1;
},
_Future__chainFuture_closure: function _Future__chainFuture_closure(t0, t1) {
this.$this = t0;
this.value = t1;
},
_Future__asyncCompleteError_closure: function _Future__asyncCompleteError_closure(t0, t1, t2) {
this.$this = t0;
this.error = t1;
this.stackTrace = t2;
},
_Future__propagateToListeners_handleWhenCompleteCallback: function _Future__propagateToListeners_handleWhenCompleteCallback(t0, t1, t2) {
this._box_0 = t0;
this._box_1 = t1;
this.hasError = t2;
},
_Future__propagateToListeners_handleWhenCompleteCallback_closure: function _Future__propagateToListeners_handleWhenCompleteCallback_closure(t0) {
this.originalSource = t0;
},
_Future__propagateToListeners_handleValueCallback: function _Future__propagateToListeners_handleValueCallback(t0, t1) {
this._box_0 = t0;
this.sourceResult = t1;
},
_Future__propagateToListeners_handleError: function _Future__propagateToListeners_handleError(t0, t1) {
this._box_1 = t0;
this._box_0 = t1;
},
_AsyncCallbackEntry: function _AsyncCallbackEntry(t0) {
this.callback = t0;
this.next = null;
},
Stream: function Stream() {
},
Stream_length_closure: function Stream_length_closure(t0, t1) {
this._box_0 = t0;
this.$this = t1;
},
Stream_length_closure0: function Stream_length_closure0(t0, t1) {
this._box_0 = t0;
this.future = t1;
},
Stream_first_closure: function Stream_first_closure(t0) {
this.future = t0;
},
Stream_first_closure0: function Stream_first_closure0(t0, t1, t2) {
this.$this = t0;
this.subscription = t1;
this.future = t2;
},
StreamSubscription: function StreamSubscription() {
},
StreamTransformerBase: function StreamTransformerBase() {
},
_StreamController: function _StreamController() {
},
_StreamController__subscribe_closure: function _StreamController__subscribe_closure(t0) {
this.$this = t0;
},
_StreamController__recordCancel_complete: function _StreamController__recordCancel_complete(t0) {
this.$this = t0;
},
_AsyncStreamControllerDispatch: function _AsyncStreamControllerDispatch() {
},
_AsyncStreamController: function _AsyncStreamController(t0, t1, t2, t3, t4) {
var _ = this;
_._varData = null;
_._state = 0;
_._doneFuture = null;
_.onListen = t0;
_.onPause = t1;
_.onResume = t2;
_.onCancel = t3;
_.$ti = t4;
},
_ControllerStream: function _ControllerStream(t0, t1) {
this._controller = t0;
this.$ti = t1;
},
_ControllerSubscription: function _ControllerSubscription(t0, t1, t2, t3, t4, t5, t6) {
var _ = this;
_._controller = t0;
_._onData = t1;
_._onError = t2;
_._onDone = t3;
_._zone = t4;
_._state = t5;
_._pending = _._cancelFuture = null;
_.$ti = t6;
},
_StreamSinkWrapper: function _StreamSinkWrapper(t0, t1) {
this._async$_target = t0;
this.$ti = t1;
},
_BufferingStreamSubscription: function _BufferingStreamSubscription() {
},
_BufferingStreamSubscription_asFuture_closure: function _BufferingStreamSubscription_asFuture_closure(t0, t1) {
this._box_0 = t0;
this.result = t1;
},
_BufferingStreamSubscription_asFuture_closure0: function _BufferingStreamSubscription_asFuture_closure0(t0, t1) {
this.$this = t0;
this.result = t1;
},
_BufferingStreamSubscription_asFuture__closure: function _BufferingStreamSubscription_asFuture__closure(t0, t1, t2) {
this.result = t0;
this.error = t1;
this.stackTrace = t2;
},
_BufferingStreamSubscription__sendError_sendError: function _BufferingStreamSubscription__sendError_sendError(t0, t1, t2) {
this.$this = t0;
this.error = t1;
this.stackTrace = t2;
},
_BufferingStreamSubscription__sendDone_sendDone: function _BufferingStreamSubscription__sendDone_sendDone(t0) {
this.$this = t0;
},
_StreamImpl: function _StreamImpl() {
},
_DelayedEvent: function _DelayedEvent() {
},
_DelayedData: function _DelayedData(t0, t1) {
this.value = t0;
this.next = null;
this.$ti = t1;
},
_DelayedError: function _DelayedError(t0, t1) {
this.error = t0;
this.stackTrace = t1;
this.next = null;
},
_DelayedDone: function _DelayedDone() {
},
_PendingEvents: function _PendingEvents() {
},
_PendingEvents_schedule_closure: function _PendingEvents_schedule_closure(t0, t1) {
this.$this = t0;
this.dispatch = t1;
},
_StreamImplEvents: function _StreamImplEvents(t0) {
var _ = this;
_.lastPendingEvent = _.firstPendingEvent = null;
_._state = 0;
_.$ti = t0;
},
_StreamIterator: function _StreamIterator(t0) {
this.$ti = t0;
},
_cancelAndValue_closure: function _cancelAndValue_closure(t0, t1) {
this.future = t0;
this.value = t1;
},
AsyncError: function AsyncError(t0, t1) {
this.error = t0;
this.stackTrace = t1;
},
_Zone: function _Zone() {
},
_rootHandleUncaughtError_closure: function _rootHandleUncaughtError_closure(t0, t1) {
this.error = t0;
this.stackTrace = t1;
},
_RootZone: function _RootZone() {
},
_RootZone_bindCallback_closure: function _RootZone_bindCallback_closure(t0, t1, t2) {
this.$this = t0;
this.f = t1;
this.R = t2;
},
_RootZone_bindCallbackGuarded_closure: function _RootZone_bindCallbackGuarded_closure(t0, t1) {
this.$this = t0;
this.f = t1;
},
_RootZone_bindUnaryCallbackGuarded_closure: function _RootZone_bindUnaryCallbackGuarded_closure(t0, t1, t2) {
this.$this = t0;
this.f = t1;
this.T = t2;
},
LinkedHashMap_LinkedHashMap$_literal: function(keyValuePairs, $K, $V) {
return $K._eval$1("@<0>")._bind$1($V)._eval$1("LinkedHashMap<1,2>")._as(H.fillLiteralMap(keyValuePairs, new H.JsLinkedHashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("JsLinkedHashMap<1,2>"))));
},
LinkedHashMap_LinkedHashMap$_empty: function($K, $V) {
return new H.JsLinkedHashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("JsLinkedHashMap<1,2>"));
},
IterableBase_iterableToShortString: function(iterable, leftDelimiter, rightDelimiter) {
var parts, t1;
if (P._isToStringVisiting(iterable)) {
if (leftDelimiter === "(" && rightDelimiter === ")")
return "(...)";
return leftDelimiter + "..." + rightDelimiter;
}
parts = H.setRuntimeTypeInfo([], type$.JSArray_String);
C.JSArray_methods.add$1($._toStringVisiting, iterable);
try {
P._iterablePartsToStrings(iterable, parts);
} finally {
if (0 >= $._toStringVisiting.length)
return H.ioore($._toStringVisiting, -1);
$._toStringVisiting.pop();
}
t1 = P.StringBuffer__writeAll(leftDelimiter, type$.Iterable_dynamic._as(parts), ", ") + rightDelimiter;
return t1.charCodeAt(0) == 0 ? t1 : t1;
},
IterableBase_iterableToFullString: function(iterable, leftDelimiter, rightDelimiter) {
var buffer, t1;
if (P._isToStringVisiting(iterable))
return leftDelimiter + "..." + rightDelimiter;
buffer = new P.StringBuffer(leftDelimiter);
C.JSArray_methods.add$1($._toStringVisiting, iterable);
try {
t1 = buffer;
t1._contents = P.StringBuffer__writeAll(t1._contents, iterable, ", ");
} finally {
if (0 >= $._toStringVisiting.length)
return H.ioore($._toStringVisiting, -1);
$._toStringVisiting.pop();
}
buffer._contents += rightDelimiter;
t1 = buffer._contents;
return t1.charCodeAt(0) == 0 ? t1 : t1;
},
_isToStringVisiting: function(o) {
var t1, i;
for (t1 = $._toStringVisiting.length, i = 0; i < t1; ++i)
if (o === $._toStringVisiting[i])
return true;
return false;
},
_iterablePartsToStrings: function(iterable, parts) {
var next, ultimateString, penultimateString, penultimate, ultimate, ultimate0, elision,
it = iterable.get$iterator(iterable),
$length = 0, count = 0;
while (true) {
if (!($length < 80 || count < 3))
break;
if (!it.moveNext$0())
return;
next = H.S(it.get$current());
C.JSArray_methods.add$1(parts, next);
$length += next.length + 2;
++count;
}
if (!it.moveNext$0()) {
if (count <= 5)
return;
if (0 >= parts.length)
return H.ioore(parts, -1);
ultimateString = parts.pop();
if (0 >= parts.length)
return H.ioore(parts, -1);
penultimateString = parts.pop();
} else {
penultimate = it.get$current();
++count;
if (!it.moveNext$0()) {
if (count <= 4) {
C.JSArray_methods.add$1(parts, H.S(penultimate));
return;
}
ultimateString = H.S(penultimate);
if (0 >= parts.length)
return H.ioore(parts, -1);
penultimateString = parts.pop();
$length += ultimateString.length + 2;
} else {
ultimate = it.get$current();
++count;
for (; it.moveNext$0(); penultimate = ultimate, ultimate = ultimate0) {
ultimate0 = it.get$current();
++count;
if (count > 100) {
while (true) {
if (!($length > 75 && count > 3))
break;
if (0 >= parts.length)
return H.ioore(parts, -1);
$length -= parts.pop().length + 2;
--count;
}
C.JSArray_methods.add$1(parts, "...");
return;
}
}
penultimateString = H.S(penultimate);
ultimateString = H.S(ultimate);
$length += ultimateString.length + penultimateString.length + 4;
}
}
if (count > parts.length + 2) {
$length += 5;
elision = "...";
} else
elision = null;
while (true) {
if (!($length > 80 && parts.length > 3))
break;
if (0 >= parts.length)
return H.ioore(parts, -1);
$length -= parts.pop().length + 2;
if (elision == null) {
$length += 5;
elision = "...";
}
}
if (elision != null)
C.JSArray_methods.add$1(parts, elision);
C.JSArray_methods.add$1(parts, penultimateString);
C.JSArray_methods.add$1(parts, ultimateString);
},
MapBase_mapToString: function(m) {
var result, t1 = {};
if (P._isToStringVisiting(m))
return "{...}";
result = new P.StringBuffer("");
try {
C.JSArray_methods.add$1($._toStringVisiting, m);
result._contents += "{";
t1.first = true;
m.forEach$1(0, new P.MapBase_mapToString_closure(t1, result));
result._contents += "}";
} finally {
if (0 >= $._toStringVisiting.length)
return H.ioore($._toStringVisiting, -1);
$._toStringVisiting.pop();
}
t1 = result._contents;
return t1.charCodeAt(0) == 0 ? t1 : t1;
},
ListMixin: function ListMixin() {
},
MapBase: function MapBase() {
},
MapBase_mapToString_closure: function MapBase_mapToString_closure(t0, t1) {
this._box_0 = t0;
this.result = t1;
},
MapMixin: function MapMixin() {
},
_parseJson: function(source, reviver) {
var parsed, e, exception, t1;
if (typeof source != "string")
throw H.wrapException(H.argumentErrorValue(source));
parsed = null;
try {
parsed = JSON.parse(source);
} catch (exception) {
e = H.unwrapException(exception);
t1 = P.FormatException$(String(e));
throw H.wrapException(t1);
}
t1 = P._convertJsonToDartLazy(parsed);
return t1;
},
_convertJsonToDartLazy: function(object) {
var i;
if (object == null)
return null;
if (typeof object != "object")
return object;
if (Object.getPrototypeOf(object) !== Array.prototype)
return new P._JsonMap(object, Object.create(null));
for (i = 0; i < object.length; ++i)
object[i] = P._convertJsonToDartLazy(object[i]);
return object;
},
JsonUnsupportedObjectError$: function(unsupportedObject, cause, partialResult) {
return new P.JsonUnsupportedObjectError(unsupportedObject, cause);
},
_defaultToEncodable: function(object) {
return object.toJson$0();
},
_JsonStringStringifier$: function(_sink, _toEncodable) {
return new P._JsonStringStringifier(_sink, [], P.convert___defaultToEncodable$closure());
},
_JsonStringStringifier_stringify: function(object, toEncodable, indent) {
var t1,
output = new P.StringBuffer(""),
stringifier = P._JsonStringStringifier$(output, toEncodable);
stringifier.writeObject$1(object);
t1 = output._contents;
return t1.charCodeAt(0) == 0 ? t1 : t1;
},
_JsonMap: function _JsonMap(t0, t1) {
this._original = t0;
this._processed = t1;
this._data = null;
},
_JsonMapKeyIterable: function _JsonMapKeyIterable(t0) {
this._parent = t0;
},
Codec: function Codec() {
},
Converter: function Converter() {
},
JsonUnsupportedObjectError: function JsonUnsupportedObjectError(t0, t1) {
this.unsupportedObject = t0;
this.cause = t1;
},
JsonCyclicError: function JsonCyclicError(t0, t1) {
this.unsupportedObject = t0;
this.cause = t1;
},
JsonCodec: function JsonCodec() {
},
JsonEncoder: function JsonEncoder(t0) {
this._toEncodable = t0;
},
JsonDecoder: function JsonDecoder(t0) {
this._reviver = t0;
},
_JsonStringifier: function _JsonStringifier() {
},
_JsonStringifier_writeMap_closure: function _JsonStringifier_writeMap_closure(t0, t1) {
this._box_0 = t0;
this.keyValueList = t1;
},
_JsonStringStringifier: function _JsonStringStringifier(t0, t1, t2) {
this._sink = t0;
this._seen = t1;
this._toEncodable = t2;
},
int_parse: function(source) {
var value = H.Primitives_parseInt(source, null);
if (value != null)
return value;
throw H.wrapException(P.FormatException$(source));
},
Error__objectToString: function(object) {
if (object instanceof H.Closure)
return object.toString$0(0);
return "Instance of '" + H.S(H.Primitives_objectTypeName(object)) + "'";
},
List_List$filled: function($length, fill, $E) {
var result;
if ($length > 4294967295)
H.throwExpression(P.RangeError$range($length, 0, 4294967295, "length", null));
result = J.JSArray_markFixedList(H.setRuntimeTypeInfo(new Array($length), $E._eval$1("JSArray<0>")), $E);
return result;
},
StringBuffer__writeAll: function(string, objects, separator) {
var iterator = J.get$iterator$ax(objects);
if (!iterator.moveNext$0())
return string;
if (separator.length === 0) {
do
string += H.S(iterator.get$current());
while (iterator.moveNext$0());
} else {
string += H.S(iterator.get$current());
for (; iterator.moveNext$0();)
string = string + separator + H.S(iterator.get$current());
}
return string;
},
StackTrace_current: function() {
var stackTrace, exception;
if (H.boolConversionCheck($.$get$_hasErrorStackProperty()))
return H.getTraceFromException(new Error());
try {
throw H.wrapException("");
} catch (exception) {
H.unwrapException(exception);
stackTrace = H.getTraceFromException(exception);
return stackTrace;
}
},
DateTime__fourDigits: function(n) {
var absN = Math.abs(n),
sign = n < 0 ? "-" : "";
if (absN >= 1000)
return "" + n;
if (absN >= 100)
return sign + "0" + absN;
if (absN >= 10)
return sign + "00" + absN;
return sign + "000" + absN;
},
DateTime__threeDigits: function(n) {
if (n >= 100)
return "" + n;
if (n >= 10)
return "0" + n;
return "00" + n;
},
DateTime__twoDigits: function(n) {
if (n >= 10)
return "" + n;
return "0" + n;
},
Error_safeToString: function(object) {
if (typeof object == "number" || H._isBool(object) || null == object)
return J.toString$0$(object);
if (typeof object == "string")
return JSON.stringify(object);
return P.Error__objectToString(object);
},
AssertionError$: function(message) {
return new P.AssertionError(message);
},
ArgumentError$: function(message) {
return new P.ArgumentError(false, null, null, message);
},
ArgumentError$value: function(value, $name, message) {
return new P.ArgumentError(true, value, $name, message);
},
RangeError$: function(message) {
var _null = null;
return new P.RangeError(_null, _null, false, _null, _null, message);
},
RangeError$value: function(value, $name) {
return new P.RangeError(null, null, true, value, $name, "Value not in range");
},
RangeError$range: function(invalidValue, minValue, maxValue, $name, message) {
return new P.RangeError(minValue, maxValue, true, invalidValue, $name, "Invalid value");
},
IndexError$: function(invalidValue, indexable, $name, message, $length) {
var t1 = H._asIntS($length == null ? J.get$length$asx(indexable) : $length);
return new P.IndexError(t1, true, invalidValue, $name, "Index out of range");
},
UnsupportedError$: function(message) {
return new P.UnsupportedError(message);
},
UnimplementedError$: function(message) {
return new P.UnimplementedError(message);
},
StateError$: function(message) {
return new P.StateError(message);
},
ConcurrentModificationError$: function(modifiedObject) {
return new P.ConcurrentModificationError(modifiedObject);
},
FormatException$: function(message) {
return new P.FormatException(message);
},
DateTime: function DateTime(t0, t1) {
this._value = t0;
this.isUtc = t1;
},
Duration: function Duration(t0) {
this._duration = t0;
},
Duration_toString_sixDigits: function Duration_toString_sixDigits() {
},
Duration_toString_twoDigits: function Duration_toString_twoDigits() {
},
Error: function Error() {
},
AssertionError: function AssertionError(t0) {
this.message = t0;
},
TypeError: function TypeError() {
},
NullThrownError: function NullThrownError() {
},
ArgumentError: function ArgumentError(t0, t1, t2, t3) {
var _ = this;
_._hasValue = t0;
_.invalidValue = t1;
_.name = t2;
_.message = t3;
},
RangeError: function RangeError(t0, t1, t2, t3, t4, t5) {
var _ = this;
_.start = t0;
_.end = t1;
_._hasValue = t2;
_.invalidValue = t3;
_.name = t4;
_.message = t5;
},
IndexError: function IndexError(t0, t1, t2, t3, t4) {
var _ = this;
_.length = t0;
_._hasValue = t1;
_.invalidValue = t2;
_.name = t3;
_.message = t4;
},
UnsupportedError: function UnsupportedError(t0) {
this.message = t0;
},
UnimplementedError: function UnimplementedError(t0) {
this.message = t0;
},
StateError: function StateError(t0) {
this.message = t0;
},
ConcurrentModificationError: function ConcurrentModificationError(t0) {
this.modifiedObject = t0;
},
OutOfMemoryError: function OutOfMemoryError() {
},
StackOverflowError: function StackOverflowError() {
},
CyclicInitializationError: function CyclicInitializationError(t0) {
this.variableName = t0;
},
_Exception: function _Exception(t0) {
this.message = t0;
},
FormatException: function FormatException(t0) {
this.message = t0;
},
Iterable: function Iterable() {
},
Null: function Null() {
},
Object: function Object() {
},
_StringStackTrace: function _StringStackTrace() {
},
StringBuffer: function StringBuffer(t0) {
this._contents = t0;
},
_convertDartToNative_Value: function(value) {
var array;
if (value == null)
return value;
if (typeof value == "string" || typeof value == "number" || H._isBool(value))
return value;
if (type$.Map_dynamic_dynamic._is(value))
return P.convertDartToNative_Dictionary(value);
if (type$.List_dynamic._is(value)) {
array = [];
J.forEach$1$ax(value, new P._convertDartToNative_Value_closure(array));
value = array;
}
return value;
},
convertDartToNative_Dictionary: function(dict) {
var object = {};
dict.forEach$1(0, new P.convertDartToNative_Dictionary_closure(object));
return object;
},
_AcceptStructuredClone: function _AcceptStructuredClone() {
},
_AcceptStructuredClone_walk_closure: function _AcceptStructuredClone_walk_closure(t0, t1) {
this._box_0 = t0;
this.$this = t1;
},
_convertDartToNative_Value_closure: function _convertDartToNative_Value_closure(t0) {
this.array = t0;
},
convertDartToNative_Dictionary_closure: function convertDartToNative_Dictionary_closure(t0) {
this.object = t0;
},
_AcceptStructuredCloneDart2Js: function _AcceptStructuredCloneDart2Js(t0, t1) {
this.values = t0;
this.copies = t1;
this.mustCopy = false;
},
promiseToFuture: function(jsPromise, $T) {
var t1 = new P._Future($.Zone__current, $T._eval$1("_Future<0>")),
completer = new P._AsyncCompleter(t1, $T._eval$1("_AsyncCompleter<0>"));
jsPromise.then(H.convertDartClosureToJS(new P.promiseToFuture_closure(completer, $T), 1), H.convertDartClosureToJS(new P.promiseToFuture_closure0(completer), 1));
return t1;
},
promiseToFuture_closure: function promiseToFuture_closure(t0, t1) {
this.completer = t0;
this.T = t1;
},
promiseToFuture_closure0: function promiseToFuture_closure0(t0) {
this.completer = t0;
},
_JSRandom: function _JSRandom() {
},
SvgElement: function SvgElement() {
}
},
W = {
EventSource__factoryEventSource: function(url, eventSourceInitDict) {
var t1 = new EventSource(url, P.convertDartToNative_Dictionary(eventSourceInitDict));
return t1;
},
HttpRequest_request: function(url, method, sendData, withCredentials) {
var t2, t3, t4,
t1 = new P._Future($.Zone__current, type$._Future_HttpRequest),
completer = new P._AsyncCompleter(t1, type$._AsyncCompleter_HttpRequest),
xhr = new XMLHttpRequest();
C.HttpRequest_methods.open$3$async(xhr, method, url, true);
C.HttpRequest_methods.set$withCredentials(xhr, true);
t2 = type$.nullable_void_Function_legacy_ProgressEvent;
t3 = t2._as(new W.HttpRequest_request_closure(xhr, completer));
type$.nullable_void_Function._as(null);
t4 = type$.legacy_ProgressEvent;
W._EventStreamSubscription$(xhr, "load", t3, false, t4);
W._EventStreamSubscription$(xhr, "error", t2._as(completer.get$completeError()), false, t4);
if (sendData != null)
xhr.send(sendData);
else
xhr.send();
return t1;
},
_EventStreamSubscription$: function(_target, _eventType, onData, _useCapture, $T) {
var t1 = onData == null ? null : W._wrapZone(new W._EventStreamSubscription_closure(onData), type$.Event);
t1 = new W._EventStreamSubscription(_target, _eventType, t1, false, $T._eval$1("_EventStreamSubscription<0>"));
t1._tryResume$0();
return t1;
},
_wrapZone: function(callback, $T) {
var t1 = $.Zone__current;
if (t1 === C.C__RootZone)
return callback;
return t1.bindUnaryCallbackGuarded$1$1(callback, $T);
},
HtmlElement: function HtmlElement() {
},
AnchorElement: function AnchorElement() {
},
AreaElement: function AreaElement() {
},
DomException: function DomException() {
},
Element: function Element() {
},
Event: function Event() {
},
EventSource: function EventSource() {
},
EventTarget: function EventTarget() {
},
FormElement: function FormElement() {
},
HttpRequest: function HttpRequest() {
},
HttpRequest_request_closure: function HttpRequest_request_closure(t0, t1) {
this.xhr = t0;
this.completer = t1;
},
HttpRequestEventTarget: function HttpRequestEventTarget() {
},
MessageEvent: function MessageEvent() {
},
MouseEvent: function MouseEvent() {
},
Node: function Node() {
},
ProgressEvent: function ProgressEvent() {
},
SelectElement: function SelectElement() {
},
UIEvent: function UIEvent() {
},
EventStreamProvider: function EventStreamProvider(t0, t1) {
this._eventType = t0;
this.$ti = t1;
},
_EventStream: function _EventStream(t0, t1, t2, t3) {
var _ = this;
_._target = t0;
_._eventType = t1;
_._useCapture = t2;
_.$ti = t3;
},
_ElementEventStreamImpl: function _ElementEventStreamImpl(t0, t1, t2, t3) {
var _ = this;
_._target = t0;
_._eventType = t1;
_._useCapture = t2;
_.$ti = t3;
},
_EventStreamSubscription: function _EventStreamSubscription(t0, t1, t2, t3, t4) {
var _ = this;
_._target = t0;
_._eventType = t1;
_._html$_onData = t2;
_._useCapture = t3;
_.$ti = t4;
},
_EventStreamSubscription_closure: function _EventStreamSubscription_closure(t0) {
this.onData = t0;
},
_EventStreamSubscription_onData_closure: function _EventStreamSubscription_onData_closure(t0) {
this.handleData = t0;
}
},
Y = {Level: function Level(t0, t1) {
this.name = t0;
this.value = t1;
}},
L = {LogRecord: function LogRecord(t0, t1, t2) {
this.level = t0;
this.message = t1;
this.loggerName = t2;
}},
F = {
Logger_Logger: function($name) {
return $.Logger__loggers.putIfAbsent$2($name, new F.Logger_Logger_closure($name));
},
Logger: function Logger(t0, t1, t2) {
var _ = this;
_.name = t0;
_.parent = t1;
_._level = null;
_._children = t2;
},
Logger_Logger_closure: function Logger_Logger_closure(t0) {
this.name = t0;
}
},
M = {
SseClient$: function(serverUrl) {
var t1 = type$.legacy_String;
t1 = new M.SseClient(P.StreamController_StreamController(t1), P.StreamController_StreamController(t1), F.Logger_Logger("SseClient"), new P._AsyncCompleter(new P._Future($.Zone__current, type$._Future_dynamic), type$._AsyncCompleter_dynamic));
t1.SseClient$1(serverUrl);
return t1;
},
SseClient: function SseClient(t0, t1, t2, t3) {
var _ = this;
_._incomingController = t0;
_._outgoingController = t1;
_._logger = t2;
_._onConnected = t3;
_._lastMessageId = -1;
_._errorTimer = _._serverUrl = _._eventSource = null;
},
SseClient_closure: function SseClient_closure(t0) {
this.$this = t0;
},
SseClient_closure0: function SseClient_closure0(t0) {
this.$this = t0;
},
SseClient_closure1: function SseClient_closure1(t0) {
this.$this = t0;
},
SseClient__closure: function SseClient__closure(t0, t1) {
this.$this = t0;
this.error = t1;
}
},
T = {
generateUuidV4: function() {
var t1 = new T.generateUuidV4__printDigits(),
t2 = new T.generateUuidV4__bitsDigits(t1, new T.generateUuidV4__generateBits(C.C__JSRandom)),
t3 = C.C__JSRandom.nextInt$1(4);
return H.S(t2.call$2(16, 4)) + H.S(t2.call$2(16, 4)) + "-" + H.S(t2.call$2(16, 4)) + "-4" + H.S(t2.call$2(12, 3)) + "-" + H.S(t1.call$2(8 + t3, 1)) + H.S(t2.call$2(12, 3)) + "-" + H.S(t2.call$2(16, 4)) + H.S(t2.call$2(16, 4)) + H.S(t2.call$2(16, 4));
},
generateUuidV4__generateBits: function generateUuidV4__generateBits(t0) {
this.random = t0;
},
generateUuidV4__printDigits: function generateUuidV4__printDigits() {
},
generateUuidV4__bitsDigits: function generateUuidV4__bitsDigits(t0, t1) {
this._printDigits = t0;
this._generateBits = t1;
}
},
R = {StreamChannelMixin: function StreamChannelMixin() {
}},
E = {
main: function() {
var channel = M.SseClient$("/test"),
t1 = J.get$onClick$x(document.querySelector("button")),
t2 = t1.$ti,
t3 = t2._eval$1("~(1)?")._as(new E.main_closure(channel));
type$.nullable_void_Function._as(null);
W._EventStreamSubscription$(t1._target, t1._eventType, t3, false, t2._precomputed1);
t2 = channel._incomingController;
new P._ControllerStream(t2, H._instanceType(t2)._eval$1("_ControllerStream<1>")).listen$1(new E.main_closure0(channel));
},
main_closure: function main_closure(t0) {
this.channel = t0;
},
main_closure0: function main_closure0(t0) {
this.channel = t0;
}
};
var holders = [C, H, J, P, W, Y, L, F, M, T, R, E];
hunkHelpers.setFunctionNamesIfNecessary(holders);
var $ = {};
H.JS_CONST.prototype = {};
J.Interceptor.prototype = {
$eq: function(receiver, other) {
return receiver === other;
},
get$hashCode: function(receiver) {
return H.Primitives_objectHashCode(receiver);
},
toString$0: function(receiver) {
return "Instance of '" + H.S(H.Primitives_objectTypeName(receiver)) + "'";
}
};
J.JSBool.prototype = {
toString$0: function(receiver) {
return String(receiver);
},
get$hashCode: function(receiver) {
return receiver ? 519018 : 218159;
},
$isbool: 1
};
J.JSNull.prototype = {
$eq: function(receiver, other) {
return null == other;
},
toString$0: function(receiver) {
return "null";
},
get$hashCode: function(receiver) {
return 0;
},
$isNull: 1
};
J.JavaScriptObject.prototype = {
get$hashCode: function(receiver) {
return 0;
},
toString$0: function(receiver) {
return String(receiver);
}
};
J.PlainJavaScriptObject.prototype = {};
J.UnknownJavaScriptObject.prototype = {};
J.JavaScriptFunction.prototype = {
toString$0: function(receiver) {
var dartClosure = receiver[$.$get$DART_CLOSURE_PROPERTY_NAME()];
if (dartClosure == null)
return this.super$JavaScriptObject$toString(receiver);
return "JavaScript function for " + H.S(J.toString$0$(dartClosure));
},
$isFunction: 1
};
J.JSArray.prototype = {
add$1: function(receiver, value) {
H._arrayInstanceType(receiver)._precomputed1._as(value);
if (!!receiver.fixed$length)
H.throwExpression(P.UnsupportedError$("add"));
receiver.push(value);
},
forEach$1: function(receiver, f) {
var end, i;
H._arrayInstanceType(receiver)._eval$1("~(1)")._as(f);
end = receiver.length;
for (i = 0; i < end; ++i) {
f.call$1(receiver[i]);
if (receiver.length !== end)
throw H.wrapException(P.ConcurrentModificationError$(receiver));
}
},
get$last: function(receiver) {
var t1 = receiver.length;
if (t1 > 0)
return receiver[t1 - 1];
throw H.wrapException(H.IterableElementError_noElement());
},
get$isNotEmpty: function(receiver) {
return receiver.length !== 0;
},
toString$0: function(receiver) {
return P.IterableBase_iterableToFullString(receiver, "[", "]");
},
get$iterator: function(receiver) {
return new J.ArrayIterator(receiver, receiver.length, H._arrayInstanceType(receiver)._eval$1("ArrayIterator<1>"));
},
get$hashCode: function(receiver) {
return H.Primitives_objectHashCode(receiver);
},
get$length: function(receiver) {
return receiver.length;
},
$index: function(receiver, index) {
if (index >= receiver.length || index < 0)
throw H.wrapException(H.diagnoseIndexError(receiver, index));
return receiver[index];
},
$indexSet: function(receiver, index, value) {
H._asIntS(index);
H._arrayInstanceType(receiver)._precomputed1._as(value);
if (!!receiver.immutable$list)
H.throwExpression(P.UnsupportedError$("indexed set"));
if (!H._isInt(index))
throw H.wrapException(H.diagnoseIndexError(receiver, index));
if (index >= receiver.length || index < 0)
throw H.wrapException(H.diagnoseIndexError(receiver, index));
receiver[index] = value;
},
$isIterable: 1,
$isList: 1
};
J.JSUnmodifiableArray.prototype = {};
J.ArrayIterator.prototype = {
get$current: function() {
return this._current;
},
moveNext$0: function() {
var t2, _this = this,
t1 = _this._iterable,
$length = t1.length;
if (_this._length !== $length)
throw H.wrapException(H.throwConcurrentModificationError(t1));
t2 = _this._index;
if (t2 >= $length) {
_this.set$_current(null);
return false;
}
_this.set$_current(t1[t2]);
++_this._index;
return true;
},
set$_current: function(_current) {
this._current = this.$ti._eval$1("1?")._as(_current);
}
};
J.JSNumber.prototype = {
toRadixString$1: function(receiver, radix) {
var result, match, t1, exponent;
if (radix < 2 || radix > 36)
throw H.wrapException(P.RangeError$range(radix, 2, 36, "radix", null));
result = receiver.toString(radix);
if (C.JSString_methods.codeUnitAt$1(result, result.length - 1) !== 41)
return result;
match = /^([\da-z]+)(?:\.([\da-z]+))?\(e\+(\d+)\)$/.exec(result);
if (match == null)
H.throwExpression(P.UnsupportedError$("Unexpected toString result: " + result));
t1 = match.length;
if (1 >= t1)
return H.ioore(match, 1);
result = match[1];
if (3 >= t1)
return H.ioore(match, 3);
exponent = +match[3];
t1 = match[2];
if (t1 != null) {
result += t1;
exponent -= t1.length;
}
return result + C.JSString_methods.$mul("0", exponent);
},
toString$0: function(receiver) {
if (receiver === 0 && 1 / receiver < 0)
return "-0.0";
else
return "" + receiver;
},
get$hashCode: function(receiver) {
var absolute, floorLog2, factor, scaled,
intValue = receiver | 0;
if (receiver === intValue)
return intValue & 536870911;
absolute = Math.abs(receiver);
floorLog2 = Math.log(absolute) / 0.6931471805599453 | 0;
factor = Math.pow(2, floorLog2);
scaled = absolute < 1 ? absolute / factor : factor / absolute;
return ((scaled * 9007199254740992 | 0) + (scaled * 3542243181176521 | 0)) * 599197 + floorLog2 * 1259 & 536870911;
},
_tdivFast$1: function(receiver, other) {
return (receiver | 0) === receiver ? receiver / other | 0 : this._tdivSlow$1(receiver, other);
},
_tdivSlow$1: function(receiver, other) {
var quotient = receiver / other;
if (quotient >= -2147483648 && quotient <= 2147483647)
return quotient | 0;
if (quotient > 0) {
if (quotient !== 1 / 0)
return Math.floor(quotient);
} else if (quotient > -1 / 0)
return Math.ceil(quotient);
throw H.wrapException(P.UnsupportedError$("Result of truncating division is " + H.S(quotient) + ": " + H.S(receiver) + " ~/ " + other));
},
_shlPositive$1: function(receiver, other) {
return other > 31 ? 0 : receiver << other >>> 0;
},
_shrOtherPositive$1: function(receiver, other) {
var t1;
if (receiver > 0)
t1 = this._shrBothPositive$1(receiver, other);
else {
t1 = other > 31 ? 31 : other;
t1 = receiver >> t1 >>> 0;
}
return t1;
},
_shrBothPositive$1: function(receiver, other) {
return other > 31 ? 0 : receiver >>> other;
},
$isdouble: 1,
$isnum: 1
};
J.JSInt.prototype = {$isint: 1};
J.JSDouble.prototype = {};
J.JSString.prototype = {
codeUnitAt$1: function(receiver, index) {
if (index < 0)
throw H.wrapException(H.diagnoseIndexError(receiver, index));
if (index >= receiver.length)
H.throwExpression(H.diagnoseIndexError(receiver, index));
return receiver.charCodeAt(index);
},
_codeUnitAt$1: function(receiver, index) {
if (index >= receiver.length)
throw H.wrapException(H.diagnoseIndexError(receiver, index));
return receiver.charCodeAt(index);
},
$add: function(receiver, other) {
if (typeof other != "string")
throw H.wrapException(P.ArgumentError$value(other, null, null));
return receiver + other;
},
startsWith$1: function(receiver, pattern) {
var otherLength = pattern.length;
if (otherLength > receiver.length)
return false;
return pattern === receiver.substring(0, otherLength);
},
substring$2: function(receiver, startIndex, endIndex) {
if (endIndex == null)
endIndex = receiver.length;
if (startIndex < 0)
throw H.wrapException(P.RangeError$value(startIndex, null));
if (startIndex > endIndex)
throw H.wrapException(P.RangeError$value(startIndex, null));
if (endIndex > receiver.length)
throw H.wrapException(P.RangeError$value(endIndex, null));
return receiver.substring(startIndex, endIndex);
},
substring$1: function($receiver, startIndex) {
return this.substring$2($receiver, startIndex, null);
},
$mul: function(receiver, times) {
var s, result;
if (0 >= times)
return "";
if (times === 1 || receiver.length === 0)
return receiver;
if (times !== times >>> 0)
throw H.wrapException(C.C_OutOfMemoryError);
for (s = receiver, result = ""; true;) {
if ((times & 1) === 1)
result = s + result;
times = times >>> 1;
if (times === 0)
break;
s += s;
}
return result;
},
padLeft$2: function(receiver, width, padding) {
var delta = width - receiver.length;
if (delta <= 0)
return receiver;
return this.$mul(padding, delta) + receiver;
},
lastIndexOf$1: function(receiver, pattern) {
var start = receiver.length,
t1 = pattern.length;
if (start + t1 > start)
start -= t1;
return receiver.lastIndexOf(pattern, start);
},
toString$0: function(receiver) {
return receiver;
},
get$hashCode: function(receiver) {
var t1, hash, i;
for (t1 = receiver.length, hash = 0, i = 0; i < t1; ++i) {
hash = hash + receiver.charCodeAt(i) & 536870911;
hash = hash + ((hash & 524287) << 10) & 536870911;
hash ^= hash >> 6;
}
hash = hash + ((hash & 67108863) << 3) & 536870911;
hash ^= hash >> 11;
return hash + ((hash & 16383) << 15) & 536870911;
},
get$length: function(receiver) {
return receiver.length;
},
$isPattern: 1,
$isString: 1
};
H.LateError.prototype = {
toString$0: function(_) {
var message = this._message;
return message != null ? "LateInitializationError: " + message : "LateInitializationError";
}
};
H.nullFuture_closure.prototype = {
call$0: function() {
var t1 = new P._Future($.Zone__current, type$._Future_Null);
t1._asyncComplete$1(null);
return t1;
},
$signature: 14
};
H.NotNullableError.prototype = {
toString$0: function(_) {
return "Null is not a valid value for the parameter '" + this.__internal$_name + "' of type '" + H.createRuntimeType(this.$ti._precomputed1).toString$0(0) + "'";
}
};
H.EfficientLengthIterable.prototype = {};
H.ListIterable.prototype = {
get$iterator: function(_) {
var _this = this;
return new H.ListIterator(_this, _this.get$length(_this), H._instanceType(_this)._eval$1("ListIterator<ListIterable.E>"));
},
get$isEmpty: function(_) {
var t1 = this._parent;
return t1.get$length(t1) === 0;
}
};
H.ListIterator.prototype = {
get$current: function() {
return this.__internal$_current;
},
moveNext$0: function() {
var t3, _this = this,
t1 = _this.__internal$_iterable,
t2 = J.getInterceptor$asx(t1),
$length = t2.get$length(t1);
if (_this.__internal$_length !== $length)
throw H.wrapException(P.ConcurrentModificationError$(t1));
t3 = _this.__internal$_index;
if (t3 >= $length) {
_this.set$__internal$_current(null);
return false;
}
_this.set$__internal$_current(t2.elementAt$1(t1, t3));
++_this.__internal$_index;
return true;
},
set$__internal$_current: function(_current) {
this.__internal$_current = this.$ti._eval$1("1?")._as(_current);
}
};
H.FixedLengthListMixin.prototype = {};
H.TypeErrorDecoder.prototype = {
matchTypeError$1: function(message) {
var result, t1, _this = this,
match = new RegExp(_this._pattern).exec(message);
if (match == null)
return null;
result = Object.create(null);
t1 = _this._arguments;
if (t1 !== -1)
result.arguments = match[t1 + 1];
t1 = _this._argumentsExpr;
if (t1 !== -1)
result.argumentsExpr = match[t1 + 1];
t1 = _this._expr;
if (t1 !== -1)
result.expr = match[t1 + 1];
t1 = _this._method;
if (t1 !== -1)
result.method = match[t1 + 1];
t1 = _this._receiver;
if (t1 !== -1)
result.receiver = match[t1 + 1];
return result;
}
};
H.NullError.prototype = {
toString$0: function(_) {
var t1 = this._method;
if (t1 == null)
return "NoSuchMethodError: " + H.S(this.__js_helper$_message);
return "NoSuchMethodError: method not found: '" + t1 + "' on null";
}
};
H.JsNoSuchMethodError.prototype = {
toString$0: function(_) {
var t2, _this = this,
_s38_ = "NoSuchMethodError: method not found: '",
t1 = _this._method;
if (t1 == null)
return "NoSuchMethodError: " + H.S(_this.__js_helper$_message);
t2 = _this._receiver;
if (t2 == null)
return _s38_ + t1 + "' (" + H.S(_this.__js_helper$_message) + ")";
return _s38_ + t1 + "' on '" + t2 + "' (" + H.S(_this.__js_helper$_message) + ")";
}
};
H.UnknownJsTypeError.prototype = {
toString$0: function(_) {
var t1 = this.__js_helper$_message;
return t1.length === 0 ? "Error" : "Error: " + t1;
}
};
H.NullThrownFromJavaScriptException.prototype = {
toString$0: function(_) {
return "Throw of null ('" + (this._irritant === null ? "null" : "undefined") + "' from JavaScript)";
}
};
H.ExceptionAndStackTrace.prototype = {};
H._StackTrace.prototype = {
toString$0: function(_) {
var trace,
t1 = this._trace;
if (t1 != null)
return t1;
t1 = this._exception;
trace = t1 !== null && typeof t1 === "object" ? t1.stack : null;
return this._trace = trace == null ? "" : trace;
},
$isStackTrace: 1
};
H.Closure.prototype = {
toString$0: function(_) {
var $constructor = this.constructor,
$name = $constructor == null ? null : $constructor.name;
return "Closure '" + H.unminifyOrTag($name == null ? "unknown" : $name) + "'";
},
$isFunction: 1,
get$$call: function() {
return this;
},
"call*": "call$1",
$requiredArgCount: 1,
$defaultValues: null
};
H.TearOffClosure.prototype = {};
H.StaticClosure.prototype = {
toString$0: function(_) {
var $name = this.$static_name;
if ($name == null)
return "Closure of unknown static method";
return "Closure '" + H.unminifyOrTag($name) + "'";
}
};
H.BoundClosure.prototype = {
$eq: function(_, other) {
var _this = this;
if (other == null)
return false;
if (_this === other)
return true;
if (!(other instanceof H.BoundClosure))
return false;
return _this._self === other._self && _this.__js_helper$_target === other.__js_helper$_target && _this._receiver === other._receiver;
},
get$hashCode: function(_) {
var receiverHashCode,
t1 = this._receiver;
if (t1 == null)
receiverHashCode = H.Primitives_objectHashCode(this._self);
else
receiverHashCode = typeof t1 !== "object" ? J.get$hashCode$(t1) : H.Primitives_objectHashCode(t1);
return (receiverHashCode ^ H.Primitives_objectHashCode(this.__js_helper$_target)) >>> 0;
},
toString$0: function(_) {
var receiver = this._receiver;
if (receiver == null)
receiver = this._self;
return "Closure '" + H.S(this._name) + "' of " + ("Instance of '" + H.S(H.Primitives_objectTypeName(receiver)) + "'");
}
};
H.RuntimeError.prototype = {
toString$0: function(_) {
return "RuntimeError: " + this.message;
}
};
H._AssertionError.prototype = {
toString$0: function(_) {
return "Assertion failed: " + P.Error_safeToString(this.message);
}
};
H.JsLinkedHashMap.prototype = {
get$length: function(_) {
return this.__js_helper$_length;
},
get$isEmpty: function(_) {
return this.__js_helper$_length === 0;
},
get$keys: function() {
return new H.LinkedHashMapKeyIterable(this, H._instanceType(this)._eval$1("LinkedHashMapKeyIterable<1>"));
},
containsKey$1: function(key) {
var strings = this._strings;
if (strings == null)
return false;
return this._containsTableEntry$2(strings, key);
},
$index: function(_, key) {
var strings, cell, t1, nums, _this = this, _null = null;
if (typeof key == "string") {
strings = _this._strings;
if (strings == null)
return _null;
cell = _this._getTableCell$2(strings, key);
t1 = cell == null ? _null : cell.hashMapCellValue;
return t1;
} else if (typeof key == "number" && (key & 0x3ffffff) === key) {
nums = _this._nums;
if (nums == null)
return _null;
cell = _this._getTableCell$2(nums, key);
t1 = cell == null ? _null : cell.hashMapCellValue;
return t1;
} else
return _this.internalGet$1(key);
},
internalGet$1: function(key) {
var bucket, index,
rest = this.__js_helper$_rest;
if (rest == null)
return null;
bucket = this._getTableBucket$2(rest, J.get$hashCode$(key) & 0x3ffffff);
index = this.internalFindBucketIndex$2(bucket, key);
if (index < 0)
return null;
return bucket[index].hashMapCellValue;
},
$indexSet: function(_, key, value) {
var strings, nums, rest, hash, bucket, index, _this = this,
t1 = H._instanceType(_this);
t1._precomputed1._as(key);
t1._rest[1]._as(value);
if (typeof key == "string") {
strings = _this._strings;
_this._addHashTableEntry$3(strings == null ? _this._strings = _this._newHashTable$0() : strings, key, value);
} else if (typeof key == "number" && (key & 0x3ffffff) === key) {
nums = _this._nums;
_this._addHashTableEntry$3(nums == null ? _this._nums = _this._newHashTable$0() : nums, key, value);
} else {
rest = _this.__js_helper$_rest;
if (rest == null)
rest = _this.__js_helper$_rest = _this._newHashTable$0();
hash = J.get$hashCode$(key) & 0x3ffffff;
bucket = _this._getTableBucket$2(rest, hash);
if (bucket == null)
_this._setTableEntry$3(rest, hash, [_this._newLinkedCell$2(key, value)]);
else {
index = _this.internalFindBucketIndex$2(bucket, key);
if (index >= 0)
bucket[index].hashMapCellValue = value;
else
bucket.push(_this._newLinkedCell$2(key, value));
}
}
},
putIfAbsent$2: function(key, ifAbsent) {
var value, _this = this,
t1 = H._instanceType(_this);
t1._precomputed1._as(key);
t1._eval$1("2()")._as(ifAbsent);
if (_this.containsKey$1(key))
return _this.$index(0, key);
value = ifAbsent.call$0();
_this.$indexSet(0, key, value);
return value;
},
forEach$1: function(_, action) {
var cell, modifications, _this = this;
H._instanceType(_this)._eval$1("~(1,2)")._as(action);
cell = _this._first;
modifications = _this._modifications;
for (; cell != null;) {
action.call$2(cell.hashMapCellKey, cell.hashMapCellValue);
if (modifications !== _this._modifications)
throw H.wrapException(P.ConcurrentModificationError$(_this));
cell = cell._next;
}
},
_addHashTableEntry$3: function(table, key, value) {
var cell, _this = this,
t1 = H._instanceType(_this);
t1._precomputed1._as(key);
t1._rest[1]._as(value);
cell = _this._getTableCell$2(table, key);
if (cell == null)
_this._setTableEntry$3(table, key, _this._newLinkedCell$2(key, value));
else
cell.hashMapCellValue = value;
},
_newLinkedCell$2: function(key, value) {
var _this = this,
t1 = H._instanceType(_this),
cell = new H.LinkedHashMapCell(t1._precomputed1._as(key), t1._rest[1]._as(value));
if (_this._first == null)
_this._first = _this._last = cell;
else
_this._last = _this._last._next = cell;
++_this.__js_helper$_length;
_this._modifications = _this._modifications + 1 & 67108863;
return cell;
},
internalFindBucketIndex$2: function(bucket, key) {
var $length, i;
if (bucket == null)
return -1;
$length = bucket.length;
for (i = 0; i < $length; ++i)
if (J.$eq$(bucket[i].hashMapCellKey, key))
return i;
return -1;
},
toString$0: function(_) {
return P.MapBase_mapToString(this);
},
_getTableCell$2: function(table, key) {
return table[key];
},
_getTableBucket$2: function(table, key) {
return table[key];
},
_setTableEntry$3: function(table, key, value) {
table[key] = value;
},
_deleteTableEntry$2: function(table, key) {
delete table[key];
},
_containsTableEntry$2: function(table, key) {
return this._getTableCell$2(table, key) != null;
},
_newHashTable$0: function() {
var _s20_ = "<non-identifier-key>",
table = Object.create(null);
this._setTableEntry$3(table, _s20_, table);
this._deleteTableEntry$2(table, _s20_);
return table;
},
$isLinkedHashMap: 1
};
H.LinkedHashMapCell.prototype = {};
H.LinkedHashMapKeyIterable.prototype = {
get$length: function(_) {
return this._map.__js_helper$_length;
},
get$isEmpty: function(_) {
return this._map.__js_helper$_length === 0;
},
get$iterator: function(_) {
var t1 = this._map,
t2 = new H.LinkedHashMapKeyIterator(t1, t1._modifications, this.$ti._eval$1("LinkedHashMapKeyIterator<1>"));
t2._cell = t1._first;
return t2;
}
};
H.LinkedHashMapKeyIterator.prototype = {
get$current: function() {
return this.__js_helper$_current;
},
moveNext$0: function() {
var cell, _this = this,
t1 = _this._map;
if (_this._modifications !== t1._modifications)
throw H.wrapException(P.ConcurrentModificationError$(t1));
cell = _this._cell;
if (cell == null) {
_this.set$__js_helper$_current(null);
return false;
} else {
_this.set$__js_helper$_current(cell.hashMapCellKey);
_this._cell = cell._next;
return true;
}
},
set$__js_helper$_current: function(_current) {
this.__js_helper$_current = this.$ti._eval$1("1?")._as(_current);
}
};
H.initHooks_closure.prototype = {
call$1: function(o) {
return this.getTag(o);
},
$signature: 4
};
H.initHooks_closure0.prototype = {
call$2: function(o, tag) {
return this.getUnknownTag(o, tag);
},
$signature: 15
};
H.initHooks_closure1.prototype = {
call$1: function(tag) {
return this.prototypeForTag(H._asStringS(tag));
},
$signature: 16
};
H.NativeTypedData.prototype = {};
H.NativeTypedArray.prototype = {
get$length: function(receiver) {
return receiver.length;
},
$isJavaScriptIndexingBehavior: 1
};
H.NativeTypedArrayOfDouble.prototype = {
$index: function(receiver, index) {
H._checkValidIndex(index, receiver, receiver.length);
return receiver[index];
},
$indexSet: function(receiver, index, value) {
H._asIntS(index);
H._asDoubleS(value);
H._checkValidIndex(index, receiver, receiver.length);
receiver[index] = value;
},
$isIterable: 1,
$isList: 1
};
H.NativeTypedArrayOfInt.prototype = {
$indexSet: function(receiver, index, value) {
H._asIntS(index);
H._asIntS(value);
H._checkValidIndex(index, receiver, receiver.length);
receiver[index] = value;
},
$isIterable: 1,
$isList: 1
};
H.NativeInt16List.prototype = {
$index: function(receiver, index) {
H._checkValidIndex(index, receiver, receiver.length);
return receiver[index];
}
};
H.NativeInt32List.prototype = {
$index: function(receiver, index) {
H._checkValidIndex(index, receiver, receiver.length);
return receiver[index];
}
};
H.NativeInt8List.prototype = {
$index: function(receiver, index) {
H._checkValidIndex(index, receiver, receiver.length);
return receiver[index];
}
};
H.NativeUint16List.prototype = {
$index: function(receiver, index) {
H._checkValidIndex(index, receiver, receiver.length);
return receiver[index];
}
};
H.NativeUint32List.prototype = {
$index: function(receiver, index) {
H._checkValidIndex(index, receiver, receiver.length);
return receiver[index];
}
};
H.NativeUint8ClampedList.prototype = {
get$length: function(receiver) {
return receiver.length;
},
$index: function(receiver, index) {
H._checkValidIndex(index, receiver, receiver.length);
return receiver[index];
}
};
H.NativeUint8List.prototype = {
get$length: function(receiver) {
return receiver.length;
},
$index: function(receiver, index) {
H._checkValidIndex(index, receiver, receiver.length);
return receiver[index];
}
};
H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin.prototype = {};
H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin.prototype = {};
H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin.prototype = {};
H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin.prototype = {};
H.Rti.prototype = {
_eval$1: function(recipe) {
return H._Universe_evalInEnvironment(init.typeUniverse, this, recipe);
},
_bind$1: function(typeOrTuple) {
return H._Universe_bind(init.typeUniverse, this, typeOrTuple);
}
};
H._FunctionParameters.prototype = {};
H._Type.prototype = {
toString$0: function(_) {
return H._rtiToString(this._rti, null);
}
};
H._Error.prototype = {
toString$0: function(_) {
return this.__rti$_message;
}
};
H._TypeError.prototype = {};
P._AsyncRun__initializeScheduleImmediate_internalCallback.prototype = {
call$1: function(_) {
var t1 = this._box_0,
f = t1.storedCallback;
t1.storedCallback = null;
f.call$0();
},
$signature: 5
};
P._AsyncRun__initializeScheduleImmediate_closure.prototype = {
call$1: function(callback) {
var t1, t2;
this._box_0.storedCallback = type$.void_Function._as(callback);
t1 = this.div;
t2 = this.span;
t1.firstChild ? t1.removeChild(t2) : t1.appendChild(t2);
},
$signature: 17
};
P._AsyncRun__scheduleImmediateJsOverride_internalCallback.prototype = {
call$0: function() {
this.callback.call$0();
},
$signature: 1
};
P._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback.prototype = {
call$0: function() {
this.callback.call$0();
},
$signature: 1
};
P._TimerImpl.prototype = {
_TimerImpl$2: function(milliseconds, callback) {
if (self.setTimeout != null)
this._handle = self.setTimeout(H.convertDartClosureToJS(new P._TimerImpl_internalCallback(this, callback), 0), milliseconds);
else
throw H.wrapException(P.UnsupportedError$("`setTimeout()` not found."));
},
cancel$0: function() {
if (self.setTimeout != null) {
var t1 = this._handle;
if (t1 == null)
return;
self.clearTimeout(t1);
this._handle = null;
} else
throw H.wrapException(P.UnsupportedError$("Canceling a timer."));
},
$isTimer: 1
};
P._TimerImpl_internalCallback.prototype = {
call$0: function() {
this.$this._handle = null;
this.callback.call$0();
},
$signature: 0
};
P._AsyncAwaitCompleter.prototype = {
complete$1: function(_, value) {
var t2, _this = this,
t1 = _this.$ti;
t1._eval$1("1/?")._as(value);
if (!_this.isSync)
_this._future._asyncComplete$1(value);
else {
t2 = _this._future;
if (t1._eval$1("Future<1>")._is(value))
t2._chainFuture$1(value);
else
t2._completeWithValue$1(t1._precomputed1._as(value));
}
},
completeError$2: function(e, st) {
var t1;
if (st == null)
st = P.AsyncError_defaultStackTrace(e);
t1 = this._future;
if (this.isSync)
t1._completeError$2(e, st);
else
t1._asyncCompleteError$2(e, st);
},
$isCompleter: 1
};
P._awaitOnObject_closure.prototype = {
call$1: function(result) {
return this.bodyFunction.call$2(0, result);
},
$signature: 2
};
P._awaitOnObject_closure0.prototype = {
call$2: function(error, stackTrace) {
this.bodyFunction.call$2(1, new H.ExceptionAndStackTrace(error, type$.StackTrace._as(stackTrace)));
},
$signature: 18
};
P._wrapJsFunctionForAsync_closure.prototype = {
call$2: function(errorCode, result) {
this.$protected(H._asIntS(errorCode), result);
},
$signature: 19
};
P._Completer.prototype = {
completeError$2: function(error, stackTrace) {
var t1;
H.checkNotNullable(error, "error", type$.Object);
t1 = this.future;
if (t1._state !== 0)
throw H.wrapException(P.StateError$("Future already completed"));
if (stackTrace == null)
stackTrace = P.AsyncError_defaultStackTrace(error);
t1._asyncCompleteError$2(error, stackTrace);
},
completeError$1: function(error) {
return this.completeError$2(error, null);
},
$isCompleter: 1
};
P._AsyncCompleter.prototype = {
complete$1: function(_, value) {
var t2,
t1 = this.$ti;
t1._eval$1("1/?")._as(value);
t2 = this.future;
if (t2._state !== 0)
throw H.wrapException(P.StateError$("Future already completed"));
t2._asyncComplete$1(t1._eval$1("1/")._as(value));
},
complete$0: function($receiver) {
return this.complete$1($receiver, null);
}
};
P._FutureListener.prototype = {
matchesErrorTest$1: function(asyncError) {
if ((this.state & 15) !== 6)
return true;
return this.result._zone.runUnary$2$2(type$.bool_Function_Object._as(this.callback), asyncError.error, type$.bool, type$.Object);
},
handleError$1: function(asyncError) {
var errorCallback = this.errorCallback,
t1 = type$.dynamic,
t2 = type$.Object,
t3 = this.$ti._eval$1("2/"),
t4 = this.result._zone;
if (type$.dynamic_Function_Object_StackTrace._is(errorCallback))
return t3._as(t4.runBinary$3$3(errorCallback, asyncError.error, asyncError.stackTrace, t1, t2, type$.StackTrace));
else
return t3._as(t4.runUnary$2$2(type$.dynamic_Function_Object._as(errorCallback), asyncError.error, t1, t2));
}
};
P._Future.prototype = {
then$1$2$onError: function(f, onError, $R) {
var currentZone, result, t2,
t1 = this.$ti;
t1._bind$1($R)._eval$1("1/(2)")._as(f);
currentZone = $.Zone__current;
if (currentZone !== C.C__RootZone) {
$R._eval$1("@<0/>")._bind$1(t1._precomputed1)._eval$1("1(2)")._as(f);
if (onError != null)
onError = P._registerErrorHandler(onError, currentZone);
}
result = new P._Future(currentZone, $R._eval$1("_Future<0>"));
t2 = onError == null ? 1 : 3;
this._addListener$1(new P._FutureListener(result, t2, f, onError, t1._eval$1("@<1>")._bind$1($R)._eval$1("_FutureListener<1,2>")));
return result;
},
then$1$1: function(f, $R) {
return this.then$1$2$onError(f, null, $R);
},
_thenAwait$1$2: function(f, onError, $E) {
var result,
t1 = this.$ti;
t1._bind$1($E)._eval$1("1/(2)")._as(f);
result = new P._Future($.Zone__current, $E._eval$1("_Future<0>"));
this._addListener$1(new P._FutureListener(result, 19, f, onError, t1._eval$1("@<1>")._bind$1($E)._eval$1("_FutureListener<1,2>")));
return result;
},
whenComplete$1: function(action) {
var t1, result;
type$.dynamic_Function._as(action);
t1 = this.$ti;
result = new P._Future($.Zone__current, t1);
this._addListener$1(new P._FutureListener(result, 8, action, null, t1._eval$1("@<1>")._bind$1(t1._precomputed1)._eval$1("_FutureListener<1,2>")));
return result;
},
_addListener$1: function(listener) {
var source, _this = this,
t1 = _this._state;
if (t1 <= 1) {
listener._nextListener = type$.nullable__FutureListener_dynamic_dynamic._as(_this._resultOrListeners);
_this._resultOrListeners = listener;
} else {
if (t1 === 2) {
source = type$._Future_dynamic._as(_this._resultOrListeners);
t1 = source._state;
if (t1 < 4) {
source._addListener$1(listener);
return;
}
_this._state = t1;
_this._resultOrListeners = source._resultOrListeners;
}
P._rootScheduleMicrotask(null, null, _this._zone, type$.void_Function._as(new P._Future__addListener_closure(_this, listener)));
}
},
_prependListeners$1: function(listeners) {
var t1, existingListeners, next, cursor, next0, source, _this = this, _box_0 = {};
_box_0.listeners = listeners;
if (listeners == null)
return;
t1 = _this._state;
if (t1 <= 1) {
existingListeners = type$.nullable__FutureListener_dynamic_dynamic._as(_this._resultOrListeners);
_this._resultOrListeners = listeners;
if (existingListeners != null) {
next = listeners._nextListener;
for (cursor = listeners; next != null; cursor = next, next = next0)
next0 = next._nextListener;
cursor._nextListener = existingListeners;
}
} else {
if (t1 === 2) {
source = type$._Future_dynamic._as(_this._resultOrListeners);
t1 = source._state;
if (t1 < 4) {
source._prependListeners$1(listeners);
return;
}
_this._state = t1;
_this._resultOrListeners = source._resultOrListeners;
}
_box_0.listeners = _this._reverseListeners$1(listeners);
P._rootScheduleMicrotask(null, null, _this._zone, type$.void_Function._as(new P._Future__prependListeners_closure(_box_0, _this)));
}
},
_removeListeners$0: function() {
var current = type$.nullable__FutureListener_dynamic_dynamic._as(this._resultOrListeners);
this._resultOrListeners = null;
return this._reverseListeners$1(current);
},
_reverseListeners$1: function(listeners) {
var current, prev, next;
for (current = listeners, prev = null; current != null; prev = current, current = next) {
next = current._nextListener;
current._nextListener = prev;
}
return prev;
},
_chainForeignFuture$1: function(source) {
var e, s, exception, _this = this;
_this._state = 1;
try {
source.then$1$2$onError(new P._Future__chainForeignFuture_closure(_this), new P._Future__chainForeignFuture_closure0(_this), type$.Null);
} catch (exception) {
e = H.unwrapException(exception);
s = H.getTraceFromException(exception);
P.scheduleMicrotask(new P._Future__chainForeignFuture_closure1(_this, e, s));
}
},
_complete$1: function(value) {
var listeners, _this = this,
t1 = _this.$ti;
t1._eval$1("1/")._as(value);
if (t1._eval$1("Future<1>")._is(value))
if (t1._is(value))
P._Future__chainCoreFuture(value, _this);
else
_this._chainForeignFuture$1(value);
else {
listeners = _this._removeListeners$0();
t1._precomputed1._as(value);
_this._state = 4;
_this._resultOrListeners = value;
P._Future__propagateToListeners(_this, listeners);
}
},
_completeWithValue$1: function(value) {
var listeners, _this = this;
_this.$ti._precomputed1._as(value);
listeners = _this._removeListeners$0();
_this._state = 4;
_this._resultOrListeners = value;
P._Future__propagateToListeners(_this, listeners);
},
_completeError$2: function(error, stackTrace) {
var listeners, t1, _this = this;
type$.StackTrace._as(stackTrace);
listeners = _this._removeListeners$0();
t1 = P.AsyncError$(error, stackTrace);
_this._state = 8;
_this._resultOrListeners = t1;
P._Future__propagateToListeners(_this, listeners);
},
_asyncComplete$1: function(value) {
var t1 = this.$ti;
t1._eval$1("1/")._as(value);
if (t1._eval$1("Future<1>")._is(value)) {
this._chainFuture$1(value);
return;
}
this._asyncCompleteWithValue$1(t1._precomputed1._as(value));
},
_asyncCompleteWithValue$1: function(value) {
var _this = this;
_this.$ti._precomputed1._as(value);
_this._state = 1;
P._rootScheduleMicrotask(null, null, _this._zone, type$.void_Function._as(new P._Future__asyncCompleteWithValue_closure(_this, value)));
},
_chainFuture$1: function(value) {
var _this = this,
t1 = _this.$ti;
t1._eval$1("Future<1>")._as(value);
if (t1._is(value)) {
if (value._state === 8) {
_this._state = 1;
P._rootScheduleMicrotask(null, null, _this._zone, type$.void_Function._as(new P._Future__chainFuture_closure(_this, value)));
} else
P._Future__chainCoreFuture(value, _this);
return;
}
_this._chainForeignFuture$1(value);
},
_asyncCompleteError$2: function(error, stackTrace) {
type$.StackTrace._as(stackTrace);
this._state = 1;
P._rootScheduleMicrotask(null, null, this._zone, type$.void_Function._as(new P._Future__asyncCompleteError_closure(this, error, stackTrace)));
},
$isFuture: 1
};
P._Future__addListener_closure.prototype = {
call$0: function() {
P._Future__propagateToListeners(this.$this, this.listener);
},
$signature: 0
};
P._Future__prependListeners_closure.prototype = {
call$0: function() {
P._Future__propagateToListeners(this.$this, this._box_0.listeners);
},
$signature: 0
};
P._Future__chainForeignFuture_closure.prototype = {
call$1: function(value) {
var error, stackTrace, exception,
t1 = this.$this;
t1._state = 0;
try {
t1._completeWithValue$1(t1.$ti._precomputed1._as(value));
} catch (exception) {
error = H.unwrapException(exception);
stackTrace = H.getTraceFromException(exception);
t1._completeError$2(error, stackTrace);
}
},
$signature: 5
};
P._Future__chainForeignFuture_closure0.prototype = {
call$2: function(error, stackTrace) {
this.$this._completeError$2(error, type$.StackTrace._as(stackTrace));
},
$signature: 7
};
P._Future__chainForeignFuture_closure1.prototype = {
call$0: function() {
this.$this._completeError$2(this.e, this.s);
},
$signature: 0
};
P._Future__asyncCompleteWithValue_closure.prototype = {
call$0: function() {
this.$this._completeWithValue$1(this.value);
},
$signature: 0
};
P._Future__chainFuture_closure.prototype = {
call$0: function() {
P._Future__chainCoreFuture(this.value, this.$this);
},
$signature: 0
};
P._Future__asyncCompleteError_closure.prototype = {
call$0: function() {
this.$this._completeError$2(this.error, this.stackTrace);
},
$signature: 0
};
P._Future__propagateToListeners_handleWhenCompleteCallback.prototype = {
call$0: function() {
var e, s, t1, exception, t2, originalSource, _this = this, completeResult = null;
try {
t1 = _this._box_0.listener;
completeResult = t1.result._zone.run$1$1(type$.dynamic_Function._as(t1.callback), type$.dynamic);
} catch (exception) {
e = H.unwrapException(exception);
s = H.getTraceFromException(exception);
if (_this.hasError) {
t1 = type$.AsyncError._as(_this._box_1.source._resultOrListeners).error;
t2 = e;
t2 = t1 == null ? t2 == null : t1 === t2;
t1 = t2;
} else
t1 = false;
t2 = _this._box_0;
if (t1)
t2.listenerValueOrError = type$.AsyncError._as(_this._box_1.source._resultOrListeners);
else
t2.listenerValueOrError = P.AsyncError$(e, s);
t2.listenerHasError = true;
return;
}
if (completeResult instanceof P._Future && completeResult._state >= 4) {
if (completeResult._state === 8) {
t1 = _this._box_0;
t1.listenerValueOrError = type$.AsyncError._as(completeResult._resultOrListeners);
t1.listenerHasError = true;
}
return;
}
if (type$.Future_dynamic._is(completeResult)) {
originalSource = _this._box_1.source;
t1 = _this._box_0;
t1.listenerValueOrError = completeResult.then$1$1(new P._Future__propagateToListeners_handleWhenCompleteCallback_closure(originalSource), type$.dynamic);
t1.listenerHasError = false;
}
},
$signature: 0
};
P._Future__propagateToListeners_handleWhenCompleteCallback_closure.prototype = {
call$1: function(_) {
return this.originalSource;
},
$signature: 21
};
P._Future__propagateToListeners_handleValueCallback.prototype = {
call$0: function() {
var e, s, t1, t2, t3, t4, t5, exception;
try {
t1 = this._box_0;
t2 = t1.listener;
t3 = t2.$ti;
t4 = t3._precomputed1;
t5 = t4._as(this.sourceResult);
t1.listenerValueOrError = t2.result._zone.runUnary$2$2(t3._eval$1("2/(1)")._as(t2.callback), t5, t3._eval$1("2/"), t4);
} catch (exception) {
e = H.unwrapException(exception);
s = H.getTraceFromException(exception);
t1 = this._box_0;
t1.listenerValueOrError = P.AsyncError$(e, s);
t1.listenerHasError = true;
}
},
$signature: 0
};
P._Future__propagateToListeners_handleError.prototype = {
call$0: function() {
var asyncError, e, s, t1, exception, t2, t3, t4, _this = this;
try {
asyncError = type$.AsyncError._as(_this._box_1.source._resultOrListeners);
t1 = _this._box_0;
if (H.boolConversionCheck(t1.listener.matchesErrorTest$1(asyncError)) && t1.listener.errorCallback != null) {
t1.listenerValueOrError = t1.listener.handleError$1(asyncError);
t1.listenerHasError = false;
}
} catch (exception) {
e = H.unwrapException(exception);
s = H.getTraceFromException(exception);
t1 = type$.AsyncError._as(_this._box_1.source._resultOrListeners);
t2 = t1.error;
t3 = e;
t4 = _this._box_0;
if (t2 == null ? t3 == null : t2 === t3)
t4.listenerValueOrError = t1;
else
t4.listenerValueOrError = P.AsyncError$(e, s);
t4.listenerHasError = true;
}
},
$signature: 0
};
P._AsyncCallbackEntry.prototype = {};
P.Stream.prototype = {
get$length: function(_) {
var t1 = {},
future = new P._Future($.Zone__current, type$._Future_int);
t1.count = 0;
this.listen$4$cancelOnError$onDone$onError(new P.Stream_length_closure(t1, this), true, new P.Stream_length_closure0(t1, future), future.get$_completeError());
return future;
},
get$first: function(_) {
var future = new P._Future($.Zone__current, H._instanceType(this)._eval$1("_Future<1>")),
subscription = this.listen$4$cancelOnError$onDone$onError(null, true, new P.Stream_first_closure(future), future.get$_completeError());
subscription.onData$1(new P.Stream_first_closure0(this, subscription, future));
return future;
}
};
P.Stream_length_closure.prototype = {
call$1: function(_) {
H._instanceType(this.$this)._precomputed1._as(_);
++this._box_0.count;
},
$signature: function() {
return H._instanceType(this.$this)._eval$1("~(1)");
}
};
P.Stream_length_closure0.prototype = {
call$0: function() {
this.future._complete$1(this._box_0.count);
},
$signature: 0
};
P.Stream_first_closure.prototype = {
call$0: function() {
var e, s, t1, exception, error, stackTrace;
try {
t1 = H.IterableElementError_noElement();
throw H.wrapException(t1);
} catch (exception) {
e = H.unwrapException(exception);
s = H.getTraceFromException(exception);
error = e;
stackTrace = s;
if (stackTrace == null)
stackTrace = P.AsyncError_defaultStackTrace(error);
this.future._completeError$2(error, stackTrace);
}
},
$signature: 0
};
P.Stream_first_closure0.prototype = {
call$1: function(value) {
P._cancelAndValue(this.subscription, this.future, H._instanceType(this.$this)._precomputed1._as(value));
},
$signature: function() {
return H._instanceType(this.$this)._eval$1("~(1)");
}
};
P.StreamSubscription.prototype = {};
P.StreamTransformerBase.prototype = {};
P._StreamController.prototype = {
get$_pendingEvents: function() {
var t1, _this = this;
if ((_this._state & 8) === 0)
return H._instanceType(_this)._eval$1("_PendingEvents<1>?")._as(_this._varData);
t1 = H._instanceType(_this);
return t1._eval$1("_PendingEvents<1>?")._as(t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData).get$varData());
},
_ensurePendingEvents$0: function() {
var events, t1, _this = this;
if ((_this._state & 8) === 0) {
events = _this._varData;
if (events == null)
events = _this._varData = new P._StreamImplEvents(H._instanceType(_this)._eval$1("_StreamImplEvents<1>"));
return H._instanceType(_this)._eval$1("_StreamImplEvents<1>")._as(events);
}
t1 = H._instanceType(_this);
events = t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData).get$varData();
return t1._eval$1("_StreamImplEvents<1>")._as(events);
},
get$_subscription: function() {
var varData = this._varData;
if ((this._state & 8) !== 0)
varData = type$._StreamControllerAddStreamState_nullable_Object._as(varData).get$varData();
return H._instanceType(this)._eval$1("_ControllerSubscription<1>")._as(varData);
},
_badEventState$0: function() {
if ((this._state & 4) !== 0)
return new P.StateError("Cannot add event after closing");
return new P.StateError("Cannot add event while adding a stream");
},
_ensureDoneFuture$0: function() {
var t1 = this._doneFuture;
if (t1 == null)
t1 = this._doneFuture = (this._state & 2) !== 0 ? $.$get$Future__nullFuture() : new P._Future($.Zone__current, type$._Future_void);
return t1;
},
add$1: function(_, value) {
var t2, _this = this,
t1 = H._instanceType(_this);
t1._precomputed1._as(value);
t2 = _this._state;
if (t2 >= 4)
throw H.wrapException(_this._badEventState$0());
if ((t2 & 1) !== 0)
_this._sendData$1(value);
else if ((t2 & 3) === 0)
_this._ensurePendingEvents$0().add$1(0, new P._DelayedData(value, t1._eval$1("_DelayedData<1>")));
},
close$0: function(_) {
var _this = this,
t1 = _this._state;
if ((t1 & 4) !== 0)
return _this._ensureDoneFuture$0();
if (t1 >= 4)
throw H.wrapException(_this._badEventState$0());
t1 = _this._state = t1 | 4;
if ((t1 & 1) !== 0)
_this._sendDone$0();
else if ((t1 & 3) === 0)
_this._ensurePendingEvents$0().add$1(0, C.C__DelayedDone);
return _this._ensureDoneFuture$0();
},
_subscribe$4: function(onData, onError, onDone, cancelOnError) {
var t2, t3, t4, t5, t6, t7, subscription, pendingEvents, addState, _this = this,
t1 = H._instanceType(_this);
t1._eval$1("~(1)?")._as(onData);
type$.nullable_void_Function._as(onDone);
if ((_this._state & 3) !== 0)
throw H.wrapException(P.StateError$("Stream has already been listened to."));
t2 = $.Zone__current;
t3 = cancelOnError ? 1 : 0;
t4 = P._BufferingStreamSubscription__registerDataHandler(t2, onData, t1._precomputed1);
t5 = P._BufferingStreamSubscription__registerErrorHandler(t2, onError);
t6 = onDone == null ? P.async___nullDoneHandler$closure() : onDone;
t7 = type$.void_Function;
subscription = new P._ControllerSubscription(_this, t4, t5, t7._as(t6), t2, t3, t1._eval$1("_ControllerSubscription<1>"));
pendingEvents = _this.get$_pendingEvents();
t3 = _this._state |= 1;
if ((t3 & 8) !== 0) {
addState = t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData);
addState.set$varData(subscription);
addState.resume$0();
} else
_this._varData = subscription;
subscription._setPendingEvents$1(pendingEvents);
t1 = t7._as(new P._StreamController__subscribe_closure(_this));
t2 = subscription._state;
subscription._state = t2 | 32;
t1.call$0();
subscription._state &= 4294967263;
subscription._checkState$1((t2 & 4) !== 0);
return subscription;
},
_recordCancel$1: function(subscription) {
var result, onCancel, cancelResult, e, s, exception, result0, _this = this,
t1 = H._instanceType(_this);
t1._eval$1("StreamSubscription<1>")._as(subscription);
result = null;
if ((_this._state & 8) !== 0)
result = t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData).cancel$0();
_this._varData = null;
_this._state = _this._state & 4294967286 | 2;
onCancel = _this.onCancel;
if (onCancel != null)
if (result == null)
try {
cancelResult = onCancel.call$0();
if (type$.Future_void._is(cancelResult))
result = cancelResult;
} catch (exception) {
e = H.unwrapException(exception);
s = H.getTraceFromException(exception);
result0 = new P._Future($.Zone__current, type$._Future_void);
result0._asyncCompleteError$2(e, s);
result = result0;
}
else
result = result.whenComplete$1(onCancel);
t1 = new P._StreamController__recordCancel_complete(_this);
if (result != null)
result = result.whenComplete$1(t1);
else
t1.call$0();
return result;
},
$isStreamController: 1,
$is_StreamControllerLifecycle: 1,
$is_EventDispatch: 1
};
P._StreamController__subscribe_closure.prototype = {
call$0: function() {
P._runGuarded(this.$this.onListen);
},
$signature: 0
};
P._StreamController__recordCancel_complete.prototype = {
call$0: function() {
var doneFuture = this.$this._doneFuture;
if (doneFuture != null && doneFuture._state === 0)
doneFuture._asyncComplete$1(null);
},
$signature: 0
};
P._AsyncStreamControllerDispatch.prototype = {
_sendData$1: function(data) {
var t1 = this.$ti;
t1._precomputed1._as(data);
this.get$_subscription()._addPending$1(new P._DelayedData(data, t1._eval$1("_DelayedData<1>")));
},
_sendError$2: function(error, stackTrace) {
this.get$_subscription()._addPending$1(new P._DelayedError(error, stackTrace));
},
_sendDone$0: function() {
this.get$_subscription()._addPending$1(C.C__DelayedDone);
}
};
P._AsyncStreamController.prototype = {};
P._ControllerStream.prototype = {
get$hashCode: function(_) {
return (H.Primitives_objectHashCode(this._controller) ^ 892482866) >>> 0;
},
$eq: function(_, other) {
if (other == null)
return false;
if (this === other)
return true;
return other instanceof P._ControllerStream && other._controller === this._controller;
}
};
P._ControllerSubscription.prototype = {
_onCancel$0: function() {
return this._controller._recordCancel$1(this);
},
_onPause$0: function() {
var t1 = this._controller,
t2 = H._instanceType(t1);
t2._eval$1("StreamSubscription<1>")._as(this);
if ((t1._state & 8) !== 0)
t2._eval$1("_StreamControllerAddStreamState<1>")._as(t1._varData).pause$0(0);
P._runGuarded(t1.onPause);
},
_onResume$0: function() {
var t1 = this._controller,
t2 = H._instanceType(t1);
t2._eval$1("StreamSubscription<1>")._as(this);
if ((t1._state & 8) !== 0)
t2._eval$1("_StreamControllerAddStreamState<1>")._as(t1._varData).resume$0();
P._runGuarded(t1.onResume);
}
};
P._StreamSinkWrapper.prototype = {};
P._BufferingStreamSubscription.prototype = {
_setPendingEvents$1: function(pendingEvents) {
var _this = this;
H._instanceType(_this)._eval$1("_PendingEvents<1>?")._as(pendingEvents);
if (pendingEvents == null)
return;
_this.set$_pending(pendingEvents);
if (pendingEvents.lastPendingEvent != null) {
_this._state |= 64;
pendingEvents.schedule$1(_this);
}
},
onData$1: function(handleData) {
var t1 = H._instanceType(this);
this.set$_onData(P._BufferingStreamSubscription__registerDataHandler(this._zone, t1._eval$1("~(1)?")._as(handleData), t1._precomputed1));
},
cancel$0: function() {
var t1 = this._state &= 4294967279;
if ((t1 & 8) === 0)
this._cancel$0();
t1 = this._cancelFuture;
return t1 == null ? $.$get$Future__nullFuture() : t1;
},
asFuture$1$1: function(futureValue, $E) {
var result, t1 = {};
$E._eval$1("0?")._as(futureValue);
t1.resultValue = null;
t1.resultValue = $E._as(futureValue);
result = new P._Future($.Zone__current, $E._eval$1("_Future<0>"));
this.set$_onDone(new P._BufferingStreamSubscription_asFuture_closure(t1, result));
this._onError = new P._BufferingStreamSubscription_asFuture_closure0(this, result);
return result;
},
_cancel$0: function() {
var t2, _this = this,
t1 = _this._state |= 8;
if ((t1 & 64) !== 0) {
t2 = _this._pending;
if (t2._state === 1)
t2._state = 3;
}
if ((t1 & 32) === 0)
_this.set$_pending(null);
_this._cancelFuture = _this._onCancel$0();
},
_onPause$0: function() {
},
_onResume$0: function() {
},
_onCancel$0: function() {
return null;
},
_addPending$1: function($event) {
var _this = this,
t1 = H._instanceType(_this),
pending = t1._eval$1("_StreamImplEvents<1>?")._as(_this._pending);
if (pending == null)
pending = new P._StreamImplEvents(t1._eval$1("_StreamImplEvents<1>"));
_this.set$_pending(pending);
pending.add$1(0, $event);
t1 = _this._state;
if ((t1 & 64) === 0) {
t1 |= 64;
_this._state = t1;
if (t1 < 128)
pending.schedule$1(_this);
}
},
_sendData$1: function(data) {
var t2, _this = this,
t1 = H._instanceType(_this)._precomputed1;
t1._as(data);
t2 = _this._state;
_this._state = t2 | 32;
_this._zone.runUnaryGuarded$1$2(_this._onData, data, t1);
_this._state &= 4294967263;
_this._checkState$1((t2 & 4) !== 0);
},
_sendError$2: function(error, stackTrace) {
var cancelFuture, _this = this,
t1 = _this._state,
t2 = new P._BufferingStreamSubscription__sendError_sendError(_this, error, stackTrace);
if ((t1 & 1) !== 0) {
_this._state = t1 | 16;
_this._cancel$0();
cancelFuture = _this._cancelFuture;
if (cancelFuture != null && cancelFuture !== $.$get$Future__nullFuture())
cancelFuture.whenComplete$1(t2);
else
t2.call$0();
} else {
t2.call$0();
_this._checkState$1((t1 & 4) !== 0);
}
},
_sendDone$0: function() {
var cancelFuture, _this = this,
t1 = new P._BufferingStreamSubscription__sendDone_sendDone(_this);
_this._cancel$0();
_this._state |= 16;
cancelFuture = _this._cancelFuture;
if (cancelFuture != null && cancelFuture !== $.$get$Future__nullFuture())
cancelFuture.whenComplete$1(t1);
else
t1.call$0();
},
_checkState$1: function(wasInputPaused) {
var t2, isInputPaused, _this = this,
t1 = _this._state;
if ((t1 & 64) !== 0 && _this._pending.lastPendingEvent == null) {
t1 = _this._state = t1 & 4294967231;
if ((t1 & 4) !== 0)
if (t1 < 128) {
t2 = _this._pending;
t2 = t2 == null ? null : t2.lastPendingEvent == null;
t2 = t2 !== false;
} else
t2 = false;
else
t2 = false;
if (t2) {
t1 &= 4294967291;
_this._state = t1;
}
}
for (; true; wasInputPaused = isInputPaused) {
if ((t1 & 8) !== 0) {
_this.set$_pending(null);
return;
}
isInputPaused = (t1 & 4) !== 0;
if (wasInputPaused === isInputPaused)
break;
_this._state = t1 ^ 32;
if (isInputPaused)
_this._onPause$0();
else
_this._onResume$0();
t1 = _this._state &= 4294967263;
}
if ((t1 & 64) !== 0 && t1 < 128)
_this._pending.schedule$1(_this);
},
set$_onData: function(_onData) {
this._onData = H._instanceType(this)._eval$1("~(1)")._as(_onData);
},
set$_onDone: function(_onDone) {
this._onDone = type$.void_Function._as(_onDone);
},
set$_pending: function(_pending) {
this._pending = H._instanceType(this)._eval$1("_PendingEvents<1>?")._as(_pending);
},
$isStreamSubscription: 1,
$is_EventDispatch: 1
};
P._BufferingStreamSubscription_asFuture_closure.prototype = {
call$0: function() {
this.result._complete$1(this._box_0.resultValue);
},
$signature: 0
};
P._BufferingStreamSubscription_asFuture_closure0.prototype = {
call$2: function(error, stackTrace) {
var cancelFuture = this.$this.cancel$0(),
t1 = this.result;
if (cancelFuture != $.$get$Future__nullFuture())
cancelFuture.whenComplete$1(new P._BufferingStreamSubscription_asFuture__closure(t1, error, stackTrace));
else
t1._completeError$2(error, stackTrace);
},
$signature: 7
};
P._BufferingStreamSubscription_asFuture__closure.prototype = {
call$0: function() {
this.result._completeError$2(this.error, this.stackTrace);
},
$signature: 1
};
P._BufferingStreamSubscription__sendError_sendError.prototype = {
call$0: function() {
var onError, t3, t4,
t1 = this.$this,
t2 = t1._state;
if ((t2 & 8) !== 0 && (t2 & 16) === 0)
return;
t1._state = t2 | 32;
onError = t1._onError;
t2 = this.error;
t3 = type$.Object;
t4 = t1._zone;
if (type$.void_Function_Object_StackTrace._is(onError))
t4.runBinaryGuarded$2$3(onError, t2, this.stackTrace, t3, type$.StackTrace);
else
t4.runUnaryGuarded$1$2(type$.void_Function_Object._as(onError), t2, t3);
t1._state &= 4294967263;
},
$signature: 0
};
P._BufferingStreamSubscription__sendDone_sendDone.prototype = {
call$0: function() {
var t1 = this.$this,
t2 = t1._state;
if ((t2 & 16) === 0)
return;
t1._state = t2 | 42;
t1._zone.runGuarded$1(t1._onDone);
t1._state &= 4294967263;
},
$signature: 0
};
P._StreamImpl.prototype = {
listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) {
var t1 = this.$ti;
t1._eval$1("~(1)?")._as(onData);
type$.nullable_void_Function._as(onDone);
return this._controller._subscribe$4(t1._eval$1("~(1)?")._as(onData), onError, onDone, cancelOnError === true);
},
listen$1: function(onData) {
return this.listen$4$cancelOnError$onDone$onError(onData, null, null, null);
},
listen$2$cancelOnError: function(onData, cancelOnError) {
return this.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, null, null);
},
listen$2$onDone: function(onData, onDone) {
return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, null);
}
};
P._DelayedEvent.prototype = {
set$next: function(next) {
this.next = type$.nullable__DelayedEvent_dynamic._as(next);
},
get$next: function() {
return this.next;
}
};
P._DelayedData.prototype = {
perform$1: function(dispatch) {
this.$ti._eval$1("_EventDispatch<1>")._as(dispatch)._sendData$1(this.value);
}
};
P._DelayedError.prototype = {
perform$1: function(dispatch) {
dispatch._sendError$2(this.error, this.stackTrace);
}
};
P._DelayedDone.prototype = {
perform$1: function(dispatch) {
dispatch._sendDone$0();
},
get$next: function() {
return null;
},
set$next: function(_) {
throw H.wrapException(P.StateError$("No events after a done."));
},
$is_DelayedEvent: 1
};
P._PendingEvents.prototype = {
schedule$1: function(dispatch) {
var t1, _this = this;
_this.$ti._eval$1("_EventDispatch<1>")._as(dispatch);
t1 = _this._state;
if (t1 === 1)
return;
if (t1 >= 1) {
_this._state = 1;
return;
}
P.scheduleMicrotask(new P._PendingEvents_schedule_closure(_this, dispatch));
_this._state = 1;
}
};
P._PendingEvents_schedule_closure.prototype = {
call$0: function() {
var t2, $event, nextEvent,
t1 = this.$this,
oldState = t1._state;
t1._state = 0;
if (oldState === 3)
return;
t2 = t1.$ti._eval$1("_EventDispatch<1>")._as(this.dispatch);
$event = t1.firstPendingEvent;
nextEvent = $event.get$next();
t1.firstPendingEvent = nextEvent;
if (nextEvent == null)
t1.lastPendingEvent = null;
$event.perform$1(t2);
},
$signature: 0
};
P._StreamImplEvents.prototype = {
add$1: function(_, $event) {
var _this = this,
lastEvent = _this.lastPendingEvent;
if (lastEvent == null)
_this.firstPendingEvent = _this.lastPendingEvent = $event;
else {
lastEvent.set$next($event);
_this.lastPendingEvent = $event;
}
}
};
P._StreamIterator.prototype = {};
P._cancelAndValue_closure.prototype = {
call$0: function() {
return this.future._complete$1(this.value);
},
$signature: 0
};
P.AsyncError.prototype = {
toString$0: function(_) {
return H.S(this.error);
},
$isError: 1,
get$stackTrace: function() {
return this.stackTrace;
}
};
P._Zone.prototype = {$isZone: 1};
P._rootHandleUncaughtError_closure.prototype = {
call$0: function() {
var error = H.wrapException(this.error);
error.stack = J.toString$0$(this.stackTrace);
throw error;
},
$signature: 0
};
P._RootZone.prototype = {
runGuarded$1: function(f) {
var e, s, exception, _null = null;
type$.void_Function._as(f);
try {
if (C.C__RootZone === $.Zone__current) {
f.call$0();
return;
}
P._rootRun(_null, _null, this, f, type$.void);
} catch (exception) {
e = H.unwrapException(exception);
s = H.getTraceFromException(exception);
P._rootHandleUncaughtError(_null, _null, this, e, type$.StackTrace._as(s));
}
},
runUnaryGuarded$1$2: function(f, arg, $T) {
var e, s, exception, _null = null;
$T._eval$1("~(0)")._as(f);
$T._as(arg);
try {
if (C.C__RootZone === $.Zone__current) {
f.call$1(arg);
return;
}
P._rootRunUnary(_null, _null, this, f, arg, type$.void, $T);
} catch (exception) {
e = H.unwrapException(exception);
s = H.getTraceFromException(exception);
P._rootHandleUncaughtError(_null, _null, this, e, type$.StackTrace._as(s));
}
},
runBinaryGuarded$2$3: function(f, arg1, arg2, T1, T2) {
var e, s, exception, _null = null;
T1._eval$1("@<0>")._bind$1(T2)._eval$1("~(1,2)")._as(f);
T1._as(arg1);
T2._as(arg2);
try {
if (C.C__RootZone === $.Zone__current) {
f.call$2(arg1, arg2);
return;
}
P._rootRunBinary(_null, _null, this, f, arg1, arg2, type$.void, T1, T2);
} catch (exception) {
e = H.unwrapException(exception);
s = H.getTraceFromException(exception);
P._rootHandleUncaughtError(_null, _null, this, e, type$.StackTrace._as(s));
}
},
bindCallback$1$1: function(f, $R) {
return new P._RootZone_bindCallback_closure(this, $R._eval$1("0()")._as(f), $R);
},
bindCallbackGuarded$1: function(f) {
return new P._RootZone_bindCallbackGuarded_closure(this, type$.void_Function._as(f));
},
bindUnaryCallbackGuarded$1$1: function(f, $T) {
return new P._RootZone_bindUnaryCallbackGuarded_closure(this, $T._eval$1("~(0)")._as(f), $T);
},
run$1$1: function(f, $R) {
$R._eval$1("0()")._as(f);
if ($.Zone__current === C.C__RootZone)
return f.call$0();
return P._rootRun(null, null, this, f, $R);
},
runUnary$2$2: function(f, arg, $R, $T) {
$R._eval$1("@<0>")._bind$1($T)._eval$1("1(2)")._as(f);
$T._as(arg);
if ($.Zone__current === C.C__RootZone)
return f.call$1(arg);
return P._rootRunUnary(null, null, this, f, arg, $R, $T);
},
runBinary$3$3: function(f, arg1, arg2, $R, T1, T2) {
$R._eval$1("@<0>")._bind$1(T1)._bind$1(T2)._eval$1("1(2,3)")._as(f);
T1._as(arg1);
T2._as(arg2);
if ($.Zone__current === C.C__RootZone)
return f.call$2(arg1, arg2);
return P._rootRunBinary(null, null, this, f, arg1, arg2, $R, T1, T2);
},
registerBinaryCallback$3$1: function(f, $R, T1, T2) {
return $R._eval$1("@<0>")._bind$1(T1)._bind$1(T2)._eval$1("1(2,3)")._as(f);
}
};
P._RootZone_bindCallback_closure.prototype = {
call$0: function() {
return this.$this.run$1$1(this.f, this.R);
},
$signature: function() {
return this.R._eval$1("0()");
}
};
P._RootZone_bindCallbackGuarded_closure.prototype = {
call$0: function() {
return this.$this.runGuarded$1(this.f);
},
$signature: 0
};
P._RootZone_bindUnaryCallbackGuarded_closure.prototype = {
call$1: function(arg) {
var t1 = this.T;
return this.$this.runUnaryGuarded$1$2(this.f, t1._as(arg), t1);
},
$signature: function() {
return this.T._eval$1("~(0)");
}
};
P.ListMixin.prototype = {
get$iterator: function(receiver) {
return new H.ListIterator(receiver, this.get$length(receiver), H.instanceType(receiver)._eval$1("ListIterator<ListMixin.E>"));
},
elementAt$1: function(receiver, index) {
return this.$index(receiver, index);
},
forEach$1: function(receiver, action) {
var $length, i;
H.instanceType(receiver)._eval$1("~(ListMixin.E)")._as(action);
$length = this.get$length(receiver);
for (i = 0; i < $length; ++i) {
action.call$1(this.$index(receiver, i));
if ($length !== this.get$length(receiver))
throw H.wrapException(P.ConcurrentModificationError$(receiver));
}
},
get$isNotEmpty: function(receiver) {
return this.get$length(receiver) !== 0;
},
toString$0: function(receiver) {
return P.IterableBase_iterableToFullString(receiver, "[", "]");
}
};
P.MapBase.prototype = {};
P.MapBase_mapToString_closure.prototype = {
call$2: function(k, v) {
var t2,
t1 = this._box_0;
if (!t1.first)
this.result._contents += ", ";
t1.first = false;
t1 = this.result;
t2 = t1._contents += H.S(k);
t1._contents = t2 + ": ";
t1._contents += H.S(v);
},
$signature: 8
};
P.MapMixin.prototype = {
forEach$1: function(_, action) {
var t1, key;
H._instanceType(this)._eval$1("~(MapMixin.K,MapMixin.V)")._as(action);
for (t1 = this.get$keys(), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
key = t1.get$current();
action.call$2(key, this.$index(0, key));
}
},
get$length: function(_) {
var t1 = this.get$keys();
return t1.get$length(t1);
},
get$isEmpty: function(_) {
var t1 = this.get$keys();
return t1.get$isEmpty(t1);
},
toString$0: function(_) {
return P.MapBase_mapToString(this);
},
$isMap: 1
};
P._JsonMap.prototype = {
$index: function(_, key) {
var result,
t1 = this._processed;
if (t1 == null)
return this._data.$index(0, key);
else if (typeof key != "string")
return null;
else {
result = t1[key];
return typeof result == "undefined" ? this._process$1(key) : result;
}
},
get$length: function(_) {
return this._processed == null ? this._data.__js_helper$_length : this._computeKeys$0().length;
},
get$isEmpty: function(_) {
return this.get$length(this) === 0;
},
get$keys: function() {
if (this._processed == null) {
var t1 = this._data;
return new H.LinkedHashMapKeyIterable(t1, H._instanceType(t1)._eval$1("LinkedHashMapKeyIterable<1>"));
}
return new P._JsonMapKeyIterable(this);
},
forEach$1: function(_, f) {
var keys, i, key, value, _this = this;
type$.void_Function_String_dynamic._as(f);
if (_this._processed == null)
return _this._data.forEach$1(0, f);
keys = _this._computeKeys$0();
for (i = 0; i < keys.length; ++i) {
key = keys[i];
value = _this._processed[key];
if (typeof value == "undefined") {
value = P._convertJsonToDartLazy(_this._original[key]);
_this._processed[key] = value;
}
f.call$2(key, value);
if (keys !== _this._data)
throw H.wrapException(P.ConcurrentModificationError$(_this));
}
},
_computeKeys$0: function() {
var keys = type$.nullable_List_dynamic._as(this._data);
if (keys == null)
keys = this._data = H.setRuntimeTypeInfo(Object.keys(this._original), type$.JSArray_String);
return keys;
},
_process$1: function(key) {
var result;
if (!Object.prototype.hasOwnProperty.call(this._original, key))
return null;
result = P._convertJsonToDartLazy(this._original[key]);
return this._processed[key] = result;
}
};
P._JsonMapKeyIterable.prototype = {
get$length: function(_) {
var t1 = this._parent;
return t1.get$length(t1);
},
elementAt$1: function(_, index) {
var t1 = this._parent;
if (t1._processed == null)
t1 = t1.get$keys().elementAt$1(0, index);
else {
t1 = t1._computeKeys$0();
if (index >= t1.length)
return H.ioore(t1, index);
t1 = t1[index];
}
return t1;
},
get$iterator: function(_) {
var t1 = this._parent;
if (t1._processed == null) {
t1 = t1.get$keys();
t1 = t1.get$iterator(t1);
} else {
t1 = t1._computeKeys$0();
t1 = new J.ArrayIterator(t1, t1.length, H._arrayInstanceType(t1)._eval$1("ArrayIterator<1>"));
}
return t1;
}
};
P.Codec.prototype = {};
P.Converter.prototype = {};
P.JsonUnsupportedObjectError.prototype = {
toString$0: function(_) {
var safeString = P.Error_safeToString(this.unsupportedObject);
return (this.cause != null ? "Converting object to an encodable object failed:" : "Converting object did not return an encodable object:") + " " + safeString;
}
};
P.JsonCyclicError.prototype = {
toString$0: function(_) {
return "Cyclic error in JSON stringify";
}
};
P.JsonCodec.prototype = {
decode$2$reviver: function(_, source, reviver) {
var t1;
type$.nullable_nullable_Object_Function_2_nullable_Object_and_nullable_Object._as(reviver);
t1 = P._parseJson(source, this.get$decoder()._reviver);
return t1;
},
encode$2$toEncodable: function(value, toEncodable) {
var t1;
type$.nullable_nullable_Object_Function_dynamic._as(toEncodable);
t1 = P._JsonStringStringifier_stringify(value, this.get$encoder()._toEncodable, null);
return t1;
},
get$encoder: function() {
return C.JsonEncoder_null;
},
get$decoder: function() {
return C.JsonDecoder_null;
}
};
P.JsonEncoder.prototype = {};
P.JsonDecoder.prototype = {};
P._JsonStringifier.prototype = {
writeStringContent$1: function(s) {
var t1, t2, offset, i, charCode, t3, t4,
$length = s.length;
for (t1 = J.getInterceptor$s(s), t2 = this._sink, offset = 0, i = 0; i < $length; ++i) {
charCode = t1._codeUnitAt$1(s, i);
if (charCode > 92) {
if (charCode >= 55296) {
t3 = charCode & 64512;
if (t3 === 55296) {
t4 = i + 1;
t4 = !(t4 < $length && (C.JSString_methods._codeUnitAt$1(s, t4) & 64512) === 56320);
} else
t4 = false;
if (!t4)
if (t3 === 56320) {
t3 = i - 1;
t3 = !(t3 >= 0 && (C.JSString_methods.codeUnitAt$1(s, t3) & 64512) === 55296);
} else
t3 = false;
else
t3 = true;
if (t3) {
if (i > offset)
t2._contents += C.JSString_methods.substring$2(s, offset, i);
offset = i + 1;
t3 = t2._contents += H.Primitives_stringFromCharCode(92);
t3 += H.Primitives_stringFromCharCode(117);
t2._contents = t3;
t3 += H.Primitives_stringFromCharCode(100);
t2._contents = t3;
t4 = charCode >>> 8 & 15;
t3 += H.Primitives_stringFromCharCode(t4 < 10 ? 48 + t4 : 87 + t4);
t2._contents = t3;
t4 = charCode >>> 4 & 15;
t3 += H.Primitives_stringFromCharCode(t4 < 10 ? 48 + t4 : 87 + t4);
t2._contents = t3;
t4 = charCode & 15;
t2._contents = t3 + H.Primitives_stringFromCharCode(t4 < 10 ? 48 + t4 : 87 + t4);
}
}
continue;
}
if (charCode < 32) {
if (i > offset)
t2._contents += C.JSString_methods.substring$2(s, offset, i);
offset = i + 1;
t3 = t2._contents += H.Primitives_stringFromCharCode(92);
switch (charCode) {
case 8:
t2._contents = t3 + H.Primitives_stringFromCharCode(98);
break;
case 9:
t2._contents = t3 + H.Primitives_stringFromCharCode(116);
break;
case 10:
t2._contents = t3 + H.Primitives_stringFromCharCode(110);
break;
case 12:
t2._contents = t3 + H.Primitives_stringFromCharCode(102);
break;
case 13:
t2._contents = t3 + H.Primitives_stringFromCharCode(114);
break;
default:
t3 += H.Primitives_stringFromCharCode(117);
t2._contents = t3;
t3 += H.Primitives_stringFromCharCode(48);
t2._contents = t3;
t3 += H.Primitives_stringFromCharCode(48);
t2._contents = t3;
t4 = charCode >>> 4 & 15;
t3 += H.Primitives_stringFromCharCode(t4 < 10 ? 48 + t4 : 87 + t4);
t2._contents = t3;
t4 = charCode & 15;
t2._contents = t3 + H.Primitives_stringFromCharCode(t4 < 10 ? 48 + t4 : 87 + t4);
break;
}
} else if (charCode === 34 || charCode === 92) {
if (i > offset)
t2._contents += C.JSString_methods.substring$2(s, offset, i);
offset = i + 1;
t3 = t2._contents += H.Primitives_stringFromCharCode(92);
t2._contents = t3 + H.Primitives_stringFromCharCode(charCode);
}
}
if (offset === 0)
t2._contents += H.S(s);
else if (offset < $length)
t2._contents += t1.substring$2(s, offset, $length);
},
_checkCycle$1: function(object) {
var t1, t2, i, t3;
for (t1 = this._seen, t2 = t1.length, i = 0; i < t2; ++i) {
t3 = t1[i];
if (object == null ? t3 == null : object === t3)
throw H.wrapException(new P.JsonCyclicError(object, null));
}
C.JSArray_methods.add$1(t1, object);
},
writeObject$1: function(object) {
var customJson, e, t1, exception, _this = this;
if (_this.writeJsonValue$1(object))
return;
_this._checkCycle$1(object);
try {
customJson = _this._toEncodable.call$1(object);
if (!_this.writeJsonValue$1(customJson)) {
t1 = P.JsonUnsupportedObjectError$(object, null, _this.get$_partialResult());
throw H.wrapException(t1);
}
t1 = _this._seen;
if (0 >= t1.length)
return H.ioore(t1, -1);
t1.pop();
} catch (exception) {
e = H.unwrapException(exception);
t1 = P.JsonUnsupportedObjectError$(object, e, _this.get$_partialResult());
throw H.wrapException(t1);
}
},
writeJsonValue$1: function(object) {
var t1, success, _this = this;
if (typeof object == "number") {
if (!isFinite(object))
return false;
_this._sink._contents += C.JSNumber_methods.toString$0(object);
return true;
} else if (object === true) {
_this._sink._contents += "true";
return true;
} else if (object === false) {
_this._sink._contents += "false";
return true;
} else if (object == null) {
_this._sink._contents += "null";
return true;
} else if (typeof object == "string") {
t1 = _this._sink;
t1._contents += '"';
_this.writeStringContent$1(object);
t1._contents += '"';
return true;
} else if (type$.List_dynamic._is(object)) {
_this._checkCycle$1(object);
_this.writeList$1(object);
t1 = _this._seen;
if (0 >= t1.length)
return H.ioore(t1, -1);
t1.pop();
return true;
} else if (type$.Map_dynamic_dynamic._is(object)) {
_this._checkCycle$1(object);
success = _this.writeMap$1(object);
t1 = _this._seen;
if (0 >= t1.length)
return H.ioore(t1, -1);
t1.pop();
return success;
} else
return false;
},
writeList$1: function(list) {
var t2, i,
t1 = this._sink;
t1._contents += "[";
t2 = J.getInterceptor$ax(list);
if (t2.get$isNotEmpty(list)) {
this.writeObject$1(t2.$index(list, 0));
for (i = 1; i < t2.get$length(list); ++i) {
t1._contents += ",";
this.writeObject$1(t2.$index(list, i));
}
}
t1._contents += "]";
},
writeMap$1: function(map) {
var t1, keyValueList, i, t2, separator, t3, _this = this, _box_0 = {};
if (map.get$isEmpty(map)) {
_this._sink._contents += "{}";
return true;
}
t1 = map.get$length(map) * 2;
keyValueList = P.List_List$filled(t1, null, type$.nullable_Object);
i = _box_0.i = 0;
_box_0.allStringKeys = true;
map.forEach$1(0, new P._JsonStringifier_writeMap_closure(_box_0, keyValueList));
if (!_box_0.allStringKeys)
return false;
t2 = _this._sink;
t2._contents += "{";
for (separator = '"'; i < t1; i += 2, separator = ',"') {
t2._contents += separator;
_this.writeStringContent$1(H._asStringS(keyValueList[i]));
t2._contents += '":';
t3 = i + 1;
if (t3 >= t1)
return H.ioore(keyValueList, t3);
_this.writeObject$1(keyValueList[t3]);
}
t2._contents += "}";
return true;
}
};
P._JsonStringifier_writeMap_closure.prototype = {
call$2: function(key, value) {
var t1, t2;
if (typeof key != "string")
this._box_0.allStringKeys = false;
t1 = this.keyValueList;
t2 = this._box_0;
C.JSArray_methods.$indexSet(t1, t2.i++, key);
C.JSArray_methods.$indexSet(t1, t2.i++, value);
},
$signature: 8
};
P._JsonStringStringifier.prototype = {
get$_partialResult: function() {
var t1 = this._sink._contents;
return t1.charCodeAt(0) == 0 ? t1 : t1;
}
};
P.DateTime.prototype = {
$eq: function(_, other) {
if (other == null)
return false;
return other instanceof P.DateTime && this._value === other._value && this.isUtc === other.isUtc;
},
get$hashCode: function(_) {
var t1 = this._value;
return (t1 ^ C.JSInt_methods._shrOtherPositive$1(t1, 30)) & 1073741823;
},
toString$0: function(_) {
var _this = this,
y = P.DateTime__fourDigits(H.Primitives_getYear(_this)),
m = P.DateTime__twoDigits(H.Primitives_getMonth(_this)),
d = P.DateTime__twoDigits(H.Primitives_getDay(_this)),
h = P.DateTime__twoDigits(H.Primitives_getHours(_this)),
min = P.DateTime__twoDigits(H.Primitives_getMinutes(_this)),
sec = P.DateTime__twoDigits(H.Primitives_getSeconds(_this)),
ms = P.DateTime__threeDigits(H.Primitives_getMilliseconds(_this));
if (_this.isUtc)
return y + "-" + m + "-" + d + " " + h + ":" + min + ":" + sec + "." + ms + "Z";
else
return y + "-" + m + "-" + d + " " + h + ":" + min + ":" + sec + "." + ms;
}
};
P.Duration.prototype = {
$eq: function(_, other) {
if (other == null)
return false;
return other instanceof P.Duration && this._duration === other._duration;
},
get$hashCode: function(_) {
return C.JSInt_methods.get$hashCode(this._duration);
},
toString$0: function(_) {
var twoDigitMinutes, twoDigitSeconds, sixDigitUs,
t1 = new P.Duration_toString_twoDigits(),
t2 = this._duration;
if (t2 < 0)
return "-" + new P.Duration(0 - t2).toString$0(0);
twoDigitMinutes = t1.call$1(C.JSInt_methods._tdivFast$1(t2, 60000000) % 60);
twoDigitSeconds = t1.call$1(C.JSInt_methods._tdivFast$1(t2, 1000000) % 60);
sixDigitUs = new P.Duration_toString_sixDigits().call$1(t2 % 1000000);
return "" + C.JSInt_methods._tdivFast$1(t2, 3600000000) + ":" + H.S(twoDigitMinutes) + ":" + H.S(twoDigitSeconds) + "." + H.S(sixDigitUs);
}
};
P.Duration_toString_sixDigits.prototype = {
call$1: function(n) {
if (n >= 100000)
return "" + n;
if (n >= 10000)
return "0" + n;
if (n >= 1000)
return "00" + n;
if (n >= 100)
return "000" + n;
if (n >= 10)
return "0000" + n;
return "00000" + n;
},
$signature: 9
};
P.Duration_toString_twoDigits.prototype = {
call$1: function(n) {
if (n >= 10)
return "" + n;
return "0" + n;
},
$signature: 9
};
P.Error.prototype = {
get$stackTrace: function() {
return H.getTraceFromException(this.$thrownJsError);
}
};
P.AssertionError.prototype = {
toString$0: function(_) {
var t1 = this.message;
if (t1 != null)
return "Assertion failed: " + P.Error_safeToString(t1);
return "Assertion failed";
}
};
P.TypeError.prototype = {};
P.NullThrownError.prototype = {
toString$0: function(_) {
return "Throw of null.";
}
};
P.ArgumentError.prototype = {
get$_errorName: function() {
return "Invalid argument" + (!this._hasValue ? "(s)" : "");
},
get$_errorExplanation: function() {
return "";
},
toString$0: function(_) {
var explanation, errorValue, _this = this,
$name = _this.name,
nameString = $name == null ? "" : " (" + $name + ")",
message = _this.message,
messageString = message == null ? "" : ": " + message,
prefix = _this.get$_errorName() + nameString + messageString;
if (!_this._hasValue)
return prefix;
explanation = _this.get$_errorExplanation();
errorValue = P.Error_safeToString(_this.invalidValue);
return prefix + explanation + ": " + errorValue;
}
};
P.RangeError.prototype = {
get$_errorName: function() {
return "RangeError";
},
get$_errorExplanation: function() {
var explanation,
start = this.start,
end = this.end;
if (start == null)
explanation = end != null ? ": Not less than or equal to " + H.S(end) : "";
else if (end == null)
explanation = ": Not greater than or equal to " + H.S(start);
else if (end > start)
explanation = ": Not in inclusive range " + H.S(start) + ".." + H.S(end);
else
explanation = end < start ? ": Valid value range is empty" : ": Only valid value is " + H.S(start);
return explanation;
}
};
P.IndexError.prototype = {
get$_errorName: function() {
return "RangeError";
},
get$_errorExplanation: function() {
var t1,
invalidValue = H._asIntS(this.invalidValue);
if (typeof invalidValue !== "number")
return invalidValue.$lt();
if (invalidValue < 0)
return ": index must not be negative";
t1 = this.length;
if (t1 === 0)
return ": no indices are valid";
return ": index should be less than " + H.S(t1);
},
get$length: function(receiver) {
return this.length;
}
};
P.UnsupportedError.prototype = {
toString$0: function(_) {
return "Unsupported operation: " + this.message;
}
};
P.UnimplementedError.prototype = {
toString$0: function(_) {
var message = this.message;
return message != null ? "UnimplementedError: " + message : "UnimplementedError";
}
};
P.StateError.prototype = {
toString$0: function(_) {
return "Bad state: " + this.message;
}
};
P.ConcurrentModificationError.prototype = {
toString$0: function(_) {
var t1 = this.modifiedObject;
if (t1 == null)
return "Concurrent modification during iteration.";
return "Concurrent modification during iteration: " + P.Error_safeToString(t1) + ".";
}
};
P.OutOfMemoryError.prototype = {
toString$0: function(_) {
return "Out of Memory";
},
get$stackTrace: function() {
return null;
},
$isError: 1
};
P.StackOverflowError.prototype = {
toString$0: function(_) {
return "Stack Overflow";
},
get$stackTrace: function() {
return null;
},
$isError: 1
};
P.CyclicInitializationError.prototype = {
toString$0: function(_) {
var variableName = this.variableName;
return variableName == null ? "Reading static variable during its initialization" : "Reading static variable '" + variableName + "' during its initialization";
}
};
P._Exception.prototype = {
toString$0: function(_) {
return "Exception: " + this.message;
}
};
P.FormatException.prototype = {
toString$0: function(_) {
var message = this.message,
report = message != null && "" !== message ? "FormatException: " + H.S(message) : "FormatException";
return report;
}
};
P.Iterable.prototype = {
get$length: function(_) {
var count,
it = this.get$iterator(this);
for (count = 0; it.moveNext$0();)
++count;
return count;
},
elementAt$1: function(_, index) {
var t1, elementIndex, element;
for (t1 = this.get$iterator(this), elementIndex = 0; t1.moveNext$0();) {
element = t1.get$current();
if (index === elementIndex)
return element;
++elementIndex;
}
throw H.wrapException(P.IndexError$(index, this, "index", null, elementIndex));
},
toString$0: function(_) {
return P.IterableBase_iterableToShortString(this, "(", ")");
}
};
P.Null.prototype = {
get$hashCode: function(_) {
return P.Object.prototype.get$hashCode.call(C.JSNull_methods, this);
},
toString$0: function(_) {
return "null";
}
};
P.Object.prototype = {constructor: P.Object, $isObject: 1,
$eq: function(_, other) {
return this === other;
},
get$hashCode: function(_) {
return H.Primitives_objectHashCode(this);
},
toString$0: function(_) {
return "Instance of '" + H.S(H.Primitives_objectTypeName(this)) + "'";
},
toString: function() {
return this.toString$0(this);
}
};
P._StringStackTrace.prototype = {
toString$0: function(_) {
return "";
},
$isStackTrace: 1
};
P.StringBuffer.prototype = {
get$length: function(_) {
return this._contents.length;
},
toString$0: function(_) {
var t1 = this._contents;
return t1.charCodeAt(0) == 0 ? t1 : t1;
},
$isStringSink: 1
};
W.HtmlElement.prototype = {};
W.AnchorElement.prototype = {
toString$0: function(receiver) {
return String(receiver);
}
};
W.AreaElement.prototype = {
toString$0: function(receiver) {
return String(receiver);
}
};
W.DomException.prototype = {
toString$0: function(receiver) {
return String(receiver);
}
};
W.Element.prototype = {
toString$0: function(receiver) {
return receiver.localName;
},
get$onClick: function(receiver) {
return new W._ElementEventStreamImpl(receiver, "click", false, type$._ElementEventStreamImpl_legacy_MouseEvent);
},
$isElement: 1
};
W.Event.prototype = {$isEvent: 1};
W.EventSource.prototype = {$isEventSource: 1};
W.EventTarget.prototype = {
addEventListener$3: function(receiver, type, listener, useCapture) {
type$.nullable_dynamic_Function_Event._as(listener);
if (listener != null)
this._addEventListener$3(receiver, type, listener, useCapture);
},
addEventListener$2: function($receiver, type, listener) {
return this.addEventListener$3($receiver, type, listener, null);
},
_addEventListener$3: function(receiver, type, listener, options) {
return receiver.addEventListener(type, H.convertDartClosureToJS(type$.nullable_dynamic_Function_Event._as(listener), 1), options);
},
_removeEventListener$3: function(receiver, type, listener, options) {
return receiver.removeEventListener(type, H.convertDartClosureToJS(type$.nullable_dynamic_Function_Event._as(listener), 1), false);
},
$isEventTarget: 1
};
W.FormElement.prototype = {
get$length: function(receiver) {
return receiver.length;
}
};
W.HttpRequest.prototype = {
open$3$async: function(receiver, method, url, async) {
return receiver.open(method, url, true);
},
set$withCredentials: function(receiver, value) {
receiver.withCredentials = true;
},
$isHttpRequest: 1
};
W.HttpRequest_request_closure.prototype = {
call$1: function(e) {
var t1, t2, accepted, unknownRedirect, t3;
type$.ProgressEvent._as(e);
t1 = this.xhr;
t2 = t1.status;
t2.toString;
accepted = t2 >= 200 && t2 < 300;
unknownRedirect = t2 > 307 && t2 < 400;
t2 = accepted || t2 === 0 || t2 === 304 || unknownRedirect;
t3 = this.completer;
if (t2)
t3.complete$1(0, t1);
else
t3.completeError$1(e);
},
$signature: 22
};
W.HttpRequestEventTarget.prototype = {};
W.MessageEvent.prototype = {$isMessageEvent: 1};
W.MouseEvent.prototype = {$isMouseEvent: 1};
W.Node.prototype = {
toString$0: function(receiver) {
var value = receiver.nodeValue;
return value == null ? this.super$Interceptor$toString(receiver) : value;
}
};
W.ProgressEvent.prototype = {$isProgressEvent: 1};
W.SelectElement.prototype = {
get$length: function(receiver) {
return receiver.length;
}
};
W.UIEvent.prototype = {};
W.EventStreamProvider.prototype = {};
W._EventStream.prototype = {
listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) {
var t1 = H._instanceType(this);
t1._eval$1("~(1)?")._as(onData);
type$.nullable_void_Function._as(onDone);
return W._EventStreamSubscription$(this._target, this._eventType, onData, false, t1._precomputed1);
}
};
W._ElementEventStreamImpl.prototype = {};
W._EventStreamSubscription.prototype = {
cancel$0: function() {
var _this = this;
if (_this._target == null)
return $.$get$nullFuture();
_this._unlisten$0();
_this._target = null;
_this.set$_html$_onData(null);
return $.$get$nullFuture();
},
onData$1: function(handleData) {
var t1, _this = this;
_this.$ti._eval$1("~(1)?")._as(handleData);
if (_this._target == null)
throw H.wrapException(P.StateError$("Subscription has been canceled."));
_this._unlisten$0();
t1 = W._wrapZone(new W._EventStreamSubscription_onData_closure(handleData), type$.Event);
_this.set$_html$_onData(t1);
_this._tryResume$0();
},
_tryResume$0: function() {
var t2,
t1 = this._html$_onData;
if (t1 != null && true) {
t2 = this._target;
t2.toString;
J.addEventListener$3$x(t2, this._eventType, t1, false);
}
},
_unlisten$0: function() {
var t3,
t1 = this._html$_onData,
t2 = t1 != null;
if (t2) {
t3 = this._target;
t3.toString;
type$.nullable_dynamic_Function_Event._as(t1);
if (t2)
J._removeEventListener$3$x(t3, this._eventType, t1, false);
}
},
set$_html$_onData: function(_onData) {
this._html$_onData = type$.nullable_dynamic_Function_Event._as(_onData);
}
};
W._EventStreamSubscription_closure.prototype = {
call$1: function(e) {
return this.onData.call$1(type$.Event._as(e));
},
$signature: 10
};
W._EventStreamSubscription_onData_closure.prototype = {
call$1: function(e) {
return this.handleData.call$1(type$.Event._as(e));
},
$signature: 10
};
P._AcceptStructuredClone.prototype = {
findSlot$1: function(value) {
var i,
t1 = this.values,
$length = t1.length;
for (i = 0; i < $length; ++i)
if (t1[i] === value)
return i;
C.JSArray_methods.add$1(t1, value);
C.JSArray_methods.add$1(this.copies, null);
return $length;
},
walk$1: function(e) {
var millisSinceEpoch, t1, proto, slot, copy, t2, l, $length, i, _this = this, _box_0 = {};
if (e == null)
return e;
if (H._isBool(e))
return e;
if (typeof e == "number")
return e;
if (typeof e == "string")
return e;
if (e instanceof Date) {
millisSinceEpoch = e.getTime();
if (Math.abs(millisSinceEpoch) <= 864e13)
t1 = false;
else
t1 = true;
if (t1)
H.throwExpression(P.ArgumentError$("DateTime is outside valid range: " + millisSinceEpoch));
H.checkNotNullable(true, "isUtc", type$.bool);
return new P.DateTime(millisSinceEpoch, true);
}
if (e instanceof RegExp)
throw H.wrapException(P.UnimplementedError$("structured clone of RegExp"));
if (typeof Promise != "undefined" && e instanceof Promise)
return P.promiseToFuture(e, type$.dynamic);
proto = Object.getPrototypeOf(e);
if (proto === Object.prototype || proto === null) {
slot = _this.findSlot$1(e);
t1 = _this.copies;
if (slot >= t1.length)
return H.ioore(t1, slot);
copy = _box_0.copy = t1[slot];
if (copy != null)
return copy;
t2 = type$.dynamic;
copy = P.LinkedHashMap_LinkedHashMap$_empty(t2, t2);
_box_0.copy = copy;
C.JSArray_methods.$indexSet(t1, slot, copy);
_this.forEachJsField$2(e, new P._AcceptStructuredClone_walk_closure(_box_0, _this));
return _box_0.copy;
}
if (e instanceof Array) {
l = e;
slot = _this.findSlot$1(l);
t1 = _this.copies;
if (slot >= t1.length)
return H.ioore(t1, slot);
copy = t1[slot];
if (copy != null)
return copy;
t2 = J.getInterceptor$asx(l);
$length = t2.get$length(l);
copy = _this.mustCopy ? new Array($length) : l;
C.JSArray_methods.$indexSet(t1, slot, copy);
for (t1 = J.getInterceptor$ax(copy), i = 0; i < $length; ++i)
t1.$indexSet(copy, i, _this.walk$1(t2.$index(l, i)));
return copy;
}
return e;
},
convertNativeToDart_AcceptStructuredClone$2$mustCopy: function(object, mustCopy) {
this.mustCopy = true;
return this.walk$1(object);
}
};
P._AcceptStructuredClone_walk_closure.prototype = {
call$2: function(key, value) {
var t1 = this._box_0.copy,
t2 = this.$this.walk$1(value);
J.$indexSet$ax(t1, key, t2);
return t2;
},
$signature: 23
};
P._convertDartToNative_Value_closure.prototype = {
call$1: function(element) {
this.array.push(P._convertDartToNative_Value(element));
},
$signature: 2
};
P.convertDartToNative_Dictionary_closure.prototype = {
call$2: function(key, value) {
this.object[key] = P._convertDartToNative_Value(value);
},
$signature: 24
};
P._AcceptStructuredCloneDart2Js.prototype = {
forEachJsField$2: function(object, action) {
var t1, t2, _i, key;
type$.dynamic_Function_dynamic_dynamic._as(action);
for (t1 = Object.keys(object), t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
key = t1[_i];
action.call$2(key, object[key]);
}
}
};
P.promiseToFuture_closure.prototype = {
call$1: function(r) {
return this.completer.complete$1(0, this.T._eval$1("0/?")._as(r));
},
$signature: 2
};
P.promiseToFuture_closure0.prototype = {
call$1: function(e) {
return this.completer.completeError$1(e);
},
$signature: 2
};
P._JSRandom.prototype = {
nextInt$1: function(max) {
if (max <= 0 || max > 4294967296)
throw H.wrapException(P.RangeError$("max must be in range 0 < max \u2264 2^32, was " + max));
return Math.random() * max >>> 0;
}
};
P.SvgElement.prototype = {
get$onClick: function(receiver) {
return new W._ElementEventStreamImpl(receiver, "click", false, type$._ElementEventStreamImpl_legacy_MouseEvent);
}
};
Y.Level.prototype = {
$eq: function(_, other) {
if (other == null)
return false;
return other instanceof Y.Level && this.value === other.value;
},
get$hashCode: function(_) {
return this.value;
},
toString$0: function(_) {
return this.name;
}
};
L.LogRecord.prototype = {
toString$0: function(_) {
return "[" + this.level.name + "] " + this.loggerName + ": " + this.message;
}
};
F.Logger.prototype = {
get$fullName: function() {
var t1 = this.parent,
t2 = t1 == null || t1.name === "",
t3 = this.name;
return t2 ? t3 : t1.get$fullName() + "." + t3;
},
get$level: function() {
var effectiveLevel, t1;
if (this.parent == null)
effectiveLevel = this._level;
else {
t1 = $.$get$Logger_root();
effectiveLevel = t1._level;
}
return effectiveLevel;
},
log$4: function(logLevel, message, error, stackTrace) {
var record, _this = this,
t1 = logLevel.value;
if (t1 >= _this.get$level().value) {
if (t1 >= 2000) {
P.StackTrace_current();
logLevel.toString$0(0);
}
t1 = _this.get$fullName();
Date.now();
$.LogRecord__nextNumber = $.LogRecord__nextNumber + 1;
record = new L.LogRecord(logLevel, message, t1);
if (_this.parent == null)
_this._publish$1(record);
else
$.$get$Logger_root()._publish$1(record);
}
},
_publish$1: function(record) {
}
};
F.Logger_Logger_closure.prototype = {
call$0: function() {
var dot, $parent, t1,
thisName = this.name;
if (C.JSString_methods.startsWith$1(thisName, "."))
H.throwExpression(P.ArgumentError$("name shouldn't start with a '.'"));
dot = C.JSString_methods.lastIndexOf$1(thisName, ".");
if (dot === -1)
$parent = thisName !== "" ? F.Logger_Logger("") : null;
else {
$parent = F.Logger_Logger(C.JSString_methods.substring$2(thisName, 0, dot));
thisName = C.JSString_methods.substring$1(thisName, dot + 1);
}
t1 = new F.Logger(thisName, $parent, P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.legacy_Logger));
if ($parent == null)
t1._level = C.Level_INFO_800;
else
$parent._children.$indexSet(0, thisName, t1);
return t1;
},
$signature: 25
};
M.SseClient.prototype = {
SseClient$1: function(serverUrl) {
var t2, t3, t4, _this = this,
clientId = T.generateUuidV4(),
t1 = W.EventSource__factoryEventSource(serverUrl + "?sseClientId=" + clientId, P.LinkedHashMap_LinkedHashMap$_literal(["withCredentials", true], type$.String, type$.dynamic));
_this._eventSource = t1;
_this._serverUrl = serverUrl + "?sseClientId=" + clientId;
t1 = new W._EventStream(t1, "open", false, type$._EventStream_legacy_Event);
t1.get$first(t1).whenComplete$1(new M.SseClient_closure(_this));
C.EventSource_methods.addEventListener$2(_this._eventSource, "message", _this.get$_onIncomingMessage());
C.EventSource_methods.addEventListener$2(_this._eventSource, "control", _this.get$_onIncomingControlMessage());
t1 = _this._eventSource;
t2 = type$.nullable_void_Function_legacy_Event;
t3 = t2._as(new M.SseClient_closure0(_this));
type$.nullable_void_Function._as(null);
t4 = type$.legacy_Event;
W._EventStreamSubscription$(t1, "open", t3, false, t4);
W._EventStreamSubscription$(_this._eventSource, "error", t2._as(new M.SseClient_closure1(_this)), false, t4);
},
close$0: function(_) {
var t1;
this._eventSource.close();
t1 = this._outgoingController;
if ((t1._state & 1) === 0)
new P._ControllerStream(t1, H._instanceType(t1)._eval$1("_ControllerStream<1>")).listen$2$cancelOnError(null, true).asFuture$1$1(null, type$.dynamic);
this._incomingController.close$0(0);
t1.close$0(0);
},
_onIncomingControlMessage$1: function(message) {
var data = new P._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(type$.legacy_MessageEvent._as(type$.legacy_Event._as(message)).data, true);
if (J.$eq$(data, "close"))
this.close$0(0);
else
throw H.wrapException(P.UnsupportedError$('Illegal Control Message "' + H.S(data) + '"'));
},
_onIncomingMessage$1: function(message) {
this._incomingController.add$1(0, H._asStringS(C.C_JsonCodec.decode$2$reviver(0, H._asStringS(new P._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(type$.legacy_MessageEvent._as(type$.legacy_Event._as(message)).data, true)), null)));
},
_onOutgoingDone$0: function() {
this.close$0(0);
},
_onOutgoingMessage$1: function(message) {
return this._onOutgoingMessage$body$SseClient(H._asStringS(message));
},
_onOutgoingMessage$body$SseClient: function(message) {
var $async$goto = 0,
$async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
$async$handler = 1, $async$currentError, $async$next = [], $async$self = this, e, e0, e1, exception, t1, encodedMessage, $async$exception;
var $async$_onOutgoingMessage$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
if ($async$errorCode === 1) {
$async$currentError = $async$result;
$async$goto = $async$handler;
}
while (true)
switch ($async$goto) {
case 0:
// Function start
encodedMessage = null;
try {
encodedMessage = C.C_JsonCodec.encode$2$toEncodable(message, null);
} catch (exception) {
t1 = H.unwrapException(exception);
if (t1 instanceof P.JsonUnsupportedObjectError) {
e = t1;
$async$self._logger.log$4(C.Level_WARNING_900, "Unable to encode outgoing message: " + H.S(e), null, null);
} else if (t1 instanceof P.ArgumentError) {
e0 = t1;
$async$self._logger.log$4(C.Level_WARNING_900, "Invalid argument: " + H.S(e0), null, null);
} else
throw exception;
}
$async$handler = 3;
$async$goto = 6;
return P._asyncAwait(W.HttpRequest_request($async$self._serverUrl + "&messageId=" + ++$async$self._lastMessageId, "POST", encodedMessage, true), $async$_onOutgoingMessage$1);
case 6:
// returning from await.
$async$handler = 1;
// goto after finally
$async$goto = 5;
break;
case 3:
// catch
$async$handler = 2;
$async$exception = $async$currentError;
e1 = H.unwrapException($async$exception);
t1 = "Failed to send " + H.S(message) + ":\n " + H.S(e1);
$async$self._logger.log$4(C.Level_SEVERE_1000, t1, null, null);
$async$self.close$0(0);
// goto after finally
$async$goto = 5;
break;
case 2:
// uncaught
// goto rethrow
$async$goto = 1;
break;
case 5:
// after finally
// implicit return
return P._asyncReturn(null, $async$completer);
case 1:
// rethrow
return P._asyncRethrow($async$currentError, $async$completer);
}
});
return P._asyncStartSync($async$_onOutgoingMessage$1, $async$completer);
}
};
M.SseClient_closure.prototype = {
call$0: function() {
var t2,
t1 = this.$this;
t1._onConnected.complete$0(0);
t2 = t1._outgoingController;
new P._ControllerStream(t2, H._instanceType(t2)._eval$1("_ControllerStream<1>")).listen$2$onDone(t1.get$_onOutgoingMessage(), t1.get$_onOutgoingDone());
},
$signature: 1
};
M.SseClient_closure0.prototype = {
call$1: function(_) {
var t1 = this.$this._errorTimer;
if (t1 != null)
t1.cancel$0();
},
$signature: 12
};
M.SseClient_closure1.prototype = {
call$1: function(error) {
var t1 = this.$this,
t2 = t1._errorTimer;
t2 = t2 == null ? null : t2._handle != null;
if (t2 !== true)
t1._errorTimer = P.Timer_Timer(C.Duration_5000000, new M.SseClient__closure(t1, error));
},
$signature: 12
};
M.SseClient__closure.prototype = {
call$0: function() {
var stackTrace, t3,
t1 = this.$this,
t2 = t1._incomingController,
error = this.error;
H.checkNotNullable(error, "error", type$.Object);
if (t2._state >= 4)
H.throwExpression(t2._badEventState$0());
stackTrace = P.AsyncError_defaultStackTrace(error);
t3 = t2._state;
if ((t3 & 1) !== 0)
t2._sendError$2(error, stackTrace);
else if ((t3 & 3) === 0)
t2._ensurePendingEvents$0().add$1(0, new P._DelayedError(error, stackTrace));
t1.close$0(0);
},
$signature: 1
};
T.generateUuidV4__generateBits.prototype = {
call$1: function(bitCount) {
return this.random.nextInt$1(C.JSInt_methods._shlPositive$1(1, bitCount));
},
$signature: 27
};
T.generateUuidV4__printDigits.prototype = {
call$2: function(value, count) {
return C.JSString_methods.padLeft$2(C.JSInt_methods.toRadixString$1(value, 16), count, "0");
},
$signature: 13
};
T.generateUuidV4__bitsDigits.prototype = {
call$2: function(bitCount, digitCount) {
return this._printDigits.call$2(this._generateBits.call$1(bitCount), digitCount);
},
$signature: 13
};
R.StreamChannelMixin.prototype = {};
E.main_closure.prototype = {
call$1: function(_) {
type$.legacy_MouseEvent._as(_);
this.channel._outgoingController.close$0(0);
},
$signature: 28
};
E.main_closure0.prototype = {
call$1: function(s) {
var count, t1, t2, t3, i, t4, t5, lastEvent;
H._asStringS(s);
if (J.startsWith$1$s(s, "send ")) {
count = P.int_parse(C.JSArray_methods.get$last(s.split(" ")));
for (t1 = this.channel._outgoingController, t2 = H._instanceType(t1), t3 = t2._precomputed1, t2 = t2._eval$1("_DelayedData<1>"), i = 0; i < count; ++i) {
t4 = t3._as("" + i);
if (t1._state >= 4)
H.throwExpression(t1._badEventState$0());
t5 = t1._state;
if ((t5 & 1) !== 0)
t1._sendData$1(t4);
else if ((t5 & 3) === 0) {
t5 = t1._ensurePendingEvents$0();
t4 = new P._DelayedData(t4, t2);
lastEvent = t5.lastPendingEvent;
if (lastEvent == null)
t5.firstPendingEvent = t5.lastPendingEvent = t4;
else {
lastEvent.set$next(t4);
t5.lastPendingEvent = t4;
}
}
}
} else {
t1 = this.channel._outgoingController;
t1.add$1(0, H._instanceType(t1)._precomputed1._as(s));
}
},
$signature: 29
};
(function aliases() {
var _ = J.Interceptor.prototype;
_.super$Interceptor$toString = _.toString$0;
_ = J.JavaScriptObject.prototype;
_.super$JavaScriptObject$toString = _.toString$0;
})();
(function installTearOffs() {
var _static_1 = hunkHelpers._static_1,
_static_0 = hunkHelpers._static_0,
_static_2 = hunkHelpers._static_2,
_instance = hunkHelpers.installInstanceTearOff,
_instance_2_u = hunkHelpers._instance_2u,
_instance_1_u = hunkHelpers._instance_1u,
_instance_0_u = hunkHelpers._instance_0u;
_static_1(P, "async__AsyncRun__scheduleImmediateJsOverride$closure", "_AsyncRun__scheduleImmediateJsOverride", 3);
_static_1(P, "async__AsyncRun__scheduleImmediateWithSetImmediate$closure", "_AsyncRun__scheduleImmediateWithSetImmediate", 3);
_static_1(P, "async__AsyncRun__scheduleImmediateWithTimer$closure", "_AsyncRun__scheduleImmediateWithTimer", 3);
_static_0(P, "async___startMicrotaskLoop$closure", "_startMicrotaskLoop", 0);
_static_1(P, "async___nullDataHandler$closure", "_nullDataHandler", 2);
_static_2(P, "async___nullErrorHandler$closure", "_nullErrorHandler", 6);
_static_0(P, "async___nullDoneHandler$closure", "_nullDoneHandler", 0);
_instance(P._Completer.prototype, "get$completeError", 0, 1, null, ["call$2", "call$1"], ["completeError$2", "completeError$1"], 20, 0);
_instance_2_u(P._Future.prototype, "get$_completeError", "_completeError$2", 6);
_static_1(P, "convert___defaultToEncodable$closure", "_defaultToEncodable", 4);
var _;
_instance_1_u(_ = M.SseClient.prototype, "get$_onIncomingControlMessage", "_onIncomingControlMessage$1", 11);
_instance_1_u(_, "get$_onIncomingMessage", "_onIncomingMessage$1", 11);
_instance_0_u(_, "get$_onOutgoingDone", "_onOutgoingDone$0", 0);
_instance_1_u(_, "get$_onOutgoingMessage", "_onOutgoingMessage$1", 26);
})();
(function inheritance() {
var _mixin = hunkHelpers.mixin,
_inherit = hunkHelpers.inherit,
_inheritMany = hunkHelpers.inheritMany;
_inherit(P.Object, null);
_inheritMany(P.Object, [H.JS_CONST, J.Interceptor, J.ArrayIterator, P.Error, H.Closure, P.Iterable, H.ListIterator, H.FixedLengthListMixin, H.TypeErrorDecoder, H.NullThrownFromJavaScriptException, H.ExceptionAndStackTrace, H._StackTrace, P.MapMixin, H.LinkedHashMapCell, H.LinkedHashMapKeyIterator, H.Rti, H._FunctionParameters, H._Type, P._TimerImpl, P._AsyncAwaitCompleter, P._Completer, P._FutureListener, P._Future, P._AsyncCallbackEntry, P.Stream, P.StreamSubscription, P.StreamTransformerBase, P._StreamController, P._AsyncStreamControllerDispatch, P._BufferingStreamSubscription, P._StreamSinkWrapper, P._DelayedEvent, P._DelayedDone, P._PendingEvents, P._StreamIterator, P.AsyncError, P._Zone, P.ListMixin, P.Codec, P._JsonStringifier, P.DateTime, P.Duration, P.OutOfMemoryError, P.StackOverflowError, P._Exception, P.FormatException, P.Null, P._StringStackTrace, P.StringBuffer, W.EventStreamProvider, P._AcceptStructuredClone, P._JSRandom, Y.Level, L.LogRecord, F.Logger, R.StreamChannelMixin]);
_inheritMany(J.Interceptor, [J.JSBool, J.JSNull, J.JavaScriptObject, J.JSArray, J.JSNumber, J.JSString, H.NativeTypedData, W.EventTarget, W.DomException, W.Event]);
_inheritMany(J.JavaScriptObject, [J.PlainJavaScriptObject, J.UnknownJavaScriptObject, J.JavaScriptFunction]);
_inherit(J.JSUnmodifiableArray, J.JSArray);
_inheritMany(J.JSNumber, [J.JSInt, J.JSDouble]);
_inheritMany(P.Error, [H.LateError, H.NotNullableError, P.TypeError, H.JsNoSuchMethodError, H.UnknownJsTypeError, H.RuntimeError, P.AssertionError, H._Error, P.JsonUnsupportedObjectError, P.NullThrownError, P.ArgumentError, P.UnsupportedError, P.UnimplementedError, P.StateError, P.ConcurrentModificationError, P.CyclicInitializationError]);
_inheritMany(H.Closure, [H.nullFuture_closure, H.TearOffClosure, H.initHooks_closure, H.initHooks_closure0, H.initHooks_closure1, P._AsyncRun__initializeScheduleImmediate_internalCallback, P._AsyncRun__initializeScheduleImmediate_closure, P._AsyncRun__scheduleImmediateJsOverride_internalCallback, P._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, P._TimerImpl_internalCallback, P._awaitOnObject_closure, P._awaitOnObject_closure0, P._wrapJsFunctionForAsync_closure, P._Future__addListener_closure, P._Future__prependListeners_closure, P._Future__chainForeignFuture_closure, P._Future__chainForeignFuture_closure0, P._Future__chainForeignFuture_closure1, P._Future__asyncCompleteWithValue_closure, P._Future__chainFuture_closure, P._Future__asyncCompleteError_closure, P._Future__propagateToListeners_handleWhenCompleteCallback, P._Future__propagateToListeners_handleWhenCompleteCallback_closure, P._Future__propagateToListeners_handleValueCallback, P._Future__propagateToListeners_handleError, P.Stream_length_closure, P.Stream_length_closure0, P.Stream_first_closure, P.Stream_first_closure0, P._StreamController__subscribe_closure, P._StreamController__recordCancel_complete, P._BufferingStreamSubscription_asFuture_closure, P._BufferingStreamSubscription_asFuture_closure0, P._BufferingStreamSubscription_asFuture__closure, P._BufferingStreamSubscription__sendError_sendError, P._BufferingStreamSubscription__sendDone_sendDone, P._PendingEvents_schedule_closure, P._cancelAndValue_closure, P._rootHandleUncaughtError_closure, P._RootZone_bindCallback_closure, P._RootZone_bindCallbackGuarded_closure, P._RootZone_bindUnaryCallbackGuarded_closure, P.MapBase_mapToString_closure, P._JsonStringifier_writeMap_closure, P.Duration_toString_sixDigits, P.Duration_toString_twoDigits, W.HttpRequest_request_closure, W._EventStreamSubscription_closure, W._EventStreamSubscription_onData_closure, P._AcceptStructuredClone_walk_closure, P._convertDartToNative_Value_closure, P.convertDartToNative_Dictionary_closure, P.promiseToFuture_closure, P.promiseToFuture_closure0, F.Logger_Logger_closure, M.SseClient_closure, M.SseClient_closure0, M.SseClient_closure1, M.SseClient__closure, T.generateUuidV4__generateBits, T.generateUuidV4__printDigits, T.generateUuidV4__bitsDigits, E.main_closure, E.main_closure0]);
_inherit(H.EfficientLengthIterable, P.Iterable);
_inheritMany(H.EfficientLengthIterable, [H.ListIterable, H.LinkedHashMapKeyIterable]);
_inherit(H.NullError, P.TypeError);
_inheritMany(H.TearOffClosure, [H.StaticClosure, H.BoundClosure]);
_inherit(H._AssertionError, P.AssertionError);
_inherit(P.MapBase, P.MapMixin);
_inheritMany(P.MapBase, [H.JsLinkedHashMap, P._JsonMap]);
_inherit(H.NativeTypedArray, H.NativeTypedData);
_inheritMany(H.NativeTypedArray, [H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin, H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin]);
_inherit(H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin, H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin);
_inherit(H.NativeTypedArrayOfDouble, H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin);
_inherit(H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin, H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin);
_inherit(H.NativeTypedArrayOfInt, H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin);
_inheritMany(H.NativeTypedArrayOfInt, [H.NativeInt16List, H.NativeInt32List, H.NativeInt8List, H.NativeUint16List, H.NativeUint32List, H.NativeUint8ClampedList, H.NativeUint8List]);
_inherit(H._TypeError, H._Error);
_inherit(P._AsyncCompleter, P._Completer);
_inherit(P._AsyncStreamController, P._StreamController);
_inheritMany(P.Stream, [P._StreamImpl, W._EventStream]);
_inherit(P._ControllerStream, P._StreamImpl);
_inherit(P._ControllerSubscription, P._BufferingStreamSubscription);
_inheritMany(P._DelayedEvent, [P._DelayedData, P._DelayedError]);
_inherit(P._StreamImplEvents, P._PendingEvents);
_inherit(P._RootZone, P._Zone);
_inherit(P._JsonMapKeyIterable, H.ListIterable);
_inherit(P.Converter, P.StreamTransformerBase);
_inherit(P.JsonCyclicError, P.JsonUnsupportedObjectError);
_inherit(P.JsonCodec, P.Codec);
_inheritMany(P.Converter, [P.JsonEncoder, P.JsonDecoder]);
_inherit(P._JsonStringStringifier, P._JsonStringifier);
_inheritMany(P.ArgumentError, [P.RangeError, P.IndexError]);
_inheritMany(W.EventTarget, [W.Node, W.EventSource, W.HttpRequestEventTarget]);
_inherit(W.Element, W.Node);
_inheritMany(W.Element, [W.HtmlElement, P.SvgElement]);
_inheritMany(W.HtmlElement, [W.AnchorElement, W.AreaElement, W.FormElement, W.SelectElement]);
_inherit(W.HttpRequest, W.HttpRequestEventTarget);
_inheritMany(W.Event, [W.MessageEvent, W.UIEvent, W.ProgressEvent]);
_inherit(W.MouseEvent, W.UIEvent);
_inherit(W._ElementEventStreamImpl, W._EventStream);
_inherit(W._EventStreamSubscription, P.StreamSubscription);
_inherit(P._AcceptStructuredCloneDart2Js, P._AcceptStructuredClone);
_inherit(M.SseClient, R.StreamChannelMixin);
_mixin(H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin, P.ListMixin);
_mixin(H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin, H.FixedLengthListMixin);
_mixin(H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin, P.ListMixin);
_mixin(H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin, H.FixedLengthListMixin);
_mixin(P._AsyncStreamController, P._AsyncStreamControllerDispatch);
})();
var init = {
typeUniverse: {eC: new Map(), tR: {}, eT: {}, tPV: {}, sEA: []},
mangledGlobalNames: {int: "int", double: "double", num: "num", String: "String", bool: "bool", Null: "Null", List: "List"},
mangledNames: {},
getTypeFromName: getGlobalFromName,
metadata: [],
types: ["~()", "Null()", "~(@)", "~(~())", "@(@)", "Null(@)", "~(Object,StackTrace)", "Null(Object,StackTrace)", "~(Object?,Object?)", "String(int)", "~(Event)", "~(Event*)", "Null(Event*)", "String*(int*,int*)", "Future<Null>()", "@(@,String)", "@(String)", "Null(~())", "Null(@,StackTrace)", "~(int,@)", "~(Object[StackTrace?])", "_Future<@>(@)", "~(ProgressEvent)", "@(@,@)", "~(@,@)", "Logger*()", "~(String*)", "int*(int*)", "Null(MouseEvent*)", "Null(String*)"],
interceptorsByTag: null,
leafTags: null,
arrayRti: typeof Symbol == "function" && typeof Symbol() == "symbol" ? Symbol("$ti") : "$ti"
};
H._Universe_addRules(init.typeUniverse, JSON.parse('{"JavaScriptFunction":"JavaScriptObject","PlainJavaScriptObject":"JavaScriptObject","UnknownJavaScriptObject":"JavaScriptObject","AbortPaymentEvent":"Event","ExtendableEvent":"Event","AElement":"SvgElement","GraphicsElement":"SvgElement","_ResourceProgressEvent":"ProgressEvent","AudioElement":"HtmlElement","MediaElement":"HtmlElement","PointerEvent":"MouseEvent","CompositionEvent":"UIEvent","MessagePort":"EventTarget","HtmlDocument":"Node","Document":"Node","NativeFloat32List":"NativeTypedArrayOfDouble","JSBool":{"bool":[]},"JSNull":{"Null":[]},"JavaScriptObject":{"Function":[]},"JSArray":{"List":["1"],"Iterable":["1"]},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"Iterable":["1"]},"JSNumber":{"double":[],"num":[]},"JSInt":{"double":[],"int":[],"num":[]},"JSDouble":{"double":[],"num":[]},"JSString":{"String":[],"Pattern":[]},"LateError":{"Error":[]},"NotNullableError":{"Error":[]},"EfficientLengthIterable":{"Iterable":["1"]},"ListIterable":{"Iterable":["1"]},"NullError":{"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"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":{"Iterable":["1"]},"NativeTypedArray":{"JavaScriptIndexingBehavior":["1"]},"NativeTypedArrayOfDouble":{"ListMixin":["double"],"JavaScriptIndexingBehavior":["double"],"List":["double"],"Iterable":["double"],"FixedLengthListMixin":["double"],"ListMixin.E":"double"},"NativeTypedArrayOfInt":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeInt16List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeInt32List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeInt8List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeUint16List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeUint32List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeUint8ClampedList":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeUint8List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"_Error":{"Error":[]},"_TypeError":{"Error":[]},"_TimerImpl":{"Timer":[]},"_AsyncAwaitCompleter":{"Completer":["1"]},"_Completer":{"Completer":["1"]},"_AsyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_Future":{"Future":["1"]},"_StreamController":{"StreamController":["1"],"_StreamControllerLifecycle":["1"],"_EventDispatch":["1"]},"_AsyncStreamController":{"_AsyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"_StreamControllerLifecycle":["1"],"_EventDispatch":["1"]},"_ControllerStream":{"_StreamImpl":["1"],"Stream":["1"]},"_ControllerSubscription":{"_BufferingStreamSubscription":["1"],"StreamSubscription":["1"],"_EventDispatch":["1"]},"_BufferingStreamSubscription":{"StreamSubscription":["1"],"_EventDispatch":["1"]},"_StreamImpl":{"Stream":["1"]},"_DelayedData":{"_DelayedEvent":["1"]},"_DelayedError":{"_DelayedEvent":["@"]},"_DelayedDone":{"_DelayedEvent":["@"]},"_StreamImplEvents":{"_PendingEvents":["1"]},"AsyncError":{"Error":[]},"_Zone":{"Zone":[]},"_RootZone":{"_Zone":[],"Zone":[]},"MapBase":{"MapMixin":["1","2"],"Map":["1","2"]},"MapMixin":{"Map":["1","2"]},"_JsonMap":{"MapMixin":["String","@"],"Map":["String","@"],"MapMixin.K":"String","MapMixin.V":"@"},"_JsonMapKeyIterable":{"ListIterable":["String"],"Iterable":["String"],"ListIterable.E":"String"},"JsonUnsupportedObjectError":{"Error":[]},"JsonCyclicError":{"Error":[]},"JsonEncoder":{"Converter":["Object?","String"]},"JsonDecoder":{"Converter":["String","Object?"]},"double":{"num":[]},"int":{"num":[]},"String":{"Pattern":[]},"AssertionError":{"Error":[]},"TypeError":{"Error":[]},"NullThrownError":{"Error":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"CyclicInitializationError":{"Error":[]},"_StringStackTrace":{"StackTrace":[]},"StringBuffer":{"StringSink":[]},"HtmlElement":{"Element":[],"EventTarget":[]},"AnchorElement":{"Element":[],"EventTarget":[]},"AreaElement":{"Element":[],"EventTarget":[]},"Element":{"EventTarget":[]},"EventSource":{"EventTarget":[]},"FormElement":{"Element":[],"EventTarget":[]},"HttpRequest":{"EventTarget":[]},"HttpRequestEventTarget":{"EventTarget":[]},"MessageEvent":{"Event":[]},"MouseEvent":{"Event":[]},"Node":{"EventTarget":[]},"ProgressEvent":{"Event":[]},"SelectElement":{"Element":[],"EventTarget":[]},"UIEvent":{"Event":[]},"_EventStream":{"Stream":["1"]},"_ElementEventStreamImpl":{"_EventStream":["1"],"Stream":["1"]},"_EventStreamSubscription":{"StreamSubscription":["1"]},"SvgElement":{"Element":[],"EventTarget":[]}}'));
H._Universe_addErasedTypes(init.typeUniverse, JSON.parse('{"EfficientLengthIterable":1,"NativeTypedArray":1,"StreamTransformerBase":2,"MapBase":2,"Codec":2,"StreamChannelMixin":1}'));
0;
var type$ = (function rtii() {
var findType = H.findType;
return {
$env_1_1_void: findType("@<~>"),
AsyncError: findType("AsyncError"),
Error: findType("Error"),
Event: findType("Event"),
Function: findType("Function"),
Future_dynamic: findType("Future<@>"),
Future_void: findType("Future<~>"),
Iterable_dynamic: findType("Iterable<@>"),
JSArray_String: findType("JSArray<String>"),
JSArray_dynamic: findType("JSArray<@>"),
JSNull: findType("JSNull"),
JavaScriptFunction: findType("JavaScriptFunction"),
JavaScriptIndexingBehavior_dynamic: findType("JavaScriptIndexingBehavior<@>"),
List_dynamic: findType("List<@>"),
Map_dynamic_dynamic: findType("Map<@,@>"),
Null: findType("Null"),
Object: findType("Object"),
ProgressEvent: findType("ProgressEvent"),
StackTrace: findType("StackTrace"),
String: findType("String"),
UnknownJavaScriptObject: findType("UnknownJavaScriptObject"),
_AsyncCompleter_HttpRequest: findType("_AsyncCompleter<HttpRequest>"),
_AsyncCompleter_dynamic: findType("_AsyncCompleter<@>"),
_ElementEventStreamImpl_legacy_MouseEvent: findType("_ElementEventStreamImpl<MouseEvent*>"),
_EventStream_legacy_Event: findType("_EventStream<Event*>"),
_Future_HttpRequest: findType("_Future<HttpRequest>"),
_Future_Null: findType("_Future<Null>"),
_Future_dynamic: findType("_Future<@>"),
_Future_int: findType("_Future<int>"),
_Future_void: findType("_Future<~>"),
_StreamControllerAddStreamState_nullable_Object: findType("_StreamControllerAddStreamState<Object?>"),
bool: findType("bool"),
bool_Function_Object: findType("bool(Object)"),
double: findType("double"),
dynamic: findType("@"),
dynamic_Function: findType("@()"),
dynamic_Function_Object: findType("@(Object)"),
dynamic_Function_Object_StackTrace: findType("@(Object,StackTrace)"),
dynamic_Function_dynamic_dynamic: findType("@(@,@)"),
int: findType("int"),
legacy_Event: findType("Event*"),
legacy_Logger: findType("Logger*"),
legacy_MessageEvent: findType("MessageEvent*"),
legacy_MouseEvent: findType("MouseEvent*"),
legacy_Never: findType("0&*"),
legacy_Object: findType("Object*"),
legacy_ProgressEvent: findType("ProgressEvent*"),
legacy_String: findType("String*"),
nullable_Future_Null: findType("Future<Null>?"),
nullable_List_dynamic: findType("List<@>?"),
nullable_Object: findType("Object?"),
nullable__DelayedEvent_dynamic: findType("_DelayedEvent<@>?"),
nullable__FutureListener_dynamic_dynamic: findType("_FutureListener<@,@>?"),
nullable_dynamic_Function_Event: findType("@(Event)?"),
nullable_nullable_Object_Function_2_nullable_Object_and_nullable_Object: findType("Object?(Object?,Object?)?"),
nullable_nullable_Object_Function_dynamic: findType("Object?(@)?"),
nullable_void_Function: findType("~()?"),
nullable_void_Function_legacy_Event: findType("~(Event*)?"),
nullable_void_Function_legacy_ProgressEvent: findType("~(ProgressEvent*)?"),
num: findType("num"),
void: findType("~"),
void_Function: findType("~()"),
void_Function_Object: findType("~(Object)"),
void_Function_Object_StackTrace: findType("~(Object,StackTrace)"),
void_Function_String_dynamic: findType("~(String,@)")
};
})();
(function constants() {
C.EventSource_methods = W.EventSource.prototype;
C.HttpRequest_methods = W.HttpRequest.prototype;
C.Interceptor_methods = J.Interceptor.prototype;
C.JSArray_methods = J.JSArray.prototype;
C.JSInt_methods = J.JSInt.prototype;
C.JSNull_methods = J.JSNull.prototype;
C.JSNumber_methods = J.JSNumber.prototype;
C.JSString_methods = J.JSString.prototype;
C.JavaScriptFunction_methods = J.JavaScriptFunction.prototype;
C.PlainJavaScriptObject_methods = J.PlainJavaScriptObject.prototype;
C.UnknownJavaScriptObject_methods = J.UnknownJavaScriptObject.prototype;
C.C_JS_CONST = function getTagFallback(o) {
var s = Object.prototype.toString.call(o);
return s.substring(8, s.length - 1);
};
C.C_JS_CONST0 = function() {
var toStringFunction = Object.prototype.toString;
function getTag(o) {
var s = toStringFunction.call(o);
return s.substring(8, s.length - 1);
}
function getUnknownTag(object, tag) {
if (/^HTML[A-Z].*Element$/.test(tag)) {
var name = toStringFunction.call(object);
if (name == "[object Object]") return null;
return "HTMLElement";
}
}
function getUnknownTagGenericBrowser(object, tag) {
if (self.HTMLElement && object instanceof HTMLElement) return "HTMLElement";
return getUnknownTag(object, tag);
}
function prototypeForTag(tag) {
if (typeof window == "undefined") return null;
if (typeof window[tag] == "undefined") return null;
var constructor = window[tag];
if (typeof constructor != "function") return null;
return constructor.prototype;
}
function discriminator(tag) { return null; }
var isBrowser = typeof navigator == "object";
return {
getTag: getTag,
getUnknownTag: isBrowser ? getUnknownTagGenericBrowser : getUnknownTag,
prototypeForTag: prototypeForTag,
discriminator: discriminator };
};
C.C_JS_CONST6 = function(getTagFallback) {
return function(hooks) {
if (typeof navigator != "object") return hooks;
var ua = navigator.userAgent;
if (ua.indexOf("DumpRenderTree") >= 0) return hooks;
if (ua.indexOf("Chrome") >= 0) {
function confirm(p) {
return typeof window == "object" && window[p] && window[p].name == p;
}
if (confirm("Window") && confirm("HTMLElement")) return hooks;
}
hooks.getTag = getTagFallback;
};
};
C.C_JS_CONST1 = function(hooks) {
if (typeof dartExperimentalFixupGetTag != "function") return hooks;
hooks.getTag = dartExperimentalFixupGetTag(hooks.getTag);
};
C.C_JS_CONST2 = function(hooks) {
var getTag = hooks.getTag;
var prototypeForTag = hooks.prototypeForTag;
function getTagFixed(o) {
var tag = getTag(o);
if (tag == "Document") {
if (!!o.xmlVersion) return "!Document";
return "!HTMLDocument";
}
return tag;
}
function prototypeForTagFixed(tag) {
if (tag == "Document") return null;
return prototypeForTag(tag);
}
hooks.getTag = getTagFixed;
hooks.prototypeForTag = prototypeForTagFixed;
};
C.C_JS_CONST5 = function(hooks) {
var userAgent = typeof navigator == "object" ? navigator.userAgent : "";
if (userAgent.indexOf("Firefox") == -1) return hooks;
var getTag = hooks.getTag;
var quickMap = {
"BeforeUnloadEvent": "Event",
"DataTransfer": "Clipboard",
"GeoGeolocation": "Geolocation",
"Location": "!Location",
"WorkerMessageEvent": "MessageEvent",
"XMLDocument": "!Document"};
function getTagFirefox(o) {
var tag = getTag(o);
return quickMap[tag] || tag;
}
hooks.getTag = getTagFirefox;
};
C.C_JS_CONST4 = function(hooks) {
var userAgent = typeof navigator == "object" ? navigator.userAgent : "";
if (userAgent.indexOf("Trident/") == -1) return hooks;
var getTag = hooks.getTag;
var quickMap = {
"BeforeUnloadEvent": "Event",
"DataTransfer": "Clipboard",
"HTMLDDElement": "HTMLElement",
"HTMLDTElement": "HTMLElement",
"HTMLPhraseElement": "HTMLElement",
"Position": "Geoposition"
};
function getTagIE(o) {
var tag = getTag(o);
var newTag = quickMap[tag];
if (newTag) return newTag;
if (tag == "Object") {
if (window.DataView && (o instanceof window.DataView)) return "DataView";
}
return tag;
}
function prototypeForTagIE(tag) {
var constructor = window[tag];
if (constructor == null) return null;
return constructor.prototype;
}
hooks.getTag = getTagIE;
hooks.prototypeForTag = prototypeForTagIE;
};
C.C_JS_CONST3 = function(hooks) { return hooks; }
;
C.C_JsonCodec = new P.JsonCodec();
C.C_OutOfMemoryError = new P.OutOfMemoryError();
C.C__DelayedDone = new P._DelayedDone();
C.C__JSRandom = new P._JSRandom();
C.C__RootZone = new P._RootZone();
C.C__StringStackTrace = new P._StringStackTrace();
C.Duration_0 = new P.Duration(0);
C.Duration_5000000 = new P.Duration(5000000);
C.JsonDecoder_null = new P.JsonDecoder(null);
C.JsonEncoder_null = new P.JsonEncoder(null);
C.Level_INFO_800 = new Y.Level("INFO", 800);
C.Level_SEVERE_1000 = new Y.Level("SEVERE", 1000);
C.Level_WARNING_900 = new Y.Level("WARNING", 900);
})();
(function staticFields() {
$._JS_INTEROP_INTERCEPTOR_TAG = null;
$.Closure_functionCounter = 0;
$.BoundClosure_selfFieldNameCache = null;
$.BoundClosure_receiverFieldNameCache = null;
$.getTagFunction = null;
$.alternateTagFunction = null;
$.prototypeForTagFunction = null;
$.dispatchRecordsForInstanceTags = null;
$.interceptorsForUncacheableTags = null;
$.initNativeDispatchFlag = null;
$._nextCallback = null;
$._lastCallback = null;
$._lastPriorityCallback = null;
$._isInCallbackLoop = false;
$.Zone__current = C.C__RootZone;
$._toStringVisiting = H.setRuntimeTypeInfo([], H.findType("JSArray<Object>"));
$.LogRecord__nextNumber = 0;
$.Logger__loggers = P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.legacy_Logger);
})();
(function lazyInitializers() {
var _lazyFinal = hunkHelpers.lazyFinal,
_lazy = hunkHelpers.lazy,
_lazyOld = hunkHelpers.lazyOld;
_lazyFinal($, "DART_CLOSURE_PROPERTY_NAME", "$get$DART_CLOSURE_PROPERTY_NAME", function() {
return H.getIsolateAffinityTag("_$dart_dartClosure");
});
_lazyFinal($, "nullFuture", "$get$nullFuture", function() {
return C.C__RootZone.run$1$1(new H.nullFuture_closure(), H.findType("Future<Null>"));
});
_lazyFinal($, "TypeErrorDecoder_noSuchMethodPattern", "$get$TypeErrorDecoder_noSuchMethodPattern", function() {
return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn({
toString: function() {
return "$receiver$";
}
}));
});
_lazyFinal($, "TypeErrorDecoder_notClosurePattern", "$get$TypeErrorDecoder_notClosurePattern", function() {
return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn({$method$: null,
toString: function() {
return "$receiver$";
}
}));
});
_lazyFinal($, "TypeErrorDecoder_nullCallPattern", "$get$TypeErrorDecoder_nullCallPattern", function() {
return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn(null));
});
_lazyFinal($, "TypeErrorDecoder_nullLiteralCallPattern", "$get$TypeErrorDecoder_nullLiteralCallPattern", function() {
return H.TypeErrorDecoder_extractPattern(function() {
var $argumentsExpr$ = "$arguments$";
try {
null.$method$($argumentsExpr$);
} catch (e) {
return e.message;
}
}());
});
_lazyFinal($, "TypeErrorDecoder_undefinedCallPattern", "$get$TypeErrorDecoder_undefinedCallPattern", function() {
return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn(void 0));
});
_lazyFinal($, "TypeErrorDecoder_undefinedLiteralCallPattern", "$get$TypeErrorDecoder_undefinedLiteralCallPattern", function() {
return H.TypeErrorDecoder_extractPattern(function() {
var $argumentsExpr$ = "$arguments$";
try {
(void 0).$method$($argumentsExpr$);
} catch (e) {
return e.message;
}
}());
});
_lazyFinal($, "TypeErrorDecoder_nullPropertyPattern", "$get$TypeErrorDecoder_nullPropertyPattern", function() {
return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokePropertyErrorOn(null));
});
_lazyFinal($, "TypeErrorDecoder_nullLiteralPropertyPattern", "$get$TypeErrorDecoder_nullLiteralPropertyPattern", function() {
return H.TypeErrorDecoder_extractPattern(function() {
try {
null.$method$;
} catch (e) {
return e.message;
}
}());
});
_lazyFinal($, "TypeErrorDecoder_undefinedPropertyPattern", "$get$TypeErrorDecoder_undefinedPropertyPattern", function() {
return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokePropertyErrorOn(void 0));
});
_lazyFinal($, "TypeErrorDecoder_undefinedLiteralPropertyPattern", "$get$TypeErrorDecoder_undefinedLiteralPropertyPattern", function() {
return H.TypeErrorDecoder_extractPattern(function() {
try {
(void 0).$method$;
} catch (e) {
return e.message;
}
}());
});
_lazyFinal($, "_AsyncRun__scheduleImmediateClosure", "$get$_AsyncRun__scheduleImmediateClosure", function() {
return P._AsyncRun__initializeScheduleImmediate();
});
_lazyFinal($, "Future__nullFuture", "$get$Future__nullFuture", function() {
return type$._Future_Null._as($.$get$nullFuture());
});
_lazy($, "_hasErrorStackProperty", "$get$_hasErrorStackProperty", function() {
return new Error().stack != void 0;
});
_lazyOld($, "Logger_root", "$get$Logger_root", function() {
return F.Logger_Logger("");
});
})();
(function nativeSupport() {
!function() {
var intern = function(s) {
var o = {};
o[s] = 1;
return Object.keys(hunkHelpers.convertToFastObject(o))[0];
};
init.getIsolateTag = function(name) {
return intern("___dart_" + name + init.isolateTag);
};
var tableProperty = "___dart_isolate_tags_";
var usedProperties = Object[tableProperty] || (Object[tableProperty] = Object.create(null));
var rootProperty = "_ZxYxX";
for (var i = 0;; i++) {
var property = intern(rootProperty + "_" + i + "_");
if (!(property in usedProperties)) {
usedProperties[property] = 1;
init.isolateTag = property;
break;
}
}
init.dispatchPropertyName = init.getIsolateTag("dispatch_record");
}();
hunkHelpers.setOrUpdateInterceptorsByTag({ArrayBuffer: J.Interceptor, Blob: J.Interceptor, DOMError: J.Interceptor, File: J.Interceptor, MediaError: J.Interceptor, NavigatorUserMediaError: J.Interceptor, OverconstrainedError: J.Interceptor, PositionError: J.Interceptor, SQLError: J.Interceptor, DataView: H.NativeTypedData, ArrayBufferView: H.NativeTypedData, Float32Array: H.NativeTypedArrayOfDouble, Float64Array: H.NativeTypedArrayOfDouble, Int16Array: H.NativeInt16List, Int32Array: H.NativeInt32List, Int8Array: H.NativeInt8List, Uint16Array: H.NativeUint16List, Uint32Array: H.NativeUint32List, Uint8ClampedArray: H.NativeUint8ClampedList, CanvasPixelArray: H.NativeUint8ClampedList, Uint8Array: H.NativeUint8List, HTMLAudioElement: W.HtmlElement, HTMLBRElement: W.HtmlElement, HTMLBaseElement: W.HtmlElement, HTMLBodyElement: W.HtmlElement, HTMLButtonElement: W.HtmlElement, HTMLCanvasElement: W.HtmlElement, HTMLContentElement: W.HtmlElement, HTMLDListElement: W.HtmlElement, HTMLDataElement: W.HtmlElement, HTMLDataListElement: W.HtmlElement, HTMLDetailsElement: W.HtmlElement, HTMLDialogElement: W.HtmlElement, HTMLDivElement: W.HtmlElement, HTMLEmbedElement: W.HtmlElement, HTMLFieldSetElement: W.HtmlElement, HTMLHRElement: W.HtmlElement, HTMLHeadElement: W.HtmlElement, HTMLHeadingElement: W.HtmlElement, HTMLHtmlElement: W.HtmlElement, HTMLIFrameElement: W.HtmlElement, HTMLImageElement: W.HtmlElement, HTMLInputElement: W.HtmlElement, HTMLLIElement: W.HtmlElement, HTMLLabelElement: W.HtmlElement, HTMLLegendElement: W.HtmlElement, HTMLLinkElement: W.HtmlElement, HTMLMapElement: W.HtmlElement, HTMLMediaElement: W.HtmlElement, HTMLMenuElement: W.HtmlElement, HTMLMetaElement: W.HtmlElement, HTMLMeterElement: W.HtmlElement, HTMLModElement: W.HtmlElement, HTMLOListElement: W.HtmlElement, HTMLObjectElement: W.HtmlElement, HTMLOptGroupElement: W.HtmlElement, HTMLOptionElement: W.HtmlElement, HTMLOutputElement: W.HtmlElement, HTMLParagraphElement: W.HtmlElement, HTMLParamElement: W.HtmlElement, HTMLPictureElement: W.HtmlElement, HTMLPreElement: W.HtmlElement, HTMLProgressElement: W.HtmlElement, HTMLQuoteElement: W.HtmlElement, HTMLScriptElement: W.HtmlElement, HTMLShadowElement: W.HtmlElement, HTMLSlotElement: W.HtmlElement, HTMLSourceElement: W.HtmlElement, HTMLSpanElement: W.HtmlElement, HTMLStyleElement: W.HtmlElement, HTMLTableCaptionElement: W.HtmlElement, HTMLTableCellElement: W.HtmlElement, HTMLTableDataCellElement: W.HtmlElement, HTMLTableHeaderCellElement: W.HtmlElement, HTMLTableColElement: W.HtmlElement, HTMLTableElement: W.HtmlElement, HTMLTableRowElement: W.HtmlElement, HTMLTableSectionElement: W.HtmlElement, HTMLTemplateElement: W.HtmlElement, HTMLTextAreaElement: W.HtmlElement, HTMLTimeElement: W.HtmlElement, HTMLTitleElement: W.HtmlElement, HTMLTrackElement: W.HtmlElement, HTMLUListElement: W.HtmlElement, HTMLUnknownElement: W.HtmlElement, HTMLVideoElement: W.HtmlElement, HTMLDirectoryElement: W.HtmlElement, HTMLFontElement: W.HtmlElement, HTMLFrameElement: W.HtmlElement, HTMLFrameSetElement: W.HtmlElement, HTMLMarqueeElement: W.HtmlElement, HTMLElement: W.HtmlElement, HTMLAnchorElement: W.AnchorElement, HTMLAreaElement: W.AreaElement, DOMException: W.DomException, Element: W.Element, AbortPaymentEvent: W.Event, AnimationEvent: W.Event, AnimationPlaybackEvent: W.Event, ApplicationCacheErrorEvent: W.Event, BackgroundFetchClickEvent: W.Event, BackgroundFetchEvent: W.Event, BackgroundFetchFailEvent: W.Event, BackgroundFetchedEvent: W.Event, BeforeInstallPromptEvent: W.Event, BeforeUnloadEvent: W.Event, BlobEvent: W.Event, CanMakePaymentEvent: W.Event, ClipboardEvent: W.Event, CloseEvent: W.Event, CustomEvent: W.Event, DeviceMotionEvent: W.Event, DeviceOrientationEvent: W.Event, ErrorEvent: W.Event, ExtendableEvent: W.Event, ExtendableMessageEvent: W.Event, FetchEvent: W.Event, FontFaceSetLoadEvent: W.Event, ForeignFetchEvent: W.Event, GamepadEvent: W.Event, HashChangeEvent: W.Event, InstallEvent: W.Event, MediaEncryptedEvent: W.Event, MediaKeyMessageEvent: W.Event, MediaQueryListEvent: W.Event, MediaStreamEvent: W.Event, MediaStreamTrackEvent: W.Event, MIDIConnectionEvent: W.Event, MIDIMessageEvent: W.Event, MutationEvent: W.Event, NotificationEvent: W.Event, PageTransitionEvent: W.Event, PaymentRequestEvent: W.Event, PaymentRequestUpdateEvent: W.Event, PopStateEvent: W.Event, PresentationConnectionAvailableEvent: W.Event, PresentationConnectionCloseEvent: W.Event, PromiseRejectionEvent: W.Event, PushEvent: W.Event, RTCDataChannelEvent: W.Event, RTCDTMFToneChangeEvent: W.Event, RTCPeerConnectionIceEvent: W.Event, RTCTrackEvent: W.Event, SecurityPolicyViolationEvent: W.Event, SensorErrorEvent: W.Event, SpeechRecognitionError: W.Event, SpeechRecognitionEvent: W.Event, SpeechSynthesisEvent: W.Event, StorageEvent: W.Event, SyncEvent: W.Event, TrackEvent: W.Event, TransitionEvent: W.Event, WebKitTransitionEvent: W.Event, VRDeviceEvent: W.Event, VRDisplayEvent: W.Event, VRSessionEvent: W.Event, MojoInterfaceRequestEvent: W.Event, USBConnectionEvent: W.Event, IDBVersionChangeEvent: W.Event, AudioProcessingEvent: W.Event, OfflineAudioCompletionEvent: W.Event, WebGLContextEvent: W.Event, Event: W.Event, InputEvent: W.Event, SubmitEvent: W.Event, EventSource: W.EventSource, MessagePort: W.EventTarget, EventTarget: W.EventTarget, HTMLFormElement: W.FormElement, XMLHttpRequest: W.HttpRequest, XMLHttpRequestEventTarget: W.HttpRequestEventTarget, MessageEvent: W.MessageEvent, MouseEvent: W.MouseEvent, DragEvent: W.MouseEvent, PointerEvent: W.MouseEvent, WheelEvent: W.MouseEvent, Document: W.Node, HTMLDocument: W.Node, Node: W.Node, ProgressEvent: W.ProgressEvent, ResourceProgressEvent: W.ProgressEvent, HTMLSelectElement: W.SelectElement, CompositionEvent: W.UIEvent, FocusEvent: W.UIEvent, KeyboardEvent: W.UIEvent, TextEvent: W.UIEvent, TouchEvent: W.UIEvent, UIEvent: W.UIEvent, SVGAElement: P.SvgElement, SVGAnimateElement: P.SvgElement, SVGAnimateMotionElement: P.SvgElement, SVGAnimateTransformElement: P.SvgElement, SVGAnimationElement: P.SvgElement, SVGCircleElement: P.SvgElement, SVGClipPathElement: P.SvgElement, SVGDefsElement: P.SvgElement, SVGDescElement: P.SvgElement, SVGDiscardElement: P.SvgElement, SVGEllipseElement: P.SvgElement, SVGFEBlendElement: P.SvgElement, SVGFEColorMatrixElement: P.SvgElement, SVGFEComponentTransferElement: P.SvgElement, SVGFECompositeElement: P.SvgElement, SVGFEConvolveMatrixElement: P.SvgElement, SVGFEDiffuseLightingElement: P.SvgElement, SVGFEDisplacementMapElement: P.SvgElement, SVGFEDistantLightElement: P.SvgElement, SVGFEFloodElement: P.SvgElement, SVGFEFuncAElement: P.SvgElement, SVGFEFuncBElement: P.SvgElement, SVGFEFuncGElement: P.SvgElement, SVGFEFuncRElement: P.SvgElement, SVGFEGaussianBlurElement: P.SvgElement, SVGFEImageElement: P.SvgElement, SVGFEMergeElement: P.SvgElement, SVGFEMergeNodeElement: P.SvgElement, SVGFEMorphologyElement: P.SvgElement, SVGFEOffsetElement: P.SvgElement, SVGFEPointLightElement: P.SvgElement, SVGFESpecularLightingElement: P.SvgElement, SVGFESpotLightElement: P.SvgElement, SVGFETileElement: P.SvgElement, SVGFETurbulenceElement: P.SvgElement, SVGFilterElement: P.SvgElement, SVGForeignObjectElement: P.SvgElement, SVGGElement: P.SvgElement, SVGGeometryElement: P.SvgElement, SVGGraphicsElement: P.SvgElement, SVGImageElement: P.SvgElement, SVGLineElement: P.SvgElement, SVGLinearGradientElement: P.SvgElement, SVGMarkerElement: P.SvgElement, SVGMaskElement: P.SvgElement, SVGMetadataElement: P.SvgElement, SVGPathElement: P.SvgElement, SVGPatternElement: P.SvgElement, SVGPolygonElement: P.SvgElement, SVGPolylineElement: P.SvgElement, SVGRadialGradientElement: P.SvgElement, SVGRectElement: P.SvgElement, SVGScriptElement: P.SvgElement, SVGSetElement: P.SvgElement, SVGStopElement: P.SvgElement, SVGStyleElement: P.SvgElement, SVGElement: P.SvgElement, SVGSVGElement: P.SvgElement, SVGSwitchElement: P.SvgElement, SVGSymbolElement: P.SvgElement, SVGTSpanElement: P.SvgElement, SVGTextContentElement: P.SvgElement, SVGTextElement: P.SvgElement, SVGTextPathElement: P.SvgElement, SVGTextPositioningElement: P.SvgElement, SVGTitleElement: P.SvgElement, SVGUseElement: P.SvgElement, SVGViewElement: P.SvgElement, SVGGradientElement: P.SvgElement, SVGComponentTransferFunctionElement: P.SvgElement, SVGFEDropShadowElement: P.SvgElement, SVGMPathElement: P.SvgElement});
hunkHelpers.setOrUpdateLeafTags({ArrayBuffer: true, Blob: true, DOMError: true, File: true, MediaError: true, NavigatorUserMediaError: true, OverconstrainedError: true, PositionError: true, SQLError: true, DataView: true, ArrayBufferView: false, Float32Array: true, Float64Array: true, Int16Array: true, Int32Array: true, Int8Array: true, Uint16Array: true, Uint32Array: true, Uint8ClampedArray: true, CanvasPixelArray: true, Uint8Array: false, HTMLAudioElement: true, HTMLBRElement: true, HTMLBaseElement: true, HTMLBodyElement: true, HTMLButtonElement: true, HTMLCanvasElement: true, HTMLContentElement: true, HTMLDListElement: true, HTMLDataElement: true, HTMLDataListElement: true, HTMLDetailsElement: true, HTMLDialogElement: true, HTMLDivElement: true, HTMLEmbedElement: true, HTMLFieldSetElement: true, HTMLHRElement: true, HTMLHeadElement: true, HTMLHeadingElement: true, HTMLHtmlElement: true, HTMLIFrameElement: true, HTMLImageElement: true, HTMLInputElement: true, HTMLLIElement: true, HTMLLabelElement: true, HTMLLegendElement: true, HTMLLinkElement: true, HTMLMapElement: true, HTMLMediaElement: true, HTMLMenuElement: true, HTMLMetaElement: true, HTMLMeterElement: true, HTMLModElement: true, HTMLOListElement: true, HTMLObjectElement: true, HTMLOptGroupElement: true, HTMLOptionElement: true, HTMLOutputElement: true, HTMLParagraphElement: true, HTMLParamElement: true, HTMLPictureElement: true, HTMLPreElement: true, HTMLProgressElement: true, HTMLQuoteElement: true, HTMLScriptElement: true, HTMLShadowElement: true, HTMLSlotElement: true, HTMLSourceElement: true, HTMLSpanElement: true, HTMLStyleElement: true, HTMLTableCaptionElement: true, HTMLTableCellElement: true, HTMLTableDataCellElement: true, HTMLTableHeaderCellElement: true, HTMLTableColElement: true, HTMLTableElement: true, HTMLTableRowElement: true, HTMLTableSectionElement: true, HTMLTemplateElement: true, HTMLTextAreaElement: true, HTMLTimeElement: true, HTMLTitleElement: true, HTMLTrackElement: true, HTMLUListElement: true, HTMLUnknownElement: true, HTMLVideoElement: true, HTMLDirectoryElement: true, HTMLFontElement: true, HTMLFrameElement: true, HTMLFrameSetElement: true, HTMLMarqueeElement: true, HTMLElement: false, HTMLAnchorElement: true, HTMLAreaElement: true, DOMException: true, Element: false, AbortPaymentEvent: true, AnimationEvent: true, AnimationPlaybackEvent: true, ApplicationCacheErrorEvent: true, BackgroundFetchClickEvent: true, BackgroundFetchEvent: true, BackgroundFetchFailEvent: true, BackgroundFetchedEvent: true, BeforeInstallPromptEvent: true, BeforeUnloadEvent: true, BlobEvent: true, CanMakePaymentEvent: true, ClipboardEvent: true, CloseEvent: true, CustomEvent: true, DeviceMotionEvent: true, DeviceOrientationEvent: true, ErrorEvent: true, ExtendableEvent: true, ExtendableMessageEvent: true, FetchEvent: true, FontFaceSetLoadEvent: true, ForeignFetchEvent: true, GamepadEvent: true, HashChangeEvent: true, InstallEvent: true, MediaEncryptedEvent: true, MediaKeyMessageEvent: true, MediaQueryListEvent: true, MediaStreamEvent: true, MediaStreamTrackEvent: true, MIDIConnectionEvent: true, MIDIMessageEvent: true, MutationEvent: true, NotificationEvent: true, PageTransitionEvent: true, PaymentRequestEvent: true, PaymentRequestUpdateEvent: true, PopStateEvent: true, PresentationConnectionAvailableEvent: true, PresentationConnectionCloseEvent: true, PromiseRejectionEvent: true, PushEvent: true, RTCDataChannelEvent: true, RTCDTMFToneChangeEvent: true, RTCPeerConnectionIceEvent: true, RTCTrackEvent: true, SecurityPolicyViolationEvent: true, SensorErrorEvent: true, SpeechRecognitionError: true, SpeechRecognitionEvent: true, SpeechSynthesisEvent: true, StorageEvent: true, SyncEvent: true, TrackEvent: true, TransitionEvent: true, WebKitTransitionEvent: true, VRDeviceEvent: true, VRDisplayEvent: true, VRSessionEvent: true, MojoInterfaceRequestEvent: true, USBConnectionEvent: true, IDBVersionChangeEvent: true, AudioProcessingEvent: true, OfflineAudioCompletionEvent: true, WebGLContextEvent: true, Event: false, InputEvent: false, SubmitEvent: false, EventSource: true, MessagePort: true, EventTarget: false, HTMLFormElement: true, XMLHttpRequest: true, XMLHttpRequestEventTarget: false, MessageEvent: true, MouseEvent: true, DragEvent: true, PointerEvent: true, WheelEvent: true, Document: true, HTMLDocument: true, Node: false, ProgressEvent: true, ResourceProgressEvent: true, HTMLSelectElement: true, CompositionEvent: true, FocusEvent: true, KeyboardEvent: true, TextEvent: true, TouchEvent: true, UIEvent: false, SVGAElement: true, SVGAnimateElement: true, SVGAnimateMotionElement: true, SVGAnimateTransformElement: true, SVGAnimationElement: true, SVGCircleElement: true, SVGClipPathElement: true, SVGDefsElement: true, SVGDescElement: true, SVGDiscardElement: true, SVGEllipseElement: true, SVGFEBlendElement: true, SVGFEColorMatrixElement: true, SVGFEComponentTransferElement: true, SVGFECompositeElement: true, SVGFEConvolveMatrixElement: true, SVGFEDiffuseLightingElement: true, SVGFEDisplacementMapElement: true, SVGFEDistantLightElement: true, SVGFEFloodElement: true, SVGFEFuncAElement: true, SVGFEFuncBElement: true, SVGFEFuncGElement: true, SVGFEFuncRElement: true, SVGFEGaussianBlurElement: true, SVGFEImageElement: true, SVGFEMergeElement: true, SVGFEMergeNodeElement: true, SVGFEMorphologyElement: true, SVGFEOffsetElement: true, SVGFEPointLightElement: true, SVGFESpecularLightingElement: true, SVGFESpotLightElement: true, SVGFETileElement: true, SVGFETurbulenceElement: true, SVGFilterElement: true, SVGForeignObjectElement: true, SVGGElement: true, SVGGeometryElement: true, SVGGraphicsElement: true, SVGImageElement: true, SVGLineElement: true, SVGLinearGradientElement: true, SVGMarkerElement: true, SVGMaskElement: true, SVGMetadataElement: true, SVGPathElement: true, SVGPatternElement: true, SVGPolygonElement: true, SVGPolylineElement: true, SVGRadialGradientElement: true, SVGRectElement: true, SVGScriptElement: true, SVGSetElement: true, SVGStopElement: true, SVGStyleElement: true, SVGElement: true, SVGSVGElement: true, SVGSwitchElement: true, SVGSymbolElement: true, SVGTSpanElement: true, SVGTextContentElement: true, SVGTextElement: true, SVGTextPathElement: true, SVGTextPositioningElement: true, SVGTitleElement: true, SVGUseElement: true, SVGViewElement: true, SVGGradientElement: true, SVGComponentTransferFunctionElement: true, SVGFEDropShadowElement: true, SVGMPathElement: true});
H.NativeTypedArray.$nativeSuperclassTag = "ArrayBufferView";
H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin.$nativeSuperclassTag = "ArrayBufferView";
H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin.$nativeSuperclassTag = "ArrayBufferView";
H.NativeTypedArrayOfDouble.$nativeSuperclassTag = "ArrayBufferView";
H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin.$nativeSuperclassTag = "ArrayBufferView";
H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin.$nativeSuperclassTag = "ArrayBufferView";
H.NativeTypedArrayOfInt.$nativeSuperclassTag = "ArrayBufferView";
})();
convertAllToFastObject(holders);
convertToFastObject($);
(function(callback) {
if (typeof document === "undefined") {
callback(null);
return;
}
if (typeof document.currentScript != "undefined") {
callback(document.currentScript);
return;
}
var scripts = document.scripts;
function onLoad(event) {
for (var i = 0; i < scripts.length; ++i)
scripts[i].removeEventListener("load", onLoad, false);
callback(event.target);
}
for (var i = 0; i < scripts.length; ++i)
scripts[i].addEventListener("load", onLoad, false);
})(function(currentScript) {
init.currentScript = currentScript;
var callMain = E.main;
if (typeof dartMainRunner === "function")
dartMainRunner(callMain, []);
else
callMain([]);
});
})();
//# sourceMappingURL=index.dart.js.map